diff --git a/lodash/lodash-tests.ts b/lodash/lodash-tests.ts index f12ca23c4..d66b2be81 100644 --- a/lodash/lodash-tests.ts +++ b/lodash/lodash-tests.ts @@ -462,36 +462,58 @@ module TestFindIndex { module TestFindLastIndex { let array: TResult[]; let list: _.List; + let predicateFn: (value: TResult, index?: number, collection?: _.List) => boolean; - let result: number; - result = _.findLastIndex(array); - result = _.findLastIndex(array, predicateFn); - result = _.findLastIndex(array, predicateFn, any); - result = _.findLastIndex(array, ''); - result = _.findLastIndex(array, '', any); - result = _.findLastIndex<{a: number}, TResult>(array, {a: 42}); + { + let result: number; - result = _.findLastIndex(list); - result = _.findLastIndex(list, predicateFn); - result = _.findLastIndex(list, predicateFn, any); - result = _.findLastIndex(list, ''); - result = _.findLastIndex(list, '', any); - result = _.findLastIndex<{a: number}, TResult>(list, {a: 42}); + result = _.findLastIndex(array); + result = _.findLastIndex(array, predicateFn); + result = _.findLastIndex(array, predicateFn, any); + result = _.findLastIndex(array, ''); + result = _.findLastIndex(array, '', any); + result = _.findLastIndex<{a: number}, TResult>(array, {a: 42}); - result = _(array).findLastIndex(); - result = _(array).findLastIndex(predicateFn); - result = _(array).findLastIndex(predicateFn, any); - result = _(array).findLastIndex(''); - result = _(array).findLastIndex('', any); - result = _(array).findLastIndex<{a: number}>({a: 42}); + result = _.findLastIndex(list); + result = _.findLastIndex(list, predicateFn); + result = _.findLastIndex(list, predicateFn, any); + result = _.findLastIndex(list, ''); + result = _.findLastIndex(list, '', any); + result = _.findLastIndex<{a: number}, TResult>(list, {a: 42}); - result = _(list).findLastIndex(); - result = _(list).findLastIndex(predicateFn); - result = _(list).findLastIndex(predicateFn, any); - result = _(list).findLastIndex(''); - result = _(list).findLastIndex('', any); - result = _(list).findLastIndex<{a: number}>({a: 42}); + result = _(array).findLastIndex(); + result = _(array).findLastIndex(predicateFn); + result = _(array).findLastIndex(predicateFn, any); + result = _(array).findLastIndex(''); + result = _(array).findLastIndex('', any); + result = _(array).findLastIndex<{a: number}>({a: 42}); + + result = _(list).findLastIndex(); + result = _(list).findLastIndex(predicateFn); + result = _(list).findLastIndex(predicateFn, any); + result = _(list).findLastIndex(''); + result = _(list).findLastIndex('', any); + result = _(list).findLastIndex<{a: number}>({a: 42}); + } + + { + let result: _.LoDashExplicitWrapper; + + result = _(array).chain().findLastIndex(); + result = _(array).chain().findLastIndex(predicateFn); + result = _(array).chain().findLastIndex(predicateFn, any); + result = _(array).chain().findLastIndex(''); + result = _(array).chain().findLastIndex('', any); + result = _(array).chain().findLastIndex<{a: number}>({a: 42}); + + result = _(list).chain().findLastIndex(); + result = _(list).chain().findLastIndex(predicateFn); + result = _(list).chain().findLastIndex(predicateFn, any); + result = _(list).chain().findLastIndex(''); + result = _(list).chain().findLastIndex('', any); + result = _(list).chain().findLastIndex<{a: number}>({a: 42}); + } } // _.first diff --git a/lodash/lodash.d.ts b/lodash/lodash.d.ts index 141ad993c..1356e1c87 100644 --- a/lodash/lodash.d.ts +++ b/lodash/lodash.d.ts @@ -908,6 +908,56 @@ declare module _ { ): number; } + interface LoDashExplicitArrayWrapper { + /** + * @see _.findLastIndex + */ + findLastIndex( + predicate?: ListIterator, + thisArg?: any + ): LoDashExplicitWrapper; + + /** + * @see _.findLastIndex + */ + findLastIndex( + predicate?: string, + thisArg?: any + ): LoDashExplicitWrapper; + + /** + * @see _.findLastIndex + */ + findLastIndex( + predicate?: W + ): LoDashExplicitWrapper; + } + + interface LoDashExplicitObjectWrapper { + /** + * @see _.findLastIndex + */ + findLastIndex( + predicate?: ListIterator, + thisArg?: any + ): LoDashExplicitWrapper; + + /** + * @see _.findLastIndex + */ + findLastIndex( + predicate?: string, + thisArg?: any + ): LoDashExplicitWrapper; + + /** + * @see _.findLastIndex + */ + findLastIndex( + predicate?: W + ): LoDashExplicitWrapper; + } + //_.first interface LoDashStatic { /**