index.d.ts 542 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791
  1. // Generated by typings
  2. // Source: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/bb5916e6451594dbc565c8877dfcbfebde1c8976/lodash/lodash.d.ts
  3. declare var _: _.LoDashStatic;
  4. declare module _ {
  5. interface LoDashStatic {
  6. /**
  7. * Creates a lodash object which wraps the given value to enable intuitive method chaining.
  8. *
  9. * In addition to Lo-Dash methods, wrappers also have the following Array methods:
  10. * concat, join, pop, push, reverse, shift, slice, sort, splice, and unshift
  11. *
  12. * Chaining is supported in custom builds as long as the value method is implicitly or
  13. * explicitly included in the build.
  14. *
  15. * The chainable wrapper functions are:
  16. * after, assign, bind, bindAll, bindKey, chain, chunk, compact, compose, concat, countBy,
  17. * createCallback, curry, debounce, defaults, defer, delay, difference, filter, flatten,
  18. * forEach, forEachRight, forIn, forInRight, forOwn, forOwnRight, functions, groupBy,
  19. * keyBy, initial, intersection, invert, invoke, keys, map, max, memoize, merge, min,
  20. * object, omit, once, pairs, partial, partialRight, pick, pluck, pull, push, range, reject,
  21. * remove, rest, reverse, sample, shuffle, slice, sort, sortBy, splice, tap, throttle, times,
  22. * toArray, transform, union, uniq, unset, unshift, unzip, values, where, without, wrap, and zip
  23. *
  24. * The non-chainable wrapper functions are:
  25. * clone, cloneDeep, contains, escape, every, find, findIndex, findKey, findLast,
  26. * findLastIndex, findLastKey, has, identity, indexOf, isArguments, isArray, isBoolean,
  27. * isDate, isElement, isEmpty, isEqual, isFinite, isFunction, isNaN, isNull, isNumber,
  28. * isObject, isPlainObject, isRegExp, isString, isUndefined, join, lastIndexOf, mixin,
  29. * noConflict, parseInt, pop, random, reduce, reduceRight, result, shift, size, some,
  30. * sortedIndex, runInContext, template, unescape, uniqueId, and value
  31. *
  32. * The wrapper functions first and last return wrapped values when n is provided, otherwise
  33. * they return unwrapped values.
  34. *
  35. * Explicit chaining can be enabled by using the _.chain method.
  36. **/
  37. (value: number): LoDashImplicitWrapper<number>;
  38. (value: string): LoDashImplicitStringWrapper;
  39. (value: boolean): LoDashImplicitWrapper<boolean>;
  40. (value: Array<number>): LoDashImplicitNumberArrayWrapper;
  41. <T>(value: Array<T>): LoDashImplicitArrayWrapper<T>;
  42. <T extends {}>(value: T): LoDashImplicitObjectWrapper<T>;
  43. (value: any): LoDashImplicitWrapper<any>;
  44. /**
  45. * The semantic version number.
  46. **/
  47. VERSION: string;
  48. /**
  49. * By default, the template delimiters used by Lo-Dash are similar to those in embedded Ruby
  50. * (ERB). Change the following template settings to use alternative delimiters.
  51. **/
  52. templateSettings: TemplateSettings;
  53. }
  54. /**
  55. * By default, the template delimiters used by Lo-Dash are similar to those in embedded Ruby
  56. * (ERB). Change the following template settings to use alternative delimiters.
  57. **/
  58. interface TemplateSettings {
  59. /**
  60. * The "escape" delimiter.
  61. **/
  62. escape?: RegExp;
  63. /**
  64. * The "evaluate" delimiter.
  65. **/
  66. evaluate?: RegExp;
  67. /**
  68. * An object to import into the template as local variables.
  69. **/
  70. imports?: Dictionary<any>;
  71. /**
  72. * The "interpolate" delimiter.
  73. **/
  74. interpolate?: RegExp;
  75. /**
  76. * Used to reference the data object in the template text.
  77. **/
  78. variable?: string;
  79. }
  80. /**
  81. * Creates a cache object to store key/value pairs.
  82. */
  83. interface MapCache {
  84. /**
  85. * Removes `key` and its value from the cache.
  86. * @param key The key of the value to remove.
  87. * @return Returns `true` if the entry was removed successfully, else `false`.
  88. */
  89. delete(key: string): boolean;
  90. /**
  91. * Gets the cached value for `key`.
  92. * @param key The key of the value to get.
  93. * @return Returns the cached value.
  94. */
  95. get(key: string): any;
  96. /**
  97. * Checks if a cached value for `key` exists.
  98. * @param key The key of the entry to check.
  99. * @return Returns `true` if an entry for `key` exists, else `false`.
  100. */
  101. has(key: string): boolean;
  102. /**
  103. * Sets `value` to `key` of the cache.
  104. * @param key The key of the value to cache.
  105. * @param value The value to cache.
  106. * @return Returns the cache object.
  107. */
  108. set(key: string, value: any): _.Dictionary<any>;
  109. }
  110. interface LoDashWrapperBase<T, TWrapper> { }
  111. interface LoDashImplicitWrapperBase<T, TWrapper> extends LoDashWrapperBase<T, TWrapper> { }
  112. interface LoDashExplicitWrapperBase<T, TWrapper> extends LoDashWrapperBase<T, TWrapper> { }
  113. interface LoDashImplicitWrapper<T> extends LoDashImplicitWrapperBase<T, LoDashImplicitWrapper<T>> { }
  114. interface LoDashExplicitWrapper<T> extends LoDashExplicitWrapperBase<T, LoDashExplicitWrapper<T>> { }
  115. interface LoDashImplicitStringWrapper extends LoDashImplicitWrapper<string> { }
  116. interface LoDashExplicitStringWrapper extends LoDashExplicitWrapper<string> { }
  117. interface LoDashImplicitObjectWrapper<T> extends LoDashImplicitWrapperBase<T, LoDashImplicitObjectWrapper<T>> { }
  118. interface LoDashExplicitObjectWrapper<T> extends LoDashExplicitWrapperBase<T, LoDashExplicitObjectWrapper<T>> { }
  119. interface LoDashImplicitArrayWrapper<T> extends LoDashImplicitWrapperBase<T[], LoDashImplicitArrayWrapper<T>> {
  120. pop(): T;
  121. push(...items: T[]): LoDashImplicitArrayWrapper<T>;
  122. shift(): T;
  123. sort(compareFn?: (a: T, b: T) => number): LoDashImplicitArrayWrapper<T>;
  124. splice(start: number): LoDashImplicitArrayWrapper<T>;
  125. splice(start: number, deleteCount: number, ...items: any[]): LoDashImplicitArrayWrapper<T>;
  126. unshift(...items: T[]): LoDashImplicitArrayWrapper<T>;
  127. }
  128. interface LoDashExplicitArrayWrapper<T> extends LoDashExplicitWrapperBase<T[], LoDashExplicitArrayWrapper<T>> { }
  129. interface LoDashImplicitNumberArrayWrapper extends LoDashImplicitArrayWrapper<number> { }
  130. interface LoDashExplicitNumberArrayWrapper extends LoDashExplicitArrayWrapper<number> { }
  131. /*********
  132. * Array *
  133. *********/
  134. //_.chunk
  135. interface LoDashStatic {
  136. /**
  137. * Creates an array of elements split into groups the length of size. If collection can’t be split evenly, the
  138. * final chunk will be the remaining elements.
  139. *
  140. * @param array The array to process.
  141. * @param size The length of each chunk.
  142. * @return Returns the new array containing chunks.
  143. */
  144. chunk<T>(
  145. array: List<T>,
  146. size?: number
  147. ): T[][];
  148. }
  149. interface LoDashImplicitArrayWrapper<T> {
  150. /**
  151. * @see _.chunk
  152. */
  153. chunk(size?: number): LoDashImplicitArrayWrapper<T[]>;
  154. }
  155. interface LoDashImplicitObjectWrapper<T> {
  156. /**
  157. * @see _.chunk
  158. */
  159. chunk<TResult>(size?: number): LoDashImplicitArrayWrapper<TResult[]>;
  160. }
  161. interface LoDashExplicitArrayWrapper<T> {
  162. /**
  163. * @see _.chunk
  164. */
  165. chunk(size?: number): LoDashExplicitArrayWrapper<T[]>;
  166. }
  167. interface LoDashExplicitObjectWrapper<T> {
  168. /**
  169. * @see _.chunk
  170. */
  171. chunk<TResult>(size?: number): LoDashExplicitArrayWrapper<TResult[]>;
  172. }
  173. //_.compact
  174. interface LoDashStatic {
  175. /**
  176. * Creates an array with all falsey values removed. The values false, null, 0, "", undefined, and NaN are
  177. * falsey.
  178. *
  179. * @param array The array to compact.
  180. * @return (Array) Returns the new array of filtered values.
  181. */
  182. compact<T>(array?: List<T>): T[];
  183. }
  184. interface LoDashImplicitArrayWrapper<T> {
  185. /**
  186. * @see _.compact
  187. */
  188. compact(): LoDashImplicitArrayWrapper<T>;
  189. }
  190. interface LoDashImplicitObjectWrapper<T> {
  191. /**
  192. * @see _.compact
  193. */
  194. compact<TResult>(): LoDashImplicitArrayWrapper<TResult>;
  195. }
  196. interface LoDashExplicitArrayWrapper<T> {
  197. /**
  198. * @see _.compact
  199. */
  200. compact(): LoDashExplicitArrayWrapper<T>;
  201. }
  202. interface LoDashExplicitObjectWrapper<T> {
  203. /**
  204. * @see _.compact
  205. */
  206. compact<TResult>(): LoDashExplicitArrayWrapper<TResult>;
  207. }
  208. //_.concat DUMMY
  209. interface LoDashStatic {
  210. /**
  211. * Creates a new array concatenating `array` with any additional arrays
  212. * and/or values.
  213. *
  214. * @static
  215. * @memberOf _
  216. * @category Array
  217. * @param {Array} array The array to concatenate.
  218. * @param {...*} [values] The values to concatenate.
  219. * @returns {Array} Returns the new concatenated array.
  220. * @example
  221. *
  222. * var array = [1];
  223. * var other = _.concat(array, 2, [3], [[4]]);
  224. *
  225. * console.log(other);
  226. * // => [1, 2, 3, [4]]
  227. *
  228. * console.log(array);
  229. * // => [1]
  230. */
  231. concat<T>(array: T[]|List<T>, ...values: (T|T[]|List<T>)[]) : T[];
  232. }
  233. //_.difference
  234. interface LoDashStatic {
  235. /**
  236. * Creates an array of unique array values not included in the other provided arrays using SameValueZero for
  237. * equality comparisons.
  238. *
  239. * @param array The array to inspect.
  240. * @param values The arrays of values to exclude.
  241. * @return Returns the new array of filtered values.
  242. */
  243. difference<T>(
  244. array: T[]|List<T>,
  245. ...values: Array<T[]|List<T>>
  246. ): T[];
  247. }
  248. interface LoDashImplicitArrayWrapper<T> {
  249. /**
  250. * @see _.difference
  251. */
  252. difference(...values: (T[]|List<T>)[]): LoDashImplicitArrayWrapper<T>;
  253. }
  254. interface LoDashImplicitObjectWrapper<T> {
  255. /**
  256. * @see _.difference
  257. */
  258. difference<TValue>(...values: (TValue[]|List<TValue>)[]): LoDashImplicitArrayWrapper<TValue>;
  259. }
  260. interface LoDashExplicitArrayWrapper<T> {
  261. /**
  262. * @see _.difference
  263. */
  264. difference(...values: (T[]|List<T>)[]): LoDashExplicitArrayWrapper<T>;
  265. }
  266. interface LoDashExplicitObjectWrapper<T> {
  267. /**
  268. * @see _.difference
  269. */
  270. difference<TValue>(...values: (TValue[]|List<TValue>)[]): LoDashExplicitArrayWrapper<TValue>;
  271. }
  272. //_.differenceBy
  273. interface LoDashStatic {
  274. /**
  275. * This method is like _.difference except that it accepts iteratee which is invoked for each element of array
  276. * and values to generate the criterion by which uniqueness is computed. The iteratee is invoked with one
  277. * argument: (value).
  278. *
  279. * @param array The array to inspect.
  280. * @param values The values to exclude.
  281. * @param iteratee The iteratee invoked per element.
  282. * @returns Returns the new array of filtered values.
  283. */
  284. differenceBy<T>(
  285. array: T[]|List<T>,
  286. values?: T[]|List<T>,
  287. iteratee?: ((value: T) => any)|string
  288. ): T[];
  289. /**
  290. * @see _.differenceBy
  291. */
  292. differenceBy<T, W extends Object>(
  293. array: T[]|List<T>,
  294. values?: T[]|List<T>,
  295. iteratee?: W
  296. ): T[];
  297. /**
  298. * @see _.differenceBy
  299. */
  300. differenceBy<T>(
  301. array: T[]|List<T>,
  302. values1?: T[]|List<T>,
  303. values2?: T[]|List<T>,
  304. iteratee?: ((value: T) => any)|string
  305. ): T[];
  306. /**
  307. * @see _.differenceBy
  308. */
  309. differenceBy<T, W extends Object>(
  310. array: T[]|List<T>,
  311. values1?: T[]|List<T>,
  312. values2?: T[]|List<T>,
  313. iteratee?: W
  314. ): T[];
  315. /**
  316. * @see _.differenceBy
  317. */
  318. differenceBy<T>(
  319. array: T[]|List<T>,
  320. values1?: T[]|List<T>,
  321. values2?: T[]|List<T>,
  322. values3?: T[]|List<T>,
  323. iteratee?: ((value: T) => any)|string
  324. ): T[];
  325. /**
  326. * @see _.differenceBy
  327. */
  328. differenceBy<T, W extends Object>(
  329. array: T[]|List<T>,
  330. values1?: T[]|List<T>,
  331. values2?: T[]|List<T>,
  332. values3?: T[]|List<T>,
  333. iteratee?: W
  334. ): T[];
  335. /**
  336. * @see _.differenceBy
  337. */
  338. differenceBy<T, W extends Object>(
  339. array: T[]|List<T>,
  340. values1?: T[]|List<T>,
  341. values2?: T[]|List<T>,
  342. values3?: T[]|List<T>,
  343. values4?: T[]|List<T>,
  344. iteratee?: W
  345. ): T[];
  346. /**
  347. * @see _.differenceBy
  348. */
  349. differenceBy<T>(
  350. array: T[]|List<T>,
  351. values1?: T[]|List<T>,
  352. values2?: T[]|List<T>,
  353. values3?: T[]|List<T>,
  354. values4?: T[]|List<T>,
  355. iteratee?: ((value: T) => any)|string
  356. ): T[];
  357. /**
  358. * @see _.differenceBy
  359. */
  360. differenceBy<T>(
  361. array: T[]|List<T>,
  362. values1?: T[]|List<T>,
  363. values2?: T[]|List<T>,
  364. values3?: T[]|List<T>,
  365. values4?: T[]|List<T>,
  366. values5?: T[]|List<T>,
  367. iteratee?: ((value: T) => any)|string
  368. ): T[];
  369. /**
  370. * @see _.differenceBy
  371. */
  372. differenceBy<T, W extends Object>(
  373. array: T[]|List<T>,
  374. values1?: T[]|List<T>,
  375. values2?: T[]|List<T>,
  376. values3?: T[]|List<T>,
  377. values4?: T[]|List<T>,
  378. values5?: T[]|List<T>,
  379. iteratee?: W
  380. ): T[];
  381. /**
  382. * @see _.differenceBy
  383. */
  384. differenceBy<T>(
  385. array: T[]|List<T>,
  386. ...values: any[]
  387. ): T[];
  388. }
  389. interface LoDashImplicitArrayWrapper<T> {
  390. /**
  391. * @see _.differenceBy
  392. */
  393. differenceBy<T>(
  394. values?: T[]|List<T>,
  395. iteratee?: ((value: T) => any)|string
  396. ): LoDashImplicitArrayWrapper<T>;
  397. /**
  398. * @see _.differenceBy
  399. */
  400. differenceBy<T, W extends Object>(
  401. values?: T[]|List<T>,
  402. iteratee?: W
  403. ): LoDashImplicitArrayWrapper<T>;
  404. /**
  405. * @see _.differenceBy
  406. */
  407. differenceBy<T>(
  408. values1?: T[]|List<T>,
  409. values2?: T[]|List<T>,
  410. iteratee?: ((value: T) => any)|string
  411. ): LoDashImplicitArrayWrapper<T>;
  412. /**
  413. * @see _.differenceBy
  414. */
  415. differenceBy<T, W extends Object>(
  416. values1?: T[]|List<T>,
  417. values2?: T[]|List<T>,
  418. iteratee?: W
  419. ): LoDashImplicitArrayWrapper<T>;
  420. /**
  421. * @see _.differenceBy
  422. */
  423. differenceBy<T>(
  424. values1?: T[]|List<T>,
  425. values2?: T[]|List<T>,
  426. values3?: T[]|List<T>,
  427. iteratee?: ((value: T) => any)|string
  428. ): LoDashImplicitArrayWrapper<T>;
  429. /**
  430. * @see _.differenceBy
  431. */
  432. differenceBy<T, W extends Object>(
  433. values1?: T[]|List<T>,
  434. values2?: T[]|List<T>,
  435. values3?: T[]|List<T>,
  436. iteratee?: W
  437. ): LoDashImplicitArrayWrapper<T>;
  438. /**
  439. * @see _.differenceBy
  440. */
  441. differenceBy<T>(
  442. values1?: T[]|List<T>,
  443. values2?: T[]|List<T>,
  444. values3?: T[]|List<T>,
  445. values4?: T[]|List<T>,
  446. iteratee?: ((value: T) => any)|string
  447. ): LoDashImplicitArrayWrapper<T>;
  448. /**
  449. * @see _.differenceBy
  450. */
  451. differenceBy<T, W extends Object>(
  452. values1?: T[]|List<T>,
  453. values2?: T[]|List<T>,
  454. values3?: T[]|List<T>,
  455. values4?: T[]|List<T>,
  456. iteratee?: W
  457. ): LoDashImplicitArrayWrapper<T>;
  458. /**
  459. * @see _.differenceBy
  460. */
  461. differenceBy<T>(
  462. values1?: T[]|List<T>,
  463. values2?: T[]|List<T>,
  464. values3?: T[]|List<T>,
  465. values4?: T[]|List<T>,
  466. values5?: T[]|List<T>,
  467. iteratee?: ((value: T) => any)|string
  468. ): LoDashImplicitArrayWrapper<T>;
  469. /**
  470. * @see _.differenceBy
  471. */
  472. differenceBy<T, W extends Object>(
  473. values1?: T[]|List<T>,
  474. values2?: T[]|List<T>,
  475. values3?: T[]|List<T>,
  476. values4?: T[]|List<T>,
  477. values5?: T[]|List<T>,
  478. iteratee?: W
  479. ): LoDashImplicitArrayWrapper<T>;
  480. /**
  481. * @see _.differenceBy
  482. */
  483. differenceBy<T>(
  484. ...values: any[]
  485. ): LoDashImplicitArrayWrapper<T>;
  486. }
  487. interface LoDashImplicitObjectWrapper<T> {
  488. /**
  489. * @see _.differenceBy
  490. */
  491. differenceBy<T>(
  492. values?: T[]|List<T>,
  493. iteratee?: ((value: T) => any)|string
  494. ): LoDashImplicitArrayWrapper<T>;
  495. /**
  496. * @see _.differenceBy
  497. */
  498. differenceBy<T, W extends Object>(
  499. values?: T[]|List<T>,
  500. iteratee?: W
  501. ): LoDashImplicitArrayWrapper<T>;
  502. /**
  503. * @see _.differenceBy
  504. */
  505. differenceBy<T>(
  506. values1?: T[]|List<T>,
  507. values2?: T[]|List<T>,
  508. iteratee?: ((value: T) => any)|string
  509. ): LoDashImplicitArrayWrapper<T>;
  510. /**
  511. * @see _.differenceBy
  512. */
  513. differenceBy<T, W extends Object>(
  514. values1?: T[]|List<T>,
  515. values2?: T[]|List<T>,
  516. iteratee?: W
  517. ): LoDashImplicitArrayWrapper<T>;
  518. /**
  519. * @see _.differenceBy
  520. */
  521. differenceBy<T>(
  522. values1?: T[]|List<T>,
  523. values2?: T[]|List<T>,
  524. values3?: T[]|List<T>,
  525. iteratee?: ((value: T) => any)|string
  526. ): LoDashImplicitArrayWrapper<T>;
  527. /**
  528. * @see _.differenceBy
  529. */
  530. differenceBy<T, W extends Object>(
  531. values1?: T[]|List<T>,
  532. values2?: T[]|List<T>,
  533. values3?: T[]|List<T>,
  534. iteratee?: W
  535. ): LoDashImplicitArrayWrapper<T>;
  536. /**
  537. * @see _.differenceBy
  538. */
  539. differenceBy<T>(
  540. values1?: T[]|List<T>,
  541. values2?: T[]|List<T>,
  542. values3?: T[]|List<T>,
  543. values4?: T[]|List<T>,
  544. iteratee?: ((value: T) => any)|string
  545. ): LoDashImplicitArrayWrapper<T>;
  546. /**
  547. * @see _.differenceBy
  548. */
  549. differenceBy<T, W extends Object>(
  550. values1?: T[]|List<T>,
  551. values2?: T[]|List<T>,
  552. values3?: T[]|List<T>,
  553. values4?: T[]|List<T>,
  554. iteratee?: W
  555. ): LoDashImplicitArrayWrapper<T>;
  556. /**
  557. * @see _.differenceBy
  558. */
  559. differenceBy<T>(
  560. values1?: T[]|List<T>,
  561. values2?: T[]|List<T>,
  562. values3?: T[]|List<T>,
  563. values4?: T[]|List<T>,
  564. values5?: T[]|List<T>,
  565. iteratee?: ((value: T) => any)|string
  566. ): LoDashImplicitArrayWrapper<T>;
  567. /**
  568. * @see _.differenceBy
  569. */
  570. differenceBy<T, W extends Object>(
  571. values1?: T[]|List<T>,
  572. values2?: T[]|List<T>,
  573. values3?: T[]|List<T>,
  574. values4?: T[]|List<T>,
  575. values5?: T[]|List<T>,
  576. iteratee?: W
  577. ): LoDashImplicitArrayWrapper<T>;
  578. /**
  579. * @see _.differenceBy
  580. */
  581. differenceBy<T>(
  582. ...values: any[]
  583. ): LoDashImplicitArrayWrapper<T>;
  584. }
  585. interface LoDashExplicitArrayWrapper<T> {
  586. /**
  587. * @see _.differenceBy
  588. */
  589. differenceBy<T>(
  590. values?: T[]|List<T>,
  591. iteratee?: ((value: T) => any)|string
  592. ): LoDashExplicitArrayWrapper<T>;
  593. /**
  594. * @see _.differenceBy
  595. */
  596. differenceBy<T, W extends Object>(
  597. values?: T[]|List<T>,
  598. iteratee?: W
  599. ): LoDashExplicitArrayWrapper<T>;
  600. /**
  601. * @see _.differenceBy
  602. */
  603. differenceBy<T>(
  604. values1?: T[]|List<T>,
  605. values2?: T[]|List<T>,
  606. iteratee?: ((value: T) => any)|string
  607. ): LoDashExplicitArrayWrapper<T>;
  608. /**
  609. * @see _.differenceBy
  610. */
  611. differenceBy<T, W extends Object>(
  612. values1?: T[]|List<T>,
  613. values2?: T[]|List<T>,
  614. iteratee?: W
  615. ): LoDashExplicitArrayWrapper<T>;
  616. /**
  617. * @see _.differenceBy
  618. */
  619. differenceBy<T>(
  620. values1?: T[]|List<T>,
  621. values2?: T[]|List<T>,
  622. values3?: T[]|List<T>,
  623. iteratee?: ((value: T) => any)|string
  624. ): LoDashExplicitArrayWrapper<T>;
  625. /**
  626. * @see _.differenceBy
  627. */
  628. differenceBy<T, W extends Object>(
  629. values1?: T[]|List<T>,
  630. values2?: T[]|List<T>,
  631. values3?: T[]|List<T>,
  632. iteratee?: W
  633. ): LoDashExplicitArrayWrapper<T>;
  634. /**
  635. * @see _.differenceBy
  636. */
  637. differenceBy<T>(
  638. values1?: T[]|List<T>,
  639. values2?: T[]|List<T>,
  640. values3?: T[]|List<T>,
  641. values4?: T[]|List<T>,
  642. iteratee?: ((value: T) => any)|string
  643. ): LoDashExplicitArrayWrapper<T>;
  644. /**
  645. * @see _.differenceBy
  646. */
  647. differenceBy<T, W extends Object>(
  648. values1?: T[]|List<T>,
  649. values2?: T[]|List<T>,
  650. values3?: T[]|List<T>,
  651. values4?: T[]|List<T>,
  652. iteratee?: W
  653. ): LoDashExplicitArrayWrapper<T>;
  654. /**
  655. * @see _.differenceBy
  656. */
  657. differenceBy<T>(
  658. values1?: T[]|List<T>,
  659. values2?: T[]|List<T>,
  660. values3?: T[]|List<T>,
  661. values4?: T[]|List<T>,
  662. values5?: T[]|List<T>,
  663. iteratee?: ((value: T) => any)|string
  664. ): LoDashExplicitArrayWrapper<T>;
  665. /**
  666. * @see _.differenceBy
  667. */
  668. differenceBy<T, W extends Object>(
  669. values1?: T[]|List<T>,
  670. values2?: T[]|List<T>,
  671. values3?: T[]|List<T>,
  672. values4?: T[]|List<T>,
  673. values5?: T[]|List<T>,
  674. iteratee?: W
  675. ): LoDashExplicitArrayWrapper<T>;
  676. /**
  677. * @see _.differenceBy
  678. */
  679. differenceBy<T>(
  680. ...values: any[]
  681. ): LoDashExplicitArrayWrapper<T>;
  682. }
  683. interface LoDashExplicitObjectWrapper<T> {
  684. /**
  685. * @see _.differenceBy
  686. */
  687. differenceBy<T>(
  688. values?: T[]|List<T>,
  689. iteratee?: ((value: T) => any)|string
  690. ): LoDashExplicitArrayWrapper<T>;
  691. /**
  692. * @see _.differenceBy
  693. */
  694. differenceBy<T, W extends Object>(
  695. values?: T[]|List<T>,
  696. iteratee?: W
  697. ): LoDashExplicitArrayWrapper<T>;
  698. /**
  699. * @see _.differenceBy
  700. */
  701. differenceBy<T>(
  702. values1?: T[]|List<T>,
  703. values2?: T[]|List<T>,
  704. iteratee?: ((value: T) => any)|string
  705. ): LoDashExplicitArrayWrapper<T>;
  706. /**
  707. * @see _.differenceBy
  708. */
  709. differenceBy<T, W extends Object>(
  710. values1?: T[]|List<T>,
  711. values2?: T[]|List<T>,
  712. iteratee?: W
  713. ): LoDashExplicitArrayWrapper<T>;
  714. /**
  715. * @see _.differenceBy
  716. */
  717. differenceBy<T>(
  718. values1?: T[]|List<T>,
  719. values2?: T[]|List<T>,
  720. values3?: T[]|List<T>,
  721. iteratee?: ((value: T) => any)|string
  722. ): LoDashExplicitArrayWrapper<T>;
  723. /**
  724. * @see _.differenceBy
  725. */
  726. differenceBy<T, W extends Object>(
  727. values1?: T[]|List<T>,
  728. values2?: T[]|List<T>,
  729. values3?: T[]|List<T>,
  730. iteratee?: W
  731. ): LoDashExplicitArrayWrapper<T>;
  732. /**
  733. * @see _.differenceBy
  734. */
  735. differenceBy<T>(
  736. values1?: T[]|List<T>,
  737. values2?: T[]|List<T>,
  738. values3?: T[]|List<T>,
  739. values4?: T[]|List<T>,
  740. iteratee?: ((value: T) => any)|string
  741. ): LoDashExplicitArrayWrapper<T>;
  742. /**
  743. * @see _.differenceBy
  744. */
  745. differenceBy<T, W extends Object>(
  746. values1?: T[]|List<T>,
  747. values2?: T[]|List<T>,
  748. values3?: T[]|List<T>,
  749. values4?: T[]|List<T>,
  750. iteratee?: W
  751. ): LoDashExplicitArrayWrapper<T>;
  752. /**
  753. * @see _.differenceBy
  754. */
  755. differenceBy<T>(
  756. values1?: T[]|List<T>,
  757. values2?: T[]|List<T>,
  758. values3?: T[]|List<T>,
  759. values4?: T[]|List<T>,
  760. values5?: T[]|List<T>,
  761. iteratee?: ((value: T) => any)|string
  762. ): LoDashExplicitArrayWrapper<T>;
  763. /**
  764. * @see _.differenceBy
  765. */
  766. differenceBy<T, W extends Object>(
  767. values1?: T[]|List<T>,
  768. values2?: T[]|List<T>,
  769. values3?: T[]|List<T>,
  770. values4?: T[]|List<T>,
  771. values5?: T[]|List<T>,
  772. iteratee?: W
  773. ): LoDashExplicitArrayWrapper<T>;
  774. /**
  775. * @see _.differenceBy
  776. */
  777. differenceBy<T>(
  778. ...values: any[]
  779. ): LoDashExplicitArrayWrapper<T>;
  780. }
  781. //_.differenceWith DUMMY
  782. interface LoDashStatic {
  783. /**
  784. * Creates an array of unique `array` values not included in the other
  785. * provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
  786. * for equality comparisons.
  787. *
  788. * @static
  789. * @memberOf _
  790. * @category Array
  791. * @param {Array} array The array to inspect.
  792. * @param {...Array} [values] The values to exclude.
  793. * @returns {Array} Returns the new array of filtered values.
  794. * @example
  795. *
  796. * _.difference([3, 2, 1], [4, 2]);
  797. * // => [3, 1]
  798. */
  799. differenceWith(
  800. array: any[]|List<any>,
  801. ...values: any[]
  802. ): any[];
  803. }
  804. //_.drop
  805. interface LoDashStatic {
  806. /**
  807. * Creates a slice of array with n elements dropped from the beginning.
  808. *
  809. * @param array The array to query.
  810. * @param n The number of elements to drop.
  811. * @return Returns the slice of array.
  812. */
  813. drop<T>(array: T[]|List<T>, n?: number): T[];
  814. }
  815. interface LoDashImplicitArrayWrapper<T> {
  816. /**
  817. * @see _.drop
  818. */
  819. drop(n?: number): LoDashImplicitArrayWrapper<T>;
  820. }
  821. interface LoDashImplicitObjectWrapper<T> {
  822. /**
  823. * @see _.drop
  824. */
  825. drop<T>(n?: number): LoDashImplicitArrayWrapper<T>;
  826. }
  827. interface LoDashExplicitArrayWrapper<T> {
  828. /**
  829. * @see _.drop
  830. */
  831. drop(n?: number): LoDashExplicitArrayWrapper<T>;
  832. }
  833. interface LoDashExplicitObjectWrapper<T> {
  834. /**
  835. * @see _.drop
  836. */
  837. drop<T>(n?: number): LoDashExplicitArrayWrapper<T>;
  838. }
  839. //_.dropRight
  840. interface LoDashStatic {
  841. /**
  842. * Creates a slice of array with n elements dropped from the end.
  843. *
  844. * @param array The array to query.
  845. * @param n The number of elements to drop.
  846. * @return Returns the slice of array.
  847. */
  848. dropRight<T>(
  849. array: List<T>,
  850. n?: number
  851. ): T[];
  852. }
  853. interface LoDashImplicitArrayWrapper<T> {
  854. /**
  855. * @see _.dropRight
  856. */
  857. dropRight(n?: number): LoDashImplicitArrayWrapper<T>;
  858. }
  859. interface LoDashImplicitObjectWrapper<T> {
  860. /**
  861. * @see _.dropRight
  862. */
  863. dropRight<TResult>(n?: number): LoDashImplicitArrayWrapper<TResult>;
  864. }
  865. interface LoDashExplicitArrayWrapper<T> {
  866. /**
  867. * @see _.dropRight
  868. */
  869. dropRight(n?: number): LoDashExplicitArrayWrapper<T>;
  870. }
  871. interface LoDashExplicitObjectWrapper<T> {
  872. /**
  873. * @see _.dropRight
  874. */
  875. dropRight<TResult>(n?: number): LoDashExplicitArrayWrapper<TResult>;
  876. }
  877. //_.dropRightWhile
  878. interface LoDashStatic {
  879. /**
  880. * Creates a slice of array excluding elements dropped from the end. Elements are dropped until predicate
  881. * returns falsey. The predicate is bound to thisArg and invoked with three arguments: (value, index, array).
  882. *
  883. * If a property name is provided for predicate the created _.property style callback returns the property
  884. * value of the given element.
  885. *
  886. * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for
  887. * elements that have a matching property value, else false.
  888. *
  889. * If an object is provided for predicate the created _.matches style callback returns true for elements that
  890. * match the properties of the given object, else false.
  891. *
  892. * @param array The array to query.
  893. * @param predicate The function invoked per iteration.
  894. * @param thisArg The this binding of predicate.
  895. * @return Returns the slice of array.
  896. */
  897. dropRightWhile<TValue>(
  898. array: List<TValue>,
  899. predicate?: ListIterator<TValue, boolean>
  900. ): TValue[];
  901. /**
  902. * @see _.dropRightWhile
  903. */
  904. dropRightWhile<TValue>(
  905. array: List<TValue>,
  906. predicate?: string
  907. ): TValue[];
  908. /**
  909. * @see _.dropRightWhile
  910. */
  911. dropRightWhile<TWhere, TValue>(
  912. array: List<TValue>,
  913. predicate?: TWhere
  914. ): TValue[];
  915. }
  916. interface LoDashImplicitArrayWrapper<T> {
  917. /**
  918. * @see _.dropRightWhile
  919. */
  920. dropRightWhile(
  921. predicate?: ListIterator<T, boolean>
  922. ): LoDashImplicitArrayWrapper<T>;
  923. /**
  924. * @see _.dropRightWhile
  925. */
  926. dropRightWhile(
  927. predicate?: string
  928. ): LoDashImplicitArrayWrapper<T>;
  929. /**
  930. * @see _.dropRightWhile
  931. */
  932. dropRightWhile<TWhere>(
  933. predicate?: TWhere
  934. ): LoDashImplicitArrayWrapper<T>;
  935. }
  936. interface LoDashImplicitObjectWrapper<T> {
  937. /**
  938. * @see _.dropRightWhile
  939. */
  940. dropRightWhile<TValue>(
  941. predicate?: ListIterator<TValue, boolean>
  942. ): LoDashImplicitArrayWrapper<TValue>;
  943. /**
  944. * @see _.dropRightWhile
  945. */
  946. dropRightWhile<TValue>(
  947. predicate?: string
  948. ): LoDashImplicitArrayWrapper<TValue>;
  949. /**
  950. * @see _.dropRightWhile
  951. */
  952. dropRightWhile<TWhere, TValue>(
  953. predicate?: TWhere
  954. ): LoDashImplicitArrayWrapper<TValue>;
  955. }
  956. interface LoDashExplicitArrayWrapper<T> {
  957. /**
  958. * @see _.dropRightWhile
  959. */
  960. dropRightWhile(
  961. predicate?: ListIterator<T, boolean>
  962. ): LoDashExplicitArrayWrapper<T>;
  963. /**
  964. * @see _.dropRightWhile
  965. */
  966. dropRightWhile(
  967. predicate?: string
  968. ): LoDashExplicitArrayWrapper<T>;
  969. /**
  970. * @see _.dropRightWhile
  971. */
  972. dropRightWhile<TWhere>(
  973. predicate?: TWhere
  974. ): LoDashExplicitArrayWrapper<T>;
  975. }
  976. interface LoDashExplicitObjectWrapper<T> {
  977. /**
  978. * @see _.dropRightWhile
  979. */
  980. dropRightWhile<TValue>(
  981. predicate?: ListIterator<TValue, boolean>
  982. ): LoDashExplicitArrayWrapper<TValue>;
  983. /**
  984. * @see _.dropRightWhile
  985. */
  986. dropRightWhile<TValue>(
  987. predicate?: string
  988. ): LoDashExplicitArrayWrapper<TValue>;
  989. /**
  990. * @see _.dropRightWhile
  991. */
  992. dropRightWhile<TWhere, TValue>(
  993. predicate?: TWhere
  994. ): LoDashExplicitArrayWrapper<TValue>;
  995. }
  996. //_.dropWhile
  997. interface LoDashStatic {
  998. /**
  999. * Creates a slice of array excluding elements dropped from the beginning. Elements are dropped until predicate
  1000. * returns falsey. The predicate is bound to thisArg and invoked with three arguments: (value, index, array).
  1001. *
  1002. * If a property name is provided for predicate the created _.property style callback returns the property
  1003. * value of the given element.
  1004. *
  1005. * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for
  1006. * elements that have a matching property value, else false.
  1007. *
  1008. * If an object is provided for predicate the created _.matches style callback returns true for elements that
  1009. * have the properties of the given object, else false.
  1010. *
  1011. * @param array The array to query.
  1012. * @param predicate The function invoked per iteration.
  1013. * @param thisArg The this binding of predicate.
  1014. * @return Returns the slice of array.
  1015. */
  1016. dropWhile<TValue>(
  1017. array: List<TValue>,
  1018. predicate?: ListIterator<TValue, boolean>
  1019. ): TValue[];
  1020. /**
  1021. * @see _.dropWhile
  1022. */
  1023. dropWhile<TValue>(
  1024. array: List<TValue>,
  1025. predicate?: string
  1026. ): TValue[];
  1027. /**
  1028. * @see _.dropWhile
  1029. */
  1030. dropWhile<TWhere, TValue>(
  1031. array: List<TValue>,
  1032. predicate?: TWhere
  1033. ): TValue[];
  1034. }
  1035. interface LoDashImplicitArrayWrapper<T> {
  1036. /**
  1037. * @see _.dropWhile
  1038. */
  1039. dropWhile(
  1040. predicate?: ListIterator<T, boolean>
  1041. ): LoDashImplicitArrayWrapper<T>;
  1042. /**
  1043. * @see _.dropWhile
  1044. */
  1045. dropWhile(
  1046. predicate?: string
  1047. ): LoDashImplicitArrayWrapper<T>;
  1048. /**
  1049. * @see _.dropWhile
  1050. */
  1051. dropWhile<TWhere>(
  1052. predicate?: TWhere
  1053. ): LoDashImplicitArrayWrapper<T>;
  1054. }
  1055. interface LoDashImplicitObjectWrapper<T> {
  1056. /**
  1057. * @see _.dropWhile
  1058. */
  1059. dropWhile<TValue>(
  1060. predicate?: ListIterator<TValue, boolean>
  1061. ): LoDashImplicitArrayWrapper<TValue>;
  1062. /**
  1063. * @see _.dropWhile
  1064. */
  1065. dropWhile<TValue>(
  1066. predicate?: string
  1067. ): LoDashImplicitArrayWrapper<TValue>;
  1068. /**
  1069. * @see _.dropWhile
  1070. */
  1071. dropWhile<TWhere, TValue>(
  1072. predicate?: TWhere
  1073. ): LoDashImplicitArrayWrapper<TValue>;
  1074. }
  1075. interface LoDashExplicitArrayWrapper<T> {
  1076. /**
  1077. * @see _.dropWhile
  1078. */
  1079. dropWhile(
  1080. predicate?: ListIterator<T, boolean>
  1081. ): LoDashExplicitArrayWrapper<T>;
  1082. /**
  1083. * @see _.dropWhile
  1084. */
  1085. dropWhile(
  1086. predicate?: string
  1087. ): LoDashExplicitArrayWrapper<T>;
  1088. /**
  1089. * @see _.dropWhile
  1090. */
  1091. dropWhile<TWhere>(
  1092. predicate?: TWhere
  1093. ): LoDashExplicitArrayWrapper<T>;
  1094. }
  1095. interface LoDashExplicitObjectWrapper<T> {
  1096. /**
  1097. * @see _.dropWhile
  1098. */
  1099. dropWhile<TValue>(
  1100. predicate?: ListIterator<TValue, boolean>
  1101. ): LoDashExplicitArrayWrapper<TValue>;
  1102. /**
  1103. * @see _.dropWhile
  1104. */
  1105. dropWhile<TValue>(
  1106. predicate?: string
  1107. ): LoDashExplicitArrayWrapper<TValue>;
  1108. /**
  1109. * @see _.dropWhile
  1110. */
  1111. dropWhile<TWhere, TValue>(
  1112. predicate?: TWhere
  1113. ): LoDashExplicitArrayWrapper<TValue>;
  1114. }
  1115. //_.fill
  1116. interface LoDashStatic {
  1117. /**
  1118. * Fills elements of array with value from start up to, but not including, end.
  1119. *
  1120. * Note: This method mutates array.
  1121. *
  1122. * @param array The array to fill.
  1123. * @param value The value to fill array with.
  1124. * @param start The start position.
  1125. * @param end The end position.
  1126. * @return Returns array.
  1127. */
  1128. fill<T>(
  1129. array: any[],
  1130. value: T,
  1131. start?: number,
  1132. end?: number
  1133. ): T[];
  1134. /**
  1135. * @see _.fill
  1136. */
  1137. fill<T>(
  1138. array: List<any>,
  1139. value: T,
  1140. start?: number,
  1141. end?: number
  1142. ): List<T>;
  1143. }
  1144. interface LoDashImplicitArrayWrapper<T> {
  1145. /**
  1146. * @see _.fill
  1147. */
  1148. fill<T>(
  1149. value: T,
  1150. start?: number,
  1151. end?: number
  1152. ): LoDashImplicitArrayWrapper<T>;
  1153. }
  1154. interface LoDashImplicitObjectWrapper<T> {
  1155. /**
  1156. * @see _.fill
  1157. */
  1158. fill<T>(
  1159. value: T,
  1160. start?: number,
  1161. end?: number
  1162. ): LoDashImplicitObjectWrapper<List<T>>;
  1163. }
  1164. interface LoDashExplicitArrayWrapper<T> {
  1165. /**
  1166. * @see _.fill
  1167. */
  1168. fill<T>(
  1169. value: T,
  1170. start?: number,
  1171. end?: number
  1172. ): LoDashExplicitArrayWrapper<T>;
  1173. }
  1174. interface LoDashExplicitObjectWrapper<T> {
  1175. /**
  1176. * @see _.fill
  1177. */
  1178. fill<T>(
  1179. value: T,
  1180. start?: number,
  1181. end?: number
  1182. ): LoDashExplicitObjectWrapper<List<T>>;
  1183. }
  1184. //_.findIndex
  1185. interface LoDashStatic {
  1186. /**
  1187. * This method is like _.find except that it returns the index of the first element predicate returns truthy
  1188. * for instead of the element itself.
  1189. *
  1190. * If a property name is provided for predicate the created _.property style callback returns the property
  1191. * value of the given element.
  1192. *
  1193. * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for
  1194. * elements that have a matching property value, else false.
  1195. *
  1196. * If an object is provided for predicate the created _.matches style callback returns true for elements that
  1197. * have the properties of the given object, else false.
  1198. *
  1199. * @param array The array to search.
  1200. * @param predicate The function invoked per iteration.
  1201. * @param thisArg The this binding of predicate.
  1202. * @return Returns the index of the found element, else -1.
  1203. */
  1204. findIndex<T>(
  1205. array: List<T>,
  1206. predicate?: ListIterator<T, boolean>
  1207. ): number;
  1208. /**
  1209. * @see _.findIndex
  1210. */
  1211. findIndex<T>(
  1212. array: List<T>,
  1213. predicate?: string
  1214. ): number;
  1215. /**
  1216. * @see _.findIndex
  1217. */
  1218. findIndex<W, T>(
  1219. array: List<T>,
  1220. predicate?: W
  1221. ): number;
  1222. }
  1223. interface LoDashImplicitArrayWrapper<T> {
  1224. /**
  1225. * @see _.findIndex
  1226. */
  1227. findIndex(
  1228. predicate?: ListIterator<T, boolean>
  1229. ): number;
  1230. /**
  1231. * @see _.findIndex
  1232. */
  1233. findIndex(
  1234. predicate?: string
  1235. ): number;
  1236. /**
  1237. * @see _.findIndex
  1238. */
  1239. findIndex<W>(
  1240. predicate?: W
  1241. ): number;
  1242. }
  1243. interface LoDashImplicitObjectWrapper<T> {
  1244. /**
  1245. * @see _.findIndex
  1246. */
  1247. findIndex<TResult>(
  1248. predicate?: ListIterator<TResult, boolean>
  1249. ): number;
  1250. /**
  1251. * @see _.findIndex
  1252. */
  1253. findIndex(
  1254. predicate?: string
  1255. ): number;
  1256. /**
  1257. * @see _.findIndex
  1258. */
  1259. findIndex<W>(
  1260. predicate?: W
  1261. ): number;
  1262. }
  1263. interface LoDashExplicitArrayWrapper<T> {
  1264. /**
  1265. * @see _.findIndex
  1266. */
  1267. findIndex(
  1268. predicate?: ListIterator<T, boolean>
  1269. ): LoDashExplicitWrapper<number>;
  1270. /**
  1271. * @see _.findIndex
  1272. */
  1273. findIndex(
  1274. predicate?: string
  1275. ): LoDashExplicitWrapper<number>;
  1276. /**
  1277. * @see _.findIndex
  1278. */
  1279. findIndex<W>(
  1280. predicate?: W
  1281. ): LoDashExplicitWrapper<number>;
  1282. }
  1283. interface LoDashExplicitObjectWrapper<T> {
  1284. /**
  1285. * @see _.findIndex
  1286. */
  1287. findIndex<TResult>(
  1288. predicate?: ListIterator<TResult, boolean>
  1289. ): LoDashExplicitWrapper<number>;
  1290. /**
  1291. * @see _.findIndex
  1292. */
  1293. findIndex(
  1294. predicate?: string
  1295. ): LoDashExplicitWrapper<number>;
  1296. /**
  1297. * @see _.findIndex
  1298. */
  1299. findIndex<W>(
  1300. predicate?: W
  1301. ): LoDashExplicitWrapper<number>;
  1302. }
  1303. //_.findLastIndex
  1304. interface LoDashStatic {
  1305. /**
  1306. * This method is like _.findIndex except that it iterates over elements of collection from right to left.
  1307. *
  1308. * If a property name is provided for predicate the created _.property style callback returns the property
  1309. * value of the given element.
  1310. *
  1311. * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for
  1312. * elements that have a matching property value, else false.
  1313. *
  1314. * If an object is provided for predicate the created _.matches style callback returns true for elements that
  1315. * have the properties of the given object, else false.
  1316. *
  1317. * @param array The array to search.
  1318. * @param predicate The function invoked per iteration.
  1319. * @param thisArg The function invoked per iteration.
  1320. * @return Returns the index of the found element, else -1.
  1321. */
  1322. findLastIndex<T>(
  1323. array: List<T>,
  1324. predicate?: ListIterator<T, boolean>
  1325. ): number;
  1326. /**
  1327. * @see _.findLastIndex
  1328. */
  1329. findLastIndex<T>(
  1330. array: List<T>,
  1331. predicate?: string
  1332. ): number;
  1333. /**
  1334. * @see _.findLastIndex
  1335. */
  1336. findLastIndex<W, T>(
  1337. array: List<T>,
  1338. predicate?: W
  1339. ): number;
  1340. }
  1341. interface LoDashImplicitArrayWrapper<T> {
  1342. /**
  1343. * @see _.findLastIndex
  1344. */
  1345. findLastIndex(
  1346. predicate?: ListIterator<T, boolean>
  1347. ): number;
  1348. /**
  1349. * @see _.findLastIndex
  1350. */
  1351. findLastIndex(
  1352. predicate?: string
  1353. ): number;
  1354. /**
  1355. * @see _.findLastIndex
  1356. */
  1357. findLastIndex<W>(
  1358. predicate?: W
  1359. ): number;
  1360. }
  1361. interface LoDashImplicitObjectWrapper<T> {
  1362. /**
  1363. * @see _.findLastIndex
  1364. */
  1365. findLastIndex<TResult>(
  1366. predicate?: ListIterator<TResult, boolean>
  1367. ): number;
  1368. /**
  1369. * @see _.findLastIndex
  1370. */
  1371. findLastIndex(
  1372. predicate?: string
  1373. ): number;
  1374. /**
  1375. * @see _.findLastIndex
  1376. */
  1377. findLastIndex<W>(
  1378. predicate?: W
  1379. ): number;
  1380. }
  1381. interface LoDashExplicitArrayWrapper<T> {
  1382. /**
  1383. * @see _.findLastIndex
  1384. */
  1385. findLastIndex(
  1386. predicate?: ListIterator<T, boolean>
  1387. ): LoDashExplicitWrapper<number>;
  1388. /**
  1389. * @see _.findLastIndex
  1390. */
  1391. findLastIndex(
  1392. predicate?: string
  1393. ): LoDashExplicitWrapper<number>;
  1394. /**
  1395. * @see _.findLastIndex
  1396. */
  1397. findLastIndex<W>(
  1398. predicate?: W
  1399. ): LoDashExplicitWrapper<number>;
  1400. }
  1401. interface LoDashExplicitObjectWrapper<T> {
  1402. /**
  1403. * @see _.findLastIndex
  1404. */
  1405. findLastIndex<TResult>(
  1406. predicate?: ListIterator<TResult, boolean>
  1407. ): LoDashExplicitWrapper<number>;
  1408. /**
  1409. * @see _.findLastIndex
  1410. */
  1411. findLastIndex(
  1412. predicate?: string
  1413. ): LoDashExplicitWrapper<number>;
  1414. /**
  1415. * @see _.findLastIndex
  1416. */
  1417. findLastIndex<W>(
  1418. predicate?: W
  1419. ): LoDashExplicitWrapper<number>;
  1420. }
  1421. //_.first
  1422. interface LoDashStatic {
  1423. /**
  1424. * @see _.head
  1425. */
  1426. first<T>(array: List<T>): T;
  1427. }
  1428. interface LoDashImplicitWrapper<T> {
  1429. /**
  1430. * @see _.head
  1431. */
  1432. first(): string;
  1433. }
  1434. interface LoDashImplicitArrayWrapper<T> {
  1435. /**
  1436. * @see _.head
  1437. */
  1438. first(): T;
  1439. }
  1440. interface LoDashImplicitObjectWrapper<T> {
  1441. /**
  1442. * @see _.head
  1443. */
  1444. first<T>(): T;
  1445. }
  1446. interface LoDashExplicitWrapper<T> {
  1447. /**
  1448. * @see _.head
  1449. */
  1450. first(): LoDashExplicitWrapper<string>;
  1451. }
  1452. interface LoDashExplicitArrayWrapper<T> {
  1453. /**
  1454. * @see _.head
  1455. */
  1456. first<T>(): T;
  1457. }
  1458. interface LoDashExplicitObjectWrapper<T> {
  1459. /**
  1460. * @see _.head
  1461. */
  1462. first<T>(): T;
  1463. }
  1464. interface RecursiveArray<T> extends Array<T|RecursiveArray<T>> {}
  1465. interface ListOfRecursiveArraysOrValues<T> extends List<T|RecursiveArray<T>> {}
  1466. //_.flatten
  1467. interface LoDashStatic {
  1468. /**
  1469. * Flattens a nested array. If isDeep is true the array is recursively flattened, otherwise it’s only
  1470. * flattened a single level.
  1471. *
  1472. * @param array The array to flatten.
  1473. * @param isDeep Specify a deep flatten.
  1474. * @return Returns the new flattened array.
  1475. */
  1476. flatten<T>(array: ListOfRecursiveArraysOrValues<T>, isDeep: boolean): T[];
  1477. /**
  1478. * @see _.flatten
  1479. */
  1480. flatten<T>(array: List<T|T[]>): T[];
  1481. /**
  1482. * @see _.flatten
  1483. */
  1484. flatten<T>(array: ListOfRecursiveArraysOrValues<T>): RecursiveArray<T>;
  1485. }
  1486. interface LoDashImplicitWrapper<T> {
  1487. /**
  1488. * @see _.flatten
  1489. */
  1490. flatten(): LoDashImplicitArrayWrapper<string>;
  1491. }
  1492. interface LoDashImplicitArrayWrapper<T> {
  1493. /**
  1494. * @see _.flatten
  1495. */
  1496. flatten<TResult>(isDeep?: boolean): LoDashImplicitArrayWrapper<TResult>;
  1497. }
  1498. interface LoDashImplicitObjectWrapper<T> {
  1499. /**
  1500. * @see _.flatten
  1501. */
  1502. flatten<TResult>(isDeep?: boolean): LoDashImplicitArrayWrapper<TResult>;
  1503. }
  1504. interface LoDashExplicitWrapper<T> {
  1505. /**
  1506. * @see _.flatten
  1507. */
  1508. flatten(): LoDashExplicitArrayWrapper<string>;
  1509. }
  1510. interface LoDashExplicitArrayWrapper<T> {
  1511. /**
  1512. * @see _.flatten
  1513. */
  1514. flatten<TResult>(isDeep?: boolean): LoDashExplicitArrayWrapper<TResult>;
  1515. }
  1516. interface LoDashExplicitObjectWrapper<T> {
  1517. /**
  1518. * @see _.flatten
  1519. */
  1520. flatten<TResult>(isDeep?: boolean): LoDashExplicitArrayWrapper<TResult>;
  1521. }
  1522. //_.flattenDeep
  1523. interface LoDashStatic {
  1524. /**
  1525. * Recursively flattens a nested array.
  1526. *
  1527. * @param array The array to recursively flatten.
  1528. * @return Returns the new flattened array.
  1529. */
  1530. flattenDeep<T>(array: ListOfRecursiveArraysOrValues<T>): T[];
  1531. }
  1532. interface LoDashImplicitWrapper<T> {
  1533. /**
  1534. * @see _.flattenDeep
  1535. */
  1536. flattenDeep(): LoDashImplicitArrayWrapper<string>;
  1537. }
  1538. interface LoDashImplicitArrayWrapper<T> {
  1539. /**
  1540. * @see _.flattenDeep
  1541. */
  1542. flattenDeep<T>(): LoDashImplicitArrayWrapper<T>;
  1543. }
  1544. interface LoDashImplicitObjectWrapper<T> {
  1545. /**
  1546. * @see _.flattenDeep
  1547. */
  1548. flattenDeep<T>(): LoDashImplicitArrayWrapper<T>;
  1549. }
  1550. interface LoDashExplicitWrapper<T> {
  1551. /**
  1552. * @see _.flattenDeep
  1553. */
  1554. flattenDeep(): LoDashExplicitArrayWrapper<string>;
  1555. }
  1556. interface LoDashExplicitArrayWrapper<T> {
  1557. /**
  1558. * @see _.flattenDeep
  1559. */
  1560. flattenDeep<T>(): LoDashExplicitArrayWrapper<T>;
  1561. }
  1562. interface LoDashExplicitObjectWrapper<T> {
  1563. /**
  1564. * @see _.flattenDeep
  1565. */
  1566. flattenDeep<T>(): LoDashExplicitArrayWrapper<T>;
  1567. }
  1568. // _.flattenDepth
  1569. interface LoDashStatic {
  1570. /**
  1571. * Recursively flatten array up to depth times.
  1572. *
  1573. * @param array The array to recursively flatten.
  1574. * @param number The maximum recursion depth.
  1575. * @return Returns the new flattened array.
  1576. */
  1577. flattenDepth<T>(array: ListOfRecursiveArraysOrValues<T>, depth?: number): T[];
  1578. }
  1579. //_.fromPairs
  1580. interface LoDashStatic {
  1581. /**
  1582. * The inverse of `_.toPairs`; this method returns an object composed
  1583. * from key-value `pairs`.
  1584. *
  1585. * @static
  1586. * @memberOf _
  1587. * @category Array
  1588. * @param {Array} pairs The key-value pairs.
  1589. * @returns {Object} Returns the new object.
  1590. * @example
  1591. *
  1592. * _.fromPairs([['fred', 30], ['barney', 40]]);
  1593. * // => { 'fred': 30, 'barney': 40 }
  1594. */
  1595. fromPairs<T>(
  1596. array: List<[_.StringRepresentable, T]>
  1597. ): Dictionary<T>;
  1598. /**
  1599. @see _.fromPairs
  1600. */
  1601. fromPairs(
  1602. array: List<any[]>
  1603. ): Dictionary<any>;
  1604. }
  1605. //_.fromPairs DUMMY
  1606. interface LoDashImplicitArrayWrapper<T> {
  1607. /**
  1608. * @see _.fromPairs
  1609. */
  1610. fromPairs(): LoDashImplicitObjectWrapper<any>;
  1611. }
  1612. //_.fromPairs DUMMY
  1613. interface LoDashExplicitArrayWrapper<T> {
  1614. /**
  1615. * @see _.fromPairs
  1616. */
  1617. fromPairs(): LoDashExplicitObjectWrapper<any>;
  1618. }
  1619. //_.head
  1620. interface LoDashStatic {
  1621. /**
  1622. * Gets the first element of array.
  1623. *
  1624. * @alias _.first
  1625. *
  1626. * @param array The array to query.
  1627. * @return Returns the first element of array.
  1628. */
  1629. head<T>(array: List<T>): T;
  1630. }
  1631. interface LoDashImplicitWrapper<T> {
  1632. /**
  1633. * @see _.head
  1634. */
  1635. head(): string;
  1636. }
  1637. interface LoDashImplicitArrayWrapper<T> {
  1638. /**
  1639. * @see _.head
  1640. */
  1641. head(): T;
  1642. }
  1643. interface LoDashImplicitObjectWrapper<T> {
  1644. /**
  1645. * @see _.head
  1646. */
  1647. head<T>(): T;
  1648. }
  1649. interface LoDashExplicitWrapper<T> {
  1650. /**
  1651. * @see _.head
  1652. */
  1653. head(): LoDashExplicitWrapper<string>;
  1654. }
  1655. interface LoDashExplicitArrayWrapper<T> {
  1656. /**
  1657. * @see _.head
  1658. */
  1659. head<T>(): T;
  1660. }
  1661. interface LoDashExplicitObjectWrapper<T> {
  1662. /**
  1663. * @see _.head
  1664. */
  1665. head<T>(): T;
  1666. }
  1667. //_.indexOf
  1668. interface LoDashStatic {
  1669. /**
  1670. * Gets the index at which the first occurrence of `value` is found in `array`
  1671. * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
  1672. * for equality comparisons. If `fromIndex` is negative, it's used as the offset
  1673. * from the end of `array`. If `array` is sorted providing `true` for `fromIndex`
  1674. * performs a faster binary search.
  1675. *
  1676. * @static
  1677. * @memberOf _
  1678. * @category Array
  1679. * @param {Array} array The array to search.
  1680. * @param {*} value The value to search for.
  1681. * @param {number} [fromIndex=0] The index to search from.
  1682. * @returns {number} Returns the index of the matched value, else `-1`.
  1683. * @example
  1684. *
  1685. * _.indexOf([1, 2, 1, 2], 2);
  1686. * // => 1
  1687. *
  1688. * // using `fromIndex`
  1689. * _.indexOf([1, 2, 1, 2], 2, 2);
  1690. * // => 3
  1691. */
  1692. indexOf<T>(
  1693. array: List<T>,
  1694. value: T,
  1695. fromIndex?: boolean|number
  1696. ): number;
  1697. }
  1698. interface LoDashImplicitArrayWrapper<T> {
  1699. /**
  1700. * @see _.indexOf
  1701. */
  1702. indexOf(
  1703. value: T,
  1704. fromIndex?: boolean|number
  1705. ): number;
  1706. }
  1707. interface LoDashImplicitObjectWrapper<T> {
  1708. /**
  1709. * @see _.indexOf
  1710. */
  1711. indexOf<TValue>(
  1712. value: TValue,
  1713. fromIndex?: boolean|number
  1714. ): number;
  1715. }
  1716. interface LoDashExplicitArrayWrapper<T> {
  1717. /**
  1718. * @see _.indexOf
  1719. */
  1720. indexOf(
  1721. value: T,
  1722. fromIndex?: boolean|number
  1723. ): LoDashExplicitWrapper<number>;
  1724. }
  1725. interface LoDashExplicitObjectWrapper<T> {
  1726. /**
  1727. * @see _.indexOf
  1728. */
  1729. indexOf<TValue>(
  1730. value: TValue,
  1731. fromIndex?: boolean|number
  1732. ): LoDashExplicitWrapper<number>;
  1733. }
  1734. //_.intersectionBy DUMMY
  1735. interface LoDashStatic {
  1736. /**
  1737. * This method is like `_.intersection` except that it accepts `iteratee`
  1738. * which is invoked for each element of each `arrays` to generate the criterion
  1739. * by which uniqueness is computed. The iteratee is invoked with one argument: (value).
  1740. *
  1741. * @static
  1742. * @memberOf _
  1743. * @category Array
  1744. * @param {...Array} [arrays] The arrays to inspect.
  1745. * @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
  1746. * @returns {Array} Returns the new array of shared values.
  1747. * @example
  1748. *
  1749. * _.intersectionBy([2.1, 1.2], [4.3, 2.4], Math.floor);
  1750. * // => [2.1]
  1751. *
  1752. * // using the `_.property` iteratee shorthand
  1753. * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
  1754. * // => [{ 'x': 1 }]
  1755. */
  1756. intersectionBy(
  1757. array: any[]|List<any>,
  1758. ...values: any[]
  1759. ): any[];
  1760. }
  1761. //_.intersectionWith DUMMY
  1762. interface LoDashStatic {
  1763. /**
  1764. * This method is like `_.intersection` except that it accepts `comparator`
  1765. * which is invoked to compare elements of `arrays`. The comparator is invoked
  1766. * with two arguments: (arrVal, othVal).
  1767. *
  1768. * @static
  1769. * @memberOf _
  1770. * @category Array
  1771. * @param {...Array} [arrays] The arrays to inspect.
  1772. * @param {Function} [comparator] The comparator invoked per element.
  1773. * @returns {Array} Returns the new array of shared values.
  1774. * @example
  1775. *
  1776. * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
  1777. * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
  1778. *
  1779. * _.intersectionWith(objects, others, _.isEqual);
  1780. * // => [{ 'x': 1, 'y': 2 }]
  1781. */
  1782. intersectionWith(
  1783. array: any[]|List<any>,
  1784. ...values: any[]
  1785. ): any[];
  1786. }
  1787. //_.join
  1788. interface LoDashStatic {
  1789. /**
  1790. * Converts all elements in `array` into a string separated by `separator`.
  1791. *
  1792. * @param array The array to convert.
  1793. * @param separator The element separator.
  1794. * @returns Returns the joined string.
  1795. */
  1796. join(
  1797. array: List<any>,
  1798. separator?: string
  1799. ): string;
  1800. }
  1801. interface LoDashImplicitWrapper<T> {
  1802. /**
  1803. * @see _.join
  1804. */
  1805. join(separator?: string): string;
  1806. }
  1807. interface LoDashImplicitArrayWrapper<T> {
  1808. /**
  1809. * @see _.join
  1810. */
  1811. join(separator?: string): string;
  1812. }
  1813. interface LoDashImplicitObjectWrapper<T> {
  1814. /**
  1815. * @see _.join
  1816. */
  1817. join(separator?: string): string;
  1818. }
  1819. interface LoDashExplicitWrapper<T> {
  1820. /**
  1821. * @see _.join
  1822. */
  1823. join(separator?: string): LoDashExplicitWrapper<string>;
  1824. }
  1825. interface LoDashExplicitArrayWrapper<T> {
  1826. /**
  1827. * @see _.join
  1828. */
  1829. join(separator?: string): LoDashExplicitWrapper<string>;
  1830. }
  1831. interface LoDashExplicitObjectWrapper<T> {
  1832. /**
  1833. * @see _.join
  1834. */
  1835. join(separator?: string): LoDashExplicitWrapper<string>;
  1836. }
  1837. //_.pullAll DUMMY
  1838. interface LoDashStatic {
  1839. /**
  1840. * This method is like `_.pull` except that it accepts an array of values to remove.
  1841. *
  1842. * **Note:** Unlike `_.difference`, this method mutates `array`.
  1843. *
  1844. * @static
  1845. * @memberOf _
  1846. * @category Array
  1847. * @param {Array} array The array to modify.
  1848. * @param {Array} values The values to remove.
  1849. * @returns {Array} Returns `array`.
  1850. * @example
  1851. *
  1852. * var array = [1, 2, 3, 1, 2, 3];
  1853. *
  1854. * _.pull(array, [2, 3]);
  1855. * console.log(array);
  1856. * // => [1, 1]
  1857. */
  1858. pullAll(
  1859. array: any[]|List<any>,
  1860. ...values: any[]
  1861. ): any[];
  1862. }
  1863. //_.pullAllBy DUMMY
  1864. interface LoDashStatic {
  1865. /**
  1866. * This method is like `_.pullAll` except that it accepts `iteratee` which is
  1867. * invoked for each element of `array` and `values` to to generate the criterion
  1868. * by which uniqueness is computed. The iteratee is invoked with one argument: (value).
  1869. *
  1870. * **Note:** Unlike `_.differenceBy`, this method mutates `array`.
  1871. *
  1872. * @static
  1873. * @memberOf _
  1874. * @category Array
  1875. * @param {Array} array The array to modify.
  1876. * @param {Array} values The values to remove.
  1877. * @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
  1878. * @returns {Array} Returns `array`.
  1879. * @example
  1880. *
  1881. * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];
  1882. *
  1883. * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');
  1884. * console.log(array);
  1885. * // => [{ 'x': 2 }]
  1886. */
  1887. pullAllBy(
  1888. array: any[]|List<any>,
  1889. ...values: any[]
  1890. ): any[];
  1891. }
  1892. //_.reverse DUMMY
  1893. interface LoDashStatic {
  1894. /**
  1895. * Reverses `array` so that the first element becomes the last, the second
  1896. * element becomes the second to last, and so on.
  1897. *
  1898. * **Note:** This method mutates `array` and is based on
  1899. * [`Array#reverse`](https://mdn.io/Array/reverse).
  1900. *
  1901. * @memberOf _
  1902. * @category Array
  1903. * @returns {Array} Returns `array`.
  1904. * @example
  1905. *
  1906. * var array = [1, 2, 3];
  1907. *
  1908. * _.reverse(array);
  1909. * // => [3, 2, 1]
  1910. *
  1911. * console.log(array);
  1912. * // => [3, 2, 1]
  1913. */
  1914. reverse(
  1915. array: any[]|List<any>,
  1916. ...values: any[]
  1917. ): any[];
  1918. }
  1919. //_.sortedIndexOf
  1920. interface LoDashStatic {
  1921. /**
  1922. * This method is like `_.indexOf` except that it performs a binary
  1923. * search on a sorted `array`.
  1924. *
  1925. * @static
  1926. * @memberOf _
  1927. * @category Array
  1928. * @param {Array} array The array to search.
  1929. * @param {*} value The value to search for.
  1930. * @returns {number} Returns the index of the matched value, else `-1`.
  1931. * @example
  1932. *
  1933. * _.sortedIndexOf([1, 1, 2, 2], 2);
  1934. * // => 2
  1935. */
  1936. sortedIndexOf<T>(
  1937. array: List<T>,
  1938. value: T
  1939. ): number;
  1940. }
  1941. interface LoDashImplicitArrayWrapper<T> {
  1942. /**
  1943. * @see _.sortedIndexOf
  1944. */
  1945. sortedIndexOf(
  1946. value: T
  1947. ): number;
  1948. }
  1949. interface LoDashImplicitObjectWrapper<T> {
  1950. /**
  1951. * @see _.sortedIndexOf
  1952. */
  1953. sortedIndexOf<TValue>(
  1954. value: TValue
  1955. ): number;
  1956. }
  1957. interface LoDashExplicitArrayWrapper<T> {
  1958. /**
  1959. * @see _.sortedIndexOf
  1960. */
  1961. sortedIndexOf(
  1962. value: T
  1963. ): LoDashExplicitWrapper<number>;
  1964. }
  1965. interface LoDashExplicitObjectWrapper<T> {
  1966. /**
  1967. * @see _.sortedIndexOf
  1968. */
  1969. sortedIndexOf<TValue>(
  1970. value: TValue
  1971. ): LoDashExplicitWrapper<number>;
  1972. }
  1973. //_.initial
  1974. interface LoDashStatic {
  1975. /**
  1976. * Gets all but the last element of array.
  1977. *
  1978. * @param array The array to query.
  1979. * @return Returns the slice of array.
  1980. */
  1981. initial<T>(array: List<T>): T[];
  1982. }
  1983. interface LoDashImplicitArrayWrapper<T> {
  1984. /**
  1985. * @see _.initial
  1986. */
  1987. initial(): LoDashImplicitArrayWrapper<T>;
  1988. }
  1989. interface LoDashImplicitObjectWrapper<T> {
  1990. /**
  1991. * @see _.initial
  1992. */
  1993. initial<T>(): LoDashImplicitArrayWrapper<T>;
  1994. }
  1995. interface LoDashExplicitArrayWrapper<T> {
  1996. /**
  1997. * @see _.initial
  1998. */
  1999. initial(): LoDashExplicitArrayWrapper<T>;
  2000. }
  2001. interface LoDashExplicitObjectWrapper<T> {
  2002. /**
  2003. * @see _.initial
  2004. */
  2005. initial<T>(): LoDashExplicitArrayWrapper<T>;
  2006. }
  2007. //_.intersection
  2008. interface LoDashStatic {
  2009. /**
  2010. * Creates an array of unique values that are included in all of the provided arrays using SameValueZero for
  2011. * equality comparisons.
  2012. *
  2013. * @param arrays The arrays to inspect.
  2014. * @return Returns the new array of shared values.
  2015. */
  2016. intersection<T>(...arrays: (T[]|List<T>)[]): T[];
  2017. }
  2018. interface LoDashImplicitArrayWrapper<T> {
  2019. /**
  2020. * @see _.intersection
  2021. */
  2022. intersection<TResult>(...arrays: (TResult[]|List<TResult>)[]): LoDashImplicitArrayWrapper<TResult>;
  2023. }
  2024. interface LoDashImplicitObjectWrapper<T> {
  2025. /**
  2026. * @see _.intersection
  2027. */
  2028. intersection<TResult>(...arrays: (TResult[]|List<TResult>)[]): LoDashImplicitArrayWrapper<TResult>;
  2029. }
  2030. interface LoDashExplicitArrayWrapper<T> {
  2031. /**
  2032. * @see _.intersection
  2033. */
  2034. intersection<TResult>(...arrays: (TResult[]|List<TResult>)[]): LoDashExplicitArrayWrapper<TResult>;
  2035. }
  2036. interface LoDashExplicitObjectWrapper<T> {
  2037. /**
  2038. * @see _.intersection
  2039. */
  2040. intersection<TResult>(...arrays: (TResult[]|List<TResult>)[]): LoDashExplicitArrayWrapper<TResult>;
  2041. }
  2042. //_.last
  2043. interface LoDashStatic {
  2044. /**
  2045. * Gets the last element of array.
  2046. *
  2047. * @param array The array to query.
  2048. * @return Returns the last element of array.
  2049. */
  2050. last<T>(array: List<T>): T;
  2051. }
  2052. interface LoDashImplicitWrapper<T> {
  2053. /**
  2054. * @see _.last
  2055. */
  2056. last(): string;
  2057. }
  2058. interface LoDashImplicitArrayWrapper<T> {
  2059. /**
  2060. * @see _.last
  2061. */
  2062. last(): T;
  2063. }
  2064. interface LoDashImplicitObjectWrapper<T> {
  2065. /**
  2066. * @see _.last
  2067. */
  2068. last<T>(): T;
  2069. }
  2070. interface LoDashExplicitWrapper<T> {
  2071. /**
  2072. * @see _.last
  2073. */
  2074. last(): LoDashExplicitWrapper<string>;
  2075. }
  2076. interface LoDashExplicitArrayWrapper<T> {
  2077. /**
  2078. * @see _.last
  2079. */
  2080. last<T>(): T;
  2081. }
  2082. interface LoDashExplicitObjectWrapper<T> {
  2083. /**
  2084. * @see _.last
  2085. */
  2086. last<T>(): T;
  2087. }
  2088. //_.lastIndexOf
  2089. interface LoDashStatic {
  2090. /**
  2091. * This method is like _.indexOf except that it iterates over elements of array from right to left.
  2092. *
  2093. * @param array The array to search.
  2094. * @param value The value to search for.
  2095. * @param fromIndex The index to search from or true to perform a binary search on a sorted array.
  2096. * @return Returns the index of the matched value, else -1.
  2097. */
  2098. lastIndexOf<T>(
  2099. array: List<T>,
  2100. value: T,
  2101. fromIndex?: boolean|number
  2102. ): number;
  2103. }
  2104. interface LoDashImplicitArrayWrapper<T> {
  2105. /**
  2106. * @see _.lastIndexOf
  2107. */
  2108. lastIndexOf(
  2109. value: T,
  2110. fromIndex?: boolean|number
  2111. ): number;
  2112. }
  2113. interface LoDashImplicitObjectWrapper<T> {
  2114. /**
  2115. * @see _.lastIndexOf
  2116. */
  2117. lastIndexOf<TResult>(
  2118. value: TResult,
  2119. fromIndex?: boolean|number
  2120. ): number;
  2121. }
  2122. interface LoDashExplicitArrayWrapper<T> {
  2123. /**
  2124. * @see _.lastIndexOf
  2125. */
  2126. lastIndexOf(
  2127. value: T,
  2128. fromIndex?: boolean|number
  2129. ): LoDashExplicitWrapper<number>;
  2130. }
  2131. interface LoDashExplicitObjectWrapper<T> {
  2132. /**
  2133. * @see _.lastIndexOf
  2134. */
  2135. lastIndexOf<TResult>(
  2136. value: TResult,
  2137. fromIndex?: boolean|number
  2138. ): LoDashExplicitWrapper<number>;
  2139. }
  2140. //_.pull
  2141. interface LoDashStatic {
  2142. /**
  2143. * Removes all provided values from array using SameValueZero for equality comparisons.
  2144. *
  2145. * Note: Unlike _.without, this method mutates array.
  2146. *
  2147. * @param array The array to modify.
  2148. * @param values The values to remove.
  2149. * @return Returns array.
  2150. */
  2151. pull<T>(
  2152. array: T[],
  2153. ...values: T[]
  2154. ): T[];
  2155. /**
  2156. * @see _.pull
  2157. */
  2158. pull<T>(
  2159. array: List<T>,
  2160. ...values: T[]
  2161. ): List<T>;
  2162. }
  2163. interface LoDashImplicitArrayWrapper<T> {
  2164. /**
  2165. * @see _.pull
  2166. */
  2167. pull(...values: T[]): LoDashImplicitArrayWrapper<T>;
  2168. }
  2169. interface LoDashImplicitObjectWrapper<T> {
  2170. /**
  2171. * @see _.pull
  2172. */
  2173. pull<TValue>(...values: TValue[]): LoDashImplicitObjectWrapper<List<TValue>>;
  2174. }
  2175. interface LoDashExplicitArrayWrapper<T> {
  2176. /**
  2177. * @see _.pull
  2178. */
  2179. pull(...values: T[]): LoDashExplicitArrayWrapper<T>;
  2180. }
  2181. interface LoDashExplicitObjectWrapper<T> {
  2182. /**
  2183. * @see _.pull
  2184. */
  2185. pull<TValue>(...values: TValue[]): LoDashExplicitObjectWrapper<List<TValue>>;
  2186. }
  2187. //_.pullAt
  2188. interface LoDashStatic {
  2189. /**
  2190. * Removes elements from array corresponding to the given indexes and returns an array of the removed elements.
  2191. * Indexes may be specified as an array of indexes or as individual arguments.
  2192. *
  2193. * Note: Unlike _.at, this method mutates array.
  2194. *
  2195. * @param array The array to modify.
  2196. * @param indexes The indexes of elements to remove, specified as individual indexes or arrays of indexes.
  2197. * @return Returns the new array of removed elements.
  2198. */
  2199. pullAt<T>(
  2200. array: List<T>,
  2201. ...indexes: (number|number[])[]
  2202. ): T[];
  2203. }
  2204. interface LoDashImplicitArrayWrapper<T> {
  2205. /**
  2206. * @see _.pullAt
  2207. */
  2208. pullAt(...indexes: (number|number[])[]): LoDashImplicitArrayWrapper<T>;
  2209. }
  2210. interface LoDashImplicitObjectWrapper<T> {
  2211. /**
  2212. * @see _.pullAt
  2213. */
  2214. pullAt<T>(...indexes: (number|number[])[]): LoDashImplicitArrayWrapper<T>;
  2215. }
  2216. interface LoDashExplicitArrayWrapper<T> {
  2217. /**
  2218. * @see _.pullAt
  2219. */
  2220. pullAt(...indexes: (number|number[])[]): LoDashExplicitArrayWrapper<T>;
  2221. }
  2222. interface LoDashExplicitObjectWrapper<T> {
  2223. /**
  2224. * @see _.pullAt
  2225. */
  2226. pullAt<T>(...indexes: (number|number[])[]): LoDashExplicitArrayWrapper<T>;
  2227. }
  2228. //_.remove
  2229. interface LoDashStatic {
  2230. /**
  2231. * Removes all elements from array that predicate returns truthy for and returns an array of the removed
  2232. * elements. The predicate is bound to thisArg and invoked with three arguments: (value, index, array).
  2233. *
  2234. * If a property name is provided for predicate the created _.property style callback returns the property
  2235. * value of the given element.
  2236. *
  2237. * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for
  2238. * elements that have a matching property value, else false.
  2239. *
  2240. * If an object is provided for predicate the created _.matches style callback returns true for elements that
  2241. * have the properties of the given object, else false.
  2242. *
  2243. * Note: Unlike _.filter, this method mutates array.
  2244. *
  2245. * @param array The array to modify.
  2246. * @param predicate The function invoked per iteration.
  2247. * @param thisArg The this binding of predicate.
  2248. * @return Returns the new array of removed elements.
  2249. */
  2250. remove<T>(
  2251. array: List<T>,
  2252. predicate?: ListIterator<T, boolean>
  2253. ): T[];
  2254. /**
  2255. * @see _.remove
  2256. */
  2257. remove<T>(
  2258. array: List<T>,
  2259. predicate?: string
  2260. ): T[];
  2261. /**
  2262. * @see _.remove
  2263. */
  2264. remove<W, T>(
  2265. array: List<T>,
  2266. predicate?: W
  2267. ): T[];
  2268. }
  2269. interface LoDashImplicitArrayWrapper<T> {
  2270. /**
  2271. * @see _.remove
  2272. */
  2273. remove(
  2274. predicate?: ListIterator<T, boolean>
  2275. ): LoDashImplicitArrayWrapper<T>;
  2276. /**
  2277. * @see _.remove
  2278. */
  2279. remove(
  2280. predicate?: string
  2281. ): LoDashImplicitArrayWrapper<T>;
  2282. /**
  2283. * @see _.remove
  2284. */
  2285. remove<W>(
  2286. predicate?: W
  2287. ): LoDashImplicitArrayWrapper<T>;
  2288. }
  2289. interface LoDashImplicitObjectWrapper<T> {
  2290. /**
  2291. * @see _.remove
  2292. */
  2293. remove<TResult>(
  2294. predicate?: ListIterator<TResult, boolean>
  2295. ): LoDashImplicitArrayWrapper<TResult>;
  2296. /**
  2297. * @see _.remove
  2298. */
  2299. remove<TResult>(
  2300. predicate?: string
  2301. ): LoDashImplicitArrayWrapper<TResult>;
  2302. /**
  2303. * @see _.remove
  2304. */
  2305. remove<W, TResult>(
  2306. predicate?: W
  2307. ): LoDashImplicitArrayWrapper<TResult>;
  2308. }
  2309. interface LoDashExplicitArrayWrapper<T> {
  2310. /**
  2311. * @see _.remove
  2312. */
  2313. remove(
  2314. predicate?: ListIterator<T, boolean>
  2315. ): LoDashExplicitArrayWrapper<T>;
  2316. /**
  2317. * @see _.remove
  2318. */
  2319. remove(
  2320. predicate?: string
  2321. ): LoDashExplicitArrayWrapper<T>;
  2322. /**
  2323. * @see _.remove
  2324. */
  2325. remove<W>(
  2326. predicate?: W
  2327. ): LoDashExplicitArrayWrapper<T>;
  2328. }
  2329. interface LoDashExplicitObjectWrapper<T> {
  2330. /**
  2331. * @see _.remove
  2332. */
  2333. remove<TResult>(
  2334. predicate?: ListIterator<TResult, boolean>
  2335. ): LoDashExplicitArrayWrapper<TResult>;
  2336. /**
  2337. * @see _.remove
  2338. */
  2339. remove<TResult>(
  2340. predicate?: string
  2341. ): LoDashExplicitArrayWrapper<TResult>;
  2342. /**
  2343. * @see _.remove
  2344. */
  2345. remove<W, TResult>(
  2346. predicate?: W
  2347. ): LoDashExplicitArrayWrapper<TResult>;
  2348. }
  2349. //_.tail
  2350. interface LoDashStatic {
  2351. /**
  2352. * Gets all but the first element of array.
  2353. *
  2354. * @alias _.tail
  2355. *
  2356. * @param array The array to query.
  2357. * @return Returns the slice of array.
  2358. */
  2359. tail<T>(array: List<T>): T[];
  2360. }
  2361. interface LoDashImplicitArrayWrapper<T> {
  2362. /**
  2363. * @see _.tail
  2364. */
  2365. tail(): LoDashImplicitArrayWrapper<T>;
  2366. }
  2367. interface LoDashImplicitObjectWrapper<T> {
  2368. /**
  2369. * @see _.tail
  2370. */
  2371. tail<T>(): LoDashImplicitArrayWrapper<T>;
  2372. }
  2373. interface LoDashExplicitArrayWrapper<T> {
  2374. /**
  2375. * @see _.tail
  2376. */
  2377. tail(): LoDashExplicitArrayWrapper<T>;
  2378. }
  2379. interface LoDashExplicitObjectWrapper<T> {
  2380. /**
  2381. * @see _.tail
  2382. */
  2383. tail<T>(): LoDashExplicitArrayWrapper<T>;
  2384. }
  2385. //_.slice
  2386. interface LoDashStatic {
  2387. /**
  2388. * Creates a slice of array from start up to, but not including, end.
  2389. *
  2390. * @param array The array to slice.
  2391. * @param start The start position.
  2392. * @param end The end position.
  2393. * @return Returns the slice of array.
  2394. */
  2395. slice<T>(
  2396. array: T[],
  2397. start?: number,
  2398. end?: number
  2399. ): T[];
  2400. }
  2401. interface LoDashImplicitArrayWrapper<T> {
  2402. /**
  2403. * @see _.slice
  2404. */
  2405. slice(
  2406. start?: number,
  2407. end?: number
  2408. ): LoDashImplicitArrayWrapper<T>;
  2409. }
  2410. interface LoDashExplicitArrayWrapper<T> {
  2411. /**
  2412. * @see _.slice
  2413. */
  2414. slice(
  2415. start?: number,
  2416. end?: number
  2417. ): LoDashExplicitArrayWrapper<T>;
  2418. }
  2419. //_.sortedIndex
  2420. interface LoDashStatic {
  2421. /**
  2422. * Uses a binary search to determine the lowest index at which `value` should
  2423. * be inserted into `array` in order to maintain its sort order.
  2424. *
  2425. * @static
  2426. * @memberOf _
  2427. * @category Array
  2428. * @param {Array} array The sorted array to inspect.
  2429. * @param {*} value The value to evaluate.
  2430. * @returns {number} Returns the index at which `value` should be inserted into `array`.
  2431. * @example
  2432. *
  2433. * _.sortedIndex([30, 50], 40);
  2434. * // => 1
  2435. *
  2436. * _.sortedIndex([4, 5], 4);
  2437. * // => 0
  2438. */
  2439. sortedIndex<T, TSort>(
  2440. array: List<T>,
  2441. value: T
  2442. ): number;
  2443. /**
  2444. * @see _.sortedIndex
  2445. */
  2446. sortedIndex<T>(
  2447. array: List<T>,
  2448. value: T
  2449. ): number;
  2450. /**
  2451. * @see _.sortedIndex
  2452. */
  2453. sortedIndex<T>(
  2454. array: List<T>,
  2455. value: T
  2456. ): number;
  2457. /**
  2458. * @see _.sortedIndex
  2459. */
  2460. sortedIndex<W, T>(
  2461. array: List<T>,
  2462. value: T
  2463. ): number;
  2464. /**
  2465. * @see _.sortedIndex
  2466. */
  2467. sortedIndex<T>(
  2468. array: List<T>,
  2469. value: T
  2470. ): number;
  2471. }
  2472. interface LoDashImplicitWrapper<T> {
  2473. /**
  2474. * @see _.sortedIndex
  2475. */
  2476. sortedIndex<TSort>(
  2477. value: string
  2478. ): number;
  2479. }
  2480. interface LoDashImplicitArrayWrapper<T> {
  2481. /**
  2482. * @see _.sortedIndex
  2483. */
  2484. sortedIndex<TSort>(
  2485. value: T
  2486. ): number;
  2487. /**
  2488. * @see _.sortedIndex
  2489. */
  2490. sortedIndex(
  2491. value: T
  2492. ): number;
  2493. }
  2494. interface LoDashImplicitObjectWrapper<T> {
  2495. /**
  2496. * @see _.sortedIndex
  2497. */
  2498. sortedIndex<T, TSort>(
  2499. value: T
  2500. ): number;
  2501. /**
  2502. * @see _.sortedIndex
  2503. */
  2504. sortedIndex<T>(
  2505. value: T
  2506. ): number;
  2507. /**
  2508. * @see _.sortedIndex
  2509. */
  2510. sortedIndex<W, T>(
  2511. value: T
  2512. ): number;
  2513. }
  2514. interface LoDashExplicitWrapper<T> {
  2515. /**
  2516. * @see _.sortedIndex
  2517. */
  2518. sortedIndex<TSort>(
  2519. value: string
  2520. ): LoDashExplicitWrapper<number>;
  2521. }
  2522. interface LoDashExplicitArrayWrapper<T> {
  2523. /**
  2524. * @see _.sortedIndex
  2525. */
  2526. sortedIndex<TSort>(
  2527. value: T
  2528. ): LoDashExplicitWrapper<number>;
  2529. /**
  2530. * @see _.sortedIndex
  2531. */
  2532. sortedIndex(
  2533. value: T
  2534. ): LoDashExplicitWrapper<number>;
  2535. /**
  2536. * @see _.sortedIndex
  2537. */
  2538. sortedIndex<W>(
  2539. value: T
  2540. ): LoDashExplicitWrapper<number>;
  2541. }
  2542. interface LoDashExplicitObjectWrapper<T> {
  2543. /**
  2544. * @see _.sortedIndex
  2545. */
  2546. sortedIndex<T, TSort>(
  2547. value: T
  2548. ): LoDashExplicitWrapper<number>;
  2549. /**
  2550. * @see _.sortedIndex
  2551. */
  2552. sortedIndex<T>(
  2553. value: T
  2554. ): LoDashExplicitWrapper<number>;
  2555. /**
  2556. * @see _.sortedIndex
  2557. */
  2558. sortedIndex<W, T>(
  2559. value: T
  2560. ): LoDashExplicitWrapper<number>;
  2561. }
  2562. //_.sortedIndexBy
  2563. interface LoDashStatic {
  2564. /**
  2565. * This method is like `_.sortedIndex` except that it accepts `iteratee`
  2566. * which is invoked for `value` and each element of `array` to compute their
  2567. * sort ranking. The iteratee is invoked with one argument: (value).
  2568. *
  2569. * @static
  2570. * @memberOf _
  2571. * @category Array
  2572. * @param {Array} array The sorted array to inspect.
  2573. * @param {*} value The value to evaluate.
  2574. * @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
  2575. * @returns {number} Returns the index at which `value` should be inserted into `array`.
  2576. * @example
  2577. *
  2578. * var dict = { 'thirty': 30, 'forty': 40, 'fifty': 50 };
  2579. *
  2580. * _.sortedIndexBy(['thirty', 'fifty'], 'forty', _.propertyOf(dict));
  2581. * // => 1
  2582. *
  2583. * // using the `_.property` iteratee shorthand
  2584. * _.sortedIndexBy([{ 'x': 4 }, { 'x': 5 }], { 'x': 4 }, 'x');
  2585. * // => 0
  2586. */
  2587. sortedIndexBy<T, TSort>(
  2588. array: List<T>,
  2589. value: T,
  2590. iteratee: (x: T) => TSort
  2591. ): number;
  2592. /**
  2593. * @see _.sortedIndexBy
  2594. */
  2595. sortedIndexBy<T>(
  2596. array: List<T>,
  2597. value: T,
  2598. iteratee: (x: T) => any
  2599. ): number;
  2600. /**
  2601. * @see _.sortedIndexBy
  2602. */
  2603. sortedIndexBy<T>(
  2604. array: List<T>,
  2605. value: T,
  2606. iteratee: string
  2607. ): number;
  2608. /**
  2609. * @see _.sortedIndexBy
  2610. */
  2611. sortedIndexBy<W, T>(
  2612. array: List<T>,
  2613. value: T,
  2614. iteratee: W
  2615. ): number;
  2616. /**
  2617. * @see _.sortedIndexBy
  2618. */
  2619. sortedIndexBy<T>(
  2620. array: List<T>,
  2621. value: T,
  2622. iteratee: Object
  2623. ): number;
  2624. }
  2625. interface LoDashImplicitWrapper<T> {
  2626. /**
  2627. * @see _.sortedIndexBy
  2628. */
  2629. sortedIndexBy<TSort>(
  2630. value: string,
  2631. iteratee: (x: string) => TSort
  2632. ): number;
  2633. }
  2634. interface LoDashImplicitArrayWrapper<T> {
  2635. /**
  2636. * @see _.sortedIndexBy
  2637. */
  2638. sortedIndexBy<TSort>(
  2639. value: T,
  2640. iteratee: (x: T) => TSort
  2641. ): number;
  2642. /**
  2643. * @see _.sortedIndexBy
  2644. */
  2645. sortedIndexBy(
  2646. value: T,
  2647. iteratee: string
  2648. ): number;
  2649. /**
  2650. * @see _.sortedIndexBy
  2651. */
  2652. sortedIndexBy<W>(
  2653. value: T,
  2654. iteratee: W
  2655. ): number;
  2656. }
  2657. interface LoDashImplicitObjectWrapper<T> {
  2658. /**
  2659. * @see _.sortedIndexBy
  2660. */
  2661. sortedIndexBy<T, TSort>(
  2662. value: T,
  2663. iteratee: (x: T) => TSort
  2664. ): number;
  2665. /**
  2666. * @see _.sortedIndexBy
  2667. */
  2668. sortedIndexBy<T>(
  2669. value: T,
  2670. iteratee: (x: T) => any
  2671. ): number;
  2672. /**
  2673. * @see _.sortedIndexBy
  2674. */
  2675. sortedIndexBy<T>(
  2676. value: T,
  2677. iteratee: string
  2678. ): number;
  2679. /**
  2680. * @see _.sortedIndexBy
  2681. */
  2682. sortedIndexBy<W, T>(
  2683. value: T,
  2684. iteratee: W
  2685. ): number;
  2686. /**
  2687. * @see _.sortedIndexBy
  2688. */
  2689. sortedIndexBy<T>(
  2690. value: T,
  2691. iteratee: Object
  2692. ): number;
  2693. }
  2694. interface LoDashExplicitWrapper<T> {
  2695. /**
  2696. * @see _.sortedIndexBy
  2697. */
  2698. sortedIndexBy<TSort>(
  2699. value: string,
  2700. iteratee: (x: string) => TSort
  2701. ): LoDashExplicitWrapper<number>;
  2702. }
  2703. interface LoDashExplicitArrayWrapper<T> {
  2704. /**
  2705. * @see _.sortedIndexBy
  2706. */
  2707. sortedIndexBy<TSort>(
  2708. value: T,
  2709. iteratee: (x: T) => TSort
  2710. ): LoDashExplicitWrapper<number>;
  2711. /**
  2712. * @see _.sortedIndexBy
  2713. */
  2714. sortedIndexBy(
  2715. value: T,
  2716. iteratee: string
  2717. ): LoDashExplicitWrapper<number>;
  2718. /**
  2719. * @see _.sortedIndexBy
  2720. */
  2721. sortedIndexBy<W>(
  2722. value: T,
  2723. iteratee: W
  2724. ): LoDashExplicitWrapper<number>;
  2725. }
  2726. interface LoDashExplicitObjectWrapper<T> {
  2727. /**
  2728. * @see _.sortedIndexBy
  2729. */
  2730. sortedIndexBy<T, TSort>(
  2731. value: T,
  2732. iteratee: (x: T) => TSort
  2733. ): LoDashExplicitWrapper<number>;
  2734. /**
  2735. * @see _.sortedIndexBy
  2736. */
  2737. sortedIndexBy<T>(
  2738. value: T,
  2739. iteratee: (x: T) => any
  2740. ): LoDashExplicitWrapper<number>;
  2741. /**
  2742. * @see _.sortedIndexBy
  2743. */
  2744. sortedIndexBy<T>(
  2745. value: T,
  2746. iteratee: string
  2747. ): LoDashExplicitWrapper<number>;
  2748. /**
  2749. * @see _.sortedIndexBy
  2750. */
  2751. sortedIndexBy<W, T>(
  2752. value: T,
  2753. iteratee: W
  2754. ): LoDashExplicitWrapper<number>;
  2755. /**
  2756. * @see _.sortedIndexBy
  2757. */
  2758. sortedIndexBy<T>(
  2759. value: T,
  2760. iteratee: Object
  2761. ): LoDashExplicitWrapper<number>;
  2762. }
  2763. //_.sortedLastIndex
  2764. interface LoDashStatic {
  2765. /**
  2766. * This method is like `_.sortedIndex` except that it returns the highest
  2767. * index at which `value` should be inserted into `array` in order to
  2768. * maintain its sort order.
  2769. *
  2770. * @static
  2771. * @memberOf _
  2772. * @category Array
  2773. * @param {Array} array The sorted array to inspect.
  2774. * @param {*} value The value to evaluate.
  2775. * @returns {number} Returns the index at which `value` should be inserted into `array`.
  2776. * @example
  2777. *
  2778. * _.sortedLastIndex([4, 5], 4);
  2779. * // => 1
  2780. */
  2781. sortedLastIndex<T, TSort>(
  2782. array: List<T>,
  2783. value: T
  2784. ): number;
  2785. /**
  2786. * @see _.sortedLastIndex
  2787. */
  2788. sortedLastIndex<T>(
  2789. array: List<T>,
  2790. value: T
  2791. ): number;
  2792. /**
  2793. * @see _.sortedLastIndex
  2794. */
  2795. sortedLastIndex<T>(
  2796. array: List<T>,
  2797. value: T
  2798. ): number;
  2799. /**
  2800. * @see _.sortedLastIndex
  2801. */
  2802. sortedLastIndex<W, T>(
  2803. array: List<T>,
  2804. value: T
  2805. ): number;
  2806. /**
  2807. * @see _.sortedLastIndex
  2808. */
  2809. sortedLastIndex<T>(
  2810. array: List<T>,
  2811. value: T
  2812. ): number;
  2813. }
  2814. interface LoDashImplicitWrapper<T> {
  2815. /**
  2816. * @see _.sortedLastIndex
  2817. */
  2818. sortedLastIndex<TSort>(
  2819. value: string
  2820. ): number;
  2821. }
  2822. interface LoDashImplicitArrayWrapper<T> {
  2823. /**
  2824. * @see _.sortedLastIndex
  2825. */
  2826. sortedLastIndex<TSort>(
  2827. value: T
  2828. ): number;
  2829. /**
  2830. * @see _.sortedLastIndex
  2831. */
  2832. sortedLastIndex(
  2833. value: T
  2834. ): number;
  2835. /**
  2836. * @see _.sortedLastIndex
  2837. */
  2838. sortedLastIndex<W>(
  2839. value: T
  2840. ): number;
  2841. }
  2842. interface LoDashImplicitObjectWrapper<T> {
  2843. /**
  2844. * @see _.sortedLastIndex
  2845. */
  2846. sortedLastIndex<T, TSort>(
  2847. value: T
  2848. ): number;
  2849. /**
  2850. * @see _.sortedLastIndex
  2851. */
  2852. sortedLastIndex<T>(
  2853. value: T
  2854. ): number;
  2855. /**
  2856. * @see _.sortedLastIndex
  2857. */
  2858. sortedLastIndex<W, T>(
  2859. value: T
  2860. ): number;
  2861. }
  2862. interface LoDashExplicitWrapper<T> {
  2863. /**
  2864. * @see _.sortedLastIndex
  2865. */
  2866. sortedLastIndex<TSort>(
  2867. value: string
  2868. ): LoDashExplicitWrapper<number>;
  2869. }
  2870. interface LoDashExplicitArrayWrapper<T> {
  2871. /**
  2872. * @see _.sortedLastIndex
  2873. */
  2874. sortedLastIndex<TSort>(
  2875. value: T
  2876. ): LoDashExplicitWrapper<number>;
  2877. /**
  2878. * @see _.sortedLastIndex
  2879. */
  2880. sortedLastIndex(
  2881. value: T
  2882. ): LoDashExplicitWrapper<number>;
  2883. }
  2884. interface LoDashExplicitObjectWrapper<T> {
  2885. /**
  2886. * @see _.sortedLastIndex
  2887. */
  2888. sortedLastIndex<T, TSort>(
  2889. value: T
  2890. ): LoDashExplicitWrapper<number>;
  2891. /**
  2892. * @see _.sortedLastIndex
  2893. */
  2894. sortedLastIndex<T>(
  2895. value: T
  2896. ): LoDashExplicitWrapper<number>;
  2897. /**
  2898. * @see _.sortedLastIndex
  2899. */
  2900. sortedLastIndex<W, T>(
  2901. value: T
  2902. ): LoDashExplicitWrapper<number>;
  2903. }
  2904. //_.sortedLastIndexBy
  2905. interface LoDashStatic {
  2906. /**
  2907. * This method is like `_.sortedLastIndex` except that it accepts `iteratee`
  2908. * which is invoked for `value` and each element of `array` to compute their
  2909. * sort ranking. The iteratee is invoked with one argument: (value).
  2910. *
  2911. * @static
  2912. * @memberOf _
  2913. * @category Array
  2914. * @param {Array} array The sorted array to inspect.
  2915. * @param {*} value The value to evaluate.
  2916. * @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
  2917. * @returns {number} Returns the index at which `value` should be inserted into `array`.
  2918. * @example
  2919. *
  2920. * // using the `_.property` iteratee shorthand
  2921. * _.sortedLastIndexBy([{ 'x': 4 }, { 'x': 5 }], { 'x': 4 }, 'x');
  2922. * // => 1
  2923. */
  2924. sortedLastIndexBy<T, TSort>(
  2925. array: List<T>,
  2926. value: T,
  2927. iteratee: (x: T) => TSort
  2928. ): number;
  2929. /**
  2930. * @see _.sortedLastIndexBy
  2931. */
  2932. sortedLastIndexBy<T>(
  2933. array: List<T>,
  2934. value: T,
  2935. iteratee: (x: T) => any
  2936. ): number;
  2937. /**
  2938. * @see _.sortedLastIndexBy
  2939. */
  2940. sortedLastIndexBy<T>(
  2941. array: List<T>,
  2942. value: T,
  2943. iteratee: string
  2944. ): number;
  2945. /**
  2946. * @see _.sortedLastIndexBy
  2947. */
  2948. sortedLastIndexBy<W, T>(
  2949. array: List<T>,
  2950. value: T,
  2951. iteratee: W
  2952. ): number;
  2953. /**
  2954. * @see _.sortedLastIndexBy
  2955. */
  2956. sortedLastIndexBy<T>(
  2957. array: List<T>,
  2958. value: T,
  2959. iteratee: Object
  2960. ): number;
  2961. }
  2962. interface LoDashImplicitWrapper<T> {
  2963. /**
  2964. * @see _.sortedLastIndexBy
  2965. */
  2966. sortedLastIndexBy<TSort>(
  2967. value: string,
  2968. iteratee: (x: string) => TSort
  2969. ): number;
  2970. }
  2971. interface LoDashImplicitArrayWrapper<T> {
  2972. /**
  2973. * @see _.sortedLastIndexBy
  2974. */
  2975. sortedLastIndexBy<TSort>(
  2976. value: T,
  2977. iteratee: (x: T) => TSort
  2978. ): number;
  2979. /**
  2980. * @see _.sortedLastIndexBy
  2981. */
  2982. sortedLastIndexBy(
  2983. value: T,
  2984. iteratee: string
  2985. ): number;
  2986. /**
  2987. * @see _.sortedLastIndexBy
  2988. */
  2989. sortedLastIndexBy<W>(
  2990. value: T,
  2991. iteratee: W
  2992. ): number;
  2993. }
  2994. interface LoDashImplicitObjectWrapper<T> {
  2995. /**
  2996. * @see _.sortedLastIndexBy
  2997. */
  2998. sortedLastIndexBy<T, TSort>(
  2999. value: T,
  3000. iteratee: (x: T) => TSort
  3001. ): number;
  3002. /**
  3003. * @see _.sortedLastIndexBy
  3004. */
  3005. sortedLastIndexBy<T>(
  3006. value: T,
  3007. iteratee: (x: T) => any
  3008. ): number;
  3009. /**
  3010. * @see _.sortedLastIndexBy
  3011. */
  3012. sortedLastIndexBy<T>(
  3013. value: T,
  3014. iteratee: string
  3015. ): number;
  3016. /**
  3017. * @see _.sortedLastIndexBy
  3018. */
  3019. sortedLastIndexBy<W, T>(
  3020. value: T,
  3021. iteratee: W
  3022. ): number;
  3023. /**
  3024. * @see _.sortedLastIndexBy
  3025. */
  3026. sortedLastIndexBy<T>(
  3027. value: T,
  3028. iteratee: Object
  3029. ): number;
  3030. }
  3031. interface LoDashExplicitWrapper<T> {
  3032. /**
  3033. * @see _.sortedLastIndexBy
  3034. */
  3035. sortedLastIndexBy<TSort>(
  3036. value: string,
  3037. iteratee: (x: string) => TSort
  3038. ): LoDashExplicitWrapper<number>;
  3039. }
  3040. interface LoDashExplicitArrayWrapper<T> {
  3041. /**
  3042. * @see _.sortedLastIndexBy
  3043. */
  3044. sortedLastIndexBy<TSort>(
  3045. value: T,
  3046. iteratee: (x: T) => TSort
  3047. ): LoDashExplicitWrapper<number>;
  3048. /**
  3049. * @see _.sortedLastIndexBy
  3050. */
  3051. sortedLastIndexBy(
  3052. value: T,
  3053. iteratee: string
  3054. ): LoDashExplicitWrapper<number>;
  3055. /**
  3056. * @see _.sortedLastIndexBy
  3057. */
  3058. sortedLastIndexBy<W>(
  3059. value: T,
  3060. iteratee: W
  3061. ): LoDashExplicitWrapper<number>;
  3062. }
  3063. interface LoDashExplicitObjectWrapper<T> {
  3064. /**
  3065. * @see _.sortedLastIndexBy
  3066. */
  3067. sortedLastIndexBy<T, TSort>(
  3068. value: T,
  3069. iteratee: (x: T) => TSort
  3070. ): LoDashExplicitWrapper<number>;
  3071. /**
  3072. * @see _.sortedLastIndexBy
  3073. */
  3074. sortedLastIndexBy<T>(
  3075. value: T,
  3076. iteratee: (x: T) => any
  3077. ): LoDashExplicitWrapper<number>;
  3078. /**
  3079. * @see _.sortedLastIndexBy
  3080. */
  3081. sortedLastIndexBy<T>(
  3082. value: T,
  3083. iteratee: string
  3084. ): LoDashExplicitWrapper<number>;
  3085. /**
  3086. * @see _.sortedLastIndexBy
  3087. */
  3088. sortedLastIndexBy<W, T>(
  3089. value: T,
  3090. iteratee: W
  3091. ): LoDashExplicitWrapper<number>;
  3092. /**
  3093. * @see _.sortedLastIndexBy
  3094. */
  3095. sortedLastIndexBy<T>(
  3096. value: T,
  3097. iteratee: Object
  3098. ): LoDashExplicitWrapper<number>;
  3099. }
  3100. //_.sortedLastIndexOf DUMMY
  3101. interface LoDashStatic {
  3102. /**
  3103. * This method is like `_.lastIndexOf` except that it performs a binary
  3104. * search on a sorted `array`.
  3105. *
  3106. * @static
  3107. * @memberOf _
  3108. * @category Array
  3109. * @param {Array} array The array to search.
  3110. * @param {*} value The value to search for.
  3111. * @returns {number} Returns the index of the matched value, else `-1`.
  3112. * @example
  3113. *
  3114. * _.sortedLastIndexOf([1, 1, 2, 2], 2);
  3115. * // => 3
  3116. */
  3117. sortedLastIndexOf(
  3118. array: any[]|List<any>,
  3119. ...values: any[]
  3120. ): any[];
  3121. }
  3122. //_.tail
  3123. interface LoDashStatic {
  3124. /**
  3125. * @see _.rest
  3126. */
  3127. tail<T>(array: List<T>): T[];
  3128. }
  3129. interface LoDashImplicitArrayWrapper<T> {
  3130. /**
  3131. * @see _.rest
  3132. */
  3133. tail(): LoDashImplicitArrayWrapper<T>;
  3134. }
  3135. interface LoDashImplicitObjectWrapper<T> {
  3136. /**
  3137. * @see _.rest
  3138. */
  3139. tail<T>(): LoDashImplicitArrayWrapper<T>;
  3140. }
  3141. interface LoDashExplicitArrayWrapper<T> {
  3142. /**
  3143. * @see _.rest
  3144. */
  3145. tail(): LoDashExplicitArrayWrapper<T>;
  3146. }
  3147. interface LoDashExplicitObjectWrapper<T> {
  3148. /**
  3149. * @see _.rest
  3150. */
  3151. tail<T>(): LoDashExplicitArrayWrapper<T>;
  3152. }
  3153. //_.take
  3154. interface LoDashStatic {
  3155. /**
  3156. * Creates a slice of array with n elements taken from the beginning.
  3157. *
  3158. * @param array The array to query.
  3159. * @param n The number of elements to take.
  3160. * @return Returns the slice of array.
  3161. */
  3162. take<T>(
  3163. array: List<T>,
  3164. n?: number
  3165. ): T[];
  3166. }
  3167. interface LoDashImplicitArrayWrapper<T> {
  3168. /**
  3169. * @see _.take
  3170. */
  3171. take(n?: number): LoDashImplicitArrayWrapper<T>;
  3172. }
  3173. interface LoDashImplicitObjectWrapper<T> {
  3174. /**
  3175. * @see _.take
  3176. */
  3177. take<TResult>(n?: number): LoDashImplicitArrayWrapper<TResult>;
  3178. }
  3179. interface LoDashExplicitArrayWrapper<T> {
  3180. /**
  3181. * @see _.take
  3182. */
  3183. take(n?: number): LoDashExplicitArrayWrapper<T>;
  3184. }
  3185. interface LoDashExplicitObjectWrapper<T> {
  3186. /**
  3187. * @see _.take
  3188. */
  3189. take<TResult>(n?: number): LoDashExplicitArrayWrapper<TResult>;
  3190. }
  3191. //_.takeRight
  3192. interface LoDashStatic {
  3193. /**
  3194. * Creates a slice of array with n elements taken from the end.
  3195. *
  3196. * @param array The array to query.
  3197. * @param n The number of elements to take.
  3198. * @return Returns the slice of array.
  3199. */
  3200. takeRight<T>(
  3201. array: List<T>,
  3202. n?: number
  3203. ): T[];
  3204. }
  3205. interface LoDashImplicitArrayWrapper<T> {
  3206. /**
  3207. * @see _.takeRight
  3208. */
  3209. takeRight(n?: number): LoDashImplicitArrayWrapper<T>;
  3210. }
  3211. interface LoDashImplicitObjectWrapper<T> {
  3212. /**
  3213. * @see _.takeRight
  3214. */
  3215. takeRight<TResult>(n?: number): LoDashImplicitArrayWrapper<TResult>;
  3216. }
  3217. interface LoDashExplicitArrayWrapper<T> {
  3218. /**
  3219. * @see _.takeRight
  3220. */
  3221. takeRight(n?: number): LoDashExplicitArrayWrapper<T>;
  3222. }
  3223. interface LoDashExplicitObjectWrapper<T> {
  3224. /**
  3225. * @see _.takeRight
  3226. */
  3227. takeRight<TResult>(n?: number): LoDashExplicitArrayWrapper<TResult>;
  3228. }
  3229. //_.takeRightWhile
  3230. interface LoDashStatic {
  3231. /**
  3232. * Creates a slice of array with elements taken from the end. Elements are taken until predicate returns
  3233. * falsey. The predicate is bound to thisArg and invoked with three arguments: (value, index, array).
  3234. *
  3235. * If a property name is provided for predicate the created _.property style callback returns the property
  3236. * value of the given element.
  3237. *
  3238. * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for
  3239. * elements that have a matching property value, else false.
  3240. *
  3241. * If an object is provided for predicate the created _.matches style callback returns true for elements that
  3242. * have the properties of the given object, else false.
  3243. *
  3244. * @param array The array to query.
  3245. * @param predicate The function invoked per iteration.
  3246. * @param thisArg The this binding of predicate.
  3247. * @return Returns the slice of array.
  3248. */
  3249. takeRightWhile<TValue>(
  3250. array: List<TValue>,
  3251. predicate?: ListIterator<TValue, boolean>
  3252. ): TValue[];
  3253. /**
  3254. * @see _.takeRightWhile
  3255. */
  3256. takeRightWhile<TValue>(
  3257. array: List<TValue>,
  3258. predicate?: string
  3259. ): TValue[];
  3260. /**
  3261. * @see _.takeRightWhile
  3262. */
  3263. takeRightWhile<TWhere, TValue>(
  3264. array: List<TValue>,
  3265. predicate?: TWhere
  3266. ): TValue[];
  3267. }
  3268. interface LoDashImplicitArrayWrapper<T> {
  3269. /**
  3270. * @see _.takeRightWhile
  3271. */
  3272. takeRightWhile(
  3273. predicate?: ListIterator<T, boolean>
  3274. ): LoDashImplicitArrayWrapper<T>;
  3275. /**
  3276. * @see _.takeRightWhile
  3277. */
  3278. takeRightWhile(
  3279. predicate?: string
  3280. ): LoDashImplicitArrayWrapper<T>;
  3281. /**
  3282. * @see _.takeRightWhile
  3283. */
  3284. takeRightWhile<TWhere>(
  3285. predicate?: TWhere
  3286. ): LoDashImplicitArrayWrapper<T>;
  3287. }
  3288. interface LoDashImplicitObjectWrapper<T> {
  3289. /**
  3290. * @see _.takeRightWhile
  3291. */
  3292. takeRightWhile<TValue>(
  3293. predicate?: ListIterator<TValue, boolean>
  3294. ): LoDashImplicitArrayWrapper<TValue>;
  3295. /**
  3296. * @see _.takeRightWhile
  3297. */
  3298. takeRightWhile<TValue>(
  3299. predicate?: string
  3300. ): LoDashImplicitArrayWrapper<TValue>;
  3301. /**
  3302. * @see _.takeRightWhile
  3303. */
  3304. takeRightWhile<TWhere, TValue>(
  3305. predicate?: TWhere
  3306. ): LoDashImplicitArrayWrapper<TValue>;
  3307. }
  3308. interface LoDashExplicitArrayWrapper<T> {
  3309. /**
  3310. * @see _.takeRightWhile
  3311. */
  3312. takeRightWhile(
  3313. predicate?: ListIterator<T, boolean>
  3314. ): LoDashExplicitArrayWrapper<T>;
  3315. /**
  3316. * @see _.takeRightWhile
  3317. */
  3318. takeRightWhile(
  3319. predicate?: string
  3320. ): LoDashExplicitArrayWrapper<T>;
  3321. /**
  3322. * @see _.takeRightWhile
  3323. */
  3324. takeRightWhile<TWhere>(
  3325. predicate?: TWhere
  3326. ): LoDashExplicitArrayWrapper<T>;
  3327. }
  3328. interface LoDashExplicitObjectWrapper<T> {
  3329. /**
  3330. * @see _.takeRightWhile
  3331. */
  3332. takeRightWhile<TValue>(
  3333. predicate?: ListIterator<TValue, boolean>
  3334. ): LoDashExplicitArrayWrapper<TValue>;
  3335. /**
  3336. * @see _.takeRightWhile
  3337. */
  3338. takeRightWhile<TValue>(
  3339. predicate?: string
  3340. ): LoDashExplicitArrayWrapper<TValue>;
  3341. /**
  3342. * @see _.takeRightWhile
  3343. */
  3344. takeRightWhile<TWhere, TValue>(
  3345. predicate?: TWhere
  3346. ): LoDashExplicitArrayWrapper<TValue>;
  3347. }
  3348. //_.takeWhile
  3349. interface LoDashStatic {
  3350. /**
  3351. * Creates a slice of array with elements taken from the beginning. Elements are taken until predicate returns
  3352. * falsey. The predicate is bound to thisArg and invoked with three arguments: (value, index, array).
  3353. *
  3354. * If a property name is provided for predicate the created _.property style callback returns the property
  3355. * value of the given element.
  3356. *
  3357. * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for
  3358. * elements that have a matching property value, else false.
  3359. *
  3360. * If an object is provided for predicate the created _.matches style callback returns true for elements that
  3361. * have the properties of the given object, else false.
  3362. *
  3363. * @param array The array to query.
  3364. * @param predicate The function invoked per iteration.
  3365. * @param thisArg The this binding of predicate.
  3366. * @return Returns the slice of array.
  3367. */
  3368. takeWhile<TValue>(
  3369. array: List<TValue>,
  3370. predicate?: ListIterator<TValue, boolean>
  3371. ): TValue[];
  3372. /**
  3373. * @see _.takeWhile
  3374. */
  3375. takeWhile<TValue>(
  3376. array: List<TValue>,
  3377. predicate?: string
  3378. ): TValue[];
  3379. /**
  3380. * @see _.takeWhile
  3381. */
  3382. takeWhile<TWhere, TValue>(
  3383. array: List<TValue>,
  3384. predicate?: TWhere
  3385. ): TValue[];
  3386. }
  3387. interface LoDashImplicitArrayWrapper<T> {
  3388. /**
  3389. * @see _.takeWhile
  3390. */
  3391. takeWhile(
  3392. predicate?: ListIterator<T, boolean>
  3393. ): LoDashImplicitArrayWrapper<T>;
  3394. /**
  3395. * @see _.takeWhile
  3396. */
  3397. takeWhile(
  3398. predicate?: string
  3399. ): LoDashImplicitArrayWrapper<T>;
  3400. /**
  3401. * @see _.takeWhile
  3402. */
  3403. takeWhile<TWhere>(
  3404. predicate?: TWhere
  3405. ): LoDashImplicitArrayWrapper<T>;
  3406. }
  3407. interface LoDashImplicitObjectWrapper<T> {
  3408. /**
  3409. * @see _.takeWhile
  3410. */
  3411. takeWhile<TValue>(
  3412. predicate?: ListIterator<TValue, boolean>
  3413. ): LoDashImplicitArrayWrapper<TValue>;
  3414. /**
  3415. * @see _.takeWhile
  3416. */
  3417. takeWhile<TValue>(
  3418. predicate?: string
  3419. ): LoDashImplicitArrayWrapper<TValue>;
  3420. /**
  3421. * @see _.takeWhile
  3422. */
  3423. takeWhile<TWhere, TValue>(
  3424. predicate?: TWhere
  3425. ): LoDashImplicitArrayWrapper<TValue>;
  3426. }
  3427. interface LoDashExplicitArrayWrapper<T> {
  3428. /**
  3429. * @see _.takeWhile
  3430. */
  3431. takeWhile(
  3432. predicate?: ListIterator<T, boolean>
  3433. ): LoDashExplicitArrayWrapper<T>;
  3434. /**
  3435. * @see _.takeWhile
  3436. */
  3437. takeWhile(
  3438. predicate?: string
  3439. ): LoDashExplicitArrayWrapper<T>;
  3440. /**
  3441. * @see _.takeWhile
  3442. */
  3443. takeWhile<TWhere>(
  3444. predicate?: TWhere
  3445. ): LoDashExplicitArrayWrapper<T>;
  3446. }
  3447. interface LoDashExplicitObjectWrapper<T> {
  3448. /**
  3449. * @see _.takeWhile
  3450. */
  3451. takeWhile<TValue>(
  3452. predicate?: ListIterator<TValue, boolean>
  3453. ): LoDashExplicitArrayWrapper<TValue>;
  3454. /**
  3455. * @see _.takeWhile
  3456. */
  3457. takeWhile<TValue>(
  3458. predicate?: string
  3459. ): LoDashExplicitArrayWrapper<TValue>;
  3460. /**
  3461. * @see _.takeWhile
  3462. */
  3463. takeWhile<TWhere, TValue>(
  3464. predicate?: TWhere
  3465. ): LoDashExplicitArrayWrapper<TValue>;
  3466. }
  3467. //_.union
  3468. interface LoDashStatic {
  3469. /**
  3470. * Creates an array of unique values, in order, from all of the provided arrays using SameValueZero for
  3471. * equality comparisons.
  3472. *
  3473. * @param arrays The arrays to inspect.
  3474. * @return Returns the new array of combined values.
  3475. */
  3476. union<T>(...arrays: List<T>[]): T[];
  3477. }
  3478. interface LoDashImplicitArrayWrapper<T> {
  3479. /**
  3480. * @see _.union
  3481. */
  3482. union(...arrays: List<T>[]): LoDashImplicitArrayWrapper<T>;
  3483. /**
  3484. * @see _.union
  3485. */
  3486. union<T>(...arrays: List<T>[]): LoDashImplicitArrayWrapper<T>;
  3487. }
  3488. interface LoDashImplicitObjectWrapper<T> {
  3489. /**
  3490. * @see _.union
  3491. */
  3492. union<T>(...arrays: List<T>[]): LoDashImplicitArrayWrapper<T>;
  3493. }
  3494. interface LoDashExplicitArrayWrapper<T> {
  3495. /**
  3496. * @see _.union
  3497. */
  3498. union(...arrays: List<T>[]): LoDashExplicitArrayWrapper<T>;
  3499. /**
  3500. * @see _.union
  3501. */
  3502. union<T>(...arrays: List<T>[]): LoDashExplicitArrayWrapper<T>;
  3503. }
  3504. interface LoDashExplicitObjectWrapper<T> {
  3505. /**
  3506. * @see _.union
  3507. */
  3508. union<T>(...arrays: List<T>[]): LoDashExplicitArrayWrapper<T>;
  3509. }
  3510. //_.unionBy
  3511. interface LoDashStatic {
  3512. /**
  3513. * This method is like `_.union` except that it accepts `iteratee` which is
  3514. * invoked for each element of each `arrays` to generate the criterion by which
  3515. * uniqueness is computed. The iteratee is invoked with one argument: (value).
  3516. *
  3517. * @param arrays The arrays to inspect.
  3518. * @param iteratee The iteratee invoked per element.
  3519. * @return Returns the new array of combined values.
  3520. */
  3521. unionBy<T>(
  3522. arrays: T[]|List<T>,
  3523. iteratee?: (value: T) => any
  3524. ): T[];
  3525. /**
  3526. * @see _.unionBy
  3527. */
  3528. unionBy<T, W extends Object>(
  3529. arrays: T[]|List<T>,
  3530. iteratee?: W
  3531. ): T[];
  3532. /**
  3533. * @see _.unionBy
  3534. */
  3535. unionBy<T>(
  3536. arrays1: T[]|List<T>,
  3537. arrays2: T[]|List<T>,
  3538. iteratee?: (value: T) => any
  3539. ): T[];
  3540. /**
  3541. * @see _.unionBy
  3542. */
  3543. unionBy<T, W extends Object>(
  3544. arrays1: T[]|List<T>,
  3545. arrays2: T[]|List<T>,
  3546. iteratee?: W
  3547. ): T[];
  3548. /**
  3549. * @see _.unionBy
  3550. */
  3551. unionBy<T>(
  3552. arrays1: T[]|List<T>,
  3553. arrays2: T[]|List<T>,
  3554. arrays3: T[]|List<T>,
  3555. iteratee?: (value: T) => any
  3556. ): T[];
  3557. /**
  3558. * @see _.unionBy
  3559. */
  3560. unionBy<T, W extends Object>(
  3561. arrays1: T[]|List<T>,
  3562. arrays2: T[]|List<T>,
  3563. arrays3: T[]|List<T>,
  3564. iteratee?: W
  3565. ): T[];
  3566. /**
  3567. * @see _.unionBy
  3568. */
  3569. unionBy<T>(
  3570. arrays1: T[]|List<T>,
  3571. arrays2: T[]|List<T>,
  3572. arrays3: T[]|List<T>,
  3573. arrays4: T[]|List<T>,
  3574. iteratee?: (value: T) => any
  3575. ): T[];
  3576. /**
  3577. * @see _.unionBy
  3578. */
  3579. unionBy<T, W extends Object>(
  3580. arrays1: T[]|List<T>,
  3581. arrays2: T[]|List<T>,
  3582. arrays3: T[]|List<T>,
  3583. arrays4: T[]|List<T>,
  3584. iteratee?: W
  3585. ): T[];
  3586. /**
  3587. * @see _.unionBy
  3588. */
  3589. unionBy<T>(
  3590. arrays1: T[]|List<T>,
  3591. arrays2: T[]|List<T>,
  3592. arrays3: T[]|List<T>,
  3593. arrays4: T[]|List<T>,
  3594. arrays5: T[]|List<T>,
  3595. iteratee?: (value: T) => any
  3596. ): T[];
  3597. /**
  3598. * @see _.unionBy
  3599. */
  3600. unionBy<T, W extends Object>(
  3601. arrays1: T[]|List<T>,
  3602. arrays2: T[]|List<T>,
  3603. arrays3: T[]|List<T>,
  3604. arrays4: T[]|List<T>,
  3605. arrays5: T[]|List<T>,
  3606. iteratee?: W
  3607. ): T[];
  3608. /**
  3609. * @see _.unionBy
  3610. */
  3611. unionBy<T>(
  3612. arrays: T[]|List<T>,
  3613. ...iteratee: any[]
  3614. ): T[];
  3615. }
  3616. interface LoDashImplicitArrayWrapper<T> {
  3617. /**
  3618. * @see _.unionBy
  3619. */
  3620. unionBy<T>(
  3621. iteratee?: (value: T) => any
  3622. ): LoDashImplicitArrayWrapper<T>;
  3623. /**
  3624. * @see _.unionBy
  3625. */
  3626. unionBy<T, W extends Object>(
  3627. iteratee?: W
  3628. ): LoDashImplicitArrayWrapper<T>;
  3629. /**
  3630. * @see _.unionBy
  3631. */
  3632. unionBy<T>(
  3633. arrays2: T[]|List<T>,
  3634. iteratee?: (value: T) => any
  3635. ): LoDashImplicitArrayWrapper<T>;
  3636. /**
  3637. * @see _.unionBy
  3638. */
  3639. unionBy<T, W extends Object>(
  3640. arrays2: T[]|List<T>,
  3641. iteratee?: W
  3642. ): LoDashImplicitArrayWrapper<T>;
  3643. /**
  3644. * @see _.unionBy
  3645. */
  3646. unionBy<T>(
  3647. arrays2: T[]|List<T>,
  3648. arrays3: T[]|List<T>,
  3649. iteratee?: (value: T) => any
  3650. ): LoDashImplicitArrayWrapper<T>;
  3651. /**
  3652. * @see _.unionBy
  3653. */
  3654. unionBy<T, W extends Object>(
  3655. arrays2: T[]|List<T>,
  3656. arrays3: T[]|List<T>,
  3657. iteratee?: W
  3658. ): LoDashImplicitArrayWrapper<T>;
  3659. /**
  3660. * @see _.unionBy
  3661. */
  3662. unionBy<T>(
  3663. arrays2: T[]|List<T>,
  3664. arrays3: T[]|List<T>,
  3665. arrays4: T[]|List<T>,
  3666. iteratee?: (value: T) => any
  3667. ): LoDashImplicitArrayWrapper<T>;
  3668. /**
  3669. * @see _.unionBy
  3670. */
  3671. unionBy<T, W extends Object>(
  3672. arrays2: T[]|List<T>,
  3673. arrays3: T[]|List<T>,
  3674. arrays4: T[]|List<T>,
  3675. iteratee?: W
  3676. ): LoDashImplicitArrayWrapper<T>;
  3677. /**
  3678. * @see _.unionBy
  3679. */
  3680. unionBy<T>(
  3681. arrays2: T[]|List<T>,
  3682. arrays3: T[]|List<T>,
  3683. arrays4: T[]|List<T>,
  3684. arrays5: T[]|List<T>,
  3685. iteratee?: (value: T) => any
  3686. ): LoDashImplicitArrayWrapper<T>;
  3687. /**
  3688. * @see _.unionBy
  3689. */
  3690. unionBy<T, W extends Object>(
  3691. arrays2: T[]|List<T>,
  3692. arrays3: T[]|List<T>,
  3693. arrays4: T[]|List<T>,
  3694. arrays5: T[]|List<T>,
  3695. iteratee?: W
  3696. ): LoDashImplicitArrayWrapper<T>;
  3697. /**
  3698. * @see _.unionBy
  3699. */
  3700. unionBy<T>(
  3701. ...iteratee: any[]
  3702. ): LoDashImplicitArrayWrapper<T>;
  3703. }
  3704. interface LoDashImplicitObjectWrapper<T> {
  3705. /**
  3706. * @see _.unionBy
  3707. */
  3708. unionBy<T>(
  3709. iteratee?: (value: T) => any
  3710. ): LoDashImplicitArrayWrapper<T>;
  3711. /**
  3712. * @see _.unionBy
  3713. */
  3714. unionBy<T, W extends Object>(
  3715. iteratee?: W
  3716. ): LoDashImplicitArrayWrapper<T>;
  3717. /**
  3718. * @see _.unionBy
  3719. */
  3720. unionBy<T>(
  3721. arrays2: T[]|List<T>,
  3722. iteratee?: (value: T) => any
  3723. ): LoDashImplicitArrayWrapper<T>;
  3724. /**
  3725. * @see _.unionBy
  3726. */
  3727. unionBy<T, W extends Object>(
  3728. arrays2: T[]|List<T>,
  3729. iteratee?: W
  3730. ): LoDashImplicitArrayWrapper<T>;
  3731. /**
  3732. * @see _.unionBy
  3733. */
  3734. unionBy<T>(
  3735. arrays2: T[]|List<T>,
  3736. arrays3: T[]|List<T>,
  3737. iteratee?: (value: T) => any
  3738. ): LoDashImplicitArrayWrapper<T>;
  3739. /**
  3740. * @see _.unionBy
  3741. */
  3742. unionBy<T, W extends Object>(
  3743. arrays2: T[]|List<T>,
  3744. arrays3: T[]|List<T>,
  3745. iteratee?: W
  3746. ): LoDashImplicitArrayWrapper<T>;
  3747. /**
  3748. * @see _.unionBy
  3749. */
  3750. unionBy<T>(
  3751. arrays2: T[]|List<T>,
  3752. arrays3: T[]|List<T>,
  3753. arrays4: T[]|List<T>,
  3754. iteratee?: (value: T) => any
  3755. ): LoDashImplicitArrayWrapper<T>;
  3756. /**
  3757. * @see _.unionBy
  3758. */
  3759. unionBy<T, W extends Object>(
  3760. arrays2: T[]|List<T>,
  3761. arrays3: T[]|List<T>,
  3762. arrays4: T[]|List<T>,
  3763. iteratee?: W
  3764. ): LoDashImplicitArrayWrapper<T>;
  3765. /**
  3766. * @see _.unionBy
  3767. */
  3768. unionBy<T>(
  3769. arrays2: T[]|List<T>,
  3770. arrays3: T[]|List<T>,
  3771. arrays4: T[]|List<T>,
  3772. arrays5: T[]|List<T>,
  3773. iteratee?: (value: T) => any
  3774. ): LoDashImplicitArrayWrapper<T>;
  3775. /**
  3776. * @see _.unionBy
  3777. */
  3778. unionBy<T, W extends Object>(
  3779. arrays2: T[]|List<T>,
  3780. arrays3: T[]|List<T>,
  3781. arrays4: T[]|List<T>,
  3782. arrays5: T[]|List<T>,
  3783. iteratee?: W
  3784. ): LoDashImplicitArrayWrapper<T>;
  3785. /**
  3786. * @see _.unionBy
  3787. */
  3788. unionBy<T>(
  3789. ...iteratee: any[]
  3790. ): LoDashImplicitArrayWrapper<T>;
  3791. }
  3792. interface LoDashExplicitArrayWrapper<T> {
  3793. /**
  3794. * @see _.unionBy
  3795. */
  3796. unionBy<T>(
  3797. iteratee?: (value: T) => any
  3798. ): LoDashExplicitArrayWrapper<T>;
  3799. /**
  3800. * @see _.unionBy
  3801. */
  3802. unionBy<T, W extends Object>(
  3803. iteratee?: W
  3804. ): LoDashExplicitArrayWrapper<T>;
  3805. /**
  3806. * @see _.unionBy
  3807. */
  3808. unionBy<T>(
  3809. arrays2: T[]|List<T>,
  3810. iteratee?: (value: T) => any
  3811. ): LoDashExplicitArrayWrapper<T>;
  3812. /**
  3813. * @see _.unionBy
  3814. */
  3815. unionBy<T, W extends Object>(
  3816. arrays2: T[]|List<T>,
  3817. iteratee?: W
  3818. ): LoDashExplicitArrayWrapper<T>;
  3819. /**
  3820. * @see _.unionBy
  3821. */
  3822. unionBy<T>(
  3823. arrays2: T[]|List<T>,
  3824. arrays3: T[]|List<T>,
  3825. iteratee?: (value: T) => any
  3826. ): LoDashExplicitArrayWrapper<T>;
  3827. /**
  3828. * @see _.unionBy
  3829. */
  3830. unionBy<T, W extends Object>(
  3831. arrays2: T[]|List<T>,
  3832. arrays3: T[]|List<T>,
  3833. iteratee?: W
  3834. ): LoDashExplicitArrayWrapper<T>;
  3835. /**
  3836. * @see _.unionBy
  3837. */
  3838. unionBy<T>(
  3839. arrays2: T[]|List<T>,
  3840. arrays3: T[]|List<T>,
  3841. arrays4: T[]|List<T>,
  3842. iteratee?: (value: T) => any
  3843. ): LoDashExplicitArrayWrapper<T>;
  3844. /**
  3845. * @see _.unionBy
  3846. */
  3847. unionBy<T, W extends Object>(
  3848. arrays2: T[]|List<T>,
  3849. arrays3: T[]|List<T>,
  3850. arrays4: T[]|List<T>,
  3851. iteratee?: W
  3852. ): LoDashExplicitArrayWrapper<T>;
  3853. /**
  3854. * @see _.unionBy
  3855. */
  3856. unionBy<T>(
  3857. arrays2: T[]|List<T>,
  3858. arrays3: T[]|List<T>,
  3859. arrays4: T[]|List<T>,
  3860. arrays5: T[]|List<T>,
  3861. iteratee?: (value: T) => any
  3862. ): LoDashExplicitArrayWrapper<T>;
  3863. /**
  3864. * @see _.unionBy
  3865. */
  3866. unionBy<T, W extends Object>(
  3867. arrays2: T[]|List<T>,
  3868. arrays3: T[]|List<T>,
  3869. arrays4: T[]|List<T>,
  3870. arrays5: T[]|List<T>,
  3871. iteratee?: W
  3872. ): LoDashExplicitArrayWrapper<T>;
  3873. /**
  3874. * @see _.unionBy
  3875. */
  3876. unionBy<T>(
  3877. ...iteratee: any[]
  3878. ): LoDashExplicitArrayWrapper<T>;
  3879. }
  3880. interface LoDashExplicitObjectWrapper<T> {
  3881. /**
  3882. * @see _.unionBy
  3883. */
  3884. unionBy<T>(
  3885. iteratee?: (value: T) => any
  3886. ): LoDashExplicitArrayWrapper<T>;
  3887. /**
  3888. * @see _.unionBy
  3889. */
  3890. unionBy<T, W extends Object>(
  3891. iteratee?: W
  3892. ): LoDashExplicitArrayWrapper<T>;
  3893. /**
  3894. * @see _.unionBy
  3895. */
  3896. unionBy<T>(
  3897. arrays2: T[]|List<T>,
  3898. iteratee?: (value: T) => any
  3899. ): LoDashExplicitArrayWrapper<T>;
  3900. /**
  3901. * @see _.unionBy
  3902. */
  3903. unionBy<T, W extends Object>(
  3904. arrays2: T[]|List<T>,
  3905. iteratee?: W
  3906. ): LoDashExplicitArrayWrapper<T>;
  3907. /**
  3908. * @see _.unionBy
  3909. */
  3910. unionBy<T>(
  3911. arrays2: T[]|List<T>,
  3912. arrays3: T[]|List<T>,
  3913. iteratee?: (value: T) => any
  3914. ): LoDashExplicitArrayWrapper<T>;
  3915. /**
  3916. * @see _.unionBy
  3917. */
  3918. unionBy<T, W extends Object>(
  3919. arrays2: T[]|List<T>,
  3920. arrays3: T[]|List<T>,
  3921. iteratee?: W
  3922. ): LoDashExplicitArrayWrapper<T>;
  3923. /**
  3924. * @see _.unionBy
  3925. */
  3926. unionBy<T>(
  3927. arrays2: T[]|List<T>,
  3928. arrays3: T[]|List<T>,
  3929. arrays4: T[]|List<T>,
  3930. iteratee?: (value: T) => any
  3931. ): LoDashExplicitArrayWrapper<T>;
  3932. /**
  3933. * @see _.unionBy
  3934. */
  3935. unionBy<T, W extends Object>(
  3936. arrays2: T[]|List<T>,
  3937. arrays3: T[]|List<T>,
  3938. arrays4: T[]|List<T>,
  3939. iteratee?: W
  3940. ): LoDashExplicitArrayWrapper<T>;
  3941. /**
  3942. * @see _.unionBy
  3943. */
  3944. unionBy<T>(
  3945. arrays2: T[]|List<T>,
  3946. arrays3: T[]|List<T>,
  3947. arrays4: T[]|List<T>,
  3948. arrays5: T[]|List<T>,
  3949. iteratee?: (value: T) => any
  3950. ): LoDashExplicitArrayWrapper<T>;
  3951. /**
  3952. * @see _.unionBy
  3953. */
  3954. unionBy<T, W extends Object>(
  3955. arrays2: T[]|List<T>,
  3956. arrays3: T[]|List<T>,
  3957. arrays4: T[]|List<T>,
  3958. arrays5: T[]|List<T>,
  3959. iteratee?: W
  3960. ): LoDashExplicitArrayWrapper<T>;
  3961. /**
  3962. * @see _.unionBy
  3963. */
  3964. unionBy<T>(
  3965. ...iteratee: any[]
  3966. ): LoDashExplicitArrayWrapper<T>;
  3967. }
  3968. //_.uniq
  3969. interface LoDashStatic {
  3970. /**
  3971. * Creates a duplicate-free version of an array, using
  3972. * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
  3973. * for equality comparisons, in which only the first occurrence of each element
  3974. * is kept.
  3975. *
  3976. * @static
  3977. * @memberOf _
  3978. * @category Array
  3979. * @param {Array} array The array to inspect.
  3980. * @returns {Array} Returns the new duplicate free array.
  3981. * @example
  3982. *
  3983. * _.uniq([2, 1, 2]);
  3984. * // => [2, 1]
  3985. */
  3986. uniq<T>(
  3987. array: List<T>
  3988. ): T[];
  3989. /**
  3990. * @see _.uniq
  3991. */
  3992. uniq<T, TSort>(
  3993. array: List<T>
  3994. ): T[];
  3995. }
  3996. interface LoDashImplicitWrapper<T> {
  3997. /**
  3998. * @see _.uniq
  3999. */
  4000. uniq<TSort>(): LoDashImplicitArrayWrapper<T>;
  4001. }
  4002. interface LoDashImplicitArrayWrapper<T> {
  4003. /**
  4004. * @see _.uniq
  4005. */
  4006. uniq<TSort>(): LoDashImplicitArrayWrapper<T>;
  4007. /**
  4008. * @see _.uniq
  4009. */
  4010. uniq(): LoDashImplicitArrayWrapper<T>;
  4011. }
  4012. interface LoDashImplicitObjectWrapper<T> {
  4013. uniq<T>(): LoDashImplicitArrayWrapper<T>;
  4014. /**
  4015. * @see _.uniq
  4016. */
  4017. uniq<T, TSort>(): LoDashImplicitArrayWrapper<T>;
  4018. }
  4019. interface LoDashExplicitWrapper<T> {
  4020. /**
  4021. * @see _.uniq
  4022. */
  4023. uniq<TSort>(): LoDashExplicitArrayWrapper<T>;
  4024. }
  4025. interface LoDashExplicitArrayWrapper<T> {
  4026. /**
  4027. * @see _.uniq
  4028. */
  4029. uniq<TSort>(): LoDashExplicitArrayWrapper<T>;
  4030. /**
  4031. * @see _.uniq
  4032. */
  4033. uniq(): LoDashExplicitArrayWrapper<T>;
  4034. }
  4035. interface LoDashExplicitObjectWrapper<T> {
  4036. /**
  4037. * @see _.uniq
  4038. */
  4039. uniq<T>(): LoDashExplicitArrayWrapper<T>;
  4040. /**
  4041. * @see _.uniq
  4042. */
  4043. uniq<T, TSort>(): LoDashExplicitArrayWrapper<T>;
  4044. }
  4045. //_.uniqBy
  4046. interface LoDashStatic {
  4047. /**
  4048. * This method is like `_.uniq` except that it accepts `iteratee` which is
  4049. * invoked for each element in `array` to generate the criterion by which
  4050. * uniqueness is computed. The iteratee is invoked with one argument: (value).
  4051. *
  4052. * @static
  4053. * @memberOf _
  4054. * @category Array
  4055. * @param {Array} array The array to inspect.
  4056. * @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
  4057. * @returns {Array} Returns the new duplicate free array.
  4058. * @example
  4059. *
  4060. * _.uniqBy([2.1, 1.2, 2.3], Math.floor);
  4061. * // => [2.1, 1.2]
  4062. *
  4063. * // using the `_.property` iteratee shorthand
  4064. * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
  4065. * // => [{ 'x': 1 }, { 'x': 2 }]
  4066. */
  4067. uniqBy<T>(
  4068. array: List<T>,
  4069. iteratee: ListIterator<T, any>
  4070. ): T[];
  4071. /**
  4072. * @see _.uniqBy
  4073. */
  4074. uniqBy<T, TSort>(
  4075. array: List<T>,
  4076. iteratee: ListIterator<T, TSort>
  4077. ): T[];
  4078. /**
  4079. * @see _.uniqBy
  4080. */
  4081. uniqBy<T>(
  4082. array: List<T>,
  4083. iteratee: string
  4084. ): T[];
  4085. /**
  4086. * @see _.uniqBy
  4087. */
  4088. uniqBy<T>(
  4089. array: List<T>,
  4090. iteratee: Object
  4091. ): T[];
  4092. /**
  4093. * @see _.uniqBy
  4094. */
  4095. uniqBy<TWhere extends {}, T>(
  4096. array: List<T>,
  4097. iteratee: TWhere
  4098. ): T[];
  4099. }
  4100. interface LoDashImplicitWrapper<T> {
  4101. /**
  4102. * @see _.uniqBy
  4103. */
  4104. uniqBy<TSort>(
  4105. iteratee: ListIterator<T, TSort>
  4106. ): LoDashImplicitArrayWrapper<T>;
  4107. }
  4108. interface LoDashImplicitArrayWrapper<T> {
  4109. /**
  4110. * @see _.uniqBy
  4111. */
  4112. uniqBy<TSort>(
  4113. iteratee: ListIterator<T, TSort>
  4114. ): LoDashImplicitArrayWrapper<T>;
  4115. /**
  4116. * @see _.uniqBy
  4117. */
  4118. uniqBy(
  4119. iteratee: string
  4120. ): LoDashImplicitArrayWrapper<T>;
  4121. /**
  4122. * @see _.uniqBy
  4123. */
  4124. uniqBy<TWhere extends {}>(
  4125. iteratee: TWhere
  4126. ): LoDashImplicitArrayWrapper<T>;
  4127. }
  4128. interface LoDashImplicitObjectWrapper<T> {
  4129. /**
  4130. * @see _.uniqBy
  4131. */
  4132. uniqBy<T>(
  4133. iteratee: ListIterator<T, any>
  4134. ): LoDashImplicitArrayWrapper<T>;
  4135. /**
  4136. * @see _.uniqBy
  4137. */
  4138. uniqBy<T, TSort>(
  4139. iteratee: ListIterator<T, TSort>
  4140. ): LoDashImplicitArrayWrapper<T>;
  4141. /**
  4142. * @see _.uniqBy
  4143. */
  4144. uniqBy<T>(
  4145. iteratee: string
  4146. ): LoDashImplicitArrayWrapper<T>;
  4147. /**
  4148. * @see _.uniqBy
  4149. */
  4150. uniqBy<T>(
  4151. iteratee: Object
  4152. ): LoDashImplicitArrayWrapper<T>;
  4153. /**
  4154. * @see _.uniqBy
  4155. */
  4156. uniqBy<TWhere extends {}, T>(
  4157. iteratee: TWhere
  4158. ): LoDashImplicitArrayWrapper<T>;
  4159. }
  4160. interface LoDashExplicitWrapper<T> {
  4161. /**
  4162. * @see _.uniqBy
  4163. */
  4164. uniqBy<TSort>(
  4165. iteratee: ListIterator<T, TSort>
  4166. ): LoDashExplicitArrayWrapper<T>;
  4167. }
  4168. interface LoDashExplicitArrayWrapper<T> {
  4169. /**
  4170. * @see _.uniqBy
  4171. */
  4172. uniqBy<TSort>(
  4173. iteratee: ListIterator<T, TSort>
  4174. ): LoDashExplicitArrayWrapper<T>;
  4175. /**
  4176. * @see _.uniqBy
  4177. */
  4178. uniqBy(
  4179. iteratee: string
  4180. ): LoDashExplicitArrayWrapper<T>;
  4181. /**
  4182. * @see _.uniqBy
  4183. */
  4184. uniqBy<TWhere extends {}>(
  4185. iteratee: TWhere
  4186. ): LoDashExplicitArrayWrapper<T>;
  4187. }
  4188. interface LoDashExplicitObjectWrapper<T> {
  4189. /**
  4190. * @see _.uniqBy
  4191. */
  4192. uniqBy<T>(
  4193. iteratee: ListIterator<T, any>
  4194. ): LoDashExplicitArrayWrapper<T>;
  4195. /**
  4196. * @see _.uniqBy
  4197. */
  4198. uniqBy<T, TSort>(
  4199. iteratee: ListIterator<T, TSort>
  4200. ): LoDashExplicitArrayWrapper<T>;
  4201. /**
  4202. * @see _.uniqBy
  4203. */
  4204. uniqBy<T>(
  4205. iteratee: string
  4206. ): LoDashExplicitArrayWrapper<T>;
  4207. /**
  4208. * @see _.uniqBy
  4209. */
  4210. uniqBy<T>(
  4211. iteratee: Object
  4212. ): LoDashExplicitArrayWrapper<T>;
  4213. /**
  4214. * @see _.uniqBy
  4215. */
  4216. uniqBy<TWhere extends {}, T>(
  4217. iteratee: TWhere
  4218. ): LoDashExplicitArrayWrapper<T>;
  4219. }
  4220. //_.sortedUniq
  4221. interface LoDashStatic {
  4222. /**
  4223. * This method is like `_.uniq` except that it's designed and optimized
  4224. * for sorted arrays.
  4225. *
  4226. * @static
  4227. * @memberOf _
  4228. * @category Array
  4229. * @param {Array} array The array to inspect.
  4230. * @returns {Array} Returns the new duplicate free array.
  4231. * @example
  4232. *
  4233. * _.sortedUniq([1, 1, 2]);
  4234. * // => [1, 2]
  4235. */
  4236. sortedUniq<T>(
  4237. array: List<T>
  4238. ): T[];
  4239. /**
  4240. * @see _.sortedUniq
  4241. */
  4242. sortedUniq<T, TSort>(
  4243. array: List<T>
  4244. ): T[];
  4245. }
  4246. interface LoDashImplicitWrapper<T> {
  4247. /**
  4248. * @see _.sortedUniq
  4249. */
  4250. sortedUniq<TSort>(): LoDashImplicitArrayWrapper<T>;
  4251. }
  4252. interface LoDashImplicitArrayWrapper<T> {
  4253. /**
  4254. * @see _.sortedUniq
  4255. */
  4256. sortedUniq<TSort>(): LoDashImplicitArrayWrapper<T>;
  4257. /**
  4258. * @see _.sortedUniq
  4259. */
  4260. sortedUniq(): LoDashImplicitArrayWrapper<T>;
  4261. }
  4262. interface LoDashImplicitObjectWrapper<T> {
  4263. sortedUniq<T>(): LoDashImplicitArrayWrapper<T>;
  4264. /**
  4265. * @see _.sortedUniq
  4266. */
  4267. sortedUniq<T, TSort>(): LoDashImplicitArrayWrapper<T>;
  4268. }
  4269. interface LoDashExplicitWrapper<T> {
  4270. /**
  4271. * @see _.sortedUniq
  4272. */
  4273. sortedUniq<TSort>(): LoDashExplicitArrayWrapper<T>;
  4274. }
  4275. interface LoDashExplicitArrayWrapper<T> {
  4276. /**
  4277. * @see _.sortedUniq
  4278. */
  4279. sortedUniq<TSort>(): LoDashExplicitArrayWrapper<T>;
  4280. /**
  4281. * @see _.sortedUniq
  4282. */
  4283. sortedUniq(): LoDashExplicitArrayWrapper<T>;
  4284. }
  4285. interface LoDashExplicitObjectWrapper<T> {
  4286. /**
  4287. * @see _.sortedUniq
  4288. */
  4289. sortedUniq<T>(): LoDashExplicitArrayWrapper<T>;
  4290. /**
  4291. * @see _.sortedUniq
  4292. */
  4293. sortedUniq<T, TSort>(): LoDashExplicitArrayWrapper<T>;
  4294. }
  4295. //_.sortedUniqBy
  4296. interface LoDashStatic {
  4297. /**
  4298. * This method is like `_.uniqBy` except that it's designed and optimized
  4299. * for sorted arrays.
  4300. *
  4301. * @static
  4302. * @memberOf _
  4303. * @category Array
  4304. * @param {Array} array The array to inspect.
  4305. * @param {Function} [iteratee] The iteratee invoked per element.
  4306. * @returns {Array} Returns the new duplicate free array.
  4307. * @example
  4308. *
  4309. * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);
  4310. * // => [1.1, 2.2]
  4311. */
  4312. sortedUniqBy<T>(
  4313. array: List<T>,
  4314. iteratee: ListIterator<T, any>
  4315. ): T[];
  4316. /**
  4317. * @see _.sortedUniqBy
  4318. */
  4319. sortedUniqBy<T, TSort>(
  4320. array: List<T>,
  4321. iteratee: ListIterator<T, TSort>
  4322. ): T[];
  4323. /**
  4324. * @see _.sortedUniqBy
  4325. */
  4326. sortedUniqBy<T>(
  4327. array: List<T>,
  4328. iteratee: string
  4329. ): T[];
  4330. /**
  4331. * @see _.sortedUniqBy
  4332. */
  4333. sortedUniqBy<T>(
  4334. array: List<T>,
  4335. iteratee: Object
  4336. ): T[];
  4337. /**
  4338. * @see _.sortedUniqBy
  4339. */
  4340. sortedUniqBy<TWhere extends {}, T>(
  4341. array: List<T>,
  4342. iteratee: TWhere
  4343. ): T[];
  4344. }
  4345. interface LoDashImplicitWrapper<T> {
  4346. /**
  4347. * @see _.sortedUniqBy
  4348. */
  4349. sortedUniqBy<TSort>(
  4350. iteratee: ListIterator<T, TSort>
  4351. ): LoDashImplicitArrayWrapper<T>;
  4352. }
  4353. interface LoDashImplicitArrayWrapper<T> {
  4354. /**
  4355. * @see _.sortedUniqBy
  4356. */
  4357. sortedUniqBy<TSort>(
  4358. iteratee: ListIterator<T, TSort>
  4359. ): LoDashImplicitArrayWrapper<T>;
  4360. /**
  4361. * @see _.sortedUniqBy
  4362. */
  4363. sortedUniqBy(
  4364. iteratee: string
  4365. ): LoDashImplicitArrayWrapper<T>;
  4366. /**
  4367. * @see _.sortedUniqBy
  4368. */
  4369. sortedUniqBy<TWhere extends {}>(
  4370. iteratee: TWhere
  4371. ): LoDashImplicitArrayWrapper<T>;
  4372. }
  4373. interface LoDashImplicitObjectWrapper<T> {
  4374. /**
  4375. * @see _.sortedUniqBy
  4376. */
  4377. sortedUniqBy<T>(
  4378. iteratee: ListIterator<T, any>
  4379. ): LoDashImplicitArrayWrapper<T>;
  4380. /**
  4381. * @see _.sortedUniqBy
  4382. */
  4383. sortedUniqBy<T, TSort>(
  4384. iteratee: ListIterator<T, TSort>
  4385. ): LoDashImplicitArrayWrapper<T>;
  4386. /**
  4387. * @see _.sortedUniqBy
  4388. */
  4389. sortedUniqBy<T>(
  4390. iteratee: string
  4391. ): LoDashImplicitArrayWrapper<T>;
  4392. /**
  4393. * @see _.sortedUniqBy
  4394. */
  4395. sortedUniqBy<T>(
  4396. iteratee: Object
  4397. ): LoDashImplicitArrayWrapper<T>;
  4398. /**
  4399. * @see _.sortedUniqBy
  4400. */
  4401. sortedUniqBy<TWhere extends {}, T>(
  4402. iteratee: TWhere
  4403. ): LoDashImplicitArrayWrapper<T>;
  4404. }
  4405. interface LoDashExplicitWrapper<T> {
  4406. /**
  4407. * @see _.sortedUniqBy
  4408. */
  4409. sortedUniqBy<TSort>(
  4410. iteratee: ListIterator<T, TSort>
  4411. ): LoDashExplicitArrayWrapper<T>;
  4412. }
  4413. interface LoDashExplicitArrayWrapper<T> {
  4414. /**
  4415. * @see _.sortedUniqBy
  4416. */
  4417. sortedUniqBy<TSort>(
  4418. iteratee: ListIterator<T, TSort>
  4419. ): LoDashExplicitArrayWrapper<T>;
  4420. /**
  4421. * @see _.sortedUniqBy
  4422. */
  4423. sortedUniqBy(
  4424. iteratee: string
  4425. ): LoDashExplicitArrayWrapper<T>;
  4426. /**
  4427. * @see _.sortedUniqBy
  4428. */
  4429. sortedUniqBy<TWhere extends {}>(
  4430. iteratee: TWhere
  4431. ): LoDashExplicitArrayWrapper<T>;
  4432. }
  4433. interface LoDashExplicitObjectWrapper<T> {
  4434. /**
  4435. * @see _.sortedUniqBy
  4436. */
  4437. sortedUniqBy<T>(
  4438. iteratee: ListIterator<T, any>
  4439. ): LoDashExplicitArrayWrapper<T>;
  4440. /**
  4441. * @see _.sortedUniqBy
  4442. */
  4443. sortedUniqBy<T, TSort>(
  4444. iteratee: ListIterator<T, TSort>
  4445. ): LoDashExplicitArrayWrapper<T>;
  4446. /**
  4447. * @see _.sortedUniqBy
  4448. */
  4449. sortedUniqBy<T>(
  4450. iteratee: string
  4451. ): LoDashExplicitArrayWrapper<T>;
  4452. /**
  4453. * @see _.sortedUniqBy
  4454. */
  4455. sortedUniqBy<T>(
  4456. iteratee: Object
  4457. ): LoDashExplicitArrayWrapper<T>;
  4458. /**
  4459. * @see _.sortedUniqBy
  4460. */
  4461. sortedUniqBy<TWhere extends {}, T>(
  4462. iteratee: TWhere
  4463. ): LoDashExplicitArrayWrapper<T>;
  4464. }
  4465. //_.unionWith DUMMY
  4466. interface LoDashStatic {
  4467. /**
  4468. * This method is like `_.union` except that it accepts `comparator` which
  4469. * is invoked to compare elements of `arrays`. The comparator is invoked
  4470. * with two arguments: (arrVal, othVal).
  4471. *
  4472. * @static
  4473. * @memberOf _
  4474. * @category Array
  4475. * @param {...Array} [arrays] The arrays to inspect.
  4476. * @param {Function} [comparator] The comparator invoked per element.
  4477. * @returns {Array} Returns the new array of combined values.
  4478. * @example
  4479. *
  4480. * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
  4481. * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
  4482. *
  4483. * _.unionWith(objects, others, _.isEqual);
  4484. * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]
  4485. */
  4486. unionWith(
  4487. array: any[]|List<any>,
  4488. ...values: any[]
  4489. ): any[];
  4490. }
  4491. //_.uniqWith DUMMY
  4492. interface LoDashStatic {
  4493. /**
  4494. * This method is like `_.uniq` except that it accepts `comparator` which
  4495. * is invoked to compare elements of `array`. The comparator is invoked with
  4496. * two arguments: (arrVal, othVal).
  4497. *
  4498. * @static
  4499. * @memberOf _
  4500. * @category Array
  4501. * @param {Array} array The array to inspect.
  4502. * @param {Function} [comparator] The comparator invoked per element.
  4503. * @returns {Array} Returns the new duplicate free array.
  4504. * @example
  4505. *
  4506. * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];
  4507. *
  4508. * _.uniqWith(objects, _.isEqual);
  4509. * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]
  4510. */
  4511. uniqWith(
  4512. array: any[]|List<any>,
  4513. ...values: any[]
  4514. ): any[];
  4515. }
  4516. //_.unzip
  4517. interface LoDashStatic {
  4518. /**
  4519. * This method is like _.zip except that it accepts an array of grouped elements and creates an array
  4520. * regrouping the elements to their pre-zip configuration.
  4521. *
  4522. * @param array The array of grouped elements to process.
  4523. * @return Returns the new array of regrouped elements.
  4524. */
  4525. unzip<T>(array: List<List<T>>): T[][];
  4526. }
  4527. interface LoDashImplicitArrayWrapper<T> {
  4528. /**
  4529. * @see _.unzip
  4530. */
  4531. unzip<T>(): LoDashImplicitArrayWrapper<T[]>;
  4532. }
  4533. interface LoDashImplicitObjectWrapper<T> {
  4534. /**
  4535. * @see _.unzip
  4536. */
  4537. unzip<T>(): LoDashImplicitArrayWrapper<T[]>;
  4538. }
  4539. interface LoDashExplicitArrayWrapper<T> {
  4540. /**
  4541. * @see _.unzip
  4542. */
  4543. unzip<T>(): LoDashExplicitArrayWrapper<T[]>;
  4544. }
  4545. interface LoDashExplicitObjectWrapper<T> {
  4546. /**
  4547. * @see _.unzip
  4548. */
  4549. unzip<T>(): LoDashExplicitArrayWrapper<T[]>;
  4550. }
  4551. //_.unzipWith
  4552. interface LoDashStatic {
  4553. /**
  4554. * This method is like _.unzip except that it accepts an iteratee to specify how regrouped values should be
  4555. * combined. The iteratee is bound to thisArg and invoked with four arguments: (accumulator, value, index,
  4556. * group).
  4557. *
  4558. * @param array The array of grouped elements to process.
  4559. * @param iteratee The function to combine regrouped values.
  4560. * @param thisArg The this binding of iteratee.
  4561. * @return Returns the new array of regrouped elements.
  4562. */
  4563. unzipWith<TArray, TResult>(
  4564. array: List<List<TArray>>,
  4565. iteratee?: MemoIterator<TArray, TResult>
  4566. ): TResult[];
  4567. }
  4568. interface LoDashImplicitArrayWrapper<T> {
  4569. /**
  4570. * @see _.unzipWith
  4571. */
  4572. unzipWith<TArr, TResult>(
  4573. iteratee?: MemoIterator<TArr, TResult>
  4574. ): LoDashImplicitArrayWrapper<TResult>;
  4575. }
  4576. interface LoDashImplicitObjectWrapper<T> {
  4577. /**
  4578. * @see _.unzipWith
  4579. */
  4580. unzipWith<TArr, TResult>(
  4581. iteratee?: MemoIterator<TArr, TResult>
  4582. ): LoDashImplicitArrayWrapper<TResult>;
  4583. }
  4584. //_.without
  4585. interface LoDashStatic {
  4586. /**
  4587. * Creates an array excluding all provided values using SameValueZero for equality comparisons.
  4588. *
  4589. * @param array The array to filter.
  4590. * @param values The values to exclude.
  4591. * @return Returns the new array of filtered values.
  4592. */
  4593. without<T>(
  4594. array: List<T>,
  4595. ...values: T[]
  4596. ): T[];
  4597. }
  4598. interface LoDashImplicitArrayWrapper<T> {
  4599. /**
  4600. * @see _.without
  4601. */
  4602. without(...values: T[]): LoDashImplicitArrayWrapper<T>;
  4603. }
  4604. interface LoDashImplicitObjectWrapper<T> {
  4605. /**
  4606. * @see _.without
  4607. */
  4608. without<T>(...values: T[]): LoDashImplicitArrayWrapper<T>;
  4609. }
  4610. interface LoDashExplicitArrayWrapper<T> {
  4611. /**
  4612. * @see _.without
  4613. */
  4614. without(...values: T[]): LoDashExplicitArrayWrapper<T>;
  4615. }
  4616. interface LoDashExplicitObjectWrapper<T> {
  4617. /**
  4618. * @see _.without
  4619. */
  4620. without<T>(...values: T[]): LoDashExplicitArrayWrapper<T>;
  4621. }
  4622. //_.xor
  4623. interface LoDashStatic {
  4624. /**
  4625. * Creates an array of unique values that is the symmetric difference of the provided arrays.
  4626. *
  4627. * @param arrays The arrays to inspect.
  4628. * @return Returns the new array of values.
  4629. */
  4630. xor<T>(...arrays: List<T>[]): T[];
  4631. }
  4632. interface LoDashImplicitArrayWrapper<T> {
  4633. /**
  4634. * @see _.xor
  4635. */
  4636. xor(...arrays: List<T>[]): LoDashImplicitArrayWrapper<T>;
  4637. }
  4638. interface LoDashImplicitObjectWrapper<T> {
  4639. /**
  4640. * @see _.xor
  4641. */
  4642. xor<T>(...arrays: List<T>[]): LoDashImplicitArrayWrapper<T>;
  4643. }
  4644. interface LoDashExplicitArrayWrapper<T> {
  4645. /**
  4646. * @see _.xor
  4647. */
  4648. xor(...arrays: List<T>[]): LoDashExplicitArrayWrapper<T>;
  4649. }
  4650. interface LoDashExplicitObjectWrapper<T> {
  4651. /**
  4652. * @see _.xor
  4653. */
  4654. xor<T>(...arrays: List<T>[]): LoDashExplicitArrayWrapper<T>;
  4655. }
  4656. //_.xorBy DUMMY
  4657. interface LoDashStatic {
  4658. /**
  4659. * This method is like `_.xor` except that it accepts `iteratee` which is
  4660. * invoked for each element of each `arrays` to generate the criterion by which
  4661. * uniqueness is computed. The iteratee is invoked with one argument: (value).
  4662. *
  4663. * @static
  4664. * @memberOf _
  4665. * @category Array
  4666. * @param {...Array} [arrays] The arrays to inspect.
  4667. * @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
  4668. * @returns {Array} Returns the new array of values.
  4669. * @example
  4670. *
  4671. * _.xorBy([2.1, 1.2], [4.3, 2.4], Math.floor);
  4672. * // => [1.2, 4.3]
  4673. *
  4674. * // using the `_.property` iteratee shorthand
  4675. * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
  4676. * // => [{ 'x': 2 }]
  4677. */
  4678. xorBy(
  4679. array: any[]|List<any>,
  4680. ...values: any[]
  4681. ): any[];
  4682. }
  4683. //_.xorWith DUMMY
  4684. interface LoDashStatic {
  4685. /**
  4686. * This method is like `_.xor` except that it accepts `comparator` which is
  4687. * invoked to compare elements of `arrays`. The comparator is invoked with
  4688. * two arguments: (arrVal, othVal).
  4689. *
  4690. * @static
  4691. * @memberOf _
  4692. * @category Array
  4693. * @param {...Array} [arrays] The arrays to inspect.
  4694. * @param {Function} [comparator] The comparator invoked per element.
  4695. * @returns {Array} Returns the new array of values.
  4696. * @example
  4697. *
  4698. * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
  4699. * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
  4700. *
  4701. * _.xorWith(objects, others, _.isEqual);
  4702. * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]
  4703. */
  4704. xorWith(
  4705. array: any[]|List<any>,
  4706. ...values: any[]
  4707. ): any[];
  4708. }
  4709. //_.zip
  4710. interface LoDashStatic {
  4711. /**
  4712. * Creates an array of grouped elements, the first of which contains the first elements of the given arrays,
  4713. * the second of which contains the second elements of the given arrays, and so on.
  4714. *
  4715. * @param arrays The arrays to process.
  4716. * @return Returns the new array of grouped elements.
  4717. */
  4718. zip<T>(...arrays: List<T>[]): T[][];
  4719. }
  4720. interface LoDashImplicitArrayWrapper<T> {
  4721. /**
  4722. * @see _.zip
  4723. */
  4724. zip<T>(...arrays: List<T>[]): _.LoDashImplicitArrayWrapper<T[]>;
  4725. }
  4726. interface LoDashImplicitObjectWrapper<T> {
  4727. /**
  4728. * @see _.zip
  4729. */
  4730. zip<T>(...arrays: List<T>[]): _.LoDashImplicitArrayWrapper<T[]>;
  4731. }
  4732. interface LoDashExplicitArrayWrapper<T> {
  4733. /**
  4734. * @see _.zip
  4735. */
  4736. zip<T>(...arrays: List<T>[]): _.LoDashExplicitArrayWrapper<T[]>;
  4737. }
  4738. interface LoDashExplicitObjectWrapper<T> {
  4739. /**
  4740. * @see _.zip
  4741. */
  4742. zip<T>(...arrays: List<T>[]): _.LoDashExplicitArrayWrapper<T[]>;
  4743. }
  4744. //_.zipObject
  4745. interface LoDashStatic {
  4746. /**
  4747. * The inverse of _.pairs; this method returns an object composed from arrays of property names and values.
  4748. * Provide either a single two dimensional array, e.g. [[key1, value1], [key2, value2]] or two arrays, one of
  4749. * property names and one of corresponding values.
  4750. *
  4751. * @param props The property names.
  4752. * @param values The property values.
  4753. * @return Returns the new object.
  4754. */
  4755. zipObject<TValues, TResult extends {}>(
  4756. props: List<StringRepresentable>|List<List<any>>,
  4757. values?: List<TValues>
  4758. ): TResult;
  4759. /**
  4760. * @see _.zipObject
  4761. */
  4762. zipObject<TResult extends {}>(
  4763. props: List<StringRepresentable>|List<List<any>>,
  4764. values?: List<any>
  4765. ): TResult;
  4766. /**
  4767. * @see _.zipObject
  4768. */
  4769. zipObject(
  4770. props: List<StringRepresentable>|List<List<any>>,
  4771. values?: List<any>
  4772. ): _.Dictionary<any>;
  4773. }
  4774. interface LoDashImplicitArrayWrapper<T> {
  4775. /**
  4776. * @see _.zipObject
  4777. */
  4778. zipObject<TValues, TResult extends {}>(
  4779. values?: List<TValues>
  4780. ): _.LoDashImplicitObjectWrapper<TResult>;
  4781. /**
  4782. * @see _.zipObject
  4783. */
  4784. zipObject<TResult extends {}>(
  4785. values?: List<any>
  4786. ): _.LoDashImplicitObjectWrapper<TResult>;
  4787. /**
  4788. * @see _.zipObject
  4789. */
  4790. zipObject(
  4791. values?: List<any>
  4792. ): _.LoDashImplicitObjectWrapper<_.Dictionary<any>>;
  4793. }
  4794. interface LoDashImplicitObjectWrapper<T> {
  4795. /**
  4796. * @see _.zipObject
  4797. */
  4798. zipObject<TValues, TResult extends {}>(
  4799. values?: List<TValues>
  4800. ): _.LoDashImplicitObjectWrapper<TResult>;
  4801. /**
  4802. * @see _.zipObject
  4803. */
  4804. zipObject<TResult extends {}>(
  4805. values?: List<any>
  4806. ): _.LoDashImplicitObjectWrapper<TResult>;
  4807. /**
  4808. * @see _.zipObject
  4809. */
  4810. zipObject(
  4811. values?: List<any>
  4812. ): _.LoDashImplicitObjectWrapper<_.Dictionary<any>>;
  4813. }
  4814. interface LoDashExplicitArrayWrapper<T> {
  4815. /**
  4816. * @see _.zipObject
  4817. */
  4818. zipObject<TValues, TResult extends {}>(
  4819. values?: List<TValues>
  4820. ): _.LoDashExplicitObjectWrapper<TResult>;
  4821. /**
  4822. * @see _.zipObject
  4823. */
  4824. zipObject<TResult extends {}>(
  4825. values?: List<any>
  4826. ): _.LoDashExplicitObjectWrapper<TResult>;
  4827. /**
  4828. * @see _.zipObject
  4829. */
  4830. zipObject(
  4831. values?: List<any>
  4832. ): _.LoDashExplicitObjectWrapper<_.Dictionary<any>>;
  4833. }
  4834. interface LoDashExplicitObjectWrapper<T> {
  4835. /**
  4836. * @see _.zipObject
  4837. */
  4838. zipObject<TValues, TResult extends {}>(
  4839. values?: List<TValues>
  4840. ): _.LoDashExplicitObjectWrapper<TResult>;
  4841. /**
  4842. * @see _.zipObject
  4843. */
  4844. zipObject<TResult extends {}>(
  4845. values?: List<any>
  4846. ): _.LoDashExplicitObjectWrapper<TResult>;
  4847. /**
  4848. * @see _.zipObject
  4849. */
  4850. zipObject(
  4851. values?: List<any>
  4852. ): _.LoDashExplicitObjectWrapper<_.Dictionary<any>>;
  4853. }
  4854. //_.zipWith
  4855. interface LoDashStatic {
  4856. /**
  4857. * This method is like _.zip except that it accepts an iteratee to specify how grouped values should be
  4858. * combined. The iteratee is bound to thisArg and invoked with four arguments: (accumulator, value, index,
  4859. * group).
  4860. * @param {...Array} [arrays] The arrays to process.
  4861. * @param {Function} [iteratee] The function to combine grouped values.
  4862. * @param {*} [thisArg] The `this` binding of `iteratee`.
  4863. * @return Returns the new array of grouped elements.
  4864. */
  4865. zipWith<TResult>(...args: any[]): TResult[];
  4866. }
  4867. interface LoDashImplicitArrayWrapper<T> {
  4868. /**
  4869. * @see _.zipWith
  4870. */
  4871. zipWith<TResult>(...args: any[]): LoDashImplicitArrayWrapper<TResult>;
  4872. }
  4873. /*********
  4874. * Chain *
  4875. *********/
  4876. //_.chain
  4877. interface LoDashStatic {
  4878. /**
  4879. * Creates a lodash object that wraps value with explicit method chaining enabled.
  4880. *
  4881. * @param value The value to wrap.
  4882. * @return Returns the new lodash wrapper instance.
  4883. */
  4884. chain(value: number): LoDashExplicitWrapper<number>;
  4885. chain(value: string): LoDashExplicitWrapper<string>;
  4886. chain(value: boolean): LoDashExplicitWrapper<boolean>;
  4887. chain<T>(value: T[]): LoDashExplicitArrayWrapper<T>;
  4888. chain<T extends {}>(value: T): LoDashExplicitObjectWrapper<T>;
  4889. chain(value: any): LoDashExplicitWrapper<any>;
  4890. }
  4891. interface LoDashImplicitWrapper<T> {
  4892. /**
  4893. * @see _.chain
  4894. */
  4895. chain(): LoDashExplicitWrapper<T>;
  4896. }
  4897. interface LoDashImplicitArrayWrapper<T> {
  4898. /**
  4899. * @see _.chain
  4900. */
  4901. chain(): LoDashExplicitArrayWrapper<T>;
  4902. }
  4903. interface LoDashImplicitObjectWrapper<T> {
  4904. /**
  4905. * @see _.chain
  4906. */
  4907. chain(): LoDashExplicitObjectWrapper<T>;
  4908. }
  4909. interface LoDashExplicitWrapperBase<T, TWrapper> {
  4910. /**
  4911. * @see _.chain
  4912. */
  4913. chain(): TWrapper;
  4914. }
  4915. //_.tap
  4916. interface LoDashStatic {
  4917. /**
  4918. * This method invokes interceptor and returns value. The interceptor is bound to thisArg and invoked with one
  4919. * argument; (value). The purpose of this method is to "tap into" a method chain in order to perform operations
  4920. * on intermediate results within the chain.
  4921. *
  4922. * @param value The value to provide to interceptor.
  4923. * @param interceptor The function to invoke.
  4924. * @parem thisArg The this binding of interceptor.
  4925. * @return Returns value.
  4926. **/
  4927. tap<T>(
  4928. value: T,
  4929. interceptor: (value: T) => void
  4930. ): T;
  4931. }
  4932. interface LoDashImplicitWrapperBase<T, TWrapper> {
  4933. /**
  4934. * @see _.tap
  4935. */
  4936. tap(
  4937. interceptor: (value: T) => void
  4938. ): TWrapper;
  4939. }
  4940. interface LoDashExplicitWrapperBase<T, TWrapper> {
  4941. /**
  4942. * @see _.tap
  4943. */
  4944. tap(
  4945. interceptor: (value: T) => void
  4946. ): TWrapper;
  4947. }
  4948. //_.thru
  4949. interface LoDashStatic {
  4950. /**
  4951. * This method is like _.tap except that it returns the result of interceptor.
  4952. *
  4953. * @param value The value to provide to interceptor.
  4954. * @param interceptor The function to invoke.
  4955. * @param thisArg The this binding of interceptor.
  4956. * @return Returns the result of interceptor.
  4957. */
  4958. thru<T, TResult>(
  4959. value: T,
  4960. interceptor: (value: T) => TResult
  4961. ): TResult;
  4962. }
  4963. interface LoDashImplicitWrapperBase<T, TWrapper> {
  4964. /**
  4965. * @see _.thru
  4966. */
  4967. thru<TResult extends number>(
  4968. interceptor: (value: T) => TResult): LoDashImplicitWrapper<TResult>;
  4969. /**
  4970. * @see _.thru
  4971. */
  4972. thru<TResult extends string>(
  4973. interceptor: (value: T) => TResult): LoDashImplicitWrapper<TResult>;
  4974. /**
  4975. * @see _.thru
  4976. */
  4977. thru<TResult extends boolean>(
  4978. interceptor: (value: T) => TResult): LoDashImplicitWrapper<TResult>;
  4979. /**
  4980. * @see _.thru
  4981. */
  4982. thru<TResult extends {}>(
  4983. interceptor: (value: T) => TResult): LoDashImplicitObjectWrapper<TResult>;
  4984. /**
  4985. * @see _.thru
  4986. */
  4987. thru<TResult>(
  4988. interceptor: (value: T) => TResult[]): LoDashImplicitArrayWrapper<TResult>;
  4989. }
  4990. interface LoDashExplicitWrapperBase<T, TWrapper> {
  4991. /**
  4992. * @see _.thru
  4993. */
  4994. thru<TResult extends number>(
  4995. interceptor: (value: T) => TResult
  4996. ): LoDashExplicitWrapper<TResult>;
  4997. /**
  4998. * @see _.thru
  4999. */
  5000. thru<TResult extends string>(
  5001. interceptor: (value: T) => TResult
  5002. ): LoDashExplicitWrapper<TResult>;
  5003. /**
  5004. * @see _.thru
  5005. */
  5006. thru<TResult extends boolean>(
  5007. interceptor: (value: T) => TResult
  5008. ): LoDashExplicitWrapper<TResult>;
  5009. /**
  5010. * @see _.thru
  5011. */
  5012. thru<TResult extends {}>(
  5013. interceptor: (value: T) => TResult
  5014. ): LoDashExplicitObjectWrapper<TResult>;
  5015. /**
  5016. * @see _.thru
  5017. */
  5018. thru<TResult>(
  5019. interceptor: (value: T) => TResult[]
  5020. ): LoDashExplicitArrayWrapper<TResult>;
  5021. }
  5022. //_.prototype.commit
  5023. interface LoDashImplicitWrapperBase<T, TWrapper> {
  5024. /**
  5025. * Executes the chained sequence and returns the wrapped result.
  5026. *
  5027. * @return Returns the new lodash wrapper instance.
  5028. */
  5029. commit(): TWrapper;
  5030. }
  5031. interface LoDashExplicitWrapperBase<T, TWrapper> {
  5032. /**
  5033. * @see _.commit
  5034. */
  5035. commit(): TWrapper;
  5036. }
  5037. //_.prototype.concat
  5038. interface LoDashImplicitWrapperBase<T, TWrapper> {
  5039. /**
  5040. * Creates a new array joining a wrapped array with any additional arrays and/or values.
  5041. *
  5042. * @param items
  5043. * @return Returns the new concatenated array.
  5044. */
  5045. concat<TItem>(...items: Array<TItem|Array<TItem>>): LoDashImplicitArrayWrapper<TItem>;
  5046. /**
  5047. * @see _.concat
  5048. */
  5049. concat(...items: Array<T|Array<T>>): LoDashImplicitArrayWrapper<T>;
  5050. }
  5051. interface LoDashExplicitWrapperBase<T, TWrapper> {
  5052. /**
  5053. * @see _.concat
  5054. */
  5055. concat<TItem>(...items: Array<TItem|Array<TItem>>): LoDashExplicitArrayWrapper<TItem>;
  5056. /**
  5057. * @see _.concat
  5058. */
  5059. concat(...items: Array<T|Array<T>>): LoDashExplicitArrayWrapper<T>;
  5060. }
  5061. //_.prototype.plant
  5062. interface LoDashImplicitWrapperBase<T, TWrapper> {
  5063. /**
  5064. * Creates a clone of the chained sequence planting value as the wrapped value.
  5065. * @param value The value to plant as the wrapped value.
  5066. * @return Returns the new lodash wrapper instance.
  5067. */
  5068. plant(value: number): LoDashImplicitWrapper<number>;
  5069. /**
  5070. * @see _.plant
  5071. */
  5072. plant(value: string): LoDashImplicitStringWrapper;
  5073. /**
  5074. * @see _.plant
  5075. */
  5076. plant(value: boolean): LoDashImplicitWrapper<boolean>;
  5077. /**
  5078. * @see _.plant
  5079. */
  5080. plant(value: number[]): LoDashImplicitNumberArrayWrapper;
  5081. /**
  5082. * @see _.plant
  5083. */
  5084. plant<T>(value: T[]): LoDashImplicitArrayWrapper<T>;
  5085. /**
  5086. * @see _.plant
  5087. */
  5088. plant<T extends {}>(value: T): LoDashImplicitObjectWrapper<T>;
  5089. /**
  5090. * @see _.plant
  5091. */
  5092. plant(value: any): LoDashImplicitWrapper<any>;
  5093. }
  5094. interface LoDashExplicitWrapperBase<T, TWrapper> {
  5095. /**
  5096. * @see _.plant
  5097. */
  5098. plant(value: number): LoDashExplicitWrapper<number>;
  5099. /**
  5100. * @see _.plant
  5101. */
  5102. plant(value: string): LoDashExplicitStringWrapper;
  5103. /**
  5104. * @see _.plant
  5105. */
  5106. plant(value: boolean): LoDashExplicitWrapper<boolean>;
  5107. /**
  5108. * @see _.plant
  5109. */
  5110. plant(value: number[]): LoDashExplicitNumberArrayWrapper;
  5111. /**
  5112. * @see _.plant
  5113. */
  5114. plant<T>(value: T[]): LoDashExplicitArrayWrapper<T>;
  5115. /**
  5116. * @see _.plant
  5117. */
  5118. plant<T extends {}>(value: T): LoDashExplicitObjectWrapper<T>;
  5119. /**
  5120. * @see _.plant
  5121. */
  5122. plant(value: any): LoDashExplicitWrapper<any>;
  5123. }
  5124. //_.prototype.reverse
  5125. interface LoDashImplicitArrayWrapper<T> {
  5126. /**
  5127. * Reverses the wrapped array so the first element becomes the last, the second element becomes the second to
  5128. * last, and so on.
  5129. *
  5130. * Note: This method mutates the wrapped array.
  5131. *
  5132. * @return Returns the new reversed lodash wrapper instance.
  5133. */
  5134. reverse(): LoDashImplicitArrayWrapper<T>;
  5135. }
  5136. interface LoDashExplicitArrayWrapper<T> {
  5137. /**
  5138. * @see _.reverse
  5139. */
  5140. reverse(): LoDashExplicitArrayWrapper<T>;
  5141. }
  5142. //_.prototype.toJSON
  5143. interface LoDashWrapperBase<T, TWrapper> {
  5144. /**
  5145. * @see _.value
  5146. */
  5147. toJSON(): T;
  5148. }
  5149. //_.prototype.toString
  5150. interface LoDashWrapperBase<T, TWrapper> {
  5151. /**
  5152. * Produces the result of coercing the unwrapped value to a string.
  5153. *
  5154. * @return Returns the coerced string value.
  5155. */
  5156. toString(): string;
  5157. }
  5158. //_.prototype.value
  5159. interface LoDashWrapperBase<T, TWrapper> {
  5160. /**
  5161. * Executes the chained sequence to extract the unwrapped value.
  5162. *
  5163. * @alias _.toJSON, _.valueOf
  5164. *
  5165. * @return Returns the resolved unwrapped value.
  5166. */
  5167. value(): T;
  5168. }
  5169. //_.valueOf
  5170. interface LoDashWrapperBase<T, TWrapper> {
  5171. /**
  5172. * @see _.value
  5173. */
  5174. valueOf(): T;
  5175. }
  5176. /**************
  5177. * Collection *
  5178. **************/
  5179. //_.at
  5180. interface LoDashStatic {
  5181. /**
  5182. * Creates an array of elements corresponding to the given keys, or indexes, of collection. Keys may be
  5183. * specified as individual arguments or as arrays of keys.
  5184. *
  5185. * @param collection The collection to iterate over.
  5186. * @param props The property names or indexes of elements to pick, specified individually or in arrays.
  5187. * @return Returns the new array of picked elements.
  5188. */
  5189. at<T>(
  5190. collection: List<T>|Dictionary<T>,
  5191. ...props: (number|string|(number|string)[])[]
  5192. ): T[];
  5193. }
  5194. interface LoDashImplicitArrayWrapper<T> {
  5195. /**
  5196. * @see _.at
  5197. */
  5198. at(...props: (number|string|(number|string)[])[]): LoDashImplicitArrayWrapper<T>;
  5199. }
  5200. interface LoDashImplicitObjectWrapper<T> {
  5201. /**
  5202. * @see _.at
  5203. */
  5204. at<T>(...props: (number|string|(number|string)[])[]): LoDashImplicitArrayWrapper<T>;
  5205. }
  5206. interface LoDashExplicitArrayWrapper<T> {
  5207. /**
  5208. * @see _.at
  5209. */
  5210. at(...props: (number|string|(number|string)[])[]): LoDashExplicitArrayWrapper<T>;
  5211. }
  5212. interface LoDashExplicitObjectWrapper<T> {
  5213. /**
  5214. * @see _.at
  5215. */
  5216. at<T>(...props: (number|string|(number|string)[])[]): LoDashExplicitArrayWrapper<T>;
  5217. }
  5218. //_.countBy
  5219. interface LoDashStatic {
  5220. /**
  5221. * Creates an object composed of keys generated from the results of running each element of collection through
  5222. * iteratee. The corresponding value of each key is the number of times the key was returned by iteratee. The
  5223. * iteratee is bound to thisArg and invoked with three arguments:
  5224. * (value, index|key, collection).
  5225. *
  5226. * If a property name is provided for iteratee the created _.property style callback returns the property
  5227. * value of the given element.
  5228. *
  5229. * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for
  5230. * elements that have a matching property value, else false.
  5231. *
  5232. * If an object is provided for iteratee the created _.matches style callback returns true for elements that
  5233. * have the properties of the given object, else false.
  5234. *
  5235. * @param collection The collection to iterate over.
  5236. * @param iteratee The function invoked per iteration.
  5237. * @param thisArg The this binding of iteratee.
  5238. * @return Returns the composed aggregate object.
  5239. */
  5240. countBy<T>(
  5241. collection: List<T>,
  5242. iteratee?: ListIterator<T, any>
  5243. ): Dictionary<number>;
  5244. /**
  5245. * @see _.countBy
  5246. */
  5247. countBy<T>(
  5248. collection: Dictionary<T>,
  5249. iteratee?: DictionaryIterator<T, any>
  5250. ): Dictionary<number>;
  5251. /**
  5252. * @see _.countBy
  5253. */
  5254. countBy<T>(
  5255. collection: NumericDictionary<T>,
  5256. iteratee?: NumericDictionaryIterator<T, any>
  5257. ): Dictionary<number>;
  5258. /**
  5259. * @see _.countBy
  5260. */
  5261. countBy<T>(
  5262. collection: List<T>|Dictionary<T>|NumericDictionary<T>,
  5263. iteratee?: string
  5264. ): Dictionary<number>;
  5265. /**
  5266. * @see _.countBy
  5267. */
  5268. countBy<W, T>(
  5269. collection: List<T>|Dictionary<T>|NumericDictionary<T>,
  5270. iteratee?: W
  5271. ): Dictionary<number>;
  5272. /**
  5273. * @see _.countBy
  5274. */
  5275. countBy<T>(
  5276. collection: List<T>|Dictionary<T>|NumericDictionary<T>,
  5277. iteratee?: Object
  5278. ): Dictionary<number>;
  5279. }
  5280. interface LoDashImplicitWrapper<T> {
  5281. /**
  5282. * @see _.countBy
  5283. */
  5284. countBy(
  5285. iteratee?: ListIterator<T, any>
  5286. ): LoDashImplicitObjectWrapper<Dictionary<number>>;
  5287. }
  5288. interface LoDashImplicitArrayWrapper<T> {
  5289. /**
  5290. * @see _.countBy
  5291. */
  5292. countBy(
  5293. iteratee?: ListIterator<T, any>
  5294. ): LoDashImplicitObjectWrapper<Dictionary<number>>;
  5295. /**
  5296. * @see _.countBy
  5297. */
  5298. countBy(
  5299. iteratee?: string
  5300. ): LoDashImplicitObjectWrapper<Dictionary<number>>;
  5301. /**
  5302. * @see _.countBy
  5303. */
  5304. countBy<W>(
  5305. iteratee?: W
  5306. ): LoDashImplicitObjectWrapper<Dictionary<number>>;
  5307. }
  5308. interface LoDashImplicitObjectWrapper<T> {
  5309. /**
  5310. * @see _.countBy
  5311. */
  5312. countBy<T>(
  5313. iteratee?: ListIterator<T, any>|DictionaryIterator<T, any>|NumericDictionaryIterator<T, any>
  5314. ): LoDashImplicitObjectWrapper<Dictionary<number>>;
  5315. /**
  5316. * @see _.countBy
  5317. */
  5318. countBy(
  5319. iteratee?: string
  5320. ): LoDashImplicitObjectWrapper<Dictionary<number>>;
  5321. /**
  5322. * @see _.countBy
  5323. */
  5324. countBy<W>(
  5325. iteratee?: W
  5326. ): LoDashImplicitObjectWrapper<Dictionary<number>>;
  5327. }
  5328. interface LoDashExplicitWrapper<T> {
  5329. /**
  5330. * @see _.countBy
  5331. */
  5332. countBy(
  5333. iteratee?: ListIterator<T, any>
  5334. ): LoDashExplicitObjectWrapper<Dictionary<number>>;
  5335. }
  5336. interface LoDashExplicitArrayWrapper<T> {
  5337. /**
  5338. * @see _.countBy
  5339. */
  5340. countBy(
  5341. iteratee?: ListIterator<T, any>
  5342. ): LoDashExplicitObjectWrapper<Dictionary<number>>;
  5343. /**
  5344. * @see _.countBy
  5345. */
  5346. countBy(
  5347. iteratee?: string
  5348. ): LoDashExplicitObjectWrapper<Dictionary<number>>;
  5349. /**
  5350. * @see _.countBy
  5351. */
  5352. countBy<W>(
  5353. iteratee?: W
  5354. ): LoDashExplicitObjectWrapper<Dictionary<number>>;
  5355. }
  5356. interface LoDashExplicitObjectWrapper<T> {
  5357. /**
  5358. * @see _.countBy
  5359. */
  5360. countBy<T>(
  5361. iteratee?: ListIterator<T, any>|DictionaryIterator<T, any>|NumericDictionaryIterator<T, any>
  5362. ): LoDashExplicitObjectWrapper<Dictionary<number>>;
  5363. /**
  5364. * @see _.countBy
  5365. */
  5366. countBy(
  5367. iteratee?: string
  5368. ): LoDashExplicitObjectWrapper<Dictionary<number>>;
  5369. /**
  5370. * @see _.countBy
  5371. */
  5372. countBy<W>(
  5373. iteratee?: W
  5374. ): LoDashExplicitObjectWrapper<Dictionary<number>>;
  5375. }
  5376. //_.each
  5377. interface LoDashStatic {
  5378. /**
  5379. * @see _.forEach
  5380. */
  5381. each<T>(
  5382. collection: T[],
  5383. iteratee?: ListIterator<T, any>
  5384. ): T[];
  5385. /**
  5386. * @see _.forEach
  5387. */
  5388. each<T>(
  5389. collection: List<T>,
  5390. iteratee?: ListIterator<T, any>
  5391. ): List<T>;
  5392. /**
  5393. * @see _.forEach
  5394. */
  5395. each<T>(
  5396. collection: Dictionary<T>,
  5397. iteratee?: DictionaryIterator<T, any>
  5398. ): Dictionary<T>;
  5399. /**
  5400. * @see _.forEach
  5401. */
  5402. each<T extends {}>(
  5403. collection: T,
  5404. iteratee?: ObjectIterator<any, any>
  5405. ): T;
  5406. /**
  5407. * @see _.forEach
  5408. */
  5409. each<T extends {}, TValue>(
  5410. collection: T,
  5411. iteratee?: ObjectIterator<TValue, any>
  5412. ): T;
  5413. }
  5414. interface LoDashImplicitWrapper<T> {
  5415. /**
  5416. * @see _.forEach
  5417. */
  5418. each(
  5419. iteratee: ListIterator<string, any>
  5420. ): LoDashImplicitWrapper<string>;
  5421. }
  5422. interface LoDashImplicitArrayWrapper<T> {
  5423. /**
  5424. * @see _.forEach
  5425. */
  5426. each(
  5427. iteratee: ListIterator<T, any>
  5428. ): LoDashImplicitArrayWrapper<T>;
  5429. }
  5430. interface LoDashImplicitObjectWrapper<T> {
  5431. /**
  5432. * @see _.forEach
  5433. */
  5434. each<TValue>(
  5435. iteratee?: ListIterator<TValue, any>|DictionaryIterator<TValue, any>
  5436. ): LoDashImplicitObjectWrapper<T>;
  5437. }
  5438. interface LoDashExplicitWrapper<T> {
  5439. /**
  5440. * @see _.forEach
  5441. */
  5442. each(
  5443. iteratee: ListIterator<string, any>
  5444. ): LoDashExplicitWrapper<string>;
  5445. }
  5446. interface LoDashExplicitArrayWrapper<T> {
  5447. /**
  5448. * @see _.forEach
  5449. */
  5450. each(
  5451. iteratee: ListIterator<T, any>
  5452. ): LoDashExplicitArrayWrapper<T>;
  5453. }
  5454. interface LoDashExplicitObjectWrapper<T> {
  5455. /**
  5456. * @see _.forEach
  5457. */
  5458. each<TValue>(
  5459. iteratee?: ListIterator<TValue, any>|DictionaryIterator<TValue, any>
  5460. ): LoDashExplicitObjectWrapper<T>;
  5461. }
  5462. //_.eachRight
  5463. interface LoDashStatic {
  5464. /**
  5465. * @see _.forEachRight
  5466. */
  5467. eachRight<T>(
  5468. collection: T[],
  5469. iteratee?: ListIterator<T, any>
  5470. ): T[];
  5471. /**
  5472. * @see _.forEachRight
  5473. */
  5474. eachRight<T>(
  5475. collection: List<T>,
  5476. iteratee?: ListIterator<T, any>
  5477. ): List<T>;
  5478. /**
  5479. * @see _.forEachRight
  5480. */
  5481. eachRight<T>(
  5482. collection: Dictionary<T>,
  5483. iteratee?: DictionaryIterator<T, any>
  5484. ): Dictionary<T>;
  5485. /**
  5486. * @see _.forEachRight
  5487. */
  5488. eachRight<T extends {}>(
  5489. collection: T,
  5490. iteratee?: ObjectIterator<any, any>
  5491. ): T;
  5492. /**
  5493. * @see _.forEachRight
  5494. */
  5495. eachRight<T extends {}, TValue>(
  5496. collection: T,
  5497. iteratee?: ObjectIterator<TValue, any>
  5498. ): T;
  5499. }
  5500. interface LoDashImplicitWrapper<T> {
  5501. /**
  5502. * @see _.forEachRight
  5503. */
  5504. eachRight(
  5505. iteratee: ListIterator<string, any>
  5506. ): LoDashImplicitWrapper<string>;
  5507. }
  5508. interface LoDashImplicitArrayWrapper<T> {
  5509. /**
  5510. * @see _.forEachRight
  5511. */
  5512. eachRight(
  5513. iteratee: ListIterator<T, any>
  5514. ): LoDashImplicitArrayWrapper<T>;
  5515. }
  5516. interface LoDashImplicitObjectWrapper<T> {
  5517. /**
  5518. * @see _.forEachRight
  5519. */
  5520. eachRight<TValue>(
  5521. iteratee?: ListIterator<TValue, any>|DictionaryIterator<TValue, any>
  5522. ): LoDashImplicitObjectWrapper<T>;
  5523. }
  5524. interface LoDashExplicitWrapper<T> {
  5525. /**
  5526. * @see _.forEachRight
  5527. */
  5528. eachRight(
  5529. iteratee: ListIterator<string, any>
  5530. ): LoDashExplicitWrapper<string>;
  5531. }
  5532. interface LoDashExplicitArrayWrapper<T> {
  5533. /**
  5534. * @see _.forEachRight
  5535. */
  5536. eachRight(
  5537. iteratee: ListIterator<T, any>
  5538. ): LoDashExplicitArrayWrapper<T>;
  5539. }
  5540. interface LoDashExplicitObjectWrapper<T> {
  5541. /**
  5542. * @see _.forEachRight
  5543. */
  5544. eachRight<TValue>(
  5545. iteratee?: ListIterator<TValue, any>|DictionaryIterator<TValue, any>
  5546. ): LoDashExplicitObjectWrapper<T>;
  5547. }
  5548. //_.every
  5549. interface LoDashStatic {
  5550. /**
  5551. * Checks if predicate returns truthy for all elements of collection. Iteration is stopped once predicate
  5552. * returns falsey. The predicate is invoked with three arguments: (value, index|key, collection).
  5553. *
  5554. * @param collection The collection to iterate over.
  5555. * @param predicate The function invoked per iteration.
  5556. * @return Returns true if all elements pass the predicate check, else false.
  5557. */
  5558. every<T>(
  5559. collection: List<T>,
  5560. predicate?: ListIterator<T, boolean>
  5561. ): boolean;
  5562. /**
  5563. * @see _.every
  5564. */
  5565. every<T>(
  5566. collection: Dictionary<T>,
  5567. predicate?: DictionaryIterator<T, boolean>
  5568. ): boolean;
  5569. /**
  5570. * @see _.every
  5571. */
  5572. every<T>(
  5573. collection: NumericDictionary<T>,
  5574. predicate?: NumericDictionaryIterator<T, boolean>
  5575. ): boolean;
  5576. /**
  5577. * @see _.every
  5578. */
  5579. every<T>(
  5580. collection: List<T>|Dictionary<T>|NumericDictionary<T>,
  5581. predicate?: string|any[]
  5582. ): boolean;
  5583. /**
  5584. * @see _.every
  5585. */
  5586. every<TObject extends {}, T>(
  5587. collection: List<T>|Dictionary<T>|NumericDictionary<T>,
  5588. predicate?: TObject
  5589. ): boolean;
  5590. }
  5591. interface LoDashImplicitArrayWrapper<T> {
  5592. /**
  5593. * @see _.every
  5594. */
  5595. every(
  5596. predicate?: ListIterator<T, boolean>|NumericDictionaryIterator<T, boolean>
  5597. ): boolean;
  5598. /**
  5599. * @see _.every
  5600. */
  5601. every(
  5602. predicate?: string|any[]
  5603. ): boolean;
  5604. /**
  5605. * @see _.every
  5606. */
  5607. every<TObject extends {}>(
  5608. predicate?: TObject
  5609. ): boolean;
  5610. }
  5611. interface LoDashImplicitObjectWrapper<T> {
  5612. /**
  5613. * @see _.every
  5614. */
  5615. every<TResult>(
  5616. predicate?: ListIterator<TResult, boolean>|DictionaryIterator<TResult, boolean>|NumericDictionaryIterator<T, boolean>
  5617. ): boolean;
  5618. /**
  5619. * @see _.every
  5620. */
  5621. every(
  5622. predicate?: string|any[]
  5623. ): boolean;
  5624. /**
  5625. * @see _.every
  5626. */
  5627. every<TObject extends {}>(
  5628. predicate?: TObject
  5629. ): boolean;
  5630. }
  5631. interface LoDashExplicitArrayWrapper<T> {
  5632. /**
  5633. * @see _.every
  5634. */
  5635. every(
  5636. predicate?: ListIterator<T, boolean>|NumericDictionaryIterator<T, boolean>
  5637. ): LoDashExplicitWrapper<boolean>;
  5638. /**
  5639. * @see _.every
  5640. */
  5641. every(
  5642. predicate?: string|any[]
  5643. ): LoDashExplicitWrapper<boolean>;
  5644. /**
  5645. * @see _.every
  5646. */
  5647. every<TObject extends {}>(
  5648. predicate?: TObject
  5649. ): LoDashExplicitWrapper<boolean>;
  5650. }
  5651. interface LoDashExplicitObjectWrapper<T> {
  5652. /**
  5653. * @see _.every
  5654. */
  5655. every<TResult>(
  5656. predicate?: ListIterator<TResult, boolean>|DictionaryIterator<TResult, boolean>|NumericDictionaryIterator<T, boolean>
  5657. ): LoDashExplicitWrapper<boolean>;
  5658. /**
  5659. * @see _.every
  5660. */
  5661. every(
  5662. predicate?: string|any[]
  5663. ): LoDashExplicitWrapper<boolean>;
  5664. /**
  5665. * @see _.every
  5666. */
  5667. every<TObject extends {}>(
  5668. predicate?: TObject
  5669. ): LoDashExplicitWrapper<boolean>;
  5670. }
  5671. //_.filter
  5672. interface LoDashStatic {
  5673. /**
  5674. * Iterates over elements of collection, returning an array of all elements predicate returns truthy for. The
  5675. * predicate is bound to thisArg and invoked with three arguments: (value, index|key, collection).
  5676. *
  5677. * If a property name is provided for predicate the created _.property style callback returns the property
  5678. * value of the given element.
  5679. *
  5680. * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for
  5681. * elements that have a matching property value, else false.
  5682. *
  5683. * If an object is provided for predicate the created _.matches style callback returns true for elements that
  5684. * have the properties of the given object, else false.
  5685. *
  5686. * @param collection The collection to iterate over.
  5687. * @param predicate The function invoked per iteration.
  5688. * @param thisArg The this binding of predicate.
  5689. * @return Returns the new filtered array.
  5690. */
  5691. filter<T>(
  5692. collection: List<T>,
  5693. predicate?: ListIterator<T, boolean>
  5694. ): T[];
  5695. /**
  5696. * @see _.filter
  5697. */
  5698. filter<T>(
  5699. collection: Dictionary<T>,
  5700. predicate?: DictionaryIterator<T, boolean>
  5701. ): T[];
  5702. /**
  5703. * @see _.filter
  5704. */
  5705. filter(
  5706. collection: string,
  5707. predicate?: StringIterator<boolean>
  5708. ): string[];
  5709. /**
  5710. * @see _.filter
  5711. */
  5712. filter<T>(
  5713. collection: List<T>|Dictionary<T>,
  5714. predicate: string
  5715. ): T[];
  5716. /**
  5717. * @see _.filter
  5718. */
  5719. filter<W extends {}, T>(
  5720. collection: List<T>|Dictionary<T>,
  5721. predicate: W
  5722. ): T[];
  5723. }
  5724. interface LoDashImplicitWrapper<T> {
  5725. /**
  5726. * @see _.filter
  5727. */
  5728. filter(
  5729. predicate?: StringIterator<boolean>
  5730. ): LoDashImplicitArrayWrapper<string>;
  5731. }
  5732. interface LoDashImplicitArrayWrapper<T> {
  5733. /**
  5734. * @see _.filter
  5735. */
  5736. filter(
  5737. predicate: ListIterator<T, boolean>
  5738. ): LoDashImplicitArrayWrapper<T>;
  5739. /**
  5740. * @see _.filter
  5741. */
  5742. filter(
  5743. predicate: string
  5744. ): LoDashImplicitArrayWrapper<T>;
  5745. /**
  5746. * @see _.filter
  5747. */
  5748. filter<W>(predicate: W): LoDashImplicitArrayWrapper<T>;
  5749. }
  5750. interface LoDashImplicitObjectWrapper<T> {
  5751. /**
  5752. * @see _.filter
  5753. */
  5754. filter<T>(
  5755. predicate: ListIterator<T, boolean>|DictionaryIterator<T, boolean>
  5756. ): LoDashImplicitArrayWrapper<T>;
  5757. /**
  5758. * @see _.filter
  5759. */
  5760. filter<T>(
  5761. predicate: string
  5762. ): LoDashImplicitArrayWrapper<T>;
  5763. /**
  5764. * @see _.filter
  5765. */
  5766. filter<W, T>(predicate: W): LoDashImplicitArrayWrapper<T>;
  5767. }
  5768. interface LoDashExplicitWrapper<T> {
  5769. /**
  5770. * @see _.filter
  5771. */
  5772. filter(
  5773. predicate?: StringIterator<boolean>
  5774. ): LoDashExplicitArrayWrapper<string>;
  5775. }
  5776. interface LoDashExplicitArrayWrapper<T> {
  5777. /**
  5778. * @see _.filter
  5779. */
  5780. filter(
  5781. predicate: ListIterator<T, boolean>
  5782. ): LoDashExplicitArrayWrapper<T>;
  5783. /**
  5784. * @see _.filter
  5785. */
  5786. filter(
  5787. predicate: string
  5788. ): LoDashExplicitArrayWrapper<T>;
  5789. /**
  5790. * @see _.filter
  5791. */
  5792. filter<W>(predicate: W): LoDashExplicitArrayWrapper<T>;
  5793. }
  5794. interface LoDashExplicitObjectWrapper<T> {
  5795. /**
  5796. * @see _.filter
  5797. */
  5798. filter<T>(
  5799. predicate: ListIterator<T, boolean>|DictionaryIterator<T, boolean>
  5800. ): LoDashExplicitArrayWrapper<T>;
  5801. /**
  5802. * @see _.filter
  5803. */
  5804. filter<T>(
  5805. predicate: string
  5806. ): LoDashExplicitArrayWrapper<T>;
  5807. /**
  5808. * @see _.filter
  5809. */
  5810. filter<W, T>(predicate: W): LoDashExplicitArrayWrapper<T>;
  5811. }
  5812. //_.find
  5813. interface LoDashStatic {
  5814. /**
  5815. * Iterates over elements of collection, returning the first element predicate returns truthy for.
  5816. * The predicate is bound to thisArg and invoked with three arguments: (value, index|key, collection).
  5817. *
  5818. * If a property name is provided for predicate the created _.property style callback returns the property
  5819. * value of the given element.
  5820. *
  5821. * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for
  5822. * elements that have a matching property value, else false.
  5823. *
  5824. * If an object is provided for predicate the created _.matches style callback returns true for elements that
  5825. * have the properties of the given object, else false.
  5826. *
  5827. * @param collection The collection to search.
  5828. * @param predicate The function invoked per iteration.
  5829. * @param fromIndex The index to search from.
  5830. * @return Returns the matched element, else undefined.
  5831. */
  5832. find<T>(
  5833. collection: List<T>,
  5834. predicate?: ListIterator<T, boolean>,
  5835. fromIndex?: number
  5836. ): T;
  5837. /**
  5838. * @see _.find
  5839. */
  5840. find<T>(
  5841. collection: Dictionary<T>,
  5842. predicate?: DictionaryIterator<T, boolean>,
  5843. fromIndex?: number
  5844. ): T;
  5845. /**
  5846. * @see _.find
  5847. */
  5848. find<T>(
  5849. collection: List<T>|Dictionary<T>,
  5850. predicate?: string,
  5851. fromIndex?: number
  5852. ): T;
  5853. /**
  5854. * @see _.find
  5855. */
  5856. find<TObject extends {}, T>(
  5857. collection: List<T>|Dictionary<T>,
  5858. predicate?: TObject,
  5859. fromIndex?: number
  5860. ): T;
  5861. }
  5862. interface LoDashImplicitArrayWrapper<T> {
  5863. /**
  5864. * @see _.find
  5865. */
  5866. find(
  5867. predicate?: ListIterator<T, boolean>,
  5868. fromIndex?: number
  5869. ): T;
  5870. /**
  5871. * @see _.find
  5872. */
  5873. find(
  5874. predicate?: string,
  5875. fromIndex?: number
  5876. ): T;
  5877. /**
  5878. * @see _.find
  5879. */
  5880. find<TObject extends {}>(
  5881. predicate?: TObject,
  5882. fromIndex?: number
  5883. ): T;
  5884. }
  5885. interface LoDashImplicitObjectWrapper<T> {
  5886. /**
  5887. * @see _.find
  5888. */
  5889. find<TResult>(
  5890. predicate?: ListIterator<TResult, boolean>|DictionaryIterator<TResult, boolean>,
  5891. fromIndex?: number
  5892. ): TResult;
  5893. /**
  5894. * @see _.find
  5895. */
  5896. find<TResult>(
  5897. predicate?: string,
  5898. fromIndex?: number
  5899. ): TResult;
  5900. /**
  5901. * @see _.find
  5902. */
  5903. find<TObject extends {}, TResult>(
  5904. predicate?: TObject,
  5905. fromIndex?: number
  5906. ): TResult;
  5907. }
  5908. //_.findLast
  5909. interface LoDashStatic {
  5910. /**
  5911. * This method is like _.find except that it iterates over elements of a collection from
  5912. * right to left.
  5913. * @param collection Searches for a value in this list.
  5914. * @param callback The function called per iteration.
  5915. * @param thisArg The this binding of callback.
  5916. * @return The found element, else undefined.
  5917. **/
  5918. findLast<T>(
  5919. collection: Array<T>,
  5920. callback: ListIterator<T, boolean>): T;
  5921. /**
  5922. * @see _.find
  5923. **/
  5924. findLast<T>(
  5925. collection: List<T>,
  5926. callback: ListIterator<T, boolean>): T;
  5927. /**
  5928. * @see _.find
  5929. **/
  5930. findLast<T>(
  5931. collection: Dictionary<T>,
  5932. callback: DictionaryIterator<T, boolean>): T;
  5933. /**
  5934. * @see _.find
  5935. * @param _.pluck style callback
  5936. **/
  5937. findLast<W, T>(
  5938. collection: Array<T>,
  5939. whereValue: W): T;
  5940. /**
  5941. * @see _.find
  5942. * @param _.pluck style callback
  5943. **/
  5944. findLast<W, T>(
  5945. collection: List<T>,
  5946. whereValue: W): T;
  5947. /**
  5948. * @see _.find
  5949. * @param _.pluck style callback
  5950. **/
  5951. findLast<W, T>(
  5952. collection: Dictionary<T>,
  5953. whereValue: W): T;
  5954. /**
  5955. * @see _.find
  5956. * @param _.where style callback
  5957. **/
  5958. findLast<T>(
  5959. collection: Array<T>,
  5960. pluckValue: string): T;
  5961. /**
  5962. * @see _.find
  5963. * @param _.where style callback
  5964. **/
  5965. findLast<T>(
  5966. collection: List<T>,
  5967. pluckValue: string): T;
  5968. /**
  5969. * @see _.find
  5970. * @param _.where style callback
  5971. **/
  5972. findLast<T>(
  5973. collection: Dictionary<T>,
  5974. pluckValue: string): T;
  5975. }
  5976. interface LoDashImplicitArrayWrapper<T> {
  5977. /**
  5978. * @see _.findLast
  5979. */
  5980. findLast(
  5981. callback: ListIterator<T, boolean>): T;
  5982. /**
  5983. * @see _.findLast
  5984. * @param _.where style callback
  5985. */
  5986. findLast<W>(
  5987. whereValue: W): T;
  5988. /**
  5989. * @see _.findLast
  5990. * @param _.where style callback
  5991. */
  5992. findLast(
  5993. pluckValue: string): T;
  5994. }
  5995. //_.flatMap
  5996. interface LoDashStatic {
  5997. /**
  5998. * Creates an array of flattened values by running each element in collection through iteratee
  5999. * and concating its result to the other mapped values. The iteratee is invoked with three arguments:
  6000. * (value, index|key, collection).
  6001. *
  6002. * @param collection The collection to iterate over.
  6003. * @param iteratee The function invoked per iteration.
  6004. * @return Returns the new flattened array.
  6005. */
  6006. flatMap<T, TResult>(
  6007. collection: List<T>,
  6008. iteratee?: ListIterator<T, TResult|TResult[]>
  6009. ): TResult[];
  6010. /**
  6011. * @see _.flatMap
  6012. */
  6013. flatMap<TResult>(
  6014. collection: List<any>,
  6015. iteratee?: ListIterator<any, TResult|TResult[]>
  6016. ): TResult[];
  6017. /**
  6018. * @see _.flatMap
  6019. */
  6020. flatMap<T, TResult>(
  6021. collection: Dictionary<T>,
  6022. iteratee?: DictionaryIterator<T, TResult|TResult[]>
  6023. ): TResult[];
  6024. /**
  6025. * @see _.flatMap
  6026. */
  6027. flatMap<TResult>(
  6028. collection: Dictionary<any>,
  6029. iteratee?: DictionaryIterator<any, TResult|TResult[]>
  6030. ): TResult[];
  6031. /**
  6032. * @see _.flatMap
  6033. */
  6034. flatMap<T, TResult>(
  6035. collection: NumericDictionary<T>,
  6036. iteratee?: NumericDictionaryIterator<T, TResult|TResult[]>
  6037. ): TResult[];
  6038. /**
  6039. * @see _.flatMap
  6040. */
  6041. flatMap<TResult>(
  6042. collection: NumericDictionary<any>,
  6043. iteratee?: NumericDictionaryIterator<any, TResult|TResult[]>
  6044. ): TResult[];
  6045. /**
  6046. * @see _.flatMap
  6047. */
  6048. flatMap<TObject extends Object, TResult>(
  6049. collection: TObject,
  6050. iteratee?: ObjectIterator<any, TResult|TResult[]>
  6051. ): TResult[];
  6052. /**
  6053. * @see _.flatMap
  6054. */
  6055. flatMap<TResult>(
  6056. collection: Object,
  6057. iteratee?: ObjectIterator<any, TResult|TResult[]>
  6058. ): TResult[];
  6059. /**
  6060. * @see _.flatMap
  6061. */
  6062. flatMap<TWhere extends Object, TObject extends Object>(
  6063. collection: TObject,
  6064. iteratee: TWhere
  6065. ): boolean[];
  6066. /**
  6067. * @see _.flatMap
  6068. */
  6069. flatMap<TObject extends Object, TResult>(
  6070. collection: TObject,
  6071. iteratee: Object|string
  6072. ): TResult[];
  6073. /**
  6074. * @see _.flatMap
  6075. */
  6076. flatMap<TObject extends Object>(
  6077. collection: TObject,
  6078. iteratee: [string, any]
  6079. ): boolean[];
  6080. /**
  6081. * @see _.flatMap
  6082. */
  6083. flatMap<TResult>(
  6084. collection: string
  6085. ): string[];
  6086. /**
  6087. * @see _.flatMap
  6088. */
  6089. flatMap<TResult>(
  6090. collection: Object,
  6091. iteratee?: Object|string
  6092. ): TResult[];
  6093. }
  6094. interface LoDashImplicitWrapper<T> {
  6095. /**
  6096. * @see _.flatMap
  6097. */
  6098. flatMap<TResult>(
  6099. iteratee: ListIterator<string, TResult|TResult[]>
  6100. ): LoDashImplicitArrayWrapper<TResult>;
  6101. /**
  6102. * @see _.flatMap
  6103. */
  6104. flatMap(): LoDashImplicitArrayWrapper<string>;
  6105. }
  6106. interface LoDashImplicitArrayWrapper<T> {
  6107. /**
  6108. * @see _.flatMap
  6109. */
  6110. flatMap<TResult>(
  6111. iteratee: ListIterator<T, TResult|TResult[]>|string
  6112. ): LoDashImplicitArrayWrapper<TResult>;
  6113. /**
  6114. * @see _.flatMap
  6115. */
  6116. flatMap<TWhere extends Object>(
  6117. iteratee: TWhere
  6118. ): LoDashImplicitArrayWrapper<boolean>;
  6119. /**
  6120. * @see _.flatMap
  6121. */
  6122. flatMap(
  6123. iteratee: [string, any]
  6124. ): LoDashImplicitArrayWrapper<boolean>;
  6125. /**
  6126. * @see _.flatMap
  6127. */
  6128. flatMap<TResult>(): LoDashImplicitArrayWrapper<TResult>;
  6129. }
  6130. interface LoDashImplicitObjectWrapper<T> {
  6131. /**
  6132. * @see _.flatMap
  6133. */
  6134. flatMap<T, TResult>(
  6135. iteratee: ListIterator<T, TResult|TResult[]>|DictionaryIterator<T, TResult|TResult[]>|NumericDictionaryIterator<T, TResult|TResult[]>
  6136. ): LoDashImplicitArrayWrapper<TResult>;
  6137. /**
  6138. * @see _.flatMap
  6139. */
  6140. flatMap<TResult>(
  6141. iteratee: ObjectIterator<any, TResult|TResult[]>|string
  6142. ): LoDashImplicitArrayWrapper<TResult>;
  6143. /**
  6144. * @see _.flatMap
  6145. */
  6146. flatMap<TWhere extends Object>(
  6147. iteratee: TWhere
  6148. ): LoDashImplicitArrayWrapper<boolean>;
  6149. /**
  6150. * @see _.flatMap
  6151. */
  6152. flatMap(
  6153. iteratee: [string, any]
  6154. ): LoDashImplicitArrayWrapper<boolean>;
  6155. /**
  6156. * @see _.flatMap
  6157. */
  6158. flatMap<TResult>(): LoDashImplicitArrayWrapper<TResult>;
  6159. }
  6160. interface LoDashExplicitWrapper<T> {
  6161. /**
  6162. * @see _.flatMap
  6163. */
  6164. flatMap<TResult>(
  6165. iteratee: ListIterator<string, TResult|TResult[]>
  6166. ): LoDashExplicitArrayWrapper<TResult>;
  6167. /**
  6168. * @see _.flatMap
  6169. */
  6170. flatMap(): LoDashExplicitArrayWrapper<string>;
  6171. }
  6172. interface LoDashExplicitArrayWrapper<T> {
  6173. /**
  6174. * @see _.flatMap
  6175. */
  6176. flatMap<TResult>(
  6177. iteratee: ListIterator<T, TResult|TResult[]>|string
  6178. ): LoDashExplicitArrayWrapper<TResult>;
  6179. /**
  6180. * @see _.flatMap
  6181. */
  6182. flatMap<TWhere extends Object>(
  6183. iteratee: TWhere
  6184. ): LoDashExplicitArrayWrapper<boolean>;
  6185. /**
  6186. * @see _.flatMap
  6187. */
  6188. flatMap(
  6189. iteratee: [string, any]
  6190. ): LoDashExplicitArrayWrapper<boolean>;
  6191. /**
  6192. * @see _.flatMap
  6193. */
  6194. flatMap<TResult>(): LoDashExplicitArrayWrapper<TResult>;
  6195. }
  6196. interface LoDashExplicitObjectWrapper<T> {
  6197. /**
  6198. * @see _.flatMap
  6199. */
  6200. flatMap<T, TResult>(
  6201. iteratee: ListIterator<T, TResult|TResult[]>|DictionaryIterator<T, TResult|TResult[]>|NumericDictionaryIterator<T, TResult|TResult[]>
  6202. ): LoDashExplicitArrayWrapper<TResult>;
  6203. /**
  6204. * @see _.flatMap
  6205. */
  6206. flatMap<TResult>(
  6207. iteratee: ObjectIterator<any, TResult|TResult[]>|string
  6208. ): LoDashExplicitArrayWrapper<TResult>;
  6209. /**
  6210. * @see _.flatMap
  6211. */
  6212. flatMap<TWhere extends Object>(
  6213. iteratee: TWhere
  6214. ): LoDashExplicitArrayWrapper<boolean>;
  6215. /**
  6216. * @see _.flatMap
  6217. */
  6218. flatMap(
  6219. iteratee: [string, any]
  6220. ): LoDashExplicitArrayWrapper<boolean>;
  6221. /**
  6222. * @see _.flatMap
  6223. */
  6224. flatMap<TResult>(): LoDashExplicitArrayWrapper<TResult>;
  6225. }
  6226. //_.forEach
  6227. interface LoDashStatic {
  6228. /**
  6229. * Iterates over elements of collection invoking iteratee for each element. The iteratee is bound to thisArg
  6230. * and invoked with three arguments:
  6231. * (value, index|key, collection). Iteratee functions may exit iteration early by explicitly returning false.
  6232. *
  6233. * Note: As with other "Collections" methods, objects with a "length" property are iterated like arrays. To
  6234. * avoid this behavior _.forIn or _.forOwn may be used for object iteration.
  6235. *
  6236. * @alias _.each
  6237. *
  6238. * @param collection The collection to iterate over.
  6239. * @param iteratee The function invoked per iteration.
  6240. * @param thisArg The this binding of iteratee.
  6241. */
  6242. forEach<T>(
  6243. collection: T[],
  6244. iteratee?: ListIterator<T, any>
  6245. ): T[];
  6246. /**
  6247. * @see _.forEach
  6248. */
  6249. forEach<T>(
  6250. collection: List<T>,
  6251. iteratee?: ListIterator<T, any>
  6252. ): List<T>;
  6253. /**
  6254. * @see _.forEach
  6255. */
  6256. forEach<T>(
  6257. collection: Dictionary<T>,
  6258. iteratee?: DictionaryIterator<T, any>
  6259. ): Dictionary<T>;
  6260. /**
  6261. * @see _.forEach
  6262. */
  6263. forEach<T extends {}>(
  6264. collection: T,
  6265. iteratee?: ObjectIterator<any, any>
  6266. ): T;
  6267. /**
  6268. * @see _.forEach
  6269. */
  6270. forEach<T extends {}, TValue>(
  6271. collection: T,
  6272. iteratee?: ObjectIterator<TValue, any>
  6273. ): T;
  6274. }
  6275. interface LoDashImplicitWrapper<T> {
  6276. /**
  6277. * @see _.forEach
  6278. */
  6279. forEach(
  6280. iteratee: ListIterator<string, any>
  6281. ): LoDashImplicitWrapper<string>;
  6282. }
  6283. interface LoDashImplicitArrayWrapper<T> {
  6284. /**
  6285. * @see _.forEach
  6286. */
  6287. forEach(
  6288. iteratee: ListIterator<T, any>
  6289. ): LoDashImplicitArrayWrapper<T>;
  6290. }
  6291. interface LoDashImplicitObjectWrapper<T> {
  6292. /**
  6293. * @see _.forEach
  6294. */
  6295. forEach<TValue>(
  6296. iteratee?: ListIterator<TValue, any>|DictionaryIterator<TValue, any>
  6297. ): LoDashImplicitObjectWrapper<T>;
  6298. }
  6299. interface LoDashExplicitWrapper<T> {
  6300. /**
  6301. * @see _.forEach
  6302. */
  6303. forEach(
  6304. iteratee: ListIterator<string, any>
  6305. ): LoDashExplicitWrapper<string>;
  6306. }
  6307. interface LoDashExplicitArrayWrapper<T> {
  6308. /**
  6309. * @see _.forEach
  6310. */
  6311. forEach(
  6312. iteratee: ListIterator<T, any>
  6313. ): LoDashExplicitArrayWrapper<T>;
  6314. }
  6315. interface LoDashExplicitObjectWrapper<T> {
  6316. /**
  6317. * @see _.forEach
  6318. */
  6319. forEach<TValue>(
  6320. iteratee?: ListIterator<TValue, any>|DictionaryIterator<TValue, any>
  6321. ): LoDashExplicitObjectWrapper<T>;
  6322. }
  6323. //_.forEachRight
  6324. interface LoDashStatic {
  6325. /**
  6326. * This method is like _.forEach except that it iterates over elements of collection from right to left.
  6327. *
  6328. * @alias _.eachRight
  6329. *
  6330. * @param collection The collection to iterate over.
  6331. * @param iteratee The function called per iteration.
  6332. * @param thisArg The this binding of callback.
  6333. */
  6334. forEachRight<T>(
  6335. collection: T[],
  6336. iteratee?: ListIterator<T, any>
  6337. ): T[];
  6338. /**
  6339. * @see _.forEachRight
  6340. */
  6341. forEachRight<T>(
  6342. collection: List<T>,
  6343. iteratee?: ListIterator<T, any>
  6344. ): List<T>;
  6345. /**
  6346. * @see _.forEachRight
  6347. */
  6348. forEachRight<T>(
  6349. collection: Dictionary<T>,
  6350. iteratee?: DictionaryIterator<T, any>
  6351. ): Dictionary<T>;
  6352. /**
  6353. * @see _.forEachRight
  6354. */
  6355. forEachRight<T extends {}>(
  6356. collection: T,
  6357. iteratee?: ObjectIterator<any, any>
  6358. ): T;
  6359. /**
  6360. * @see _.forEachRight
  6361. */
  6362. forEachRight<T extends {}, TValue>(
  6363. collection: T,
  6364. iteratee?: ObjectIterator<TValue, any>
  6365. ): T;
  6366. }
  6367. interface LoDashImplicitWrapper<T> {
  6368. /**
  6369. * @see _.forEachRight
  6370. */
  6371. forEachRight(
  6372. iteratee: ListIterator<string, any>
  6373. ): LoDashImplicitWrapper<string>;
  6374. }
  6375. interface LoDashImplicitArrayWrapper<T> {
  6376. /**
  6377. * @see _.forEachRight
  6378. */
  6379. forEachRight(
  6380. iteratee: ListIterator<T, any>
  6381. ): LoDashImplicitArrayWrapper<T>;
  6382. }
  6383. interface LoDashImplicitObjectWrapper<T> {
  6384. /**
  6385. * @see _.forEachRight
  6386. */
  6387. forEachRight<TValue>(
  6388. iteratee?: ListIterator<TValue, any>|DictionaryIterator<TValue, any>
  6389. ): LoDashImplicitObjectWrapper<T>;
  6390. }
  6391. interface LoDashExplicitWrapper<T> {
  6392. /**
  6393. * @see _.forEachRight
  6394. */
  6395. forEachRight(
  6396. iteratee: ListIterator<string, any>
  6397. ): LoDashExplicitWrapper<string>;
  6398. }
  6399. interface LoDashExplicitArrayWrapper<T> {
  6400. /**
  6401. * @see _.forEachRight
  6402. */
  6403. forEachRight(
  6404. iteratee: ListIterator<T, any>
  6405. ): LoDashExplicitArrayWrapper<T>;
  6406. }
  6407. interface LoDashExplicitObjectWrapper<T> {
  6408. /**
  6409. * @see _.forEachRight
  6410. */
  6411. forEachRight<TValue>(
  6412. iteratee?: ListIterator<TValue, any>|DictionaryIterator<TValue, any>
  6413. ): LoDashExplicitObjectWrapper<T>;
  6414. }
  6415. //_.groupBy
  6416. interface LoDashStatic {
  6417. /**
  6418. * Creates an object composed of keys generated from the results of running each element of collection through
  6419. * iteratee. The corresponding value of each key is an array of the elements responsible for generating the
  6420. * key. The iteratee is bound to thisArg and invoked with three arguments:
  6421. * (value, index|key, collection).
  6422. *
  6423. * If a property name is provided for iteratee the created _.property style callback returns the property
  6424. * value of the given element.
  6425. *
  6426. * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for
  6427. * elements that have a matching property value, else false.
  6428. *
  6429. * If an object is provided for iteratee the created _.matches style callback returns true for elements that
  6430. * have the properties of the given object, else false.
  6431. *
  6432. * @param collection The collection to iterate over.
  6433. * @param iteratee The function invoked per iteration.
  6434. * @param thisArg The this binding of iteratee.
  6435. * @return Returns the composed aggregate object.
  6436. */
  6437. groupBy<T, TKey>(
  6438. collection: List<T>,
  6439. iteratee?: ListIterator<T, TKey>
  6440. ): Dictionary<T[]>;
  6441. /**
  6442. * @see _.groupBy
  6443. */
  6444. groupBy<T>(
  6445. collection: List<any>,
  6446. iteratee?: ListIterator<T, any>
  6447. ): Dictionary<T[]>;
  6448. /**
  6449. * @see _.groupBy
  6450. */
  6451. groupBy<T, TKey>(
  6452. collection: Dictionary<T>,
  6453. iteratee?: DictionaryIterator<T, TKey>
  6454. ): Dictionary<T[]>;
  6455. /**
  6456. * @see _.groupBy
  6457. */
  6458. groupBy<T>(
  6459. collection: Dictionary<any>,
  6460. iteratee?: DictionaryIterator<T, any>
  6461. ): Dictionary<T[]>;
  6462. /**
  6463. * @see _.groupBy
  6464. */
  6465. groupBy<T, TValue>(
  6466. collection: List<T>|Dictionary<T>,
  6467. iteratee?: string
  6468. ): Dictionary<T[]>;
  6469. /**
  6470. * @see _.groupBy
  6471. */
  6472. groupBy<T>(
  6473. collection: List<T>|Dictionary<T>,
  6474. iteratee?: string
  6475. ): Dictionary<T[]>;
  6476. /**
  6477. * @see _.groupBy
  6478. */
  6479. groupBy<TWhere, T>(
  6480. collection: List<T>|Dictionary<T>,
  6481. iteratee?: TWhere
  6482. ): Dictionary<T[]>;
  6483. /**
  6484. * @see _.groupBy
  6485. */
  6486. groupBy<T>(
  6487. collection: List<T>|Dictionary<T>,
  6488. iteratee?: Object
  6489. ): Dictionary<T[]>;
  6490. }
  6491. interface LoDashImplicitWrapper<T> {
  6492. /**
  6493. * @see _.groupBy
  6494. */
  6495. groupBy<TKey>(
  6496. iteratee?: ListIterator<T, TKey>
  6497. ): LoDashImplicitObjectWrapper<Dictionary<T[]>>;
  6498. }
  6499. interface LoDashImplicitArrayWrapper<T> {
  6500. /**
  6501. * @see _.groupBy
  6502. */
  6503. groupBy<TKey>(
  6504. iteratee?: ListIterator<T, TKey>
  6505. ): LoDashImplicitObjectWrapper<Dictionary<T[]>>;
  6506. /**
  6507. * @see _.groupBy
  6508. */
  6509. groupBy<TValue>(
  6510. iteratee?: string
  6511. ): LoDashImplicitObjectWrapper<Dictionary<T[]>>;
  6512. /**
  6513. * @see _.groupBy
  6514. */
  6515. groupBy<TWhere>(
  6516. iteratee?: TWhere
  6517. ): LoDashImplicitObjectWrapper<Dictionary<T[]>>;
  6518. }
  6519. interface LoDashImplicitObjectWrapper<T> {
  6520. /**
  6521. * @see _.groupBy
  6522. */
  6523. groupBy<T, TKey>(
  6524. iteratee?: ListIterator<T, TKey>|DictionaryIterator<T, TKey>
  6525. ): LoDashImplicitObjectWrapper<Dictionary<T[]>>;
  6526. /**
  6527. * @see _.groupBy
  6528. */
  6529. groupBy<T>(
  6530. iteratee?: ListIterator<T, any>|DictionaryIterator<T, any>
  6531. ): LoDashImplicitObjectWrapper<Dictionary<T[]>>;
  6532. /**
  6533. * @see _.groupBy
  6534. */
  6535. groupBy<T, TValue>(
  6536. iteratee?: string
  6537. ): LoDashImplicitObjectWrapper<Dictionary<T[]>>;
  6538. /**
  6539. * @see _.groupBy
  6540. */
  6541. groupBy<T>(
  6542. iteratee?: string
  6543. ): LoDashImplicitObjectWrapper<Dictionary<T[]>>;
  6544. /**
  6545. * @see _.groupBy
  6546. */
  6547. groupBy<TWhere, T>(
  6548. iteratee?: TWhere
  6549. ): LoDashImplicitObjectWrapper<Dictionary<T[]>>;
  6550. /**
  6551. * @see _.groupBy
  6552. */
  6553. groupBy<T>(
  6554. iteratee?: Object
  6555. ): LoDashImplicitObjectWrapper<Dictionary<T[]>>;
  6556. }
  6557. interface LoDashExplicitWrapper<T> {
  6558. /**
  6559. * @see _.groupBy
  6560. */
  6561. groupBy<TKey>(
  6562. iteratee?: ListIterator<T, TKey>
  6563. ): LoDashExplicitObjectWrapper<Dictionary<T[]>>;
  6564. }
  6565. interface LoDashExplicitArrayWrapper<T> {
  6566. /**
  6567. * @see _.groupBy
  6568. */
  6569. groupBy<TKey>(
  6570. iteratee?: ListIterator<T, TKey>
  6571. ): LoDashExplicitObjectWrapper<Dictionary<T[]>>;
  6572. /**
  6573. * @see _.groupBy
  6574. */
  6575. groupBy<TValue>(
  6576. iteratee?: string
  6577. ): LoDashExplicitObjectWrapper<Dictionary<T[]>>;
  6578. /**
  6579. * @see _.groupBy
  6580. */
  6581. groupBy<TWhere>(
  6582. iteratee?: TWhere
  6583. ): LoDashExplicitObjectWrapper<Dictionary<T[]>>;
  6584. }
  6585. interface LoDashExplicitObjectWrapper<T> {
  6586. /**
  6587. * @see _.groupBy
  6588. */
  6589. groupBy<T, TKey>(
  6590. iteratee?: ListIterator<T, TKey>|DictionaryIterator<T, TKey>
  6591. ): LoDashExplicitObjectWrapper<Dictionary<T[]>>;
  6592. /**
  6593. * @see _.groupBy
  6594. */
  6595. groupBy<T>(
  6596. iteratee?: ListIterator<T, any>|DictionaryIterator<T, any>
  6597. ): LoDashExplicitObjectWrapper<Dictionary<T[]>>;
  6598. /**
  6599. * @see _.groupBy
  6600. */
  6601. groupBy<T, TValue>(
  6602. iteratee?: string
  6603. ): LoDashExplicitObjectWrapper<Dictionary<T[]>>;
  6604. /**
  6605. * @see _.groupBy
  6606. */
  6607. groupBy<T>(
  6608. iteratee?: string
  6609. ): LoDashExplicitObjectWrapper<Dictionary<T[]>>;
  6610. /**
  6611. * @see _.groupBy
  6612. */
  6613. groupBy<TWhere, T>(
  6614. iteratee?: TWhere
  6615. ): LoDashExplicitObjectWrapper<Dictionary<T[]>>;
  6616. /**
  6617. * @see _.groupBy
  6618. */
  6619. groupBy<T>(
  6620. iteratee?: Object
  6621. ): LoDashExplicitObjectWrapper<Dictionary<T[]>>;
  6622. }
  6623. //_.includes
  6624. interface LoDashStatic {
  6625. /**
  6626. * Checks if target is in collection using SameValueZero for equality comparisons. If fromIndex is negative,
  6627. * it’s used as the offset from the end of collection.
  6628. *
  6629. * @param collection The collection to search.
  6630. * @param target The value to search for.
  6631. * @param fromIndex The index to search from.
  6632. * @return True if the target element is found, else false.
  6633. */
  6634. includes<T>(
  6635. collection: List<T>|Dictionary<T>,
  6636. target: T,
  6637. fromIndex?: number
  6638. ): boolean;
  6639. /**
  6640. * @see _.includes
  6641. */
  6642. includes(
  6643. collection: string,
  6644. target: string,
  6645. fromIndex?: number
  6646. ): boolean;
  6647. }
  6648. interface LoDashImplicitArrayWrapper<T> {
  6649. /**
  6650. * @see _.includes
  6651. */
  6652. includes(
  6653. target: T,
  6654. fromIndex?: number
  6655. ): boolean;
  6656. }
  6657. interface LoDashImplicitObjectWrapper<T> {
  6658. /**
  6659. * @see _.includes
  6660. */
  6661. includes<TValue>(
  6662. target: TValue,
  6663. fromIndex?: number
  6664. ): boolean;
  6665. }
  6666. interface LoDashImplicitWrapper<T> {
  6667. /**
  6668. * @see _.includes
  6669. */
  6670. includes(
  6671. target: string,
  6672. fromIndex?: number
  6673. ): boolean;
  6674. }
  6675. interface LoDashExplicitArrayWrapper<T> {
  6676. /**
  6677. * @see _.includes
  6678. */
  6679. includes(
  6680. target: T,
  6681. fromIndex?: number
  6682. ): LoDashExplicitWrapper<boolean>;
  6683. }
  6684. interface LoDashExplicitObjectWrapper<T> {
  6685. /**
  6686. * @see _.includes
  6687. */
  6688. includes<TValue>(
  6689. target: TValue,
  6690. fromIndex?: number
  6691. ): LoDashExplicitWrapper<boolean>;
  6692. }
  6693. interface LoDashExplicitWrapper<T> {
  6694. /**
  6695. * @see _.includes
  6696. */
  6697. includes(
  6698. target: string,
  6699. fromIndex?: number
  6700. ): LoDashExplicitWrapper<boolean>;
  6701. }
  6702. //_.keyBy
  6703. interface LoDashStatic {
  6704. /**
  6705. * Creates an object composed of keys generated from the results of running each element of collection through
  6706. * iteratee. The corresponding value of each key is the last element responsible for generating the key. The
  6707. * iteratee function is bound to thisArg and invoked with three arguments:
  6708. * (value, index|key, collection).
  6709. *
  6710. * If a property name is provided for iteratee the created _.property style callback returns the property
  6711. * value of the given element.
  6712. *
  6713. * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for
  6714. * elements that have a matching property value, else false.
  6715. *
  6716. * If an object is provided for iteratee the created _.matches style callback returns true for elements that
  6717. * have the properties of the given object, else false.
  6718. *
  6719. * @param collection The collection to iterate over.
  6720. * @param iteratee The function invoked per iteration.
  6721. * @param thisArg The this binding of iteratee.
  6722. * @return Returns the composed aggregate object.
  6723. */
  6724. keyBy<T>(
  6725. collection: List<T>,
  6726. iteratee?: ListIterator<T, any>
  6727. ): Dictionary<T>;
  6728. /**
  6729. * @see _.keyBy
  6730. */
  6731. keyBy<T>(
  6732. collection: NumericDictionary<T>,
  6733. iteratee?: NumericDictionaryIterator<T, any>
  6734. ): Dictionary<T>;
  6735. /**
  6736. * @see _.keyBy
  6737. */
  6738. keyBy<T>(
  6739. collection: Dictionary<T>,
  6740. iteratee?: DictionaryIterator<T, any>
  6741. ): Dictionary<T>;
  6742. /**
  6743. * @see _.keyBy
  6744. */
  6745. keyBy<T>(
  6746. collection: List<T>|NumericDictionary<T>|Dictionary<T>,
  6747. iteratee?: string
  6748. ): Dictionary<T>;
  6749. /**
  6750. * @see _.keyBy
  6751. */
  6752. keyBy<W extends Object, T>(
  6753. collection: List<T>|NumericDictionary<T>|Dictionary<T>,
  6754. iteratee?: W
  6755. ): Dictionary<T>;
  6756. /**
  6757. * @see _.keyBy
  6758. */
  6759. keyBy<T>(
  6760. collection: List<T>|NumericDictionary<T>|Dictionary<T>,
  6761. iteratee?: Object
  6762. ): Dictionary<T>;
  6763. }
  6764. interface LoDashImplicitWrapper<T> {
  6765. /**
  6766. * @see _.keyBy
  6767. */
  6768. keyBy(
  6769. iteratee?: ListIterator<T, any>
  6770. ): LoDashImplicitObjectWrapper<Dictionary<T>>;
  6771. }
  6772. interface LoDashImplicitArrayWrapper<T> {
  6773. /**
  6774. * @see _.keyBy
  6775. */
  6776. keyBy(
  6777. iteratee?: ListIterator<T, any>
  6778. ): LoDashImplicitObjectWrapper<Dictionary<T>>;
  6779. /**
  6780. * @see _.keyBy
  6781. */
  6782. keyBy(
  6783. iteratee?: string
  6784. ): LoDashImplicitObjectWrapper<Dictionary<T>>;
  6785. /**
  6786. * @see _.keyBy
  6787. */
  6788. keyBy<W extends Object>(
  6789. iteratee?: W
  6790. ): LoDashImplicitObjectWrapper<Dictionary<T>>;
  6791. }
  6792. interface LoDashImplicitObjectWrapper<T> {
  6793. /**
  6794. * @see _.keyBy
  6795. */
  6796. keyBy<T>(
  6797. iteratee?: ListIterator<T, any>|NumericDictionaryIterator<T, any>|DictionaryIterator<T, any>
  6798. ): LoDashImplicitObjectWrapper<Dictionary<T>>;
  6799. /**
  6800. * @see _.keyBy
  6801. */
  6802. keyBy<T>(
  6803. iteratee?: string
  6804. ): LoDashImplicitObjectWrapper<Dictionary<T>>;
  6805. /**
  6806. * @see _.keyBy
  6807. */
  6808. keyBy<W extends Object, T>(
  6809. iteratee?: W
  6810. ): LoDashImplicitObjectWrapper<Dictionary<T>>;
  6811. /**
  6812. * @see _.keyBy
  6813. */
  6814. keyBy<T>(
  6815. iteratee?: Object
  6816. ): LoDashImplicitObjectWrapper<Dictionary<T>>;
  6817. }
  6818. interface LoDashExplicitWrapper<T> {
  6819. /**
  6820. * @see _.keyBy
  6821. */
  6822. keyBy(
  6823. iteratee?: ListIterator<T, any>
  6824. ): LoDashExplicitObjectWrapper<Dictionary<T>>;
  6825. }
  6826. interface LoDashExplicitArrayWrapper<T> {
  6827. /**
  6828. * @see _.keyBy
  6829. */
  6830. keyBy(
  6831. iteratee?: ListIterator<T, any>
  6832. ): LoDashExplicitObjectWrapper<Dictionary<T>>;
  6833. /**
  6834. * @see _.keyBy
  6835. */
  6836. keyBy(
  6837. iteratee?: string
  6838. ): LoDashExplicitObjectWrapper<Dictionary<T>>;
  6839. /**
  6840. * @see _.keyBy
  6841. */
  6842. keyBy<W extends Object>(
  6843. iteratee?: W
  6844. ): LoDashExplicitObjectWrapper<Dictionary<T>>;
  6845. }
  6846. interface LoDashExplicitObjectWrapper<T> {
  6847. /**
  6848. * @see _.keyBy
  6849. */
  6850. keyBy<T>(
  6851. iteratee?: ListIterator<T, any>|NumericDictionaryIterator<T, any>|DictionaryIterator<T, any>
  6852. ): LoDashExplicitObjectWrapper<Dictionary<T>>;
  6853. /**
  6854. * @see _.keyBy
  6855. */
  6856. keyBy<T>(
  6857. iteratee?: string
  6858. ): LoDashExplicitObjectWrapper<Dictionary<T>>;
  6859. /**
  6860. * @see _.keyBy
  6861. */
  6862. keyBy<W extends Object, T>(
  6863. iteratee?: W
  6864. ): LoDashExplicitObjectWrapper<Dictionary<T>>;
  6865. /**
  6866. * @see _.keyBy
  6867. */
  6868. keyBy<T>(
  6869. iteratee?: Object
  6870. ): LoDashExplicitObjectWrapper<Dictionary<T>>;
  6871. }
  6872. //_.invoke
  6873. interface LoDashStatic {
  6874. /**
  6875. * Invokes the method at path of object.
  6876. * @param object The object to query.
  6877. * @param path The path of the method to invoke.
  6878. * @param args The arguments to invoke the method with.
  6879. **/
  6880. invoke<TObject extends Object, TResult>(
  6881. object: TObject,
  6882. path: StringRepresentable|StringRepresentable[],
  6883. ...args: any[]): TResult;
  6884. /**
  6885. * @see _.invoke
  6886. **/
  6887. invoke<TValue, TResult>(
  6888. object: Dictionary<TValue>|TValue[],
  6889. path: StringRepresentable|StringRepresentable[],
  6890. ...args: any[]): TResult;
  6891. /**
  6892. * @see _.invoke
  6893. **/
  6894. invoke<TResult>(
  6895. object: any,
  6896. path: StringRepresentable|StringRepresentable[],
  6897. ...args: any[]): TResult;
  6898. }
  6899. interface LoDashImplicitArrayWrapper<T> {
  6900. /**
  6901. * @see _.invoke
  6902. **/
  6903. invoke<TResult>(
  6904. path: StringRepresentable|StringRepresentable[],
  6905. ...args: any[]): TResult;
  6906. }
  6907. interface LoDashImplicitObjectWrapper<T> {
  6908. /**
  6909. * @see _.invoke
  6910. **/
  6911. invoke<TResult>(
  6912. path: StringRepresentable|StringRepresentable[],
  6913. ...args: any[]): TResult;
  6914. }
  6915. interface LoDashExplicitArrayWrapper<T> {
  6916. /**
  6917. * @see _.invoke
  6918. **/
  6919. invoke<TResult>(
  6920. path: StringRepresentable|StringRepresentable[],
  6921. ...args: any[]): TResult;
  6922. }
  6923. interface LoDashExplicitObjectWrapper<T> {
  6924. /**
  6925. * @see _.invoke
  6926. **/
  6927. invoke<TResult>(
  6928. path: StringRepresentable|StringRepresentable[],
  6929. ...args: any[]): TResult;
  6930. }
  6931. //_.invokeMap
  6932. interface LoDashStatic {
  6933. /**
  6934. * Invokes the method named by methodName on each element in the collection returning
  6935. * an array of the results of each invoked method. Additional arguments will be provided
  6936. * to each invoked method. If methodName is a function it will be invoked for, and this
  6937. * bound to, each element in the collection.
  6938. * @param collection The collection to iterate over.
  6939. * @param methodName The name of the method to invoke.
  6940. * @param args Arguments to invoke the method with.
  6941. **/
  6942. invokeMap<TValue extends {}, TResult>(
  6943. collection: TValue[],
  6944. methodName: string,
  6945. ...args: any[]): TResult[];
  6946. /**
  6947. * @see _.invokeMap
  6948. **/
  6949. invokeMap<TValue extends {}, TResult>(
  6950. collection: Dictionary<TValue>,
  6951. methodName: string,
  6952. ...args: any[]): TResult[];
  6953. /**
  6954. * @see _.invokeMap
  6955. **/
  6956. invokeMap<TResult>(
  6957. collection: {}[],
  6958. methodName: string,
  6959. ...args: any[]): TResult[];
  6960. /**
  6961. * @see _.invokeMap
  6962. **/
  6963. invokeMap<TResult>(
  6964. collection: Dictionary<{}>,
  6965. methodName: string,
  6966. ...args: any[]): TResult[];
  6967. /**
  6968. * @see _.invokeMap
  6969. **/
  6970. invokeMap<TValue extends {}, TResult>(
  6971. collection: TValue[],
  6972. method: (...args: any[]) => TResult,
  6973. ...args: any[]): TResult[];
  6974. /**
  6975. * @see _.invokeMap
  6976. **/
  6977. invokeMap<TValue extends {}, TResult>(
  6978. collection: Dictionary<TValue>,
  6979. method: (...args: any[]) => TResult,
  6980. ...args: any[]): TResult[];
  6981. /**
  6982. * @see _.invokeMap
  6983. **/
  6984. invokeMap<TResult>(
  6985. collection: {}[],
  6986. method: (...args: any[]) => TResult,
  6987. ...args: any[]): TResult[];
  6988. /**
  6989. * @see _.invokeMap
  6990. **/
  6991. invokeMap<TResult>(
  6992. collection: Dictionary<{}>,
  6993. method: (...args: any[]) => TResult,
  6994. ...args: any[]): TResult[];
  6995. }
  6996. interface LoDashImplicitArrayWrapper<T> {
  6997. /**
  6998. * @see _.invokeMap
  6999. **/
  7000. invokeMap<TResult>(
  7001. methodName: string,
  7002. ...args: any[]): LoDashImplicitArrayWrapper<TResult>;
  7003. /**
  7004. * @see _.invokeMap
  7005. **/
  7006. invokeMap<TResult>(
  7007. method: (...args: any[]) => TResult,
  7008. ...args: any[]): LoDashImplicitArrayWrapper<TResult>;
  7009. }
  7010. interface LoDashImplicitObjectWrapper<T> {
  7011. /**
  7012. * @see _.invokeMap
  7013. **/
  7014. invokeMap<TResult>(
  7015. methodName: string,
  7016. ...args: any[]): LoDashImplicitArrayWrapper<TResult>;
  7017. /**
  7018. * @see _.invokeMap
  7019. **/
  7020. invokeMap<TResult>(
  7021. method: (...args: any[]) => TResult,
  7022. ...args: any[]): LoDashImplicitArrayWrapper<TResult>;
  7023. }
  7024. interface LoDashExplicitArrayWrapper<T> {
  7025. /**
  7026. * @see _.invokeMap
  7027. **/
  7028. invokeMap<TResult>(
  7029. methodName: string,
  7030. ...args: any[]): LoDashExplicitArrayWrapper<TResult>;
  7031. /**
  7032. * @see _.invokeMap
  7033. **/
  7034. invokeMap<TResult>(
  7035. method: (...args: any[]) => TResult,
  7036. ...args: any[]): LoDashExplicitArrayWrapper<TResult>;
  7037. }
  7038. interface LoDashExplicitObjectWrapper<T> {
  7039. /**
  7040. * @see _.invokeMap
  7041. **/
  7042. invokeMap<TResult>(
  7043. methodName: string,
  7044. ...args: any[]): LoDashExplicitArrayWrapper<TResult>;
  7045. /**
  7046. * @see _.invokeMap
  7047. **/
  7048. invokeMap<TResult>(
  7049. method: (...args: any[]) => TResult,
  7050. ...args: any[]): LoDashExplicitArrayWrapper<TResult>;
  7051. }
  7052. //_.map
  7053. interface LoDashStatic {
  7054. /**
  7055. * Creates an array of values by running each element in collection through iteratee. The iteratee is bound to
  7056. * thisArg and invoked with three arguments: (value, index|key, collection).
  7057. *
  7058. * If a property name is provided for iteratee the created _.property style callback returns the property value
  7059. * of the given element.
  7060. *
  7061. * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for
  7062. * elements that have a matching property value, else false.
  7063. *
  7064. * If an object is provided for iteratee the created _.matches style callback returns true for elements that
  7065. * have the properties of the given object, else false.
  7066. *
  7067. * Many lodash methods are guarded to work as iteratees for methods like _.every, _.filter, _.map, _.mapValues,
  7068. * _.reject, and _.some.
  7069. *
  7070. * The guarded methods are:
  7071. * ary, callback, chunk, clone, create, curry, curryRight, drop, dropRight, every, fill, flatten, invert, max,
  7072. * min, parseInt, slice, sortBy, take, takeRight, template, trim, trimLeft, trimRight, trunc, random, range,
  7073. * sample, some, sum, uniq, and words
  7074. *
  7075. * @param collection The collection to iterate over.
  7076. * @param iteratee The function invoked per iteration.
  7077. * @param thisArg The this binding of iteratee.
  7078. * @return Returns the new mapped array.
  7079. */
  7080. map<T, TResult>(
  7081. collection: List<T>,
  7082. iteratee?: ListIterator<T, TResult>
  7083. ): TResult[];
  7084. /**
  7085. * @see _.map
  7086. */
  7087. map<T extends {}, TResult>(
  7088. collection: Dictionary<T>,
  7089. iteratee?: DictionaryIterator<T, TResult>
  7090. ): TResult[];
  7091. map<T extends {}, TResult>(
  7092. collection: NumericDictionary<T>,
  7093. iteratee?: NumericDictionaryIterator<T, TResult>
  7094. ): TResult[];
  7095. /**
  7096. * @see _.map
  7097. */
  7098. map<T, TResult>(
  7099. collection: List<T>|Dictionary<T>|NumericDictionary<T>,
  7100. iteratee?: string
  7101. ): TResult[];
  7102. /**
  7103. * @see _.map
  7104. */
  7105. map<T, TObject extends {}>(
  7106. collection: List<T>|Dictionary<T>|NumericDictionary<T>,
  7107. iteratee?: TObject
  7108. ): boolean[];
  7109. }
  7110. interface LoDashImplicitArrayWrapper<T> {
  7111. /**
  7112. * @see _.map
  7113. */
  7114. map<TResult>(
  7115. iteratee?: ListIterator<T, TResult>
  7116. ): LoDashImplicitArrayWrapper<TResult>;
  7117. /**
  7118. * @see _.map
  7119. */
  7120. map<TResult>(
  7121. iteratee?: string
  7122. ): LoDashImplicitArrayWrapper<TResult>;
  7123. /**
  7124. * @see _.map
  7125. */
  7126. map<TObject extends {}>(
  7127. iteratee?: TObject
  7128. ): LoDashImplicitArrayWrapper<boolean>;
  7129. }
  7130. interface LoDashImplicitObjectWrapper<T> {
  7131. /**
  7132. * @see _.map
  7133. */
  7134. map<TValue, TResult>(
  7135. iteratee?: ListIterator<TValue, TResult>|DictionaryIterator<TValue, TResult>
  7136. ): LoDashImplicitArrayWrapper<TResult>;
  7137. /**
  7138. * @see _.map
  7139. */
  7140. map<TValue, TResult>(
  7141. iteratee?: string
  7142. ): LoDashImplicitArrayWrapper<TResult>;
  7143. /**
  7144. * @see _.map
  7145. */
  7146. map<TObject extends {}>(
  7147. iteratee?: TObject
  7148. ): LoDashImplicitArrayWrapper<boolean>;
  7149. }
  7150. interface LoDashExplicitArrayWrapper<T> {
  7151. /**
  7152. * @see _.map
  7153. */
  7154. map<TResult>(
  7155. iteratee?: ListIterator<T, TResult>
  7156. ): LoDashExplicitArrayWrapper<TResult>;
  7157. /**
  7158. * @see _.map
  7159. */
  7160. map<TResult>(
  7161. iteratee?: string
  7162. ): LoDashExplicitArrayWrapper<TResult>;
  7163. /**
  7164. * @see _.map
  7165. */
  7166. map<TObject extends {}>(
  7167. iteratee?: TObject
  7168. ): LoDashExplicitArrayWrapper<boolean>;
  7169. }
  7170. interface LoDashExplicitObjectWrapper<T> {
  7171. /**
  7172. * @see _.map
  7173. */
  7174. map<TValue, TResult>(
  7175. iteratee?: ListIterator<TValue, TResult>|DictionaryIterator<TValue, TResult>
  7176. ): LoDashExplicitArrayWrapper<TResult>;
  7177. /**
  7178. * @see _.map
  7179. */
  7180. map<TValue, TResult>(
  7181. iteratee?: string
  7182. ): LoDashExplicitArrayWrapper<TResult>;
  7183. /**
  7184. * @see _.map
  7185. */
  7186. map<TObject extends {}>(
  7187. iteratee?: TObject
  7188. ): LoDashExplicitArrayWrapper<boolean>;
  7189. }
  7190. //_.partition
  7191. interface LoDashStatic {
  7192. /**
  7193. * Creates an array of elements split into two groups, the first of which contains elements predicate returns truthy for,
  7194. * while the second of which contains elements predicate returns falsey for.
  7195. * The predicate is bound to thisArg and invoked with three arguments: (value, index|key, collection).
  7196. *
  7197. * If a property name is provided for predicate the created _.property style callback
  7198. * returns the property value of the given element.
  7199. *
  7200. * If a value is also provided for thisArg the created _.matchesProperty style callback
  7201. * returns true for elements that have a matching property value, else false.
  7202. *
  7203. * If an object is provided for predicate the created _.matches style callback returns
  7204. * true for elements that have the properties of the given object, else false.
  7205. *
  7206. * @param collection The collection to iterate over.
  7207. * @param callback The function called per iteration.
  7208. * @param thisArg The this binding of predicate.
  7209. * @return Returns the array of grouped elements.
  7210. **/
  7211. partition<T>(
  7212. collection: List<T>,
  7213. callback: ListIterator<T, boolean>): T[][];
  7214. /**
  7215. * @see _.partition
  7216. **/
  7217. partition<T>(
  7218. collection: Dictionary<T>,
  7219. callback: DictionaryIterator<T, boolean>): T[][];
  7220. /**
  7221. * @see _.partition
  7222. **/
  7223. partition<W, T>(
  7224. collection: List<T>,
  7225. whereValue: W): T[][];
  7226. /**
  7227. * @see _.partition
  7228. **/
  7229. partition<W, T>(
  7230. collection: Dictionary<T>,
  7231. whereValue: W): T[][];
  7232. /**
  7233. * @see _.partition
  7234. **/
  7235. partition<T>(
  7236. collection: List<T>,
  7237. path: string,
  7238. srcValue: any): T[][];
  7239. /**
  7240. * @see _.partition
  7241. **/
  7242. partition<T>(
  7243. collection: Dictionary<T>,
  7244. path: string,
  7245. srcValue: any): T[][];
  7246. /**
  7247. * @see _.partition
  7248. **/
  7249. partition<T>(
  7250. collection: List<T>,
  7251. pluckValue: string): T[][];
  7252. /**
  7253. * @see _.partition
  7254. **/
  7255. partition<T>(
  7256. collection: Dictionary<T>,
  7257. pluckValue: string): T[][];
  7258. }
  7259. interface LoDashImplicitStringWrapper {
  7260. /**
  7261. * @see _.partition
  7262. */
  7263. partition(
  7264. callback: ListIterator<string, boolean>): LoDashImplicitArrayWrapper<string[]>;
  7265. }
  7266. interface LoDashImplicitArrayWrapper<T> {
  7267. /**
  7268. * @see _.partition
  7269. */
  7270. partition(
  7271. callback: ListIterator<T, boolean>): LoDashImplicitArrayWrapper<T[]>;
  7272. /**
  7273. * @see _.partition
  7274. */
  7275. partition<W>(
  7276. whereValue: W): LoDashImplicitArrayWrapper<T[]>;
  7277. /**
  7278. * @see _.partition
  7279. */
  7280. partition(
  7281. path: string,
  7282. srcValue: any): LoDashImplicitArrayWrapper<T[]>;
  7283. /**
  7284. * @see _.partition
  7285. */
  7286. partition(
  7287. pluckValue: string): LoDashImplicitArrayWrapper<T[]>;
  7288. }
  7289. interface LoDashImplicitObjectWrapper<T> {
  7290. /**
  7291. * @see _.partition
  7292. */
  7293. partition<TResult>(
  7294. callback: ListIterator<TResult, boolean>): LoDashImplicitArrayWrapper<TResult[]>;
  7295. /**
  7296. * @see _.partition
  7297. */
  7298. partition<TResult>(
  7299. callback: DictionaryIterator<TResult, boolean>): LoDashImplicitArrayWrapper<TResult[]>;
  7300. /**
  7301. * @see _.partition
  7302. */
  7303. partition<W, TResult>(
  7304. whereValue: W): LoDashImplicitArrayWrapper<TResult[]>;
  7305. /**
  7306. * @see _.partition
  7307. */
  7308. partition<TResult>(
  7309. path: string,
  7310. srcValue: any): LoDashImplicitArrayWrapper<TResult[]>;
  7311. /**
  7312. * @see _.partition
  7313. */
  7314. partition<TResult>(
  7315. pluckValue: string): LoDashImplicitArrayWrapper<TResult[]>;
  7316. }
  7317. //_.reduce
  7318. interface LoDashStatic {
  7319. /**
  7320. * Reduces a collection to a value which is the accumulated result of running each
  7321. * element in the collection through the callback, where each successive callback execution
  7322. * consumes the return value of the previous execution. If accumulator is not provided the
  7323. * first element of the collection will be used as the initial accumulator value. The callback
  7324. * is bound to thisArg and invoked with four arguments; (accumulator, value, index|key, collection).
  7325. * @param collection The collection to iterate over.
  7326. * @param callback The function called per iteration.
  7327. * @param accumulator Initial value of the accumulator.
  7328. * @param thisArg The this binding of callback.
  7329. * @return Returns the accumulated value.
  7330. **/
  7331. reduce<T, TResult>(
  7332. collection: Array<T>,
  7333. callback: MemoIterator<T, TResult>,
  7334. accumulator: TResult): TResult;
  7335. /**
  7336. * @see _.reduce
  7337. **/
  7338. reduce<T, TResult>(
  7339. collection: List<T>,
  7340. callback: MemoIterator<T, TResult>,
  7341. accumulator: TResult): TResult;
  7342. /**
  7343. * @see _.reduce
  7344. **/
  7345. reduce<T, TResult>(
  7346. collection: Dictionary<T>,
  7347. callback: MemoIterator<T, TResult>,
  7348. accumulator: TResult): TResult;
  7349. /**
  7350. * @see _.reduce
  7351. **/
  7352. reduce<T, TResult>(
  7353. collection: NumericDictionary<T>,
  7354. callback: MemoIterator<T, TResult>,
  7355. accumulator: TResult): TResult;
  7356. /**
  7357. * @see _.reduce
  7358. **/
  7359. reduce<T, TResult>(
  7360. collection: Array<T>,
  7361. callback: MemoIterator<T, TResult>): TResult;
  7362. /**
  7363. * @see _.reduce
  7364. **/
  7365. reduce<T, TResult>(
  7366. collection: List<T>,
  7367. callback: MemoIterator<T, TResult>): TResult;
  7368. /**
  7369. * @see _.reduce
  7370. **/
  7371. reduce<T, TResult>(
  7372. collection: Dictionary<T>,
  7373. callback: MemoIterator<T, TResult>): TResult;
  7374. /**
  7375. * @see _.reduce
  7376. **/
  7377. reduce<T, TResult>(
  7378. collection: NumericDictionary<T>,
  7379. callback: MemoIterator<T, TResult>): TResult;
  7380. }
  7381. interface LoDashImplicitArrayWrapper<T> {
  7382. /**
  7383. * @see _.reduce
  7384. **/
  7385. reduce<TResult>(
  7386. callback: MemoIterator<T, TResult>,
  7387. accumulator: TResult): TResult;
  7388. /**
  7389. * @see _.reduce
  7390. **/
  7391. reduce<TResult>(
  7392. callback: MemoIterator<T, TResult>): TResult;
  7393. }
  7394. interface LoDashImplicitObjectWrapper<T> {
  7395. /**
  7396. * @see _.reduce
  7397. **/
  7398. reduce<TValue, TResult>(
  7399. callback: MemoIterator<TValue, TResult>,
  7400. accumulator: TResult): TResult;
  7401. /**
  7402. * @see _.reduce
  7403. **/
  7404. reduce<TValue, TResult>(
  7405. callback: MemoIterator<TValue, TResult>): TResult;
  7406. }
  7407. interface LoDashExplicitObjectWrapper<T> {
  7408. /**
  7409. * @see _.reduce
  7410. **/
  7411. reduce<TValue, TResult>(
  7412. callback: MemoIterator<TValue, TResult>,
  7413. accumulator: TResult): LoDashExplicitObjectWrapper<TResult>;
  7414. /**
  7415. * @see _.reduce
  7416. **/
  7417. reduce<TValue, TResult>(
  7418. callback: MemoIterator<TValue, TResult>): LoDashExplicitObjectWrapper<TResult>;
  7419. }
  7420. interface LoDashExplicitArrayWrapper<T> {
  7421. /**LoDashExplicitWrapper
  7422. * @see _.reduce
  7423. */
  7424. reduce<TResult>(
  7425. callback: MemoIterator<T, TResult>,
  7426. accumulator: TResult): LoDashExplicitWrapper<TResult>;
  7427. /**
  7428. * @see _.reduce
  7429. */
  7430. reduce<TResult>(
  7431. callback: MemoIterator<T, TResult>): LoDashExplicitWrapper<TResult>;
  7432. }
  7433. //_.reduceRight
  7434. interface LoDashStatic {
  7435. /**
  7436. * This method is like _.reduce except that it iterates over elements of a collection from
  7437. * right to left.
  7438. * @param collection The collection to iterate over.
  7439. * @param callback The function called per iteration.
  7440. * @param accumulator Initial value of the accumulator.
  7441. * @param thisArg The this binding of callback.
  7442. * @return The accumulated value.
  7443. **/
  7444. reduceRight<T, TResult>(
  7445. collection: Array<T>,
  7446. callback: MemoIterator<T, TResult>,
  7447. accumulator: TResult): TResult;
  7448. /**
  7449. * @see _.reduceRight
  7450. **/
  7451. reduceRight<T, TResult>(
  7452. collection: List<T>,
  7453. callback: MemoIterator<T, TResult>,
  7454. accumulator: TResult): TResult;
  7455. /**
  7456. * @see _.reduceRight
  7457. **/
  7458. reduceRight<T, TResult>(
  7459. collection: Dictionary<T>,
  7460. callback: MemoIterator<T, TResult>,
  7461. accumulator: TResult): TResult;
  7462. /**
  7463. * @see _.reduceRight
  7464. **/
  7465. reduceRight<T, TResult>(
  7466. collection: Array<T>,
  7467. callback: MemoIterator<T, TResult>): TResult;
  7468. /**
  7469. * @see _.reduceRight
  7470. **/
  7471. reduceRight<T, TResult>(
  7472. collection: List<T>,
  7473. callback: MemoIterator<T, TResult>): TResult;
  7474. /**
  7475. * @see _.reduceRight
  7476. **/
  7477. reduceRight<T, TResult>(
  7478. collection: Dictionary<T>,
  7479. callback: MemoIterator<T, TResult>): TResult;
  7480. }
  7481. //_.reject
  7482. interface LoDashStatic {
  7483. /**
  7484. * The opposite of _.filter; this method returns the elements of collection that predicate does not return
  7485. * truthy for.
  7486. *
  7487. * @param collection The collection to iterate over.
  7488. * @param predicate The function invoked per iteration.
  7489. * @param thisArg The this binding of predicate.
  7490. * @return Returns the new filtered array.
  7491. */
  7492. reject<T>(
  7493. collection: List<T>,
  7494. predicate?: ListIterator<T, boolean>
  7495. ): T[];
  7496. /**
  7497. * @see _.reject
  7498. */
  7499. reject<T>(
  7500. collection: Dictionary<T>,
  7501. predicate?: DictionaryIterator<T, boolean>
  7502. ): T[];
  7503. /**
  7504. * @see _.reject
  7505. */
  7506. reject(
  7507. collection: string,
  7508. predicate?: StringIterator<boolean>
  7509. ): string[];
  7510. /**
  7511. * @see _.reject
  7512. */
  7513. reject<T>(
  7514. collection: List<T>|Dictionary<T>,
  7515. predicate: string
  7516. ): T[];
  7517. /**
  7518. * @see _.reject
  7519. */
  7520. reject<W extends {}, T>(
  7521. collection: List<T>|Dictionary<T>,
  7522. predicate: W
  7523. ): T[];
  7524. }
  7525. interface LoDashImplicitWrapper<T> {
  7526. /**
  7527. * @see _.reject
  7528. */
  7529. reject(
  7530. predicate?: StringIterator<boolean>
  7531. ): LoDashImplicitArrayWrapper<string>;
  7532. }
  7533. interface LoDashImplicitArrayWrapper<T> {
  7534. /**
  7535. * @see _.reject
  7536. */
  7537. reject(
  7538. predicate: ListIterator<T, boolean>
  7539. ): LoDashImplicitArrayWrapper<T>;
  7540. /**
  7541. * @see _.reject
  7542. */
  7543. reject(
  7544. predicate: string
  7545. ): LoDashImplicitArrayWrapper<T>;
  7546. /**
  7547. * @see _.reject
  7548. */
  7549. reject<W>(predicate: W): LoDashImplicitArrayWrapper<T>;
  7550. }
  7551. interface LoDashImplicitObjectWrapper<T> {
  7552. /**
  7553. * @see _.reject
  7554. */
  7555. reject<T>(
  7556. predicate: ListIterator<T, boolean>|DictionaryIterator<T, boolean>
  7557. ): LoDashImplicitArrayWrapper<T>;
  7558. /**
  7559. * @see _.reject
  7560. */
  7561. reject<T>(
  7562. predicate: string
  7563. ): LoDashImplicitArrayWrapper<T>;
  7564. /**
  7565. * @see _.reject
  7566. */
  7567. reject<W, T>(predicate: W): LoDashImplicitArrayWrapper<T>;
  7568. }
  7569. interface LoDashExplicitWrapper<T> {
  7570. /**
  7571. * @see _.reject
  7572. */
  7573. reject(
  7574. predicate?: StringIterator<boolean>
  7575. ): LoDashExplicitArrayWrapper<string>;
  7576. }
  7577. interface LoDashExplicitArrayWrapper<T> {
  7578. /**
  7579. * @see _.reject
  7580. */
  7581. reject(
  7582. predicate: ListIterator<T, boolean>
  7583. ): LoDashExplicitArrayWrapper<T>;
  7584. /**
  7585. * @see _.reject
  7586. */
  7587. reject(
  7588. predicate: string
  7589. ): LoDashExplicitArrayWrapper<T>;
  7590. /**
  7591. * @see _.reject
  7592. */
  7593. reject<W>(predicate: W): LoDashExplicitArrayWrapper<T>;
  7594. }
  7595. interface LoDashExplicitObjectWrapper<T> {
  7596. /**
  7597. * @see _.reject
  7598. */
  7599. reject<T>(
  7600. predicate: ListIterator<T, boolean>|DictionaryIterator<T, boolean>
  7601. ): LoDashExplicitArrayWrapper<T>;
  7602. /**
  7603. * @see _.reject
  7604. */
  7605. reject<T>(
  7606. predicate: string
  7607. ): LoDashExplicitArrayWrapper<T>;
  7608. /**
  7609. * @see _.reject
  7610. */
  7611. reject<W, T>(predicate: W): LoDashExplicitArrayWrapper<T>;
  7612. }
  7613. //_.sample
  7614. interface LoDashStatic {
  7615. /**
  7616. * Gets a random element from collection.
  7617. *
  7618. * @param collection The collection to sample.
  7619. * @return Returns the random element.
  7620. */
  7621. sample<T>(
  7622. collection: List<T>|Dictionary<T>|NumericDictionary<T>
  7623. ): T;
  7624. /**
  7625. * @see _.sample
  7626. */
  7627. sample<O extends Object, T>(
  7628. collection: O
  7629. ): T;
  7630. /**
  7631. * @see _.sample
  7632. */
  7633. sample<T>(
  7634. collection: Object
  7635. ): T;
  7636. }
  7637. interface LoDashImplicitWrapper<T> {
  7638. /**
  7639. * @see _.sample
  7640. */
  7641. sample(): string;
  7642. }
  7643. interface LoDashImplicitArrayWrapper<T> {
  7644. /**
  7645. * @see _.sample
  7646. */
  7647. sample(): T;
  7648. }
  7649. interface LoDashImplicitObjectWrapper<T> {
  7650. /**
  7651. * @see _.sample
  7652. */
  7653. sample<T>(): T;
  7654. }
  7655. interface LoDashExplicitWrapper<T> {
  7656. /**
  7657. * @see _.sample
  7658. */
  7659. sample(): LoDashExplicitWrapper<string>;
  7660. }
  7661. interface LoDashExplicitArrayWrapper<T> {
  7662. /**
  7663. * @see _.sample
  7664. */
  7665. sample<TWrapper>(): TWrapper;
  7666. }
  7667. interface LoDashExplicitObjectWrapper<T> {
  7668. /**
  7669. * @see _.sample
  7670. */
  7671. sample<TWrapper>(): TWrapper;
  7672. }
  7673. //_.sampleSize
  7674. interface LoDashStatic {
  7675. /**
  7676. * Gets n random elements at unique keys from collection up to the size of collection.
  7677. *
  7678. * @param collection The collection to sample.
  7679. * @param n The number of elements to sample.
  7680. * @return Returns the random elements.
  7681. */
  7682. sampleSize<T>(
  7683. collection: List<T>|Dictionary<T>|NumericDictionary<T>,
  7684. n?: number
  7685. ): T[];
  7686. /**
  7687. * @see _.sampleSize
  7688. */
  7689. sampleSize<O extends Object, T>(
  7690. collection: O,
  7691. n?: number
  7692. ): T[];
  7693. /**
  7694. * @see _.sampleSize
  7695. */
  7696. sampleSize<T>(
  7697. collection: Object,
  7698. n?: number
  7699. ): T[];
  7700. }
  7701. interface LoDashImplicitWrapper<T> {
  7702. /**
  7703. * @see _.sampleSize
  7704. */
  7705. sampleSize(
  7706. n?: number
  7707. ): LoDashImplicitArrayWrapper<string>;
  7708. }
  7709. interface LoDashImplicitArrayWrapper<T> {
  7710. /**
  7711. * @see _.sampleSize
  7712. */
  7713. sampleSize(
  7714. n?: number
  7715. ): LoDashImplicitArrayWrapper<T>;
  7716. }
  7717. interface LoDashImplicitObjectWrapper<T> {
  7718. /**
  7719. * @see _.sampleSize
  7720. */
  7721. sampleSize<T>(
  7722. n?: number
  7723. ): LoDashImplicitArrayWrapper<T>;
  7724. }
  7725. interface LoDashExplicitWrapper<T> {
  7726. /**
  7727. * @see _.sampleSize
  7728. */
  7729. sampleSize(
  7730. n?: number
  7731. ): LoDashExplicitArrayWrapper<string>;
  7732. }
  7733. interface LoDashExplicitArrayWrapper<T> {
  7734. /**
  7735. * @see _.sampleSize
  7736. */
  7737. sampleSize(
  7738. n?: number
  7739. ): LoDashExplicitArrayWrapper<T>;
  7740. }
  7741. interface LoDashExplicitObjectWrapper<T> {
  7742. /**
  7743. * @see _.sampleSize
  7744. */
  7745. sampleSize<T>(
  7746. n?: number
  7747. ): LoDashExplicitArrayWrapper<T>;
  7748. }
  7749. //_.shuffle
  7750. interface LoDashStatic {
  7751. /**
  7752. * Creates an array of shuffled values, using a version of the Fisher-Yates shuffle.
  7753. *
  7754. * @param collection The collection to shuffle.
  7755. * @return Returns the new shuffled array.
  7756. */
  7757. shuffle<T>(collection: List<T>|Dictionary<T>): T[];
  7758. /**
  7759. * @see _.shuffle
  7760. */
  7761. shuffle(collection: string): string[];
  7762. }
  7763. interface LoDashImplicitWrapper<T> {
  7764. /**
  7765. * @see _.shuffle
  7766. */
  7767. shuffle(): LoDashImplicitArrayWrapper<string>;
  7768. }
  7769. interface LoDashImplicitArrayWrapper<T> {
  7770. /**
  7771. * @see _.shuffle
  7772. */
  7773. shuffle(): LoDashImplicitArrayWrapper<T>;
  7774. }
  7775. interface LoDashImplicitObjectWrapper<T> {
  7776. /**
  7777. * @see _.shuffle
  7778. */
  7779. shuffle<T>(): LoDashImplicitArrayWrapper<T>;
  7780. }
  7781. interface LoDashExplicitWrapper<T> {
  7782. /**
  7783. * @see _.shuffle
  7784. */
  7785. shuffle(): LoDashExplicitArrayWrapper<string>;
  7786. }
  7787. interface LoDashExplicitArrayWrapper<T> {
  7788. /**
  7789. * @see _.shuffle
  7790. */
  7791. shuffle(): LoDashExplicitArrayWrapper<T>;
  7792. }
  7793. interface LoDashExplicitObjectWrapper<T> {
  7794. /**
  7795. * @see _.shuffle
  7796. */
  7797. shuffle<T>(): LoDashExplicitArrayWrapper<T>;
  7798. }
  7799. //_.size
  7800. interface LoDashStatic {
  7801. /**
  7802. * Gets the size of collection by returning its length for array-like values or the number of own enumerable
  7803. * properties for objects.
  7804. *
  7805. * @param collection The collection to inspect.
  7806. * @return Returns the size of collection.
  7807. */
  7808. size<T>(collection: List<T>|Dictionary<T>): number;
  7809. /**
  7810. * @see _.size
  7811. */
  7812. size(collection: string): number;
  7813. }
  7814. interface LoDashImplicitWrapper<T> {
  7815. /**
  7816. * @see _.size
  7817. */
  7818. size(): number;
  7819. }
  7820. interface LoDashImplicitArrayWrapper<T> {
  7821. /**
  7822. * @see _.size
  7823. */
  7824. size(): number;
  7825. }
  7826. interface LoDashImplicitObjectWrapper<T> {
  7827. /**
  7828. * @see _.size
  7829. */
  7830. size(): number;
  7831. }
  7832. interface LoDashExplicitWrapper<T> {
  7833. /**
  7834. * @see _.size
  7835. */
  7836. size(): LoDashExplicitWrapper<number>;
  7837. }
  7838. interface LoDashExplicitArrayWrapper<T> {
  7839. /**
  7840. * @see _.size
  7841. */
  7842. size(): LoDashExplicitWrapper<number>;
  7843. }
  7844. interface LoDashExplicitObjectWrapper<T> {
  7845. /**
  7846. * @see _.size
  7847. */
  7848. size(): LoDashExplicitWrapper<number>;
  7849. }
  7850. //_.some
  7851. interface LoDashStatic {
  7852. /**
  7853. * Checks if predicate returns truthy for any element of collection. Iteration is stopped once predicate
  7854. * returns truthy. The predicate is invoked with three arguments: (value, index|key, collection).
  7855. *
  7856. * @param collection The collection to iterate over.
  7857. * @param predicate The function invoked per iteration.
  7858. * @return Returns true if any element passes the predicate check, else false.
  7859. */
  7860. some<T>(
  7861. collection: List<T>,
  7862. predicate?: ListIterator<T, boolean>
  7863. ): boolean;
  7864. /**
  7865. * @see _.some
  7866. */
  7867. some<T>(
  7868. collection: Dictionary<T>,
  7869. predicate?: DictionaryIterator<T, boolean>
  7870. ): boolean;
  7871. /**
  7872. * @see _.some
  7873. */
  7874. some<T>(
  7875. collection: NumericDictionary<T>,
  7876. predicate?: NumericDictionaryIterator<T, boolean>
  7877. ): boolean;
  7878. /**
  7879. * @see _.some
  7880. */
  7881. some(
  7882. collection: Object,
  7883. predicate?: ObjectIterator<any, boolean>
  7884. ): boolean;
  7885. /**
  7886. * @see _.some
  7887. */
  7888. some<T>(
  7889. collection: List<T>|Dictionary<T>|NumericDictionary<T>,
  7890. predicate?: string|[string, any]
  7891. ): boolean;
  7892. /**
  7893. * @see _.some
  7894. */
  7895. some(
  7896. collection: Object,
  7897. predicate?: string|[string, any]
  7898. ): boolean;
  7899. /**
  7900. * @see _.some
  7901. */
  7902. some<TObject extends {}, T>(
  7903. collection: List<T>|Dictionary<T>|NumericDictionary<T>,
  7904. predicate?: TObject
  7905. ): boolean;
  7906. /**
  7907. * @see _.some
  7908. */
  7909. some<T>(
  7910. collection: List<T>|Dictionary<T>|NumericDictionary<T>,
  7911. predicate?: Object
  7912. ): boolean;
  7913. /**
  7914. * @see _.some
  7915. */
  7916. some<TObject extends {}>(
  7917. collection: Object,
  7918. predicate?: TObject
  7919. ): boolean;
  7920. }
  7921. interface LoDashImplicitArrayWrapper<T> {
  7922. /**
  7923. * @see _.some
  7924. */
  7925. some(
  7926. predicate?: ListIterator<T, boolean>|NumericDictionaryIterator<T, boolean>
  7927. ): boolean;
  7928. /**
  7929. * @see _.some
  7930. */
  7931. some(
  7932. predicate?: string|[string, any]
  7933. ): boolean;
  7934. /**
  7935. * @see _.some
  7936. */
  7937. some<TObject extends {}>(
  7938. predicate?: TObject
  7939. ): boolean;
  7940. }
  7941. interface LoDashImplicitObjectWrapper<T> {
  7942. /**
  7943. * @see _.some
  7944. */
  7945. some<TResult>(
  7946. predicate?: ListIterator<TResult, boolean>|DictionaryIterator<TResult, boolean>|NumericDictionaryIterator<T, boolean>|ObjectIterator<any, boolean>
  7947. ): boolean;
  7948. /**
  7949. * @see _.some
  7950. */
  7951. some(
  7952. predicate?: string|[string, any]
  7953. ): boolean;
  7954. /**
  7955. * @see _.some
  7956. */
  7957. some<TObject extends {}>(
  7958. predicate?: TObject
  7959. ): boolean;
  7960. }
  7961. interface LoDashExplicitArrayWrapper<T> {
  7962. /**
  7963. * @see _.some
  7964. */
  7965. some(
  7966. predicate?: ListIterator<T, boolean>|NumericDictionaryIterator<T, boolean>
  7967. ): LoDashExplicitWrapper<boolean>;
  7968. /**
  7969. * @see _.some
  7970. */
  7971. some(
  7972. predicate?: string|[string, any]
  7973. ): LoDashExplicitWrapper<boolean>;
  7974. /**
  7975. * @see _.some
  7976. */
  7977. some<TObject extends {}>(
  7978. predicate?: TObject
  7979. ): LoDashExplicitWrapper<boolean>;
  7980. }
  7981. interface LoDashExplicitObjectWrapper<T> {
  7982. /**
  7983. * @see _.some
  7984. */
  7985. some<TResult>(
  7986. predicate?: ListIterator<TResult, boolean>|DictionaryIterator<TResult, boolean>|NumericDictionaryIterator<T, boolean>|ObjectIterator<any, boolean>
  7987. ): LoDashExplicitWrapper<boolean>;
  7988. /**
  7989. * @see _.some
  7990. */
  7991. some(
  7992. predicate?: string|[string, any]
  7993. ): LoDashExplicitWrapper<boolean>;
  7994. /**
  7995. * @see _.some
  7996. */
  7997. some<TObject extends {}>(
  7998. predicate?: TObject
  7999. ): LoDashExplicitWrapper<boolean>;
  8000. }
  8001. //_.sortBy
  8002. interface LoDashStatic {
  8003. /**
  8004. * Creates an array of elements, sorted in ascending order by the results of
  8005. * running each element in a collection through each iteratee. This method
  8006. * performs a stable sort, that is, it preserves the original sort order of
  8007. * equal elements. The iteratees are invoked with one argument: (value).
  8008. *
  8009. * @static
  8010. * @memberOf _
  8011. * @category Collection
  8012. * @param {Array|Object} collection The collection to iterate over.
  8013. * @param {...(Function|Function[]|Object|Object[]|string|string[])} [iteratees=[_.identity]]
  8014. * The iteratees to sort by, specified individually or in arrays.
  8015. * @returns {Array} Returns the new sorted array.
  8016. * @example
  8017. *
  8018. * var users = [
  8019. * { 'user': 'fred', 'age': 48 },
  8020. * { 'user': 'barney', 'age': 36 },
  8021. * { 'user': 'fred', 'age': 42 },
  8022. * { 'user': 'barney', 'age': 34 }
  8023. * ];
  8024. *
  8025. * _.sortBy(users, function(o) { return o.user; });
  8026. * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]]
  8027. *
  8028. * _.sortBy(users, ['user', 'age']);
  8029. * // => objects for [['barney', 34], ['barney', 36], ['fred', 42], ['fred', 48]]
  8030. *
  8031. * _.sortBy(users, 'user', function(o) {
  8032. * return Math.floor(o.age / 10);
  8033. * });
  8034. * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]]
  8035. */
  8036. sortBy<T, TSort>(
  8037. collection: List<T>,
  8038. iteratee?: ListIterator<T, TSort>
  8039. ): T[];
  8040. /**
  8041. * @see _.sortBy
  8042. */
  8043. sortBy<T, TSort>(
  8044. collection: Dictionary<T>,
  8045. iteratee?: DictionaryIterator<T, TSort>
  8046. ): T[];
  8047. /**
  8048. * @see _.sortBy
  8049. */
  8050. sortBy<T>(
  8051. collection: List<T>|Dictionary<T>,
  8052. iteratee: string
  8053. ): T[];
  8054. /**
  8055. * @see _.sortBy
  8056. */
  8057. sortBy<W extends {}, T>(
  8058. collection: List<T>|Dictionary<T>,
  8059. whereValue: W
  8060. ): T[];
  8061. /**
  8062. * @see _.sortBy
  8063. */
  8064. sortBy<T>(
  8065. collection: List<T>|Dictionary<T>
  8066. ): T[];
  8067. /**
  8068. * @see _.sortBy
  8069. */
  8070. sortBy<T>(
  8071. collection: (Array<T>|List<T>),
  8072. iteratees: (ListIterator<T, any>|string|Object)[]): T[];
  8073. /**
  8074. * @see _.sortBy
  8075. */
  8076. sortBy<T>(
  8077. collection: (Array<T>|List<T>),
  8078. ...iteratees: (ListIterator<T, boolean>|Object|string)[]): T[];
  8079. }
  8080. interface LoDashImplicitArrayWrapper<T> {
  8081. /**
  8082. * @see _.sortBy
  8083. */
  8084. sortBy<TSort>(
  8085. iteratee?: ListIterator<T, TSort>
  8086. ): LoDashImplicitArrayWrapper<T>;
  8087. /**
  8088. * @see _.sortBy
  8089. */
  8090. sortBy(iteratee: string): LoDashImplicitArrayWrapper<T>;
  8091. /**
  8092. * @see _.sortBy
  8093. */
  8094. sortBy<W extends {}>(whereValue: W): LoDashImplicitArrayWrapper<T>;
  8095. /**
  8096. * @see _.sortBy
  8097. */
  8098. sortBy(): LoDashImplicitArrayWrapper<T>;
  8099. /**
  8100. * @see _.sortBy
  8101. */
  8102. sortBy(...iteratees: (ListIterator<T, boolean>|Object|string)[]): LoDashImplicitArrayWrapper<T>;
  8103. /**
  8104. * @see _.sortBy
  8105. **/
  8106. sortBy(iteratees: (ListIterator<T, any>|string|Object)[]): LoDashImplicitArrayWrapper<T>;
  8107. }
  8108. interface LoDashImplicitObjectWrapper<T> {
  8109. /**
  8110. * @see _.sortBy
  8111. */
  8112. sortBy<T, TSort>(
  8113. iteratee?: ListIterator<T, TSort>|DictionaryIterator<T, TSort>
  8114. ): LoDashImplicitArrayWrapper<T>;
  8115. /**
  8116. * @see _.sortBy
  8117. */
  8118. sortBy<T>(iteratee: string): LoDashImplicitArrayWrapper<T>;
  8119. /**
  8120. * @see _.sortBy
  8121. */
  8122. sortBy<W extends {}, T>(whereValue: W): LoDashImplicitArrayWrapper<T>;
  8123. /**
  8124. * @see _.sortBy
  8125. */
  8126. sortBy<T>(): LoDashImplicitArrayWrapper<T>;
  8127. }
  8128. interface LoDashExplicitArrayWrapper<T> {
  8129. /**
  8130. * @see _.sortBy
  8131. */
  8132. sortBy<TSort>(
  8133. iteratee?: ListIterator<T, TSort>
  8134. ): LoDashExplicitArrayWrapper<T>;
  8135. /**
  8136. * @see _.sortBy
  8137. */
  8138. sortBy(iteratee: string): LoDashExplicitArrayWrapper<T>;
  8139. /**
  8140. * @see _.sortBy
  8141. */
  8142. sortBy<W extends {}>(whereValue: W): LoDashExplicitArrayWrapper<T>;
  8143. /**
  8144. * @see _.sortBy
  8145. */
  8146. sortBy(): LoDashExplicitArrayWrapper<T>;
  8147. }
  8148. interface LoDashExplicitObjectWrapper<T> {
  8149. /**
  8150. * @see _.sortBy
  8151. */
  8152. sortBy<T, TSort>(
  8153. iteratee?: ListIterator<T, TSort>|DictionaryIterator<T, TSort>
  8154. ): LoDashExplicitArrayWrapper<T>;
  8155. /**
  8156. * @see _.sortBy
  8157. */
  8158. sortBy<T>(iteratee: string): LoDashExplicitArrayWrapper<T>;
  8159. /**
  8160. * @see _.sortBy
  8161. */
  8162. sortBy<W extends {}, T>(whereValue: W): LoDashExplicitArrayWrapper<T>;
  8163. /**
  8164. * @see _.sortBy
  8165. */
  8166. sortBy<T>(): LoDashExplicitArrayWrapper<T>;
  8167. }
  8168. //_.orderBy
  8169. interface LoDashStatic {
  8170. /**
  8171. * This method is like `_.sortBy` except that it allows specifying the sort
  8172. * orders of the iteratees to sort by. If `orders` is unspecified, all values
  8173. * are sorted in ascending order. Otherwise, specify an order of "desc" for
  8174. * descending or "asc" for ascending sort order of corresponding values.
  8175. *
  8176. * @static
  8177. * @memberOf _
  8178. * @category Collection
  8179. * @param {Array|Object} collection The collection to iterate over.
  8180. * @param {Function[]|Object[]|string[]} [iteratees=[_.identity]] The iteratees to sort by.
  8181. * @param {string[]} [orders] The sort orders of `iteratees`.
  8182. * @param- {Object} [guard] Enables use as an iteratee for functions like `_.reduce`.
  8183. * @returns {Array} Returns the new sorted array.
  8184. * @example
  8185. *
  8186. * var users = [
  8187. * { 'user': 'fred', 'age': 48 },
  8188. * { 'user': 'barney', 'age': 34 },
  8189. * { 'user': 'fred', 'age': 42 },
  8190. * { 'user': 'barney', 'age': 36 }
  8191. * ];
  8192. *
  8193. * // sort by `user` in ascending order and by `age` in descending order
  8194. * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);
  8195. * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]]
  8196. */
  8197. orderBy<W extends Object, T>(
  8198. collection: List<T>,
  8199. iteratees: ListIterator<T, any>|string|W|(ListIterator<T, any>|string|W)[],
  8200. orders?: boolean|string|(boolean|string)[]
  8201. ): T[];
  8202. /**
  8203. * @see _.orderBy
  8204. */
  8205. orderBy<T>(
  8206. collection: List<T>,
  8207. iteratees: ListIterator<T, any>|string|Object|(ListIterator<T, any>|string|Object)[],
  8208. orders?: boolean|string|(boolean|string)[]
  8209. ): T[];
  8210. /**
  8211. * @see _.orderBy
  8212. */
  8213. orderBy<W extends Object, T>(
  8214. collection: NumericDictionary<T>,
  8215. iteratees: NumericDictionaryIterator<T, any>|string|W|(NumericDictionaryIterator<T, any>|string|W)[],
  8216. orders?: boolean|string|(boolean|string)[]
  8217. ): T[];
  8218. /**
  8219. * @see _.orderBy
  8220. */
  8221. orderBy<T>(
  8222. collection: NumericDictionary<T>,
  8223. iteratees: NumericDictionaryIterator<T, any>|string|Object|(NumericDictionaryIterator<T, any>|string|Object)[],
  8224. orders?: boolean|string|(boolean|string)[]
  8225. ): T[];
  8226. /**
  8227. * @see _.orderBy
  8228. */
  8229. orderBy<W extends Object, T>(
  8230. collection: Dictionary<T>,
  8231. iteratees: DictionaryIterator<T, any>|string|W|(DictionaryIterator<T, any>|string|W)[],
  8232. orders?: boolean|string|(boolean|string)[]
  8233. ): T[];
  8234. /**
  8235. * @see _.orderBy
  8236. */
  8237. orderBy<T>(
  8238. collection: Dictionary<T>,
  8239. iteratees: DictionaryIterator<T, any>|string|Object|(DictionaryIterator<T, any>|string|Object)[],
  8240. orders?: boolean|string|(boolean|string)[]
  8241. ): T[];
  8242. }
  8243. interface LoDashImplicitWrapper<T> {
  8244. /**
  8245. * @see _.orderBy
  8246. */
  8247. orderBy(
  8248. iteratees: ListIterator<T, any>|string|(ListIterator<T, any>|string)[],
  8249. orders?: boolean|string|(boolean|string)[]
  8250. ): LoDashImplicitArrayWrapper<T>;
  8251. }
  8252. interface LoDashImplicitArrayWrapper<T> {
  8253. /**
  8254. * @see _.orderBy
  8255. */
  8256. orderBy<W extends Object>(
  8257. iteratees: ListIterator<T, any>|string|W|(ListIterator<T, any>|string|W)[],
  8258. orders?: boolean|string|(boolean|string)[]
  8259. ): LoDashImplicitArrayWrapper<T>;
  8260. }
  8261. interface LoDashImplicitObjectWrapper<T> {
  8262. /**
  8263. * @see _.orderBy
  8264. */
  8265. orderBy<W extends Object, T>(
  8266. iteratees: ListIterator<T, any>|string|W|(ListIterator<T, any>|string|W)[],
  8267. orders?: boolean|string|(boolean|string)[]
  8268. ): LoDashImplicitArrayWrapper<T>;
  8269. /**
  8270. * @see _.orderBy
  8271. */
  8272. orderBy<T>(
  8273. iteratees: ListIterator<T, any>|string|Object|(ListIterator<T, any>|string|Object)[],
  8274. orders?: boolean|string|(boolean|string)[]
  8275. ): LoDashImplicitArrayWrapper<T>;
  8276. /**
  8277. * @see _.orderBy
  8278. */
  8279. orderBy<W extends Object, T>(
  8280. iteratees: NumericDictionaryIterator<T, any>|string|W|(NumericDictionaryIterator<T, any>|string|W)[],
  8281. orders?: boolean|string|(boolean|string)[]
  8282. ): LoDashImplicitArrayWrapper<T>;
  8283. /**
  8284. * @see _.orderBy
  8285. */
  8286. orderBy<T>(
  8287. iteratees: NumericDictionaryIterator<T, any>|string|Object|(NumericDictionaryIterator<T, any>|string|Object)[],
  8288. orders?: boolean|string|(boolean|string)[]
  8289. ): LoDashImplicitArrayWrapper<T>;
  8290. /**
  8291. * @see _.orderBy
  8292. */
  8293. orderBy<W extends Object, T>(
  8294. iteratees: DictionaryIterator<T, any>|string|W|(DictionaryIterator<T, any>|string|W)[],
  8295. orders?: boolean|string|(boolean|string)[]
  8296. ): LoDashImplicitArrayWrapper<T>;
  8297. /**
  8298. * @see _.orderBy
  8299. */
  8300. orderBy<T>(
  8301. iteratees: DictionaryIterator<T, any>|string|Object|(DictionaryIterator<T, any>|string|Object)[],
  8302. orders?: boolean|string|(boolean|string)[]
  8303. ): LoDashImplicitArrayWrapper<T>;
  8304. }
  8305. interface LoDashExplicitWrapper<T> {
  8306. /**
  8307. * @see _.orderBy
  8308. */
  8309. orderBy(
  8310. iteratees: ListIterator<T, any>|string|(ListIterator<T, any>|string)[],
  8311. orders?: boolean|string|(boolean|string)[]
  8312. ): LoDashExplicitArrayWrapper<T>;
  8313. }
  8314. interface LoDashExplicitArrayWrapper<T> {
  8315. /**
  8316. * @see _.orderBy
  8317. */
  8318. orderBy<W extends Object>(
  8319. iteratees: ListIterator<T, any>|string|W|(ListIterator<T, any>|string|W)[],
  8320. orders?: boolean|string|(boolean|string)[]
  8321. ): LoDashExplicitArrayWrapper<T>;
  8322. }
  8323. interface LoDashExplicitObjectWrapper<T> {
  8324. /**
  8325. * @see _.orderBy
  8326. */
  8327. orderBy<W extends Object, T>(
  8328. iteratees: ListIterator<T, any>|string|W|(ListIterator<T, any>|string|W)[],
  8329. orders?: boolean|string|(boolean|string)[]
  8330. ): LoDashExplicitArrayWrapper<T>;
  8331. /**
  8332. * @see _.orderBy
  8333. */
  8334. orderBy<T>(
  8335. iteratees: ListIterator<T, any>|string|Object|(ListIterator<T, any>|string|Object)[],
  8336. orders?: boolean|string|(boolean|string)[]
  8337. ): LoDashExplicitArrayWrapper<T>;
  8338. /**
  8339. * @see _.orderBy
  8340. */
  8341. orderBy<W extends Object, T>(
  8342. iteratees: NumericDictionaryIterator<T, any>|string|W|(NumericDictionaryIterator<T, any>|string|W)[],
  8343. orders?: boolean|string|(boolean|string)[]
  8344. ): LoDashExplicitArrayWrapper<T>;
  8345. /**
  8346. * @see _.orderBy
  8347. */
  8348. orderBy<T>(
  8349. iteratees: NumericDictionaryIterator<T, any>|string|Object|(NumericDictionaryIterator<T, any>|string|Object)[],
  8350. orders?: boolean|string|(boolean|string)[]
  8351. ): LoDashExplicitArrayWrapper<T>;
  8352. /**
  8353. * @see _.orderBy
  8354. */
  8355. orderBy<W extends Object, T>(
  8356. iteratees: DictionaryIterator<T, any>|string|W|(DictionaryIterator<T, any>|string|W)[],
  8357. orders?: boolean|string|(boolean|string)[]
  8358. ): LoDashExplicitArrayWrapper<T>;
  8359. /**
  8360. * @see _.orderBy
  8361. */
  8362. orderBy<T>(
  8363. iteratees: DictionaryIterator<T, any>|string|Object|(DictionaryIterator<T, any>|string|Object)[],
  8364. orders?: boolean|string|(boolean|string)[]
  8365. ): LoDashExplicitArrayWrapper<T>;
  8366. }
  8367. /********
  8368. * Date *
  8369. ********/
  8370. //_.now
  8371. interface LoDashStatic {
  8372. /**
  8373. * Gets the number of milliseconds that have elapsed since the Unix epoch (1 January 1970 00:00:00 UTC).
  8374. *
  8375. * @return The number of milliseconds.
  8376. */
  8377. now(): number;
  8378. }
  8379. interface LoDashImplicitWrapperBase<T, TWrapper> {
  8380. /**
  8381. * @see _.now
  8382. */
  8383. now(): number;
  8384. }
  8385. interface LoDashExplicitWrapperBase<T, TWrapper> {
  8386. /**
  8387. * @see _.now
  8388. */
  8389. now(): LoDashExplicitWrapper<number>;
  8390. }
  8391. /*************
  8392. * Functions *
  8393. *************/
  8394. //_.after
  8395. interface LoDashStatic {
  8396. /**
  8397. * The opposite of _.before; this method creates a function that invokes func once it’s called n or more times.
  8398. *
  8399. * @param n The number of calls before func is invoked.
  8400. * @param func The function to restrict.
  8401. * @return Returns the new restricted function.
  8402. */
  8403. after<TFunc extends Function>(
  8404. n: number,
  8405. func: TFunc
  8406. ): TFunc;
  8407. }
  8408. interface LoDashImplicitWrapper<T> {
  8409. /**
  8410. * @see _.after
  8411. **/
  8412. after<TFunc extends Function>(func: TFunc): LoDashImplicitObjectWrapper<TFunc>;
  8413. }
  8414. interface LoDashExplicitWrapper<T> {
  8415. /**
  8416. * @see _.after
  8417. **/
  8418. after<TFunc extends Function>(func: TFunc): LoDashExplicitObjectWrapper<TFunc>;
  8419. }
  8420. //_.ary
  8421. interface LoDashStatic {
  8422. /**
  8423. * Creates a function that accepts up to n arguments ignoring any additional arguments.
  8424. *
  8425. * @param func The function to cap arguments for.
  8426. * @param n The arity cap.
  8427. * @returns Returns the new function.
  8428. */
  8429. ary<TResult extends Function>(
  8430. func: Function,
  8431. n?: number
  8432. ): TResult;
  8433. ary<T extends Function, TResult extends Function>(
  8434. func: T,
  8435. n?: number
  8436. ): TResult;
  8437. }
  8438. interface LoDashImplicitObjectWrapper<T> {
  8439. /**
  8440. * @see _.ary
  8441. */
  8442. ary<TResult extends Function>(n?: number): LoDashImplicitObjectWrapper<TResult>;
  8443. }
  8444. interface LoDashExplicitObjectWrapper<T> {
  8445. /**
  8446. * @see _.ary
  8447. */
  8448. ary<TResult extends Function>(n?: number): LoDashExplicitObjectWrapper<TResult>;
  8449. }
  8450. //_.before
  8451. interface LoDashStatic {
  8452. /**
  8453. * Creates a function that invokes func, with the this binding and arguments of the created function, while
  8454. * it’s called less than n times. Subsequent calls to the created function return the result of the last func
  8455. * invocation.
  8456. *
  8457. * @param n The number of calls at which func is no longer invoked.
  8458. * @param func The function to restrict.
  8459. * @return Returns the new restricted function.
  8460. */
  8461. before<TFunc extends Function>(
  8462. n: number,
  8463. func: TFunc
  8464. ): TFunc;
  8465. }
  8466. interface LoDashImplicitWrapper<T> {
  8467. /**
  8468. * @see _.before
  8469. **/
  8470. before<TFunc extends Function>(func: TFunc): LoDashImplicitObjectWrapper<TFunc>;
  8471. }
  8472. interface LoDashExplicitWrapper<T> {
  8473. /**
  8474. * @see _.before
  8475. **/
  8476. before<TFunc extends Function>(func: TFunc): LoDashExplicitObjectWrapper<TFunc>;
  8477. }
  8478. //_.bind
  8479. interface FunctionBind {
  8480. placeholder: any;
  8481. <T extends Function, TResult extends Function>(
  8482. func: T,
  8483. thisArg: any,
  8484. ...partials: any[]
  8485. ): TResult;
  8486. <TResult extends Function>(
  8487. func: Function,
  8488. thisArg: any,
  8489. ...partials: any[]
  8490. ): TResult;
  8491. }
  8492. interface LoDashStatic {
  8493. /**
  8494. * Creates a function that invokes func with the this binding of thisArg and prepends any additional _.bind
  8495. * arguments to those provided to the bound function.
  8496. *
  8497. * The _.bind.placeholder value, which defaults to _ in monolithic builds, may be used as a placeholder for
  8498. * partially applied arguments.
  8499. *
  8500. * Note: Unlike native Function#bind this method does not set the "length" property of bound functions.
  8501. *
  8502. * @param func The function to bind.
  8503. * @param thisArg The this binding of func.
  8504. * @param partials The arguments to be partially applied.
  8505. * @return Returns the new bound function.
  8506. */
  8507. bind: FunctionBind;
  8508. }
  8509. interface LoDashImplicitObjectWrapper<T> {
  8510. /**
  8511. * @see _.bind
  8512. */
  8513. bind<TResult extends Function>(
  8514. thisArg: any,
  8515. ...partials: any[]
  8516. ): LoDashImplicitObjectWrapper<TResult>;
  8517. }
  8518. interface LoDashExplicitObjectWrapper<T> {
  8519. /**
  8520. * @see _.bind
  8521. */
  8522. bind<TResult extends Function>(
  8523. thisArg: any,
  8524. ...partials: any[]
  8525. ): LoDashExplicitObjectWrapper<TResult>;
  8526. }
  8527. //_.bindAll
  8528. interface LoDashStatic {
  8529. /**
  8530. * Binds methods of an object to the object itself, overwriting the existing method. Method names may be
  8531. * specified as individual arguments or as arrays of method names. If no method names are provided all
  8532. * enumerable function properties, own and inherited, of object are bound.
  8533. *
  8534. * Note: This method does not set the "length" property of bound functions.
  8535. *
  8536. * @param object The object to bind and assign the bound methods to.
  8537. * @param methodNames The object method names to bind, specified as individual method names or arrays of
  8538. * method names.
  8539. * @return Returns object.
  8540. */
  8541. bindAll<T>(
  8542. object: T,
  8543. ...methodNames: (string|string[])[]
  8544. ): T;
  8545. }
  8546. interface LoDashImplicitObjectWrapper<T> {
  8547. /**
  8548. * @see _.bindAll
  8549. */
  8550. bindAll(...methodNames: (string|string[])[]): LoDashImplicitObjectWrapper<T>;
  8551. }
  8552. interface LoDashExplicitObjectWrapper<T> {
  8553. /**
  8554. * @see _.bindAll
  8555. */
  8556. bindAll(...methodNames: (string|string[])[]): LoDashExplicitObjectWrapper<T>;
  8557. }
  8558. //_.bindKey
  8559. interface FunctionBindKey {
  8560. placeholder: any;
  8561. <T extends Object, TResult extends Function>(
  8562. object: T,
  8563. key: any,
  8564. ...partials: any[]
  8565. ): TResult;
  8566. <TResult extends Function>(
  8567. object: Object,
  8568. key: any,
  8569. ...partials: any[]
  8570. ): TResult;
  8571. }
  8572. interface LoDashStatic {
  8573. /**
  8574. * Creates a function that invokes the method at object[key] and prepends any additional _.bindKey arguments
  8575. * to those provided to the bound function.
  8576. *
  8577. * This method differs from _.bind by allowing bound functions to reference methods that may be redefined
  8578. * or don’t yet exist. See Peter Michaux’s article for more details.
  8579. *
  8580. * The _.bindKey.placeholder value, which defaults to _ in monolithic builds, may be used as a placeholder
  8581. * for partially applied arguments.
  8582. *
  8583. * @param object The object the method belongs to.
  8584. * @param key The key of the method.
  8585. * @param partials The arguments to be partially applied.
  8586. * @return Returns the new bound function.
  8587. */
  8588. bindKey: FunctionBindKey;
  8589. }
  8590. interface LoDashImplicitObjectWrapper<T> {
  8591. /**
  8592. * @see _.bindKey
  8593. */
  8594. bindKey<TResult extends Function>(
  8595. key: any,
  8596. ...partials: any[]
  8597. ): LoDashImplicitObjectWrapper<TResult>;
  8598. }
  8599. interface LoDashExplicitObjectWrapper<T> {
  8600. /**
  8601. * @see _.bindKey
  8602. */
  8603. bindKey<TResult extends Function>(
  8604. key: any,
  8605. ...partials: any[]
  8606. ): LoDashExplicitObjectWrapper<TResult>;
  8607. }
  8608. //_.createCallback
  8609. interface LoDashStatic {
  8610. /**
  8611. * Produces a callback bound to an optional thisArg. If func is a property name the created
  8612. * callback will return the property value for a given element. If func is an object the created
  8613. * callback will return true for elements that contain the equivalent object properties,
  8614. * otherwise it will return false.
  8615. * @param func The value to convert to a callback.
  8616. * @param thisArg The this binding of the created callback.
  8617. * @param argCount The number of arguments the callback accepts.
  8618. * @return A callback function.
  8619. **/
  8620. createCallback(
  8621. func: string,
  8622. argCount?: number): () => any;
  8623. /**
  8624. * @see _.createCallback
  8625. **/
  8626. createCallback(
  8627. func: Dictionary<any>,
  8628. argCount?: number): () => boolean;
  8629. }
  8630. interface LoDashImplicitWrapper<T> {
  8631. /**
  8632. * @see _.createCallback
  8633. **/
  8634. createCallback(
  8635. argCount?: number): LoDashImplicitObjectWrapper<() => any>;
  8636. }
  8637. interface LoDashImplicitObjectWrapper<T> {
  8638. /**
  8639. * @see _.createCallback
  8640. **/
  8641. createCallback(
  8642. argCount?: number): LoDashImplicitObjectWrapper<() => any>;
  8643. }
  8644. //_.curry
  8645. interface LoDashStatic {
  8646. /**
  8647. * Creates a function that accepts one or more arguments of func that when called either invokes func returning
  8648. * its result, if all func arguments have been provided, or returns a function that accepts one or more of the
  8649. * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient.
  8650. * @param func The function to curry.
  8651. * @return Returns the new curried function.
  8652. */
  8653. curry<T1, R>(func: (t1: T1) => R):
  8654. CurriedFunction1<T1, R>;
  8655. /**
  8656. * Creates a function that accepts one or more arguments of func that when called either invokes func returning
  8657. * its result, if all func arguments have been provided, or returns a function that accepts one or more of the
  8658. * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient.
  8659. * @param func The function to curry.
  8660. * @return Returns the new curried function.
  8661. */
  8662. curry<T1, T2, R>(func: (t1: T1, t2: T2) => R):
  8663. CurriedFunction2<T1, T2, R>;
  8664. /**
  8665. * Creates a function that accepts one or more arguments of func that when called either invokes func returning
  8666. * its result, if all func arguments have been provided, or returns a function that accepts one or more of the
  8667. * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient.
  8668. * @param func The function to curry.
  8669. * @return Returns the new curried function.
  8670. */
  8671. curry<T1, T2, T3, R>(func: (t1: T1, t2: T2, t3: T3) => R):
  8672. CurriedFunction3<T1, T2, T3, R>;
  8673. /**
  8674. * Creates a function that accepts one or more arguments of func that when called either invokes func returning
  8675. * its result, if all func arguments have been provided, or returns a function that accepts one or more of the
  8676. * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient.
  8677. * @param func The function to curry.
  8678. * @return Returns the new curried function.
  8679. */
  8680. curry<T1, T2, T3, T4, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4) => R):
  8681. CurriedFunction4<T1, T2, T3, T4, R>;
  8682. /**
  8683. * Creates a function that accepts one or more arguments of func that when called either invokes func returning
  8684. * its result, if all func arguments have been provided, or returns a function that accepts one or more of the
  8685. * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient.
  8686. * @param func The function to curry.
  8687. * @return Returns the new curried function.
  8688. */
  8689. curry<T1, T2, T3, T4, T5, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R):
  8690. CurriedFunction5<T1, T2, T3, T4, T5, R>;
  8691. /**
  8692. * Creates a function that accepts one or more arguments of func that when called either invokes func returning
  8693. * its result, if all func arguments have been provided, or returns a function that accepts one or more of the
  8694. * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient.
  8695. * @param func The function to curry.
  8696. * @param arity The arity of func.
  8697. * @return Returns the new curried function.
  8698. */
  8699. curry<TResult extends Function>(
  8700. func: Function,
  8701. arity?: number): TResult;
  8702. }
  8703. interface CurriedFunction1<T1, R> {
  8704. (): CurriedFunction1<T1, R>;
  8705. (t1: T1): R;
  8706. }
  8707. interface CurriedFunction2<T1, T2, R> {
  8708. (): CurriedFunction2<T1, T2, R>;
  8709. (t1: T1): CurriedFunction1<T2, R>;
  8710. (t1: T1, t2: T2): R;
  8711. }
  8712. interface CurriedFunction3<T1, T2, T3, R> {
  8713. (): CurriedFunction3<T1, T2, T3, R>;
  8714. (t1: T1): CurriedFunction2<T2, T3, R>;
  8715. (t1: T1, t2: T2): CurriedFunction1<T3, R>;
  8716. (t1: T1, t2: T2, t3: T3): R;
  8717. }
  8718. interface CurriedFunction4<T1, T2, T3, T4, R> {
  8719. (): CurriedFunction4<T1, T2, T3, T4, R>;
  8720. (t1: T1): CurriedFunction3<T2, T3, T4, R>;
  8721. (t1: T1, t2: T2): CurriedFunction2<T3, T4, R>;
  8722. (t1: T1, t2: T2, t3: T3): CurriedFunction1<T4, R>;
  8723. (t1: T1, t2: T2, t3: T3, t4: T4): R;
  8724. }
  8725. interface CurriedFunction5<T1, T2, T3, T4, T5, R> {
  8726. (): CurriedFunction5<T1, T2, T3, T4, T5, R>;
  8727. (t1: T1): CurriedFunction4<T2, T3, T4, T5, R>;
  8728. (t1: T1, t2: T2): CurriedFunction3<T3, T4, T5, R>;
  8729. (t1: T1, t2: T2, t3: T3): CurriedFunction2<T4, T5, R>;
  8730. (t1: T1, t2: T2, t3: T3, t4: T4): CurriedFunction1<T5, R>;
  8731. (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5): R;
  8732. }
  8733. interface LoDashImplicitObjectWrapper<T> {
  8734. /**
  8735. * @see _.curry
  8736. **/
  8737. curry<TResult extends Function>(arity?: number): LoDashImplicitObjectWrapper<TResult>;
  8738. }
  8739. //_.curryRight
  8740. interface LoDashStatic {
  8741. /**
  8742. * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight
  8743. * instead of _.partial.
  8744. * @param func The function to curry.
  8745. * @return Returns the new curried function.
  8746. */
  8747. curryRight<T1, R>(func: (t1: T1) => R):
  8748. CurriedFunction1<T1, R>;
  8749. /**
  8750. * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight
  8751. * instead of _.partial.
  8752. * @param func The function to curry.
  8753. * @return Returns the new curried function.
  8754. */
  8755. curryRight<T1, T2, R>(func: (t1: T1, t2: T2) => R):
  8756. CurriedFunction2<T2, T1, R>;
  8757. /**
  8758. * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight
  8759. * instead of _.partial.
  8760. * @param func The function to curry.
  8761. * @return Returns the new curried function.
  8762. */
  8763. curryRight<T1, T2, T3, R>(func: (t1: T1, t2: T2, t3: T3) => R):
  8764. CurriedFunction3<T3, T2, T1, R>;
  8765. /**
  8766. * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight
  8767. * instead of _.partial.
  8768. * @param func The function to curry.
  8769. * @return Returns the new curried function.
  8770. */
  8771. curryRight<T1, T2, T3, T4, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4) => R):
  8772. CurriedFunction4<T4, T3, T2, T1, R>;
  8773. /**
  8774. * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight
  8775. * instead of _.partial.
  8776. * @param func The function to curry.
  8777. * @return Returns the new curried function.
  8778. */
  8779. curryRight<T1, T2, T3, T4, T5, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R):
  8780. CurriedFunction5<T5, T4, T3, T2, T1, R>;
  8781. /**
  8782. * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight
  8783. * instead of _.partial.
  8784. * @param func The function to curry.
  8785. * @param arity The arity of func.
  8786. * @return Returns the new curried function.
  8787. */
  8788. curryRight<TResult extends Function>(
  8789. func: Function,
  8790. arity?: number): TResult;
  8791. }
  8792. interface LoDashImplicitObjectWrapper<T> {
  8793. /**
  8794. * @see _.curryRight
  8795. **/
  8796. curryRight<TResult extends Function>(arity?: number): LoDashImplicitObjectWrapper<TResult>;
  8797. }
  8798. //_.debounce
  8799. interface DebounceSettings {
  8800. /**
  8801. * Specify invoking on the leading edge of the timeout.
  8802. */
  8803. leading?: boolean;
  8804. /**
  8805. * The maximum time func is allowed to be delayed before it’s invoked.
  8806. */
  8807. maxWait?: number;
  8808. /**
  8809. * Specify invoking on the trailing edge of the timeout.
  8810. */
  8811. trailing?: boolean;
  8812. }
  8813. interface LoDashStatic {
  8814. /**
  8815. * Creates a debounced function that delays invoking func until after wait milliseconds have elapsed since
  8816. * the last time the debounced function was invoked. The debounced function comes with a cancel method to
  8817. * cancel delayed invocations and a flush method to immediately invoke them. Provide an options object to
  8818. * indicate that func should be invoked on the leading and/or trailing edge of the wait timeout. Subsequent
  8819. * calls to the debounced function return the result of the last func invocation.
  8820. *
  8821. * Note: If leading and trailing options are true, func is invoked on the trailing edge of the timeout only
  8822. * if the the debounced function is invoked more than once during the wait timeout.
  8823. *
  8824. * See David Corbacho’s article for details over the differences between _.debounce and _.throttle.
  8825. *
  8826. * @param func The function to debounce.
  8827. * @param wait The number of milliseconds to delay.
  8828. * @param options The options object.
  8829. * @param options.leading Specify invoking on the leading edge of the timeout.
  8830. * @param options.maxWait The maximum time func is allowed to be delayed before it’s invoked.
  8831. * @param options.trailing Specify invoking on the trailing edge of the timeout.
  8832. * @return Returns the new debounced function.
  8833. */
  8834. debounce<T extends Function>(
  8835. func: T,
  8836. wait?: number,
  8837. options?: DebounceSettings
  8838. ): T & Cancelable;
  8839. }
  8840. interface LoDashImplicitObjectWrapper<T> {
  8841. /**
  8842. * @see _.debounce
  8843. */
  8844. debounce(
  8845. wait?: number,
  8846. options?: DebounceSettings
  8847. ): LoDashImplicitObjectWrapper<T & Cancelable>;
  8848. }
  8849. interface LoDashExplicitObjectWrapper<T> {
  8850. /**
  8851. * @see _.debounce
  8852. */
  8853. debounce(
  8854. wait?: number,
  8855. options?: DebounceSettings
  8856. ): LoDashExplicitObjectWrapper<T & Cancelable>;
  8857. }
  8858. //_.defer
  8859. interface LoDashStatic {
  8860. /**
  8861. * Defers invoking the func until the current call stack has cleared. Any additional arguments are provided to
  8862. * func when it’s invoked.
  8863. *
  8864. * @param func The function to defer.
  8865. * @param args The arguments to invoke the function with.
  8866. * @return Returns the timer id.
  8867. */
  8868. defer<T extends Function>(
  8869. func: T,
  8870. ...args: any[]
  8871. ): number;
  8872. }
  8873. interface LoDashImplicitObjectWrapper<T> {
  8874. /**
  8875. * @see _.defer
  8876. */
  8877. defer(...args: any[]): LoDashImplicitWrapper<number>;
  8878. }
  8879. interface LoDashExplicitObjectWrapper<T> {
  8880. /**
  8881. * @see _.defer
  8882. */
  8883. defer(...args: any[]): LoDashExplicitWrapper<number>;
  8884. }
  8885. //_.delay
  8886. interface LoDashStatic {
  8887. /**
  8888. * Invokes func after wait milliseconds. Any additional arguments are provided to func when it’s invoked.
  8889. *
  8890. * @param func The function to delay.
  8891. * @param wait The number of milliseconds to delay invocation.
  8892. * @param args The arguments to invoke the function with.
  8893. * @return Returns the timer id.
  8894. */
  8895. delay<T extends Function>(
  8896. func: T,
  8897. wait: number,
  8898. ...args: any[]
  8899. ): number;
  8900. }
  8901. interface LoDashImplicitObjectWrapper<T> {
  8902. /**
  8903. * @see _.delay
  8904. */
  8905. delay(
  8906. wait: number,
  8907. ...args: any[]
  8908. ): LoDashImplicitWrapper<number>;
  8909. }
  8910. interface LoDashExplicitObjectWrapper<T> {
  8911. /**
  8912. * @see _.delay
  8913. */
  8914. delay(
  8915. wait: number,
  8916. ...args: any[]
  8917. ): LoDashExplicitWrapper<number>;
  8918. }
  8919. interface LoDashStatic {
  8920. /**
  8921. * Creates a function that invokes `func` with arguments reversed.
  8922. *
  8923. * @static
  8924. * @memberOf _
  8925. * @category Function
  8926. * @param {Function} func The function to flip arguments for.
  8927. * @returns {Function} Returns the new function.
  8928. * @example
  8929. *
  8930. * var flipped = _.flip(function() {
  8931. * return _.toArray(arguments);
  8932. * });
  8933. *
  8934. * flipped('a', 'b', 'c', 'd');
  8935. * // => ['d', 'c', 'b', 'a']
  8936. */
  8937. flip<T extends Function>(func: T): T;
  8938. }
  8939. interface LoDashImplicitObjectWrapper<T> {
  8940. /**
  8941. * @see _.flip
  8942. */
  8943. flip(): LoDashImplicitObjectWrapper<T>;
  8944. }
  8945. interface LoDashExplicitObjectWrapper<T> {
  8946. /**
  8947. * @see _.flip
  8948. */
  8949. flip(): LoDashExplicitObjectWrapper<T>;
  8950. }
  8951. //_.flow
  8952. interface LoDashStatic {
  8953. /**
  8954. * Creates a function that returns the result of invoking the provided functions with the this binding of the
  8955. * created function, where each successive invocation is supplied the return value of the previous.
  8956. *
  8957. * @param funcs Functions to invoke.
  8958. * @return Returns the new function.
  8959. */
  8960. // 1-argument first function
  8961. flow<A1, R1, R2>(f1: (a1: A1) => R1, f2: (a: R1) => R2): (a1: A1) => R2;
  8962. flow<A1, R1, R2, R3>(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1) => R3;
  8963. flow<A1, R1, R2, R3, R4>(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1) => R4;
  8964. flow<A1, R1, R2, R3, R4, R5>(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1) => R5;
  8965. flow<A1, R1, R2, R3, R4, R5, R6>(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1) => R6;
  8966. flow<A1, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1) => R7;
  8967. // 2-argument first function
  8968. flow<A1, A2, R1, R2>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2) => R2;
  8969. flow<A1, A2, R1, R2, R3>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2) => R3;
  8970. flow<A1, A2, R1, R2, R3, R4>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2) => R4;
  8971. flow<A1, A2, R1, R2, R3, R4, R5>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2) => R5;
  8972. flow<A1, A2, R1, R2, R3, R4, R5, R6>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2) => R6;
  8973. flow<A1, A2, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2) => R7;
  8974. // 3-argument first function
  8975. flow<A1, A2, A3, R1, R2>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2, a3: A3) => R2;
  8976. flow<A1, A2, A3, R1, R2, R3>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2, a3: A3) => R3;
  8977. flow<A1, A2, A3, R1, R2, R3, R4>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2, a3: A3) => R4;
  8978. flow<A1, A2, A3, R1, R2, R3, R4, R5>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2, a3: A3) => R5;
  8979. flow<A1, A2, A3, R1, R2, R3, R4, R5, R6>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2, a3: A3) => R6;
  8980. flow<A1, A2, A3, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2, a3: A3) => R7;
  8981. // 4-argument first function
  8982. flow<A1, A2, A3, A4, R1, R2>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2, a3: A3, a4: A4) => R2;
  8983. flow<A1, A2, A3, A4, R1, R2, R3>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2, a3: A3, a4: A4) => R3;
  8984. flow<A1, A2, A3, A4, R1, R2, R3, R4>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2, a3: A3, a4: A4) => R4;
  8985. flow<A1, A2, A3, A4, R1, R2, R3, R4, R5>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2, a3: A3, a4: A4) => R5;
  8986. flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2, a3: A3, a4: A4) => R6;
  8987. flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2, a3: A3, a4: A4) => R7;
  8988. // generic function
  8989. flow<TResult extends Function>(...funcs: Function[]): TResult;
  8990. }
  8991. interface LoDashImplicitObjectWrapper<T> {
  8992. /**
  8993. * @see _.flow
  8994. */
  8995. flow<TResult extends Function>(...funcs: Function[]): LoDashImplicitObjectWrapper<TResult>;
  8996. }
  8997. interface LoDashExplicitObjectWrapper<T> {
  8998. /**
  8999. * @see _.flow
  9000. */
  9001. flow<TResult extends Function>(...funcs: Function[]): LoDashExplicitObjectWrapper<TResult>;
  9002. }
  9003. //_.flowRight
  9004. interface LoDashStatic {
  9005. /**
  9006. * This method is like _.flow except that it creates a function that invokes the provided functions from right
  9007. * to left.
  9008. *
  9009. * @param funcs Functions to invoke.
  9010. * @return Returns the new function.
  9011. */
  9012. flowRight<TResult extends Function>(...funcs: Function[]): TResult;
  9013. }
  9014. interface LoDashImplicitObjectWrapper<T> {
  9015. /**
  9016. * @see _.flowRight
  9017. */
  9018. flowRight<TResult extends Function>(...funcs: Function[]): LoDashImplicitObjectWrapper<TResult>;
  9019. }
  9020. interface LoDashExplicitObjectWrapper<T> {
  9021. /**
  9022. * @see _.flowRight
  9023. */
  9024. flowRight<TResult extends Function>(...funcs: Function[]): LoDashExplicitObjectWrapper<TResult>;
  9025. }
  9026. //_.memoize
  9027. interface MemoizedFunction extends Function {
  9028. cache: MapCache;
  9029. }
  9030. interface LoDashStatic {
  9031. /**
  9032. * Creates a function that memoizes the result of func. If resolver is provided it determines the cache key for
  9033. * storing the result based on the arguments provided to the memoized function. By default, the first argument
  9034. * provided to the memoized function is coerced to a string and used as the cache key. The func is invoked with
  9035. * the this binding of the memoized function.
  9036. *
  9037. * @param func The function to have its output memoized.
  9038. * @param resolver The function to resolve the cache key.
  9039. * @return Returns the new memoizing function.
  9040. */
  9041. memoize: {
  9042. <T extends Function>(func: T, resolver?: Function): T & MemoizedFunction;
  9043. Cache: MapCache;
  9044. }
  9045. }
  9046. interface LoDashImplicitObjectWrapper<T> {
  9047. /**
  9048. * @see _.memoize
  9049. */
  9050. memoize(resolver?: Function): LoDashImplicitObjectWrapper<T & MemoizedFunction>;
  9051. }
  9052. interface LoDashExplicitObjectWrapper<T> {
  9053. /**
  9054. * @see _.memoize
  9055. */
  9056. memoize(resolver?: Function): LoDashExplicitObjectWrapper<T & MemoizedFunction>;
  9057. }
  9058. //_.overArgs (was _.modArgs)
  9059. interface LoDashStatic {
  9060. /**
  9061. * Creates a function that runs each argument through a corresponding transform function.
  9062. *
  9063. * @param func The function to wrap.
  9064. * @param transforms The functions to transform arguments, specified as individual functions or arrays
  9065. * of functions.
  9066. * @return Returns the new function.
  9067. */
  9068. overArgs<T extends Function, TResult extends Function>(
  9069. func: T,
  9070. ...transforms: Function[]
  9071. ): TResult;
  9072. /**
  9073. * @see _.overArgs
  9074. */
  9075. overArgs<T extends Function, TResult extends Function>(
  9076. func: T,
  9077. transforms: Function[]
  9078. ): TResult;
  9079. }
  9080. interface LoDashImplicitObjectWrapper<T> {
  9081. /**
  9082. * @see _.overArgs
  9083. */
  9084. overArgs<TResult extends Function>(...transforms: Function[]): LoDashImplicitObjectWrapper<TResult>;
  9085. /**
  9086. * @see _.overArgs
  9087. */
  9088. overArgs<TResult extends Function>(transforms: Function[]): LoDashImplicitObjectWrapper<TResult>;
  9089. }
  9090. interface LoDashExplicitObjectWrapper<T> {
  9091. /**
  9092. * @see _.overArgs
  9093. */
  9094. overArgs<TResult extends Function>(...transforms: Function[]): LoDashExplicitObjectWrapper<TResult>;
  9095. /**
  9096. * @see _.overArgs
  9097. */
  9098. overArgs<TResult extends Function>(transforms: Function[]): LoDashExplicitObjectWrapper<TResult>;
  9099. }
  9100. //_.negate
  9101. interface LoDashStatic {
  9102. /**
  9103. * Creates a function that negates the result of the predicate func. The func predicate is invoked with
  9104. * the this binding and arguments of the created function.
  9105. *
  9106. * @param predicate The predicate to negate.
  9107. * @return Returns the new function.
  9108. */
  9109. negate<T extends Function>(predicate: T): (...args: any[]) => boolean;
  9110. /**
  9111. * @see _.negate
  9112. */
  9113. negate<T extends Function, TResult extends Function>(predicate: T): TResult;
  9114. }
  9115. interface LoDashImplicitObjectWrapper<T> {
  9116. /**
  9117. * @see _.negate
  9118. */
  9119. negate(): LoDashImplicitObjectWrapper<(...args: any[]) => boolean>;
  9120. /**
  9121. * @see _.negate
  9122. */
  9123. negate<TResult extends Function>(): LoDashImplicitObjectWrapper<TResult>;
  9124. }
  9125. interface LoDashExplicitObjectWrapper<T> {
  9126. /**
  9127. * @see _.negate
  9128. */
  9129. negate(): LoDashExplicitObjectWrapper<(...args: any[]) => boolean>;
  9130. /**
  9131. * @see _.negate
  9132. */
  9133. negate<TResult extends Function>(): LoDashExplicitObjectWrapper<TResult>;
  9134. }
  9135. //_.once
  9136. interface LoDashStatic {
  9137. /**
  9138. * Creates a function that is restricted to invoking func once. Repeat calls to the function return the value
  9139. * of the first call. The func is invoked with the this binding and arguments of the created function.
  9140. *
  9141. * @param func The function to restrict.
  9142. * @return Returns the new restricted function.
  9143. */
  9144. once<T extends Function>(func: T): T;
  9145. }
  9146. interface LoDashImplicitObjectWrapper<T> {
  9147. /**
  9148. * @see _.once
  9149. */
  9150. once(): LoDashImplicitObjectWrapper<T>;
  9151. }
  9152. interface LoDashExplicitObjectWrapper<T> {
  9153. /**
  9154. * @see _.once
  9155. */
  9156. once(): LoDashExplicitObjectWrapper<T>;
  9157. }
  9158. //_.partial
  9159. interface LoDashStatic {
  9160. /**
  9161. * Creates a function that, when called, invokes func with any additional partial arguments
  9162. * prepended to those provided to the new function. This method is similar to _.bind except
  9163. * it does not alter the this binding.
  9164. * @param func The function to partially apply arguments to.
  9165. * @param args Arguments to be partially applied.
  9166. * @return The new partially applied function.
  9167. **/
  9168. partial: Partial;
  9169. }
  9170. type PH = LoDashStatic;
  9171. interface Function0<R> {
  9172. (): R;
  9173. }
  9174. interface Function1<T1, R> {
  9175. (t1: T1): R;
  9176. }
  9177. interface Function2<T1, T2, R> {
  9178. (t1: T1, t2: T2): R;
  9179. }
  9180. interface Function3<T1, T2, T3, R> {
  9181. (t1: T1, t2: T2, t3: T3): R;
  9182. }
  9183. interface Function4<T1, T2, T3, T4, R> {
  9184. (t1: T1, t2: T2, t3: T3, t4: T4): R;
  9185. }
  9186. interface Partial {
  9187. // arity 0
  9188. <R>(func: Function0<R>): Function0<R>;
  9189. // arity 1
  9190. <T1, R>(func: Function1<T1, R>): Function1<T1, R>;
  9191. <T1, R>(func: Function1<T1, R>, arg1: T1): Function0<R>;
  9192. // arity 2
  9193. <T1, T2, R>(func: Function2<T1, T2, R>): Function2<T1, T2, R>;
  9194. <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1): Function1< T2, R>;
  9195. <T1, T2, R>(func: Function2<T1, T2, R>, plc1: PH, arg2: T2): Function1<T1, R>;
  9196. <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, arg2: T2): Function0< R>;
  9197. // arity 3
  9198. <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>): Function3<T1, T2, T3, R>;
  9199. <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1): Function2< T2, T3, R>;
  9200. <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: PH, arg2: T2): Function2<T1, T3, R>;
  9201. <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2): Function1< T3, R>;
  9202. <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: PH, plc2: PH, arg3: T3): Function2<T1, T2, R>;
  9203. <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: PH, arg3: T3): Function1< T2, R>;
  9204. <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: PH, arg2: T2, arg3: T3): Function1<T1, R>;
  9205. <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, arg3: T3): Function0< R>;
  9206. // arity 4
  9207. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>): Function4<T1, T2, T3, T4, R>;
  9208. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1): Function3< T2, T3, T4, R>;
  9209. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: PH, arg2: T2): Function3<T1, T3, T4, R>;
  9210. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2): Function2< T3, T4, R>;
  9211. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: PH, plc2: PH, arg3: T3): Function3<T1, T2, T4, R>;
  9212. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: PH, arg3: T3): Function2< T2, T4, R>;
  9213. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: PH, arg2: T2, arg3: T3): Function2<T1, T4, R>;
  9214. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3): Function1< T4, R>;
  9215. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: PH, plc2: PH, plc3: PH, arg4: T4): Function3<T1, T2, T3, R>;
  9216. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: PH, plc3: PH, arg4: T4): Function2< T2, T3, R>;
  9217. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: PH, arg2: T2, plc3: PH, arg4: T4): Function2<T1, T3, R>;
  9218. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: PH, arg4: T4): Function1< T3, R>;
  9219. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: PH, plc2: PH, arg3: T3, arg4: T4): Function2<T1, T2, R>;
  9220. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: PH, arg3: T3, arg4: T4): Function1< T2, R>;
  9221. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: PH, arg2: T2, arg3: T3, arg4: T4): Function1<T1, R>;
  9222. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): Function0< R>;
  9223. // catch-all
  9224. (func: Function, ...args: any[]): Function;
  9225. }
  9226. //_.partialRight
  9227. interface LoDashStatic {
  9228. /**
  9229. * This method is like _.partial except that partial arguments are appended to those provided
  9230. * to the new function.
  9231. * @param func The function to partially apply arguments to.
  9232. * @param args Arguments to be partially applied.
  9233. * @return The new partially applied function.
  9234. **/
  9235. partialRight: PartialRight
  9236. }
  9237. interface PartialRight {
  9238. // arity 0
  9239. <R>(func: Function0<R>): Function0<R>;
  9240. // arity 1
  9241. <T1, R>(func: Function1<T1, R>): Function1<T1, R>;
  9242. <T1, R>(func: Function1<T1, R>, arg1: T1): Function0<R>;
  9243. // arity 2
  9244. <T1, T2, R>(func: Function2<T1, T2, R>): Function2<T1, T2, R>;
  9245. <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, plc2: PH): Function1< T2, R>;
  9246. <T1, T2, R>(func: Function2<T1, T2, R>, arg2: T2): Function1<T1, R>;
  9247. <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, arg2: T2): Function0< R>;
  9248. // arity 3
  9249. <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>): Function3<T1, T2, T3, R>;
  9250. <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: PH, plc3: PH): Function2< T2, T3, R>;
  9251. <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg2: T2, plc3: PH): Function2<T1, T3, R>;
  9252. <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, plc3: PH): Function1< T3, R>;
  9253. <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg3: T3): Function2<T1, T2, R>;
  9254. <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: PH, arg3: T3): Function1< T2, R>;
  9255. <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg2: T2, arg3: T3): Function1<T1, R>;
  9256. <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, arg3: T3): Function0< R>;
  9257. // arity 4
  9258. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>): Function4<T1, T2, T3, T4, R>;
  9259. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: PH, plc3: PH, plc4: PH): Function3< T2, T3, T4, R>;
  9260. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, plc3: PH, plc4: PH): Function3<T1, T3, T4, R>;
  9261. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: PH, plc4: PH): Function2< T3, T4, R>;
  9262. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg3: T3, plc4: PH): Function3<T1, T2, T4, R>;
  9263. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: PH, arg3: T3, plc4: PH): Function2< T2, T4, R>;
  9264. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, arg3: T3, plc4: PH): Function2<T1, T4, R>;
  9265. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, plc4: PH): Function1< T4, R>;
  9266. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg4: T4): Function3<T1, T2, T3, R>;
  9267. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: PH, plc3: PH, arg4: T4): Function2< T2, T3, R>;
  9268. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, plc3: PH, arg4: T4): Function2<T1, T3, R>;
  9269. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: PH, arg4: T4): Function1< T3, R>;
  9270. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg3: T3, arg4: T4): Function2<T1, T2, R>;
  9271. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: PH, arg3: T3, arg4: T4): Function1< T2, R>;
  9272. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, arg3: T3, arg4: T4): Function1<T1, R>;
  9273. <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): Function0< R>;
  9274. // catch-all
  9275. (func: Function, ...args: any[]): Function;
  9276. }
  9277. //_.rearg
  9278. interface LoDashStatic {
  9279. /**
  9280. * Creates a function that invokes func with arguments arranged according to the specified indexes where the
  9281. * argument value at the first index is provided as the first argument, the argument value at the second index
  9282. * is provided as the second argument, and so on.
  9283. * @param func The function to rearrange arguments for.
  9284. * @param indexes The arranged argument indexes, specified as individual indexes or arrays of indexes.
  9285. * @return Returns the new function.
  9286. */
  9287. rearg<TResult extends Function>(func: Function, indexes: number[]): TResult;
  9288. /**
  9289. * @see _.rearg
  9290. */
  9291. rearg<TResult extends Function>(func: Function, ...indexes: number[]): TResult;
  9292. }
  9293. interface LoDashImplicitObjectWrapper<T> {
  9294. /**
  9295. * @see _.rearg
  9296. */
  9297. rearg<TResult extends Function>(indexes: number[]): LoDashImplicitObjectWrapper<TResult>;
  9298. /**
  9299. * @see _.rearg
  9300. */
  9301. rearg<TResult extends Function>(...indexes: number[]): LoDashImplicitObjectWrapper<TResult>;
  9302. }
  9303. //_.rest
  9304. interface LoDashStatic {
  9305. /**
  9306. * Creates a function that invokes func with the this binding of the created function and arguments from start
  9307. * and beyond provided as an array.
  9308. *
  9309. * Note: This method is based on the rest parameter.
  9310. *
  9311. * @param func The function to apply a rest parameter to.
  9312. * @param start The start position of the rest parameter.
  9313. * @return Returns the new function.
  9314. */
  9315. rest<TResult extends Function>(
  9316. func: Function,
  9317. start?: number
  9318. ): TResult;
  9319. /**
  9320. * @see _.rest
  9321. */
  9322. rest<TResult extends Function, TFunc extends Function>(
  9323. func: TFunc,
  9324. start?: number
  9325. ): TResult;
  9326. }
  9327. interface LoDashImplicitObjectWrapper<T> {
  9328. /**
  9329. * @see _.rest
  9330. */
  9331. rest<TResult extends Function>(start?: number): LoDashImplicitObjectWrapper<TResult>;
  9332. }
  9333. interface LoDashExplicitObjectWrapper<T> {
  9334. /**
  9335. * @see _.rest
  9336. */
  9337. rest<TResult extends Function>(start?: number): LoDashExplicitObjectWrapper<TResult>;
  9338. }
  9339. //_.spread
  9340. interface LoDashStatic {
  9341. /**
  9342. * Creates a function that invokes func with the this binding of the created function and an array of arguments
  9343. * much like Function#apply.
  9344. *
  9345. * Note: This method is based on the spread operator.
  9346. *
  9347. * @param func The function to spread arguments over.
  9348. * @return Returns the new function.
  9349. */
  9350. spread<F extends Function, T extends Function>(func: F): T;
  9351. /**
  9352. * @see _.spread
  9353. */
  9354. spread<T extends Function>(func: Function): T;
  9355. }
  9356. interface LoDashImplicitObjectWrapper<T> {
  9357. /**
  9358. * @see _.spread
  9359. */
  9360. spread<T extends Function>(): LoDashImplicitObjectWrapper<T>;
  9361. }
  9362. interface LoDashExplicitObjectWrapper<T> {
  9363. /**
  9364. * @see _.spread
  9365. */
  9366. spread<T extends Function>(): LoDashExplicitObjectWrapper<T>;
  9367. }
  9368. //_.throttle
  9369. interface ThrottleSettings {
  9370. /**
  9371. * If you'd like to disable the leading-edge call, pass this as false.
  9372. */
  9373. leading?: boolean;
  9374. /**
  9375. * If you'd like to disable the execution on the trailing-edge, pass false.
  9376. */
  9377. trailing?: boolean;
  9378. }
  9379. interface LoDashStatic {
  9380. /**
  9381. * Creates a throttled function that only invokes func at most once per every wait milliseconds. The throttled
  9382. * function comes with a cancel method to cancel delayed invocations and a flush method to immediately invoke
  9383. * them. Provide an options object to indicate that func should be invoked on the leading and/or trailing edge
  9384. * of the wait timeout. Subsequent calls to the throttled function return the result of the last func call.
  9385. *
  9386. * Note: If leading and trailing options are true, func is invoked on the trailing edge of the timeout only if
  9387. * the the throttled function is invoked more than once during the wait timeout.
  9388. *
  9389. * @param func The function to throttle.
  9390. * @param wait The number of milliseconds to throttle invocations to.
  9391. * @param options The options object.
  9392. * @param options.leading Specify invoking on the leading edge of the timeout.
  9393. * @param options.trailing Specify invoking on the trailing edge of the timeout.
  9394. * @return Returns the new throttled function.
  9395. */
  9396. throttle<T extends Function>(
  9397. func: T,
  9398. wait?: number,
  9399. options?: ThrottleSettings
  9400. ): T & Cancelable;
  9401. }
  9402. interface LoDashImplicitObjectWrapper<T> {
  9403. /**
  9404. * @see _.throttle
  9405. */
  9406. throttle(
  9407. wait?: number,
  9408. options?: ThrottleSettings
  9409. ): LoDashImplicitObjectWrapper<T & Cancelable>;
  9410. }
  9411. interface LoDashExplicitObjectWrapper<T> {
  9412. /**
  9413. * @see _.throttle
  9414. */
  9415. throttle(
  9416. wait?: number,
  9417. options?: ThrottleSettings
  9418. ): LoDashExplicitObjectWrapper<T & Cancelable>;
  9419. }
  9420. //_.unary
  9421. interface LoDashStatic {
  9422. /**
  9423. * Creates a function that accepts up to one argument, ignoring any
  9424. * additional arguments.
  9425. *
  9426. * @static
  9427. * @memberOf _
  9428. * @category Function
  9429. * @param {Function} func The function to cap arguments for.
  9430. * @returns {Function} Returns the new function.
  9431. * @example
  9432. *
  9433. * _.map(['6', '8', '10'], _.unary(parseInt));
  9434. * // => [6, 8, 10]
  9435. */
  9436. unary<T extends Function>(func: T): T;
  9437. }
  9438. interface LoDashImplicitObjectWrapper<T> {
  9439. /**
  9440. * @see _.unary
  9441. */
  9442. unary(): LoDashImplicitObjectWrapper<T>;
  9443. }
  9444. interface LoDashExplicitObjectWrapper<T> {
  9445. /**
  9446. * @see _.unary
  9447. */
  9448. unary(): LoDashExplicitObjectWrapper<T>;
  9449. }
  9450. //_.wrap
  9451. interface LoDashStatic {
  9452. /**
  9453. * Creates a function that provides value to the wrapper function as its first argument. Any additional
  9454. * arguments provided to the function are appended to those provided to the wrapper function. The wrapper is
  9455. * invoked with the this binding of the created function.
  9456. *
  9457. * @param value The value to wrap.
  9458. * @param wrapper The wrapper function.
  9459. * @return Returns the new function.
  9460. */
  9461. wrap<V, W extends Function, R extends Function>(
  9462. value: V,
  9463. wrapper: W
  9464. ): R;
  9465. /**
  9466. * @see _.wrap
  9467. */
  9468. wrap<V, R extends Function>(
  9469. value: V,
  9470. wrapper: Function
  9471. ): R;
  9472. /**
  9473. * @see _.wrap
  9474. */
  9475. wrap<R extends Function>(
  9476. value: any,
  9477. wrapper: Function
  9478. ): R;
  9479. }
  9480. interface LoDashImplicitWrapper<T> {
  9481. /**
  9482. * @see _.wrap
  9483. */
  9484. wrap<W extends Function, R extends Function>(wrapper: W): LoDashImplicitObjectWrapper<R>;
  9485. /**
  9486. * @see _.wrap
  9487. */
  9488. wrap<R extends Function>(wrapper: Function): LoDashImplicitObjectWrapper<R>;
  9489. }
  9490. interface LoDashImplicitArrayWrapper<T> {
  9491. /**
  9492. * @see _.wrap
  9493. */
  9494. wrap<W extends Function, R extends Function>(wrapper: W): LoDashImplicitObjectWrapper<R>;
  9495. /**
  9496. * @see _.wrap
  9497. */
  9498. wrap<R extends Function>(wrapper: Function): LoDashImplicitObjectWrapper<R>;
  9499. }
  9500. interface LoDashImplicitObjectWrapper<T> {
  9501. /**
  9502. * @see _.wrap
  9503. */
  9504. wrap<W extends Function, R extends Function>(wrapper: W): LoDashImplicitObjectWrapper<R>;
  9505. /**
  9506. * @see _.wrap
  9507. */
  9508. wrap<R extends Function>(wrapper: Function): LoDashImplicitObjectWrapper<R>;
  9509. }
  9510. interface LoDashExplicitWrapper<T> {
  9511. /**
  9512. * @see _.wrap
  9513. */
  9514. wrap<W extends Function, R extends Function>(wrapper: W): LoDashExplicitObjectWrapper<R>;
  9515. /**
  9516. * @see _.wrap
  9517. */
  9518. wrap<R extends Function>(wrapper: Function): LoDashExplicitObjectWrapper<R>;
  9519. }
  9520. interface LoDashExplicitArrayWrapper<T> {
  9521. /**
  9522. * @see _.wrap
  9523. */
  9524. wrap<W extends Function, R extends Function>(wrapper: W): LoDashExplicitObjectWrapper<R>;
  9525. /**
  9526. * @see _.wrap
  9527. */
  9528. wrap<R extends Function>(wrapper: Function): LoDashExplicitObjectWrapper<R>;
  9529. }
  9530. interface LoDashExplicitObjectWrapper<T> {
  9531. /**
  9532. * @see _.wrap
  9533. */
  9534. wrap<W extends Function, R extends Function>(wrapper: W): LoDashExplicitObjectWrapper<R>;
  9535. /**
  9536. * @see _.wrap
  9537. */
  9538. wrap<R extends Function>(wrapper: Function): LoDashExplicitObjectWrapper<R>;
  9539. }
  9540. /********
  9541. * Lang *
  9542. ********/
  9543. //_.castArray
  9544. interface LoDashStatic {
  9545. /**
  9546. * Casts value as an array if it’s not one.
  9547. *
  9548. * @param value The value to inspect.
  9549. * @return Returns the cast array.
  9550. */
  9551. castArray<T>(value: T): T[];
  9552. }
  9553. interface LoDashImplicitWrapper<T> {
  9554. /**
  9555. * @see _.castArray
  9556. */
  9557. castArray(): LoDashImplicitArrayWrapper<T>;
  9558. }
  9559. interface LoDashImplicitArrayWrapper<T> {
  9560. /**
  9561. * @see _.castArray
  9562. */
  9563. castArray(): LoDashImplicitArrayWrapper<T>;
  9564. }
  9565. interface LoDashImplicitObjectWrapper<T> {
  9566. /**
  9567. * @see _.castArray
  9568. */
  9569. castArray(): LoDashImplicitArrayWrapper<T>;
  9570. }
  9571. interface LoDashExplicitWrapper<T> {
  9572. /**
  9573. * @see _.castArray
  9574. */
  9575. castArray(): LoDashExplicitArrayWrapper<T>;
  9576. }
  9577. interface LoDashExplicitArrayWrapper<T> {
  9578. /**
  9579. * @see _.castArray
  9580. */
  9581. castArray(): LoDashExplicitArrayWrapper<T>;
  9582. }
  9583. interface LoDashExplicitObjectWrapper<T> {
  9584. /**
  9585. * @see _.castArray
  9586. */
  9587. castArray(): LoDashExplicitArrayWrapper<T>;
  9588. }
  9589. //_.clone
  9590. interface LoDashStatic {
  9591. /**
  9592. * Creates a shallow clone of value.
  9593. *
  9594. * Note: This method is loosely based on the structured clone algorithm and supports cloning arrays,
  9595. * array buffers, booleans, date objects, maps, numbers, Object objects, regexes, sets, strings, symbols,
  9596. * and typed arrays. The own enumerable properties of arguments objects are cloned as plain objects. An empty
  9597. * object is returned for uncloneable values such as error objects, functions, DOM nodes, and WeakMaps.
  9598. *
  9599. * @param value The value to clone.
  9600. * @return Returns the cloned value.
  9601. */
  9602. clone<T>(value: T): T;
  9603. }
  9604. interface LoDashImplicitWrapper<T> {
  9605. /**
  9606. * @see _.clone
  9607. */
  9608. clone(): T;
  9609. }
  9610. interface LoDashImplicitArrayWrapper<T> {
  9611. /**
  9612. * @see _.clone
  9613. */
  9614. clone(): T[];
  9615. }
  9616. interface LoDashImplicitObjectWrapper<T> {
  9617. /**
  9618. * @see _.clone
  9619. */
  9620. clone(): T;
  9621. }
  9622. interface LoDashExplicitWrapper<T> {
  9623. /**
  9624. * @see _.clone
  9625. */
  9626. clone(): LoDashExplicitWrapper<T>;
  9627. }
  9628. interface LoDashExplicitArrayWrapper<T> {
  9629. /**
  9630. * @see _.clone
  9631. */
  9632. clone(): LoDashExplicitArrayWrapper<T>;
  9633. }
  9634. interface LoDashExplicitObjectWrapper<T> {
  9635. /**
  9636. * @see _.clone
  9637. */
  9638. clone(): LoDashExplicitObjectWrapper<T>;
  9639. }
  9640. //_.cloneDeep
  9641. interface LoDashStatic {
  9642. /**
  9643. * This method is like _.clone except that it recursively clones value.
  9644. *
  9645. * @param value The value to recursively clone.
  9646. * @return Returns the deep cloned value.
  9647. */
  9648. cloneDeep<T>(value: T): T;
  9649. }
  9650. interface LoDashImplicitWrapper<T> {
  9651. /**
  9652. * @see _.cloneDeep
  9653. */
  9654. cloneDeep(): T;
  9655. }
  9656. interface LoDashImplicitArrayWrapper<T> {
  9657. /**
  9658. * @see _.cloneDeep
  9659. */
  9660. cloneDeep(): T[];
  9661. }
  9662. interface LoDashImplicitObjectWrapper<T> {
  9663. /**
  9664. * @see _.cloneDeep
  9665. */
  9666. cloneDeep(): T;
  9667. }
  9668. interface LoDashExplicitWrapper<T> {
  9669. /**
  9670. * @see _.cloneDeep
  9671. */
  9672. cloneDeep(): LoDashExplicitWrapper<T>;
  9673. }
  9674. interface LoDashExplicitArrayWrapper<T> {
  9675. /**
  9676. * @see _.cloneDeep
  9677. */
  9678. cloneDeep(): LoDashExplicitArrayWrapper<T>;
  9679. }
  9680. interface LoDashExplicitObjectWrapper<T> {
  9681. /**
  9682. * @see _.cloneDeep
  9683. */
  9684. cloneDeep(): LoDashExplicitObjectWrapper<T>;
  9685. }
  9686. //_.cloneDeepWith
  9687. interface CloneDeepWithCustomizer<TValue, TResult> {
  9688. (value: TValue): TResult;
  9689. }
  9690. interface LoDashStatic {
  9691. /**
  9692. * This method is like _.cloneWith except that it recursively clones value.
  9693. *
  9694. * @param value The value to recursively clone.
  9695. * @param customizer The function to customize cloning.
  9696. * @return Returns the deep cloned value.
  9697. */
  9698. cloneDeepWith<TResult>(
  9699. value: any,
  9700. customizer?: CloneDeepWithCustomizer<any, TResult>
  9701. ): TResult;
  9702. /**
  9703. * @see _.clonDeepeWith
  9704. */
  9705. cloneDeepWith<T, TResult>(
  9706. value: T,
  9707. customizer?: CloneDeepWithCustomizer<T, TResult>
  9708. ): TResult;
  9709. }
  9710. interface LoDashImplicitWrapper<T> {
  9711. /**
  9712. * @see _.cloneDeepWith
  9713. */
  9714. cloneDeepWith<TResult>(
  9715. customizer?: CloneDeepWithCustomizer<T, TResult>
  9716. ): TResult;
  9717. }
  9718. interface LoDashImplicitArrayWrapper<T> {
  9719. /**
  9720. * @see _.cloneDeepWith
  9721. */
  9722. cloneDeepWith<TResult>(
  9723. customizer?: CloneDeepWithCustomizer<T[], TResult>
  9724. ): TResult;
  9725. }
  9726. interface LoDashImplicitObjectWrapper<T> {
  9727. /**
  9728. * @see _.cloneDeepWith
  9729. */
  9730. cloneDeepWith<TResult>(
  9731. customizer?: CloneDeepWithCustomizer<T, TResult>
  9732. ): TResult;
  9733. }
  9734. interface LoDashExplicitWrapper<T> {
  9735. /**
  9736. * @see _.cloneDeepWith
  9737. */
  9738. cloneDeepWith<TResult extends (number|string|boolean)>(
  9739. customizer?: CloneDeepWithCustomizer<T, TResult>
  9740. ): LoDashExplicitWrapper<TResult>;
  9741. /**
  9742. * @see _.cloneDeepWith
  9743. */
  9744. cloneDeepWith<TResult>(
  9745. customizer?: CloneDeepWithCustomizer<T, TResult[]>
  9746. ): LoDashExplicitArrayWrapper<TResult>;
  9747. /**
  9748. * @see _.cloneDeepWith
  9749. */
  9750. cloneDeepWith<TResult extends Object>(
  9751. customizer?: CloneDeepWithCustomizer<T, TResult>
  9752. ): LoDashExplicitObjectWrapper<TResult>;
  9753. }
  9754. interface LoDashExplicitArrayWrapper<T> {
  9755. /**
  9756. * @see _.cloneDeepWith
  9757. */
  9758. cloneDeepWith<TResult extends (number|string|boolean)>(
  9759. customizer?: CloneDeepWithCustomizer<T[], TResult>
  9760. ): LoDashExplicitWrapper<TResult>;
  9761. /**
  9762. * @see _.cloneDeepWith
  9763. */
  9764. cloneDeepWith<TResult>(
  9765. customizer?: CloneDeepWithCustomizer<T[], TResult[]>
  9766. ): LoDashExplicitArrayWrapper<TResult>;
  9767. /**
  9768. * @see _.cloneDeepWith
  9769. */
  9770. cloneDeepWith<TResult extends Object>(
  9771. customizer?: CloneDeepWithCustomizer<T[], TResult>
  9772. ): LoDashExplicitObjectWrapper<TResult>;
  9773. }
  9774. interface LoDashExplicitObjectWrapper<T> {
  9775. /**
  9776. * @see _.cloneDeepWith
  9777. */
  9778. cloneDeepWith<TResult extends (number|string|boolean)>(
  9779. customizer?: CloneDeepWithCustomizer<T, TResult>
  9780. ): LoDashExplicitWrapper<TResult>;
  9781. /**
  9782. * @see _.cloneDeepWith
  9783. */
  9784. cloneDeepWith<TResult>(
  9785. customizer?: CloneDeepWithCustomizer<T, TResult[]>
  9786. ): LoDashExplicitArrayWrapper<TResult>;
  9787. /**
  9788. * @see _.cloneDeepWith
  9789. */
  9790. cloneDeepWith<TResult extends Object>(
  9791. customizer?: CloneDeepWithCustomizer<T, TResult>
  9792. ): LoDashExplicitObjectWrapper<TResult>;
  9793. }
  9794. //_.cloneWith
  9795. interface CloneWithCustomizer<TValue, TResult> {
  9796. (value: TValue): TResult;
  9797. }
  9798. interface LoDashStatic {
  9799. /**
  9800. * This method is like _.clone except that it accepts customizer which is invoked to produce the cloned value.
  9801. * If customizer returns undefined cloning is handled by the method instead.
  9802. *
  9803. * @param value The value to clone.
  9804. * @param customizer The function to customize cloning.
  9805. * @return Returns the cloned value.
  9806. */
  9807. cloneWith<TResult>(
  9808. value: any,
  9809. customizer?: CloneWithCustomizer<any, TResult>
  9810. ): TResult;
  9811. /**
  9812. * @see _.cloneWith
  9813. */
  9814. cloneWith<T, TResult>(
  9815. value: T,
  9816. customizer?: CloneWithCustomizer<T, TResult>
  9817. ): TResult;
  9818. }
  9819. interface LoDashImplicitWrapper<T> {
  9820. /**
  9821. * @see _.cloneWith
  9822. */
  9823. cloneWith<TResult>(
  9824. customizer?: CloneWithCustomizer<T, TResult>
  9825. ): TResult;
  9826. }
  9827. interface LoDashImplicitArrayWrapper<T> {
  9828. /**
  9829. * @see _.cloneWith
  9830. */
  9831. cloneWith<TResult>(
  9832. customizer?: CloneWithCustomizer<T[], TResult>
  9833. ): TResult;
  9834. }
  9835. interface LoDashImplicitObjectWrapper<T> {
  9836. /**
  9837. * @see _.cloneWith
  9838. */
  9839. cloneWith<TResult>(
  9840. customizer?: CloneWithCustomizer<T, TResult>
  9841. ): TResult;
  9842. }
  9843. interface LoDashExplicitWrapper<T> {
  9844. /**
  9845. * @see _.cloneWith
  9846. */
  9847. cloneWith<TResult extends (number|string|boolean)>(
  9848. customizer?: CloneWithCustomizer<T, TResult>
  9849. ): LoDashExplicitWrapper<TResult>;
  9850. /**
  9851. * @see _.cloneWith
  9852. */
  9853. cloneWith<TResult>(
  9854. customizer?: CloneWithCustomizer<T, TResult[]>
  9855. ): LoDashExplicitArrayWrapper<TResult>;
  9856. /**
  9857. * @see _.cloneWith
  9858. */
  9859. cloneWith<TResult extends Object>(
  9860. customizer?: CloneWithCustomizer<T, TResult>
  9861. ): LoDashExplicitObjectWrapper<TResult>;
  9862. }
  9863. interface LoDashExplicitArrayWrapper<T> {
  9864. /**
  9865. * @see _.cloneWith
  9866. */
  9867. cloneWith<TResult extends (number|string|boolean)>(
  9868. customizer?: CloneWithCustomizer<T[], TResult>
  9869. ): LoDashExplicitWrapper<TResult>;
  9870. /**
  9871. * @see _.cloneWith
  9872. */
  9873. cloneWith<TResult>(
  9874. customizer?: CloneWithCustomizer<T[], TResult[]>
  9875. ): LoDashExplicitArrayWrapper<TResult>;
  9876. /**
  9877. * @see _.cloneWith
  9878. */
  9879. cloneWith<TResult extends Object>(
  9880. customizer?: CloneWithCustomizer<T[], TResult>
  9881. ): LoDashExplicitObjectWrapper<TResult>;
  9882. }
  9883. interface LoDashExplicitObjectWrapper<T> {
  9884. /**
  9885. * @see _.cloneWith
  9886. */
  9887. cloneWith<TResult extends (number|string|boolean)>(
  9888. customizer?: CloneWithCustomizer<T, TResult>
  9889. ): LoDashExplicitWrapper<TResult>;
  9890. /**
  9891. * @see _.cloneWith
  9892. */
  9893. cloneWith<TResult>(
  9894. customizer?: CloneWithCustomizer<T, TResult[]>
  9895. ): LoDashExplicitArrayWrapper<TResult>;
  9896. /**
  9897. * @see _.cloneWith
  9898. */
  9899. cloneWith<TResult extends Object>(
  9900. customizer?: CloneWithCustomizer<T, TResult>
  9901. ): LoDashExplicitObjectWrapper<TResult>;
  9902. }
  9903. //_.eq
  9904. interface LoDashStatic {
  9905. /**
  9906. * Performs a [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
  9907. * comparison between two values to determine if they are equivalent.
  9908. *
  9909. * @static
  9910. * @memberOf _
  9911. * @category Lang
  9912. * @param {*} value The value to compare.
  9913. * @param {*} other The other value to compare.
  9914. * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
  9915. * @example
  9916. *
  9917. * var object = { 'user': 'fred' };
  9918. * var other = { 'user': 'fred' };
  9919. *
  9920. * _.eq(object, object);
  9921. * // => true
  9922. *
  9923. * _.eq(object, other);
  9924. * // => false
  9925. *
  9926. * _.eq('a', 'a');
  9927. * // => true
  9928. *
  9929. * _.eq('a', Object('a'));
  9930. * // => false
  9931. *
  9932. * _.eq(NaN, NaN);
  9933. * // => true
  9934. */
  9935. eq(
  9936. value: any,
  9937. other: any
  9938. ): boolean;
  9939. }
  9940. interface LoDashImplicitWrapperBase<T, TWrapper> {
  9941. /**
  9942. * @see _.isEqual
  9943. */
  9944. eq(
  9945. other: any
  9946. ): boolean;
  9947. }
  9948. interface LoDashExplicitWrapperBase<T, TWrapper> {
  9949. /**
  9950. * @see _.isEqual
  9951. */
  9952. eq(
  9953. other: any
  9954. ): LoDashExplicitWrapper<boolean>;
  9955. }
  9956. //_.gt
  9957. interface LoDashStatic {
  9958. /**
  9959. * Checks if value is greater than other.
  9960. *
  9961. * @param value The value to compare.
  9962. * @param other The other value to compare.
  9963. * @return Returns true if value is greater than other, else false.
  9964. */
  9965. gt(
  9966. value: any,
  9967. other: any
  9968. ): boolean;
  9969. }
  9970. interface LoDashImplicitWrapperBase<T, TWrapper> {
  9971. /**
  9972. * @see _.gt
  9973. */
  9974. gt(other: any): boolean;
  9975. }
  9976. interface LoDashExplicitWrapperBase<T, TWrapper> {
  9977. /**
  9978. * @see _.gt
  9979. */
  9980. gt(other: any): LoDashExplicitWrapper<boolean>;
  9981. }
  9982. //_.gte
  9983. interface LoDashStatic {
  9984. /**
  9985. * Checks if value is greater than or equal to other.
  9986. *
  9987. * @param value The value to compare.
  9988. * @param other The other value to compare.
  9989. * @return Returns true if value is greater than or equal to other, else false.
  9990. */
  9991. gte(
  9992. value: any,
  9993. other: any
  9994. ): boolean;
  9995. }
  9996. interface LoDashImplicitWrapperBase<T, TWrapper> {
  9997. /**
  9998. * @see _.gte
  9999. */
  10000. gte(other: any): boolean;
  10001. }
  10002. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10003. /**
  10004. * @see _.gte
  10005. */
  10006. gte(other: any): LoDashExplicitWrapper<boolean>;
  10007. }
  10008. //_.isArguments
  10009. interface LoDashStatic {
  10010. /**
  10011. * Checks if value is classified as an arguments object.
  10012. *
  10013. * @param value The value to check.
  10014. * @return Returns true if value is correctly classified, else false.
  10015. */
  10016. isArguments(value?: any): value is IArguments;
  10017. }
  10018. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10019. /**
  10020. * @see _.isArguments
  10021. */
  10022. isArguments(): boolean;
  10023. }
  10024. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10025. /**
  10026. * @see _.isArguments
  10027. */
  10028. isArguments(): LoDashExplicitWrapper<boolean>;
  10029. }
  10030. //_.isArray
  10031. interface LoDashStatic {
  10032. /**
  10033. * Checks if value is classified as an Array object.
  10034. * @param value The value to check.
  10035. *
  10036. * @return Returns true if value is correctly classified, else false.
  10037. */
  10038. isArray<T>(value?: any): value is T[];
  10039. }
  10040. interface LoDashImplicitWrapperBase<T,TWrapper> {
  10041. /**
  10042. * @see _.isArray
  10043. */
  10044. isArray(): boolean;
  10045. }
  10046. interface LoDashExplicitWrapperBase<T,TWrapper> {
  10047. /**
  10048. * @see _.isArray
  10049. */
  10050. isArray(): LoDashExplicitWrapper<boolean>;
  10051. }
  10052. //_.isArrayBuffer
  10053. interface LoDashStatic {
  10054. /**
  10055. * Checks if value is classified as an ArrayBuffer object.
  10056. *
  10057. * @param value The value to check.
  10058. * @return Returns true if value is correctly classified, else false.
  10059. */
  10060. isArrayBuffer(value?: any): value is ArrayBuffer;
  10061. }
  10062. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10063. /**
  10064. * @see _.isArrayBuffer
  10065. */
  10066. isArrayBuffer(): boolean;
  10067. }
  10068. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10069. /**
  10070. * @see _.isArrayBuffer
  10071. */
  10072. isArrayBuffer(): LoDashExplicitWrapper<boolean>;
  10073. }
  10074. //_.isArrayLike
  10075. interface LoDashStatic {
  10076. /**
  10077. * Checks if `value` is array-like. A value is considered array-like if it's
  10078. * not a function and has a `value.length` that's an integer greater than or
  10079. * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
  10080. *
  10081. * @static
  10082. * @memberOf _
  10083. * @type Function
  10084. * @category Lang
  10085. * @param {*} value The value to check.
  10086. * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
  10087. * @example
  10088. *
  10089. * _.isArrayLike([1, 2, 3]);
  10090. * // => true
  10091. *
  10092. * _.isArrayLike(document.body.children);
  10093. * // => true
  10094. *
  10095. * _.isArrayLike('abc');
  10096. * // => true
  10097. *
  10098. * _.isArrayLike(_.noop);
  10099. * // => false
  10100. */
  10101. isArrayLike<T>(value?: any): value is T[];
  10102. }
  10103. interface LoDashImplicitWrapperBase<T,TWrapper> {
  10104. /**
  10105. * @see _.isArrayLike
  10106. */
  10107. isArrayLike(): boolean;
  10108. }
  10109. interface LoDashExplicitWrapperBase<T,TWrapper> {
  10110. /**
  10111. * @see _.isArrayLike
  10112. */
  10113. isArrayLike(): LoDashExplicitWrapper<boolean>;
  10114. }
  10115. //_.isArrayLikeObject
  10116. interface LoDashStatic {
  10117. /**
  10118. * This method is like `_.isArrayLike` except that it also checks if `value`
  10119. * is an object.
  10120. *
  10121. * @static
  10122. * @memberOf _
  10123. * @type Function
  10124. * @category Lang
  10125. * @param {*} value The value to check.
  10126. * @returns {boolean} Returns `true` if `value` is an array-like object, else `false`.
  10127. * @example
  10128. *
  10129. * _.isArrayLikeObject([1, 2, 3]);
  10130. * // => true
  10131. *
  10132. * _.isArrayLikeObject(document.body.children);
  10133. * // => true
  10134. *
  10135. * _.isArrayLikeObject('abc');
  10136. * // => false
  10137. *
  10138. * _.isArrayLikeObject(_.noop);
  10139. * // => false
  10140. */
  10141. isArrayLikeObject<T>(value?: any): value is T[];
  10142. }
  10143. interface LoDashImplicitWrapperBase<T,TWrapper> {
  10144. /**
  10145. * @see _.isArrayLikeObject
  10146. */
  10147. isArrayLikeObject(): boolean;
  10148. }
  10149. interface LoDashExplicitWrapperBase<T,TWrapper> {
  10150. /**
  10151. * @see _.isArrayLikeObject
  10152. */
  10153. isArrayLikeObject(): LoDashExplicitWrapper<boolean>;
  10154. }
  10155. //_.isBoolean
  10156. interface LoDashStatic {
  10157. /**
  10158. * Checks if value is classified as a boolean primitive or object.
  10159. *
  10160. * @param value The value to check.
  10161. * @return Returns true if value is correctly classified, else false.
  10162. */
  10163. isBoolean(value?: any): value is boolean;
  10164. }
  10165. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10166. /**
  10167. * @see _.isBoolean
  10168. */
  10169. isBoolean(): boolean;
  10170. }
  10171. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10172. /**
  10173. * @see _.isBoolean
  10174. */
  10175. isBoolean(): LoDashExplicitWrapper<boolean>;
  10176. }
  10177. //_.isBuffer
  10178. interface LoDashStatic {
  10179. /**
  10180. * Checks if value is a buffer.
  10181. *
  10182. * @param value The value to check.
  10183. * @return Returns true if value is a buffer, else false.
  10184. */
  10185. isBuffer(value?: any): boolean;
  10186. }
  10187. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10188. /**
  10189. * @see _.isBuffer
  10190. */
  10191. isBuffer(): boolean;
  10192. }
  10193. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10194. /**
  10195. * @see _.isBuffer
  10196. */
  10197. isBuffer(): LoDashExplicitWrapper<boolean>;
  10198. }
  10199. //_.isDate
  10200. interface LoDashStatic {
  10201. /**
  10202. * Checks if value is classified as a Date object.
  10203. * @param value The value to check.
  10204. *
  10205. * @return Returns true if value is correctly classified, else false.
  10206. */
  10207. isDate(value?: any): value is Date;
  10208. }
  10209. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10210. /**
  10211. * @see _.isDate
  10212. */
  10213. isDate(): boolean;
  10214. }
  10215. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10216. /**
  10217. * @see _.isDate
  10218. */
  10219. isDate(): LoDashExplicitWrapper<boolean>;
  10220. }
  10221. //_.isElement
  10222. interface LoDashStatic {
  10223. /**
  10224. * Checks if value is a DOM element.
  10225. *
  10226. * @param value The value to check.
  10227. * @return Returns true if value is a DOM element, else false.
  10228. */
  10229. isElement(value?: any): boolean;
  10230. }
  10231. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10232. /**
  10233. * @see _.isElement
  10234. */
  10235. isElement(): boolean;
  10236. }
  10237. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10238. /**
  10239. * @see _.isElement
  10240. */
  10241. isElement(): LoDashExplicitWrapper<boolean>;
  10242. }
  10243. //_.isEmpty
  10244. interface LoDashStatic {
  10245. /**
  10246. * Checks if value is empty. A value is considered empty unless it’s an arguments object, array, string, or
  10247. * jQuery-like collection with a length greater than 0 or an object with own enumerable properties.
  10248. *
  10249. * @param value The value to inspect.
  10250. * @return Returns true if value is empty, else false.
  10251. */
  10252. isEmpty(value?: any): boolean;
  10253. }
  10254. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10255. /**
  10256. * @see _.isEmpty
  10257. */
  10258. isEmpty(): boolean;
  10259. }
  10260. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10261. /**
  10262. * @see _.isEmpty
  10263. */
  10264. isEmpty(): LoDashExplicitWrapper<boolean>;
  10265. }
  10266. //_.isEqual
  10267. interface LoDashStatic {
  10268. /**
  10269. * Performs a deep comparison between two values to determine if they are
  10270. * equivalent.
  10271. *
  10272. * **Note:** This method supports comparing arrays, array buffers, booleans,
  10273. * date objects, error objects, maps, numbers, `Object` objects, regexes,
  10274. * sets, strings, symbols, and typed arrays. `Object` objects are compared
  10275. * by their own, not inherited, enumerable properties. Functions and DOM
  10276. * nodes are **not** supported.
  10277. *
  10278. * @static
  10279. * @memberOf _
  10280. * @category Lang
  10281. * @param {*} value The value to compare.
  10282. * @param {*} other The other value to compare.
  10283. * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
  10284. * @example
  10285. *
  10286. * var object = { 'user': 'fred' };
  10287. * var other = { 'user': 'fred' };
  10288. *
  10289. * _.isEqual(object, other);
  10290. * // => true
  10291. *
  10292. * object === other;
  10293. * // => false
  10294. */
  10295. isEqual(
  10296. value: any,
  10297. other: any
  10298. ): boolean;
  10299. }
  10300. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10301. /**
  10302. * @see _.isEqual
  10303. */
  10304. isEqual(
  10305. other: any
  10306. ): boolean;
  10307. }
  10308. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10309. /**
  10310. * @see _.isEqual
  10311. */
  10312. isEqual(
  10313. other: any
  10314. ): LoDashExplicitWrapper<boolean>;
  10315. }
  10316. // _.isEqualWith
  10317. interface IsEqualCustomizer {
  10318. (value: any, other: any, indexOrKey?: number|string): boolean;
  10319. }
  10320. interface LoDashStatic {
  10321. /**
  10322. * This method is like `_.isEqual` except that it accepts `customizer` which is
  10323. * invoked to compare values. If `customizer` returns `undefined` comparisons are
  10324. * handled by the method instead. The `customizer` is invoked with up to seven arguments:
  10325. * (objValue, othValue [, index|key, object, other, stack]).
  10326. *
  10327. * @static
  10328. * @memberOf _
  10329. * @category Lang
  10330. * @param {*} value The value to compare.
  10331. * @param {*} other The other value to compare.
  10332. * @param {Function} [customizer] The function to customize comparisons.
  10333. * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
  10334. * @example
  10335. *
  10336. * function isGreeting(value) {
  10337. * return /^h(?:i|ello)$/.test(value);
  10338. * }
  10339. *
  10340. * function customizer(objValue, othValue) {
  10341. * if (isGreeting(objValue) && isGreeting(othValue)) {
  10342. * return true;
  10343. * }
  10344. * }
  10345. *
  10346. * var array = ['hello', 'goodbye'];
  10347. * var other = ['hi', 'goodbye'];
  10348. *
  10349. * _.isEqualWith(array, other, customizer);
  10350. * // => true
  10351. */
  10352. isEqualWith(
  10353. value: any,
  10354. other: any,
  10355. customizer: IsEqualCustomizer
  10356. ): boolean;
  10357. }
  10358. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10359. /**
  10360. * @see _.isEqualWith
  10361. */
  10362. isEqualWith(
  10363. other: any,
  10364. customizer: IsEqualCustomizer
  10365. ): boolean;
  10366. }
  10367. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10368. /**
  10369. * @see _.isEqualWith
  10370. */
  10371. isEqualWith(
  10372. other: any,
  10373. customizer: IsEqualCustomizer
  10374. ): LoDashExplicitWrapper<boolean>;
  10375. }
  10376. //_.isError
  10377. interface LoDashStatic {
  10378. /**
  10379. * Checks if value is an Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, or URIError
  10380. * object.
  10381. *
  10382. * @param value The value to check.
  10383. * @return Returns true if value is an error object, else false.
  10384. */
  10385. isError(value: any): value is Error;
  10386. }
  10387. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10388. /**
  10389. * @see _.isError
  10390. */
  10391. isError(): boolean;
  10392. }
  10393. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10394. /**
  10395. * @see _.isError
  10396. */
  10397. isError(): LoDashExplicitWrapper<boolean>;
  10398. }
  10399. //_.isFinite
  10400. interface LoDashStatic {
  10401. /**
  10402. * Checks if value is a finite primitive number.
  10403. *
  10404. * Note: This method is based on Number.isFinite.
  10405. *
  10406. * @param value The value to check.
  10407. * @return Returns true if value is a finite number, else false.
  10408. */
  10409. isFinite(value?: any): boolean;
  10410. }
  10411. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10412. /**
  10413. * @see _.isFinite
  10414. */
  10415. isFinite(): boolean;
  10416. }
  10417. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10418. /**
  10419. * @see _.isFinite
  10420. */
  10421. isFinite(): LoDashExplicitWrapper<boolean>;
  10422. }
  10423. //_.isFunction
  10424. interface LoDashStatic {
  10425. /**
  10426. * Checks if value is classified as a Function object.
  10427. *
  10428. * @param value The value to check.
  10429. * @return Returns true if value is correctly classified, else false.
  10430. */
  10431. isFunction(value?: any): value is Function;
  10432. }
  10433. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10434. /**
  10435. * @see _.isFunction
  10436. */
  10437. isFunction(): boolean;
  10438. }
  10439. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10440. /**
  10441. * @see _.isFunction
  10442. */
  10443. isFunction(): LoDashExplicitWrapper<boolean>;
  10444. }
  10445. //_.isInteger
  10446. interface LoDashStatic {
  10447. /**
  10448. * Checks if `value` is an integer.
  10449. *
  10450. * **Note:** This method is based on [`Number.isInteger`](https://mdn.io/Number/isInteger).
  10451. *
  10452. * @static
  10453. * @memberOf _
  10454. * @category Lang
  10455. * @param {*} value The value to check.
  10456. * @returns {boolean} Returns `true` if `value` is an integer, else `false`.
  10457. * @example
  10458. *
  10459. * _.isInteger(3);
  10460. * // => true
  10461. *
  10462. * _.isInteger(Number.MIN_VALUE);
  10463. * // => false
  10464. *
  10465. * _.isInteger(Infinity);
  10466. * // => false
  10467. *
  10468. * _.isInteger('3');
  10469. * // => false
  10470. */
  10471. isInteger(value?: any): boolean;
  10472. }
  10473. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10474. /**
  10475. * @see _.isInteger
  10476. */
  10477. isInteger(): boolean;
  10478. }
  10479. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10480. /**
  10481. * @see _.isInteger
  10482. */
  10483. isInteger(): LoDashExplicitWrapper<boolean>;
  10484. }
  10485. //_.isLength
  10486. interface LoDashStatic {
  10487. /**
  10488. * Checks if `value` is a valid array-like length.
  10489. *
  10490. * **Note:** This function is loosely based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
  10491. *
  10492. * @static
  10493. * @memberOf _
  10494. * @category Lang
  10495. * @param {*} value The value to check.
  10496. * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
  10497. * @example
  10498. *
  10499. * _.isLength(3);
  10500. * // => true
  10501. *
  10502. * _.isLength(Number.MIN_VALUE);
  10503. * // => false
  10504. *
  10505. * _.isLength(Infinity);
  10506. * // => false
  10507. *
  10508. * _.isLength('3');
  10509. * // => false
  10510. */
  10511. isLength(value?: any): boolean;
  10512. }
  10513. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10514. /**
  10515. * @see _.isLength
  10516. */
  10517. isLength(): boolean;
  10518. }
  10519. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10520. /**
  10521. * @see _.isLength
  10522. */
  10523. isLength(): LoDashExplicitWrapper<boolean>;
  10524. }
  10525. //_.isMap
  10526. interface LoDashStatic {
  10527. /**
  10528. * Checks if value is classified as a Map object.
  10529. *
  10530. * @param value The value to check.
  10531. * @returns Returns true if value is correctly classified, else false.
  10532. */
  10533. isMap<K, V>(value?: any): value is Map<K, V>;
  10534. }
  10535. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10536. /**
  10537. * @see _.isMap
  10538. */
  10539. isMap(): boolean;
  10540. }
  10541. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10542. /**
  10543. * @see _.isMap
  10544. */
  10545. isMap(): LoDashExplicitWrapper<boolean>;
  10546. }
  10547. //_.isMatch
  10548. interface isMatchCustomizer {
  10549. (value: any, other: any, indexOrKey?: number|string): boolean;
  10550. }
  10551. interface LoDashStatic {
  10552. /**
  10553. * Performs a deep comparison between `object` and `source` to determine if
  10554. * `object` contains equivalent property values.
  10555. *
  10556. * **Note:** This method supports comparing the same values as `_.isEqual`.
  10557. *
  10558. * @static
  10559. * @memberOf _
  10560. * @category Lang
  10561. * @param {Object} object The object to inspect.
  10562. * @param {Object} source The object of property values to match.
  10563. * @returns {boolean} Returns `true` if `object` is a match, else `false`.
  10564. * @example
  10565. *
  10566. * var object = { 'user': 'fred', 'age': 40 };
  10567. *
  10568. * _.isMatch(object, { 'age': 40 });
  10569. * // => true
  10570. *
  10571. * _.isMatch(object, { 'age': 36 });
  10572. * // => false
  10573. */
  10574. isMatch(object: Object, source: Object): boolean;
  10575. }
  10576. interface LoDashImplicitObjectWrapper<T> {
  10577. /**
  10578. * @see _.isMatch
  10579. */
  10580. isMatch(source: Object): boolean;
  10581. }
  10582. //_.isMatchWith
  10583. interface isMatchWithCustomizer {
  10584. (value: any, other: any, indexOrKey?: number|string): boolean;
  10585. }
  10586. interface LoDashStatic {
  10587. /**
  10588. * This method is like `_.isMatch` except that it accepts `customizer` which
  10589. * is invoked to compare values. If `customizer` returns `undefined` comparisons
  10590. * are handled by the method instead. The `customizer` is invoked with three
  10591. * arguments: (objValue, srcValue, index|key, object, source).
  10592. *
  10593. * @static
  10594. * @memberOf _
  10595. * @category Lang
  10596. * @param {Object} object The object to inspect.
  10597. * @param {Object} source The object of property values to match.
  10598. * @param {Function} [customizer] The function to customize comparisons.
  10599. * @returns {boolean} Returns `true` if `object` is a match, else `false`.
  10600. * @example
  10601. *
  10602. * function isGreeting(value) {
  10603. * return /^h(?:i|ello)$/.test(value);
  10604. * }
  10605. *
  10606. * function customizer(objValue, srcValue) {
  10607. * if (isGreeting(objValue) && isGreeting(srcValue)) {
  10608. * return true;
  10609. * }
  10610. * }
  10611. *
  10612. * var object = { 'greeting': 'hello' };
  10613. * var source = { 'greeting': 'hi' };
  10614. *
  10615. * _.isMatchWith(object, source, customizer);
  10616. * // => true
  10617. */
  10618. isMatchWith(object: Object, source: Object, customizer: isMatchWithCustomizer): boolean;
  10619. }
  10620. interface LoDashImplicitObjectWrapper<T> {
  10621. /**
  10622. * @see _.isMatchWith
  10623. */
  10624. isMatchWith(source: Object, customizer: isMatchWithCustomizer): boolean;
  10625. }
  10626. //_.isNaN
  10627. interface LoDashStatic {
  10628. /**
  10629. * Checks if value is NaN.
  10630. *
  10631. * Note: This method is not the same as isNaN which returns true for undefined and other non-numeric values.
  10632. *
  10633. * @param value The value to check.
  10634. * @return Returns true if value is NaN, else false.
  10635. */
  10636. isNaN(value?: any): boolean;
  10637. }
  10638. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10639. /**
  10640. * @see _.isNaN
  10641. */
  10642. isNaN(): boolean;
  10643. }
  10644. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10645. /**
  10646. * @see _.isNaN
  10647. */
  10648. isNaN(): LoDashExplicitWrapper<boolean>;
  10649. }
  10650. //_.isNative
  10651. interface LoDashStatic {
  10652. /**
  10653. * Checks if value is a native function.
  10654. * @param value The value to check.
  10655. *
  10656. * @retrun Returns true if value is a native function, else false.
  10657. */
  10658. isNative(value: any): value is Function;
  10659. }
  10660. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10661. /**
  10662. * see _.isNative
  10663. */
  10664. isNative(): boolean;
  10665. }
  10666. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10667. /**
  10668. * see _.isNative
  10669. */
  10670. isNative(): LoDashExplicitWrapper<boolean>;
  10671. }
  10672. //_.isNil
  10673. interface LoDashStatic {
  10674. /**
  10675. * Checks if `value` is `null` or `undefined`.
  10676. *
  10677. * @static
  10678. * @memberOf _
  10679. * @category Lang
  10680. * @param {*} value The value to check.
  10681. * @returns {boolean} Returns `true` if `value` is nullish, else `false`.
  10682. * @example
  10683. *
  10684. * _.isNil(null);
  10685. * // => true
  10686. *
  10687. * _.isNil(void 0);
  10688. * // => true
  10689. *
  10690. * _.isNil(NaN);
  10691. * // => false
  10692. */
  10693. isNil(value?: any): boolean;
  10694. }
  10695. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10696. /**
  10697. * see _.isNil
  10698. */
  10699. isNil(): boolean;
  10700. }
  10701. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10702. /**
  10703. * see _.isNil
  10704. */
  10705. isNil(): LoDashExplicitWrapper<boolean>;
  10706. }
  10707. //_.isNull
  10708. interface LoDashStatic {
  10709. /**
  10710. * Checks if value is null.
  10711. *
  10712. * @param value The value to check.
  10713. * @return Returns true if value is null, else false.
  10714. */
  10715. isNull(value?: any): boolean;
  10716. }
  10717. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10718. /**
  10719. * see _.isNull
  10720. */
  10721. isNull(): boolean;
  10722. }
  10723. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10724. /**
  10725. * see _.isNull
  10726. */
  10727. isNull(): LoDashExplicitWrapper<boolean>;
  10728. }
  10729. //_.isNumber
  10730. interface LoDashStatic {
  10731. /**
  10732. * Checks if value is classified as a Number primitive or object.
  10733. *
  10734. * Note: To exclude Infinity, -Infinity, and NaN, which are classified as numbers, use the _.isFinite method.
  10735. *
  10736. * @param value The value to check.
  10737. * @return Returns true if value is correctly classified, else false.
  10738. */
  10739. isNumber(value?: any): value is number;
  10740. }
  10741. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10742. /**
  10743. * see _.isNumber
  10744. */
  10745. isNumber(): boolean;
  10746. }
  10747. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10748. /**
  10749. * see _.isNumber
  10750. */
  10751. isNumber(): LoDashExplicitWrapper<boolean>;
  10752. }
  10753. //_.isObject
  10754. interface LoDashStatic {
  10755. /**
  10756. * Checks if value is the language type of Object. (e.g. arrays, functions, objects, regexes, new Number(0),
  10757. * and new String(''))
  10758. *
  10759. * @param value The value to check.
  10760. * @return Returns true if value is an object, else false.
  10761. */
  10762. isObject(value?: any): boolean;
  10763. }
  10764. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10765. /**
  10766. * see _.isObject
  10767. */
  10768. isObject(): boolean;
  10769. }
  10770. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10771. /**
  10772. * see _.isObject
  10773. */
  10774. isObject(): LoDashExplicitWrapper<boolean>;
  10775. }
  10776. //_.isObjectLike
  10777. interface LoDashStatic {
  10778. /**
  10779. * Checks if `value` is object-like. A value is object-like if it's not `null`
  10780. * and has a `typeof` result of "object".
  10781. *
  10782. * @static
  10783. * @memberOf _
  10784. * @category Lang
  10785. * @param {*} value The value to check.
  10786. * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
  10787. * @example
  10788. *
  10789. * _.isObjectLike({});
  10790. * // => true
  10791. *
  10792. * _.isObjectLike([1, 2, 3]);
  10793. * // => true
  10794. *
  10795. * _.isObjectLike(_.noop);
  10796. * // => false
  10797. *
  10798. * _.isObjectLike(null);
  10799. * // => false
  10800. */
  10801. isObjectLike(value?: any): boolean;
  10802. }
  10803. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10804. /**
  10805. * see _.isObjectLike
  10806. */
  10807. isObjectLike(): boolean;
  10808. }
  10809. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10810. /**
  10811. * see _.isObjectLike
  10812. */
  10813. isObjectLike(): LoDashExplicitWrapper<boolean>;
  10814. }
  10815. //_.isPlainObject
  10816. interface LoDashStatic {
  10817. /**
  10818. * Checks if value is a plain object, that is, an object created by the Object constructor or one with a
  10819. * [[Prototype]] of null.
  10820. *
  10821. * Note: This method assumes objects created by the Object constructor have no inherited enumerable properties.
  10822. *
  10823. * @param value The value to check.
  10824. * @return Returns true if value is a plain object, else false.
  10825. */
  10826. isPlainObject(value?: any): boolean;
  10827. }
  10828. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10829. /**
  10830. * see _.isPlainObject
  10831. */
  10832. isPlainObject(): boolean;
  10833. }
  10834. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10835. /**
  10836. * see _.isPlainObject
  10837. */
  10838. isPlainObject(): LoDashExplicitWrapper<boolean>;
  10839. }
  10840. //_.isRegExp
  10841. interface LoDashStatic {
  10842. /**
  10843. * Checks if value is classified as a RegExp object.
  10844. * @param value The value to check.
  10845. *
  10846. * @return Returns true if value is correctly classified, else false.
  10847. */
  10848. isRegExp(value?: any): value is RegExp;
  10849. }
  10850. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10851. /**
  10852. * see _.isRegExp
  10853. */
  10854. isRegExp(): boolean;
  10855. }
  10856. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10857. /**
  10858. * see _.isRegExp
  10859. */
  10860. isRegExp(): LoDashExplicitWrapper<boolean>;
  10861. }
  10862. //_.isSafeInteger
  10863. interface LoDashStatic {
  10864. /**
  10865. * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754
  10866. * double precision number which isn't the result of a rounded unsafe integer.
  10867. *
  10868. * **Note:** This method is based on [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).
  10869. *
  10870. * @static
  10871. * @memberOf _
  10872. * @category Lang
  10873. * @param {*} value The value to check.
  10874. * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.
  10875. * @example
  10876. *
  10877. * _.isSafeInteger(3);
  10878. * // => true
  10879. *
  10880. * _.isSafeInteger(Number.MIN_VALUE);
  10881. * // => false
  10882. *
  10883. * _.isSafeInteger(Infinity);
  10884. * // => false
  10885. *
  10886. * _.isSafeInteger('3');
  10887. * // => false
  10888. */
  10889. isSafeInteger(value: any): boolean;
  10890. }
  10891. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10892. /**
  10893. * see _.isSafeInteger
  10894. */
  10895. isSafeInteger(): boolean;
  10896. }
  10897. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10898. /**
  10899. * see _.isSafeInteger
  10900. */
  10901. isSafeInteger(): LoDashExplicitWrapper<boolean>;
  10902. }
  10903. //_.isSet
  10904. interface LoDashStatic {
  10905. /**
  10906. * Checks if value is classified as a Set object.
  10907. *
  10908. * @param value The value to check.
  10909. * @returns Returns true if value is correctly classified, else false.
  10910. */
  10911. isSet<T>(value?: any): value is Set<T>;
  10912. }
  10913. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10914. /**
  10915. * @see _.isSet
  10916. */
  10917. isSet(): boolean;
  10918. }
  10919. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10920. /**
  10921. * @see _.isSet
  10922. */
  10923. isSet(): LoDashExplicitWrapper<boolean>;
  10924. }
  10925. //_.isString
  10926. interface LoDashStatic {
  10927. /**
  10928. * Checks if value is classified as a String primitive or object.
  10929. *
  10930. * @param value The value to check.
  10931. * @return Returns true if value is correctly classified, else false.
  10932. */
  10933. isString(value?: any): value is string;
  10934. }
  10935. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10936. /**
  10937. * see _.isString
  10938. */
  10939. isString(): boolean;
  10940. }
  10941. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10942. /**
  10943. * see _.isString
  10944. */
  10945. isString(): LoDashExplicitWrapper<boolean>;
  10946. }
  10947. //_.isSymbol
  10948. interface LoDashStatic {
  10949. /**
  10950. * Checks if `value` is classified as a `Symbol` primitive or object.
  10951. *
  10952. * @static
  10953. * @memberOf _
  10954. * @category Lang
  10955. * @param {*} value The value to check.
  10956. * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
  10957. * @example
  10958. *
  10959. * _.isSymbol(Symbol.iterator);
  10960. * // => true
  10961. *
  10962. * _.isSymbol('abc');
  10963. * // => false
  10964. */
  10965. isSymbol(value: any): boolean;
  10966. }
  10967. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10968. /**
  10969. * see _.isSymbol
  10970. */
  10971. isSymbol(): boolean;
  10972. }
  10973. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10974. /**
  10975. * see _.isSymbol
  10976. */
  10977. isSymbol(): LoDashExplicitWrapper<boolean>;
  10978. }
  10979. //_.isTypedArray
  10980. interface LoDashStatic {
  10981. /**
  10982. * Checks if value is classified as a typed array.
  10983. *
  10984. * @param value The value to check.
  10985. * @return Returns true if value is correctly classified, else false.
  10986. */
  10987. isTypedArray(value: any): boolean;
  10988. }
  10989. interface LoDashImplicitWrapperBase<T, TWrapper> {
  10990. /**
  10991. * see _.isTypedArray
  10992. */
  10993. isTypedArray(): boolean;
  10994. }
  10995. interface LoDashExplicitWrapperBase<T, TWrapper> {
  10996. /**
  10997. * see _.isTypedArray
  10998. */
  10999. isTypedArray(): LoDashExplicitWrapper<boolean>;
  11000. }
  11001. //_.isUndefined
  11002. interface LoDashStatic {
  11003. /**
  11004. * Checks if value is undefined.
  11005. *
  11006. * @param value The value to check.
  11007. * @return Returns true if value is undefined, else false.
  11008. */
  11009. isUndefined(value: any): boolean;
  11010. }
  11011. interface LoDashImplicitWrapperBase<T, TWrapper> {
  11012. /**
  11013. * see _.isUndefined
  11014. */
  11015. isUndefined(): boolean;
  11016. }
  11017. interface LoDashExplicitWrapperBase<T, TWrapper> {
  11018. /**
  11019. * see _.isUndefined
  11020. */
  11021. isUndefined(): LoDashExplicitWrapper<boolean>;
  11022. }
  11023. //_.isWeakMap
  11024. interface LoDashStatic {
  11025. /**
  11026. * Checks if value is classified as a WeakMap object.
  11027. *
  11028. * @param value The value to check.
  11029. * @returns Returns true if value is correctly classified, else false.
  11030. */
  11031. isWeakMap<K, V>(value?: any): value is WeakMap<K, V>;
  11032. }
  11033. interface LoDashImplicitWrapperBase<T, TWrapper> {
  11034. /**
  11035. * @see _.isSet
  11036. */
  11037. isWeakMap(): boolean;
  11038. }
  11039. interface LoDashExplicitWrapperBase<T, TWrapper> {
  11040. /**
  11041. * @see _.isSet
  11042. */
  11043. isWeakMap(): LoDashExplicitWrapper<boolean>;
  11044. }
  11045. //_.isWeakSet
  11046. interface LoDashStatic {
  11047. /**
  11048. * Checks if value is classified as a WeakSet object.
  11049. *
  11050. * @param value The value to check.
  11051. * @returns Returns true if value is correctly classified, else false.
  11052. */
  11053. isWeakSet<T>(value?: any): value is WeakSet<T>;
  11054. }
  11055. interface LoDashImplicitWrapperBase<T, TWrapper> {
  11056. /**
  11057. * @see _.isWeakSet
  11058. */
  11059. isWeakSet(): boolean;
  11060. }
  11061. interface LoDashExplicitWrapperBase<T, TWrapper> {
  11062. /**
  11063. * @see _.isWeakSet
  11064. */
  11065. isWeakSet(): LoDashExplicitWrapper<boolean>;
  11066. }
  11067. //_.lt
  11068. interface LoDashStatic {
  11069. /**
  11070. * Checks if value is less than other.
  11071. *
  11072. * @param value The value to compare.
  11073. * @param other The other value to compare.
  11074. * @return Returns true if value is less than other, else false.
  11075. */
  11076. lt(
  11077. value: any,
  11078. other: any
  11079. ): boolean;
  11080. }
  11081. interface LoDashImplicitWrapperBase<T, TWrapper> {
  11082. /**
  11083. * @see _.lt
  11084. */
  11085. lt(other: any): boolean;
  11086. }
  11087. interface LoDashExplicitWrapperBase<T, TWrapper> {
  11088. /**
  11089. * @see _.lt
  11090. */
  11091. lt(other: any): LoDashExplicitWrapper<boolean>;
  11092. }
  11093. //_.lte
  11094. interface LoDashStatic {
  11095. /**
  11096. * Checks if value is less than or equal to other.
  11097. *
  11098. * @param value The value to compare.
  11099. * @param other The other value to compare.
  11100. * @return Returns true if value is less than or equal to other, else false.
  11101. */
  11102. lte(
  11103. value: any,
  11104. other: any
  11105. ): boolean;
  11106. }
  11107. interface LoDashImplicitWrapperBase<T, TWrapper> {
  11108. /**
  11109. * @see _.lte
  11110. */
  11111. lte(other: any): boolean;
  11112. }
  11113. interface LoDashExplicitWrapperBase<T, TWrapper> {
  11114. /**
  11115. * @see _.lte
  11116. */
  11117. lte(other: any): LoDashExplicitWrapper<boolean>;
  11118. }
  11119. //_.toArray
  11120. interface LoDashStatic {
  11121. /**
  11122. * Converts value to an array.
  11123. *
  11124. * @param value The value to convert.
  11125. * @return Returns the converted array.
  11126. */
  11127. toArray<T>(value: List<T>|Dictionary<T>|NumericDictionary<T>): T[];
  11128. /**
  11129. * @see _.toArray
  11130. */
  11131. toArray<TValue, TResult>(value: TValue): TResult[];
  11132. /**
  11133. * @see _.toArray
  11134. */
  11135. toArray<TResult>(value?: any): TResult[];
  11136. }
  11137. interface LoDashImplicitWrapper<T> {
  11138. /**
  11139. * @see _.toArray
  11140. */
  11141. toArray<TResult>(): LoDashImplicitArrayWrapper<TResult>;
  11142. }
  11143. interface LoDashImplicitArrayWrapper<T> {
  11144. /**
  11145. * @see _.toArray
  11146. */
  11147. toArray(): LoDashImplicitArrayWrapper<T>;
  11148. }
  11149. interface LoDashImplicitObjectWrapper<T> {
  11150. /**
  11151. * @see _.toArray
  11152. */
  11153. toArray<TResult>(): LoDashImplicitArrayWrapper<TResult>;
  11154. }
  11155. interface LoDashExplicitWrapper<T> {
  11156. /**
  11157. * @see _.toArray
  11158. */
  11159. toArray<TResult>(): LoDashExplicitArrayWrapper<TResult>;
  11160. }
  11161. interface LoDashExplicitArrayWrapper<T> {
  11162. /**
  11163. * @see _.toArray
  11164. */
  11165. toArray(): LoDashExplicitArrayWrapper<T>;
  11166. }
  11167. interface LoDashExplicitObjectWrapper<T> {
  11168. /**
  11169. * @see _.toArray
  11170. */
  11171. toArray<TResult>(): LoDashExplicitArrayWrapper<TResult>;
  11172. }
  11173. //_.toPlainObject
  11174. interface LoDashStatic {
  11175. /**
  11176. * Converts value to a plain object flattening inherited enumerable properties of value to own properties
  11177. * of the plain object.
  11178. *
  11179. * @param value The value to convert.
  11180. * @return Returns the converted plain object.
  11181. */
  11182. toPlainObject<TResult extends {}>(value?: any): TResult;
  11183. }
  11184. interface LoDashImplicitWrapperBase<T, TWrapper> {
  11185. /**
  11186. * @see _.toPlainObject
  11187. */
  11188. toPlainObject<TResult extends {}>(): LoDashImplicitObjectWrapper<TResult>;
  11189. }
  11190. //_.toInteger
  11191. interface LoDashStatic {
  11192. /**
  11193. * Converts `value` to an integer.
  11194. *
  11195. * **Note:** This function is loosely based on [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).
  11196. *
  11197. * @static
  11198. * @memberOf _
  11199. * @category Lang
  11200. * @param {*} value The value to convert.
  11201. * @returns {number} Returns the converted integer.
  11202. * @example
  11203. *
  11204. * _.toInteger(3);
  11205. * // => 3
  11206. *
  11207. * _.toInteger(Number.MIN_VALUE);
  11208. * // => 0
  11209. *
  11210. * _.toInteger(Infinity);
  11211. * // => 1.7976931348623157e+308
  11212. *
  11213. * _.toInteger('3');
  11214. * // => 3
  11215. */
  11216. toInteger(value: any): number;
  11217. }
  11218. interface LoDashImplicitWrapperBase<T, TWrapper> {
  11219. /**
  11220. * @see _.toInteger
  11221. */
  11222. toInteger(): LoDashImplicitWrapper<number>;
  11223. }
  11224. interface LoDashExplicitWrapperBase<T, TWrapper> {
  11225. /**
  11226. * @see _.toInteger
  11227. */
  11228. toInteger(): LoDashExplicitWrapper<number>;
  11229. }
  11230. //_.toLength
  11231. interface LoDashStatic {
  11232. /**
  11233. * Converts `value` to an integer suitable for use as the length of an
  11234. * array-like object.
  11235. *
  11236. * **Note:** This method is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
  11237. *
  11238. * @static
  11239. * @memberOf _
  11240. * @category Lang
  11241. * @param {*} value The value to convert.
  11242. * @return {number} Returns the converted integer.
  11243. * @example
  11244. *
  11245. * _.toLength(3);
  11246. * // => 3
  11247. *
  11248. * _.toLength(Number.MIN_VALUE);
  11249. * // => 0
  11250. *
  11251. * _.toLength(Infinity);
  11252. * // => 4294967295
  11253. *
  11254. * _.toLength('3');
  11255. * // => 3
  11256. */
  11257. toLength(value: any): number;
  11258. }
  11259. interface LoDashImplicitWrapperBase<T, TWrapper> {
  11260. /**
  11261. * @see _.toLength
  11262. */
  11263. toLength(): LoDashImplicitWrapper<number>;
  11264. }
  11265. interface LoDashExplicitWrapperBase<T, TWrapper> {
  11266. /**
  11267. * @see _.toLength
  11268. */
  11269. toLength(): LoDashExplicitWrapper<number>;
  11270. }
  11271. //_.toNumber
  11272. interface LoDashStatic {
  11273. /**
  11274. * Converts `value` to a number.
  11275. *
  11276. * @static
  11277. * @memberOf _
  11278. * @category Lang
  11279. * @param {*} value The value to process.
  11280. * @returns {number} Returns the number.
  11281. * @example
  11282. *
  11283. * _.toNumber(3);
  11284. * // => 3
  11285. *
  11286. * _.toNumber(Number.MIN_VALUE);
  11287. * // => 5e-324
  11288. *
  11289. * _.toNumber(Infinity);
  11290. * // => Infinity
  11291. *
  11292. * _.toNumber('3');
  11293. * // => 3
  11294. */
  11295. toNumber(value: any): number;
  11296. }
  11297. interface LoDashImplicitWrapperBase<T, TWrapper> {
  11298. /**
  11299. * @see _.toNumber
  11300. */
  11301. toNumber(): LoDashImplicitWrapper<number>;
  11302. }
  11303. interface LoDashExplicitWrapperBase<T, TWrapper> {
  11304. /**
  11305. * @see _.toNumber
  11306. */
  11307. toNumber(): LoDashExplicitWrapper<number>;
  11308. }
  11309. //_.toSafeInteger
  11310. interface LoDashStatic {
  11311. /**
  11312. * Converts `value` to a safe integer. A safe integer can be compared and
  11313. * represented correctly.
  11314. *
  11315. * @static
  11316. * @memberOf _
  11317. * @category Lang
  11318. * @param {*} value The value to convert.
  11319. * @returns {number} Returns the converted integer.
  11320. * @example
  11321. *
  11322. * _.toSafeInteger(3);
  11323. * // => 3
  11324. *
  11325. * _.toSafeInteger(Number.MIN_VALUE);
  11326. * // => 0
  11327. *
  11328. * _.toSafeInteger(Infinity);
  11329. * // => 9007199254740991
  11330. *
  11331. * _.toSafeInteger('3');
  11332. * // => 3
  11333. */
  11334. toSafeInteger(value: any): number;
  11335. }
  11336. interface LoDashImplicitWrapperBase<T, TWrapper> {
  11337. /**
  11338. * @see _.toSafeInteger
  11339. */
  11340. toSafeInteger(): LoDashImplicitWrapper<number>;
  11341. }
  11342. interface LoDashExplicitWrapperBase<T, TWrapper> {
  11343. /**
  11344. * @see _.toSafeInteger
  11345. */
  11346. toSafeInteger(): LoDashExplicitWrapper<number>;
  11347. }
  11348. //_.toString DUMMY
  11349. interface LoDashStatic {
  11350. /**
  11351. * Converts `value` to a string if it's not one. An empty string is returned
  11352. * for `null` and `undefined` values. The sign of `-0` is preserved.
  11353. *
  11354. * @static
  11355. * @memberOf _
  11356. * @category Lang
  11357. * @param {*} value The value to process.
  11358. * @returns {string} Returns the string.
  11359. * @example
  11360. *
  11361. * _.toString(null);
  11362. * // => ''
  11363. *
  11364. * _.toString(-0);
  11365. * // => '-0'
  11366. *
  11367. * _.toString([1, 2, 3]);
  11368. * // => '1,2,3'
  11369. */
  11370. toString(value: any): string;
  11371. }
  11372. /********
  11373. * Math *
  11374. ********/
  11375. //_.add
  11376. interface LoDashStatic {
  11377. /**
  11378. * Adds two numbers.
  11379. *
  11380. * @param augend The first number to add.
  11381. * @param addend The second number to add.
  11382. * @return Returns the sum.
  11383. */
  11384. add(
  11385. augend: number,
  11386. addend: number
  11387. ): number;
  11388. }
  11389. interface LoDashImplicitWrapper<T> {
  11390. /**
  11391. * @see _.add
  11392. */
  11393. add(addend: number): number;
  11394. }
  11395. interface LoDashExplicitWrapper<T> {
  11396. /**
  11397. * @see _.add
  11398. */
  11399. add(addend: number): LoDashExplicitWrapper<number>;
  11400. }
  11401. //_.ceil
  11402. interface LoDashStatic {
  11403. /**
  11404. * Calculates n rounded up to precision.
  11405. *
  11406. * @param n The number to round up.
  11407. * @param precision The precision to round up to.
  11408. * @return Returns the rounded up number.
  11409. */
  11410. ceil(
  11411. n: number,
  11412. precision?: number
  11413. ): number;
  11414. }
  11415. interface LoDashImplicitWrapper<T> {
  11416. /**
  11417. * @see _.ceil
  11418. */
  11419. ceil(precision?: number): number;
  11420. }
  11421. interface LoDashExplicitWrapper<T> {
  11422. /**
  11423. * @see _.ceil
  11424. */
  11425. ceil(precision?: number): LoDashExplicitWrapper<number>;
  11426. }
  11427. //_.floor
  11428. interface LoDashStatic {
  11429. /**
  11430. * Calculates n rounded down to precision.
  11431. *
  11432. * @param n The number to round down.
  11433. * @param precision The precision to round down to.
  11434. * @return Returns the rounded down number.
  11435. */
  11436. floor(
  11437. n: number,
  11438. precision?: number
  11439. ): number;
  11440. }
  11441. interface LoDashImplicitWrapper<T> {
  11442. /**
  11443. * @see _.floor
  11444. */
  11445. floor(precision?: number): number;
  11446. }
  11447. interface LoDashExplicitWrapper<T> {
  11448. /**
  11449. * @see _.floor
  11450. */
  11451. floor(precision?: number): LoDashExplicitWrapper<number>;
  11452. }
  11453. //_.max
  11454. interface LoDashStatic {
  11455. /**
  11456. * Computes the maximum value of `array`. If `array` is empty or falsey
  11457. * `undefined` is returned.
  11458. *
  11459. * @static
  11460. * @memberOf _
  11461. * @category Math
  11462. * @param {Array} array The array to iterate over.
  11463. * @returns {*} Returns the maximum value.
  11464. */
  11465. max<T>(
  11466. collection: List<T>
  11467. ): T;
  11468. }
  11469. interface LoDashImplicitArrayWrapper<T> {
  11470. /**
  11471. * @see _.max
  11472. */
  11473. max(): T;
  11474. }
  11475. interface LoDashImplicitObjectWrapper<T> {
  11476. /**
  11477. * @see _.max
  11478. */
  11479. max<T>(): T;
  11480. }
  11481. //_.maxBy
  11482. interface LoDashStatic {
  11483. /**
  11484. * This method is like `_.max` except that it accepts `iteratee` which is
  11485. * invoked for each element in `array` to generate the criterion by which
  11486. * the value is ranked. The iteratee is invoked with one argument: (value).
  11487. *
  11488. * @static
  11489. * @memberOf _
  11490. * @category Math
  11491. * @param {Array} array The array to iterate over.
  11492. * @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
  11493. * @returns {*} Returns the maximum value.
  11494. * @example
  11495. *
  11496. * var objects = [{ 'n': 1 }, { 'n': 2 }];
  11497. *
  11498. * _.maxBy(objects, function(o) { return o.a; });
  11499. * // => { 'n': 2 }
  11500. *
  11501. * // using the `_.property` iteratee shorthand
  11502. * _.maxBy(objects, 'n');
  11503. * // => { 'n': 2 }
  11504. */
  11505. maxBy<T>(
  11506. collection: List<T>,
  11507. iteratee?: ListIterator<T, any>
  11508. ): T;
  11509. /**
  11510. * @see _.maxBy
  11511. */
  11512. maxBy<T>(
  11513. collection: Dictionary<T>,
  11514. iteratee?: DictionaryIterator<T, any>
  11515. ): T;
  11516. /**
  11517. * @see _.maxBy
  11518. */
  11519. maxBy<T>(
  11520. collection: List<T>|Dictionary<T>,
  11521. iteratee?: string
  11522. ): T;
  11523. /**
  11524. * @see _.maxBy
  11525. */
  11526. maxBy<TObject extends {}, T>(
  11527. collection: List<T>|Dictionary<T>,
  11528. whereValue?: TObject
  11529. ): T;
  11530. }
  11531. interface LoDashImplicitArrayWrapper<T> {
  11532. /**
  11533. * @see _.maxBy
  11534. */
  11535. maxBy(
  11536. iteratee?: ListIterator<T, any>
  11537. ): T;
  11538. /**
  11539. * @see _.maxBy
  11540. */
  11541. maxBy(
  11542. iteratee?: string
  11543. ): T;
  11544. /**
  11545. * @see _.maxBy
  11546. */
  11547. maxBy<TObject extends {}>(
  11548. whereValue?: TObject
  11549. ): T;
  11550. }
  11551. interface LoDashImplicitObjectWrapper<T> {
  11552. /**
  11553. * @see _.maxBy
  11554. */
  11555. maxBy<T>(
  11556. iteratee?: ListIterator<T, any>|DictionaryIterator<T, any>
  11557. ): T;
  11558. /**
  11559. * @see _.maxBy
  11560. */
  11561. maxBy<T>(
  11562. iteratee?: string
  11563. ): T;
  11564. /**
  11565. * @see _.maxBy
  11566. */
  11567. maxBy<TObject extends {}, T>(
  11568. whereValue?: TObject
  11569. ): T;
  11570. }
  11571. //_.mean
  11572. interface LoDashStatic {
  11573. /**
  11574. * Computes the mean of the values in `array`.
  11575. *
  11576. * @static
  11577. * @memberOf _
  11578. * @category Math
  11579. * @param {Array} array The array to iterate over.
  11580. * @returns {number} Returns the mean.
  11581. * @example
  11582. *
  11583. * _.mean([4, 2, 8, 6]);
  11584. * // => 5
  11585. */
  11586. mean<T>(
  11587. collection: List<T>
  11588. ): number;
  11589. }
  11590. interface LoDashImplicitArrayWrapper<T> {
  11591. /**
  11592. * @see _.mean
  11593. */
  11594. mean<T>(): number;
  11595. /**
  11596. * @see _.mean
  11597. */
  11598. mean(): number;
  11599. }
  11600. //_.min
  11601. interface LoDashStatic {
  11602. /**
  11603. * Computes the minimum value of `array`. If `array` is empty or falsey
  11604. * `undefined` is returned.
  11605. *
  11606. * @static
  11607. * @memberOf _
  11608. * @category Math
  11609. * @param {Array} array The array to iterate over.
  11610. * @returns {*} Returns the minimum value.
  11611. */
  11612. min<T>(
  11613. collection: List<T>
  11614. ): T;
  11615. }
  11616. interface LoDashImplicitArrayWrapper<T> {
  11617. /**
  11618. * @see _.min
  11619. */
  11620. min(): T;
  11621. }
  11622. interface LoDashImplicitObjectWrapper<T> {
  11623. /**
  11624. * @see _.min
  11625. */
  11626. min<T>(): T;
  11627. }
  11628. //_.minBy
  11629. interface LoDashStatic {
  11630. /**
  11631. * This method is like `_.min` except that it accepts `iteratee` which is
  11632. * invoked for each element in `array` to generate the criterion by which
  11633. * the value is ranked. The iteratee is invoked with one argument: (value).
  11634. *
  11635. * @static
  11636. * @memberOf _
  11637. * @category Math
  11638. * @param {Array} array The array to iterate over.
  11639. * @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
  11640. * @returns {*} Returns the minimum value.
  11641. * @example
  11642. *
  11643. * var objects = [{ 'n': 1 }, { 'n': 2 }];
  11644. *
  11645. * _.minBy(objects, function(o) { return o.a; });
  11646. * // => { 'n': 1 }
  11647. *
  11648. * // using the `_.property` iteratee shorthand
  11649. * _.minBy(objects, 'n');
  11650. * // => { 'n': 1 }
  11651. */
  11652. minBy<T>(
  11653. collection: List<T>,
  11654. iteratee?: ListIterator<T, any>
  11655. ): T;
  11656. /**
  11657. * @see _.minBy
  11658. */
  11659. minBy<T>(
  11660. collection: Dictionary<T>,
  11661. iteratee?: DictionaryIterator<T, any>
  11662. ): T;
  11663. /**
  11664. * @see _.minBy
  11665. */
  11666. minBy<T>(
  11667. collection: List<T>|Dictionary<T>,
  11668. iteratee?: string
  11669. ): T;
  11670. /**
  11671. * @see _.minBy
  11672. */
  11673. minBy<TObject extends {}, T>(
  11674. collection: List<T>|Dictionary<T>,
  11675. whereValue?: TObject
  11676. ): T;
  11677. }
  11678. interface LoDashImplicitArrayWrapper<T> {
  11679. /**
  11680. * @see _.minBy
  11681. */
  11682. minBy(
  11683. iteratee?: ListIterator<T, any>
  11684. ): T;
  11685. /**
  11686. * @see _.minBy
  11687. */
  11688. minBy(
  11689. iteratee?: string
  11690. ): T;
  11691. /**
  11692. * @see _.minBy
  11693. */
  11694. minBy<TObject extends {}>(
  11695. whereValue?: TObject
  11696. ): T;
  11697. }
  11698. interface LoDashImplicitObjectWrapper<T> {
  11699. /**
  11700. * @see _.minBy
  11701. */
  11702. minBy<T>(
  11703. iteratee?: ListIterator<T, any>|DictionaryIterator<T, any>
  11704. ): T;
  11705. /**
  11706. * @see _.minBy
  11707. */
  11708. minBy<T>(
  11709. iteratee?: string
  11710. ): T;
  11711. /**
  11712. * @see _.minBy
  11713. */
  11714. minBy<TObject extends {}, T>(
  11715. whereValue?: TObject
  11716. ): T;
  11717. }
  11718. //_.round
  11719. interface LoDashStatic {
  11720. /**
  11721. * Calculates n rounded to precision.
  11722. *
  11723. * @param n The number to round.
  11724. * @param precision The precision to round to.
  11725. * @return Returns the rounded number.
  11726. */
  11727. round(
  11728. n: number,
  11729. precision?: number
  11730. ): number;
  11731. }
  11732. interface LoDashImplicitWrapper<T> {
  11733. /**
  11734. * @see _.round
  11735. */
  11736. round(precision?: number): number;
  11737. }
  11738. interface LoDashExplicitWrapper<T> {
  11739. /**
  11740. * @see _.round
  11741. */
  11742. round(precision?: number): LoDashExplicitWrapper<number>;
  11743. }
  11744. //_.sum
  11745. interface LoDashStatic {
  11746. /**
  11747. * Computes the sum of the values in `array`.
  11748. *
  11749. * @static
  11750. * @memberOf _
  11751. * @category Math
  11752. * @param {Array} array The array to iterate over.
  11753. * @returns {number} Returns the sum.
  11754. * @example
  11755. *
  11756. * _.sum([4, 2, 8, 6]);
  11757. * // => 20
  11758. */
  11759. sum<T>(collection: List<T>): number;
  11760. /**
  11761. * @see _.sum
  11762. */
  11763. sum(collection: List<number>|Dictionary<number>): number;
  11764. }
  11765. interface LoDashImplicitArrayWrapper<T> {
  11766. /**
  11767. * @see _.sum
  11768. */
  11769. sum(): number;
  11770. }
  11771. interface LoDashImplicitObjectWrapper<T> {
  11772. /**
  11773. * @see _.sum
  11774. **/
  11775. sum<TValue>(): number;
  11776. /**
  11777. * @see _.sum
  11778. */
  11779. sum(): number;
  11780. }
  11781. interface LoDashExplicitArrayWrapper<T> {
  11782. /**
  11783. * @see _.sum
  11784. */
  11785. sum(): LoDashExplicitWrapper<number>;
  11786. }
  11787. interface LoDashExplicitObjectWrapper<T> {
  11788. /**
  11789. * @see _.sum
  11790. */
  11791. sum<TValue>(): LoDashExplicitWrapper<number>;
  11792. /**
  11793. * @see _.sum
  11794. */
  11795. sum(): LoDashExplicitWrapper<number>;
  11796. }
  11797. //_.sumBy
  11798. interface LoDashStatic {
  11799. /**
  11800. * This method is like `_.sum` except that it accepts `iteratee` which is
  11801. * invoked for each element in `array` to generate the value to be summed.
  11802. * The iteratee is invoked with one argument: (value).
  11803. *
  11804. * @static
  11805. * @memberOf _
  11806. * @category Math
  11807. * @param {Array} array The array to iterate over.
  11808. * @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
  11809. * @returns {number} Returns the sum.
  11810. * @example
  11811. *
  11812. * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];
  11813. *
  11814. * _.sumBy(objects, function(o) { return o.n; });
  11815. * // => 20
  11816. *
  11817. * // using the `_.property` iteratee shorthand
  11818. * _.sumBy(objects, 'n');
  11819. * // => 20
  11820. */
  11821. sumBy<T>(
  11822. collection: List<T>,
  11823. iteratee: ListIterator<T, number>
  11824. ): number;
  11825. /**
  11826. * @see _.sumBy
  11827. */
  11828. sumBy(
  11829. collection: List<{}>,
  11830. iteratee: string
  11831. ): number;
  11832. /**
  11833. * @see _.sumBy
  11834. */
  11835. sumBy(
  11836. collection: List<number>
  11837. ): number;
  11838. /**
  11839. * @see _.sumBy
  11840. */
  11841. sumBy(
  11842. collection: List<{}>,
  11843. iteratee: Dictionary<{}>
  11844. ): number;
  11845. }
  11846. interface LoDashImplicitArrayWrapper<T> {
  11847. /**
  11848. * @see _.sumBy
  11849. */
  11850. sumBy(
  11851. iteratee: ListIterator<T, number>
  11852. ): number;
  11853. /**
  11854. * @see _.sumBy
  11855. */
  11856. sumBy(iteratee: string): number;
  11857. /**
  11858. * @see _.sumBy
  11859. */
  11860. sumBy(iteratee: Dictionary<{}>): number;
  11861. }
  11862. interface LoDashImplicitObjectWrapper<T> {
  11863. /**
  11864. * @see _.sumBy
  11865. */
  11866. sumBy(
  11867. iteratee: ListIterator<{}, number>
  11868. ): number;
  11869. /**
  11870. * @see _.sumBy
  11871. */
  11872. sumBy(iteratee: string): number;
  11873. /**
  11874. * @see _.sumBy
  11875. */
  11876. sumBy(iteratee: Dictionary<{}>): number;
  11877. }
  11878. interface LoDashExplicitArrayWrapper<T> {
  11879. /**
  11880. * @see _.sumBy
  11881. */
  11882. sumBy(
  11883. iteratee: ListIterator<T, number>
  11884. ): LoDashExplicitWrapper<number>;
  11885. /**
  11886. * @see _.sumBy
  11887. */
  11888. sumBy(iteratee: string): LoDashExplicitWrapper<number>;
  11889. /**
  11890. * @see _.sumBy
  11891. */
  11892. sumBy(): LoDashExplicitWrapper<number>;
  11893. /**
  11894. * @see _.sumBy
  11895. */
  11896. sumBy(iteratee: Dictionary<{}>): LoDashExplicitWrapper<number>;
  11897. }
  11898. interface LoDashExplicitObjectWrapper<T> {
  11899. /**
  11900. * @see _.sumBy
  11901. */
  11902. sumBy(
  11903. iteratee: ListIterator<{}, number>
  11904. ): LoDashExplicitWrapper<number>;
  11905. /**
  11906. * @see _.sumBy
  11907. */
  11908. sumBy(iteratee: string): LoDashExplicitWrapper<number>;
  11909. /**
  11910. * @see _.sumBy
  11911. */
  11912. sumBy(iteratee: Dictionary<{}>): LoDashExplicitWrapper<number>;
  11913. }
  11914. /**********
  11915. * Number *
  11916. **********/
  11917. //_.subtract
  11918. interface LoDashStatic {
  11919. /**
  11920. * Subtract two numbers.
  11921. *
  11922. * @static
  11923. * @memberOf _
  11924. * @category Math
  11925. * @param {number} minuend The first number in a subtraction.
  11926. * @param {number} subtrahend The second number in a subtraction.
  11927. * @returns {number} Returns the difference.
  11928. * @example
  11929. *
  11930. * _.subtract(6, 4);
  11931. * // => 2
  11932. */
  11933. subtract(
  11934. minuend: number,
  11935. subtrahend: number
  11936. ): number;
  11937. }
  11938. interface LoDashImplicitWrapper<T> {
  11939. /**
  11940. * @see _.subtract
  11941. */
  11942. subtract(
  11943. subtrahend: number
  11944. ): number;
  11945. }
  11946. interface LoDashExplicitWrapper<T> {
  11947. /**
  11948. * @see _.subtract
  11949. */
  11950. subtract(
  11951. subtrahend: number
  11952. ): LoDashExplicitWrapper<number>;
  11953. }
  11954. //_.clamp
  11955. interface LoDashStatic {
  11956. /**
  11957. * Clamps `number` within the inclusive `lower` and `upper` bounds.
  11958. *
  11959. * @static
  11960. * @memberOf _
  11961. * @category Number
  11962. * @param {number} number The number to clamp.
  11963. * @param {number} [lower] The lower bound.
  11964. * @param {number} upper The upper bound.
  11965. * @returns {number} Returns the clamped number.
  11966. * @example
  11967. *
  11968. * _.clamp(-10, -5, 5);
  11969. * // => -5
  11970. *
  11971. * _.clamp(10, -5, 5);
  11972. * // => 5
  11973. */
  11974. clamp(
  11975. number: number,
  11976. lower: number,
  11977. upper: number
  11978. ): number;
  11979. }
  11980. interface LoDashImplicitWrapper<T> {
  11981. /**
  11982. * @see _.clamp
  11983. */
  11984. clamp(
  11985. lower: number,
  11986. upper: number
  11987. ): number;
  11988. }
  11989. interface LoDashExplicitWrapper<T> {
  11990. /**
  11991. * @see _.clamp
  11992. */
  11993. clamp(
  11994. lower: number,
  11995. upper: number
  11996. ): LoDashExplicitWrapper<number>;
  11997. }
  11998. //_.inRange
  11999. interface LoDashStatic {
  12000. /**
  12001. * Checks if n is between start and up to but not including, end. If end is not specified it’s set to start
  12002. * with start then set to 0.
  12003. *
  12004. * @param n The number to check.
  12005. * @param start The start of the range.
  12006. * @param end The end of the range.
  12007. * @return Returns true if n is in the range, else false.
  12008. */
  12009. inRange(
  12010. n: number,
  12011. start: number,
  12012. end: number
  12013. ): boolean;
  12014. /**
  12015. * @see _.inRange
  12016. */
  12017. inRange(
  12018. n: number,
  12019. end: number
  12020. ): boolean;
  12021. }
  12022. interface LoDashImplicitWrapper<T> {
  12023. /**
  12024. * @see _.inRange
  12025. */
  12026. inRange(
  12027. start: number,
  12028. end: number
  12029. ): boolean;
  12030. /**
  12031. * @see _.inRange
  12032. */
  12033. inRange(end: number): boolean;
  12034. }
  12035. interface LoDashExplicitWrapper<T> {
  12036. /**
  12037. * @see _.inRange
  12038. */
  12039. inRange(
  12040. start: number,
  12041. end: number
  12042. ): LoDashExplicitWrapper<boolean>;
  12043. /**
  12044. * @see _.inRange
  12045. */
  12046. inRange(end: number): LoDashExplicitWrapper<boolean>;
  12047. }
  12048. //_.random
  12049. interface LoDashStatic {
  12050. /**
  12051. * Produces a random number between min and max (inclusive). If only one argument is provided a number between
  12052. * 0 and the given number is returned. If floating is true, or either min or max are floats, a floating-point
  12053. * number is returned instead of an integer.
  12054. *
  12055. * @param min The minimum possible value.
  12056. * @param max The maximum possible value.
  12057. * @param floating Specify returning a floating-point number.
  12058. * @return Returns the random number.
  12059. */
  12060. random(
  12061. min?: number,
  12062. max?: number,
  12063. floating?: boolean
  12064. ): number;
  12065. /**
  12066. * @see _.random
  12067. */
  12068. random(
  12069. min?: number,
  12070. floating?: boolean
  12071. ): number;
  12072. /**
  12073. * @see _.random
  12074. */
  12075. random(floating?: boolean): number;
  12076. }
  12077. interface LoDashImplicitWrapper<T> {
  12078. /**
  12079. * @see _.random
  12080. */
  12081. random(
  12082. max?: number,
  12083. floating?: boolean
  12084. ): number;
  12085. /**
  12086. * @see _.random
  12087. */
  12088. random(floating?: boolean): number;
  12089. }
  12090. interface LoDashExplicitWrapper<T> {
  12091. /**
  12092. * @see _.random
  12093. */
  12094. random(
  12095. max?: number,
  12096. floating?: boolean
  12097. ): LoDashExplicitWrapper<number>;
  12098. /**
  12099. * @see _.random
  12100. */
  12101. random(floating?: boolean): LoDashExplicitWrapper<number>;
  12102. }
  12103. /**********
  12104. * Object *
  12105. **********/
  12106. //_.assign
  12107. interface LoDashStatic {
  12108. /**
  12109. * Assigns own enumerable properties of source objects to the destination
  12110. * object. Source objects are applied from left to right. Subsequent sources
  12111. * overwrite property assignments of previous sources.
  12112. *
  12113. * **Note:** This method mutates `object` and is loosely based on
  12114. * [`Object.assign`](https://mdn.io/Object/assign).
  12115. *
  12116. * @static
  12117. * @memberOf _
  12118. * @category Object
  12119. * @param {Object} object The destination object.
  12120. * @param {...Object} [sources] The source objects.
  12121. * @returns {Object} Returns `object`.
  12122. * @example
  12123. *
  12124. * function Foo() {
  12125. * this.c = 3;
  12126. * }
  12127. *
  12128. * function Bar() {
  12129. * this.e = 5;
  12130. * }
  12131. *
  12132. * Foo.prototype.d = 4;
  12133. * Bar.prototype.f = 6;
  12134. *
  12135. * _.assign({ 'a': 1 }, new Foo, new Bar);
  12136. * // => { 'a': 1, 'c': 3, 'e': 5 }
  12137. */
  12138. assign<TObject, TSource>(
  12139. object: TObject,
  12140. source: TSource
  12141. ): TObject & TSource;
  12142. /**
  12143. * @see assign
  12144. */
  12145. assign<TObject, TSource1, TSource2>(
  12146. object: TObject,
  12147. source1: TSource1,
  12148. source2: TSource2
  12149. ): TObject & TSource1 & TSource2;
  12150. /**
  12151. * @see assign
  12152. */
  12153. assign<TObject, TSource1, TSource2, TSource3>(
  12154. object: TObject,
  12155. source1: TSource1,
  12156. source2: TSource2,
  12157. source3: TSource3
  12158. ): TObject & TSource1 & TSource2 & TSource3;
  12159. /**
  12160. * @see assign
  12161. */
  12162. assign<TObject, TSource1, TSource2, TSource3, TSource4>(
  12163. object: TObject,
  12164. source1: TSource1,
  12165. source2: TSource2,
  12166. source3: TSource3,
  12167. source4: TSource4
  12168. ): TObject & TSource1 & TSource2 & TSource3 & TSource4;
  12169. /**
  12170. * @see _.assign
  12171. */
  12172. assign<TObject>(object: TObject): TObject;
  12173. /**
  12174. * @see _.assign
  12175. */
  12176. assign<TResult>(
  12177. object: any,
  12178. ...otherArgs: any[]
  12179. ): TResult;
  12180. }
  12181. interface LoDashImplicitObjectWrapper<T> {
  12182. /**
  12183. * @see _.assign
  12184. */
  12185. assign<TSource>(
  12186. source: TSource
  12187. ): LoDashImplicitObjectWrapper<T & TSource>;
  12188. /**
  12189. * @see assign
  12190. */
  12191. assign<TSource1, TSource2>(
  12192. source1: TSource1,
  12193. source2: TSource2
  12194. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2>;
  12195. /**
  12196. * @see assign
  12197. */
  12198. assign<TSource1, TSource2, TSource3>(
  12199. source1: TSource1,
  12200. source2: TSource2,
  12201. source3: TSource3
  12202. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2 & TSource3>;
  12203. /**
  12204. * @see assign
  12205. */
  12206. assign<TSource1, TSource2, TSource3, TSource4>(
  12207. source1: TSource1,
  12208. source2: TSource2,
  12209. source3: TSource3,
  12210. source4: TSource4
  12211. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2 & TSource3 & TSource4>;
  12212. /**
  12213. * @see _.assign
  12214. */
  12215. assign(): LoDashImplicitObjectWrapper<T>;
  12216. /**
  12217. * @see _.assign
  12218. */
  12219. assign<TResult>(...otherArgs: any[]): LoDashImplicitObjectWrapper<TResult>;
  12220. }
  12221. interface LoDashExplicitObjectWrapper<T> {
  12222. /**
  12223. * @see _.assign
  12224. */
  12225. assign<TSource>(
  12226. source: TSource
  12227. ): LoDashExplicitObjectWrapper<T & TSource>;
  12228. /**
  12229. * @see assign
  12230. */
  12231. assign<TSource1, TSource2>(
  12232. source1: TSource1,
  12233. source2: TSource2
  12234. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2>;
  12235. /**
  12236. * @see assign
  12237. */
  12238. assign<TSource1, TSource2, TSource3>(
  12239. source1: TSource1,
  12240. source2: TSource2,
  12241. source3: TSource3
  12242. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2 & TSource3>;
  12243. /**
  12244. * @see assign
  12245. */
  12246. assign<TSource1, TSource2, TSource3, TSource4>(
  12247. source1: TSource1,
  12248. source2: TSource2,
  12249. source3: TSource3,
  12250. source4: TSource4
  12251. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2 & TSource3 & TSource4>;
  12252. /**
  12253. * @see _.assign
  12254. */
  12255. assign(): LoDashExplicitObjectWrapper<T>;
  12256. /**
  12257. * @see _.assign
  12258. */
  12259. assign<TResult>(...otherArgs: any[]): LoDashExplicitObjectWrapper<TResult>;
  12260. }
  12261. //_.assignWith
  12262. interface AssignCustomizer {
  12263. (objectValue: any, sourceValue: any, key?: string, object?: {}, source?: {}): any;
  12264. }
  12265. interface LoDashStatic {
  12266. /**
  12267. * This method is like `_.assign` except that it accepts `customizer` which
  12268. * is invoked to produce the assigned values. If `customizer` returns `undefined`
  12269. * assignment is handled by the method instead. The `customizer` is invoked
  12270. * with five arguments: (objValue, srcValue, key, object, source).
  12271. *
  12272. * **Note:** This method mutates `object`.
  12273. *
  12274. * @static
  12275. * @memberOf _
  12276. * @category Object
  12277. * @param {Object} object The destination object.
  12278. * @param {...Object} sources The source objects.
  12279. * @param {Function} [customizer] The function to customize assigned values.
  12280. * @returns {Object} Returns `object`.
  12281. * @example
  12282. *
  12283. * function customizer(objValue, srcValue) {
  12284. * return _.isUndefined(objValue) ? srcValue : objValue;
  12285. * }
  12286. *
  12287. * var defaults = _.partialRight(_.assignWith, customizer);
  12288. *
  12289. * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
  12290. * // => { 'a': 1, 'b': 2 }
  12291. */
  12292. assignWith<TObject, TSource>(
  12293. object: TObject,
  12294. source: TSource,
  12295. customizer: AssignCustomizer
  12296. ): TObject & TSource;
  12297. /**
  12298. * @see assignWith
  12299. */
  12300. assignWith<TObject, TSource1, TSource2>(
  12301. object: TObject,
  12302. source1: TSource1,
  12303. source2: TSource2,
  12304. customizer: AssignCustomizer
  12305. ): TObject & TSource1 & TSource2;
  12306. /**
  12307. * @see assignWith
  12308. */
  12309. assignWith<TObject, TSource1, TSource2, TSource3>(
  12310. object: TObject,
  12311. source1: TSource1,
  12312. source2: TSource2,
  12313. source3: TSource3,
  12314. customizer: AssignCustomizer
  12315. ): TObject & TSource1 & TSource2 & TSource3;
  12316. /**
  12317. * @see assignWith
  12318. */
  12319. assignWith<TObject, TSource1, TSource2, TSource3, TSource4>(
  12320. object: TObject,
  12321. source1: TSource1,
  12322. source2: TSource2,
  12323. source3: TSource3,
  12324. source4: TSource4,
  12325. customizer: AssignCustomizer
  12326. ): TObject & TSource1 & TSource2 & TSource3 & TSource4;
  12327. /**
  12328. * @see _.assignWith
  12329. */
  12330. assignWith<TObject>(object: TObject): TObject;
  12331. /**
  12332. * @see _.assignWith
  12333. */
  12334. assignWith<TResult>(
  12335. object: any,
  12336. ...otherArgs: any[]
  12337. ): TResult;
  12338. }
  12339. interface LoDashImplicitObjectWrapper<T> {
  12340. /**
  12341. * @see _.assignWith
  12342. */
  12343. assignWith<TSource>(
  12344. source: TSource,
  12345. customizer: AssignCustomizer
  12346. ): LoDashImplicitObjectWrapper<T & TSource>;
  12347. /**
  12348. * @see assignWith
  12349. */
  12350. assignWith<TSource1, TSource2>(
  12351. source1: TSource1,
  12352. source2: TSource2,
  12353. customizer: AssignCustomizer
  12354. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2>;
  12355. /**
  12356. * @see assignWith
  12357. */
  12358. assignWith<TSource1, TSource2, TSource3>(
  12359. source1: TSource1,
  12360. source2: TSource2,
  12361. source3: TSource3,
  12362. customizer: AssignCustomizer
  12363. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2 & TSource3>;
  12364. /**
  12365. * @see assignWith
  12366. */
  12367. assignWith<TSource1, TSource2, TSource3, TSource4>(
  12368. source1: TSource1,
  12369. source2: TSource2,
  12370. source3: TSource3,
  12371. source4: TSource4,
  12372. customizer: AssignCustomizer
  12373. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2 & TSource3 & TSource4>;
  12374. /**
  12375. * @see _.assignWith
  12376. */
  12377. assignWith(): LoDashImplicitObjectWrapper<T>;
  12378. /**
  12379. * @see _.assignWith
  12380. */
  12381. assignWith<TResult>(...otherArgs: any[]): LoDashImplicitObjectWrapper<TResult>;
  12382. }
  12383. interface LoDashExplicitObjectWrapper<T> {
  12384. /**
  12385. * @see _.assignWith
  12386. */
  12387. assignWith<TSource>(
  12388. source: TSource,
  12389. customizer: AssignCustomizer
  12390. ): LoDashExplicitObjectWrapper<T & TSource>;
  12391. /**
  12392. * @see assignWith
  12393. */
  12394. assignWith<TSource1, TSource2>(
  12395. source1: TSource1,
  12396. source2: TSource2,
  12397. customizer: AssignCustomizer
  12398. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2>;
  12399. /**
  12400. * @see assignWith
  12401. */
  12402. assignWith<TSource1, TSource2, TSource3>(
  12403. source1: TSource1,
  12404. source2: TSource2,
  12405. source3: TSource3,
  12406. customizer: AssignCustomizer
  12407. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2 & TSource3>;
  12408. /**
  12409. * @see assignWith
  12410. */
  12411. assignWith<TSource1, TSource2, TSource3, TSource4>(
  12412. source1: TSource1,
  12413. source2: TSource2,
  12414. source3: TSource3,
  12415. source4: TSource4,
  12416. customizer: AssignCustomizer
  12417. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2 & TSource3 & TSource4>;
  12418. /**
  12419. * @see _.assignWith
  12420. */
  12421. assignWith(): LoDashExplicitObjectWrapper<T>;
  12422. /**
  12423. * @see _.assignWith
  12424. */
  12425. assignWith<TResult>(...otherArgs: any[]): LoDashExplicitObjectWrapper<TResult>;
  12426. }
  12427. //_.assignIn
  12428. interface LoDashStatic {
  12429. /**
  12430. * This method is like `_.assign` except that it iterates over own and
  12431. * inherited source properties.
  12432. *
  12433. * **Note:** This method mutates `object`.
  12434. *
  12435. * @static
  12436. * @memberOf _
  12437. * @alias extend
  12438. * @category Object
  12439. * @param {Object} object The destination object.
  12440. * @param {...Object} [sources] The source objects.
  12441. * @returns {Object} Returns `object`.
  12442. * @example
  12443. *
  12444. * function Foo() {
  12445. * this.b = 2;
  12446. * }
  12447. *
  12448. * function Bar() {
  12449. * this.d = 4;
  12450. * }
  12451. *
  12452. * Foo.prototype.c = 3;
  12453. * Bar.prototype.e = 5;
  12454. *
  12455. * _.assignIn({ 'a': 1 }, new Foo, new Bar);
  12456. * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5 }
  12457. */
  12458. assignIn<TObject, TSource>(
  12459. object: TObject,
  12460. source: TSource
  12461. ): TObject & TSource;
  12462. /**
  12463. * @see assignIn
  12464. */
  12465. assignIn<TObject, TSource1, TSource2>(
  12466. object: TObject,
  12467. source1: TSource1,
  12468. source2: TSource2
  12469. ): TObject & TSource1 & TSource2;
  12470. /**
  12471. * @see assignIn
  12472. */
  12473. assignIn<TObject, TSource1, TSource2, TSource3>(
  12474. object: TObject,
  12475. source1: TSource1,
  12476. source2: TSource2,
  12477. source3: TSource3
  12478. ): TObject & TSource1 & TSource2 & TSource3;
  12479. /**
  12480. * @see assignIn
  12481. */
  12482. assignIn<TObject, TSource1, TSource2, TSource3, TSource4>(
  12483. object: TObject,
  12484. source1: TSource1,
  12485. source2: TSource2,
  12486. source3: TSource3,
  12487. source4: TSource4
  12488. ): TObject & TSource1 & TSource2 & TSource3 & TSource4;
  12489. /**
  12490. * @see _.assignIn
  12491. */
  12492. assignIn<TObject>(object: TObject): TObject;
  12493. /**
  12494. * @see _.assignIn
  12495. */
  12496. assignIn<TResult>(
  12497. object: any,
  12498. ...otherArgs: any[]
  12499. ): TResult;
  12500. }
  12501. interface LoDashImplicitObjectWrapper<T> {
  12502. /**
  12503. * @see _.assignIn
  12504. */
  12505. assignIn<TSource>(
  12506. source: TSource
  12507. ): LoDashImplicitObjectWrapper<T & TSource>;
  12508. /**
  12509. * @see assignIn
  12510. */
  12511. assignIn<TSource1, TSource2>(
  12512. source1: TSource1,
  12513. source2: TSource2
  12514. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2>;
  12515. /**
  12516. * @see assignIn
  12517. */
  12518. assignIn<TSource1, TSource2, TSource3>(
  12519. source1: TSource1,
  12520. source2: TSource2,
  12521. source3: TSource3
  12522. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2 & TSource3>;
  12523. /**
  12524. * @see assignIn
  12525. */
  12526. assignIn<TSource1, TSource2, TSource3, TSource4>(
  12527. source1: TSource1,
  12528. source2: TSource2,
  12529. source3: TSource3,
  12530. source4: TSource4
  12531. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2 & TSource3 & TSource4>;
  12532. /**
  12533. * @see _.assignIn
  12534. */
  12535. assignIn(): LoDashImplicitObjectWrapper<T>;
  12536. /**
  12537. * @see _.assignIn
  12538. */
  12539. assignIn<TResult>(...otherArgs: any[]): LoDashImplicitObjectWrapper<TResult>;
  12540. }
  12541. interface LoDashExplicitObjectWrapper<T> {
  12542. /**
  12543. * @see _.assignIn
  12544. */
  12545. assignIn<TSource>(
  12546. source: TSource
  12547. ): LoDashExplicitObjectWrapper<T & TSource>;
  12548. /**
  12549. * @see assignIn
  12550. */
  12551. assignIn<TSource1, TSource2>(
  12552. source1: TSource1,
  12553. source2: TSource2
  12554. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2>;
  12555. /**
  12556. * @see assignIn
  12557. */
  12558. assignIn<TSource1, TSource2, TSource3>(
  12559. source1: TSource1,
  12560. source2: TSource2,
  12561. source3: TSource3
  12562. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2 & TSource3>;
  12563. /**
  12564. * @see assignIn
  12565. */
  12566. assignIn<TSource1, TSource2, TSource3, TSource4>(
  12567. source1: TSource1,
  12568. source2: TSource2,
  12569. source3: TSource3,
  12570. source4: TSource4
  12571. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2 & TSource3 & TSource4>;
  12572. /**
  12573. * @see _.assignIn
  12574. */
  12575. assignIn(): LoDashExplicitObjectWrapper<T>;
  12576. /**
  12577. * @see _.assignIn
  12578. */
  12579. assignIn<TResult>(...otherArgs: any[]): LoDashExplicitObjectWrapper<TResult>;
  12580. }
  12581. //_.assignInWith
  12582. interface AssignCustomizer {
  12583. (objectValue: any, sourceValue: any, key?: string, object?: {}, source?: {}): any;
  12584. }
  12585. interface LoDashStatic {
  12586. /**
  12587. * This method is like `_.assignIn` except that it accepts `customizer` which
  12588. * is invoked to produce the assigned values. If `customizer` returns `undefined`
  12589. * assignment is handled by the method instead. The `customizer` is invoked
  12590. * with five arguments: (objValue, srcValue, key, object, source).
  12591. *
  12592. * **Note:** This method mutates `object`.
  12593. *
  12594. * @static
  12595. * @memberOf _
  12596. * @alias extendWith
  12597. * @category Object
  12598. * @param {Object} object The destination object.
  12599. * @param {...Object} sources The source objects.
  12600. * @param {Function} [customizer] The function to customize assigned values.
  12601. * @returns {Object} Returns `object`.
  12602. * @example
  12603. *
  12604. * function customizer(objValue, srcValue) {
  12605. * return _.isUndefined(objValue) ? srcValue : objValue;
  12606. * }
  12607. *
  12608. * var defaults = _.partialRight(_.assignInWith, customizer);
  12609. *
  12610. * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
  12611. * // => { 'a': 1, 'b': 2 }
  12612. */
  12613. assignInWith<TObject, TSource>(
  12614. object: TObject,
  12615. source: TSource,
  12616. customizer: AssignCustomizer
  12617. ): TObject & TSource;
  12618. /**
  12619. * @see assignInWith
  12620. */
  12621. assignInWith<TObject, TSource1, TSource2>(
  12622. object: TObject,
  12623. source1: TSource1,
  12624. source2: TSource2,
  12625. customizer: AssignCustomizer
  12626. ): TObject & TSource1 & TSource2;
  12627. /**
  12628. * @see assignInWith
  12629. */
  12630. assignInWith<TObject, TSource1, TSource2, TSource3>(
  12631. object: TObject,
  12632. source1: TSource1,
  12633. source2: TSource2,
  12634. source3: TSource3,
  12635. customizer: AssignCustomizer
  12636. ): TObject & TSource1 & TSource2 & TSource3;
  12637. /**
  12638. * @see assignInWith
  12639. */
  12640. assignInWith<TObject, TSource1, TSource2, TSource3, TSource4>(
  12641. object: TObject,
  12642. source1: TSource1,
  12643. source2: TSource2,
  12644. source3: TSource3,
  12645. source4: TSource4,
  12646. customizer: AssignCustomizer
  12647. ): TObject & TSource1 & TSource2 & TSource3 & TSource4;
  12648. /**
  12649. * @see _.assignInWith
  12650. */
  12651. assignInWith<TObject>(object: TObject): TObject;
  12652. /**
  12653. * @see _.assignInWith
  12654. */
  12655. assignInWith<TResult>(
  12656. object: any,
  12657. ...otherArgs: any[]
  12658. ): TResult;
  12659. }
  12660. interface LoDashImplicitObjectWrapper<T> {
  12661. /**
  12662. * @see _.assignInWith
  12663. */
  12664. assignInWith<TSource>(
  12665. source: TSource,
  12666. customizer: AssignCustomizer
  12667. ): LoDashImplicitObjectWrapper<T & TSource>;
  12668. /**
  12669. * @see assignInWith
  12670. */
  12671. assignInWith<TSource1, TSource2>(
  12672. source1: TSource1,
  12673. source2: TSource2,
  12674. customizer: AssignCustomizer
  12675. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2>;
  12676. /**
  12677. * @see assignInWith
  12678. */
  12679. assignInWith<TSource1, TSource2, TSource3>(
  12680. source1: TSource1,
  12681. source2: TSource2,
  12682. source3: TSource3,
  12683. customizer: AssignCustomizer
  12684. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2 & TSource3>;
  12685. /**
  12686. * @see assignInWith
  12687. */
  12688. assignInWith<TSource1, TSource2, TSource3, TSource4>(
  12689. source1: TSource1,
  12690. source2: TSource2,
  12691. source3: TSource3,
  12692. source4: TSource4,
  12693. customizer: AssignCustomizer
  12694. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2 & TSource3 & TSource4>;
  12695. /**
  12696. * @see _.assignInWith
  12697. */
  12698. assignInWith(): LoDashImplicitObjectWrapper<T>;
  12699. /**
  12700. * @see _.assignInWith
  12701. */
  12702. assignInWith<TResult>(...otherArgs: any[]): LoDashImplicitObjectWrapper<TResult>;
  12703. }
  12704. interface LoDashExplicitObjectWrapper<T> {
  12705. /**
  12706. * @see _.assignInWith
  12707. */
  12708. assignInWith<TSource>(
  12709. source: TSource,
  12710. customizer: AssignCustomizer
  12711. ): LoDashExplicitObjectWrapper<T & TSource>;
  12712. /**
  12713. * @see assignInWith
  12714. */
  12715. assignInWith<TSource1, TSource2>(
  12716. source1: TSource1,
  12717. source2: TSource2,
  12718. customizer: AssignCustomizer
  12719. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2>;
  12720. /**
  12721. * @see assignInWith
  12722. */
  12723. assignInWith<TSource1, TSource2, TSource3>(
  12724. source1: TSource1,
  12725. source2: TSource2,
  12726. source3: TSource3,
  12727. customizer: AssignCustomizer
  12728. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2 & TSource3>;
  12729. /**
  12730. * @see assignInWith
  12731. */
  12732. assignInWith<TSource1, TSource2, TSource3, TSource4>(
  12733. source1: TSource1,
  12734. source2: TSource2,
  12735. source3: TSource3,
  12736. source4: TSource4,
  12737. customizer: AssignCustomizer
  12738. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2 & TSource3 & TSource4>;
  12739. /**
  12740. * @see _.assignInWith
  12741. */
  12742. assignInWith(): LoDashExplicitObjectWrapper<T>;
  12743. /**
  12744. * @see _.assignInWith
  12745. */
  12746. assignInWith<TResult>(...otherArgs: any[]): LoDashExplicitObjectWrapper<TResult>;
  12747. }
  12748. //_.create
  12749. interface LoDashStatic {
  12750. /**
  12751. * Creates an object that inherits from the given prototype object. If a properties object is provided its own
  12752. * enumerable properties are assigned to the created object.
  12753. *
  12754. * @param prototype The object to inherit from.
  12755. * @param properties The properties to assign to the object.
  12756. * @return Returns the new object.
  12757. */
  12758. create<T extends Object, U extends Object>(
  12759. prototype: T,
  12760. properties?: U
  12761. ): T & U;
  12762. }
  12763. interface LoDashImplicitObjectWrapper<T> {
  12764. /**
  12765. * @see _.create
  12766. */
  12767. create<U extends Object>(properties?: U): LoDashImplicitObjectWrapper<T & U>;
  12768. }
  12769. interface LoDashExplicitObjectWrapper<T> {
  12770. /**
  12771. * @see _.create
  12772. */
  12773. create<U extends Object>(properties?: U): LoDashExplicitObjectWrapper<T & U>;
  12774. }
  12775. //_.defaults
  12776. interface LoDashStatic {
  12777. /**
  12778. * Assigns own enumerable properties of source object(s) to the destination object for all destination
  12779. * properties that resolve to undefined. Once a property is set, additional values of the same property are
  12780. * ignored.
  12781. *
  12782. * Note: This method mutates object.
  12783. *
  12784. * @param object The destination object.
  12785. * @param sources The source objects.
  12786. * @return The destination object.
  12787. */
  12788. defaults<TObject, TSource>(
  12789. object: TObject,
  12790. source: TSource
  12791. ): TSource & TObject;
  12792. /**
  12793. * @see _.defaults
  12794. */
  12795. defaults<TObject, TSource1, TSource2>(
  12796. object: TObject,
  12797. source1: TSource1,
  12798. source2: TSource2
  12799. ): TSource2 & TSource1 & TObject;
  12800. /**
  12801. * @see _.defaults
  12802. */
  12803. defaults<TObject, TSource1, TSource2, TSource3>(
  12804. object: TObject,
  12805. source1: TSource1,
  12806. source2: TSource2,
  12807. source3: TSource3
  12808. ): TSource3 & TSource2 & TSource1 & TObject;
  12809. /**
  12810. * @see _.defaults
  12811. */
  12812. defaults<TObject, TSource1, TSource2, TSource3, TSource4>(
  12813. object: TObject,
  12814. source1: TSource1,
  12815. source2: TSource2,
  12816. source3: TSource3,
  12817. source4: TSource4
  12818. ): TSource4 & TSource3 & TSource2 & TSource1 & TObject;
  12819. /**
  12820. * @see _.defaults
  12821. */
  12822. defaults<TObject>(object: TObject): TObject;
  12823. /**
  12824. * @see _.defaults
  12825. */
  12826. defaults<TResult>(
  12827. object: any,
  12828. ...sources: any[]
  12829. ): TResult;
  12830. }
  12831. interface LoDashImplicitObjectWrapper<T> {
  12832. /**
  12833. * @see _.defaults
  12834. */
  12835. defaults<TSource>(
  12836. source: TSource
  12837. ): LoDashImplicitObjectWrapper<TSource & T>;
  12838. /**
  12839. * @see _.defaults
  12840. */
  12841. defaults<TSource1, TSource2>(
  12842. source1: TSource1,
  12843. source2: TSource2
  12844. ): LoDashImplicitObjectWrapper<TSource2 & TSource1 & T>;
  12845. /**
  12846. * @see _.defaults
  12847. */
  12848. defaults<TSource1, TSource2, TSource3>(
  12849. source1: TSource1,
  12850. source2: TSource2,
  12851. source3: TSource3
  12852. ): LoDashImplicitObjectWrapper<TSource3 & TSource2 & TSource1 & T>;
  12853. /**
  12854. * @see _.defaults
  12855. */
  12856. defaults<TSource1, TSource2, TSource3, TSource4>(
  12857. source1: TSource1,
  12858. source2: TSource2,
  12859. source3: TSource3,
  12860. source4: TSource4
  12861. ): LoDashImplicitObjectWrapper<TSource4 & TSource3 & TSource2 & TSource1 & T>;
  12862. /**
  12863. * @see _.defaults
  12864. */
  12865. defaults(): LoDashImplicitObjectWrapper<T>;
  12866. /**
  12867. * @see _.defaults
  12868. */
  12869. defaults<TResult>(...sources: any[]): LoDashImplicitObjectWrapper<TResult>;
  12870. }
  12871. interface LoDashExplicitObjectWrapper<T> {
  12872. /**
  12873. * @see _.defaults
  12874. */
  12875. defaults<TSource>(
  12876. source: TSource
  12877. ): LoDashExplicitObjectWrapper<TSource & T>;
  12878. /**
  12879. * @see _.defaults
  12880. */
  12881. defaults<TSource1, TSource2>(
  12882. source1: TSource1,
  12883. source2: TSource2
  12884. ): LoDashExplicitObjectWrapper<TSource2 & TSource1 & T>;
  12885. /**
  12886. * @see _.defaults
  12887. */
  12888. defaults<TSource1, TSource2, TSource3>(
  12889. source1: TSource1,
  12890. source2: TSource2,
  12891. source3: TSource3
  12892. ): LoDashExplicitObjectWrapper<TSource3 & TSource2 & TSource1 & T>;
  12893. /**
  12894. * @see _.defaults
  12895. */
  12896. defaults<TSource1, TSource2, TSource3, TSource4>(
  12897. source1: TSource1,
  12898. source2: TSource2,
  12899. source3: TSource3,
  12900. source4: TSource4
  12901. ): LoDashExplicitObjectWrapper<TSource4 & TSource3 & TSource2 & TSource1 & T>;
  12902. /**
  12903. * @see _.defaults
  12904. */
  12905. defaults(): LoDashExplicitObjectWrapper<T>;
  12906. /**
  12907. * @see _.defaults
  12908. */
  12909. defaults<TResult>(...sources: any[]): LoDashExplicitObjectWrapper<TResult>;
  12910. }
  12911. //_.defaultsDeep
  12912. interface LoDashStatic {
  12913. /**
  12914. * This method is like _.defaults except that it recursively assigns default properties.
  12915. * @param object The destination object.
  12916. * @param sources The source objects.
  12917. * @return Returns object.
  12918. **/
  12919. defaultsDeep<T, TResult>(
  12920. object: T,
  12921. ...sources: any[]): TResult;
  12922. }
  12923. interface LoDashImplicitObjectWrapper<T> {
  12924. /**
  12925. * @see _.defaultsDeep
  12926. **/
  12927. defaultsDeep<TResult>(...sources: any[]): LoDashImplicitObjectWrapper<TResult>
  12928. }
  12929. // _.extend
  12930. interface LoDashStatic {
  12931. /**
  12932. * @see _.assignIn
  12933. */
  12934. extend<TObject, TSource>(
  12935. object: TObject,
  12936. source: TSource
  12937. ): TObject & TSource;
  12938. /**
  12939. * @see _.assignIn
  12940. */
  12941. extend<TObject, TSource1, TSource2>(
  12942. object: TObject,
  12943. source1: TSource1,
  12944. source2: TSource2
  12945. ): TObject & TSource1 & TSource2;
  12946. /**
  12947. * @see _.assignIn
  12948. */
  12949. extend<TObject, TSource1, TSource2, TSource3>(
  12950. object: TObject,
  12951. source1: TSource1,
  12952. source2: TSource2,
  12953. source3: TSource3
  12954. ): TObject & TSource1 & TSource2 & TSource3;
  12955. /**
  12956. * @see _.assignIn
  12957. */
  12958. extend<TObject, TSource1, TSource2, TSource3, TSource4>(
  12959. object: TObject,
  12960. source1: TSource1,
  12961. source2: TSource2,
  12962. source3: TSource3,
  12963. source4: TSource4
  12964. ): TObject & TSource1 & TSource2 & TSource3 & TSource4;
  12965. /**
  12966. * @see _.assignIn
  12967. */
  12968. extend<TObject>(object: TObject): TObject;
  12969. /**
  12970. * @see _.assignIn
  12971. */
  12972. extend<TResult>(
  12973. object: any,
  12974. ...otherArgs: any[]
  12975. ): TResult;
  12976. }
  12977. interface LoDashImplicitObjectWrapper<T> {
  12978. /**
  12979. * @see _.assignIn
  12980. */
  12981. extend<TSource>(
  12982. source: TSource
  12983. ): LoDashImplicitObjectWrapper<T & TSource>;
  12984. /**
  12985. * @see _.assignIn
  12986. */
  12987. extend<TSource1, TSource2>(
  12988. source1: TSource1,
  12989. source2: TSource2
  12990. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2>;
  12991. /**
  12992. * @see _.assignIn
  12993. */
  12994. extend<TSource1, TSource2, TSource3>(
  12995. source1: TSource1,
  12996. source2: TSource2,
  12997. source3: TSource3
  12998. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2 & TSource3>;
  12999. /**
  13000. * @see _.assignIn
  13001. */
  13002. extend<TSource1, TSource2, TSource3, TSource4>(
  13003. source1: TSource1,
  13004. source2: TSource2,
  13005. source3: TSource3,
  13006. source4: TSource4
  13007. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2 & TSource3 & TSource4>;
  13008. /**
  13009. * @see _.assignIn
  13010. */
  13011. extend(): LoDashImplicitObjectWrapper<T>;
  13012. /**
  13013. * @see _.assignIn
  13014. */
  13015. extend<TResult>(...otherArgs: any[]): LoDashImplicitObjectWrapper<TResult>;
  13016. }
  13017. interface LoDashExplicitObjectWrapper<T> {
  13018. /**
  13019. * @see _.assignIn
  13020. */
  13021. extend<TSource>(
  13022. source: TSource
  13023. ): LoDashExplicitObjectWrapper<T & TSource>;
  13024. /**
  13025. * @see _.assignIn
  13026. */
  13027. extend<TSource1, TSource2>(
  13028. source1: TSource1,
  13029. source2: TSource2
  13030. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2>;
  13031. /**
  13032. * @see _.assignIn
  13033. */
  13034. extend<TSource1, TSource2, TSource3>(
  13035. source1: TSource1,
  13036. source2: TSource2,
  13037. source3: TSource3
  13038. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2 & TSource3>;
  13039. /**
  13040. * @see _.assignIn
  13041. */
  13042. extend<TSource1, TSource2, TSource3, TSource4>(
  13043. source1: TSource1,
  13044. source2: TSource2,
  13045. source3: TSource3,
  13046. source4: TSource4
  13047. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2 & TSource3 & TSource4>;
  13048. /**
  13049. * @see _.assignIn
  13050. */
  13051. extend(): LoDashExplicitObjectWrapper<T>;
  13052. /**
  13053. * @see _.assignIn
  13054. */
  13055. extend<TResult>(...otherArgs: any[]): LoDashExplicitObjectWrapper<TResult>;
  13056. }
  13057. interface LoDashStatic {
  13058. /**
  13059. * @see _.assignInWith
  13060. */
  13061. extendWith<TObject, TSource>(
  13062. object: TObject,
  13063. source: TSource,
  13064. customizer: AssignCustomizer
  13065. ): TObject & TSource;
  13066. /**
  13067. * @see _.assignInWith
  13068. */
  13069. extendWith<TObject, TSource1, TSource2>(
  13070. object: TObject,
  13071. source1: TSource1,
  13072. source2: TSource2,
  13073. customizer: AssignCustomizer
  13074. ): TObject & TSource1 & TSource2;
  13075. /**
  13076. * @see _.assignInWith
  13077. */
  13078. extendWith<TObject, TSource1, TSource2, TSource3>(
  13079. object: TObject,
  13080. source1: TSource1,
  13081. source2: TSource2,
  13082. source3: TSource3,
  13083. customizer: AssignCustomizer
  13084. ): TObject & TSource1 & TSource2 & TSource3;
  13085. /**
  13086. * @see _.assignInWith
  13087. */
  13088. extendWith<TObject, TSource1, TSource2, TSource3, TSource4>(
  13089. object: TObject,
  13090. source1: TSource1,
  13091. source2: TSource2,
  13092. source3: TSource3,
  13093. source4: TSource4,
  13094. customizer: AssignCustomizer
  13095. ): TObject & TSource1 & TSource2 & TSource3 & TSource4;
  13096. /**
  13097. * @see _.assignInWith
  13098. */
  13099. extendWith<TObject>(object: TObject): TObject;
  13100. /**
  13101. * @see _.assignInWith
  13102. */
  13103. extendWith<TResult>(
  13104. object: any,
  13105. ...otherArgs: any[]
  13106. ): TResult;
  13107. }
  13108. interface LoDashImplicitObjectWrapper<T> {
  13109. /**
  13110. * @see _.assignInWith
  13111. */
  13112. extendWith<TSource>(
  13113. source: TSource,
  13114. customizer: AssignCustomizer
  13115. ): LoDashImplicitObjectWrapper<T & TSource>;
  13116. /**
  13117. * @see _.assignInWith
  13118. */
  13119. extendWith<TSource1, TSource2>(
  13120. source1: TSource1,
  13121. source2: TSource2,
  13122. customizer: AssignCustomizer
  13123. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2>;
  13124. /**
  13125. * @see _.assignInWith
  13126. */
  13127. extendWith<TSource1, TSource2, TSource3>(
  13128. source1: TSource1,
  13129. source2: TSource2,
  13130. source3: TSource3,
  13131. customizer: AssignCustomizer
  13132. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2 & TSource3>;
  13133. /**
  13134. * @see _.assignInWith
  13135. */
  13136. extendWith<TSource1, TSource2, TSource3, TSource4>(
  13137. source1: TSource1,
  13138. source2: TSource2,
  13139. source3: TSource3,
  13140. source4: TSource4,
  13141. customizer: AssignCustomizer
  13142. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2 & TSource3 & TSource4>;
  13143. /**
  13144. * @see _.assignInWith
  13145. */
  13146. extendWith(): LoDashImplicitObjectWrapper<T>;
  13147. /**
  13148. * @see _.assignInWith
  13149. */
  13150. extendWith<TResult>(...otherArgs: any[]): LoDashImplicitObjectWrapper<TResult>;
  13151. }
  13152. interface LoDashExplicitObjectWrapper<T> {
  13153. /**
  13154. * @see _.assignInWith
  13155. */
  13156. extendWith<TSource>(
  13157. source: TSource,
  13158. customizer: AssignCustomizer
  13159. ): LoDashExplicitObjectWrapper<T & TSource>;
  13160. /**
  13161. * @see _.assignInWith
  13162. */
  13163. extendWith<TSource1, TSource2>(
  13164. source1: TSource1,
  13165. source2: TSource2,
  13166. customizer: AssignCustomizer
  13167. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2>;
  13168. /**
  13169. * @see _.assignInWith
  13170. */
  13171. extendWith<TSource1, TSource2, TSource3>(
  13172. source1: TSource1,
  13173. source2: TSource2,
  13174. source3: TSource3,
  13175. customizer: AssignCustomizer
  13176. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2 & TSource3>;
  13177. /**
  13178. * @see _.assignInWith
  13179. */
  13180. extendWith<TSource1, TSource2, TSource3, TSource4>(
  13181. source1: TSource1,
  13182. source2: TSource2,
  13183. source3: TSource3,
  13184. source4: TSource4,
  13185. customizer: AssignCustomizer
  13186. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2 & TSource3 & TSource4>;
  13187. /**
  13188. * @see _.assignInWith
  13189. */
  13190. extendWith(): LoDashExplicitObjectWrapper<T>;
  13191. /**
  13192. * @see _.assignInWith
  13193. */
  13194. extendWith<TResult>(...otherArgs: any[]): LoDashExplicitObjectWrapper<TResult>;
  13195. }
  13196. //_.findKey
  13197. interface LoDashStatic {
  13198. /**
  13199. * This method is like _.find except that it returns the key of the first element predicate returns truthy for
  13200. * instead of the element itself.
  13201. *
  13202. * If a property name is provided for predicate the created _.property style callback returns the property
  13203. * value of the given element.
  13204. *
  13205. * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for
  13206. * elements that have a matching property value, else false.
  13207. *
  13208. * If an object is provided for predicate the created _.matches style callback returns true for elements that
  13209. * have the properties of the given object, else false.
  13210. *
  13211. * @param object The object to search.
  13212. * @param predicate The function invoked per iteration.
  13213. * @param thisArg The this binding of predicate.
  13214. * @return Returns the key of the matched element, else undefined.
  13215. */
  13216. findKey<TValues, TObject>(
  13217. object: TObject,
  13218. predicate?: DictionaryIterator<TValues, boolean>
  13219. ): string;
  13220. /**
  13221. * @see _.findKey
  13222. */
  13223. findKey<TObject>(
  13224. object: TObject,
  13225. predicate?: ObjectIterator<any, boolean>
  13226. ): string;
  13227. /**
  13228. * @see _.findKey
  13229. */
  13230. findKey<TObject>(
  13231. object: TObject,
  13232. predicate?: string
  13233. ): string;
  13234. /**
  13235. * @see _.findKey
  13236. */
  13237. findKey<TWhere extends Dictionary<any>, TObject>(
  13238. object: TObject,
  13239. predicate?: TWhere
  13240. ): string;
  13241. }
  13242. interface LoDashImplicitObjectWrapper<T> {
  13243. /**
  13244. * @see _.findKey
  13245. */
  13246. findKey<TValues>(
  13247. predicate?: DictionaryIterator<TValues, boolean>
  13248. ): string;
  13249. /**
  13250. * @see _.findKey
  13251. */
  13252. findKey(
  13253. predicate?: ObjectIterator<any, boolean>
  13254. ): string;
  13255. /**
  13256. * @see _.findKey
  13257. */
  13258. findKey(
  13259. predicate?: string
  13260. ): string;
  13261. /**
  13262. * @see _.findKey
  13263. */
  13264. findKey<TWhere extends Dictionary<any>>(
  13265. predicate?: TWhere
  13266. ): string;
  13267. }
  13268. interface LoDashExplicitObjectWrapper<T> {
  13269. /**
  13270. * @see _.findKey
  13271. */
  13272. findKey<TValues>(
  13273. predicate?: DictionaryIterator<TValues, boolean>
  13274. ): LoDashExplicitWrapper<string>;
  13275. /**
  13276. * @see _.findKey
  13277. */
  13278. findKey(
  13279. predicate?: ObjectIterator<any, boolean>
  13280. ): LoDashExplicitWrapper<string>;
  13281. /**
  13282. * @see _.findKey
  13283. */
  13284. findKey(
  13285. predicate?: string
  13286. ): LoDashExplicitWrapper<string>;
  13287. /**
  13288. * @see _.findKey
  13289. */
  13290. findKey<TWhere extends Dictionary<any>>(
  13291. predicate?: TWhere
  13292. ): LoDashExplicitWrapper<string>;
  13293. }
  13294. //_.findLastKey
  13295. interface LoDashStatic {
  13296. /**
  13297. * This method is like _.findKey except that it iterates over elements of a collection in the opposite order.
  13298. *
  13299. * If a property name is provided for predicate the created _.property style callback returns the property
  13300. * value of the given element.
  13301. *
  13302. * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for
  13303. * elements that have a matching property value, else false.
  13304. *
  13305. * If an object is provided for predicate the created _.matches style callback returns true for elements that
  13306. * have the properties of the given object, else false.
  13307. *
  13308. * @param object The object to search.
  13309. * @param predicate The function invoked per iteration.
  13310. * @param thisArg The this binding of predicate.
  13311. * @return Returns the key of the matched element, else undefined.
  13312. */
  13313. findLastKey<TValues, TObject>(
  13314. object: TObject,
  13315. predicate?: DictionaryIterator<TValues, boolean>
  13316. ): string;
  13317. /**
  13318. * @see _.findLastKey
  13319. */
  13320. findLastKey<TObject>(
  13321. object: TObject,
  13322. predicate?: ObjectIterator<any, boolean>
  13323. ): string;
  13324. /**
  13325. * @see _.findLastKey
  13326. */
  13327. findLastKey<TObject>(
  13328. object: TObject,
  13329. predicate?: string
  13330. ): string;
  13331. /**
  13332. * @see _.findLastKey
  13333. */
  13334. findLastKey<TWhere extends Dictionary<any>, TObject>(
  13335. object: TObject,
  13336. predicate?: TWhere
  13337. ): string;
  13338. }
  13339. interface LoDashImplicitObjectWrapper<T> {
  13340. /**
  13341. * @see _.findLastKey
  13342. */
  13343. findLastKey<TValues>(
  13344. predicate?: DictionaryIterator<TValues, boolean>
  13345. ): string;
  13346. /**
  13347. * @see _.findLastKey
  13348. */
  13349. findLastKey(
  13350. predicate?: ObjectIterator<any, boolean>
  13351. ): string;
  13352. /**
  13353. * @see _.findLastKey
  13354. */
  13355. findLastKey(
  13356. predicate?: string
  13357. ): string;
  13358. /**
  13359. * @see _.findLastKey
  13360. */
  13361. findLastKey<TWhere extends Dictionary<any>>(
  13362. predicate?: TWhere
  13363. ): string;
  13364. }
  13365. interface LoDashExplicitObjectWrapper<T> {
  13366. /**
  13367. * @see _.findLastKey
  13368. */
  13369. findLastKey<TValues>(
  13370. predicate?: DictionaryIterator<TValues, boolean>
  13371. ): LoDashExplicitWrapper<string>;
  13372. /**
  13373. * @see _.findLastKey
  13374. */
  13375. findLastKey(
  13376. predicate?: ObjectIterator<any, boolean>
  13377. ): LoDashExplicitWrapper<string>;
  13378. /**
  13379. * @see _.findLastKey
  13380. */
  13381. findLastKey(
  13382. predicate?: string
  13383. ): LoDashExplicitWrapper<string>;
  13384. /**
  13385. * @see _.findLastKey
  13386. */
  13387. findLastKey<TWhere extends Dictionary<any>>(
  13388. predicate?: TWhere
  13389. ): LoDashExplicitWrapper<string>;
  13390. }
  13391. //_.forIn
  13392. interface LoDashStatic {
  13393. /**
  13394. * Iterates over own and inherited enumerable properties of an object invoking iteratee for each property. The
  13395. * iteratee is bound to thisArg and invoked with three arguments: (value, key, object). Iteratee functions may
  13396. * exit iteration early by explicitly returning false.
  13397. *
  13398. * @param object The object to iterate over.
  13399. * @param iteratee The function invoked per iteration.
  13400. * @param thisArg The this binding of iteratee.
  13401. * @return Returns object.
  13402. */
  13403. forIn<T>(
  13404. object: Dictionary<T>,
  13405. iteratee?: DictionaryIterator<T, any>
  13406. ): Dictionary<T>;
  13407. /**
  13408. * @see _.forIn
  13409. */
  13410. forIn<T extends {}>(
  13411. object: T,
  13412. iteratee?: ObjectIterator<any, any>
  13413. ): T;
  13414. }
  13415. interface LoDashImplicitObjectWrapper<T> {
  13416. /**
  13417. * @see _.forIn
  13418. */
  13419. forIn<TValue>(
  13420. iteratee?: DictionaryIterator<TValue, any>
  13421. ): _.LoDashImplicitObjectWrapper<T>;
  13422. }
  13423. interface LoDashExplicitObjectWrapper<T> {
  13424. /**
  13425. * @see _.forIn
  13426. */
  13427. forIn<TValue>(
  13428. iteratee?: DictionaryIterator<TValue, any>
  13429. ): _.LoDashExplicitObjectWrapper<T>;
  13430. }
  13431. //_.forInRight
  13432. interface LoDashStatic {
  13433. /**
  13434. * This method is like _.forIn except that it iterates over properties of object in the opposite order.
  13435. *
  13436. * @param object The object to iterate over.
  13437. * @param iteratee The function invoked per iteration.
  13438. * @param thisArg The this binding of iteratee.
  13439. * @return Returns object.
  13440. */
  13441. forInRight<T>(
  13442. object: Dictionary<T>,
  13443. iteratee?: DictionaryIterator<T, any>
  13444. ): Dictionary<T>;
  13445. /**
  13446. * @see _.forInRight
  13447. */
  13448. forInRight<T extends {}>(
  13449. object: T,
  13450. iteratee?: ObjectIterator<any, any>
  13451. ): T;
  13452. }
  13453. interface LoDashImplicitObjectWrapper<T> {
  13454. /**
  13455. * @see _.forInRight
  13456. */
  13457. forInRight<TValue>(
  13458. iteratee?: DictionaryIterator<TValue, any>
  13459. ): _.LoDashImplicitObjectWrapper<T>;
  13460. }
  13461. interface LoDashExplicitObjectWrapper<T> {
  13462. /**
  13463. * @see _.forInRight
  13464. */
  13465. forInRight<TValue>(
  13466. iteratee?: DictionaryIterator<TValue, any>
  13467. ): _.LoDashExplicitObjectWrapper<T>;
  13468. }
  13469. //_.forOwn
  13470. interface LoDashStatic {
  13471. /**
  13472. * Iterates over own enumerable properties of an object invoking iteratee for each property. The iteratee is
  13473. * bound to thisArg and invoked with three arguments: (value, key, object). Iteratee functions may exit
  13474. * iteration early by explicitly returning false.
  13475. *
  13476. * @param object The object to iterate over.
  13477. * @param iteratee The function invoked per iteration.
  13478. * @param thisArg The this binding of iteratee.
  13479. * @return Returns object.
  13480. */
  13481. forOwn<T>(
  13482. object: Dictionary<T>,
  13483. iteratee?: DictionaryIterator<T, any>
  13484. ): Dictionary<T>;
  13485. /**
  13486. * @see _.forOwn
  13487. */
  13488. forOwn<T extends {}>(
  13489. object: T,
  13490. iteratee?: ObjectIterator<any, any>
  13491. ): T;
  13492. }
  13493. interface LoDashImplicitObjectWrapper<T> {
  13494. /**
  13495. * @see _.forOwn
  13496. */
  13497. forOwn<TValue>(
  13498. iteratee?: DictionaryIterator<TValue, any>
  13499. ): _.LoDashImplicitObjectWrapper<T>;
  13500. }
  13501. interface LoDashExplicitObjectWrapper<T> {
  13502. /**
  13503. * @see _.forOwn
  13504. */
  13505. forOwn<TValue>(
  13506. iteratee?: DictionaryIterator<TValue, any>
  13507. ): _.LoDashExplicitObjectWrapper<T>;
  13508. }
  13509. //_.forOwnRight
  13510. interface LoDashStatic {
  13511. /**
  13512. * This method is like _.forOwn except that it iterates over properties of object in the opposite order.
  13513. *
  13514. * @param object The object to iterate over.
  13515. * @param iteratee The function invoked per iteration.
  13516. * @param thisArg The this binding of iteratee.
  13517. * @return Returns object.
  13518. */
  13519. forOwnRight<T>(
  13520. object: Dictionary<T>,
  13521. iteratee?: DictionaryIterator<T, any>
  13522. ): Dictionary<T>;
  13523. /**
  13524. * @see _.forOwnRight
  13525. */
  13526. forOwnRight<T extends {}>(
  13527. object: T,
  13528. iteratee?: ObjectIterator<any, any>
  13529. ): T;
  13530. }
  13531. interface LoDashImplicitObjectWrapper<T> {
  13532. /**
  13533. * @see _.forOwnRight
  13534. */
  13535. forOwnRight<TValue>(
  13536. iteratee?: DictionaryIterator<TValue, any>
  13537. ): _.LoDashImplicitObjectWrapper<T>;
  13538. }
  13539. interface LoDashExplicitObjectWrapper<T> {
  13540. /**
  13541. * @see _.forOwnRight
  13542. */
  13543. forOwnRight<TValue>(
  13544. iteratee?: DictionaryIterator<TValue, any>
  13545. ): _.LoDashExplicitObjectWrapper<T>;
  13546. }
  13547. //_.functions
  13548. interface LoDashStatic {
  13549. /**
  13550. * Creates an array of function property names from own enumerable properties
  13551. * of `object`.
  13552. *
  13553. * @static
  13554. * @memberOf _
  13555. * @category Object
  13556. * @param {Object} object The object to inspect.
  13557. * @returns {Array} Returns the new array of property names.
  13558. * @example
  13559. *
  13560. * function Foo() {
  13561. * this.a = _.constant('a');
  13562. * this.b = _.constant('b');
  13563. * }
  13564. *
  13565. * Foo.prototype.c = _.constant('c');
  13566. *
  13567. * _.functions(new Foo);
  13568. * // => ['a', 'b']
  13569. */
  13570. functions<T extends {}>(object: any): string[];
  13571. }
  13572. interface LoDashImplicitObjectWrapper<T> {
  13573. /**
  13574. * @see _.functions
  13575. */
  13576. functions(): _.LoDashImplicitArrayWrapper<string>;
  13577. }
  13578. interface LoDashExplicitObjectWrapper<T> {
  13579. /**
  13580. * @see _.functions
  13581. */
  13582. functions(): _.LoDashExplicitArrayWrapper<string>;
  13583. }
  13584. //_.functionsIn
  13585. interface LoDashStatic {
  13586. /**
  13587. * Creates an array of function property names from own and inherited
  13588. * enumerable properties of `object`.
  13589. *
  13590. * @static
  13591. * @memberOf _
  13592. * @category Object
  13593. * @param {Object} object The object to inspect.
  13594. * @returns {Array} Returns the new array of property names.
  13595. * @example
  13596. *
  13597. * function Foo() {
  13598. * this.a = _.constant('a');
  13599. * this.b = _.constant('b');
  13600. * }
  13601. *
  13602. * Foo.prototype.c = _.constant('c');
  13603. *
  13604. * _.functionsIn(new Foo);
  13605. * // => ['a', 'b', 'c']
  13606. */
  13607. functionsIn<T extends {}>(object: any): string[];
  13608. }
  13609. interface LoDashImplicitObjectWrapper<T> {
  13610. /**
  13611. * @see _.functionsIn
  13612. */
  13613. functionsIn(): _.LoDashImplicitArrayWrapper<string>;
  13614. }
  13615. interface LoDashExplicitObjectWrapper<T> {
  13616. /**
  13617. * @see _.functionsIn
  13618. */
  13619. functionsIn(): _.LoDashExplicitArrayWrapper<string>;
  13620. }
  13621. //_.get
  13622. interface LoDashStatic {
  13623. /**
  13624. * Gets the property value at path of object. If the resolved value is undefined the defaultValue is used
  13625. * in its place.
  13626. *
  13627. * @param object The object to query.
  13628. * @param path The path of the property to get.
  13629. * @param defaultValue The value returned if the resolved value is undefined.
  13630. * @return Returns the resolved value.
  13631. */
  13632. get<TObject, TResult>(
  13633. object: TObject,
  13634. path: StringRepresentable|StringRepresentable[],
  13635. defaultValue?: TResult
  13636. ): TResult;
  13637. /**
  13638. * @see _.get
  13639. */
  13640. get<TResult>(
  13641. object: any,
  13642. path: StringRepresentable|StringRepresentable[],
  13643. defaultValue?: TResult
  13644. ): TResult;
  13645. }
  13646. interface LoDashImplicitWrapper<T> {
  13647. /**
  13648. * @see _.get
  13649. */
  13650. get<TResult>(
  13651. path: StringRepresentable|StringRepresentable[],
  13652. defaultValue?: TResult
  13653. ): TResult;
  13654. }
  13655. interface LoDashImplicitArrayWrapper<T> {
  13656. /**
  13657. * @see _.get
  13658. */
  13659. get<TResult>(
  13660. path: StringRepresentable|StringRepresentable[],
  13661. defaultValue?: TResult
  13662. ): TResult;
  13663. }
  13664. interface LoDashImplicitObjectWrapper<T> {
  13665. /**
  13666. * @see _.get
  13667. */
  13668. get<TResult>(
  13669. path: StringRepresentable|StringRepresentable[],
  13670. defaultValue?: TResult
  13671. ): TResult;
  13672. }
  13673. interface LoDashExplicitWrapper<T> {
  13674. /**
  13675. * @see _.get
  13676. */
  13677. get<TResultWrapper>(
  13678. path: StringRepresentable|StringRepresentable[],
  13679. defaultValue?: any
  13680. ): TResultWrapper;
  13681. }
  13682. interface LoDashExplicitArrayWrapper<T> {
  13683. /**
  13684. * @see _.get
  13685. */
  13686. get<TResultWrapper>(
  13687. path: StringRepresentable|StringRepresentable[],
  13688. defaultValue?: any
  13689. ): TResultWrapper;
  13690. }
  13691. interface LoDashExplicitObjectWrapper<T> {
  13692. /**
  13693. * @see _.get
  13694. */
  13695. get<TResultWrapper>(
  13696. path: StringRepresentable|StringRepresentable[],
  13697. defaultValue?: any
  13698. ): TResultWrapper;
  13699. }
  13700. //_.has
  13701. interface LoDashStatic {
  13702. /**
  13703. * Checks if `path` is a direct property of `object`.
  13704. *
  13705. * @static
  13706. * @memberOf _
  13707. * @category Object
  13708. * @param {Object} object The object to query.
  13709. * @param {Array|string} path The path to check.
  13710. * @returns {boolean} Returns `true` if `path` exists, else `false`.
  13711. * @example
  13712. *
  13713. * var object = { 'a': { 'b': { 'c': 3 } } };
  13714. * var other = _.create({ 'a': _.create({ 'b': _.create({ 'c': 3 }) }) });
  13715. *
  13716. * _.has(object, 'a');
  13717. * // => true
  13718. *
  13719. * _.has(object, 'a.b.c');
  13720. * // => true
  13721. *
  13722. * _.has(object, ['a', 'b', 'c']);
  13723. * // => true
  13724. *
  13725. * _.has(other, 'a');
  13726. * // => false
  13727. */
  13728. has<T extends {}>(
  13729. object: T,
  13730. path: StringRepresentable|StringRepresentable[]
  13731. ): boolean;
  13732. }
  13733. interface LoDashImplicitObjectWrapper<T> {
  13734. /**
  13735. * @see _.has
  13736. */
  13737. has(path: StringRepresentable|StringRepresentable[]): boolean;
  13738. }
  13739. interface LoDashExplicitObjectWrapper<T> {
  13740. /**
  13741. * @see _.has
  13742. */
  13743. has(path: StringRepresentable|StringRepresentable[]): LoDashExplicitWrapper<boolean>;
  13744. }
  13745. //_.hasIn
  13746. interface LoDashStatic {
  13747. /**
  13748. * Checks if `path` is a direct or inherited property of `object`.
  13749. *
  13750. * @static
  13751. * @memberOf _
  13752. * @category Object
  13753. * @param {Object} object The object to query.
  13754. * @param {Array|string} path The path to check.
  13755. * @returns {boolean} Returns `true` if `path` exists, else `false`.
  13756. * @example
  13757. *
  13758. * var object = _.create({ 'a': _.create({ 'b': _.create({ 'c': 3 }) }) });
  13759. *
  13760. * _.hasIn(object, 'a');
  13761. * // => true
  13762. *
  13763. * _.hasIn(object, 'a.b.c');
  13764. * // => true
  13765. *
  13766. * _.hasIn(object, ['a', 'b', 'c']);
  13767. * // => true
  13768. *
  13769. * _.hasIn(object, 'b');
  13770. * // => false
  13771. */
  13772. hasIn<T extends {}>(
  13773. object: T,
  13774. path: StringRepresentable|StringRepresentable[]
  13775. ): boolean;
  13776. }
  13777. interface LoDashImplicitObjectWrapper<T> {
  13778. /**
  13779. * @see _.hasIn
  13780. */
  13781. hasIn(path: StringRepresentable|StringRepresentable[]): boolean;
  13782. }
  13783. interface LoDashExplicitObjectWrapper<T> {
  13784. /**
  13785. * @see _.hasIn
  13786. */
  13787. hasIn(path: StringRepresentable|StringRepresentable[]): LoDashExplicitWrapper<boolean>;
  13788. }
  13789. //_.invert
  13790. interface LoDashStatic {
  13791. /**
  13792. * Creates an object composed of the inverted keys and values of object. If object contains duplicate values,
  13793. * subsequent values overwrite property assignments of previous values unless multiValue is true.
  13794. *
  13795. * @param object The object to invert.
  13796. * @param multiValue Allow multiple values per key.
  13797. * @return Returns the new inverted object.
  13798. */
  13799. invert<T extends {}, TResult extends {}>(
  13800. object: T,
  13801. multiValue?: boolean
  13802. ): TResult;
  13803. /**
  13804. * @see _.invert
  13805. */
  13806. invert<TResult extends {}>(
  13807. object: Object,
  13808. multiValue?: boolean
  13809. ): TResult;
  13810. }
  13811. interface LoDashImplicitObjectWrapper<T> {
  13812. /**
  13813. * @see _.invert
  13814. */
  13815. invert<TResult extends {}>(multiValue?: boolean): LoDashImplicitObjectWrapper<TResult>;
  13816. }
  13817. interface LoDashExplicitObjectWrapper<T> {
  13818. /**
  13819. * @see _.invert
  13820. */
  13821. invert<TResult extends {}>(multiValue?: boolean): LoDashExplicitObjectWrapper<TResult>;
  13822. }
  13823. //_.inverBy
  13824. interface InvertByIterator<T> {
  13825. (value: T): any;
  13826. }
  13827. interface LoDashStatic {
  13828. /**
  13829. * This method is like _.invert except that the inverted object is generated from the results of running each
  13830. * element of object through iteratee. The corresponding inverted value of each inverted key is an array of
  13831. * keys responsible for generating the inverted value. The iteratee is invoked with one argument: (value).
  13832. *
  13833. * @param object The object to invert.
  13834. * @param interatee The iteratee invoked per element.
  13835. * @return Returns the new inverted object.
  13836. */
  13837. invertBy(
  13838. object: Object,
  13839. interatee?: InvertByIterator<any>|string
  13840. ): Dictionary<string[]>;
  13841. /**
  13842. * @see _.invertBy
  13843. */
  13844. invertBy<T>(
  13845. object: _.Dictionary<T>|_.NumericDictionary<T>,
  13846. interatee?: InvertByIterator<T>|string
  13847. ): Dictionary<string[]>;
  13848. /**
  13849. * @see _.invertBy
  13850. */
  13851. invertBy<W>(
  13852. object: Object,
  13853. interatee?: W
  13854. ): Dictionary<string[]>;
  13855. /**
  13856. * @see _.invertBy
  13857. */
  13858. invertBy<T, W>(
  13859. object: _.Dictionary<T>,
  13860. interatee?: W
  13861. ): Dictionary<string[]>;
  13862. }
  13863. interface LoDashImplicitWrapper<T> {
  13864. /**
  13865. * @see _.invertBy
  13866. */
  13867. invertBy(
  13868. interatee?: InvertByIterator<any>
  13869. ): LoDashImplicitObjectWrapper<Dictionary<string[]>>;
  13870. }
  13871. interface LoDashImplicitArrayWrapper<T> {
  13872. /**
  13873. * @see _.invertBy
  13874. */
  13875. invertBy(
  13876. interatee?: InvertByIterator<T>|string
  13877. ): LoDashImplicitObjectWrapper<Dictionary<string[]>>;
  13878. /**
  13879. * @see _.invertBy
  13880. */
  13881. invertBy<W>(
  13882. interatee?: W
  13883. ): LoDashImplicitObjectWrapper<Dictionary<string[]>>;
  13884. }
  13885. interface LoDashImplicitObjectWrapper<T> {
  13886. /**
  13887. * @see _.invertBy
  13888. */
  13889. invertBy(
  13890. interatee?: InvertByIterator<any>|string
  13891. ): LoDashImplicitObjectWrapper<Dictionary<string[]>>;
  13892. /**
  13893. * @see _.invertBy
  13894. */
  13895. invertBy<W>(
  13896. interatee?: W
  13897. ): LoDashImplicitObjectWrapper<Dictionary<string[]>>;
  13898. }
  13899. interface LoDashExplicitWrapper<T> {
  13900. /**
  13901. * @see _.invertBy
  13902. */
  13903. invertBy(
  13904. interatee?: InvertByIterator<any>
  13905. ): LoDashExplicitObjectWrapper<Dictionary<string[]>>;
  13906. }
  13907. interface LoDashExplicitArrayWrapper<T> {
  13908. /**
  13909. * @see _.invertBy
  13910. */
  13911. invertBy(
  13912. interatee?: InvertByIterator<T>|string
  13913. ): LoDashExplicitObjectWrapper<Dictionary<string[]>>;
  13914. /**
  13915. * @see _.invertBy
  13916. */
  13917. invertBy<W>(
  13918. interatee?: W
  13919. ): LoDashExplicitObjectWrapper<Dictionary<string[]>>;
  13920. }
  13921. interface LoDashExplicitObjectWrapper<T> {
  13922. /**
  13923. * @see _.invertBy
  13924. */
  13925. invertBy(
  13926. interatee?: InvertByIterator<any>|string
  13927. ): LoDashExplicitObjectWrapper<Dictionary<string[]>>;
  13928. /**
  13929. * @see _.invertBy
  13930. */
  13931. invertBy<W>(
  13932. interatee?: W
  13933. ): LoDashExplicitObjectWrapper<Dictionary<string[]>>;
  13934. }
  13935. //_.keys
  13936. interface LoDashStatic {
  13937. /**
  13938. * Creates an array of the own enumerable property names of object.
  13939. *
  13940. * Note: Non-object values are coerced to objects. See the ES spec for more details.
  13941. *
  13942. * @param object The object to query.
  13943. * @return Returns the array of property names.
  13944. */
  13945. keys(object?: any): string[];
  13946. }
  13947. interface LoDashImplicitObjectWrapper<T> {
  13948. /**
  13949. * @see _.keys
  13950. */
  13951. keys(): LoDashImplicitArrayWrapper<string>;
  13952. }
  13953. interface LoDashExplicitObjectWrapper<T> {
  13954. /**
  13955. * @see _.keys
  13956. */
  13957. keys(): LoDashExplicitArrayWrapper<string>;
  13958. }
  13959. //_.keysIn
  13960. interface LoDashStatic {
  13961. /**
  13962. * Creates an array of the own and inherited enumerable property names of object.
  13963. *
  13964. * Note: Non-object values are coerced to objects.
  13965. *
  13966. * @param object The object to query.
  13967. * @return An array of property names.
  13968. */
  13969. keysIn(object?: any): string[];
  13970. }
  13971. interface LoDashImplicitObjectWrapper<T> {
  13972. /**
  13973. * @see _.keysIn
  13974. */
  13975. keysIn(): LoDashImplicitArrayWrapper<string>;
  13976. }
  13977. interface LoDashExplicitObjectWrapper<T> {
  13978. /**
  13979. * @see _.keysIn
  13980. */
  13981. keysIn(): LoDashExplicitArrayWrapper<string>;
  13982. }
  13983. //_.mapKeys
  13984. interface LoDashStatic {
  13985. /**
  13986. * The opposite of _.mapValues; this method creates an object with the same values as object and keys generated
  13987. * by running each own enumerable property of object through iteratee.
  13988. *
  13989. * @param object The object to iterate over.
  13990. * @param iteratee The function invoked per iteration.
  13991. * @param thisArg The this binding of iteratee.
  13992. * @return Returns the new mapped object.
  13993. */
  13994. mapKeys<T, TKey>(
  13995. object: List<T>,
  13996. iteratee?: ListIterator<T, TKey>
  13997. ): Dictionary<T>;
  13998. /**
  13999. * @see _.mapKeys
  14000. */
  14001. mapKeys<T, TKey>(
  14002. object: Dictionary<T>,
  14003. iteratee?: DictionaryIterator<T, TKey>
  14004. ): Dictionary<T>;
  14005. /**
  14006. * @see _.mapKeys
  14007. */
  14008. mapKeys<T, TObject extends {}>(
  14009. object: List<T>|Dictionary<T>,
  14010. iteratee?: TObject
  14011. ): Dictionary<T>;
  14012. /**
  14013. * @see _.mapKeys
  14014. */
  14015. mapKeys<T>(
  14016. object: List<T>|Dictionary<T>,
  14017. iteratee?: string
  14018. ): Dictionary<T>;
  14019. }
  14020. interface LoDashImplicitArrayWrapper<T> {
  14021. /**
  14022. * @see _.mapKeys
  14023. */
  14024. mapKeys<TKey>(
  14025. iteratee?: ListIterator<T, TKey>
  14026. ): LoDashImplicitObjectWrapper<Dictionary<T>>;
  14027. /**
  14028. * @see _.mapKeys
  14029. */
  14030. mapKeys<TObject extends {}>(
  14031. iteratee?: TObject
  14032. ): LoDashImplicitObjectWrapper<Dictionary<T>>;
  14033. /**
  14034. * @see _.mapKeys
  14035. */
  14036. mapKeys(
  14037. iteratee?: string
  14038. ): LoDashImplicitObjectWrapper<Dictionary<T>>;
  14039. }
  14040. interface LoDashImplicitObjectWrapper<T> {
  14041. /**
  14042. * @see _.mapKeys
  14043. */
  14044. mapKeys<TResult, TKey>(
  14045. iteratee?: ListIterator<TResult, TKey>|DictionaryIterator<TResult, TKey>
  14046. ): LoDashImplicitObjectWrapper<Dictionary<TResult>>;
  14047. /**
  14048. * @see _.mapKeys
  14049. */
  14050. mapKeys<TResult, TObject extends {}>(
  14051. iteratee?: TObject
  14052. ): LoDashImplicitObjectWrapper<Dictionary<TResult>>;
  14053. /**
  14054. * @see _.mapKeys
  14055. */
  14056. mapKeys<TResult>(
  14057. iteratee?: string
  14058. ): LoDashImplicitObjectWrapper<Dictionary<TResult>>;
  14059. }
  14060. interface LoDashExplicitArrayWrapper<T> {
  14061. /**
  14062. * @see _.mapKeys
  14063. */
  14064. mapKeys<TKey>(
  14065. iteratee?: ListIterator<T, TKey>
  14066. ): LoDashExplicitObjectWrapper<Dictionary<T>>;
  14067. /**
  14068. * @see _.mapKeys
  14069. */
  14070. mapKeys<TObject extends {}>(
  14071. iteratee?: TObject
  14072. ): LoDashExplicitObjectWrapper<Dictionary<T>>;
  14073. /**
  14074. * @see _.mapKeys
  14075. */
  14076. mapKeys(
  14077. iteratee?: string
  14078. ): LoDashExplicitObjectWrapper<Dictionary<T>>;
  14079. }
  14080. interface LoDashExplicitObjectWrapper<T> {
  14081. /**
  14082. * @see _.mapKeys
  14083. */
  14084. mapKeys<TResult, TKey>(
  14085. iteratee?: ListIterator<TResult, TKey>|DictionaryIterator<TResult, TKey>
  14086. ): LoDashExplicitObjectWrapper<Dictionary<TResult>>;
  14087. /**
  14088. * @see _.mapKeys
  14089. */
  14090. mapKeys<TResult, TObject extends {}>(
  14091. iteratee?: TObject
  14092. ): LoDashExplicitObjectWrapper<Dictionary<TResult>>;
  14093. /**
  14094. * @see _.mapKeys
  14095. */
  14096. mapKeys<TResult>(
  14097. iteratee?: string
  14098. ): LoDashExplicitObjectWrapper<Dictionary<TResult>>;
  14099. }
  14100. //_.mapValues
  14101. interface LoDashStatic {
  14102. /**
  14103. * Creates an object with the same keys as object and values generated by running each own
  14104. * enumerable property of object through iteratee. The iteratee function is bound to thisArg
  14105. * and invoked with three arguments: (value, key, object).
  14106. *
  14107. * If a property name is provided iteratee the created "_.property" style callback returns
  14108. * the property value of the given element.
  14109. *
  14110. * If a value is also provided for thisArg the creted "_.matchesProperty" style callback returns
  14111. * true for elements that have a matching property value, else false;.
  14112. *
  14113. * If an object is provided for iteratee the created "_.matches" style callback returns true
  14114. * for elements that have the properties of the given object, else false.
  14115. *
  14116. * @param {Object} object The object to iterate over.
  14117. * @param {Function|Object|string} [iteratee=_.identity] The function invoked per iteration.
  14118. * @param {Object} [thisArg] The `this` binding of `iteratee`.
  14119. * @return {Object} Returns the new mapped object.
  14120. */
  14121. mapValues<T, TResult>(obj: Dictionary<T>, callback: ObjectIterator<T, TResult>): Dictionary<TResult>;
  14122. mapValues<T>(obj: Dictionary<T>, where: Dictionary<T>): Dictionary<boolean>;
  14123. mapValues<T, TMapped>(obj: T, pluck: string): TMapped;
  14124. mapValues<T>(obj: T, callback: ObjectIterator<any, any>): T;
  14125. }
  14126. interface LoDashImplicitObjectWrapper<T> {
  14127. /**
  14128. * @see _.mapValues
  14129. * TValue is the type of the property values of T.
  14130. * TResult is the type output by the ObjectIterator function
  14131. */
  14132. mapValues<TValue, TResult>(callback: ObjectIterator<TValue, TResult>): LoDashImplicitObjectWrapper<Dictionary<TResult>>;
  14133. /**
  14134. * @see _.mapValues
  14135. * TResult is the type of the property specified by pluck.
  14136. * T should be a Dictionary<Dictionary<TResult>>
  14137. */
  14138. mapValues<TResult>(pluck: string): LoDashImplicitObjectWrapper<Dictionary<TResult>>;
  14139. /**
  14140. * @see _.mapValues
  14141. * TResult is the type of the properties of each object in the values of T
  14142. * T should be a Dictionary<Dictionary<TResult>>
  14143. */
  14144. mapValues<TResult>(where: Dictionary<TResult>): LoDashImplicitArrayWrapper<boolean>;
  14145. }
  14146. interface LoDashExplicitObjectWrapper<T> {
  14147. /**
  14148. * @see _.mapValues
  14149. * TValue is the type of the property values of T.
  14150. * TResult is the type output by the ObjectIterator function
  14151. */
  14152. mapValues<TValue, TResult>(callback: ObjectIterator<TValue, TResult>): LoDashExplicitObjectWrapper<Dictionary<TResult>>;
  14153. /**
  14154. * @see _.mapValues
  14155. * TResult is the type of the property specified by pluck.
  14156. * T should be a Dictionary<Dictionary<TResult>>
  14157. */
  14158. mapValues<TResult>(pluck: string): LoDashExplicitObjectWrapper<Dictionary<TResult>>;
  14159. /**
  14160. * @see _.mapValues
  14161. * TResult is the type of the properties of each object in the values of T
  14162. * T should be a Dictionary<Dictionary<TResult>>
  14163. */
  14164. mapValues<TResult>(where: Dictionary<TResult>): LoDashExplicitObjectWrapper<boolean>;
  14165. }
  14166. //_.merge
  14167. interface LoDashStatic {
  14168. /**
  14169. * Recursively merges own and inherited enumerable properties of source
  14170. * objects into the destination object, skipping source properties that resolve
  14171. * to `undefined`. Array and plain object properties are merged recursively.
  14172. * Other objects and value types are overridden by assignment. Source objects
  14173. * are applied from left to right. Subsequent sources overwrite property
  14174. * assignments of previous sources.
  14175. *
  14176. * **Note:** This method mutates `object`.
  14177. *
  14178. * @static
  14179. * @memberOf _
  14180. * @category Object
  14181. * @param {Object} object The destination object.
  14182. * @param {...Object} [sources] The source objects.
  14183. * @returns {Object} Returns `object`.
  14184. * @example
  14185. *
  14186. * var users = {
  14187. * 'data': [{ 'user': 'barney' }, { 'user': 'fred' }]
  14188. * };
  14189. *
  14190. * var ages = {
  14191. * 'data': [{ 'age': 36 }, { 'age': 40 }]
  14192. * };
  14193. *
  14194. * _.merge(users, ages);
  14195. * // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] }
  14196. */
  14197. merge<TObject, TSource>(
  14198. object: TObject,
  14199. source: TSource
  14200. ): TObject & TSource;
  14201. /**
  14202. * @see _.merge
  14203. */
  14204. merge<TObject, TSource1, TSource2>(
  14205. object: TObject,
  14206. source1: TSource1,
  14207. source2: TSource2
  14208. ): TObject & TSource1 & TSource2;
  14209. /**
  14210. * @see _.merge
  14211. */
  14212. merge<TObject, TSource1, TSource2, TSource3>(
  14213. object: TObject,
  14214. source1: TSource1,
  14215. source2: TSource2,
  14216. source3: TSource3
  14217. ): TObject & TSource1 & TSource2 & TSource3;
  14218. /**
  14219. * @see _.merge
  14220. */
  14221. merge<TObject, TSource1, TSource2, TSource3, TSource4>(
  14222. object: TObject,
  14223. source1: TSource1,
  14224. source2: TSource2,
  14225. source3: TSource3,
  14226. source4: TSource4
  14227. ): TObject & TSource1 & TSource2 & TSource3 & TSource4;
  14228. /**
  14229. * @see _.merge
  14230. */
  14231. merge<TResult>(
  14232. object: any,
  14233. ...otherArgs: any[]
  14234. ): TResult;
  14235. }
  14236. interface LoDashImplicitObjectWrapper<T> {
  14237. /**
  14238. * @see _.merge
  14239. */
  14240. merge<TSource>(
  14241. source: TSource
  14242. ): LoDashImplicitObjectWrapper<T & TSource>;
  14243. /**
  14244. * @see _.merge
  14245. */
  14246. merge<TSource1, TSource2>(
  14247. source1: TSource1,
  14248. source2: TSource2
  14249. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2>;
  14250. /**
  14251. * @see _.merge
  14252. */
  14253. merge<TSource1, TSource2, TSource3>(
  14254. source1: TSource1,
  14255. source2: TSource2,
  14256. source3: TSource3
  14257. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2 & TSource3>;
  14258. /**
  14259. * @see _.merge
  14260. */
  14261. merge<TSource1, TSource2, TSource3, TSource4>(
  14262. source1: TSource1,
  14263. source2: TSource2,
  14264. source3: TSource3,
  14265. source4: TSource4
  14266. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2 & TSource3 & TSource4>;
  14267. /**
  14268. * @see _.merge
  14269. */
  14270. merge<TResult>(
  14271. ...otherArgs: any[]
  14272. ): LoDashImplicitObjectWrapper<TResult>;
  14273. }
  14274. interface LoDashExplicitObjectWrapper<T> {
  14275. /**
  14276. * @see _.merge
  14277. */
  14278. merge<TSource>(
  14279. source: TSource
  14280. ): LoDashExplicitObjectWrapper<T & TSource>;
  14281. /**
  14282. * @see _.merge
  14283. */
  14284. merge<TSource1, TSource2>(
  14285. source1: TSource1,
  14286. source2: TSource2
  14287. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2>;
  14288. /**
  14289. * @see _.merge
  14290. */
  14291. merge<TSource1, TSource2, TSource3>(
  14292. source1: TSource1,
  14293. source2: TSource2,
  14294. source3: TSource3
  14295. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2 & TSource3>;
  14296. /**
  14297. * @see _.merge
  14298. */
  14299. merge<TSource1, TSource2, TSource3, TSource4>(
  14300. ): LoDashExplicitObjectWrapper<T & TSource1 & TSource2 & TSource3 & TSource4>;
  14301. /**
  14302. * @see _.merge
  14303. */
  14304. merge<TResult>(
  14305. ...otherArgs: any[]
  14306. ): LoDashExplicitObjectWrapper<TResult>;
  14307. }
  14308. //_.mergeWith
  14309. interface MergeWithCustomizer {
  14310. (value: any, srcValue: any, key?: string, object?: Object, source?: Object): any;
  14311. }
  14312. interface LoDashStatic {
  14313. /**
  14314. * This method is like `_.merge` except that it accepts `customizer` which
  14315. * is invoked to produce the merged values of the destination and source
  14316. * properties. If `customizer` returns `undefined` merging is handled by the
  14317. * method instead. The `customizer` is invoked with seven arguments:
  14318. * (objValue, srcValue, key, object, source, stack).
  14319. *
  14320. * @static
  14321. * @memberOf _
  14322. * @category Object
  14323. * @param {Object} object The destination object.
  14324. * @param {...Object} sources The source objects.
  14325. * @param {Function} customizer The function to customize assigned values.
  14326. * @returns {Object} Returns `object`.
  14327. * @example
  14328. *
  14329. * function customizer(objValue, srcValue) {
  14330. * if (_.isArray(objValue)) {
  14331. * return objValue.concat(srcValue);
  14332. * }
  14333. * }
  14334. *
  14335. * var object = {
  14336. * 'fruits': ['apple'],
  14337. * 'vegetables': ['beet']
  14338. * };
  14339. *
  14340. * var other = {
  14341. * 'fruits': ['banana'],
  14342. * 'vegetables': ['carrot']
  14343. * };
  14344. *
  14345. * _.merge(object, other, customizer);
  14346. * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot'] }
  14347. */
  14348. mergeWith<TObject, TSource>(
  14349. object: TObject,
  14350. source: TSource,
  14351. customizer: MergeWithCustomizer
  14352. ): TObject & TSource;
  14353. /**
  14354. * @see _.mergeWith
  14355. */
  14356. mergeWith<TObject, TSource1, TSource2>(
  14357. object: TObject,
  14358. source1: TSource1,
  14359. source2: TSource2,
  14360. customizer: MergeWithCustomizer
  14361. ): TObject & TSource1 & TSource2;
  14362. /**
  14363. * @see _.mergeWith
  14364. */
  14365. mergeWith<TObject, TSource1, TSource2, TSource3>(
  14366. object: TObject,
  14367. source1: TSource1,
  14368. source2: TSource2,
  14369. source3: TSource3,
  14370. customizer: MergeWithCustomizer
  14371. ): TObject & TSource1 & TSource2 & TSource3;
  14372. /**
  14373. * @see _.mergeWith
  14374. */
  14375. mergeWith<TObject, TSource1, TSource2, TSource3, TSource4>(
  14376. object: TObject,
  14377. source1: TSource1,
  14378. source2: TSource2,
  14379. source3: TSource3,
  14380. source4: TSource4,
  14381. customizer: MergeWithCustomizer
  14382. ): TObject & TSource1 & TSource2 & TSource3 & TSource4;
  14383. /**
  14384. * @see _.mergeWith
  14385. */
  14386. mergeWith<TResult>(
  14387. object: any,
  14388. ...otherArgs: any[]
  14389. ): TResult;
  14390. }
  14391. interface LoDashImplicitObjectWrapper<T> {
  14392. /**
  14393. * @see _.mergeWith
  14394. */
  14395. mergeWith<TSource>(
  14396. source: TSource,
  14397. customizer: MergeWithCustomizer
  14398. ): LoDashImplicitObjectWrapper<T & TSource>;
  14399. /**
  14400. * @see _.mergeWith
  14401. */
  14402. mergeWith<TSource1, TSource2>(
  14403. source1: TSource1,
  14404. source2: TSource2,
  14405. customizer: MergeWithCustomizer
  14406. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2>;
  14407. /**
  14408. * @see _.mergeWith
  14409. */
  14410. mergeWith<TSource1, TSource2, TSource3>(
  14411. source1: TSource1,
  14412. source2: TSource2,
  14413. source3: TSource3,
  14414. customizer: MergeWithCustomizer
  14415. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2 & TSource3>;
  14416. /**
  14417. * @see _.mergeWith
  14418. */
  14419. mergeWith<TSource1, TSource2, TSource3, TSource4>(
  14420. source1: TSource1,
  14421. source2: TSource2,
  14422. source3: TSource3,
  14423. source4: TSource4,
  14424. customizer: MergeWithCustomizer
  14425. ): LoDashImplicitObjectWrapper<T & TSource1 & TSource2 & TSource3 & TSource4>;
  14426. /**
  14427. * @see _.mergeWith
  14428. */
  14429. mergeWith<TResult>(
  14430. ...otherArgs: any[]
  14431. ): LoDashImplicitObjectWrapper<TResult>;
  14432. }
  14433. //_.omit
  14434. interface LoDashStatic {
  14435. /**
  14436. * The opposite of `_.pick`; this method creates an object composed of the
  14437. * own and inherited enumerable properties of `object` that are not omitted.
  14438. *
  14439. * @static
  14440. * @memberOf _
  14441. * @category Object
  14442. * @param {Object} object The source object.
  14443. * @param {...(string|string[])} [props] The property names to omit, specified
  14444. * individually or in arrays..
  14445. * @returns {Object} Returns the new object.
  14446. * @example
  14447. *
  14448. * var object = { 'a': 1, 'b': '2', 'c': 3 };
  14449. *
  14450. * _.omit(object, ['a', 'c']);
  14451. * // => { 'b': '2' }
  14452. */
  14453. omit<TResult extends {}, T extends {}>(
  14454. object: T,
  14455. ...predicate: (StringRepresentable|StringRepresentable[])[]
  14456. ): TResult;
  14457. }
  14458. interface LoDashImplicitObjectWrapper<T> {
  14459. /**
  14460. * @see _.omit
  14461. */
  14462. omit<TResult extends {}>(
  14463. ...predicate: (StringRepresentable|StringRepresentable[])[]
  14464. ): LoDashImplicitObjectWrapper<TResult>;
  14465. }
  14466. interface LoDashExplicitObjectWrapper<T> {
  14467. /**
  14468. * @see _.omit
  14469. */
  14470. omit<TResult extends {}>(
  14471. ...predicate: (StringRepresentable|StringRepresentable[])[]
  14472. ): LoDashExplicitObjectWrapper<TResult>;
  14473. }
  14474. //_.omitBy
  14475. interface LoDashStatic {
  14476. /**
  14477. * The opposite of `_.pickBy`; this method creates an object composed of the
  14478. * own and inherited enumerable properties of `object` that `predicate`
  14479. * doesn't return truthy for.
  14480. *
  14481. * @static
  14482. * @memberOf _
  14483. * @category Object
  14484. * @param {Object} object The source object.
  14485. * @param {Function|Object|string} [predicate=_.identity] The function invoked per property.
  14486. * @returns {Object} Returns the new object.
  14487. * @example
  14488. *
  14489. * var object = { 'a': 1, 'b': '2', 'c': 3 };
  14490. *
  14491. * _.omitBy(object, _.isNumber);
  14492. * // => { 'b': '2' }
  14493. */
  14494. omitBy<TResult extends {}, T extends {}>(
  14495. object: T,
  14496. predicate: ObjectIterator<any, boolean>
  14497. ): TResult;
  14498. }
  14499. interface LoDashImplicitObjectWrapper<T> {
  14500. /**
  14501. * @see _.omitBy
  14502. */
  14503. omitBy<TResult extends {}>(
  14504. predicate: ObjectIterator<any, boolean>
  14505. ): LoDashImplicitObjectWrapper<TResult>;
  14506. }
  14507. interface LoDashExplicitObjectWrapper<T> {
  14508. /**
  14509. * @see _.omitBy
  14510. */
  14511. omitBy<TResult extends {}>(
  14512. predicate: ObjectIterator<any, boolean>
  14513. ): LoDashExplicitObjectWrapper<TResult>;
  14514. }
  14515. //_.pick
  14516. interface LoDashStatic {
  14517. /**
  14518. * Creates an object composed of the picked `object` properties.
  14519. *
  14520. * @static
  14521. * @memberOf _
  14522. * @category Object
  14523. * @param {Object} object The source object.
  14524. * @param {...(string|string[])} [props] The property names to pick, specified
  14525. * individually or in arrays.
  14526. * @returns {Object} Returns the new object.
  14527. * @example
  14528. *
  14529. * var object = { 'a': 1, 'b': '2', 'c': 3 };
  14530. *
  14531. * _.pick(object, ['a', 'c']);
  14532. * // => { 'a': 1, 'c': 3 }
  14533. */
  14534. pick<TResult extends {}, T extends {}>(
  14535. object: T,
  14536. ...predicate: (StringRepresentable|StringRepresentable[])[]
  14537. ): TResult;
  14538. }
  14539. interface LoDashImplicitObjectWrapper<T> {
  14540. /**
  14541. * @see _.pick
  14542. */
  14543. pick<TResult extends {}>(
  14544. ...predicate: (StringRepresentable|StringRepresentable[])[]
  14545. ): LoDashImplicitObjectWrapper<TResult>;
  14546. }
  14547. interface LoDashExplicitObjectWrapper<T> {
  14548. /**
  14549. * @see _.pick
  14550. */
  14551. pick<TResult extends {}>(
  14552. ...predicate: (StringRepresentable|StringRepresentable[])[]
  14553. ): LoDashExplicitObjectWrapper<TResult>;
  14554. }
  14555. //_.pickBy
  14556. interface LoDashStatic {
  14557. /**
  14558. * Creates an object composed of the `object` properties `predicate` returns
  14559. * truthy for. The predicate is invoked with one argument: (value).
  14560. *
  14561. * @static
  14562. * @memberOf _
  14563. * @category Object
  14564. * @param {Object} object The source object.
  14565. * @param {Function|Object|string} [predicate=_.identity] The function invoked per property.
  14566. * @returns {Object} Returns the new object.
  14567. * @example
  14568. *
  14569. * var object = { 'a': 1, 'b': '2', 'c': 3 };
  14570. *
  14571. * _.pickBy(object, _.isNumber);
  14572. * // => { 'a': 1, 'c': 3 }
  14573. */
  14574. pickBy<TResult extends {}, T extends {}>(
  14575. object: T,
  14576. predicate?: ObjectIterator<any, boolean>
  14577. ): TResult;
  14578. }
  14579. interface LoDashImplicitObjectWrapper<T> {
  14580. /**
  14581. * @see _.pickBy
  14582. */
  14583. pickBy<TResult extends {}>(
  14584. predicate?: ObjectIterator<any, boolean>
  14585. ): LoDashImplicitObjectWrapper<TResult>;
  14586. }
  14587. interface LoDashExplicitObjectWrapper<T> {
  14588. /**
  14589. * @see _.pickBy
  14590. */
  14591. pickBy<TResult extends {}>(
  14592. predicate?: ObjectIterator<any, boolean>
  14593. ): LoDashExplicitObjectWrapper<TResult>;
  14594. }
  14595. //_.result
  14596. interface LoDashStatic {
  14597. /**
  14598. * This method is like _.get except that if the resolved value is a function it’s invoked with the this binding
  14599. * of its parent object and its result is returned.
  14600. *
  14601. * @param object The object to query.
  14602. * @param path The path of the property to resolve.
  14603. * @param defaultValue The value returned if the resolved value is undefined.
  14604. * @return Returns the resolved value.
  14605. */
  14606. result<TObject, TResult>(
  14607. object: TObject,
  14608. path: StringRepresentable|StringRepresentable[],
  14609. defaultValue?: TResult|((...args: any[]) => TResult)
  14610. ): TResult;
  14611. /**
  14612. * @see _.result
  14613. */
  14614. result<TResult>(
  14615. object: any,
  14616. path: StringRepresentable|StringRepresentable[],
  14617. defaultValue?: TResult|((...args: any[]) => TResult)
  14618. ): TResult;
  14619. }
  14620. interface LoDashImplicitWrapper<T> {
  14621. /**
  14622. * @see _.result
  14623. */
  14624. result<TResult>(
  14625. path: StringRepresentable|StringRepresentable[],
  14626. defaultValue?: TResult|((...args: any[]) => TResult)
  14627. ): TResult;
  14628. }
  14629. interface LoDashImplicitArrayWrapper<T> {
  14630. /**
  14631. * @see _.result
  14632. */
  14633. result<TResult>(
  14634. path: StringRepresentable|StringRepresentable[],
  14635. defaultValue?: TResult|((...args: any[]) => TResult)
  14636. ): TResult;
  14637. }
  14638. interface LoDashImplicitObjectWrapper<T> {
  14639. /**
  14640. * @see _.result
  14641. */
  14642. result<TResult>(
  14643. path: StringRepresentable|StringRepresentable[],
  14644. defaultValue?: TResult|((...args: any[]) => TResult)
  14645. ): TResult;
  14646. }
  14647. interface LoDashExplicitWrapper<T> {
  14648. /**
  14649. * @see _.result
  14650. */
  14651. result<TResultWrapper>(
  14652. path: StringRepresentable|StringRepresentable[],
  14653. defaultValue?: any
  14654. ): TResultWrapper;
  14655. }
  14656. interface LoDashExplicitArrayWrapper<T> {
  14657. /**
  14658. * @see _.result
  14659. */
  14660. result<TResultWrapper>(
  14661. path: StringRepresentable|StringRepresentable[],
  14662. defaultValue?: any
  14663. ): TResultWrapper;
  14664. }
  14665. interface LoDashExplicitObjectWrapper<T> {
  14666. /**
  14667. * @see _.result
  14668. */
  14669. result<TResultWrapper>(
  14670. path: StringRepresentable|StringRepresentable[],
  14671. defaultValue?: any
  14672. ): TResultWrapper;
  14673. }
  14674. //_.set
  14675. interface LoDashStatic {
  14676. /**
  14677. * Sets the value at path of object. If a portion of path doesn’t exist it’s created. Arrays are created for
  14678. * missing index properties while objects are created for all other missing properties. Use _.setWith to
  14679. * customize path creation.
  14680. *
  14681. * @param object The object to modify.
  14682. * @param path The path of the property to set.
  14683. * @param value The value to set.
  14684. * @return Returns object.
  14685. */
  14686. set<TResult>(
  14687. object: Object,
  14688. path: StringRepresentable|StringRepresentable[],
  14689. value: any
  14690. ): TResult;
  14691. /**
  14692. * @see _.set
  14693. */
  14694. set<V, TResult>(
  14695. object: Object,
  14696. path: StringRepresentable|StringRepresentable[],
  14697. value: V
  14698. ): TResult;
  14699. /**
  14700. * @see _.set
  14701. */
  14702. set<O, V, TResult>(
  14703. object: O,
  14704. path: StringRepresentable|StringRepresentable[],
  14705. value: V
  14706. ): TResult;
  14707. }
  14708. interface LoDashImplicitObjectWrapper<T> {
  14709. /**
  14710. * @see _.set
  14711. */
  14712. set<TResult>(
  14713. path: StringRepresentable|StringRepresentable[],
  14714. value: any
  14715. ): LoDashImplicitObjectWrapper<TResult>;
  14716. /**
  14717. * @see _.set
  14718. */
  14719. set<V, TResult>(
  14720. path: StringRepresentable|StringRepresentable[],
  14721. value: V
  14722. ): LoDashImplicitObjectWrapper<TResult>;
  14723. }
  14724. interface LoDashExplicitObjectWrapper<T> {
  14725. /**
  14726. * @see _.set
  14727. */
  14728. set<TResult>(
  14729. path: StringRepresentable|StringRepresentable[],
  14730. value: any
  14731. ): LoDashExplicitObjectWrapper<TResult>;
  14732. /**
  14733. * @see _.set
  14734. */
  14735. set<V, TResult>(
  14736. path: StringRepresentable|StringRepresentable[],
  14737. value: V
  14738. ): LoDashExplicitObjectWrapper<TResult>;
  14739. }
  14740. //_.setWith
  14741. interface SetWithCustomizer<T> {
  14742. (nsValue: any, key: string, nsObject: T): any;
  14743. }
  14744. interface LoDashStatic {
  14745. /**
  14746. * This method is like _.set except that it accepts customizer which is invoked to produce the objects of
  14747. * path. If customizer returns undefined path creation is handled by the method instead. The customizer is
  14748. * invoked with three arguments: (nsValue, key, nsObject).
  14749. *
  14750. * @param object The object to modify.
  14751. * @param path The path of the property to set.
  14752. * @param value The value to set.
  14753. * @parem customizer The function to customize assigned values.
  14754. * @return Returns object.
  14755. */
  14756. setWith<TResult>(
  14757. object: Object,
  14758. path: StringRepresentable|StringRepresentable[],
  14759. value: any,
  14760. customizer?: SetWithCustomizer<Object>
  14761. ): TResult;
  14762. /**
  14763. * @see _.setWith
  14764. */
  14765. setWith<V, TResult>(
  14766. object: Object,
  14767. path: StringRepresentable|StringRepresentable[],
  14768. value: V,
  14769. customizer?: SetWithCustomizer<Object>
  14770. ): TResult;
  14771. /**
  14772. * @see _.setWith
  14773. */
  14774. setWith<O, V, TResult>(
  14775. object: O,
  14776. path: StringRepresentable|StringRepresentable[],
  14777. value: V,
  14778. customizer?: SetWithCustomizer<O>
  14779. ): TResult;
  14780. }
  14781. interface LoDashImplicitObjectWrapper<T> {
  14782. /**
  14783. * @see _.setWith
  14784. */
  14785. setWith<TResult>(
  14786. path: StringRepresentable|StringRepresentable[],
  14787. value: any,
  14788. customizer?: SetWithCustomizer<T>
  14789. ): LoDashImplicitObjectWrapper<TResult>;
  14790. /**
  14791. * @see _.setWith
  14792. */
  14793. setWith<V, TResult>(
  14794. path: StringRepresentable|StringRepresentable[],
  14795. value: V,
  14796. customizer?: SetWithCustomizer<T>
  14797. ): LoDashImplicitObjectWrapper<TResult>;
  14798. }
  14799. interface LoDashExplicitObjectWrapper<T> {
  14800. /**
  14801. * @see _.setWith
  14802. */
  14803. setWith<TResult>(
  14804. path: StringRepresentable|StringRepresentable[],
  14805. value: any,
  14806. customizer?: SetWithCustomizer<T>
  14807. ): LoDashExplicitObjectWrapper<TResult>;
  14808. /**
  14809. * @see _.setWith
  14810. */
  14811. setWith<V, TResult>(
  14812. path: StringRepresentable|StringRepresentable[],
  14813. value: V,
  14814. customizer?: SetWithCustomizer<T>
  14815. ): LoDashExplicitObjectWrapper<TResult>;
  14816. }
  14817. //_.toPairs
  14818. interface LoDashStatic {
  14819. /**
  14820. * Creates an array of own enumerable key-value pairs for object.
  14821. *
  14822. * @param object The object to query.
  14823. * @return Returns the new array of key-value pairs.
  14824. */
  14825. toPairs<T extends {}>(object?: T): any[][];
  14826. toPairs<T extends {}, TResult>(object?: T): TResult[][];
  14827. }
  14828. interface LoDashImplicitObjectWrapper<T> {
  14829. /**
  14830. * @see _.toPairs
  14831. */
  14832. toPairs<TResult>(): LoDashImplicitArrayWrapper<TResult[]>;
  14833. }
  14834. interface LoDashExplicitObjectWrapper<T> {
  14835. /**
  14836. * @see _.toPairs
  14837. */
  14838. toPairs<TResult>(): LoDashExplicitArrayWrapper<TResult[]>;
  14839. }
  14840. //_.toPairsIn
  14841. interface LoDashStatic {
  14842. /**
  14843. * Creates an array of own and inherited enumerable key-value pairs for object.
  14844. *
  14845. * @param object The object to query.
  14846. * @return Returns the new array of key-value pairs.
  14847. */
  14848. toPairsIn<T extends {}>(object?: T): any[][];
  14849. toPairsIn<T extends {}, TResult>(object?: T): TResult[][];
  14850. }
  14851. interface LoDashImplicitObjectWrapper<T> {
  14852. /**
  14853. * @see _.toPairsIn
  14854. */
  14855. toPairsIn<TResult>(): LoDashImplicitArrayWrapper<TResult[]>;
  14856. }
  14857. interface LoDashExplicitObjectWrapper<T> {
  14858. /**
  14859. * @see _.toPairsIn
  14860. */
  14861. toPairsIn<TResult>(): LoDashExplicitArrayWrapper<TResult[]>;
  14862. }
  14863. //_.transform
  14864. interface LoDashStatic {
  14865. /**
  14866. * An alternative to _.reduce; this method transforms object to a new accumulator object which is the result of
  14867. * running each of its own enumerable properties through iteratee, with each invocation potentially mutating
  14868. * the accumulator object. The iteratee is bound to thisArg and invoked with four arguments: (accumulator,
  14869. * value, key, object). Iteratee functions may exit iteration early by explicitly returning false.
  14870. *
  14871. * @param object The object to iterate over.
  14872. * @param iteratee The function invoked per iteration.
  14873. * @param accumulator The custom accumulator value.
  14874. * @param thisArg The this binding of iteratee.
  14875. * @return Returns the accumulated value.
  14876. */
  14877. transform<T, TResult>(
  14878. object: T[],
  14879. iteratee?: MemoVoidArrayIterator<T, TResult[]>,
  14880. accumulator?: TResult[]
  14881. ): TResult[];
  14882. /**
  14883. * @see _.transform
  14884. */
  14885. transform<T, TResult>(
  14886. object: T[],
  14887. iteratee?: MemoVoidArrayIterator<T, Dictionary<TResult>>,
  14888. accumulator?: Dictionary<TResult>
  14889. ): Dictionary<TResult>;
  14890. /**
  14891. * @see _.transform
  14892. */
  14893. transform<T, TResult>(
  14894. object: Dictionary<T>,
  14895. iteratee?: MemoVoidDictionaryIterator<T, Dictionary<TResult>>,
  14896. accumulator?: Dictionary<TResult>
  14897. ): Dictionary<TResult>;
  14898. /**
  14899. * @see _.transform
  14900. */
  14901. transform<T, TResult>(
  14902. object: Dictionary<T>,
  14903. iteratee?: MemoVoidDictionaryIterator<T, TResult[]>,
  14904. accumulator?: TResult[]
  14905. ): TResult[];
  14906. }
  14907. interface LoDashImplicitArrayWrapper<T> {
  14908. /**
  14909. * @see _.transform
  14910. */
  14911. transform<TResult>(
  14912. iteratee?: MemoVoidArrayIterator<T, TResult[]>,
  14913. accumulator?: TResult[]
  14914. ): LoDashImplicitArrayWrapper<TResult>;
  14915. /**
  14916. * @see _.transform
  14917. */
  14918. transform<TResult>(
  14919. iteratee?: MemoVoidArrayIterator<T, Dictionary<TResult>>,
  14920. accumulator?: Dictionary<TResult>
  14921. ): LoDashImplicitObjectWrapper<Dictionary<TResult>>;
  14922. }
  14923. interface LoDashImplicitObjectWrapper<T> {
  14924. /**
  14925. * @see _.transform
  14926. */
  14927. transform<T, TResult>(
  14928. iteratee?: MemoVoidDictionaryIterator<T, Dictionary<TResult>>,
  14929. accumulator?: Dictionary<TResult>
  14930. ): LoDashImplicitObjectWrapper<Dictionary<TResult>>;
  14931. /**
  14932. * @see _.transform
  14933. */
  14934. transform<T, TResult>(
  14935. iteratee?: MemoVoidDictionaryIterator<T, TResult[]>,
  14936. accumulator?: TResult[]
  14937. ): LoDashImplicitArrayWrapper<TResult>;
  14938. }
  14939. //_.unset
  14940. interface LoDashStatic {
  14941. /**
  14942. * Removes the property at path of object.
  14943. *
  14944. * Note: This method mutates object.
  14945. *
  14946. * @param object The object to modify.
  14947. * @param path The path of the property to unset.
  14948. * @return Returns true if the property is deleted, else false.
  14949. */
  14950. unset<T>(
  14951. object: T,
  14952. path: StringRepresentable|StringRepresentable[]
  14953. ): boolean;
  14954. }
  14955. interface LoDashImplicitObjectWrapper<T> {
  14956. /**
  14957. * @see _.unset
  14958. */
  14959. unset(path: StringRepresentable|StringRepresentable[]): LoDashImplicitWrapper<boolean>;
  14960. }
  14961. interface LoDashExplicitObjectWrapper<T> {
  14962. /**
  14963. * @see _.unset
  14964. */
  14965. unset(path: StringRepresentable|StringRepresentable[]): LoDashExplicitWrapper<boolean>;
  14966. }
  14967. //_.update
  14968. interface LoDashStatic {
  14969. /**
  14970. * This method is like _.set except that accepts updater to produce the value to set. Use _.updateWith to
  14971. * customize path creation. The updater is invoked with one argument: (value).
  14972. *
  14973. * @param object The object to modify.
  14974. * @param path The path of the property to set.
  14975. * @param updater The function to produce the updated value.
  14976. * @return Returns object.
  14977. */
  14978. update<TResult>(
  14979. object: Object,
  14980. path: StringRepresentable|StringRepresentable[],
  14981. updater: Function
  14982. ): TResult;
  14983. /**
  14984. * @see _.update
  14985. */
  14986. update<U extends Function, TResult>(
  14987. object: Object,
  14988. path: StringRepresentable|StringRepresentable[],
  14989. updater: U
  14990. ): TResult;
  14991. /**
  14992. * @see _.update
  14993. */
  14994. update<O extends {}, TResult>(
  14995. object: O,
  14996. path: StringRepresentable|StringRepresentable[],
  14997. updater: Function
  14998. ): TResult;
  14999. /**
  15000. * @see _.update
  15001. */
  15002. update<O, U extends Function, TResult>(
  15003. object: O,
  15004. path: StringRepresentable|StringRepresentable[],
  15005. updater: U
  15006. ): TResult;
  15007. }
  15008. interface LoDashImplicitObjectWrapper<T> {
  15009. /**
  15010. * @see _.update
  15011. */
  15012. update<TResult>(
  15013. path: StringRepresentable|StringRepresentable[],
  15014. updater: any
  15015. ): LoDashImplicitObjectWrapper<TResult>;
  15016. /**
  15017. * @see _.update
  15018. */
  15019. update<U extends Function, TResult>(
  15020. path: StringRepresentable|StringRepresentable[],
  15021. updater: U
  15022. ): LoDashImplicitObjectWrapper<TResult>;
  15023. }
  15024. interface LoDashExplicitObjectWrapper<T> {
  15025. /**
  15026. * @see _.update
  15027. */
  15028. update<TResult>(
  15029. path: StringRepresentable|StringRepresentable[],
  15030. updater: any
  15031. ): LoDashExplicitObjectWrapper<TResult>;
  15032. /**
  15033. * @see _.update
  15034. */
  15035. update<U extends Function, TResult>(
  15036. path: StringRepresentable|StringRepresentable[],
  15037. updater: U
  15038. ): LoDashExplicitObjectWrapper<TResult>;
  15039. }
  15040. //_.values
  15041. interface LoDashStatic {
  15042. /**
  15043. * Creates an array of the own enumerable property values of object.
  15044. *
  15045. * @param object The object to query.
  15046. * @return Returns an array of property values.
  15047. */
  15048. values<T>(object?: Dictionary<T>): T[];
  15049. /**
  15050. * @see _.values
  15051. */
  15052. values<T>(object?: any): T[];
  15053. }
  15054. interface LoDashImplicitObjectWrapper<T> {
  15055. /**
  15056. * @see _.values
  15057. */
  15058. values<T>(): LoDashImplicitArrayWrapper<T>;
  15059. }
  15060. interface LoDashExplicitObjectWrapper<T> {
  15061. /**
  15062. * @see _.values
  15063. */
  15064. values<T>(): LoDashExplicitArrayWrapper<T>;
  15065. }
  15066. //_.valuesIn
  15067. interface LoDashStatic {
  15068. /**
  15069. * Creates an array of the own and inherited enumerable property values of object.
  15070. *
  15071. * @param object The object to query.
  15072. * @return Returns the array of property values.
  15073. */
  15074. valuesIn<T>(object?: Dictionary<T>): T[];
  15075. /**
  15076. * @see _.valuesIn
  15077. */
  15078. valuesIn<T>(object?: any): T[];
  15079. }
  15080. interface LoDashImplicitObjectWrapper<T> {
  15081. /**
  15082. * @see _.valuesIn
  15083. */
  15084. valuesIn<T>(): LoDashImplicitArrayWrapper<T>;
  15085. }
  15086. interface LoDashExplicitObjectWrapper<T> {
  15087. /**
  15088. * @see _.valuesIn
  15089. */
  15090. valuesIn<T>(): LoDashExplicitArrayWrapper<T>;
  15091. }
  15092. /**********
  15093. * String *
  15094. **********/
  15095. //_.camelCase
  15096. interface LoDashStatic {
  15097. /**
  15098. * Converts string to camel case.
  15099. *
  15100. * @param string The string to convert.
  15101. * @return Returns the camel cased string.
  15102. */
  15103. camelCase(string?: string): string;
  15104. }
  15105. interface LoDashImplicitWrapper<T> {
  15106. /**
  15107. * @see _.camelCase
  15108. */
  15109. camelCase(): string;
  15110. }
  15111. interface LoDashExplicitWrapper<T> {
  15112. /**
  15113. * @see _.camelCase
  15114. */
  15115. camelCase(): LoDashExplicitWrapper<string>;
  15116. }
  15117. //_.capitalize
  15118. interface LoDashStatic {
  15119. /**
  15120. * Converts the first character of string to upper case and the remaining to lower case.
  15121. *
  15122. * @param string The string to capitalize.
  15123. * @return Returns the capitalized string.
  15124. */
  15125. capitalize(string?: string): string;
  15126. }
  15127. interface LoDashImplicitWrapper<T> {
  15128. /**
  15129. * @see _.capitalize
  15130. */
  15131. capitalize(): string;
  15132. }
  15133. interface LoDashExplicitWrapper<T> {
  15134. /**
  15135. * @see _.capitalize
  15136. */
  15137. capitalize(): LoDashExplicitWrapper<string>;
  15138. }
  15139. //_.deburr
  15140. interface LoDashStatic {
  15141. /**
  15142. * Deburrs string by converting latin-1 supplementary letters to basic latin letters and removing combining
  15143. * diacritical marks.
  15144. *
  15145. * @param string The string to deburr.
  15146. * @return Returns the deburred string.
  15147. */
  15148. deburr(string?: string): string;
  15149. }
  15150. interface LoDashImplicitWrapper<T> {
  15151. /**
  15152. * @see _.deburr
  15153. */
  15154. deburr(): string;
  15155. }
  15156. interface LoDashExplicitWrapper<T> {
  15157. /**
  15158. * @see _.deburr
  15159. */
  15160. deburr(): LoDashExplicitWrapper<string>;
  15161. }
  15162. //_.endsWith
  15163. interface LoDashStatic {
  15164. /**
  15165. * Checks if string ends with the given target string.
  15166. *
  15167. * @param string The string to search.
  15168. * @param target The string to search for.
  15169. * @param position The position to search from.
  15170. * @return Returns true if string ends with target, else false.
  15171. */
  15172. endsWith(
  15173. string?: string,
  15174. target?: string,
  15175. position?: number
  15176. ): boolean;
  15177. }
  15178. interface LoDashImplicitWrapper<T> {
  15179. /**
  15180. * @see _.endsWith
  15181. */
  15182. endsWith(
  15183. target?: string,
  15184. position?: number
  15185. ): boolean;
  15186. }
  15187. interface LoDashExplicitWrapper<T> {
  15188. /**
  15189. * @see _.endsWith
  15190. */
  15191. endsWith(
  15192. target?: string,
  15193. position?: number
  15194. ): LoDashExplicitWrapper<boolean>;
  15195. }
  15196. // _.escape
  15197. interface LoDashStatic {
  15198. /**
  15199. * Converts the characters "&", "<", ">", '"', "'", and "`" in string to their corresponding HTML entities.
  15200. *
  15201. * Note: No other characters are escaped. To escape additional characters use a third-party library like he.
  15202. *
  15203. * hough the ">" character is escaped for symmetry, characters like ">" and "/" don’t need escaping in HTML
  15204. * and have no special meaning unless they're part of a tag or unquoted attribute value. See Mathias Bynens’s
  15205. * article (under "semi-related fun fact") for more details.
  15206. *
  15207. * Backticks are escaped because in IE < 9, they can break out of attribute values or HTML comments. See #59,
  15208. * #102, #108, and #133 of the HTML5 Security Cheatsheet for more details.
  15209. *
  15210. * When working with HTML you should always quote attribute values to reduce XSS vectors.
  15211. *
  15212. * @param string The string to escape.
  15213. * @return Returns the escaped string.
  15214. */
  15215. escape(string?: string): string;
  15216. }
  15217. interface LoDashImplicitWrapper<T> {
  15218. /**
  15219. * @see _.escape
  15220. */
  15221. escape(): string;
  15222. }
  15223. interface LoDashExplicitWrapper<T> {
  15224. /**
  15225. * @see _.escape
  15226. */
  15227. escape(): LoDashExplicitWrapper<string>;
  15228. }
  15229. // _.escapeRegExp
  15230. interface LoDashStatic {
  15231. /**
  15232. * Escapes the RegExp special characters "^", "$", "\", ".", "*", "+", "?", "(", ")", "[", "]",
  15233. * "{", "}", and "|" in string.
  15234. *
  15235. * @param string The string to escape.
  15236. * @return Returns the escaped string.
  15237. */
  15238. escapeRegExp(string?: string): string;
  15239. }
  15240. interface LoDashImplicitWrapper<T> {
  15241. /**
  15242. * @see _.escapeRegExp
  15243. */
  15244. escapeRegExp(): string;
  15245. }
  15246. interface LoDashExplicitWrapper<T> {
  15247. /**
  15248. * @see _.escapeRegExp
  15249. */
  15250. escapeRegExp(): LoDashExplicitWrapper<string>;
  15251. }
  15252. //_.kebabCase
  15253. interface LoDashStatic {
  15254. /**
  15255. * Converts string to kebab case.
  15256. *
  15257. * @param string The string to convert.
  15258. * @return Returns the kebab cased string.
  15259. */
  15260. kebabCase(string?: string): string;
  15261. }
  15262. interface LoDashImplicitWrapper<T> {
  15263. /**
  15264. * @see _.kebabCase
  15265. */
  15266. kebabCase(): string;
  15267. }
  15268. interface LoDashExplicitWrapper<T> {
  15269. /**
  15270. * @see _.kebabCase
  15271. */
  15272. kebabCase(): LoDashExplicitWrapper<string>;
  15273. }
  15274. //_.lowerCase
  15275. interface LoDashStatic {
  15276. /**
  15277. * Converts `string`, as space separated words, to lower case.
  15278. *
  15279. * @param string The string to convert.
  15280. * @return Returns the lower cased string.
  15281. */
  15282. lowerCase(string?: string): string;
  15283. }
  15284. interface LoDashImplicitWrapper<T> {
  15285. /**
  15286. * @see _.lowerCase
  15287. */
  15288. lowerCase(): string;
  15289. }
  15290. interface LoDashExplicitWrapper<T> {
  15291. /**
  15292. * @see _.lowerCase
  15293. */
  15294. lowerCase(): LoDashExplicitWrapper<string>;
  15295. }
  15296. //_.lowerFirst
  15297. interface LoDashStatic {
  15298. /**
  15299. * Converts the first character of `string` to lower case.
  15300. *
  15301. * @param string The string to convert.
  15302. * @return Returns the converted string.
  15303. */
  15304. lowerFirst(string?: string): string;
  15305. }
  15306. interface LoDashImplicitWrapper<T> {
  15307. /**
  15308. * @see _.lowerFirst
  15309. */
  15310. lowerFirst(): string;
  15311. }
  15312. interface LoDashExplicitWrapper<T> {
  15313. /**
  15314. * @see _.lowerFirst
  15315. */
  15316. lowerFirst(): LoDashExplicitWrapper<string>;
  15317. }
  15318. //_.pad
  15319. interface LoDashStatic {
  15320. /**
  15321. * Pads string on the left and right sides if it’s shorter than length. Padding characters are truncated if
  15322. * they can’t be evenly divided by length.
  15323. *
  15324. * @param string The string to pad.
  15325. * @param length The padding length.
  15326. * @param chars The string used as padding.
  15327. * @return Returns the padded string.
  15328. */
  15329. pad(
  15330. string?: string,
  15331. length?: number,
  15332. chars?: string
  15333. ): string;
  15334. }
  15335. interface LoDashImplicitWrapper<T> {
  15336. /**
  15337. * @see _.pad
  15338. */
  15339. pad(
  15340. length?: number,
  15341. chars?: string
  15342. ): string;
  15343. }
  15344. interface LoDashExplicitWrapper<T> {
  15345. /**
  15346. * @see _.pad
  15347. */
  15348. pad(
  15349. length?: number,
  15350. chars?: string
  15351. ): LoDashExplicitWrapper<string>;
  15352. }
  15353. //_.padEnd
  15354. interface LoDashStatic {
  15355. /**
  15356. * Pads string on the right side if it’s shorter than length. Padding characters are truncated if they exceed
  15357. * length.
  15358. *
  15359. * @param string The string to pad.
  15360. * @param length The padding length.
  15361. * @param chars The string used as padding.
  15362. * @return Returns the padded string.
  15363. */
  15364. padEnd(
  15365. string?: string,
  15366. length?: number,
  15367. chars?: string
  15368. ): string;
  15369. }
  15370. interface LoDashImplicitWrapper<T> {
  15371. /**
  15372. * @see _.padEnd
  15373. */
  15374. padEnd(
  15375. length?: number,
  15376. chars?: string
  15377. ): string;
  15378. }
  15379. interface LoDashExplicitWrapper<T> {
  15380. /**
  15381. * @see _.padEnd
  15382. */
  15383. padEnd(
  15384. length?: number,
  15385. chars?: string
  15386. ): LoDashExplicitWrapper<string>;
  15387. }
  15388. //_.padStart
  15389. interface LoDashStatic {
  15390. /**
  15391. * Pads string on the left side if it’s shorter than length. Padding characters are truncated if they exceed
  15392. * length.
  15393. *
  15394. * @param string The string to pad.
  15395. * @param length The padding length.
  15396. * @param chars The string used as padding.
  15397. * @return Returns the padded string.
  15398. */
  15399. padStart(
  15400. string?: string,
  15401. length?: number,
  15402. chars?: string
  15403. ): string;
  15404. }
  15405. interface LoDashImplicitWrapper<T> {
  15406. /**
  15407. * @see _.padStart
  15408. */
  15409. padStart(
  15410. length?: number,
  15411. chars?: string
  15412. ): string;
  15413. }
  15414. interface LoDashExplicitWrapper<T> {
  15415. /**
  15416. * @see _.padStart
  15417. */
  15418. padStart(
  15419. length?: number,
  15420. chars?: string
  15421. ): LoDashExplicitWrapper<string>;
  15422. }
  15423. //_.parseInt
  15424. interface LoDashStatic {
  15425. /**
  15426. * Converts string to an integer of the specified radix. If radix is undefined or 0, a radix of 10 is used
  15427. * unless value is a hexadecimal, in which case a radix of 16 is used.
  15428. *
  15429. * Note: This method aligns with the ES5 implementation of parseInt.
  15430. *
  15431. * @param string The string to convert.
  15432. * @param radix The radix to interpret value by.
  15433. * @return Returns the converted integer.
  15434. */
  15435. parseInt(
  15436. string: string,
  15437. radix?: number
  15438. ): number;
  15439. }
  15440. interface LoDashImplicitWrapper<T> {
  15441. /**
  15442. * @see _.parseInt
  15443. */
  15444. parseInt(radix?: number): number;
  15445. }
  15446. interface LoDashExplicitWrapper<T> {
  15447. /**
  15448. * @see _.parseInt
  15449. */
  15450. parseInt(radix?: number): LoDashExplicitWrapper<number>;
  15451. }
  15452. //_.repeat
  15453. interface LoDashStatic {
  15454. /**
  15455. * Repeats the given string n times.
  15456. *
  15457. * @param string The string to repeat.
  15458. * @param n The number of times to repeat the string.
  15459. * @return Returns the repeated string.
  15460. */
  15461. repeat(
  15462. string?: string,
  15463. n?: number
  15464. ): string;
  15465. }
  15466. interface LoDashImplicitWrapper<T> {
  15467. /**
  15468. * @see _.repeat
  15469. */
  15470. repeat(n?: number): string;
  15471. }
  15472. interface LoDashExplicitWrapper<T> {
  15473. /**
  15474. * @see _.repeat
  15475. */
  15476. repeat(n?: number): LoDashExplicitWrapper<string>;
  15477. }
  15478. //_.replace
  15479. interface LoDashStatic {
  15480. /**
  15481. * Replaces matches for pattern in string with replacement.
  15482. *
  15483. * Note: This method is based on String#replace.
  15484. *
  15485. * @param string
  15486. * @param pattern
  15487. * @param replacement
  15488. * @return Returns the modified string.
  15489. */
  15490. replace(
  15491. string: string,
  15492. pattern: RegExp|string,
  15493. replacement: Function|string
  15494. ): string;
  15495. /**
  15496. * @see _.replace
  15497. */
  15498. replace(
  15499. pattern?: RegExp|string,
  15500. replacement?: Function|string
  15501. ): string;
  15502. }
  15503. interface LoDashImplicitWrapper<T> {
  15504. /**
  15505. * @see _.replace
  15506. */
  15507. replace(
  15508. pattern?: RegExp|string,
  15509. replacement?: Function|string
  15510. ): string;
  15511. /**
  15512. * @see _.replace
  15513. */
  15514. replace(
  15515. replacement?: Function|string
  15516. ): string;
  15517. }
  15518. interface LoDashImplicitObjectWrapper<T> {
  15519. /**
  15520. * @see _.replace
  15521. */
  15522. replace(
  15523. pattern?: RegExp|string,
  15524. replacement?: Function|string
  15525. ): string;
  15526. /**
  15527. * @see _.replace
  15528. */
  15529. replace(
  15530. replacement?: Function|string
  15531. ): string;
  15532. }
  15533. interface LoDashExplicitWrapper<T> {
  15534. /**
  15535. * @see _.replace
  15536. */
  15537. replace(
  15538. pattern?: RegExp|string,
  15539. replacement?: Function|string
  15540. ): LoDashExplicitWrapper<string>;
  15541. /**
  15542. * @see _.replace
  15543. */
  15544. replace(
  15545. replacement?: Function|string
  15546. ): LoDashExplicitWrapper<string>;
  15547. }
  15548. interface LoDashExplicitObjectWrapper<T> {
  15549. /**
  15550. * @see _.replace
  15551. */
  15552. replace(
  15553. pattern?: RegExp|string,
  15554. replacement?: Function|string
  15555. ): LoDashExplicitWrapper<string>;
  15556. /**
  15557. * @see _.replace
  15558. */
  15559. replace(
  15560. replacement?: Function|string
  15561. ): LoDashExplicitWrapper<string>;
  15562. }
  15563. //_.snakeCase
  15564. interface LoDashStatic {
  15565. /**
  15566. * Converts string to snake case.
  15567. *
  15568. * @param string The string to convert.
  15569. * @return Returns the snake cased string.
  15570. */
  15571. snakeCase(string?: string): string;
  15572. }
  15573. interface LoDashImplicitWrapper<T> {
  15574. /**
  15575. * @see _.snakeCase
  15576. */
  15577. snakeCase(): string;
  15578. }
  15579. interface LoDashExplicitWrapper<T> {
  15580. /**
  15581. * @see _.snakeCase
  15582. */
  15583. snakeCase(): LoDashExplicitWrapper<string>;
  15584. }
  15585. //_.split
  15586. interface LoDashStatic {
  15587. /**
  15588. * Splits string by separator.
  15589. *
  15590. * Note: This method is based on String#split.
  15591. *
  15592. * @param string
  15593. * @param separator
  15594. * @param limit
  15595. * @return Returns the new array of string segments.
  15596. */
  15597. split(
  15598. string: string,
  15599. separator?: RegExp|string,
  15600. limit?: number
  15601. ): string[];
  15602. }
  15603. interface LoDashImplicitWrapper<T> {
  15604. /**
  15605. * @see _.split
  15606. */
  15607. split(
  15608. separator?: RegExp|string,
  15609. limit?: number
  15610. ): LoDashImplicitArrayWrapper<string>;
  15611. }
  15612. interface LoDashExplicitWrapper<T> {
  15613. /**
  15614. * @see _.split
  15615. */
  15616. split(
  15617. separator?: RegExp|string,
  15618. limit?: number
  15619. ): LoDashExplicitArrayWrapper<string>;
  15620. }
  15621. //_.startCase
  15622. interface LoDashStatic {
  15623. /**
  15624. * Converts string to start case.
  15625. *
  15626. * @param string The string to convert.
  15627. * @return Returns the start cased string.
  15628. */
  15629. startCase(string?: string): string;
  15630. }
  15631. interface LoDashImplicitWrapper<T> {
  15632. /**
  15633. * @see _.startCase
  15634. */
  15635. startCase(): string;
  15636. }
  15637. interface LoDashExplicitWrapper<T> {
  15638. /**
  15639. * @see _.startCase
  15640. */
  15641. startCase(): LoDashExplicitWrapper<string>;
  15642. }
  15643. //_.startsWith
  15644. interface LoDashStatic {
  15645. /**
  15646. * Checks if string starts with the given target string.
  15647. *
  15648. * @param string The string to search.
  15649. * @param target The string to search for.
  15650. * @param position The position to search from.
  15651. * @return Returns true if string starts with target, else false.
  15652. */
  15653. startsWith(
  15654. string?: string,
  15655. target?: string,
  15656. position?: number
  15657. ): boolean;
  15658. }
  15659. interface LoDashImplicitWrapper<T> {
  15660. /**
  15661. * @see _.startsWith
  15662. */
  15663. startsWith(
  15664. target?: string,
  15665. position?: number
  15666. ): boolean;
  15667. }
  15668. interface LoDashExplicitWrapper<T> {
  15669. /**
  15670. * @see _.startsWith
  15671. */
  15672. startsWith(
  15673. target?: string,
  15674. position?: number
  15675. ): LoDashExplicitWrapper<boolean>;
  15676. }
  15677. //_.template
  15678. interface TemplateOptions extends TemplateSettings {
  15679. /**
  15680. * The sourceURL of the template's compiled source.
  15681. */
  15682. sourceURL?: string;
  15683. }
  15684. interface TemplateExecutor {
  15685. (data?: Object): string;
  15686. source: string;
  15687. }
  15688. interface LoDashStatic {
  15689. /**
  15690. * Creates a compiled template function that can interpolate data properties in "interpolate" delimiters,
  15691. * HTML-escape interpolated data properties in "escape" delimiters, and execute JavaScript in "evaluate"
  15692. * delimiters. Data properties may be accessed as free variables in the template. If a setting object is
  15693. * provided it takes precedence over _.templateSettings values.
  15694. *
  15695. * Note: In the development build _.template utilizes
  15696. * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) for easier
  15697. * debugging.
  15698. *
  15699. * For more information on precompiling templates see
  15700. * [lodash's custom builds documentation](https://lodash.com/custom-builds).
  15701. *
  15702. * For more information on Chrome extension sandboxes see
  15703. * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).
  15704. *
  15705. * @param string The template string.
  15706. * @param options The options object.
  15707. * @param options.escape The HTML "escape" delimiter.
  15708. * @param options.evaluate The "evaluate" delimiter.
  15709. * @param options.imports An object to import into the template as free variables.
  15710. * @param options.interpolate The "interpolate" delimiter.
  15711. * @param options.sourceURL The sourceURL of the template's compiled source.
  15712. * @param options.variable The data object variable name.
  15713. * @return Returns the compiled template function.
  15714. */
  15715. template(
  15716. string: string,
  15717. options?: TemplateOptions
  15718. ): TemplateExecutor;
  15719. }
  15720. interface LoDashImplicitWrapper<T> {
  15721. /**
  15722. * @see _.template
  15723. */
  15724. template(options?: TemplateOptions): TemplateExecutor;
  15725. }
  15726. interface LoDashExplicitWrapper<T> {
  15727. /**
  15728. * @see _.template
  15729. */
  15730. template(options?: TemplateOptions): LoDashExplicitObjectWrapper<TemplateExecutor>;
  15731. }
  15732. //_.toLower
  15733. interface LoDashStatic {
  15734. /**
  15735. * Converts `string`, as a whole, to lower case.
  15736. *
  15737. * @param string The string to convert.
  15738. * @return Returns the lower cased string.
  15739. */
  15740. toLower(string?: string): string;
  15741. }
  15742. interface LoDashImplicitWrapper<T> {
  15743. /**
  15744. * @see _.toLower
  15745. */
  15746. toLower(): string;
  15747. }
  15748. interface LoDashExplicitWrapper<T> {
  15749. /**
  15750. * @see _.toLower
  15751. */
  15752. toLower(): LoDashExplicitWrapper<string>;
  15753. }
  15754. //_.toUpper
  15755. interface LoDashStatic {
  15756. /**
  15757. * Converts `string`, as a whole, to upper case.
  15758. *
  15759. * @param string The string to convert.
  15760. * @return Returns the upper cased string.
  15761. */
  15762. toUpper(string?: string): string;
  15763. }
  15764. interface LoDashImplicitWrapper<T> {
  15765. /**
  15766. * @see _.toUpper
  15767. */
  15768. toUpper(): string;
  15769. }
  15770. interface LoDashExplicitWrapper<T> {
  15771. /**
  15772. * @see _.toUpper
  15773. */
  15774. toUpper(): LoDashExplicitWrapper<string>;
  15775. }
  15776. //_.trim
  15777. interface LoDashStatic {
  15778. /**
  15779. * Removes leading and trailing whitespace or specified characters from string.
  15780. *
  15781. * @param string The string to trim.
  15782. * @param chars The characters to trim.
  15783. * @return Returns the trimmed string.
  15784. */
  15785. trim(
  15786. string?: string,
  15787. chars?: string
  15788. ): string;
  15789. }
  15790. interface LoDashImplicitWrapper<T> {
  15791. /**
  15792. * @see _.trim
  15793. */
  15794. trim(chars?: string): string;
  15795. }
  15796. interface LoDashExplicitWrapper<T> {
  15797. /**
  15798. * @see _.trim
  15799. */
  15800. trim(chars?: string): LoDashExplicitWrapper<string>;
  15801. }
  15802. //_.trimEnd
  15803. interface LoDashStatic {
  15804. /**
  15805. * Removes trailing whitespace or specified characters from string.
  15806. *
  15807. * @param string The string to trim.
  15808. * @param chars The characters to trim.
  15809. * @return Returns the trimmed string.
  15810. */
  15811. trimEnd(
  15812. string?: string,
  15813. chars?: string
  15814. ): string;
  15815. }
  15816. interface LoDashImplicitWrapper<T> {
  15817. /**
  15818. * @see _.trimEnd
  15819. */
  15820. trimEnd(chars?: string): string;
  15821. }
  15822. interface LoDashExplicitWrapper<T> {
  15823. /**
  15824. * @see _.trimEnd
  15825. */
  15826. trimEnd(chars?: string): LoDashExplicitWrapper<string>;
  15827. }
  15828. //_.trimStart
  15829. interface LoDashStatic {
  15830. /**
  15831. * Removes leading whitespace or specified characters from string.
  15832. *
  15833. * @param string The string to trim.
  15834. * @param chars The characters to trim.
  15835. * @return Returns the trimmed string.
  15836. */
  15837. trimStart(
  15838. string?: string,
  15839. chars?: string
  15840. ): string;
  15841. }
  15842. interface LoDashImplicitWrapper<T> {
  15843. /**
  15844. * @see _.trimStart
  15845. */
  15846. trimStart(chars?: string): string;
  15847. }
  15848. interface LoDashExplicitWrapper<T> {
  15849. /**
  15850. * @see _.trimStart
  15851. */
  15852. trimStart(chars?: string): LoDashExplicitWrapper<string>;
  15853. }
  15854. //_.truncate
  15855. interface TruncateOptions {
  15856. /** The maximum string length. */
  15857. length?: number;
  15858. /** The string to indicate text is omitted. */
  15859. omission?: string;
  15860. /** The separator pattern to truncate to. */
  15861. separator?: string|RegExp;
  15862. }
  15863. interface LoDashStatic {
  15864. /**
  15865. * Truncates string if it’s longer than the given maximum string length. The last characters of the truncated
  15866. * string are replaced with the omission string which defaults to "…".
  15867. *
  15868. * @param string The string to truncate.
  15869. * @param options The options object or maximum string length.
  15870. * @return Returns the truncated string.
  15871. */
  15872. truncate(
  15873. string?: string,
  15874. options?: TruncateOptions
  15875. ): string;
  15876. }
  15877. interface LoDashImplicitWrapper<T> {
  15878. /**
  15879. * @see _.truncate
  15880. */
  15881. truncate(options?: TruncateOptions): string;
  15882. }
  15883. interface LoDashExplicitWrapper<T> {
  15884. /**
  15885. * @see _.truncate
  15886. */
  15887. truncate(options?: TruncateOptions): LoDashExplicitWrapper<string>;
  15888. }
  15889. //_.unescape
  15890. interface LoDashStatic {
  15891. /**
  15892. * The inverse of _.escape; this method converts the HTML entities &amp;, &lt;, &gt;, &quot;, &#39;, and &#96;
  15893. * in string to their corresponding characters.
  15894. *
  15895. * Note: No other HTML entities are unescaped. To unescape additional HTML entities use a third-party library
  15896. * like he.
  15897. *
  15898. * @param string The string to unescape.
  15899. * @return Returns the unescaped string.
  15900. */
  15901. unescape(string?: string): string;
  15902. }
  15903. interface LoDashImplicitWrapper<T> {
  15904. /**
  15905. * @see _.unescape
  15906. */
  15907. unescape(): string;
  15908. }
  15909. interface LoDashExplicitWrapper<T> {
  15910. /**
  15911. * @see _.unescape
  15912. */
  15913. unescape(): LoDashExplicitWrapper<string>;
  15914. }
  15915. //_.upperCase
  15916. interface LoDashStatic {
  15917. /**
  15918. * Converts `string`, as space separated words, to upper case.
  15919. *
  15920. * @param string The string to convert.
  15921. * @return Returns the upper cased string.
  15922. */
  15923. upperCase(string?: string): string;
  15924. }
  15925. interface LoDashImplicitWrapper<T> {
  15926. /**
  15927. * @see _.upperCase
  15928. */
  15929. upperCase(): string;
  15930. }
  15931. interface LoDashExplicitWrapper<T> {
  15932. /**
  15933. * @see _.upperCase
  15934. */
  15935. upperCase(): LoDashExplicitWrapper<string>;
  15936. }
  15937. //_.upperFirst
  15938. interface LoDashStatic {
  15939. /**
  15940. * Converts the first character of `string` to upper case.
  15941. *
  15942. * @param string The string to convert.
  15943. * @return Returns the converted string.
  15944. */
  15945. upperFirst(string?: string): string;
  15946. }
  15947. interface LoDashImplicitWrapper<T> {
  15948. /**
  15949. * @see _.upperFirst
  15950. */
  15951. upperFirst(): string;
  15952. }
  15953. interface LoDashExplicitWrapper<T> {
  15954. /**
  15955. * @see _.upperFirst
  15956. */
  15957. upperFirst(): LoDashExplicitWrapper<string>;
  15958. }
  15959. //_.words
  15960. interface LoDashStatic {
  15961. /**
  15962. * Splits `string` into an array of its words.
  15963. *
  15964. * @param string The string to inspect.
  15965. * @param pattern The pattern to match words.
  15966. * @return Returns the words of `string`.
  15967. */
  15968. words(
  15969. string?: string,
  15970. pattern?: string|RegExp
  15971. ): string[];
  15972. }
  15973. interface LoDashImplicitWrapper<T> {
  15974. /**
  15975. * @see _.words
  15976. */
  15977. words(pattern?: string|RegExp): string[];
  15978. }
  15979. interface LoDashExplicitWrapper<T> {
  15980. /**
  15981. * @see _.words
  15982. */
  15983. words(pattern?: string|RegExp): LoDashExplicitArrayWrapper<string>;
  15984. }
  15985. /***********
  15986. * Utility *
  15987. ***********/
  15988. //_.attempt
  15989. interface LoDashStatic {
  15990. /**
  15991. * Attempts to invoke func, returning either the result or the caught error object. Any additional arguments
  15992. * are provided to func when it’s invoked.
  15993. *
  15994. * @param func The function to attempt.
  15995. * @return Returns the func result or error object.
  15996. */
  15997. attempt<TResult>(func: (...args: any[]) => TResult, ...args: any[]): TResult|Error;
  15998. }
  15999. interface LoDashImplicitObjectWrapper<T> {
  16000. /**
  16001. * @see _.attempt
  16002. */
  16003. attempt<TResult>(...args: any[]): TResult|Error;
  16004. }
  16005. interface LoDashExplicitObjectWrapper<T> {
  16006. /**
  16007. * @see _.attempt
  16008. */
  16009. attempt<TResult>(...args: any[]): LoDashExplicitObjectWrapper<TResult|Error>;
  16010. }
  16011. //_.constant
  16012. interface LoDashStatic {
  16013. /**
  16014. * Creates a function that returns value.
  16015. *
  16016. * @param value The value to return from the new function.
  16017. * @return Returns the new function.
  16018. */
  16019. constant<T>(value: T): () => T;
  16020. }
  16021. interface LoDashImplicitWrapperBase<T, TWrapper> {
  16022. /**
  16023. * @see _.constant
  16024. */
  16025. constant<TResult>(): LoDashImplicitObjectWrapper<() => TResult>;
  16026. }
  16027. interface LoDashExplicitWrapperBase<T, TWrapper> {
  16028. /**
  16029. * @see _.constant
  16030. */
  16031. constant<TResult>(): LoDashExplicitObjectWrapper<() => TResult>;
  16032. }
  16033. //_.identity
  16034. interface LoDashStatic {
  16035. /**
  16036. * This method returns the first argument provided to it.
  16037. *
  16038. * @param value Any value.
  16039. * @return Returns value.
  16040. */
  16041. identity<T>(value?: T): T;
  16042. }
  16043. interface LoDashImplicitWrapper<T> {
  16044. /**
  16045. * @see _.identity
  16046. */
  16047. identity(): T;
  16048. }
  16049. interface LoDashImplicitArrayWrapper<T> {
  16050. /**
  16051. * @see _.identity
  16052. */
  16053. identity(): T[];
  16054. }
  16055. interface LoDashImplicitObjectWrapper<T> {
  16056. /**
  16057. * @see _.identity
  16058. */
  16059. identity(): T;
  16060. }
  16061. interface LoDashExplicitWrapper<T> {
  16062. /**
  16063. * @see _.identity
  16064. */
  16065. identity(): LoDashExplicitWrapper<T>;
  16066. }
  16067. interface LoDashExplicitArrayWrapper<T> {
  16068. /**
  16069. * @see _.identity
  16070. */
  16071. identity(): LoDashExplicitArrayWrapper<T>;
  16072. }
  16073. interface LoDashExplicitObjectWrapper<T> {
  16074. /**
  16075. * @see _.identity
  16076. */
  16077. identity(): LoDashExplicitObjectWrapper<T>;
  16078. }
  16079. //_.iteratee
  16080. interface LoDashStatic {
  16081. /**
  16082. * Creates a function that invokes `func` with the arguments of the created
  16083. * function. If `func` is a property name the created callback returns the
  16084. * property value for a given element. If `func` is an object the created
  16085. * callback returns `true` for elements that contain the equivalent object properties, otherwise it returns `false`.
  16086. *
  16087. * @static
  16088. * @memberOf _
  16089. * @category Util
  16090. * @param {*} [func=_.identity] The value to convert to a callback.
  16091. * @returns {Function} Returns the callback.
  16092. * @example
  16093. *
  16094. * var users = [
  16095. * { 'user': 'barney', 'age': 36 },
  16096. * { 'user': 'fred', 'age': 40 }
  16097. * ];
  16098. *
  16099. * // create custom iteratee shorthands
  16100. * _.iteratee = _.wrap(_.iteratee, function(callback, func) {
  16101. * var p = /^(\S+)\s*([<>])\s*(\S+)$/.exec(func);
  16102. * return !p ? callback(func) : function(object) {
  16103. * return (p[2] == '>' ? object[p[1]] > p[3] : object[p[1]] < p[3]);
  16104. * };
  16105. * });
  16106. *
  16107. * _.filter(users, 'age > 36');
  16108. * // => [{ 'user': 'fred', 'age': 40 }]
  16109. */
  16110. iteratee<TResult>(
  16111. func: Function
  16112. ): (...args: any[]) => TResult;
  16113. /**
  16114. * @see _.iteratee
  16115. */
  16116. iteratee<TResult>(
  16117. func: string
  16118. ): (object: any) => TResult;
  16119. /**
  16120. * @see _.iteratee
  16121. */
  16122. iteratee(
  16123. func: Object
  16124. ): (object: any) => boolean;
  16125. /**
  16126. * @see _.iteratee
  16127. */
  16128. iteratee<TResult>(): (value: TResult) => TResult;
  16129. }
  16130. interface LoDashImplicitWrapper<T> {
  16131. /**
  16132. * @see _.iteratee
  16133. */
  16134. iteratee<TResult>(): LoDashImplicitObjectWrapper<(object: any) => TResult>;
  16135. }
  16136. interface LoDashImplicitObjectWrapper<T> {
  16137. /**
  16138. * @see _.iteratee
  16139. */
  16140. iteratee(): LoDashImplicitObjectWrapper<(object: any) => boolean>;
  16141. /**
  16142. * @see _.iteratee
  16143. */
  16144. iteratee<TResult>(): LoDashImplicitObjectWrapper<(...args: any[]) => TResult>;
  16145. }
  16146. interface LoDashExplicitWrapper<T> {
  16147. /**
  16148. * @see _.iteratee
  16149. */
  16150. iteratee<TResult>(): LoDashExplicitObjectWrapper<(object: any) => TResult>;
  16151. }
  16152. interface LoDashExplicitObjectWrapper<T> {
  16153. /**
  16154. * @see _.iteratee
  16155. */
  16156. iteratee(): LoDashExplicitObjectWrapper<(object: any) => boolean>;
  16157. /**
  16158. * @see _.iteratee
  16159. */
  16160. iteratee<TResult>(): LoDashExplicitObjectWrapper<(...args: any[]) => TResult>;
  16161. }
  16162. //_.matches
  16163. interface LoDashStatic {
  16164. /**
  16165. * Creates a function that performs a deep comparison between a given object and source, returning true if the
  16166. * given object has equivalent property values, else false.
  16167. *
  16168. * Note: This method supports comparing arrays, booleans, Date objects, numbers, Object objects, regexes, and
  16169. * strings. Objects are compared by their own, not inherited, enumerable properties. For comparing a single own
  16170. * or inherited property value see _.matchesProperty.
  16171. *
  16172. * @param source The object of property values to match.
  16173. * @return Returns the new function.
  16174. */
  16175. matches<T>(source: T): (value: any) => boolean;
  16176. /**
  16177. * @see _.matches
  16178. */
  16179. matches<T, V>(source: T): (value: V) => boolean;
  16180. }
  16181. interface LoDashImplicitWrapperBase<T, TWrapper> {
  16182. /**
  16183. * @see _.matches
  16184. */
  16185. matches<V>(): LoDashImplicitObjectWrapper<(value: V) => boolean>;
  16186. }
  16187. interface LoDashExplicitWrapperBase<T, TWrapper> {
  16188. /**
  16189. * @see _.matches
  16190. */
  16191. matches<V>(): LoDashExplicitObjectWrapper<(value: V) => boolean>;
  16192. }
  16193. //_.matchesProperty
  16194. interface LoDashStatic {
  16195. /**
  16196. * Creates a function that compares the property value of path on a given object to value.
  16197. *
  16198. * Note: This method supports comparing arrays, booleans, Date objects, numbers, Object objects, regexes, and
  16199. * strings. Objects are compared by their own, not inherited, enumerable properties.
  16200. *
  16201. * @param path The path of the property to get.
  16202. * @param srcValue The value to match.
  16203. * @return Returns the new function.
  16204. */
  16205. matchesProperty<T>(
  16206. path: StringRepresentable|StringRepresentable[],
  16207. srcValue: T
  16208. ): (value: any) => boolean;
  16209. /**
  16210. * @see _.matchesProperty
  16211. */
  16212. matchesProperty<T, V>(
  16213. path: StringRepresentable|StringRepresentable[],
  16214. srcValue: T
  16215. ): (value: V) => boolean;
  16216. }
  16217. interface LoDashImplicitWrapperBase<T, TWrapper> {
  16218. /**
  16219. * @see _.matchesProperty
  16220. */
  16221. matchesProperty<SrcValue>(
  16222. srcValue: SrcValue
  16223. ): LoDashImplicitObjectWrapper<(value: any) => boolean>;
  16224. /**
  16225. * @see _.matchesProperty
  16226. */
  16227. matchesProperty<SrcValue, Value>(
  16228. srcValue: SrcValue
  16229. ): LoDashImplicitObjectWrapper<(value: Value) => boolean>;
  16230. }
  16231. interface LoDashExplicitWrapperBase<T, TWrapper> {
  16232. /**
  16233. * @see _.matchesProperty
  16234. */
  16235. matchesProperty<SrcValue>(
  16236. srcValue: SrcValue
  16237. ): LoDashExplicitObjectWrapper<(value: any) => boolean>;
  16238. /**
  16239. * @see _.matchesProperty
  16240. */
  16241. matchesProperty<SrcValue, Value>(
  16242. srcValue: SrcValue
  16243. ): LoDashExplicitObjectWrapper<(value: Value) => boolean>;
  16244. }
  16245. //_.method
  16246. interface LoDashStatic {
  16247. /**
  16248. * Creates a function that invokes the method at path on a given object. Any additional arguments are provided
  16249. * to the invoked method.
  16250. *
  16251. * @param path The path of the method to invoke.
  16252. * @param args The arguments to invoke the method with.
  16253. * @return Returns the new function.
  16254. */
  16255. method<TObject, TResult>(
  16256. path: string|StringRepresentable[],
  16257. ...args: any[]
  16258. ): (object: TObject) => TResult;
  16259. /**
  16260. * @see _.method
  16261. */
  16262. method<TResult>(
  16263. path: string|StringRepresentable[],
  16264. ...args: any[]
  16265. ): (object: any) => TResult;
  16266. }
  16267. interface LoDashImplicitWrapper<T> {
  16268. /**
  16269. * @see _.method
  16270. */
  16271. method<TObject, TResult>(...args: any[]): LoDashImplicitObjectWrapper<(object: TObject) => TResult>;
  16272. /**
  16273. * @see _.method
  16274. */
  16275. method<TResult>(...args: any[]): LoDashImplicitObjectWrapper<(object: any) => TResult>;
  16276. }
  16277. interface LoDashImplicitArrayWrapper<T> {
  16278. /**
  16279. * @see _.method
  16280. */
  16281. method<TObject, TResult>(...args: any[]): LoDashImplicitObjectWrapper<(object: TObject) => TResult>;
  16282. /**
  16283. * @see _.method
  16284. */
  16285. method<TResult>(...args: any[]): LoDashImplicitObjectWrapper<(object: any) => TResult>;
  16286. }
  16287. interface LoDashExplicitWrapper<T> {
  16288. /**
  16289. * @see _.method
  16290. */
  16291. method<TObject, TResult>(...args: any[]): LoDashExplicitObjectWrapper<(object: TObject) => TResult>;
  16292. /**
  16293. * @see _.method
  16294. */
  16295. method<TResult>(...args: any[]): LoDashExplicitObjectWrapper<(object: any) => TResult>;
  16296. }
  16297. interface LoDashExplicitArrayWrapper<T> {
  16298. /**
  16299. * @see _.method
  16300. */
  16301. method<TObject, TResult>(...args: any[]): LoDashExplicitObjectWrapper<(object: TObject) => TResult>;
  16302. /**
  16303. * @see _.method
  16304. */
  16305. method<TResult>(...args: any[]): LoDashExplicitObjectWrapper<(object: any) => TResult>;
  16306. }
  16307. //_.methodOf
  16308. interface LoDashStatic {
  16309. /**
  16310. * The opposite of _.method; this method creates a function that invokes the method at a given path on object.
  16311. * Any additional arguments are provided to the invoked method.
  16312. *
  16313. * @param object The object to query.
  16314. * @param args The arguments to invoke the method with.
  16315. * @return Returns the new function.
  16316. */
  16317. methodOf<TObject extends {}, TResult>(
  16318. object: TObject,
  16319. ...args: any[]
  16320. ): (path: StringRepresentable|StringRepresentable[]) => TResult;
  16321. /**
  16322. * @see _.methodOf
  16323. */
  16324. methodOf<TResult>(
  16325. object: {},
  16326. ...args: any[]
  16327. ): (path: StringRepresentable|StringRepresentable[]) => TResult;
  16328. }
  16329. interface LoDashImplicitObjectWrapper<T> {
  16330. /**
  16331. * @see _.methodOf
  16332. */
  16333. methodOf<TResult>(
  16334. ...args: any[]
  16335. ): LoDashImplicitObjectWrapper<(path: StringRepresentable|StringRepresentable[]) => TResult>;
  16336. }
  16337. interface LoDashExplicitObjectWrapper<T> {
  16338. /**
  16339. * @see _.methodOf
  16340. */
  16341. methodOf<TResult>(
  16342. ...args: any[]
  16343. ): LoDashExplicitObjectWrapper<(path: StringRepresentable|StringRepresentable[]) => TResult>;
  16344. }
  16345. //_.mixin
  16346. interface MixinOptions {
  16347. chain?: boolean;
  16348. }
  16349. interface LoDashStatic {
  16350. /**
  16351. * Adds all own enumerable function properties of a source object to the destination object. If object is a
  16352. * function then methods are added to its prototype as well.
  16353. *
  16354. * Note: Use _.runInContext to create a pristine lodash function to avoid conflicts caused by modifying
  16355. * the original.
  16356. *
  16357. * @param object The destination object.
  16358. * @param source The object of functions to add.
  16359. * @param options The options object.
  16360. * @param options.chain Specify whether the functions added are chainable.
  16361. * @return Returns object.
  16362. */
  16363. mixin<TResult, TObject>(
  16364. object: TObject,
  16365. source: Dictionary<Function>,
  16366. options?: MixinOptions
  16367. ): TResult;
  16368. /**
  16369. * @see _.mixin
  16370. */
  16371. mixin<TResult>(
  16372. source: Dictionary<Function>,
  16373. options?: MixinOptions
  16374. ): TResult;
  16375. }
  16376. interface LoDashImplicitObjectWrapper<T> {
  16377. /**
  16378. * @see _.mixin
  16379. */
  16380. mixin<TResult>(
  16381. source: Dictionary<Function>,
  16382. options?: MixinOptions
  16383. ): LoDashImplicitObjectWrapper<TResult>;
  16384. /**
  16385. * @see _.mixin
  16386. */
  16387. mixin<TResult>(
  16388. options?: MixinOptions
  16389. ): LoDashImplicitObjectWrapper<TResult>;
  16390. }
  16391. interface LoDashExplicitObjectWrapper<T> {
  16392. /**
  16393. * @see _.mixin
  16394. */
  16395. mixin<TResult>(
  16396. source: Dictionary<Function>,
  16397. options?: MixinOptions
  16398. ): LoDashExplicitObjectWrapper<TResult>;
  16399. /**
  16400. * @see _.mixin
  16401. */
  16402. mixin<TResult>(
  16403. options?: MixinOptions
  16404. ): LoDashExplicitObjectWrapper<TResult>;
  16405. }
  16406. //_.noConflict
  16407. interface LoDashStatic {
  16408. /**
  16409. * Reverts the _ variable to its previous value and returns a reference to the lodash function.
  16410. *
  16411. * @return Returns the lodash function.
  16412. */
  16413. noConflict(): typeof _;
  16414. }
  16415. interface LoDashImplicitWrapperBase<T, TWrapper> {
  16416. /**
  16417. * @see _.noConflict
  16418. */
  16419. noConflict(): typeof _;
  16420. }
  16421. interface LoDashExplicitWrapperBase<T, TWrapper> {
  16422. /**
  16423. * @see _.noConflict
  16424. */
  16425. noConflict(): LoDashExplicitObjectWrapper<typeof _>;
  16426. }
  16427. //_.noop
  16428. interface LoDashStatic {
  16429. /**
  16430. * A no-operation function that returns undefined regardless of the arguments it receives.
  16431. *
  16432. * @return undefined
  16433. */
  16434. noop(...args: any[]): void;
  16435. }
  16436. interface LoDashImplicitWrapperBase<T, TWrapper> {
  16437. /**
  16438. * @see _.noop
  16439. */
  16440. noop(...args: any[]): void;
  16441. }
  16442. interface LoDashExplicitWrapperBase<T, TWrapper> {
  16443. /**
  16444. * @see _.noop
  16445. */
  16446. noop(...args: any[]): _.LoDashExplicitWrapper<void>;
  16447. }
  16448. //_.nthArg
  16449. interface LoDashStatic {
  16450. /**
  16451. * Creates a function that returns its nth argument.
  16452. *
  16453. * @param n The index of the argument to return.
  16454. * @return Returns the new function.
  16455. */
  16456. nthArg<TResult extends Function>(n?: number): TResult;
  16457. }
  16458. interface LoDashImplicitWrapper<T> {
  16459. /**
  16460. * @see _.nthArg
  16461. */
  16462. nthArg<TResult extends Function>(): LoDashImplicitObjectWrapper<TResult>;
  16463. }
  16464. interface LoDashExplicitWrapper<T> {
  16465. /**
  16466. * @see _.nthArg
  16467. */
  16468. nthArg<TResult extends Function>(): LoDashExplicitObjectWrapper<TResult>;
  16469. }
  16470. //_.over
  16471. interface LoDashStatic {
  16472. /**
  16473. * Creates a function that invokes iteratees with the arguments provided to the created function and returns
  16474. * their results.
  16475. *
  16476. * @param iteratees The iteratees to invoke.
  16477. * @return Returns the new function.
  16478. */
  16479. over<TResult>(...iteratees: (Function|Function[])[]): (...args: any[]) => TResult[];
  16480. }
  16481. interface LoDashImplicitArrayWrapper<T> {
  16482. /**
  16483. * @see _.over
  16484. */
  16485. over<TResult>(...iteratees: (Function|Function[])[]): LoDashImplicitObjectWrapper<(...args: any[]) => TResult[]>;
  16486. }
  16487. interface LoDashImplicitObjectWrapper<T> {
  16488. /**
  16489. * @see _.over
  16490. */
  16491. over<TResult>(...iteratees: (Function|Function[])[]): LoDashImplicitObjectWrapper<(...args: any[]) => TResult[]>;
  16492. }
  16493. interface LoDashExplicitArrayWrapper<T> {
  16494. /**
  16495. * @see _.over
  16496. */
  16497. over<TResult>(...iteratees: (Function|Function[])[]): LoDashExplicitObjectWrapper<(...args: any[]) => TResult[]>;
  16498. }
  16499. interface LoDashExplicitObjectWrapper<T> {
  16500. /**
  16501. * @see _.over
  16502. */
  16503. over<TResult>(...iteratees: (Function|Function[])[]): LoDashExplicitObjectWrapper<(...args: any[]) => TResult[]>;
  16504. }
  16505. //_.overEvery
  16506. interface LoDashStatic {
  16507. /**
  16508. * Creates a function that checks if all of the predicates return truthy when invoked with the arguments
  16509. * provided to the created function.
  16510. *
  16511. * @param predicates The predicates to check.
  16512. * @return Returns the new function.
  16513. */
  16514. overEvery(...predicates: (Function|Function[])[]): (...args: any[]) => boolean;
  16515. }
  16516. interface LoDashImplicitArrayWrapper<T> {
  16517. /**
  16518. * @see _.overEvery
  16519. */
  16520. overEvery(...predicates: (Function|Function[])[]): LoDashImplicitObjectWrapper<(...args: any[]) => boolean>;
  16521. }
  16522. interface LoDashImplicitObjectWrapper<T> {
  16523. /**
  16524. * @see _.overEvery
  16525. */
  16526. overEvery(...predicates: (Function|Function[])[]): LoDashImplicitObjectWrapper<(...args: any[]) => boolean>;
  16527. }
  16528. interface LoDashExplicitArrayWrapper<T> {
  16529. /**
  16530. * @see _.overEvery
  16531. */
  16532. overEvery(...predicates: (Function|Function[])[]): LoDashExplicitObjectWrapper<(...args: any[]) => boolean>;
  16533. }
  16534. interface LoDashExplicitObjectWrapper<T> {
  16535. /**
  16536. * @see _.overEvery
  16537. */
  16538. overEvery(...predicates: (Function|Function[])[]): LoDashExplicitObjectWrapper<(...args: any[]) => boolean>;
  16539. }
  16540. //_.overSome
  16541. interface LoDashStatic {
  16542. /**
  16543. * Creates a function that checks if any of the predicates return truthy when invoked with the arguments
  16544. * provided to the created function.
  16545. *
  16546. * @param predicates The predicates to check.
  16547. * @return Returns the new function.
  16548. */
  16549. overSome(...predicates: (Function|Function[])[]): (...args: any[]) => boolean;
  16550. }
  16551. interface LoDashImplicitArrayWrapper<T> {
  16552. /**
  16553. * @see _.overSome
  16554. */
  16555. overSome(...predicates: (Function|Function[])[]): LoDashImplicitObjectWrapper<(...args: any[]) => boolean>;
  16556. }
  16557. interface LoDashImplicitObjectWrapper<T> {
  16558. /**
  16559. * @see _.overSome
  16560. */
  16561. overSome(...predicates: (Function|Function[])[]): LoDashImplicitObjectWrapper<(...args: any[]) => boolean>;
  16562. }
  16563. interface LoDashExplicitArrayWrapper<T> {
  16564. /**
  16565. * @see _.overSome
  16566. */
  16567. overSome(...predicates: (Function|Function[])[]): LoDashExplicitObjectWrapper<(...args: any[]) => boolean>;
  16568. }
  16569. interface LoDashExplicitObjectWrapper<T> {
  16570. /**
  16571. * @see _.overSome
  16572. */
  16573. overSome(...predicates: (Function|Function[])[]): LoDashExplicitObjectWrapper<(...args: any[]) => boolean>;
  16574. }
  16575. //_.property
  16576. interface LoDashStatic {
  16577. /**
  16578. * Creates a function that returns the property value at path on a given object.
  16579. *
  16580. * @param path The path of the property to get.
  16581. * @return Returns the new function.
  16582. */
  16583. property<TObj, TResult>(path: StringRepresentable|StringRepresentable[]): (obj: TObj) => TResult;
  16584. }
  16585. interface LoDashImplicitWrapper<T> {
  16586. /**
  16587. * @see _.property
  16588. */
  16589. property<TObj, TResult>(): LoDashImplicitObjectWrapper<(obj: TObj) => TResult>;
  16590. }
  16591. interface LoDashImplicitArrayWrapper<T> {
  16592. /**
  16593. * @see _.property
  16594. */
  16595. property<TObj, TResult>(): LoDashImplicitObjectWrapper<(obj: TObj) => TResult>;
  16596. }
  16597. interface LoDashExplicitWrapper<T> {
  16598. /**
  16599. * @see _.property
  16600. */
  16601. property<TObj, TResult>(): LoDashExplicitObjectWrapper<(obj: TObj) => TResult>;
  16602. }
  16603. interface LoDashExplicitArrayWrapper<T> {
  16604. /**
  16605. * @see _.property
  16606. */
  16607. property<TObj, TResult>(): LoDashExplicitObjectWrapper<(obj: TObj) => TResult>;
  16608. }
  16609. //_.propertyOf
  16610. interface LoDashStatic {
  16611. /**
  16612. * The opposite of _.property; this method creates a function that returns the property value at a given path
  16613. * on object.
  16614. *
  16615. * @param object The object to query.
  16616. * @return Returns the new function.
  16617. */
  16618. propertyOf<T extends {}>(object: T): (path: string|string[]) => any;
  16619. }
  16620. interface LoDashImplicitObjectWrapper<T> {
  16621. /**
  16622. * @see _.propertyOf
  16623. */
  16624. propertyOf(): LoDashImplicitObjectWrapper<(path: string|string[]) => any>;
  16625. }
  16626. interface LoDashExplicitObjectWrapper<T> {
  16627. /**
  16628. * @see _.propertyOf
  16629. */
  16630. propertyOf(): LoDashExplicitObjectWrapper<(path: string|string[]) => any>;
  16631. }
  16632. //_.range
  16633. interface LoDashStatic {
  16634. /**
  16635. * Creates an array of numbers (positive and/or negative) progressing from start up to, but not including, end.
  16636. * If end is not specified it’s set to start with start then set to 0. If end is less than start a zero-length
  16637. * range is created unless a negative step is specified.
  16638. *
  16639. * @param start The start of the range.
  16640. * @param end The end of the range.
  16641. * @param step The value to increment or decrement by.
  16642. * @return Returns a new range array.
  16643. */
  16644. range(
  16645. start: number,
  16646. end: number,
  16647. step?: number
  16648. ): number[];
  16649. /**
  16650. * @see _.range
  16651. */
  16652. range(
  16653. end: number,
  16654. step?: number
  16655. ): number[];
  16656. }
  16657. interface LoDashImplicitWrapper<T> {
  16658. /**
  16659. * @see _.range
  16660. */
  16661. range(
  16662. end?: number,
  16663. step?: number
  16664. ): LoDashImplicitArrayWrapper<number>;
  16665. }
  16666. interface LoDashExplicitWrapper<T> {
  16667. /**
  16668. * @see _.range
  16669. */
  16670. range(
  16671. end?: number,
  16672. step?: number
  16673. ): LoDashExplicitArrayWrapper<number>;
  16674. }
  16675. //_.rangeRight
  16676. interface LoDashStatic {
  16677. /**
  16678. * This method is like `_.range` except that it populates values in
  16679. * descending order.
  16680. *
  16681. * @static
  16682. * @memberOf _
  16683. * @category Util
  16684. * @param {number} [start=0] The start of the range.
  16685. * @param {number} end The end of the range.
  16686. * @param {number} [step=1] The value to increment or decrement by.
  16687. * @returns {Array} Returns the new array of numbers.
  16688. * @example
  16689. *
  16690. * _.rangeRight(4);
  16691. * // => [3, 2, 1, 0]
  16692. *
  16693. * _.rangeRight(-4);
  16694. * // => [-3, -2, -1, 0]
  16695. *
  16696. * _.rangeRight(1, 5);
  16697. * // => [4, 3, 2, 1]
  16698. *
  16699. * _.rangeRight(0, 20, 5);
  16700. * // => [15, 10, 5, 0]
  16701. *
  16702. * _.rangeRight(0, -4, -1);
  16703. * // => [-3, -2, -1, 0]
  16704. *
  16705. * _.rangeRight(1, 4, 0);
  16706. * // => [1, 1, 1]
  16707. *
  16708. * _.rangeRight(0);
  16709. * // => []
  16710. */
  16711. rangeRight(
  16712. start: number,
  16713. end: number,
  16714. step?: number
  16715. ): number[];
  16716. /**
  16717. * @see _.rangeRight
  16718. */
  16719. rangeRight(
  16720. end: number,
  16721. step?: number
  16722. ): number[];
  16723. }
  16724. interface LoDashImplicitWrapper<T> {
  16725. /**
  16726. * @see _.rangeRight
  16727. */
  16728. rangeRight(
  16729. end?: number,
  16730. step?: number
  16731. ): LoDashImplicitArrayWrapper<number>;
  16732. }
  16733. interface LoDashExplicitWrapper<T> {
  16734. /**
  16735. * @see _.rangeRight
  16736. */
  16737. rangeRight(
  16738. end?: number,
  16739. step?: number
  16740. ): LoDashExplicitArrayWrapper<number>;
  16741. }
  16742. //_.runInContext
  16743. interface LoDashStatic {
  16744. /**
  16745. * Create a new pristine lodash function using the given context object.
  16746. *
  16747. * @param context The context object.
  16748. * @return Returns a new lodash function.
  16749. */
  16750. runInContext(context?: Object): typeof _;
  16751. }
  16752. interface LoDashImplicitObjectWrapper<T> {
  16753. /**
  16754. * @see _.runInContext
  16755. */
  16756. runInContext(): typeof _;
  16757. }
  16758. //_.times
  16759. interface LoDashStatic {
  16760. /**
  16761. * Invokes the iteratee function n times, returning an array of the results of each invocation. The iteratee
  16762. * is invoked with one argument; (index).
  16763. *
  16764. * @param n The number of times to invoke iteratee.
  16765. * @param iteratee The function invoked per iteration.
  16766. * @return Returns the array of results.
  16767. */
  16768. times<TResult>(
  16769. n: number,
  16770. iteratee: (num: number) => TResult
  16771. ): TResult[];
  16772. /**
  16773. * @see _.times
  16774. */
  16775. times(n: number): number[];
  16776. }
  16777. interface LoDashImplicitWrapper<T> {
  16778. /**
  16779. * @see _.times
  16780. */
  16781. times<TResult>(
  16782. iteratee: (num: number) => TResult
  16783. ): TResult[];
  16784. /**
  16785. * @see _.times
  16786. */
  16787. times(): number[];
  16788. }
  16789. interface LoDashExplicitWrapper<T> {
  16790. /**
  16791. * @see _.times
  16792. */
  16793. times<TResult>(
  16794. iteratee: (num: number) => TResult
  16795. ): LoDashExplicitArrayWrapper<TResult>;
  16796. /**
  16797. * @see _.times
  16798. */
  16799. times(): LoDashExplicitArrayWrapper<number>;
  16800. }
  16801. //_.toPath
  16802. interface LoDashStatic {
  16803. /**
  16804. * Converts `value` to a property path array.
  16805. *
  16806. * @static
  16807. * @memberOf _
  16808. * @category Util
  16809. * @param {*} value The value to convert.
  16810. * @returns {Array} Returns the new property path array.
  16811. * @example
  16812. *
  16813. * _.toPath('a.b.c');
  16814. * // => ['a', 'b', 'c']
  16815. *
  16816. * _.toPath('a[0].b.c');
  16817. * // => ['a', '0', 'b', 'c']
  16818. *
  16819. * var path = ['a', 'b', 'c'],
  16820. * newPath = _.toPath(path);
  16821. *
  16822. * console.log(newPath);
  16823. * // => ['a', 'b', 'c']
  16824. *
  16825. * console.log(path === newPath);
  16826. * // => false
  16827. */
  16828. toPath(value: any): string[];
  16829. }
  16830. interface LoDashImplicitWrapperBase<T, TWrapper> {
  16831. /**
  16832. * @see _.toPath
  16833. */
  16834. toPath(): LoDashImplicitWrapper<string[]>;
  16835. }
  16836. interface LoDashExplicitWrapperBase<T, TWrapper> {
  16837. /**
  16838. * @see _.toPath
  16839. */
  16840. toPath(): LoDashExplicitWrapper<string[]>;
  16841. }
  16842. //_.uniqueId
  16843. interface LoDashStatic {
  16844. /**
  16845. * Generates a unique ID. If prefix is provided the ID is appended to it.
  16846. *
  16847. * @param prefix The value to prefix the ID with.
  16848. * @return Returns the unique ID.
  16849. */
  16850. uniqueId(prefix?: string): string;
  16851. }
  16852. interface LoDashImplicitWrapper<T> {
  16853. /**
  16854. * @see _.uniqueId
  16855. */
  16856. uniqueId(): string;
  16857. }
  16858. interface LoDashExplicitWrapper<T> {
  16859. /**
  16860. * @see _.uniqueId
  16861. */
  16862. uniqueId(): LoDashExplicitWrapper<string>;
  16863. }
  16864. interface ListIterator<T, TResult> {
  16865. (value: T, index: number, collection: List<T>): TResult;
  16866. }
  16867. interface DictionaryIterator<T, TResult> {
  16868. (value: T, key?: string, collection?: Dictionary<T>): TResult;
  16869. }
  16870. interface NumericDictionaryIterator<T, TResult> {
  16871. (value: T, key?: number, collection?: Dictionary<T>): TResult;
  16872. }
  16873. interface ObjectIterator<T, TResult> {
  16874. (element: T, key?: string, collection?: any): TResult;
  16875. }
  16876. interface StringIterator<TResult> {
  16877. (char: string, index?: number, string?: string): TResult;
  16878. }
  16879. interface MemoVoidIterator<T, TResult> {
  16880. (prev: TResult, curr: T, indexOrKey?: any, list?: T[]): void;
  16881. }
  16882. interface MemoIterator<T, TResult> {
  16883. (prev: TResult, curr: T, indexOrKey?: any, list?: T[]): TResult;
  16884. }
  16885. interface MemoVoidArrayIterator<T, TResult> {
  16886. (acc: TResult, curr: T, index?: number, arr?: T[]): void;
  16887. }
  16888. interface MemoVoidDictionaryIterator<T, TResult> {
  16889. (acc: TResult, curr: T, key?: string, dict?: Dictionary<T>): void;
  16890. }
  16891. //interface Collection<T> {}
  16892. // Common interface between Arrays and jQuery objects
  16893. interface List<T> {
  16894. [index: number]: T;
  16895. length: number;
  16896. }
  16897. interface Dictionary<T> {
  16898. [index: string]: T;
  16899. }
  16900. interface NumericDictionary<T> {
  16901. [index: number]: T;
  16902. }
  16903. interface StringRepresentable {
  16904. toString(): string;
  16905. }
  16906. interface Cancelable {
  16907. cancel(): void;
  16908. flush(): void;
  16909. }
  16910. }
  16911. // Named exports
  16912. declare module "lodash/after" {
  16913. const after: typeof _.after;
  16914. export = after;
  16915. }
  16916. declare module "lodash/ary" {
  16917. const ary: typeof _.ary;
  16918. export = ary;
  16919. }
  16920. declare module "lodash/assign" {
  16921. const assign: typeof _.assign;
  16922. export = assign;
  16923. }
  16924. declare module "lodash/assignIn" {
  16925. const assignIn: typeof _.assignIn;
  16926. export = assignIn;
  16927. }
  16928. declare module "lodash/assignInWith" {
  16929. const assignInWith: typeof _.assignInWith;
  16930. export = assignInWith;
  16931. }
  16932. declare module "lodash/assignWith" {
  16933. const assignWith: typeof _.assignWith;
  16934. export = assignWith;
  16935. }
  16936. declare module "lodash/at" {
  16937. const at: typeof _.at;
  16938. export = at;
  16939. }
  16940. declare module "lodash/before" {
  16941. const before: typeof _.before;
  16942. export = before;
  16943. }
  16944. declare module "lodash/bind" {
  16945. const bind: typeof _.bind;
  16946. export = bind;
  16947. }
  16948. declare module "lodash/bindAll" {
  16949. const bindAll: typeof _.bindAll;
  16950. export = bindAll;
  16951. }
  16952. declare module "lodash/bindKey" {
  16953. const bindKey: typeof _.bindKey;
  16954. export = bindKey;
  16955. }
  16956. declare module "lodash/castArray" {
  16957. const castArray: typeof _.castArray;
  16958. export = castArray;
  16959. }
  16960. declare module "lodash/chain" {
  16961. const chain: typeof _.chain;
  16962. export = chain;
  16963. }
  16964. declare module "lodash/chunk" {
  16965. const chunk: typeof _.chunk;
  16966. export = chunk;
  16967. }
  16968. declare module "lodash/compact" {
  16969. const compact: typeof _.compact;
  16970. export = compact;
  16971. }
  16972. declare module "lodash/concat" {
  16973. const concat: typeof _.concat;
  16974. export = concat;
  16975. }
  16976. /**
  16977. * uncoment it if definition exists
  16978. */
  16979. /*
  16980. declare module "lodash/cond" {
  16981. const cond: typeof _.cond;
  16982. export = cond;
  16983. }
  16984. */
  16985. /**
  16986. * uncoment it if definition exists
  16987. */
  16988. /*
  16989. declare module "lodash/conforms" {
  16990. const conforms: typeof _.conforms;
  16991. export = conforms;
  16992. }
  16993. */
  16994. declare module "lodash/constant" {
  16995. const constant: typeof _.constant;
  16996. export = constant;
  16997. }
  16998. declare module "lodash/countBy" {
  16999. const countBy: typeof _.countBy;
  17000. export = countBy;
  17001. }
  17002. declare module "lodash/create" {
  17003. const create: typeof _.create;
  17004. export = create;
  17005. }
  17006. declare module "lodash/curry" {
  17007. const curry: typeof _.curry;
  17008. export = curry;
  17009. }
  17010. declare module "lodash/curryRight" {
  17011. const curryRight: typeof _.curryRight;
  17012. export = curryRight;
  17013. }
  17014. declare module "lodash/debounce" {
  17015. const debounce: typeof _.debounce;
  17016. export = debounce;
  17017. }
  17018. declare module "lodash/defaults" {
  17019. const defaults: typeof _.defaults;
  17020. export = defaults;
  17021. }
  17022. declare module "lodash/defaultsDeep" {
  17023. const defaultsDeep: typeof _.defaultsDeep;
  17024. export = defaultsDeep;
  17025. }
  17026. declare module "lodash/defer" {
  17027. const defer: typeof _.defer;
  17028. export = defer;
  17029. }
  17030. declare module "lodash/delay" {
  17031. const delay: typeof _.delay;
  17032. export = delay;
  17033. }
  17034. declare module "lodash/difference" {
  17035. const difference: typeof _.difference;
  17036. export = difference;
  17037. }
  17038. declare module "lodash/differenceBy" {
  17039. const differenceBy: typeof _.differenceBy;
  17040. export = differenceBy;
  17041. }
  17042. declare module "lodash/differenceWith" {
  17043. const differenceWith: typeof _.differenceWith;
  17044. export = differenceWith;
  17045. }
  17046. declare module "lodash/drop" {
  17047. const drop: typeof _.drop;
  17048. export = drop;
  17049. }
  17050. declare module "lodash/dropRight" {
  17051. const dropRight: typeof _.dropRight;
  17052. export = dropRight;
  17053. }
  17054. declare module "lodash/dropRightWhile" {
  17055. const dropRightWhile: typeof _.dropRightWhile;
  17056. export = dropRightWhile;
  17057. }
  17058. declare module "lodash/dropWhile" {
  17059. const dropWhile: typeof _.dropWhile;
  17060. export = dropWhile;
  17061. }
  17062. declare module "lodash/fill" {
  17063. const fill: typeof _.fill;
  17064. export = fill;
  17065. }
  17066. declare module "lodash/filter" {
  17067. const filter: typeof _.filter;
  17068. export = filter;
  17069. }
  17070. declare module "lodash/flatMap" {
  17071. const flatMap: typeof _.flatMap;
  17072. export = flatMap;
  17073. }
  17074. /**
  17075. * uncoment it if definition exists
  17076. */
  17077. /*
  17078. declare module "lodash/flatMapDeep" {
  17079. const flatMapDeep: typeof _.flatMapDeep;
  17080. export = flatMapDeep;
  17081. }
  17082. */
  17083. /**
  17084. * uncoment it if definition exists
  17085. */
  17086. /*
  17087. declare module "lodash/flatMapDepth" {
  17088. const flatMapDepth: typeof _.flatMapDepth;
  17089. export = flatMapDepth;
  17090. }
  17091. */
  17092. declare module "lodash/flatten" {
  17093. const flatten: typeof _.flatten;
  17094. export = flatten;
  17095. }
  17096. declare module "lodash/flattenDeep" {
  17097. const flattenDeep: typeof _.flattenDeep;
  17098. export = flattenDeep;
  17099. }
  17100. declare module "lodash/flattenDepth" {
  17101. const flattenDepth: typeof _.flattenDepth;
  17102. export = flattenDepth;
  17103. }
  17104. declare module "lodash/flip" {
  17105. const flip: typeof _.flip;
  17106. export = flip;
  17107. }
  17108. declare module "lodash/flow" {
  17109. const flow: typeof _.flow;
  17110. export = flow;
  17111. }
  17112. declare module "lodash/flowRight" {
  17113. const flowRight: typeof _.flowRight;
  17114. export = flowRight;
  17115. }
  17116. declare module "lodash/fromPairs" {
  17117. const fromPairs: typeof _.fromPairs;
  17118. export = fromPairs;
  17119. }
  17120. declare module "lodash/functions" {
  17121. const functions: typeof _.functions;
  17122. export = functions;
  17123. }
  17124. declare module "lodash/functionsIn" {
  17125. const functionsIn: typeof _.functionsIn;
  17126. export = functionsIn;
  17127. }
  17128. declare module "lodash/groupBy" {
  17129. const groupBy: typeof _.groupBy;
  17130. export = groupBy;
  17131. }
  17132. declare module "lodash/initial" {
  17133. const initial: typeof _.initial;
  17134. export = initial;
  17135. }
  17136. declare module "lodash/intersection" {
  17137. const intersection: typeof _.intersection;
  17138. export = intersection;
  17139. }
  17140. declare module "lodash/intersectionBy" {
  17141. const intersectionBy: typeof _.intersectionBy;
  17142. export = intersectionBy;
  17143. }
  17144. declare module "lodash/intersectionWith" {
  17145. const intersectionWith: typeof _.intersectionWith;
  17146. export = intersectionWith;
  17147. }
  17148. declare module "lodash/invert" {
  17149. const invert: typeof _.invert;
  17150. export = invert;
  17151. }
  17152. declare module "lodash/invertBy" {
  17153. const invertBy: typeof _.invertBy;
  17154. export = invertBy;
  17155. }
  17156. declare module "lodash/invokeMap" {
  17157. const invokeMap: typeof _.invokeMap;
  17158. export = invokeMap;
  17159. }
  17160. declare module "lodash/iteratee" {
  17161. const iteratee: typeof _.iteratee;
  17162. export = iteratee;
  17163. }
  17164. declare module "lodash/keyBy" {
  17165. const keyBy: typeof _.keyBy;
  17166. export = keyBy;
  17167. }
  17168. declare module "lodash/keys" {
  17169. const keys: typeof _.keys;
  17170. export = keys;
  17171. }
  17172. declare module "lodash/keysIn" {
  17173. const keysIn: typeof _.keysIn;
  17174. export = keysIn;
  17175. }
  17176. declare module "lodash/map" {
  17177. const map: typeof _.map;
  17178. export = map;
  17179. }
  17180. declare module "lodash/mapKeys" {
  17181. const mapKeys: typeof _.mapKeys;
  17182. export = mapKeys;
  17183. }
  17184. declare module "lodash/mapValues" {
  17185. const mapValues: typeof _.mapValues;
  17186. export = mapValues;
  17187. }
  17188. declare module "lodash/matches" {
  17189. const matches: typeof _.matches;
  17190. export = matches;
  17191. }
  17192. declare module "lodash/matchesProperty" {
  17193. const matchesProperty: typeof _.matchesProperty;
  17194. export = matchesProperty;
  17195. }
  17196. declare module "lodash/memoize" {
  17197. const memoize: typeof _.memoize;
  17198. export = memoize;
  17199. }
  17200. declare module "lodash/merge" {
  17201. const merge: typeof _.merge;
  17202. export = merge;
  17203. }
  17204. declare module "lodash/mergeWith" {
  17205. const mergeWith: typeof _.mergeWith;
  17206. export = mergeWith;
  17207. }
  17208. declare module "lodash/method" {
  17209. const method: typeof _.method;
  17210. export = method;
  17211. }
  17212. declare module "lodash/methodOf" {
  17213. const methodOf: typeof _.methodOf;
  17214. export = methodOf;
  17215. }
  17216. declare module "lodash/mixin" {
  17217. const mixin: typeof _.mixin;
  17218. export = mixin;
  17219. }
  17220. declare module "lodash/negate" {
  17221. const negate: typeof _.negate;
  17222. export = negate;
  17223. }
  17224. declare module "lodash/nthArg" {
  17225. const nthArg: typeof _.nthArg;
  17226. export = nthArg;
  17227. }
  17228. declare module "lodash/omit" {
  17229. const omit: typeof _.omit;
  17230. export = omit;
  17231. }
  17232. declare module "lodash/omitBy" {
  17233. const omitBy: typeof _.omitBy;
  17234. export = omitBy;
  17235. }
  17236. declare module "lodash/once" {
  17237. const once: typeof _.once;
  17238. export = once;
  17239. }
  17240. declare module "lodash/orderBy" {
  17241. const orderBy: typeof _.orderBy;
  17242. export = orderBy;
  17243. }
  17244. declare module "lodash/over" {
  17245. const over: typeof _.over;
  17246. export = over;
  17247. }
  17248. declare module "lodash/overArgs" {
  17249. const overArgs: typeof _.overArgs;
  17250. export = overArgs;
  17251. }
  17252. declare module "lodash/overEvery" {
  17253. const overEvery: typeof _.overEvery;
  17254. export = overEvery;
  17255. }
  17256. declare module "lodash/overSome" {
  17257. const overSome: typeof _.overSome;
  17258. export = overSome;
  17259. }
  17260. declare module "lodash/partial" {
  17261. const partial: typeof _.partial;
  17262. export = partial;
  17263. }
  17264. declare module "lodash/partialRight" {
  17265. const partialRight: typeof _.partialRight;
  17266. export = partialRight;
  17267. }
  17268. declare module "lodash/partition" {
  17269. const partition: typeof _.partition;
  17270. export = partition;
  17271. }
  17272. declare module "lodash/pick" {
  17273. const pick: typeof _.pick;
  17274. export = pick;
  17275. }
  17276. declare module "lodash/pickBy" {
  17277. const pickBy: typeof _.pickBy;
  17278. export = pickBy;
  17279. }
  17280. declare module "lodash/property" {
  17281. const property: typeof _.property;
  17282. export = property;
  17283. }
  17284. declare module "lodash/propertyOf" {
  17285. const propertyOf: typeof _.propertyOf;
  17286. export = propertyOf;
  17287. }
  17288. declare module "lodash/pull" {
  17289. const pull: typeof _.pull;
  17290. export = pull;
  17291. }
  17292. declare module "lodash/pullAll" {
  17293. const pullAll: typeof _.pullAll;
  17294. export = pullAll;
  17295. }
  17296. declare module "lodash/pullAllBy" {
  17297. const pullAllBy: typeof _.pullAllBy;
  17298. export = pullAllBy;
  17299. }
  17300. /**
  17301. * uncoment it if definition exists
  17302. */
  17303. /*
  17304. declare module "lodash/pullAllWith" {
  17305. const pullAllWith: typeof _.pullAllWith;
  17306. export = pullAllWith;
  17307. }
  17308. */
  17309. declare module "lodash/pullAt" {
  17310. const pullAt: typeof _.pullAt;
  17311. export = pullAt;
  17312. }
  17313. declare module "lodash/range" {
  17314. const range: typeof _.range;
  17315. export = range;
  17316. }
  17317. declare module "lodash/rangeRight" {
  17318. const rangeRight: typeof _.rangeRight;
  17319. export = rangeRight;
  17320. }
  17321. declare module "lodash/rearg" {
  17322. const rearg: typeof _.rearg;
  17323. export = rearg;
  17324. }
  17325. declare module "lodash/reject" {
  17326. const reject: typeof _.reject;
  17327. export = reject;
  17328. }
  17329. declare module "lodash/remove" {
  17330. const remove: typeof _.remove;
  17331. export = remove;
  17332. }
  17333. declare module "lodash/rest" {
  17334. const rest: typeof _.rest;
  17335. export = rest;
  17336. }
  17337. declare module "lodash/reverse" {
  17338. const reverse: typeof _.reverse;
  17339. export = reverse;
  17340. }
  17341. declare module "lodash/sampleSize" {
  17342. const sampleSize: typeof _.sampleSize;
  17343. export = sampleSize;
  17344. }
  17345. declare module "lodash/set" {
  17346. const set: typeof _.set;
  17347. export = set;
  17348. }
  17349. declare module "lodash/setWith" {
  17350. const setWith: typeof _.setWith;
  17351. export = setWith;
  17352. }
  17353. declare module "lodash/shuffle" {
  17354. const shuffle: typeof _.shuffle;
  17355. export = shuffle;
  17356. }
  17357. declare module "lodash/slice" {
  17358. const slice: typeof _.slice;
  17359. export = slice;
  17360. }
  17361. declare module "lodash/sortBy" {
  17362. const sortBy: typeof _.sortBy;
  17363. export = sortBy;
  17364. }
  17365. declare module "lodash/sortedUniq" {
  17366. const sortedUniq: typeof _.sortedUniq;
  17367. export = sortedUniq;
  17368. }
  17369. declare module "lodash/sortedUniqBy" {
  17370. const sortedUniqBy: typeof _.sortedUniqBy;
  17371. export = sortedUniqBy;
  17372. }
  17373. declare module "lodash/split" {
  17374. const split: typeof _.split;
  17375. export = split;
  17376. }
  17377. declare module "lodash/spread" {
  17378. const spread: typeof _.spread;
  17379. export = spread;
  17380. }
  17381. declare module "lodash/tail" {
  17382. const tail: typeof _.tail;
  17383. export = tail;
  17384. }
  17385. declare module "lodash/take" {
  17386. const take: typeof _.take;
  17387. export = take;
  17388. }
  17389. declare module "lodash/takeRight" {
  17390. const takeRight: typeof _.takeRight;
  17391. export = takeRight;
  17392. }
  17393. declare module "lodash/takeRightWhile" {
  17394. const takeRightWhile: typeof _.takeRightWhile;
  17395. export = takeRightWhile;
  17396. }
  17397. declare module "lodash/takeWhile" {
  17398. const takeWhile: typeof _.takeWhile;
  17399. export = takeWhile;
  17400. }
  17401. declare module "lodash/tap" {
  17402. const tap: typeof _.tap;
  17403. export = tap;
  17404. }
  17405. declare module "lodash/throttle" {
  17406. const throttle: typeof _.throttle;
  17407. export = throttle;
  17408. }
  17409. declare module "lodash/thru" {
  17410. const thru: typeof _.thru;
  17411. export = thru;
  17412. }
  17413. declare module "lodash/toArray" {
  17414. const toArray: typeof _.toArray;
  17415. export = toArray;
  17416. }
  17417. declare module "lodash/toPairs" {
  17418. const toPairs: typeof _.toPairs;
  17419. export = toPairs;
  17420. }
  17421. declare module "lodash/toPairsIn" {
  17422. const toPairsIn: typeof _.toPairsIn;
  17423. export = toPairsIn;
  17424. }
  17425. declare module "lodash/toPath" {
  17426. const toPath: typeof _.toPath;
  17427. export = toPath;
  17428. }
  17429. declare module "lodash/toPlainObject" {
  17430. const toPlainObject: typeof _.toPlainObject;
  17431. export = toPlainObject;
  17432. }
  17433. declare module "lodash/transform" {
  17434. const transform: typeof _.transform;
  17435. export = transform;
  17436. }
  17437. declare module "lodash/unary" {
  17438. const unary: typeof _.unary;
  17439. export = unary;
  17440. }
  17441. declare module "lodash/union" {
  17442. const union: typeof _.union;
  17443. export = union;
  17444. }
  17445. declare module "lodash/unionBy" {
  17446. const unionBy: typeof _.unionBy;
  17447. export = unionBy;
  17448. }
  17449. declare module "lodash/unionWith" {
  17450. const unionWith: typeof _.unionWith;
  17451. export = unionWith;
  17452. }
  17453. declare module "lodash/uniq" {
  17454. const uniq: typeof _.uniq;
  17455. export = uniq;
  17456. }
  17457. declare module "lodash/uniqBy" {
  17458. const uniqBy: typeof _.uniqBy;
  17459. export = uniqBy;
  17460. }
  17461. declare module "lodash/uniqWith" {
  17462. const uniqWith: typeof _.uniqWith;
  17463. export = uniqWith;
  17464. }
  17465. declare module "lodash/unset" {
  17466. const unset: typeof _.unset;
  17467. export = unset;
  17468. }
  17469. declare module "lodash/unzip" {
  17470. const unzip: typeof _.unzip;
  17471. export = unzip;
  17472. }
  17473. declare module "lodash/unzipWith" {
  17474. const unzipWith: typeof _.unzipWith;
  17475. export = unzipWith;
  17476. }
  17477. declare module "lodash/update" {
  17478. const update: typeof _.update;
  17479. export = update;
  17480. }
  17481. /**
  17482. * uncoment it if definition exists
  17483. */
  17484. /*
  17485. declare module "lodash/updateWith" {
  17486. const updateWith: typeof _.updateWith;
  17487. export = updateWith;
  17488. }
  17489. */
  17490. declare module "lodash/values" {
  17491. const values: typeof _.values;
  17492. export = values;
  17493. }
  17494. declare module "lodash/valuesIn" {
  17495. const valuesIn: typeof _.valuesIn;
  17496. export = valuesIn;
  17497. }
  17498. declare module "lodash/without" {
  17499. const without: typeof _.without;
  17500. export = without;
  17501. }
  17502. declare module "lodash/words" {
  17503. const words: typeof _.words;
  17504. export = words;
  17505. }
  17506. declare module "lodash/wrap" {
  17507. const wrap: typeof _.wrap;
  17508. export = wrap;
  17509. }
  17510. declare module "lodash/xor" {
  17511. const xor: typeof _.xor;
  17512. export = xor;
  17513. }
  17514. declare module "lodash/xorBy" {
  17515. const xorBy: typeof _.xorBy;
  17516. export = xorBy;
  17517. }
  17518. declare module "lodash/xorWith" {
  17519. const xorWith: typeof _.xorWith;
  17520. export = xorWith;
  17521. }
  17522. declare module "lodash/zip" {
  17523. const zip: typeof _.zip;
  17524. export = zip;
  17525. }
  17526. declare module "lodash/zipObject" {
  17527. const zipObject: typeof _.zipObject;
  17528. export = zipObject;
  17529. }
  17530. /**
  17531. * uncoment it if definition exists
  17532. */
  17533. /*
  17534. declare module "lodash/zipObjectDeep" {
  17535. const zipObjectDeep: typeof _.zipObjectDeep;
  17536. export = zipObjectDeep;
  17537. }
  17538. */
  17539. declare module "lodash/zipWith" {
  17540. const zipWith: typeof _.zipWith;
  17541. export = zipWith;
  17542. }
  17543. /**
  17544. * uncoment it if definition exists
  17545. */
  17546. /*
  17547. declare module "lodash/entries" {
  17548. const entries: typeof _.entries;
  17549. export = entries;
  17550. }
  17551. */
  17552. /**
  17553. * uncoment it if definition exists
  17554. */
  17555. /*
  17556. declare module "lodash/entriesIn" {
  17557. const entriesIn: typeof _.entriesIn;
  17558. export = entriesIn;
  17559. }
  17560. */
  17561. declare module "lodash/extend" {
  17562. const extend: typeof _.extend;
  17563. export = extend;
  17564. }
  17565. declare module "lodash/extendWith" {
  17566. const extendWith: typeof _.extendWith;
  17567. export = extendWith;
  17568. }
  17569. declare module "lodash/add" {
  17570. const add: typeof _.add;
  17571. export = add;
  17572. }
  17573. declare module "lodash/attempt" {
  17574. const attempt: typeof _.attempt;
  17575. export = attempt;
  17576. }
  17577. declare module "lodash/camelCase" {
  17578. const camelCase: typeof _.camelCase;
  17579. export = camelCase;
  17580. }
  17581. declare module "lodash/capitalize" {
  17582. const capitalize: typeof _.capitalize;
  17583. export = capitalize;
  17584. }
  17585. declare module "lodash/ceil" {
  17586. const ceil: typeof _.ceil;
  17587. export = ceil;
  17588. }
  17589. declare module "lodash/clamp" {
  17590. const clamp: typeof _.clamp;
  17591. export = clamp;
  17592. }
  17593. declare module "lodash/clone" {
  17594. const clone: typeof _.clone;
  17595. export = clone;
  17596. }
  17597. declare module "lodash/cloneDeep" {
  17598. const cloneDeep: typeof _.cloneDeep;
  17599. export = cloneDeep;
  17600. }
  17601. declare module "lodash/cloneDeepWith" {
  17602. const cloneDeepWith: typeof _.cloneDeepWith;
  17603. export = cloneDeepWith;
  17604. }
  17605. declare module "lodash/cloneWith" {
  17606. const cloneWith: typeof _.cloneWith;
  17607. export = cloneWith;
  17608. }
  17609. declare module "lodash/deburr" {
  17610. const deburr: typeof _.deburr;
  17611. export = deburr;
  17612. }
  17613. /**
  17614. * uncoment it if definition exists
  17615. */
  17616. /*
  17617. declare module "lodash/divide" {
  17618. const divide: typeof _.divide;
  17619. export = divide;
  17620. }
  17621. */
  17622. declare module "lodash/endsWith" {
  17623. const endsWith: typeof _.endsWith;
  17624. export = endsWith;
  17625. }
  17626. declare module "lodash/eq" {
  17627. const eq: typeof _.eq;
  17628. export = eq;
  17629. }
  17630. declare module "lodash/escape" {
  17631. const escape: typeof _.escape;
  17632. export = escape;
  17633. }
  17634. declare module "lodash/escapeRegExp" {
  17635. const escapeRegExp: typeof _.escapeRegExp;
  17636. export = escapeRegExp;
  17637. }
  17638. declare module "lodash/every" {
  17639. const every: typeof _.every;
  17640. export = every;
  17641. }
  17642. declare module "lodash/find" {
  17643. const find: typeof _.find;
  17644. export = find;
  17645. }
  17646. declare module "lodash/findIndex" {
  17647. const findIndex: typeof _.findIndex;
  17648. export = findIndex;
  17649. }
  17650. declare module "lodash/findKey" {
  17651. const findKey: typeof _.findKey;
  17652. export = findKey;
  17653. }
  17654. declare module "lodash/findLast" {
  17655. const findLast: typeof _.findLast;
  17656. export = findLast;
  17657. }
  17658. declare module "lodash/findLastIndex" {
  17659. const findLastIndex: typeof _.findLastIndex;
  17660. export = findLastIndex;
  17661. }
  17662. declare module "lodash/findLastKey" {
  17663. const findLastKey: typeof _.findLastKey;
  17664. export = findLastKey;
  17665. }
  17666. declare module "lodash/floor" {
  17667. const floor: typeof _.floor;
  17668. export = floor;
  17669. }
  17670. declare module "lodash/forEach" {
  17671. const forEach: typeof _.forEach;
  17672. export = forEach;
  17673. }
  17674. declare module "lodash/forEachRight" {
  17675. const forEachRight: typeof _.forEachRight;
  17676. export = forEachRight;
  17677. }
  17678. declare module "lodash/forIn" {
  17679. const forIn: typeof _.forIn;
  17680. export = forIn;
  17681. }
  17682. declare module "lodash/forInRight" {
  17683. const forInRight: typeof _.forInRight;
  17684. export = forInRight;
  17685. }
  17686. declare module "lodash/forOwn" {
  17687. const forOwn: typeof _.forOwn;
  17688. export = forOwn;
  17689. }
  17690. declare module "lodash/forOwnRight" {
  17691. const forOwnRight: typeof _.forOwnRight;
  17692. export = forOwnRight;
  17693. }
  17694. declare module "lodash/get" {
  17695. const get: typeof _.get;
  17696. export = get;
  17697. }
  17698. declare module "lodash/gt" {
  17699. const gt: typeof _.gt;
  17700. export = gt;
  17701. }
  17702. declare module "lodash/gte" {
  17703. const gte: typeof _.gte;
  17704. export = gte;
  17705. }
  17706. declare module "lodash/has" {
  17707. const has: typeof _.has;
  17708. export = has;
  17709. }
  17710. declare module "lodash/hasIn" {
  17711. const hasIn: typeof _.hasIn;
  17712. export = hasIn;
  17713. }
  17714. declare module "lodash/head" {
  17715. const head: typeof _.head;
  17716. export = head;
  17717. }
  17718. declare module "lodash/identity" {
  17719. const identity: typeof _.identity;
  17720. export = identity;
  17721. }
  17722. declare module "lodash/includes" {
  17723. const includes: typeof _.includes;
  17724. export = includes;
  17725. }
  17726. declare module "lodash/indexOf" {
  17727. const indexOf: typeof _.indexOf;
  17728. export = indexOf;
  17729. }
  17730. declare module "lodash/inRange" {
  17731. const inRange: typeof _.inRange;
  17732. export = inRange;
  17733. }
  17734. declare module "lodash/invoke" {
  17735. const invoke: typeof _.invoke;
  17736. export = invoke;
  17737. }
  17738. declare module "lodash/isArguments" {
  17739. const isArguments: typeof _.isArguments;
  17740. export = isArguments;
  17741. }
  17742. declare module "lodash/isArray" {
  17743. const isArray: typeof _.isArray;
  17744. export = isArray;
  17745. }
  17746. declare module "lodash/isArrayBuffer" {
  17747. const isArrayBuffer: typeof _.isArrayBuffer;
  17748. export = isArrayBuffer;
  17749. }
  17750. declare module "lodash/isArrayLike" {
  17751. const isArrayLike: typeof _.isArrayLike;
  17752. export = isArrayLike;
  17753. }
  17754. declare module "lodash/isArrayLikeObject" {
  17755. const isArrayLikeObject: typeof _.isArrayLikeObject;
  17756. export = isArrayLikeObject;
  17757. }
  17758. declare module "lodash/isBoolean" {
  17759. const isBoolean: typeof _.isBoolean;
  17760. export = isBoolean;
  17761. }
  17762. declare module "lodash/isBuffer" {
  17763. const isBuffer: typeof _.isBuffer;
  17764. export = isBuffer;
  17765. }
  17766. declare module "lodash/isDate" {
  17767. const isDate: typeof _.isDate;
  17768. export = isDate;
  17769. }
  17770. declare module "lodash/isElement" {
  17771. const isElement: typeof _.isElement;
  17772. export = isElement;
  17773. }
  17774. declare module "lodash/isEmpty" {
  17775. const isEmpty: typeof _.isEmpty;
  17776. export = isEmpty;
  17777. }
  17778. declare module "lodash/isEqual" {
  17779. const isEqual: typeof _.isEqual;
  17780. export = isEqual;
  17781. }
  17782. declare module "lodash/isEqualWith" {
  17783. const isEqualWith: typeof _.isEqualWith;
  17784. export = isEqualWith;
  17785. }
  17786. declare module "lodash/isError" {
  17787. const isError: typeof _.isError;
  17788. export = isError;
  17789. }
  17790. declare module "lodash/isFinite" {
  17791. const isFinite: typeof _.isFinite;
  17792. export = isFinite;
  17793. }
  17794. declare module "lodash/isFunction" {
  17795. const isFunction: typeof _.isFunction;
  17796. export = isFunction;
  17797. }
  17798. declare module "lodash/isInteger" {
  17799. const isInteger: typeof _.isInteger;
  17800. export = isInteger;
  17801. }
  17802. declare module "lodash/isLength" {
  17803. const isLength: typeof _.isLength;
  17804. export = isLength;
  17805. }
  17806. declare module "lodash/isMap" {
  17807. const isMap: typeof _.isMap;
  17808. export = isMap;
  17809. }
  17810. declare module "lodash/isMatch" {
  17811. const isMatch: typeof _.isMatch;
  17812. export = isMatch;
  17813. }
  17814. declare module "lodash/isMatchWith" {
  17815. const isMatchWith: typeof _.isMatchWith;
  17816. export = isMatchWith;
  17817. }
  17818. declare module "lodash/isNaN" {
  17819. const isNaN: typeof _.isNaN;
  17820. export = isNaN;
  17821. }
  17822. declare module "lodash/isNative" {
  17823. const isNative: typeof _.isNative;
  17824. export = isNative;
  17825. }
  17826. declare module "lodash/isNil" {
  17827. const isNil: typeof _.isNil;
  17828. export = isNil;
  17829. }
  17830. declare module "lodash/isNull" {
  17831. const isNull: typeof _.isNull;
  17832. export = isNull;
  17833. }
  17834. declare module "lodash/isNumber" {
  17835. const isNumber: typeof _.isNumber;
  17836. export = isNumber;
  17837. }
  17838. declare module "lodash/isObject" {
  17839. const isObject: typeof _.isObject;
  17840. export = isObject;
  17841. }
  17842. declare module "lodash/isObjectLike" {
  17843. const isObjectLike: typeof _.isObjectLike;
  17844. export = isObjectLike;
  17845. }
  17846. declare module "lodash/isPlainObject" {
  17847. const isPlainObject: typeof _.isPlainObject;
  17848. export = isPlainObject;
  17849. }
  17850. declare module "lodash/isRegExp" {
  17851. const isRegExp: typeof _.isRegExp;
  17852. export = isRegExp;
  17853. }
  17854. declare module "lodash/isSafeInteger" {
  17855. const isSafeInteger: typeof _.isSafeInteger;
  17856. export = isSafeInteger;
  17857. }
  17858. declare module "lodash/isSet" {
  17859. const isSet: typeof _.isSet;
  17860. export = isSet;
  17861. }
  17862. declare module "lodash/isString" {
  17863. const isString: typeof _.isString;
  17864. export = isString;
  17865. }
  17866. declare module "lodash/isSymbol" {
  17867. const isSymbol: typeof _.isSymbol;
  17868. export = isSymbol;
  17869. }
  17870. declare module "lodash/isTypedArray" {
  17871. const isTypedArray: typeof _.isTypedArray;
  17872. export = isTypedArray;
  17873. }
  17874. declare module "lodash/isUndefined" {
  17875. const isUndefined: typeof _.isUndefined;
  17876. export = isUndefined;
  17877. }
  17878. declare module "lodash/isWeakMap" {
  17879. const isWeakMap: typeof _.isWeakMap;
  17880. export = isWeakMap;
  17881. }
  17882. declare module "lodash/isWeakSet" {
  17883. const isWeakSet: typeof _.isWeakSet;
  17884. export = isWeakSet;
  17885. }
  17886. declare module "lodash/join" {
  17887. const join: typeof _.join;
  17888. export = join;
  17889. }
  17890. declare module "lodash/kebabCase" {
  17891. const kebabCase: typeof _.kebabCase;
  17892. export = kebabCase;
  17893. }
  17894. declare module "lodash/last" {
  17895. const last: typeof _.last;
  17896. export = last;
  17897. }
  17898. declare module "lodash/lastIndexOf" {
  17899. const lastIndexOf: typeof _.lastIndexOf;
  17900. export = lastIndexOf;
  17901. }
  17902. declare module "lodash/lowerCase" {
  17903. const lowerCase: typeof _.lowerCase;
  17904. export = lowerCase;
  17905. }
  17906. declare module "lodash/lowerFirst" {
  17907. const lowerFirst: typeof _.lowerFirst;
  17908. export = lowerFirst;
  17909. }
  17910. declare module "lodash/lt" {
  17911. const lt: typeof _.lt;
  17912. export = lt;
  17913. }
  17914. declare module "lodash/lte" {
  17915. const lte: typeof _.lte;
  17916. export = lte;
  17917. }
  17918. declare module "lodash/max" {
  17919. const max: typeof _.max;
  17920. export = max;
  17921. }
  17922. declare module "lodash/maxBy" {
  17923. const maxBy: typeof _.maxBy;
  17924. export = maxBy;
  17925. }
  17926. declare module "lodash/mean" {
  17927. const mean: typeof _.mean;
  17928. export = mean;
  17929. }
  17930. /**
  17931. * uncoment it if definition exists
  17932. */
  17933. /*
  17934. declare module "lodash/meanBy" {
  17935. const meanBy: typeof _.meanBy;
  17936. export = meanBy;
  17937. }
  17938. */
  17939. declare module "lodash/min" {
  17940. const min: typeof _.min;
  17941. export = min;
  17942. }
  17943. declare module "lodash/minBy" {
  17944. const minBy: typeof _.minBy;
  17945. export = minBy;
  17946. }
  17947. /**
  17948. * uncoment it if definition exists
  17949. */
  17950. /*
  17951. declare module "lodash/multiply" {
  17952. const multiply: typeof _.multiply;
  17953. export = multiply;
  17954. }
  17955. */
  17956. /**
  17957. * uncoment it if definition exists
  17958. */
  17959. /*
  17960. declare module "lodash/nth" {
  17961. const nth: typeof _.nth;
  17962. export = nth;
  17963. }
  17964. */
  17965. declare module "lodash/noConflict" {
  17966. const noConflict: typeof _.noConflict;
  17967. export = noConflict;
  17968. }
  17969. declare module "lodash/noop" {
  17970. const noop: typeof _.noop;
  17971. export = noop;
  17972. }
  17973. declare module "lodash/now" {
  17974. const now: typeof _.now;
  17975. export = now;
  17976. }
  17977. declare module "lodash/pad" {
  17978. const pad: typeof _.pad;
  17979. export = pad;
  17980. }
  17981. declare module "lodash/padEnd" {
  17982. const padEnd: typeof _.padEnd;
  17983. export = padEnd;
  17984. }
  17985. declare module "lodash/padStart" {
  17986. const padStart: typeof _.padStart;
  17987. export = padStart;
  17988. }
  17989. declare module "lodash/parseInt" {
  17990. const parseInt: typeof _.parseInt;
  17991. export = parseInt;
  17992. }
  17993. declare module "lodash/random" {
  17994. const random: typeof _.random;
  17995. export = random;
  17996. }
  17997. declare module "lodash/reduce" {
  17998. const reduce: typeof _.reduce;
  17999. export = reduce;
  18000. }
  18001. declare module "lodash/reduceRight" {
  18002. const reduceRight: typeof _.reduceRight;
  18003. export = reduceRight;
  18004. }
  18005. declare module "lodash/repeat" {
  18006. const repeat: typeof _.repeat;
  18007. export = repeat;
  18008. }
  18009. declare module "lodash/replace" {
  18010. const replace: typeof _.replace;
  18011. export = replace;
  18012. }
  18013. declare module "lodash/result" {
  18014. const result: typeof _.result;
  18015. export = result;
  18016. }
  18017. declare module "lodash/round" {
  18018. const round: typeof _.round;
  18019. export = round;
  18020. }
  18021. declare module "lodash/runInContext" {
  18022. const runInContext: typeof _.runInContext;
  18023. export = runInContext;
  18024. }
  18025. declare module "lodash/sample" {
  18026. const sample: typeof _.sample;
  18027. export = sample;
  18028. }
  18029. declare module "lodash/size" {
  18030. const size: typeof _.size;
  18031. export = size;
  18032. }
  18033. declare module "lodash/snakeCase" {
  18034. const snakeCase: typeof _.snakeCase;
  18035. export = snakeCase;
  18036. }
  18037. declare module "lodash/some" {
  18038. const some: typeof _.some;
  18039. export = some;
  18040. }
  18041. declare module "lodash/sortedIndex" {
  18042. const sortedIndex: typeof _.sortedIndex;
  18043. export = sortedIndex;
  18044. }
  18045. declare module "lodash/sortedIndexBy" {
  18046. const sortedIndexBy: typeof _.sortedIndexBy;
  18047. export = sortedIndexBy;
  18048. }
  18049. declare module "lodash/sortedIndexOf" {
  18050. const sortedIndexOf: typeof _.sortedIndexOf;
  18051. export = sortedIndexOf;
  18052. }
  18053. declare module "lodash/sortedLastIndex" {
  18054. const sortedLastIndex: typeof _.sortedLastIndex;
  18055. export = sortedLastIndex;
  18056. }
  18057. declare module "lodash/sortedLastIndexBy" {
  18058. const sortedLastIndexBy: typeof _.sortedLastIndexBy;
  18059. export = sortedLastIndexBy;
  18060. }
  18061. declare module "lodash/sortedLastIndexOf" {
  18062. const sortedLastIndexOf: typeof _.sortedLastIndexOf;
  18063. export = sortedLastIndexOf;
  18064. }
  18065. declare module "lodash/startCase" {
  18066. const startCase: typeof _.startCase;
  18067. export = startCase;
  18068. }
  18069. declare module "lodash/startsWith" {
  18070. const startsWith: typeof _.startsWith;
  18071. export = startsWith;
  18072. }
  18073. declare module "lodash/subtract" {
  18074. const subtract: typeof _.subtract;
  18075. export = subtract;
  18076. }
  18077. declare module "lodash/sum" {
  18078. const sum: typeof _.sum;
  18079. export = sum;
  18080. }
  18081. declare module "lodash/sumBy" {
  18082. const sumBy: typeof _.sumBy;
  18083. export = sumBy;
  18084. }
  18085. declare module "lodash/template" {
  18086. const template: typeof _.template;
  18087. export = template;
  18088. }
  18089. declare module "lodash/times" {
  18090. const times: typeof _.times;
  18091. export = times;
  18092. }
  18093. declare module "lodash/toInteger" {
  18094. const toInteger: typeof _.toInteger;
  18095. export = toInteger;
  18096. }
  18097. declare module "lodash/toLength" {
  18098. const toLength: typeof _.toLength;
  18099. export = toLength;
  18100. }
  18101. declare module "lodash/toLower" {
  18102. const toLower: typeof _.toLower;
  18103. export = toLower;
  18104. }
  18105. declare module "lodash/toNumber" {
  18106. const toNumber: typeof _.toNumber;
  18107. export = toNumber;
  18108. }
  18109. declare module "lodash/toSafeInteger" {
  18110. const toSafeInteger: typeof _.toSafeInteger;
  18111. export = toSafeInteger;
  18112. }
  18113. declare module "lodash/toString" {
  18114. const toString: typeof _.toString;
  18115. export = toString;
  18116. }
  18117. declare module "lodash/toUpper" {
  18118. const toUpper: typeof _.toUpper;
  18119. export = toUpper;
  18120. }
  18121. declare module "lodash/trim" {
  18122. const trim: typeof _.trim;
  18123. export = trim;
  18124. }
  18125. declare module "lodash/trimEnd" {
  18126. const trimEnd: typeof _.trimEnd;
  18127. export = trimEnd;
  18128. }
  18129. declare module "lodash/trimStart" {
  18130. const trimStart: typeof _.trimStart;
  18131. export = trimStart;
  18132. }
  18133. declare module "lodash/truncate" {
  18134. const truncate: typeof _.truncate;
  18135. export = truncate;
  18136. }
  18137. declare module "lodash/unescape" {
  18138. const unescape: typeof _.unescape;
  18139. export = unescape;
  18140. }
  18141. declare module "lodash/uniqueId" {
  18142. const uniqueId: typeof _.uniqueId;
  18143. export = uniqueId;
  18144. }
  18145. declare module "lodash/upperCase" {
  18146. const upperCase: typeof _.upperCase;
  18147. export = upperCase;
  18148. }
  18149. declare module "lodash/upperFirst" {
  18150. const upperFirst: typeof _.upperFirst;
  18151. export = upperFirst;
  18152. }
  18153. declare module "lodash/each" {
  18154. const each: typeof _.each;
  18155. export = each;
  18156. }
  18157. declare module "lodash/eachRight" {
  18158. const eachRight: typeof _.eachRight;
  18159. export = eachRight;
  18160. }
  18161. declare module "lodash/first" {
  18162. const first: typeof _.first;
  18163. export = first;
  18164. }
  18165. declare module "lodash/fp" {
  18166. export = _;
  18167. }
  18168. declare module "lodash" {
  18169. export = _;
  18170. }
  18171. // Backward compatibility with --target es5
  18172. interface Set<T> {}
  18173. interface Map<K, V> {}
  18174. interface WeakSet<T> {}
  18175. interface WeakMap<K, V> {}