mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-23 21:00:01 +08:00
Merge pull request #6216 from chrootsu/lodash-flattenDeep
lodash: changed signatures of the method _.flattenDeep
This commit is contained in:
@@ -412,14 +412,40 @@ result = <Array<number>>_.flatten([1, [2], [[3]]], true);
|
||||
result = <Array<number>>_.flatten<number>([1, [2], [3, [[4]]]], true);
|
||||
result = <Array<number|boolean>>_.flatten<number|boolean>([1, [2], [3, [[false]]]], true);
|
||||
|
||||
result = <Array<number>>_.flattenDeep<number>([[[[1]]]]);
|
||||
|
||||
result = <_.LoDashArrayWrapper<number>>_([[1, 2], [3, 4], 5, 6]).flatten();
|
||||
result = <_.LoDashArrayWrapper<number|Array<Array<number>>>>_([1, [2], [3, [[4]]]]).flatten();
|
||||
|
||||
result = <_.LoDashArrayWrapper<number>>_([1, [2], [3, [[4]]]]).flatten(true);
|
||||
|
||||
result = <_.LoDashArrayWrapper<number>>_([1, [2], [3, [[4]]]]).flattenDeep();
|
||||
// _.flattenDeep
|
||||
module TestFlattenDeep {
|
||||
interface RecursiveArray<T> extends Array<T|RecursiveArray<T>> {}
|
||||
interface ListOfRecursiveArraysOrValues<T> extends _.List<T|RecursiveArray<T>> {}
|
||||
interface RecursiveList<T> extends _.List<T|RecursiveList<T>> { }
|
||||
|
||||
let recursiveArray: RecursiveArray<TResult>;
|
||||
let listOfMaybeRecursiveArraysOrValues: ListOfRecursiveArraysOrValues<TResult>;
|
||||
let recursiveList: RecursiveList<TResult>;
|
||||
|
||||
{
|
||||
let result: TResult[];
|
||||
|
||||
result = _.flattenDeep<TResult>(recursiveArray);
|
||||
result = _.flattenDeep<TResult>(listOfMaybeRecursiveArraysOrValues);
|
||||
|
||||
result = _(recursiveArray).flattenDeep<TResult>().value();
|
||||
|
||||
result = _(listOfMaybeRecursiveArraysOrValues).flattenDeep<TResult>().value();
|
||||
}
|
||||
|
||||
{
|
||||
let result: any;
|
||||
|
||||
result = _.flattenDeep<TResult>(recursiveList);
|
||||
|
||||
result = _(recursiveList).flattenDeep().value();
|
||||
}
|
||||
}
|
||||
|
||||
// _.head
|
||||
module TestHead {
|
||||
|
||||
44
lodash/lodash.d.ts
vendored
44
lodash/lodash.d.ts
vendored
@@ -860,6 +860,8 @@ declare module _ {
|
||||
}
|
||||
|
||||
interface MaybeNestedList<T> extends List<T|List<T>> { }
|
||||
interface RecursiveArray<T> extends Array<T|RecursiveArray<T>> { }
|
||||
interface ListOfRecursiveArraysOrValues<T> extends List<T|RecursiveArray<T>> { }
|
||||
interface RecursiveList<T> extends List<T|RecursiveList<T>> { }
|
||||
|
||||
//_.flatten
|
||||
@@ -886,16 +888,6 @@ declare module _ {
|
||||
* @return `array` flattened.
|
||||
**/
|
||||
flatten<T>(array: RecursiveList<T>, isDeep: boolean): List<T> | RecursiveList<T>;
|
||||
|
||||
/**
|
||||
* Recursively flattens a nested array.
|
||||
*
|
||||
* _.flattenDeep(x) is equivalent to _.flatten(x, true);
|
||||
*
|
||||
* @param array The array to flatten
|
||||
* @return `array` recursively flattened
|
||||
*/
|
||||
flattenDeep<T>(array: RecursiveList<T>): List<T>
|
||||
}
|
||||
|
||||
interface LoDashArrayWrapper<T> {
|
||||
@@ -908,11 +900,41 @@ declare module _ {
|
||||
* @see _.flatten
|
||||
**/
|
||||
flatten<T>(isShallow: boolean): LoDashArrayWrapper<any>;
|
||||
}
|
||||
|
||||
//_.flattenDeep
|
||||
interface LoDashStatic {
|
||||
/**
|
||||
* Recursively flattens a nested array.
|
||||
*
|
||||
* @param array The array to recursively flatten.
|
||||
* @return Returns the new flattened array.
|
||||
*/
|
||||
flattenDeep<T>(array: RecursiveArray<T>): T[];
|
||||
|
||||
/**
|
||||
* @see _.flattenDeep
|
||||
*/
|
||||
flattenDeep<T>(): LoDashArrayWrapper<any>;
|
||||
flattenDeep<T>(array: ListOfRecursiveArraysOrValues<T>): T[];
|
||||
|
||||
/**
|
||||
* @see _.flattenDeep
|
||||
*/
|
||||
flattenDeep<T>(array: RecursiveList<T>): any[];
|
||||
}
|
||||
|
||||
interface LoDashArrayWrapper<T> {
|
||||
/**
|
||||
* @see _.flattenDeep
|
||||
*/
|
||||
flattenDeep<TResult>(): LoDashArrayWrapper<TResult>;
|
||||
}
|
||||
|
||||
interface LoDashObjectWrapper<T> {
|
||||
/**
|
||||
* @see _.flattenDeep
|
||||
*/
|
||||
flattenDeep<TResult>(): LoDashArrayWrapper<TResult>;
|
||||
}
|
||||
|
||||
//_.head
|
||||
|
||||
Reference in New Issue
Block a user