diff --git a/lodash/lodash-tests.ts b/lodash/lodash-tests.ts index 974d0b966..c083edd4c 100644 --- a/lodash/lodash-tests.ts +++ b/lodash/lodash-tests.ts @@ -104,46 +104,43 @@ result = <(key: string) => any>testMapCache.get; result = <(key: string) => boolean>testMapCache.has; result = <(key: string, value: any) => _.Dictionary>testMapCache.set; -/************* - * Chaining * - *************/ -result = <_.LoDashWrapper>_('test'); -result = <_.LoDashWrapper>_(1); -result = <_.LoDashWrapper>_(true); -result = <_.LoDashArrayWrapper>_(['test1', 'test2']); -// Appears to be a change in the compiler, if the type explicity implements the object indexer. -// Looking at: https://typescript.codeplex.com/wikipage?title=Known%20breaking%20changes%20between%200.8%20and%200.9&referringTitle=Documentation -// "The ‘noimplicitany’ option now warns on the use of the hidden default indexer" -result = <_.LoDashObjectWrapper<_.Dictionary>>_(<{ [index: string]: string; }>{ 'key1': 'test1', 'key2': 'test2' }); +// _ +module TestWrapper { + { + let result: _.LoDashImplicitWrapper; + result = _(''); + } -result = <_.LoDashWrapper>_.chain('test'); -result = <_.LoDashWrapper>_('test').chain(); -result = <_.LoDashWrapper>_.chain(1); -result = <_.LoDashWrapper>_(1).chain(); -result = <_.LoDashWrapper>_.chain(true); -result = <_.LoDashWrapper>_(true).chain(); -result = <_.LoDashArrayWrapper>_.chain(['test1', 'test2']); -result = <_.LoDashArrayWrapper>_(['test1', 'test2']).chain(); -result = <_.LoDashObjectWrapper<_.Dictionary>>_.chain(<{ [index: string]: string; }>{ 'key1': 'test1', 'key2': 'test2' }); -result = <_.LoDashObjectWrapper<_.Dictionary>>_(<{ [index: string]: string; }>{ 'key1': 'test1', 'key2': 'test2' }).chain(); + { + let result: _.LoDashImplicitWrapper; + result = _(42); + } + + { + let result: _.LoDashImplicitWrapper; + result = _(true); + } + + { + let result: _.LoDashImplicitArrayWrapper; + result = _(['']); + } + + { + let result: _.LoDashImplicitObjectWrapper<{a: string}>; + result = _<{a: string}>({a: ''}); + } +} //Wrapped array shortcut methods -result = <_.LoDashArrayWrapper>_([1, 2, 3, 4]).concat(5, 6); -result = <_.LoDashArrayWrapper>_([1, 2, 3, 4]).concat([5, 6]); result = _([1, 2, 3, 4]).join(','); result = _([1, 2, 3, 4]).pop(); -result = <_.LoDashArrayWrapper>_([1, 2, 3, 4]).push(5, 6, 7); -result = <_.LoDashArrayWrapper>_([1, 2, 3, 4]).reverse(); +result = <_.LoDashImplicitArrayWrapper>_([1, 2, 3, 4]).push(5, 6, 7); result = _([1, 2, 3, 4]).shift(); -result = <_.LoDashArrayWrapper>_([1, 2, 3, 4]).sort((a, b) => 1); -result = <_.LoDashArrayWrapper>_([1, 2, 3, 4]).splice(1); -result = <_.LoDashArrayWrapper>_([1, 2, 3, 4]).splice(1, 2, 5, 6); -result = <_.LoDashArrayWrapper>_([1, 2, 3, 4]).unshift(5, 6); - -result = _.tap([1, 2, 3, 4], function (array) { console.log(array); }); -result = <_.LoDashWrapper>_('test').tap(function (value) { console.log(value); }); -result = <_.LoDashArrayWrapper>_([1, 2, 3, 4]).tap(function (array) { console.log(array); }); -result = <_.LoDashObjectWrapper<_.Dictionary>>_(<{ [index: string]: string; }>{ 'key1': 'test1', 'key2': 'test2' }).tap(function (array) { console.log(array); }); +result = <_.LoDashImplicitArrayWrapper>_([1, 2, 3, 4]).sort((a, b) => 1); +result = <_.LoDashImplicitArrayWrapper>_([1, 2, 3, 4]).splice(1); +result = <_.LoDashImplicitArrayWrapper>_([1, 2, 3, 4]).splice(1, 2, 5, 6); +result = <_.LoDashImplicitArrayWrapper>_([1, 2, 3, 4]).unshift(5, 6); result = _('test').toString(); result = _([1, 2, 3]).toString(); @@ -412,10 +409,10 @@ result = >_.flatten([1, [2], [[3]]], true); result = >_.flatten([1, [2], [3, [[4]]]], true); result = >_.flatten([1, [2], [3, [[false]]]], true); -result = <_.LoDashArrayWrapper>_([[1, 2], [3, 4], 5, 6]).flatten(); -result = <_.LoDashArrayWrapper>>>_([1, [2], [3, [[4]]]]).flatten(); +result = <_.LoDashImplicitArrayWrapper>_([[1, 2], [3, 4], 5, 6]).flatten(); +result = <_.LoDashImplicitArrayWrapper>>>_([1, [2], [3, [[4]]]]).flatten(); -result = <_.LoDashArrayWrapper>_([1, [2], [3, [[4]]]]).flatten(true); +result = <_.LoDashImplicitArrayWrapper>_([1, [2], [3, [[4]]]]).flatten(true); // _.flattenDeep module TestFlattenDeep { @@ -1053,76 +1050,417 @@ result = _([1, 2]).zipWith([1, 2], [1, 2], [1, 2], [1, 2], [1, * Chain * *********/ +// _.chain +module TestChain { + { + let result: _.LoDashExplicitWrapper; + + result = _.chain(''); + result = _('').chain(); + + result = _.chain('').chain(); + result = _('').chain().chain(); + } + + { + let result: _.LoDashExplicitWrapper; + + result = _.chain(42); + result = _(42).chain(); + } + + { + let result: _.LoDashExplicitWrapper; + + result = _.chain(true); + result = _(true).chain(); + } + + { + let result: _.LoDashExplicitArrayWrapper; + + result = _.chain(['']); + result = _(['']).chain(); + } + + { + let result: _.LoDashExplicitObjectWrapper<{a: string}>; + + result = _.chain<{a: string}>({a: ''}); + result = _<{a: string}>({a: ''}).chain(); + } +} + +// _.tap +module TestTap { + { + let interceptor: (value: string) => void; + let result: string; + + _.tap('', interceptor); + _.tap('', interceptor, any); + } + + { + let interceptor: (value: string[]) => void; + let result: _.LoDashImplicitArrayWrapper; + + _.tap([''], interceptor); + _.tap([''], interceptor, any); + } + + { + let interceptor: (value: {a: string}) => void; + let result: _.LoDashImplicitObjectWrapper<{a: string}>; + + _.tap({a: ''}, interceptor); + _.tap({a: ''}, interceptor, any); + } + + { + let interceptor: (value: string) => void; + let result: _.LoDashImplicitWrapper; + + _.chain('').tap(interceptor, any); + _.chain('').tap(interceptor, any); + + _('').tap(interceptor); + _('').tap(interceptor, any); + } + + { + let interceptor: (value: string[]) => void; + let result: _.LoDashImplicitArrayWrapper; + + _.chain(['']).tap(interceptor); + _.chain(['']).tap(interceptor, any); + + _(['']).tap(interceptor); + _(['']).tap(interceptor, any); + } + + { + let interceptor: (value: {a: string}) => void; + let result: _.LoDashImplicitObjectWrapper<{a: string}>; + + _.chain({a: ''}).tap(interceptor); + _.chain({a: ''}).tap(interceptor, any); + + _({a: ''}).tap(interceptor); + _({a: ''}).tap(interceptor, any); + } + + { + let interceptor: (value: string) => void; + let result: _.LoDashExplicitWrapper; + + _.chain('').tap(interceptor, any); + _.chain('').tap(interceptor, any); + + _('').chain().tap(interceptor); + _('').chain().tap(interceptor, any); + } + + { + let interceptor: (value: string[]) => void; + let result: _.LoDashExplicitArrayWrapper; + + _.chain(['']).tap(interceptor); + _.chain(['']).tap(interceptor, any); + + _(['']).chain().tap(interceptor); + _(['']).chain().tap(interceptor, any); + } + + { + let interceptor: (value: {a: string}) => void; + let result: _.LoDashExplicitObjectWrapper<{a: string}>; + + _.chain({a: ''}).tap(interceptor); + _.chain({a: ''}).tap(interceptor, any); + + _({a: ''}).chain().tap(interceptor); + _({a: ''}).chain().tap(interceptor, any); + } +} + // _.thru -{ - let result: number; - result = _.thru(1, (value: number) => value); - result = _.thru(1, (value: number) => value, any); -} -{ - let result: _.LoDashWrapper; - result = _(1).thru((value: number) => value); - result = _(1).thru((value: number) => value, any); -} -{ - let result: _.LoDashWrapper; - result = _('').thru((value: string) => value); - result = _('').thru((value: string) => value, any); -} -{ - let result: _.LoDashWrapper; - result = _(true).thru((value: boolean) => value); - result = _(true).thru((value: boolean) => value, any); -} -{ - let result: _.LoDashObjectWrapper; - result = _({}).thru((value: Object) => value); - result = _({}).thru((value: Object) => value, any); -} -{ - let result: _.LoDashArrayWrapper; - result = _([1, 2, 3]).thru((value: number[]) => value); - result = _([1, 2, 3]).thru((value: number[]) => value, any); +module TestThru { + interface Interceptor { + (value: T): T; + } + + { + let interceptor: Interceptor; + let result: number; + + result = _.thru(1, interceptor); + result = _.thru(1, interceptor, any); + } + + { + let interceptor: Interceptor; + let result: _.LoDashImplicitWrapper; + + result = _(1).thru(interceptor); + result = _(1).thru(interceptor, any); + } + + { + let interceptor: Interceptor; + let result: _.LoDashImplicitWrapper; + + result = _('').thru(interceptor); + result = _('').thru(interceptor, any); + } + + { + let interceptor: Interceptor; + let result: _.LoDashImplicitWrapper; + + result = _(true).thru(interceptor); + result = _(true).thru(interceptor, any); + } + + { + let interceptor: Interceptor<{a: string}>; + let result: _.LoDashImplicitObjectWrapper<{a: string}>; + + result = _({a: ''}).thru<{a: string}>(interceptor); + result = _({a: ''}).thru<{a: string}>(interceptor, any); + } + + { + let interceptor: Interceptor; + let result: _.LoDashImplicitArrayWrapper; + + result = _([1, 2, 3]).thru(interceptor); + result = _([1, 2, 3]).thru(interceptor, any); + } + + { + let interceptor: Interceptor; + let result: _.LoDashExplicitWrapper; + + result = _(1).chain().thru(interceptor); + result = _(1).chain().thru(interceptor, any); + } + + { + let interceptor: Interceptor; + let result: _.LoDashExplicitWrapper; + + result = _('').chain().thru(interceptor); + result = _('').chain().thru(interceptor, any); + } + + { + let interceptor: Interceptor; + let result: _.LoDashExplicitWrapper; + + result = _(true).chain().thru(interceptor); + result = _(true).chain().thru(interceptor, any); + } + + { + let interceptor: Interceptor<{a: string}>; + let result: _.LoDashExplicitObjectWrapper<{a: string}>; + + result = _({a: ''}).chain().thru<{a: string}>(interceptor); + result = _({a: ''}).chain().thru<{a: string}>(interceptor, any); + } + + { + let interceptor: Interceptor; + let result: _.LoDashExplicitArrayWrapper; + + result = _([1, 2, 3]).chain().thru(interceptor); + result = _([1, 2, 3]).chain().thru(interceptor, any); + } } // _.prototype.commit -{ - let result: _.LoDashWrapper; - result = _(42).commit(); +module TestCommit { + { + let result: _.LoDashImplicitWrapper; + result = _(42).commit(); + } + + { + let result: _.LoDashImplicitArrayWrapper; + result = _([]).commit(); + } + + { + let result: _.LoDashImplicitObjectWrapper; + result = _({}).commit(); + } + + { + let result: _.LoDashExplicitWrapper; + result = _(42).chain().commit(); + } + + { + let result: _.LoDashExplicitArrayWrapper; + result = _([]).chain().commit(); + } + + { + let result: _.LoDashExplicitObjectWrapper; + result = _({}).chain().commit(); + } } -{ - let result: _.LoDashArrayWrapper; - result = _([]).commit(); -} -{ - let result: _.LoDashObjectWrapper; - result = _({}).commit(); + +// _.prototype.concat +module TestConcat { + { + let result: _.LoDashImplicitArrayWrapper; + + result = _(1).concat(2); + result = _(1).concat(2, 3); + result = _(1).concat(2, 3, 4); + + result = _(1).concat(2); + result = _(1).concat(2, 3); + result = _(1).concat(2, 3, 4); + } + + { + let result: _.LoDashImplicitArrayWrapper; + + result = _(['']).concat(['']); + result = _(['']).concat([''], ['']); + result = _(['']).concat([''], [''], ['']); + + result = _(['']).concat(['']); + result = _(['']).concat([''], ['']); + result = _(['']).concat([''], [''], ['']); + } + + { + let result: _.LoDashImplicitArrayWrapper<{a: string}>; + + result = _({a: ''}).concat<{a: string}>({a: ''}); + result = _({a: ''}).concat<{a: string}>({a: ''}, {a: ''}); + result = _({a: ''}).concat<{a: string}>({a: ''}, {a: ''}, {a: ''}); + + result = _({a: ''}).concat({a: ''}); + result = _({a: ''}).concat({a: ''}, {a: ''}); + result = _({a: ''}).concat({a: ''}, {a: ''}, {a: ''}); + } + + { + let result: _.LoDashExplicitArrayWrapper; + + result = _(1).chain().concat(2); + result = _(1).chain().concat(2, 3); + result = _(1).chain().concat(2, 3, 4); + + result = _(1).chain().concat(2); + result = _(1).chain().concat(2, 3); + result = _(1).chain().concat(2, 3, 4); + } + + { + let result: _.LoDashExplicitArrayWrapper; + + result = _(['']).chain().concat(['']); + result = _(['']).chain().concat([''], ['']); + result = _(['']).chain().concat([''], [''], ['']); + + result = _(['']).chain().concat(['']); + result = _(['']).chain().concat([''], ['']); + result = _(['']).chain().concat([''], [''], ['']); + } + + { + let result: _.LoDashExplicitArrayWrapper<{a: string}>; + + result = _({a: ''}).chain().concat<{a: string}>({a: ''}); + result = _({a: ''}).chain().concat<{a: string}>({a: ''}, {a: ''}); + result = _({a: ''}).chain().concat<{a: string}>({a: ''}, {a: ''}, {a: ''}); + + result = _({a: ''}).chain().concat({a: ''}); + result = _({a: ''}).chain().concat({a: ''}, {a: ''}); + result = _({a: ''}).chain().concat({a: ''}, {a: ''}, {a: ''}); + } } // _.prototype.plant -{ - let result: _.LoDashWrapper; - result = _(any).plant(42); +module TestPlant { + { + let result: _.LoDashImplicitWrapper; + result = _(any).plant(42); + } + + { + let result: _.LoDashImplicitStringWrapper; + result = _(any).plant(''); + } + + { + let result: _.LoDashImplicitWrapper; + result = _(any).plant(true); + } + + { + let result: _.LoDashImplicitNumberArrayWrapper; + result = _(any).plant([42]); + } + + { + let result: _.LoDashImplicitArrayWrapper; + result = _(any).plant([]); + } + + { + let result: _.LoDashImplicitObjectWrapper<{}>; + result = _(any).plant<{}>({}); + } + + { + let result: _.LoDashExplicitWrapper; + result = _(any).chain().plant(42); + } + + { + let result: _.LoDashExplicitStringWrapper; + result = _(any).chain().plant(''); + } + + { + let result: _.LoDashExplicitWrapper; + result = _(any).chain().plant(true); + } + + { + let result: _.LoDashExplicitNumberArrayWrapper; + result = _(any).chain().plant([42]); + } + + { + let result: _.LoDashExplicitArrayWrapper; + result = _(any).chain().plant([]); + } + + { + let result: _.LoDashExplicitObjectWrapper<{}>; + result = _(any).chain().plant<{}>({}); + } } -{ - let result: _.LoDashStringWrapper; - result = _(any).plant(''); -} -{ - let result: _.LoDashWrapper; - result = _(any).plant(true); -} -{ - let result: _.LoDashNumberArrayWrapper; - result = _(any).plant([42]); -} -{ - let result: _.LoDashArrayWrapper; - result = _(any).plant([]); -} -{ - let result: _.LoDashObjectWrapper<{}>; - result = _(any).plant<{}>({}); + +// _.prototype.reverse +module TestReverse { + { + let result: _.LoDashImplicitArrayWrapper; + result: _([42]).reverse(); + } + + { + let result: _.LoDashExplicitArrayWrapper; + result: _([42]).chain().reverse(); + } } /************** @@ -1318,9 +1656,9 @@ result = <_.Dictionary>_.countBy([4.3, 6.1, 6.4], function (num) { retur result = <_.Dictionary>_.countBy([4.3, 6.1, 6.4], function (num) { return this.floor(num); }, Math); result = <_.Dictionary>_.countBy(['one', 'two', 'three'], 'length'); -result = <_.LoDashObjectWrapper<_.Dictionary>>_([4.3, 6.1, 6.4]).countBy(function (num) { return Math.floor(num); }); -result = <_.LoDashObjectWrapper<_.Dictionary>>_([4.3, 6.1, 6.4]).countBy(function (num) { return this.floor(num); }, Math); -result = <_.LoDashObjectWrapper<_.Dictionary>>_(['one', 'two', 'three']).countBy('length'); +result = <_.LoDashImplicitObjectWrapper<_.Dictionary>>_([4.3, 6.1, 6.4]).countBy(function (num) { return Math.floor(num); }); +result = <_.LoDashImplicitObjectWrapper<_.Dictionary>>_([4.3, 6.1, 6.4]).countBy(function (num) { return this.floor(num); }, Math); +result = <_.LoDashImplicitObjectWrapper<_.Dictionary>>_(['one', 'two', 'three']).countBy('length'); // _.detect module TestDetect { @@ -1509,11 +1847,11 @@ result = _.each([1, 2, 3], function (num) { console.log(num); }); result = <_.Dictionary>_.each({ 'one': 1, 'two': 2, 'three': 3 }, function (num) { console.log(num); }); result = _.each({ name: 'apple', type: 'fruit' }, function (value, key) { console.log(value, key) }); -result = <_.LoDashArrayWrapper>_([1, 2, 3]).forEach(function (num) { console.log(num); }); -result = <_.LoDashObjectWrapper<_.Dictionary>>_(<{ [index: string]: number; }>{ 'one': 1, 'two': 2, 'three': 3 }).forEach(function (num) { console.log(num); }); +result = <_.LoDashImplicitArrayWrapper>_([1, 2, 3]).forEach(function (num) { console.log(num); }); +result = <_.LoDashImplicitObjectWrapper<_.Dictionary>>_(<{ [index: string]: number; }>{ 'one': 1, 'two': 2, 'three': 3 }).forEach(function (num) { console.log(num); }); -result = <_.LoDashArrayWrapper>_([1, 2, 3]).each(function (num) { console.log(num); }); -result = <_.LoDashObjectWrapper<_.Dictionary>>_(<{ [index: string]: number; }>{ 'one': 1, 'two': 2, 'three': 3 }).each(function (num) { console.log(num); }); +result = <_.LoDashImplicitArrayWrapper>_([1, 2, 3]).each(function (num) { console.log(num); }); +result = <_.LoDashImplicitObjectWrapper<_.Dictionary>>_(<{ [index: string]: number; }>{ 'one': 1, 'two': 2, 'three': 3 }).each(function (num) { console.log(num); }); result = _.forEachRight([1, 2, 3], function (num) { console.log(num); }); result = <_.Dictionary>_.forEachRight({ 'one': 1, 'two': 2, 'three': 3 }, function (num) { console.log(num); }); @@ -1521,11 +1859,11 @@ result = <_.Dictionary>_.forEachRight({ 'one': 1, 'two': 2, 'three': 3 } result = _.eachRight([1, 2, 3], function (num) { console.log(num); }); result = <_.Dictionary>_.eachRight({ 'one': 1, 'two': 2, 'three': 3 }, function (num) { console.log(num); }); -result = <_.LoDashArrayWrapper>_([1, 2, 3]).forEachRight(function (num) { console.log(num); }); -result = <_.LoDashObjectWrapper<_.Dictionary>>_(<{ [index: string]: number; }>{ 'one': 1, 'two': 2, 'three': 3 }).forEachRight(function (num) { console.log(num); }); +result = <_.LoDashImplicitArrayWrapper>_([1, 2, 3]).forEachRight(function (num) { console.log(num); }); +result = <_.LoDashImplicitObjectWrapper<_.Dictionary>>_(<{ [index: string]: number; }>{ 'one': 1, 'two': 2, 'three': 3 }).forEachRight(function (num) { console.log(num); }); -result = <_.LoDashArrayWrapper>_([1, 2, 3]).eachRight(function (num) { console.log(num); }); -result = <_.LoDashObjectWrapper<_.Dictionary>>_(<{ [index: string]: number; }>{ 'one': 1, 'two': 2, 'three': 3 }).eachRight(function (num) { console.log(num); }); +result = <_.LoDashImplicitArrayWrapper>_([1, 2, 3]).eachRight(function (num) { console.log(num); }); +result = <_.LoDashImplicitObjectWrapper<_.Dictionary>>_(<{ [index: string]: number; }>{ 'one': 1, 'two': 2, 'three': 3 }).eachRight(function (num) { console.log(num); }); result = <_.Dictionary>_.groupBy([4.2, 6.1, 6.4], function (num) { return Math.floor(num); }); result = <_.Dictionary>_.groupBy([4.2, 6.1, 6.4], function (num) { return this.floor(num); }, Math); @@ -1764,14 +2102,14 @@ result = _(foodsCombined).reject({ 'type': 'fruit' }).value(); result = _.sample([1, 2, 3, 4]); result = _.sample([1, 2, 3, 4], 2); -result = <_.LoDashWrapper>_([1, 2, 3, 4]).sample(); -result = <_.LoDashArrayWrapper>_([1, 2, 3, 4]).sample(2); +result = <_.LoDashImplicitWrapper>_([1, 2, 3, 4]).sample(); +result = <_.LoDashImplicitArrayWrapper>_([1, 2, 3, 4]).sample(2); result = _([1, 2, 3, 4]).sample().value(); result = _([1, 2, 3, 4]).sample(2).value(); result = _.shuffle([1, 2, 3, 4, 5, 6]); -result = <_.LoDashArrayWrapper>_([1, 2, 3]).shuffle(); -result = <_.LoDashArrayWrapper<_.Dictionary>>_(<{ [index: string]: string; }>{ 'key1': 'test1', 'key2': 'test2' }).shuffle(); +result = <_.LoDashImplicitArrayWrapper>_([1, 2, 3]).shuffle(); +result = <_.LoDashImplicitArrayWrapper<_.Dictionary>>_(<{ [index: string]: string; }>{ 'key1': 'test1', 'key2': 'test2' }).shuffle(); result = _.size([1, 2]); result = _([1, 2]).size(); @@ -1860,7 +2198,24 @@ result = _(stoogesCombined).where({ 'quotes': ['Poifect!'] } * Date * ********/ -result = _.now(); +module TestNow { + { + let result: number; + + result = _.now(); + result = _(42).now(); + result = _([]).now(); + result = _({}).now(); + } + + { + let result: _.LoDashExplicitWrapper; + + result = _(42).chain().now(); + result = _([]).chain().now(); + result = _({}).chain().now(); + } +} /************* * Functions * @@ -1963,8 +2318,8 @@ result = _(testComposeSquareFn).compose<(n: number, m: number) => number var createCallbackObj: { [index: string]: string; } = { name: 'Joe' }; result = <() => any>_.createCallback('name'); result = <() => boolean>_.createCallback(createCallbackObj); -result = <_.LoDashObjectWrapper<() => any>>_('name').createCallback(); -result = <_.LoDashObjectWrapper<() => boolean>>_(createCallbackObj).createCallback(); +result = <_.LoDashImplicitObjectWrapper<() => any>>_('name').createCallback(); +result = <_.LoDashImplicitObjectWrapper<() => boolean>>_(createCallbackObj).createCallback(); // _.curry var testCurryFn = (a: number, b: number, c: number) => [a, b, c]; @@ -2028,14 +2383,14 @@ source.addEventListener('message', _.debounce(function () { }, 250, { 'maxWait': 1000 }), false); -result = <_.LoDashObjectWrapper>_(function () { }).debounce(150); +result = <_.LoDashImplicitObjectWrapper>_(function () { }).debounce(150); -jQuery('#postbox').on('click', <_.LoDashObjectWrapper>_(function () { }).debounce(300, { +jQuery('#postbox').on('click', <_.LoDashImplicitObjectWrapper>_(function () { }).debounce(300, { 'leading': true, 'trailing': false })); -source.addEventListener('message', <_.LoDashObjectWrapper>_(function () { }).debounce(250, { +source.addEventListener('message', <_.LoDashImplicitObjectWrapper>_(function () { }).debounce(250, { 'maxWait': 1000 }), false); @@ -2043,11 +2398,11 @@ var returnedDebounce = _.throttle(function (a: any) { return a * 5; }, 5); returnedThrottled(4); result = _.defer(function () { console.log('deferred'); }); -result = <_.LoDashWrapper>_(function () { console.log('deferred'); }).defer(); +result = <_.LoDashImplicitWrapper>_(function () { console.log('deferred'); }).defer(); var log = _.bind(console.log, console); result = _.delay(log, 1000, 'logged later'); -result = <_.LoDashWrapper>_(log).delay(1000, 'logged later'); +result = <_.LoDashImplicitWrapper>_(log).delay(1000, 'logged later'); // _.flow var testFlowSquareFn = (n: number) => n * n; @@ -2644,8 +2999,8 @@ result = _.assign({ 'name': 'moe' }, { 'age': 40 }, function (a, b) { return typeof a == 'undefined' ? b : a; }); -result = <_.LoDashObjectWrapper>_({ 'name': 'moe' }).assign({ 'age': 40 }); -result = <_.LoDashObjectWrapper>_({ 'name': 'moe' }).assign({ 'age': 40 }, function (a, b) { +result = <_.LoDashImplicitObjectWrapper>_({ 'name': 'moe' }).assign({ 'age': 40 }); +result = <_.LoDashImplicitObjectWrapper>_({ 'name': 'moe' }).assign({ 'age': 40 }, function (a, b) { return typeof a == 'undefined' ? b : a; }); @@ -2654,8 +3009,8 @@ result = _.extend({ 'name': 'moe' }, { 'age': 40 }, function (a, b) { return typeof a == 'undefined' ? b : a; }); -result = <_.LoDashObjectWrapper>_({ 'name': 'moe' }).extend({ 'age': 40 }); -result = <_.LoDashObjectWrapper>_({ 'name': 'moe' }).extend({ 'age': 40 }, function (a, b) { +result = <_.LoDashImplicitObjectWrapper>_({ 'name': 'moe' }).extend({ 'age': 40 }); +result = <_.LoDashImplicitObjectWrapper>_({ 'name': 'moe' }).extend({ 'age': 40 }, function (a, b) { return typeof a == 'undefined' ? b : a; }); @@ -2684,7 +3039,7 @@ interface Food { } var foodDefaults = { 'name': 'apple' }; result = _.defaults(foodDefaults, { 'name': 'banana', 'type': 'fruit' }); -result = <_.LoDashObjectWrapper>_(foodDefaults).defaults({ 'name': 'banana', 'type': 'fruit' }); +result = <_.LoDashImplicitObjectWrapper>_(foodDefaults).defaults({ 'name': 'banana', 'type': 'fruit' }); //_.defaultsDeep interface DefaultsDeepResult { @@ -2784,7 +3139,7 @@ result = _.forIn(new Dog('Dagny'), function (value, key) { console.log(key); }); -result = <_.LoDashObjectWrapper>_(new Dog('Dagny')).forIn(function (value, key) { +result = <_.LoDashImplicitObjectWrapper>_(new Dog('Dagny')).forIn(function (value, key) { console.log(key); }); @@ -2792,7 +3147,7 @@ result = _.forInRight(new Dog('Dagny'), function (value, key) { console.log(key); }); -result = <_.LoDashObjectWrapper>_(new Dog('Dagny')).forInRight(function (value, key) { +result = <_.LoDashImplicitObjectWrapper>_(new Dog('Dagny')).forInRight(function (value, key) { console.log(key); }); @@ -2806,7 +3161,7 @@ result = _.forOwn({ '0': 'zero', '1': 'one', 'one': '2' }, fun console.log(key); }); -result = <_.LoDashObjectWrapper>_({ '0': 'zero', '1': 'one', 'length': 2 }).forOwn(function (num, key) { +result = <_.LoDashImplicitObjectWrapper>_({ '0': 'zero', '1': 'one', 'length': 2 }).forOwn(function (num, key) { console.log(key); }); @@ -2814,15 +3169,15 @@ result = _.forOwnRight({ '0': 'zero', '1': 'one', 'length': 2 }, function ( console.log(key); }); -result = <_.LoDashObjectWrapper>_({ '0': 'zero', '1': 'one', 'length': 2 }).forOwnRight(function (num, key) { +result = <_.LoDashImplicitObjectWrapper>_({ '0': 'zero', '1': 'one', 'length': 2 }).forOwnRight(function (num, key) { console.log(key); }); result = _.functions(_); result = _.methods(_); -result = <_.LoDashArrayWrapper>_(_).functions(); -result = <_.LoDashArrayWrapper>_(_).methods(); +result = <_.LoDashImplicitArrayWrapper>_(_).functions(); +result = <_.LoDashImplicitArrayWrapper>_(_).methods(); // _.get result = _.get({ 'a': [{ 'b': { 'c': 3 } }] }, 'a[0].b.c'); diff --git a/lodash/lodash.d.ts b/lodash/lodash.d.ts index c07cfd0e3..881124328 100644 --- a/lodash/lodash.d.ts +++ b/lodash/lodash.d.ts @@ -38,13 +38,13 @@ declare module _ { * * Explicit chaining can be enabled by using the _.chain method. **/ - (value: number): LoDashWrapper; - (value: string): LoDashStringWrapper; - (value: boolean): LoDashWrapper; - (value: Array): LoDashNumberArrayWrapper; - (value: Array): LoDashArrayWrapper; - (value: T): LoDashObjectWrapper; - (value: any): LoDashWrapper; + (value: number): LoDashImplicitWrapper; + (value: string): LoDashImplicitStringWrapper; + (value: boolean): LoDashImplicitWrapper; + (value: Array): LoDashImplicitNumberArrayWrapper; + (value: Array): LoDashImplicitArrayWrapper; + (value: T): LoDashImplicitObjectWrapper; + (value: any): LoDashImplicitWrapper; /** * The semantic version number. @@ -211,101 +211,40 @@ declare module _ { unindexedChars: boolean; } - interface LoDashWrapperBase { - /** - * Produces the toString result of the wrapped value. - * @return Returns the string result. - **/ - toString(): string; + interface LoDashWrapperBase { } - /** - * Executes the chained sequence to extract the unwrapped value. - * @return Returns the resolved unwrapped value. - **/ - value(): T; + interface LoDashImplicitWrapperBase extends LoDashWrapperBase { } - /** - * @see _.value - **/ - run(): T; + interface LoDashExplicitWrapperBase extends LoDashWrapperBase { } - /** - * @see _.value - **/ - toJSON(): T; + interface LoDashImplicitWrapper extends LoDashImplicitWrapperBase> { } - /** - * @see _.value - **/ - valueOf(): T; - } + interface LoDashExplicitWrapper extends LoDashExplicitWrapperBase> { } - interface LoDashWrapper extends LoDashWrapperBase> { } + interface LoDashImplicitStringWrapper extends LoDashImplicitWrapper { } - interface LoDashStringWrapper extends LoDashWrapper { } + interface LoDashExplicitStringWrapper extends LoDashExplicitWrapper { } - interface LoDashObjectWrapper extends LoDashWrapperBase> { } + interface LoDashImplicitObjectWrapper extends LoDashImplicitWrapperBase> { } - interface LoDashArrayWrapper extends LoDashWrapperBase> { - concat(...items: Array>): LoDashArrayWrapper; + interface LoDashExplicitObjectWrapper extends LoDashExplicitWrapperBase> { } + + interface LoDashImplicitArrayWrapper extends LoDashImplicitWrapperBase> { join(seperator?: string): string; pop(): T; - push(...items: T[]): LoDashArrayWrapper; - reverse(): LoDashArrayWrapper; + push(...items: T[]): LoDashImplicitArrayWrapper; shift(): T; - sort(compareFn?: (a: T, b: T) => number): LoDashArrayWrapper; - splice(start: number): LoDashArrayWrapper; - splice(start: number, deleteCount: number, ...items: any[]): LoDashArrayWrapper; - unshift(...items: T[]): LoDashArrayWrapper; + sort(compareFn?: (a: T, b: T) => number): LoDashImplicitArrayWrapper; + splice(start: number): LoDashImplicitArrayWrapper; + splice(start: number, deleteCount: number, ...items: any[]): LoDashImplicitArrayWrapper; + unshift(...items: T[]): LoDashImplicitArrayWrapper; } - interface LoDashNumberArrayWrapper extends LoDashArrayWrapper { } + interface LoDashExplicitArrayWrapper extends LoDashExplicitWrapperBase> { } - //_.chain - interface LoDashStatic { - /** - * Creates a lodash object that wraps the given value with explicit method chaining enabled. - * @param value The value to wrap. - * @return The wrapper object. - **/ - chain(value: number): LoDashWrapper; - chain(value: string): LoDashWrapper; - chain(value: boolean): LoDashWrapper; - chain(value: Array): LoDashArrayWrapper; - chain(value: T): LoDashObjectWrapper; - chain(value: any): LoDashWrapper; - } + interface LoDashImplicitNumberArrayWrapper extends LoDashImplicitArrayWrapper { } - interface LoDashWrapperBase { - /** - * Enables explicit method chaining on the wrapper object. - * @see _.chain - * @return The wrapper object. - **/ - chain(): TWrapper; - } - - //_.tap - interface LoDashStatic { - /** - * Invokes interceptor with the value as the first argument and then returns value. The - * purpose of this method is to "tap into" a method chain in order to perform operations on - * intermediate results within the chain. - * @param value The value to provide to interceptor - * @param interceptor The function to invoke. - * @return value - **/ - tap( - value: T, - interceptor: (value: T) => void): T; - } - - interface LoDashWrapperBase { - /** - * @see _.tap - **/ - tap(interceptor: (value: T) => void): TWrapper; - } + interface LoDashExplicitNumberArrayWrapper extends LoDashExplicitArrayWrapper { } /********* * Array * @@ -327,18 +266,18 @@ declare module _ { ): T[][]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.chunk */ - chunk(size?: number): LoDashArrayWrapper; + chunk(size?: number): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.chunk */ - chunk(size?: number): LoDashArrayWrapper; + chunk(size?: number): LoDashImplicitArrayWrapper; } //_.compact @@ -353,18 +292,18 @@ declare module _ { compact(array?: List): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.compact */ - compact(): LoDashArrayWrapper; + compact(): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.compact */ - compact(): LoDashArrayWrapper; + compact(): LoDashImplicitArrayWrapper; } //_.difference @@ -383,18 +322,18 @@ declare module _ { ): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.difference */ - difference(...values: (T[]|List)[]): LoDashArrayWrapper; + difference(...values: (T[]|List)[]): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.difference */ - difference(...values: (TValue[]|List)[]): LoDashArrayWrapper; + difference(...values: (TValue[]|List)[]): LoDashImplicitArrayWrapper; } //_.drop @@ -409,18 +348,18 @@ declare module _ { drop(array: T[]|List, n?: number): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.drop */ - drop(n?: number): LoDashArrayWrapper; + drop(n?: number): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.drop */ - drop(n?: number): LoDashArrayWrapper; + drop(n?: number): LoDashImplicitArrayWrapper; } //_.dropRight @@ -438,18 +377,18 @@ declare module _ { ): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.dropRight */ - dropRight(n?: number): LoDashArrayWrapper; + dropRight(n?: number): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.dropRight */ - dropRight(n?: number): LoDashArrayWrapper; + dropRight(n?: number): LoDashImplicitArrayWrapper; } //_.dropRightWhile @@ -496,14 +435,14 @@ declare module _ { ): TValue[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.dropRightWhile */ dropRightWhile( predicate?: ListIterator, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.dropRightWhile @@ -511,24 +450,24 @@ declare module _ { dropRightWhile( predicate?: string, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.dropRightWhile */ dropRightWhile( predicate?: TWhere - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.dropRightWhile */ dropRightWhile( predicate?: ListIterator, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.dropRightWhile @@ -536,14 +475,14 @@ declare module _ { dropRightWhile( predicate?: string, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.dropRightWhile */ dropRightWhile( predicate?: TWhere - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; } //_.dropWhile @@ -590,14 +529,14 @@ declare module _ { ): TValue[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.dropWhile */ dropWhile( predicate?: ListIterator, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.dropWhile @@ -605,24 +544,24 @@ declare module _ { dropWhile( predicate?: string, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.dropWhile */ dropWhile( predicate?: TWhere - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.dropWhile */ dropWhile( predicate?: ListIterator, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.dropWhile @@ -630,14 +569,14 @@ declare module _ { dropWhile( predicate?: string, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.dropWhile */ dropWhile( predicate?: TWhere - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; } //_.findIndex @@ -684,7 +623,7 @@ declare module _ { ): number; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.findIndex */ @@ -709,7 +648,7 @@ declare module _ { ): number; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.findIndex */ @@ -777,7 +716,7 @@ declare module _ { ): number; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.findLastIndex */ @@ -802,7 +741,7 @@ declare module _ { ): number; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.findLastIndex */ @@ -840,14 +779,14 @@ declare module _ { first(array: List): T; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.first */ first(): T; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.first */ @@ -885,16 +824,16 @@ declare module _ { flatten(array: RecursiveList, isDeep: boolean): List | RecursiveList; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.flatten **/ - flatten(): LoDashArrayWrapper; + flatten(): LoDashImplicitArrayWrapper; /** * @see _.flatten **/ - flatten(isShallow: boolean): LoDashArrayWrapper; + flatten(isShallow: boolean): LoDashImplicitArrayWrapper; } //_.flattenDeep @@ -918,18 +857,18 @@ declare module _ { flattenDeep(array: RecursiveList): any[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.flattenDeep */ - flattenDeep(): LoDashArrayWrapper; + flattenDeep(): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.flattenDeep */ - flattenDeep(): LoDashArrayWrapper; + flattenDeep(): LoDashImplicitArrayWrapper; } //_.head @@ -940,14 +879,14 @@ declare module _ { head(array: List): T; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.first */ head(): T; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.first */ @@ -973,7 +912,7 @@ declare module _ { ): number; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.indexOf */ @@ -983,7 +922,7 @@ declare module _ { ): number; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.indexOf */ @@ -1004,18 +943,18 @@ declare module _ { initial(array: T[]|List): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.initial */ - initial(): LoDashArrayWrapper; + initial(): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.initial */ - initial(): LoDashArrayWrapper; + initial(): LoDashImplicitArrayWrapper; } //_.intersection @@ -1030,18 +969,18 @@ declare module _ { intersection(...arrays: (T[]|List)[]): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.intersection */ - intersection(...arrays: (TResult[]|List)[]): LoDashArrayWrapper; + intersection(...arrays: (TResult[]|List)[]): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.intersection */ - intersection(...arrays: (TResult[]|List)[]): LoDashArrayWrapper; + intersection(...arrays: (TResult[]|List)[]): LoDashImplicitArrayWrapper; } //_.last @@ -1055,14 +994,14 @@ declare module _ { last(array: List): T; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.last */ last(): T; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.last */ @@ -1086,7 +1025,7 @@ declare module _ { ): number; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.lastIndexOf */ @@ -1096,7 +1035,7 @@ declare module _ { ): number; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.lastIndexOf */ @@ -1133,50 +1072,50 @@ declare module _ { ): _.Dictionary; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.zipObject */ object( values?: List - ): _.LoDashObjectWrapper; + ): _.LoDashImplicitObjectWrapper; /** * @see _.zipObject */ object( values?: List - ): _.LoDashObjectWrapper; + ): _.LoDashImplicitObjectWrapper; /** * @see _.zipObject */ object( values?: List - ): _.LoDashObjectWrapper<_.Dictionary>; + ): _.LoDashImplicitObjectWrapper<_.Dictionary>; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.zipObject */ object( values?: List - ): _.LoDashObjectWrapper; + ): _.LoDashImplicitObjectWrapper; /** * @see _.zipObject */ object( values?: List - ): _.LoDashObjectWrapper; + ): _.LoDashImplicitObjectWrapper; /** * @see _.zipObject */ object( values?: List - ): _.LoDashObjectWrapper<_.Dictionary>; + ): _.LoDashImplicitObjectWrapper<_.Dictionary>; } //_.pull @@ -1204,18 +1143,18 @@ declare module _ { ): List; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.pull */ - pull(...values: T[]): LoDashArrayWrapper; + pull(...values: T[]): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.pull */ - pull(...values: TValue[]): LoDashObjectWrapper>; + pull(...values: TValue[]): LoDashImplicitObjectWrapper>; } //_.pullAt @@ -1236,18 +1175,18 @@ declare module _ { ): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.pullAt */ - pullAt(...indexes: (number|number[])[]): LoDashArrayWrapper; + pullAt(...indexes: (number|number[])[]): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.pullAt */ - pullAt(...indexes: (number|number[])[]): LoDashArrayWrapper; + pullAt(...indexes: (number|number[])[]): LoDashImplicitArrayWrapper; } //_.remove @@ -1296,14 +1235,14 @@ declare module _ { ): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.remove */ remove( predicate?: ListIterator, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.remove @@ -1311,24 +1250,24 @@ declare module _ { remove( predicate?: string, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.remove */ remove( predicate?: W - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.remove */ remove( predicate?: ListIterator, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.remove @@ -1336,14 +1275,14 @@ declare module _ { remove( predicate?: string, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.remove */ remove( predicate?: W - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; } //_.rest @@ -1359,18 +1298,18 @@ declare module _ { rest(array: List): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.rest */ - rest(): LoDashArrayWrapper; + rest(): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.rest */ - rest(): LoDashArrayWrapper; + rest(): LoDashImplicitArrayWrapper; } //_.slice @@ -1390,14 +1329,14 @@ declare module _ { ): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.slice */ slice( start?: number, end?: number - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; } //_.sortedIndex @@ -1478,18 +1417,18 @@ declare module _ { tail(array: List): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.rest */ - tail(): LoDashArrayWrapper; + tail(): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.rest */ - tail(): LoDashArrayWrapper; + tail(): LoDashImplicitArrayWrapper; } //_.take @@ -1507,18 +1446,18 @@ declare module _ { ): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.take */ - take(n?: number): LoDashArrayWrapper; + take(n?: number): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.take */ - take(n?: number): LoDashArrayWrapper; + take(n?: number): LoDashImplicitArrayWrapper; } //_.takeRight @@ -1536,18 +1475,18 @@ declare module _ { ): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.takeRight */ - takeRight(n?: number): LoDashArrayWrapper; + takeRight(n?: number): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.takeRight */ - takeRight(n?: number): LoDashArrayWrapper; + takeRight(n?: number): LoDashImplicitArrayWrapper; } //_.takeRightWhile @@ -1594,14 +1533,14 @@ declare module _ { ): TValue[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.takeRightWhile */ takeRightWhile( predicate?: ListIterator, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.takeRightWhile @@ -1609,24 +1548,24 @@ declare module _ { takeRightWhile( predicate?: string, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.takeRightWhile */ takeRightWhile( predicate?: TWhere - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.takeRightWhile */ takeRightWhile( predicate?: ListIterator, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.takeRightWhile @@ -1634,14 +1573,14 @@ declare module _ { takeRightWhile( predicate?: string, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.takeRightWhile */ takeRightWhile( predicate?: TWhere - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; } //_.takeWhile @@ -1688,14 +1627,14 @@ declare module _ { ): TValue[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.takeWhile */ takeWhile( predicate?: ListIterator, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.takeWhile @@ -1703,24 +1642,24 @@ declare module _ { takeWhile( predicate?: string, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.takeWhile */ takeWhile( predicate?: TWhere - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.takeWhile */ takeWhile( predicate?: ListIterator, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.takeWhile @@ -1728,14 +1667,14 @@ declare module _ { takeWhile( predicate?: string, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.takeWhile */ takeWhile( predicate?: TWhere - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; } //_.union @@ -1750,23 +1689,23 @@ declare module _ { union(...arrays: List[]): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.union */ - union(...arrays: List[]): LoDashArrayWrapper; + union(...arrays: List[]): LoDashImplicitArrayWrapper; /** * @see _.union */ - union(...arrays: List[]): LoDashArrayWrapper; + union(...arrays: List[]): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.union */ - union(...arrays: List[]): LoDashArrayWrapper; + union(...arrays: List[]): LoDashImplicitArrayWrapper; } //_.uniq @@ -2011,11 +1950,11 @@ declare module _ { whereValue?: W): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.uniq **/ - uniq(isSorted?: boolean): LoDashArrayWrapper; + uniq(isSorted?: boolean): LoDashImplicitArrayWrapper; /** * @see _.uniq @@ -2023,14 +1962,14 @@ declare module _ { uniq( isSorted: boolean, callback: ListIterator, - thisArg?: any): LoDashArrayWrapper; + thisArg?: any): LoDashImplicitArrayWrapper; /** * @see _.uniq **/ uniq( callback: ListIterator, - thisArg?: any): LoDashArrayWrapper; + thisArg?: any): LoDashImplicitArrayWrapper; /** * @see _.uniq @@ -2038,13 +1977,13 @@ declare module _ { **/ uniq( isSorted: boolean, - pluckValue: string): LoDashArrayWrapper; + pluckValue: string): LoDashImplicitArrayWrapper; /** * @see _.uniq * @param pluckValue _.pluck style callback **/ - uniq(pluckValue: string): LoDashArrayWrapper; + uniq(pluckValue: string): LoDashImplicitArrayWrapper; /** * @see _.uniq @@ -2052,19 +1991,19 @@ declare module _ { **/ uniq( isSorted: boolean, - whereValue: W): LoDashArrayWrapper; + whereValue: W): LoDashImplicitArrayWrapper; /** * @see _.uniq * @param whereValue _.where style callback **/ uniq( - whereValue: W): LoDashArrayWrapper; + whereValue: W): LoDashImplicitArrayWrapper; /** * @see _.uniq **/ - unique(isSorted?: boolean): LoDashArrayWrapper; + unique(isSorted?: boolean): LoDashImplicitArrayWrapper; /** * @see _.uniq @@ -2072,14 +2011,14 @@ declare module _ { unique( isSorted: boolean, callback: ListIterator, - thisArg?: any): LoDashArrayWrapper; + thisArg?: any): LoDashImplicitArrayWrapper; /** * @see _.uniq **/ unique( callback: ListIterator, - thisArg?: any): LoDashArrayWrapper; + thisArg?: any): LoDashImplicitArrayWrapper; /** * @see _.uniq @@ -2087,13 +2026,13 @@ declare module _ { **/ unique( isSorted: boolean, - pluckValue: string): LoDashArrayWrapper; + pluckValue: string): LoDashImplicitArrayWrapper; /** * @see _.uniq * @param pluckValue _.pluck style callback **/ - unique(pluckValue: string): LoDashArrayWrapper; + unique(pluckValue: string): LoDashImplicitArrayWrapper; /** * @see _.uniq @@ -2101,14 +2040,14 @@ declare module _ { **/ unique( isSorted: boolean, - whereValue: W): LoDashArrayWrapper; + whereValue: W): LoDashImplicitArrayWrapper; /** * @see _.uniq * @param whereValue _.where style callback **/ unique( - whereValue: W): LoDashArrayWrapper; + whereValue: W): LoDashImplicitArrayWrapper; } //_.unzipWith @@ -2130,24 +2069,24 @@ declare module _ { ): TResult[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.unzipWith */ unzipWith( iteratee?: MemoIterator, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.unzipWith */ unzipWith( iteratee?: MemoIterator, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; } //_.without @@ -2165,18 +2104,18 @@ declare module _ { ): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.without */ - without(...values: T[]): LoDashArrayWrapper; + without(...values: T[]): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.without */ - without(...values: TValue[]): LoDashArrayWrapper; + without(...values: TValue[]): LoDashImplicitArrayWrapper; } //_.xor @@ -2190,18 +2129,18 @@ declare module _ { xor(...arrays: List[]): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.xor */ - xor(...arrays: List[]): LoDashArrayWrapper; + xor(...arrays: List[]): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.xor */ - xor(...arrays: List[]): LoDashArrayWrapper; + xor(...arrays: List[]): LoDashImplicitArrayWrapper; } //_.zip @@ -2231,16 +2170,16 @@ declare module _ { unzip(...arrays: any[]): any[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.zip **/ - zip(...arrays: any[][]): _.LoDashArrayWrapper; + zip(...arrays: any[][]): _.LoDashImplicitArrayWrapper; /** * @see _.zip **/ - unzip(...arrays: any[]): _.LoDashArrayWrapper; + unzip(...arrays: any[]): _.LoDashImplicitArrayWrapper; } //_.zipObject @@ -2278,50 +2217,50 @@ declare module _ { ): _.Dictionary; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.zipObject */ zipObject( values?: List - ): _.LoDashObjectWrapper; + ): _.LoDashImplicitObjectWrapper; /** * @see _.zipObject */ zipObject( values?: List - ): _.LoDashObjectWrapper; + ): _.LoDashImplicitObjectWrapper; /** * @see _.zipObject */ zipObject( values?: List - ): _.LoDashObjectWrapper<_.Dictionary>; + ): _.LoDashImplicitObjectWrapper<_.Dictionary>; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.zipObject */ zipObject( values?: List - ): _.LoDashObjectWrapper; + ): _.LoDashImplicitObjectWrapper; /** * @see _.zipObject */ zipObject( values?: List - ): _.LoDashObjectWrapper; + ): _.LoDashImplicitObjectWrapper; /** * @see _.zipObject */ zipObject( values?: List - ): _.LoDashObjectWrapper<_.Dictionary>; + ): _.LoDashImplicitObjectWrapper<_.Dictionary>; } //_.zipWith @@ -2338,21 +2277,105 @@ declare module _ { zipWith(...args: any[]): TResult[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.zipWith */ - zipWith(...args: any[]): LoDashArrayWrapper; + zipWith(...args: any[]): LoDashImplicitArrayWrapper; } /********* * Chain * *********/ + //_.chain + interface LoDashStatic { + /** + * Creates a lodash object that wraps value with explicit method chaining enabled. + * + * @param value The value to wrap. + * @return Returns the new lodash wrapper instance. + */ + chain(value: number): LoDashExplicitWrapper; + chain(value: string): LoDashExplicitWrapper; + chain(value: boolean): LoDashExplicitWrapper; + chain(value: T[]): LoDashExplicitArrayWrapper; + chain(value: T): LoDashExplicitObjectWrapper; + chain(value: any): LoDashExplicitWrapper; + } + + interface LoDashImplicitWrapper { + /** + * @see _.chain + */ + chain(): LoDashExplicitWrapper; + } + + interface LoDashImplicitArrayWrapper { + /** + * @see _.chain + */ + chain(): LoDashExplicitArrayWrapper; + } + + interface LoDashImplicitObjectWrapper { + /** + * @see _.chain + */ + chain(): LoDashExplicitObjectWrapper; + } + + interface LoDashExplicitWrapperBase { + /** + * @see _.chain + */ + chain(): TWrapper; + } + + //_.tap + interface LoDashStatic { + /** + * This method invokes interceptor and returns value. The interceptor is bound to thisArg and invoked with one + * argument; (value). The purpose of this method is to "tap into" a method chain in order to perform operations + * on intermediate results within the chain. + * + * @param value The value to provide to interceptor. + * @param interceptor The function to invoke. + * @parem thisArg The this binding of interceptor. + * @return Returns value. + **/ + tap( + value: T, + interceptor: (value: T) => void, + thisArg?: any + ): T; + } + + interface LoDashImplicitWrapperBase { + /** + * @see _.tap + */ + tap( + interceptor: (value: T) => void, + thisArg?: any + ): TWrapper; + } + + interface LoDashExplicitWrapperBase { + /** + * @see _.tap + */ + tap( + interceptor: (value: T) => void, + thisArg?: any + ): TWrapper; + } + //_.thru interface LoDashStatic { /** * This method is like _.tap except that it returns the result of interceptor. + * * @param value The value to provide to interceptor. * @param interceptor The function to invoke. * @param thisArg The this binding of interceptor. @@ -2361,48 +2384,91 @@ declare module _ { thru( value: T, interceptor: (value: T) => TResult, - thisArg?: any): TResult; + thisArg?: any + ): TResult; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.thru */ thru( interceptor: (value: T) => TResult, - thisArg?: any): LoDashWrapper; + thisArg?: any): LoDashImplicitWrapper; /** * @see _.thru */ thru( interceptor: (value: T) => TResult, - thisArg?: any): LoDashWrapper; + thisArg?: any): LoDashImplicitWrapper; /** * @see _.thru */ thru( interceptor: (value: T) => TResult, - thisArg?: any): LoDashWrapper; + thisArg?: any): LoDashImplicitWrapper; /** * @see _.thru */ - thru( + thru( interceptor: (value: T) => TResult, - thisArg?: any): LoDashObjectWrapper; + thisArg?: any): LoDashImplicitObjectWrapper; /** * @see _.thru */ thru( interceptor: (value: T) => TResult[], - thisArg?: any): LoDashArrayWrapper; + thisArg?: any): LoDashImplicitArrayWrapper; } - // _.prototype.commit - interface LoDashWrapperBase { + interface LoDashExplicitWrapperBase { + /** + * @see _.thru + */ + thru( + interceptor: (value: T) => TResult, + thisArg?: any + ): LoDashExplicitWrapper; + + /** + * @see _.thru + */ + thru( + interceptor: (value: T) => TResult, + thisArg?: any + ): LoDashExplicitWrapper; + + /** + * @see _.thru + */ + thru( + interceptor: (value: T) => TResult, + thisArg?: any + ): LoDashExplicitWrapper; + + /** + * @see _.thru + */ + thru( + interceptor: (value: T) => TResult, + thisArg?: any + ): LoDashExplicitObjectWrapper; + + /** + * @see _.thru + */ + thru( + interceptor: (value: T) => TResult[], + thisArg?: any + ): LoDashExplicitArrayWrapper; + } + + //_.prototype.commit + interface LoDashImplicitWrapperBase { /** * Executes the chained sequence and returns the wrapped result. * @@ -2411,44 +2477,181 @@ declare module _ { commit(): TWrapper; } + interface LoDashExplicitWrapperBase { + /** + * @see _.commit + */ + commit(): TWrapper; + } + + //_.prototype.concat + interface LoDashImplicitWrapperBase { + /** + * Creates a new array joining a wrapped array with any additional arrays and/or values. + * + * @param items + * @return Returns the new concatenated array. + */ + concat(...items: Array>): LoDashImplicitArrayWrapper; + + /** + * @see _.concat + */ + concat(...items: Array>): LoDashImplicitArrayWrapper; + } + + interface LoDashExplicitWrapperBase { + /** + * @see _.concat + */ + concat(...items: Array>): LoDashExplicitArrayWrapper; + + /** + * @see _.concat + */ + concat(...items: Array>): LoDashExplicitArrayWrapper; + } + //_.prototype.plant - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * Creates a clone of the chained sequence planting value as the wrapped value. * @param value The value to plant as the wrapped value. * @return Returns the new lodash wrapper instance. */ - plant(value: number): LoDashWrapper; + plant(value: number): LoDashImplicitWrapper; /** * @see _.plant */ - plant(value: string): LoDashStringWrapper; + plant(value: string): LoDashImplicitStringWrapper; /** * @see _.plant */ - plant(value: boolean): LoDashWrapper; + plant(value: boolean): LoDashImplicitWrapper; /** * @see _.plant */ - plant(value: number[]): LoDashNumberArrayWrapper; + plant(value: number[]): LoDashImplicitNumberArrayWrapper; /** * @see _.plant */ - plant(value: T[]): LoDashArrayWrapper; + plant(value: T[]): LoDashImplicitArrayWrapper; /** * @see _.plant */ - plant(value: T): LoDashObjectWrapper; + plant(value: T): LoDashImplicitObjectWrapper; /** * @see _.plant */ - plant(value: any): LoDashWrapper; + plant(value: any): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapperBase { + /** + * @see _.plant + */ + plant(value: number): LoDashExplicitWrapper; + + /** + * @see _.plant + */ + plant(value: string): LoDashExplicitStringWrapper; + + /** + * @see _.plant + */ + plant(value: boolean): LoDashExplicitWrapper; + + /** + * @see _.plant + */ + plant(value: number[]): LoDashExplicitNumberArrayWrapper; + + /** + * @see _.plant + */ + plant(value: T[]): LoDashExplicitArrayWrapper; + + /** + * @see _.plant + */ + plant(value: T): LoDashExplicitObjectWrapper; + + /** + * @see _.plant + */ + plant(value: any): LoDashExplicitWrapper; + } + + //_.prototype.reverse + interface LoDashImplicitArrayWrapper { + /** + * Reverses the wrapped array so the first element becomes the last, the second element becomes the second to + * last, and so on. + * + * Note: This method mutates the wrapped array. + * + * @return Returns the new reversed lodash wrapper instance. + */ + reverse(): LoDashImplicitArrayWrapper; + } + + interface LoDashExplicitArrayWrapper { + /** + * @see _.reverse + */ + reverse(): LoDashExplicitArrayWrapper; + } + + // _.run + interface LoDashWrapperBase { + /** + * @see _.value + */ + run(): T; + } + + // _.toJSON + interface LoDashWrapperBase { + /** + * @see _.value + */ + toJSON(): T; + } + + interface LoDashWrapperBase { + /** + * Produces the result of coercing the unwrapped value to a string. + * + * @return Returns the coerced string value. + */ + toString(): string; + } + + // _.value + interface LoDashWrapperBase { + /** + * Executes the chained sequence to extract the unwrapped value. + * + * @alias _.run, _.toJSON, _.valueOf + * + * @return Returns the resolved unwrapped value. + */ + value(): T; + } + + // _.valueOf + interface LoDashWrapperBase { + /** + * @see _.value + */ + valueOf(): T; } /************** @@ -2493,7 +2696,7 @@ declare module _ { ): boolean; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.every */ @@ -2518,7 +2721,7 @@ declare module _ { ): boolean; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.every */ @@ -2581,7 +2784,7 @@ declare module _ { ): boolean; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.some */ @@ -2606,7 +2809,7 @@ declare module _ { ): boolean; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.some */ @@ -2647,18 +2850,18 @@ declare module _ { ): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.at */ - at(...props: Array>): LoDashArrayWrapper; + at(...props: Array>): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.at */ - at(...props: Array>): LoDashArrayWrapper; + at(...props: Array>): LoDashImplicitArrayWrapper; } //_.collect @@ -2714,52 +2917,52 @@ declare module _ { ): boolean[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.map */ collect( iteratee?: ListIterator, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.map */ collect( iteratee?: string - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.map */ collect( iteratee?: TObject - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.map */ collect( iteratee?: ListIterator|DictionaryIterator, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.map */ collect( iteratee?: string - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.map */ collect( iteratee?: TObject - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; } //_.contains @@ -2870,7 +3073,7 @@ declare module _ { fromIndex?: number): boolean; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.contains **/ @@ -2887,7 +3090,7 @@ declare module _ { includes(target: T, fromIndex?: number): boolean; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.contains **/ @@ -2904,7 +3107,7 @@ declare module _ { includes(target: TValue, fromIndex?: number): boolean; } - interface LoDashStringWrapper { + interface LoDashImplicitStringWrapper { /** * @see _.contains **/ @@ -2990,13 +3193,13 @@ declare module _ { thisArg?: any): Dictionary; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.countBy **/ countBy( callback?: ListIterator, - thisArg?: any): LoDashObjectWrapper>; + thisArg?: any): LoDashImplicitObjectWrapper>; /** * @see _.countBy @@ -3004,7 +3207,7 @@ declare module _ { **/ countBy( callback: string, - thisArg?: any): LoDashObjectWrapper>; + thisArg?: any): LoDashImplicitObjectWrapper>; } //_.detect @@ -3045,7 +3248,7 @@ declare module _ { ): T; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.find */ @@ -3070,7 +3273,7 @@ declare module _ { ): T; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.find */ @@ -3150,7 +3353,7 @@ declare module _ { ): boolean; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.every */ @@ -3175,7 +3378,7 @@ declare module _ { ): boolean; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.every */ @@ -3229,24 +3432,24 @@ declare module _ { end?: number): List; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.fill */ fill( value: TResult, start?: number, - end?: number): LoDashArrayWrapper; + end?: number): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.fill */ fill( value: TResult, start?: number, - end?: number): LoDashObjectWrapper>; + end?: number): LoDashImplicitObjectWrapper>; } //_.filter @@ -3418,62 +3621,62 @@ declare module _ { whereValue: W): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.filter **/ - filter(): LoDashArrayWrapper; + filter(): LoDashImplicitArrayWrapper; /** * @see _.filter **/ filter( callback: ListIterator, - thisArg?: any): LoDashArrayWrapper; + thisArg?: any): LoDashImplicitArrayWrapper; /** * @see _.filter * @param pluckValue _.pluck style callback **/ filter( - pluckValue: string): LoDashArrayWrapper; + pluckValue: string): LoDashImplicitArrayWrapper; /** * @see _.filter * @param pluckValue _.pluck style callback **/ filter( - whereValue: W): LoDashArrayWrapper; + whereValue: W): LoDashImplicitArrayWrapper; /** * @see _.filter **/ select( callback: ListIterator, - thisArg?: any): LoDashArrayWrapper; + thisArg?: any): LoDashImplicitArrayWrapper; /** * @see _.filter * @param pluckValue _.pluck style callback **/ select( - pluckValue: string): LoDashArrayWrapper; + pluckValue: string): LoDashImplicitArrayWrapper; /** * @see _.filter * @param pluckValue _.pluck style callback **/ select( - whereValue: W): LoDashArrayWrapper; + whereValue: W): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.filter **/ filter( callback: ObjectIterator, - thisArg?: any): LoDashObjectWrapper; + thisArg?: any): LoDashImplicitObjectWrapper; } //_.find @@ -3531,7 +3734,7 @@ declare module _ { ): T; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.find */ @@ -3556,7 +3759,7 @@ declare module _ { ): T; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.find */ @@ -3736,7 +3939,7 @@ declare module _ { pluckValue: string): T; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.findLast */ @@ -3833,36 +4036,36 @@ declare module _ { thisArg?: any): T } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.forEach **/ forEach( callback: ListIterator, - thisArg?: any): LoDashArrayWrapper; + thisArg?: any): LoDashImplicitArrayWrapper; /** * @see _.forEach **/ each( callback: ListIterator, - thisArg?: any): LoDashArrayWrapper; + thisArg?: any): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.forEach **/ forEach( callback: ObjectIterator, - thisArg?: any): LoDashObjectWrapper; + thisArg?: any): LoDashImplicitObjectWrapper; /** * @see _.forEach **/ each( callback: ObjectIterator, - thisArg?: any): LoDashObjectWrapper; + thisArg?: any): LoDashImplicitObjectWrapper; } //_.forEachRight @@ -3923,29 +4126,29 @@ declare module _ { thisArg?: any): Dictionary; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.forEachRight **/ forEachRight( callback: ListIterator, - thisArg?: any): LoDashArrayWrapper; + thisArg?: any): LoDashImplicitArrayWrapper; /** * @see _.forEachRight **/ eachRight( callback: ListIterator, - thisArg?: any): LoDashArrayWrapper; + thisArg?: any): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.forEachRight **/ forEachRight( callback: ObjectIterator, - thisArg?: any): LoDashObjectWrapper>; + thisArg?: any): LoDashImplicitObjectWrapper>; /** * @see _.forEachRight @@ -3955,7 +4158,7 @@ declare module _ { **/ eachRight( callback: ObjectIterator, - thisArg?: any): LoDashObjectWrapper>; + thisArg?: any): LoDashImplicitObjectWrapper>; } //_.groupBy @@ -4045,46 +4248,46 @@ declare module _ { whereValue: W): Dictionary; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.groupBy **/ groupBy( callback: ListIterator, - thisArg?: any): _.LoDashObjectWrapper<_.Dictionary>; + thisArg?: any): _.LoDashImplicitObjectWrapper<_.Dictionary>; /** * @see _.groupBy **/ groupBy( - pluckValue: string): _.LoDashObjectWrapper<_.Dictionary>; + pluckValue: string): _.LoDashImplicitObjectWrapper<_.Dictionary>; /** * @see _.groupBy **/ groupBy( - whereValue: W): _.LoDashObjectWrapper<_.Dictionary>; + whereValue: W): _.LoDashImplicitObjectWrapper<_.Dictionary>; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.groupBy **/ groupBy( callback: ListIterator, - thisArg?: any): _.LoDashObjectWrapper<_.Dictionary>; + thisArg?: any): _.LoDashImplicitObjectWrapper<_.Dictionary>; /** * @see _.groupBy **/ groupBy( - pluckValue: string): _.LoDashObjectWrapper<_.Dictionary>; + pluckValue: string): _.LoDashImplicitObjectWrapper<_.Dictionary>; /** * @see _.groupBy **/ groupBy( - whereValue: W): _.LoDashObjectWrapper<_.Dictionary>; + whereValue: W): _.LoDashImplicitObjectWrapper<_.Dictionary>; } //_.indexBy @@ -4286,52 +4489,52 @@ declare module _ { ): boolean[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.map */ map( iteratee?: ListIterator, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.map */ map( iteratee?: string - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.map */ map( iteratee?: TObject - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.map */ map( iteratee?: ListIterator|DictionaryIterator, thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.map */ map( iteratee?: string - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.map */ map( iteratee?: TObject - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; } //_.ceil @@ -4345,7 +4548,7 @@ declare module _ { ceil(n: number, precision?: number): number; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.ceil */ @@ -4363,7 +4566,7 @@ declare module _ { floor(n: number, precision?: number): number; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.floor */ @@ -4381,7 +4584,7 @@ declare module _ { round(n: number, precision?: number): number; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.round */ @@ -4462,7 +4665,7 @@ declare module _ { property: string): number; } - interface LoDashNumberArrayWrapper { + interface LoDashImplicitNumberArrayWrapper { /** * @see _.sum **/ @@ -4476,7 +4679,7 @@ declare module _ { thisArg?: any): number; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.sum **/ @@ -4497,7 +4700,7 @@ declare module _ { property: string): number; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.sum **/ @@ -4545,20 +4748,20 @@ declare module _ { property: string|string[]): any[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.pluck **/ pluck( - property: string): LoDashArrayWrapper; + property: string): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.pluck **/ pluck( - property: string): LoDashArrayWrapper; + property: string): LoDashImplicitArrayWrapper; } //_.partition @@ -4640,73 +4843,73 @@ declare module _ { pluckValue: string): T[][]; } - interface LoDashStringWrapper { + interface LoDashImplicitStringWrapper { /** * @see _.partition */ partition( callback: ListIterator, - thisArg?: any): LoDashArrayWrapper; + thisArg?: any): LoDashImplicitArrayWrapper; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.partition */ partition( callback: ListIterator, - thisArg?: any): LoDashArrayWrapper; + thisArg?: any): LoDashImplicitArrayWrapper; /** * @see _.partition */ partition( - whereValue: W): LoDashArrayWrapper; + whereValue: W): LoDashImplicitArrayWrapper; /** * @see _.partition */ partition( path: string, - srcValue: any): LoDashArrayWrapper; + srcValue: any): LoDashImplicitArrayWrapper; /** * @see _.partition */ partition( - pluckValue: string): LoDashArrayWrapper; + pluckValue: string): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.partition */ partition( callback: ListIterator, - thisArg?: any): LoDashArrayWrapper; + thisArg?: any): LoDashImplicitArrayWrapper; /** * @see _.partition */ partition( callback: DictionaryIterator, - thisArg?: any): LoDashArrayWrapper; + thisArg?: any): LoDashImplicitArrayWrapper; /** * @see _.partition */ partition( - whereValue: W): LoDashArrayWrapper; + whereValue: W): LoDashImplicitArrayWrapper; /** * @see _.partition */ partition( path: string, - srcValue: any): LoDashArrayWrapper; + srcValue: any): LoDashImplicitArrayWrapper; /** * @see _.partition */ partition( - pluckValue: string): LoDashArrayWrapper; + pluckValue: string): LoDashImplicitArrayWrapper; } //_.reduce @@ -4874,7 +5077,7 @@ declare module _ { thisArg?: any): TResult; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.reduce **/ @@ -4921,7 +5124,7 @@ declare module _ { thisArg?: any): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.reduce **/ @@ -5165,25 +5368,25 @@ declare module _ { whereValue: W): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.reject **/ reject( callback: ListIterator, - thisArg?: any): LoDashArrayWrapper; + thisArg?: any): LoDashImplicitArrayWrapper; /** * @see _.reject * @param pluckValue _.pluck style callback **/ - reject(pluckValue: string): LoDashArrayWrapper; + reject(pluckValue: string): LoDashImplicitArrayWrapper; /** * @see _.reject * @param whereValue _.where style callback **/ - reject(whereValue: W): LoDashArrayWrapper; + reject(whereValue: W): LoDashImplicitArrayWrapper; } //_.sample @@ -5224,16 +5427,16 @@ declare module _ { sample(collection: Dictionary, n: number): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.sample **/ - sample(n: number): LoDashArrayWrapper; + sample(n: number): LoDashImplicitArrayWrapper; /** * @see _.sample **/ - sample(): LoDashWrapper; + sample(): LoDashImplicitWrapper; } //_.shuffle @@ -5257,18 +5460,18 @@ declare module _ { shuffle(collection: Dictionary): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.shuffle **/ - shuffle(): LoDashArrayWrapper; + shuffle(): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.shuffle **/ - shuffle(): LoDashArrayWrapper; + shuffle(): LoDashImplicitArrayWrapper; } //_.size @@ -5301,14 +5504,14 @@ declare module _ { size(aString: string): number; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.size **/ size(): number; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.size **/ @@ -5371,7 +5574,7 @@ declare module _ { ): boolean; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.some */ @@ -5396,7 +5599,7 @@ declare module _ { ): boolean; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.some */ @@ -5497,31 +5700,31 @@ declare module _ { ): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.sortBy **/ sortBy( iteratee?: ListIterator, - thisArg?: any): LoDashArrayWrapper; + thisArg?: any): LoDashImplicitArrayWrapper; /** * @see _.sortBy * @param pluckValue _.pluck style callback **/ - sortBy(pluckValue: string): LoDashArrayWrapper; + sortBy(pluckValue: string): LoDashImplicitArrayWrapper; /** * @see _.sortBy * @param whereValue _.where style callback **/ - sortBy(whereValue: W): LoDashArrayWrapper; + sortBy(whereValue: W): LoDashImplicitArrayWrapper; /** * Sorts by all the given arguments, using either ListIterator, pluckValue, or whereValue foramts * @param args The rules by which to sort */ - sortByAll(...args: (ListIterator|Object|string)[]): LoDashArrayWrapper; + sortByAll(...args: (ListIterator|Object|string)[]): LoDashImplicitArrayWrapper; } //_.sortByAll @@ -5570,18 +5773,18 @@ declare module _ { ...iteratees: (ListIterator|string|Object)[]): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.sortByAll **/ sortByAll( - iteratees: (ListIterator|string|Object)[]): LoDashArrayWrapper; + iteratees: (ListIterator|string|Object)[]): LoDashImplicitArrayWrapper; /** * @see _.sortByAll **/ sortByAll( - ...iteratees: (ListIterator|string|Object)[]): LoDashArrayWrapper; + ...iteratees: (ListIterator|string|Object)[]): LoDashImplicitArrayWrapper; } //_.sortByOrder @@ -5633,20 +5836,20 @@ declare module _ { orders?: string[]): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.sortByOrder **/ sortByOrder( iteratees: (ListIterator|string|Object)[], - orders?: boolean[]): LoDashArrayWrapper; + orders?: boolean[]): LoDashImplicitArrayWrapper; /** * @see _.sortByOrder **/ sortByOrder( iteratees: (ListIterator|string|Object)[], - orders?: string[]): LoDashArrayWrapper; + orders?: string[]): LoDashImplicitArrayWrapper; } //_.where @@ -5677,11 +5880,11 @@ declare module _ { properties: U): T[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.where **/ - where(properties: U): LoDashArrayWrapper; + where(properties: U): LoDashImplicitArrayWrapper; } /******** @@ -5691,13 +5894,27 @@ declare module _ { //_.now interface LoDashStatic { /** - * Gets the number of milliseconds that have elapsed since the Unix epoch - * (1 January 1970 00:00:00 UTC). - * @return The number of milliseconds. - **/ + * Gets the number of milliseconds that have elapsed since the Unix epoch (1 January 1970 00:00:00 UTC). + * + * @return The number of milliseconds. + */ now(): number; } + interface LoDashImplicitWrapperBase { + /** + * @see _.now + */ + now(): number; + } + + interface LoDashExplicitWrapperBase { + /** + * @see _.now + */ + now(): LoDashExplicitWrapper; + } + /************* * Functions * *************/ @@ -5716,11 +5933,11 @@ declare module _ { func: Function): Function; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.after **/ - after(func: Function): LoDashObjectWrapper; + after(func: Function): LoDashImplicitObjectWrapper; } //_.ary @@ -5735,11 +5952,11 @@ declare module _ { ary(func: Function, n?: number, guard?: Object): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.ary */ - ary(n?: number, guard?: Object): LoDashObjectWrapper; + ary(n?: number, guard?: Object): LoDashImplicitObjectWrapper; } //_.backflow @@ -5750,11 +5967,11 @@ declare module _ { backflow(...funcs: Function[]): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.flowRight **/ - backflow(...funcs: Function[]): LoDashObjectWrapper; + backflow(...funcs: Function[]): LoDashImplicitObjectWrapper; } //_.before @@ -5770,7 +5987,7 @@ declare module _ { before(n: number, func: TFunc): TFunc; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @sed _.before */ @@ -5793,13 +6010,13 @@ declare module _ { ...args: any[]): (...args: any[]) => any; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.bind **/ bind( thisArg: any, - ...args: any[]): LoDashObjectWrapper<(...args: any[]) => any>; + ...args: any[]): LoDashImplicitObjectWrapper<(...args: any[]) => any>; } //_.bindAll @@ -5818,11 +6035,11 @@ declare module _ { ...methodNames: string[]): T; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.bindAll **/ - bindAll(...methodNames: string[]): LoDashWrapper; + bindAll(...methodNames: string[]): LoDashImplicitWrapper; } //_.bindKey @@ -5843,13 +6060,13 @@ declare module _ { ...args: any[]): Function; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.bindKey **/ bindKey( key: string, - ...args: any[]): LoDashObjectWrapper; + ...args: any[]): LoDashImplicitObjectWrapper; } //_.compose @@ -5860,11 +6077,11 @@ declare module _ { compose(...funcs: Function[]): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.flowRight */ - compose(...funcs: Function[]): LoDashObjectWrapper; + compose(...funcs: Function[]): LoDashImplicitObjectWrapper; } //_.createCallback @@ -5893,22 +6110,22 @@ declare module _ { argCount?: number): () => boolean; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.createCallback **/ createCallback( thisArg?: any, - argCount?: number): LoDashObjectWrapper<() => any>; + argCount?: number): LoDashImplicitObjectWrapper<() => any>; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.createCallback **/ createCallback( thisArg?: any, - argCount?: number): LoDashObjectWrapper<() => any>; + argCount?: number): LoDashImplicitObjectWrapper<() => any>; } //_.curry @@ -6006,11 +6223,11 @@ declare module _ { (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5): R; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.curry **/ - curry(arity?: number): LoDashObjectWrapper; + curry(arity?: number): LoDashImplicitObjectWrapper; } //_.curryRight @@ -6067,11 +6284,11 @@ declare module _ { arity?: number): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.curryRight **/ - curryRight(arity?: number): LoDashObjectWrapper; + curryRight(arity?: number): LoDashImplicitObjectWrapper; } //_.debounce @@ -6099,13 +6316,13 @@ declare module _ { options?: DebounceSettings): T; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.debounce **/ debounce( wait: number, - options?: DebounceSettings): LoDashObjectWrapper; + options?: DebounceSettings): LoDashImplicitObjectWrapper; } interface DebounceSettings { @@ -6139,11 +6356,11 @@ declare module _ { ...args: any[]): number; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.defer **/ - defer(...args: any[]): LoDashWrapper; + defer(...args: any[]): LoDashImplicitWrapper; } //_.delay @@ -6162,13 +6379,13 @@ declare module _ { ...args: any[]): number; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.delay **/ delay( wait: number, - ...args: any[]): LoDashWrapper; + ...args: any[]): LoDashImplicitWrapper; } //_.flow @@ -6182,11 +6399,11 @@ declare module _ { flow(...funcs: Function[]): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.flow **/ - flow(...funcs: Function[]): LoDashObjectWrapper; + flow(...funcs: Function[]): LoDashImplicitObjectWrapper; } //_.flowRight @@ -6200,11 +6417,11 @@ declare module _ { flowRight(...funcs: Function[]): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.flowRight **/ - flowRight(...funcs: Function[]): LoDashObjectWrapper; + flowRight(...funcs: Function[]): LoDashImplicitObjectWrapper; } //_.memoize @@ -6227,11 +6444,11 @@ declare module _ { resolver?: Function): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.memoize */ - memoize(resolver?: Function): LoDashObjectWrapper; + memoize(resolver?: Function): LoDashImplicitObjectWrapper; } //_.modArgs @@ -6257,16 +6474,16 @@ declare module _ { ): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.modArgs */ - modArgs(...transforms: Function[]): LoDashObjectWrapper; + modArgs(...transforms: Function[]): LoDashImplicitObjectWrapper; /** * @see _.modArgs */ - modArgs(transforms: Function[]): LoDashObjectWrapper; + modArgs(transforms: Function[]): LoDashImplicitObjectWrapper; } //_.negate @@ -6285,16 +6502,16 @@ declare module _ { negate(predicate: T): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.negate */ - negate(): LoDashObjectWrapper<(...args: any[]) => boolean>; + negate(): LoDashImplicitObjectWrapper<(...args: any[]) => boolean>; /** * @see _.negate */ - negate(): LoDashObjectWrapper; + negate(): LoDashImplicitObjectWrapper; } //_.once @@ -6309,11 +6526,11 @@ declare module _ { once(func: T): T; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.once */ - once(): LoDashObjectWrapper; + once(): LoDashImplicitObjectWrapper; } //_.partial @@ -6363,16 +6580,16 @@ declare module _ { rearg(func: Function, ...indexes: number[]): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.rearg */ - rearg(indexes: number[]): LoDashObjectWrapper; + rearg(indexes: number[]): LoDashImplicitObjectWrapper; /** * @see _.rearg */ - rearg(...indexes: number[]): LoDashObjectWrapper; + rearg(...indexes: number[]): LoDashImplicitObjectWrapper; } //_.restParam @@ -6392,11 +6609,11 @@ declare module _ { restParam(func: TFunc, start?: number): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.restParam */ - restParam(start?: number): LoDashObjectWrapper; + restParam(start?: number): LoDashImplicitObjectWrapper; } //_.spread @@ -6410,11 +6627,11 @@ declare module _ { spread(func: Function): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.spread */ - spread(): LoDashObjectWrapper; + spread(): LoDashImplicitObjectWrapper; } @@ -6504,7 +6721,7 @@ declare module _ { thisArg?: any): T; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.clone */ @@ -6521,7 +6738,7 @@ declare module _ { thisArg?: any): T; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.clone */ @@ -6538,7 +6755,7 @@ declare module _ { thisArg?: any): T[]; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.clone */ @@ -6575,7 +6792,7 @@ declare module _ { thisArg?: any): T; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.cloneDeep */ @@ -6584,7 +6801,7 @@ declare module _ { thisArg?: any): T; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.cloneDeep */ @@ -6593,7 +6810,7 @@ declare module _ { thisArg?: any): T[]; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.cloneDeep */ @@ -6615,7 +6832,7 @@ declare module _ { ): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.isEqual */ @@ -6637,7 +6854,7 @@ declare module _ { gt(value: any, other: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.gt */ @@ -6655,7 +6872,7 @@ declare module _ { gte(value: any, other: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.gte */ @@ -6672,7 +6889,7 @@ declare module _ { isArguments(value?: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.isArguments */ @@ -6689,7 +6906,7 @@ declare module _ { isArray(value?: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.isArray */ @@ -6706,7 +6923,7 @@ declare module _ { isBoolean(value?: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.isBoolean */ @@ -6723,7 +6940,7 @@ declare module _ { isDate(value?: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.isDate */ @@ -6740,7 +6957,7 @@ declare module _ { isElement(value?: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.isElement */ @@ -6758,7 +6975,7 @@ declare module _ { isEmpty(value?: any[]|Dictionary|string|any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.isEmpty */ @@ -6797,7 +7014,7 @@ declare module _ { ): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.isEqual */ @@ -6819,7 +7036,7 @@ declare module _ { isError(value: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.isError */ @@ -6837,7 +7054,7 @@ declare module _ { isFinite(value?: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.isFinite */ @@ -6854,7 +7071,7 @@ declare module _ { isFunction(value?: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.isFunction */ @@ -6881,7 +7098,7 @@ declare module _ { isMatch(object: Object, source: Object, customizer?: isMatchCustomizer, thisArg?: any): boolean; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.isMatch */ @@ -6899,7 +7116,7 @@ declare module _ { isNaN(value?: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.isNaN */ @@ -6916,7 +7133,7 @@ declare module _ { isNative(value: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * see _.isNative */ @@ -6933,7 +7150,7 @@ declare module _ { isNull(value?: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * see _.isNull */ @@ -6951,7 +7168,7 @@ declare module _ { isNumber(value?: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * see _.isNumber */ @@ -6969,7 +7186,7 @@ declare module _ { isObject(value?: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * see _.isObject */ @@ -6990,7 +7207,7 @@ declare module _ { isPlainObject(value?: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * see _.isPlainObject */ @@ -7007,7 +7224,7 @@ declare module _ { isRegExp(value?: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * see _.isRegExp */ @@ -7024,7 +7241,7 @@ declare module _ { isString(value?: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * see _.isString */ @@ -7041,7 +7258,7 @@ declare module _ { isTypedArray(value: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * see _.isTypedArray */ @@ -7058,7 +7275,7 @@ declare module _ { isUndefined(value: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * see _.isUndefined */ @@ -7076,7 +7293,7 @@ declare module _ { lt(value: any, other: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.lt */ @@ -7094,7 +7311,7 @@ declare module _ { lte(value: any, other: any): boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.lte */ @@ -7132,25 +7349,25 @@ declare module _ { toArray(value?: any): any[]; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.toArray */ - toArray(): LoDashArrayWrapper; + toArray(): LoDashImplicitArrayWrapper; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.toArray */ - toArray(): LoDashArrayWrapper; + toArray(): LoDashImplicitArrayWrapper; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.toArray */ - toArray(): LoDashArrayWrapper; + toArray(): LoDashImplicitArrayWrapper; } //_.toPlainObject @@ -7165,11 +7382,11 @@ declare module _ { toPlainObject(value?: any): TResult; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.toPlainObject */ - toPlainObject(): LoDashObjectWrapper; + toPlainObject(): LoDashImplicitObjectWrapper; } /******** @@ -7187,7 +7404,7 @@ declare module _ { add(augend: number, addend: number): number; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.add */ @@ -7248,7 +7465,7 @@ declare module _ { ): T; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.max */ @@ -7273,7 +7490,7 @@ declare module _ { ): T; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.max */ @@ -7352,7 +7569,7 @@ declare module _ { ): T; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.min */ @@ -7377,7 +7594,7 @@ declare module _ { ): T; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.min */ @@ -7425,7 +7642,7 @@ declare module _ { inRange(n: number, end: number): boolean; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.inRange */ @@ -7469,7 +7686,7 @@ declare module _ { random(floating?: boolean): number; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.random */ @@ -7583,7 +7800,7 @@ declare module _ { thisArg?: any): Result; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.assign **/ @@ -7692,11 +7909,11 @@ declare module _ { create(prototype: Object, properties?: Object): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.create */ - create(properties?: Object): LoDashObjectWrapper; + create(properties?: Object): LoDashImplicitObjectWrapper; } //_.defaults @@ -7714,11 +7931,11 @@ declare module _ { ...sources: any[]): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.defaults **/ - defaults(...sources: any[]): LoDashObjectWrapper + defaults(...sources: any[]): LoDashImplicitObjectWrapper } //_.defaultsDeep @@ -7734,11 +7951,11 @@ declare module _ { ...sources: any[]): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.defaultsDeep **/ - defaultsDeep(...sources: any[]): LoDashObjectWrapper + defaultsDeep(...sources: any[]): LoDashImplicitObjectWrapper } //_.findKey @@ -7794,7 +8011,7 @@ declare module _ { ): string; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.findKey */ @@ -7879,7 +8096,7 @@ declare module _ { ): string; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.findLastKey */ @@ -7937,13 +8154,13 @@ declare module _ { thisArg?: any): T; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.forIn **/ forIn( callback: ObjectIterator, - thisArg?: any): _.LoDashObjectWrapper; + thisArg?: any): _.LoDashImplicitObjectWrapper; } //_.forInRight @@ -7970,13 +8187,13 @@ declare module _ { thisArg?: any): T; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.forInRight **/ forInRight( callback: ObjectIterator, - thisArg?: any): _.LoDashObjectWrapper; + thisArg?: any): _.LoDashImplicitObjectWrapper; } //_.forOwn @@ -8004,13 +8221,13 @@ declare module _ { thisArg?: any): T; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.forOwn **/ forOwn( callback: ObjectIterator, - thisArg?: any): _.LoDashObjectWrapper; + thisArg?: any): _.LoDashImplicitObjectWrapper; } //_.forOwnRight @@ -8036,13 +8253,13 @@ declare module _ { thisArg?: any): T; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.forOwnRight **/ forOwnRight( callback: ObjectIterator, - thisArg?: any): _.LoDashObjectWrapper; + thisArg?: any): _.LoDashImplicitObjectWrapper; } //_.functions @@ -8061,16 +8278,16 @@ declare module _ { methods(object: any): string[]; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.functions **/ - functions(): _.LoDashArrayWrapper; + functions(): _.LoDashImplicitArrayWrapper; /** * @see _.functions **/ - methods(): _.LoDashArrayWrapper; + methods(): _.LoDashImplicitArrayWrapper; } //_.get @@ -8089,7 +8306,7 @@ declare module _ { ): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.get **/ @@ -8110,7 +8327,7 @@ declare module _ { has(object: any, path: string|number|boolean|Array): boolean; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.has */ @@ -8130,11 +8347,11 @@ declare module _ { invert(object: T, multiValue?: boolean): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.invert */ - invert(multiValue?: boolean): LoDashObjectWrapper; + invert(multiValue?: boolean): LoDashImplicitObjectWrapper; } //_.keys @@ -8147,11 +8364,11 @@ declare module _ { keys(object?: any): string[]; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.keys **/ - keys(): LoDashArrayWrapper + keys(): LoDashImplicitArrayWrapper } //_.keysIn @@ -8164,11 +8381,11 @@ declare module _ { keysIn(object?: any): string[]; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.keysIn **/ - keysIn(): LoDashArrayWrapper + keysIn(): LoDashImplicitArrayWrapper } //_.mapKeys @@ -8214,52 +8431,52 @@ declare module _ { ): Dictionary; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.mapKeys */ mapKeys( iteratee?: ListIterator, thisArg?: any - ): LoDashObjectWrapper>; + ): LoDashImplicitObjectWrapper>; /** * @see _.mapKeys */ mapKeys( iteratee?: TObject - ): LoDashObjectWrapper>; + ): LoDashImplicitObjectWrapper>; /** * @see _.mapKeys */ mapKeys( iteratee?: string - ): LoDashObjectWrapper>; + ): LoDashImplicitObjectWrapper>; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.mapKeys */ mapKeys( iteratee?: ListIterator|DictionaryIterator, thisArg?: any - ): LoDashObjectWrapper>; + ): LoDashImplicitObjectWrapper>; /** * @see _.mapKeys */ mapKeys( iteratee?: TObject - ): LoDashObjectWrapper>; + ): LoDashImplicitObjectWrapper>; /** * @see _.mapKeys */ mapKeys( iteratee?: string - ): LoDashObjectWrapper>; + ): LoDashImplicitObjectWrapper>; } //_.mapValues @@ -8289,34 +8506,34 @@ declare module _ { mapValues(obj: T, callback: ObjectIterator, thisArg?: any): T; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.mapValues * TValue is the type of the property values of T. * TResult is the type output by the ObjectIterator function */ - mapValues(callback: ObjectIterator, thisArg?: any): LoDashObjectWrapper>; + mapValues(callback: ObjectIterator, thisArg?: any): LoDashImplicitObjectWrapper>; /** * @see _.mapValues * TResult is the type of the property specified by pluck. * T should be a Dictionary> */ - mapValues(pluck: string): LoDashObjectWrapper>; + mapValues(pluck: string): LoDashImplicitObjectWrapper>; /** * @see _.mapValues * TResult is the type of the properties on the object specified by pluck. * T should be a Dictionary>> */ - mapValues(pluck: string, where: Dictionary): LoDashArrayWrapper>; + mapValues(pluck: string, where: Dictionary): LoDashImplicitArrayWrapper>; /** * @see _.mapValues * TResult is the type of the properties of each object in the values of T * T should be a Dictionary> */ - mapValues(where: Dictionary): LoDashArrayWrapper; + mapValues(where: Dictionary): LoDashImplicitArrayWrapper; } //_.merge @@ -8390,7 +8607,7 @@ declare module _ { ): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.merge */ @@ -8398,7 +8615,7 @@ declare module _ { source: TSource, customizer?: MergeCustomizer, thisArg?: any - ): LoDashObjectWrapper; + ): LoDashImplicitObjectWrapper; /** * @see _.merge @@ -8408,7 +8625,7 @@ declare module _ { source2: TSource2, customizer?: MergeCustomizer, thisArg?: any - ): LoDashObjectWrapper; + ): LoDashImplicitObjectWrapper; /** * @see _.merge @@ -8419,7 +8636,7 @@ declare module _ { source3: TSource3, customizer?: MergeCustomizer, thisArg?: any - ): LoDashObjectWrapper; + ): LoDashImplicitObjectWrapper; /** * @see _.merge @@ -8431,14 +8648,14 @@ declare module _ { source4: TSource4, customizer?: MergeCustomizer, thisArg?: any - ): LoDashObjectWrapper; + ): LoDashImplicitObjectWrapper; /** * @see _.merge */ merge( ...otherArgs: any[] - ): LoDashObjectWrapper; + ): LoDashImplicitObjectWrapper; } //_.omit @@ -8473,25 +8690,25 @@ declare module _ { thisArg?: any): Omitted; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.omit **/ omit( - ...keys: string[]): LoDashObjectWrapper; + ...keys: string[]): LoDashImplicitObjectWrapper; /** * @see _.omit **/ omit( - keys: string[]): LoDashObjectWrapper; + keys: string[]): LoDashImplicitObjectWrapper; /** * @see _.omit **/ omit( callback: ObjectIterator, - thisArg?: any): LoDashObjectWrapper; + thisArg?: any): LoDashImplicitObjectWrapper; } //_.pairs @@ -8505,11 +8722,11 @@ declare module _ { pairs(object?: any): any[][]; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.pairs **/ - pairs(): LoDashArrayWrapper; + pairs(): LoDashImplicitArrayWrapper; } //_.pick @@ -8541,21 +8758,21 @@ declare module _ { ): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.pick */ pick( predicate: ObjectIterator, thisArg?: any - ): LoDashObjectWrapper; + ): LoDashImplicitObjectWrapper; /** * @see _.pick */ pick( ...predicate: Array> - ): LoDashObjectWrapper; + ): LoDashImplicitObjectWrapper; } //_.result @@ -8576,7 +8793,7 @@ declare module _ { ): TResult; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.result */ @@ -8603,14 +8820,14 @@ declare module _ { ): T; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.set */ set( path: StringRepresentable|StringRepresentable[], value: any - ): LoDashObjectWrapper; + ): LoDashImplicitObjectWrapper; } //_.transform @@ -8665,7 +8882,7 @@ declare module _ { ): TResult[]; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.transform */ @@ -8673,7 +8890,7 @@ declare module _ { iteratee?: MemoVoidArrayIterator, accumulator?: TResult[], thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.transform @@ -8682,10 +8899,10 @@ declare module _ { iteratee?: MemoVoidArrayIterator>, accumulator?: Dictionary, thisArg?: any - ): LoDashObjectWrapper>; + ): LoDashImplicitObjectWrapper>; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.transform */ @@ -8693,7 +8910,7 @@ declare module _ { iteratee?: MemoVoidDictionaryIterator>, accumulator?: Dictionary, thisArg?: any - ): LoDashObjectWrapper>; + ): LoDashImplicitObjectWrapper>; /** * @see _.transform @@ -8702,7 +8919,7 @@ declare module _ { iteratee?: MemoVoidDictionaryIterator, accumulator?: TResult[], thisArg?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; } //_.values @@ -8715,11 +8932,11 @@ declare module _ { values(object?: any): T[]; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.values **/ - values(): LoDashObjectWrapper; + values(): LoDashImplicitObjectWrapper; } //_.valuesIn @@ -8732,11 +8949,11 @@ declare module _ { valuesIn(object?: any): T[]; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.valuesIn **/ - valuesIn(): LoDashObjectWrapper; + valuesIn(): LoDashImplicitObjectWrapper; } /********** @@ -8753,7 +8970,7 @@ declare module _ { camelCase(string?: string): string; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.camelCase */ @@ -8765,7 +8982,7 @@ declare module _ { capitalize(string?: string): string; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.capitalize */ @@ -8783,7 +9000,7 @@ declare module _ { deburr(string?: string): string; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.deburr */ @@ -8802,7 +9019,7 @@ declare module _ { endsWith(string?: string, target?: string, position?: number): boolean; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.endsWith */ @@ -8819,7 +9036,7 @@ declare module _ { escape(string?: string): string; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.escape */ @@ -8837,7 +9054,7 @@ declare module _ { escapeRegExp(string?: string): string; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.escapeRegExp */ @@ -8854,7 +9071,7 @@ declare module _ { kebabCase(string?: string): string; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.kebabCase */ @@ -8873,7 +9090,7 @@ declare module _ { } //_.pad - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.pad */ @@ -8894,7 +9111,7 @@ declare module _ { } //_.padLeft - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.padLeft */ @@ -8915,7 +9132,7 @@ declare module _ { } //_.padRight - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.padRight */ @@ -8935,7 +9152,7 @@ declare module _ { parseInt(string: string, radix?: number): number; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.parseInt */ @@ -8953,7 +9170,7 @@ declare module _ { repeat(string?: string, n?: number): string; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.repeat */ @@ -8970,7 +9187,7 @@ declare module _ { snakeCase(string?: string): string; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.snakeCase */ @@ -8987,7 +9204,7 @@ declare module _ { startCase(string?: string): string; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.startCase */ @@ -9006,7 +9223,7 @@ declare module _ { startsWith(string?: string, target?: string, position?: number): boolean; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.startsWith */ @@ -9050,7 +9267,7 @@ declare module _ { options?: TemplateSettings): TemplateExecutor; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.template */ @@ -9068,7 +9285,7 @@ declare module _ { trim(string?: string, chars?: string): string; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.trim */ @@ -9086,7 +9303,7 @@ declare module _ { trimLeft(string?: string, chars?: string): string; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.trimLeft */ @@ -9104,7 +9321,7 @@ declare module _ { trimRight(string?: string, chars?: string): string; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.trimRight */ @@ -9132,7 +9349,7 @@ declare module _ { trunc(string?: string, options?: TruncOptions|number): string; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.trunc */ @@ -9150,7 +9367,7 @@ declare module _ { unescape(string?: string): string; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.unescape */ @@ -9168,7 +9385,7 @@ declare module _ { words(string?: string, pattern?: string|RegExp): string[]; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.words */ @@ -9190,7 +9407,7 @@ declare module _ { attempt(func: (...args: any[]) => TResult): TResult|Error; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.attempt */ @@ -9236,23 +9453,23 @@ declare module _ { callback(): (value: TResult) => TResult; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.callback */ - callback(thisArg?: any): LoDashObjectWrapper<(object: any) => TResult>; + callback(thisArg?: any): LoDashImplicitObjectWrapper<(object: any) => TResult>; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.callback */ - callback(thisArg?: any): LoDashObjectWrapper<(object: any) => boolean>; + callback(thisArg?: any): LoDashImplicitObjectWrapper<(object: any) => boolean>; /** * @see _.callback */ - callback(thisArg?: any): LoDashObjectWrapper<(...args: any[]) => TResult>; + callback(thisArg?: any): LoDashImplicitObjectWrapper<(...args: any[]) => TResult>; } //_.identity @@ -9265,21 +9482,21 @@ declare module _ { identity(value?: T): T; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.identity */ identity(): T; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.identity */ identity(): T[]; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.identity */ @@ -9318,23 +9535,23 @@ declare module _ { iteratee(): (value: TResult) => TResult; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.callback */ - iteratee(thisArg?: any): LoDashObjectWrapper<(object: any) => TResult>; + iteratee(thisArg?: any): LoDashImplicitObjectWrapper<(object: any) => TResult>; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.callback */ - iteratee(thisArg?: any): LoDashObjectWrapper<(object: any) => boolean>; + iteratee(thisArg?: any): LoDashImplicitObjectWrapper<(object: any) => boolean>; /** * @see _.callback */ - iteratee(thisArg?: any): LoDashObjectWrapper<(...args: any[]) => TResult>; + iteratee(thisArg?: any): LoDashImplicitObjectWrapper<(...args: any[]) => TResult>; } //_.matches @@ -9362,11 +9579,11 @@ declare module _ { ): (value: V) => boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.matches */ - matches(): LoDashObjectWrapper<(value: V) => boolean>; + matches(): LoDashImplicitObjectWrapper<(value: V) => boolean>; } //_.matchesProperty @@ -9395,20 +9612,20 @@ declare module _ { ): (value: V) => boolean; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.matchesProperty */ matchesProperty( srcValue: SrcValue - ): LoDashObjectWrapper<(value: any) => boolean>; + ): LoDashImplicitObjectWrapper<(value: any) => boolean>; /** * @see _.matchesProperty */ matchesProperty( srcValue: SrcValue - ): LoDashObjectWrapper<(value: Value) => boolean>; + ): LoDashImplicitObjectWrapper<(value: Value) => boolean>; } //_.method @@ -9428,28 +9645,28 @@ declare module _ { method(path: any[], ...args: any[]): (object: any) => TResult; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.method */ - method(...args: any[]): LoDashWrapper<(object: any) => TResult>; + method(...args: any[]): LoDashImplicitWrapper<(object: any) => TResult>; /** * @see _.method */ - method(...args: any[]): LoDashWrapper<(object: any) => TResult>; + method(...args: any[]): LoDashImplicitWrapper<(object: any) => TResult>; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.method */ - method(...args: any[]): LoDashWrapper<(object: any) => TResult>; + method(...args: any[]): LoDashImplicitWrapper<(object: any) => TResult>; /** * @see _.method */ - method(...args: any[]): LoDashWrapper<(object: any) => TResult>; + method(...args: any[]): LoDashImplicitWrapper<(object: any) => TResult>; } //_.methodOf @@ -9464,11 +9681,11 @@ declare module _ { methodOf(object: Object, ...args: any[]): (path: string | any[]) => TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.methodOf */ - methodOf(...args: any[]): LoDashObjectWrapper<(path: string | any[]) => TResult>; + methodOf(...args: any[]): LoDashImplicitObjectWrapper<(path: string | any[]) => TResult>; } //_.mixin @@ -9505,21 +9722,21 @@ declare module _ { ): TResult; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.mixin */ mixin( source: Dictionary, options?: MixinOptions - ): LoDashObjectWrapper; + ): LoDashImplicitObjectWrapper; /** * @see _.mixin */ mixin( options?: MixinOptions - ): LoDashObjectWrapper; + ): LoDashImplicitObjectWrapper; } //_.noConflict @@ -9532,7 +9749,7 @@ declare module _ { noConflict(): typeof _; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.noConflict */ @@ -9548,7 +9765,7 @@ declare module _ { noop(...args: any[]): void; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.noop */ @@ -9565,18 +9782,18 @@ declare module _ { property(path: string|string[]): (obj: TObj) => TResult; } - interface LoDashStringWrapper { + interface LoDashImplicitStringWrapper { /** * @see _.property */ - property(): LoDashObjectWrapper<(obj: TObj) => TResult>; + property(): LoDashImplicitObjectWrapper<(obj: TObj) => TResult>; } - interface LoDashArrayWrapper { + interface LoDashImplicitArrayWrapper { /** * @see _.property */ - property(): LoDashObjectWrapper<(obj: TObj) => TResult>; + property(): LoDashImplicitObjectWrapper<(obj: TObj) => TResult>; } //_.propertyOf @@ -9590,11 +9807,11 @@ declare module _ { propertyOf(object: T): (path: string|string[]) => any; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.propertyOf */ - propertyOf(): LoDashObjectWrapper<(path: string|string[]) => any>; + propertyOf(): LoDashImplicitObjectWrapper<(path: string|string[]) => any>; } //_.range @@ -9621,13 +9838,13 @@ declare module _ { step?: number): number[]; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.range */ range( end?: number, - step?: number): LoDashArrayWrapper; + step?: number): LoDashImplicitArrayWrapper; } //_.runInContext @@ -9641,7 +9858,7 @@ declare module _ { runInContext(context?: Object): typeof _; } - interface LoDashObjectWrapper { + interface LoDashImplicitObjectWrapper { /** * @see _.runInContext */ @@ -9671,19 +9888,19 @@ declare module _ { times(n: number): number[]; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.times */ times( iteratee: (num: number) => TResult, thisArgs?: any - ): LoDashArrayWrapper; + ): LoDashImplicitArrayWrapper; /** * @see _.times */ - times(): LoDashArrayWrapper; + times(): LoDashImplicitArrayWrapper; } //_.uniqueId @@ -9696,7 +9913,7 @@ declare module _ { uniqueId(prefix?: string): string; } - interface LoDashWrapper { + interface LoDashImplicitWrapper { /** * @see _.uniqueId */ @@ -9713,7 +9930,7 @@ declare module _ { constant(value: T): () => T; } - interface LoDashWrapperBase { + interface LoDashImplicitWrapperBase { /** * @see _.constant */