Last active
September 22, 2017 15:23
-
-
Save iofjuupasli/fd36c31abf3cedabbee2db8f218fa0b3 to your computer and use it in GitHub Desktop.
Lodash fp autocurry
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const readline = require(`readline`); | |
| const fs = require(`fs`); | |
| const rl = readline.createInterface({ | |
| input: fs.createReadStream(`./to_parse_v4.x.x.js`), | |
| }); | |
| const getArgs = /((\(\([^\)]*\)[^\)]*\))|[\w?]|(: )|(\<[^\>]*\>)|(\([^\)]*\))|( => )|( \| )|(\{[^\}]*\})|(\[[^\]]*\])|[\<\>]|( \& ))+/g; | |
| const split = (line) => { | |
| const start = line.indexOf(`(`); | |
| const end = line.lastIndexOf(`)`); | |
| return { | |
| before: line.slice(0, start), | |
| args: line.slice(start + 1, end).match(getArgs) || [], | |
| after: line.slice(end + 3, line.length - 1), | |
| }; | |
| } | |
| const isMethod = (line) => { | |
| return line.includes(`(`) && line.includes(`)`); | |
| }; | |
| const output = fs.createWriteStream(`./result.js`); | |
| const printGroup = (args, from, to) => { | |
| return `(${args.slice(from, to).join(`, `)})`; | |
| } | |
| const print = (args, config) => { | |
| const pairs = config.reduce((result, value) => { | |
| const prev = ((result[result.length - 1] || [])[1] || 0); | |
| result.push([prev, value + prev]) | |
| return result; | |
| }, []) | |
| let printed = pairs.reduce((result, [from, to], i) => { | |
| if (i === 0) { | |
| return `${printGroup(args, from, to)}: `; | |
| } | |
| return result + `${printGroup(args, from, to)} => ` | |
| }, ``); | |
| printed += `${printGroup(args, pairs[pairs.length - 1][1])} =>` | |
| return printed; | |
| } | |
| const printAll = (before, args, after, configs) => { | |
| return configs | |
| .map((config) => print(args, config)) | |
| .map((printedArgs) => `${before}${printedArgs}${after}\n`) | |
| .join(``); | |
| } | |
| const writeCurried = (line) => { | |
| if (line.includes(`constant`)) { | |
| return; | |
| } | |
| if (isMethod(line)) { | |
| const {before, args, after} = split(line); | |
| if (!args || args.length < 2) { | |
| return; | |
| } | |
| if (args.length === 2) { | |
| output.write(`${before}(${args[0]}): (${args[1]}) => ${after},\n`); | |
| } | |
| if (args.length === 3) { | |
| output.write(`${before}(${args[0]}): ((${args[1]}) => (${args[2]}) => ${after}) & ((${args[1]}, ${args[2]}) => ${after}),\n`); | |
| output.write(`${before}(${args[0]}, ${args[1]}): (${args[2]}) => ${after},\n`); | |
| } | |
| if (args.length === 4) { | |
| output.write(`${before}(${args[0]}): ((${args[1]}) => (((${args[2]}) => (${args[3]}) => ${after}) & ((${args[2]}, ${args[3]}) => ${after}))) & ((${args[1]}, ${args[2]}) => (${args[3]}) => ${after}) & ((${args[1]}, ${args[2]}, ${args[3]}) => ${after}),\n`) | |
| output.write(`${before}(${args[0]}, ${args[1]}): ((${args[2]}) => (${args[3]}) => ${after}) & ((${args[2]}, ${args[3]}) => ${after}),\n`); | |
| output.write(`${before}(${args[0]}, ${args[1]}, ${args[2]}): (${args[3]}) => ${after},\n`); | |
| } | |
| if (args.length > 4) { | |
| throw new Error(args.length); | |
| } | |
| } | |
| }; | |
| rl.on(`line`, (line) => { | |
| writeCurried(line) | |
| output.write(line); | |
| output.write(`\n`); | |
| }); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Array | |
| chunk<T>(size: number): (array: Array<T>) => Array<Array<T>>, | |
| chunk<T>(size: number, array: Array<T>): Array<Array<T>>, | |
| compact<T, N: T>(array: Array<N>): Array<T>, | |
| concat<T, U, A: Array<T> | T, B: Array<U> | U>(base: A): (elements: B) => Array<T | U>, | |
| concat<T, U, A: Array<T> | T, B: Array<U> | U>(base: A, elements: B): Array<T | U>, | |
| difference<T>(values: Array<T>): (array: Array<T>) => Array<T>, | |
| difference<T>(values: Array<T>, array: Array<T>): Array<T>, | |
| differenceBy<T>(iteratee: ValueOnlyIteratee<T>): ((values: Array<T>) => (array: Array<T>) => T[]) & ((values: Array<T>, array: Array<T>) => T[]), | |
| differenceBy<T>(iteratee: ValueOnlyIteratee<T>, values: Array<T>): (array: Array<T>) => T[], | |
| differenceBy<T>(iteratee: ValueOnlyIteratee<T>, values: Array<T>, array: Array<T>): T[], | |
| differenceWith<T>(values: T[]): ((comparator: Comparator<T>) => (array: T[]) => T[]) & ((comparator: Comparator<T>, array: T[]) => T[]), | |
| differenceWith<T>(values: T[], comparator: Comparator<T>): (array: T[]) => T[], | |
| differenceWith<T>(values: T[], comparator: Comparator<T>, array: T[]): T[], | |
| drop<T>(n: number): (array: Array<T>) => Array<T>, | |
| drop<T>(n: number, array: Array<T>): Array<T>, | |
| dropLast<T>(n: number): (array: Array<T>) => Array<T>, | |
| dropLast<T>(n: number, array: Array<T>): Array<T>, | |
| dropRight<T>(n: number): (array: Array<T>) => Array<T>, | |
| dropRight<T>(n: number, array: Array<T>): Array<T>, | |
| dropRightWhile<T>(predicate: Predicate<T>): (array: Array<T>) => Array<T>, | |
| dropRightWhile<T>(predicate: Predicate<T>, array: Array<T>): Array<T>, | |
| dropWhile<T>(predicate: Predicate<T>): (array: Array<T>) => Array<T>, | |
| dropWhile<T>(predicate: Predicate<T>, array: Array<T>): Array<T>, | |
| dropLastWhile<T>(predicate: Predicate<T>): (array: Array<T>) => Array<T>, | |
| dropLastWhile<T>(predicate: Predicate<T>, array: Array<T>): Array<T>, | |
| fill<T, U>(start: number): ((end: number) => (((value: U) => (array: Array<T>) => Array<T | U>) & ((value: U, array: Array<T>) => Array<T | U>))) & ((end: number, value: U) => (array: Array<T>) => Array<T | U>) & ((end: number, value: U, array: Array<T>) => Array<T | U>), | |
| fill<T, U>(start: number, end: number): ((value: U) => (array: Array<T>) => Array<T | U>) & ((value: U, array: Array<T>) => Array<T | U>), | |
| fill<T, U>(start: number, end: number, value: U): (array: Array<T>) => Array<T | U>, | |
| fill<T, U>(start: number, end: number, value: U, array: Array<T>): Array<T | U>, | |
| findIndex<T>(predicate: Predicate<T>): (array: Array<T>) => number, | |
| findIndex<T>(predicate: Predicate<T>, array: Array<T>): number, | |
| findIndexFrom<T>(predicate: Predicate<T>): ((fromIndex: number) => (array: Array<T>) => number) & ((fromIndex: number, array: Array<T>) => number), | |
| findIndexFrom<T>(predicate: Predicate<T>, fromIndex: number): (array: Array<T>) => number, | |
| findIndexFrom<T>(predicate: Predicate<T>, fromIndex: number, array: Array<T>): number, | |
| findLastIndex<T>(predicate: Predicate<T>): (array: Array<T>) => number, | |
| findLastIndex<T>(predicate: Predicate<T>, array: Array<T>): number, | |
| findLastIndexFrom<T>(predicate: Predicate<T>): ((fromIndex: number) => (array: Array<T>) => number) & ((fromIndex: number, array: Array<T>) => number), | |
| findLastIndexFrom<T>(predicate: Predicate<T>, fromIndex: number): (array: Array<T>) => number, | |
| findLastIndexFrom<T>(predicate: Predicate<T>, fromIndex: number, array: Array<T>): number, | |
| // alias of _.head | |
| first<T>(array: Array<T>): T, | |
| flatten<T, X>(array: Array<Array<T> | X>): Array<T | X>, | |
| unnest<T, X>(array: Array<Array<T> | X>): Array<T | X>, | |
| flattenDeep<T>(array: any[]): Array<T>, | |
| flattenDepth(depth: number): (array: any[]) => any[], | |
| flattenDepth(depth: number, array: any[]): any[], | |
| fromPairs<T>(pairs: Array<T>): Object, | |
| head<T>(array: Array<T>): T, | |
| indexOf<T>(value: T): (array: Array<T>) => number, | |
| indexOf<T>(value: T, array: Array<T>): number, | |
| indexOfFrom<T>(value: T): ((fromIndex: number) => (array: Array<T>) => number) & ((fromIndex: number, array: Array<T>) => number), | |
| indexOfFrom<T>(value: T, fromIndex: number): (array: Array<T>) => number, | |
| indexOfFrom<T>(value: T, fromIndex: number, array: Array<T>): number, | |
| initial<T>(array: Array<T>): Array<T>, | |
| init<T>(array: Array<T>): Array<T>, | |
| intersection<T>(a1: Array<T>): (a2: Array<T>) => Array<T>, | |
| intersection<T>(a1: Array<T>, a2: Array<T>): Array<T>, | |
| intersectionBy<T>(iteratee: ValueOnlyIteratee<T>): ((a1: Array<T>) => (a2: Array<T>) => Array<T>) & ((a1: Array<T>, a2: Array<T>) => Array<T>), | |
| intersectionBy<T>(iteratee: ValueOnlyIteratee<T>, a1: Array<T>): (a2: Array<T>) => Array<T>, | |
| intersectionBy<T>(iteratee: ValueOnlyIteratee<T>, a1: Array<T>, a2: Array<T>): Array<T>, | |
| intersectionWith<T>(comparator: Comparator<T>): ((a1: Array<T>) => (a2: Array<T>) => Array<T>) & ((a1: Array<T>, a2: Array<T>) => Array<T>), | |
| intersectionWith<T>(comparator: Comparator<T>, a1: Array<T>): (a2: Array<T>) => Array<T>, | |
| intersectionWith<T>(comparator: Comparator<T>, a1: Array<T>, a2: Array<T>): Array<T>, | |
| join<T>(separator: string): (array: Array<T>) => string, | |
| join<T>(separator: string, array: Array<T>): string, | |
| last<T>(array: Array<T>): T, | |
| lastIndexOf<T>(value: T): (array: Array<T>) => number, | |
| lastIndexOf<T>(value: T, array: Array<T>): number, | |
| lastIndexOfFrom<T>(value: T): ((fromIndex: number) => (array: Array<T>) => number) & ((fromIndex: number, array: Array<T>) => number), | |
| lastIndexOfFrom<T>(value: T, fromIndex: number): (array: Array<T>) => number, | |
| lastIndexOfFrom<T>(value: T, fromIndex: number, array: Array<T>): number, | |
| nth<T>(n: number): (array: T[]) => T, | |
| nth<T>(n: number, array: T[]): T, | |
| pull<T>(value: T): (array: Array<T>) => Array<T>, | |
| pull<T>(value: T, array: Array<T>): Array<T>, | |
| pullAll<T>(values: Array<T>): (array: Array<T>) => Array<T>, | |
| pullAll<T>(values: Array<T>, array: Array<T>): Array<T>, | |
| pullAllBy<T>(iteratee: ValueOnlyIteratee<T>): ((values: Array<T>) => (array: Array<T>) => Array<T>) & ((values: Array<T>, array: Array<T>) => Array<T>), | |
| pullAllBy<T>(iteratee: ValueOnlyIteratee<T>, values: Array<T>): (array: Array<T>) => Array<T>, | |
| pullAllBy<T>(iteratee: ValueOnlyIteratee<T>, values: Array<T>, array: Array<T>): Array<T>, | |
| pullAllWith<T>(comparator: Function): ((values: T[]) => (array: T[]) => T[]) & ((values: T[], array: T[]) => T[]), | |
| pullAllWith<T>(comparator: Function, values: T[]): (array: T[]) => T[], | |
| pullAllWith<T>(comparator: Function, values: T[], array: T[]): T[], | |
| pullAt<T>(indexed: Array<number>): (array: Array<T>) => Array<T>, | |
| pullAt<T>(indexed: Array<number>, array: Array<T>): Array<T>, | |
| remove<T>(predicate: Predicate<T>): (array: Array<T>) => Array<T>, | |
| remove<T>(predicate: Predicate<T>, array: Array<T>): Array<T>, | |
| reverse<T>(array: Array<T>): Array<T>, | |
| slice<T>(start: number): ((end: number) => (array: Array<T>) => Array<T>) & ((end: number, array: Array<T>) => Array<T>), | |
| slice<T>(start: number, end: number): (array: Array<T>) => Array<T>, | |
| slice<T>(start: number, end: number, array: Array<T>): Array<T>, | |
| sortedIndex<T>(value: T): (array: Array<T>) => number, | |
| sortedIndex<T>(value: T, array: Array<T>): number, | |
| sortedIndexBy<T>(iteratee: ValueOnlyIteratee<T>): ((value: T) => (array: Array<T>) => number) & ((value: T, array: Array<T>) => number), | |
| sortedIndexBy<T>(iteratee: ValueOnlyIteratee<T>, value: T): (array: Array<T>) => number, | |
| sortedIndexBy<T>(iteratee: ValueOnlyIteratee<T>, value: T, array: Array<T>): number, | |
| sortedIndexOf<T>(value: T): (array: Array<T>) => number, | |
| sortedIndexOf<T>(value: T, array: Array<T>): number, | |
| sortedLastIndex<T>(value: T): (array: Array<T>) => number, | |
| sortedLastIndex<T>(value: T, array: Array<T>): number, | |
| sortedLastIndexBy<T>(iteratee: ValueOnlyIteratee<T>): ((value: T) => (array: Array<T>) => number) & ((value: T, array: Array<T>) => number), | |
| sortedLastIndexBy<T>(iteratee: ValueOnlyIteratee<T>, value: T): (array: Array<T>) => number, | |
| sortedLastIndexBy<T>(iteratee: ValueOnlyIteratee<T>, value: T, array: Array<T>): number, | |
| sortedLastIndexOf<T>(value: T): (array: Array<T>) => number, | |
| sortedLastIndexOf<T>(value: T, array: Array<T>): number, | |
| sortedUniq<T>(array: Array<T>): Array<T>, | |
| sortedUniqBy<T>(iteratee: (value: T) => mixed): (array: Array<T>) => Array<T>, | |
| sortedUniqBy<T>(iteratee: (value: T) => mixed, array: Array<T>): Array<T>, | |
| tail<T>(array: Array<T>): Array<T>, | |
| take<T>(n: number): (array: Array<T>) => Array<T>, | |
| take<T>(n: number, array: Array<T>): Array<T>, | |
| takeRight<T>(n: number): (array: Array<T>) => Array<T>, | |
| takeRight<T>(n: number, array: Array<T>): Array<T>, | |
| takeLast<T>(n: number): (array: Array<T>) => Array<T>, | |
| takeLast<T>(n: number, array: Array<T>): Array<T>, | |
| takeRightWhile<T>(predicate: Predicate<T>): (array: Array<T>) => Array<T>, | |
| takeRightWhile<T>(predicate: Predicate<T>, array: Array<T>): Array<T>, | |
| takeLastWhile<T>(predicate: Predicate<T>): (array: Array<T>) => Array<T>, | |
| takeLastWhile<T>(predicate: Predicate<T>, array: Array<T>): Array<T>, | |
| takeWhile<T>(predicate: Predicate<T>): (array: Array<T>) => Array<T>, | |
| takeWhile<T>(predicate: Predicate<T>, array: Array<T>): Array<T>, | |
| union<T>(a1: Array<T>): (a2: Array<T>) => Array<T>, | |
| union<T>(a1: Array<T>, a2: Array<T>): Array<T>, | |
| unionBy<T>(iteratee: ValueOnlyIteratee<T>): ((a1: Array<T>) => (a2: Array<T>) => Array<T>) & ((a1: Array<T>, a2: Array<T>) => Array<T>), | |
| unionBy<T>(iteratee: ValueOnlyIteratee<T>, a1: Array<T>): (a2: Array<T>) => Array<T>, | |
| unionBy<T>(iteratee: ValueOnlyIteratee<T>, a1: Array<T>, a2: Array<T>): Array<T>, | |
| unionWith<T>(comparator: Comparator<T>): ((a1: Array<T>) => (a2: Array<T>) => Array<T>) & ((a1: Array<T>, a2: Array<T>) => Array<T>), | |
| unionWith<T>(comparator: Comparator<T>, a1: Array<T>): (a2: Array<T>) => Array<T>, | |
| unionWith<T>(comparator: Comparator<T>, a1: Array<T>, a2: Array<T>): Array<T>, | |
| uniq<T>(array: Array<T>): Array<T>, | |
| uniqBy<T>(iteratee: ValueOnlyIteratee<T>): (array: Array<T>) => Array<T>, | |
| uniqBy<T>(iteratee: ValueOnlyIteratee<T>, array: Array<T>): Array<T>, | |
| uniqWith<T>(comparator: Comparator<T>): (array: Array<T>) => Array<T>, | |
| uniqWith<T>(comparator: Comparator<T>, array: Array<T>): Array<T>, | |
| unzip<T>(array: Array<T>): Array<T>, | |
| unzipWith<T>(iteratee: Iteratee<T>): (array: Array<T>) => Array<T>, | |
| unzipWith<T>(iteratee: Iteratee<T>, array: Array<T>): Array<T>, | |
| without<T>(values: Array<T>): (array: Array<T>) => Array<T>, | |
| without<T>(values: Array<T>, array: Array<T>): Array<T>, | |
| xor<T>(a1: Array<T>): (a2: Array<T>) => Array<T>, | |
| xor<T>(a1: Array<T>, a2: Array<T>): Array<T>, | |
| symmetricDifference<T>(a1: Array<T>): (a2: Array<T>) => Array<T>, | |
| symmetricDifference<T>(a1: Array<T>, a2: Array<T>): Array<T>, | |
| xorBy<T>(iteratee: ValueOnlyIteratee<T>): ((a1: Array<T>) => (a2: Array<T>) => Array<T>) & ((a1: Array<T>, a2: Array<T>) => Array<T>), | |
| xorBy<T>(iteratee: ValueOnlyIteratee<T>, a1: Array<T>): (a2: Array<T>) => Array<T>, | |
| xorBy<T>(iteratee: ValueOnlyIteratee<T>, a1: Array<T>, a2: Array<T> ): Array<T>, | |
| symmetricDifferenceBy<T>(iteratee: ValueOnlyIteratee<T>): ((a1: Array<T>) => (a2: Array<T>) => Array<T>) & ((a1: Array<T>, a2: Array<T>) => Array<T>), | |
| symmetricDifferenceBy<T>(iteratee: ValueOnlyIteratee<T>, a1: Array<T>): (a2: Array<T>) => Array<T>, | |
| symmetricDifferenceBy<T>(iteratee: ValueOnlyIteratee<T>, a1: Array<T>, a2: Array<T> ): Array<T>, | |
| xorWith<T>(comparator: Comparator<T>): ((a1: Array<T>) => (a2: Array<T>) => Array<T>) & ((a1: Array<T>, a2: Array<T>) => Array<T>), | |
| xorWith<T>(comparator: Comparator<T>, a1: Array<T>): (a2: Array<T>) => Array<T>, | |
| xorWith<T>(comparator: Comparator<T>, a1: Array<T>, a2: Array<T>): Array<T>, | |
| symmetricDifferenceWith<T>(comparator: Comparator<T>): ((a1: Array<T>) => (a2: Array<T>) => Array<T>) & ((a1: Array<T>, a2: Array<T>) => Array<T>), | |
| symmetricDifferenceWith<T>(comparator: Comparator<T>, a1: Array<T>): (a2: Array<T>) => Array<T>, | |
| symmetricDifferenceWith<T>(comparator: Comparator<T>, a1: Array<T>, a2: Array<T>): Array<T>, | |
| zip<A, B>(a1: A[]): (a2: B[]) => Array<[A, B]>, | |
| zip<A, B>(a1: A[], a2: B[]): Array<[A, B]>, | |
| zipAll(arrays: Array<Array<any>>): Array<any>, | |
| zipObject(props: Array<any>): (values: Array<any>) => Object, | |
| zipObject(props: Array<any>, values: Array<any>): Object, | |
| zipObj(props: Array<any>): (values: Array<any>) => Object, | |
| zipObj(props: Array<any>, values: Array<any>): Object, | |
| zipObjectDeep(props: any[]): (values: any) => Object, | |
| zipObjectDeep(props: any[], values: any): Object, | |
| zipWith<T>(iteratee: Iteratee<T>): ((a1: NestedArray<T>) => (a2: NestedArray<T>) => Array<T>) & ((a1: NestedArray<T>, a2: NestedArray<T>) => Array<T>), | |
| zipWith<T>(iteratee: Iteratee<T>, a1: NestedArray<T>): (a2: NestedArray<T>) => Array<T>, | |
| zipWith<T>(iteratee: Iteratee<T>, a1: NestedArray<T>, a2: NestedArray<T>): Array<T>, | |
| // Collection | |
| countBy<T>(iteratee: ValueOnlyIteratee<T>): (collection: Array<T> | { [id: any]: T }) => { [string]: number }, | |
| countBy<T>(iteratee: ValueOnlyIteratee<T>, collection: Array<T> | { [id: any]: T }): { [string]: number }, | |
| // alias of _.forEach | |
| each<T>(iteratee: Iteratee<T> | OIteratee<T>): (collection: Array<T> | { [id: any]: T }) => Array<T>, | |
| each<T>(iteratee: Iteratee<T> | OIteratee<T>, collection: Array<T> | { [id: any]: T }): Array<T>, | |
| // alias of _.forEachRight | |
| eachRight<T>(iteratee: Iteratee<T> | OIteratee<T>): (collection: Array<T> | { [id: any]: T }) => Array<T>, | |
| eachRight<T>(iteratee: Iteratee<T> | OIteratee<T>, collection: Array<T> | { [id: any]: T }): Array<T>, | |
| every<T>(iteratee: Iteratee<T> | OIteratee<T>): (collection: Array<T> | { [id: any]: T }) => boolean, | |
| every<T>(iteratee: Iteratee<T> | OIteratee<T>, collection: Array<T> | { [id: any]: T }): boolean, | |
| all<T>(iteratee: Iteratee<T> | OIteratee<T>): (collection: Array<T> | { [id: any]: T }) => boolean, | |
| all<T>(iteratee: Iteratee<T> | OIteratee<T>, collection: Array<T> | { [id: any]: T }): boolean, | |
| filter<T>(predicate: Predicate<T> | OPredicate<T>): (collection: Array<T> | { [id: any]: T }) => Array<T>, | |
| filter<T>(predicate: Predicate<T> | OPredicate<T>, collection: Array<T> | { [id: any]: T }): Array<T>, | |
| find<T>(predicate: Predicate<T> | OPredicate<T>): (collection: Array<T> | { [id: any]: T }) => T | void, | |
| find<T>(predicate: Predicate<T> | OPredicate<T>, collection: Array<T> | { [id: any]: T }): T | void, | |
| findFrom<T>(predicate: Predicate<T> | OPredicate<T>): ((fromIndex: number) => (collection: Array<T> | { [id: any]: T }) => T | void) & ((fromIndex: number, collection: Array<T> | { [id: any]: T }) => T | void), | |
| findFrom<T>(predicate: Predicate<T> | OPredicate<T>, fromIndex: number): (collection: Array<T> | { [id: any]: T }) => T | void, | |
| findFrom<T>(predicate: Predicate<T> | OPredicate<T>, fromIndex: number, collection: Array<T> | { [id: any]: T }): T | void, | |
| findLast<T>(predicate: Predicate<T> | OPredicate<T>): (collection: Array<T> | { [id: any]: T }) => T | void, | |
| findLast<T>(predicate: Predicate<T> | OPredicate<T>, collection: Array<T> | { [id: any]: T }): T | void, | |
| findLastFrom<T>(predicate: Predicate<T> | OPredicate<T>): ((fromIndex: number) => (collection: Array<T> | { [id: any]: T }) => T | void) & ((fromIndex: number, collection: Array<T> | { [id: any]: T }) => T | void), | |
| findLastFrom<T>(predicate: Predicate<T> | OPredicate<T>, fromIndex: number): (collection: Array<T> | { [id: any]: T }) => T | void, | |
| findLastFrom<T>(predicate: Predicate<T> | OPredicate<T>, fromIndex: number, collection: Array<T> | { [id: any]: T }): T | void, | |
| flatMap<T, U>(iteratee: FlatMapIteratee<T, U> | OFlatMapIteratee<T, U>): (collection: Array<T> | { [id: any]: T }) => Array<U>, | |
| flatMap<T, U>(iteratee: FlatMapIteratee<T, U> | OFlatMapIteratee<T, U>, collection: Array<T> | { [id: any]: T }): Array<U>, | |
| flatMapDeep<T, U>(iteratee: FlatMapIteratee<T, U> | OFlatMapIteratee<T, U>): (collection: Array<T> | { [id: any]: T }) => Array<U>, | |
| flatMapDeep<T, U>(iteratee: FlatMapIteratee<T, U> | OFlatMapIteratee<T, U>, collection: Array<T> | { [id: any]: T }): Array<U>, | |
| flatMapDepth<T, U>(iteratee: FlatMapIteratee<T, U> | OFlatMapIteratee<T, U>): ((depth: number) => (collection: Array<T> | { [id: any]: T }) => Array<U>) & ((depth: number, collection: Array<T> | { [id: any]: T }) => Array<U>), | |
| flatMapDepth<T, U>(iteratee: FlatMapIteratee<T, U> | OFlatMapIteratee<T, U>, depth: number): (collection: Array<T> | { [id: any]: T }) => Array<U>, | |
| flatMapDepth<T, U>(iteratee: FlatMapIteratee<T, U> | OFlatMapIteratee<T, U>, depth: number, collection: Array<T> | { [id: any]: T }): Array<U>, | |
| forEach<T>(iteratee: Iteratee<T> | OIteratee<T>): (collection: Array<T> | { [id: any]: T }) => Array<T>, | |
| forEach<T>(iteratee: Iteratee<T> | OIteratee<T>, collection: Array<T> | { [id: any]: T }): Array<T>, | |
| forEachRight<T>(iteratee: Iteratee<T> | OIteratee<T>): (collection: Array<T> | { [id: any]: T }) => Array<T>, | |
| forEachRight<T>(iteratee: Iteratee<T> | OIteratee<T>, collection: Array<T> | { [id: any]: T }): Array<T>, | |
| groupBy<V, T>(iteratee: ValueOnlyIteratee<T>): (collection: Array<T> | { [id: any]: T }) => { [key: V]: Array<T> }, | |
| groupBy<V, T>(iteratee: ValueOnlyIteratee<T>, collection: Array<T> | { [id: any]: T }): { [key: V]: Array<T> }, | |
| includes(value: string): (str: string) => boolean, | |
| includes(value: string, str: string): boolean, | |
| includes<T>(value: T): (collection: Array<T> | { [id: any]: T }) => boolean, | |
| includes<T>(value: T, collection: Array<T> | { [id: any]: T }): boolean, | |
| contains(value: string): (str: string) => boolean, | |
| contains(value: string, str: string): boolean, | |
| contains<T>(value: T): (collection: Array<T> | { [id: any]: T }) => boolean, | |
| contains<T>(value: T, collection: Array<T> | { [id: any]: T }): boolean, | |
| includesFrom(value: string): ((fromIndex: number) => (str: string) => boolean) & ((fromIndex: number, str: string) => boolean), | |
| includesFrom(value: string, fromIndex: number): (str: string) => boolean, | |
| includesFrom(value: string, fromIndex: number, str: string): boolean, | |
| includesFrom<T>(value: T): ((fromIndex: number) => (collection: Array<T>) => boolean) & ((fromIndex: number, collection: Array<T>) => boolean), | |
| includesFrom<T>(value: T, fromIndex: number): (collection: Array<T>) => boolean, | |
| includesFrom<T>(value: T, fromIndex: number, collection: Array<T>): boolean, | |
| invokeMap<T>(path: ((value: T) => Array<string> | string) | Array<string> | string): (collection: Array<T> | { [id: any]: T }) => Array<any>, | |
| invokeMap<T>(path: ((value: T) => Array<string> | string) | Array<string> | string, collection: Array<T> | { [id: any]: T }): Array<any>, | |
| invokeArgsMap<T>(path: ((value: T) => Array<string> | string) | Array<string> | string): ((collection: Array<T> | { [id: any]: T }) => (args: Array<any>) => Array<any>) & ((collection: Array<T> | { [id: any]: T }, args: Array<any>) => Array<any>), | |
| invokeArgsMap<T>(path: ((value: T) => Array<string> | string) | Array<string> | string, collection: Array<T> | { [id: any]: T }): (args: Array<any>) => Array<any>, | |
| invokeArgsMap<T>(path: ((value: T) => Array<string> | string) | Array<string> | string, collection: Array<T> | { [id: any]: T }, args: Array<any>): Array<any>, | |
| keyBy<T, V>(iteratee: ValueOnlyIteratee<T>): (collection: Array<T> | { [id: any]: T }) => { [key: V]: T }, | |
| keyBy<T, V>(iteratee: ValueOnlyIteratee<T>, collection: Array<T> | { [id: any]: T }): { [key: V]: T }, | |
| indexBy<T, V>(iteratee: ValueOnlyIteratee<T>): (collection: Array<T> | { [id: any]: T }) => { [key: V]: T }, | |
| indexBy<T, V>(iteratee: ValueOnlyIteratee<T>, collection: Array<T> | { [id: any]: T }): { [key: V]: T }, | |
| map<T, U>(iteratee: MapIterator<T, U> | OMapIterator<T, U>): (collection: Array<T> | { [id: any]: T}) => Array<U>, | |
| map<T, U>(iteratee: MapIterator<T, U> | OMapIterator<T, U>, collection: Array<T> | { [id: any]: T}): Array<U>, | |
| map(iteratee: (char: string) => any): (str: string) => string, | |
| map(iteratee: (char: string) => any, str: string): string, | |
| pluck<T, U>(iteratee: MapIterator<T, U> | OMapIterator<T, U>): (collection: Array<T> | { [id: any]: T}) => Array<U>, | |
| pluck<T, U>(iteratee: MapIterator<T, U> | OMapIterator<T, U>, collection: Array<T> | { [id: any]: T}): Array<U>, | |
| pluck(iteratee: (char: string) => any): (str: string) => string, | |
| pluck(iteratee: (char: string) => any, str: string): string, | |
| orderBy<T>(iteratees: Array<Iteratee<T> | OIteratee<*>> | string): ((orders: Array<"asc" | "desc"> | string) => (collection: Array<T> | { [id: any]: T}) => Array<T>) & ((orders: Array<"asc" | "desc"> | string, collection: Array<T> | { [id: any]: T}) => Array<T>), | |
| orderBy<T>(iteratees: Array<Iteratee<T> | OIteratee<*>> | string, orders: Array<"asc" | "desc"> | string): (collection: Array<T> | { [id: any]: T}) => Array<T>, | |
| orderBy<T>(iteratees: Array<Iteratee<T> | OIteratee<*>> | string, orders: Array<"asc" | "desc"> | string, collection: Array<T> | { [id: any]: T}): Array<T>, | |
| partition<T>(predicate: Predicate<T> | OPredicate<T>): (collection: Array<T> | { [id: any]: T }) => NestedArray<T>, | |
| partition<T>(predicate: Predicate<T> | OPredicate<T>, collection: Array<T> | { [id: any]: T }): NestedArray<T>, | |
| reduce<T, U>(iteratee: (accumulator: U, value: T) => U): ((accumulator: U) => (collection: Array<T> | { [id: any]: T}) => U) & ((accumulator: U, collection: Array<T> | { [id: any]: T}) => U), | |
| reduce<T, U>(iteratee: (accumulator: U, value: T) => U, accumulator: U): (collection: Array<T> | { [id: any]: T}) => U, | |
| reduce<T, U>(iteratee: (accumulator: U, value: T) => U, accumulator: U, collection: Array<T> | { [id: any]: T}): U, | |
| reduceRight<T, U>(iteratee: (value: T, accumulator: U) => U): ((accumulator: U) => (collection: Array<T> | { [id: any]: T }) => U) & ((accumulator: U, collection: Array<T> | { [id: any]: T }) => U), | |
| reduceRight<T, U>(iteratee: (value: T, accumulator: U) => U, accumulator: U): (collection: Array<T> | { [id: any]: T }) => U, | |
| reduceRight<T, U>(iteratee: (value: T, accumulator: U) => U, accumulator: U, collection: Array<T> | { [id: any]: T }): U, | |
| reject<T>(predicate: Predicate<T> | OPredicate<T>): (collection: Array<T> | { [id: any]: T }) => Array<T>, | |
| reject<T>(predicate: Predicate<T> | OPredicate<T>, collection: Array<T> | { [id: any]: T }): Array<T>, | |
| sample<T>(collection: Array<T> | { [id: any]: T }): T, | |
| sampleSize<T>(n: number): (collection: Array<T> | { [id: any]: T }) => Array<T>, | |
| sampleSize<T>(n: number, collection: Array<T> | { [id: any]: T }): Array<T>, | |
| shuffle<T>(collection: Array<T> | { [id: any]: T }): Array<T>, | |
| size(collection: Array<any> | Object): number, | |
| some<T>(predicate: Predicate<T> | OPredicate<T>): (collection: Array<T> | { [id: any]: T }) => boolean, | |
| some<T>(predicate: Predicate<T> | OPredicate<T>, collection: Array<T> | { [id: any]: T }): boolean, | |
| any<T>(predicate: Predicate<T> | OPredicate<T>): (collection: Array<T> | { [id: any]: T }) => boolean, | |
| any<T>(predicate: Predicate<T> | OPredicate<T>, collection: Array<T> | { [id: any]: T }): boolean, | |
| sortBy<T>(iteratees: Array<Iteratee<T> | OIteratee<T>>): (collection: Array<T> | { [id: any]: T }) => Array<T>, | |
| sortBy<T>(iteratees: Array<Iteratee<T> | OIteratee<T>>, collection: Array<T> | { [id: any]: T }): Array<T>, | |
| // Date | |
| now(): number, | |
| // Function | |
| after(fn: Function): (n: number) => Function, | |
| after(fn: Function, n: number): Function, | |
| ary(func: Function): Function, | |
| nAry(n: number): (func: Function) => Function, | |
| nAry(n: number, func: Function): Function, | |
| before(fn: Function): (n: number) => Function, | |
| before(fn: Function, n: number): Function, | |
| bind(func: Function): (thisArg: any) => Function, | |
| bind(func: Function, thisArg: any): Function, | |
| bindKey(obj: Object): (key: string) => Function, | |
| bindKey(obj: Object, key: string): Function, | |
| curry(func: Function): Function, | |
| curryN(arity: number): (func: Function) => Function, | |
| curryN(arity: number, func: Function): Function, | |
| curryRight(func: Function): Function, | |
| curryRightN(arity: number): (func: Function) => Function, | |
| curryRightN(arity: number, func: Function): Function, | |
| debounce(wait: number): (func: Function) => Function, | |
| debounce(wait: number, func: Function): Function, | |
| defer(func: Function): number, | |
| delay(wait: number): (func: Function) => number, | |
| delay(wait: number, func: Function): number, | |
| flip(func: Function): Function, | |
| memoize(func: Function): Function, | |
| negate(predicate: Function): Function, | |
| complement(predicate: Function): Function, | |
| once(func: Function): Function, | |
| overArgs(func: Function): (transforms: Array<Function>) => Function, | |
| overArgs(func: Function, transforms: Array<Function>): Function, | |
| useWith(func: Function): (transforms: Array<Function>) => Function, | |
| useWith(func: Function, transforms: Array<Function>): Function, | |
| partial(func: Function): (partials: any[]) => Function, | |
| partial(func: Function, partials: any[]): Function, | |
| partialRight(func: Function): (partials: Array<any>) => Function, | |
| partialRight(func: Function, partials: Array<any>): Function, | |
| rearg(indexes: Array<number>): (func: Function) => Function, | |
| rearg(indexes: Array<number>, func: Function): Function, | |
| rest(func: Function): Function, | |
| unapply(func: Function): Function, | |
| restFrom(start: number): (func: Function) => Function, | |
| restFrom(start: number, func: Function): Function, | |
| spread(func: Function): Function, | |
| apply(func: Function): Function, | |
| spreadFrom(start: number): (func: Function) => Function, | |
| spreadFrom(start: number, func: Function): Function, | |
| throttle(wait: number): (func: Function) => Function, | |
| throttle(wait: number, func: Function): Function, | |
| unary(func: Function): Function, | |
| wrap(wrapper: Function): (value: any) => Function, | |
| wrap(wrapper: Function, value: any): Function, | |
| // Lang | |
| castArray(value: *): any[], | |
| clone<T>(value: T): T, | |
| cloneDeep<T>(value: T): T, | |
| cloneDeepWith<T, U>(customizer: (value: T, key: number | string, object: T, stack: any) => U): (value: T) => U, | |
| cloneDeepWith<T, U>(customizer: (value: T, key: number | string, object: T, stack: any) => U, value: T): U, | |
| cloneWith<T, U>(customizer: (value: T, key: number | string, object: T, stack: any) => U): (value: T) => U, | |
| cloneWith<T, U>(customizer: (value: T, key: number | string, object: T, stack: any) => U, value: T): U, | |
| conformsTo<T: { [key: string]: mixed }>(predicates: T & { [key: string]: (x: any) => boolean }): (source: T) => boolean, | |
| conformsTo<T: { [key: string]: mixed }>(predicates: T & { [key: string]: (x: any) => boolean }, source: T): boolean, | |
| where<T: { [key: string]: mixed }>(predicates: T & { [key: string]: (x: any) => boolean }): (source: T) => boolean, | |
| where<T: { [key: string]: mixed }>(predicates: T & { [key: string]: (x: any) => boolean }, source: T): boolean, | |
| conforms<T: { [key: string]: mixed }>(predicates: T & { [key: string]: (x: any) => boolean }): (source: T) => boolean, | |
| conforms<T: { [key: string]: mixed }>(predicates: T & { [key: string]: (x: any) => boolean }, source: T): boolean, | |
| eq(value: any): (other: any) => boolean, | |
| eq(value: any, other: any): boolean, | |
| identical(value: any): (other: any) => boolean, | |
| identical(value: any, other: any): boolean, | |
| gt(value: any): (other: any) => boolean, | |
| gt(value: any, other: any): boolean, | |
| gte(value: any): (other: any) => boolean, | |
| gte(value: any, other: any): boolean, | |
| isArguments(value: any): boolean, | |
| isArray(value: any): boolean, | |
| isArrayBuffer(value: any): boolean, | |
| isArrayLike(value: any): boolean, | |
| isArrayLikeObject(value: any): boolean, | |
| isBoolean(value: any): boolean, | |
| isBuffer(value: any): boolean, | |
| isDate(value: any): boolean, | |
| isElement(value: any): boolean, | |
| isEmpty(value: any): boolean, | |
| isEqual(value: any): (other: any) => boolean, | |
| isEqual(value: any, other: any): boolean, | |
| equals(value: any): (other: any) => boolean, | |
| equals(value: any, other: any): boolean, | |
| isEqualWith<T, U>(customizer: (objValue: any, otherValue: any, key: number | string, object: T, other: U, stack: any) => boolean | void): ((value: T) => (other: U) => boolean) & ((value: T, other: U) => boolean), | |
| isEqualWith<T, U>(customizer: (objValue: any, otherValue: any, key: number | string, object: T, other: U, stack: any) => boolean | void, value: T): (other: U) => boolean, | |
| isEqualWith<T, U>(customizer: (objValue: any, otherValue: any, key: number | string, object: T, other: U, stack: any) => boolean | void, value: T, other: U): boolean, | |
| isError(value: any): boolean, | |
| isFinite(value: any): boolean, | |
| isFunction(value: Function): true, | |
| isFunction(value: number | string | void | null | Object): false, | |
| isInteger(value: any): boolean, | |
| isLength(value: any): boolean, | |
| isMap(value: any): boolean, | |
| isMatch(source: Object): (object: Object) => boolean, | |
| isMatch(source: Object, object: Object): boolean, | |
| whereEq(source: Object): (object: Object) => boolean, | |
| whereEq(source: Object, object: Object): boolean, | |
| isMatchWith<T: Object, U: Object>(customizer: (objValue: any, srcValue: any, key: number | string, object: T, source: U) => boolean | void): ((source: U) => (object: T) => boolean) & ((source: U, object: T) => boolean), | |
| isMatchWith<T: Object, U: Object>(customizer: (objValue: any, srcValue: any, key: number | string, object: T, source: U) => boolean | void, source: U): (object: T) => boolean, | |
| isMatchWith<T: Object, U: Object>(customizer: (objValue: any, srcValue: any, key: number | string, object: T, source: U) => boolean | void, source: U, object: T): boolean, | |
| isNaN(value: any): boolean, | |
| isNative(value: any): boolean, | |
| isNil(value: any): boolean, | |
| isNull(value: any): boolean, | |
| isNumber(value: any): boolean, | |
| isObject(value: any): boolean, | |
| isObjectLike(value: any): boolean, | |
| isPlainObject(value: any): boolean, | |
| isRegExp(value: any): boolean, | |
| isSafeInteger(value: any): boolean, | |
| isSet(value: any): boolean, | |
| isString(value: string): true, | |
| isString(value: number | boolean | Function | void | null | Object | Array<any>): false, | |
| isSymbol(value: any): boolean, | |
| isTypedArray(value: any): boolean, | |
| isUndefined(value: any): boolean, | |
| isWeakMap(value: any): boolean, | |
| isWeakSet(value: any): boolean, | |
| lt(value: any): (other: any) => boolean, | |
| lt(value: any, other: any): boolean, | |
| lte(value: any): (other: any) => boolean, | |
| lte(value: any, other: any): boolean, | |
| toArray(value: any): Array<any>, | |
| toFinite(value: any): number, | |
| toInteger(value: any): number, | |
| toLength(value: any): number, | |
| toNumber(value: any): number, | |
| toPlainObject(value: any): Object, | |
| toSafeInteger(value: any): number, | |
| toString(value: any): string, | |
| // Math | |
| add(augend: number): (addend: number) => number, | |
| add(augend: number, addend: number): number, | |
| ceil(number: number): number, | |
| divide(dividend: number): (divisor: number) => number, | |
| divide(dividend: number, divisor: number): number, | |
| floor(number: number): number, | |
| max<T>(array: Array<T>): T, | |
| maxBy<T>(iteratee: Iteratee<T>): (array: Array<T>) => T, | |
| maxBy<T>(iteratee: Iteratee<T>, array: Array<T>): T, | |
| mean(array: Array<*>): number, | |
| meanBy<T>(iteratee: Iteratee<T>): (array: Array<T>) => number, | |
| meanBy<T>(iteratee: Iteratee<T>, array: Array<T>): number, | |
| min<T>(array: Array<T>): T, | |
| minBy<T>(iteratee: Iteratee<T>): (array: Array<T>) => T, | |
| minBy<T>(iteratee: Iteratee<T>, array: Array<T>): T, | |
| multiply(multiplier: number): (multiplicand: number) => number, | |
| multiply(multiplier: number, multiplicand: number): number, | |
| round(number: number): number, | |
| subtract(minuend: number): (subtrahend: number) => number, | |
| subtract(minuend: number, subtrahend: number): number, | |
| sum(array: Array<*>): number, | |
| sumBy<T>(iteratee: Iteratee<T>): (array: Array<T>) => number, | |
| sumBy<T>(iteratee: Iteratee<T>, array: Array<T>): number, | |
| // number | |
| clamp(lower: number): ((upper: number) => (number: number) => number) & ((upper: number, number: number) => number), | |
| clamp(lower: number, upper: number): (number: number) => number, | |
| clamp(lower: number, upper: number, number: number): number, | |
| inRange(start: number): ((end: number) => (number: number) => boolean) & ((end: number, number: number) => boolean), | |
| inRange(start: number, end: number): (number: number) => boolean, | |
| inRange(start: number, end: number, number: number): boolean, | |
| random(lower: number): (upper: number) => number, | |
| random(lower: number, upper: number): number, | |
| // Object | |
| assign(object: Object): (source: Object) => Object, | |
| assign(object: Object, source: Object): Object, | |
| assignAll(objects: Array<Object>): Object, | |
| assignInAll(objects: Array<Object>): Object, | |
| extendAll(objects: Array<Object>): Object, | |
| assignIn<A, B>(a: A): (b: B) => A & B, | |
| assignIn<A, B>(a: A, b: B): A & B, | |
| assignInWith<T: Object, A: Object>(customizer: (objValue: any, srcValue: any, key: string, object: T, source: A) => any | void): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object), | |
| assignInWith<T: Object, A: Object>(customizer: (objValue: any, srcValue: any, key: string, object: T, source: A) => any | void, object: T): (s1: A) => Object, | |
| assignInWith<T: Object, A: Object>(customizer: (objValue: any, srcValue: any, key: string, object: T, source: A) => any | void, object: T, s1: A): Object, | |
| assignWith<T: Object, A: Object>(customizer: (objValue: any, srcValue: any, key: string, object: T, source: A) => any | void): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object), | |
| assignWith<T: Object, A: Object>(customizer: (objValue: any, srcValue: any, key: string, object: T, source: A) => any | void, object: T): (s1: A) => Object, | |
| assignWith<T: Object, A: Object>(customizer: (objValue: any, srcValue: any, key: string, object: T, source: A) => any | void, object: T, s1: A): Object, | |
| assignInAllWith(customizer: (objValue: any, srcValue: any, key: string, object: Object, source: Object) => any | void): (objects: Array<Object>) => Object, | |
| assignInAllWith(customizer: (objValue: any, srcValue: any, key: string, object: Object, source: Object) => any | void, objects: Array<Object>): Object, | |
| extendAllWith(customizer: (objValue: any, srcValue: any, key: string, object: Object, source: Object) => any | void): (objects: Array<Object>) => Object, | |
| extendAllWith(customizer: (objValue: any, srcValue: any, key: string, object: Object, source: Object) => any | void, objects: Array<Object>): Object, | |
| assignAllWith(customizer: (objValue: any, srcValue: any, key: string, object: Object, source: Object) => any | void): (objects: Array<Object>) => Object, | |
| assignAllWith(customizer: (objValue: any, srcValue: any, key: string, object: Object, source: Object) => any | void, objects: Array<Object>): Object, | |
| at(paths: Array<string>): (object: Object) => Array<any>, | |
| at(paths: Array<string>, object: Object): Array<any>, | |
| props(paths: Array<string>): (object: Object) => Array<any>, | |
| props(paths: Array<string>, object: Object): Array<any>, | |
| paths(paths: Array<string>): (object: Object) => Array<any>, | |
| paths(paths: Array<string>, object: Object): Array<any>, | |
| create<T>(prototype: T): $Supertype<T>, | |
| defaults(source: Object): (object: Object) => Object, | |
| defaults(source: Object, object: Object): Object, | |
| defaultsAll(objects: Array<Object>): Object, | |
| defaultsDeep(source: Object): (object: Object) => Object, | |
| defaultsDeep(source: Object, object: Object): Object, | |
| defaultsDeepAll(objects: Array<Object>): Object, | |
| // alias for _.toPairs | |
| entries(object: Object): NestedArray<any>, | |
| // alias for _.toPairsIn | |
| entriesIn(object: Object): NestedArray<any>, | |
| // alias for _.assignIn | |
| extend<A, B>(a: A): (b: B) => A & B, | |
| extend<A, B>(a: A, b: B): A & B, | |
| // alias for _.assignInWith | |
| extendWith<T: Object, A: Object>(customizer: (objValue: any, srcValue: any, key: string, object: T, source: A) => any | void): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object), | |
| extendWith<T: Object, A: Object>(customizer: (objValue: any, srcValue: any, key: string, object: T, source: A) => any | void, object: T): (s1: A) => Object, | |
| extendWith<T: Object, A: Object>(customizer: (objValue: any, srcValue: any, key: string, object: T, source: A) => any | void, object: T, s1: A): Object, | |
| findKey<A, T: { [id: any]: A }>(predicate: OPredicate<A>): (object: T) => string | void, | |
| findKey<A, T: { [id: any]: A }>(predicate: OPredicate<A>, object: T): string | void, | |
| findLastKey<A, T: { [id: any]: A }>(predicate: OPredicate<A>): (object: T) => string | void, | |
| findLastKey<A, T: { [id: any]: A }>(predicate: OPredicate<A>, object: T): string | void, | |
| forIn(iteratee: OIteratee<*>): (object: Object) => Object, | |
| forIn(iteratee: OIteratee<*>, object: Object): Object, | |
| forInRight(iteratee: OIteratee<*>): (object: Object) => Object, | |
| forInRight(iteratee: OIteratee<*>, object: Object): Object, | |
| forOwn(iteratee: OIteratee<*>): (object: Object) => Object, | |
| forOwn(iteratee: OIteratee<*>, object: Object): Object, | |
| forOwnRight(iteratee: OIteratee<*>): (object: Object) => Object, | |
| forOwnRight(iteratee: OIteratee<*>, object: Object): Object, | |
| functions(object: Object): Array<string>, | |
| functionsIn(object: Object): Array<string>, | |
| get(path: Array<string> | string): (object: Object | Array<any>) => any, | |
| get(path: Array<string> | string, object: Object | Array<any>): any, | |
| prop(path: Array<string> | string): (object: Object | Array<any>) => any, | |
| prop(path: Array<string> | string, object: Object | Array<any>): any, | |
| path(path: Array<string> | string): (object: Object | Array<any>) => any, | |
| path(path: Array<string> | string, object: Object | Array<any>): any, | |
| getOr(defaultValue: any): ((path: Array<string> | string) => (object: Object | Array<any>) => any) & ((path: Array<string> | string, object: Object | Array<any>) => any), | |
| getOr(defaultValue: any, path: Array<string> | string): (object: Object | Array<any>) => any, | |
| getOr(defaultValue: any, path: Array<string> | string, object: Object | Array<any>): any, | |
| propOr(defaultValue: any): ((path: Array<string> | string) => (object: Object | Array<any>) => any) & ((path: Array<string> | string, object: Object | Array<any>) => any), | |
| propOr(defaultValue: any, path: Array<string> | string): (object: Object | Array<any>) => any, | |
| propOr(defaultValue: any, path: Array<string> | string, object: Object | Array<any>): any, | |
| pathOr(defaultValue: any): ((path: Array<string> | string) => (object: Object | Array<any>) => any) & ((path: Array<string> | string, object: Object | Array<any>) => any), | |
| pathOr(defaultValue: any, path: Array<string> | string): (object: Object | Array<any>) => any, | |
| pathOr(defaultValue: any, path: Array<string> | string, object: Object | Array<any>): any, | |
| has(path: Array<string> | string): (object: Object) => boolean, | |
| has(path: Array<string> | string, object: Object): boolean, | |
| hasIn(path: Array<string> | string): (object: Object) => boolean, | |
| hasIn(path: Array<string> | string, object: Object): boolean, | |
| invert(object: Object): Object, | |
| invertObj(object: Object): Object, | |
| invertBy(iteratee: Function): (object: Object) => Object, | |
| invertBy(iteratee: Function, object: Object): Object, | |
| invoke(path: Array<string> | string): (object: Object) => any, | |
| invoke(path: Array<string> | string, object: Object): any, | |
| invokeArgs(path: Array<string> | string): ((object: Object) => (args: Array<any>) => any) & ((object: Object, args: Array<any>) => any), | |
| invokeArgs(path: Array<string> | string, object: Object): (args: Array<any>) => any, | |
| invokeArgs(path: Array<string> | string, object: Object, args: Array<any>): any, | |
| keys(object: Object): Array<string>, | |
| keysIn(object: Object): Array<string>, | |
| mapKeys(iteratee: OIteratee<*>): (object: Object) => Object, | |
| mapKeys(iteratee: OIteratee<*>, object: Object): Object, | |
| mapValues(iteratee: OIteratee<*>): (object: Object) => Object, | |
| mapValues(iteratee: OIteratee<*>, object: Object): Object, | |
| merge(object: Object): (source: Object) => Object, | |
| merge(object: Object, source: Object): Object, | |
| mergeAll(objects: Array<Object>): Object, | |
| mergeWith<T: Object, A: Object, B: Object>(customizer: (objValue: any, srcValue: any, key: string, object: T, source: A | B) => any | void): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object), | |
| mergeWith<T: Object, A: Object, B: Object>(customizer: (objValue: any, srcValue: any, key: string, object: T, source: A | B) => any | void, object: T): (s1: A) => Object, | |
| mergeWith<T: Object, A: Object, B: Object>(customizer: (objValue: any, srcValue: any, key: string, object: T, source: A | B) => any | void, object: T, s1: A): Object, | |
| mergeAllWith(customizer: (objValue: any, srcValue: any, key: string, object: Object, source: Object) => any | void): (objects: Array<Object>) => Object, | |
| mergeAllWith(customizer: (objValue: any, srcValue: any, key: string, object: Object, source: Object) => any | void, objects: Array<Object>): Object, | |
| omit(props: Array<string>): (object: Object) => Object, | |
| omit(props: Array<string>, object: Object): Object, | |
| omitAll(props: Array<string>): (object: Object) => Object, | |
| omitAll(props: Array<string>, object: Object): Object, | |
| omitBy<A, T: { [id: any]: A }>(predicate: OPredicate<A>): (object: T) => Object, | |
| omitBy<A, T: { [id: any]: A }>(predicate: OPredicate<A>, object: T): Object, | |
| pick(props: Array<string>): (object: Object) => Object, | |
| pick(props: Array<string>, object: Object): Object, | |
| pickAll(props: Array<string>): (object: Object) => Object, | |
| pickAll(props: Array<string>, object: Object): Object, | |
| pickBy<A, T: { [id: any]: A }>(predicate: OPredicate<A>): (object: T) => Object, | |
| pickBy<A, T: { [id: any]: A }>(predicate: OPredicate<A>, object: T): Object, | |
| result(path: Array<string> | string): (object: Object) => any, | |
| result(path: Array<string> | string, object: Object): any, | |
| set(path: Array<string> | string): ((value: any) => (object: Object) => Object) & ((value: any, object: Object) => Object), | |
| set(path: Array<string> | string, value: any): (object: Object) => Object, | |
| set(path: Array<string> | string, value: any, object: Object): Object, | |
| assoc(path: Array<string> | string): ((value: any) => (object: Object) => Object) & ((value: any, object: Object) => Object), | |
| assoc(path: Array<string> | string, value: any): (object: Object) => Object, | |
| assoc(path: Array<string> | string, value: any, object: Object): Object, | |
| assocPath(path: Array<string> | string): ((value: any) => (object: Object) => Object) & ((value: any, object: Object) => Object), | |
| assocPath(path: Array<string> | string, value: any): (object: Object) => Object, | |
| assocPath(path: Array<string> | string, value: any, object: Object): Object, | |
| setWith<T>(customizer: (nsValue: any, key: string, nsObject: T) => any): ((path: Array<string> | string) => (((value: any) => (object: T) => Object) & ((value: any, object: T) => Object))) & ((path: Array<string> | string, value: any) => (object: T) => Object) & ((path: Array<string> | string, value: any, object: T) => Object), | |
| setWith<T>(customizer: (nsValue: any, key: string, nsObject: T) => any, path: Array<string> | string): ((value: any) => (object: T) => Object) & ((value: any, object: T) => Object), | |
| setWith<T>(customizer: (nsValue: any, key: string, nsObject: T) => any, path: Array<string> | string, value: any): (object: T) => Object, | |
| setWith<T>(customizer: (nsValue: any, key: string, nsObject: T) => any, path: Array<string> | string, value: any, object: T): Object, | |
| toPairs(object: Object | Array<*>): NestedArray<any>, | |
| toPairsIn(object: Object): NestedArray<any>, | |
| transform(iteratee: OIteratee<*>): ((accumulator: any) => (collection: Object | Array<any>) => any) & ((accumulator: any, collection: Object | Array<any>) => any), | |
| transform(iteratee: OIteratee<*>, accumulator: any): (collection: Object | Array<any>) => any, | |
| transform(iteratee: OIteratee<*>, accumulator: any, collection: Object | Array<any>): any, | |
| unset(path: Array<string> | string): (object: Object) => boolean, | |
| unset(path: Array<string> | string, object: Object): boolean, | |
| dissoc(path: Array<string> | string): (object: Object) => boolean, | |
| dissoc(path: Array<string> | string, object: Object): boolean, | |
| dissocPath(path: Array<string> | string): (object: Object) => boolean, | |
| dissocPath(path: Array<string> | string, object: Object): boolean, | |
| update(path: string[] | string): ((updater: Function) => (object: Object) => Object) & ((updater: Function, object: Object) => Object), | |
| update(path: string[] | string, updater: Function): (object: Object) => Object, | |
| update(path: string[] | string, updater: Function, object: Object): Object, | |
| updateWith(customizer: Function): ((path: string[] | string) => (((updater: Function) => (object: Object) => Object) & ((updater: Function, object: Object) => Object))) & ((path: string[] | string, updater: Function) => (object: Object) => Object) & ((path: string[] | string, updater: Function, object: Object) => Object), | |
| updateWith(customizer: Function, path: string[] | string): ((updater: Function) => (object: Object) => Object) & ((updater: Function, object: Object) => Object), | |
| updateWith(customizer: Function, path: string[] | string, updater: Function): (object: Object) => Object, | |
| updateWith(customizer: Function, path: string[] | string, updater: Function, object: Object): Object, | |
| values(object: Object): Array<any>, | |
| valuesIn(object: Object): Array<any>, | |
| tap<T>(interceptor: (value: T) => any): (value: T) => T, | |
| tap<T>(interceptor: (value: T) => any, value: T): T, | |
| thru<T1, T2>(interceptor: (value: T1) => T2): (value: T1) => T2, | |
| thru<T1, T2>(interceptor: (value: T1) => T2, value: T1): T2, | |
| // String | |
| camelCase(string: string): string, | |
| capitalize(string: string): string, | |
| deburr(string: string): string, | |
| endsWith(target: string): (string: string) => boolean, | |
| endsWith(target: string, string: string): boolean, | |
| escape(string: string): string, | |
| escapeRegExp(string: string): string, | |
| kebabCase(string: string): string, | |
| lowerCase(string: string): string, | |
| lowerFirst(string: string): string, | |
| pad(length: number): (string: string) => string, | |
| pad(length: number, string: string): string, | |
| padChars(chars: string): ((length: number) => (string: string) => string) & ((length: number, string: string) => string), | |
| padChars(chars: string, length: number): (string: string) => string, | |
| padChars(chars: string, length: number, string: string): string, | |
| padEnd(length: number): (string: string) => string, | |
| padEnd(length: number, string: string): string, | |
| padCharsEnd(chars: string): ((length: number) => (string: string) => string) & ((length: number, string: string) => string), | |
| padCharsEnd(chars: string, length: number): (string: string) => string, | |
| padCharsEnd(chars: string, length: number, string: string): string, | |
| padStart(length: number): (string: string) => string, | |
| padStart(length: number, string: string): string, | |
| padCharsStart(chars: string): ((length: number) => (string: string) => string) & ((length: number, string: string) => string), | |
| padCharsStart(chars: string, length: number): (string: string) => string, | |
| padCharsStart(chars: string, length: number, string: string): string, | |
| parseInt(radix: number): (string: string) => number, | |
| parseInt(radix: number, string: string): number, | |
| repeat(n: number): (string: string) => string, | |
| repeat(n: number, string: string): string, | |
| replace(pattern: RegExp | string): ((replacement: ((string: string) => string) | string) => (string: string) => string) & ((replacement: ((string: string) => string) | string, string: string) => string), | |
| replace(pattern: RegExp | string, replacement: ((string: string) => string) | string): (string: string) => string, | |
| replace(pattern: RegExp | string, replacement: ((string: string) => string) | string, string: string): string, | |
| snakeCase(string: string): string, | |
| split(separator: RegExp | string): (string: string) => Array<string>, | |
| split(separator: RegExp | string, string: string): Array<string>, | |
| startCase(string: string): string, | |
| startsWith(target: string): (string: string) => boolean, | |
| startsWith(target: string, string: string): boolean, | |
| template(string: string): Function, | |
| toLower(string: string): string, | |
| toUpper(string: string): string, | |
| trim(string: string): string, | |
| trimChars(chars: string): (string: string) => string, | |
| trimChars(chars: string, string: string): string, | |
| trimEnd(string: string): string, | |
| trimCharsEnd(chars: string): (string: string) => string, | |
| trimCharsEnd(chars: string, string: string): string, | |
| trimStart(string: string): string, | |
| trimCharsStart(chars: string): (string: string) => string, | |
| trimCharsStart(chars: string, string: string): string, | |
| truncate(options: TruncateOptions): (string: string) => string, | |
| truncate(options: TruncateOptions, string: string): string, | |
| unescape(string: string): string, | |
| upperCase(string: string): string, | |
| upperFirst(string: string): string, | |
| words(string: string): Array<string>, | |
| // Util | |
| attempt(func: Function): any, | |
| bindAll(methodNames: Array<string>): (object: Object) => Object, | |
| bindAll(methodNames: Array<string>, object: Object): Object, | |
| cond(pairs: NestedArray<Function>): Function, | |
| conforms<T: { [key: string]: mixed }>(predicates: T & { [key: string]: (x: any) => boolean }): (source: T) => boolean, | |
| conforms<T: { [key: string]: mixed }>(predicates: T & { [key: string]: (x: any) => boolean }, source: T): boolean, | |
| constant<T>(value: T): () => T, | |
| always<T>(value: T): (: ) => > T, | |
| always<T>(value: T): () => T, | |
| defaultTo<T1: string | boolean | Object, T2>(defaultValue: T2): (value: T1) => T1, | |
| defaultTo<T1: string | boolean | Object, T2>(defaultValue: T2, value: T1): T1, | |
| // NaN is a number instead of its own type, otherwise it would behave like null/void | |
| defaultTo<T1: number, T2>(defaultValue: T2): (value: T1) => T1 | T2, | |
| defaultTo<T1: number, T2>(defaultValue: T2, value: T1): T1 | T2, | |
| defaultTo<T1: void | null, T2>(defaultValue: T2): (value: T1) => T2, | |
| defaultTo<T1: void | null, T2>(defaultValue: T2, value: T1): T2, | |
| flow(...funcs: Array<Function>): Function, | |
| flow(funcs: Array<Function>): Function, | |
| pipe(...funcs: Array<Function>): Function, | |
| pipe(funcs: Array<Function>): Function, | |
| flowRight(...funcs: Array<Function>): Function, | |
| flowRight(funcs: Array<Function>): Function, | |
| compose(...funcs: Array<Function>): Function, | |
| compose(funcs: Array<Function>): Function, | |
| identity<T>(value: T): T, | |
| iteratee(func: any): Function, | |
| matches(source: Object): (object: Object) => boolean, | |
| matches(source: Object, object: Object): boolean, | |
| matchesProperty(path: Array<string> | string): (srcValue: any) => Function, | |
| matchesProperty(path: Array<string> | string, srcValue: any): Function, | |
| propEq(path: Array<string> | string): (srcValue: any) => Function, | |
| propEq(path: Array<string> | string, srcValue: any): Function, | |
| pathEq(path: Array<string> | string): (srcValue: any) => Function, | |
| pathEq(path: Array<string> | string, srcValue: any): Function, | |
| method(path: Array<string> | string): Function, | |
| methodOf(object: Object): Function, | |
| mixin<T: Function | Object>(object: T): ((source: Object) => (options: {chain: boolean}) => T) & ((source: Object, options: {chain: boolean}) => T), | |
| mixin<T: Function | Object>(object: T, source: Object): (options: {chain: boolean}) => T, | |
| mixin<T: Function | Object>(object: T, source: Object, options: {chain: boolean}): T, | |
| noConflict(): Lodash, | |
| noop(...args: Array<mixed>): void, | |
| nthArg(n: number): Function, | |
| over(iteratees: Array<Function>): Function, | |
| juxt(iteratees: Array<Function>): Function, | |
| overEvery(predicates: Array<Function>): Function, | |
| allPass(predicates: Array<Function>): Function, | |
| overSome(predicates: Array<Function>): Function, | |
| anyPass(predicates: Array<Function>): Function, | |
| property(path: Array<string> | string): (object: Object | Array<any>) => any, | |
| property(path: Array<string> | string, object: Object | Array<any>): any, | |
| propertyOf(object: Object): (path: Array<string> | string) => Function, | |
| propertyOf(object: Object, path: Array<string> | string): Function, | |
| range(start: number): (end: number) => Array<number>, | |
| range(start: number, end: number): Array<number>, | |
| rangeStep(step: number): ((start: number) => (end: number) => Array<number>) & ((start: number, end: number) => Array<number>), | |
| rangeStep(step: number, start: number): (end: number) => Array<number>, | |
| rangeStep(step: number, start: number, end: number): Array<number>, | |
| rangeRight(start: number): (end: number) => Array<number>, | |
| rangeRight(start: number, end: number): Array<number>, | |
| rangeStepRight(step: number): ((start: number) => (end: number) => Array<number>) & ((start: number, end: number) => Array<number>), | |
| rangeStepRight(step: number, start: number): (end: number) => Array<number>, | |
| rangeStepRight(step: number, start: number, end: number): Array<number>, | |
| runInContext(context: Object): Function, | |
| stubArray(): Array<*>, | |
| stubFalse(): false, | |
| F(): false, | |
| stubObject(): {}, | |
| stubString(): "", | |
| stubTrue(): true, | |
| T(): true, | |
| times<T>(iteratee: (i: number) => T): (n: number) => Array<T>, | |
| times<T>(iteratee: (i: number) => T, n: number): Array<T>, | |
| toPath(value: any): Array<string>, | |
| uniqueId(prefix: string): string, | |
| __: any, | |
| placeholder: any, | |
| convert(options: { | |
| cap?: boolean, | |
| curry?: boolean, | |
| fixed?: boolean, | |
| immutable?: boolean, | |
| rearg?: boolean | |
| }): void, | |
| // Properties | |
| VERSION: string, | |
| templateSettings: TemplateSettings |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment