diff --git a/types/lodash/array/chunk.d.ts b/types/lodash/array/chunk.d.ts deleted file mode 100644 index 16e4f8beb9..0000000000 --- a/types/lodash/array/chunk.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of elements split into groups the length of size. If collection can’t be split evenly, the - * final chunk will be the remaining elements. - * - * @param array The array to process. - * @param size The length of each chunk. - * @return Returns the new array containing chunks. - */ - chunk( - array: List | null | undefined, - size?: number - ): T[][]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.chunk - */ - chunk( - this: LoDashImplicitWrapper | null | undefined>, - size?: number, - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.chunk - */ - chunk( - this: LoDashExplicitWrapper | null | undefined>, - size?: number, - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/compact.d.ts b/types/lodash/array/compact.d.ts deleted file mode 100644 index 7bf05df7e3..0000000000 --- a/types/lodash/array/compact.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array with all falsey values removed. The values false, null, 0, "", undefined, and NaN are - * falsey. - * - * @param array The array to compact. - * @return Returns the new array of filtered values. - */ - compact(array: List | null | undefined): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.compact - */ - compact(this: LoDashImplicitWrapper | null | undefined>): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.compact - */ - compact(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/concat.d.ts b/types/lodash/array/concat.d.ts deleted file mode 100644 index 3b1bac32aa..0000000000 --- a/types/lodash/array/concat.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a new array concatenating `array` with any additional arrays - * and/or values. - * - * @category Array - * @param array The array to concatenate. - * @param [values] The values to concatenate. - * @returns Returns the new concatenated array. - * @example - * - * var array = [1]; - * var other = _.concat(array, 2, [3], [[4]]); - * - * console.log(other); - * // => [1, 2, 3, [4]] - * - * console.log(array); - * // => [1] - */ - concat(array: Many, ...values: Array>): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.compact - */ - concat(this: LoDashImplicitWrapper>, ...values: Array>): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.compact - */ - concat(this: LoDashExplicitWrapper>, ...values: Array>): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/difference.d.ts b/types/lodash/array/difference.d.ts deleted file mode 100644 index 5c237eccea..0000000000 --- a/types/lodash/array/difference.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of unique array values not included in the other provided arrays using SameValueZero for - * equality comparisons. - * - * @param array The array to inspect. - * @param values The arrays of values to exclude. - * @return Returns the new array of filtered values. - */ - difference( - array: List | null | undefined, - ...values: Array> - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.difference - */ - difference( - this: LoDashImplicitWrapper | null | undefined>, - ...values: Array> - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.difference - */ - difference( - this: LoDashExplicitWrapper | null | undefined>, - ...values: Array> - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/differenceBy.d.ts b/types/lodash/array/differenceBy.d.ts deleted file mode 100644 index da8e928097..0000000000 --- a/types/lodash/array/differenceBy.d.ts +++ /dev/null @@ -1,243 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.difference except that it accepts iteratee which is invoked for each element of array - * and values to generate the criterion by which uniqueness is computed. The iteratee is invoked with one - * argument: (value). - * - * @param array The array to inspect. - * @param values The values to exclude. - * @param iteratee The iteratee invoked per element. - * @returns Returns the new array of filtered values. - */ - differenceBy( - array: List | null | undefined, - values: List, - iteratee: ValueIteratee - ): T1[]; - - /** - * @see _.differenceBy - */ - differenceBy( - array: List | null | undefined, - values1: List, - values2: List, - iteratee: ValueIteratee - ): T1[]; - - /** - * @see _.differenceBy - */ - differenceBy( - array: List | null | undefined, - values1: List, - values2: List, - values3: List, - iteratee: ValueIteratee - ): T1[]; - - /** - * @see _.differenceBy - */ - differenceBy( - array: List | null | undefined, - values1: List, - values2: List, - values3: List, - values4: List, - iteratee: ValueIteratee - ): T1[]; - - /** - * @see _.differenceBy - */ - differenceBy( - array: List | null | undefined, - values1: List, - values2: List, - values3: List, - values4: List, - values5: List, - iteratee: ValueIteratee - ): T1[]; - - /** - * @see _.differenceBy - */ - differenceBy( - array: List | null | undefined, - values1: List, - values2: List, - values3: List, - values4: List, - values5: List, - ...values: Array | ValueIteratee> - ): T1[]; - - /** - * @see _.differenceBy - */ - differenceBy( - array: List | null | undefined, - ...values: Array> - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.differenceBy - */ - differenceBy( - this: LoDashImplicitWrapper | null | undefined>, - values: List, - iteratee: ValueIteratee - ): LoDashImplicitWrapper; - - /** - * @see _.differenceBy - */ - differenceBy( - this: LoDashImplicitWrapper | null | undefined>, - values1: List, - values2: List, - iteratee: ValueIteratee - ): LoDashImplicitWrapper; - - /** - * @see _.differenceBy - */ - differenceBy( - this: LoDashImplicitWrapper | null | undefined>, - values1: List, - values2: List, - values3: List, - iteratee: ValueIteratee - ): LoDashImplicitWrapper; - - /** - * @see _.differenceBy - */ - differenceBy( - this: LoDashImplicitWrapper | null | undefined>, - values1: List, - values2: List, - values3: List, - values4: List, - iteratee: ValueIteratee - ): LoDashImplicitWrapper; - - /** - * @see _.differenceBy - */ - differenceBy( - this: LoDashImplicitWrapper | null | undefined>, - values1: List, - values2: List, - values3: List, - values4: List, - values5: List, - iteratee: ValueIteratee - ): LoDashImplicitWrapper; - - /** - * @see _.differenceBy - */ - differenceBy( - this: LoDashImplicitWrapper | null | undefined>, - values1: List, - values2: List, - values3: List, - values4: List, - values5: List, - ...values: Array | ValueIteratee> - ): LoDashImplicitWrapper; - - /** - * @see _.differenceBy - */ - differenceBy( - this: LoDashImplicitWrapper | null | undefined>, - ...values: Array> - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.differenceBy - */ - differenceBy( - this: LoDashExplicitWrapper | null | undefined>, - values: List, - iteratee: ValueIteratee - ): LoDashExplicitWrapper; - - /** - * @see _.differenceBy - */ - differenceBy( - this: LoDashExplicitWrapper | null | undefined>, - values1: List, - values2: List, - iteratee: ValueIteratee - ): LoDashExplicitWrapper; - - /** - * @see _.differenceBy - */ - differenceBy( - this: LoDashExplicitWrapper | null | undefined>, - values1: List, - values2: List, - values3: List, - iteratee: ValueIteratee - ): LoDashExplicitWrapper; - - /** - * @see _.differenceBy - */ - differenceBy( - this: LoDashExplicitWrapper | null | undefined>, - values1: List, - values2: List, - values3: List, - values4: List, - iteratee: ValueIteratee - ): LoDashExplicitWrapper; - - /** - * @see _.differenceBy - */ - differenceBy( - this: LoDashExplicitWrapper | null | undefined>, - values1: List, - values2: List, - values3: List, - values4: List, - values5: List, - iteratee: ValueIteratee - ): LoDashExplicitWrapper; - - /** - * @see _.differenceBy - */ - differenceBy( - this: LoDashExplicitWrapper | null | undefined>, - values1: List, - values2: List, - values3: List, - values4: List, - values5: List, - ...values: Array | ValueIteratee> - ): LoDashExplicitWrapper; - - /** - * @see _.differenceBy - */ - differenceBy( - this: LoDashExplicitWrapper | null | undefined>, - ...values: Array> - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/differenceWith.d.ts b/types/lodash/array/differenceWith.d.ts deleted file mode 100644 index 39eca3314f..0000000000 --- a/types/lodash/array/differenceWith.d.ts +++ /dev/null @@ -1,132 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of unique `array` values not included in the other - * provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. - * - * @category Array - * @param [values] The arrays to inspect. - * @param [comparator] The comparator invoked per element. - * @returns Returns the new array of filtered values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - - * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); - * // => [{ 'x': 2, 'y': 1 }] - */ - differenceWith( - array: List | null | undefined, - values: List, - comparator: Comparator2 - ): T1[]; - - /** - * @see _.differenceWith - */ - differenceWith( - array: List | null | undefined, - values1: List, - values2: List, - comparator: Comparator2 - ): T1[]; - - /** - * @see _.differenceWith - */ - differenceWith( - array: List | null | undefined, - values1: List, - values2: List, - ...values: Array | Comparator2> - ): T1[]; - - /** - * @see _.differenceWith - */ - differenceWith( - array: List | null | undefined, - ...values: Array> - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.differenceWith - */ - differenceWith( - this: LoDashImplicitWrapper | null | undefined>, - values: List, - comparator: Comparator2 - ): LoDashImplicitWrapper; - - /** - * @see _.differenceWith - */ - differenceWith( - this: LoDashImplicitWrapper | null | undefined>, - values1: List, - values2: List, - comparator: Comparator2 - ): LoDashImplicitWrapper; - - /** - * @see _.differenceWith - */ - differenceWith( - this: LoDashImplicitWrapper | null | undefined>, - values1: List, - values2: List, - ...values: Array | Comparator2> - ): LoDashImplicitWrapper; - - /** - * @see _.differenceWith - */ - differenceWith( - this: LoDashImplicitWrapper | null | undefined>, - ...values: Array> - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.differenceWith - */ - differenceWith( - this: LoDashExplicitWrapper | null | undefined>, - values: List, - comparator: Comparator2 - ): LoDashExplicitWrapper; - - /** - * @see _.differenceWith - */ - differenceWith( - this: LoDashExplicitWrapper | null | undefined>, - values1: List, - values2: List, - comparator: Comparator2 - ): LoDashExplicitWrapper; - - /** - * @see _.differenceWith - */ - differenceWith( - this: LoDashExplicitWrapper | null | undefined>, - values1: List, - values2: List, - ...values: Array | Comparator2> - ): LoDashExplicitWrapper; - - /** - * @see _.differenceWith - */ - differenceWith( - this: LoDashExplicitWrapper | null | undefined>, - ...values: Array> - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/drop.d.ts b/types/lodash/array/drop.d.ts deleted file mode 100644 index 6df72adcb6..0000000000 --- a/types/lodash/array/drop.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a slice of array with n elements dropped from the beginning. - * - * @param array The array to query. - * @param n The number of elements to drop. - * @return Returns the slice of array. - */ - drop(array: List | null | undefined, n?: number): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.drop - */ - drop(this: LoDashImplicitWrapper | null | undefined>, n?: number): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.drop - */ - drop(this: LoDashExplicitWrapper | null | undefined>, n?: number): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/dropRight.d.ts b/types/lodash/array/dropRight.d.ts deleted file mode 100644 index 4e08a213b9..0000000000 --- a/types/lodash/array/dropRight.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a slice of array with n elements dropped from the end. - * - * @param array The array to query. - * @param n The number of elements to drop. - * @return Returns the slice of array. - */ - dropRight( - array: List | null | undefined, - n?: number - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.dropRight - */ - dropRight(this: LoDashImplicitWrapper | null | undefined>, n?: number): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.dropRight - */ - dropRight(this: LoDashExplicitWrapper | null | undefined>, n?: number): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/dropRightWhile.d.ts b/types/lodash/array/dropRightWhile.d.ts deleted file mode 100644 index efce8161d2..0000000000 --- a/types/lodash/array/dropRightWhile.d.ts +++ /dev/null @@ -1,47 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a slice of array excluding elements dropped from the end. Elements are dropped until predicate - * returns falsey. The predicate is bound to thisArg and invoked with three arguments: (value, index, array). - * - * If a property name is provided for predicate the created _.property style callback returns the property - * value of the given element. - * - * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for - * elements that have a matching property value, else false. - * - * If an object is provided for predicate the created _.matches style callback returns true for elements that - * match the properties of the given object, else false. - * - * @param array The array to query. - * @param predicate The function invoked per iteration. - * @param thisArg The this binding of predicate. - * @return Returns the slice of array. - */ - dropRightWhile( - array: List | null | undefined, - predicate?: ListIteratee - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.dropRightWhile - */ - dropRightWhile( - this: LoDashImplicitWrapper | null | undefined>, - predicate?: ListIteratee - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.dropRightWhile - */ - dropRightWhile( - this: LoDashExplicitWrapper | null | undefined>, - predicate?: ListIteratee - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/dropWhile.d.ts b/types/lodash/array/dropWhile.d.ts deleted file mode 100644 index f6f68fb191..0000000000 --- a/types/lodash/array/dropWhile.d.ts +++ /dev/null @@ -1,47 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a slice of array excluding elements dropped from the beginning. Elements are dropped until predicate - * returns falsey. The predicate is bound to thisArg and invoked with three arguments: (value, index, array). - * - * If a property name is provided for predicate the created _.property style callback returns the property - * value of the given element. - * - * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for - * elements that have a matching property value, else false. - * - * If an object is provided for predicate the created _.matches style callback returns true for elements that - * have the properties of the given object, else false. - * - * @param array The array to query. - * @param predicate The function invoked per iteration. - * @param thisArg The this binding of predicate. - * @return Returns the slice of array. - */ - dropWhile( - array: List | null | undefined, - predicate?: ListIteratee - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.dropWhile - */ - dropWhile( - this: LoDashImplicitWrapper | null | undefined>, - predicate?: ListIteratee - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.dropWhile - */ - dropWhile( - this: LoDashExplicitWrapper | null | undefined>, - predicate?: ListIteratee - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/fill.d.ts b/types/lodash/array/fill.d.ts deleted file mode 100644 index 651a19a830..0000000000 --- a/types/lodash/array/fill.d.ts +++ /dev/null @@ -1,124 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Fills elements of array with value from start up to, but not including, end. - * - * Note: This method mutates array. - * - * @param array The array to fill. - * @param value The value to fill array with. - * @param start The start position. - * @param end The end position. - * @return Returns array. - */ - fill( - array: any[] | null | undefined, - value: T - ): T[]; - - /** - * @see _.fill - */ - fill( - array: List | null | undefined, - value: T - ): List; - - /** - * @see _.fill - */ - fill( - array: U[] | null | undefined, - value: T, - start?: number, - end?: number - ): Array; - - /** - * @see _.fill - */ - fill( - array: List | null | undefined, - value: T, - start?: number, - end?: number - ): List; - } - - interface LoDashImplicitWrapper { - /** - * @see _.fill - */ - fill( - this: LoDashImplicitWrapper, - value: T - ): LoDashImplicitWrapper; - - /** - * @see _.fill - */ - fill( - this: LoDashImplicitWrapper | null | undefined>, - value: T - ): LoDashImplicitWrapper>; - - /** - * @see _.fill - */ - fill( - this: LoDashImplicitWrapper, - value: T, - start?: number, - end?: number - ): LoDashImplicitWrapper>; - - /** - * @see _.fill - */ - fill( - this: LoDashImplicitWrapper | null | undefined>, - value: T, - start?: number, - end?: number - ): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.fill - */ - fill( - this: LoDashExplicitWrapper, - value: T - ): LoDashExplicitWrapper; - - /** - * @see _.fill - */ - fill( - this: LoDashExplicitWrapper | null | undefined>, - value: T - ): LoDashExplicitWrapper>; - - /** - * @see _.fill - */ - fill( - this: LoDashExplicitWrapper, - value: T, - start?: number, - end?: number - ): LoDashExplicitWrapper>; - - /** - * @see _.fill - */ - fill( - this: LoDashExplicitWrapper | null | undefined>, - value: T, - start?: number, - end?: number - ): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/array/findIndex.d.ts b/types/lodash/array/findIndex.d.ts deleted file mode 100644 index 13f314ee82..0000000000 --- a/types/lodash/array/findIndex.d.ts +++ /dev/null @@ -1,50 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.find except that it returns the index of the first element predicate returns truthy - * for instead of the element itself. - * - * If a property name is provided for predicate the created _.property style callback returns the property - * value of the given element. - * - * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for - * elements that have a matching property value, else false. - * - * If an object is provided for predicate the created _.matches style callback returns true for elements that - * have the properties of the given object, else false. - * - * @param array The array to search. - * @param predicate The function invoked per iteration. - * @param fromIndex The index to search from. - * @return Returns the index of the found element, else -1. - */ - findIndex( - array: List | null | undefined, - predicate?: ListIterateeCustom, - fromIndex?: number - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.findIndex - */ - findIndex( - this: LoDashImplicitWrapper | null | undefined>, - predicate?: ListIterateeCustom, - fromIndex?: number - ): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.findIndex - */ - findIndex( - this: LoDashExplicitWrapper | null | undefined>, - predicate?: ListIterateeCustom, - fromIndex?: number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/findLastIndex.d.ts b/types/lodash/array/findLastIndex.d.ts deleted file mode 100644 index db28988a4a..0000000000 --- a/types/lodash/array/findLastIndex.d.ts +++ /dev/null @@ -1,49 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.findIndex except that it iterates over elements of collection from right to left. - * - * If a property name is provided for predicate the created _.property style callback returns the property - * value of the given element. - * - * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for - * elements that have a matching property value, else false. - * - * If an object is provided for predicate the created _.matches style callback returns true for elements that - * have the properties of the given object, else false. - * - * @param array The array to search. - * @param predicate The function invoked per iteration. - * @param fromIndex The index to search from. - * @return Returns the index of the found element, else -1. - */ - findLastIndex( - array: List | null | undefined, - predicate?: ListIterateeCustom, - fromIndex?: number - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.findLastIndex - */ - findLastIndex( - this: LoDashImplicitWrapper | null | undefined>, - predicate?: ListIterateeCustom, - fromIndex?: number - ): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.findLastIndex - */ - findLastIndex( - this: LoDashExplicitWrapper | null | undefined>, - predicate?: ListIterateeCustom, - fromIndex?: number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/first.d.ts b/types/lodash/array/first.d.ts deleted file mode 100644 index ec88a9b5b2..0000000000 --- a/types/lodash/array/first.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - first: typeof _.head; // tslint:disable-line:no-unnecessary-qualifier - } - - interface LoDashImplicitWrapper { - /** - * @see _.head - */ - first(this: LoDashImplicitWrapper | null | undefined>): T | undefined; - } - - interface LoDashExplicitWrapper { - /** - * @see _.head - */ - first(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; - } - - interface RecursiveArray extends Array> {} - interface ListOfRecursiveArraysOrValues extends List> {} -} \ No newline at end of file diff --git a/types/lodash/array/flatten.d.ts b/types/lodash/array/flatten.d.ts deleted file mode 100644 index 8453624756..0000000000 --- a/types/lodash/array/flatten.d.ts +++ /dev/null @@ -1,43 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Flattens a nested array. If isDeep is true the array is recursively flattened, otherwise it’s only - * flattened a single level. - * - * @param array The array to flatten. - * @param isDeep Specify a deep flatten. - * @return Returns the new flattened array. - */ - flatten(array: ListOfRecursiveArraysOrValues | null | undefined, isDeep: boolean): T[]; - - /** - * @see _.flatten - */ - flatten(array: List> | null | undefined): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.flatten - */ - flatten(this: LoDashImplicitWrapper | null | undefined>, isDeep: boolean): LoDashImplicitWrapper; - - /** - * @see _.flatten - */ - flatten(this: LoDashImplicitWrapper> | null | undefined>): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.flatten - */ - flatten(this: LoDashExplicitWrapper | null | undefined>, isDeep: boolean): LoDashExplicitWrapper; - - /** - * @see _.flatten - */ - flatten(this: LoDashExplicitWrapper> | null | undefined>): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/flattenDeep.d.ts b/types/lodash/array/flattenDeep.d.ts deleted file mode 100644 index 0c604f2571..0000000000 --- a/types/lodash/array/flattenDeep.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Recursively flattens a nested array. - * - * @param array The array to recursively flatten. - * @return Returns the new flattened array. - */ - flattenDeep(array: ListOfRecursiveArraysOrValues | null | undefined): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.flattenDeep - */ - flattenDeep(this: LoDashImplicitWrapper | null | undefined>): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.flattenDeep - */ - flattenDeep(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/flattenDepth.d.ts b/types/lodash/array/flattenDepth.d.ts deleted file mode 100644 index 0efd206f9e..0000000000 --- a/types/lodash/array/flattenDepth.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Recursively flatten array up to depth times. - * - * @param array The array to recursively flatten. - * @param number The maximum recursion depth. - * @return Returns the new flattened array. - */ - flattenDepth(array: ListOfRecursiveArraysOrValues | null | undefined, depth?: number): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.flattenDeep - */ - flattenDepth(this: LoDashImplicitWrapper | null | undefined>, depth?: number): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.flattenDeep - */ - flattenDepth(this: LoDashExplicitWrapper | null | undefined>, depth?: number): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/fromPairs.d.ts b/types/lodash/array/fromPairs.d.ts deleted file mode 100644 index 92a8e4d168..0000000000 --- a/types/lodash/array/fromPairs.d.ts +++ /dev/null @@ -1,59 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * The inverse of `_.toPairs`; this method returns an object composed - * from key-value `pairs`. - * - * @category Array - * @param pairs The key-value pairs. - * @returns Returns the new object. - * @example - * - * _.fromPairs([['fred', 30], ['barney', 40]]); - * // => { 'fred': 30, 'barney': 40 } - */ - fromPairs( - pairs: List<[PropertyName, T]> | null | undefined - ): Dictionary; - - /** - @see _.fromPairs - */ - fromPairs( - pairs: List | null | undefined - ): Dictionary; - } - - interface LoDashImplicitWrapper { - /** - * @see _.fromPairs - */ - fromPairs( - this: LoDashImplicitWrapper | null | undefined> - ): LoDashImplicitWrapper>; - - /** - @see _.fromPairs - */ - fromPairs( - this: LoDashImplicitWrapper | null | undefined> - ): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.fromPairs - */ - fromPairs( - this: LoDashExplicitWrapper | null | undefined> - ): LoDashExplicitWrapper>; - - /** - @see _.fromPairs - */ - fromPairs( - this: LoDashExplicitWrapper | null | undefined> - ): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/array/head.d.ts b/types/lodash/array/head.d.ts deleted file mode 100644 index 476e5b2b07..0000000000 --- a/types/lodash/array/head.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Gets the first element of array. - * - * @alias _.first - * - * @param array The array to query. - * @return Returns the first element of array. - */ - head(array: List | null | undefined): T | undefined; - } - - interface LoDashImplicitWrapper { - /** - * @see _.head - */ - head(this: LoDashImplicitWrapper | null | undefined>): T | undefined; - } - - interface LoDashExplicitWrapper { - /** - * @see _.head - */ - head(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/indexOf.d.ts b/types/lodash/array/indexOf.d.ts deleted file mode 100644 index f2f01c2e5c..0000000000 --- a/types/lodash/array/indexOf.d.ts +++ /dev/null @@ -1,53 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Gets the index at which the first occurrence of `value` is found in `array` - * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. If `fromIndex` is negative, it's used as the offset - * from the end of `array`. If `array` is sorted providing `true` for `fromIndex` - * performs a faster binary search. - * - * @category Array - * @param array The array to search. - * @param value The value to search for. - * @param [fromIndex=0] The index to search from. - * @returns Returns the index of the matched value, else `-1`. - * @example - * - * _.indexOf([1, 2, 1, 2], 2); - * // => 1 - * - * // using `fromIndex` - * _.indexOf([1, 2, 1, 2], 2, 2); - * // => 3 - */ - indexOf( - array: List | null | undefined, - value: T, - fromIndex?: boolean|number - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.indexOf - */ - indexOf( - this: LoDashImplicitWrapper | null | undefined>, - value: T, - fromIndex?: boolean|number - ): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.indexOf - */ - indexOf( - this: LoDashExplicitWrapper | null | undefined>, - value: T, - fromIndex?: boolean|number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/initial.d.ts b/types/lodash/array/initial.d.ts deleted file mode 100644 index fca86bcfa0..0000000000 --- a/types/lodash/array/initial.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Gets all but the last element of array. - * - * @param array The array to query. - * @return Returns the slice of array. - */ - initial(array: List | null | undefined): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.initial - */ - initial(this: LoDashImplicitWrapper | null | undefined>): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.initial - */ - initial(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/intersection.d.ts b/types/lodash/array/intersection.d.ts deleted file mode 100644 index 444e0b23f1..0000000000 --- a/types/lodash/array/intersection.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of unique values that are included in all of the provided arrays using SameValueZero for - * equality comparisons. - * - * @param arrays The arrays to inspect. - * @return Returns the new array of shared values. - */ - intersection(...arrays: Array>): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.intersection - */ - intersection( - this: LoDashImplicitWrapper>, - ...arrays: Array> - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.intersection - */ - intersection( - this: LoDashExplicitWrapper>, - ...arrays: Array> - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/intersectionBy.d.ts b/types/lodash/array/intersectionBy.d.ts deleted file mode 100644 index 4148043afe..0000000000 --- a/types/lodash/array/intersectionBy.d.ts +++ /dev/null @@ -1,134 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.intersection` except that it accepts `iteratee` - * which is invoked for each element of each `arrays` to generate the criterion - * by which uniqueness is computed. The iteratee is invoked with one argument: (value). - * - * @category Array - * @param [arrays] The arrays to inspect. - * @param [iteratee=_.identity] The iteratee invoked per element. - * @returns Returns the new array of shared values. - * @example - * - * _.intersectionBy([2.1, 1.2], [4.3, 2.4], Math.floor); - * // => [2.1] - * - * // using the `_.property` iteratee shorthand - * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }] - */ - intersectionBy( - array: List | null, - values: List, - iteratee: ValueIteratee - ): T1[]; - - /** - * @see _.intersectionBy - */ - intersectionBy( - array: List | null, - values1: List, - values2: List, - iteratee: ValueIteratee - ): T1[]; - - /** - * @see _.intersectionBy - */ - intersectionBy( - array: List | null | undefined, - values1: List, - values2: List, - ...values: Array | ValueIteratee> - ): T1[]; - - /** - * @see _.intersectionBy - */ - intersectionBy( - array?: List | null, - ...values: Array> - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.intersectionBy - */ - intersectionBy( - this: LoDashImplicitWrapper | null | undefined>, - values: List, - iteratee: ValueIteratee - ): LoDashImplicitWrapper; - - /** - * @see _.intersectionBy - */ - intersectionBy( - this: LoDashImplicitWrapper | null | undefined>, - values1: List, - values2: List, - iteratee: ValueIteratee - ): LoDashImplicitWrapper; - - /** - * @see _.intersectionBy - */ - intersectionBy( - this: LoDashImplicitWrapper | null | undefined>, - values1: List, - values2: List, - ...values: Array | ValueIteratee> - ): LoDashImplicitWrapper; - - /** - * @see _.intersectionBy - */ - intersectionBy( - this: LoDashImplicitWrapper | null | undefined>, - ...values: Array> - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.intersectionBy - */ - intersectionBy( - this: LoDashExplicitWrapper | null | undefined>, - values: List, - iteratee: ValueIteratee - ): LoDashExplicitWrapper; - - /** - * @see _.intersectionBy - */ - intersectionBy( - this: LoDashExplicitWrapper | null | undefined>, - values1: List, - values2: List, - iteratee: ValueIteratee - ): LoDashExplicitWrapper; - - /** - * @see _.intersectionBy - */ - intersectionBy( - this: LoDashExplicitWrapper | null | undefined>, - values1: List, - values2: List, - ...values: Array | ValueIteratee> - ): LoDashExplicitWrapper; - - /** - * @see _.intersectionBy - */ - intersectionBy( - this: LoDashExplicitWrapper | null | undefined>, - ...values: Array> - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/intersectionWith.d.ts b/types/lodash/array/intersectionWith.d.ts deleted file mode 100644 index 9fa2198c9b..0000000000 --- a/types/lodash/array/intersectionWith.d.ts +++ /dev/null @@ -1,133 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of unique `array` values not included in the other - * provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. - * - * @category Array - * @param [values] The arrays to inspect. - * @param [comparator] The comparator invoked per element. - * @returns Returns the new array of filtered values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; - - * _.intersectionWith(objects, others, _.isEqual); - * // => [{ 'x': 1, 'y': 2 }] - */ - intersectionWith( - array: List | null | undefined, - values: List, - comparator: Comparator2 - ): T1[]; - - /** - * @see _.intersectionWith - */ - intersectionWith( - array: List | null | undefined, - values1: List, - values2: List, - comparator: Comparator2 - ): T1[]; - - /** - * @see _.intersectionWith - */ - intersectionWith( - array: List | null | undefined, - values1: List, - values2: List, - ...values: Array | Comparator2> - ): T1[]; - - /** - * @see _.intersectionWith - */ - intersectionWith( - array?: List | null, - ...values: Array> - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.intersectionWith - */ - intersectionWith( - this: LoDashImplicitWrapper | null | undefined>, - values: List, - comparator: Comparator2 - ): LoDashImplicitWrapper; - - /** - * @see _.intersectionWith - */ - intersectionWith( - this: LoDashImplicitWrapper | null | undefined>, - values1: List, - values2: List, - comparator: Comparator2 - ): LoDashImplicitWrapper; - - /** - * @see _.intersectionWith - */ - intersectionWith( - this: LoDashImplicitWrapper | null | undefined>, - values1: List, - values2: List, - ...values: Array | Comparator2>, - ): LoDashImplicitWrapper; - - /** - * @see _.intersectionWith - */ - intersectionWith( - this: LoDashImplicitWrapper | null | undefined>, - ...values: Array> - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.intersectionWith - */ - intersectionWith( - this: LoDashExplicitWrapper | null | undefined>, - values: List, - comparator: Comparator2 - ): LoDashExplicitWrapper; - - /** - * @see _.intersectionWith - */ - intersectionWith( - this: LoDashExplicitWrapper | null | undefined>, - values1: List, - values2: List, - comparator: Comparator2 - ): LoDashExplicitWrapper; - - /** - * @see _.intersectionWith - */ - intersectionWith( - this: LoDashExplicitWrapper | null | undefined>, - values1: List, - values2: List, - ...values: Array | Comparator2>, - ): LoDashExplicitWrapper; - - /** - * @see _.intersectionWith - */ - intersectionWith( - this: LoDashExplicitWrapper | null | undefined>, - ...values: Array> - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/join.d.ts b/types/lodash/array/join.d.ts deleted file mode 100644 index 2fd74dab4a..0000000000 --- a/types/lodash/array/join.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts all elements in `array` into a string separated by `separator`. - * - * @param array The array to convert. - * @param separator The element separator. - * @returns Returns the joined string. - */ - join( - array: List | null | undefined, - separator?: string - ): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.join - */ - join(separator?: string): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.join - */ - join(separator?: string): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/last.d.ts b/types/lodash/array/last.d.ts deleted file mode 100644 index 4dcdb30423..0000000000 --- a/types/lodash/array/last.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Gets the last element of array. - * - * @param array The array to query. - * @return Returns the last element of array. - */ - last(array: List | null | undefined): T | undefined; - } - - interface LoDashImplicitWrapper { - /** - * @see _.last - */ - last(this: LoDashImplicitWrapper | null | undefined>): T | undefined; - } - - interface LoDashExplicitWrapper { - /** - * @see _.last - */ - last(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/lastIndexOf.d.ts b/types/lodash/array/lastIndexOf.d.ts deleted file mode 100644 index 4bcc38c947..0000000000 --- a/types/lodash/array/lastIndexOf.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.indexOf except that it iterates over elements of array from right to left. - * - * @param array The array to search. - * @param value The value to search for. - * @param fromIndex The index to search from or true to perform a binary search on a sorted array. - * @return Returns the index of the matched value, else -1. - */ - lastIndexOf( - array: List | null | undefined, - value: T, - fromIndex?: true|number - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.indexOf - */ - lastIndexOf( - this: LoDashImplicitWrapper | null | undefined>, - value: T, - fromIndex?: true|number - ): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.indexOf - */ - lastIndexOf( - this: LoDashExplicitWrapper | null | undefined>, - value: T, - fromIndex?: true|number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/nth.d.ts b/types/lodash/array/nth.d.ts deleted file mode 100644 index 50e5b209a3..0000000000 --- a/types/lodash/array/nth.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Gets the element at index `n` of `array`. If `n` is negative, the nth element from the end is returned. - * - * @param array array The array to query. - * @param value The index of the element to return. - * @return Returns the nth element of `array`. - */ - nth( - array: List | null | undefined, - n?: number - ): T | undefined; - } - - interface LoDashImplicitWrapper { - /** - * @see _.nth - */ - nth( - this: LoDashImplicitWrapper | null | undefined>, - n?: number - ): T | undefined; - } - - interface LoDashExplicitWrapper { - /** - * @see _.nth - */ - nth( - this: LoDashExplicitWrapper | null | undefined>, - n?: number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/pull.d.ts b/types/lodash/array/pull.d.ts deleted file mode 100644 index 44ebc855c6..0000000000 --- a/types/lodash/array/pull.d.ts +++ /dev/null @@ -1,46 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Removes all provided values from array using SameValueZero for equality comparisons. - * - * Note: Unlike _.without, this method mutates array. - * - * @param array The array to modify. - * @param values The values to remove. - * @return Returns array. - */ - pull( - array: T[], - ...values: T[] - ): T[]; - - /** - * @see _.pull - */ - pull( - array: List, - ...values: T[] - ): List; - } - - interface LoDashImplicitWrapper { - /** - * @see _.pull - */ - pull( - this: LoDashImplicitWrapper>, - ...values: T[] - ): this; - } - - interface LoDashExplicitWrapper { - /** - * @see _.pull - */ - pull( - this: LoDashExplicitWrapper>, - ...values: T[] - ): this; - } -} \ No newline at end of file diff --git a/types/lodash/array/pullAll.d.ts b/types/lodash/array/pullAll.d.ts deleted file mode 100644 index ce926b9bb3..0000000000 --- a/types/lodash/array/pullAll.d.ts +++ /dev/null @@ -1,54 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.pull` except that it accepts an array of values to remove. - * - * **Note:** Unlike `_.difference`, this method mutates `array`. - * - * @category Array - * @param array The array to modify. - * @param values The values to remove. - * @returns Returns `array`. - * @example - * - * var array = [1, 2, 3, 1, 2, 3]; - * - * _.pull(array, [2, 3]); - * console.log(array); - * // => [1, 1] - */ - pullAll( - array: T[], - values?: List, - ): T[]; - - /** - * @see _.pullAll - */ - pullAll( - array: List, - values?: List, - ): List; - } - - interface LoDashImplicitWrapper { - /** - * @see _.pullAll - */ - pullAll( - this: LoDashImplicitWrapper>, - values?: List - ): this; - } - - interface LoDashExplicitWrapper { - /** - * @see _.pullAll - */ - pullAll( - this: LoDashExplicitWrapper>, - values?: List - ): this; - } -} \ No newline at end of file diff --git a/types/lodash/array/pullAllBy.d.ts b/types/lodash/array/pullAllBy.d.ts deleted file mode 100644 index 3524aeae5e..0000000000 --- a/types/lodash/array/pullAllBy.d.ts +++ /dev/null @@ -1,77 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.pullAll` except that it accepts `iteratee` which is - * invoked for each element of `array` and `values` to to generate the criterion - * by which uniqueness is computed. The iteratee is invoked with one argument: (value). - * - * **Note:** Unlike `_.differenceBy`, this method mutates `array`. - * - * @category Array - * @param array The array to modify. - * @param values The values to remove. - * @param [iteratee=_.identity] The iteratee invoked per element. - * @returns Returns `array`. - * @example - * - * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }]; - * - * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x'); - * console.log(array); - * // => [{ 'x': 2 }] - */ - pullAllBy( - array: T[], - values?: List, - iteratee?: ValueIteratee - ): T[]; - - /** - * @see _.pullAllBy - */ - pullAllBy( - array: List, - values?: List, - iteratee?: ValueIteratee - ): List; - - /** - * @see _.pullAllBy - */ - pullAllBy( - array: T1[], - values: List, - iteratee: ValueIteratee - ): T1[]; - - /** - * @see _.pullAllBy - */ - pullAllBy( - array: List, - values: List, - iteratee: ValueIteratee - ): List; - } - - interface LoDashWrapper { - /** - * @see _.pullAllBy - */ - pullAllBy( - this: LoDashWrapper>, - values?: List, - iteratee?: ValueIteratee - ): this; - - /** - * @see _.pullAllBy - */ - pullAllBy( - this: LoDashWrapper>, - values: List, - iteratee: ValueIteratee - ): this; - } -} \ No newline at end of file diff --git a/types/lodash/array/pullAllWith.d.ts b/types/lodash/array/pullAllWith.d.ts deleted file mode 100644 index 345187daad..0000000000 --- a/types/lodash/array/pullAllWith.d.ts +++ /dev/null @@ -1,77 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.pullAll` except that it accepts `comparator` which is - * invoked to compare elements of array to values. The comparator is invoked with - * two arguments: (arrVal, othVal). - * - * **Note:** Unlike `_.differenceWith`, this method mutates `array`. - * - * @category Array - * @param array The array to modify. - * @param values The values to remove. - * @param [iteratee=_.identity] The iteratee invoked per element. - * @returns Returns `array`. - * @example - * - * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }]; - * - * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual); - * console.log(array); - * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }] - */ - pullAllWith( - array: T[], - values?: List, - comparator?: Comparator - ): T[]; - - /** - * @see _.pullAllWith - */ - pullAllWith( - array: List, - values?: List, - comparator?: Comparator - ): List; - - /** - * @see _.pullAllWith - */ - pullAllWith( - array: T1[], - values: List, - comparator: Comparator2 - ): T1[]; - - /** - * @see _.pullAllWith - */ - pullAllWith( - array: List, - values: List, - comparator: Comparator2 - ): List; - } - - interface LoDashWrapper { - /** - * @see _.pullAllWith - */ - pullAllWith( - this: LoDashWrapper>, - values?: List, - comparator?: Comparator - ): this; - - /** - * @see _.pullAllWith - */ - pullAllWith( - this: LoDashWrapper>, - values: List, - comparator: Comparator2 - ): this; - } -} \ No newline at end of file diff --git a/types/lodash/array/pullAt.d.ts b/types/lodash/array/pullAt.d.ts deleted file mode 100644 index a9d56f23ef..0000000000 --- a/types/lodash/array/pullAt.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Removes elements from array corresponding to the given indexes and returns an array of the removed elements. - * Indexes may be specified as an array of indexes or as individual arguments. - * - * Note: Unlike _.at, this method mutates array. - * - * @param array The array to modify. - * @param indexes The indexes of elements to remove, specified as individual indexes or arrays of indexes. - * @return Returns the new array of removed elements. - */ - pullAt( - array: T[], - ...indexes: Array> - ): T[]; - - /** - * @see _.pullAt - */ - pullAt( - array: List, - ...indexes: Array> - ): List; - } - - interface LoDashWrapper { - /** - * @see _.pullAt - */ - pullAt(...indexes: Array>): this; - } -} \ No newline at end of file diff --git a/types/lodash/array/remove.d.ts b/types/lodash/array/remove.d.ts deleted file mode 100644 index 3ec0636972..0000000000 --- a/types/lodash/array/remove.d.ts +++ /dev/null @@ -1,49 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Removes all elements from array that predicate returns truthy for and returns an array of the removed - * elements. The predicate is bound to thisArg and invoked with three arguments: (value, index, array). - * - * If a property name is provided for predicate the created _.property style callback returns the property - * value of the given element. - * - * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for - * elements that have a matching property value, else false. - * - * If an object is provided for predicate the created _.matches style callback returns true for elements that - * have the properties of the given object, else false. - * - * Note: Unlike _.filter, this method mutates array. - * - * @param array The array to modify. - * @param predicate The function invoked per iteration. - * @param thisArg The this binding of predicate. - * @return Returns the new array of removed elements. - */ - remove( - array: List, - predicate?: ListIteratee - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.remove - */ - remove( - this: LoDashImplicitWrapper>, - predicate?: ListIteratee - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.remove - */ - remove( - this: LoDashExplicitWrapper>, - predicate?: ListIteratee - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/reverse.d.ts b/types/lodash/array/reverse.d.ts deleted file mode 100644 index 0cf2112e24..0000000000 --- a/types/lodash/array/reverse.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Reverses `array` so that the first element becomes the last, the second - * element becomes the second to last, and so on. - * - * **Note:** This method mutates `array` and is based on - * [`Array#reverse`](https://mdn.io/Array/reverse). - * - * @category Array - * @returns Returns `array`. - * @example - * - * var array = [1, 2, 3]; - * - * _.reverse(array); - * // => [3, 2, 1] - * - * console.log(array); - * // => [3, 2, 1] - */ - reverse>( - array: TList, - ): TList; - } -} \ No newline at end of file diff --git a/types/lodash/array/slice.d.ts b/types/lodash/array/slice.d.ts deleted file mode 100644 index 7744c4b334..0000000000 --- a/types/lodash/array/slice.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a slice of array from start up to, but not including, end. - * - * @param array The array to slice. - * @param start The start position. - * @param end The end position. - * @return Returns the slice of array. - */ - slice( - array: List | null | undefined, - start?: number, - end?: number - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.slice - */ - slice( - this: LoDashImplicitWrapper | null | undefined>, - start?: number, - end?: number - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.slice - */ - slice( - this: LoDashExplicitWrapper | null | undefined>, - start?: number, - end?: number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/sortedIndex.d.ts b/types/lodash/array/sortedIndex.d.ts deleted file mode 100644 index 5f8df282e6..0000000000 --- a/types/lodash/array/sortedIndex.d.ts +++ /dev/null @@ -1,45 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Uses a binary search to determine the lowest index at which `value` should - * be inserted into `array` in order to maintain its sort order. - * - * @category Array - * @param array The sorted array to inspect. - * @param value The value to evaluate. - * @returns Returns the index at which `value` should be inserted into `array`. - * @example - * - * _.sortedIndex([30, 50], 40); - * // => 1 - * - * _.sortedIndex([4, 5], 4); - * // => 0 - */ - sortedIndex( - array: List | null | undefined, - value: T - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.sortedIndex - */ - sortedIndex( - this: LoDashImplicitWrapper | null | undefined>, - value: T - ): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.sortedIndex - */ - sortedIndex( - this: LoDashExplicitWrapper | null | undefined>, - value: T - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/sortedIndexBy.d.ts b/types/lodash/array/sortedIndexBy.d.ts deleted file mode 100644 index c4184868ca..0000000000 --- a/types/lodash/array/sortedIndexBy.d.ts +++ /dev/null @@ -1,97 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Uses a binary search to determine the lowest index at which `value` should - * be inserted into `array` in order to maintain its sort order. - * - * @category Array - * @param array The sorted array to inspect. - * @param value The value to evaluate. - * @returns Returns the index at which `value` should be inserted into `array`. - * @example - * - * _.sortedIndex([30, 50], 40); - * // => 1 - * - * _.sortedIndex([4, 5], 4); - * // => 0 - */ - sortedIndex( - array: List | null | undefined, - value: T - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.sortedIndex - */ - sortedIndex( - this: LoDashImplicitWrapper | null | undefined>, - value: T - ): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.sortedIndex - */ - sortedIndex( - this: LoDashExplicitWrapper | null | undefined>, - value: T - ): LoDashExplicitWrapper; - } - - // _.sortedIndexBy - interface LoDashStatic { - /** - * This method is like `_.sortedIndex` except that it accepts `iteratee` - * which is invoked for `value` and each element of `array` to compute their - * sort ranking. The iteratee is invoked with one argument: (value). - * - * @category Array - * @param array The sorted array to inspect. - * @param value The value to evaluate. - * @param [iteratee=_.identity] The iteratee invoked per element. - * @returns Returns the index at which `value` should be inserted into `array`. - * @example - * - * var dict = { 'thirty': 30, 'forty': 40, 'fifty': 50 }; - * - * _.sortedIndexBy(['thirty', 'fifty'], 'forty', _.propertyOf(dict)); - * // => 1 - * - * // using the `_.property` iteratee shorthand - * _.sortedIndexBy([{ 'x': 4 }, { 'x': 5 }], { 'x': 4 }, 'x'); - * // => 0 - */ - sortedIndexBy( - array: List | null | undefined, - value: T, - iteratee?: ValueIteratee - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.sortedIndexBy - */ - sortedIndexBy( - this: LoDashImplicitWrapper | null | undefined>, - value: T, - iteratee?: ValueIteratee - ): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.sortedIndexBy - */ - sortedIndexBy( - this: LoDashExplicitWrapper | null | undefined>, - value: T, - iteratee?: ValueIteratee - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/sortedIndexOf.d.ts b/types/lodash/array/sortedIndexOf.d.ts deleted file mode 100644 index b391186178..0000000000 --- a/types/lodash/array/sortedIndexOf.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.indexOf` except that it performs a binary - * search on a sorted `array`. - * - * @category Array - * @param array The array to search. - * @param value The value to search for. - * @returns Returns the index of the matched value, else `-1`. - * @example - * - * _.sortedIndexOf([1, 1, 2, 2], 2); - * // => 2 - */ - sortedIndexOf( - array: List | null | undefined, - value: T - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.sortedIndexOf - */ - sortedIndexOf( - this: LoDashImplicitWrapper | null | undefined>, - value: T - ): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.sortedIndexOf - */ - sortedIndexOf( - this: LoDashExplicitWrapper | null | undefined>, - value: T - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/sortedLastIndex.d.ts b/types/lodash/array/sortedLastIndex.d.ts deleted file mode 100644 index 33b466ea5f..0000000000 --- a/types/lodash/array/sortedLastIndex.d.ts +++ /dev/null @@ -1,43 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.sortedIndex` except that it returns the highest - * index at which `value` should be inserted into `array` in order to - * maintain its sort order. - * - * @category Array - * @param array The sorted array to inspect. - * @param value The value to evaluate. - * @returns Returns the index at which `value` should be inserted into `array`. - * @example - * - * _.sortedLastIndex([4, 5], 4); - * // => 1 - */ - sortedLastIndex( - array: List | null | undefined, - value: T - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.sortedLastIndex - */ - sortedLastIndex( - this: LoDashImplicitWrapper | null | undefined>, - value: T - ): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.sortedLastIndex - */ - sortedLastIndex( - this: LoDashExplicitWrapper | null | undefined>, - value: T - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/sortedLastIndexBy.d.ts b/types/lodash/array/sortedLastIndexBy.d.ts deleted file mode 100644 index c0f8344292..0000000000 --- a/types/lodash/array/sortedLastIndexBy.d.ts +++ /dev/null @@ -1,48 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.sortedLastIndex` except that it accepts `iteratee` - * which is invoked for `value` and each element of `array` to compute their - * sort ranking. The iteratee is invoked with one argument: (value). - * - * @category Array - * @param array The sorted array to inspect. - * @param value The value to evaluate. - * @param [iteratee=_.identity] The iteratee invoked per element. - * @returns Returns the index at which `value` should be inserted into `array`. - * @example - * - * // using the `_.property` iteratee shorthand - * _.sortedLastIndexBy([{ 'x': 4 }, { 'x': 5 }], { 'x': 4 }, 'x'); - * // => 1 - */ - sortedLastIndexBy( - array: List | null | undefined, - value: T, - iteratee: ValueIteratee - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.sortedLastIndexBy - */ - sortedLastIndexBy( - this: LoDashImplicitWrapper | null | undefined>, - value: T, - iteratee: ValueIteratee - ): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.sortedLastIndexBy - */ - sortedLastIndexBy( - this: LoDashExplicitWrapper | null | undefined>, - value: T, - iteratee: ValueIteratee - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/sortedLastIndexOf.d.ts b/types/lodash/array/sortedLastIndexOf.d.ts deleted file mode 100644 index 09f8099d1f..0000000000 --- a/types/lodash/array/sortedLastIndexOf.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.lastIndexOf` except that it performs a binary - * search on a sorted `array`. - * - * @category Array - * @param array The array to search. - * @param value The value to search for. - * @returns Returns the index of the matched value, else `-1`. - * @example - * - * _.sortedLastIndexOf([1, 1, 2, 2], 2); - * // => 3 - */ - sortedLastIndexOf( - array: List | null | undefined, - value: T - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.sortedLastIndexOf - */ - sortedLastIndexOf( - this: LoDashImplicitWrapper | null | undefined>, - value: T - ): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.sortedLastIndexOf - */ - sortedLastIndexOf( - this: LoDashExplicitWrapper | null | undefined>, - value: T - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/sortedUniq.d.ts b/types/lodash/array/sortedUniq.d.ts deleted file mode 100644 index df0487d626..0000000000 --- a/types/lodash/array/sortedUniq.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.uniq` except that it's designed and optimized - * for sorted arrays. - * - * @category Array - * @param array The array to inspect. - * @returns Returns the new duplicate free array. - * @example - * - * _.sortedUniq([1, 1, 2]); - * // => [1, 2] - */ - sortedUniq( - array: List | null | undefined - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.sortedUniq - */ - sortedUniq(this: LoDashImplicitWrapper | null | undefined>): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.sortedUniq - */ - sortedUniq(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/sortedUniqBy.d.ts b/types/lodash/array/sortedUniqBy.d.ts deleted file mode 100644 index 054d4e38c9..0000000000 --- a/types/lodash/array/sortedUniqBy.d.ts +++ /dev/null @@ -1,66 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.uniqBy` except that it's designed and optimized - * for sorted arrays. - * - * @category Array - * @param array The array to inspect. - * @param [iteratee] The iteratee invoked per element. - * @returns Returns the new duplicate free array. - * @example - * - * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor); - * // => [1.1, 2.2] - */ - sortedUniqBy( - array: string | null | undefined, - iteratee: StringIterator - ): string[]; - - /** - * @see _.sortedUniqBy - */ - sortedUniqBy( - array: List | null | undefined, - iteratee: ListIteratee - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.sortedUniqBy - */ - sortedUniqBy( - this: LoDashImplicitWrapper, - iteratee: StringIterator - ): LoDashImplicitWrapper; - - /** - * @see _.sortedUniqBy - */ - sortedUniqBy( - this: LoDashImplicitWrapper | null | undefined>, - iteratee: ListIteratee - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.sortedUniqBy - */ - sortedUniqBy( - this: LoDashExplicitWrapper, - iteratee: StringIterator - ): LoDashExplicitWrapper; - - /** - * @see _.sortedUniqBy - */ - sortedUniqBy( - this: LoDashExplicitWrapper | null | undefined>, - iteratee: ListIteratee - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/tail.d.ts b/types/lodash/array/tail.d.ts deleted file mode 100644 index 8716c9a2f8..0000000000 --- a/types/lodash/array/tail.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Gets all but the first element of array. - * - * @param array The array to query. - * @return Returns the slice of array. - */ - tail(array: List | null | undefined): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.tail - */ - tail(this: LoDashImplicitWrapper | null | undefined>): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.tail - */ - tail(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/take.d.ts b/types/lodash/array/take.d.ts deleted file mode 100644 index a97ff6b4ef..0000000000 --- a/types/lodash/array/take.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a slice of array with n elements taken from the beginning. - * - * @param array The array to query. - * @param n The number of elements to take. - * @return Returns the slice of array. - */ - take( - array: List | null | undefined, - n?: number - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.take - */ - take( - this: LoDashImplicitWrapper | null | undefined>, - n?: number - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.take - */ - take( - this: LoDashExplicitWrapper | null | undefined>, - n?: number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/takeRight.d.ts b/types/lodash/array/takeRight.d.ts deleted file mode 100644 index c786ab40c0..0000000000 --- a/types/lodash/array/takeRight.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a slice of array with n elements taken from the end. - * - * @param array The array to query. - * @param n The number of elements to take. - * @return Returns the slice of array. - */ - takeRight( - array: List | null | undefined, - n?: number - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.takeRight - */ - takeRight( - this: LoDashImplicitWrapper | null | undefined>, - n?: number - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.takeRight - */ - takeRight( - this: LoDashExplicitWrapper | null | undefined>, - n?: number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/takeRightWhile.d.ts b/types/lodash/array/takeRightWhile.d.ts deleted file mode 100644 index 471c0a03f3..0000000000 --- a/types/lodash/array/takeRightWhile.d.ts +++ /dev/null @@ -1,47 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a slice of array with elements taken from the end. Elements are taken until predicate returns - * falsey. The predicate is bound to thisArg and invoked with three arguments: (value, index, array). - * - * If a property name is provided for predicate the created _.property style callback returns the property - * value of the given element. - * - * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for - * elements that have a matching property value, else false. - * - * If an object is provided for predicate the created _.matches style callback returns true for elements that - * have the properties of the given object, else false. - * - * @param array The array to query. - * @param predicate The function invoked per iteration. - * @param thisArg The this binding of predicate. - * @return Returns the slice of array. - */ - takeRightWhile( - array: List | null | undefined, - predicate?: ListIteratee - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.takeRightWhile - */ - takeRightWhile( - this: LoDashImplicitWrapper | null | undefined>, - predicate?: ListIteratee - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.takeRightWhile - */ - takeRightWhile( - this: LoDashExplicitWrapper | null | undefined>, - predicate?: ListIteratee - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/takeWhile.d.ts b/types/lodash/array/takeWhile.d.ts deleted file mode 100644 index 05e6adc2a4..0000000000 --- a/types/lodash/array/takeWhile.d.ts +++ /dev/null @@ -1,47 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a slice of array with elements taken from the beginning. Elements are taken until predicate returns - * falsey. The predicate is bound to thisArg and invoked with three arguments: (value, index, array). - * - * If a property name is provided for predicate the created _.property style callback returns the property - * value of the given element. - * - * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for - * elements that have a matching property value, else false. - * - * If an object is provided for predicate the created _.matches style callback returns true for elements that - * have the properties of the given object, else false. - * - * @param array The array to query. - * @param predicate The function invoked per iteration. - * @param thisArg The this binding of predicate. - * @return Returns the slice of array. - */ - takeWhile( - array: List | null | undefined, - predicate?: ListIteratee - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.takeWhile - */ - takeWhile( - this: LoDashImplicitWrapper | null | undefined>, - predicate?: ListIteratee - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.takeWhile - */ - takeWhile( - this: LoDashExplicitWrapper | null | undefined>, - predicate?: ListIteratee - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/union.d.ts b/types/lodash/array/union.d.ts deleted file mode 100644 index f747a97da0..0000000000 --- a/types/lodash/array/union.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of unique values, in order, from all of the provided arrays using SameValueZero for - * equality comparisons. - * - * @param arrays The arrays to inspect. - * @return Returns the new array of combined values. - */ - union(...arrays: Array | null | undefined>): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.union - */ - union( - this: LoDashImplicitWrapper | null | undefined>, - ...arrays: Array | null | undefined> - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.union - */ - union( - this: LoDashExplicitWrapper | null | undefined>, - ...arrays: Array | null | undefined> - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/unionBy.d.ts b/types/lodash/array/unionBy.d.ts deleted file mode 100644 index 5e5cd40647..0000000000 --- a/types/lodash/array/unionBy.d.ts +++ /dev/null @@ -1,164 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.union` except that it accepts `iteratee` which is - * invoked for each element of each `arrays` to generate the criterion by which - * uniqueness is computed. The iteratee is invoked with one argument: (value). - * - * @param arrays The arrays to inspect. - * @param iteratee The iteratee invoked per element. - * @return Returns the new array of combined values. - */ - unionBy( - arrays: List | null | undefined, - iteratee?: ValueIteratee - ): T[]; - - /** - * @see _.unionBy - */ - unionBy( - arrays1: List | null | undefined, - arrays2: List | null | undefined, - iteratee?: ValueIteratee - ): T[]; - - /** - * @see _.unionBy - */ - unionBy( - arrays1: List | null | undefined, - arrays2: List | null | undefined, - arrays3: List | null | undefined, - iteratee?: ValueIteratee - ): T[]; - - /** - * @see _.unionBy - */ - unionBy( - arrays1: List | null | undefined, - arrays2: List | null | undefined, - arrays3: List | null | undefined, - arrays4: List | null | undefined, - iteratee?: ValueIteratee - ): T[]; - - /** - * @see _.unionBy - */ - unionBy( - arrays1: List | null | undefined, - arrays2: List | null | undefined, - arrays3: List | null | undefined, - arrays4: List | null | undefined, - arrays5: List | null | undefined, - ...iteratee: Array | List | null | undefined> - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.unionBy - */ - unionBy( - this: LoDashImplicitWrapper | null | undefined>, - iteratee?: ValueIteratee - ): LoDashImplicitWrapper; - - /** - * @see _.unionBy - */ - unionBy( - this: LoDashImplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - iteratee?: ValueIteratee - ): LoDashImplicitWrapper; - - /** - * @see _.unionBy - */ - unionBy( - this: LoDashImplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - arrays3: List | null | undefined, - iteratee?: ValueIteratee - ): LoDashImplicitWrapper; - - /** - * @see _.unionBy - */ - unionBy( - this: LoDashImplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - arrays3: List | null | undefined, - arrays4: List | null | undefined, - iteratee?: ValueIteratee - ): LoDashImplicitWrapper; - - /** - * @see _.unionBy - */ - unionBy( - this: LoDashImplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - arrays3: List | null | undefined, - arrays4: List | null | undefined, - arrays5: List | null | undefined, - ...iteratee: Array | List | null | undefined> - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.unionBy - */ - unionBy( - this: LoDashExplicitWrapper | null | undefined>, - iteratee?: ValueIteratee - ): LoDashExplicitWrapper; - - /** - * @see _.unionBy - */ - unionBy( - this: LoDashExplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - iteratee?: ValueIteratee - ): LoDashExplicitWrapper; - - /** - * @see _.unionBy - */ - unionBy( - this: LoDashExplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - arrays3: List | null | undefined, - iteratee?: ValueIteratee - ): LoDashExplicitWrapper; - - /** - * @see _.unionBy - */ - unionBy( - this: LoDashExplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - arrays3: List | null | undefined, - arrays4: List | null | undefined, - iteratee?: ValueIteratee - ): LoDashExplicitWrapper; - - /** - * @see _.unionBy - */ - unionBy( - this: LoDashExplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - arrays3: List | null | undefined, - arrays4: List | null | undefined, - arrays5: List | null | undefined, - ...iteratee: Array | List | null | undefined> - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/unionWith.d.ts b/types/lodash/array/unionWith.d.ts deleted file mode 100644 index 4778a4a6c7..0000000000 --- a/types/lodash/array/unionWith.d.ts +++ /dev/null @@ -1,103 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.union` except that it accepts `comparator` which - * is invoked to compare elements of `arrays`. The comparator is invoked - * with two arguments: (arrVal, othVal). - * - * @category Array - * @param [arrays] The arrays to inspect. - * @param [comparator] The comparator invoked per element. - * @returns Returns the new array of combined values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.unionWith(objects, others, _.isEqual); - * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] - */ - unionWith( - arrays: List | null | undefined, - comparator?: Comparator - ): T[]; - - /** - * @see _.unionBy - */ - unionWith( - arrays: List | null | undefined, - arrays2: List | null | undefined, - comparator?: Comparator - ): T[]; - - /** - * @see _.unionWith - */ - unionWith( - arrays: List | null | undefined, - arrays2: List | null | undefined, - arrays3: List | null | undefined, - ...comparator: Array | List | null | undefined> - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.unionWith - */ - unionWith( - this: LoDashImplicitWrapper | null | undefined>, - comparator?: Comparator - ): LoDashImplicitWrapper; - - /** - * @see _.unionWith - */ - unionWith( - this: LoDashImplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - comparator?: Comparator - ): LoDashImplicitWrapper; - - /** - * @see _.unionWith - */ - unionWith( - this: LoDashImplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - arrays3: List | null | undefined, - ...comparator: Array | List | null | undefined> - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.unionWith - */ - unionWith( - this: LoDashExplicitWrapper | null | undefined>, - comparator?: Comparator - ): LoDashExplicitWrapper; - - /** - * @see _.unionWith - */ - unionWith( - this: LoDashExplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - comparator?: Comparator - ): LoDashExplicitWrapper; - - /** - * @see _.unionWith - */ - unionWith( - this: LoDashExplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - arrays3: List | null | undefined, - ...comparator: Array | List | null | undefined> - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/uniq.d.ts b/types/lodash/array/uniq.d.ts deleted file mode 100644 index 5dacb3b37b..0000000000 --- a/types/lodash/array/uniq.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a duplicate-free version of an array, using - * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons, in which only the first occurrence of each element - * is kept. - * - * @category Array - * @param array The array to inspect. - * @returns Returns the new duplicate free array. - * @example - * - * _.uniq([2, 1, 2]); - * // => [2, 1] - */ - uniq( - array: List | null | undefined - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.uniq - */ - uniq(this: LoDashImplicitWrapper | null | undefined>): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.uniq - */ - uniq(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/uniqBy.d.ts b/types/lodash/array/uniqBy.d.ts deleted file mode 100644 index 13df8cb7db..0000000000 --- a/types/lodash/array/uniqBy.d.ts +++ /dev/null @@ -1,71 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.uniq` except that it accepts `iteratee` which is - * invoked for each element in `array` to generate the criterion by which - * uniqueness is computed. The iteratee is invoked with one argument: (value). - * - * @category Array - * @param array The array to inspect. - * @param [iteratee=_.identity] The iteratee invoked per element. - * @returns Returns the new duplicate free array. - * @example - * - * _.uniqBy([2.1, 1.2, 2.3], Math.floor); - * // => [2.1, 1.2] - * - * // using the `_.property` iteratee shorthand - * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }, { 'x': 2 }] - */ - uniqBy( - array: string | null | undefined, - iteratee: StringIterator - ): string[]; - - /** - * @see _.uniqBy - */ - uniqBy( - array: List | null | undefined, - iteratee: ListIteratee - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.uniqBy - */ - uniqBy( - this: LoDashImplicitWrapper, - iteratee: StringIterator - ): LoDashImplicitWrapper; - - /** - * @see _.uniqBy - */ - uniqBy( - this: LoDashImplicitWrapper | null | undefined>, - iteratee: ListIteratee - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.uniqBy - */ - uniqBy( - this: LoDashExplicitWrapper, - iteratee: StringIterator - ): LoDashExplicitWrapper; - - /** - * @see _.uniqBy - */ - uniqBy( - this: LoDashExplicitWrapper | null | undefined>, - iteratee: ListIteratee - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/uniqWith.d.ts b/types/lodash/array/uniqWith.d.ts deleted file mode 100644 index 3d4d24334f..0000000000 --- a/types/lodash/array/uniqWith.d.ts +++ /dev/null @@ -1,45 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.uniq` except that it accepts `comparator` which - * is invoked to compare elements of `array`. The comparator is invoked with - * two arguments: (arrVal, othVal). - * - * @category Array - * @param array The array to inspect. - * @param [comparator] The comparator invoked per element. - * @returns Returns the new duplicate free array. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.uniqWith(objects, _.isEqual); - * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }] - */ - uniqWith( - array: List | null | undefined, - comparator?: Comparator - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.uniqWith - */ - uniqWith( - this: LoDashImplicitWrapper | null | undefined>, - comparator?: Comparator - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.uniqWith - */ - uniqWith( - this: LoDashExplicitWrapper | null | undefined>, - comparator?: Comparator - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/unzip.d.ts b/types/lodash/array/unzip.d.ts deleted file mode 100644 index ca96290da5..0000000000 --- a/types/lodash/array/unzip.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.zip except that it accepts an array of grouped elements and creates an array - * regrouping the elements to their pre-zip configuration. - * - * @param array The array of grouped elements to process. - * @return Returns the new array of regrouped elements. - */ - unzip(array: T[][] | List> | null | undefined): T[][]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.unzip - */ - unzip(this: LoDashImplicitWrapper> | null | undefined>): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.unzip - */ - unzip(this: LoDashExplicitWrapper> | null | undefined>): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/unzipWith.d.ts b/types/lodash/array/unzipWith.d.ts deleted file mode 100644 index 0608c97bd9..0000000000 --- a/types/lodash/array/unzipWith.d.ts +++ /dev/null @@ -1,60 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.unzip except that it accepts an iteratee to specify how regrouped values should be - * combined. The iteratee is bound to thisArg and invoked with four arguments: (accumulator, value, index, - * group). - * - * @param array The array of grouped elements to process. - * @param iteratee The function to combine regrouped values. - * @param thisArg The this binding of iteratee. - * @return Returns the new array of regrouped elements. - */ - unzipWith( - array: List> | null | undefined, - iteratee: (...values: T[]) => TResult - ): TResult[]; - - /** - * @see _.unzipWith - */ - unzipWith( - array: List> | null | undefined - ): T[][]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.unzipWith - */ - unzipWith( - this: LoDashImplicitWrapper> | null | undefined>, - iteratee: (...values: T[]) => TResult - ): LoDashImplicitWrapper; - - /** - * @see _.unzipWith - */ - unzipWith( - this: LoDashImplicitWrapper> | null | undefined> - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.unzipWith - */ - unzipWith( - this: LoDashExplicitWrapper> | null | undefined>, - iteratee: (...values: T[]) => TResult - ): LoDashExplicitWrapper; - - /** - * @see _.unzipWith - */ - unzipWith( - this: LoDashExplicitWrapper> | null | undefined> - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/without.d.ts b/types/lodash/array/without.d.ts deleted file mode 100644 index ced52397ee..0000000000 --- a/types/lodash/array/without.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array excluding all provided values using SameValueZero for equality comparisons. - * - * @param array The array to filter. - * @param values The values to exclude. - * @return Returns the new array of filtered values. - */ - without( - array: List | null | undefined, - ...values: T[] - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.without - */ - without( - this: LoDashImplicitWrapper | null | undefined>, - ...values: T[] - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.without - */ - without( - this: LoDashExplicitWrapper | null | undefined>, - ...values: T[] - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/xor.d.ts b/types/lodash/array/xor.d.ts deleted file mode 100644 index 5369888326..0000000000 --- a/types/lodash/array/xor.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of unique values that is the symmetric difference of the provided arrays. - * - * @param arrays The arrays to inspect. - * @return Returns the new array of values. - */ - xor(...arrays: Array | null | undefined>): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.xor - */ - xor( - this: LoDashImplicitWrapper | null | undefined>, - ...arrays: Array | null | undefined> - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.xor - */ - xor( - this: LoDashExplicitWrapper | null | undefined>, - ...arrays: Array | null | undefined> - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/xorBy.d.ts b/types/lodash/array/xorBy.d.ts deleted file mode 100644 index 1be5c1284b..0000000000 --- a/types/lodash/array/xorBy.d.ts +++ /dev/null @@ -1,104 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.xor` except that it accepts `iteratee` which is - * invoked for each element of each `arrays` to generate the criterion by which - * uniqueness is computed. The iteratee is invoked with one argument: (value). - * - * @category Array - * @param [arrays] The arrays to inspect. - * @param [iteratee=_.identity] The iteratee invoked per element. - * @returns Returns the new array of values. - * @example - * - * _.xorBy([2.1, 1.2], [4.3, 2.4], Math.floor); - * // => [1.2, 4.3] - * - * // using the `_.property` iteratee shorthand - * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 2 }] - */ - xorBy( - arrays: List | null | undefined, - iteratee?: ValueIteratee - ): T[]; - - /** - * @see _.xorBy - */ - xorBy( - arrays: List | null | undefined, - arrays2: List | null | undefined, - iteratee?: ValueIteratee - ): T[]; - - /** - * @see _.xorBy - */ - xorBy( - arrays: List | null | undefined, - arrays2: List | null | undefined, - arrays3: List | null | undefined, - ...iteratee: Array | List | null | undefined> - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.xor - */ - xorBy( - this: LoDashImplicitWrapper | null | undefined>, - iteratee?: ValueIteratee - ): LoDashImplicitWrapper; - - /** - * @see _.xorBy - */ - xorBy( - this: LoDashImplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - iteratee?: ValueIteratee - ): LoDashImplicitWrapper; - - /** - * @see _.xorBy - */ - xorBy( - this: LoDashImplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - arrays3: List | null | undefined, - ...iteratee: Array | List | null | undefined> - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.xorBy - */ - xorBy( - this: LoDashExplicitWrapper | null | undefined>, - iteratee?: ValueIteratee - ): LoDashExplicitWrapper; - - /** - * @see _.xorBy - */ - xorBy( - this: LoDashExplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - iteratee?: ValueIteratee - ): LoDashExplicitWrapper; - - /** - * @see _.xorBy - */ - xorBy( - this: LoDashExplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - arrays3: List | null | undefined, - ...iteratee: Array | List | null | undefined> - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/xorWith.d.ts b/types/lodash/array/xorWith.d.ts deleted file mode 100644 index 0963a31da7..0000000000 --- a/types/lodash/array/xorWith.d.ts +++ /dev/null @@ -1,103 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.xor` except that it accepts `comparator` which is - * invoked to compare elements of `arrays`. The comparator is invoked with - * two arguments: (arrVal, othVal). - * - * @category Array - * @param [arrays] The arrays to inspect. - * @param [comparator] The comparator invoked per element. - * @returns Returns the new array of values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.xorWith(objects, others, _.isEqual); - * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] - */ - xorWith( - arrays: List | null | undefined, - comparator?: Comparator - ): T[]; - - /** - * @see _.xorWith - */ - xorWith( - arrays: List | null | undefined, - arrays2: List | null | undefined, - comparator?: Comparator - ): T[]; - - /** - * @see _.xorWith - */ - xorWith( - arrays: List | null | undefined, - arrays2: List | null | undefined, - arrays3: List | null | undefined, - ...comparator: Array | List | null | undefined> - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.xorWith - */ - xorWith( - this: LoDashImplicitWrapper | null | undefined>, - comparator?: Comparator - ): LoDashImplicitWrapper; - - /** - * @see _.xorWith - */ - xorWith( - this: LoDashImplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - comparator?: Comparator - ): LoDashImplicitWrapper; - - /** - * @see _.xorWith - */ - xorWith( - this: LoDashImplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - arrays3: List | null | undefined, - ...comparator: Array | List | null | undefined> - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.xorWith - */ - xorWith( - this: LoDashExplicitWrapper | null | undefined>, - comparator?: Comparator - ): LoDashExplicitWrapper; - - /** - * @see _.xorWith - */ - xorWith( - this: LoDashExplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - comparator?: Comparator - ): LoDashExplicitWrapper; - - /** - * @see _.xorWith - */ - xorWith( - this: LoDashExplicitWrapper | null | undefined>, - arrays2: List | null | undefined, - arrays3: List | null | undefined, - ...comparator: Array | List | null | undefined> - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/zip.d.ts b/types/lodash/array/zip.d.ts deleted file mode 100644 index bf4e436dbf..0000000000 --- a/types/lodash/array/zip.d.ts +++ /dev/null @@ -1,129 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of grouped elements, the first of which contains the first elements of the given arrays, - * the second of which contains the second elements of the given arrays, and so on. - * - * @param arrays The arrays to process. - * @return Returns the new array of grouped elements. - */ - zip(arrays1: List, arrays2: List): Array<[T1 | undefined, T2 | undefined]>; - - /** - * @see _.zip - */ - zip(arrays1: List, arrays2: List, arrays3: List): Array<[T1 | undefined, T2 | undefined, T3 | undefined]>; - - /** - * @see _.zip - */ - zip(arrays1: List, arrays2: List, arrays3: List, arrays4: List): Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined]>; - - /** - * @see _.zip - */ - zip(arrays1: List, arrays2: List, arrays3: List, arrays4: List, arrays5: List): Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined, T5 | undefined]>; - - /** - * @see _.zip - */ - zip(...arrays: Array | null | undefined>): (T | undefined)[][]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.zip - */ - zip( - this: LoDashImplicitWrapper>, - arrays2: List, - ): LoDashImplicitWrapper>; - - /** - * @see _.zip - */ - zip( - this: LoDashImplicitWrapper>, - arrays2: List, - arrays3: List, - ): LoDashImplicitWrapper>; - - /** - * @see _.zip - */ - zip( - this: LoDashImplicitWrapper>, - arrays2: List, - arrays3: List, - arrays4: List, - ): LoDashImplicitWrapper>; - - /** - * @see _.zip - */ - zip( - this: LoDashImplicitWrapper>, - arrays2: List, - arrays3: List, - arrays4: List, - arrays5: List, - ): LoDashImplicitWrapper>; - - /** - * @see _.zip - */ - zip( - this: LoDashImplicitWrapper | null | undefined>, - ...arrays: Array | null | undefined> - ): LoDashImplicitWrapper>>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.zip - */ - zip( - this: LoDashExplicitWrapper>, - arrays2: List, - ): LoDashExplicitWrapper>; - - /** - * @see _.zip - */ - zip( - this: LoDashExplicitWrapper>, - arrays2: List, - arrays3: List, - ): LoDashExplicitWrapper>; - - /** - * @see _.zip - */ - zip( - this: LoDashExplicitWrapper>, - arrays2: List, - arrays3: List, - arrays4: List, - ): LoDashExplicitWrapper>; - - /** - * @see _.zip - */ - zip( - this: LoDashExplicitWrapper>, - arrays2: List, - arrays3: List, - arrays4: List, - arrays5: List, - ): LoDashExplicitWrapper>; - - /** - * @see _.zip - */ - zip( - this: LoDashExplicitWrapper | null | undefined>, - ...arrays: Array | null | undefined> - ): LoDashExplicitWrapper>>; - } -} diff --git a/types/lodash/array/zipObject.d.ts b/types/lodash/array/zipObject.d.ts deleted file mode 100644 index cf7c35e96a..0000000000 --- a/types/lodash/array/zipObject.d.ts +++ /dev/null @@ -1,58 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.fromPairs except that it accepts two arrays, one of property - * identifiers and one of corresponding values. - * - * @param props The property names. - * @param values The property values. - * @return Returns the new object. - */ - zipObject( - props: List, - values: List - ): Dictionary; - - /** - * @see _.zipObject - */ - zipObject( - props?: List - ): Dictionary; - } - - interface LoDashImplicitWrapper { - /** - * @see _.zipObject - */ - zipObject( - this: LoDashImplicitWrapper>, - values: List - ): LoDashImplicitWrapper>; - - /** - * @see _.zipObject - */ - zipObject( - this: LoDashImplicitWrapper> - ): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.zipObject - */ - zipObject( - this: LoDashExplicitWrapper>, - values: List - ): LoDashExplicitWrapper>; - - /** - * @see _.zipObject - */ - zipObject( - this: LoDashExplicitWrapper> - ): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/array/zipObjectDeep.d.ts b/types/lodash/array/zipObjectDeep.d.ts deleted file mode 100644 index a91117e705..0000000000 --- a/types/lodash/array/zipObjectDeep.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.zipObject except that it supports property paths. - * - * @param paths The property names. - * @param values The property values. - * @return Returns the new object. - */ - zipObjectDeep( - paths?: List, - values?: List - ): object; - } - - interface LoDashImplicitWrapper { - /** - * @see _.zipObjectDeep - */ - zipObjectDeep( - this: LoDashImplicitWrapper>, - values?: List - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.zipObjectDeep - */ - zipObjectDeep( - this: LoDashExplicitWrapper>, - values?: List - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/array/zipWith.d.ts b/types/lodash/array/zipWith.d.ts deleted file mode 100644 index 31e080b056..0000000000 --- a/types/lodash/array/zipWith.d.ts +++ /dev/null @@ -1,187 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.zip except that it accepts an iteratee to specify how grouped values should be - * combined. The iteratee is bound to thisArg and invoked with four arguments: (accumulator, value, index, - * group). - * @param [arrays] The arrays to process. - * @param [iteratee] The function to combine grouped values. - * @param [thisArg] The `this` binding of `iteratee`. - * @return Returns the new array of grouped elements. - */ - zipWith( - arrays: List, - iteratee: (value1: T) => TResult - ): TResult[]; - - /** - * @see _.zipWith - */ - zipWith( - arrays1: List, - arrays2: List, - iteratee: (value1: T1, value2: T2) => TResult - ): TResult[]; - - /** - * @see _.zipWith - */ - zipWith( - arrays1: List, - arrays2: List, - arrays3: List, - iteratee: (value1: T1, value2: T2, value3: T3) => TResult - ): TResult[]; - - /** - * @see _.zipWith - */ - zipWith( - arrays1: List, - arrays2: List, - arrays3: List, - arrays4: List, - iteratee: (value1: T1, value2: T2, value3: T3, value4: T4) => TResult - ): TResult[]; - - /** - * @see _.zipWith - */ - zipWith( - arrays1: List, - arrays2: List, - arrays3: List, - arrays4: List, - arrays5: List, - iteratee: (value1: T1, value2: T2, value3: T3, value4: T4, value5: T5) => TResult - ): TResult[]; - - /** - * @see _.zipWith - */ - zipWith( - ...iteratee: Array<((...group: T[]) => TResult) | List | null | undefined> - ): TResult[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.zipWith - */ - zipWith( - this: LoDashImplicitWrapper>, - iteratee: (value1: T) => TResult - ): LoDashImplicitWrapper; - - /** - * @see _.zipWith - */ - zipWith( - this: LoDashImplicitWrapper>, - arrays2: List, - iteratee: (value1: T1, value2: T2) => TResult - ): LoDashImplicitWrapper; - - /** - * @see _.zipWith - */ - zipWith( - this: LoDashImplicitWrapper>, - arrays2: List, - arrays3: List, - iteratee: (value1: T1, value2: T2, value3: T3) => TResult - ): LoDashImplicitWrapper; - - /** - * @see _.zipWith - */ - zipWith( - this: LoDashImplicitWrapper>, - arrays2: List, - arrays3: List, - arrays4: List, - iteratee: (value1: T1, value2: T2, value3: T3, value4: T4) => TResult - ): LoDashImplicitWrapper; - - /** - * @see _.zipWith - */ - zipWith( - this: LoDashImplicitWrapper>, - arrays2: List, - arrays3: List, - arrays4: List, - arrays5: List, - iteratee: (value1: T1, value2: T2, value3: T3, value4: T4, value5: T5) => TResult - ): LoDashImplicitWrapper; - - /** - * @see _.zipWith - */ - zipWith( - this: LoDashImplicitWrapper | null | undefined>, - ...iteratee: Array<((...group: T[]) => TResult) | List | null | undefined> - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.zipWith - */ - zipWith( - this: LoDashExplicitWrapper>, - iteratee: (value1: T) => TResult - ): LoDashExplicitWrapper; - - /** - * @see _.zipWith - */ - zipWith( - this: LoDashExplicitWrapper>, - arrays2: List, - iteratee: (value1: T1, value2: T2) => TResult - ): LoDashExplicitWrapper; - - /** - * @see _.zipWith - */ - zipWith( - this: LoDashExplicitWrapper>, - arrays2: List, - arrays3: List, - iteratee: (value1: T1, value2: T2, value3: T3) => TResult - ): LoDashExplicitWrapper; - - /** - * @see _.zipWith - */ - zipWith( - this: LoDashExplicitWrapper>, - arrays2: List, - arrays3: List, - arrays4: List, - iteratee: (value1: T1, value2: T2, value3: T3, value4: T4) => TResult - ): LoDashExplicitWrapper; - - /** - * @see _.zipWith - */ - zipWith( - this: LoDashExplicitWrapper>, - arrays2: List, - arrays3: List, - arrays4: List, - arrays5: List, - iteratee: (value1: T1, value2: T2, value3: T3, value4: T4, value5: T5) => TResult - ): LoDashExplicitWrapper; - - /** - * @see _.zipWith - */ - zipWith( - this: LoDashExplicitWrapper | null | undefined>, - ...iteratee: Array<((...group: T[]) => TResult) | List | null | undefined> - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/collection/countBy.d.ts b/types/lodash/collection/countBy.d.ts deleted file mode 100644 index 7c7ca9e03a..0000000000 --- a/types/lodash/collection/countBy.d.ts +++ /dev/null @@ -1,121 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an object composed of keys generated from the results of running each element of collection through - * iteratee. The corresponding value of each key is the number of times the key was returned by iteratee. The - * iteratee is bound to thisArg and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for iteratee the created _.property style callback returns the property - * value of the given element. - * - * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for - * elements that have a matching property value, else false. - * - * If an object is provided for iteratee the created _.matches style callback returns true for elements that - * have the properties of the given object, else false. - * - * @param collection The collection to iterate over. - * @param iteratee The function invoked per iteration. - * @param thisArg The this binding of iteratee. - * @return Returns the composed aggregate object. - */ - countBy( - collection: string | null | undefined, - iteratee?: StringIterator - ): Dictionary; - - /** - * @see _.countBy - */ - countBy( - collection: List | null | undefined, - iteratee?: ListIteratee - ): Dictionary; - - /** - * @see _.countBy - */ - countBy( - collection: NumericDictionary | null | undefined, - iteratee?: NumericDictionaryIteratee - ): Dictionary; - - /** - * @see _.countBy - */ - countBy( - collection: T | null | undefined, - iteratee?: ObjectIteratee - ): Dictionary; - } - - interface LoDashImplicitWrapper { - /** - * @see _.countBy - */ - countBy( - this: LoDashImplicitWrapper, - iteratee?: StringIterator - ): LoDashImplicitWrapper>; - - /** - * @see _.countBy - */ - countBy( - this: LoDashImplicitWrapper | null | undefined>, - iteratee?: ListIteratee - ): LoDashImplicitWrapper>; - - /** - * @see _.countBy - */ - countBy( - this: LoDashImplicitWrapper, - iteratee?: ObjectIteratee - ): LoDashImplicitWrapper>; - - /** - * @see _.countBy - */ - countBy( - this: LoDashImplicitWrapper | null | undefined>, - iteratee?: NumericDictionaryIteratee - ): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.countBy - */ - countBy( - this: LoDashExplicitWrapper, - iteratee?: StringIterator - ): LoDashExplicitWrapper>; - - /** - * @see _.countBy - */ - countBy( - this: LoDashExplicitWrapper | null | undefined>, - iteratee?: ListIteratee - ): LoDashExplicitWrapper>; - - /** - * @see _.countBy - */ - countBy( - this: LoDashExplicitWrapper, - iteratee?: ObjectIteratee - ): LoDashExplicitWrapper>; - - /** - * @see _.countBy - */ - countBy( - this: LoDashExplicitWrapper | null | undefined>, - iteratee?: NumericDictionaryIteratee - ): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/collection/each.d.ts b/types/lodash/collection/each.d.ts deleted file mode 100644 index 9777780edc..0000000000 --- a/types/lodash/collection/each.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - each: typeof _.forEach; // tslint:disable-line:no-unnecessary-qualifier - } - - interface LoDashWrapper { - /** - * @see _.forEach - */ - each( - this: LoDashWrapper, - iteratee?: ArrayIterator - ): this; - - /** - * @see _.forEach - */ - each( - this: LoDashWrapper, - iteratee?: StringIterator - ): this; - - /** - * @see _.forEach - */ - each( - this: LoDashWrapper | null | undefined>, - iteratee?: ListIterator - ): this; - - /** - * @see _.forEach - */ - each( - this: LoDashWrapper, - iteratee?: ObjectIterator - ): this; - } -} \ No newline at end of file diff --git a/types/lodash/collection/eachRight.d.ts b/types/lodash/collection/eachRight.d.ts deleted file mode 100644 index 15e3007af5..0000000000 --- a/types/lodash/collection/eachRight.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - eachRight: typeof _.forEachRight; // tslint:disable-line:no-unnecessary-qualifier - } - - interface LoDashWrapper { - /** - * @see _.forEachRight - */ - eachRight( - this: LoDashWrapper, - iteratee?: ArrayIterator - ): this; - - /** - * @see _.forEachRight - */ - eachRight( - this: LoDashWrapper, - iteratee?: StringIterator - ): this; - - /** - * @see _.forEachRight - */ - eachRight( - this: LoDashWrapper | null | undefined>, - iteratee?: ListIterator - ): this; - - /** - * @see _.forEachRight - */ - eachRight( - this: LoDashWrapper, - iteratee?: ObjectIterator - ): this; - } -} \ No newline at end of file diff --git a/types/lodash/collection/every.d.ts b/types/lodash/collection/every.d.ts deleted file mode 100644 index 42062a74ad..0000000000 --- a/types/lodash/collection/every.d.ts +++ /dev/null @@ -1,85 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if predicate returns truthy for all elements of collection. Iteration is stopped once predicate - * returns falsey. The predicate is invoked with three arguments: (value, index|key, collection). - * - * @param collection The collection to iterate over. - * @param predicate The function invoked per iteration. - * @return Returns true if all elements pass the predicate check, else false. - */ - every( - collection: List | null | undefined, - predicate?: ListIterateeCustom - ): boolean; - - /** - * @see _.every - */ - every( - collection: NumericDictionary | null | undefined, - predicate?: NumericDictionaryIterateeCustom - ): boolean; - - /** - * @see _.every - */ - every( - collection: T | null | undefined, - predicate?: ObjectIterateeCustom - ): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.every - */ - every( - this: LoDashImplicitWrapper | null | undefined>, - predicate?: ListIterateeCustom - ): boolean; - - /** - * @see _.every - */ - every( - this: LoDashImplicitWrapper, - predicate?: ObjectIterateeCustom - ): boolean; - - /** - * @see _.every - */ - every( - this: LoDashImplicitWrapper | null | undefined>, - predicate?: NumericDictionaryIterateeCustom - ): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.every - */ - every( - this: LoDashExplicitWrapper | null | undefined>, - predicate?: ListIterateeCustom - ): LoDashExplicitWrapper; - - /** - * @see _.every - */ - every( - this: LoDashExplicitWrapper, - predicate?: ObjectIterateeCustom - ): LoDashExplicitWrapper; - - /** - * @see _.every - */ - every( - this: LoDashExplicitWrapper | null | undefined>, - predicate?: NumericDictionaryIterateeCustom - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/collection/filter.d.ts b/types/lodash/collection/filter.d.ts deleted file mode 100644 index 0f60654127..0000000000 --- a/types/lodash/collection/filter.d.ts +++ /dev/null @@ -1,143 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Iterates over elements of collection, returning an array of all elements predicate returns truthy for. The - * predicate is bound to thisArg and invoked with three arguments: (value, index|key, collection). - * - * If a property name is provided for predicate the created _.property style callback returns the property - * value of the given element. - * - * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for - * elements that have a matching property value, else false. - * - * If an object is provided for predicate the created _.matches style callback returns true for elements that - * have the properties of the given object, else false. - * - * @param collection The collection to iterate over. - * @param predicate The function invoked per iteration. - * @param thisArg The this binding of predicate. - * @return Returns the new filtered array. - */ - filter( - collection: string | null | undefined, - predicate?: StringIterator - ): string[]; - - /** - * @see _.filter - */ - filter( - collection: List | null | undefined, - predicate: ListIteratorTypeGuard - ): S[]; - - /** - * @see _.filter - */ - filter( - collection: List | null | undefined, - predicate?: ListIterateeCustom - ): T[]; - - /** - * @see _.filter - */ - filter( - collection: T | null | undefined, - predicate: ObjectIteratorTypeGuard - ): S[]; - - /** - * @see _.filter - */ - filter( - collection: T | null | undefined, - predicate?: ObjectIterateeCustom - ): Array; - } - - interface LoDashImplicitWrapper { - /** - * @see _.filter - */ - filter( - this: LoDashImplicitWrapper, - predicate?: StringIterator - ): LoDashImplicitWrapper; - - /** - * @see _.filter - */ - filter( - this: LoDashImplicitWrapper | null | undefined>, - predicate: ListIteratorTypeGuard - ): LoDashImplicitWrapper; - - /** - * @see _.filter - */ - filter( - this: LoDashImplicitWrapper | null | undefined>, - predicate?: ListIterateeCustom - ): LoDashImplicitWrapper; - - /** - * @see _.filter - */ - filter( - this: LoDashImplicitWrapper, - predicate: ObjectIteratorTypeGuard - ): LoDashImplicitWrapper; - - /** - * @see _.filter - */ - filter( - this: LoDashImplicitWrapper, - predicate?: ObjectIterateeCustom - ): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.filter - */ - filter( - this: LoDashExplicitWrapper, - predicate?: StringIterator - ): LoDashExplicitWrapper; - - /** - * @see _.filter - */ - filter( - this: LoDashExplicitWrapper | null | undefined>, - predicate: ListIteratorTypeGuard - ): LoDashExplicitWrapper; - - /** - * @see _.filter - */ - filter( - this: LoDashExplicitWrapper | null | undefined>, - predicate?: ListIterateeCustom - ): LoDashExplicitWrapper; - - /** - * @see _.filter - */ - filter( - this: LoDashExplicitWrapper, - predicate: ObjectIteratorTypeGuard - ): LoDashExplicitWrapper; - - /** - * @see _.filter - */ - filter( - this: LoDashExplicitWrapper, - predicate?: ObjectIterateeCustom - ): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/collection/find.d.ts b/types/lodash/collection/find.d.ts deleted file mode 100644 index 25bfc77efc..0000000000 --- a/types/lodash/collection/find.d.ts +++ /dev/null @@ -1,131 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Iterates over elements of collection, returning the first element predicate returns truthy for. - * The predicate is bound to thisArg and invoked with three arguments: (value, index|key, collection). - * - * If a property name is provided for predicate the created _.property style callback returns the property - * value of the given element. - * - * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for - * elements that have a matching property value, else false. - * - * If an object is provided for predicate the created _.matches style callback returns true for elements that - * have the properties of the given object, else false. - * - * @param collection The collection to search. - * @param predicate The function invoked per iteration. - * @param fromIndex The index to search from. - * @return Returns the matched element, else undefined. - */ - find( - collection: List | null | undefined, - predicate: ListIteratorTypeGuard, - fromIndex?: number - ): S|undefined; - - /** - * @see _.find - */ - find( - collection: List | null | undefined, - predicate?: ListIterateeCustom, - fromIndex?: number - ): T|undefined; - - /** - * @see _.find - */ - find( - collection: T | null | undefined, - predicate: ObjectIteratorTypeGuard, - fromIndex?: number - ): S|undefined; - - /** - * @see _.find - */ - find( - collection: T | null | undefined, - predicate?: ObjectIterateeCustom, - fromIndex?: number - ): T[keyof T]|undefined; - } - - interface LoDashImplicitWrapper { - /** - * @see _.find - */ - find( - this: LoDashImplicitWrapper | null | undefined>, - predicate: ListIteratorTypeGuard, - fromIndex?: number - ): S|undefined; - - /** - * @see _.find - */ - find( - this: LoDashImplicitWrapper | null | undefined>, - predicate?: ListIterateeCustom, - fromIndex?: number - ): T|undefined; - - /** - * @see _.find - */ - find( - this: LoDashImplicitWrapper, - predicate: ObjectIteratorTypeGuard, - fromIndex?: number - ): S|undefined; - - /** - * @see _.find - */ - find( - this: LoDashImplicitWrapper, - predicate?: ObjectIterateeCustom, - fromIndex?: number - ): T[keyof T]|undefined; - } - - interface LoDashExplicitWrapper { - /** - * @see _.find - */ - find( - this: LoDashExplicitWrapper | null | undefined>, - predicate: ListIteratorTypeGuard, - fromIndex?: number - ): LoDashExplicitWrapper; - - /** - * @see _.find - */ - find( - this: LoDashExplicitWrapper | null | undefined>, - predicate?: ListIterateeCustom, - fromIndex?: number - ): LoDashExplicitWrapper; - - /** - * @see _.find - */ - find( - this: LoDashExplicitWrapper, - predicate: ObjectIteratorTypeGuard, - fromIndex?: number - ): LoDashExplicitWrapper; - - /** - * @see _.find - */ - find( - this: LoDashExplicitWrapper, - predicate?: ObjectIterateeCustom, - fromIndex?: number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/collection/findLast.d.ts b/types/lodash/collection/findLast.d.ts deleted file mode 100644 index edbcf971e4..0000000000 --- a/types/lodash/collection/findLast.d.ts +++ /dev/null @@ -1,121 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.find except that it iterates over elements of a collection from - * right to left. - * @param collection Searches for a value in this list. - * @param predicate The function called per iteration. - * @param fromIndex The index to search from. - * @return The found element, else undefined. - **/ - findLast( - collection: List | null | undefined, - predicate: ListIteratorTypeGuard, - fromIndex?: number - ): S|undefined; - - /** - * @see _.findLast - */ - findLast( - collection: List | null | undefined, - predicate?: ListIterateeCustom, - fromIndex?: number - ): T|undefined; - - /** - * @see _.findLast - */ - findLast( - collection: T | null | undefined, - predicate: ObjectIteratorTypeGuard, - fromIndex?: number - ): S|undefined; - - /** - * @see _.findLast - */ - findLast( - collection: T | null | undefined, - predicate?: ObjectIterateeCustom, - fromIndex?: number - ): T[keyof T]|undefined; - } - - interface LoDashImplicitWrapper { - /** - * @see _.findLast - */ - findLast( - this: LoDashImplicitWrapper | null | undefined>, - predicate: ListIteratorTypeGuard, - fromIndex?: number - ): S | undefined; - - /** - * @see _.findLast - */ - findLast( - this: LoDashImplicitWrapper | null | undefined>, - predicate?: ListIterateeCustom, - fromIndex?: number - ): T | undefined; - - /** - * @see _.findLast - */ - findLast( - this: LoDashImplicitWrapper, - predicate: ObjectIteratorTypeGuard, - fromIndex?: number - ): S|undefined; - - /** - * @see _.findLast - */ - findLast( - this: LoDashImplicitWrapper, - predicate?: ObjectIterateeCustom, - fromIndex?: number - ): T[keyof T]|undefined; - } - - interface LoDashExplicitWrapper { - /** - * @see _.findLast - */ - findLast( - this: LoDashExplicitWrapper | null | undefined>, - predicate: ListIteratorTypeGuard, - fromIndex?: number - ): LoDashExplicitWrapper; - - /** - * @see _.findLast - */ - findLast( - this: LoDashExplicitWrapper | null | undefined>, - predicate?: ListIterateeCustom, - fromIndex?: number - ): LoDashExplicitWrapper; - - /** - * @see _.findLast - */ - findLast( - this: LoDashExplicitWrapper, - predicate: ObjectIteratorTypeGuard, - fromIndex?: number - ): LoDashExplicitWrapper; - - /** - * @see _.findLast - */ - findLast( - this: LoDashExplicitWrapper, - predicate?: ObjectIterateeCustom, - fromIndex?: number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/collection/flatMap.d.ts b/types/lodash/collection/flatMap.d.ts deleted file mode 100644 index 1917e691dc..0000000000 --- a/types/lodash/collection/flatMap.d.ts +++ /dev/null @@ -1,164 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of flattened values by running each element in collection through iteratee - * and concating its result to the other mapped values. The iteratee is invoked with three arguments: - * (value, index|key, collection). - * - * @param collection The collection to iterate over. - * @param iteratee The function invoked per iteration. - * @return Returns the new flattened array. - */ - flatMap( - collection: List> | Dictionary> | NumericDictionary> | null | undefined - ): T[]; - - /** - * @see _.flatMap - */ - flatMap( - collection: object | null | undefined - ): any[]; - - /** - * @see _.flatMap - */ - flatMap( - collection: List | null | undefined, - iteratee: ListIterator> - ): TResult[]; - - /** - * @see _.flatMap - */ - flatMap( - collection: NumericDictionary | null | undefined, - iteratee: NumericDictionaryIterator> - ): TResult[]; - - /** - * @see _.flatMap - */ - flatMap( - collection: T | null | undefined, - iteratee: ObjectIterator> - ): TResult[]; - - /** - * @see _.flatMap - */ - flatMap( - collection: object | null | undefined, - iteratee: string - ): any[]; - - /** - * @see _.flatMap - */ - flatMap( - collection: object | null | undefined, - iteratee: object - ): boolean[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.flatMap - */ - flatMap(this: LoDashImplicitWrapper> | Dictionary> | NumericDictionary> | null | undefined>): LoDashImplicitWrapper; - - /** - * @see _.flatMap - */ - flatMap(): LoDashImplicitWrapper; - - /** - * @see _.flatMap - */ - flatMap( - this: LoDashImplicitWrapper | null | undefined>, - iteratee: ListIterator> - ): LoDashImplicitWrapper; - - /** - * @see _.flatMap - */ - flatMap( - this: LoDashImplicitWrapper, - iteratee: ObjectIterator> - ): LoDashImplicitWrapper; - - /** - * @see _.flatMap - */ - flatMap( - this: LoDashImplicitWrapper | null | undefined>, - iteratee: NumericDictionaryIterator> - ): LoDashImplicitWrapper; - - /** - * @see _.flatMap - */ - flatMap( - iteratee: string - ): LoDashImplicitWrapper; - - /** - * @see _.flatMap - */ - flatMap( - iteratee: object - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.flatMap - */ - flatMap(this: LoDashExplicitWrapper> | Dictionary> | NumericDictionary> | null | undefined>): LoDashExplicitWrapper; - - /** - * @see _.flatMap - */ - flatMap(): LoDashExplicitWrapper; - - /** - * @see _.flatMap - */ - flatMap( - this: LoDashExplicitWrapper | null | undefined>, - iteratee: ListIterator> - ): LoDashExplicitWrapper; - - /** - * @see _.flatMap - */ - flatMap( - this: LoDashExplicitWrapper | null | undefined>, - iteratee: NumericDictionaryIterator> - ): LoDashExplicitWrapper; - - /** - * @see _.flatMap - */ - flatMap( - this: LoDashExplicitWrapper, - iteratee: ObjectIterator> - ): LoDashExplicitWrapper; - - /** - * @see _.flatMap - */ - flatMap( - iteratee: string - ): LoDashExplicitWrapper; - - /** - * @see _.flatMap - */ - flatMap( - iteratee: object - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/collection/flatMapDeep.d.ts b/types/lodash/collection/flatMapDeep.d.ts deleted file mode 100644 index 02a81ed5ab..0000000000 --- a/types/lodash/collection/flatMapDeep.d.ts +++ /dev/null @@ -1,164 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.flatMap` except that it recursively flattens the - * mapped results. - * - * @since 4.7.0 - * @category Collection - * @param collection The collection to iterate over. - * @param [iteratee=_.identity] The function invoked per iteration. - * @returns Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [[[n, n]]]; - * } - * - * _.flatMapDeep([1, 2], duplicate); - * // => [1, 1, 2, 2] - */ - flatMapDeep( - collection: List | T> | Dictionary | T> | NumericDictionary | T> | null | undefined - ): T[]; - - /** - * @see _.flatMapDeep - */ - flatMapDeep( - collection: List | null | undefined, - iteratee: ListIterator | TResult> - ): TResult[]; - - /** - * @see _.flatMapDeep - */ - flatMapDeep( - collection: NumericDictionary | null | undefined, - iteratee: NumericDictionaryIterator | TResult> - ): TResult[]; - - /** - * @see _.flatMapDeep - */ - flatMapDeep( - collection: T | null | undefined, - iteratee: ObjectIterator | TResult> - ): TResult[]; - - /** - * @see _.flatMapDeep - */ - flatMapDeep( - collection: object | null | undefined, - iteratee: string - ): any[]; - - /** - * @see _.flatMapDeep - */ - flatMapDeep( - collection: object | null | undefined, - iteratee: object - ): boolean[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.flatMapDeep - */ - flatMapDeep( - this: LoDashImplicitWrapper | T> | Dictionary | T> | NumericDictionary | T> | null | undefined> - ): LoDashImplicitWrapper; - - /** - * @see _.flatMapDeep - */ - flatMapDeep( - this: LoDashImplicitWrapper | null | undefined>, - iteratee: ListIterator | TResult> - ): LoDashImplicitWrapper; - - /** - * @see _.flatMapDeep - */ - flatMapDeep( - this: LoDashImplicitWrapper | null | undefined>, - iteratee: NumericDictionaryIterator | TResult> - ): LoDashImplicitWrapper; - - /** - * @see _.flatMapDeep - */ - flatMapDeep( - this: LoDashImplicitWrapper, - iteratee: ObjectIterator | TResult> - ): LoDashImplicitWrapper; - - /** - * @see _.flatMapDeep - */ - flatMapDeep( - this: LoDashImplicitWrapper, - iteratee: string - ): LoDashImplicitWrapper; - - /** - * @see _.flatMapDeep - */ - flatMapDeep( - this: LoDashImplicitWrapper, - iteratee: object - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.flatMapDeep - */ - flatMapDeep( - this: LoDashExplicitWrapper | T> | Dictionary | T> | NumericDictionary | T> | null | undefined> - ): LoDashExplicitWrapper; - - /** - * @see _.flatMapDeep - */ - flatMapDeep( - this: LoDashExplicitWrapper | null | undefined>, - iteratee: ListIterator | TResult> - ): LoDashExplicitWrapper; - - /** - * @see _.flatMapDeep - */ - flatMapDeep( - this: LoDashExplicitWrapper | null | undefined>, - iteratee: NumericDictionaryIterator | TResult> - ): LoDashExplicitWrapper; - - /** - * @see _.flatMapDeep - */ - flatMapDeep( - this: LoDashExplicitWrapper, - iteratee: ObjectIterator | TResult> - ): LoDashExplicitWrapper; - - /** - * @see _.flatMapDeep - */ - flatMapDeep( - this: LoDashExplicitWrapper, - iteratee: string - ): LoDashExplicitWrapper; - - /** - * @see _.flatMapDeep - */ - flatMapDeep( - this: LoDashExplicitWrapper, - iteratee: object - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/collection/flatMapDepth.d.ts b/types/lodash/collection/flatMapDepth.d.ts deleted file mode 100644 index 6790a8e0f2..0000000000 --- a/types/lodash/collection/flatMapDepth.d.ts +++ /dev/null @@ -1,180 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.flatMap` except that it recursively flattens the - * mapped results up to `depth` times. - * - * @since 4.7.0 - * @category Collection - * @param collection The collection to iterate over. - * @param [iteratee=_.identity] The function invoked per iteration. - * @param [depth=1] The maximum recursion depth. - * @returns Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [[[n, n]]]; - * } - * - * _.flatMapDepth([1, 2], duplicate, 2); - * // => [[1, 1], [2, 2]] - */ - flatMapDepth( - collection: List | T> | Dictionary | T> | NumericDictionary | T> | null | undefined - ): T[]; - - /** - * @see _.flatMapDepth - */ - flatMapDepth( - collection: List | null | undefined, - iteratee: ListIterator | TResult>, - depth?: number - ): TResult[]; - - /** - * @see _.flatMapDepth - */ - flatMapDepth( - collection: NumericDictionary | null | undefined, - iteratee: NumericDictionaryIterator | TResult>, - depth?: number - ): TResult[]; - - /** - * @see _.flatMapDepth - */ - flatMapDepth( - collection: T | null | undefined, - iteratee: ObjectIterator | TResult>, - depth?: number - ): TResult[]; - - /** - * @see _.flatMapDepth - */ - flatMapDepth( - collection: object | null | undefined, - iteratee: string, - depth?: number - ): any[]; - - /** - * @see _.flatMapDepth - */ - flatMapDepth( - collection: object | null | undefined, - iteratee: object, - depth?: number - ): boolean[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.flatMapDepth - */ - flatMapDepth( - this: LoDashImplicitWrapper | T> | Dictionary | T> | NumericDictionary | T> | null | undefined> - ): LoDashImplicitWrapper; - - /** - * @see _.flatMapDepth - */ - flatMapDepth( - this: LoDashImplicitWrapper | null | undefined>, - iteratee: ListIterator | TResult>, - depth?: number - ): LoDashImplicitWrapper; - - /** - * @see _.flatMapDepth - */ - flatMapDepth( - this: LoDashImplicitWrapper | null | undefined>, - iteratee: NumericDictionaryIterator | TResult>, - depth?: number - ): LoDashImplicitWrapper; - - /** - * @see _.flatMapDepth - */ - flatMapDepth( - this: LoDashImplicitWrapper, - iteratee: ObjectIterator | TResult>, - depth?: number - ): LoDashImplicitWrapper; - - /** - * @see _.flatMapDepth - */ - flatMapDepth( - this: LoDashImplicitWrapper, - iteratee: string, - depth?: number - ): LoDashImplicitWrapper; - - /** - * @see _.flatMapDepth - */ - flatMapDepth( - this: LoDashImplicitWrapper, - iteratee: object, - depth?: number - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.flatMapDepth - */ - flatMapDepth( - this: LoDashExplicitWrapper | T> | Dictionary | T> | NumericDictionary | T> | null | undefined> - ): LoDashExplicitWrapper; - - /** - * @see _.flatMapDepth - */ - flatMapDepth( - this: LoDashExplicitWrapper | null | undefined>, - iteratee: ListIterator | TResult>, - depth?: number - ): LoDashExplicitWrapper; - - /** - * @see _.flatMapDepth - */ - flatMapDepth( - this: LoDashExplicitWrapper | null | undefined>, - iteratee: NumericDictionaryIterator | TResult>, - depth?: number - ): LoDashExplicitWrapper; - - /** - * @see _.flatMapDepth - */ - flatMapDepth( - this: LoDashExplicitWrapper, - iteratee: ObjectIterator | TResult>, - depth?: number - ): LoDashExplicitWrapper; - - /** - * @see _.flatMapDepth - */ - flatMapDepth( - this: LoDashExplicitWrapper, - iteratee: string, - depth?: number - ): LoDashExplicitWrapper; - - /** - * @see _.flatMapDepth - */ - flatMapDepth( - this: LoDashExplicitWrapper, - iteratee: object, - depth?: number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/collection/forEach.d.ts b/types/lodash/collection/forEach.d.ts deleted file mode 100644 index 74c0b38cde..0000000000 --- a/types/lodash/collection/forEach.d.ts +++ /dev/null @@ -1,113 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Iterates over elements of collection invoking iteratee for each element. The iteratee is bound to thisArg - * and invoked with three arguments: - * (value, index|key, collection). Iteratee functions may exit iteration early by explicitly returning false. - * - * Note: As with other "Collections" methods, objects with a "length" property are iterated like arrays. To - * avoid this behavior _.forIn or _.forOwn may be used for object iteration. - * - * @alias _.each - * - * @param collection The collection to iterate over. - * @param iteratee The function invoked per iteration. - * @param thisArg The this binding of iteratee. - */ - forEach( - collection: T[], - iteratee?: ArrayIterator - ): T[]; - - /** - * @see _.forEach - */ - forEach( - collection: string, - iteratee?: StringIterator - ): string; - - /** - * @see _.forEach - */ - forEach( - collection: List, - iteratee?: ListIterator - ): List; - - /** - * @see _.forEach - */ - forEach( - collection: T, - iteratee?: ObjectIterator - ): T; - - /** - * @see _.forEach - */ - forEach( - collection: TArray & (T[] | null | undefined), - iteratee?: ArrayIterator - ): TArray; - - /** - * @see _.forEach - */ - forEach( - collection: TString, - iteratee?: StringIterator - ): TString; - - /** - * @see _.forEach - */ - forEach | null | undefined>( - collection: TList & (List | null | undefined), - iteratee?: ListIterator - ): TList; - - /** - * @see _.forEach - */ - forEach( - collection: T | null | undefined, - iteratee?: ObjectIterator - ): T | null | undefined; - } - - interface LoDashWrapper { - /** - * @see _.forEach - */ - forEach( - this: LoDashWrapper, - iteratee?: ArrayIterator - ): this; - - /** - * @see _.forEach - */ - forEach( - this: LoDashWrapper, - iteratee?: StringIterator - ): this; - - /** - * @see _.forEach - */ - forEach( - this: LoDashWrapper | null | undefined>, - iteratee?: ListIterator - ): this; - - /** - * @see _.forEach - */ - forEach( - this: LoDashWrapper, - iteratee?: ObjectIterator - ): this; - } -} \ No newline at end of file diff --git a/types/lodash/collection/forEachRight.d.ts b/types/lodash/collection/forEachRight.d.ts deleted file mode 100644 index dd01aa969a..0000000000 --- a/types/lodash/collection/forEachRight.d.ts +++ /dev/null @@ -1,108 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.forEach except that it iterates over elements of collection from right to left. - * - * @alias _.eachRight - * - * @param collection The collection to iterate over. - * @param iteratee The function called per iteration. - * @param thisArg The this binding of callback. - */ - forEachRight( - collection: T[], - iteratee?: ArrayIterator - ): T[]; - - /** - * @see _.forEachRight - */ - forEachRight( - collection: string, - iteratee?: StringIterator - ): string; - - /** - * @see _.forEachRight - */ - forEachRight( - collection: List, - iteratee?: ListIterator - ): List; - - /** - * @see _.forEachRight - */ - forEachRight( - collection: T, - iteratee?: ObjectIterator - ): T; - - /** - * @see _.forEachRight - */ - forEachRight( - collection: TArray & (T[] | null | undefined), - iteratee?: ArrayIterator - ): TArray; - - /** - * @see _.forEachRight - */ - forEachRight( - collection: TString, - iteratee?: StringIterator - ): TString; - - /** - * @see _.forEachRight - */ - forEachRight | null | undefined>( - collection: TList & (List | null | undefined), - iteratee?: ListIterator - ): TList; - - /** - * @see _.forEachRight - */ - forEachRight( - collection: T | null | undefined, - iteratee?: ObjectIterator - ): T | null | undefined; - } - - interface LoDashWrapper { - /** - * @see _.forEachRight - */ - forEachRight( - this: LoDashWrapper, - iteratee?: ArrayIterator - ): this; - - /** - * @see _.forEachRight - */ - forEachRight( - this: LoDashWrapper, - iteratee?: StringIterator - ): this; - - /** - * @see _.forEachRight - */ - forEachRight( - this: LoDashWrapper | null | undefined>, - iteratee?: ListIterator - ): this; - - /** - * @see _.forEachRight - */ - forEachRight( - this: LoDashWrapper, - iteratee?: ObjectIterator - ): this; - } -} \ No newline at end of file diff --git a/types/lodash/collection/groupBy.d.ts b/types/lodash/collection/groupBy.d.ts deleted file mode 100644 index 714729181b..0000000000 --- a/types/lodash/collection/groupBy.d.ts +++ /dev/null @@ -1,121 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an object composed of keys generated from the results of running each element of collection through - * iteratee. The corresponding value of each key is an array of the elements responsible for generating the - * key. The iteratee is bound to thisArg and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for iteratee the created _.property style callback returns the property - * value of the given element. - * - * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for - * elements that have a matching property value, else false. - * - * If an object is provided for iteratee the created _.matches style callback returns true for elements that - * have the properties of the given object, else false. - * - * @param collection The collection to iterate over. - * @param iteratee The function invoked per iteration. - * @param thisArg The this binding of iteratee. - * @return Returns the composed aggregate object. - */ - groupBy( - collection: string | null | undefined, - iteratee?: StringIterator - ): Dictionary; - - /** - * @see _.groupBy - */ - groupBy( - collection: List | null | undefined, - iteratee?: ListIteratee - ): Dictionary; - - /** - * @see _.groupBy - */ - groupBy( - collection: NumericDictionary | null | undefined, - iteratee?: NumericDictionaryIteratee - ): Dictionary; - - /** - * @see _.groupBy - */ - groupBy( - collection: T | null | undefined, - iteratee?: ObjectIteratee - ): Dictionary>; - } - - interface LoDashImplicitWrapper { - /** - * @see _.groupBy - */ - groupBy( - this: LoDashImplicitWrapper, - iteratee?: StringIterator - ): LoDashImplicitWrapper>; - - /** - * @see _.groupBy - */ - groupBy( - this: LoDashImplicitWrapper | null | undefined>, - iteratee?: ListIteratee - ): LoDashImplicitWrapper>; - - /** - * @see _.groupBy - */ - groupBy( - this: LoDashImplicitWrapper, - iteratee?: ObjectIteratee - ): LoDashImplicitWrapper>>; - - /** - * @see _.groupBy - */ - groupBy( - this: LoDashImplicitWrapper | null | undefined>, - iteratee?: NumericDictionaryIteratee - ): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.groupBy - */ - groupBy( - this: LoDashExplicitWrapper, - iteratee?: StringIterator - ): LoDashExplicitWrapper>; - - /** - * @see _.groupBy - */ - groupBy( - this: LoDashExplicitWrapper | null | undefined>, - iteratee?: ListIteratee - ): LoDashExplicitWrapper>; - - /** - * @see _.groupBy - */ - groupBy( - this: LoDashExplicitWrapper | null | undefined>, - iteratee?: NumericDictionaryIteratee - ): LoDashExplicitWrapper>; - - /** - * @see _.groupBy - */ - groupBy( - this: LoDashExplicitWrapper, - iteratee?: ObjectIteratee - ): LoDashExplicitWrapper>>; - } -} \ No newline at end of file diff --git a/types/lodash/collection/includes.d.ts b/types/lodash/collection/includes.d.ts deleted file mode 100644 index 87eda4e44a..0000000000 --- a/types/lodash/collection/includes.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if target is in collection using SameValueZero for equality comparisons. If fromIndex is negative, - * it’s used as the offset from the end of collection. - * - * @param collection The collection to search. - * @param target The value to search for. - * @param fromIndex The index to search from. - * @return True if the target element is found, else false. - */ - includes( - collection: List|Dictionary | null | undefined, - target: T, - fromIndex?: number - ): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.includes - */ - includes( - this: LoDashImplicitWrapper | Dictionary | null | undefined>, - target: T, - fromIndex?: number - ): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.includes - */ - includes( - this: LoDashExplicitWrapper | Dictionary | null | undefined>, - target: T, - fromIndex?: number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/collection/invokeMap.d.ts b/types/lodash/collection/invokeMap.d.ts deleted file mode 100644 index 99711b4e5f..0000000000 --- a/types/lodash/collection/invokeMap.d.ts +++ /dev/null @@ -1,58 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Invokes the method named by methodName on each element in the collection returning - * an array of the results of each invoked method. Additional arguments will be provided - * to each invoked method. If methodName is a function it will be invoked for, and this - * bound to, each element in the collection. - * @param collection The collection to iterate over. - * @param methodName The name of the method to invoke. - * @param args Arguments to invoke the method with. - **/ - invokeMap( - collection: object | null | undefined, - methodName: string, - ...args: any[]): any[]; - - /** - * @see _.invokeMap - **/ - invokeMap( - collection: object | null | undefined, - method: (...args: any[]) => TResult, - ...args: any[]): TResult[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.invokeMap - **/ - invokeMap( - methodName: string, - ...args: any[]): LoDashImplicitWrapper; - - /** - * @see _.invokeMap - **/ - invokeMap( - method: (...args: any[]) => TResult, - ...args: any[]): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.invokeMap - **/ - invokeMap( - methodName: string, - ...args: any[]): LoDashExplicitWrapper; - - /** - * @see _.invokeMap - **/ - invokeMap( - method: (...args: any[]) => TResult, - ...args: any[]): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/collection/keyBy.d.ts b/types/lodash/collection/keyBy.d.ts deleted file mode 100644 index f9ba2e24b5..0000000000 --- a/types/lodash/collection/keyBy.d.ts +++ /dev/null @@ -1,121 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an object composed of keys generated from the results of running each element of collection through - * iteratee. The corresponding value of each key is the last element responsible for generating the key. The - * iteratee function is bound to thisArg and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for iteratee the created _.property style callback returns the property - * value of the given element. - * - * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for - * elements that have a matching property value, else false. - * - * If an object is provided for iteratee the created _.matches style callback returns true for elements that - * have the properties of the given object, else false. - * - * @param collection The collection to iterate over. - * @param iteratee The function invoked per iteration. - * @param thisArg The this binding of iteratee. - * @return Returns the composed aggregate object. - */ - keyBy( - collection: string | null | undefined, - iteratee?: StringIterator - ): Dictionary; - - /** - * @see _.keyBy - */ - keyBy( - collection: List | null | undefined, - iteratee?: ListIterateeCustom - ): Dictionary; - - /** - * @see _.keyBy - */ - keyBy( - collection: T | null | undefined, - iteratee?: ObjectIterateeCustom - ): Dictionary; - - /** - * @see _.keyBy - */ - keyBy( - collection: NumericDictionary | null | undefined, - iteratee?: NumericDictionaryIterateeCustom - ): Dictionary; - } - - interface LoDashImplicitWrapper { - /** - * @see _.keyBy - */ - keyBy( - this: LoDashImplicitWrapper, - iteratee?: StringIterator - ): LoDashImplicitWrapper>; - - /** - * @see _.keyBy - */ - keyBy( - this: LoDashImplicitWrapper | null | undefined>, - iteratee?: ListIterateeCustom - ): LoDashImplicitWrapper>; - - /** - * @see _.keyBy - */ - keyBy( - this: LoDashImplicitWrapper, - iteratee?: ObjectIterateeCustom - ): LoDashImplicitWrapper>; - - /** - * @see _.keyBy - */ - keyBy( - this: LoDashImplicitWrapper | null | undefined>, - iteratee?: NumericDictionaryIterateeCustom - ): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.keyBy - */ - keyBy( - this: LoDashExplicitWrapper, - iteratee?: StringIterator - ): LoDashExplicitWrapper>; - - /** - * @see _.keyBy - */ - keyBy( - this: LoDashExplicitWrapper | null | undefined>, - iteratee?: ListIterateeCustom - ): LoDashExplicitWrapper>; - - /** - * @see _.keyBy - */ - keyBy( - this: LoDashExplicitWrapper, - iteratee?: ObjectIterateeCustom - ): LoDashExplicitWrapper>; - - /** - * @see _.keyBy - */ - keyBy( - this: LoDashExplicitWrapper | null | undefined>, - iteratee?: NumericDictionaryIterateeCustom - ): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/collection/map.d.ts b/types/lodash/collection/map.d.ts deleted file mode 100644 index 4a90aaf95d..0000000000 --- a/types/lodash/collection/map.d.ts +++ /dev/null @@ -1,180 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of values by running each element in collection through iteratee. The iteratee is bound to - * thisArg and invoked with three arguments: (value, index|key, collection). - * - * If a property name is provided for iteratee the created _.property style callback returns the property value - * of the given element. - * - * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for - * elements that have a matching property value, else false. - * - * If an object is provided for iteratee the created _.matches style callback returns true for elements that - * have the properties of the given object, else false. - * - * Many lodash methods are guarded to work as iteratees for methods like _.every, _.filter, _.map, _.mapValues, - * _.reject, and _.some. - * - * The guarded methods are: - * ary, callback, chunk, clone, create, curry, curryRight, drop, dropRight, every, fill, flatten, invert, max, - * min, parseInt, slice, sortBy, take, takeRight, template, trim, trimLeft, trimRight, trunc, random, range, - * sample, some, sum, uniq, and words - * - * @param collection The collection to iterate over. - * @param iteratee The function invoked per iteration. - * @param thisArg The this binding of iteratee. - * @return Returns the new mapped array. - */ - map( - collection: List | null | undefined, - iteratee: ListIterator - ): TResult[]; - - /** - * @see _.map - */ - map(collection: List | Dictionary | null | undefined): T[]; - - /** - * @see _.map - */ - map( - collection: Dictionary | null | undefined, - iteratee: DictionaryIterator - ): TResult[]; - - /** @see _.map */ - map( - collection: List | Dictionary | null | undefined, - iteratee: K - ): Array; - - /** @see _.map */ - map( - collection: NumericDictionary | null | undefined, - iteratee?: NumericDictionaryIterator - ): TResult[]; - - /** - * @see _.map - */ - map( - collection: List|Dictionary|NumericDictionary | null | undefined, - iteratee?: string - ): TResult[]; - - /** - * @see _.map - */ - map( - collection: List|Dictionary|NumericDictionary | null | undefined, - iteratee?: object - ): boolean[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.map - */ - map( - this: LoDashImplicitWrapper | null | undefined>, - iteratee: ListIterator - ): LoDashImplicitWrapper; - - /** - * @see _.map - */ - map(this: LoDashImplicitWrapper | Dictionary | null | undefined>): LoDashImplicitWrapper; - - /** - * @see _.map - */ - map( - this: LoDashImplicitWrapper | null | undefined>, - iteratee: DictionaryIterator - ): LoDashImplicitWrapper; - - /** @see _.map */ - map( - this: LoDashImplicitWrapper | Dictionary | null | undefined>, - iteratee: K - ): LoDashImplicitWrapper>; - - /** @see _.map */ - map( - this: LoDashImplicitWrapper | null | undefined>, - iteratee?: NumericDictionaryIterator - ): LoDashImplicitWrapper; - - /** - * @see _.map - */ - map( - this: LoDashImplicitWrapper | Dictionary | NumericDictionary | null | undefined>, - iteratee?: string - ): LoDashImplicitWrapper; - - /** - * @see _.map - */ - map( - this: LoDashImplicitWrapper | Dictionary | NumericDictionary | null | undefined>, - iteratee?: object - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.map - */ - map( - this: LoDashExplicitWrapper | null | undefined>, - iteratee: ListIterator - ): LoDashExplicitWrapper; - - /** - * @see _.map - */ - map(this: LoDashExplicitWrapper | Dictionary | null | undefined>): LoDashExplicitWrapper; - - /** - * @see _.map - */ - map( - this: LoDashExplicitWrapper | null | undefined>, - iteratee: DictionaryIterator - ): LoDashExplicitWrapper; - - /** @see _.map */ - map( - this: LoDashExplicitWrapper | Dictionary | null | undefined>, - iteratee: K - ): LoDashExplicitWrapper>; - - /** - * @see _.map - */ - map( - this: LoDashExplicitWrapper | null | undefined>, - iteratee?: NumericDictionaryIterator - ): LoDashExplicitWrapper; - - /** - * @see _.map - */ - map( - this: LoDashExplicitWrapper | Dictionary | NumericDictionary | null | undefined>, - iteratee?: string - ): LoDashExplicitWrapper; - - /** - * @see _.map - */ - map( - this: LoDashExplicitWrapper | Dictionary | NumericDictionary | null | undefined>, - iteratee?: object - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/collection/orderBy.d.ts b/types/lodash/collection/orderBy.d.ts deleted file mode 100644 index a8950959de..0000000000 --- a/types/lodash/collection/orderBy.d.ts +++ /dev/null @@ -1,192 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.sortBy` except that it allows specifying the sort - * orders of the iteratees to sort by. If `orders` is unspecified, all values - * are sorted in ascending order. Otherwise, specify an order of "desc" for - * descending or "asc" for ascending sort order of corresponding values. - * - * @category Collection - * @param collection The collection to iterate over. - * @param [iteratees=[_.identity]] The iteratees to sort by. - * @param [orders] The sort orders of `iteratees`. - * @param- {Object} [guard] Enables use as an iteratee for functions like `_.reduce`. - * @returns Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 34 }, - * { 'user': 'fred', 'age': 42 }, - * { 'user': 'barney', 'age': 36 } - * ]; - * - * // sort by `user` in ascending order and by `age` in descending order - * _.orderBy(users, ['user', 'age'], ['asc', 'desc']); - * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]] - */ - orderBy( - collection: List | null | undefined, - iteratees?: Many>, - orders?: Many - ): T[]; - - /** - * @see _.orderBy - */ - orderBy( - collection: List | null | undefined, - iteratees?: Many>, - orders?: Many - ): T[]; - - /** - * @see _.orderBy - */ - orderBy( - collection: T | null | undefined, - iteratees?: Many>, - orders?: Many - ): Array; - - /** - * @see _.orderBy - */ - orderBy( - collection: T | null | undefined, - iteratees?: Many>, - orders?: Many - ): Array; - - /** - * @see _.orderBy - */ - orderBy( - collection: NumericDictionary | null | undefined, - iteratees?: Many>, - orders?: Many - ): T[]; - - /** - * @see _.orderBy - */ - orderBy( - collection: NumericDictionary | null | undefined, - iteratees?: Many>, - orders?: Many - ): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.orderBy - */ - orderBy( - this: LoDashImplicitWrapper | null | undefined>, - iteratees?: Many>, - orders?: Many - ): LoDashImplicitWrapper; - - /** - * @see _.orderBy - */ - orderBy( - this: LoDashImplicitWrapper | null | undefined>, - iteratees?: Many>, - orders?: Many - ): LoDashImplicitWrapper; - - /** - * @see _.orderBy - */ - orderBy( - this: LoDashImplicitWrapper, - iteratees?: Many>, - orders?: Many - ): LoDashImplicitWrapper>; - - /** - * @see _.orderBy - */ - orderBy( - this: LoDashImplicitWrapper, - iteratees?: Many>, - orders?: Many - ): LoDashImplicitWrapper>; - - /** - * @see _.orderBy - */ - orderBy( - this: LoDashImplicitWrapper | null | undefined>, - iteratees?: Many>, - orders?: Many - ): LoDashImplicitWrapper; - - /** - * @see _.orderBy - */ - orderBy( - this: LoDashImplicitWrapper | null | undefined>, - iteratees?: Many>, - orders?: Many - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.orderBy - */ - orderBy( - this: LoDashExplicitWrapper | null | undefined>, - iteratees?: Many>, - orders?: Many - ): LoDashExplicitWrapper; - - /** - * @see _.orderBy - */ - orderBy( - this: LoDashExplicitWrapper | null | undefined>, - iteratees?: Many>, - orders?: Many - ): LoDashExplicitWrapper; - - /** - * @see _.orderBy - */ - orderBy( - this: LoDashExplicitWrapper, - iteratees?: Many>, - orders?: Many - ): LoDashExplicitWrapper>; - - /** - * @see _.orderBy - */ - orderBy( - this: LoDashExplicitWrapper, - iteratees?: Many>, - orders?: Many - ): LoDashExplicitWrapper>; - - /** - * @see _.orderBy - */ - orderBy( - this: LoDashExplicitWrapper | null | undefined>, - iteratees?: Many>, - orders?: Many - ): LoDashExplicitWrapper; - - /** - * @see _.orderBy - */ - orderBy( - this: LoDashExplicitWrapper | null | undefined>, - iteratees?: Many>, - orders?: Many - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/collection/partition.d.ts b/types/lodash/collection/partition.d.ts deleted file mode 100644 index f372f0708d..0000000000 --- a/types/lodash/collection/partition.d.ts +++ /dev/null @@ -1,72 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of elements split into two groups, the first of which contains elements predicate returns truthy for, - * while the second of which contains elements predicate returns falsey for. - * The predicate is bound to thisArg and invoked with three arguments: (value, index|key, collection). - * - * If a property name is provided for predicate the created _.property style callback - * returns the property value of the given element. - * - * If a value is also provided for thisArg the created _.matchesProperty style callback - * returns true for elements that have a matching property value, else false. - * - * If an object is provided for predicate the created _.matches style callback returns - * true for elements that have the properties of the given object, else false. - * - * @param collection The collection to iterate over. - * @param callback The function called per iteration. - * @param thisArg The this binding of predicate. - * @return Returns the array of grouped elements. - **/ - partition( - collection: List | null | undefined, - callback: ValueIteratee - ): [T[], T[]]; - - /** - * @see _.partition - */ - partition( - collection: T | null | undefined, - callback: ValueIteratee - ): [Array, Array]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.partition - */ - partition( - this: LoDashImplicitWrapper | null | undefined>, - callback: ValueIteratee - ): LoDashImplicitWrapper<[T[], T[]]>; - - /** - * @see _.partition - */ - partition( - this: LoDashImplicitWrapper, - callback: ValueIteratee - ): LoDashImplicitWrapper<[Array, Array]>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.partition - */ - partition( - this: LoDashExplicitWrapper | null | undefined>, - callback: ValueIteratee - ): LoDashExplicitWrapper<[T[], T[]]>; - - /** - * @see _.partition - */ - partition( - this: LoDashExplicitWrapper, - callback: ValueIteratee - ): LoDashExplicitWrapper<[Array, Array]>; - } -} \ No newline at end of file diff --git a/types/lodash/collection/reduce.d.ts b/types/lodash/collection/reduce.d.ts deleted file mode 100644 index 2346225d60..0000000000 --- a/types/lodash/collection/reduce.d.ts +++ /dev/null @@ -1,220 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Reduces a collection to a value which is the accumulated result of running each - * element in the collection through the callback, where each successive callback execution - * consumes the return value of the previous execution. If accumulator is not provided the - * first element of the collection will be used as the initial accumulator value. The callback - * is bound to thisArg and invoked with four arguments; (accumulator, value, index|key, collection). - * @param collection The collection to iterate over. - * @param callback The function called per iteration. - * @param accumulator Initial value of the accumulator. - * @return Returns the accumulated value. - **/ - reduce( - collection: T[] | null | undefined, - callback: MemoListIterator, - accumulator: TResult - ): TResult; - - /** - * @see _.reduce - **/ - reduce( - collection: List | null | undefined, - callback: MemoListIterator>, - accumulator: TResult - ): TResult; - - /** - * @see _.reduce - **/ - reduce( - collection: T | null | undefined, - callback: MemoObjectIterator, - accumulator: TResult - ): TResult; - - /** - * @see _.reduce - **/ - reduce( - collection: NumericDictionary | null | undefined, - callback: MemoListIterator>, - accumulator: TResult - ): TResult; - - /** - * @see _.reduce - **/ - reduce( - collection: T[] | null | undefined, - callback: MemoListIterator - ): TResult | undefined; - - /** - * @see _.reduce - **/ - reduce( - collection: List | null | undefined, - callback: MemoListIterator> - ): TResult | undefined; - - /** - * @see _.reduce - **/ - reduce( - collection: T | null | undefined, - callback: MemoObjectIterator - ): TResult | undefined; - - /** - * @see _.reduce - **/ - reduce( - collection: NumericDictionary | null | undefined, - callback: MemoListIterator> - ): TResult | undefined; - } - - interface LoDashImplicitWrapper { - /** - * @see _.reduce - **/ - reduce( - this: LoDashImplicitWrapper, - callback: MemoListIterator, - accumulator: TResult - ): TResult; - - /** - * @see _.reduce - **/ - reduce( - this: LoDashImplicitWrapper | null | undefined>, - callback: MemoListIterator>, - accumulator: TResult - ): TResult; - - /** - * @see _.reduce - **/ - reduce( - this: LoDashImplicitWrapper, - callback: MemoObjectIterator, - accumulator: TResult - ): TResult; - - /** - * @see _.reduce - **/ - reduce( - this: LoDashImplicitWrapper | null | undefined>, - callback: MemoListIterator>, - accumulator: TResult - ): TResult; - - /** - * @see _.reduce - **/ - reduce( - this: LoDashImplicitWrapper, - callback: MemoListIterator - ): TResult | undefined; - - /** - * @see _.reduce - **/ - reduce( - this: LoDashImplicitWrapper | null | undefined>, - callback: MemoListIterator> - ): TResult | undefined; - - /** - * @see _.reduce - **/ - reduce( - this: LoDashImplicitWrapper, - callback: MemoObjectIterator - ): TResult | undefined; - - /** - * @see _.reduce - **/ - reduce( - this: LoDashImplicitWrapper | null | undefined>, - callback: MemoListIterator> - ): TResult | undefined; - } - - interface LoDashExplicitWrapper { - /** - * @see _.reduce - **/ - reduce( - this: LoDashExplicitWrapper, - callback: MemoListIterator, - accumulator: TResult - ): LoDashExplicitWrapper; - - /** - * @see _.reduce - **/ - reduce( - this: LoDashExplicitWrapper | null | undefined>, - callback: MemoListIterator>, - accumulator: TResult - ): LoDashExplicitWrapper; - - /** - * @see _.reduce - **/ - reduce( - this: LoDashExplicitWrapper, - callback: MemoObjectIterator, - accumulator: TResult - ): LoDashExplicitWrapper; - - /** - * @see _.reduce - **/ - reduce( - this: LoDashExplicitWrapper | null | undefined>, - callback: MemoListIterator>, - accumulator: TResult - ): LoDashExplicitWrapper; - - /** - * @see _.reduce - **/ - reduce( - this: LoDashExplicitWrapper, - callback: MemoListIterator - ): LoDashExplicitWrapper; - - /** - * @see _.reduce - **/ - reduce( - this: LoDashExplicitWrapper | null | undefined>, - callback: MemoListIterator> - ): LoDashExplicitWrapper; - - /** - * @see _.reduce - **/ - reduce( - this: LoDashExplicitWrapper, - callback: MemoObjectIterator - ): LoDashExplicitWrapper; - - /** - * @see _.reduce - **/ - reduce( - this: LoDashExplicitWrapper | null | undefined>, - callback: MemoListIterator> - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/collection/reduceRight.d.ts b/types/lodash/collection/reduceRight.d.ts deleted file mode 100644 index a183708d45..0000000000 --- a/types/lodash/collection/reduceRight.d.ts +++ /dev/null @@ -1,217 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.reduce except that it iterates over elements of a collection from - * right to left. - * @param collection The collection to iterate over. - * @param callback The function called per iteration. - * @param accumulator Initial value of the accumulator. - * @return The accumulated value. - **/ - reduceRight( - collection: T[] | null | undefined, - callback: MemoListIterator, - accumulator: TResult - ): TResult; - - /** - * @see _.reduceRight - **/ - reduceRight( - collection: List | null | undefined, - callback: MemoListIterator>, - accumulator: TResult - ): TResult; - - /** - * @see _.reduceRight - **/ - reduceRight( - collection: T | null | undefined, - callback: MemoObjectIterator, - accumulator: TResult - ): TResult; - - /** - * @see _.reduceRight - **/ - reduceRight( - collection: NumericDictionary | null | undefined, - callback: MemoListIterator>, - accumulator: TResult - ): TResult; - - /** - * @see _.reduceRight - **/ - reduceRight( - collection: T[] | null | undefined, - callback: MemoListIterator - ): TResult | undefined; - - /** - * @see _.reduceRight - **/ - reduceRight( - collection: List | null | undefined, - callback: MemoListIterator> - ): TResult | undefined; - - /** - * @see _.reduceRight - **/ - reduceRight( - collection: T | null | undefined, - callback: MemoObjectIterator - ): TResult | undefined; - - /** - * @see _.reduceRight - **/ - reduceRight( - collection: NumericDictionary | null | undefined, - callback: MemoListIterator> - ): TResult | undefined; - } - - interface LoDashImplicitWrapper { - /** - * @see _.reduceRight - **/ - reduceRight( - this: LoDashImplicitWrapper, - callback: MemoListIterator, - accumulator: TResult - ): TResult; - - /** - * @see _.reduceRight - **/ - reduceRight( - this: LoDashImplicitWrapper | null | undefined>, - callback: MemoListIterator>, - accumulator: TResult - ): TResult; - - /** - * @see _.reduceRight - **/ - reduceRight( - this: LoDashImplicitWrapper, - callback: MemoObjectIterator, - accumulator: TResult - ): TResult; - - /** - * @see _.reduceRight - **/ - reduceRight( - this: LoDashImplicitWrapper | null | undefined>, - callback: MemoListIterator>, - accumulator: TResult - ): TResult; - - /** - * @see _.reduceRight - **/ - reduceRight( - this: LoDashImplicitWrapper, - callback: MemoListIterator - ): TResult | undefined; - - /** - * @see _.reduceRight - **/ - reduceRight( - this: LoDashImplicitWrapper | null | undefined>, - callback: MemoListIterator> - ): TResult | undefined; - - /** - * @see _.reduceRight - **/ - reduceRight( - this: LoDashImplicitWrapper, - callback: MemoObjectIterator - ): TResult | undefined; - - /** - * @see _.reduceRight - **/ - reduceRight( - this: LoDashImplicitWrapper | null | undefined>, - callback: MemoListIterator> - ): TResult | undefined; - } - - interface LoDashExplicitWrapper { - /** - * @see _.reduceRight - **/ - reduceRight( - this: LoDashExplicitWrapper, - callback: MemoListIterator, - accumulator: TResult - ): LoDashExplicitWrapper; - - /** - * @see _.reduceRight - **/ - reduceRight( - this: LoDashExplicitWrapper | null | undefined>, - callback: MemoListIterator>, - accumulator: TResult - ): LoDashExplicitWrapper; - - /** - * @see _.reduceRight - **/ - reduceRight( - this: LoDashExplicitWrapper, - callback: MemoObjectIterator, - accumulator: TResult - ): LoDashExplicitWrapper; - - /** - * @see _.reduceRight - **/ - reduceRight( - this: LoDashExplicitWrapper | null | undefined>, - callback: MemoListIterator>, - accumulator: TResult - ): LoDashExplicitWrapper; - - /** - * @see _.reduceRight - **/ - reduceRight( - this: LoDashExplicitWrapper, - callback: MemoListIterator - ): LoDashExplicitWrapper; - - /** - * @see _.reduceRight - **/ - reduceRight( - this: LoDashExplicitWrapper | null | undefined>, - callback: MemoListIterator> - ): LoDashExplicitWrapper; - - /** - * @see _.reduceRight - **/ - reduceRight( - this: LoDashExplicitWrapper, - callback: MemoObjectIterator - ): LoDashExplicitWrapper; - - /** - * @see _.reduceRight - **/ - reduceRight( - this: LoDashExplicitWrapper | null | undefined>, - callback: MemoListIterator> - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/collection/reject.d.ts b/types/lodash/collection/reject.d.ts deleted file mode 100644 index d832f1ba14..0000000000 --- a/types/lodash/collection/reject.d.ts +++ /dev/null @@ -1,86 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * The opposite of _.filter; this method returns the elements of collection that predicate does not return - * truthy for. - * - * @param collection The collection to iterate over. - * @param predicate The function invoked per iteration. - * @param thisArg The this binding of predicate. - * @return Returns the new filtered array. - */ - reject( - collection: string | null | undefined, - predicate?: StringIterator - ): string[]; - - /** - * @see _.reject - */ - reject( - collection: List | null | undefined, - predicate?: ListIterateeCustom - ): T[]; - - /** - * @see _.reject - */ - reject( - collection: T | null | undefined, - predicate?: ObjectIterateeCustom - ): Array; - } - - interface LoDashImplicitWrapper { - /** - * @see _.reject - */ - reject( - this: LoDashImplicitWrapper, - predicate?: StringIterator - ): LoDashImplicitWrapper; - - /** - * @see _.reject - */ - reject( - this: LoDashImplicitWrapper | null | undefined>, - predicate?: ListIterateeCustom - ): LoDashImplicitWrapper; - - /** - * @see _.reject - */ - reject( - this: LoDashImplicitWrapper, - predicate?: ObjectIterateeCustom - ): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.reject - */ - reject( - this: LoDashExplicitWrapper, - predicate?: StringIterator - ): LoDashExplicitWrapper; - - /** - * @see _.reject - */ - reject( - this: LoDashExplicitWrapper | null | undefined>, - predicate?: ListIterateeCustom - ): LoDashExplicitWrapper; - - /** - * @see _.reject - */ - reject( - this: LoDashExplicitWrapper, - predicate?: ObjectIterateeCustom - ): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/collection/sample.d.ts b/types/lodash/collection/sample.d.ts deleted file mode 100644 index ccaa4e118b..0000000000 --- a/types/lodash/collection/sample.d.ts +++ /dev/null @@ -1,74 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Gets a random element from collection. - * - * @param collection The collection to sample. - * @return Returns the random element. - */ - sample( - collection: List | Dictionary | NumericDictionary | null | undefined - ): T | undefined; - - /** - * @see _.sample - */ - sample( - collection: T - ): T[keyof T]; - - /** - * @see _.sample - */ - sample( - collection: T | null | undefined - ): T[keyof T] | undefined; - } - - interface LoDashImplicitWrapper { - /** - * @see _.sample - */ - sample( - this: LoDashImplicitWrapper | Dictionary | NumericDictionary | null | undefined> - ): T | undefined; - - /** - * @see _.sample - */ - sample( - this: LoDashImplicitWrapper, - ): T[keyof T]; - - /** - * @see _.sample - */ - sample( - this: LoDashImplicitWrapper - ): T[keyof T] | undefined; - } - - interface LoDashExplicitWrapper { - /** - * @see _.sample - */ - sample( - this: LoDashExplicitWrapper | Dictionary | NumericDictionary | null | undefined> - ): LoDashExplicitWrapper; - - /** - * @see _.sample - */ - sample( - this: LoDashExplicitWrapper, - ): LoDashExplicitWrapper; - - /** - * @see _.sample - */ - sample( - this: LoDashExplicitWrapper - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/collection/sampleSize.d.ts b/types/lodash/collection/sampleSize.d.ts deleted file mode 100644 index bf620987d5..0000000000 --- a/types/lodash/collection/sampleSize.d.ts +++ /dev/null @@ -1,60 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Gets n random elements at unique keys from collection up to the size of collection. - * - * @param collection The collection to sample. - * @param n The number of elements to sample. - * @return Returns the random elements. - */ - sampleSize( - collection: List|Dictionary|NumericDictionary | null | undefined, - n?: number - ): T[]; - - /** - * @see _.sampleSize - */ - sampleSize( - collection: T | null | undefined, - n?: number - ): Array; - } - - interface LoDashImplicitWrapper { - /** - * @see _.sampleSize - */ - sampleSize( - this: LoDashImplicitWrapper|Dictionary|NumericDictionary | null | undefined>, - n?: number - ): LoDashImplicitWrapper; - - /** - * @see _.sampleSize - */ - sampleSize( - this: LoDashImplicitWrapper, - n?: number - ): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.sampleSize - */ - sampleSize( - this: LoDashExplicitWrapper|Dictionary|NumericDictionary | null | undefined>, - n?: number - ): LoDashExplicitWrapper; - - /** - * @see _.sampleSize - */ - sampleSize( - this: LoDashExplicitWrapper, - n?: number - ): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/collection/shuffle.d.ts b/types/lodash/collection/shuffle.d.ts deleted file mode 100644 index 8209ece654..0000000000 --- a/types/lodash/collection/shuffle.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of shuffled values, using a version of the Fisher-Yates shuffle. - * - * @param collection The collection to shuffle. - * @return Returns the new shuffled array. - */ - shuffle(collection: List | null | undefined): T[]; - - /** - * @see _.shuffle - */ - shuffle(collection: T | null | undefined): Array; - } - - interface LoDashImplicitWrapper { - /** - * @see _.shuffle - */ - shuffle(this: LoDashImplicitWrapper | null | undefined>): LoDashImplicitWrapper; - - /** - * @see _.shuffle - */ - shuffle(this: LoDashImplicitWrapper): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.shuffle - */ - shuffle(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; - - /** - * @see _.shuffle - */ - shuffle(this: LoDashExplicitWrapper): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/collection/size.d.ts b/types/lodash/collection/size.d.ts deleted file mode 100644 index f1c393a7b7..0000000000 --- a/types/lodash/collection/size.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Gets the size of collection by returning its length for array-like values or the number of own enumerable - * properties for objects. - * - * @param collection The collection to inspect. - * @return Returns the size of collection. - */ - size(collection: object | string | null | undefined): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.size - */ - size(): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.size - */ - size(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/collection/some.d.ts b/types/lodash/collection/some.d.ts deleted file mode 100644 index fff03751d1..0000000000 --- a/types/lodash/collection/some.d.ts +++ /dev/null @@ -1,85 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if predicate returns truthy for any element of collection. Iteration is stopped once predicate - * returns truthy. The predicate is invoked with three arguments: (value, index|key, collection). - * - * @param collection The collection to iterate over. - * @param predicate The function invoked per iteration. - * @return Returns true if any element passes the predicate check, else false. - */ - some( - collection: List | null | undefined, - predicate?: ListIterateeCustom - ): boolean; - - /** - * @see _.some - */ - some( - collection: T | null | undefined, - predicate?: ObjectIterateeCustom - ): boolean; - - /** - * @see _.some - */ - some( - collection: NumericDictionary | null | undefined, - predicate?: NumericDictionaryIterateeCustom - ): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.some - */ - some( - this: LoDashImplicitWrapper | null | undefined>, - predicate?: ListIterateeCustom - ): boolean; - - /** - * @see _.some - */ - some( - this: LoDashImplicitWrapper, - predicate?: ObjectIterateeCustom - ): boolean; - - /** - * @see _.some - */ - some( - this: LoDashImplicitWrapper | null | undefined>, - predicate?: NumericDictionaryIterateeCustom - ): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.some - */ - some( - this: LoDashExplicitWrapper | null | undefined>, - predicate?: ListIterateeCustom - ): LoDashExplicitWrapper; - - /** - * @see _.some - */ - some( - this: LoDashExplicitWrapper, - predicate?: ObjectIterateeCustom - ): LoDashExplicitWrapper; - - /** - * @see _.some - */ - some( - this: LoDashExplicitWrapper | null | undefined>, - predicate?: NumericDictionaryIterateeCustom - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/collection/sortBy.d.ts b/types/lodash/collection/sortBy.d.ts deleted file mode 100644 index d20877f512..0000000000 --- a/types/lodash/collection/sortBy.d.ts +++ /dev/null @@ -1,84 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of elements, sorted in ascending order by the results of - * running each element in a collection through each iteratee. This method - * performs a stable sort, that is, it preserves the original sort order of - * equal elements. The iteratees are invoked with one argument: (value). - * - * @category Collection - * @param collection The collection to iterate over. - * @param [iteratees=[_.identity]] - * The iteratees to sort by, specified individually or in arrays. - * @returns Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 42 }, - * { 'user': 'barney', 'age': 34 } - * ]; - * - * _.sortBy(users, function(o) { return o.user; }); - * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]] - * - * _.sortBy(users, ['user', 'age']); - * // => objects for [['barney', 34], ['barney', 36], ['fred', 42], ['fred', 48]] - * - * _.sortBy(users, 'user', function(o) { - * return Math.floor(o.age / 10); - * }); - * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]] - */ - sortBy( - collection: List | null | undefined, - ...iteratees: Array>> - ): T[]; - - /** - * @see _.sortBy - */ - sortBy( - collection: T | null | undefined, - ...iteratees: Array>> - ): Array; - } - - interface LoDashImplicitWrapper { - /** - * @see _.sortBy - */ - sortBy( - this: LoDashImplicitWrapper | null | undefined>, - ...iteratees: Array>> - ): LoDashImplicitWrapper; - - /** - * @see _.sortBy - */ - sortBy( - this: LoDashImplicitWrapper, - ...iteratees: Array>> - ): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.sortBy - */ - sortBy( - this: LoDashExplicitWrapper | null | undefined>, - ...iteratees: Array>> - ): LoDashExplicitWrapper; - - /** - * @see _.sortBy - */ - sortBy( - this: LoDashExplicitWrapper, - ...iteratees: Array>> - ): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/common/array.d.ts b/types/lodash/common/array.d.ts new file mode 100644 index 0000000000..f70fbbf135 --- /dev/null +++ b/types/lodash/common/array.d.ts @@ -0,0 +1,3845 @@ +import _ = require("../index"); +declare module "../index" { + // chunk + + interface LoDashStatic { + /** + * Creates an array of elements split into groups the length of size. If collection can’t be split evenly, the + * final chunk will be the remaining elements. + * + * @param array The array to process. + * @param size The length of each chunk. + * @return Returns the new array containing chunks. + */ + chunk( + array: List | null | undefined, + size?: number + ): T[][]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.chunk + */ + chunk( + this: LoDashImplicitWrapper | null | undefined>, + size?: number, + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.chunk + */ + chunk( + this: LoDashExplicitWrapper | null | undefined>, + size?: number, + ): LoDashExplicitWrapper; + } + + // compact + + interface LoDashStatic { + /** + * Creates an array with all falsey values removed. The values false, null, 0, "", undefined, and NaN are + * falsey. + * + * @param array The array to compact. + * @return Returns the new array of filtered values. + */ + compact(array: List | null | undefined): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.compact + */ + compact(this: LoDashImplicitWrapper | null | undefined>): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.compact + */ + compact(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; + } + + // concat + + interface LoDashStatic { + /** + * Creates a new array concatenating `array` with any additional arrays + * and/or values. + * + * @category Array + * @param array The array to concatenate. + * @param [values] The values to concatenate. + * @returns Returns the new concatenated array. + * @example + * + * var array = [1]; + * var other = _.concat(array, 2, [3], [[4]]); + * + * console.log(other); + * // => [1, 2, 3, [4]] + * + * console.log(array); + * // => [1] + */ + concat(array: Many, ...values: Array>): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.compact + */ + concat(this: LoDashImplicitWrapper>, ...values: Array>): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.compact + */ + concat(this: LoDashExplicitWrapper>, ...values: Array>): LoDashExplicitWrapper; + } + + // difference + + interface LoDashStatic { + /** + * Creates an array of unique array values not included in the other provided arrays using SameValueZero for + * equality comparisons. + * + * @param array The array to inspect. + * @param values The arrays of values to exclude. + * @return Returns the new array of filtered values. + */ + difference( + array: List | null | undefined, + ...values: Array> + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.difference + */ + difference( + this: LoDashImplicitWrapper | null | undefined>, + ...values: Array> + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.difference + */ + difference( + this: LoDashExplicitWrapper | null | undefined>, + ...values: Array> + ): LoDashExplicitWrapper; + } + + // differenceBy + + interface LoDashStatic { + /** + * This method is like _.difference except that it accepts iteratee which is invoked for each element of array + * and values to generate the criterion by which uniqueness is computed. The iteratee is invoked with one + * argument: (value). + * + * @param array The array to inspect. + * @param values The values to exclude. + * @param iteratee The iteratee invoked per element. + * @returns Returns the new array of filtered values. + */ + differenceBy( + array: List | null | undefined, + values: List, + iteratee: ValueIteratee + ): T1[]; + + /** + * @see _.differenceBy + */ + differenceBy( + array: List | null | undefined, + values1: List, + values2: List, + iteratee: ValueIteratee + ): T1[]; + + /** + * @see _.differenceBy + */ + differenceBy( + array: List | null | undefined, + values1: List, + values2: List, + values3: List, + iteratee: ValueIteratee + ): T1[]; + + /** + * @see _.differenceBy + */ + differenceBy( + array: List | null | undefined, + values1: List, + values2: List, + values3: List, + values4: List, + iteratee: ValueIteratee + ): T1[]; + + /** + * @see _.differenceBy + */ + differenceBy( + array: List | null | undefined, + values1: List, + values2: List, + values3: List, + values4: List, + values5: List, + iteratee: ValueIteratee + ): T1[]; + + /** + * @see _.differenceBy + */ + differenceBy( + array: List | null | undefined, + values1: List, + values2: List, + values3: List, + values4: List, + values5: List, + ...values: Array | ValueIteratee> + ): T1[]; + + /** + * @see _.differenceBy + */ + differenceBy( + array: List | null | undefined, + ...values: Array> + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.differenceBy + */ + differenceBy( + this: LoDashImplicitWrapper | null | undefined>, + values: List, + iteratee: ValueIteratee + ): LoDashImplicitWrapper; + + /** + * @see _.differenceBy + */ + differenceBy( + this: LoDashImplicitWrapper | null | undefined>, + values1: List, + values2: List, + iteratee: ValueIteratee + ): LoDashImplicitWrapper; + + /** + * @see _.differenceBy + */ + differenceBy( + this: LoDashImplicitWrapper | null | undefined>, + values1: List, + values2: List, + values3: List, + iteratee: ValueIteratee + ): LoDashImplicitWrapper; + + /** + * @see _.differenceBy + */ + differenceBy( + this: LoDashImplicitWrapper | null | undefined>, + values1: List, + values2: List, + values3: List, + values4: List, + iteratee: ValueIteratee + ): LoDashImplicitWrapper; + + /** + * @see _.differenceBy + */ + differenceBy( + this: LoDashImplicitWrapper | null | undefined>, + values1: List, + values2: List, + values3: List, + values4: List, + values5: List, + iteratee: ValueIteratee + ): LoDashImplicitWrapper; + + /** + * @see _.differenceBy + */ + differenceBy( + this: LoDashImplicitWrapper | null | undefined>, + values1: List, + values2: List, + values3: List, + values4: List, + values5: List, + ...values: Array | ValueIteratee> + ): LoDashImplicitWrapper; + + /** + * @see _.differenceBy + */ + differenceBy( + this: LoDashImplicitWrapper | null | undefined>, + ...values: Array> + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.differenceBy + */ + differenceBy( + this: LoDashExplicitWrapper | null | undefined>, + values: List, + iteratee: ValueIteratee + ): LoDashExplicitWrapper; + + /** + * @see _.differenceBy + */ + differenceBy( + this: LoDashExplicitWrapper | null | undefined>, + values1: List, + values2: List, + iteratee: ValueIteratee + ): LoDashExplicitWrapper; + + /** + * @see _.differenceBy + */ + differenceBy( + this: LoDashExplicitWrapper | null | undefined>, + values1: List, + values2: List, + values3: List, + iteratee: ValueIteratee + ): LoDashExplicitWrapper; + + /** + * @see _.differenceBy + */ + differenceBy( + this: LoDashExplicitWrapper | null | undefined>, + values1: List, + values2: List, + values3: List, + values4: List, + iteratee: ValueIteratee + ): LoDashExplicitWrapper; + + /** + * @see _.differenceBy + */ + differenceBy( + this: LoDashExplicitWrapper | null | undefined>, + values1: List, + values2: List, + values3: List, + values4: List, + values5: List, + iteratee: ValueIteratee + ): LoDashExplicitWrapper; + + /** + * @see _.differenceBy + */ + differenceBy( + this: LoDashExplicitWrapper | null | undefined>, + values1: List, + values2: List, + values3: List, + values4: List, + values5: List, + ...values: Array | ValueIteratee> + ): LoDashExplicitWrapper; + + /** + * @see _.differenceBy + */ + differenceBy( + this: LoDashExplicitWrapper | null | undefined>, + ...values: Array> + ): LoDashExplicitWrapper; + } + + // differenceWith + + interface LoDashStatic { + /** + * Creates an array of unique `array` values not included in the other + * provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) + * for equality comparisons. + * + * @category Array + * @param [values] The arrays to inspect. + * @param [comparator] The comparator invoked per element. + * @returns Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + + * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); + * // => [{ 'x': 2, 'y': 1 }] + */ + differenceWith( + array: List | null | undefined, + values: List, + comparator: Comparator2 + ): T1[]; + + /** + * @see _.differenceWith + */ + differenceWith( + array: List | null | undefined, + values1: List, + values2: List, + comparator: Comparator2 + ): T1[]; + + /** + * @see _.differenceWith + */ + differenceWith( + array: List | null | undefined, + values1: List, + values2: List, + ...values: Array | Comparator2> + ): T1[]; + + /** + * @see _.differenceWith + */ + differenceWith( + array: List | null | undefined, + ...values: Array> + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.differenceWith + */ + differenceWith( + this: LoDashImplicitWrapper | null | undefined>, + values: List, + comparator: Comparator2 + ): LoDashImplicitWrapper; + + /** + * @see _.differenceWith + */ + differenceWith( + this: LoDashImplicitWrapper | null | undefined>, + values1: List, + values2: List, + comparator: Comparator2 + ): LoDashImplicitWrapper; + + /** + * @see _.differenceWith + */ + differenceWith( + this: LoDashImplicitWrapper | null | undefined>, + values1: List, + values2: List, + ...values: Array | Comparator2> + ): LoDashImplicitWrapper; + + /** + * @see _.differenceWith + */ + differenceWith( + this: LoDashImplicitWrapper | null | undefined>, + ...values: Array> + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.differenceWith + */ + differenceWith( + this: LoDashExplicitWrapper | null | undefined>, + values: List, + comparator: Comparator2 + ): LoDashExplicitWrapper; + + /** + * @see _.differenceWith + */ + differenceWith( + this: LoDashExplicitWrapper | null | undefined>, + values1: List, + values2: List, + comparator: Comparator2 + ): LoDashExplicitWrapper; + + /** + * @see _.differenceWith + */ + differenceWith( + this: LoDashExplicitWrapper | null | undefined>, + values1: List, + values2: List, + ...values: Array | Comparator2> + ): LoDashExplicitWrapper; + + /** + * @see _.differenceWith + */ + differenceWith( + this: LoDashExplicitWrapper | null | undefined>, + ...values: Array> + ): LoDashExplicitWrapper; + } + + // drop + + interface LoDashStatic { + /** + * Creates a slice of array with n elements dropped from the beginning. + * + * @param array The array to query. + * @param n The number of elements to drop. + * @return Returns the slice of array. + */ + drop(array: List | null | undefined, n?: number): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.drop + */ + drop(this: LoDashImplicitWrapper | null | undefined>, n?: number): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.drop + */ + drop(this: LoDashExplicitWrapper | null | undefined>, n?: number): LoDashExplicitWrapper; + } + + // dropRight + + interface LoDashStatic { + /** + * Creates a slice of array with n elements dropped from the end. + * + * @param array The array to query. + * @param n The number of elements to drop. + * @return Returns the slice of array. + */ + dropRight( + array: List | null | undefined, + n?: number + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.dropRight + */ + dropRight(this: LoDashImplicitWrapper | null | undefined>, n?: number): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.dropRight + */ + dropRight(this: LoDashExplicitWrapper | null | undefined>, n?: number): LoDashExplicitWrapper; + } + + // dropRightWhile + + interface LoDashStatic { + /** + * Creates a slice of array excluding elements dropped from the end. Elements are dropped until predicate + * returns falsey. The predicate is bound to thisArg and invoked with three arguments: (value, index, array). + * + * If a property name is provided for predicate the created _.property style callback returns the property + * value of the given element. + * + * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for + * elements that have a matching property value, else false. + * + * If an object is provided for predicate the created _.matches style callback returns true for elements that + * match the properties of the given object, else false. + * + * @param array The array to query. + * @param predicate The function invoked per iteration. + * @param thisArg The this binding of predicate. + * @return Returns the slice of array. + */ + dropRightWhile( + array: List | null | undefined, + predicate?: ListIteratee + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.dropRightWhile + */ + dropRightWhile( + this: LoDashImplicitWrapper | null | undefined>, + predicate?: ListIteratee + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.dropRightWhile + */ + dropRightWhile( + this: LoDashExplicitWrapper | null | undefined>, + predicate?: ListIteratee + ): LoDashExplicitWrapper; + } + + // dropWhile + + interface LoDashStatic { + /** + * Creates a slice of array excluding elements dropped from the beginning. Elements are dropped until predicate + * returns falsey. The predicate is bound to thisArg and invoked with three arguments: (value, index, array). + * + * If a property name is provided for predicate the created _.property style callback returns the property + * value of the given element. + * + * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for + * elements that have a matching property value, else false. + * + * If an object is provided for predicate the created _.matches style callback returns true for elements that + * have the properties of the given object, else false. + * + * @param array The array to query. + * @param predicate The function invoked per iteration. + * @param thisArg The this binding of predicate. + * @return Returns the slice of array. + */ + dropWhile( + array: List | null | undefined, + predicate?: ListIteratee + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.dropWhile + */ + dropWhile( + this: LoDashImplicitWrapper | null | undefined>, + predicate?: ListIteratee + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.dropWhile + */ + dropWhile( + this: LoDashExplicitWrapper | null | undefined>, + predicate?: ListIteratee + ): LoDashExplicitWrapper; + } + + // fill + + interface LoDashStatic { + /** + * Fills elements of array with value from start up to, but not including, end. + * + * Note: This method mutates array. + * + * @param array The array to fill. + * @param value The value to fill array with. + * @param start The start position. + * @param end The end position. + * @return Returns array. + */ + fill( + array: any[] | null | undefined, + value: T + ): T[]; + + /** + * @see _.fill + */ + fill( + array: List | null | undefined, + value: T + ): List; + + /** + * @see _.fill + */ + fill( + array: U[] | null | undefined, + value: T, + start?: number, + end?: number + ): Array; + + /** + * @see _.fill + */ + fill( + array: List | null | undefined, + value: T, + start?: number, + end?: number + ): List; + } + + interface LoDashImplicitWrapper { + /** + * @see _.fill + */ + fill( + this: LoDashImplicitWrapper, + value: T + ): LoDashImplicitWrapper; + + /** + * @see _.fill + */ + fill( + this: LoDashImplicitWrapper | null | undefined>, + value: T + ): LoDashImplicitWrapper>; + + /** + * @see _.fill + */ + fill( + this: LoDashImplicitWrapper, + value: T, + start?: number, + end?: number + ): LoDashImplicitWrapper>; + + /** + * @see _.fill + */ + fill( + this: LoDashImplicitWrapper | null | undefined>, + value: T, + start?: number, + end?: number + ): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.fill + */ + fill( + this: LoDashExplicitWrapper, + value: T + ): LoDashExplicitWrapper; + + /** + * @see _.fill + */ + fill( + this: LoDashExplicitWrapper | null | undefined>, + value: T + ): LoDashExplicitWrapper>; + + /** + * @see _.fill + */ + fill( + this: LoDashExplicitWrapper, + value: T, + start?: number, + end?: number + ): LoDashExplicitWrapper>; + + /** + * @see _.fill + */ + fill( + this: LoDashExplicitWrapper | null | undefined>, + value: T, + start?: number, + end?: number + ): LoDashExplicitWrapper>; + } + + // findIndex + + interface LoDashStatic { + /** + * This method is like _.find except that it returns the index of the first element predicate returns truthy + * for instead of the element itself. + * + * If a property name is provided for predicate the created _.property style callback returns the property + * value of the given element. + * + * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for + * elements that have a matching property value, else false. + * + * If an object is provided for predicate the created _.matches style callback returns true for elements that + * have the properties of the given object, else false. + * + * @param array The array to search. + * @param predicate The function invoked per iteration. + * @param fromIndex The index to search from. + * @return Returns the index of the found element, else -1. + */ + findIndex( + array: List | null | undefined, + predicate?: ListIterateeCustom, + fromIndex?: number + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.findIndex + */ + findIndex( + this: LoDashImplicitWrapper | null | undefined>, + predicate?: ListIterateeCustom, + fromIndex?: number + ): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.findIndex + */ + findIndex( + this: LoDashExplicitWrapper | null | undefined>, + predicate?: ListIterateeCustom, + fromIndex?: number + ): LoDashExplicitWrapper; + } + + // findLastIndex + + interface LoDashStatic { + /** + * This method is like _.findIndex except that it iterates over elements of collection from right to left. + * + * If a property name is provided for predicate the created _.property style callback returns the property + * value of the given element. + * + * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for + * elements that have a matching property value, else false. + * + * If an object is provided for predicate the created _.matches style callback returns true for elements that + * have the properties of the given object, else false. + * + * @param array The array to search. + * @param predicate The function invoked per iteration. + * @param fromIndex The index to search from. + * @return Returns the index of the found element, else -1. + */ + findLastIndex( + array: List | null | undefined, + predicate?: ListIterateeCustom, + fromIndex?: number + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.findLastIndex + */ + findLastIndex( + this: LoDashImplicitWrapper | null | undefined>, + predicate?: ListIterateeCustom, + fromIndex?: number + ): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.findLastIndex + */ + findLastIndex( + this: LoDashExplicitWrapper | null | undefined>, + predicate?: ListIterateeCustom, + fromIndex?: number + ): LoDashExplicitWrapper; + } + + // first + + interface LoDashStatic { + first: typeof _.head; // tslint:disable-line:no-unnecessary-qualifier + } + + interface LoDashImplicitWrapper { + /** + * @see _.head + */ + first(this: LoDashImplicitWrapper | null | undefined>): T | undefined; + } + + interface LoDashExplicitWrapper { + /** + * @see _.head + */ + first(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; + } + + interface RecursiveArray extends Array> {} + interface ListOfRecursiveArraysOrValues extends List> {} + + // flatten + + interface LoDashStatic { + /** + * Flattens a nested array. If isDeep is true the array is recursively flattened, otherwise it’s only + * flattened a single level. + * + * @param array The array to flatten. + * @param isDeep Specify a deep flatten. + * @return Returns the new flattened array. + */ + flatten(array: ListOfRecursiveArraysOrValues | null | undefined, isDeep: boolean): T[]; + + /** + * @see _.flatten + */ + flatten(array: List> | null | undefined): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.flatten + */ + flatten(this: LoDashImplicitWrapper | null | undefined>, isDeep: boolean): LoDashImplicitWrapper; + + /** + * @see _.flatten + */ + flatten(this: LoDashImplicitWrapper> | null | undefined>): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.flatten + */ + flatten(this: LoDashExplicitWrapper | null | undefined>, isDeep: boolean): LoDashExplicitWrapper; + + /** + * @see _.flatten + */ + flatten(this: LoDashExplicitWrapper> | null | undefined>): LoDashExplicitWrapper; + } + + // flattenDeep + + interface LoDashStatic { + /** + * Recursively flattens a nested array. + * + * @param array The array to recursively flatten. + * @return Returns the new flattened array. + */ + flattenDeep(array: ListOfRecursiveArraysOrValues | null | undefined): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.flattenDeep + */ + flattenDeep(this: LoDashImplicitWrapper | null | undefined>): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.flattenDeep + */ + flattenDeep(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; + } + + // flattenDepth + + interface LoDashStatic { + /** + * Recursively flatten array up to depth times. + * + * @param array The array to recursively flatten. + * @param number The maximum recursion depth. + * @return Returns the new flattened array. + */ + flattenDepth(array: ListOfRecursiveArraysOrValues | null | undefined, depth?: number): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.flattenDeep + */ + flattenDepth(this: LoDashImplicitWrapper | null | undefined>, depth?: number): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.flattenDeep + */ + flattenDepth(this: LoDashExplicitWrapper | null | undefined>, depth?: number): LoDashExplicitWrapper; + } + + // fromPairs + + interface LoDashStatic { + /** + * The inverse of `_.toPairs`; this method returns an object composed + * from key-value `pairs`. + * + * @category Array + * @param pairs The key-value pairs. + * @returns Returns the new object. + * @example + * + * _.fromPairs([['fred', 30], ['barney', 40]]); + * // => { 'fred': 30, 'barney': 40 } + */ + fromPairs( + pairs: List<[PropertyName, T]> | null | undefined + ): Dictionary; + + /** + @see _.fromPairs + */ + fromPairs( + pairs: List | null | undefined + ): Dictionary; + } + + interface LoDashImplicitWrapper { + /** + * @see _.fromPairs + */ + fromPairs( + this: LoDashImplicitWrapper | null | undefined> + ): LoDashImplicitWrapper>; + + /** + @see _.fromPairs + */ + fromPairs( + this: LoDashImplicitWrapper | null | undefined> + ): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.fromPairs + */ + fromPairs( + this: LoDashExplicitWrapper | null | undefined> + ): LoDashExplicitWrapper>; + + /** + @see _.fromPairs + */ + fromPairs( + this: LoDashExplicitWrapper | null | undefined> + ): LoDashExplicitWrapper>; + } + + // head + + interface LoDashStatic { + /** + * Gets the first element of array. + * + * @alias _.first + * + * @param array The array to query. + * @return Returns the first element of array. + */ + head(array: List | null | undefined): T | undefined; + } + + interface LoDashImplicitWrapper { + /** + * @see _.head + */ + head(this: LoDashImplicitWrapper | null | undefined>): T | undefined; + } + + interface LoDashExplicitWrapper { + /** + * @see _.head + */ + head(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; + } + + // indexOf + + interface LoDashStatic { + /** + * Gets the index at which the first occurrence of `value` is found in `array` + * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) + * for equality comparisons. If `fromIndex` is negative, it's used as the offset + * from the end of `array`. If `array` is sorted providing `true` for `fromIndex` + * performs a faster binary search. + * + * @category Array + * @param array The array to search. + * @param value The value to search for. + * @param [fromIndex=0] The index to search from. + * @returns Returns the index of the matched value, else `-1`. + * @example + * + * _.indexOf([1, 2, 1, 2], 2); + * // => 1 + * + * // using `fromIndex` + * _.indexOf([1, 2, 1, 2], 2, 2); + * // => 3 + */ + indexOf( + array: List | null | undefined, + value: T, + fromIndex?: boolean|number + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.indexOf + */ + indexOf( + this: LoDashImplicitWrapper | null | undefined>, + value: T, + fromIndex?: boolean|number + ): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.indexOf + */ + indexOf( + this: LoDashExplicitWrapper | null | undefined>, + value: T, + fromIndex?: boolean|number + ): LoDashExplicitWrapper; + } + + // initial + + interface LoDashStatic { + /** + * Gets all but the last element of array. + * + * @param array The array to query. + * @return Returns the slice of array. + */ + initial(array: List | null | undefined): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.initial + */ + initial(this: LoDashImplicitWrapper | null | undefined>): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.initial + */ + initial(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; + } + + // intersection + + interface LoDashStatic { + /** + * Creates an array of unique values that are included in all of the provided arrays using SameValueZero for + * equality comparisons. + * + * @param arrays The arrays to inspect. + * @return Returns the new array of shared values. + */ + intersection(...arrays: Array>): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.intersection + */ + intersection( + this: LoDashImplicitWrapper>, + ...arrays: Array> + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.intersection + */ + intersection( + this: LoDashExplicitWrapper>, + ...arrays: Array> + ): LoDashExplicitWrapper; + } + + // intersectionBy + + interface LoDashStatic { + /** + * This method is like `_.intersection` except that it accepts `iteratee` + * which is invoked for each element of each `arrays` to generate the criterion + * by which uniqueness is computed. The iteratee is invoked with one argument: (value). + * + * @category Array + * @param [arrays] The arrays to inspect. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns the new array of shared values. + * @example + * + * _.intersectionBy([2.1, 1.2], [4.3, 2.4], Math.floor); + * // => [2.1] + * + * // using the `_.property` iteratee shorthand + * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }] + */ + intersectionBy( + array: List | null, + values: List, + iteratee: ValueIteratee + ): T1[]; + + /** + * @see _.intersectionBy + */ + intersectionBy( + array: List | null, + values1: List, + values2: List, + iteratee: ValueIteratee + ): T1[]; + + /** + * @see _.intersectionBy + */ + intersectionBy( + array: List | null | undefined, + values1: List, + values2: List, + ...values: Array | ValueIteratee> + ): T1[]; + + /** + * @see _.intersectionBy + */ + intersectionBy( + array?: List | null, + ...values: Array> + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.intersectionBy + */ + intersectionBy( + this: LoDashImplicitWrapper | null | undefined>, + values: List, + iteratee: ValueIteratee + ): LoDashImplicitWrapper; + + /** + * @see _.intersectionBy + */ + intersectionBy( + this: LoDashImplicitWrapper | null | undefined>, + values1: List, + values2: List, + iteratee: ValueIteratee + ): LoDashImplicitWrapper; + + /** + * @see _.intersectionBy + */ + intersectionBy( + this: LoDashImplicitWrapper | null | undefined>, + values1: List, + values2: List, + ...values: Array | ValueIteratee> + ): LoDashImplicitWrapper; + + /** + * @see _.intersectionBy + */ + intersectionBy( + this: LoDashImplicitWrapper | null | undefined>, + ...values: Array> + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.intersectionBy + */ + intersectionBy( + this: LoDashExplicitWrapper | null | undefined>, + values: List, + iteratee: ValueIteratee + ): LoDashExplicitWrapper; + + /** + * @see _.intersectionBy + */ + intersectionBy( + this: LoDashExplicitWrapper | null | undefined>, + values1: List, + values2: List, + iteratee: ValueIteratee + ): LoDashExplicitWrapper; + + /** + * @see _.intersectionBy + */ + intersectionBy( + this: LoDashExplicitWrapper | null | undefined>, + values1: List, + values2: List, + ...values: Array | ValueIteratee> + ): LoDashExplicitWrapper; + + /** + * @see _.intersectionBy + */ + intersectionBy( + this: LoDashExplicitWrapper | null | undefined>, + ...values: Array> + ): LoDashExplicitWrapper; + } + + // intersectionWith + + interface LoDashStatic { + /** + * Creates an array of unique `array` values not included in the other + * provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) + * for equality comparisons. + * + * @category Array + * @param [values] The arrays to inspect. + * @param [comparator] The comparator invoked per element. + * @returns Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + + * _.intersectionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }] + */ + intersectionWith( + array: List | null | undefined, + values: List, + comparator: Comparator2 + ): T1[]; + + /** + * @see _.intersectionWith + */ + intersectionWith( + array: List | null | undefined, + values1: List, + values2: List, + comparator: Comparator2 + ): T1[]; + + /** + * @see _.intersectionWith + */ + intersectionWith( + array: List | null | undefined, + values1: List, + values2: List, + ...values: Array | Comparator2> + ): T1[]; + + /** + * @see _.intersectionWith + */ + intersectionWith( + array?: List | null, + ...values: Array> + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.intersectionWith + */ + intersectionWith( + this: LoDashImplicitWrapper | null | undefined>, + values: List, + comparator: Comparator2 + ): LoDashImplicitWrapper; + + /** + * @see _.intersectionWith + */ + intersectionWith( + this: LoDashImplicitWrapper | null | undefined>, + values1: List, + values2: List, + comparator: Comparator2 + ): LoDashImplicitWrapper; + + /** + * @see _.intersectionWith + */ + intersectionWith( + this: LoDashImplicitWrapper | null | undefined>, + values1: List, + values2: List, + ...values: Array | Comparator2>, + ): LoDashImplicitWrapper; + + /** + * @see _.intersectionWith + */ + intersectionWith( + this: LoDashImplicitWrapper | null | undefined>, + ...values: Array> + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.intersectionWith + */ + intersectionWith( + this: LoDashExplicitWrapper | null | undefined>, + values: List, + comparator: Comparator2 + ): LoDashExplicitWrapper; + + /** + * @see _.intersectionWith + */ + intersectionWith( + this: LoDashExplicitWrapper | null | undefined>, + values1: List, + values2: List, + comparator: Comparator2 + ): LoDashExplicitWrapper; + + /** + * @see _.intersectionWith + */ + intersectionWith( + this: LoDashExplicitWrapper | null | undefined>, + values1: List, + values2: List, + ...values: Array | Comparator2>, + ): LoDashExplicitWrapper; + + /** + * @see _.intersectionWith + */ + intersectionWith( + this: LoDashExplicitWrapper | null | undefined>, + ...values: Array> + ): LoDashExplicitWrapper; + } + + // join + + interface LoDashStatic { + /** + * Converts all elements in `array` into a string separated by `separator`. + * + * @param array The array to convert. + * @param separator The element separator. + * @returns Returns the joined string. + */ + join( + array: List | null | undefined, + separator?: string + ): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.join + */ + join(separator?: string): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.join + */ + join(separator?: string): LoDashExplicitWrapper; + } + + // last + + interface LoDashStatic { + /** + * Gets the last element of array. + * + * @param array The array to query. + * @return Returns the last element of array. + */ + last(array: List | null | undefined): T | undefined; + } + + interface LoDashImplicitWrapper { + /** + * @see _.last + */ + last(this: LoDashImplicitWrapper | null | undefined>): T | undefined; + } + + interface LoDashExplicitWrapper { + /** + * @see _.last + */ + last(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; + } + + // lastIndexOf + + interface LoDashStatic { + /** + * This method is like _.indexOf except that it iterates over elements of array from right to left. + * + * @param array The array to search. + * @param value The value to search for. + * @param fromIndex The index to search from or true to perform a binary search on a sorted array. + * @return Returns the index of the matched value, else -1. + */ + lastIndexOf( + array: List | null | undefined, + value: T, + fromIndex?: true|number + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.indexOf + */ + lastIndexOf( + this: LoDashImplicitWrapper | null | undefined>, + value: T, + fromIndex?: true|number + ): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.indexOf + */ + lastIndexOf( + this: LoDashExplicitWrapper | null | undefined>, + value: T, + fromIndex?: true|number + ): LoDashExplicitWrapper; + } + + // nth + + interface LoDashStatic { + /** + * Gets the element at index `n` of `array`. If `n` is negative, the nth element from the end is returned. + * + * @param array array The array to query. + * @param value The index of the element to return. + * @return Returns the nth element of `array`. + */ + nth( + array: List | null | undefined, + n?: number + ): T | undefined; + } + + interface LoDashImplicitWrapper { + /** + * @see _.nth + */ + nth( + this: LoDashImplicitWrapper | null | undefined>, + n?: number + ): T | undefined; + } + + interface LoDashExplicitWrapper { + /** + * @see _.nth + */ + nth( + this: LoDashExplicitWrapper | null | undefined>, + n?: number + ): LoDashExplicitWrapper; + } + + // pull + + interface LoDashStatic { + /** + * Removes all provided values from array using SameValueZero for equality comparisons. + * + * Note: Unlike _.without, this method mutates array. + * + * @param array The array to modify. + * @param values The values to remove. + * @return Returns array. + */ + pull( + array: T[], + ...values: T[] + ): T[]; + + /** + * @see _.pull + */ + pull( + array: List, + ...values: T[] + ): List; + } + + interface LoDashImplicitWrapper { + /** + * @see _.pull + */ + pull( + this: LoDashImplicitWrapper>, + ...values: T[] + ): this; + } + + interface LoDashExplicitWrapper { + /** + * @see _.pull + */ + pull( + this: LoDashExplicitWrapper>, + ...values: T[] + ): this; + } + + // pullAll + + interface LoDashStatic { + /** + * This method is like `_.pull` except that it accepts an array of values to remove. + * + * **Note:** Unlike `_.difference`, this method mutates `array`. + * + * @category Array + * @param array The array to modify. + * @param values The values to remove. + * @returns Returns `array`. + * @example + * + * var array = [1, 2, 3, 1, 2, 3]; + * + * _.pull(array, [2, 3]); + * console.log(array); + * // => [1, 1] + */ + pullAll( + array: T[], + values?: List, + ): T[]; + + /** + * @see _.pullAll + */ + pullAll( + array: List, + values?: List, + ): List; + } + + interface LoDashImplicitWrapper { + /** + * @see _.pullAll + */ + pullAll( + this: LoDashImplicitWrapper>, + values?: List + ): this; + } + + interface LoDashExplicitWrapper { + /** + * @see _.pullAll + */ + pullAll( + this: LoDashExplicitWrapper>, + values?: List + ): this; + } + + // pullAllBy + + interface LoDashStatic { + /** + * This method is like `_.pullAll` except that it accepts `iteratee` which is + * invoked for each element of `array` and `values` to to generate the criterion + * by which uniqueness is computed. The iteratee is invoked with one argument: (value). + * + * **Note:** Unlike `_.differenceBy`, this method mutates `array`. + * + * @category Array + * @param array The array to modify. + * @param values The values to remove. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns `array`. + * @example + * + * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }]; + * + * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x'); + * console.log(array); + * // => [{ 'x': 2 }] + */ + pullAllBy( + array: T[], + values?: List, + iteratee?: ValueIteratee + ): T[]; + + /** + * @see _.pullAllBy + */ + pullAllBy( + array: List, + values?: List, + iteratee?: ValueIteratee + ): List; + + /** + * @see _.pullAllBy + */ + pullAllBy( + array: T1[], + values: List, + iteratee: ValueIteratee + ): T1[]; + + /** + * @see _.pullAllBy + */ + pullAllBy( + array: List, + values: List, + iteratee: ValueIteratee + ): List; + } + + interface LoDashWrapper { + /** + * @see _.pullAllBy + */ + pullAllBy( + this: LoDashWrapper>, + values?: List, + iteratee?: ValueIteratee + ): this; + + /** + * @see _.pullAllBy + */ + pullAllBy( + this: LoDashWrapper>, + values: List, + iteratee: ValueIteratee + ): this; + } + + // pullAllWith + + interface LoDashStatic { + /** + * This method is like `_.pullAll` except that it accepts `comparator` which is + * invoked to compare elements of array to values. The comparator is invoked with + * two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.differenceWith`, this method mutates `array`. + * + * @category Array + * @param array The array to modify. + * @param values The values to remove. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns `array`. + * @example + * + * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }]; + * + * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual); + * console.log(array); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }] + */ + pullAllWith( + array: T[], + values?: List, + comparator?: Comparator + ): T[]; + + /** + * @see _.pullAllWith + */ + pullAllWith( + array: List, + values?: List, + comparator?: Comparator + ): List; + + /** + * @see _.pullAllWith + */ + pullAllWith( + array: T1[], + values: List, + comparator: Comparator2 + ): T1[]; + + /** + * @see _.pullAllWith + */ + pullAllWith( + array: List, + values: List, + comparator: Comparator2 + ): List; + } + + interface LoDashWrapper { + /** + * @see _.pullAllWith + */ + pullAllWith( + this: LoDashWrapper>, + values?: List, + comparator?: Comparator + ): this; + + /** + * @see _.pullAllWith + */ + pullAllWith( + this: LoDashWrapper>, + values: List, + comparator: Comparator2 + ): this; + } + + // pullAt + + interface LoDashStatic { + /** + * Removes elements from array corresponding to the given indexes and returns an array of the removed elements. + * Indexes may be specified as an array of indexes or as individual arguments. + * + * Note: Unlike _.at, this method mutates array. + * + * @param array The array to modify. + * @param indexes The indexes of elements to remove, specified as individual indexes or arrays of indexes. + * @return Returns the new array of removed elements. + */ + pullAt( + array: T[], + ...indexes: Array> + ): T[]; + + /** + * @see _.pullAt + */ + pullAt( + array: List, + ...indexes: Array> + ): List; + } + + interface LoDashWrapper { + /** + * @see _.pullAt + */ + pullAt(...indexes: Array>): this; + } + + // remove + + interface LoDashStatic { + /** + * Removes all elements from array that predicate returns truthy for and returns an array of the removed + * elements. The predicate is bound to thisArg and invoked with three arguments: (value, index, array). + * + * If a property name is provided for predicate the created _.property style callback returns the property + * value of the given element. + * + * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for + * elements that have a matching property value, else false. + * + * If an object is provided for predicate the created _.matches style callback returns true for elements that + * have the properties of the given object, else false. + * + * Note: Unlike _.filter, this method mutates array. + * + * @param array The array to modify. + * @param predicate The function invoked per iteration. + * @param thisArg The this binding of predicate. + * @return Returns the new array of removed elements. + */ + remove( + array: List, + predicate?: ListIteratee + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.remove + */ + remove( + this: LoDashImplicitWrapper>, + predicate?: ListIteratee + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.remove + */ + remove( + this: LoDashExplicitWrapper>, + predicate?: ListIteratee + ): LoDashExplicitWrapper; + } + + // reverse + + interface LoDashStatic { + /** + * Reverses `array` so that the first element becomes the last, the second + * element becomes the second to last, and so on. + * + * **Note:** This method mutates `array` and is based on + * [`Array#reverse`](https://mdn.io/Array/reverse). + * + * @category Array + * @returns Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.reverse(array); + * // => [3, 2, 1] + * + * console.log(array); + * // => [3, 2, 1] + */ + reverse>( + array: TList, + ): TList; + } + + // slice + + interface LoDashStatic { + /** + * Creates a slice of array from start up to, but not including, end. + * + * @param array The array to slice. + * @param start The start position. + * @param end The end position. + * @return Returns the slice of array. + */ + slice( + array: List | null | undefined, + start?: number, + end?: number + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.slice + */ + slice( + this: LoDashImplicitWrapper | null | undefined>, + start?: number, + end?: number + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.slice + */ + slice( + this: LoDashExplicitWrapper | null | undefined>, + start?: number, + end?: number + ): LoDashExplicitWrapper; + } + + // sortedIndex + + interface LoDashStatic { + /** + * Uses a binary search to determine the lowest index at which `value` should + * be inserted into `array` in order to maintain its sort order. + * + * @category Array + * @param array The sorted array to inspect. + * @param value The value to evaluate. + * @returns Returns the index at which `value` should be inserted into `array`. + * @example + * + * _.sortedIndex([30, 50], 40); + * // => 1 + * + * _.sortedIndex([4, 5], 4); + * // => 0 + */ + sortedIndex( + array: List | null | undefined, + value: T + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.sortedIndex + */ + sortedIndex( + this: LoDashImplicitWrapper | null | undefined>, + value: T + ): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.sortedIndex + */ + sortedIndex( + this: LoDashExplicitWrapper | null | undefined>, + value: T + ): LoDashExplicitWrapper; + } + + // sortedIndexBy + + interface LoDashStatic { + /** + * Uses a binary search to determine the lowest index at which `value` should + * be inserted into `array` in order to maintain its sort order. + * + * @category Array + * @param array The sorted array to inspect. + * @param value The value to evaluate. + * @returns Returns the index at which `value` should be inserted into `array`. + * @example + * + * _.sortedIndex([30, 50], 40); + * // => 1 + * + * _.sortedIndex([4, 5], 4); + * // => 0 + */ + sortedIndex( + array: List | null | undefined, + value: T + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.sortedIndex + */ + sortedIndex( + this: LoDashImplicitWrapper | null | undefined>, + value: T + ): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.sortedIndex + */ + sortedIndex( + this: LoDashExplicitWrapper | null | undefined>, + value: T + ): LoDashExplicitWrapper; + } + + // _.sortedIndexBy + interface LoDashStatic { + /** + * This method is like `_.sortedIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @category Array + * @param array The sorted array to inspect. + * @param value The value to evaluate. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns the index at which `value` should be inserted into `array`. + * @example + * + * var dict = { 'thirty': 30, 'forty': 40, 'fifty': 50 }; + * + * _.sortedIndexBy(['thirty', 'fifty'], 'forty', _.propertyOf(dict)); + * // => 1 + * + * // using the `_.property` iteratee shorthand + * _.sortedIndexBy([{ 'x': 4 }, { 'x': 5 }], { 'x': 4 }, 'x'); + * // => 0 + */ + sortedIndexBy( + array: List | null | undefined, + value: T, + iteratee?: ValueIteratee + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.sortedIndexBy + */ + sortedIndexBy( + this: LoDashImplicitWrapper | null | undefined>, + value: T, + iteratee?: ValueIteratee + ): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.sortedIndexBy + */ + sortedIndexBy( + this: LoDashExplicitWrapper | null | undefined>, + value: T, + iteratee?: ValueIteratee + ): LoDashExplicitWrapper; + } + + // sortedIndexOf + + interface LoDashStatic { + /** + * This method is like `_.indexOf` except that it performs a binary + * search on a sorted `array`. + * + * @category Array + * @param array The array to search. + * @param value The value to search for. + * @returns Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedIndexOf([1, 1, 2, 2], 2); + * // => 2 + */ + sortedIndexOf( + array: List | null | undefined, + value: T + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.sortedIndexOf + */ + sortedIndexOf( + this: LoDashImplicitWrapper | null | undefined>, + value: T + ): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.sortedIndexOf + */ + sortedIndexOf( + this: LoDashExplicitWrapper | null | undefined>, + value: T + ): LoDashExplicitWrapper; + } + + // sortedLastIndex + + interface LoDashStatic { + /** + * This method is like `_.sortedIndex` except that it returns the highest + * index at which `value` should be inserted into `array` in order to + * maintain its sort order. + * + * @category Array + * @param array The sorted array to inspect. + * @param value The value to evaluate. + * @returns Returns the index at which `value` should be inserted into `array`. + * @example + * + * _.sortedLastIndex([4, 5], 4); + * // => 1 + */ + sortedLastIndex( + array: List | null | undefined, + value: T + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.sortedLastIndex + */ + sortedLastIndex( + this: LoDashImplicitWrapper | null | undefined>, + value: T + ): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.sortedLastIndex + */ + sortedLastIndex( + this: LoDashExplicitWrapper | null | undefined>, + value: T + ): LoDashExplicitWrapper; + } + + // sortedLastIndexBy + + interface LoDashStatic { + /** + * This method is like `_.sortedLastIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @category Array + * @param array The sorted array to inspect. + * @param value The value to evaluate. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns the index at which `value` should be inserted into `array`. + * @example + * + * // using the `_.property` iteratee shorthand + * _.sortedLastIndexBy([{ 'x': 4 }, { 'x': 5 }], { 'x': 4 }, 'x'); + * // => 1 + */ + sortedLastIndexBy( + array: List | null | undefined, + value: T, + iteratee: ValueIteratee + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.sortedLastIndexBy + */ + sortedLastIndexBy( + this: LoDashImplicitWrapper | null | undefined>, + value: T, + iteratee: ValueIteratee + ): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.sortedLastIndexBy + */ + sortedLastIndexBy( + this: LoDashExplicitWrapper | null | undefined>, + value: T, + iteratee: ValueIteratee + ): LoDashExplicitWrapper; + } + + // sortedLastIndexOf + + interface LoDashStatic { + /** + * This method is like `_.lastIndexOf` except that it performs a binary + * search on a sorted `array`. + * + * @category Array + * @param array The array to search. + * @param value The value to search for. + * @returns Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedLastIndexOf([1, 1, 2, 2], 2); + * // => 3 + */ + sortedLastIndexOf( + array: List | null | undefined, + value: T + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.sortedLastIndexOf + */ + sortedLastIndexOf( + this: LoDashImplicitWrapper | null | undefined>, + value: T + ): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.sortedLastIndexOf + */ + sortedLastIndexOf( + this: LoDashExplicitWrapper | null | undefined>, + value: T + ): LoDashExplicitWrapper; + } + + // sortedUniq + + interface LoDashStatic { + /** + * This method is like `_.uniq` except that it's designed and optimized + * for sorted arrays. + * + * @category Array + * @param array The array to inspect. + * @returns Returns the new duplicate free array. + * @example + * + * _.sortedUniq([1, 1, 2]); + * // => [1, 2] + */ + sortedUniq( + array: List | null | undefined + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.sortedUniq + */ + sortedUniq(this: LoDashImplicitWrapper | null | undefined>): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.sortedUniq + */ + sortedUniq(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; + } + + // sortedUniqBy + + interface LoDashStatic { + /** + * This method is like `_.uniqBy` except that it's designed and optimized + * for sorted arrays. + * + * @category Array + * @param array The array to inspect. + * @param [iteratee] The iteratee invoked per element. + * @returns Returns the new duplicate free array. + * @example + * + * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor); + * // => [1.1, 2.2] + */ + sortedUniqBy( + array: string | null | undefined, + iteratee: StringIterator + ): string[]; + + /** + * @see _.sortedUniqBy + */ + sortedUniqBy( + array: List | null | undefined, + iteratee: ListIteratee + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.sortedUniqBy + */ + sortedUniqBy( + this: LoDashImplicitWrapper, + iteratee: StringIterator + ): LoDashImplicitWrapper; + + /** + * @see _.sortedUniqBy + */ + sortedUniqBy( + this: LoDashImplicitWrapper | null | undefined>, + iteratee: ListIteratee + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.sortedUniqBy + */ + sortedUniqBy( + this: LoDashExplicitWrapper, + iteratee: StringIterator + ): LoDashExplicitWrapper; + + /** + * @see _.sortedUniqBy + */ + sortedUniqBy( + this: LoDashExplicitWrapper | null | undefined>, + iteratee: ListIteratee + ): LoDashExplicitWrapper; + } + + // tail + + interface LoDashStatic { + /** + * Gets all but the first element of array. + * + * @param array The array to query. + * @return Returns the slice of array. + */ + tail(array: List | null | undefined): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.tail + */ + tail(this: LoDashImplicitWrapper | null | undefined>): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.tail + */ + tail(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; + } + + // take + + interface LoDashStatic { + /** + * Creates a slice of array with n elements taken from the beginning. + * + * @param array The array to query. + * @param n The number of elements to take. + * @return Returns the slice of array. + */ + take( + array: List | null | undefined, + n?: number + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.take + */ + take( + this: LoDashImplicitWrapper | null | undefined>, + n?: number + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.take + */ + take( + this: LoDashExplicitWrapper | null | undefined>, + n?: number + ): LoDashExplicitWrapper; + } + + // takeRight + + interface LoDashStatic { + /** + * Creates a slice of array with n elements taken from the end. + * + * @param array The array to query. + * @param n The number of elements to take. + * @return Returns the slice of array. + */ + takeRight( + array: List | null | undefined, + n?: number + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.takeRight + */ + takeRight( + this: LoDashImplicitWrapper | null | undefined>, + n?: number + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.takeRight + */ + takeRight( + this: LoDashExplicitWrapper | null | undefined>, + n?: number + ): LoDashExplicitWrapper; + } + + // takeRightWhile + + interface LoDashStatic { + /** + * Creates a slice of array with elements taken from the end. Elements are taken until predicate returns + * falsey. The predicate is bound to thisArg and invoked with three arguments: (value, index, array). + * + * If a property name is provided for predicate the created _.property style callback returns the property + * value of the given element. + * + * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for + * elements that have a matching property value, else false. + * + * If an object is provided for predicate the created _.matches style callback returns true for elements that + * have the properties of the given object, else false. + * + * @param array The array to query. + * @param predicate The function invoked per iteration. + * @param thisArg The this binding of predicate. + * @return Returns the slice of array. + */ + takeRightWhile( + array: List | null | undefined, + predicate?: ListIteratee + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.takeRightWhile + */ + takeRightWhile( + this: LoDashImplicitWrapper | null | undefined>, + predicate?: ListIteratee + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.takeRightWhile + */ + takeRightWhile( + this: LoDashExplicitWrapper | null | undefined>, + predicate?: ListIteratee + ): LoDashExplicitWrapper; + } + + // takeWhile + + interface LoDashStatic { + /** + * Creates a slice of array with elements taken from the beginning. Elements are taken until predicate returns + * falsey. The predicate is bound to thisArg and invoked with three arguments: (value, index, array). + * + * If a property name is provided for predicate the created _.property style callback returns the property + * value of the given element. + * + * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for + * elements that have a matching property value, else false. + * + * If an object is provided for predicate the created _.matches style callback returns true for elements that + * have the properties of the given object, else false. + * + * @param array The array to query. + * @param predicate The function invoked per iteration. + * @param thisArg The this binding of predicate. + * @return Returns the slice of array. + */ + takeWhile( + array: List | null | undefined, + predicate?: ListIteratee + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.takeWhile + */ + takeWhile( + this: LoDashImplicitWrapper | null | undefined>, + predicate?: ListIteratee + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.takeWhile + */ + takeWhile( + this: LoDashExplicitWrapper | null | undefined>, + predicate?: ListIteratee + ): LoDashExplicitWrapper; + } + + // union + + interface LoDashStatic { + /** + * Creates an array of unique values, in order, from all of the provided arrays using SameValueZero for + * equality comparisons. + * + * @param arrays The arrays to inspect. + * @return Returns the new array of combined values. + */ + union(...arrays: Array | null | undefined>): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.union + */ + union( + this: LoDashImplicitWrapper | null | undefined>, + ...arrays: Array | null | undefined> + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.union + */ + union( + this: LoDashExplicitWrapper | null | undefined>, + ...arrays: Array | null | undefined> + ): LoDashExplicitWrapper; + } + + // unionBy + + interface LoDashStatic { + /** + * This method is like `_.union` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by which + * uniqueness is computed. The iteratee is invoked with one argument: (value). + * + * @param arrays The arrays to inspect. + * @param iteratee The iteratee invoked per element. + * @return Returns the new array of combined values. + */ + unionBy( + arrays: List | null | undefined, + iteratee?: ValueIteratee + ): T[]; + + /** + * @see _.unionBy + */ + unionBy( + arrays1: List | null | undefined, + arrays2: List | null | undefined, + iteratee?: ValueIteratee + ): T[]; + + /** + * @see _.unionBy + */ + unionBy( + arrays1: List | null | undefined, + arrays2: List | null | undefined, + arrays3: List | null | undefined, + iteratee?: ValueIteratee + ): T[]; + + /** + * @see _.unionBy + */ + unionBy( + arrays1: List | null | undefined, + arrays2: List | null | undefined, + arrays3: List | null | undefined, + arrays4: List | null | undefined, + iteratee?: ValueIteratee + ): T[]; + + /** + * @see _.unionBy + */ + unionBy( + arrays1: List | null | undefined, + arrays2: List | null | undefined, + arrays3: List | null | undefined, + arrays4: List | null | undefined, + arrays5: List | null | undefined, + ...iteratee: Array | List | null | undefined> + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.unionBy + */ + unionBy( + this: LoDashImplicitWrapper | null | undefined>, + iteratee?: ValueIteratee + ): LoDashImplicitWrapper; + + /** + * @see _.unionBy + */ + unionBy( + this: LoDashImplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + iteratee?: ValueIteratee + ): LoDashImplicitWrapper; + + /** + * @see _.unionBy + */ + unionBy( + this: LoDashImplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + arrays3: List | null | undefined, + iteratee?: ValueIteratee + ): LoDashImplicitWrapper; + + /** + * @see _.unionBy + */ + unionBy( + this: LoDashImplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + arrays3: List | null | undefined, + arrays4: List | null | undefined, + iteratee?: ValueIteratee + ): LoDashImplicitWrapper; + + /** + * @see _.unionBy + */ + unionBy( + this: LoDashImplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + arrays3: List | null | undefined, + arrays4: List | null | undefined, + arrays5: List | null | undefined, + ...iteratee: Array | List | null | undefined> + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.unionBy + */ + unionBy( + this: LoDashExplicitWrapper | null | undefined>, + iteratee?: ValueIteratee + ): LoDashExplicitWrapper; + + /** + * @see _.unionBy + */ + unionBy( + this: LoDashExplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + iteratee?: ValueIteratee + ): LoDashExplicitWrapper; + + /** + * @see _.unionBy + */ + unionBy( + this: LoDashExplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + arrays3: List | null | undefined, + iteratee?: ValueIteratee + ): LoDashExplicitWrapper; + + /** + * @see _.unionBy + */ + unionBy( + this: LoDashExplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + arrays3: List | null | undefined, + arrays4: List | null | undefined, + iteratee?: ValueIteratee + ): LoDashExplicitWrapper; + + /** + * @see _.unionBy + */ + unionBy( + this: LoDashExplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + arrays3: List | null | undefined, + arrays4: List | null | undefined, + arrays5: List | null | undefined, + ...iteratee: Array | List | null | undefined> + ): LoDashExplicitWrapper; + } + + // unionWith + + interface LoDashStatic { + /** + * This method is like `_.union` except that it accepts `comparator` which + * is invoked to compare elements of `arrays`. The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @category Array + * @param [arrays] The arrays to inspect. + * @param [comparator] The comparator invoked per element. + * @returns Returns the new array of combined values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.unionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ + unionWith( + arrays: List | null | undefined, + comparator?: Comparator + ): T[]; + + /** + * @see _.unionBy + */ + unionWith( + arrays: List | null | undefined, + arrays2: List | null | undefined, + comparator?: Comparator + ): T[]; + + /** + * @see _.unionWith + */ + unionWith( + arrays: List | null | undefined, + arrays2: List | null | undefined, + arrays3: List | null | undefined, + ...comparator: Array | List | null | undefined> + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.unionWith + */ + unionWith( + this: LoDashImplicitWrapper | null | undefined>, + comparator?: Comparator + ): LoDashImplicitWrapper; + + /** + * @see _.unionWith + */ + unionWith( + this: LoDashImplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + comparator?: Comparator + ): LoDashImplicitWrapper; + + /** + * @see _.unionWith + */ + unionWith( + this: LoDashImplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + arrays3: List | null | undefined, + ...comparator: Array | List | null | undefined> + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.unionWith + */ + unionWith( + this: LoDashExplicitWrapper | null | undefined>, + comparator?: Comparator + ): LoDashExplicitWrapper; + + /** + * @see _.unionWith + */ + unionWith( + this: LoDashExplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + comparator?: Comparator + ): LoDashExplicitWrapper; + + /** + * @see _.unionWith + */ + unionWith( + this: LoDashExplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + arrays3: List | null | undefined, + ...comparator: Array | List | null | undefined> + ): LoDashExplicitWrapper; + } + + // uniq + + interface LoDashStatic { + /** + * Creates a duplicate-free version of an array, using + * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) + * for equality comparisons, in which only the first occurrence of each element + * is kept. + * + * @category Array + * @param array The array to inspect. + * @returns Returns the new duplicate free array. + * @example + * + * _.uniq([2, 1, 2]); + * // => [2, 1] + */ + uniq( + array: List | null | undefined + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.uniq + */ + uniq(this: LoDashImplicitWrapper | null | undefined>): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.uniq + */ + uniq(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; + } + + // uniqBy + + interface LoDashStatic { + /** + * This method is like `_.uniq` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * uniqueness is computed. The iteratee is invoked with one argument: (value). + * + * @category Array + * @param array The array to inspect. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns the new duplicate free array. + * @example + * + * _.uniqBy([2.1, 1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // using the `_.property` iteratee shorthand + * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + uniqBy( + array: string | null | undefined, + iteratee: StringIterator + ): string[]; + + /** + * @see _.uniqBy + */ + uniqBy( + array: List | null | undefined, + iteratee: ListIteratee + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.uniqBy + */ + uniqBy( + this: LoDashImplicitWrapper, + iteratee: StringIterator + ): LoDashImplicitWrapper; + + /** + * @see _.uniqBy + */ + uniqBy( + this: LoDashImplicitWrapper | null | undefined>, + iteratee: ListIteratee + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.uniqBy + */ + uniqBy( + this: LoDashExplicitWrapper, + iteratee: StringIterator + ): LoDashExplicitWrapper; + + /** + * @see _.uniqBy + */ + uniqBy( + this: LoDashExplicitWrapper | null | undefined>, + iteratee: ListIteratee + ): LoDashExplicitWrapper; + } + + // uniqWith + + interface LoDashStatic { + /** + * This method is like `_.uniq` except that it accepts `comparator` which + * is invoked to compare elements of `array`. The comparator is invoked with + * two arguments: (arrVal, othVal). + * + * @category Array + * @param array The array to inspect. + * @param [comparator] The comparator invoked per element. + * @returns Returns the new duplicate free array. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.uniqWith(objects, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }] + */ + uniqWith( + array: List | null | undefined, + comparator?: Comparator + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.uniqWith + */ + uniqWith( + this: LoDashImplicitWrapper | null | undefined>, + comparator?: Comparator + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.uniqWith + */ + uniqWith( + this: LoDashExplicitWrapper | null | undefined>, + comparator?: Comparator + ): LoDashExplicitWrapper; + } + + // unzip + + interface LoDashStatic { + /** + * This method is like _.zip except that it accepts an array of grouped elements and creates an array + * regrouping the elements to their pre-zip configuration. + * + * @param array The array of grouped elements to process. + * @return Returns the new array of regrouped elements. + */ + unzip(array: T[][] | List> | null | undefined): T[][]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.unzip + */ + unzip(this: LoDashImplicitWrapper> | null | undefined>): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.unzip + */ + unzip(this: LoDashExplicitWrapper> | null | undefined>): LoDashExplicitWrapper; + } + + // unzipWith + + interface LoDashStatic { + /** + * This method is like _.unzip except that it accepts an iteratee to specify how regrouped values should be + * combined. The iteratee is bound to thisArg and invoked with four arguments: (accumulator, value, index, + * group). + * + * @param array The array of grouped elements to process. + * @param iteratee The function to combine regrouped values. + * @param thisArg The this binding of iteratee. + * @return Returns the new array of regrouped elements. + */ + unzipWith( + array: List> | null | undefined, + iteratee: (...values: T[]) => TResult + ): TResult[]; + + /** + * @see _.unzipWith + */ + unzipWith( + array: List> | null | undefined + ): T[][]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.unzipWith + */ + unzipWith( + this: LoDashImplicitWrapper> | null | undefined>, + iteratee: (...values: T[]) => TResult + ): LoDashImplicitWrapper; + + /** + * @see _.unzipWith + */ + unzipWith( + this: LoDashImplicitWrapper> | null | undefined> + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.unzipWith + */ + unzipWith( + this: LoDashExplicitWrapper> | null | undefined>, + iteratee: (...values: T[]) => TResult + ): LoDashExplicitWrapper; + + /** + * @see _.unzipWith + */ + unzipWith( + this: LoDashExplicitWrapper> | null | undefined> + ): LoDashExplicitWrapper; + } + + // without + + interface LoDashStatic { + /** + * Creates an array excluding all provided values using SameValueZero for equality comparisons. + * + * @param array The array to filter. + * @param values The values to exclude. + * @return Returns the new array of filtered values. + */ + without( + array: List | null | undefined, + ...values: T[] + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.without + */ + without( + this: LoDashImplicitWrapper | null | undefined>, + ...values: T[] + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.without + */ + without( + this: LoDashExplicitWrapper | null | undefined>, + ...values: T[] + ): LoDashExplicitWrapper; + } + + // xor + + interface LoDashStatic { + /** + * Creates an array of unique values that is the symmetric difference of the provided arrays. + * + * @param arrays The arrays to inspect. + * @return Returns the new array of values. + */ + xor(...arrays: Array | null | undefined>): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.xor + */ + xor( + this: LoDashImplicitWrapper | null | undefined>, + ...arrays: Array | null | undefined> + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.xor + */ + xor( + this: LoDashExplicitWrapper | null | undefined>, + ...arrays: Array | null | undefined> + ): LoDashExplicitWrapper; + } + + // xorBy + + interface LoDashStatic { + /** + * This method is like `_.xor` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by which + * uniqueness is computed. The iteratee is invoked with one argument: (value). + * + * @category Array + * @param [arrays] The arrays to inspect. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns the new array of values. + * @example + * + * _.xorBy([2.1, 1.2], [4.3, 2.4], Math.floor); + * // => [1.2, 4.3] + * + * // using the `_.property` iteratee shorthand + * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ + xorBy( + arrays: List | null | undefined, + iteratee?: ValueIteratee + ): T[]; + + /** + * @see _.xorBy + */ + xorBy( + arrays: List | null | undefined, + arrays2: List | null | undefined, + iteratee?: ValueIteratee + ): T[]; + + /** + * @see _.xorBy + */ + xorBy( + arrays: List | null | undefined, + arrays2: List | null | undefined, + arrays3: List | null | undefined, + ...iteratee: Array | List | null | undefined> + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.xor + */ + xorBy( + this: LoDashImplicitWrapper | null | undefined>, + iteratee?: ValueIteratee + ): LoDashImplicitWrapper; + + /** + * @see _.xorBy + */ + xorBy( + this: LoDashImplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + iteratee?: ValueIteratee + ): LoDashImplicitWrapper; + + /** + * @see _.xorBy + */ + xorBy( + this: LoDashImplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + arrays3: List | null | undefined, + ...iteratee: Array | List | null | undefined> + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.xorBy + */ + xorBy( + this: LoDashExplicitWrapper | null | undefined>, + iteratee?: ValueIteratee + ): LoDashExplicitWrapper; + + /** + * @see _.xorBy + */ + xorBy( + this: LoDashExplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + iteratee?: ValueIteratee + ): LoDashExplicitWrapper; + + /** + * @see _.xorBy + */ + xorBy( + this: LoDashExplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + arrays3: List | null | undefined, + ...iteratee: Array | List | null | undefined> + ): LoDashExplicitWrapper; + } + + // xorWith + + interface LoDashStatic { + /** + * This method is like `_.xor` except that it accepts `comparator` which is + * invoked to compare elements of `arrays`. The comparator is invoked with + * two arguments: (arrVal, othVal). + * + * @category Array + * @param [arrays] The arrays to inspect. + * @param [comparator] The comparator invoked per element. + * @returns Returns the new array of values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.xorWith(objects, others, _.isEqual); + * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ + xorWith( + arrays: List | null | undefined, + comparator?: Comparator + ): T[]; + + /** + * @see _.xorWith + */ + xorWith( + arrays: List | null | undefined, + arrays2: List | null | undefined, + comparator?: Comparator + ): T[]; + + /** + * @see _.xorWith + */ + xorWith( + arrays: List | null | undefined, + arrays2: List | null | undefined, + arrays3: List | null | undefined, + ...comparator: Array | List | null | undefined> + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.xorWith + */ + xorWith( + this: LoDashImplicitWrapper | null | undefined>, + comparator?: Comparator + ): LoDashImplicitWrapper; + + /** + * @see _.xorWith + */ + xorWith( + this: LoDashImplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + comparator?: Comparator + ): LoDashImplicitWrapper; + + /** + * @see _.xorWith + */ + xorWith( + this: LoDashImplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + arrays3: List | null | undefined, + ...comparator: Array | List | null | undefined> + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.xorWith + */ + xorWith( + this: LoDashExplicitWrapper | null | undefined>, + comparator?: Comparator + ): LoDashExplicitWrapper; + + /** + * @see _.xorWith + */ + xorWith( + this: LoDashExplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + comparator?: Comparator + ): LoDashExplicitWrapper; + + /** + * @see _.xorWith + */ + xorWith( + this: LoDashExplicitWrapper | null | undefined>, + arrays2: List | null | undefined, + arrays3: List | null | undefined, + ...comparator: Array | List | null | undefined> + ): LoDashExplicitWrapper; + } + + // zip + + interface LoDashStatic { + /** + * Creates an array of grouped elements, the first of which contains the first elements of the given arrays, + * the second of which contains the second elements of the given arrays, and so on. + * + * @param arrays The arrays to process. + * @return Returns the new array of grouped elements. + */ + zip(arrays1: List, arrays2: List): Array<[T1 | undefined, T2 | undefined]>; + + /** + * @see _.zip + */ + zip(arrays1: List, arrays2: List, arrays3: List): Array<[T1 | undefined, T2 | undefined, T3 | undefined]>; + + /** + * @see _.zip + */ + zip(arrays1: List, arrays2: List, arrays3: List, arrays4: List): Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined]>; + + /** + * @see _.zip + */ + zip(arrays1: List, arrays2: List, arrays3: List, arrays4: List, arrays5: List): Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined, T5 | undefined]>; + + /** + * @see _.zip + */ + zip(...arrays: Array | null | undefined>): (T | undefined)[][]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.zip + */ + zip( + this: LoDashImplicitWrapper>, + arrays2: List, + ): LoDashImplicitWrapper>; + + /** + * @see _.zip + */ + zip( + this: LoDashImplicitWrapper>, + arrays2: List, + arrays3: List, + ): LoDashImplicitWrapper>; + + /** + * @see _.zip + */ + zip( + this: LoDashImplicitWrapper>, + arrays2: List, + arrays3: List, + arrays4: List, + ): LoDashImplicitWrapper>; + + /** + * @see _.zip + */ + zip( + this: LoDashImplicitWrapper>, + arrays2: List, + arrays3: List, + arrays4: List, + arrays5: List, + ): LoDashImplicitWrapper>; + + /** + * @see _.zip + */ + zip( + this: LoDashImplicitWrapper | null | undefined>, + ...arrays: Array | null | undefined> + ): LoDashImplicitWrapper>>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.zip + */ + zip( + this: LoDashExplicitWrapper>, + arrays2: List, + ): LoDashExplicitWrapper>; + + /** + * @see _.zip + */ + zip( + this: LoDashExplicitWrapper>, + arrays2: List, + arrays3: List, + ): LoDashExplicitWrapper>; + + /** + * @see _.zip + */ + zip( + this: LoDashExplicitWrapper>, + arrays2: List, + arrays3: List, + arrays4: List, + ): LoDashExplicitWrapper>; + + /** + * @see _.zip + */ + zip( + this: LoDashExplicitWrapper>, + arrays2: List, + arrays3: List, + arrays4: List, + arrays5: List, + ): LoDashExplicitWrapper>; + + /** + * @see _.zip + */ + zip( + this: LoDashExplicitWrapper | null | undefined>, + ...arrays: Array | null | undefined> + ): LoDashExplicitWrapper>>; + } + + // zipObject + + interface LoDashStatic { + /** + * This method is like _.fromPairs except that it accepts two arrays, one of property + * identifiers and one of corresponding values. + * + * @param props The property names. + * @param values The property values. + * @return Returns the new object. + */ + zipObject( + props: List, + values: List + ): Dictionary; + + /** + * @see _.zipObject + */ + zipObject( + props?: List + ): Dictionary; + } + + interface LoDashImplicitWrapper { + /** + * @see _.zipObject + */ + zipObject( + this: LoDashImplicitWrapper>, + values: List + ): LoDashImplicitWrapper>; + + /** + * @see _.zipObject + */ + zipObject( + this: LoDashImplicitWrapper> + ): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.zipObject + */ + zipObject( + this: LoDashExplicitWrapper>, + values: List + ): LoDashExplicitWrapper>; + + /** + * @see _.zipObject + */ + zipObject( + this: LoDashExplicitWrapper> + ): LoDashExplicitWrapper>; + } + + // zipObjectDeep + + interface LoDashStatic { + /** + * This method is like _.zipObject except that it supports property paths. + * + * @param paths The property names. + * @param values The property values. + * @return Returns the new object. + */ + zipObjectDeep( + paths?: List, + values?: List + ): object; + } + + interface LoDashImplicitWrapper { + /** + * @see _.zipObjectDeep + */ + zipObjectDeep( + this: LoDashImplicitWrapper>, + values?: List + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.zipObjectDeep + */ + zipObjectDeep( + this: LoDashExplicitWrapper>, + values?: List + ): LoDashExplicitWrapper; + } + + // zipWith + + interface LoDashStatic { + /** + * This method is like _.zip except that it accepts an iteratee to specify how grouped values should be + * combined. The iteratee is bound to thisArg and invoked with four arguments: (accumulator, value, index, + * group). + * @param [arrays] The arrays to process. + * @param [iteratee] The function to combine grouped values. + * @param [thisArg] The `this` binding of `iteratee`. + * @return Returns the new array of grouped elements. + */ + zipWith( + arrays: List, + iteratee: (value1: T) => TResult + ): TResult[]; + + /** + * @see _.zipWith + */ + zipWith( + arrays1: List, + arrays2: List, + iteratee: (value1: T1, value2: T2) => TResult + ): TResult[]; + + /** + * @see _.zipWith + */ + zipWith( + arrays1: List, + arrays2: List, + arrays3: List, + iteratee: (value1: T1, value2: T2, value3: T3) => TResult + ): TResult[]; + + /** + * @see _.zipWith + */ + zipWith( + arrays1: List, + arrays2: List, + arrays3: List, + arrays4: List, + iteratee: (value1: T1, value2: T2, value3: T3, value4: T4) => TResult + ): TResult[]; + + /** + * @see _.zipWith + */ + zipWith( + arrays1: List, + arrays2: List, + arrays3: List, + arrays4: List, + arrays5: List, + iteratee: (value1: T1, value2: T2, value3: T3, value4: T4, value5: T5) => TResult + ): TResult[]; + + /** + * @see _.zipWith + */ + zipWith( + ...iteratee: Array<((...group: T[]) => TResult) | List | null | undefined> + ): TResult[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.zipWith + */ + zipWith( + this: LoDashImplicitWrapper>, + iteratee: (value1: T) => TResult + ): LoDashImplicitWrapper; + + /** + * @see _.zipWith + */ + zipWith( + this: LoDashImplicitWrapper>, + arrays2: List, + iteratee: (value1: T1, value2: T2) => TResult + ): LoDashImplicitWrapper; + + /** + * @see _.zipWith + */ + zipWith( + this: LoDashImplicitWrapper>, + arrays2: List, + arrays3: List, + iteratee: (value1: T1, value2: T2, value3: T3) => TResult + ): LoDashImplicitWrapper; + + /** + * @see _.zipWith + */ + zipWith( + this: LoDashImplicitWrapper>, + arrays2: List, + arrays3: List, + arrays4: List, + iteratee: (value1: T1, value2: T2, value3: T3, value4: T4) => TResult + ): LoDashImplicitWrapper; + + /** + * @see _.zipWith + */ + zipWith( + this: LoDashImplicitWrapper>, + arrays2: List, + arrays3: List, + arrays4: List, + arrays5: List, + iteratee: (value1: T1, value2: T2, value3: T3, value4: T4, value5: T5) => TResult + ): LoDashImplicitWrapper; + + /** + * @see _.zipWith + */ + zipWith( + this: LoDashImplicitWrapper | null | undefined>, + ...iteratee: Array<((...group: T[]) => TResult) | List | null | undefined> + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.zipWith + */ + zipWith( + this: LoDashExplicitWrapper>, + iteratee: (value1: T) => TResult + ): LoDashExplicitWrapper; + + /** + * @see _.zipWith + */ + zipWith( + this: LoDashExplicitWrapper>, + arrays2: List, + iteratee: (value1: T1, value2: T2) => TResult + ): LoDashExplicitWrapper; + + /** + * @see _.zipWith + */ + zipWith( + this: LoDashExplicitWrapper>, + arrays2: List, + arrays3: List, + iteratee: (value1: T1, value2: T2, value3: T3) => TResult + ): LoDashExplicitWrapper; + + /** + * @see _.zipWith + */ + zipWith( + this: LoDashExplicitWrapper>, + arrays2: List, + arrays3: List, + arrays4: List, + iteratee: (value1: T1, value2: T2, value3: T3, value4: T4) => TResult + ): LoDashExplicitWrapper; + + /** + * @see _.zipWith + */ + zipWith( + this: LoDashExplicitWrapper>, + arrays2: List, + arrays3: List, + arrays4: List, + arrays5: List, + iteratee: (value1: T1, value2: T2, value3: T3, value4: T4, value5: T5) => TResult + ): LoDashExplicitWrapper; + + /** + * @see _.zipWith + */ + zipWith( + this: LoDashExplicitWrapper | null | undefined>, + ...iteratee: Array<((...group: T[]) => TResult) | List | null | undefined> + ): LoDashExplicitWrapper; + } +} \ No newline at end of file diff --git a/types/lodash/common/collection.d.ts b/types/lodash/common/collection.d.ts new file mode 100644 index 0000000000..31e5b1c212 --- /dev/null +++ b/types/lodash/common/collection.d.ts @@ -0,0 +1,3091 @@ +import _ = require("../index"); +declare module "../index" { + // countBy + + interface LoDashStatic { + /** + * Creates an object composed of keys generated from the results of running each element of collection through + * iteratee. The corresponding value of each key is the number of times the key was returned by iteratee. The + * iteratee is bound to thisArg and invoked with three arguments: + * (value, index|key, collection). + * + * If a property name is provided for iteratee the created _.property style callback returns the property + * value of the given element. + * + * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for + * elements that have a matching property value, else false. + * + * If an object is provided for iteratee the created _.matches style callback returns true for elements that + * have the properties of the given object, else false. + * + * @param collection The collection to iterate over. + * @param iteratee The function invoked per iteration. + * @param thisArg The this binding of iteratee. + * @return Returns the composed aggregate object. + */ + countBy( + collection: string | null | undefined, + iteratee?: StringIterator + ): Dictionary; + + /** + * @see _.countBy + */ + countBy( + collection: List | null | undefined, + iteratee?: ListIteratee + ): Dictionary; + + /** + * @see _.countBy + */ + countBy( + collection: NumericDictionary | null | undefined, + iteratee?: NumericDictionaryIteratee + ): Dictionary; + + /** + * @see _.countBy + */ + countBy( + collection: T | null | undefined, + iteratee?: ObjectIteratee + ): Dictionary; + } + + interface LoDashImplicitWrapper { + /** + * @see _.countBy + */ + countBy( + this: LoDashImplicitWrapper, + iteratee?: StringIterator + ): LoDashImplicitWrapper>; + + /** + * @see _.countBy + */ + countBy( + this: LoDashImplicitWrapper | null | undefined>, + iteratee?: ListIteratee + ): LoDashImplicitWrapper>; + + /** + * @see _.countBy + */ + countBy( + this: LoDashImplicitWrapper, + iteratee?: ObjectIteratee + ): LoDashImplicitWrapper>; + + /** + * @see _.countBy + */ + countBy( + this: LoDashImplicitWrapper | null | undefined>, + iteratee?: NumericDictionaryIteratee + ): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.countBy + */ + countBy( + this: LoDashExplicitWrapper, + iteratee?: StringIterator + ): LoDashExplicitWrapper>; + + /** + * @see _.countBy + */ + countBy( + this: LoDashExplicitWrapper | null | undefined>, + iteratee?: ListIteratee + ): LoDashExplicitWrapper>; + + /** + * @see _.countBy + */ + countBy( + this: LoDashExplicitWrapper, + iteratee?: ObjectIteratee + ): LoDashExplicitWrapper>; + + /** + * @see _.countBy + */ + countBy( + this: LoDashExplicitWrapper | null | undefined>, + iteratee?: NumericDictionaryIteratee + ): LoDashExplicitWrapper>; + } + + // each + + interface LoDashStatic { + each: typeof _.forEach; // tslint:disable-line:no-unnecessary-qualifier + } + + interface LoDashWrapper { + /** + * @see _.forEach + */ + each( + this: LoDashWrapper, + iteratee?: ArrayIterator + ): this; + + /** + * @see _.forEach + */ + each( + this: LoDashWrapper, + iteratee?: StringIterator + ): this; + + /** + * @see _.forEach + */ + each( + this: LoDashWrapper | null | undefined>, + iteratee?: ListIterator + ): this; + + /** + * @see _.forEach + */ + each( + this: LoDashWrapper, + iteratee?: ObjectIterator + ): this; + } + + // eachRight + + interface LoDashStatic { + eachRight: typeof _.forEachRight; // tslint:disable-line:no-unnecessary-qualifier + } + + interface LoDashWrapper { + /** + * @see _.forEachRight + */ + eachRight( + this: LoDashWrapper, + iteratee?: ArrayIterator + ): this; + + /** + * @see _.forEachRight + */ + eachRight( + this: LoDashWrapper, + iteratee?: StringIterator + ): this; + + /** + * @see _.forEachRight + */ + eachRight( + this: LoDashWrapper | null | undefined>, + iteratee?: ListIterator + ): this; + + /** + * @see _.forEachRight + */ + eachRight( + this: LoDashWrapper, + iteratee?: ObjectIterator + ): this; + } + + // every + + interface LoDashStatic { + /** + * Checks if predicate returns truthy for all elements of collection. Iteration is stopped once predicate + * returns falsey. The predicate is invoked with three arguments: (value, index|key, collection). + * + * @param collection The collection to iterate over. + * @param predicate The function invoked per iteration. + * @return Returns true if all elements pass the predicate check, else false. + */ + every( + collection: List | null | undefined, + predicate?: ListIterateeCustom + ): boolean; + + /** + * @see _.every + */ + every( + collection: NumericDictionary | null | undefined, + predicate?: NumericDictionaryIterateeCustom + ): boolean; + + /** + * @see _.every + */ + every( + collection: T | null | undefined, + predicate?: ObjectIterateeCustom + ): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.every + */ + every( + this: LoDashImplicitWrapper | null | undefined>, + predicate?: ListIterateeCustom + ): boolean; + + /** + * @see _.every + */ + every( + this: LoDashImplicitWrapper, + predicate?: ObjectIterateeCustom + ): boolean; + + /** + * @see _.every + */ + every( + this: LoDashImplicitWrapper | null | undefined>, + predicate?: NumericDictionaryIterateeCustom + ): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.every + */ + every( + this: LoDashExplicitWrapper | null | undefined>, + predicate?: ListIterateeCustom + ): LoDashExplicitWrapper; + + /** + * @see _.every + */ + every( + this: LoDashExplicitWrapper, + predicate?: ObjectIterateeCustom + ): LoDashExplicitWrapper; + + /** + * @see _.every + */ + every( + this: LoDashExplicitWrapper | null | undefined>, + predicate?: NumericDictionaryIterateeCustom + ): LoDashExplicitWrapper; + } + + // filter + + interface LoDashStatic { + /** + * Iterates over elements of collection, returning an array of all elements predicate returns truthy for. The + * predicate is bound to thisArg and invoked with three arguments: (value, index|key, collection). + * + * If a property name is provided for predicate the created _.property style callback returns the property + * value of the given element. + * + * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for + * elements that have a matching property value, else false. + * + * If an object is provided for predicate the created _.matches style callback returns true for elements that + * have the properties of the given object, else false. + * + * @param collection The collection to iterate over. + * @param predicate The function invoked per iteration. + * @param thisArg The this binding of predicate. + * @return Returns the new filtered array. + */ + filter( + collection: string | null | undefined, + predicate?: StringIterator + ): string[]; + + /** + * @see _.filter + */ + filter( + collection: List | null | undefined, + predicate: ListIteratorTypeGuard + ): S[]; + + /** + * @see _.filter + */ + filter( + collection: List | null | undefined, + predicate?: ListIterateeCustom + ): T[]; + + /** + * @see _.filter + */ + filter( + collection: T | null | undefined, + predicate: ObjectIteratorTypeGuard + ): S[]; + + /** + * @see _.filter + */ + filter( + collection: T | null | undefined, + predicate?: ObjectIterateeCustom + ): Array; + } + + interface LoDashImplicitWrapper { + /** + * @see _.filter + */ + filter( + this: LoDashImplicitWrapper, + predicate?: StringIterator + ): LoDashImplicitWrapper; + + /** + * @see _.filter + */ + filter( + this: LoDashImplicitWrapper | null | undefined>, + predicate: ListIteratorTypeGuard + ): LoDashImplicitWrapper; + + /** + * @see _.filter + */ + filter( + this: LoDashImplicitWrapper | null | undefined>, + predicate?: ListIterateeCustom + ): LoDashImplicitWrapper; + + /** + * @see _.filter + */ + filter( + this: LoDashImplicitWrapper, + predicate: ObjectIteratorTypeGuard + ): LoDashImplicitWrapper; + + /** + * @see _.filter + */ + filter( + this: LoDashImplicitWrapper, + predicate?: ObjectIterateeCustom + ): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.filter + */ + filter( + this: LoDashExplicitWrapper, + predicate?: StringIterator + ): LoDashExplicitWrapper; + + /** + * @see _.filter + */ + filter( + this: LoDashExplicitWrapper | null | undefined>, + predicate: ListIteratorTypeGuard + ): LoDashExplicitWrapper; + + /** + * @see _.filter + */ + filter( + this: LoDashExplicitWrapper | null | undefined>, + predicate?: ListIterateeCustom + ): LoDashExplicitWrapper; + + /** + * @see _.filter + */ + filter( + this: LoDashExplicitWrapper, + predicate: ObjectIteratorTypeGuard + ): LoDashExplicitWrapper; + + /** + * @see _.filter + */ + filter( + this: LoDashExplicitWrapper, + predicate?: ObjectIterateeCustom + ): LoDashExplicitWrapper>; + } + + // find + + interface LoDashStatic { + /** + * Iterates over elements of collection, returning the first element predicate returns truthy for. + * The predicate is bound to thisArg and invoked with three arguments: (value, index|key, collection). + * + * If a property name is provided for predicate the created _.property style callback returns the property + * value of the given element. + * + * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for + * elements that have a matching property value, else false. + * + * If an object is provided for predicate the created _.matches style callback returns true for elements that + * have the properties of the given object, else false. + * + * @param collection The collection to search. + * @param predicate The function invoked per iteration. + * @param fromIndex The index to search from. + * @return Returns the matched element, else undefined. + */ + find( + collection: List | null | undefined, + predicate: ListIteratorTypeGuard, + fromIndex?: number + ): S|undefined; + + /** + * @see _.find + */ + find( + collection: List | null | undefined, + predicate?: ListIterateeCustom, + fromIndex?: number + ): T|undefined; + + /** + * @see _.find + */ + find( + collection: T | null | undefined, + predicate: ObjectIteratorTypeGuard, + fromIndex?: number + ): S|undefined; + + /** + * @see _.find + */ + find( + collection: T | null | undefined, + predicate?: ObjectIterateeCustom, + fromIndex?: number + ): T[keyof T]|undefined; + } + + interface LoDashImplicitWrapper { + /** + * @see _.find + */ + find( + this: LoDashImplicitWrapper | null | undefined>, + predicate: ListIteratorTypeGuard, + fromIndex?: number + ): S|undefined; + + /** + * @see _.find + */ + find( + this: LoDashImplicitWrapper | null | undefined>, + predicate?: ListIterateeCustom, + fromIndex?: number + ): T|undefined; + + /** + * @see _.find + */ + find( + this: LoDashImplicitWrapper, + predicate: ObjectIteratorTypeGuard, + fromIndex?: number + ): S|undefined; + + /** + * @see _.find + */ + find( + this: LoDashImplicitWrapper, + predicate?: ObjectIterateeCustom, + fromIndex?: number + ): T[keyof T]|undefined; + } + + interface LoDashExplicitWrapper { + /** + * @see _.find + */ + find( + this: LoDashExplicitWrapper | null | undefined>, + predicate: ListIteratorTypeGuard, + fromIndex?: number + ): LoDashExplicitWrapper; + + /** + * @see _.find + */ + find( + this: LoDashExplicitWrapper | null | undefined>, + predicate?: ListIterateeCustom, + fromIndex?: number + ): LoDashExplicitWrapper; + + /** + * @see _.find + */ + find( + this: LoDashExplicitWrapper, + predicate: ObjectIteratorTypeGuard, + fromIndex?: number + ): LoDashExplicitWrapper; + + /** + * @see _.find + */ + find( + this: LoDashExplicitWrapper, + predicate?: ObjectIterateeCustom, + fromIndex?: number + ): LoDashExplicitWrapper; + } + + // findLast + + interface LoDashStatic { + /** + * This method is like _.find except that it iterates over elements of a collection from + * right to left. + * @param collection Searches for a value in this list. + * @param predicate The function called per iteration. + * @param fromIndex The index to search from. + * @return The found element, else undefined. + **/ + findLast( + collection: List | null | undefined, + predicate: ListIteratorTypeGuard, + fromIndex?: number + ): S|undefined; + + /** + * @see _.findLast + */ + findLast( + collection: List | null | undefined, + predicate?: ListIterateeCustom, + fromIndex?: number + ): T|undefined; + + /** + * @see _.findLast + */ + findLast( + collection: T | null | undefined, + predicate: ObjectIteratorTypeGuard, + fromIndex?: number + ): S|undefined; + + /** + * @see _.findLast + */ + findLast( + collection: T | null | undefined, + predicate?: ObjectIterateeCustom, + fromIndex?: number + ): T[keyof T]|undefined; + } + + interface LoDashImplicitWrapper { + /** + * @see _.findLast + */ + findLast( + this: LoDashImplicitWrapper | null | undefined>, + predicate: ListIteratorTypeGuard, + fromIndex?: number + ): S | undefined; + + /** + * @see _.findLast + */ + findLast( + this: LoDashImplicitWrapper | null | undefined>, + predicate?: ListIterateeCustom, + fromIndex?: number + ): T | undefined; + + /** + * @see _.findLast + */ + findLast( + this: LoDashImplicitWrapper, + predicate: ObjectIteratorTypeGuard, + fromIndex?: number + ): S|undefined; + + /** + * @see _.findLast + */ + findLast( + this: LoDashImplicitWrapper, + predicate?: ObjectIterateeCustom, + fromIndex?: number + ): T[keyof T]|undefined; + } + + interface LoDashExplicitWrapper { + /** + * @see _.findLast + */ + findLast( + this: LoDashExplicitWrapper | null | undefined>, + predicate: ListIteratorTypeGuard, + fromIndex?: number + ): LoDashExplicitWrapper; + + /** + * @see _.findLast + */ + findLast( + this: LoDashExplicitWrapper | null | undefined>, + predicate?: ListIterateeCustom, + fromIndex?: number + ): LoDashExplicitWrapper; + + /** + * @see _.findLast + */ + findLast( + this: LoDashExplicitWrapper, + predicate: ObjectIteratorTypeGuard, + fromIndex?: number + ): LoDashExplicitWrapper; + + /** + * @see _.findLast + */ + findLast( + this: LoDashExplicitWrapper, + predicate?: ObjectIterateeCustom, + fromIndex?: number + ): LoDashExplicitWrapper; + } + + // flatMap + + interface LoDashStatic { + /** + * Creates an array of flattened values by running each element in collection through iteratee + * and concating its result to the other mapped values. The iteratee is invoked with three arguments: + * (value, index|key, collection). + * + * @param collection The collection to iterate over. + * @param iteratee The function invoked per iteration. + * @return Returns the new flattened array. + */ + flatMap( + collection: List> | Dictionary> | NumericDictionary> | null | undefined + ): T[]; + + /** + * @see _.flatMap + */ + flatMap( + collection: object | null | undefined + ): any[]; + + /** + * @see _.flatMap + */ + flatMap( + collection: List | null | undefined, + iteratee: ListIterator> + ): TResult[]; + + /** + * @see _.flatMap + */ + flatMap( + collection: NumericDictionary | null | undefined, + iteratee: NumericDictionaryIterator> + ): TResult[]; + + /** + * @see _.flatMap + */ + flatMap( + collection: T | null | undefined, + iteratee: ObjectIterator> + ): TResult[]; + + /** + * @see _.flatMap + */ + flatMap( + collection: object | null | undefined, + iteratee: string + ): any[]; + + /** + * @see _.flatMap + */ + flatMap( + collection: object | null | undefined, + iteratee: object + ): boolean[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.flatMap + */ + flatMap(this: LoDashImplicitWrapper> | Dictionary> | NumericDictionary> | null | undefined>): LoDashImplicitWrapper; + + /** + * @see _.flatMap + */ + flatMap(): LoDashImplicitWrapper; + + /** + * @see _.flatMap + */ + flatMap( + this: LoDashImplicitWrapper | null | undefined>, + iteratee: ListIterator> + ): LoDashImplicitWrapper; + + /** + * @see _.flatMap + */ + flatMap( + this: LoDashImplicitWrapper, + iteratee: ObjectIterator> + ): LoDashImplicitWrapper; + + /** + * @see _.flatMap + */ + flatMap( + this: LoDashImplicitWrapper | null | undefined>, + iteratee: NumericDictionaryIterator> + ): LoDashImplicitWrapper; + + /** + * @see _.flatMap + */ + flatMap( + iteratee: string + ): LoDashImplicitWrapper; + + /** + * @see _.flatMap + */ + flatMap( + iteratee: object + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.flatMap + */ + flatMap(this: LoDashExplicitWrapper> | Dictionary> | NumericDictionary> | null | undefined>): LoDashExplicitWrapper; + + /** + * @see _.flatMap + */ + flatMap(): LoDashExplicitWrapper; + + /** + * @see _.flatMap + */ + flatMap( + this: LoDashExplicitWrapper | null | undefined>, + iteratee: ListIterator> + ): LoDashExplicitWrapper; + + /** + * @see _.flatMap + */ + flatMap( + this: LoDashExplicitWrapper | null | undefined>, + iteratee: NumericDictionaryIterator> + ): LoDashExplicitWrapper; + + /** + * @see _.flatMap + */ + flatMap( + this: LoDashExplicitWrapper, + iteratee: ObjectIterator> + ): LoDashExplicitWrapper; + + /** + * @see _.flatMap + */ + flatMap( + iteratee: string + ): LoDashExplicitWrapper; + + /** + * @see _.flatMap + */ + flatMap( + iteratee: object + ): LoDashExplicitWrapper; + } + + // flatMapDeep + + interface LoDashStatic { + /** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results. + * + * @since 4.7.0 + * @category Collection + * @param collection The collection to iterate over. + * @param [iteratee=_.identity] The function invoked per iteration. + * @returns Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDeep([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ + flatMapDeep( + collection: List | T> | Dictionary | T> | NumericDictionary | T> | null | undefined + ): T[]; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + collection: List | null | undefined, + iteratee: ListIterator | TResult> + ): TResult[]; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + collection: NumericDictionary | null | undefined, + iteratee: NumericDictionaryIterator | TResult> + ): TResult[]; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + collection: T | null | undefined, + iteratee: ObjectIterator | TResult> + ): TResult[]; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + collection: object | null | undefined, + iteratee: string + ): any[]; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + collection: object | null | undefined, + iteratee: object + ): boolean[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.flatMapDeep + */ + flatMapDeep( + this: LoDashImplicitWrapper | T> | Dictionary | T> | NumericDictionary | T> | null | undefined> + ): LoDashImplicitWrapper; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + this: LoDashImplicitWrapper | null | undefined>, + iteratee: ListIterator | TResult> + ): LoDashImplicitWrapper; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + this: LoDashImplicitWrapper | null | undefined>, + iteratee: NumericDictionaryIterator | TResult> + ): LoDashImplicitWrapper; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + this: LoDashImplicitWrapper, + iteratee: ObjectIterator | TResult> + ): LoDashImplicitWrapper; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + this: LoDashImplicitWrapper, + iteratee: string + ): LoDashImplicitWrapper; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + this: LoDashImplicitWrapper, + iteratee: object + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.flatMapDeep + */ + flatMapDeep( + this: LoDashExplicitWrapper | T> | Dictionary | T> | NumericDictionary | T> | null | undefined> + ): LoDashExplicitWrapper; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + this: LoDashExplicitWrapper | null | undefined>, + iteratee: ListIterator | TResult> + ): LoDashExplicitWrapper; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + this: LoDashExplicitWrapper | null | undefined>, + iteratee: NumericDictionaryIterator | TResult> + ): LoDashExplicitWrapper; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + this: LoDashExplicitWrapper, + iteratee: ObjectIterator | TResult> + ): LoDashExplicitWrapper; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + this: LoDashExplicitWrapper, + iteratee: string + ): LoDashExplicitWrapper; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + this: LoDashExplicitWrapper, + iteratee: object + ): LoDashExplicitWrapper; + } + + // flatMapDepth + + interface LoDashStatic { + /** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results up to `depth` times. + * + * @since 4.7.0 + * @category Collection + * @param collection The collection to iterate over. + * @param [iteratee=_.identity] The function invoked per iteration. + * @param [depth=1] The maximum recursion depth. + * @returns Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDepth([1, 2], duplicate, 2); + * // => [[1, 1], [2, 2]] + */ + flatMapDepth( + collection: List | T> | Dictionary | T> | NumericDictionary | T> | null | undefined + ): T[]; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + collection: List | null | undefined, + iteratee: ListIterator | TResult>, + depth?: number + ): TResult[]; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + collection: NumericDictionary | null | undefined, + iteratee: NumericDictionaryIterator | TResult>, + depth?: number + ): TResult[]; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + collection: T | null | undefined, + iteratee: ObjectIterator | TResult>, + depth?: number + ): TResult[]; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + collection: object | null | undefined, + iteratee: string, + depth?: number + ): any[]; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + collection: object | null | undefined, + iteratee: object, + depth?: number + ): boolean[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.flatMapDepth + */ + flatMapDepth( + this: LoDashImplicitWrapper | T> | Dictionary | T> | NumericDictionary | T> | null | undefined> + ): LoDashImplicitWrapper; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + this: LoDashImplicitWrapper | null | undefined>, + iteratee: ListIterator | TResult>, + depth?: number + ): LoDashImplicitWrapper; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + this: LoDashImplicitWrapper | null | undefined>, + iteratee: NumericDictionaryIterator | TResult>, + depth?: number + ): LoDashImplicitWrapper; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + this: LoDashImplicitWrapper, + iteratee: ObjectIterator | TResult>, + depth?: number + ): LoDashImplicitWrapper; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + this: LoDashImplicitWrapper, + iteratee: string, + depth?: number + ): LoDashImplicitWrapper; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + this: LoDashImplicitWrapper, + iteratee: object, + depth?: number + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.flatMapDepth + */ + flatMapDepth( + this: LoDashExplicitWrapper | T> | Dictionary | T> | NumericDictionary | T> | null | undefined> + ): LoDashExplicitWrapper; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + this: LoDashExplicitWrapper | null | undefined>, + iteratee: ListIterator | TResult>, + depth?: number + ): LoDashExplicitWrapper; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + this: LoDashExplicitWrapper | null | undefined>, + iteratee: NumericDictionaryIterator | TResult>, + depth?: number + ): LoDashExplicitWrapper; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + this: LoDashExplicitWrapper, + iteratee: ObjectIterator | TResult>, + depth?: number + ): LoDashExplicitWrapper; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + this: LoDashExplicitWrapper, + iteratee: string, + depth?: number + ): LoDashExplicitWrapper; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + this: LoDashExplicitWrapper, + iteratee: object, + depth?: number + ): LoDashExplicitWrapper; + } + + // forEach + + interface LoDashStatic { + /** + * Iterates over elements of collection invoking iteratee for each element. The iteratee is bound to thisArg + * and invoked with three arguments: + * (value, index|key, collection). Iteratee functions may exit iteration early by explicitly returning false. + * + * Note: As with other "Collections" methods, objects with a "length" property are iterated like arrays. To + * avoid this behavior _.forIn or _.forOwn may be used for object iteration. + * + * @alias _.each + * + * @param collection The collection to iterate over. + * @param iteratee The function invoked per iteration. + * @param thisArg The this binding of iteratee. + */ + forEach( + collection: T[], + iteratee?: ArrayIterator + ): T[]; + + /** + * @see _.forEach + */ + forEach( + collection: string, + iteratee?: StringIterator + ): string; + + /** + * @see _.forEach + */ + forEach( + collection: List, + iteratee?: ListIterator + ): List; + + /** + * @see _.forEach + */ + forEach( + collection: T, + iteratee?: ObjectIterator + ): T; + + /** + * @see _.forEach + */ + forEach( + collection: TArray & (T[] | null | undefined), + iteratee?: ArrayIterator + ): TArray; + + /** + * @see _.forEach + */ + forEach( + collection: TString, + iteratee?: StringIterator + ): TString; + + /** + * @see _.forEach + */ + forEach | null | undefined>( + collection: TList & (List | null | undefined), + iteratee?: ListIterator + ): TList; + + /** + * @see _.forEach + */ + forEach( + collection: T | null | undefined, + iteratee?: ObjectIterator + ): T | null | undefined; + } + + interface LoDashWrapper { + /** + * @see _.forEach + */ + forEach( + this: LoDashWrapper, + iteratee?: ArrayIterator + ): this; + + /** + * @see _.forEach + */ + forEach( + this: LoDashWrapper, + iteratee?: StringIterator + ): this; + + /** + * @see _.forEach + */ + forEach( + this: LoDashWrapper | null | undefined>, + iteratee?: ListIterator + ): this; + + /** + * @see _.forEach + */ + forEach( + this: LoDashWrapper, + iteratee?: ObjectIterator + ): this; + } + + // forEachRight + + interface LoDashStatic { + /** + * This method is like _.forEach except that it iterates over elements of collection from right to left. + * + * @alias _.eachRight + * + * @param collection The collection to iterate over. + * @param iteratee The function called per iteration. + * @param thisArg The this binding of callback. + */ + forEachRight( + collection: T[], + iteratee?: ArrayIterator + ): T[]; + + /** + * @see _.forEachRight + */ + forEachRight( + collection: string, + iteratee?: StringIterator + ): string; + + /** + * @see _.forEachRight + */ + forEachRight( + collection: List, + iteratee?: ListIterator + ): List; + + /** + * @see _.forEachRight + */ + forEachRight( + collection: T, + iteratee?: ObjectIterator + ): T; + + /** + * @see _.forEachRight + */ + forEachRight( + collection: TArray & (T[] | null | undefined), + iteratee?: ArrayIterator + ): TArray; + + /** + * @see _.forEachRight + */ + forEachRight( + collection: TString, + iteratee?: StringIterator + ): TString; + + /** + * @see _.forEachRight + */ + forEachRight | null | undefined>( + collection: TList & (List | null | undefined), + iteratee?: ListIterator + ): TList; + + /** + * @see _.forEachRight + */ + forEachRight( + collection: T | null | undefined, + iteratee?: ObjectIterator + ): T | null | undefined; + } + + interface LoDashWrapper { + /** + * @see _.forEachRight + */ + forEachRight( + this: LoDashWrapper, + iteratee?: ArrayIterator + ): this; + + /** + * @see _.forEachRight + */ + forEachRight( + this: LoDashWrapper, + iteratee?: StringIterator + ): this; + + /** + * @see _.forEachRight + */ + forEachRight( + this: LoDashWrapper | null | undefined>, + iteratee?: ListIterator + ): this; + + /** + * @see _.forEachRight + */ + forEachRight( + this: LoDashWrapper, + iteratee?: ObjectIterator + ): this; + } + + // groupBy + + interface LoDashStatic { + /** + * Creates an object composed of keys generated from the results of running each element of collection through + * iteratee. The corresponding value of each key is an array of the elements responsible for generating the + * key. The iteratee is bound to thisArg and invoked with three arguments: + * (value, index|key, collection). + * + * If a property name is provided for iteratee the created _.property style callback returns the property + * value of the given element. + * + * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for + * elements that have a matching property value, else false. + * + * If an object is provided for iteratee the created _.matches style callback returns true for elements that + * have the properties of the given object, else false. + * + * @param collection The collection to iterate over. + * @param iteratee The function invoked per iteration. + * @param thisArg The this binding of iteratee. + * @return Returns the composed aggregate object. + */ + groupBy( + collection: string | null | undefined, + iteratee?: StringIterator + ): Dictionary; + + /** + * @see _.groupBy + */ + groupBy( + collection: List | null | undefined, + iteratee?: ListIteratee + ): Dictionary; + + /** + * @see _.groupBy + */ + groupBy( + collection: NumericDictionary | null | undefined, + iteratee?: NumericDictionaryIteratee + ): Dictionary; + + /** + * @see _.groupBy + */ + groupBy( + collection: T | null | undefined, + iteratee?: ObjectIteratee + ): Dictionary>; + } + + interface LoDashImplicitWrapper { + /** + * @see _.groupBy + */ + groupBy( + this: LoDashImplicitWrapper, + iteratee?: StringIterator + ): LoDashImplicitWrapper>; + + /** + * @see _.groupBy + */ + groupBy( + this: LoDashImplicitWrapper | null | undefined>, + iteratee?: ListIteratee + ): LoDashImplicitWrapper>; + + /** + * @see _.groupBy + */ + groupBy( + this: LoDashImplicitWrapper, + iteratee?: ObjectIteratee + ): LoDashImplicitWrapper>>; + + /** + * @see _.groupBy + */ + groupBy( + this: LoDashImplicitWrapper | null | undefined>, + iteratee?: NumericDictionaryIteratee + ): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.groupBy + */ + groupBy( + this: LoDashExplicitWrapper, + iteratee?: StringIterator + ): LoDashExplicitWrapper>; + + /** + * @see _.groupBy + */ + groupBy( + this: LoDashExplicitWrapper | null | undefined>, + iteratee?: ListIteratee + ): LoDashExplicitWrapper>; + + /** + * @see _.groupBy + */ + groupBy( + this: LoDashExplicitWrapper | null | undefined>, + iteratee?: NumericDictionaryIteratee + ): LoDashExplicitWrapper>; + + /** + * @see _.groupBy + */ + groupBy( + this: LoDashExplicitWrapper, + iteratee?: ObjectIteratee + ): LoDashExplicitWrapper>>; + } + + // includes + + interface LoDashStatic { + /** + * Checks if target is in collection using SameValueZero for equality comparisons. If fromIndex is negative, + * it’s used as the offset from the end of collection. + * + * @param collection The collection to search. + * @param target The value to search for. + * @param fromIndex The index to search from. + * @return True if the target element is found, else false. + */ + includes( + collection: List|Dictionary | null | undefined, + target: T, + fromIndex?: number + ): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.includes + */ + includes( + this: LoDashImplicitWrapper | Dictionary | null | undefined>, + target: T, + fromIndex?: number + ): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.includes + */ + includes( + this: LoDashExplicitWrapper | Dictionary | null | undefined>, + target: T, + fromIndex?: number + ): LoDashExplicitWrapper; + } + + // invokeMap + + interface LoDashStatic { + /** + * Invokes the method named by methodName on each element in the collection returning + * an array of the results of each invoked method. Additional arguments will be provided + * to each invoked method. If methodName is a function it will be invoked for, and this + * bound to, each element in the collection. + * @param collection The collection to iterate over. + * @param methodName The name of the method to invoke. + * @param args Arguments to invoke the method with. + **/ + invokeMap( + collection: object | null | undefined, + methodName: string, + ...args: any[]): any[]; + + /** + * @see _.invokeMap + **/ + invokeMap( + collection: object | null | undefined, + method: (...args: any[]) => TResult, + ...args: any[]): TResult[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.invokeMap + **/ + invokeMap( + methodName: string, + ...args: any[]): LoDashImplicitWrapper; + + /** + * @see _.invokeMap + **/ + invokeMap( + method: (...args: any[]) => TResult, + ...args: any[]): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.invokeMap + **/ + invokeMap( + methodName: string, + ...args: any[]): LoDashExplicitWrapper; + + /** + * @see _.invokeMap + **/ + invokeMap( + method: (...args: any[]) => TResult, + ...args: any[]): LoDashExplicitWrapper; + } + + // keyBy + + interface LoDashStatic { + /** + * Creates an object composed of keys generated from the results of running each element of collection through + * iteratee. The corresponding value of each key is the last element responsible for generating the key. The + * iteratee function is bound to thisArg and invoked with three arguments: + * (value, index|key, collection). + * + * If a property name is provided for iteratee the created _.property style callback returns the property + * value of the given element. + * + * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for + * elements that have a matching property value, else false. + * + * If an object is provided for iteratee the created _.matches style callback returns true for elements that + * have the properties of the given object, else false. + * + * @param collection The collection to iterate over. + * @param iteratee The function invoked per iteration. + * @param thisArg The this binding of iteratee. + * @return Returns the composed aggregate object. + */ + keyBy( + collection: string | null | undefined, + iteratee?: StringIterator + ): Dictionary; + + /** + * @see _.keyBy + */ + keyBy( + collection: List | null | undefined, + iteratee?: ListIterateeCustom + ): Dictionary; + + /** + * @see _.keyBy + */ + keyBy( + collection: T | null | undefined, + iteratee?: ObjectIterateeCustom + ): Dictionary; + + /** + * @see _.keyBy + */ + keyBy( + collection: NumericDictionary | null | undefined, + iteratee?: NumericDictionaryIterateeCustom + ): Dictionary; + } + + interface LoDashImplicitWrapper { + /** + * @see _.keyBy + */ + keyBy( + this: LoDashImplicitWrapper, + iteratee?: StringIterator + ): LoDashImplicitWrapper>; + + /** + * @see _.keyBy + */ + keyBy( + this: LoDashImplicitWrapper | null | undefined>, + iteratee?: ListIterateeCustom + ): LoDashImplicitWrapper>; + + /** + * @see _.keyBy + */ + keyBy( + this: LoDashImplicitWrapper, + iteratee?: ObjectIterateeCustom + ): LoDashImplicitWrapper>; + + /** + * @see _.keyBy + */ + keyBy( + this: LoDashImplicitWrapper | null | undefined>, + iteratee?: NumericDictionaryIterateeCustom + ): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.keyBy + */ + keyBy( + this: LoDashExplicitWrapper, + iteratee?: StringIterator + ): LoDashExplicitWrapper>; + + /** + * @see _.keyBy + */ + keyBy( + this: LoDashExplicitWrapper | null | undefined>, + iteratee?: ListIterateeCustom + ): LoDashExplicitWrapper>; + + /** + * @see _.keyBy + */ + keyBy( + this: LoDashExplicitWrapper, + iteratee?: ObjectIterateeCustom + ): LoDashExplicitWrapper>; + + /** + * @see _.keyBy + */ + keyBy( + this: LoDashExplicitWrapper | null | undefined>, + iteratee?: NumericDictionaryIterateeCustom + ): LoDashExplicitWrapper>; + } + + // map + + interface LoDashStatic { + /** + * Creates an array of values by running each element in collection through iteratee. The iteratee is bound to + * thisArg and invoked with three arguments: (value, index|key, collection). + * + * If a property name is provided for iteratee the created _.property style callback returns the property value + * of the given element. + * + * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for + * elements that have a matching property value, else false. + * + * If an object is provided for iteratee the created _.matches style callback returns true for elements that + * have the properties of the given object, else false. + * + * Many lodash methods are guarded to work as iteratees for methods like _.every, _.filter, _.map, _.mapValues, + * _.reject, and _.some. + * + * The guarded methods are: + * ary, callback, chunk, clone, create, curry, curryRight, drop, dropRight, every, fill, flatten, invert, max, + * min, parseInt, slice, sortBy, take, takeRight, template, trim, trimLeft, trimRight, trunc, random, range, + * sample, some, sum, uniq, and words + * + * @param collection The collection to iterate over. + * @param iteratee The function invoked per iteration. + * @param thisArg The this binding of iteratee. + * @return Returns the new mapped array. + */ + map( + collection: List | null | undefined, + iteratee: ListIterator + ): TResult[]; + + /** + * @see _.map + */ + map(collection: List | Dictionary | null | undefined): T[]; + + /** + * @see _.map + */ + map( + collection: Dictionary | null | undefined, + iteratee: DictionaryIterator + ): TResult[]; + + /** @see _.map */ + map( + collection: List | Dictionary | null | undefined, + iteratee: K + ): Array; + + /** @see _.map */ + map( + collection: NumericDictionary | null | undefined, + iteratee?: NumericDictionaryIterator + ): TResult[]; + + /** + * @see _.map + */ + map( + collection: List|Dictionary|NumericDictionary | null | undefined, + iteratee?: string + ): TResult[]; + + /** + * @see _.map + */ + map( + collection: List|Dictionary|NumericDictionary | null | undefined, + iteratee?: object + ): boolean[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.map + */ + map( + this: LoDashImplicitWrapper | null | undefined>, + iteratee: ListIterator + ): LoDashImplicitWrapper; + + /** + * @see _.map + */ + map(this: LoDashImplicitWrapper | Dictionary | null | undefined>): LoDashImplicitWrapper; + + /** + * @see _.map + */ + map( + this: LoDashImplicitWrapper | null | undefined>, + iteratee: DictionaryIterator + ): LoDashImplicitWrapper; + + /** @see _.map */ + map( + this: LoDashImplicitWrapper | Dictionary | null | undefined>, + iteratee: K + ): LoDashImplicitWrapper>; + + /** @see _.map */ + map( + this: LoDashImplicitWrapper | null | undefined>, + iteratee?: NumericDictionaryIterator + ): LoDashImplicitWrapper; + + /** + * @see _.map + */ + map( + this: LoDashImplicitWrapper | Dictionary | NumericDictionary | null | undefined>, + iteratee?: string + ): LoDashImplicitWrapper; + + /** + * @see _.map + */ + map( + this: LoDashImplicitWrapper | Dictionary | NumericDictionary | null | undefined>, + iteratee?: object + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.map + */ + map( + this: LoDashExplicitWrapper | null | undefined>, + iteratee: ListIterator + ): LoDashExplicitWrapper; + + /** + * @see _.map + */ + map(this: LoDashExplicitWrapper | Dictionary | null | undefined>): LoDashExplicitWrapper; + + /** + * @see _.map + */ + map( + this: LoDashExplicitWrapper | null | undefined>, + iteratee: DictionaryIterator + ): LoDashExplicitWrapper; + + /** @see _.map */ + map( + this: LoDashExplicitWrapper | Dictionary | null | undefined>, + iteratee: K + ): LoDashExplicitWrapper>; + + /** + * @see _.map + */ + map( + this: LoDashExplicitWrapper | null | undefined>, + iteratee?: NumericDictionaryIterator + ): LoDashExplicitWrapper; + + /** + * @see _.map + */ + map( + this: LoDashExplicitWrapper | Dictionary | NumericDictionary | null | undefined>, + iteratee?: string + ): LoDashExplicitWrapper; + + /** + * @see _.map + */ + map( + this: LoDashExplicitWrapper | Dictionary | NumericDictionary | null | undefined>, + iteratee?: object + ): LoDashExplicitWrapper; + } + + // orderBy + + interface LoDashStatic { + /** + * This method is like `_.sortBy` except that it allows specifying the sort + * orders of the iteratees to sort by. If `orders` is unspecified, all values + * are sorted in ascending order. Otherwise, specify an order of "desc" for + * descending or "asc" for ascending sort order of corresponding values. + * + * @category Collection + * @param collection The collection to iterate over. + * @param [iteratees=[_.identity]] The iteratees to sort by. + * @param [orders] The sort orders of `iteratees`. + * @param- {Object} [guard] Enables use as an iteratee for functions like `_.reduce`. + * @returns Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 34 }, + * { 'user': 'fred', 'age': 42 }, + * { 'user': 'barney', 'age': 36 } + * ]; + * + * // sort by `user` in ascending order and by `age` in descending order + * _.orderBy(users, ['user', 'age'], ['asc', 'desc']); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]] + */ + orderBy( + collection: List | null | undefined, + iteratees?: Many>, + orders?: Many + ): T[]; + + /** + * @see _.orderBy + */ + orderBy( + collection: List | null | undefined, + iteratees?: Many>, + orders?: Many + ): T[]; + + /** + * @see _.orderBy + */ + orderBy( + collection: T | null | undefined, + iteratees?: Many>, + orders?: Many + ): Array; + + /** + * @see _.orderBy + */ + orderBy( + collection: T | null | undefined, + iteratees?: Many>, + orders?: Many + ): Array; + + /** + * @see _.orderBy + */ + orderBy( + collection: NumericDictionary | null | undefined, + iteratees?: Many>, + orders?: Many + ): T[]; + + /** + * @see _.orderBy + */ + orderBy( + collection: NumericDictionary | null | undefined, + iteratees?: Many>, + orders?: Many + ): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.orderBy + */ + orderBy( + this: LoDashImplicitWrapper | null | undefined>, + iteratees?: Many>, + orders?: Many + ): LoDashImplicitWrapper; + + /** + * @see _.orderBy + */ + orderBy( + this: LoDashImplicitWrapper | null | undefined>, + iteratees?: Many>, + orders?: Many + ): LoDashImplicitWrapper; + + /** + * @see _.orderBy + */ + orderBy( + this: LoDashImplicitWrapper, + iteratees?: Many>, + orders?: Many + ): LoDashImplicitWrapper>; + + /** + * @see _.orderBy + */ + orderBy( + this: LoDashImplicitWrapper, + iteratees?: Many>, + orders?: Many + ): LoDashImplicitWrapper>; + + /** + * @see _.orderBy + */ + orderBy( + this: LoDashImplicitWrapper | null | undefined>, + iteratees?: Many>, + orders?: Many + ): LoDashImplicitWrapper; + + /** + * @see _.orderBy + */ + orderBy( + this: LoDashImplicitWrapper | null | undefined>, + iteratees?: Many>, + orders?: Many + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.orderBy + */ + orderBy( + this: LoDashExplicitWrapper | null | undefined>, + iteratees?: Many>, + orders?: Many + ): LoDashExplicitWrapper; + + /** + * @see _.orderBy + */ + orderBy( + this: LoDashExplicitWrapper | null | undefined>, + iteratees?: Many>, + orders?: Many + ): LoDashExplicitWrapper; + + /** + * @see _.orderBy + */ + orderBy( + this: LoDashExplicitWrapper, + iteratees?: Many>, + orders?: Many + ): LoDashExplicitWrapper>; + + /** + * @see _.orderBy + */ + orderBy( + this: LoDashExplicitWrapper, + iteratees?: Many>, + orders?: Many + ): LoDashExplicitWrapper>; + + /** + * @see _.orderBy + */ + orderBy( + this: LoDashExplicitWrapper | null | undefined>, + iteratees?: Many>, + orders?: Many + ): LoDashExplicitWrapper; + + /** + * @see _.orderBy + */ + orderBy( + this: LoDashExplicitWrapper | null | undefined>, + iteratees?: Many>, + orders?: Many + ): LoDashExplicitWrapper; + } + + // partition + + interface LoDashStatic { + /** + * Creates an array of elements split into two groups, the first of which contains elements predicate returns truthy for, + * while the second of which contains elements predicate returns falsey for. + * The predicate is bound to thisArg and invoked with three arguments: (value, index|key, collection). + * + * If a property name is provided for predicate the created _.property style callback + * returns the property value of the given element. + * + * If a value is also provided for thisArg the created _.matchesProperty style callback + * returns true for elements that have a matching property value, else false. + * + * If an object is provided for predicate the created _.matches style callback returns + * true for elements that have the properties of the given object, else false. + * + * @param collection The collection to iterate over. + * @param callback The function called per iteration. + * @param thisArg The this binding of predicate. + * @return Returns the array of grouped elements. + **/ + partition( + collection: List | null | undefined, + callback: ValueIteratee + ): [T[], T[]]; + + /** + * @see _.partition + */ + partition( + collection: T | null | undefined, + callback: ValueIteratee + ): [Array, Array]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.partition + */ + partition( + this: LoDashImplicitWrapper | null | undefined>, + callback: ValueIteratee + ): LoDashImplicitWrapper<[T[], T[]]>; + + /** + * @see _.partition + */ + partition( + this: LoDashImplicitWrapper, + callback: ValueIteratee + ): LoDashImplicitWrapper<[Array, Array]>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.partition + */ + partition( + this: LoDashExplicitWrapper | null | undefined>, + callback: ValueIteratee + ): LoDashExplicitWrapper<[T[], T[]]>; + + /** + * @see _.partition + */ + partition( + this: LoDashExplicitWrapper, + callback: ValueIteratee + ): LoDashExplicitWrapper<[Array, Array]>; + } + + // reduce + + interface LoDashStatic { + /** + * Reduces a collection to a value which is the accumulated result of running each + * element in the collection through the callback, where each successive callback execution + * consumes the return value of the previous execution. If accumulator is not provided the + * first element of the collection will be used as the initial accumulator value. The callback + * is bound to thisArg and invoked with four arguments; (accumulator, value, index|key, collection). + * @param collection The collection to iterate over. + * @param callback The function called per iteration. + * @param accumulator Initial value of the accumulator. + * @return Returns the accumulated value. + **/ + reduce( + collection: T[] | null | undefined, + callback: MemoListIterator, + accumulator: TResult + ): TResult; + + /** + * @see _.reduce + **/ + reduce( + collection: List | null | undefined, + callback: MemoListIterator>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduce + **/ + reduce( + collection: T | null | undefined, + callback: MemoObjectIterator, + accumulator: TResult + ): TResult; + + /** + * @see _.reduce + **/ + reduce( + collection: NumericDictionary | null | undefined, + callback: MemoListIterator>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduce + **/ + reduce( + collection: T[] | null | undefined, + callback: MemoListIterator + ): TResult | undefined; + + /** + * @see _.reduce + **/ + reduce( + collection: List | null | undefined, + callback: MemoListIterator> + ): TResult | undefined; + + /** + * @see _.reduce + **/ + reduce( + collection: T | null | undefined, + callback: MemoObjectIterator + ): TResult | undefined; + + /** + * @see _.reduce + **/ + reduce( + collection: NumericDictionary | null | undefined, + callback: MemoListIterator> + ): TResult | undefined; + } + + interface LoDashImplicitWrapper { + /** + * @see _.reduce + **/ + reduce( + this: LoDashImplicitWrapper, + callback: MemoListIterator, + accumulator: TResult + ): TResult; + + /** + * @see _.reduce + **/ + reduce( + this: LoDashImplicitWrapper | null | undefined>, + callback: MemoListIterator>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduce + **/ + reduce( + this: LoDashImplicitWrapper, + callback: MemoObjectIterator, + accumulator: TResult + ): TResult; + + /** + * @see _.reduce + **/ + reduce( + this: LoDashImplicitWrapper | null | undefined>, + callback: MemoListIterator>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduce + **/ + reduce( + this: LoDashImplicitWrapper, + callback: MemoListIterator + ): TResult | undefined; + + /** + * @see _.reduce + **/ + reduce( + this: LoDashImplicitWrapper | null | undefined>, + callback: MemoListIterator> + ): TResult | undefined; + + /** + * @see _.reduce + **/ + reduce( + this: LoDashImplicitWrapper, + callback: MemoObjectIterator + ): TResult | undefined; + + /** + * @see _.reduce + **/ + reduce( + this: LoDashImplicitWrapper | null | undefined>, + callback: MemoListIterator> + ): TResult | undefined; + } + + interface LoDashExplicitWrapper { + /** + * @see _.reduce + **/ + reduce( + this: LoDashExplicitWrapper, + callback: MemoListIterator, + accumulator: TResult + ): LoDashExplicitWrapper; + + /** + * @see _.reduce + **/ + reduce( + this: LoDashExplicitWrapper | null | undefined>, + callback: MemoListIterator>, + accumulator: TResult + ): LoDashExplicitWrapper; + + /** + * @see _.reduce + **/ + reduce( + this: LoDashExplicitWrapper, + callback: MemoObjectIterator, + accumulator: TResult + ): LoDashExplicitWrapper; + + /** + * @see _.reduce + **/ + reduce( + this: LoDashExplicitWrapper | null | undefined>, + callback: MemoListIterator>, + accumulator: TResult + ): LoDashExplicitWrapper; + + /** + * @see _.reduce + **/ + reduce( + this: LoDashExplicitWrapper, + callback: MemoListIterator + ): LoDashExplicitWrapper; + + /** + * @see _.reduce + **/ + reduce( + this: LoDashExplicitWrapper | null | undefined>, + callback: MemoListIterator> + ): LoDashExplicitWrapper; + + /** + * @see _.reduce + **/ + reduce( + this: LoDashExplicitWrapper, + callback: MemoObjectIterator + ): LoDashExplicitWrapper; + + /** + * @see _.reduce + **/ + reduce( + this: LoDashExplicitWrapper | null | undefined>, + callback: MemoListIterator> + ): LoDashExplicitWrapper; + } + + // reduceRight + + interface LoDashStatic { + /** + * This method is like _.reduce except that it iterates over elements of a collection from + * right to left. + * @param collection The collection to iterate over. + * @param callback The function called per iteration. + * @param accumulator Initial value of the accumulator. + * @return The accumulated value. + **/ + reduceRight( + collection: T[] | null | undefined, + callback: MemoListIterator, + accumulator: TResult + ): TResult; + + /** + * @see _.reduceRight + **/ + reduceRight( + collection: List | null | undefined, + callback: MemoListIterator>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduceRight + **/ + reduceRight( + collection: T | null | undefined, + callback: MemoObjectIterator, + accumulator: TResult + ): TResult; + + /** + * @see _.reduceRight + **/ + reduceRight( + collection: NumericDictionary | null | undefined, + callback: MemoListIterator>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduceRight + **/ + reduceRight( + collection: T[] | null | undefined, + callback: MemoListIterator + ): TResult | undefined; + + /** + * @see _.reduceRight + **/ + reduceRight( + collection: List | null | undefined, + callback: MemoListIterator> + ): TResult | undefined; + + /** + * @see _.reduceRight + **/ + reduceRight( + collection: T | null | undefined, + callback: MemoObjectIterator + ): TResult | undefined; + + /** + * @see _.reduceRight + **/ + reduceRight( + collection: NumericDictionary | null | undefined, + callback: MemoListIterator> + ): TResult | undefined; + } + + interface LoDashImplicitWrapper { + /** + * @see _.reduceRight + **/ + reduceRight( + this: LoDashImplicitWrapper, + callback: MemoListIterator, + accumulator: TResult + ): TResult; + + /** + * @see _.reduceRight + **/ + reduceRight( + this: LoDashImplicitWrapper | null | undefined>, + callback: MemoListIterator>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduceRight + **/ + reduceRight( + this: LoDashImplicitWrapper, + callback: MemoObjectIterator, + accumulator: TResult + ): TResult; + + /** + * @see _.reduceRight + **/ + reduceRight( + this: LoDashImplicitWrapper | null | undefined>, + callback: MemoListIterator>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduceRight + **/ + reduceRight( + this: LoDashImplicitWrapper, + callback: MemoListIterator + ): TResult | undefined; + + /** + * @see _.reduceRight + **/ + reduceRight( + this: LoDashImplicitWrapper | null | undefined>, + callback: MemoListIterator> + ): TResult | undefined; + + /** + * @see _.reduceRight + **/ + reduceRight( + this: LoDashImplicitWrapper, + callback: MemoObjectIterator + ): TResult | undefined; + + /** + * @see _.reduceRight + **/ + reduceRight( + this: LoDashImplicitWrapper | null | undefined>, + callback: MemoListIterator> + ): TResult | undefined; + } + + interface LoDashExplicitWrapper { + /** + * @see _.reduceRight + **/ + reduceRight( + this: LoDashExplicitWrapper, + callback: MemoListIterator, + accumulator: TResult + ): LoDashExplicitWrapper; + + /** + * @see _.reduceRight + **/ + reduceRight( + this: LoDashExplicitWrapper | null | undefined>, + callback: MemoListIterator>, + accumulator: TResult + ): LoDashExplicitWrapper; + + /** + * @see _.reduceRight + **/ + reduceRight( + this: LoDashExplicitWrapper, + callback: MemoObjectIterator, + accumulator: TResult + ): LoDashExplicitWrapper; + + /** + * @see _.reduceRight + **/ + reduceRight( + this: LoDashExplicitWrapper | null | undefined>, + callback: MemoListIterator>, + accumulator: TResult + ): LoDashExplicitWrapper; + + /** + * @see _.reduceRight + **/ + reduceRight( + this: LoDashExplicitWrapper, + callback: MemoListIterator + ): LoDashExplicitWrapper; + + /** + * @see _.reduceRight + **/ + reduceRight( + this: LoDashExplicitWrapper | null | undefined>, + callback: MemoListIterator> + ): LoDashExplicitWrapper; + + /** + * @see _.reduceRight + **/ + reduceRight( + this: LoDashExplicitWrapper, + callback: MemoObjectIterator + ): LoDashExplicitWrapper; + + /** + * @see _.reduceRight + **/ + reduceRight( + this: LoDashExplicitWrapper | null | undefined>, + callback: MemoListIterator> + ): LoDashExplicitWrapper; + } + + // reject + + interface LoDashStatic { + /** + * The opposite of _.filter; this method returns the elements of collection that predicate does not return + * truthy for. + * + * @param collection The collection to iterate over. + * @param predicate The function invoked per iteration. + * @param thisArg The this binding of predicate. + * @return Returns the new filtered array. + */ + reject( + collection: string | null | undefined, + predicate?: StringIterator + ): string[]; + + /** + * @see _.reject + */ + reject( + collection: List | null | undefined, + predicate?: ListIterateeCustom + ): T[]; + + /** + * @see _.reject + */ + reject( + collection: T | null | undefined, + predicate?: ObjectIterateeCustom + ): Array; + } + + interface LoDashImplicitWrapper { + /** + * @see _.reject + */ + reject( + this: LoDashImplicitWrapper, + predicate?: StringIterator + ): LoDashImplicitWrapper; + + /** + * @see _.reject + */ + reject( + this: LoDashImplicitWrapper | null | undefined>, + predicate?: ListIterateeCustom + ): LoDashImplicitWrapper; + + /** + * @see _.reject + */ + reject( + this: LoDashImplicitWrapper, + predicate?: ObjectIterateeCustom + ): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.reject + */ + reject( + this: LoDashExplicitWrapper, + predicate?: StringIterator + ): LoDashExplicitWrapper; + + /** + * @see _.reject + */ + reject( + this: LoDashExplicitWrapper | null | undefined>, + predicate?: ListIterateeCustom + ): LoDashExplicitWrapper; + + /** + * @see _.reject + */ + reject( + this: LoDashExplicitWrapper, + predicate?: ObjectIterateeCustom + ): LoDashExplicitWrapper>; + } + + // sample + + interface LoDashStatic { + /** + * Gets a random element from collection. + * + * @param collection The collection to sample. + * @return Returns the random element. + */ + sample( + collection: List | Dictionary | NumericDictionary | null | undefined + ): T | undefined; + + /** + * @see _.sample + */ + sample( + collection: T + ): T[keyof T]; + + /** + * @see _.sample + */ + sample( + collection: T | null | undefined + ): T[keyof T] | undefined; + } + + interface LoDashImplicitWrapper { + /** + * @see _.sample + */ + sample( + this: LoDashImplicitWrapper | Dictionary | NumericDictionary | null | undefined> + ): T | undefined; + + /** + * @see _.sample + */ + sample( + this: LoDashImplicitWrapper, + ): T[keyof T]; + + /** + * @see _.sample + */ + sample( + this: LoDashImplicitWrapper + ): T[keyof T] | undefined; + } + + interface LoDashExplicitWrapper { + /** + * @see _.sample + */ + sample( + this: LoDashExplicitWrapper | Dictionary | NumericDictionary | null | undefined> + ): LoDashExplicitWrapper; + + /** + * @see _.sample + */ + sample( + this: LoDashExplicitWrapper, + ): LoDashExplicitWrapper; + + /** + * @see _.sample + */ + sample( + this: LoDashExplicitWrapper + ): LoDashExplicitWrapper; + } + + // sampleSize + + interface LoDashStatic { + /** + * Gets n random elements at unique keys from collection up to the size of collection. + * + * @param collection The collection to sample. + * @param n The number of elements to sample. + * @return Returns the random elements. + */ + sampleSize( + collection: List|Dictionary|NumericDictionary | null | undefined, + n?: number + ): T[]; + + /** + * @see _.sampleSize + */ + sampleSize( + collection: T | null | undefined, + n?: number + ): Array; + } + + interface LoDashImplicitWrapper { + /** + * @see _.sampleSize + */ + sampleSize( + this: LoDashImplicitWrapper|Dictionary|NumericDictionary | null | undefined>, + n?: number + ): LoDashImplicitWrapper; + + /** + * @see _.sampleSize + */ + sampleSize( + this: LoDashImplicitWrapper, + n?: number + ): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.sampleSize + */ + sampleSize( + this: LoDashExplicitWrapper|Dictionary|NumericDictionary | null | undefined>, + n?: number + ): LoDashExplicitWrapper; + + /** + * @see _.sampleSize + */ + sampleSize( + this: LoDashExplicitWrapper, + n?: number + ): LoDashExplicitWrapper>; + } + + // shuffle + + interface LoDashStatic { + /** + * Creates an array of shuffled values, using a version of the Fisher-Yates shuffle. + * + * @param collection The collection to shuffle. + * @return Returns the new shuffled array. + */ + shuffle(collection: List | null | undefined): T[]; + + /** + * @see _.shuffle + */ + shuffle(collection: T | null | undefined): Array; + } + + interface LoDashImplicitWrapper { + /** + * @see _.shuffle + */ + shuffle(this: LoDashImplicitWrapper | null | undefined>): LoDashImplicitWrapper; + + /** + * @see _.shuffle + */ + shuffle(this: LoDashImplicitWrapper): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.shuffle + */ + shuffle(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; + + /** + * @see _.shuffle + */ + shuffle(this: LoDashExplicitWrapper): LoDashExplicitWrapper>; + } + + // size + + interface LoDashStatic { + /** + * Gets the size of collection by returning its length for array-like values or the number of own enumerable + * properties for objects. + * + * @param collection The collection to inspect. + * @return Returns the size of collection. + */ + size(collection: object | string | null | undefined): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.size + */ + size(): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.size + */ + size(): LoDashExplicitWrapper; + } + + // some + + interface LoDashStatic { + /** + * Checks if predicate returns truthy for any element of collection. Iteration is stopped once predicate + * returns truthy. The predicate is invoked with three arguments: (value, index|key, collection). + * + * @param collection The collection to iterate over. + * @param predicate The function invoked per iteration. + * @return Returns true if any element passes the predicate check, else false. + */ + some( + collection: List | null | undefined, + predicate?: ListIterateeCustom + ): boolean; + + /** + * @see _.some + */ + some( + collection: T | null | undefined, + predicate?: ObjectIterateeCustom + ): boolean; + + /** + * @see _.some + */ + some( + collection: NumericDictionary | null | undefined, + predicate?: NumericDictionaryIterateeCustom + ): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.some + */ + some( + this: LoDashImplicitWrapper | null | undefined>, + predicate?: ListIterateeCustom + ): boolean; + + /** + * @see _.some + */ + some( + this: LoDashImplicitWrapper, + predicate?: ObjectIterateeCustom + ): boolean; + + /** + * @see _.some + */ + some( + this: LoDashImplicitWrapper | null | undefined>, + predicate?: NumericDictionaryIterateeCustom + ): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.some + */ + some( + this: LoDashExplicitWrapper | null | undefined>, + predicate?: ListIterateeCustom + ): LoDashExplicitWrapper; + + /** + * @see _.some + */ + some( + this: LoDashExplicitWrapper, + predicate?: ObjectIterateeCustom + ): LoDashExplicitWrapper; + + /** + * @see _.some + */ + some( + this: LoDashExplicitWrapper | null | undefined>, + predicate?: NumericDictionaryIterateeCustom + ): LoDashExplicitWrapper; + } + + // sortBy + + interface LoDashStatic { + /** + * Creates an array of elements, sorted in ascending order by the results of + * running each element in a collection through each iteratee. This method + * performs a stable sort, that is, it preserves the original sort order of + * equal elements. The iteratees are invoked with one argument: (value). + * + * @category Collection + * @param collection The collection to iterate over. + * @param [iteratees=[_.identity]] + * The iteratees to sort by, specified individually or in arrays. + * @returns Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 42 }, + * { 'user': 'barney', 'age': 34 } + * ]; + * + * _.sortBy(users, function(o) { return o.user; }); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]] + * + * _.sortBy(users, ['user', 'age']); + * // => objects for [['barney', 34], ['barney', 36], ['fred', 42], ['fred', 48]] + * + * _.sortBy(users, 'user', function(o) { + * return Math.floor(o.age / 10); + * }); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]] + */ + sortBy( + collection: List | null | undefined, + ...iteratees: Array>> + ): T[]; + + /** + * @see _.sortBy + */ + sortBy( + collection: T | null | undefined, + ...iteratees: Array>> + ): Array; + } + + interface LoDashImplicitWrapper { + /** + * @see _.sortBy + */ + sortBy( + this: LoDashImplicitWrapper | null | undefined>, + ...iteratees: Array>> + ): LoDashImplicitWrapper; + + /** + * @see _.sortBy + */ + sortBy( + this: LoDashImplicitWrapper, + ...iteratees: Array>> + ): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.sortBy + */ + sortBy( + this: LoDashExplicitWrapper | null | undefined>, + ...iteratees: Array>> + ): LoDashExplicitWrapper; + + /** + * @see _.sortBy + */ + sortBy( + this: LoDashExplicitWrapper, + ...iteratees: Array>> + ): LoDashExplicitWrapper>; + } +} \ No newline at end of file diff --git a/types/lodash/date/now.d.ts b/types/lodash/common/date.d.ts similarity index 97% rename from types/lodash/date/now.d.ts rename to types/lodash/common/date.d.ts index 480326dd3d..e460de4e1a 100644 --- a/types/lodash/date/now.d.ts +++ b/types/lodash/common/date.d.ts @@ -1,5 +1,7 @@ import _ = require("../index"); declare module "../index" { + // now + interface LoDashStatic { /** * Gets the number of milliseconds that have elapsed since the Unix epoch (1 January 1970 00:00:00 UTC). diff --git a/types/lodash/common/function.d.ts b/types/lodash/common/function.d.ts new file mode 100644 index 0000000000..b51fa6c625 --- /dev/null +++ b/types/lodash/common/function.d.ts @@ -0,0 +1,1367 @@ +import _ = require("../index"); +declare module "../index" { + // after + + interface LoDashStatic { + /** + * The opposite of _.before; this method creates a function that invokes func once it’s called n or more times. + * + * @param n The number of calls before func is invoked. + * @param func The function to restrict. + * @return Returns the new restricted function. + */ + after any>( + n: number, + func: TFunc + ): TFunc; + } + + interface LoDashImplicitWrapper { + /** + * @see _.after + **/ + after any>(func: TFunc): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.after + **/ + after any>(func: TFunc): LoDashExplicitWrapper; + } + + // ary + + interface LoDashStatic { + /** + * Creates a function that accepts up to n arguments ignoring any additional arguments. + * + * @param func The function to cap arguments for. + * @param n The arity cap. + * @returns Returns the new function. + */ + ary( + func: (...args: any[]) => any, + n?: number + ): (...args: any[]) => any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.ary + */ + ary(n?: number): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.ary + */ + ary(n?: number): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // before + + interface LoDashStatic { + /** + * Creates a function that invokes func, with the this binding and arguments of the created function, while + * it’s called less than n times. Subsequent calls to the created function return the result of the last func + * invocation. + * + * @param n The number of calls at which func is no longer invoked. + * @param func The function to restrict. + * @return Returns the new restricted function. + */ + before any>( + n: number, + func: TFunc + ): TFunc; + } + + interface LoDashImplicitWrapper { + /** + * @see _.before + **/ + before any>(func: TFunc): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.before + **/ + before any>(func: TFunc): LoDashExplicitWrapper; + } + + // bind + + interface FunctionBind { + placeholder: any; + + ( + func: (...args: any[]) => any, + thisArg: any, + ...partials: any[] + ): (...args: any[]) => any; + } + + interface LoDashStatic { + /** + * Creates a function that invokes func with the this binding of thisArg and prepends any additional _.bind + * arguments to those provided to the bound function. + * + * The _.bind.placeholder value, which defaults to _ in monolithic builds, may be used as a placeholder for + * partially applied arguments. + * + * Note: Unlike native Function#bind this method does not set the "length" property of bound functions. + * + * @param func The function to bind. + * @param thisArg The this binding of func. + * @param partials The arguments to be partially applied. + * @return Returns the new bound function. + */ + bind: FunctionBind; + } + + interface LoDashImplicitWrapper { + /** + * @see _.bind + */ + bind( + thisArg: any, + ...partials: any[] + ): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.bind + */ + bind( + thisArg: any, + ...partials: any[] + ): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // bindKey + + interface FunctionBindKey { + placeholder: any; + + ( + object: object, + key: string, + ...partials: any[] + ): (...args: any[]) => any; + } + + interface LoDashStatic { + /** + * Creates a function that invokes the method at object[key] and prepends any additional _.bindKey arguments + * to those provided to the bound function. + * + * This method differs from _.bind by allowing bound functions to reference methods that may be redefined + * or don’t yet exist. See Peter Michaux’s article for more details. + * + * The _.bindKey.placeholder value, which defaults to _ in monolithic builds, may be used as a placeholder + * for partially applied arguments. + * + * @param object The object the method belongs to. + * @param key The key of the method. + * @param partials The arguments to be partially applied. + * @return Returns the new bound function. + */ + bindKey: FunctionBindKey; + } + + interface LoDashImplicitWrapper { + /** + * @see _.bindKey + */ + bindKey( + key: string, + ...partials: any[] + ): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.bindKey + */ + bindKey( + key: string, + ...partials: any[] + ): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // curry + + interface LoDashStatic { + /** + * Creates a function that accepts one or more arguments of func that when called either invokes func returning + * its result, if all func arguments have been provided, or returns a function that accepts one or more of the + * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + curry(func: (t1: T1) => R, arity?: number): + CurriedFunction1; + /** + * Creates a function that accepts one or more arguments of func that when called either invokes func returning + * its result, if all func arguments have been provided, or returns a function that accepts one or more of the + * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + curry(func: (t1: T1, t2: T2) => R, arity?: number): + CurriedFunction2; + /** + * Creates a function that accepts one or more arguments of func that when called either invokes func returning + * its result, if all func arguments have been provided, or returns a function that accepts one or more of the + * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + curry(func: (t1: T1, t2: T2, t3: T3) => R, arity?: number): + CurriedFunction3; + /** + * Creates a function that accepts one or more arguments of func that when called either invokes func returning + * its result, if all func arguments have been provided, or returns a function that accepts one or more of the + * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + curry(func: (t1: T1, t2: T2, t3: T3, t4: T4) => R, arity?: number): + CurriedFunction4; + /** + * Creates a function that accepts one or more arguments of func that when called either invokes func returning + * its result, if all func arguments have been provided, or returns a function that accepts one or more of the + * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + curry(func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R, arity?: number): + CurriedFunction5; + /** + * Creates a function that accepts one or more arguments of func that when called either invokes func returning + * its result, if all func arguments have been provided, or returns a function that accepts one or more of the + * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + curry(func: (...args: any[]) => any, arity?: number): (...args: any[]) => any; + } + + interface CurriedFunction1 { + (): CurriedFunction1; + (t1: T1): R; + } + + interface CurriedFunction2 { + (): CurriedFunction2; + (t1: T1): CurriedFunction1; + (t1: T1, t2: T2): R; + } + + interface CurriedFunction3 { + (): CurriedFunction3; + (t1: T1): CurriedFunction2; + (t1: T1, t2: T2): CurriedFunction1; + (t1: T1, t2: T2, t3: T3): R; + } + + interface CurriedFunction4 { + (): CurriedFunction4; + (t1: T1): CurriedFunction3; + (t1: T1, t2: T2): CurriedFunction2; + (t1: T1, t2: T2, t3: T3): CurriedFunction1; + (t1: T1, t2: T2, t3: T3, t4: T4): R; + } + + interface CurriedFunction5 { + (): CurriedFunction5; + (t1: T1): CurriedFunction4; + (t1: T1, t2: T2): CurriedFunction3; + (t1: T1, t2: T2, t3: T3): CurriedFunction2; + (t1: T1, t2: T2, t3: T3, t4: T4): CurriedFunction1; + (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5): R; + } + interface RightCurriedFunction1 { + (): RightCurriedFunction1; + (t1: T1): R; + } + interface RightCurriedFunction2 { + (): RightCurriedFunction2; + (t2: T2): RightCurriedFunction1; + (t1: T1, t2: T2): R; + } + interface RightCurriedFunction3 { + (): RightCurriedFunction3; + (t3: T3): RightCurriedFunction2; + (t2: T2, t3: T3): RightCurriedFunction1; + (t1: T1, t2: T2, t3: T3): R; + } + interface RightCurriedFunction4 { + (): RightCurriedFunction4; + (t4: T4): RightCurriedFunction3; + (t3: T3, t4: T4): RightCurriedFunction2; + (t2: T2, t3: T3, t4: T4): RightCurriedFunction1; + (t1: T1, t2: T2, t3: T3, t4: T4): R; + } + interface RightCurriedFunction5 { + (): RightCurriedFunction5; + (t5: T5): RightCurriedFunction4; + (t4: T4, t5: T5): RightCurriedFunction3; + (t3: T3, t4: T4, t5: T5): RightCurriedFunction2; + (t2: T2, t3: T3, t4: T4, t5: T5): RightCurriedFunction1; + (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5): R; + } + + interface LoDashImplicitWrapper { + /** + * @see _.curry + **/ + curry(this: LoDashImplicitWrapper<(t1: T1) => R>, arity?: number): + LoDashImplicitWrapper>; + + /** + * @see _.curry + **/ + curry(this: LoDashImplicitWrapper<(t1: T1, t2: T2) => R>, arity?: number): + LoDashImplicitWrapper>; + + /** + * @see _.curry + **/ + curry(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3) => R>, arity?: number): + LoDashImplicitWrapper>; + + /** + * @see _.curry + **/ + curry(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4) => R>, arity?: number): + LoDashImplicitWrapper>; + + /** + * @see _.curry + **/ + curry(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>, arity?: number): + LoDashImplicitWrapper>; + + /** + * @see _.curry + **/ + curry(arity?: number): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.curry + **/ + curry(this: LoDashExplicitWrapper<(t1: T1) => R>): + LoDashExplicitWrapper>; + + /** + * @see _.curry + **/ + curry(this: LoDashExplicitWrapper<(t1: T1, t2: T2) => R>): + LoDashExplicitWrapper>; + + /** + * @see _.curry + **/ + curry(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3) => R>): + LoDashExplicitWrapper>; + + /** + * @see _.curry + **/ + curry(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4) => R>): + LoDashExplicitWrapper>; + + /** + * @see _.curry + **/ + curry(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>): + LoDashExplicitWrapper>; + + /** + * @see _.curry + **/ + curry(arity?: number): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // curryRight + + interface LoDashStatic { + /** + * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight + * instead of _.partial. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + curryRight(func: (t1: T1) => R, arity?: number): + RightCurriedFunction1; + /** + * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight + * instead of _.partial. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + curryRight(func: (t1: T1, t2: T2) => R, arity?: number): + RightCurriedFunction2; + /** + * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight + * instead of _.partial. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + curryRight(func: (t1: T1, t2: T2, t3: T3) => R, arity?: number): + RightCurriedFunction3; + /** + * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight + * instead of _.partial. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + curryRight(func: (t1: T1, t2: T2, t3: T3, t4: T4) => R, arity?: number): + RightCurriedFunction4; + /** + * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight + * instead of _.partial. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + curryRight(func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R, arity?: number): + RightCurriedFunction5; + /** + * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight + * instead of _.partial. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + curryRight(func: (...args: any[]) => any, arity?: number): (...args: any[]) => any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.curryRight + **/ + curryRight(this: LoDashImplicitWrapper<(t1: T1) => R>, arity?: number): + LoDashImplicitWrapper>; + + /** + * @see _.curryRight + **/ + curryRight(this: LoDashImplicitWrapper<(t1: T1, t2: T2) => R>, arity?: number): + LoDashImplicitWrapper>; + + /** + * @see _.curryRight + **/ + curryRight(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3) => R>, arity?: number): + LoDashImplicitWrapper>; + + /** + * @see _.curryRight + **/ + curryRight(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4) => R>, arity?: number): + LoDashImplicitWrapper>; + + /** + * @see _.curryRight + **/ + curryRight(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>, arity?: number): + LoDashImplicitWrapper>; + + /** + * @see _.curryRight + **/ + curryRight(arity?: number): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.curryRight + **/ + curryRight(this: LoDashExplicitWrapper<(t1: T1) => R>, arity?: number): + LoDashExplicitWrapper>; + + /** + * @see _.curryRight + **/ + curryRight(this: LoDashExplicitWrapper<(t1: T1, t2: T2) => R>, arity?: number): + LoDashExplicitWrapper>; + + /** + * @see _.curryRight + **/ + curryRight(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3) => R>, arity?: number): + LoDashExplicitWrapper>; + + /** + * @see _.curryRight + **/ + curryRight(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4) => R>, arity?: number): + LoDashExplicitWrapper>; + + /** + * @see _.curryRight + **/ + curryRight(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>, arity?: number): + LoDashExplicitWrapper>; + + /** + * @see _.curryRight + **/ + curryRight(arity?: number): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // debounce + + interface DebounceSettings { + /** + * Specify invoking on the leading edge of the timeout. + */ + leading?: boolean; + + /** + * The maximum time func is allowed to be delayed before it’s invoked. + */ + maxWait?: number; + + /** + * Specify invoking on the trailing edge of the timeout. + */ + trailing?: boolean; + } + + interface LoDashStatic { + /** + * Creates a debounced function that delays invoking func until after wait milliseconds have elapsed since + * the last time the debounced function was invoked. The debounced function comes with a cancel method to + * cancel delayed invocations and a flush method to immediately invoke them. Provide an options object to + * indicate that func should be invoked on the leading and/or trailing edge of the wait timeout. Subsequent + * calls to the debounced function return the result of the last func invocation. + * + * Note: If leading and trailing options are true, func is invoked on the trailing edge of the timeout only + * if the the debounced function is invoked more than once during the wait timeout. + * + * See David Corbacho’s article for details over the differences between _.debounce and _.throttle. + * + * @param func The function to debounce. + * @param wait The number of milliseconds to delay. + * @param options The options object. + * @param options.leading Specify invoking on the leading edge of the timeout. + * @param options.maxWait The maximum time func is allowed to be delayed before it’s invoked. + * @param options.trailing Specify invoking on the trailing edge of the timeout. + * @return Returns the new debounced function. + */ + debounce any>( + func: T, + wait?: number, + options?: DebounceSettings + ): T & Cancelable; + } + + interface LoDashImplicitWrapper { + /** + * @see _.debounce + */ + debounce( + wait?: number, + options?: DebounceSettings + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.debounce + */ + debounce( + wait?: number, + options?: DebounceSettings + ): LoDashExplicitWrapper; + } + + // defer + + interface LoDashStatic { + /** + * Defers invoking the func until the current call stack has cleared. Any additional arguments are provided to + * func when it’s invoked. + * + * @param func The function to defer. + * @param args The arguments to invoke the function with. + * @return Returns the timer id. + */ + defer( + func: (...args: any[]) => any, + ...args: any[] + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.defer + */ + defer(...args: any[]): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.defer + */ + defer(...args: any[]): LoDashExplicitWrapper; + } + + // delay + + interface LoDashStatic { + /** + * Invokes func after wait milliseconds. Any additional arguments are provided to func when it’s invoked. + * + * @param func The function to delay. + * @param wait The number of milliseconds to delay invocation. + * @param args The arguments to invoke the function with. + * @return Returns the timer id. + */ + delay( + func: (...args: any[]) => any, + wait: number, + ...args: any[] + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.delay + */ + delay( + wait: number, + ...args: any[] + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.delay + */ + delay( + wait: number, + ...args: any[] + ): LoDashExplicitWrapper; + } + + // flip + + interface LoDashStatic { + /** + * Creates a function that invokes `func` with arguments reversed. + * + * @category Function + * @param func The function to flip arguments for. + * @returns Returns the new function. + * @example + * + * var flipped = _.flip(function() { + * return _.toArray(arguments); + * }); + * + * flipped('a', 'b', 'c', 'd'); + * // => ['d', 'c', 'b', 'a'] + */ + flip any>(func: T): T; + } + + interface LoDashWrapper { + /** + * @see _.flip + */ + flip(): this; + } + + // memoize + + interface MemoizedFunction { + cache: MapCache; + } + + interface LoDashStatic { + /** + * Creates a function that memoizes the result of func. If resolver is provided it determines the cache key for + * storing the result based on the arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is coerced to a string and used as the cache key. The func is invoked with + * the this binding of the memoized function. + * + * @param func The function to have its output memoized. + * @param resolver The function to resolve the cache key. + * @return Returns the new memoizing function. + */ + memoize: { + any>(func: T, resolver?: (...args: any[]) => any): T & MemoizedFunction; + Cache: MapCacheConstructor; + }; + } + + interface LoDashImplicitWrapper { + /** + * @see _.memoize + */ + memoize(resolver?: (...args: any[]) => any): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.memoize + */ + memoize(resolver?: (...args: any[]) => any): LoDashExplicitWrapper; + } + + // negate + + interface LoDashStatic { + /** + * Creates a function that negates the result of the predicate func. The func predicate is invoked with + * the this binding and arguments of the created function. + * + * @param predicate The predicate to negate. + * @return Returns the new function. + */ + negate any>(predicate: T): T; + } + + interface LoDashWrapper { + /** + * @see _.negate + */ + negate(): this; + } + + // once + + interface LoDashStatic { + /** + * Creates a function that is restricted to invoking func once. Repeat calls to the function return the value + * of the first call. The func is invoked with the this binding and arguments of the created function. + * + * @param func The function to restrict. + * @return Returns the new restricted function. + */ + once any>(func: T): T; + } + + interface LoDashWrapper { + /** + * @see _.once + */ + once(): this; + } + + // overArgs + + interface LoDashStatic { + /** + * Creates a function that runs each argument through a corresponding transform function. + * + * @param func The function to wrap. + * @param transforms The functions to transform arguments, specified as individual functions or arrays + * of functions. + * @return Returns the new function. + */ + overArgs( + func: (...args: any[]) => any, + ...transforms: Array any>> + ): (...args: any[]) => any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.overArgs + */ + overArgs(...transforms: Array any>>): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.overArgs + */ + overArgs(...transforms: Array any>>): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // partial + + interface LoDashStatic { + /** + * Creates a function that, when called, invokes func with any additional partial arguments + * prepended to those provided to the new function. This method is similar to _.bind except + * it does not alter the this binding. + * @param func The function to partially apply arguments to. + * @param args Arguments to be partially applied. + * @return The new partially applied function. + **/ + partial: Partial; + } + + interface LoDashImplicitWrapper { + /** + * @see _.partial + */ + partial: ImplicitPartial; + } + + interface LoDashExplicitWrapper { + /** + * @see _.partial + */ + partial: ExplicitPartial; + } + + type PH = LoDashStatic; + + type Function0 = () => R; + type Function1 = (t1: T1) => R; + type Function2 = (t1: T1, t2: T2) => R; + type Function3 = (t1: T1, t2: T2, t3: T3) => R; + type Function4 = (t1: T1, t2: T2, t3: T3, t4: T4) => R; + + interface Partial { + // arity 0 + (func: Function0): Function0; + // arity 1 + (func: Function1): Function1; + (func: Function1, arg1: T1): Function0; + // arity 2 + (func: Function2): Function2; + (func: Function2, arg1: T1): Function1< T2, R>; + (func: Function2, plc1: PH, arg2: T2): Function1; + (func: Function2, arg1: T1, arg2: T2): Function0< R>; + // arity 3 + (func: Function3): Function3; + (func: Function3, arg1: T1): Function2< T2, T3, R>; + (func: Function3, plc1: PH, arg2: T2): Function2; + (func: Function3, arg1: T1, arg2: T2): Function1< T3, R>; + (func: Function3, plc1: PH, plc2: PH, arg3: T3): Function2; + (func: Function3, arg1: T1, plc2: PH, arg3: T3): Function1< T2, R>; + (func: Function3, plc1: PH, arg2: T2, arg3: T3): Function1; + (func: Function3, arg1: T1, arg2: T2, arg3: T3): Function0< R>; + // arity 4 + (func: Function4): Function4; + (func: Function4, arg1: T1): Function3< T2, T3, T4, R>; + (func: Function4, plc1: PH, arg2: T2): Function3; + (func: Function4, arg1: T1, arg2: T2): Function2< T3, T4, R>; + (func: Function4, plc1: PH, plc2: PH, arg3: T3): Function3; + (func: Function4, arg1: T1, plc2: PH, arg3: T3): Function2< T2, T4, R>; + (func: Function4, plc1: PH, arg2: T2, arg3: T3): Function2; + (func: Function4, arg1: T1, arg2: T2, arg3: T3): Function1< T4, R>; + (func: Function4, plc1: PH, plc2: PH, plc3: PH, arg4: T4): Function3; + (func: Function4, arg1: T1, plc2: PH, plc3: PH, arg4: T4): Function2< T2, T3, R>; + (func: Function4, plc1: PH, arg2: T2, plc3: PH, arg4: T4): Function2; + (func: Function4, arg1: T1, arg2: T2, plc3: PH, arg4: T4): Function1< T3, R>; + (func: Function4, plc1: PH, plc2: PH, arg3: T3, arg4: T4): Function2; + (func: Function4, arg1: T1, plc2: PH, arg3: T3, arg4: T4): Function1< T2, R>; + (func: Function4, plc1: PH, arg2: T2, arg3: T3, arg4: T4): Function1; + (func: Function4, arg1: T1, arg2: T2, arg3: T3, arg4: T4): Function0< R>; + // catch-all + (func: (...args: any[]) => any, ...args: any[]): (...args: any[]) => any; + } + + interface ImplicitPartial { + // arity 0 + (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; + // arity 1 + (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1): LoDashImplicitWrapper>; + // arity 2 + (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, plc1: PH, arg2: T2): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2): LoDashImplicitWrapper>; + // arity 3 + (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, plc1: PH, arg2: T2): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, plc1: PH, plc2: PH, arg3: T3): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, arg3: T3): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, plc1: PH, arg2: T2, arg3: T3): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, arg3: T3): LoDashImplicitWrapper>; + // arity 4 + (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, plc1: PH, arg2: T2): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, plc1: PH, plc2: PH, arg3: T3): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, arg3: T3): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, plc1: PH, arg2: T2, arg3: T3): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, arg3: T3): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, plc1: PH, plc2: PH, plc3: PH, arg4: T4): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, plc3: PH, arg4: T4): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, plc1: PH, arg2: T2, plc3: PH, arg4: T4): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, plc3: PH, arg4: T4): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, plc1: PH, plc2: PH, arg3: T3, arg4: T4): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, arg3: T3, arg4: T4): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, plc1: PH, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper>; + // catch-all + (...args: any[]): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface ExplicitPartial { + // arity 0 + (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; + // arity 1 + (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1): LoDashExplicitWrapper>; + // arity 2 + (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, plc1: PH, arg2: T2): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2): LoDashExplicitWrapper>; + // arity 3 + (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, plc1: PH, arg2: T2): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, plc1: PH, plc2: PH, arg3: T3): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, arg3: T3): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, plc1: PH, arg2: T2, arg3: T3): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, arg3: T3): LoDashExplicitWrapper>; + // arity 4 + (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, plc1: PH, arg2: T2): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, plc1: PH, plc2: PH, arg3: T3): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, arg3: T3): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, plc1: PH, arg2: T2, arg3: T3): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, arg3: T3): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, plc1: PH, plc2: PH, plc3: PH, arg4: T4): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, plc3: PH, arg4: T4): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, plc1: PH, arg2: T2, plc3: PH, arg4: T4): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, plc3: PH, arg4: T4): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, plc1: PH, plc2: PH, arg3: T3, arg4: T4): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, arg3: T3, arg4: T4): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, plc1: PH, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper>; + // catch-all + (...args: any[]): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // partialRight + + interface LoDashStatic { + /** + * This method is like _.partial except that partial arguments are appended to those provided + * to the new function. + * @param func The function to partially apply arguments to. + * @param args Arguments to be partially applied. + * @return The new partially applied function. + **/ + partialRight: PartialRight; + } + + interface LoDashImplicitWrapper { + /** + * @see _.partialRight + */ + partialRight: ImplicitPartialRight; + } + + interface LoDashExplicitWrapper { + /** + * @see _.partialRight + */ + partialRight: ExplicitPartialRight; + } + + interface PartialRight { + // arity 0 + (func: Function0): Function0; + // arity 1 + (func: Function1): Function1; + (func: Function1, arg1: T1): Function0; + // arity 2 + (func: Function2): Function2; + (func: Function2, arg1: T1, plc2: PH): Function1< T2, R>; + (func: Function2, arg2: T2): Function1; + (func: Function2, arg1: T1, arg2: T2): Function0< R>; + // arity 3 + (func: Function3): Function3; + (func: Function3, arg1: T1, plc2: PH, plc3: PH): Function2< T2, T3, R>; + (func: Function3, arg2: T2, plc3: PH): Function2; + (func: Function3, arg1: T1, arg2: T2, plc3: PH): Function1< T3, R>; + (func: Function3, arg3: T3): Function2; + (func: Function3, arg1: T1, plc2: PH, arg3: T3): Function1< T2, R>; + (func: Function3, arg2: T2, arg3: T3): Function1; + (func: Function3, arg1: T1, arg2: T2, arg3: T3): Function0< R>; + // arity 4 + (func: Function4): Function4; + (func: Function4, arg1: T1, plc2: PH, plc3: PH, plc4: PH): Function3< T2, T3, T4, R>; + (func: Function4, arg2: T2, plc3: PH, plc4: PH): Function3; + (func: Function4, arg1: T1, arg2: T2, plc3: PH, plc4: PH): Function2< T3, T4, R>; + (func: Function4, arg3: T3, plc4: PH): Function3; + (func: Function4, arg1: T1, plc2: PH, arg3: T3, plc4: PH): Function2< T2, T4, R>; + (func: Function4, arg2: T2, arg3: T3, plc4: PH): Function2; + (func: Function4, arg1: T1, arg2: T2, arg3: T3, plc4: PH): Function1< T4, R>; + (func: Function4, arg4: T4): Function3; + (func: Function4, arg1: T1, plc2: PH, plc3: PH, arg4: T4): Function2< T2, T3, R>; + (func: Function4, arg2: T2, plc3: PH, arg4: T4): Function2; + (func: Function4, arg1: T1, arg2: T2, plc3: PH, arg4: T4): Function1< T3, R>; + (func: Function4, arg3: T3, arg4: T4): Function2; + (func: Function4, arg1: T1, plc2: PH, arg3: T3, arg4: T4): Function1< T2, R>; + (func: Function4, arg2: T2, arg3: T3, arg4: T4): Function1; + (func: Function4, arg1: T1, arg2: T2, arg3: T3, arg4: T4): Function0< R>; + // catch-all + (func: (...args: any[]) => any, ...args: any[]): (...args: any[]) => any; + } + + interface ImplicitPartialRight { + // arity 0 + (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; + // arity 1 + (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1): LoDashImplicitWrapper>; + // arity 2 + (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg2: T2): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2): LoDashImplicitWrapper>; + // arity 3 + (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, plc3: PH): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg2: T2, plc3: PH): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, plc3: PH): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg3: T3): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, arg3: T3): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg2: T2, arg3: T3): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, arg3: T3): LoDashImplicitWrapper>; + // arity 4 + (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, plc3: PH, plc4: PH): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg2: T2, plc3: PH, plc4: PH): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, plc3: PH, plc4: PH): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg3: T3, plc4: PH): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, arg3: T3, plc4: PH): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg2: T2, arg3: T3, plc4: PH): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, arg3: T3, plc4: PH): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg4: T4): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, plc3: PH, arg4: T4): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg2: T2, plc3: PH, arg4: T4): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, plc3: PH, arg4: T4): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg3: T3, arg4: T4): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, arg3: T3, arg4: T4): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper>; + (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper>; + // catch-all + (...args: any[]): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface ExplicitPartialRight { + // arity 0 + (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; + // arity 1 + (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1): LoDashExplicitWrapper>; + // arity 2 + (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg2: T2): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2): LoDashExplicitWrapper>; + // arity 3 + (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, plc3: PH): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg2: T2, plc3: PH): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, plc3: PH): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg3: T3): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, arg3: T3): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg2: T2, arg3: T3): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, arg3: T3): LoDashExplicitWrapper>; + // arity 4 + (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, plc3: PH, plc4: PH): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg2: T2, plc3: PH, plc4: PH): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, plc3: PH, plc4: PH): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg3: T3, plc4: PH): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, arg3: T3, plc4: PH): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg2: T2, arg3: T3, plc4: PH): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, arg3: T3, plc4: PH): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg4: T4): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, plc3: PH, arg4: T4): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg2: T2, plc3: PH, arg4: T4): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, plc3: PH, arg4: T4): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg3: T3, arg4: T4): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, arg3: T3, arg4: T4): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper>; + (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper>; + // catch-all + (...args: any[]): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // rearg + + interface LoDashStatic { + /** + * Creates a function that invokes func with arguments arranged according to the specified indexes where the + * argument value at the first index is provided as the first argument, the argument value at the second index + * is provided as the second argument, and so on. + * @param func The function to rearrange arguments for. + * @param indexes The arranged argument indexes, specified as individual indexes or arrays of indexes. + * @return Returns the new function. + */ + rearg(func: (...args: any[]) => any, ...indexes: Array>): (...args: any[]) => any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.rearg + */ + rearg(...indexes: Array>): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.rearg + */ + rearg(...indexes: Array>): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // rest + + interface LoDashStatic { + /** + * Creates a function that invokes func with the this binding of the created function and arguments from start + * and beyond provided as an array. + * + * Note: This method is based on the rest parameter. + * + * @param func The function to apply a rest parameter to. + * @param start The start position of the rest parameter. + * @return Returns the new function. + */ + rest( + func: (...args: any[]) => any, + start?: number + ): (...args: any[]) => any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.rest + */ + rest(start?: number): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.rest + */ + rest(start?: number): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // spread + + interface LoDashStatic { + /** + * Creates a function that invokes func with the this binding of the created function and an array of arguments + * much like Function#apply. + * + * Note: This method is based on the spread operator. + * + * @param func The function to spread arguments over. + * @return Returns the new function. + */ + spread(func: (...args: any[]) => TResult): (...args: any[]) => TResult; + + /** + * @see _.spread + */ + spread(func: (...args: any[]) => TResult, start: number): (...args: any[]) => TResult; + } + + interface LoDashImplicitWrapper { + /** + * @see _.spread + */ + spread(this: LoDashImplicitWrapper<(...args: any[]) => TResult>): LoDashImplicitWrapper<(...args: any[]) => TResult>; + + /** + * @see _.spread + */ + spread(this: LoDashImplicitWrapper<(...args: any[]) => TResult>, start: number): LoDashImplicitWrapper<(...args: any[]) => TResult>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.spread + */ + spread(this: LoDashExplicitWrapper<(...args: any[]) => TResult>): LoDashExplicitWrapper<(...args: any[]) => TResult>; + + /** + * @see _.spread + */ + spread(this: LoDashExplicitWrapper<(...args: any[]) => TResult>, start: number): LoDashExplicitWrapper<(...args: any[]) => TResult>; + } + + // throttle + + interface ThrottleSettings { + /** + * If you'd like to disable the leading-edge call, pass this as false. + */ + leading?: boolean; + + /** + * If you'd like to disable the execution on the trailing-edge, pass false. + */ + trailing?: boolean; + } + + interface LoDashStatic { + /** + * Creates a throttled function that only invokes func at most once per every wait milliseconds. The throttled + * function comes with a cancel method to cancel delayed invocations and a flush method to immediately invoke + * them. Provide an options object to indicate that func should be invoked on the leading and/or trailing edge + * of the wait timeout. Subsequent calls to the throttled function return the result of the last func call. + * + * Note: If leading and trailing options are true, func is invoked on the trailing edge of the timeout only if + * the the throttled function is invoked more than once during the wait timeout. + * + * @param func The function to throttle. + * @param wait The number of milliseconds to throttle invocations to. + * @param options The options object. + * @param options.leading Specify invoking on the leading edge of the timeout. + * @param options.trailing Specify invoking on the trailing edge of the timeout. + * @return Returns the new throttled function. + */ + throttle any>( + func: T, + wait?: number, + options?: ThrottleSettings + ): T & Cancelable; + } + + interface LoDashImplicitWrapper { + /** + * @see _.throttle + */ + throttle( + wait?: number, + options?: ThrottleSettings + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.throttle + */ + throttle( + wait?: number, + options?: ThrottleSettings + ): LoDashExplicitWrapper; + } + + // unary + + interface LoDashStatic { + /** + * Creates a function that accepts up to one argument, ignoring any + * additional arguments. + * + * @category Function + * @param func The function to cap arguments for. + * @returns Returns the new function. + * @example + * + * _.map(['6', '8', '10'], _.unary(parseInt)); + * // => [6, 8, 10] + */ + unary(func: (arg1: T, ...args: any[]) => TResult): (arg1: T) => TResult; + } + + interface LoDashImplicitWrapper { + /** + * @see _.unary + */ + unary(this: LoDashImplicitWrapper<(arg1: T, ...args: any[]) => TResult>): LoDashImplicitWrapper<(arg1: T) => TResult>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.unary + */ + unary(this: LoDashExplicitWrapper<(arg1: T, ...args: any[]) => TResult>): LoDashExplicitWrapper<(arg1: T) => TResult>; + } + + // wrap + + interface LoDashStatic { + /** + * Creates a function that provides value to the wrapper function as its first argument. Any additional + * arguments provided to the function are appended to those provided to the wrapper function. The wrapper is + * invoked with the this binding of the created function. + * + * @param value The value to wrap. + * @param wrapper The wrapper function. + * @return Returns the new function. + */ + wrap( + value: T, + wrapper: (value: T, ...args: TArgs[]) => TResult + ): (...args: TArgs[]) => TResult; + + /** + * @see _.wrap + */ + wrap( + value: T, + wrapper: (value: T, ...args: any[]) => TResult + ): (...args: any[]) => TResult; + } + + interface LoDashImplicitWrapper { + /** + * @see _.wrap + */ + wrap( + wrapper: (value: TValue, ...args: TArgs[]) => TResult + ): LoDashImplicitWrapper<(...args: TArgs[]) => TResult>; + + /** + * @see _.wrap + */ + wrap( + wrapper: (value: TValue, ...args: any[]) => TResult + ): LoDashImplicitWrapper<(...args: any[]) => TResult>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.wrap + */ + /** + * @see _.wrap + */ + wrap( + wrapper: (value: TValue, ...args: TArgs[]) => TResult + ): LoDashExplicitWrapper<(...args: TArgs[]) => TResult>; + + /** + * @see _.wrap + */ + wrap( + wrapper: (value: TValue, ...args: any[]) => TResult + ): LoDashExplicitWrapper<(...args: any[]) => TResult>; + } +} \ No newline at end of file diff --git a/types/lodash/common/lang.d.ts b/types/lodash/common/lang.d.ts new file mode 100644 index 0000000000..43393ab4b6 --- /dev/null +++ b/types/lodash/common/lang.d.ts @@ -0,0 +1,1937 @@ +import _ = require("../index"); +declare module "../index" { + // castArray + + interface LoDashStatic { + /** + * Casts value as an array if it’s not one. + * + * @param value The value to inspect. + * @return Returns the cast array. + */ + castArray(value?: Many): T[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.castArray + */ + castArray(this: LoDashImplicitWrapper>): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.castArray + */ + castArray(this: LoDashExplicitWrapper>): LoDashExplicitWrapper; + } + + // clone + + interface LoDashStatic { + /** + * Creates a shallow clone of value. + * + * Note: This method is loosely based on the structured clone algorithm and supports cloning arrays, + * array buffers, booleans, date objects, maps, numbers, Object objects, regexes, sets, strings, symbols, + * and typed arrays. The own enumerable properties of arguments objects are cloned as plain objects. An empty + * object is returned for uncloneable values such as error objects, functions, DOM nodes, and WeakMaps. + * + * @param value The value to clone. + * @return Returns the cloned value. + */ + clone(value: T): T; + } + + interface LoDashImplicitWrapper { + /** + * @see _.clone + */ + clone(): TValue; + } + + interface LoDashExplicitWrapper { + /** + * @see _.clone + */ + clone(): this; + } + + // cloneDeep + + interface LoDashStatic { + /** + * This method is like _.clone except that it recursively clones value. + * + * @param value The value to recursively clone. + * @return Returns the deep cloned value. + */ + cloneDeep(value: T): T; + } + + interface LoDashImplicitWrapper { + /** + * @see _.cloneDeep + */ + cloneDeep(): TValue; + } + + interface LoDashExplicitWrapper { + /** + * @see _.cloneDeep + */ + cloneDeep(): this; + } + + // cloneDeepWith + + type CloneDeepWithCustomizer = (value: any, key: number | string | undefined, object: TObject | undefined, stack: any) => any; + + interface LoDashStatic { + /** + * This method is like _.cloneWith except that it recursively clones value. + * + * @param value The value to recursively clone. + * @param customizer The function to customize cloning. + * @return Returns the deep cloned value. + */ + cloneDeepWith( + value: T, + customizer: CloneDeepWithCustomizer + ): any; + + /** + * @see _.cloneDeepWith + */ + cloneDeepWith(value: T): T; + } + + interface LoDashImplicitWrapper { + /** + * @see _.cloneDeepWith + */ + cloneDeepWith( + customizer: CloneDeepWithCustomizer + ): any; + + /** + * @see _.cloneDeepWith + */ + cloneDeepWith(): TValue; + } + + interface LoDashExplicitWrapper { + /** + * @see _.cloneDeepWith + */ + cloneDeepWith( + customizer: CloneDeepWithCustomizer + ): LoDashExplicitWrapper; + + /** + * @see _.cloneDeepWith + */ + cloneDeepWith(): this; + } + + // cloneWith + + type CloneWithCustomizer = (value: TValue, key: number | string | undefined, object: any, stack: any) => TResult; + + interface LoDashStatic { + /** + * This method is like _.clone except that it accepts customizer which is invoked to produce the cloned value. + * If customizer returns undefined cloning is handled by the method instead. + * + * @param value The value to clone. + * @param customizer The function to customize cloning. + * @return Returns the cloned value. + */ + cloneWith( + value: T, + customizer: CloneWithCustomizer + ): TResult; + + /** + * @see _.cloneWith + */ + cloneWith( + value: T, + customizer: CloneWithCustomizer + ): TResult | T; + + /** + * @see _.cloneWith + */ + cloneWith(value: T): T; + } + + interface LoDashImplicitWrapper { + /** + * @see _.cloneWith + */ + cloneWith( + customizer: CloneWithCustomizer + ): TResult; + + /** + * @see _.cloneWith + */ + cloneWith( + customizer: CloneWithCustomizer + ): TResult | TValue; + + /** + * @see _.cloneWith + */ + cloneWith(): TValue; + } + + interface LoDashExplicitWrapper { + /** + * @see _.cloneWith + */ + cloneWith( + customizer: CloneWithCustomizer + ): LoDashExplicitWrapper; + + /** + * @see _.cloneWith + */ + cloneWith( + customizer: CloneWithCustomizer + ): LoDashExplicitWrapper; + + /** + * @see _.cloneWith + */ + cloneWith(): this; + } + + // conformsTo + + + interface LoDashStatic { + /** + * Checks if object conforms to source by invoking the predicate properties of source with the + * corresponding property values of object. + * + * Note: This method is equivalent to _.conforms when source is partially applied. + */ + conformsTo(object: T, source: ConformsPredicateObject): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.conformsTo + */ + conformsTo(this: LoDashImplicitWrapper, source: ConformsPredicateObject): boolean; + // Note: we can't use TValue here, because it generates a typescript error when strictFunctionTypes is enabled. + } + + interface LoDashExplicitWrapper { + /** + * @see _.conformsTo + */ + conformsTo(this: LoDashImplicitWrapper, source: ConformsPredicateObject): LoDashExplicitWrapper; + // Note: we can't use TValue here, because it generates a typescript error when strictFunctionTypes is enabled. + } + + type CondPair = [(val: T) => boolean, (val: T) => R] + + // eq + + interface LoDashStatic { + /** + * Performs a [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @category Lang + * @param value The value to compare. + * @param other The other value to compare. + * @returns Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'user': 'fred' }; + * var other = { 'user': 'fred' }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ + eq( + value: any, + other: any + ): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.eq + */ + eq( + other: any + ): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.eq + */ + eq( + other: any + ): LoDashExplicitWrapper; + } + + // gt + + interface LoDashStatic { + /** + * Checks if value is greater than other. + * + * @param value The value to compare. + * @param other The other value to compare. + * @return Returns true if value is greater than other, else false. + */ + gt( + value: any, + other: any + ): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.gt + */ + gt(other: any): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.gt + */ + gt(other: any): LoDashExplicitWrapper; + } + + // gte + + interface LoDashStatic { + /** + * Checks if value is greater than or equal to other. + * + * @param value The value to compare. + * @param other The other value to compare. + * @return Returns true if value is greater than or equal to other, else false. + */ + gte( + value: any, + other: any + ): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.gte + */ + gte(other: any): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.gte + */ + gte(other: any): LoDashExplicitWrapper; + } + + // isArguments + + interface LoDashStatic { + /** + * Checks if value is classified as an arguments object. + * + * @param value The value to check. + * @return Returns true if value is correctly classified, else false. + */ + isArguments(value?: any): value is IArguments; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isArguments + */ + isArguments(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isArguments + */ + isArguments(): LoDashExplicitWrapper; + } + + // isArray + + interface LoDashStatic { + /** + * Checks if value is classified as an Array object. + * @param value The value to check. + * + * @return Returns true if value is correctly classified, else false. + */ + isArray(value?: any): value is any[]; + + /** + * DEPRECATED + */ + isArray(value?: any): value is any[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isArray + */ + isArray(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isArray + */ + isArray(): LoDashExplicitWrapper; + } + + // isArrayBuffer + + interface LoDashStatic { + /** + * Checks if value is classified as an ArrayBuffer object. + * + * @param value The value to check. + * @return Returns true if value is correctly classified, else false. + */ + isArrayBuffer(value?: any): value is ArrayBuffer; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isArrayBuffer + */ + isArrayBuffer(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isArrayBuffer + */ + isArrayBuffer(): LoDashExplicitWrapper; + } + + // isArrayLike + + interface LoDashStatic { + /** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @category Lang + * @param value The value to check. + * @returns Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ + isArrayLike(value: T & string & number): boolean; // should only match if T = any + + /** + * @see _.isArrayLike + */ + isArrayLike(value: ((...args: any[]) => any) | null | undefined): value is never; + + /** + * @see _.isArrayLike + */ + isArrayLike(value: any): value is { length: number }; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isArrayLike + */ + isArrayLike(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isArrayLike + */ + isArrayLike(): LoDashExplicitWrapper; + } + + // isArrayLikeObject + + interface LoDashStatic { + /** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @category Lang + * @param value The value to check. + * @returns Returns `true` if `value` is an array-like object, else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ + isArrayLikeObject(value: T & string & number): boolean; // should only match if T = any + + /** + * @see _.isArrayLike + */ + // tslint:disable-next-line:ban-types (type guard doesn't seem to work correctly without the Function type) + isArrayLikeObject(value: ((...args: any[]) => any) | Function | string | boolean | number | null | undefined): value is never; + + /** + * @see _.isArrayLike + */ + // tslint:disable-next-line:ban-types (type guard doesn't seem to work correctly without the Function type) + isArrayLikeObject(value: T | ((...args: any[]) => any) | Function | string | boolean | number | null | undefined): value is T & { length: number }; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isArrayLikeObject + */ + isArrayLikeObject(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isArrayLikeObject + */ + isArrayLikeObject(): LoDashExplicitWrapper; + } + + // isBoolean + + interface LoDashStatic { + /** + * Checks if value is classified as a boolean primitive or object. + * + * @param value The value to check. + * @return Returns true if value is correctly classified, else false. + */ + isBoolean(value?: any): value is boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isBoolean + */ + isBoolean(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isBoolean + */ + isBoolean(): LoDashExplicitWrapper; + } + + // isBuffer + + interface LoDashStatic { + /** + * Checks if value is a buffer. + * + * @param value The value to check. + * @return Returns true if value is a buffer, else false. + */ + isBuffer(value?: any): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isBuffer + */ + isBuffer(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isBuffer + */ + isBuffer(): LoDashExplicitWrapper; + } + + // isDate + + interface LoDashStatic { + /** + * Checks if value is classified as a Date object. + * @param value The value to check. + * + * @return Returns true if value is correctly classified, else false. + */ + isDate(value?: any): value is Date; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isDate + */ + isDate(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isDate + */ + isDate(): LoDashExplicitWrapper; + } + + // isElement + + interface LoDashStatic { + /** + * Checks if value is a DOM element. + * + * @param value The value to check. + * @return Returns true if value is a DOM element, else false. + */ + isElement(value?: any): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isElement + */ + isElement(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isElement + */ + isElement(): LoDashExplicitWrapper; + } + + // isEmpty + + interface LoDashStatic { + /** + * Checks if value is empty. A value is considered empty unless it’s an arguments object, array, string, or + * jQuery-like collection with a length greater than 0 or an object with own enumerable properties. + * + * @param value The value to inspect. + * @return Returns true if value is empty, else false. + */ + isEmpty(value?: any): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isEmpty + */ + isEmpty(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isEmpty + */ + isEmpty(): LoDashExplicitWrapper; + } + + // isEqual + + interface LoDashStatic { + /** + * Performs a deep comparison between two values to determine if they are + * equivalent. + * + * **Note:** This method supports comparing arrays, array buffers, booleans, + * date objects, error objects, maps, numbers, `Object` objects, regexes, + * sets, strings, symbols, and typed arrays. `Object` objects are compared + * by their own, not inherited, enumerable properties. Functions and DOM + * nodes are **not** supported. + * + * @category Lang + * @param value The value to compare. + * @param other The other value to compare. + * @returns Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'user': 'fred' }; + * var other = { 'user': 'fred' }; + * + * _.isEqual(object, other); + * // => true + * + * object === other; + * // => false + */ + isEqual( + value: any, + other: any + ): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isEqual + */ + isEqual( + other: any + ): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isEqual + */ + isEqual( + other: any + ): LoDashExplicitWrapper; + } + + // isEqualWith + + type IsEqualCustomizer = (value: any, other: any, indexOrKey: PropertyName | undefined, parent: any, otherParent: any, stack: any) => boolean|undefined; + + interface LoDashStatic { + /** + * This method is like `_.isEqual` except that it accepts `customizer` which is + * invoked to compare values. If `customizer` returns `undefined` comparisons are + * handled by the method instead. The `customizer` is invoked with up to seven arguments: + * (objValue, othValue [, index|key, object, other, stack]). + * + * @category Lang + * @param value The value to compare. + * @param other The other value to compare. + * @param [customizer] The function to customize comparisons. + * @returns Returns `true` if the values are equivalent, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, othValue) { + * if (isGreeting(objValue) && isGreeting(othValue)) { + * return true; + * } + * } + * + * var array = ['hello', 'goodbye']; + * var other = ['hi', 'goodbye']; + * + * _.isEqualWith(array, other, customizer); + * // => true + */ + isEqualWith( + value: any, + other: any, + customizer?: IsEqualCustomizer + ): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isEqualWith + */ + isEqualWith( + other: any, + customizer?: IsEqualCustomizer + ): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isEqualWith + */ + isEqualWith( + other: any, + customizer?: IsEqualCustomizer + ): LoDashExplicitWrapper; + } + + // isError + + interface LoDashStatic { + /** + * Checks if value is an Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, or URIError + * object. + * + * @param value The value to check. + * @return Returns true if value is an error object, else false. + */ + isError(value: any): value is Error; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isError + */ + isError(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isError + */ + isError(): LoDashExplicitWrapper; + } + + // isFinite + + interface LoDashStatic { + /** + * Checks if value is a finite primitive number. + * + * Note: This method is based on Number.isFinite. + * + * @param value The value to check. + * @return Returns true if value is a finite number, else false. + */ + isFinite(value?: any): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isFinite + */ + isFinite(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isFinite + */ + isFinite(): LoDashExplicitWrapper; + } + + // isFunction + + interface LoDashStatic { + /** + * Checks if value is a callable function. + * + * @param value The value to check. + * @return Returns true if value is correctly classified, else false. + */ + isFunction(value: any): value is (...args: any[]) => any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isFunction + */ + isFunction(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isFunction + */ + isFunction(): LoDashExplicitWrapper; + } + + // isInteger + + interface LoDashStatic { + /** + * Checks if `value` is an integer. + * + * **Note:** This method is based on [`Number.isInteger`](https://mdn.io/Number/isInteger). + * + * @category Lang + * @param value The value to check. + * @returns Returns `true` if `value` is an integer, else `false`. + * @example + * + * _.isInteger(3); + * // => true + * + * _.isInteger(Number.MIN_VALUE); + * // => false + * + * _.isInteger(Infinity); + * // => false + * + * _.isInteger('3'); + * // => false + */ + isInteger(value?: any): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isInteger + */ + isInteger(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isInteger + */ + isInteger(): LoDashExplicitWrapper; + } + + // isLength + + interface LoDashStatic { + /** + * Checks if `value` is a valid array-like length. + * + * **Note:** This function is loosely based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength). + * + * @category Lang + * @param value The value to check. + * @returns Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ + isLength(value?: any): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isLength + */ + isLength(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isLength + */ + isLength(): LoDashExplicitWrapper; + } + + // isMap + + interface LoDashStatic { + /** + * Checks if value is classified as a Map object. + * + * @param value The value to check. + * @returns Returns true if value is correctly classified, else false. + */ + isMap(value?: any): value is Map; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isMap + */ + isMap(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isMap + */ + isMap(): LoDashExplicitWrapper; + } + + // isMatch + + type isMatchCustomizer = (value: any, other: any, indexOrKey?: PropertyName) => boolean; + + interface LoDashStatic { + /** + * Performs a deep comparison between `object` and `source` to determine if + * `object` contains equivalent property values. + * + * **Note:** This method supports comparing the same values as `_.isEqual`. + * + * @category Lang + * @param object The object to inspect. + * @param source The object of property values to match. + * @returns Returns `true` if `object` is a match, else `false`. + * @example + * + * var object = { 'user': 'fred', 'age': 40 }; + * + * _.isMatch(object, { 'age': 40 }); + * // => true + * + * _.isMatch(object, { 'age': 36 }); + * // => false + */ + isMatch(object: object, source: object): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isMatch + */ + isMatch(source: object): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isMatch + */ + isMatch(source: object): LoDashExplicitWrapper; + } + + // isMatchWith + + type isMatchWithCustomizer = (value: any, other: any, indexOrKey: PropertyName) => boolean; + + interface LoDashStatic { + /** + * This method is like `_.isMatch` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined` comparisons + * are handled by the method instead. The `customizer` is invoked with three + * arguments: (objValue, srcValue, index|key, object, source). + * + * @category Lang + * @param object The object to inspect. + * @param source The object of property values to match. + * @param [customizer] The function to customize comparisons. + * @returns Returns `true` if `object` is a match, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, srcValue) { + * if (isGreeting(objValue) && isGreeting(srcValue)) { + * return true; + * } + * } + * + * var object = { 'greeting': 'hello' }; + * var source = { 'greeting': 'hi' }; + * + * _.isMatchWith(object, source, customizer); + * // => true + */ + isMatchWith(object: object, source: object, customizer: isMatchWithCustomizer): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isMatchWith + */ + isMatchWith(source: object, customizer: isMatchWithCustomizer): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isMatchWith + */ + isMatchWith(source: object, customizer: isMatchWithCustomizer): LoDashExplicitWrapper; + } + + // isNaN + + interface LoDashStatic { + /** + * Checks if value is NaN. + * + * Note: This method is not the same as isNaN which returns true for undefined and other non-numeric values. + * + * @param value The value to check. + * @return Returns true if value is NaN, else false. + */ + isNaN(value?: any): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isNaN + */ + isNaN(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isNaN + */ + isNaN(): LoDashExplicitWrapper; + } + + // isNative + + interface LoDashStatic { + /** + * Checks if value is a native function. + * @param value The value to check. + * + * @retrun Returns true if value is a native function, else false. + */ + isNative(value: any): value is (...args: any[]) => any; + } + + interface LoDashImplicitWrapper { + /** + * see _.isNative + */ + isNative(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * see _.isNative + */ + isNative(): LoDashExplicitWrapper; + } + + // isNil + + interface LoDashStatic { + /** + * Checks if `value` is `null` or `undefined`. + * + * @category Lang + * @param value The value to check. + * @returns Returns `true` if `value` is nullish, else `false`. + * @example + * + * _.isNil(null); + * // => true + * + * _.isNil(void 0); + * // => true + * + * _.isNil(NaN); + * // => false + */ + isNil(value: any): value is null | undefined; + } + + interface LoDashImplicitWrapper { + /** + * see _.isNil + */ + isNil(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * see _.isNil + */ + isNil(): LoDashExplicitWrapper; + } + + // isNull + + interface LoDashStatic { + /** + * Checks if value is null. + * + * @param value The value to check. + * @return Returns true if value is null, else false. + */ + isNull(value: any): value is null; + } + + interface LoDashImplicitWrapper { + /** + * see _.isNull + */ + isNull(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * see _.isNull + */ + isNull(): LoDashExplicitWrapper; + } + + // isNumber + + interface LoDashStatic { + /** + * Checks if value is classified as a Number primitive or object. + * + * Note: To exclude Infinity, -Infinity, and NaN, which are classified as numbers, use the _.isFinite method. + * + * @param value The value to check. + * @return Returns true if value is correctly classified, else false. + */ + isNumber(value?: any): value is number; + } + + interface LoDashImplicitWrapper { + /** + * see _.isNumber + */ + isNumber(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * see _.isNumber + */ + isNumber(): LoDashExplicitWrapper; + } + + // isObject + + interface LoDashStatic { + /** + * Checks if value is the language type of Object. (e.g. arrays, functions, objects, regexes, new Number(0), + * and new String('')) + * + * @param value The value to check. + * @return Returns true if value is an object, else false. + */ + isObject(value?: any): boolean; + } + + interface LoDashImplicitWrapper { + /** + * see _.isObject + */ + isObject(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * see _.isObject + */ + isObject(): LoDashExplicitWrapper; + } + + // isObjectLike + + interface LoDashStatic { + /** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @category Lang + * @param value The value to check. + * @returns Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ + isObjectLike(value?: any): boolean; + } + + interface LoDashImplicitWrapper { + /** + * see _.isObjectLike + */ + isObjectLike(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * see _.isObjectLike + */ + isObjectLike(): LoDashExplicitWrapper; + } + + // isPlainObject + + interface LoDashStatic { + /** + * Checks if value is a plain object, that is, an object created by the Object constructor or one with a + * [[Prototype]] of null. + * + * Note: This method assumes objects created by the Object constructor have no inherited enumerable properties. + * + * @param value The value to check. + * @return Returns true if value is a plain object, else false. + */ + isPlainObject(value?: any): boolean; + } + + interface LoDashImplicitWrapper { + /** + * see _.isPlainObject + */ + isPlainObject(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * see _.isPlainObject + */ + isPlainObject(): LoDashExplicitWrapper; + } + + // isRegExp + + interface LoDashStatic { + /** + * Checks if value is classified as a RegExp object. + * @param value The value to check. + * + * @return Returns true if value is correctly classified, else false. + */ + isRegExp(value?: any): value is RegExp; + } + + interface LoDashImplicitWrapper { + /** + * see _.isRegExp + */ + isRegExp(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * see _.isRegExp + */ + isRegExp(): LoDashExplicitWrapper; + } + + // isSafeInteger + + interface LoDashStatic { + /** + * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 + * double precision number which isn't the result of a rounded unsafe integer. + * + * **Note:** This method is based on [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). + * + * @category Lang + * @param value The value to check. + * @returns Returns `true` if `value` is a safe integer, else `false`. + * @example + * + * _.isSafeInteger(3); + * // => true + * + * _.isSafeInteger(Number.MIN_VALUE); + * // => false + * + * _.isSafeInteger(Infinity); + * // => false + * + * _.isSafeInteger('3'); + * // => false + */ + isSafeInteger(value: any): boolean; + } + + interface LoDashImplicitWrapper { + /** + * see _.isSafeInteger + */ + isSafeInteger(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * see _.isSafeInteger + */ + isSafeInteger(): LoDashExplicitWrapper; + } + + // isSet + + interface LoDashStatic { + /** + * Checks if value is classified as a Set object. + * + * @param value The value to check. + * @returns Returns true if value is correctly classified, else false. + */ + isSet(value?: any): value is Set; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isSet + */ + isSet(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isSet + */ + isSet(): LoDashExplicitWrapper; + } + + // isString + + interface LoDashStatic { + /** + * Checks if value is classified as a String primitive or object. + * + * @param value The value to check. + * @return Returns true if value is correctly classified, else false. + */ + isString(value?: any): value is string; + } + + interface LoDashImplicitWrapper { + /** + * see _.isString + */ + isString(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * see _.isString + */ + isString(): LoDashExplicitWrapper; + } + + // isSymbol + + interface LoDashStatic { + /** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @category Lang + * @param value The value to check. + * @returns Returns `true` if `value` is correctly classified, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ + isSymbol(value: any): boolean; + } + + interface LoDashImplicitWrapper { + /** + * see _.isSymbol + */ + isSymbol(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * see _.isSymbol + */ + isSymbol(): LoDashExplicitWrapper; + } + + // isTypedArray + + interface LoDashStatic { + /** + * Checks if value is classified as a typed array. + * + * @param value The value to check. + * @return Returns true if value is correctly classified, else false. + */ + isTypedArray(value: any): boolean; + } + + interface LoDashImplicitWrapper { + /** + * see _.isTypedArray + */ + isTypedArray(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * see _.isTypedArray + */ + isTypedArray(): LoDashExplicitWrapper; + } + + // isUndefined + + interface LoDashStatic { + /** + * Checks if value is undefined. + * + * @param value The value to check. + * @return Returns true if value is undefined, else false. + */ + isUndefined(value: any): value is undefined; + } + + interface LoDashImplicitWrapper { + /** + * see _.isUndefined + */ + isUndefined(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * see _.isUndefined + */ + isUndefined(): LoDashExplicitWrapper; + } + + // isWeakMap + + interface LoDashStatic { + /** + * Checks if value is classified as a WeakMap object. + * + * @param value The value to check. + * @returns Returns true if value is correctly classified, else false. + */ + isWeakMap(value?: any): value is WeakMap; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isSet + */ + isWeakMap(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isSet + */ + isWeakMap(): LoDashExplicitWrapper; + } + + // isWeakSet + + interface LoDashStatic { + /** + * Checks if value is classified as a WeakSet object. + * + * @param value The value to check. + * @returns Returns true if value is correctly classified, else false. + */ + isWeakSet(value?: any): value is WeakSet; + } + + interface LoDashImplicitWrapper { + /** + * @see _.isWeakSet + */ + isWeakSet(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.isWeakSet + */ + isWeakSet(): LoDashExplicitWrapper; + } + + // lt + + interface LoDashStatic { + /** + * Checks if value is less than other. + * + * @param value The value to compare. + * @param other The other value to compare. + * @return Returns true if value is less than other, else false. + */ + lt( + value: any, + other: any + ): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.lt + */ + lt(other: any): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.lt + */ + lt(other: any): LoDashExplicitWrapper; + } + + // lte + + interface LoDashStatic { + /** + * Checks if value is less than or equal to other. + * + * @param value The value to compare. + * @param other The other value to compare. + * @return Returns true if value is less than or equal to other, else false. + */ + lte( + value: any, + other: any + ): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.lte + */ + lte(other: any): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.lte + */ + lte(other: any): LoDashExplicitWrapper; + } + + // toArray + + interface LoDashStatic { + /** + * Converts value to an array. + * + * @param value The value to convert. + * @return Returns the converted array. + */ + toArray(value: List | Dictionary | NumericDictionary | null | undefined): T[]; + + /** + * @see _.toArray + */ + toArray(value: T): Array; + + /** + * @see _.toArray + */ + toArray(): any[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.toArray + */ + toArray(this: LoDashImplicitWrapper | Dictionary | NumericDictionary | null | undefined>): LoDashImplicitWrapper; + + /** + * @see _.toArray + */ + toArray(this: LoDashImplicitWrapper): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.toArray + */ + toArray(this: LoDashExplicitWrapper | Dictionary | NumericDictionary | null | undefined>): LoDashExplicitWrapper; + + /** + * @see _.toArray + */ + toArray(this: LoDashImplicitWrapper): LoDashExplicitWrapper>; + } + + // toFinite + + interface LoDashStatic { + /** + * Converts `value` to a finite number. + * + * @since 4.12.0 + * @category Lang + * @param value The value to convert. + * @returns Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ + toFinite(value: any): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.toFinite + */ + toFinite(): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.toFinite + */ + toFinite(): LoDashExplicitWrapper; + } + + // toInteger + + interface LoDashStatic { + /** + * Converts `value` to an integer. + * + * **Note:** This function is loosely based on [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger). + * + * @category Lang + * @param value The value to convert. + * @returns Returns the converted integer. + * @example + * + * _.toInteger(3); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3'); + * // => 3 + */ + toInteger(value: any): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.toInteger + */ + toInteger(): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.toInteger + */ + toInteger(): LoDashExplicitWrapper; + } + + // toLength + + interface LoDashStatic { + /** + * Converts `value` to an integer suitable for use as the length of an + * array-like object. + * + * **Note:** This method is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength). + * + * @category Lang + * @param value The value to convert. + * @return Returns the converted integer. + * @example + * + * _.toLength(3); + * // => 3 + * + * _.toLength(Number.MIN_VALUE); + * // => 0 + * + * _.toLength(Infinity); + * // => 4294967295 + * + * _.toLength('3'); + * // => 3 + */ + toLength(value: any): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.toLength + */ + toLength(): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.toLength + */ + toLength(): LoDashExplicitWrapper; + } + + // toNumber + + interface LoDashStatic { + /** + * Converts `value` to a number. + * + * @category Lang + * @param value The value to process. + * @returns Returns the number. + * @example + * + * _.toNumber(3); + * // => 3 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3'); + * // => 3 + */ + toNumber(value: any): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.toNumber + */ + toNumber(): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.toNumber + */ + toNumber(): LoDashExplicitWrapper; + } + + // toPlainObject + + interface LoDashStatic { + /** + * Converts value to a plain object flattening inherited enumerable properties of value to own properties + * of the plain object. + * + * @param value The value to convert. + * @return Returns the converted plain object. + */ + toPlainObject(value?: any): any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.toPlainObject + */ + toPlainObject(): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.toPlainObject + */ + toPlainObject(): LoDashExplicitWrapper; + } + + // toSafeInteger + + interface LoDashStatic { + /** + * Converts `value` to a safe integer. A safe integer can be compared and + * represented correctly. + * + * @category Lang + * @param value The value to convert. + * @returns Returns the converted integer. + * @example + * + * _.toSafeInteger(3); + * // => 3 + * + * _.toSafeInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toSafeInteger(Infinity); + * // => 9007199254740991 + * + * _.toSafeInteger('3'); + * // => 3 + */ + toSafeInteger(value: any): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.toSafeInteger + */ + toSafeInteger(): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.toSafeInteger + */ + toSafeInteger(): LoDashExplicitWrapper; + } + + // toString + + interface LoDashStatic { + /** + * Converts `value` to a string if it's not one. An empty string is returned + * for `null` and `undefined` values. The sign of `-0` is preserved. + * + * @category Lang + * @param value The value to process. + * @returns Returns the string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ + toString(value: any): string; + } +} \ No newline at end of file diff --git a/types/lodash/common/math.d.ts b/types/lodash/common/math.d.ts new file mode 100644 index 0000000000..a0af6114b5 --- /dev/null +++ b/types/lodash/common/math.d.ts @@ -0,0 +1,536 @@ +import _ = require("../index"); +declare module "../index" { + // add + + interface LoDashStatic { + /** + * Adds two numbers. + * + * @param augend The first number to add. + * @param addend The second number to add. + * @return Returns the sum. + */ + add( + augend: number, + addend: number + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.add + */ + add(addend: number): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.add + */ + add(addend: number): LoDashExplicitWrapper; + } + + // ceil + + interface LoDashStatic { + /** + * Calculates n rounded up to precision. + * + * @param n The number to round up. + * @param precision The precision to round up to. + * @return Returns the rounded up number. + */ + ceil( + n: number, + precision?: number + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.ceil + */ + ceil(precision?: number): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.ceil + */ + ceil(precision?: number): LoDashExplicitWrapper; + } + + // divide + + interface LoDashStatic { + /** + * Divide two numbers. + * + * @param dividend The first number in a division. + * @param divisor The second number in a division. + * @returns Returns the quotient. + */ + divide( + dividend: number, + divisor: number + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.divide + */ + divide(divisor: number): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.divide + */ + divide(divisor: number): LoDashExplicitWrapper; + } + + // floor + + interface LoDashStatic { + /** + * Calculates n rounded down to precision. + * + * @param n The number to round down. + * @param precision The precision to round down to. + * @return Returns the rounded down number. + */ + floor( + n: number, + precision?: number + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.floor + */ + floor(precision?: number): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.floor + */ + floor(precision?: number): LoDashExplicitWrapper; + } + + // max + + interface LoDashStatic { + /** + * Computes the maximum value of `array`. If `array` is empty or falsey + * `undefined` is returned. + * + * @category Math + * @param array The array to iterate over. + * @returns Returns the maximum value. + */ + max( + collection: List | null | undefined + ): T | undefined; + } + + interface LoDashImplicitWrapper { + /** + * @see _.max + */ + max(this: LoDashImplicitWrapper | null | undefined>): T | undefined; + } + + interface LoDashExplicitWrapper { + /** + * @see _.max + */ + max(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; + } + + // maxBy + + interface LoDashStatic { + /** + * This method is like `_.max` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * the value is ranked. The iteratee is invoked with one argument: (value). + * + * @category Math + * @param array The array to iterate over. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns the maximum value. + * @example + * + * var objects = [{ 'n': 1 }, { 'n': 2 }]; + * + * _.maxBy(objects, function(o) { return o.a; }); + * // => { 'n': 2 } + * + * // using the `_.property` iteratee shorthand + * _.maxBy(objects, 'n'); + * // => { 'n': 2 } + */ + maxBy( + collection: List | null | undefined, + iteratee?: ListIteratee + ): T | undefined; + } + + interface LoDashImplicitWrapper { + /** + * @see _.maxBy + */ + maxBy( + this: LoDashImplicitWrapper | null | undefined>, + iteratee?: ListIteratee + ): T | undefined; + } + + interface LoDashExplicitWrapper { + /** + * @see _.maxBy + */ + maxBy( + this: LoDashExplicitWrapper | null | undefined>, + iteratee?: ListIteratee + ): LoDashExplicitWrapper; + } + + // mean + + interface LoDashStatic { + /** + * Computes the mean of the values in `array`. + * + * @category Math + * @param array The array to iterate over. + * @returns Returns the mean. + * @example + * + * _.mean([4, 2, 8, 6]); + * // => 5 + */ + mean( + collection: List | null | undefined + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.mean + */ + mean(): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.mean + */ + mean(): LoDashExplicitWrapper; + } + + // meanBy + + interface LoDashStatic { + /** + * Computes the mean of the provided propties of the objects in the `array` + * + * @category Math + * @param array The array to iterate over. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns the mean. + * @example + * + * _.mean([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], 'n'); + * // => 5 + */ + meanBy( + collection: List | null | undefined, + iteratee?: ListIteratee + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.meanBy + */ + meanBy( + this: LoDashImplicitWrapper | null | undefined>, + iteratee?: ListIteratee + ): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.meanBy + */ + meanBy( + this: LoDashExplicitWrapper | null | undefined>, + iteratee?: ListIteratee + ): LoDashExplicitWrapper; + } + + // min + + interface LoDashStatic { + /** + * Computes the minimum value of `array`. If `array` is empty or falsey + * `undefined` is returned. + * + * @category Math + * @param array The array to iterate over. + * @returns Returns the minimum value. + */ + min( + collection: List | null | undefined + ): T | undefined; + } + + interface LoDashImplicitWrapper { + /** + * @see _.min + */ + min(this: LoDashImplicitWrapper | null | undefined>): T | undefined; + } + + interface LoDashExplicitWrapper { + /** + * @see _.min + */ + min(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; + } + + // minBy + + interface LoDashStatic { + /** + * This method is like `_.min` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * the value is ranked. The iteratee is invoked with one argument: (value). + * + * @category Math + * @param array The array to iterate over. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns the minimum value. + * @example + * + * var objects = [{ 'n': 1 }, { 'n': 2 }]; + * + * _.minBy(objects, function(o) { return o.a; }); + * // => { 'n': 1 } + * + * // using the `_.property` iteratee shorthand + * _.minBy(objects, 'n'); + * // => { 'n': 1 } + */ + minBy( + collection: List | null | undefined, + iteratee?: ListIteratee + ): T | undefined; + } + + interface LoDashImplicitWrapper { + /** + * @see _.minBy + */ + minBy( + this: LoDashImplicitWrapper | null | undefined>, + iteratee?: ListIteratee + ): T | undefined; + } + + interface LoDashExplicitWrapper { + /** + * @see _.minBy + */ + minBy( + this: LoDashExplicitWrapper | null | undefined>, + iteratee?: ListIteratee + ): LoDashExplicitWrapper; + } + + // multiply + + interface LoDashStatic { + /** + * Multiply two numbers. + * @param multiplier The first number in a multiplication. + * @param multiplicand The second number in a multiplication. + * @returns Returns the product. + */ + multiply( + multiplier: number, + multiplicand: number + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.multiply + */ + multiply(multiplicand: number): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.multiply + */ + multiply(multiplicand: number): LoDashExplicitWrapper; + } + + // round + + interface LoDashStatic { + /** + * Calculates n rounded to precision. + * + * @param n The number to round. + * @param precision The precision to round to. + * @return Returns the rounded number. + */ + round( + n: number, + precision?: number + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.round + */ + round(precision?: number): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.round + */ + round(precision?: number): LoDashExplicitWrapper; + } + + // subtract + + interface LoDashStatic { + /** + * Subtract two numbers. + * + * @category Math + * @param minuend The first number in a subtraction. + * @param subtrahend The second number in a subtraction. + * @returns Returns the difference. + * @example + * + * _.subtract(6, 4); + * // => 2 + */ + subtract( + minuend: number, + subtrahend: number + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.subtract + */ + subtract( + subtrahend: number + ): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.subtract + */ + subtract( + subtrahend: number + ): LoDashExplicitWrapper; + } + + // sum + + interface LoDashStatic { + /** + * Computes the sum of the values in `array`. + * + * @category Math + * @param array The array to iterate over. + * @returns Returns the sum. + * @example + * + * _.sum([4, 2, 8, 6]); + * // => 20 + */ + sum(collection: List | null | undefined): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.sum + */ + sum(): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.sum + */ + sum(): LoDashExplicitWrapper; + } + + // sumBy + + interface LoDashStatic { + /** + * This method is like `_.sum` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the value to be summed. + * The iteratee is invoked with one argument: (value). + * + * @category Math + * @param array The array to iterate over. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns the sum. + * @example + * + * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }]; + * + * _.sumBy(objects, function(o) { return o.n; }); + * // => 20 + * + * // using the `_.property` iteratee shorthand + * _.sumBy(objects, 'n'); + * // => 20 + */ + sumBy( + collection: List | null | undefined, + iteratee?: ((value: T) => number) | string + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.sumBy + */ + sumBy( + this: LoDashImplicitWrapper | null | undefined>, + iteratee?: ((value: T) => number) | string + ): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.sumBy + */ + sumBy( + this: LoDashExplicitWrapper | null | undefined>, + iteratee?: ((value: T) => number) | string + ): LoDashExplicitWrapper; + } + + /********** + * Number * + **********/ +} \ No newline at end of file diff --git a/types/lodash/number/random.d.ts b/types/lodash/common/number.d.ts similarity index 51% rename from types/lodash/number/random.d.ts rename to types/lodash/common/number.d.ts index a6522326f6..3e6a945855 100644 --- a/types/lodash/number/random.d.ts +++ b/types/lodash/common/number.d.ts @@ -1,5 +1,102 @@ import _ = require("../index"); declare module "../index" { + // clamp + + interface LoDashStatic { + /** + * Clamps `number` within the inclusive `lower` and `upper` bounds. + * + * @category Number + * @param number The number to clamp. + * @param [lower] The lower bound. + * @param upper The upper bound. + * @returns Returns the clamped number. + * @example + * + * _.clamp(-10, -5, 5); + * // => -5 + * + * _.clamp(10, -5, 5); + * // => 5 + */ + clamp( + number: number, + lower: number, + upper: number + ): number; + clamp( + number: number, + upper: number + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.clamp + */ + clamp( + lower: number, + upper: number + ): number; + clamp( + upper: number + ): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.clamp + */ + clamp( + lower: number, + upper: number + ): LoDashExplicitWrapper; + clamp( + upper: number + ): LoDashExplicitWrapper; + } + + // inRange + + interface LoDashStatic { + /** + * Checks if n is between start and up to but not including, end. If end is not specified it’s set to start + * with start then set to 0. + * + * @param n The number to check. + * @param start The start of the range. + * @param end The end of the range. + * @return Returns true if n is in the range, else false. + */ + inRange( + n: number, + start: number, + end?: number + ): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.inRange + */ + inRange( + start: number, + end?: number + ): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.inRange + */ + inRange( + start: number, + end?: number + ): LoDashExplicitWrapper; + } + + // random + interface LoDashStatic { /** * Produces a random number between min and max (inclusive). If only one argument is provided a number between diff --git a/types/lodash/common/object.d.ts b/types/lodash/common/object.d.ts new file mode 100644 index 0000000000..6100e25c43 --- /dev/null +++ b/types/lodash/common/object.d.ts @@ -0,0 +1,3653 @@ +import _ = require("../index"); +declare module "../index" { + // assign + + interface LoDashStatic { + /** + * Assigns own enumerable properties of source objects to the destination + * object. Source objects are applied from left to right. Subsequent sources + * overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object` and is loosely based on + * [`Object.assign`](https://mdn.io/Object/assign). + * + * @category Object + * @param object The destination object. + * @param [sources] The source objects. + * @returns Returns `object`. + * @example + * + * function Foo() { + * this.c = 3; + * } + * + * function Bar() { + * this.e = 5; + * } + * + * Foo.prototype.d = 4; + * Bar.prototype.f = 6; + * + * _.assign({ 'a': 1 }, new Foo, new Bar); + * // => { 'a': 1, 'c': 3, 'e': 5 } + */ + assign( + object: TObject, + source: TSource + ): TObject & TSource; + + /** + * @see assign + */ + assign( + object: TObject, + source1: TSource1, + source2: TSource2 + ): TObject & TSource1 & TSource2; + + /** + * @see assign + */ + assign( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): TObject & TSource1 & TSource2 & TSource3; + + /** + * @see assign + */ + assign( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): TObject & TSource1 & TSource2 & TSource3 & TSource4; + + /** + * @see _.assign + */ + assign(object: TObject): TObject; + + /** + * @see _.assign + */ + assign( + object: any, + ...otherArgs: any[] + ): any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.assign + */ + assign( + source: TSource + ): LoDashImplicitWrapper; + + /** + * @see assign + */ + assign( + source1: TSource1, + source2: TSource2 + ): LoDashImplicitWrapper; + + /** + * @see assign + */ + assign( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashImplicitWrapper; + + /** + * @see assign + */ + assign( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashImplicitWrapper; + + /** + * @see _.assign + */ + assign(): LoDashImplicitWrapper; + + /** + * @see _.assign + */ + assign(...otherArgs: any[]): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.assign + */ + assign( + source: TSource + ): LoDashExplicitWrapper; + + /** + * @see assign + */ + assign( + source1: TSource1, + source2: TSource2 + ): LoDashExplicitWrapper; + + /** + * @see assign + */ + assign( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashExplicitWrapper; + + /** + * @see assign + */ + assign( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashExplicitWrapper; + + /** + * @see _.assign + */ + assign(): LoDashExplicitWrapper; + + /** + * @see _.assign + */ + assign(...otherArgs: any[]): LoDashExplicitWrapper; + } + + // assignIn + + interface LoDashStatic { + /** + * This method is like `_.assign` except that it iterates over own and + * inherited source properties. + * + * **Note:** This method mutates `object`. + * + * @alias extend + * @category Object + * @param object The destination object. + * @param [sources] The source objects. + * @returns Returns `object`. + * @example + * + * function Foo() { + * this.b = 2; + * } + * + * function Bar() { + * this.d = 4; + * } + * + * Foo.prototype.c = 3; + * Bar.prototype.e = 5; + * + * _.assignIn({ 'a': 1 }, new Foo, new Bar); + * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5 } + */ + assignIn( + object: TObject, + source: TSource + ): TObject & TSource; + + /** + * @see assignIn + */ + assignIn( + object: TObject, + source1: TSource1, + source2: TSource2 + ): TObject & TSource1 & TSource2; + + /** + * @see assignIn + */ + assignIn( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): TObject & TSource1 & TSource2 & TSource3; + + /** + * @see assignIn + */ + assignIn( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): TObject & TSource1 & TSource2 & TSource3 & TSource4; + + /** + * @see _.assignIn + */ + assignIn(object: TObject): TObject; + + /** + * @see _.assignIn + */ + assignIn( + object: any, + ...otherArgs: any[] + ): TResult; + } + + interface LoDashImplicitWrapper { + /** + * @see _.assignIn + */ + assignIn( + source: TSource + ): LoDashImplicitWrapper; + + /** + * @see assignIn + */ + assignIn( + source1: TSource1, + source2: TSource2 + ): LoDashImplicitWrapper; + + /** + * @see assignIn + */ + assignIn( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashImplicitWrapper; + + /** + * @see assignIn + */ + assignIn( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashImplicitWrapper; + + /** + * @see _.assignIn + */ + assignIn(): LoDashImplicitWrapper; + + /** + * @see _.assignIn + */ + assignIn(...otherArgs: any[]): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.assignIn + */ + assignIn( + source: TSource + ): LoDashExplicitWrapper; + + /** + * @see assignIn + */ + assignIn( + source1: TSource1, + source2: TSource2 + ): LoDashExplicitWrapper; + + /** + * @see assignIn + */ + assignIn( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashExplicitWrapper; + + /** + * @see assignIn + */ + assignIn( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashExplicitWrapper; + + /** + * @see _.assignIn + */ + assignIn(): LoDashExplicitWrapper; + + /** + * @see _.assignIn + */ + assignIn(...otherArgs: any[]): LoDashExplicitWrapper; + } + + // assignInWith + + type AssignCustomizer = (objectValue: any, sourceValue: any, key?: string, object?: {}, source?: {}) => any; + + interface LoDashStatic { + /** + * This method is like `_.assignIn` except that it accepts `customizer` which + * is invoked to produce the assigned values. If `customizer` returns `undefined` + * assignment is handled by the method instead. The `customizer` is invoked + * with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @alias extendWith + * @category Object + * @param object The destination object. + * @param sources The source objects. + * @param [customizer] The function to customize assigned values. + * @returns Returns `object`. + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignInWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + assignInWith( + object: TObject, + source: TSource, + customizer: AssignCustomizer + ): TObject & TSource; + + /** + * @see assignInWith + */ + assignInWith( + object: TObject, + source1: TSource1, + source2: TSource2, + customizer: AssignCustomizer + ): TObject & TSource1 & TSource2; + + /** + * @see assignInWith + */ + assignInWith( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: AssignCustomizer + ): TObject & TSource1 & TSource2 & TSource3; + + /** + * @see assignInWith + */ + assignInWith( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: AssignCustomizer + ): TObject & TSource1 & TSource2 & TSource3 & TSource4; + + /** + * @see _.assignInWith + */ + assignInWith(object: TObject): TObject; + + /** + * @see _.assignInWith + */ + assignInWith( + object: any, + ...otherArgs: any[] + ): TResult; + } + + interface LoDashImplicitWrapper { + /** + * @see _.assignInWith + */ + assignInWith( + source: TSource, + customizer: AssignCustomizer + ): LoDashImplicitWrapper; + + /** + * @see assignInWith + */ + assignInWith( + source1: TSource1, + source2: TSource2, + customizer: AssignCustomizer + ): LoDashImplicitWrapper; + + /** + * @see assignInWith + */ + assignInWith( + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: AssignCustomizer + ): LoDashImplicitWrapper; + + /** + * @see assignInWith + */ + assignInWith( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: AssignCustomizer + ): LoDashImplicitWrapper; + + /** + * @see _.assignInWith + */ + assignInWith(): LoDashImplicitWrapper; + + /** + * @see _.assignInWith + */ + assignInWith(...otherArgs: any[]): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.assignInWith + */ + assignInWith( + source: TSource, + customizer: AssignCustomizer + ): LoDashExplicitWrapper; + + /** + * @see assignInWith + */ + assignInWith( + source1: TSource1, + source2: TSource2, + customizer: AssignCustomizer + ): LoDashExplicitWrapper; + + /** + * @see assignInWith + */ + assignInWith( + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: AssignCustomizer + ): LoDashExplicitWrapper; + + /** + * @see assignInWith + */ + assignInWith( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: AssignCustomizer + ): LoDashExplicitWrapper; + + /** + * @see _.assignInWith + */ + assignInWith(): LoDashExplicitWrapper; + + /** + * @see _.assignInWith + */ + assignInWith(...otherArgs: any[]): LoDashExplicitWrapper; + } + + // assignWith + + interface LoDashStatic { + /** + * This method is like `_.assign` except that it accepts `customizer` which + * is invoked to produce the assigned values. If `customizer` returns `undefined` + * assignment is handled by the method instead. The `customizer` is invoked + * with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @category Object + * @param object The destination object. + * @param sources The source objects. + * @param [customizer] The function to customize assigned values. + * @returns Returns `object`. + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + assignWith( + object: TObject, + source: TSource, + customizer: AssignCustomizer + ): TObject & TSource; + + /** + * @see assignWith + */ + assignWith( + object: TObject, + source1: TSource1, + source2: TSource2, + customizer: AssignCustomizer + ): TObject & TSource1 & TSource2; + + /** + * @see assignWith + */ + assignWith( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: AssignCustomizer + ): TObject & TSource1 & TSource2 & TSource3; + + /** + * @see assignWith + */ + assignWith( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: AssignCustomizer + ): TObject & TSource1 & TSource2 & TSource3 & TSource4; + + /** + * @see _.assignWith + */ + assignWith(object: TObject): TObject; + + /** + * @see _.assignWith + */ + assignWith( + object: any, + ...otherArgs: any[] + ): TResult; + } + + interface LoDashImplicitWrapper { + /** + * @see _.assignWith + */ + assignWith( + source: TSource, + customizer: AssignCustomizer + ): LoDashImplicitWrapper; + + /** + * @see assignWith + */ + assignWith( + source1: TSource1, + source2: TSource2, + customizer: AssignCustomizer + ): LoDashImplicitWrapper; + + /** + * @see assignWith + */ + assignWith( + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: AssignCustomizer + ): LoDashImplicitWrapper; + + /** + * @see assignWith + */ + assignWith( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: AssignCustomizer + ): LoDashImplicitWrapper; + + /** + * @see _.assignWith + */ + assignWith(): LoDashImplicitWrapper; + + /** + * @see _.assignWith + */ + assignWith(...otherArgs: any[]): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.assignWith + */ + assignWith( + source: TSource, + customizer: AssignCustomizer + ): LoDashExplicitWrapper; + + /** + * @see assignWith + */ + assignWith( + source1: TSource1, + source2: TSource2, + customizer: AssignCustomizer + ): LoDashExplicitWrapper; + + /** + * @see assignWith + */ + assignWith( + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: AssignCustomizer + ): LoDashExplicitWrapper; + + /** + * @see assignWith + */ + assignWith( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: AssignCustomizer + ): LoDashExplicitWrapper; + + /** + * @see _.assignWith + */ + assignWith(): LoDashExplicitWrapper; + + /** + * @see _.assignWith + */ + assignWith(...otherArgs: any[]): LoDashExplicitWrapper; + } + + // at + + interface LoDashStatic { + /** + * Creates an array of elements corresponding to the given keys, or indexes, of collection. Keys may be + * specified as individual arguments or as arrays of keys. + * + * @param object The object to iterate over. + * @param props The property names or indexes of elements to pick, specified individually or in arrays. + * @return Returns the new array of picked elements. + */ + at( + object: List | Dictionary | null | undefined, + ...props: PropertyPath[] + ): T[]; + + /** + * @see _.at + */ + at( + object: T | null | undefined, + ...props: Array> + ): Array; + } + + interface LoDashImplicitWrapper { + /** + * @see _.at + */ + at( + this: LoDashImplicitWrapper | Dictionary | null | undefined>, + ...props: PropertyPath[] + ): LoDashImplicitWrapper; + + /** + * @see _.at + */ + at( + this: LoDashImplicitWrapper, + ...props: Array> + ): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.at + */ + at( + this: LoDashExplicitWrapper | Dictionary | null | undefined>, + ...props: PropertyPath[] + ): LoDashExplicitWrapper; + + /** + * @see _.at + */ + at( + this: LoDashExplicitWrapper, + ...props: Array> + ): LoDashExplicitWrapper>; + } + + // create + + interface LoDashStatic { + /** + * Creates an object that inherits from the given prototype object. If a properties object is provided its own + * enumerable properties are assigned to the created object. + * + * @param prototype The object to inherit from. + * @param properties The properties to assign to the object. + * @return Returns the new object. + */ + create( + prototype: T, + properties?: U + ): T & U; + } + + interface LoDashImplicitWrapper { + /** + * @see _.create + */ + create(properties?: U): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.create + */ + create(properties?: U): LoDashExplicitWrapper; + } + + // defaults + + interface LoDashStatic { + /** + * Assigns own enumerable properties of source object(s) to the destination object for all destination + * properties that resolve to undefined. Once a property is set, additional values of the same property are + * ignored. + * + * Note: This method mutates object. + * + * @param object The destination object. + * @param sources The source objects. + * @return The destination object. + */ + defaults( + object: TObject, + source: TSource + ): TSource & TObject; + + /** + * @see _.defaults + */ + defaults( + object: TObject, + source1: TSource1, + source2: TSource2 + ): TSource2 & TSource1 & TObject; + + /** + * @see _.defaults + */ + defaults( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): TSource3 & TSource2 & TSource1 & TObject; + + /** + * @see _.defaults + */ + defaults( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): TSource4 & TSource3 & TSource2 & TSource1 & TObject; + + /** + * @see _.defaults + */ + defaults(object: TObject): TObject; + + /** + * @see _.defaults + */ + defaults( + object: any, + ...sources: any[] + ): any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.defaults + */ + defaults( + source: TSource + ): LoDashImplicitWrapper; + + /** + * @see _.defaults + */ + defaults( + source1: TSource1, + source2: TSource2 + ): LoDashImplicitWrapper; + + /** + * @see _.defaults + */ + defaults( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashImplicitWrapper; + + /** + * @see _.defaults + */ + defaults( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashImplicitWrapper; + + /** + * @see _.defaults + */ + defaults(): LoDashImplicitWrapper; + + /** + * @see _.defaults + */ + defaults(...sources: any[]): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.defaults + */ + defaults( + source: TSource + ): LoDashExplicitWrapper; + + /** + * @see _.defaults + */ + defaults( + source1: TSource1, + source2: TSource2 + ): LoDashExplicitWrapper; + + /** + * @see _.defaults + */ + defaults( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashExplicitWrapper; + + /** + * @see _.defaults + */ + defaults( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashExplicitWrapper; + + /** + * @see _.defaults + */ + defaults(): LoDashExplicitWrapper; + + /** + * @see _.defaults + */ + defaults(...sources: any[]): LoDashExplicitWrapper; + } + + // defaultsDeep + + interface LoDashStatic { + /** + * This method is like _.defaults except that it recursively assigns default properties. + * @param object The destination object. + * @param sources The source objects. + * @return Returns object. + **/ + defaultsDeep( + object: any, + ...sources: any[]): any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.defaultsDeep + **/ + defaultsDeep(...sources: any[]): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.defaultsDeep + **/ + defaultsDeep(...sources: any[]): LoDashExplicitWrapper; + } + + // entries + + interface LoDashStatic { + /** + * @see _.toPairs + */ + entries(object?: Dictionary): Array<[string, T]>; + + /** + * @see _.toPairs + */ + entries(object?: object): Array<[string, any]>; + } + + interface LoDashImplicitWrapper { + /** + * @see _.toPairs + */ + entries(this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; + + /** + * @see _.toPairs + */ + entries(): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.toPairs + */ + entries(this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; + + /** + * @see _.toPairs + */ + entries(): LoDashExplicitWrapper>; + } + + // entriesIn + + interface LoDashStatic { + /** + * @see _.entriesIn + */ + entriesIn(object?: Dictionary): Array<[string, T]>; + + /** + * @see _.entriesIn + */ + entriesIn(object?: object): Array<[string, any]>; + } + + interface LoDashImplicitWrapper { + /** + * @see _.entriesIn + */ + entriesIn(this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; + + /** + * @see _.entriesIn + */ + entriesIn(): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.entriesIn + */ + entriesIn(this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; + + /** + * @see _.entriesIn + */ + entriesIn(): LoDashExplicitWrapper>; + } + + // extend + + interface LoDashStatic { + /** + * @see _.extend + */ + extend( + object: TObject, + source: TSource + ): TObject & TSource; + + /** + * @see _.extend + */ + extend( + object: TObject, + source1: TSource1, + source2: TSource2 + ): TObject & TSource1 & TSource2; + + /** + * @see _.extend + */ + extend( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): TObject & TSource1 & TSource2 & TSource3; + + /** + * @see _.extend + */ + extend( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): TObject & TSource1 & TSource2 & TSource3 & TSource4; + + /** + * @see _.extend + */ + extend(object: TObject): TObject; + + /** + * @see _.extend + */ + extend( + object: any, + ...otherArgs: any[] + ): TResult; + } + + interface LoDashImplicitWrapper { + /** + * @see _.extend + */ + extend( + source: TSource + ): LoDashImplicitWrapper; + + /** + * @see _.extend + */ + extend( + source1: TSource1, + source2: TSource2 + ): LoDashImplicitWrapper; + + /** + * @see _.extend + */ + extend( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashImplicitWrapper; + + /** + * @see _.extend + */ + extend( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashImplicitWrapper; + + /** + * @see _.extend + */ + extend(): LoDashImplicitWrapper; + + /** + * @see _.extend + */ + extend(...otherArgs: any[]): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.extend + */ + extend( + source: TSource + ): LoDashExplicitWrapper; + + /** + * @see _.extend + */ + extend( + source1: TSource1, + source2: TSource2 + ): LoDashExplicitWrapper; + + /** + * @see _.extend + */ + extend( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashExplicitWrapper; + + /** + * @see _.extend + */ + extend( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashExplicitWrapper; + + /** + * @see _.extend + */ + extend(): LoDashExplicitWrapper; + + /** + * @see _.extend + */ + extend(...otherArgs: any[]): LoDashExplicitWrapper; + } + + // extendWith + + interface LoDashStatic { + /** + * @see _.extendWith + */ + extendWith( + object: TObject, + source: TSource, + customizer: AssignCustomizer + ): TObject & TSource; + + /** + * @see _.extendWith + */ + extendWith( + object: TObject, + source1: TSource1, + source2: TSource2, + customizer: AssignCustomizer + ): TObject & TSource1 & TSource2; + + /** + * @see _.extendWith + */ + extendWith( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: AssignCustomizer + ): TObject & TSource1 & TSource2 & TSource3; + + /** + * @see _.extendWith + */ + extendWith( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: AssignCustomizer + ): TObject & TSource1 & TSource2 & TSource3 & TSource4; + + /** + * @see _.extendWith + */ + extendWith(object: TObject): TObject; + + /** + * @see _.extendWith + */ + extendWith( + object: any, + ...otherArgs: any[] + ): TResult; + } + + interface LoDashImplicitWrapper { + /** + * @see _.extendWith + */ + extendWith( + source: TSource, + customizer: AssignCustomizer + ): LoDashImplicitWrapper; + + /** + * @see _.extendWith + */ + extendWith( + source1: TSource1, + source2: TSource2, + customizer: AssignCustomizer + ): LoDashImplicitWrapper; + + /** + * @see _.extendWith + */ + extendWith( + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: AssignCustomizer + ): LoDashImplicitWrapper; + + /** + * @see _.extendWith + */ + extendWith( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: AssignCustomizer + ): LoDashImplicitWrapper; + + /** + * @see _.extendWith + */ + extendWith(): LoDashImplicitWrapper; + + /** + * @see _.extendWith + */ + extendWith(...otherArgs: any[]): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.extendWith + */ + extendWith( + source: TSource, + customizer: AssignCustomizer + ): LoDashExplicitWrapper; + + /** + * @see _.extendWith + */ + extendWith( + source1: TSource1, + source2: TSource2, + customizer: AssignCustomizer + ): LoDashExplicitWrapper; + + /** + * @see _.extendWith + */ + extendWith( + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: AssignCustomizer + ): LoDashExplicitWrapper; + + /** + * @see _.extendWith + */ + extendWith( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: AssignCustomizer + ): LoDashExplicitWrapper; + + /** + * @see _.extendWith + */ + extendWith(): LoDashExplicitWrapper; + + /** + * @see _.extendWith + */ + extendWith(...otherArgs: any[]): LoDashExplicitWrapper; + } + + // findKey + + interface LoDashStatic { + /** + * This method is like _.find except that it returns the key of the first element predicate returns truthy for + * instead of the element itself. + * + * If a property name is provided for predicate the created _.property style callback returns the property + * value of the given element. + * + * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for + * elements that have a matching property value, else false. + * + * If an object is provided for predicate the created _.matches style callback returns true for elements that + * have the properties of the given object, else false. + * + * @param object The object to search. + * @param predicate The function invoked per iteration. + * @param thisArg The this binding of predicate. + * @return Returns the key of the matched element, else undefined. + */ + findKey( + object: T | null | undefined, + predicate?: ObjectIteratee + ): string | undefined; + } + + interface LoDashImplicitWrapper { + /** + * @see _.findKey + */ + findKey( + this: LoDashImplicitWrapper, + predicate?: ObjectIteratee + ): string | undefined; + } + + interface LoDashExplicitWrapper { + /** + * @see _.findKey + */ + findKey( + this: LoDashExplicitWrapper, + predicate?: ObjectIteratee + ): LoDashExplicitWrapper; + } + + // findLastKey + + interface LoDashStatic { + /** + * This method is like _.findKey except that it iterates over elements of a collection in the opposite order. + * + * If a property name is provided for predicate the created _.property style callback returns the property + * value of the given element. + * + * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for + * elements that have a matching property value, else false. + * + * If an object is provided for predicate the created _.matches style callback returns true for elements that + * have the properties of the given object, else false. + * + * @param object The object to search. + * @param predicate The function invoked per iteration. + * @param thisArg The this binding of predicate. + * @return Returns the key of the matched element, else undefined. + */ + findLastKey( + object: T | null | undefined, + predicate?: ObjectIteratee + ): string | undefined; + } + + interface LoDashImplicitWrapper { + /** + * @see _.findLastKey + */ + findLastKey( + this: LoDashImplicitWrapper, + predicate?: ObjectIteratee + ): string | undefined; + } + + interface LoDashExplicitWrapper { + /** + * @see _.findLastKey + */ + findLastKey( + this: LoDashExplicitWrapper, + predicate?: ObjectIteratee + ): LoDashExplicitWrapper; + } + + // forIn + + interface LoDashStatic { + /** + * Iterates over own and inherited enumerable properties of an object invoking iteratee for each property. The + * iteratee is bound to thisArg and invoked with three arguments: (value, key, object). Iteratee functions may + * exit iteration early by explicitly returning false. + * + * @param object The object to iterate over. + * @param iteratee The function invoked per iteration. + * @param thisArg The this binding of iteratee. + * @return Returns object. + */ + forIn( + object: T, + iteratee?: ObjectIterator + ): T; + + /** + * @see _.forIn + */ + forIn( + object: T | null | undefined, + iteratee?: ObjectIterator + ): T | null | undefined; + } + + interface LoDashWrapper { + /** + * @see _.forIn + */ + forIn( + this: LoDashWrapper, + iteratee?: ObjectIterator + ): this; + } + + // forInRight + + interface LoDashStatic { + /** + * This method is like _.forIn except that it iterates over properties of object in the opposite order. + * + * @param object The object to iterate over. + * @param iteratee The function invoked per iteration. + * @param thisArg The this binding of iteratee. + * @return Returns object. + */ + forInRight( + object: T, + iteratee?: ObjectIterator + ): T; + + /** + * @see _.forInRight + */ + forInRight( + object: T | null | undefined, + iteratee?: ObjectIterator + ): T | null | undefined; + } + + interface LoDashWrapper { + /** + * @see _.forInRight + */ + forInRight( + this: LoDashWrapper, + iteratee?: ObjectIterator + ): this; + } + + // forOwn + + interface LoDashStatic { + /** + * Iterates over own enumerable properties of an object invoking iteratee for each property. The iteratee is + * bound to thisArg and invoked with three arguments: (value, key, object). Iteratee functions may exit + * iteration early by explicitly returning false. + * + * @param object The object to iterate over. + * @param iteratee The function invoked per iteration. + * @param thisArg The this binding of iteratee. + * @return Returns object. + */ + forOwn( + object: T, + iteratee?: ObjectIterator + ): T; + + /** + * @see _.forOwn + */ + forOwn( + object: T | null | undefined, + iteratee?: ObjectIterator + ): T | null | undefined; + } + + interface LoDashWrapper { + /** + * @see _.forOwn + */ + forOwn( + this: LoDashWrapper, + iteratee?: ObjectIterator + ): this; + } + + // forOwnRight + + interface LoDashStatic { + /** + * This method is like _.forOwn except that it iterates over properties of object in the opposite order. + * + * @param object The object to iterate over. + * @param iteratee The function invoked per iteration. + * @param thisArg The this binding of iteratee. + * @return Returns object. + */ + forOwnRight( + object: T, + iteratee?: ObjectIterator + ): T; + + /** + * @see _.forOwnRight + */ + forOwnRight( + object: T | null | undefined, + iteratee?: ObjectIterator + ): T | null | undefined; + } + + interface LoDashWrapper { + /** + * @see _.forOwnRight + */ + forOwnRight( + this: LoDashWrapper, + iteratee?: ObjectIterator + ): this; + } + + // functions + + interface LoDashStatic { + /** + * Creates an array of function property names from own enumerable properties + * of `object`. + * + * @category Object + * @param object The object to inspect. + * @returns Returns the new array of property names. + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functions(new Foo); + * // => ['a', 'b'] + */ + functions(object: any): string[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.functions + */ + functions(): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.functions + */ + functions(): LoDashExplicitWrapper; + } + + // functionsIn + + interface LoDashStatic { + /** + * Creates an array of function property names from own and inherited + * enumerable properties of `object`. + * + * @category Object + * @param object The object to inspect. + * @returns Returns the new array of property names. + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functionsIn(new Foo); + * // => ['a', 'b', 'c'] + */ + functionsIn(object: any): string[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.functionsIn + */ + functionsIn(): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.functionsIn + */ + functionsIn(): LoDashExplicitWrapper; + } + + // get + + interface LoDashStatic { + /** + * Gets the property value at path of object. If the resolved value is undefined the defaultValue is used + * in its place. + * + * @param object The object to query. + * @param path The path of the property to get. + * @param defaultValue The value returned if the resolved value is undefined. + * @return Returns the resolved value. + */ + get( + object: TObject, + path: TKey | [TKey] + ): TObject[TKey]; + + /** + * @see _.get + */ + get( + object: TObject | null | undefined, + path: TKey | [TKey] + ): TObject[TKey] | undefined; + + /** + * @see _.get + */ + get( + object: TObject | null | undefined, + path: TKey | [TKey], + defaultValue: TDefault + ): TObject[TKey] | TDefault; + + /** + * @see _.get + */ + get( + object: NumericDictionary, + path: number + ): T; + + /** + * @see _.get + */ + get( + object: NumericDictionary | null | undefined, + path: number + ): T | undefined; + + /** + * @see _.get + */ + get( + object: NumericDictionary | null | undefined, + path: number, + defaultValue: TDefault + ): T | TDefault; + + /** + * @see _.get + */ + get( + object: null | undefined, + path: PropertyPath, + defaultValue: TDefault + ): TDefault; + + /** + * @see _.get + */ + get( + object: null | undefined, + path: PropertyPath + ): undefined; + + /** + * @see _.get + */ + get( + object: any, + path: PropertyPath, + defaultValue?: any + ): any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.get + */ + get( + path: TKey | [TKey] + ): TValue[TKey]; + + /** + * @see _.get + */ + get( + this: LoDashImplicitWrapper, + path: TKey | [TKey], + ): TObject[TKey] | undefined; + + /** + * @see _.get + */ + get( + this: LoDashImplicitWrapper, + path: TKey | [TKey], + defaultValue: TDefault + ): TObject[TKey] | TDefault; + + /** + * @see _.get + */ + get( + this: LoDashImplicitWrapper>, + path: number + ): T; + + /** + * @see _.get + */ + get( + this: LoDashImplicitWrapper | null | undefined>, + path: number + ): T | undefined; + + /** + * @see _.get + */ + get( + this: LoDashImplicitWrapper | null | undefined>, + path: number, + defaultValue: TDefault + ): T | TDefault; + + /** + * @see _.get + */ + get( + this: LoDashImplicitWrapper, + path: PropertyPath, + defaultValue: TDefault + ): TDefault; + + /** + * @see _.get + */ + get( + this: LoDashImplicitWrapper, + path: PropertyPath + ): undefined; + + /** + * @see _.get + */ + get( + path: PropertyPath, + defaultValue?: any + ): any; + } + + interface LoDashExplicitWrapper { + /** + * @see _.get + */ + get( + path: TKey | [TKey] + ): LoDashExplicitWrapper; + + /** + * @see _.get + */ + get( + this: LoDashExplicitWrapper, + path: TKey | [TKey], + ): LoDashExplicitWrapper; + + /** + * @see _.get + */ + get( + this: LoDashExplicitWrapper, + path: TKey | [TKey], + defaultValue: TDefault + ): LoDashExplicitWrapper; + + /** + * @see _.get + */ + get( + this: LoDashExplicitWrapper>, + path: number + ): LoDashExplicitWrapper; + + /** + * @see _.get + */ + get( + this: LoDashExplicitWrapper | null | undefined>, + path: number + ): LoDashExplicitWrapper; + + /** + * @see _.get + */ + get( + this: LoDashExplicitWrapper | null | undefined>, + path: number, + defaultValue: TDefault + ): LoDashExplicitWrapper; + + /** + * @see _.get + */ + get( + this: LoDashExplicitWrapper, + path: PropertyPath, + defaultValue: TDefault + ): LoDashExplicitWrapper; + + /** + * @see _.get + */ + get( + this: LoDashExplicitWrapper, + path: PropertyPath + ): LoDashExplicitWrapper; + + /** + * @see _.get + */ + get( + path: PropertyPath, + defaultValue?: any + ): LoDashExplicitWrapper; + } + + // has + + interface LoDashStatic { + /** + * Checks if `path` is a direct property of `object`. + * + * @category Object + * @param object The object to query. + * @param path The path to check. + * @returns Returns `true` if `path` exists, else `false`. + * @example + * + * var object = { 'a': { 'b': { 'c': 3 } } }; + * var other = _.create({ 'a': _.create({ 'b': _.create({ 'c': 3 }) }) }); + * + * _.has(object, 'a'); + * // => true + * + * _.has(object, 'a.b.c'); + * // => true + * + * _.has(object, ['a', 'b', 'c']); + * // => true + * + * _.has(other, 'a'); + * // => false + */ + has( + object: T, + path: PropertyPath + ): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.has + */ + has(path: PropertyPath): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.has + */ + has(path: PropertyPath): LoDashExplicitWrapper; + } + + // hasIn + + interface LoDashStatic { + /** + * Checks if `path` is a direct or inherited property of `object`. + * + * @category Object + * @param object The object to query. + * @param path The path to check. + * @returns Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': _.create({ 'c': 3 }) }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b.c'); + * // => true + * + * _.hasIn(object, ['a', 'b', 'c']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ + hasIn( + object: T, + path: PropertyPath + ): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.hasIn + */ + hasIn(path: PropertyPath): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.hasIn + */ + hasIn(path: PropertyPath): LoDashExplicitWrapper; + } + + // invert + + interface LoDashStatic { + /** + * Creates an object composed of the inverted keys and values of object. If object contains duplicate values, + * subsequent values overwrite property assignments of previous values unless multiValue is true. + * + * @param object The object to invert. + * @param multiValue Allow multiple values per key. + * @return Returns the new inverted object. + */ + invert( + object: object + ): Dictionary; + } + + interface LoDashImplicitWrapper { + /** + * @see _.invert + */ + invert(): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.invert + */ + invert(): LoDashExplicitWrapper>; + } + + // invertBy + + interface LoDashStatic { + /** + * This method is like _.invert except that the inverted object is generated from the results of running each + * element of object through iteratee. The corresponding inverted value of each inverted key is an array of + * keys responsible for generating the inverted value. The iteratee is invoked with one argument: (value). + * + * @param object The object to invert. + * @param interatee The iteratee invoked per element. + * @return Returns the new inverted object. + */ + invertBy( + object: List | Dictionary | NumericDictionary | null | undefined, + interatee?: ValueIteratee + ): Dictionary; + + /** + * @see _.invertBy + */ + invertBy( + object: T | null | undefined, + interatee?: ValueIteratee + ): Dictionary; + } + + interface LoDashImplicitWrapper { + /** + * @see _.invertBy + */ + invertBy( + this: LoDashImplicitWrapper | Dictionary | NumericDictionary | null | undefined>, + interatee?: ValueIteratee + ): LoDashImplicitWrapper>; + + /** + * @see _.invertBy + */ + invertBy( + this: LoDashImplicitWrapper, + interatee?: ValueIteratee + ): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.invertBy + */ + invertBy( + this: LoDashExplicitWrapper | Dictionary | NumericDictionary | null | undefined>, + interatee?: ValueIteratee + ): LoDashExplicitWrapper>; + + /** + * @see _.invertBy + */ + invertBy( + this: LoDashExplicitWrapper, + interatee?: ValueIteratee + ): LoDashExplicitWrapper>; + } + + // invoke + + interface LoDashStatic { + /** + * Invokes the method at path of object. + * @param object The object to query. + * @param path The path of the method to invoke. + * @param args The arguments to invoke the method with. + **/ + invoke( + object: any, + path: PropertyPath, + ...args: any[]): any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.invoke + **/ + invoke( + path: PropertyPath, + ...args: any[]): any; + } + + interface LoDashExplicitWrapper { + /** + * @see _.invoke + **/ + invoke( + path: PropertyPath, + ...args: any[]): LoDashExplicitWrapper; + } + + // keys + + interface LoDashStatic { + /** + * Creates an array of the own enumerable property names of object. + * + * Note: Non-object values are coerced to objects. See the ES spec for more details. + * + * @param object The object to query. + * @return Returns the array of property names. + */ + keys(object?: any): string[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.keys + */ + keys(): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.keys + */ + keys(): LoDashExplicitWrapper; + } + + // keysIn + + interface LoDashStatic { + /** + * Creates an array of the own and inherited enumerable property names of object. + * + * Note: Non-object values are coerced to objects. + * + * @param object The object to query. + * @return An array of property names. + */ + keysIn(object?: any): string[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.keysIn + */ + keysIn(): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.keysIn + */ + keysIn(): LoDashExplicitWrapper; + } + + // mapKeys + + interface LoDashStatic { + /** + * The opposite of _.mapValues; this method creates an object with the same values as object and keys generated + * by running each own enumerable property of object through iteratee. + * + * @param object The object to iterate over. + * @param iteratee The function invoked per iteration. + * @param thisArg The this binding of iteratee. + * @return Returns the new mapped object. + */ + mapKeys( + object: List | null | undefined, + iteratee?: ListIteratee + ): Dictionary; + + /** + * @see _.mapKeys + */ + mapKeys( + object: Dictionary | null | undefined, + iteratee?: DictionaryIteratee + ): Dictionary; + + /** + * @see _.mapKeys + */ + mapKeys( + object: object | null | undefined, + iteratee?: ObjectIteratee + ): Dictionary; + } + + interface LoDashImplicitWrapper { + /** + * @see _.mapKeys + */ + mapKeys( + this: LoDashImplicitWrapper | null | undefined>, + iteratee?: ListIteratee + ): LoDashImplicitWrapper>; + + /** + * @see _.mapKeys + */ + mapKeys( + this: LoDashImplicitWrapper | null | undefined>, + iteratee?: DictionaryIteratee + ): LoDashImplicitWrapper>; + + /** + * @see _.mapKeys + */ + mapKeys( + this: LoDashImplicitWrapper, + iteratee?: ObjectIteratee + ): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.mapKeys + */ + mapKeys( + this: LoDashExplicitWrapper | null | undefined>, + iteratee?: ListIteratee + ): LoDashExplicitWrapper>; + + /** + * @see _.mapKeys + */ + mapKeys( + this: LoDashExplicitWrapper | null | undefined>, + iteratee?: DictionaryIteratee + ): LoDashExplicitWrapper>; + + /** + * @see _.mapKeys + */ + mapKeys( + this: LoDashExplicitWrapper, + iteratee?: ObjectIteratee + ): LoDashExplicitWrapper>; + } + + // mapValues + + interface LoDashStatic { + /** + * Creates an object with the same keys as object and values generated by running each own + * enumerable property of object through iteratee. The iteratee function is bound to thisArg + * and invoked with three arguments: (value, key, object). + * + * If a property name is provided iteratee the created "_.property" style callback returns + * the property value of the given element. + * + * If a value is also provided for thisArg the creted "_.matchesProperty" style callback returns + * true for elements that have a matching property value, else false;. + * + * If an object is provided for iteratee the created "_.matches" style callback returns true + * for elements that have the properties of the given object, else false. + * + * @param object The object to iterate over. + * @param [iteratee=_.identity] The function invoked per iteration. + * @param [thisArg] The `this` binding of `iteratee`. + * @return Returns the new mapped object. + */ + mapValues(obj: T | null | undefined, callback: ObjectIterator): { [P in keyof T]: TResult }; + + /** + * @see _.mapValues + */ + mapValues(obj: T | null | undefined, iteratee: object): { [P in keyof T]: boolean }; + + /** + * @see _.mapValues + */ + mapValues(obj: Dictionary | null | undefined, iteratee: TKey): Dictionary; + + /** + * @see _.mapValues + */ + mapValues(obj: T | null | undefined, iteratee: string): { [P in keyof T]: any }; + + /** + * @see _.mapValues + */ + mapValues(obj: string | null | undefined, callback: StringIterator): NumericDictionary; + + /** + * @see _.mapValues + */ + mapValues(obj: Dictionary | null | undefined): Dictionary; + + /** + * @see _.mapValues + */ + mapValues(obj: T): T; + + /** + * @see _.mapValues + */ + mapValues(obj: T | null | undefined): T | {}; + + /** + * @see _.mapValues + */ + mapValues(obj: string | null | undefined): NumericDictionary; + } + + interface LoDashImplicitWrapper { + /** + * @see _.mapValues + */ + mapValues( + this: LoDashImplicitWrapper, + callback: ObjectIterator + ): LoDashImplicitWrapper<{ [P in keyof T]: TResult }>; + + /** + * @see _.mapValues + */ + mapValues( + this: LoDashImplicitWrapper, + iteratee: object + ): LoDashImplicitWrapper<{ [P in keyof T]: boolean }>; + + /** + * @see _.mapValues + */ + mapValues( + this: LoDashImplicitWrapper | null | undefined>, + iteratee: TKey + ): LoDashImplicitWrapper>; + + /** + * @see _.mapValues + */ + mapValues( + this: LoDashImplicitWrapper, + iteratee: string + ): LoDashImplicitWrapper<{ [P in keyof T]: any }>; + + /** + * @see _.mapValues + */ + mapValues( + this: LoDashImplicitWrapper, + callback: StringIterator + ): LoDashImplicitWrapper>; + + /** + * @see _.mapValues + */ + mapValues(this: LoDashImplicitWrapper | null | undefined>): LoDashImplicitWrapper>; + + /** + * @see _.mapValues + */ + mapValues(this: LoDashImplicitWrapper): LoDashImplicitWrapper; + + /** + * @see _.mapValues + */ + mapValues(this: LoDashImplicitWrapper): LoDashImplicitWrapper; + + /** + * @see _.mapValues + */ + mapValues(this: LoDashImplicitWrapper): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.mapValues + */ + mapValues( + this: LoDashExplicitWrapper, + callback: ObjectIterator + ): LoDashExplicitWrapper<{ [P in keyof T]: TResult }>; + + /** + * @see _.mapValues + */ + mapValues( + this: LoDashExplicitWrapper, + iteratee: object + ): LoDashExplicitWrapper<{ [P in keyof T]: boolean }>; + + /** + * @see _.mapValues + */ + mapValues( + this: LoDashExplicitWrapper | null | undefined>, + iteratee: TKey + ): LoDashExplicitWrapper>; + + /** + * @see _.mapValues + */ + mapValues( + this: LoDashExplicitWrapper, + iteratee: string + ): LoDashExplicitWrapper<{ [P in keyof T]: any }>; + + /** + * @see _.mapValues + */ + mapValues( + this: LoDashExplicitWrapper, + callback: StringIterator + ): LoDashExplicitWrapper>; + + /** + * @see _.mapValues + */ + mapValues(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper>; + + /** + * @see _.mapValues + */ + mapValues(this: LoDashExplicitWrapper): LoDashExplicitWrapper; + + /** + * @see _.mapValues + */ + mapValues(this: LoDashExplicitWrapper): LoDashExplicitWrapper; + + /** + * @see _.mapValues + */ + mapValues(this: LoDashExplicitWrapper): LoDashExplicitWrapper>; + } + + // merge + + interface LoDashStatic { + /** + * Recursively merges own and inherited enumerable properties of source + * objects into the destination object, skipping source properties that resolve + * to `undefined`. Array and plain object properties are merged recursively. + * Other objects and value types are overridden by assignment. Source objects + * are applied from left to right. Subsequent sources overwrite property + * assignments of previous sources. + * + * **Note:** This method mutates `object`. + * + * @category Object + * @param object The destination object. + * @param [sources] The source objects. + * @returns Returns `object`. + * @example + * + * var users = { + * 'data': [{ 'user': 'barney' }, { 'user': 'fred' }] + * }; + * + * var ages = { + * 'data': [{ 'age': 36 }, { 'age': 40 }] + * }; + * + * _.merge(users, ages); + * // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] } + */ + merge( + object: TObject, + source: TSource + ): TObject & TSource; + + /** + * @see _.merge + */ + merge( + object: TObject, + source1: TSource1, + source2: TSource2 + ): TObject & TSource1 & TSource2; + + /** + * @see _.merge + */ + merge( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): TObject & TSource1 & TSource2 & TSource3; + + /** + * @see _.merge + */ + merge( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): TObject & TSource1 & TSource2 & TSource3 & TSource4; + + /** + * @see _.merge + */ + merge( + object: any, + ...otherArgs: any[] + ): any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.merge + */ + merge( + source: TSource + ): LoDashImplicitWrapper; + + /** + * @see _.merge + */ + merge( + source1: TSource1, + source2: TSource2 + ): LoDashImplicitWrapper; + + /** + * @see _.merge + */ + merge( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashImplicitWrapper; + + /** + * @see _.merge + */ + merge( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashImplicitWrapper; + + /** + * @see _.merge + */ + merge( + ...otherArgs: any[] + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.merge + */ + merge( + source: TSource + ): LoDashExplicitWrapper; + + /** + * @see _.merge + */ + merge( + source1: TSource1, + source2: TSource2 + ): LoDashExplicitWrapper; + + /** + * @see _.merge + */ + merge( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashExplicitWrapper; + + /** + * @see _.merge + */ + merge( + ): LoDashExplicitWrapper; + + /** + * @see _.merge + */ + merge( + ...otherArgs: any[] + ): LoDashExplicitWrapper; + } + + // mergeWith + + type MergeWithCustomizer = { bivariantHack(value: any, srcValue: any, key: string, object: any, source: any): any; }["bivariantHack"] + + interface LoDashStatic { + /** + * This method is like `_.merge` except that it accepts `customizer` which + * is invoked to produce the merged values of the destination and source + * properties. If `customizer` returns `undefined` merging is handled by the + * method instead. The `customizer` is invoked with seven arguments: + * (objValue, srcValue, key, object, source, stack). + * + * @category Object + * @param object The destination object. + * @param sources The source objects. + * @param customizer The function to customize assigned values. + * @returns Returns `object`. + * @example + * + * function customizer(objValue, srcValue) { + * if (_.isArray(objValue)) { + * return objValue.concat(srcValue); + * } + * } + * + * var object = { + * 'fruits': ['apple'], + * 'vegetables': ['beet'] + * }; + * + * var other = { + * 'fruits': ['banana'], + * 'vegetables': ['carrot'] + * }; + * + * _.merge(object, other, customizer); + * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot'] } + */ + mergeWith( + object: TObject, + source: TSource, + customizer: MergeWithCustomizer + ): TObject & TSource; + + /** + * @see _.mergeWith + */ + mergeWith( + object: TObject, + source1: TSource1, + source2: TSource2, + customizer: MergeWithCustomizer + ): TObject & TSource1 & TSource2; + + /** + * @see _.mergeWith + */ + mergeWith( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: MergeWithCustomizer + ): TObject & TSource1 & TSource2 & TSource3; + + /** + * @see _.mergeWith + */ + mergeWith( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: MergeWithCustomizer + ): TObject & TSource1 & TSource2 & TSource3 & TSource4; + + /** + * @see _.mergeWith + */ + mergeWith( + object: any, + ...otherArgs: any[] + ): any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.mergeWith + */ + mergeWith( + source: TSource, + customizer: MergeWithCustomizer + ): LoDashImplicitWrapper; + + /** + * @see _.mergeWith + */ + mergeWith( + source1: TSource1, + source2: TSource2, + customizer: MergeWithCustomizer + ): LoDashImplicitWrapper; + + /** + * @see _.mergeWith + */ + mergeWith( + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: MergeWithCustomizer + ): LoDashImplicitWrapper; + + /** + * @see _.mergeWith + */ + mergeWith( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: MergeWithCustomizer + ): LoDashImplicitWrapper; + + /** + * @see _.mergeWith + */ + mergeWith( + ...otherArgs: any[] + ): LoDashImplicitWrapper; + } + + // omit + + interface LoDashStatic { + /** + * The opposite of `_.pick`; this method creates an object composed of the + * own and inherited enumerable properties of `object` that are not omitted. + * + * @category Object + * @param object The source object. + * @param [paths] The property names to omit, specified + * individually or in arrays.. + * @returns Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omit(object, ['a', 'c']); + * // => { 'b': '2' } + */ + omit( + object: Dictionary, + ...paths: PropertyPath[] + ): Dictionary; + + /** + * @see _.omit + */ + omit( + object: T | null | undefined, + ...paths: PropertyPath[] + ): PartialObject; + } + + interface LoDashImplicitWrapper { + /** + * @see _.omit + */ + omit( + this: LoDashImplicitWrapper>, + ...paths: PropertyPath[] + ): LoDashImplicitWrapper>; + + /** + * @see _.omit + */ + omit( + this: LoDashImplicitWrapper, + ...paths: PropertyPath[] + ): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.omit + */ + omit( + this: LoDashExplicitWrapper>, + ...paths: PropertyPath[] + ): LoDashExplicitWrapper>; + + /** + * @see _.omit + */ + omit( + this: LoDashExplicitWrapper, + ...paths: PropertyPath[] + ): LoDashExplicitWrapper>; + } + + // omitBy + + interface LoDashStatic { + /** + * The opposite of `_.pickBy`; this method creates an object composed of the + * own and inherited enumerable properties of `object` that `predicate` + * doesn't return truthy for. + * + * @category Object + * @param object The source object. + * @param [predicate=_.identity] The function invoked per property. + * @returns Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omitBy(object, _.isNumber); + * // => { 'b': '2' } + */ + omitBy( + object: T | null | undefined, + predicate: ValueKeyIteratee + ): PartialObject; + } + + interface LoDashImplicitWrapper { + /** + * @see _.omitBy + */ + omitBy( + this: LoDashImplicitWrapper, + predicate: ValueKeyIteratee + ): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.omitBy + */ + omitBy( + this: LoDashExplicitWrapper, + predicate: ValueKeyIteratee + ): LoDashExplicitWrapper>; + } + + // pick + + interface LoDashStatic { + /** + * Creates an object composed of the picked `object` properties. + * + * @category Object + * @param object The source object. + * @param [props] The property names to pick, specified + * individually or in arrays. + * @returns Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pick(object, ['a', 'c']); + * // => { 'a': 1, 'c': 3 } + */ + pick( + object: T, + ...props: Array> + ): Pick; + + /** + * @see _.pick + */ + pick( + object: T | null | undefined, + ...props: PropertyPath[] + ): PartialDeep; + } + + interface LoDashImplicitWrapper { + /** + * @see _.pick + */ + pick( + this: LoDashImplicitWrapper, + ...props: Array> + ): LoDashImplicitWrapper>; + + /** + * @see _.pick + */ + pick( + this: LoDashImplicitWrapper, + ...props: PropertyPath[] + ): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.pick + */ + pick( + this: LoDashExplicitWrapper, + ...props: Array> + ): LoDashExplicitWrapper>; + + /** + * @see _.pick + */ + pick( + this: LoDashExplicitWrapper, + ...props: PropertyPath[] + ): LoDashExplicitWrapper>; + } + + // pickBy + + interface LoDashStatic { + /** + * Creates an object composed of the `object` properties `predicate` returns + * truthy for. The predicate is invoked with two arguments: (value, key). + * + * @category Object + * @param object The source object. + * @param [predicate=_.identity] The function invoked per property. + * @returns Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pickBy(object, _.isNumber); + * // => { 'a': 1, 'c': 3 } + */ + pickBy( + object: T | null | undefined, + predicate?: ValueKeyIteratee + ): PartialObject; + } + + interface LoDashImplicitWrapper { + /** + * @see _.pickBy + */ + pickBy( + this: LoDashImplicitWrapper, + predicate?: ValueKeyIteratee + ): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.pickBy + */ + pickBy( + this: LoDashExplicitWrapper, + predicate?: ValueKeyIteratee + ): LoDashExplicitWrapper>; + } + + // result + + interface LoDashStatic { + /** + * This method is like _.get except that if the resolved value is a function it’s invoked with the this binding + * of its parent object and its result is returned. + * + * @param object The object to query. + * @param path The path of the property to resolve. + * @param defaultValue The value returned if the resolved value is undefined. + * @return Returns the resolved value. + */ + result( + object: any, + path: PropertyPath, + defaultValue?: TResult|((...args: any[]) => TResult) + ): TResult; + } + + interface LoDashImplicitWrapper { + /** + * @see _.result + */ + result( + path: PropertyPath, + defaultValue?: TResult|((...args: any[]) => TResult) + ): TResult; + } + + interface LoDashExplicitWrapper { + /** + * @see _.result + */ + result( + path: PropertyPath, + defaultValue?: TResult|((...args: any[]) => TResult) + ): LoDashExplicitWrapper; + } + + // set + + interface LoDashStatic { + /** + * Sets the value at path of object. If a portion of path doesn’t exist it’s created. Arrays are created for + * missing index properties while objects are created for all other missing properties. Use _.setWith to + * customize path creation. + * + * @param object The object to modify. + * @param path The path of the property to set. + * @param value The value to set. + * @return Returns object. + */ + set( + object: T, + path: PropertyPath, + value: any + ): T; + + /** + * @see _.set + */ + set( + object: object, + path: PropertyPath, + value: any + ): TResult; + } + + interface LoDashImplicitWrapper { + /** + * @see _.set + */ + set( + path: PropertyPath, + value: any + ): this; + + /** + * @see _.set + */ + set( + path: PropertyPath, + value: any + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.set + */ + set( + path: PropertyPath, + value: any + ): this; + + /** + * @see _.set + */ + set( + path: PropertyPath, + value: any + ): LoDashExplicitWrapper; + } + + // setWith + + type SetWithCustomizer = (nsValue: any, key: string, nsObject: T) => any; + + interface LoDashStatic { + /** + * This method is like _.set except that it accepts customizer which is invoked to produce the objects of + * path. If customizer returns undefined path creation is handled by the method instead. The customizer is + * invoked with three arguments: (nsValue, key, nsObject). + * + * @param object The object to modify. + * @param path The path of the property to set. + * @param value The value to set. + * @parem customizer The function to customize assigned values. + * @return Returns object. + */ + setWith( + object: T, + path: PropertyPath, + value: any, + customizer?: SetWithCustomizer + ): T; + + setWith( + object: T, + path: PropertyPath, + value: any, + customizer?: SetWithCustomizer + ): TResult; + } + + interface LoDashImplicitWrapper { + /** + * @see _.setWith + */ + setWith( + path: PropertyPath, + value: any, + customizer?: SetWithCustomizer + ): this; + + /** + * @see _.setWith + */ + setWith( + path: PropertyPath, + value: any, + customizer?: SetWithCustomizer + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.setWith + */ + setWith( + path: PropertyPath, + value: any, + customizer?: SetWithCustomizer + ): this; + + /** + * @see _.setWith + */ + setWith( + path: PropertyPath, + value: any, + customizer?: SetWithCustomizer + ): LoDashExplicitWrapper; + } + + // toPairs + + interface LoDashStatic { + /** + * Creates an array of own enumerable key-value pairs for object. + * + * @param object The object to query. + * @return Returns the new array of key-value pairs. + */ + toPairs(object?: Dictionary): Array<[string, T]>; + + /** + * @see _.toPairs + */ + toPairs(object?: object): Array<[string, any]>; + } + + interface LoDashImplicitWrapper { + /** + * @see _.toPairs + */ + toPairs(this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; + + /** + * @see _.toPairs + */ + toPairs(): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.toPairs + */ + toPairs(this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; + + /** + * @see _.toPairs + */ + toPairs(): LoDashExplicitWrapper>; + } + + // toPairsIn + + interface LoDashStatic { + /** + * Creates an array of own and inherited enumerable key-value pairs for object. + * + * @param object The object to query. + * @return Returns the new array of key-value pairs. + */ + toPairsIn(object?: Dictionary): Array<[string, T]>; + + /** + * @see _.toPairsIn + */ + toPairsIn(object?: object): Array<[string, any]>; + } + + interface LoDashImplicitWrapper { + /** + * @see _.toPairsIn + */ + toPairsIn(this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; + + /** + * @see _.toPairsIn + */ + toPairsIn(): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.toPairsIn + */ + toPairsIn(this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; + + /** + * @see _.toPairsIn + */ + toPairsIn(): LoDashExplicitWrapper>; + } + + // transform + + interface LoDashStatic { + /** + * An alternative to _.reduce; this method transforms object to a new accumulator object which is the result of + * running each of its own enumerable properties through iteratee, with each invocation potentially mutating + * the accumulator object. The iteratee is bound to thisArg and invoked with four arguments: (accumulator, + * value, key, object). Iteratee functions may exit iteration early by explicitly returning false. + * + * @param object The object to iterate over. + * @param iteratee The function invoked per iteration. + * @param accumulator The custom accumulator value. + * @param thisArg The this binding of iteratee. + * @return Returns the accumulated value. + */ + transform( + object: T[], + iteratee: MemoVoidArrayIterator, + accumulator?: TResult[] + ): TResult[]; + + /** + * @see _.transform + */ + transform( + object: T[], + iteratee: MemoVoidArrayIterator>, + accumulator: Dictionary + ): Dictionary; + + /** + * @see _.transform + */ + transform( + object: Dictionary, + iteratee: MemoVoidDictionaryIterator>, + accumulator?: Dictionary + ): Dictionary; + + /** + * @see _.transform + */ + transform( + object: Dictionary, + iteratee: MemoVoidDictionaryIterator, + accumulator: TResult[] + ): TResult[]; + + /** + * @see _.transform + */ + transform( + object: any[], + ): any[]; + + /** + * @see _.transform + */ + transform( + object: object, + ): Dictionary; + } + + interface LoDashImplicitWrapper { + /** + * @see _.transform + */ + transform( + this: LoDashImplicitWrapper, + iteratee: MemoVoidArrayIterator, + accumulator?: TResult[] + ): LoDashImplicitWrapper; + + /** + * @see _.transform + */ + transform( + this: LoDashImplicitWrapper, + iteratee: MemoVoidArrayIterator>, + accumulator: Dictionary + ): LoDashImplicitWrapper>; + + /** + * @see _.transform + */ + transform( + this: LoDashImplicitWrapper>, + iteratee: MemoVoidDictionaryIterator>, + accumulator?: Dictionary + ): LoDashImplicitWrapper>; + + /** + * @see _.transform + */ + transform( + this: LoDashImplicitWrapper>, + iteratee: MemoVoidDictionaryIterator, + accumulator: TResult[] + ): LoDashImplicitWrapper; + + /** + * @see _.transform + */ + transform( + this: LoDashImplicitWrapper, + ): LoDashImplicitWrapper; + + /** + * @see _.transform + */ + transform(): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.transform + */ + transform( + this: LoDashExplicitWrapper, + iteratee: MemoVoidArrayIterator, + accumulator?: TResult[] + ): LoDashExplicitWrapper; + + /** + * @see _.transform + */ + transform( + this: LoDashExplicitWrapper, + iteratee: MemoVoidArrayIterator>, + accumulator?: Dictionary + ): LoDashExplicitWrapper>; + + /** + * @see _.transform + */ + transform( + this: LoDashExplicitWrapper>, + iteratee: MemoVoidDictionaryIterator>, + accumulator?: Dictionary + ): LoDashExplicitWrapper>; + + /** + * @see _.transform + */ + transform( + this: LoDashExplicitWrapper>, + iteratee: MemoVoidDictionaryIterator, + accumulator?: TResult[] + ): LoDashExplicitWrapper; + + /** + * @see _.transform + */ + transform( + this: LoDashExplicitWrapper, + ): LoDashExplicitWrapper; + + /** + * @see _.transform + */ + transform(): LoDashExplicitWrapper>; + } + + // unset + + interface LoDashStatic { + /** + * Removes the property at path of object. + * + * Note: This method mutates object. + * + * @param object The object to modify. + * @param path The path of the property to unset. + * @return Returns true if the property is deleted, else false. + */ + unset( + object: any, + path: PropertyPath + ): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.unset + */ + unset(path: PropertyPath): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.unset + */ + unset(path: PropertyPath): LoDashExplicitWrapper; + } + + // update + + interface LoDashStatic { + /** + * This method is like _.set except that accepts updater to produce the value to set. Use _.updateWith to + * customize path creation. The updater is invoked with one argument: (value). + * + * @param object The object to modify. + * @param path The path of the property to set. + * @param updater The function to produce the updated value. + * @return Returns object. + */ + update( + object: object, + path: PropertyPath, + updater: (value: any) => any + ): any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.update + */ + update( + path: PropertyPath, + updater: (value: any) => any + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.update + */ + update( + path: PropertyPath, + updater: (value: any) => any + ): LoDashExplicitWrapper; + } + + // updateWith + + interface LoDashStatic { + /** + * This method is like `_.update` except that it accepts `customizer` which is + * invoked to produce the objects of `path`. If `customizer` returns `undefined` + * path creation is handled by the method instead. The `customizer` is invoked + * with three arguments: (nsValue, key, nsObject). + * + * **Note:** This method mutates `object`. + * + * @since 4.6.0 + * @category Object + * @param object The object to modify. + * @param path The path of the property to set. + * @param updater The function to produce the updated value. + * @param [customizer] The function to customize assigned values. + * @returns Returns `object`. + * @example + * + * var object = {}; + * + * _.updateWith(object, '[0][1]', _.constant('a'), Object); + * // => { '0': { '1': 'a' } } + */ + updateWith( + object: T, + path: PropertyPath, + updater: (oldValue: any) => any, + customizer?: SetWithCustomizer + ): T; + + /** + * @see _.updateWith + */ + updateWith( + object: T, + path: PropertyPath, + updater: (oldValue: any) => any, + customizer?: SetWithCustomizer + ): TResult; + } + + interface LoDashImplicitWrapper { + /** + * @see _.updateWith + */ + updateWith( + path: PropertyPath, + updater: (oldValue: any) => any, + customizer?: SetWithCustomizer + ): this; + + /** + * @see _.updateWith + */ + updateWith( + path: PropertyPath, + updater: (oldValue: any) => any, + customizer?: SetWithCustomizer + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.updateWith + */ + updateWith( + path: PropertyPath, + updater: (oldValue: any) => any, + customizer?: SetWithCustomizer + ): this; + + /** + * @see _.updateWith + */ + updateWith( + path: PropertyPath, + updater: (oldValue: any) => any, + customizer?: SetWithCustomizer + ): LoDashExplicitWrapper; + } + + // values + + interface LoDashStatic { + /** + * Creates an array of the own enumerable property values of object. + * + * @param object The object to query. + * @return Returns an array of property values. + */ + values(object: Dictionary|NumericDictionary|List | null | undefined): T[]; + + /** + * @see _.values + */ + values(object: T | null | undefined): Array; + + /** + * @see _.values + */ + values(object: any): any[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.values + */ + values(this: LoDashImplicitWrapper | NumericDictionary | List | null | undefined>): LoDashImplicitWrapper; + + /** + * @see _.values + */ + values(this: LoDashImplicitWrapper): LoDashImplicitWrapper>; + + /** + * @see _.values + */ + values(): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.values + */ + values(this: LoDashExplicitWrapper | NumericDictionary | List | null | undefined>): LoDashExplicitWrapper; + + /** + * @see _.values + */ + values(this: LoDashExplicitWrapper): LoDashExplicitWrapper>; + + /** + * @see _.values + */ + values(): LoDashExplicitWrapper; + } + + // valuesIn + + interface LoDashStatic { + /** + * Creates an array of the own and inherited enumerable property values of object. + * + * @param object The object to query. + * @return Returns the array of property values. + */ + valuesIn(object: Dictionary|NumericDictionary|List | null | undefined): T[]; + + /** + * @see _.valuesIn + */ + valuesIn(object: T | null | undefined): Array; + } + + interface LoDashImplicitWrapper { + /** + * @see _.valuesIn + */ + valuesIn(this: LoDashImplicitWrapper | NumericDictionary | List | null | undefined>): LoDashImplicitWrapper; + + /** + * @see _.valuesIn + */ + valuesIn(this: LoDashImplicitWrapper): LoDashImplicitWrapper>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.valuesIn + */ + valuesIn(this: LoDashExplicitWrapper | NumericDictionary | List | null | undefined>): LoDashExplicitWrapper; + + /** + * @see _.valuesIn + */ + valuesIn(this: LoDashExplicitWrapper): LoDashExplicitWrapper>; + } +} \ No newline at end of file diff --git a/types/lodash/common/seq.d.ts b/types/lodash/common/seq.d.ts new file mode 100644 index 0000000000..f3139056cd --- /dev/null +++ b/types/lodash/common/seq.d.ts @@ -0,0 +1,198 @@ +import _ = require("../index"); +declare module "../index" { + // 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: T): LoDashExplicitWrapper; + } + + interface LoDashImplicitWrapper { + /** + * @see _.chain + */ + chain(): LoDashExplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.chain + */ + chain(): this; + } + + // prototype.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: T): LoDashExplicitWrapper; + } + + interface LoDashImplicitWrapper { + /** + * @see _.chain + */ + chain(): LoDashExplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.chain + */ + chain(): this; + } + + // prototype.commit + + interface LoDashWrapper { + /** + * Executes the chained sequence and returns the wrapped result. + * + * @return Returns the new lodash wrapper instance. + */ + commit(): this; + } + + // prototype.plant + + interface LoDashImplicitWrapper { + /** + * 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: T): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.plant + */ + plant(value: T): LoDashExplicitWrapper; + } + + // prototype.reverse + + interface LoDashWrapper { + /** + * 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(): this; + } + + // prototype.toJSON + + interface LoDashWrapper { + /** + * @see _.value + */ + toJSON(): TValue; + } + + // prototype.toString + + interface LoDashWrapper { + /** + * Produces the result of coercing the unwrapped value to a string. + * + * @return Returns the coerced string value. + */ + toString(): string; + } + + // prototype.value + + interface LoDashWrapper { + /** + * Executes the chained sequence to extract the unwrapped value. + * + * @alias _.toJSON, _.valueOf + * + * @return Returns the resolved unwrapped value. + */ + value(): TValue; + } + + // prototype.valueOf + + interface LoDashWrapper { + /** + * @see _.value + */ + valueOf(): TValue; + } + + // 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 + ): T; + } + + interface LoDashWrapper { + /** + * @see _.tap + */ + tap( + interceptor: (value: TValue) => void + ): this; + } + + // 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. + * @return Returns the result of interceptor. + */ + thru( + value: T, + interceptor: (value: T) => TResult + ): TResult; + } + + interface LoDashImplicitWrapper { + /** + * @see _.thru + */ + thru(interceptor: (value: TValue) => TResult): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.thru + */ + thru(interceptor: (value: TValue) => TResult): LoDashExplicitWrapper; + } +} \ No newline at end of file diff --git a/types/lodash/common/string.d.ts b/types/lodash/common/string.d.ts new file mode 100644 index 0000000000..436a2bb9f1 --- /dev/null +++ b/types/lodash/common/string.d.ts @@ -0,0 +1,1059 @@ +import _ = require("../index"); +declare module "../index" { + // camelCase + + interface LoDashStatic { + /** + * Converts string to camel case. + * + * @param string The string to convert. + * @return Returns the camel cased string. + */ + camelCase(string?: string): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.camelCase + */ + camelCase(): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.camelCase + */ + camelCase(): LoDashExplicitWrapper; + } + + // capitalize + + interface LoDashStatic { + /** + * Converts the first character of string to upper case and the remaining to lower case. + * + * @param string The string to capitalize. + * @return Returns the capitalized string. + */ + capitalize(string?: string): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.capitalize + */ + capitalize(): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.capitalize + */ + capitalize(): LoDashExplicitWrapper; + } + + // deburr + + interface LoDashStatic { + /** + * Deburrs string by converting latin-1 supplementary letters to basic latin letters and removing combining + * diacritical marks. + * + * @param string The string to deburr. + * @return Returns the deburred string. + */ + deburr(string?: string): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.deburr + */ + deburr(): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.deburr + */ + deburr(): LoDashExplicitWrapper; + } + + // endsWith + + interface LoDashStatic { + /** + * Checks if string ends with the given target string. + * + * @param string The string to search. + * @param target The string to search for. + * @param position The position to search from. + * @return Returns true if string ends with target, else false. + */ + endsWith( + string?: string, + target?: string, + position?: number + ): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.endsWith + */ + endsWith( + target?: string, + position?: number + ): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.endsWith + */ + endsWith( + target?: string, + position?: number + ): LoDashExplicitWrapper; + } + + // escape + + interface LoDashStatic { + /** + * Converts the characters "&", "<", ">", '"', "'", and "`" in string to their corresponding HTML entities. + * + * Note: No other characters are escaped. To escape additional characters use a third-party library like he. + * + * hough the ">" character is escaped for symmetry, characters like ">" and "/" don’t need escaping in HTML + * and have no special meaning unless they're part of a tag or unquoted attribute value. See Mathias Bynens’s + * article (under "semi-related fun fact") for more details. + * + * Backticks are escaped because in IE < 9, they can break out of attribute values or HTML comments. See #59, + * #102, #108, and #133 of the HTML5 Security Cheatsheet for more details. + * + * When working with HTML you should always quote attribute values to reduce XSS vectors. + * + * @param string The string to escape. + * @return Returns the escaped string. + */ + escape(string?: string): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.escape + */ + escape(): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.escape + */ + escape(): LoDashExplicitWrapper; + } + + // escapeRegExp + + interface LoDashStatic { + /** + * Escapes the RegExp special characters "^", "$", "\", ".", "*", "+", "?", "(", ")", "[", "]", + * "{", "}", and "|" in string. + * + * @param string The string to escape. + * @return Returns the escaped string. + */ + escapeRegExp(string?: string): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.escapeRegExp + */ + escapeRegExp(): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.escapeRegExp + */ + escapeRegExp(): LoDashExplicitWrapper; + } + + // kebabCase + + interface LoDashStatic { + /** + * Converts string to kebab case. + * + * @param string The string to convert. + * @return Returns the kebab cased string. + */ + kebabCase(string?: string): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.kebabCase + */ + kebabCase(): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.kebabCase + */ + kebabCase(): LoDashExplicitWrapper; + } + + // lowerCase + + interface LoDashStatic { + /** + * Converts `string`, as space separated words, to lower case. + * + * @param string The string to convert. + * @return Returns the lower cased string. + */ + lowerCase(string?: string): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.lowerCase + */ + lowerCase(): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.lowerCase + */ + lowerCase(): LoDashExplicitWrapper; + } + + // lowerFirst + + interface LoDashStatic { + /** + * Converts the first character of `string` to lower case. + * + * @param string The string to convert. + * @return Returns the converted string. + */ + lowerFirst(string?: string): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.lowerFirst + */ + lowerFirst(): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.lowerFirst + */ + lowerFirst(): LoDashExplicitWrapper; + } + + // pad + + interface LoDashStatic { + /** + * Pads string on the left and right sides if it’s shorter than length. Padding characters are truncated if + * they can’t be evenly divided by length. + * + * @param string The string to pad. + * @param length The padding length. + * @param chars The string used as padding. + * @return Returns the padded string. + */ + pad( + string?: string, + length?: number, + chars?: string + ): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.pad + */ + pad( + length?: number, + chars?: string + ): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.pad + */ + pad( + length?: number, + chars?: string + ): LoDashExplicitWrapper; + } + + // padEnd + + interface LoDashStatic { + /** + * Pads string on the right side if it’s shorter than length. Padding characters are truncated if they exceed + * length. + * + * @param string The string to pad. + * @param length The padding length. + * @param chars The string used as padding. + * @return Returns the padded string. + */ + padEnd( + string?: string, + length?: number, + chars?: string + ): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.padEnd + */ + padEnd( + length?: number, + chars?: string + ): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.padEnd + */ + padEnd( + length?: number, + chars?: string + ): LoDashExplicitWrapper; + } + + // padStart + + interface LoDashStatic { + /** + * Pads string on the left side if it’s shorter than length. Padding characters are truncated if they exceed + * length. + * + * @param string The string to pad. + * @param length The padding length. + * @param chars The string used as padding. + * @return Returns the padded string. + */ + padStart( + string?: string, + length?: number, + chars?: string + ): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.padStart + */ + padStart( + length?: number, + chars?: string + ): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.padStart + */ + padStart( + length?: number, + chars?: string + ): LoDashExplicitWrapper; + } + + // parseInt + + interface LoDashStatic { + /** + * Converts string to an integer of the specified radix. If radix is undefined or 0, a radix of 10 is used + * unless value is a hexadecimal, in which case a radix of 16 is used. + * + * Note: This method aligns with the ES5 implementation of parseInt. + * + * @param string The string to convert. + * @param radix The radix to interpret value by. + * @return Returns the converted integer. + */ + parseInt( + string: string, + radix?: number + ): number; + } + + interface LoDashImplicitWrapper { + /** + * @see _.parseInt + */ + parseInt(radix?: number): number; + } + + interface LoDashExplicitWrapper { + /** + * @see _.parseInt + */ + parseInt(radix?: number): LoDashExplicitWrapper; + } + + // repeat + + interface LoDashStatic { + /** + * Repeats the given string n times. + * + * @param string The string to repeat. + * @param n The number of times to repeat the string. + * @return Returns the repeated string. + */ + repeat( + string?: string, + n?: number + ): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.repeat + */ + repeat(n?: number): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.repeat + */ + repeat(n?: number): LoDashExplicitWrapper; + } + + type ReplaceFunction = (match: string, ...args: any[]) => string; + + // replace + + interface LoDashStatic { + /** + * Replaces matches for pattern in string with replacement. + * + * Note: This method is based on String#replace. + * + * @return Returns the modified string. + */ + replace( + string: string, + pattern: RegExp | string, + replacement: ReplaceFunction | string + ): string; + + /** + * @see _.replace + */ + replace( + pattern: RegExp | string, + replacement: ReplaceFunction | string + ): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.replace + */ + replace( + pattern: RegExp|string, + replacement: ReplaceFunction | string + ): string; + + /** + * @see _.replace + */ + replace( + replacement: ReplaceFunction | string + ): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.replace + */ + replace( + pattern: RegExp | string, + replacement: ReplaceFunction | string + ): LoDashExplicitWrapper; + + /** + * @see _.replace + */ + replace( + replacement: ReplaceFunction | string + ): LoDashExplicitWrapper; + } + + // snakeCase + + interface LoDashStatic { + /** + * Converts string to snake case. + * + * @param string The string to convert. + * @return Returns the snake cased string. + */ + snakeCase(string?: string): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.snakeCase + */ + snakeCase(): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.snakeCase + */ + snakeCase(): LoDashExplicitWrapper; + } + + // split + + interface LoDashStatic { + /** + * Splits string by separator. + * + * Note: This method is based on String#split. + * + * @param string The string to trim. + * @param separator The separator pattern to split by. + * @param limit The length to truncate results to. + * @return Returns the new array of string segments. + */ + split( + string: string, + separator?: RegExp|string, + limit?: number + ): string[]; + + /** + * Splits string by separator. + * + * Note: This method is based on String#split. + * + * @param string The string to trim. + * @param index Not used in this overload. + * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. + * @return Returns the new array of string segments. + */ + split( + string: string, + index: string | number, + guard: object + ): string[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.split + */ + split( + separator?: RegExp|string, + limit?: number + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.split + */ + split( + separator?: RegExp|string, + limit?: number + ): LoDashExplicitWrapper; + } + + // startCase + + interface LoDashStatic { + /** + * Converts string to start case. + * + * @param string The string to convert. + * @return Returns the start cased string. + */ + startCase(string?: string): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.startCase + */ + startCase(): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.startCase + */ + startCase(): LoDashExplicitWrapper; + } + + // startsWith + + interface LoDashStatic { + /** + * Checks if string starts with the given target string. + * + * @param string The string to search. + * @param target The string to search for. + * @param position The position to search from. + * @return Returns true if string starts with target, else false. + */ + startsWith( + string?: string, + target?: string, + position?: number + ): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.startsWith + */ + startsWith( + target?: string, + position?: number + ): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.startsWith + */ + startsWith( + target?: string, + position?: number + ): LoDashExplicitWrapper; + } + + // template + + interface TemplateOptions extends TemplateSettings { + /** + * The sourceURL of the template's compiled source. + */ + sourceURL?: string; + } + + interface TemplateExecutor { + (data?: object): string; + source: string; + } + + interface LoDashStatic { + /** + * Creates a compiled template function that can interpolate data properties in "interpolate" delimiters, + * HTML-escape interpolated data properties in "escape" delimiters, and execute JavaScript in "evaluate" + * delimiters. Data properties may be accessed as free variables in the template. If a setting object is + * provided it takes precedence over _.templateSettings values. + * + * Note: In the development build _.template utilizes + * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) for easier + * debugging. + * + * For more information on precompiling templates see + * [lodash's custom builds documentation](https://lodash.com/custom-builds). + * + * For more information on Chrome extension sandboxes see + * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval). + * + * @param string The template string. + * @param options The options object. + * @param options.escape The HTML "escape" delimiter. + * @param options.evaluate The "evaluate" delimiter. + * @param options.imports An object to import into the template as free variables. + * @param options.interpolate The "interpolate" delimiter. + * @param options.sourceURL The sourceURL of the template's compiled source. + * @param options.variable The data object variable name. + * @return Returns the compiled template function. + */ + template( + string?: string, + options?: TemplateOptions + ): TemplateExecutor; + } + + interface LoDashImplicitWrapper { + /** + * @see _.template + */ + template(options?: TemplateOptions): TemplateExecutor; + } + + interface LoDashExplicitWrapper { + /** + * @see _.template + */ + template(options?: TemplateOptions): LoDashExplicitWrapper; + } + + // toLower + + interface LoDashStatic { + /** + * Converts `string`, as a whole, to lower case. + * + * @param string The string to convert. + * @return Returns the lower cased string. + */ + toLower(string?: string): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.toLower + */ + toLower(): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.toLower + */ + toLower(): LoDashExplicitWrapper; + } + + // toUpper + + interface LoDashStatic { + /** + * Converts `string`, as a whole, to upper case. + * + * @param string The string to convert. + * @return Returns the upper cased string. + */ + toUpper(string?: string): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.toUpper + */ + toUpper(): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.toUpper + */ + toUpper(): LoDashExplicitWrapper; + } + + // trim + + interface LoDashStatic { + /** + * Removes leading and trailing whitespace or specified characters from string. + * + * @param string The string to trim. + * @param chars The characters to trim. + * @return Returns the trimmed string. + */ + trim( + string?: string, + chars?: string + ): string; + + /** + * Removes leading and trailing whitespace or specified characters from string. + * + * @param string The string to trim. + * @param index Not used in this overload. + * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. + * @return Returns the trimmed string. + */ + trim( + string: string, + index: string | number, + guard: object + ): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.trim + */ + trim(chars?: string): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.trim + */ + trim(chars?: string): LoDashExplicitWrapper; + } + + // trimEnd + + interface LoDashStatic { + /** + * Removes trailing whitespace or specified characters from string. + * + * @param string The string to trim. + * @param chars The characters to trim. + * @return Returns the trimmed string. + */ + trimEnd( + string?: string, + chars?: string + ): string; + + /** + * Removes trailing whitespace or specified characters from string. + * + * @param string The string to trim. + * @param index Not used in this overload. + * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. + * @return Returns the trimmed string. + */ + trimEnd( + string: string, + index: string | number, + guard: object + ): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.trimEnd + */ + trimEnd(chars?: string): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.trimEnd + */ + trimEnd(chars?: string): LoDashExplicitWrapper; + } + + // trimStart + + interface LoDashStatic { + /** + * Removes leading whitespace or specified characters from string. + * + * @param string The string to trim. + * @param chars The characters to trim. + * @return Returns the trimmed string. + */ + trimStart( + string?: string, + chars?: string + ): string; + + /** + * Removes leading whitespace or specified characters from string. + * + * @param string The string to trim. + * @param index Not used in this overload. + * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. + * @return Returns the trimmed string. + */ + trimStart( + string: string, + index: string | number, + guard: object + ): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.trimStart + */ + trimStart(chars?: string): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.trimStart + */ + trimStart(chars?: string): LoDashExplicitWrapper; + } + + // truncate + + interface TruncateOptions { + /** The maximum string length. */ + length?: number; + /** The string to indicate text is omitted. */ + omission?: string; + /** The separator pattern to truncate to. */ + separator?: string|RegExp; + } + + interface LoDashStatic { + /** + * Truncates string if it’s longer than the given maximum string length. The last characters of the truncated + * string are replaced with the omission string which defaults to "…". + * + * @param string The string to truncate. + * @param options The options object or maximum string length. + * @return Returns the truncated string. + */ + truncate( + string?: string, + options?: TruncateOptions + ): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.truncate + */ + truncate(options?: TruncateOptions): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.truncate + */ + truncate(options?: TruncateOptions): LoDashExplicitWrapper; + } + + // unescape + + interface LoDashStatic { + /** + * The inverse of _.escape; this method converts the HTML entities &, <, >, ", ', and ` + * in string to their corresponding characters. + * + * Note: No other HTML entities are unescaped. To unescape additional HTML entities use a third-party library + * like he. + * + * @param string The string to unescape. + * @return Returns the unescaped string. + */ + unescape(string?: string): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.unescape + */ + unescape(): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.unescape + */ + unescape(): LoDashExplicitWrapper; + } + + // upperCase + + interface LoDashStatic { + /** + * Converts `string`, as space separated words, to upper case. + * + * @param string The string to convert. + * @return Returns the upper cased string. + */ + upperCase(string?: string): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.upperCase + */ + upperCase(): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.upperCase + */ + upperCase(): LoDashExplicitWrapper; + } + + // upperFirst + + interface LoDashStatic { + /** + * Converts the first character of `string` to upper case. + * + * @param string The string to convert. + * @return Returns the converted string. + */ + upperFirst(string?: string): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.upperFirst + */ + upperFirst(): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.upperFirst + */ + upperFirst(): LoDashExplicitWrapper; + } + + // words + + interface LoDashStatic { + /** + * Splits `string` into an array of its words. + * + * @param string The string to inspect. + * @param pattern The pattern to match words. + * @return Returns the words of `string`. + */ + words( + string?: string, + pattern?: string|RegExp + ): string[]; + + /** + * Splits `string` into an array of its words. + * + * @param string The string to inspect. + * @param index Not used in this overload. + * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. + * @return Returns the words of `string`. + */ + words( + string: string, + index: string | number, + guard: object + ): string[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.words + */ + words(pattern?: string|RegExp): string[]; + } + + interface LoDashExplicitWrapper { + /** + * @see _.words + */ + words(pattern?: string|RegExp): LoDashExplicitWrapper; + } +} \ No newline at end of file diff --git a/types/lodash/common/util.d.ts b/types/lodash/common/util.d.ts new file mode 100644 index 0000000000..e365750018 --- /dev/null +++ b/types/lodash/common/util.d.ts @@ -0,0 +1,1455 @@ +import _ = require("../index"); +declare module "../index" { + // attempt + + interface LoDashStatic { + /** + * Attempts to invoke func, returning either the result or the caught error object. Any additional arguments + * are provided to func when it’s invoked. + * + * @param func The function to attempt. + * @return Returns the func result or error object. + */ + attempt(func: (...args: any[]) => TResult, ...args: any[]): TResult|Error; + } + + interface LoDashImplicitWrapper { + /** + * @see _.attempt + */ + attempt(...args: any[]): TResult|Error; + } + + interface LoDashExplicitWrapper { + /** + * @see _.attempt + */ + attempt(...args: any[]): LoDashExplicitWrapper; + } + + // bindAll + + interface LoDashStatic { + /** + * Binds methods of an object to the object itself, overwriting the existing method. Method names may be + * specified as individual arguments or as arrays of method names. If no method names are provided all + * enumerable function properties, own and inherited, of object are bound. + * + * Note: This method does not set the "length" property of bound functions. + * + * @param object The object to bind and assign the bound methods to. + * @param methodNames The object method names to bind, specified as individual method names or arrays of + * method names. + * @return Returns object. + */ + bindAll( + object: T, + ...methodNames: Array> + ): T; + } + + interface LoDashWrapper { + /** + * @see _.bindAll + */ + bindAll(...methodNames: Array>): this; + } + + // cond + + interface LoDashStatic { + /** + * Creates a function that iterates over `pairs` and invokes the corresponding + * function of the first predicate to return truthy. The predicate-function + * pairs are invoked with the `this` binding and arguments of the created + * function. + * + * @since 4.0.0 + * @category Util + * @param pairs The predicate-function pairs. + * @returns Returns the new composite function. + * @example + * + * var func = _.cond([ + * [_.matches({ 'a': 1 }), _.constant('matches A')], + * [_.conforms({ 'b': _.isNumber }), _.constant('matches B')], + * [_.stubTrue, _.constant('no match')] + * ]); + * + * func({ 'a': 1, 'b': 2 }); + * // => 'matches A' + * + * func({ 'a': 0, 'b': 1 }); + * // => 'matches B' + * + * func({ 'a': '1', 'b': '2' }); + * // => 'no match' + */ + cond(pairs: Array>): (Target: T) => R; + } + + // conforms + + type ConformsPredicateObject = { + [P in keyof T]?: (val: T[P]) => boolean; + }; + + interface LoDashStatic { + /** + * Creates a function that invokes the predicate properties of `source` with the corresponding + * property values of a given object, returning true if all predicates return truthy, else false. + */ + conforms(source: ConformsPredicateObject): (value: T) => boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.conforms + */ + conforms(this: LoDashImplicitWrapper>): LoDashImplicitWrapper<(value: T) => boolean>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.conforms + */ + conforms(this: LoDashExplicitWrapper>): LoDashExplicitWrapper<(value: T) => boolean>; + } + + // constant + + interface LoDashStatic { + /** + * Creates a function that returns value. + * + * @param value The value to return from the new function. + * @return Returns the new function. + */ + constant(value: T): () => T; + } + + interface LoDashImplicitWrapper { + /** + * @see _.constant + */ + constant(): LoDashImplicitWrapper<() => TValue>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.constant + */ + constant(): LoDashExplicitWrapper<() => TValue>; + } + + // defaultTo + + interface LoDashStatic { + /** + * Checks `value` to determine whether a default value should be returned in + * its place. The `defaultValue` is returned if `value` is `NaN`, `null`, + * or `undefined`. + * + * @param value The value to check. + * @param defaultValue The default value. + * @returns Returns the resolved value. + */ + defaultTo(value: T | null | undefined, defaultValue: T): T; + + /** + * @see _.defaultTo + */ + defaultTo( + value: T | null | undefined, + defaultValue: TDefault + ): T | TDefault; + } + + interface LoDashImplicitWrapper { + /** + * @see _.defaultTo + */ + defaultTo(this: LoDashImplicitWrapper, defaultValue: T): T; + + /** + * @see _.defaultTo + */ + defaultTo( + this: LoDashImplicitWrapper, + defaultValue: TDefault + ): T | TDefault; + } + + interface LoDashExplicitWrapper { + /** + * @see _.defaultTo + */ + defaultTo(this: LoDashExplicitWrapper, defaultValue: T): LoDashExplicitWrapper; + + /** + * @see _.defaultTo + */ + defaultTo( + this: LoDashExplicitWrapper, + defaultValue: TDefault + ): LoDashExplicitWrapper; + } + + // flow + + interface LoDashStatic { + /** + * Creates a function that returns the result of invoking the provided functions with the this binding of the + * created function, where each successive invocation is supplied the return value of the previous. + * + * @param funcs Functions to invoke. + * @return Returns the new function. + */ + // 0-argument first function + flow(f1: () => R1, f2: (a: R1) => R2): () => R2; + flow(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): () => R3; + flow(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): () => R4; + flow(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): () => R5; + flow(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): () => R6; + flow(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): () => R7; + flow(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): () => any; + // 1-argument first function + flow(f1: (a1: A1) => R1, f2: (a: R1) => R2): (a1: A1) => R2; + flow(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1) => R3; + flow(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1) => R4; + flow(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1) => R5; + flow(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1) => R6; + flow(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1) => R7; + flow(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): (a1: A1) => any; + // 2-argument first function + flow(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2) => R2; + flow(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2) => R3; + flow(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2) => R4; + flow(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2) => R5; + flow(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2) => R6; + flow(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2) => R7; + flow(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): (a1: A1, a2: A2) => any; + // 3-argument first function + flow(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2, a3: A3) => R2; + flow(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2, a3: A3) => R3; + flow(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2, a3: A3) => R4; + flow(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2, a3: A3) => R5; + flow(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2, a3: A3) => R6; + flow(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2, a3: A3) => R7; + flow(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): (a1: A1, a2: A2, a3: A3) => any; + // 4-argument first function + flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2, a3: A3, a4: A4) => R2; + flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2, a3: A3, a4: A4) => R3; + flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2, a3: A3, a4: A4) => R4; + flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2, a3: A3, a4: A4) => R5; + flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2, a3: A3, a4: A4) => R6; + flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2, a3: A3, a4: A4) => R7; + flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): (a1: A1, a2: A2, a3: A3, a4: A4) => any; + // any-argument first function + flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R2; + flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R3; + flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R4; + flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R5; + flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R6; + flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R7; + flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => any; + flow(funcs: Array any>>): (...args: any[]) => any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.flow + */ + // 0-argument first function + flow(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2): LoDashImplicitWrapper<() => R2>; + flow(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashImplicitWrapper<() => R3>; + flow(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashImplicitWrapper<() => R4>; + flow(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashImplicitWrapper<() => R5>; + flow(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashImplicitWrapper<() => R6>; + flow(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashImplicitWrapper<() => R7>; + flow(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashImplicitWrapper<() => any>; + // 1-argument first function + flow(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2): LoDashImplicitWrapper<(a1: A1) => R2>; + flow(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashImplicitWrapper<(a1: A1) => R3>; + flow(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashImplicitWrapper<(a1: A1) => R4>; + flow(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashImplicitWrapper<(a1: A1) => R5>; + flow(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashImplicitWrapper<(a1: A1) => R6>; + flow(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashImplicitWrapper<(a1: A1) => R7>; + flow(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashImplicitWrapper<(a1: A1) => any>; + // 2-argument first function + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2): LoDashImplicitWrapper<(a1: A1, a2: A2) => R2>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashImplicitWrapper<(a1: A1, a2: A2) => R3>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashImplicitWrapper<(a1: A1, a2: A2) => R4>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashImplicitWrapper<(a1: A1, a2: A2) => R5>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashImplicitWrapper<(a1: A1, a2: A2) => R6>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashImplicitWrapper<(a1: A1, a2: A2) => R7>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashImplicitWrapper<(a1: A1, a2: A2) => any>; + // 3-argument first function + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R2>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R3>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R4>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R5>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R6>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R7>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => any>; + // 4-argument first function + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R2>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R3>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R4>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R5>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R6>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R7>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => any>; + // any-argument first function + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R2>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R3>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R4>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R5>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R6>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R7>; + flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => any>; + flow(this: LoDashImplicitWrapper<(...args: any[]) => any>, funcs: Array any>>): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.flow + */ + // 0-argument first function + flow(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2): LoDashExplicitWrapper<() => R2>; + flow(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashExplicitWrapper<() => R3>; + flow(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashExplicitWrapper<() => R4>; + flow(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashExplicitWrapper<() => R5>; + flow(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashExplicitWrapper<() => R6>; + flow(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashExplicitWrapper<() => R7>; + flow(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashExplicitWrapper<() => any>; + // 1-argument first function + flow(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2): LoDashExplicitWrapper<(a1: A1) => R2>; + flow(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashExplicitWrapper<(a1: A1) => R3>; + flow(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashExplicitWrapper<(a1: A1) => R4>; + flow(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashExplicitWrapper<(a1: A1) => R5>; + flow(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashExplicitWrapper<(a1: A1) => R6>; + flow(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashExplicitWrapper<(a1: A1) => R7>; + flow(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashExplicitWrapper<(a1: A1) => any>; + // 2-argument first function + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2): LoDashExplicitWrapper<(a1: A1, a2: A2) => R2>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashExplicitWrapper<(a1: A1, a2: A2) => R3>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashExplicitWrapper<(a1: A1, a2: A2) => R4>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashExplicitWrapper<(a1: A1, a2: A2) => R5>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashExplicitWrapper<(a1: A1, a2: A2) => R6>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashExplicitWrapper<(a1: A1, a2: A2) => R7>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashExplicitWrapper<(a1: A1, a2: A2) => any>; + // 3-argument first function + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R2>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R3>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R4>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R5>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R6>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R7>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => any>; + // 4-argument first function + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R2>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R3>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R4>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R5>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R6>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R7>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => any>; + // any-argument first function + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R2>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R3>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R4>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R5>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R6>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R7>; + flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => any>; + flow(this: LoDashExplicitWrapper<(...args: any[]) => any>, funcs: Array any>>): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // flowRight + + interface LoDashStatic { + /** + * This method is like _.flow except that it creates a function that invokes the provided functions from right + * to left. + * + * @param funcs Functions to invoke. + * @return Returns the new function. + */ + // 0-argument first function + flowRight(f2: (a: R1) => R2, f1: () => R1): () => R2; + flowRight(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R3; + flowRight(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R4; + flowRight(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R5; + flowRight(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R6; + flowRight(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R7; + // 1-argument first function + flowRight(f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R2; + flowRight(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R3; + flowRight(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R4; + flowRight(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R5; + flowRight(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R6; + flowRight(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R7; + // 2-argument first function + flowRight(f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R2; + flowRight(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R3; + flowRight(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R4; + flowRight(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R5; + flowRight(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R6; + flowRight(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R7; + // 3-argument first function + flowRight(f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R2; + flowRight(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R3; + flowRight(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R4; + flowRight(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R5; + flowRight(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R6; + flowRight(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R7; + // 4-argument first function + flowRight(f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R2; + flowRight(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R3; + flowRight(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R4; + flowRight(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R5; + flowRight(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R6; + flowRight(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R7; + // any-argument first function + flowRight(f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R2; + flowRight(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R3; + flowRight(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R4; + flowRight(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R5; + flowRight(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R6; + flowRight(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R7; + flowRight(f7: (a: any) => any, f6: (a: any) => any, f5: (a: any) => any, f4: (a: any) => any, f3: (a: any) => any, f2: (a: any) => any, f1: () => any, ...funcs: Array any>>): (...args: any[]) => any; + flowRight(funcs: Array any>>): (...args: any[]) => any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.flowRight + */ + // 0-argument first function + flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f1: () => R1): LoDashImplicitWrapper<() => R2>; + flowRight(this: LoDashImplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: () => R1): LoDashImplicitWrapper<() => R3>; + flowRight(this: LoDashImplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashImplicitWrapper<() => R4>; + flowRight(this: LoDashImplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashImplicitWrapper<() => R5>; + flowRight(this: LoDashImplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashImplicitWrapper<() => R6>; + flowRight(this: LoDashImplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashImplicitWrapper<() => R7>; + // 1-argument first function + flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f1: (a1: A1) => R1): LoDashImplicitWrapper<(a1: A1) => R2>; + flowRight(this: LoDashImplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashImplicitWrapper<(a1: A1) => R3>; + flowRight(this: LoDashImplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashImplicitWrapper<(a1: A1) => R4>; + flowRight(this: LoDashImplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashImplicitWrapper<(a1: A1) => R5>; + flowRight(this: LoDashImplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashImplicitWrapper<(a1: A1) => R6>; + flowRight(this: LoDashImplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashImplicitWrapper<(a1: A1) => R7>; + // 2-argument first function + flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f1: (a1: A1, a2: A2) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2) => R2>; + flowRight(this: LoDashImplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2) => R3>; + flowRight(this: LoDashImplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2) => R4>; + flowRight(this: LoDashImplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2) => R5>; + flowRight(this: LoDashImplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2) => R6>; + flowRight(this: LoDashImplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2) => R7>; + // 3-argument first function + flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R2>; + flowRight(this: LoDashImplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R3>; + flowRight(this: LoDashImplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R4>; + flowRight(this: LoDashImplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R5>; + flowRight(this: LoDashImplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R6>; + flowRight(this: LoDashImplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R7>; + // 4-argument first function + flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R2>; + flowRight(this: LoDashImplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R3>; + flowRight(this: LoDashImplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R4>; + flowRight(this: LoDashImplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R5>; + flowRight(this: LoDashImplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R6>; + flowRight(this: LoDashImplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R7>; + // any-argument first function + flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f1: (...args: any[]) => R1): LoDashImplicitWrapper<(...args: any[]) => R2>; + flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashImplicitWrapper<(...args: any[]) => R3>; + flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashImplicitWrapper<(...args: any[]) => R4>; + flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashImplicitWrapper<(...args: any[]) => R5>; + flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashImplicitWrapper<(...args: any[]) => R6>; + flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashImplicitWrapper<(...args: any[]) => R7>; + flowRight(this: LoDashImplicitWrapper<(a: any) => any>, f6: (a: any) => any, f5: (a: any) => any, f4: (a: any) => any, f3: (a: any) => any, f2: (a: any) => any, f1: () => any, ...funcs: Array any>>): LoDashImplicitWrapper<(...args: any[]) => any>; + flowRight(this: LoDashImplicitWrapper<(a: any) => any>, funcs: Array any>>): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.flowRight + */ + // 0-argument first function + flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f1: () => R1): LoDashExplicitWrapper<() => R2>; + flowRight(this: LoDashExplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: () => R1): LoDashExplicitWrapper<() => R3>; + flowRight(this: LoDashExplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashExplicitWrapper<() => R4>; + flowRight(this: LoDashExplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashExplicitWrapper<() => R5>; + flowRight(this: LoDashExplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashExplicitWrapper<() => R6>; + flowRight(this: LoDashExplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashExplicitWrapper<() => R7>; + // 1-argument first function + flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f1: (a1: A1) => R1): LoDashExplicitWrapper<(a1: A1) => R2>; + flowRight(this: LoDashExplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashExplicitWrapper<(a1: A1) => R3>; + flowRight(this: LoDashExplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashExplicitWrapper<(a1: A1) => R4>; + flowRight(this: LoDashExplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashExplicitWrapper<(a1: A1) => R5>; + flowRight(this: LoDashExplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashExplicitWrapper<(a1: A1) => R6>; + flowRight(this: LoDashExplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashExplicitWrapper<(a1: A1) => R7>; + // 2-argument first function + flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f1: (a1: A1, a2: A2) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2) => R2>; + flowRight(this: LoDashExplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2) => R3>; + flowRight(this: LoDashExplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2) => R4>; + flowRight(this: LoDashExplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2) => R5>; + flowRight(this: LoDashExplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2) => R6>; + flowRight(this: LoDashExplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2) => R7>; + // 3-argument first function + flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R2>; + flowRight(this: LoDashExplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R3>; + flowRight(this: LoDashExplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R4>; + flowRight(this: LoDashExplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R5>; + flowRight(this: LoDashExplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R6>; + flowRight(this: LoDashExplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R7>; + // 4-argument first function + flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R2>; + flowRight(this: LoDashExplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R3>; + flowRight(this: LoDashExplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R4>; + flowRight(this: LoDashExplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R5>; + flowRight(this: LoDashExplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R6>; + flowRight(this: LoDashExplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R7>; + // any-argument first function + flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f1: (...args: any[]) => R1): LoDashExplicitWrapper<(...args: any[]) => R2>; + flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashExplicitWrapper<(...args: any[]) => R3>; + flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashExplicitWrapper<(...args: any[]) => R4>; + flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashExplicitWrapper<(...args: any[]) => R5>; + flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashExplicitWrapper<(...args: any[]) => R6>; + flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashExplicitWrapper<(...args: any[]) => R7>; + flowRight(this: LoDashExplicitWrapper<(a: any) => any>, f6: (a: any) => any, f5: (a: any) => any, f4: (a: any) => any, f3: (a: any) => any, f2: (a: any) => any, f1: () => any, ...funcs: Array any>>): LoDashExplicitWrapper<(...args: any[]) => any>; + flowRight(this: LoDashExplicitWrapper<(a: any) => any>, funcs: Array any>>): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // identity + + interface LoDashStatic { + /** + * This method returns the first argument provided to it. + * + * @param value Any value. + * @return Returns value. + */ + identity(value: T): T; + + /** + * @see _.identity + */ + identity(): undefined; + } + + interface LoDashImplicitWrapper { + /** + * @see _.identity + */ + identity(): TValue; + } + + interface LoDashExplicitWrapper { + /** + * @see _.identity + */ + identity(): this; + } + + // iteratee + + interface LoDashStatic { + /** + * Creates a function that invokes `func` with the arguments of the created + * function. If `func` is a property name the created callback returns the + * property value for a given element. If `func` is an object the created + * callback returns `true` for elements that contain the equivalent object properties, otherwise it returns `false`. + * + * @category Util + * @param [func=_.identity] The value to convert to a callback. + * @returns Returns the callback. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 } + * ]; + * + * // create custom iteratee shorthands + * _.iteratee = _.wrap(_.iteratee, function(callback, func) { + * var p = /^(\S+)\s*([<>])\s*(\S+)$/.exec(func); + * return !p ? callback(func) : function(object) { + * return (p[2] == '>' ? object[p[1]] > p[3] : object[p[1]] < p[3]); + * }; + * }); + * + * _.filter(users, 'age > 36'); + * // => [{ 'user': 'fred', 'age': 40 }] + */ + iteratee any>( + func: TFunction | string | object + ): TFunction; + + /** + * @see _.iteratee + */ + iteratee(): typeof _.identity; // tslint:disable-line:no-unnecessary-qualifier + } + + interface LoDashImplicitWrapper { + /** + * @see _.iteratee + */ + iteratee any>( + this: LoDashImplicitWrapper + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.iteratee + */ + iteratee any>( + this: LoDashExplicitWrapper + ): LoDashExplicitWrapper; + } + + // matches + + interface LoDashStatic { + /** + * Creates a function that performs a deep comparison between a given object and source, returning true if the + * given object has equivalent property values, else false. + * + * Note: This method supports comparing arrays, booleans, Date objects, numbers, Object objects, regexes, and + * strings. Objects are compared by their own, not inherited, enumerable properties. For comparing a single own + * or inherited property value see _.matchesProperty. + * + * @param source The object of property values to match. + * @return Returns the new function. + */ + matches(source: T): (value: any) => boolean; + + /** + * @see _.matches + */ + matches(source: T): (value: V) => boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.matches + */ + matches(): LoDashImplicitWrapper<(value: V) => boolean>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.matches + */ + matches(): LoDashExplicitWrapper<(value: V) => boolean>; + } + + // matchesProperty + + interface LoDashStatic { + /** + * Creates a function that compares the property value of path on a given object to value. + * + * Note: This method supports comparing arrays, booleans, Date objects, numbers, Object objects, regexes, and + * strings. Objects are compared by their own, not inherited, enumerable properties. + * + * @param path The path of the property to get. + * @param srcValue The value to match. + * @return Returns the new function. + */ + matchesProperty( + path: PropertyPath, + srcValue: T + ): (value: any) => boolean; + + /** + * @see _.matchesProperty + */ + matchesProperty( + path: PropertyPath, + srcValue: T + ): (value: V) => boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.matchesProperty + */ + matchesProperty( + srcValue: SrcValue + ): LoDashImplicitWrapper<(value: any) => boolean>; + + /** + * @see _.matchesProperty + */ + matchesProperty( + srcValue: SrcValue + ): LoDashImplicitWrapper<(value: Value) => boolean>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.matchesProperty + */ + matchesProperty( + srcValue: SrcValue + ): LoDashExplicitWrapper<(value: any) => boolean>; + + /** + * @see _.matchesProperty + */ + matchesProperty( + srcValue: SrcValue + ): LoDashExplicitWrapper<(value: Value) => boolean>; + } + + // method + + interface LoDashStatic { + /** + * Creates a function that invokes the method at path on a given object. Any additional arguments are provided + * to the invoked method. + * + * @param path The path of the method to invoke. + * @param args The arguments to invoke the method with. + * @return Returns the new function. + */ + method( + path: PropertyPath, + ...args: any[] + ): (object: any) => any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.method + */ + method(...args: any[]): LoDashImplicitWrapper<(object: any) => any>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.method + */ + method(...args: any[]): LoDashExplicitWrapper<(object: any) => any>; + } + + // methodOf + + interface LoDashStatic { + /** + * The opposite of _.method; this method creates a function that invokes the method at a given path on object. + * Any additional arguments are provided to the invoked method. + * + * @param object The object to query. + * @param args The arguments to invoke the method with. + * @return Returns the new function. + */ + methodOf( + object: object, + ...args: any[] + ): (path: PropertyPath) => any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.methodOf + */ + methodOf( + ...args: any[] + ): LoDashImplicitWrapper<(path: PropertyPath) => any>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.methodOf + */ + methodOf( + ...args: any[] + ): LoDashExplicitWrapper<(path: PropertyPath) => any>; + } + + // mixin + + interface MixinOptions { + chain?: boolean; + } + + interface LoDashStatic { + /** + * Adds all own enumerable function properties of a source object to the destination object. If object is a + * function then methods are added to its prototype as well. + * + * Note: Use _.runInContext to create a pristine lodash function to avoid conflicts caused by modifying + * the original. + * + * @param object The destination object. + * @param source The object of functions to add. + * @param options The options object. + * @param options.chain Specify whether the functions added are chainable. + * @return Returns object. + */ + mixin( + object: TObject, + source: Dictionary<(...args: any[]) => any>, + options?: MixinOptions + ): TObject; + + /** + * @see _.mixin + */ + mixin( + source: Dictionary<(...args: any[]) => any>, + options?: MixinOptions + ): LoDashStatic; + } + + interface LoDashImplicitWrapper { + /** + * @see _.mixin + */ + mixin( + source: Dictionary<(...args: any[]) => any>, + options?: MixinOptions + ): this; + + /** + * @see _.mixin + */ + mixin( + options?: MixinOptions + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.mixin + */ + mixin( + source: Dictionary<(...args: any[]) => any>, + options?: MixinOptions + ): this; + + /** + * @see _.mixin + */ + mixin( + options?: MixinOptions + ): LoDashExplicitWrapper; + } + + // noConflict + + interface LoDashStatic { + /** + * Reverts the _ variable to its previous value and returns a reference to the lodash function. + * + * @return Returns the lodash function. + */ + noConflict(): typeof _; + } + + interface LoDashImplicitWrapper { + /** + * @see _.noConflict + */ + noConflict(): typeof _; + } + + interface LoDashExplicitWrapper { + /** + * @see _.noConflict + */ + noConflict(): LoDashExplicitWrapper; + } + + // noop + + interface LoDashStatic { + /** + * A no-operation function that returns undefined regardless of the arguments it receives. + * + * @return undefined + */ + noop(...args: any[]): void; + } + + interface LoDashImplicitWrapper { + /** + * @see _.noop + */ + noop(...args: any[]): void; + } + + interface LoDashExplicitWrapper { + /** + * @see _.noop + */ + noop(...args: any[]): LoDashExplicitWrapper; + } + + // nthArg + + interface LoDashStatic { + /** + * Creates a function that returns its nth argument. + * + * @param n The index of the argument to return. + * @return Returns the new function. + */ + nthArg(n?: number): (...args: any[]) => any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.nthArg + */ + nthArg(): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.nthArg + */ + nthArg(): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // over + + interface LoDashStatic { + /** + * Creates a function that invokes iteratees with the arguments provided to the created function and returns + * their results. + * + * @param iteratees The iteratees to invoke. + * @return Returns the new function. + */ + over(...iteratees: Array TResult>>): (...args: any[]) => TResult[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.over + */ + over( + this: LoDashImplicitWrapper TResult>>, + ...iteratees: Array TResult>> + ): LoDashImplicitWrapper<(...args: any[]) => TResult[]>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.over + */ + over( + this: LoDashExplicitWrapper TResult>>, + ...iteratees: Array TResult>> + ): LoDashExplicitWrapper<(...args: any[]) => TResult[]>; + } + + // overEvery + + interface LoDashStatic { + /** + * Creates a function that checks if all of the predicates return truthy when invoked with the arguments + * provided to the created function. + * + * @param predicates The predicates to check. + * @return Returns the new function. + */ + overEvery(...predicates: Array boolean>>): (...args: T[]) => boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.overEvery + */ + overEvery(...predicates: Array boolean>>): LoDashImplicitWrapper<(...args: T[]) => boolean>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.overEvery + */ + overEvery(...predicates: Array boolean>>): LoDashExplicitWrapper<(...args: T[]) => boolean>; + } + + // overSome + + interface LoDashStatic { + /** + * Creates a function that checks if any of the predicates return truthy when invoked with the arguments + * provided to the created function. + * + * @param predicates The predicates to check. + * @return Returns the new function. + */ + overSome(...predicates: Array boolean>>): (...args: T[]) => boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.overSome + */ + overSome(...predicates: Array boolean>>): LoDashImplicitWrapper<(...args: T[]) => boolean>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.overSome + */ + overSome(...predicates: Array boolean>>): LoDashExplicitWrapper<(...args: T[]) => boolean>; + } + + // property + + interface LoDashStatic { + /** + * Creates a function that returns the property value at path on a given object. + * + * @param path The path of the property to get. + * @return Returns the new function. + */ + property(path: PropertyPath): (obj: TObj) => TResult; + } + + interface LoDashImplicitWrapper { + /** + * @see _.property + */ + property(): LoDashImplicitWrapper<(obj: TObj) => TResult>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.property + */ + property(): LoDashExplicitWrapper<(obj: TObj) => TResult>; + } + + // propertyOf + + interface LoDashStatic { + /** + * The opposite of _.property; this method creates a function that returns the property value at a given path + * on object. + * + * @param object The object to query. + * @return Returns the new function. + */ + propertyOf(object: T): (path: PropertyPath) => any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.propertyOf + */ + propertyOf(): LoDashImplicitWrapper<(path: PropertyPath) => any>; + } + + interface LoDashExplicitWrapper { + /** + * @see _.propertyOf + */ + propertyOf(): LoDashExplicitWrapper<(path: PropertyPath) => any>; + } + + // range + + interface LoDashStatic { + /** + * Creates an array of numbers (positive and/or negative) progressing from start up to, but not including, end. + * If end is not specified it’s set to start with start then set to 0. If end is less than start a zero-length + * range is created unless a negative step is specified. + * + * @param start The start of the range. + * @param end The end of the range. + * @param step The value to increment or decrement by. + * @return Returns a new range array. + */ + range( + start: number, + end?: number, + step?: number + ): number[]; + + /** + * Creates an array of numbers (positive and/or negative) progressing from start up to, but not including, end. + * If end is not specified it’s set to start with start then set to 0. If end is less than start a zero-length + * range is created unless a negative step is specified. + * + * @param start The start of the range. + * @param index Not used in this overload. + * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. + * @return Returns a new range array. + */ + range( + end: number, + index: string | number, + guard: object + ): number[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.range + */ + range( + end?: number, + step?: number + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.range + */ + range( + end?: number, + step?: number + ): LoDashExplicitWrapper; + } + + // rangeRight + + interface LoDashStatic { + /** + * This method is like `_.range` except that it populates values in + * descending order. + * + * @category Util + * @param start The start of the range. + * @param end The end of the range. + * @param step The value to increment or decrement by. + * @returns Returns the new array of numbers. + * @example + * + * _.rangeRight(4); + * // => [3, 2, 1, 0] + * + * _.rangeRight(-4); + * // => [-3, -2, -1, 0] + * + * _.rangeRight(1, 5); + * // => [4, 3, 2, 1] + * + * _.rangeRight(0, 20, 5); + * // => [15, 10, 5, 0] + * + * _.rangeRight(0, -4, -1); + * // => [-3, -2, -1, 0] + * + * _.rangeRight(1, 4, 0); + * // => [1, 1, 1] + * + * _.rangeRight(0); + * // => [] + */ + rangeRight( + start: number, + end?: number, + step?: number + ): number[]; + + /** + * This method is like _.range except that it populates values in + * descending order. + * + * @param start The start of the range. + * @param index Not used in this overload. + * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. + * @return Returns a new range array. + */ + rangeRight( + end: number, + index: string | number, + guard: object + ): number[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.rangeRight + */ + rangeRight( + end?: number, + step?: number + ): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.rangeRight + */ + rangeRight( + end?: number, + step?: number + ): LoDashExplicitWrapper; + } + + // runInContext + + interface LoDashStatic { + /** + * Create a new pristine lodash function using the given context object. + * + * @param context The context object. + * @return Returns a new lodash function. + */ + runInContext(context?: object): typeof _; + } + + interface LoDashImplicitWrapper { + /** + * @see _.runInContext + */ + runInContext(): typeof _; + } + + // stubArray + + interface LoDashStatic { + /** + * This method returns a new empty array. + * + * @returns Returns the new empty array. + */ + stubArray(): any[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.stubArray + */ + stubArray(): any[]; + } + + interface LoDashExplicitWrapper { + /** + * @see _.stubArray + */ + stubArray(): LoDashExplicitWrapper; + } + + // stubFalse + + interface LoDashStatic { + /** + * This method returns `false`. + * + * @returns Returns `false`. + */ + stubFalse(): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.stubFalse + */ + stubFalse(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.stubFalse + */ + stubFalse(): LoDashExplicitWrapper; + } + + // stubObject + + interface LoDashStatic { + /** + * This method returns a new empty object. + * + * @returns Returns the new empty object. + */ + stubObject(): any; + } + + interface LoDashImplicitWrapper { + /** + * @see _.stubObject + */ + stubObject(): any; + } + + interface LoDashExplicitWrapper { + /** + * @see _.stubObject + */ + stubObject(): LoDashExplicitWrapper; + } + + // stubString + + interface LoDashStatic { + /** + * This method returns an empty string. + * + * @returns Returns the empty string. + */ + stubString(): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.stubString + */ + stubString(): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.stubString + */ + stubString(): LoDashExplicitWrapper; + } + + // stubTrue + + interface LoDashStatic { + /** + * This method returns `true`. + * + * @returns Returns `true`. + */ + stubTrue(): boolean; + } + + interface LoDashImplicitWrapper { + /** + * @see _.stubTrue + */ + stubTrue(): boolean; + } + + interface LoDashExplicitWrapper { + /** + * @see _.stubTrue + */ + stubTrue(): LoDashExplicitWrapper; + } + + // times + + interface LoDashStatic { + /** + * Invokes the iteratee function n times, returning an array of the results of each invocation. The iteratee + * is invoked with one argument; (index). + * + * @param n The number of times to invoke iteratee. + * @param iteratee The function invoked per iteration. + * @return Returns the array of results. + */ + times( + n: number, + iteratee: (num: number) => TResult + ): TResult[]; + + /** + * @see _.times + */ + times(n: number): number[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.times + */ + times( + iteratee: (num: number) => TResult + ): TResult[]; + + /** + * @see _.times + */ + times(): number[]; + } + + interface LoDashExplicitWrapper { + /** + * @see _.times + */ + times( + iteratee: (num: number) => TResult + ): LoDashExplicitWrapper; + + /** + * @see _.times + */ + times(): LoDashExplicitWrapper; + } + + // toPath + + interface LoDashStatic { + /** + * Converts `value` to a property path array. + * + * @category Util + * @param value The value to convert. + * @returns Returns the new property path array. + * @example + * + * _.toPath('a.b.c'); + * // => ['a', 'b', 'c'] + * + * _.toPath('a[0].b.c'); + * // => ['a', '0', 'b', 'c'] + * + * var path = ['a', 'b', 'c'], + * newPath = _.toPath(path); + * + * console.log(newPath); + * // => ['a', 'b', 'c'] + * + * console.log(path === newPath); + * // => false + */ + toPath(value: any): string[]; + } + + interface LoDashImplicitWrapper { + /** + * @see _.toPath + */ + toPath(): LoDashImplicitWrapper; + } + + interface LoDashExplicitWrapper { + /** + * @see _.toPath + */ + toPath(): LoDashExplicitWrapper; + } + + // uniqueId + + interface LoDashStatic { + /** + * Generates a unique ID. If prefix is provided the ID is appended to it. + * + * @param prefix The value to prefix the ID with. + * @return Returns the unique ID. + */ + uniqueId(prefix?: string): string; + } + + interface LoDashImplicitWrapper { + /** + * @see _.uniqueId + */ + uniqueId(): string; + } + + interface LoDashExplicitWrapper { + /** + * @see _.uniqueId + */ + uniqueId(): LoDashExplicitWrapper; + } +} \ No newline at end of file diff --git a/types/lodash/function/after.d.ts b/types/lodash/function/after.d.ts deleted file mode 100644 index 94b60497e1..0000000000 --- a/types/lodash/function/after.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * The opposite of _.before; this method creates a function that invokes func once it’s called n or more times. - * - * @param n The number of calls before func is invoked. - * @param func The function to restrict. - * @return Returns the new restricted function. - */ - after any>( - n: number, - func: TFunc - ): TFunc; - } - - interface LoDashImplicitWrapper { - /** - * @see _.after - **/ - after any>(func: TFunc): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.after - **/ - after any>(func: TFunc): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/function/ary.d.ts b/types/lodash/function/ary.d.ts deleted file mode 100644 index 94bcc7f25e..0000000000 --- a/types/lodash/function/ary.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that accepts up to n arguments ignoring any additional arguments. - * - * @param func The function to cap arguments for. - * @param n The arity cap. - * @returns Returns the new function. - */ - ary( - func: (...args: any[]) => any, - n?: number - ): (...args: any[]) => any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.ary - */ - ary(n?: number): LoDashImplicitWrapper<(...args: any[]) => any>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.ary - */ - ary(n?: number): LoDashExplicitWrapper<(...args: any[]) => any>; - } -} \ No newline at end of file diff --git a/types/lodash/function/before.d.ts b/types/lodash/function/before.d.ts deleted file mode 100644 index 2a3b840e8e..0000000000 --- a/types/lodash/function/before.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that invokes func, with the this binding and arguments of the created function, while - * it’s called less than n times. Subsequent calls to the created function return the result of the last func - * invocation. - * - * @param n The number of calls at which func is no longer invoked. - * @param func The function to restrict. - * @return Returns the new restricted function. - */ - before any>( - n: number, - func: TFunc - ): TFunc; - } - - interface LoDashImplicitWrapper { - /** - * @see _.before - **/ - before any>(func: TFunc): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.before - **/ - before any>(func: TFunc): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/function/bind.d.ts b/types/lodash/function/bind.d.ts deleted file mode 100644 index 28034aec12..0000000000 --- a/types/lodash/function/bind.d.ts +++ /dev/null @@ -1,50 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface FunctionBind { - placeholder: any; - - ( - func: (...args: any[]) => any, - thisArg: any, - ...partials: any[] - ): (...args: any[]) => any; - } - - interface LoDashStatic { - /** - * Creates a function that invokes func with the this binding of thisArg and prepends any additional _.bind - * arguments to those provided to the bound function. - * - * The _.bind.placeholder value, which defaults to _ in monolithic builds, may be used as a placeholder for - * partially applied arguments. - * - * Note: Unlike native Function#bind this method does not set the "length" property of bound functions. - * - * @param func The function to bind. - * @param thisArg The this binding of func. - * @param partials The arguments to be partially applied. - * @return Returns the new bound function. - */ - bind: FunctionBind; - } - - interface LoDashImplicitWrapper { - /** - * @see _.bind - */ - bind( - thisArg: any, - ...partials: any[] - ): LoDashImplicitWrapper<(...args: any[]) => any>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.bind - */ - bind( - thisArg: any, - ...partials: any[] - ): LoDashExplicitWrapper<(...args: any[]) => any>; - } -} \ No newline at end of file diff --git a/types/lodash/function/bindKey.d.ts b/types/lodash/function/bindKey.d.ts deleted file mode 100644 index bab46527c9..0000000000 --- a/types/lodash/function/bindKey.d.ts +++ /dev/null @@ -1,51 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface FunctionBindKey { - placeholder: any; - - ( - object: object, - key: string, - ...partials: any[] - ): (...args: any[]) => any; - } - - interface LoDashStatic { - /** - * Creates a function that invokes the method at object[key] and prepends any additional _.bindKey arguments - * to those provided to the bound function. - * - * This method differs from _.bind by allowing bound functions to reference methods that may be redefined - * or don’t yet exist. See Peter Michaux’s article for more details. - * - * The _.bindKey.placeholder value, which defaults to _ in monolithic builds, may be used as a placeholder - * for partially applied arguments. - * - * @param object The object the method belongs to. - * @param key The key of the method. - * @param partials The arguments to be partially applied. - * @return Returns the new bound function. - */ - bindKey: FunctionBindKey; - } - - interface LoDashImplicitWrapper { - /** - * @see _.bindKey - */ - bindKey( - key: string, - ...partials: any[] - ): LoDashImplicitWrapper<(...args: any[]) => any>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.bindKey - */ - bindKey( - key: string, - ...partials: any[] - ): LoDashExplicitWrapper<(...args: any[]) => any>; - } -} \ No newline at end of file diff --git a/types/lodash/function/curry.d.ts b/types/lodash/function/curry.d.ts deleted file mode 100644 index 03ff949438..0000000000 --- a/types/lodash/function/curry.d.ts +++ /dev/null @@ -1,203 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that accepts one or more arguments of func that when called either invokes func returning - * its result, if all func arguments have been provided, or returns a function that accepts one or more of the - * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient. - * @param func The function to curry. - * @param arity The arity of func. - * @return Returns the new curried function. - */ - curry(func: (t1: T1) => R, arity?: number): - CurriedFunction1; - /** - * Creates a function that accepts one or more arguments of func that when called either invokes func returning - * its result, if all func arguments have been provided, or returns a function that accepts one or more of the - * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient. - * @param func The function to curry. - * @param arity The arity of func. - * @return Returns the new curried function. - */ - curry(func: (t1: T1, t2: T2) => R, arity?: number): - CurriedFunction2; - /** - * Creates a function that accepts one or more arguments of func that when called either invokes func returning - * its result, if all func arguments have been provided, or returns a function that accepts one or more of the - * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient. - * @param func The function to curry. - * @param arity The arity of func. - * @return Returns the new curried function. - */ - curry(func: (t1: T1, t2: T2, t3: T3) => R, arity?: number): - CurriedFunction3; - /** - * Creates a function that accepts one or more arguments of func that when called either invokes func returning - * its result, if all func arguments have been provided, or returns a function that accepts one or more of the - * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient. - * @param func The function to curry. - * @param arity The arity of func. - * @return Returns the new curried function. - */ - curry(func: (t1: T1, t2: T2, t3: T3, t4: T4) => R, arity?: number): - CurriedFunction4; - /** - * Creates a function that accepts one or more arguments of func that when called either invokes func returning - * its result, if all func arguments have been provided, or returns a function that accepts one or more of the - * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient. - * @param func The function to curry. - * @param arity The arity of func. - * @return Returns the new curried function. - */ - curry(func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R, arity?: number): - CurriedFunction5; - /** - * Creates a function that accepts one or more arguments of func that when called either invokes func returning - * its result, if all func arguments have been provided, or returns a function that accepts one or more of the - * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient. - * @param func The function to curry. - * @param arity The arity of func. - * @return Returns the new curried function. - */ - curry(func: (...args: any[]) => any, arity?: number): (...args: any[]) => any; - } - - interface CurriedFunction1 { - (): CurriedFunction1; - (t1: T1): R; - } - - interface CurriedFunction2 { - (): CurriedFunction2; - (t1: T1): CurriedFunction1; - (t1: T1, t2: T2): R; - } - - interface CurriedFunction3 { - (): CurriedFunction3; - (t1: T1): CurriedFunction2; - (t1: T1, t2: T2): CurriedFunction1; - (t1: T1, t2: T2, t3: T3): R; - } - - interface CurriedFunction4 { - (): CurriedFunction4; - (t1: T1): CurriedFunction3; - (t1: T1, t2: T2): CurriedFunction2; - (t1: T1, t2: T2, t3: T3): CurriedFunction1; - (t1: T1, t2: T2, t3: T3, t4: T4): R; - } - - interface CurriedFunction5 { - (): CurriedFunction5; - (t1: T1): CurriedFunction4; - (t1: T1, t2: T2): CurriedFunction3; - (t1: T1, t2: T2, t3: T3): CurriedFunction2; - (t1: T1, t2: T2, t3: T3, t4: T4): CurriedFunction1; - (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5): R; - } - interface RightCurriedFunction1 { - (): RightCurriedFunction1; - (t1: T1): R; - } - interface RightCurriedFunction2 { - (): RightCurriedFunction2; - (t2: T2): RightCurriedFunction1; - (t1: T1, t2: T2): R; - } - interface RightCurriedFunction3 { - (): RightCurriedFunction3; - (t3: T3): RightCurriedFunction2; - (t2: T2, t3: T3): RightCurriedFunction1; - (t1: T1, t2: T2, t3: T3): R; - } - interface RightCurriedFunction4 { - (): RightCurriedFunction4; - (t4: T4): RightCurriedFunction3; - (t3: T3, t4: T4): RightCurriedFunction2; - (t2: T2, t3: T3, t4: T4): RightCurriedFunction1; - (t1: T1, t2: T2, t3: T3, t4: T4): R; - } - interface RightCurriedFunction5 { - (): RightCurriedFunction5; - (t5: T5): RightCurriedFunction4; - (t4: T4, t5: T5): RightCurriedFunction3; - (t3: T3, t4: T4, t5: T5): RightCurriedFunction2; - (t2: T2, t3: T3, t4: T4, t5: T5): RightCurriedFunction1; - (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5): R; - } - - interface LoDashImplicitWrapper { - /** - * @see _.curry - **/ - curry(this: LoDashImplicitWrapper<(t1: T1) => R>, arity?: number): - LoDashImplicitWrapper>; - - /** - * @see _.curry - **/ - curry(this: LoDashImplicitWrapper<(t1: T1, t2: T2) => R>, arity?: number): - LoDashImplicitWrapper>; - - /** - * @see _.curry - **/ - curry(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3) => R>, arity?: number): - LoDashImplicitWrapper>; - - /** - * @see _.curry - **/ - curry(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4) => R>, arity?: number): - LoDashImplicitWrapper>; - - /** - * @see _.curry - **/ - curry(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>, arity?: number): - LoDashImplicitWrapper>; - - /** - * @see _.curry - **/ - curry(arity?: number): LoDashImplicitWrapper<(...args: any[]) => any>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.curry - **/ - curry(this: LoDashExplicitWrapper<(t1: T1) => R>): - LoDashExplicitWrapper>; - - /** - * @see _.curry - **/ - curry(this: LoDashExplicitWrapper<(t1: T1, t2: T2) => R>): - LoDashExplicitWrapper>; - - /** - * @see _.curry - **/ - curry(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3) => R>): - LoDashExplicitWrapper>; - - /** - * @see _.curry - **/ - curry(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4) => R>): - LoDashExplicitWrapper>; - - /** - * @see _.curry - **/ - curry(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>): - LoDashExplicitWrapper>; - - /** - * @see _.curry - **/ - curry(arity?: number): LoDashExplicitWrapper<(...args: any[]) => any>; - } -} \ No newline at end of file diff --git a/types/lodash/function/curryRight.d.ts b/types/lodash/function/curryRight.d.ts deleted file mode 100644 index 044e98d5a2..0000000000 --- a/types/lodash/function/curryRight.d.ts +++ /dev/null @@ -1,132 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight - * instead of _.partial. - * @param func The function to curry. - * @param arity The arity of func. - * @return Returns the new curried function. - */ - curryRight(func: (t1: T1) => R, arity?: number): - RightCurriedFunction1; - /** - * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight - * instead of _.partial. - * @param func The function to curry. - * @param arity The arity of func. - * @return Returns the new curried function. - */ - curryRight(func: (t1: T1, t2: T2) => R, arity?: number): - RightCurriedFunction2; - /** - * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight - * instead of _.partial. - * @param func The function to curry. - * @param arity The arity of func. - * @return Returns the new curried function. - */ - curryRight(func: (t1: T1, t2: T2, t3: T3) => R, arity?: number): - RightCurriedFunction3; - /** - * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight - * instead of _.partial. - * @param func The function to curry. - * @param arity The arity of func. - * @return Returns the new curried function. - */ - curryRight(func: (t1: T1, t2: T2, t3: T3, t4: T4) => R, arity?: number): - RightCurriedFunction4; - /** - * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight - * instead of _.partial. - * @param func The function to curry. - * @param arity The arity of func. - * @return Returns the new curried function. - */ - curryRight(func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R, arity?: number): - RightCurriedFunction5; - /** - * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight - * instead of _.partial. - * @param func The function to curry. - * @param arity The arity of func. - * @return Returns the new curried function. - */ - curryRight(func: (...args: any[]) => any, arity?: number): (...args: any[]) => any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.curryRight - **/ - curryRight(this: LoDashImplicitWrapper<(t1: T1) => R>, arity?: number): - LoDashImplicitWrapper>; - - /** - * @see _.curryRight - **/ - curryRight(this: LoDashImplicitWrapper<(t1: T1, t2: T2) => R>, arity?: number): - LoDashImplicitWrapper>; - - /** - * @see _.curryRight - **/ - curryRight(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3) => R>, arity?: number): - LoDashImplicitWrapper>; - - /** - * @see _.curryRight - **/ - curryRight(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4) => R>, arity?: number): - LoDashImplicitWrapper>; - - /** - * @see _.curryRight - **/ - curryRight(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>, arity?: number): - LoDashImplicitWrapper>; - - /** - * @see _.curryRight - **/ - curryRight(arity?: number): LoDashImplicitWrapper<(...args: any[]) => any>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.curryRight - **/ - curryRight(this: LoDashExplicitWrapper<(t1: T1) => R>, arity?: number): - LoDashExplicitWrapper>; - - /** - * @see _.curryRight - **/ - curryRight(this: LoDashExplicitWrapper<(t1: T1, t2: T2) => R>, arity?: number): - LoDashExplicitWrapper>; - - /** - * @see _.curryRight - **/ - curryRight(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3) => R>, arity?: number): - LoDashExplicitWrapper>; - - /** - * @see _.curryRight - **/ - curryRight(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4) => R>, arity?: number): - LoDashExplicitWrapper>; - - /** - * @see _.curryRight - **/ - curryRight(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>, arity?: number): - LoDashExplicitWrapper>; - - /** - * @see _.curryRight - **/ - curryRight(arity?: number): LoDashExplicitWrapper<(...args: any[]) => any>; - } -} \ No newline at end of file diff --git a/types/lodash/function/debounce.d.ts b/types/lodash/function/debounce.d.ts deleted file mode 100644 index 9ff85bd972..0000000000 --- a/types/lodash/function/debounce.d.ts +++ /dev/null @@ -1,67 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface DebounceSettings { - /** - * Specify invoking on the leading edge of the timeout. - */ - leading?: boolean; - - /** - * The maximum time func is allowed to be delayed before it’s invoked. - */ - maxWait?: number; - - /** - * Specify invoking on the trailing edge of the timeout. - */ - trailing?: boolean; - } - - interface LoDashStatic { - /** - * Creates a debounced function that delays invoking func until after wait milliseconds have elapsed since - * the last time the debounced function was invoked. The debounced function comes with a cancel method to - * cancel delayed invocations and a flush method to immediately invoke them. Provide an options object to - * indicate that func should be invoked on the leading and/or trailing edge of the wait timeout. Subsequent - * calls to the debounced function return the result of the last func invocation. - * - * Note: If leading and trailing options are true, func is invoked on the trailing edge of the timeout only - * if the the debounced function is invoked more than once during the wait timeout. - * - * See David Corbacho’s article for details over the differences between _.debounce and _.throttle. - * - * @param func The function to debounce. - * @param wait The number of milliseconds to delay. - * @param options The options object. - * @param options.leading Specify invoking on the leading edge of the timeout. - * @param options.maxWait The maximum time func is allowed to be delayed before it’s invoked. - * @param options.trailing Specify invoking on the trailing edge of the timeout. - * @return Returns the new debounced function. - */ - debounce any>( - func: T, - wait?: number, - options?: DebounceSettings - ): T & Cancelable; - } - - interface LoDashImplicitWrapper { - /** - * @see _.debounce - */ - debounce( - wait?: number, - options?: DebounceSettings - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.debounce - */ - debounce( - wait?: number, - options?: DebounceSettings - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/function/defer.d.ts b/types/lodash/function/defer.d.ts deleted file mode 100644 index 1968749ecd..0000000000 --- a/types/lodash/function/defer.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Defers invoking the func until the current call stack has cleared. Any additional arguments are provided to - * func when it’s invoked. - * - * @param func The function to defer. - * @param args The arguments to invoke the function with. - * @return Returns the timer id. - */ - defer( - func: (...args: any[]) => any, - ...args: any[] - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.defer - */ - defer(...args: any[]): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.defer - */ - defer(...args: any[]): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/function/delay.d.ts b/types/lodash/function/delay.d.ts deleted file mode 100644 index 72e2b4151e..0000000000 --- a/types/lodash/function/delay.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Invokes func after wait milliseconds. Any additional arguments are provided to func when it’s invoked. - * - * @param func The function to delay. - * @param wait The number of milliseconds to delay invocation. - * @param args The arguments to invoke the function with. - * @return Returns the timer id. - */ - delay( - func: (...args: any[]) => any, - wait: number, - ...args: any[] - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.delay - */ - delay( - wait: number, - ...args: any[] - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.delay - */ - delay( - wait: number, - ...args: any[] - ): LoDashExplicitWrapper; - } -} diff --git a/types/lodash/function/flip.d.ts b/types/lodash/function/flip.d.ts deleted file mode 100644 index e2699e3fd7..0000000000 --- a/types/lodash/function/flip.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that invokes `func` with arguments reversed. - * - * @category Function - * @param func The function to flip arguments for. - * @returns Returns the new function. - * @example - * - * var flipped = _.flip(function() { - * return _.toArray(arguments); - * }); - * - * flipped('a', 'b', 'c', 'd'); - * // => ['d', 'c', 'b', 'a'] - */ - flip any>(func: T): T; - } - - interface LoDashWrapper { - /** - * @see _.flip - */ - flip(): this; - } -} \ No newline at end of file diff --git a/types/lodash/function/memoize.d.ts b/types/lodash/function/memoize.d.ts deleted file mode 100644 index c74cf2a32c..0000000000 --- a/types/lodash/function/memoize.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface MemoizedFunction { - cache: MapCache; - } - - interface LoDashStatic { - /** - * Creates a function that memoizes the result of func. If resolver is provided it determines the cache key for - * storing the result based on the arguments provided to the memoized function. By default, the first argument - * provided to the memoized function is coerced to a string and used as the cache key. The func is invoked with - * the this binding of the memoized function. - * - * @param func The function to have its output memoized. - * @param resolver The function to resolve the cache key. - * @return Returns the new memoizing function. - */ - memoize: { - any>(func: T, resolver?: (...args: any[]) => any): T & MemoizedFunction; - Cache: MapCacheConstructor; - }; - } - - interface LoDashImplicitWrapper { - /** - * @see _.memoize - */ - memoize(resolver?: (...args: any[]) => any): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.memoize - */ - memoize(resolver?: (...args: any[]) => any): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/function/negate.d.ts b/types/lodash/function/negate.d.ts deleted file mode 100644 index c4e3b7bea4..0000000000 --- a/types/lodash/function/negate.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that negates the result of the predicate func. The func predicate is invoked with - * the this binding and arguments of the created function. - * - * @param predicate The predicate to negate. - * @return Returns the new function. - */ - negate any>(predicate: T): T; - } - - interface LoDashWrapper { - /** - * @see _.negate - */ - negate(): this; - } -} \ No newline at end of file diff --git a/types/lodash/function/once.d.ts b/types/lodash/function/once.d.ts deleted file mode 100644 index b64562ac16..0000000000 --- a/types/lodash/function/once.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that is restricted to invoking func once. Repeat calls to the function return the value - * of the first call. The func is invoked with the this binding and arguments of the created function. - * - * @param func The function to restrict. - * @return Returns the new restricted function. - */ - once any>(func: T): T; - } - - interface LoDashWrapper { - /** - * @see _.once - */ - once(): this; - } -} \ No newline at end of file diff --git a/types/lodash/function/overArgs.d.ts b/types/lodash/function/overArgs.d.ts deleted file mode 100644 index 265f79981b..0000000000 --- a/types/lodash/function/overArgs.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that runs each argument through a corresponding transform function. - * - * @param func The function to wrap. - * @param transforms The functions to transform arguments, specified as individual functions or arrays - * of functions. - * @return Returns the new function. - */ - overArgs( - func: (...args: any[]) => any, - ...transforms: Array any>> - ): (...args: any[]) => any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.overArgs - */ - overArgs(...transforms: Array any>>): LoDashImplicitWrapper<(...args: any[]) => any>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.overArgs - */ - overArgs(...transforms: Array any>>): LoDashExplicitWrapper<(...args: any[]) => any>; - } -} \ No newline at end of file diff --git a/types/lodash/function/partial.d.ts b/types/lodash/function/partial.d.ts deleted file mode 100644 index 6e729971a6..0000000000 --- a/types/lodash/function/partial.d.ts +++ /dev/null @@ -1,159 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that, when called, invokes func with any additional partial arguments - * prepended to those provided to the new function. This method is similar to _.bind except - * it does not alter the this binding. - * @param func The function to partially apply arguments to. - * @param args Arguments to be partially applied. - * @return The new partially applied function. - **/ - partial: Partial; - } - - interface LoDashImplicitWrapper { - /** - * @see _.partial - */ - partial: ImplicitPartial; - } - - interface LoDashExplicitWrapper { - /** - * @see _.partial - */ - partial: ExplicitPartial; - } - - type PH = LoDashStatic; - - type Function0 = () => R; - type Function1 = (t1: T1) => R; - type Function2 = (t1: T1, t2: T2) => R; - type Function3 = (t1: T1, t2: T2, t3: T3) => R; - type Function4 = (t1: T1, t2: T2, t3: T3, t4: T4) => R; - - interface Partial { - // arity 0 - (func: Function0): Function0; - // arity 1 - (func: Function1): Function1; - (func: Function1, arg1: T1): Function0; - // arity 2 - (func: Function2): Function2; - (func: Function2, arg1: T1): Function1< T2, R>; - (func: Function2, plc1: PH, arg2: T2): Function1; - (func: Function2, arg1: T1, arg2: T2): Function0< R>; - // arity 3 - (func: Function3): Function3; - (func: Function3, arg1: T1): Function2< T2, T3, R>; - (func: Function3, plc1: PH, arg2: T2): Function2; - (func: Function3, arg1: T1, arg2: T2): Function1< T3, R>; - (func: Function3, plc1: PH, plc2: PH, arg3: T3): Function2; - (func: Function3, arg1: T1, plc2: PH, arg3: T3): Function1< T2, R>; - (func: Function3, plc1: PH, arg2: T2, arg3: T3): Function1; - (func: Function3, arg1: T1, arg2: T2, arg3: T3): Function0< R>; - // arity 4 - (func: Function4): Function4; - (func: Function4, arg1: T1): Function3< T2, T3, T4, R>; - (func: Function4, plc1: PH, arg2: T2): Function3; - (func: Function4, arg1: T1, arg2: T2): Function2< T3, T4, R>; - (func: Function4, plc1: PH, plc2: PH, arg3: T3): Function3; - (func: Function4, arg1: T1, plc2: PH, arg3: T3): Function2< T2, T4, R>; - (func: Function4, plc1: PH, arg2: T2, arg3: T3): Function2; - (func: Function4, arg1: T1, arg2: T2, arg3: T3): Function1< T4, R>; - (func: Function4, plc1: PH, plc2: PH, plc3: PH, arg4: T4): Function3; - (func: Function4, arg1: T1, plc2: PH, plc3: PH, arg4: T4): Function2< T2, T3, R>; - (func: Function4, plc1: PH, arg2: T2, plc3: PH, arg4: T4): Function2; - (func: Function4, arg1: T1, arg2: T2, plc3: PH, arg4: T4): Function1< T3, R>; - (func: Function4, plc1: PH, plc2: PH, arg3: T3, arg4: T4): Function2; - (func: Function4, arg1: T1, plc2: PH, arg3: T3, arg4: T4): Function1< T2, R>; - (func: Function4, plc1: PH, arg2: T2, arg3: T3, arg4: T4): Function1; - (func: Function4, arg1: T1, arg2: T2, arg3: T3, arg4: T4): Function0< R>; - // catch-all - (func: (...args: any[]) => any, ...args: any[]): (...args: any[]) => any; - } - - interface ImplicitPartial { - // arity 0 - (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; - // arity 1 - (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1): LoDashImplicitWrapper>; - // arity 2 - (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, plc1: PH, arg2: T2): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2): LoDashImplicitWrapper>; - // arity 3 - (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, plc1: PH, arg2: T2): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, plc1: PH, plc2: PH, arg3: T3): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, arg3: T3): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, plc1: PH, arg2: T2, arg3: T3): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, arg3: T3): LoDashImplicitWrapper>; - // arity 4 - (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, plc1: PH, arg2: T2): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, plc1: PH, plc2: PH, arg3: T3): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, arg3: T3): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, plc1: PH, arg2: T2, arg3: T3): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, arg3: T3): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, plc1: PH, plc2: PH, plc3: PH, arg4: T4): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, plc3: PH, arg4: T4): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, plc1: PH, arg2: T2, plc3: PH, arg4: T4): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, plc3: PH, arg4: T4): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, plc1: PH, plc2: PH, arg3: T3, arg4: T4): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, arg3: T3, arg4: T4): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, plc1: PH, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper>; - // catch-all - (...args: any[]): LoDashImplicitWrapper<(...args: any[]) => any>; - } - - interface ExplicitPartial { - // arity 0 - (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; - // arity 1 - (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1): LoDashExplicitWrapper>; - // arity 2 - (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, plc1: PH, arg2: T2): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2): LoDashExplicitWrapper>; - // arity 3 - (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, plc1: PH, arg2: T2): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, plc1: PH, plc2: PH, arg3: T3): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, arg3: T3): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, plc1: PH, arg2: T2, arg3: T3): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, arg3: T3): LoDashExplicitWrapper>; - // arity 4 - (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, plc1: PH, arg2: T2): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, plc1: PH, plc2: PH, arg3: T3): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, arg3: T3): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, plc1: PH, arg2: T2, arg3: T3): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, arg3: T3): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, plc1: PH, plc2: PH, plc3: PH, arg4: T4): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, plc3: PH, arg4: T4): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, plc1: PH, arg2: T2, plc3: PH, arg4: T4): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, plc3: PH, arg4: T4): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, plc1: PH, plc2: PH, arg3: T3, arg4: T4): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, arg3: T3, arg4: T4): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, plc1: PH, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper>; - // catch-all - (...args: any[]): LoDashExplicitWrapper<(...args: any[]) => any>; - } -} \ No newline at end of file diff --git a/types/lodash/function/partialRight.d.ts b/types/lodash/function/partialRight.d.ts deleted file mode 100644 index 24b4c47d20..0000000000 --- a/types/lodash/function/partialRight.d.ts +++ /dev/null @@ -1,150 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.partial except that partial arguments are appended to those provided - * to the new function. - * @param func The function to partially apply arguments to. - * @param args Arguments to be partially applied. - * @return The new partially applied function. - **/ - partialRight: PartialRight; - } - - interface LoDashImplicitWrapper { - /** - * @see _.partialRight - */ - partialRight: ImplicitPartialRight; - } - - interface LoDashExplicitWrapper { - /** - * @see _.partialRight - */ - partialRight: ExplicitPartialRight; - } - - interface PartialRight { - // arity 0 - (func: Function0): Function0; - // arity 1 - (func: Function1): Function1; - (func: Function1, arg1: T1): Function0; - // arity 2 - (func: Function2): Function2; - (func: Function2, arg1: T1, plc2: PH): Function1< T2, R>; - (func: Function2, arg2: T2): Function1; - (func: Function2, arg1: T1, arg2: T2): Function0< R>; - // arity 3 - (func: Function3): Function3; - (func: Function3, arg1: T1, plc2: PH, plc3: PH): Function2< T2, T3, R>; - (func: Function3, arg2: T2, plc3: PH): Function2; - (func: Function3, arg1: T1, arg2: T2, plc3: PH): Function1< T3, R>; - (func: Function3, arg3: T3): Function2; - (func: Function3, arg1: T1, plc2: PH, arg3: T3): Function1< T2, R>; - (func: Function3, arg2: T2, arg3: T3): Function1; - (func: Function3, arg1: T1, arg2: T2, arg3: T3): Function0< R>; - // arity 4 - (func: Function4): Function4; - (func: Function4, arg1: T1, plc2: PH, plc3: PH, plc4: PH): Function3< T2, T3, T4, R>; - (func: Function4, arg2: T2, plc3: PH, plc4: PH): Function3; - (func: Function4, arg1: T1, arg2: T2, plc3: PH, plc4: PH): Function2< T3, T4, R>; - (func: Function4, arg3: T3, plc4: PH): Function3; - (func: Function4, arg1: T1, plc2: PH, arg3: T3, plc4: PH): Function2< T2, T4, R>; - (func: Function4, arg2: T2, arg3: T3, plc4: PH): Function2; - (func: Function4, arg1: T1, arg2: T2, arg3: T3, plc4: PH): Function1< T4, R>; - (func: Function4, arg4: T4): Function3; - (func: Function4, arg1: T1, plc2: PH, plc3: PH, arg4: T4): Function2< T2, T3, R>; - (func: Function4, arg2: T2, plc3: PH, arg4: T4): Function2; - (func: Function4, arg1: T1, arg2: T2, plc3: PH, arg4: T4): Function1< T3, R>; - (func: Function4, arg3: T3, arg4: T4): Function2; - (func: Function4, arg1: T1, plc2: PH, arg3: T3, arg4: T4): Function1< T2, R>; - (func: Function4, arg2: T2, arg3: T3, arg4: T4): Function1; - (func: Function4, arg1: T1, arg2: T2, arg3: T3, arg4: T4): Function0< R>; - // catch-all - (func: (...args: any[]) => any, ...args: any[]): (...args: any[]) => any; - } - - interface ImplicitPartialRight { - // arity 0 - (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; - // arity 1 - (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1): LoDashImplicitWrapper>; - // arity 2 - (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg2: T2): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2): LoDashImplicitWrapper>; - // arity 3 - (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, plc3: PH): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg2: T2, plc3: PH): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, plc3: PH): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg3: T3): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, arg3: T3): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg2: T2, arg3: T3): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, arg3: T3): LoDashImplicitWrapper>; - // arity 4 - (this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, plc3: PH, plc4: PH): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg2: T2, plc3: PH, plc4: PH): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, plc3: PH, plc4: PH): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg3: T3, plc4: PH): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, arg3: T3, plc4: PH): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg2: T2, arg3: T3, plc4: PH): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, arg3: T3, plc4: PH): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg4: T4): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, plc3: PH, arg4: T4): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg2: T2, plc3: PH, arg4: T4): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, plc3: PH, arg4: T4): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg3: T3, arg4: T4): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, plc2: PH, arg3: T3, arg4: T4): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper>; - (this: LoDashImplicitWrapper>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper>; - // catch-all - (...args: any[]): LoDashImplicitWrapper<(...args: any[]) => any>; - } - - interface ExplicitPartialRight { - // arity 0 - (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; - // arity 1 - (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1): LoDashExplicitWrapper>; - // arity 2 - (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg2: T2): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2): LoDashExplicitWrapper>; - // arity 3 - (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, plc3: PH): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg2: T2, plc3: PH): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, plc3: PH): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg3: T3): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, arg3: T3): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg2: T2, arg3: T3): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, arg3: T3): LoDashExplicitWrapper>; - // arity 4 - (this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, plc3: PH, plc4: PH): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg2: T2, plc3: PH, plc4: PH): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, plc3: PH, plc4: PH): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg3: T3, plc4: PH): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, arg3: T3, plc4: PH): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg2: T2, arg3: T3, plc4: PH): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, arg3: T3, plc4: PH): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg4: T4): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, plc3: PH, arg4: T4): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg2: T2, plc3: PH, arg4: T4): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, plc3: PH, arg4: T4): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg3: T3, arg4: T4): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, plc2: PH, arg3: T3, arg4: T4): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper>; - (this: LoDashExplicitWrapper>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper>; - // catch-all - (...args: any[]): LoDashExplicitWrapper<(...args: any[]) => any>; - } -} \ No newline at end of file diff --git a/types/lodash/function/rearg.d.ts b/types/lodash/function/rearg.d.ts deleted file mode 100644 index bff0a45b0c..0000000000 --- a/types/lodash/function/rearg.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that invokes func with arguments arranged according to the specified indexes where the - * argument value at the first index is provided as the first argument, the argument value at the second index - * is provided as the second argument, and so on. - * @param func The function to rearrange arguments for. - * @param indexes The arranged argument indexes, specified as individual indexes or arrays of indexes. - * @return Returns the new function. - */ - rearg(func: (...args: any[]) => any, ...indexes: Array>): (...args: any[]) => any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.rearg - */ - rearg(...indexes: Array>): LoDashImplicitWrapper<(...args: any[]) => any>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.rearg - */ - rearg(...indexes: Array>): LoDashExplicitWrapper<(...args: any[]) => any>; - } -} \ No newline at end of file diff --git a/types/lodash/function/rest.d.ts b/types/lodash/function/rest.d.ts deleted file mode 100644 index c05349f0f9..0000000000 --- a/types/lodash/function/rest.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that invokes func with the this binding of the created function and arguments from start - * and beyond provided as an array. - * - * Note: This method is based on the rest parameter. - * - * @param func The function to apply a rest parameter to. - * @param start The start position of the rest parameter. - * @return Returns the new function. - */ - rest( - func: (...args: any[]) => any, - start?: number - ): (...args: any[]) => any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.rest - */ - rest(start?: number): LoDashImplicitWrapper<(...args: any[]) => any>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.rest - */ - rest(start?: number): LoDashExplicitWrapper<(...args: any[]) => any>; - } -} \ No newline at end of file diff --git a/types/lodash/function/spread.d.ts b/types/lodash/function/spread.d.ts deleted file mode 100644 index 29c8b5e8cf..0000000000 --- a/types/lodash/function/spread.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that invokes func with the this binding of the created function and an array of arguments - * much like Function#apply. - * - * Note: This method is based on the spread operator. - * - * @param func The function to spread arguments over. - * @return Returns the new function. - */ - spread(func: (...args: any[]) => TResult): (...args: any[]) => TResult; - - /** - * @see _.spread - */ - spread(func: (...args: any[]) => TResult, start: number): (...args: any[]) => TResult; - } - - interface LoDashImplicitWrapper { - /** - * @see _.spread - */ - spread(this: LoDashImplicitWrapper<(...args: any[]) => TResult>): LoDashImplicitWrapper<(...args: any[]) => TResult>; - - /** - * @see _.spread - */ - spread(this: LoDashImplicitWrapper<(...args: any[]) => TResult>, start: number): LoDashImplicitWrapper<(...args: any[]) => TResult>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.spread - */ - spread(this: LoDashExplicitWrapper<(...args: any[]) => TResult>): LoDashExplicitWrapper<(...args: any[]) => TResult>; - - /** - * @see _.spread - */ - spread(this: LoDashExplicitWrapper<(...args: any[]) => TResult>, start: number): LoDashExplicitWrapper<(...args: any[]) => TResult>; - } -} \ No newline at end of file diff --git a/types/lodash/function/throttle.d.ts b/types/lodash/function/throttle.d.ts deleted file mode 100644 index 0b0fc10039..0000000000 --- a/types/lodash/function/throttle.d.ts +++ /dev/null @@ -1,58 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface ThrottleSettings { - /** - * If you'd like to disable the leading-edge call, pass this as false. - */ - leading?: boolean; - - /** - * If you'd like to disable the execution on the trailing-edge, pass false. - */ - trailing?: boolean; - } - - interface LoDashStatic { - /** - * Creates a throttled function that only invokes func at most once per every wait milliseconds. The throttled - * function comes with a cancel method to cancel delayed invocations and a flush method to immediately invoke - * them. Provide an options object to indicate that func should be invoked on the leading and/or trailing edge - * of the wait timeout. Subsequent calls to the throttled function return the result of the last func call. - * - * Note: If leading and trailing options are true, func is invoked on the trailing edge of the timeout only if - * the the throttled function is invoked more than once during the wait timeout. - * - * @param func The function to throttle. - * @param wait The number of milliseconds to throttle invocations to. - * @param options The options object. - * @param options.leading Specify invoking on the leading edge of the timeout. - * @param options.trailing Specify invoking on the trailing edge of the timeout. - * @return Returns the new throttled function. - */ - throttle any>( - func: T, - wait?: number, - options?: ThrottleSettings - ): T & Cancelable; - } - - interface LoDashImplicitWrapper { - /** - * @see _.throttle - */ - throttle( - wait?: number, - options?: ThrottleSettings - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.throttle - */ - throttle( - wait?: number, - options?: ThrottleSettings - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/function/unary.d.ts b/types/lodash/function/unary.d.ts deleted file mode 100644 index 8714529b10..0000000000 --- a/types/lodash/function/unary.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that accepts up to one argument, ignoring any - * additional arguments. - * - * @category Function - * @param func The function to cap arguments for. - * @returns Returns the new function. - * @example - * - * _.map(['6', '8', '10'], _.unary(parseInt)); - * // => [6, 8, 10] - */ - unary(func: (arg1: T, ...args: any[]) => TResult): (arg1: T) => TResult; - } - - interface LoDashImplicitWrapper { - /** - * @see _.unary - */ - unary(this: LoDashImplicitWrapper<(arg1: T, ...args: any[]) => TResult>): LoDashImplicitWrapper<(arg1: T) => TResult>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.unary - */ - unary(this: LoDashExplicitWrapper<(arg1: T, ...args: any[]) => TResult>): LoDashExplicitWrapper<(arg1: T) => TResult>; - } -} \ No newline at end of file diff --git a/types/lodash/function/wrap.d.ts b/types/lodash/function/wrap.d.ts deleted file mode 100644 index f0bb2693ff..0000000000 --- a/types/lodash/function/wrap.d.ts +++ /dev/null @@ -1,61 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that provides value to the wrapper function as its first argument. Any additional - * arguments provided to the function are appended to those provided to the wrapper function. The wrapper is - * invoked with the this binding of the created function. - * - * @param value The value to wrap. - * @param wrapper The wrapper function. - * @return Returns the new function. - */ - wrap( - value: T, - wrapper: (value: T, ...args: TArgs[]) => TResult - ): (...args: TArgs[]) => TResult; - - /** - * @see _.wrap - */ - wrap( - value: T, - wrapper: (value: T, ...args: any[]) => TResult - ): (...args: any[]) => TResult; - } - - interface LoDashImplicitWrapper { - /** - * @see _.wrap - */ - wrap( - wrapper: (value: TValue, ...args: TArgs[]) => TResult - ): LoDashImplicitWrapper<(...args: TArgs[]) => TResult>; - - /** - * @see _.wrap - */ - wrap( - wrapper: (value: TValue, ...args: any[]) => TResult - ): LoDashImplicitWrapper<(...args: any[]) => TResult>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.wrap - */ - /** - * @see _.wrap - */ - wrap( - wrapper: (value: TValue, ...args: TArgs[]) => TResult - ): LoDashExplicitWrapper<(...args: TArgs[]) => TResult>; - - /** - * @see _.wrap - */ - wrap( - wrapper: (value: TValue, ...args: any[]) => TResult - ): LoDashExplicitWrapper<(...args: any[]) => TResult>; - } -} \ No newline at end of file diff --git a/types/lodash/index.d.ts b/types/lodash/index.d.ts index 578bfacd21..67e9c8f0cb 100644 --- a/types/lodash/index.d.ts +++ b/types/lodash/index.d.ts @@ -12,344 +12,18 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.2 -// common /// - -// array -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// - -// collection -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// - -// date -/// - -// function -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// - -// lang -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// - -// math -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// - -// number -/// -/// -/// - -// object -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// - -// _ -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// - -// string -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// - -// util -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// export = _; export as namespace _; diff --git a/types/lodash/lang/castArray.d.ts b/types/lodash/lang/castArray.d.ts deleted file mode 100644 index 5f385c5ed5..0000000000 --- a/types/lodash/lang/castArray.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Casts value as an array if it’s not one. - * - * @param value The value to inspect. - * @return Returns the cast array. - */ - castArray(value?: Many): T[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.castArray - */ - castArray(this: LoDashImplicitWrapper>): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.castArray - */ - castArray(this: LoDashExplicitWrapper>): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/clone.d.ts b/types/lodash/lang/clone.d.ts deleted file mode 100644 index 794e2383fb..0000000000 --- a/types/lodash/lang/clone.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a shallow clone of value. - * - * Note: This method is loosely based on the structured clone algorithm and supports cloning arrays, - * array buffers, booleans, date objects, maps, numbers, Object objects, regexes, sets, strings, symbols, - * and typed arrays. The own enumerable properties of arguments objects are cloned as plain objects. An empty - * object is returned for uncloneable values such as error objects, functions, DOM nodes, and WeakMaps. - * - * @param value The value to clone. - * @return Returns the cloned value. - */ - clone(value: T): T; - } - - interface LoDashImplicitWrapper { - /** - * @see _.clone - */ - clone(): TValue; - } - - interface LoDashExplicitWrapper { - /** - * @see _.clone - */ - clone(): this; - } -} \ No newline at end of file diff --git a/types/lodash/lang/cloneDeep.d.ts b/types/lodash/lang/cloneDeep.d.ts deleted file mode 100644 index 0a49e67ea9..0000000000 --- a/types/lodash/lang/cloneDeep.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.clone except that it recursively clones value. - * - * @param value The value to recursively clone. - * @return Returns the deep cloned value. - */ - cloneDeep(value: T): T; - } - - interface LoDashImplicitWrapper { - /** - * @see _.cloneDeep - */ - cloneDeep(): TValue; - } - - interface LoDashExplicitWrapper { - /** - * @see _.cloneDeep - */ - cloneDeep(): this; - } -} \ No newline at end of file diff --git a/types/lodash/lang/cloneDeepWith.d.ts b/types/lodash/lang/cloneDeepWith.d.ts deleted file mode 100644 index b46fc766ac..0000000000 --- a/types/lodash/lang/cloneDeepWith.d.ts +++ /dev/null @@ -1,51 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - type CloneDeepWithCustomizer = (value: any, key: number | string | undefined, object: TObject | undefined, stack: any) => any; - - interface LoDashStatic { - /** - * This method is like _.cloneWith except that it recursively clones value. - * - * @param value The value to recursively clone. - * @param customizer The function to customize cloning. - * @return Returns the deep cloned value. - */ - cloneDeepWith( - value: T, - customizer: CloneDeepWithCustomizer - ): any; - - /** - * @see _.cloneDeepWith - */ - cloneDeepWith(value: T): T; - } - - interface LoDashImplicitWrapper { - /** - * @see _.cloneDeepWith - */ - cloneDeepWith( - customizer: CloneDeepWithCustomizer - ): any; - - /** - * @see _.cloneDeepWith - */ - cloneDeepWith(): TValue; - } - - interface LoDashExplicitWrapper { - /** - * @see _.cloneDeepWith - */ - cloneDeepWith( - customizer: CloneDeepWithCustomizer - ): LoDashExplicitWrapper; - - /** - * @see _.cloneDeepWith - */ - cloneDeepWith(): this; - } -} \ No newline at end of file diff --git a/types/lodash/lang/cloneWith.d.ts b/types/lodash/lang/cloneWith.d.ts deleted file mode 100644 index 22c00be038..0000000000 --- a/types/lodash/lang/cloneWith.d.ts +++ /dev/null @@ -1,74 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - type CloneWithCustomizer = (value: TValue, key: number | string | undefined, object: any, stack: any) => TResult; - - interface LoDashStatic { - /** - * This method is like _.clone except that it accepts customizer which is invoked to produce the cloned value. - * If customizer returns undefined cloning is handled by the method instead. - * - * @param value The value to clone. - * @param customizer The function to customize cloning. - * @return Returns the cloned value. - */ - cloneWith( - value: T, - customizer: CloneWithCustomizer - ): TResult; - - /** - * @see _.cloneWith - */ - cloneWith( - value: T, - customizer: CloneWithCustomizer - ): TResult | T; - - /** - * @see _.cloneWith - */ - cloneWith(value: T): T; - } - - interface LoDashImplicitWrapper { - /** - * @see _.cloneWith - */ - cloneWith( - customizer: CloneWithCustomizer - ): TResult; - - /** - * @see _.cloneWith - */ - cloneWith( - customizer: CloneWithCustomizer - ): TResult | TValue; - - /** - * @see _.cloneWith - */ - cloneWith(): TValue; - } - - interface LoDashExplicitWrapper { - /** - * @see _.cloneWith - */ - cloneWith( - customizer: CloneWithCustomizer - ): LoDashExplicitWrapper; - - /** - * @see _.cloneWith - */ - cloneWith( - customizer: CloneWithCustomizer - ): LoDashExplicitWrapper; - - /** - * @see _.cloneWith - */ - cloneWith(): this; - } -} \ No newline at end of file diff --git a/types/lodash/lang/conformsTo.d.ts b/types/lodash/lang/conformsTo.d.ts deleted file mode 100644 index f069e15e73..0000000000 --- a/types/lodash/lang/conformsTo.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - - interface LoDashStatic { - /** - * Checks if object conforms to source by invoking the predicate properties of source with the - * corresponding property values of object. - * - * Note: This method is equivalent to _.conforms when source is partially applied. - */ - conformsTo(object: T, source: ConformsPredicateObject): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.conformsTo - */ - conformsTo(this: LoDashImplicitWrapper, source: ConformsPredicateObject): boolean; - // Note: we can't use TValue here, because it generates a typescript error when strictFunctionTypes is enabled. - } - - interface LoDashExplicitWrapper { - /** - * @see _.conformsTo - */ - conformsTo(this: LoDashImplicitWrapper, source: ConformsPredicateObject): LoDashExplicitWrapper; - // Note: we can't use TValue here, because it generates a typescript error when strictFunctionTypes is enabled. - } - - type CondPair = [(val: T) => boolean, (val: T) => R] -} \ No newline at end of file diff --git a/types/lodash/lang/eq.d.ts b/types/lodash/lang/eq.d.ts deleted file mode 100644 index 808ec0cf39..0000000000 --- a/types/lodash/lang/eq.d.ts +++ /dev/null @@ -1,55 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Performs a [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * comparison between two values to determine if they are equivalent. - * - * @category Lang - * @param value The value to compare. - * @param other The other value to compare. - * @returns Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'user': 'fred' }; - * var other = { 'user': 'fred' }; - * - * _.eq(object, object); - * // => true - * - * _.eq(object, other); - * // => false - * - * _.eq('a', 'a'); - * // => true - * - * _.eq('a', Object('a')); - * // => false - * - * _.eq(NaN, NaN); - * // => true - */ - eq( - value: any, - other: any - ): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.eq - */ - eq( - other: any - ): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.eq - */ - eq( - other: any - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/gt.d.ts b/types/lodash/lang/gt.d.ts deleted file mode 100644 index 3ae27eaccf..0000000000 --- a/types/lodash/lang/gt.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is greater than other. - * - * @param value The value to compare. - * @param other The other value to compare. - * @return Returns true if value is greater than other, else false. - */ - gt( - value: any, - other: any - ): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.gt - */ - gt(other: any): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.gt - */ - gt(other: any): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/gte.d.ts b/types/lodash/lang/gte.d.ts deleted file mode 100644 index b68cc05c7d..0000000000 --- a/types/lodash/lang/gte.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is greater than or equal to other. - * - * @param value The value to compare. - * @param other The other value to compare. - * @return Returns true if value is greater than or equal to other, else false. - */ - gte( - value: any, - other: any - ): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.gte - */ - gte(other: any): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.gte - */ - gte(other: any): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isArguments.d.ts b/types/lodash/lang/isArguments.d.ts deleted file mode 100644 index 20c90752bf..0000000000 --- a/types/lodash/lang/isArguments.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is classified as an arguments object. - * - * @param value The value to check. - * @return Returns true if value is correctly classified, else false. - */ - isArguments(value?: any): value is IArguments; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isArguments - */ - isArguments(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isArguments - */ - isArguments(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isArray.d.ts b/types/lodash/lang/isArray.d.ts deleted file mode 100644 index 3d0676791c..0000000000 --- a/types/lodash/lang/isArray.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is classified as an Array object. - * @param value The value to check. - * - * @return Returns true if value is correctly classified, else false. - */ - isArray(value?: any): value is any[]; - - /** - * DEPRECATED - */ - isArray(value?: any): value is any[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isArray - */ - isArray(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isArray - */ - isArray(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isArrayBuffer.d.ts b/types/lodash/lang/isArrayBuffer.d.ts deleted file mode 100644 index b22e954086..0000000000 --- a/types/lodash/lang/isArrayBuffer.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is classified as an ArrayBuffer object. - * - * @param value The value to check. - * @return Returns true if value is correctly classified, else false. - */ - isArrayBuffer(value?: any): value is ArrayBuffer; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isArrayBuffer - */ - isArrayBuffer(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isArrayBuffer - */ - isArrayBuffer(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isArrayLike.d.ts b/types/lodash/lang/isArrayLike.d.ts deleted file mode 100644 index 59c75a70b7..0000000000 --- a/types/lodash/lang/isArrayLike.d.ts +++ /dev/null @@ -1,52 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if `value` is array-like. A value is considered array-like if it's - * not a function and has a `value.length` that's an integer greater than or - * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. - * - * @category Lang - * @param value The value to check. - * @returns Returns `true` if `value` is array-like, else `false`. - * @example - * - * _.isArrayLike([1, 2, 3]); - * // => true - * - * _.isArrayLike(document.body.children); - * // => true - * - * _.isArrayLike('abc'); - * // => true - * - * _.isArrayLike(_.noop); - * // => false - */ - isArrayLike(value: T & string & number): boolean; // should only match if T = any - - /** - * @see _.isArrayLike - */ - isArrayLike(value: ((...args: any[]) => any) | null | undefined): value is never; - - /** - * @see _.isArrayLike - */ - isArrayLike(value: any): value is { length: number }; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isArrayLike - */ - isArrayLike(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isArrayLike - */ - isArrayLike(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isArrayLikeObject.d.ts b/types/lodash/lang/isArrayLikeObject.d.ts deleted file mode 100644 index 6613d7d410..0000000000 --- a/types/lodash/lang/isArrayLikeObject.d.ts +++ /dev/null @@ -1,53 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.isArrayLike` except that it also checks if `value` - * is an object. - * - * @category Lang - * @param value The value to check. - * @returns Returns `true` if `value` is an array-like object, else `false`. - * @example - * - * _.isArrayLikeObject([1, 2, 3]); - * // => true - * - * _.isArrayLikeObject(document.body.children); - * // => true - * - * _.isArrayLikeObject('abc'); - * // => false - * - * _.isArrayLikeObject(_.noop); - * // => false - */ - isArrayLikeObject(value: T & string & number): boolean; // should only match if T = any - - /** - * @see _.isArrayLike - */ - // tslint:disable-next-line:ban-types (type guard doesn't seem to work correctly without the Function type) - isArrayLikeObject(value: ((...args: any[]) => any) | Function | string | boolean | number | null | undefined): value is never; - - /** - * @see _.isArrayLike - */ - // tslint:disable-next-line:ban-types (type guard doesn't seem to work correctly without the Function type) - isArrayLikeObject(value: T | ((...args: any[]) => any) | Function | string | boolean | number | null | undefined): value is T & { length: number }; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isArrayLikeObject - */ - isArrayLikeObject(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isArrayLikeObject - */ - isArrayLikeObject(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isBoolean.d.ts b/types/lodash/lang/isBoolean.d.ts deleted file mode 100644 index 060d3eae5e..0000000000 --- a/types/lodash/lang/isBoolean.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is classified as a boolean primitive or object. - * - * @param value The value to check. - * @return Returns true if value is correctly classified, else false. - */ - isBoolean(value?: any): value is boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isBoolean - */ - isBoolean(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isBoolean - */ - isBoolean(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isBuffer.d.ts b/types/lodash/lang/isBuffer.d.ts deleted file mode 100644 index 971cd4cc42..0000000000 --- a/types/lodash/lang/isBuffer.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is a buffer. - * - * @param value The value to check. - * @return Returns true if value is a buffer, else false. - */ - isBuffer(value?: any): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isBuffer - */ - isBuffer(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isBuffer - */ - isBuffer(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isDate.d.ts b/types/lodash/lang/isDate.d.ts deleted file mode 100644 index ac6dc058f8..0000000000 --- a/types/lodash/lang/isDate.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is classified as a Date object. - * @param value The value to check. - * - * @return Returns true if value is correctly classified, else false. - */ - isDate(value?: any): value is Date; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isDate - */ - isDate(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isDate - */ - isDate(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isElement.d.ts b/types/lodash/lang/isElement.d.ts deleted file mode 100644 index 9b818bc1cf..0000000000 --- a/types/lodash/lang/isElement.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is a DOM element. - * - * @param value The value to check. - * @return Returns true if value is a DOM element, else false. - */ - isElement(value?: any): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isElement - */ - isElement(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isElement - */ - isElement(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isEmpty.d.ts b/types/lodash/lang/isEmpty.d.ts deleted file mode 100644 index b84fd2e125..0000000000 --- a/types/lodash/lang/isEmpty.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is empty. A value is considered empty unless it’s an arguments object, array, string, or - * jQuery-like collection with a length greater than 0 or an object with own enumerable properties. - * - * @param value The value to inspect. - * @return Returns true if value is empty, else false. - */ - isEmpty(value?: any): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isEmpty - */ - isEmpty(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isEmpty - */ - isEmpty(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isEqual.d.ts b/types/lodash/lang/isEqual.d.ts deleted file mode 100644 index ae7b0eedd8..0000000000 --- a/types/lodash/lang/isEqual.d.ts +++ /dev/null @@ -1,52 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Performs a deep comparison between two values to determine if they are - * equivalent. - * - * **Note:** This method supports comparing arrays, array buffers, booleans, - * date objects, error objects, maps, numbers, `Object` objects, regexes, - * sets, strings, symbols, and typed arrays. `Object` objects are compared - * by their own, not inherited, enumerable properties. Functions and DOM - * nodes are **not** supported. - * - * @category Lang - * @param value The value to compare. - * @param other The other value to compare. - * @returns Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'user': 'fred' }; - * var other = { 'user': 'fred' }; - * - * _.isEqual(object, other); - * // => true - * - * object === other; - * // => false - */ - isEqual( - value: any, - other: any - ): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isEqual - */ - isEqual( - other: any - ): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isEqual - */ - isEqual( - other: any - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isEqualWith.d.ts b/types/lodash/lang/isEqualWith.d.ts deleted file mode 100644 index 44ab134546..0000000000 --- a/types/lodash/lang/isEqualWith.d.ts +++ /dev/null @@ -1,61 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - type IsEqualCustomizer = (value: any, other: any, indexOrKey: PropertyName | undefined, parent: any, otherParent: any, stack: any) => boolean|undefined; - - interface LoDashStatic { - /** - * This method is like `_.isEqual` except that it accepts `customizer` which is - * invoked to compare values. If `customizer` returns `undefined` comparisons are - * handled by the method instead. The `customizer` is invoked with up to seven arguments: - * (objValue, othValue [, index|key, object, other, stack]). - * - * @category Lang - * @param value The value to compare. - * @param other The other value to compare. - * @param [customizer] The function to customize comparisons. - * @returns Returns `true` if the values are equivalent, else `false`. - * @example - * - * function isGreeting(value) { - * return /^h(?:i|ello)$/.test(value); - * } - * - * function customizer(objValue, othValue) { - * if (isGreeting(objValue) && isGreeting(othValue)) { - * return true; - * } - * } - * - * var array = ['hello', 'goodbye']; - * var other = ['hi', 'goodbye']; - * - * _.isEqualWith(array, other, customizer); - * // => true - */ - isEqualWith( - value: any, - other: any, - customizer?: IsEqualCustomizer - ): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isEqualWith - */ - isEqualWith( - other: any, - customizer?: IsEqualCustomizer - ): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isEqualWith - */ - isEqualWith( - other: any, - customizer?: IsEqualCustomizer - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isError.d.ts b/types/lodash/lang/isError.d.ts deleted file mode 100644 index a5bd5d378b..0000000000 --- a/types/lodash/lang/isError.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is an Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, or URIError - * object. - * - * @param value The value to check. - * @return Returns true if value is an error object, else false. - */ - isError(value: any): value is Error; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isError - */ - isError(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isError - */ - isError(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isFinite.d.ts b/types/lodash/lang/isFinite.d.ts deleted file mode 100644 index e5015e8d49..0000000000 --- a/types/lodash/lang/isFinite.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is a finite primitive number. - * - * Note: This method is based on Number.isFinite. - * - * @param value The value to check. - * @return Returns true if value is a finite number, else false. - */ - isFinite(value?: any): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isFinite - */ - isFinite(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isFinite - */ - isFinite(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isFunction.d.ts b/types/lodash/lang/isFunction.d.ts deleted file mode 100644 index 7f6ae1feea..0000000000 --- a/types/lodash/lang/isFunction.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is a callable function. - * - * @param value The value to check. - * @return Returns true if value is correctly classified, else false. - */ - isFunction(value: any): value is (...args: any[]) => any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isFunction - */ - isFunction(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isFunction - */ - isFunction(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isInteger.d.ts b/types/lodash/lang/isInteger.d.ts deleted file mode 100644 index a1919bf21d..0000000000 --- a/types/lodash/lang/isInteger.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if `value` is an integer. - * - * **Note:** This method is based on [`Number.isInteger`](https://mdn.io/Number/isInteger). - * - * @category Lang - * @param value The value to check. - * @returns Returns `true` if `value` is an integer, else `false`. - * @example - * - * _.isInteger(3); - * // => true - * - * _.isInteger(Number.MIN_VALUE); - * // => false - * - * _.isInteger(Infinity); - * // => false - * - * _.isInteger('3'); - * // => false - */ - isInteger(value?: any): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isInteger - */ - isInteger(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isInteger - */ - isInteger(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isLength.d.ts b/types/lodash/lang/isLength.d.ts deleted file mode 100644 index b8c012460e..0000000000 --- a/types/lodash/lang/isLength.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if `value` is a valid array-like length. - * - * **Note:** This function is loosely based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength). - * - * @category Lang - * @param value The value to check. - * @returns Returns `true` if `value` is a valid length, else `false`. - * @example - * - * _.isLength(3); - * // => true - * - * _.isLength(Number.MIN_VALUE); - * // => false - * - * _.isLength(Infinity); - * // => false - * - * _.isLength('3'); - * // => false - */ - isLength(value?: any): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isLength - */ - isLength(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isLength - */ - isLength(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isMap.d.ts b/types/lodash/lang/isMap.d.ts deleted file mode 100644 index b71a3d750f..0000000000 --- a/types/lodash/lang/isMap.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is classified as a Map object. - * - * @param value The value to check. - * @returns Returns true if value is correctly classified, else false. - */ - isMap(value?: any): value is Map; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isMap - */ - isMap(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isMap - */ - isMap(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isMatch.d.ts b/types/lodash/lang/isMatch.d.ts deleted file mode 100644 index dfb072c59b..0000000000 --- a/types/lodash/lang/isMatch.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - type isMatchCustomizer = (value: any, other: any, indexOrKey?: PropertyName) => boolean; - - interface LoDashStatic { - /** - * Performs a deep comparison between `object` and `source` to determine if - * `object` contains equivalent property values. - * - * **Note:** This method supports comparing the same values as `_.isEqual`. - * - * @category Lang - * @param object The object to inspect. - * @param source The object of property values to match. - * @returns Returns `true` if `object` is a match, else `false`. - * @example - * - * var object = { 'user': 'fred', 'age': 40 }; - * - * _.isMatch(object, { 'age': 40 }); - * // => true - * - * _.isMatch(object, { 'age': 36 }); - * // => false - */ - isMatch(object: object, source: object): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isMatch - */ - isMatch(source: object): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isMatch - */ - isMatch(source: object): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isMatchWith.d.ts b/types/lodash/lang/isMatchWith.d.ts deleted file mode 100644 index fb47f327b4..0000000000 --- a/types/lodash/lang/isMatchWith.d.ts +++ /dev/null @@ -1,51 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - type isMatchWithCustomizer = (value: any, other: any, indexOrKey: PropertyName) => boolean; - - interface LoDashStatic { - /** - * This method is like `_.isMatch` except that it accepts `customizer` which - * is invoked to compare values. If `customizer` returns `undefined` comparisons - * are handled by the method instead. The `customizer` is invoked with three - * arguments: (objValue, srcValue, index|key, object, source). - * - * @category Lang - * @param object The object to inspect. - * @param source The object of property values to match. - * @param [customizer] The function to customize comparisons. - * @returns Returns `true` if `object` is a match, else `false`. - * @example - * - * function isGreeting(value) { - * return /^h(?:i|ello)$/.test(value); - * } - * - * function customizer(objValue, srcValue) { - * if (isGreeting(objValue) && isGreeting(srcValue)) { - * return true; - * } - * } - * - * var object = { 'greeting': 'hello' }; - * var source = { 'greeting': 'hi' }; - * - * _.isMatchWith(object, source, customizer); - * // => true - */ - isMatchWith(object: object, source: object, customizer: isMatchWithCustomizer): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isMatchWith - */ - isMatchWith(source: object, customizer: isMatchWithCustomizer): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isMatchWith - */ - isMatchWith(source: object, customizer: isMatchWithCustomizer): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isNaN.d.ts b/types/lodash/lang/isNaN.d.ts deleted file mode 100644 index b016c91c74..0000000000 --- a/types/lodash/lang/isNaN.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is NaN. - * - * Note: This method is not the same as isNaN which returns true for undefined and other non-numeric values. - * - * @param value The value to check. - * @return Returns true if value is NaN, else false. - */ - isNaN(value?: any): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isNaN - */ - isNaN(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isNaN - */ - isNaN(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isNative.d.ts b/types/lodash/lang/isNative.d.ts deleted file mode 100644 index 72f74e7148..0000000000 --- a/types/lodash/lang/isNative.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is a native function. - * @param value The value to check. - * - * @retrun Returns true if value is a native function, else false. - */ - isNative(value: any): value is (...args: any[]) => any; - } - - interface LoDashImplicitWrapper { - /** - * see _.isNative - */ - isNative(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * see _.isNative - */ - isNative(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isNil.d.ts b/types/lodash/lang/isNil.d.ts deleted file mode 100644 index 2b0cb04fbc..0000000000 --- a/types/lodash/lang/isNil.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if `value` is `null` or `undefined`. - * - * @category Lang - * @param value The value to check. - * @returns Returns `true` if `value` is nullish, else `false`. - * @example - * - * _.isNil(null); - * // => true - * - * _.isNil(void 0); - * // => true - * - * _.isNil(NaN); - * // => false - */ - isNil(value: any): value is null | undefined; - } - - interface LoDashImplicitWrapper { - /** - * see _.isNil - */ - isNil(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * see _.isNil - */ - isNil(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isNull.d.ts b/types/lodash/lang/isNull.d.ts deleted file mode 100644 index 04dfb18cea..0000000000 --- a/types/lodash/lang/isNull.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is null. - * - * @param value The value to check. - * @return Returns true if value is null, else false. - */ - isNull(value: any): value is null; - } - - interface LoDashImplicitWrapper { - /** - * see _.isNull - */ - isNull(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * see _.isNull - */ - isNull(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isNumber.d.ts b/types/lodash/lang/isNumber.d.ts deleted file mode 100644 index 81479cb4c9..0000000000 --- a/types/lodash/lang/isNumber.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is classified as a Number primitive or object. - * - * Note: To exclude Infinity, -Infinity, and NaN, which are classified as numbers, use the _.isFinite method. - * - * @param value The value to check. - * @return Returns true if value is correctly classified, else false. - */ - isNumber(value?: any): value is number; - } - - interface LoDashImplicitWrapper { - /** - * see _.isNumber - */ - isNumber(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * see _.isNumber - */ - isNumber(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isObject.d.ts b/types/lodash/lang/isObject.d.ts deleted file mode 100644 index e014fd9620..0000000000 --- a/types/lodash/lang/isObject.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is the language type of Object. (e.g. arrays, functions, objects, regexes, new Number(0), - * and new String('')) - * - * @param value The value to check. - * @return Returns true if value is an object, else false. - */ - isObject(value?: any): boolean; - } - - interface LoDashImplicitWrapper { - /** - * see _.isObject - */ - isObject(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * see _.isObject - */ - isObject(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isObjectLike.d.ts b/types/lodash/lang/isObjectLike.d.ts deleted file mode 100644 index 1665ec8a69..0000000000 --- a/types/lodash/lang/isObjectLike.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @category Lang - * @param value The value to check. - * @returns Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ - isObjectLike(value?: any): boolean; - } - - interface LoDashImplicitWrapper { - /** - * see _.isObjectLike - */ - isObjectLike(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * see _.isObjectLike - */ - isObjectLike(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isPlainObject.d.ts b/types/lodash/lang/isPlainObject.d.ts deleted file mode 100644 index bb5070f535..0000000000 --- a/types/lodash/lang/isPlainObject.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is a plain object, that is, an object created by the Object constructor or one with a - * [[Prototype]] of null. - * - * Note: This method assumes objects created by the Object constructor have no inherited enumerable properties. - * - * @param value The value to check. - * @return Returns true if value is a plain object, else false. - */ - isPlainObject(value?: any): boolean; - } - - interface LoDashImplicitWrapper { - /** - * see _.isPlainObject - */ - isPlainObject(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * see _.isPlainObject - */ - isPlainObject(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isRegExp.d.ts b/types/lodash/lang/isRegExp.d.ts deleted file mode 100644 index 4199940091..0000000000 --- a/types/lodash/lang/isRegExp.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is classified as a RegExp object. - * @param value The value to check. - * - * @return Returns true if value is correctly classified, else false. - */ - isRegExp(value?: any): value is RegExp; - } - - interface LoDashImplicitWrapper { - /** - * see _.isRegExp - */ - isRegExp(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * see _.isRegExp - */ - isRegExp(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isSafeInteger.d.ts b/types/lodash/lang/isSafeInteger.d.ts deleted file mode 100644 index 0ca1b4809a..0000000000 --- a/types/lodash/lang/isSafeInteger.d.ts +++ /dev/null @@ -1,43 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 - * double precision number which isn't the result of a rounded unsafe integer. - * - * **Note:** This method is based on [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). - * - * @category Lang - * @param value The value to check. - * @returns Returns `true` if `value` is a safe integer, else `false`. - * @example - * - * _.isSafeInteger(3); - * // => true - * - * _.isSafeInteger(Number.MIN_VALUE); - * // => false - * - * _.isSafeInteger(Infinity); - * // => false - * - * _.isSafeInteger('3'); - * // => false - */ - isSafeInteger(value: any): boolean; - } - - interface LoDashImplicitWrapper { - /** - * see _.isSafeInteger - */ - isSafeInteger(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * see _.isSafeInteger - */ - isSafeInteger(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isSet.d.ts b/types/lodash/lang/isSet.d.ts deleted file mode 100644 index af7f4ad9e9..0000000000 --- a/types/lodash/lang/isSet.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is classified as a Set object. - * - * @param value The value to check. - * @returns Returns true if value is correctly classified, else false. - */ - isSet(value?: any): value is Set; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isSet - */ - isSet(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isSet - */ - isSet(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isString.d.ts b/types/lodash/lang/isString.d.ts deleted file mode 100644 index d39917345e..0000000000 --- a/types/lodash/lang/isString.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is classified as a String primitive or object. - * - * @param value The value to check. - * @return Returns true if value is correctly classified, else false. - */ - isString(value?: any): value is string; - } - - interface LoDashImplicitWrapper { - /** - * see _.isString - */ - isString(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * see _.isString - */ - isString(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isSymbol.d.ts b/types/lodash/lang/isSymbol.d.ts deleted file mode 100644 index 2f0a6aa4f5..0000000000 --- a/types/lodash/lang/isSymbol.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @category Lang - * @param value The value to check. - * @returns Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false - */ - isSymbol(value: any): boolean; - } - - interface LoDashImplicitWrapper { - /** - * see _.isSymbol - */ - isSymbol(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * see _.isSymbol - */ - isSymbol(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isTypedArray.d.ts b/types/lodash/lang/isTypedArray.d.ts deleted file mode 100644 index dffc9e43d0..0000000000 --- a/types/lodash/lang/isTypedArray.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is classified as a typed array. - * - * @param value The value to check. - * @return Returns true if value is correctly classified, else false. - */ - isTypedArray(value: any): boolean; - } - - interface LoDashImplicitWrapper { - /** - * see _.isTypedArray - */ - isTypedArray(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * see _.isTypedArray - */ - isTypedArray(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isUndefined.d.ts b/types/lodash/lang/isUndefined.d.ts deleted file mode 100644 index dad9ed7cc3..0000000000 --- a/types/lodash/lang/isUndefined.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is undefined. - * - * @param value The value to check. - * @return Returns true if value is undefined, else false. - */ - isUndefined(value: any): value is undefined; - } - - interface LoDashImplicitWrapper { - /** - * see _.isUndefined - */ - isUndefined(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * see _.isUndefined - */ - isUndefined(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isWeakMap.d.ts b/types/lodash/lang/isWeakMap.d.ts deleted file mode 100644 index 8dae9d20f5..0000000000 --- a/types/lodash/lang/isWeakMap.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is classified as a WeakMap object. - * - * @param value The value to check. - * @returns Returns true if value is correctly classified, else false. - */ - isWeakMap(value?: any): value is WeakMap; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isSet - */ - isWeakMap(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isSet - */ - isWeakMap(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/isWeakSet.d.ts b/types/lodash/lang/isWeakSet.d.ts deleted file mode 100644 index 2c08c521aa..0000000000 --- a/types/lodash/lang/isWeakSet.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is classified as a WeakSet object. - * - * @param value The value to check. - * @returns Returns true if value is correctly classified, else false. - */ - isWeakSet(value?: any): value is WeakSet; - } - - interface LoDashImplicitWrapper { - /** - * @see _.isWeakSet - */ - isWeakSet(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.isWeakSet - */ - isWeakSet(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/lt.d.ts b/types/lodash/lang/lt.d.ts deleted file mode 100644 index 434b1476d0..0000000000 --- a/types/lodash/lang/lt.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is less than other. - * - * @param value The value to compare. - * @param other The other value to compare. - * @return Returns true if value is less than other, else false. - */ - lt( - value: any, - other: any - ): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.lt - */ - lt(other: any): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.lt - */ - lt(other: any): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/lte.d.ts b/types/lodash/lang/lte.d.ts deleted file mode 100644 index 84cc6b22fe..0000000000 --- a/types/lodash/lang/lte.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if value is less than or equal to other. - * - * @param value The value to compare. - * @param other The other value to compare. - * @return Returns true if value is less than or equal to other, else false. - */ - lte( - value: any, - other: any - ): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.lte - */ - lte(other: any): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.lte - */ - lte(other: any): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/toArray.d.ts b/types/lodash/lang/toArray.d.ts deleted file mode 100644 index d0fd0b93f2..0000000000 --- a/types/lodash/lang/toArray.d.ts +++ /dev/null @@ -1,46 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts value to an array. - * - * @param value The value to convert. - * @return Returns the converted array. - */ - toArray(value: List | Dictionary | NumericDictionary | null | undefined): T[]; - - /** - * @see _.toArray - */ - toArray(value: T): Array; - - /** - * @see _.toArray - */ - toArray(): any[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.toArray - */ - toArray(this: LoDashImplicitWrapper | Dictionary | NumericDictionary | null | undefined>): LoDashImplicitWrapper; - - /** - * @see _.toArray - */ - toArray(this: LoDashImplicitWrapper): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.toArray - */ - toArray(this: LoDashExplicitWrapper | Dictionary | NumericDictionary | null | undefined>): LoDashExplicitWrapper; - - /** - * @see _.toArray - */ - toArray(this: LoDashImplicitWrapper): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/lang/toFinite.d.ts b/types/lodash/lang/toFinite.d.ts deleted file mode 100644 index 3007bf3674..0000000000 --- a/types/lodash/lang/toFinite.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts `value` to a finite number. - * - * @since 4.12.0 - * @category Lang - * @param value The value to convert. - * @returns Returns the converted number. - * @example - * - * _.toFinite(3.2); - * // => 3.2 - * - * _.toFinite(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toFinite(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toFinite('3.2'); - * // => 3.2 - */ - toFinite(value: any): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.toFinite - */ - toFinite(): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.toFinite - */ - toFinite(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/toInteger.d.ts b/types/lodash/lang/toInteger.d.ts deleted file mode 100644 index 2f4c2f217c..0000000000 --- a/types/lodash/lang/toInteger.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts `value` to an integer. - * - * **Note:** This function is loosely based on [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger). - * - * @category Lang - * @param value The value to convert. - * @returns Returns the converted integer. - * @example - * - * _.toInteger(3); - * // => 3 - * - * _.toInteger(Number.MIN_VALUE); - * // => 0 - * - * _.toInteger(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toInteger('3'); - * // => 3 - */ - toInteger(value: any): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.toInteger - */ - toInteger(): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.toInteger - */ - toInteger(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/toLength.d.ts b/types/lodash/lang/toLength.d.ts deleted file mode 100644 index 62e9b059fe..0000000000 --- a/types/lodash/lang/toLength.d.ts +++ /dev/null @@ -1,43 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts `value` to an integer suitable for use as the length of an - * array-like object. - * - * **Note:** This method is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength). - * - * @category Lang - * @param value The value to convert. - * @return Returns the converted integer. - * @example - * - * _.toLength(3); - * // => 3 - * - * _.toLength(Number.MIN_VALUE); - * // => 0 - * - * _.toLength(Infinity); - * // => 4294967295 - * - * _.toLength('3'); - * // => 3 - */ - toLength(value: any): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.toLength - */ - toLength(): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.toLength - */ - toLength(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/toNumber.d.ts b/types/lodash/lang/toNumber.d.ts deleted file mode 100644 index 5099f7ad89..0000000000 --- a/types/lodash/lang/toNumber.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts `value` to a number. - * - * @category Lang - * @param value The value to process. - * @returns Returns the number. - * @example - * - * _.toNumber(3); - * // => 3 - * - * _.toNumber(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toNumber(Infinity); - * // => Infinity - * - * _.toNumber('3'); - * // => 3 - */ - toNumber(value: any): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.toNumber - */ - toNumber(): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.toNumber - */ - toNumber(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/toPlainObject.d.ts b/types/lodash/lang/toPlainObject.d.ts deleted file mode 100644 index 60b9c1a7b1..0000000000 --- a/types/lodash/lang/toPlainObject.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts value to a plain object flattening inherited enumerable properties of value to own properties - * of the plain object. - * - * @param value The value to convert. - * @return Returns the converted plain object. - */ - toPlainObject(value?: any): any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.toPlainObject - */ - toPlainObject(): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.toPlainObject - */ - toPlainObject(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/toSafeInteger.d.ts b/types/lodash/lang/toSafeInteger.d.ts deleted file mode 100644 index a4e1729dbb..0000000000 --- a/types/lodash/lang/toSafeInteger.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts `value` to a safe integer. A safe integer can be compared and - * represented correctly. - * - * @category Lang - * @param value The value to convert. - * @returns Returns the converted integer. - * @example - * - * _.toSafeInteger(3); - * // => 3 - * - * _.toSafeInteger(Number.MIN_VALUE); - * // => 0 - * - * _.toSafeInteger(Infinity); - * // => 9007199254740991 - * - * _.toSafeInteger('3'); - * // => 3 - */ - toSafeInteger(value: any): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.toSafeInteger - */ - toSafeInteger(): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.toSafeInteger - */ - toSafeInteger(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/lang/toString.d.ts b/types/lodash/lang/toString.d.ts deleted file mode 100644 index 559f05f66f..0000000000 --- a/types/lodash/lang/toString.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts `value` to a string if it's not one. An empty string is returned - * for `null` and `undefined` values. The sign of `-0` is preserved. - * - * @category Lang - * @param value The value to process. - * @returns Returns the string. - * @example - * - * _.toString(null); - * // => '' - * - * _.toString(-0); - * // => '-0' - * - * _.toString([1, 2, 3]); - * // => '1,2,3' - */ - toString(value: any): string; - } -} \ No newline at end of file diff --git a/types/lodash/math/add.d.ts b/types/lodash/math/add.d.ts deleted file mode 100644 index 573178e0f4..0000000000 --- a/types/lodash/math/add.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Adds two numbers. - * - * @param augend The first number to add. - * @param addend The second number to add. - * @return Returns the sum. - */ - add( - augend: number, - addend: number - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.add - */ - add(addend: number): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.add - */ - add(addend: number): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/math/ceil.d.ts b/types/lodash/math/ceil.d.ts deleted file mode 100644 index a51048c2f2..0000000000 --- a/types/lodash/math/ceil.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Calculates n rounded up to precision. - * - * @param n The number to round up. - * @param precision The precision to round up to. - * @return Returns the rounded up number. - */ - ceil( - n: number, - precision?: number - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.ceil - */ - ceil(precision?: number): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.ceil - */ - ceil(precision?: number): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/math/divide.d.ts b/types/lodash/math/divide.d.ts deleted file mode 100644 index be6bc0abbd..0000000000 --- a/types/lodash/math/divide.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Divide two numbers. - * - * @param dividend The first number in a division. - * @param divisor The second number in a division. - * @returns Returns the quotient. - */ - divide( - dividend: number, - divisor: number - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.divide - */ - divide(divisor: number): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.divide - */ - divide(divisor: number): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/math/floor.d.ts b/types/lodash/math/floor.d.ts deleted file mode 100644 index 81b490af1d..0000000000 --- a/types/lodash/math/floor.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Calculates n rounded down to precision. - * - * @param n The number to round down. - * @param precision The precision to round down to. - * @return Returns the rounded down number. - */ - floor( - n: number, - precision?: number - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.floor - */ - floor(precision?: number): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.floor - */ - floor(precision?: number): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/math/max.d.ts b/types/lodash/math/max.d.ts deleted file mode 100644 index 20efcebef6..0000000000 --- a/types/lodash/math/max.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Computes the maximum value of `array`. If `array` is empty or falsey - * `undefined` is returned. - * - * @category Math - * @param array The array to iterate over. - * @returns Returns the maximum value. - */ - max( - collection: List | null | undefined - ): T | undefined; - } - - interface LoDashImplicitWrapper { - /** - * @see _.max - */ - max(this: LoDashImplicitWrapper | null | undefined>): T | undefined; - } - - interface LoDashExplicitWrapper { - /** - * @see _.max - */ - max(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/math/maxBy.d.ts b/types/lodash/math/maxBy.d.ts deleted file mode 100644 index adc787a911..0000000000 --- a/types/lodash/math/maxBy.d.ts +++ /dev/null @@ -1,49 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.max` except that it accepts `iteratee` which is - * invoked for each element in `array` to generate the criterion by which - * the value is ranked. The iteratee is invoked with one argument: (value). - * - * @category Math - * @param array The array to iterate over. - * @param [iteratee=_.identity] The iteratee invoked per element. - * @returns Returns the maximum value. - * @example - * - * var objects = [{ 'n': 1 }, { 'n': 2 }]; - * - * _.maxBy(objects, function(o) { return o.a; }); - * // => { 'n': 2 } - * - * // using the `_.property` iteratee shorthand - * _.maxBy(objects, 'n'); - * // => { 'n': 2 } - */ - maxBy( - collection: List | null | undefined, - iteratee?: ListIteratee - ): T | undefined; - } - - interface LoDashImplicitWrapper { - /** - * @see _.maxBy - */ - maxBy( - this: LoDashImplicitWrapper | null | undefined>, - iteratee?: ListIteratee - ): T | undefined; - } - - interface LoDashExplicitWrapper { - /** - * @see _.maxBy - */ - maxBy( - this: LoDashExplicitWrapper | null | undefined>, - iteratee?: ListIteratee - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/math/mean.d.ts b/types/lodash/math/mean.d.ts deleted file mode 100644 index ebaa42ce32..0000000000 --- a/types/lodash/math/mean.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Computes the mean of the values in `array`. - * - * @category Math - * @param array The array to iterate over. - * @returns Returns the mean. - * @example - * - * _.mean([4, 2, 8, 6]); - * // => 5 - */ - mean( - collection: List | null | undefined - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.mean - */ - mean(): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.mean - */ - mean(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/math/meanBy.d.ts b/types/lodash/math/meanBy.d.ts deleted file mode 100644 index a6bf558754..0000000000 --- a/types/lodash/math/meanBy.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Computes the mean of the provided propties of the objects in the `array` - * - * @category Math - * @param array The array to iterate over. - * @param [iteratee=_.identity] The iteratee invoked per element. - * @returns Returns the mean. - * @example - * - * _.mean([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], 'n'); - * // => 5 - */ - meanBy( - collection: List | null | undefined, - iteratee?: ListIteratee - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.meanBy - */ - meanBy( - this: LoDashImplicitWrapper | null | undefined>, - iteratee?: ListIteratee - ): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.meanBy - */ - meanBy( - this: LoDashExplicitWrapper | null | undefined>, - iteratee?: ListIteratee - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/math/min.d.ts b/types/lodash/math/min.d.ts deleted file mode 100644 index ac441afa83..0000000000 --- a/types/lodash/math/min.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Computes the minimum value of `array`. If `array` is empty or falsey - * `undefined` is returned. - * - * @category Math - * @param array The array to iterate over. - * @returns Returns the minimum value. - */ - min( - collection: List | null | undefined - ): T | undefined; - } - - interface LoDashImplicitWrapper { - /** - * @see _.min - */ - min(this: LoDashImplicitWrapper | null | undefined>): T | undefined; - } - - interface LoDashExplicitWrapper { - /** - * @see _.min - */ - min(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/math/minBy.d.ts b/types/lodash/math/minBy.d.ts deleted file mode 100644 index fad6e5a284..0000000000 --- a/types/lodash/math/minBy.d.ts +++ /dev/null @@ -1,49 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.min` except that it accepts `iteratee` which is - * invoked for each element in `array` to generate the criterion by which - * the value is ranked. The iteratee is invoked with one argument: (value). - * - * @category Math - * @param array The array to iterate over. - * @param [iteratee=_.identity] The iteratee invoked per element. - * @returns Returns the minimum value. - * @example - * - * var objects = [{ 'n': 1 }, { 'n': 2 }]; - * - * _.minBy(objects, function(o) { return o.a; }); - * // => { 'n': 1 } - * - * // using the `_.property` iteratee shorthand - * _.minBy(objects, 'n'); - * // => { 'n': 1 } - */ - minBy( - collection: List | null | undefined, - iteratee?: ListIteratee - ): T | undefined; - } - - interface LoDashImplicitWrapper { - /** - * @see _.minBy - */ - minBy( - this: LoDashImplicitWrapper | null | undefined>, - iteratee?: ListIteratee - ): T | undefined; - } - - interface LoDashExplicitWrapper { - /** - * @see _.minBy - */ - minBy( - this: LoDashExplicitWrapper | null | undefined>, - iteratee?: ListIteratee - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/math/multiply.d.ts b/types/lodash/math/multiply.d.ts deleted file mode 100644 index 0767ee1154..0000000000 --- a/types/lodash/math/multiply.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Multiply two numbers. - * @param multiplier The first number in a multiplication. - * @param multiplicand The second number in a multiplication. - * @returns Returns the product. - */ - multiply( - multiplier: number, - multiplicand: number - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.multiply - */ - multiply(multiplicand: number): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.multiply - */ - multiply(multiplicand: number): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/math/round.d.ts b/types/lodash/math/round.d.ts deleted file mode 100644 index 59f97c3144..0000000000 --- a/types/lodash/math/round.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Calculates n rounded to precision. - * - * @param n The number to round. - * @param precision The precision to round to. - * @return Returns the rounded number. - */ - round( - n: number, - precision?: number - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.round - */ - round(precision?: number): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.round - */ - round(precision?: number): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/math/subtract.d.ts b/types/lodash/math/subtract.d.ts deleted file mode 100644 index 5b627db982..0000000000 --- a/types/lodash/math/subtract.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Subtract two numbers. - * - * @category Math - * @param minuend The first number in a subtraction. - * @param subtrahend The second number in a subtraction. - * @returns Returns the difference. - * @example - * - * _.subtract(6, 4); - * // => 2 - */ - subtract( - minuend: number, - subtrahend: number - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.subtract - */ - subtract( - subtrahend: number - ): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.subtract - */ - subtract( - subtrahend: number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/math/sum.d.ts b/types/lodash/math/sum.d.ts deleted file mode 100644 index ab9222900d..0000000000 --- a/types/lodash/math/sum.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Computes the sum of the values in `array`. - * - * @category Math - * @param array The array to iterate over. - * @returns Returns the sum. - * @example - * - * _.sum([4, 2, 8, 6]); - * // => 20 - */ - sum(collection: List | null | undefined): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.sum - */ - sum(): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.sum - */ - sum(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/math/sumBy.d.ts b/types/lodash/math/sumBy.d.ts deleted file mode 100644 index 240dca6919..0000000000 --- a/types/lodash/math/sumBy.d.ts +++ /dev/null @@ -1,53 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.sum` except that it accepts `iteratee` which is - * invoked for each element in `array` to generate the value to be summed. - * The iteratee is invoked with one argument: (value). - * - * @category Math - * @param array The array to iterate over. - * @param [iteratee=_.identity] The iteratee invoked per element. - * @returns Returns the sum. - * @example - * - * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }]; - * - * _.sumBy(objects, function(o) { return o.n; }); - * // => 20 - * - * // using the `_.property` iteratee shorthand - * _.sumBy(objects, 'n'); - * // => 20 - */ - sumBy( - collection: List | null | undefined, - iteratee?: ((value: T) => number) | string - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.sumBy - */ - sumBy( - this: LoDashImplicitWrapper | null | undefined>, - iteratee?: ((value: T) => number) | string - ): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.sumBy - */ - sumBy( - this: LoDashExplicitWrapper | null | undefined>, - iteratee?: ((value: T) => number) | string - ): LoDashExplicitWrapper; - } - - /********** - * Number * - **********/ -} \ No newline at end of file diff --git a/types/lodash/number/clamp.d.ts b/types/lodash/number/clamp.d.ts deleted file mode 100644 index af2b47c995..0000000000 --- a/types/lodash/number/clamp.d.ts +++ /dev/null @@ -1,56 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Clamps `number` within the inclusive `lower` and `upper` bounds. - * - * @category Number - * @param number The number to clamp. - * @param [lower] The lower bound. - * @param upper The upper bound. - * @returns Returns the clamped number. - * @example - * - * _.clamp(-10, -5, 5); - * // => -5 - * - * _.clamp(10, -5, 5); - * // => 5 - */ - clamp( - number: number, - lower: number, - upper: number - ): number; - clamp( - number: number, - upper: number - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.clamp - */ - clamp( - lower: number, - upper: number - ): number; - clamp( - upper: number - ): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.clamp - */ - clamp( - lower: number, - upper: number - ): LoDashExplicitWrapper; - clamp( - upper: number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/number/inRange.d.ts b/types/lodash/number/inRange.d.ts deleted file mode 100644 index c3215a1c0f..0000000000 --- a/types/lodash/number/inRange.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if n is between start and up to but not including, end. If end is not specified it’s set to start - * with start then set to 0. - * - * @param n The number to check. - * @param start The start of the range. - * @param end The end of the range. - * @return Returns true if n is in the range, else false. - */ - inRange( - n: number, - start: number, - end?: number - ): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.inRange - */ - inRange( - start: number, - end?: number - ): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.inRange - */ - inRange( - start: number, - end?: number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/assign.d.ts b/types/lodash/object/assign.d.ts deleted file mode 100644 index 17d282a8ec..0000000000 --- a/types/lodash/object/assign.d.ts +++ /dev/null @@ -1,172 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Assigns own enumerable properties of source objects to the destination - * object. Source objects are applied from left to right. Subsequent sources - * overwrite property assignments of previous sources. - * - * **Note:** This method mutates `object` and is loosely based on - * [`Object.assign`](https://mdn.io/Object/assign). - * - * @category Object - * @param object The destination object. - * @param [sources] The source objects. - * @returns Returns `object`. - * @example - * - * function Foo() { - * this.c = 3; - * } - * - * function Bar() { - * this.e = 5; - * } - * - * Foo.prototype.d = 4; - * Bar.prototype.f = 6; - * - * _.assign({ 'a': 1 }, new Foo, new Bar); - * // => { 'a': 1, 'c': 3, 'e': 5 } - */ - assign( - object: TObject, - source: TSource - ): TObject & TSource; - - /** - * @see assign - */ - assign( - object: TObject, - source1: TSource1, - source2: TSource2 - ): TObject & TSource1 & TSource2; - - /** - * @see assign - */ - assign( - object: TObject, - source1: TSource1, - source2: TSource2, - source3: TSource3 - ): TObject & TSource1 & TSource2 & TSource3; - - /** - * @see assign - */ - assign( - object: TObject, - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4 - ): TObject & TSource1 & TSource2 & TSource3 & TSource4; - - /** - * @see _.assign - */ - assign(object: TObject): TObject; - - /** - * @see _.assign - */ - assign( - object: any, - ...otherArgs: any[] - ): any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.assign - */ - assign( - source: TSource - ): LoDashImplicitWrapper; - - /** - * @see assign - */ - assign( - source1: TSource1, - source2: TSource2 - ): LoDashImplicitWrapper; - - /** - * @see assign - */ - assign( - source1: TSource1, - source2: TSource2, - source3: TSource3 - ): LoDashImplicitWrapper; - - /** - * @see assign - */ - assign( - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4 - ): LoDashImplicitWrapper; - - /** - * @see _.assign - */ - assign(): LoDashImplicitWrapper; - - /** - * @see _.assign - */ - assign(...otherArgs: any[]): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.assign - */ - assign( - source: TSource - ): LoDashExplicitWrapper; - - /** - * @see assign - */ - assign( - source1: TSource1, - source2: TSource2 - ): LoDashExplicitWrapper; - - /** - * @see assign - */ - assign( - source1: TSource1, - source2: TSource2, - source3: TSource3 - ): LoDashExplicitWrapper; - - /** - * @see assign - */ - assign( - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4 - ): LoDashExplicitWrapper; - - /** - * @see _.assign - */ - assign(): LoDashExplicitWrapper; - - /** - * @see _.assign - */ - assign(...otherArgs: any[]): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/assignIn.d.ts b/types/lodash/object/assignIn.d.ts deleted file mode 100644 index 01b38f7efa..0000000000 --- a/types/lodash/object/assignIn.d.ts +++ /dev/null @@ -1,171 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.assign` except that it iterates over own and - * inherited source properties. - * - * **Note:** This method mutates `object`. - * - * @alias extend - * @category Object - * @param object The destination object. - * @param [sources] The source objects. - * @returns Returns `object`. - * @example - * - * function Foo() { - * this.b = 2; - * } - * - * function Bar() { - * this.d = 4; - * } - * - * Foo.prototype.c = 3; - * Bar.prototype.e = 5; - * - * _.assignIn({ 'a': 1 }, new Foo, new Bar); - * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5 } - */ - assignIn( - object: TObject, - source: TSource - ): TObject & TSource; - - /** - * @see assignIn - */ - assignIn( - object: TObject, - source1: TSource1, - source2: TSource2 - ): TObject & TSource1 & TSource2; - - /** - * @see assignIn - */ - assignIn( - object: TObject, - source1: TSource1, - source2: TSource2, - source3: TSource3 - ): TObject & TSource1 & TSource2 & TSource3; - - /** - * @see assignIn - */ - assignIn( - object: TObject, - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4 - ): TObject & TSource1 & TSource2 & TSource3 & TSource4; - - /** - * @see _.assignIn - */ - assignIn(object: TObject): TObject; - - /** - * @see _.assignIn - */ - assignIn( - object: any, - ...otherArgs: any[] - ): TResult; - } - - interface LoDashImplicitWrapper { - /** - * @see _.assignIn - */ - assignIn( - source: TSource - ): LoDashImplicitWrapper; - - /** - * @see assignIn - */ - assignIn( - source1: TSource1, - source2: TSource2 - ): LoDashImplicitWrapper; - - /** - * @see assignIn - */ - assignIn( - source1: TSource1, - source2: TSource2, - source3: TSource3 - ): LoDashImplicitWrapper; - - /** - * @see assignIn - */ - assignIn( - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4 - ): LoDashImplicitWrapper; - - /** - * @see _.assignIn - */ - assignIn(): LoDashImplicitWrapper; - - /** - * @see _.assignIn - */ - assignIn(...otherArgs: any[]): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.assignIn - */ - assignIn( - source: TSource - ): LoDashExplicitWrapper; - - /** - * @see assignIn - */ - assignIn( - source1: TSource1, - source2: TSource2 - ): LoDashExplicitWrapper; - - /** - * @see assignIn - */ - assignIn( - source1: TSource1, - source2: TSource2, - source3: TSource3 - ): LoDashExplicitWrapper; - - /** - * @see assignIn - */ - assignIn( - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4 - ): LoDashExplicitWrapper; - - /** - * @see _.assignIn - */ - assignIn(): LoDashExplicitWrapper; - - /** - * @see _.assignIn - */ - assignIn(...otherArgs: any[]): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/assignInWith.d.ts b/types/lodash/object/assignInWith.d.ts deleted file mode 100644 index 776a81b580..0000000000 --- a/types/lodash/object/assignInWith.d.ts +++ /dev/null @@ -1,183 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - type AssignCustomizer = (objectValue: any, sourceValue: any, key?: string, object?: {}, source?: {}) => any; - - interface LoDashStatic { - /** - * This method is like `_.assignIn` except that it accepts `customizer` which - * is invoked to produce the assigned values. If `customizer` returns `undefined` - * assignment is handled by the method instead. The `customizer` is invoked - * with five arguments: (objValue, srcValue, key, object, source). - * - * **Note:** This method mutates `object`. - * - * @alias extendWith - * @category Object - * @param object The destination object. - * @param sources The source objects. - * @param [customizer] The function to customize assigned values. - * @returns Returns `object`. - * @example - * - * function customizer(objValue, srcValue) { - * return _.isUndefined(objValue) ? srcValue : objValue; - * } - * - * var defaults = _.partialRight(_.assignInWith, customizer); - * - * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ - assignInWith( - object: TObject, - source: TSource, - customizer: AssignCustomizer - ): TObject & TSource; - - /** - * @see assignInWith - */ - assignInWith( - object: TObject, - source1: TSource1, - source2: TSource2, - customizer: AssignCustomizer - ): TObject & TSource1 & TSource2; - - /** - * @see assignInWith - */ - assignInWith( - object: TObject, - source1: TSource1, - source2: TSource2, - source3: TSource3, - customizer: AssignCustomizer - ): TObject & TSource1 & TSource2 & TSource3; - - /** - * @see assignInWith - */ - assignInWith( - object: TObject, - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4, - customizer: AssignCustomizer - ): TObject & TSource1 & TSource2 & TSource3 & TSource4; - - /** - * @see _.assignInWith - */ - assignInWith(object: TObject): TObject; - - /** - * @see _.assignInWith - */ - assignInWith( - object: any, - ...otherArgs: any[] - ): TResult; - } - - interface LoDashImplicitWrapper { - /** - * @see _.assignInWith - */ - assignInWith( - source: TSource, - customizer: AssignCustomizer - ): LoDashImplicitWrapper; - - /** - * @see assignInWith - */ - assignInWith( - source1: TSource1, - source2: TSource2, - customizer: AssignCustomizer - ): LoDashImplicitWrapper; - - /** - * @see assignInWith - */ - assignInWith( - source1: TSource1, - source2: TSource2, - source3: TSource3, - customizer: AssignCustomizer - ): LoDashImplicitWrapper; - - /** - * @see assignInWith - */ - assignInWith( - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4, - customizer: AssignCustomizer - ): LoDashImplicitWrapper; - - /** - * @see _.assignInWith - */ - assignInWith(): LoDashImplicitWrapper; - - /** - * @see _.assignInWith - */ - assignInWith(...otherArgs: any[]): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.assignInWith - */ - assignInWith( - source: TSource, - customizer: AssignCustomizer - ): LoDashExplicitWrapper; - - /** - * @see assignInWith - */ - assignInWith( - source1: TSource1, - source2: TSource2, - customizer: AssignCustomizer - ): LoDashExplicitWrapper; - - /** - * @see assignInWith - */ - assignInWith( - source1: TSource1, - source2: TSource2, - source3: TSource3, - customizer: AssignCustomizer - ): LoDashExplicitWrapper; - - /** - * @see assignInWith - */ - assignInWith( - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4, - customizer: AssignCustomizer - ): LoDashExplicitWrapper; - - /** - * @see _.assignInWith - */ - assignInWith(): LoDashExplicitWrapper; - - /** - * @see _.assignInWith - */ - assignInWith(...otherArgs: any[]): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/assignWith.d.ts b/types/lodash/object/assignWith.d.ts deleted file mode 100644 index 4b98ad5e53..0000000000 --- a/types/lodash/object/assignWith.d.ts +++ /dev/null @@ -1,180 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.assign` except that it accepts `customizer` which - * is invoked to produce the assigned values. If `customizer` returns `undefined` - * assignment is handled by the method instead. The `customizer` is invoked - * with five arguments: (objValue, srcValue, key, object, source). - * - * **Note:** This method mutates `object`. - * - * @category Object - * @param object The destination object. - * @param sources The source objects. - * @param [customizer] The function to customize assigned values. - * @returns Returns `object`. - * @example - * - * function customizer(objValue, srcValue) { - * return _.isUndefined(objValue) ? srcValue : objValue; - * } - * - * var defaults = _.partialRight(_.assignWith, customizer); - * - * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ - assignWith( - object: TObject, - source: TSource, - customizer: AssignCustomizer - ): TObject & TSource; - - /** - * @see assignWith - */ - assignWith( - object: TObject, - source1: TSource1, - source2: TSource2, - customizer: AssignCustomizer - ): TObject & TSource1 & TSource2; - - /** - * @see assignWith - */ - assignWith( - object: TObject, - source1: TSource1, - source2: TSource2, - source3: TSource3, - customizer: AssignCustomizer - ): TObject & TSource1 & TSource2 & TSource3; - - /** - * @see assignWith - */ - assignWith( - object: TObject, - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4, - customizer: AssignCustomizer - ): TObject & TSource1 & TSource2 & TSource3 & TSource4; - - /** - * @see _.assignWith - */ - assignWith(object: TObject): TObject; - - /** - * @see _.assignWith - */ - assignWith( - object: any, - ...otherArgs: any[] - ): TResult; - } - - interface LoDashImplicitWrapper { - /** - * @see _.assignWith - */ - assignWith( - source: TSource, - customizer: AssignCustomizer - ): LoDashImplicitWrapper; - - /** - * @see assignWith - */ - assignWith( - source1: TSource1, - source2: TSource2, - customizer: AssignCustomizer - ): LoDashImplicitWrapper; - - /** - * @see assignWith - */ - assignWith( - source1: TSource1, - source2: TSource2, - source3: TSource3, - customizer: AssignCustomizer - ): LoDashImplicitWrapper; - - /** - * @see assignWith - */ - assignWith( - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4, - customizer: AssignCustomizer - ): LoDashImplicitWrapper; - - /** - * @see _.assignWith - */ - assignWith(): LoDashImplicitWrapper; - - /** - * @see _.assignWith - */ - assignWith(...otherArgs: any[]): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.assignWith - */ - assignWith( - source: TSource, - customizer: AssignCustomizer - ): LoDashExplicitWrapper; - - /** - * @see assignWith - */ - assignWith( - source1: TSource1, - source2: TSource2, - customizer: AssignCustomizer - ): LoDashExplicitWrapper; - - /** - * @see assignWith - */ - assignWith( - source1: TSource1, - source2: TSource2, - source3: TSource3, - customizer: AssignCustomizer - ): LoDashExplicitWrapper; - - /** - * @see assignWith - */ - assignWith( - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4, - customizer: AssignCustomizer - ): LoDashExplicitWrapper; - - /** - * @see _.assignWith - */ - assignWith(): LoDashExplicitWrapper; - - /** - * @see _.assignWith - */ - assignWith(...otherArgs: any[]): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/at.d.ts b/types/lodash/object/at.d.ts deleted file mode 100644 index c95f8c9600..0000000000 --- a/types/lodash/object/at.d.ts +++ /dev/null @@ -1,61 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of elements corresponding to the given keys, or indexes, of collection. Keys may be - * specified as individual arguments or as arrays of keys. - * - * @param object The object to iterate over. - * @param props The property names or indexes of elements to pick, specified individually or in arrays. - * @return Returns the new array of picked elements. - */ - at( - object: List | Dictionary | null | undefined, - ...props: PropertyPath[] - ): T[]; - - /** - * @see _.at - */ - at( - object: T | null | undefined, - ...props: Array> - ): Array; - } - - interface LoDashImplicitWrapper { - /** - * @see _.at - */ - at( - this: LoDashImplicitWrapper | Dictionary | null | undefined>, - ...props: PropertyPath[] - ): LoDashImplicitWrapper; - - /** - * @see _.at - */ - at( - this: LoDashImplicitWrapper, - ...props: Array> - ): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.at - */ - at( - this: LoDashExplicitWrapper | Dictionary | null | undefined>, - ...props: PropertyPath[] - ): LoDashExplicitWrapper; - - /** - * @see _.at - */ - at( - this: LoDashExplicitWrapper, - ...props: Array> - ): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/object/create.d.ts b/types/lodash/object/create.d.ts deleted file mode 100644 index 836cc05425..0000000000 --- a/types/lodash/object/create.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an object that inherits from the given prototype object. If a properties object is provided its own - * enumerable properties are assigned to the created object. - * - * @param prototype The object to inherit from. - * @param properties The properties to assign to the object. - * @return Returns the new object. - */ - create( - prototype: T, - properties?: U - ): T & U; - } - - interface LoDashImplicitWrapper { - /** - * @see _.create - */ - create(properties?: U): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.create - */ - create(properties?: U): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/defaults.d.ts b/types/lodash/object/defaults.d.ts deleted file mode 100644 index 956d5b4022..0000000000 --- a/types/lodash/object/defaults.d.ts +++ /dev/null @@ -1,155 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Assigns own enumerable properties of source object(s) to the destination object for all destination - * properties that resolve to undefined. Once a property is set, additional values of the same property are - * ignored. - * - * Note: This method mutates object. - * - * @param object The destination object. - * @param sources The source objects. - * @return The destination object. - */ - defaults( - object: TObject, - source: TSource - ): TSource & TObject; - - /** - * @see _.defaults - */ - defaults( - object: TObject, - source1: TSource1, - source2: TSource2 - ): TSource2 & TSource1 & TObject; - - /** - * @see _.defaults - */ - defaults( - object: TObject, - source1: TSource1, - source2: TSource2, - source3: TSource3 - ): TSource3 & TSource2 & TSource1 & TObject; - - /** - * @see _.defaults - */ - defaults( - object: TObject, - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4 - ): TSource4 & TSource3 & TSource2 & TSource1 & TObject; - - /** - * @see _.defaults - */ - defaults(object: TObject): TObject; - - /** - * @see _.defaults - */ - defaults( - object: any, - ...sources: any[] - ): any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.defaults - */ - defaults( - source: TSource - ): LoDashImplicitWrapper; - - /** - * @see _.defaults - */ - defaults( - source1: TSource1, - source2: TSource2 - ): LoDashImplicitWrapper; - - /** - * @see _.defaults - */ - defaults( - source1: TSource1, - source2: TSource2, - source3: TSource3 - ): LoDashImplicitWrapper; - - /** - * @see _.defaults - */ - defaults( - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4 - ): LoDashImplicitWrapper; - - /** - * @see _.defaults - */ - defaults(): LoDashImplicitWrapper; - - /** - * @see _.defaults - */ - defaults(...sources: any[]): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.defaults - */ - defaults( - source: TSource - ): LoDashExplicitWrapper; - - /** - * @see _.defaults - */ - defaults( - source1: TSource1, - source2: TSource2 - ): LoDashExplicitWrapper; - - /** - * @see _.defaults - */ - defaults( - source1: TSource1, - source2: TSource2, - source3: TSource3 - ): LoDashExplicitWrapper; - - /** - * @see _.defaults - */ - defaults( - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4 - ): LoDashExplicitWrapper; - - /** - * @see _.defaults - */ - defaults(): LoDashExplicitWrapper; - - /** - * @see _.defaults - */ - defaults(...sources: any[]): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/defaultsDeep.d.ts b/types/lodash/object/defaultsDeep.d.ts deleted file mode 100644 index a9aa5d6b53..0000000000 --- a/types/lodash/object/defaultsDeep.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.defaults except that it recursively assigns default properties. - * @param object The destination object. - * @param sources The source objects. - * @return Returns object. - **/ - defaultsDeep( - object: any, - ...sources: any[]): any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.defaultsDeep - **/ - defaultsDeep(...sources: any[]): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.defaultsDeep - **/ - defaultsDeep(...sources: any[]): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/entries.d.ts b/types/lodash/object/entries.d.ts deleted file mode 100644 index 786b2a7abd..0000000000 --- a/types/lodash/object/entries.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * @see _.toPairs - */ - entries(object?: Dictionary): Array<[string, T]>; - - /** - * @see _.toPairs - */ - entries(object?: object): Array<[string, any]>; - } - - interface LoDashImplicitWrapper { - /** - * @see _.toPairs - */ - entries(this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; - - /** - * @see _.toPairs - */ - entries(): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.toPairs - */ - entries(this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; - - /** - * @see _.toPairs - */ - entries(): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/object/entriesIn.d.ts b/types/lodash/object/entriesIn.d.ts deleted file mode 100644 index fcd378032e..0000000000 --- a/types/lodash/object/entriesIn.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * @see _.entriesIn - */ - entriesIn(object?: Dictionary): Array<[string, T]>; - - /** - * @see _.entriesIn - */ - entriesIn(object?: object): Array<[string, any]>; - } - - interface LoDashImplicitWrapper { - /** - * @see _.entriesIn - */ - entriesIn(this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; - - /** - * @see _.entriesIn - */ - entriesIn(): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.entriesIn - */ - entriesIn(this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; - - /** - * @see _.entriesIn - */ - entriesIn(): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/object/extend.d.ts b/types/lodash/object/extend.d.ts deleted file mode 100644 index 3bdace2de1..0000000000 --- a/types/lodash/object/extend.d.ts +++ /dev/null @@ -1,147 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * @see _.extend - */ - extend( - object: TObject, - source: TSource - ): TObject & TSource; - - /** - * @see _.extend - */ - extend( - object: TObject, - source1: TSource1, - source2: TSource2 - ): TObject & TSource1 & TSource2; - - /** - * @see _.extend - */ - extend( - object: TObject, - source1: TSource1, - source2: TSource2, - source3: TSource3 - ): TObject & TSource1 & TSource2 & TSource3; - - /** - * @see _.extend - */ - extend( - object: TObject, - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4 - ): TObject & TSource1 & TSource2 & TSource3 & TSource4; - - /** - * @see _.extend - */ - extend(object: TObject): TObject; - - /** - * @see _.extend - */ - extend( - object: any, - ...otherArgs: any[] - ): TResult; - } - - interface LoDashImplicitWrapper { - /** - * @see _.extend - */ - extend( - source: TSource - ): LoDashImplicitWrapper; - - /** - * @see _.extend - */ - extend( - source1: TSource1, - source2: TSource2 - ): LoDashImplicitWrapper; - - /** - * @see _.extend - */ - extend( - source1: TSource1, - source2: TSource2, - source3: TSource3 - ): LoDashImplicitWrapper; - - /** - * @see _.extend - */ - extend( - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4 - ): LoDashImplicitWrapper; - - /** - * @see _.extend - */ - extend(): LoDashImplicitWrapper; - - /** - * @see _.extend - */ - extend(...otherArgs: any[]): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.extend - */ - extend( - source: TSource - ): LoDashExplicitWrapper; - - /** - * @see _.extend - */ - extend( - source1: TSource1, - source2: TSource2 - ): LoDashExplicitWrapper; - - /** - * @see _.extend - */ - extend( - source1: TSource1, - source2: TSource2, - source3: TSource3 - ): LoDashExplicitWrapper; - - /** - * @see _.extend - */ - extend( - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4 - ): LoDashExplicitWrapper; - - /** - * @see _.extend - */ - extend(): LoDashExplicitWrapper; - - /** - * @see _.extend - */ - extend(...otherArgs: any[]): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/extendWith.d.ts b/types/lodash/object/extendWith.d.ts deleted file mode 100644 index 191c69dd8b..0000000000 --- a/types/lodash/object/extendWith.d.ts +++ /dev/null @@ -1,159 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * @see _.extendWith - */ - extendWith( - object: TObject, - source: TSource, - customizer: AssignCustomizer - ): TObject & TSource; - - /** - * @see _.extendWith - */ - extendWith( - object: TObject, - source1: TSource1, - source2: TSource2, - customizer: AssignCustomizer - ): TObject & TSource1 & TSource2; - - /** - * @see _.extendWith - */ - extendWith( - object: TObject, - source1: TSource1, - source2: TSource2, - source3: TSource3, - customizer: AssignCustomizer - ): TObject & TSource1 & TSource2 & TSource3; - - /** - * @see _.extendWith - */ - extendWith( - object: TObject, - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4, - customizer: AssignCustomizer - ): TObject & TSource1 & TSource2 & TSource3 & TSource4; - - /** - * @see _.extendWith - */ - extendWith(object: TObject): TObject; - - /** - * @see _.extendWith - */ - extendWith( - object: any, - ...otherArgs: any[] - ): TResult; - } - - interface LoDashImplicitWrapper { - /** - * @see _.extendWith - */ - extendWith( - source: TSource, - customizer: AssignCustomizer - ): LoDashImplicitWrapper; - - /** - * @see _.extendWith - */ - extendWith( - source1: TSource1, - source2: TSource2, - customizer: AssignCustomizer - ): LoDashImplicitWrapper; - - /** - * @see _.extendWith - */ - extendWith( - source1: TSource1, - source2: TSource2, - source3: TSource3, - customizer: AssignCustomizer - ): LoDashImplicitWrapper; - - /** - * @see _.extendWith - */ - extendWith( - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4, - customizer: AssignCustomizer - ): LoDashImplicitWrapper; - - /** - * @see _.extendWith - */ - extendWith(): LoDashImplicitWrapper; - - /** - * @see _.extendWith - */ - extendWith(...otherArgs: any[]): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.extendWith - */ - extendWith( - source: TSource, - customizer: AssignCustomizer - ): LoDashExplicitWrapper; - - /** - * @see _.extendWith - */ - extendWith( - source1: TSource1, - source2: TSource2, - customizer: AssignCustomizer - ): LoDashExplicitWrapper; - - /** - * @see _.extendWith - */ - extendWith( - source1: TSource1, - source2: TSource2, - source3: TSource3, - customizer: AssignCustomizer - ): LoDashExplicitWrapper; - - /** - * @see _.extendWith - */ - extendWith( - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4, - customizer: AssignCustomizer - ): LoDashExplicitWrapper; - - /** - * @see _.extendWith - */ - extendWith(): LoDashExplicitWrapper; - - /** - * @see _.extendWith - */ - extendWith(...otherArgs: any[]): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/findKey.d.ts b/types/lodash/object/findKey.d.ts deleted file mode 100644 index 2e35165e24..0000000000 --- a/types/lodash/object/findKey.d.ts +++ /dev/null @@ -1,47 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.find except that it returns the key of the first element predicate returns truthy for - * instead of the element itself. - * - * If a property name is provided for predicate the created _.property style callback returns the property - * value of the given element. - * - * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for - * elements that have a matching property value, else false. - * - * If an object is provided for predicate the created _.matches style callback returns true for elements that - * have the properties of the given object, else false. - * - * @param object The object to search. - * @param predicate The function invoked per iteration. - * @param thisArg The this binding of predicate. - * @return Returns the key of the matched element, else undefined. - */ - findKey( - object: T | null | undefined, - predicate?: ObjectIteratee - ): string | undefined; - } - - interface LoDashImplicitWrapper { - /** - * @see _.findKey - */ - findKey( - this: LoDashImplicitWrapper, - predicate?: ObjectIteratee - ): string | undefined; - } - - interface LoDashExplicitWrapper { - /** - * @see _.findKey - */ - findKey( - this: LoDashExplicitWrapper, - predicate?: ObjectIteratee - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/findLastKey.d.ts b/types/lodash/object/findLastKey.d.ts deleted file mode 100644 index 6a43330138..0000000000 --- a/types/lodash/object/findLastKey.d.ts +++ /dev/null @@ -1,46 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.findKey except that it iterates over elements of a collection in the opposite order. - * - * If a property name is provided for predicate the created _.property style callback returns the property - * value of the given element. - * - * If a value is also provided for thisArg the created _.matchesProperty style callback returns true for - * elements that have a matching property value, else false. - * - * If an object is provided for predicate the created _.matches style callback returns true for elements that - * have the properties of the given object, else false. - * - * @param object The object to search. - * @param predicate The function invoked per iteration. - * @param thisArg The this binding of predicate. - * @return Returns the key of the matched element, else undefined. - */ - findLastKey( - object: T | null | undefined, - predicate?: ObjectIteratee - ): string | undefined; - } - - interface LoDashImplicitWrapper { - /** - * @see _.findLastKey - */ - findLastKey( - this: LoDashImplicitWrapper, - predicate?: ObjectIteratee - ): string | undefined; - } - - interface LoDashExplicitWrapper { - /** - * @see _.findLastKey - */ - findLastKey( - this: LoDashExplicitWrapper, - predicate?: ObjectIteratee - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/forIn.d.ts b/types/lodash/object/forIn.d.ts deleted file mode 100644 index 7fa7e14a33..0000000000 --- a/types/lodash/object/forIn.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Iterates over own and inherited enumerable properties of an object invoking iteratee for each property. The - * iteratee is bound to thisArg and invoked with three arguments: (value, key, object). Iteratee functions may - * exit iteration early by explicitly returning false. - * - * @param object The object to iterate over. - * @param iteratee The function invoked per iteration. - * @param thisArg The this binding of iteratee. - * @return Returns object. - */ - forIn( - object: T, - iteratee?: ObjectIterator - ): T; - - /** - * @see _.forIn - */ - forIn( - object: T | null | undefined, - iteratee?: ObjectIterator - ): T | null | undefined; - } - - interface LoDashWrapper { - /** - * @see _.forIn - */ - forIn( - this: LoDashWrapper, - iteratee?: ObjectIterator - ): this; - } -} \ No newline at end of file diff --git a/types/lodash/object/forInRight.d.ts b/types/lodash/object/forInRight.d.ts deleted file mode 100644 index 0364db0403..0000000000 --- a/types/lodash/object/forInRight.d.ts +++ /dev/null @@ -1,35 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.forIn except that it iterates over properties of object in the opposite order. - * - * @param object The object to iterate over. - * @param iteratee The function invoked per iteration. - * @param thisArg The this binding of iteratee. - * @return Returns object. - */ - forInRight( - object: T, - iteratee?: ObjectIterator - ): T; - - /** - * @see _.forInRight - */ - forInRight( - object: T | null | undefined, - iteratee?: ObjectIterator - ): T | null | undefined; - } - - interface LoDashWrapper { - /** - * @see _.forInRight - */ - forInRight( - this: LoDashWrapper, - iteratee?: ObjectIterator - ): this; - } -} \ No newline at end of file diff --git a/types/lodash/object/forOwn.d.ts b/types/lodash/object/forOwn.d.ts deleted file mode 100644 index eeeb4adef6..0000000000 --- a/types/lodash/object/forOwn.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Iterates over own enumerable properties of an object invoking iteratee for each property. The iteratee is - * bound to thisArg and invoked with three arguments: (value, key, object). Iteratee functions may exit - * iteration early by explicitly returning false. - * - * @param object The object to iterate over. - * @param iteratee The function invoked per iteration. - * @param thisArg The this binding of iteratee. - * @return Returns object. - */ - forOwn( - object: T, - iteratee?: ObjectIterator - ): T; - - /** - * @see _.forOwn - */ - forOwn( - object: T | null | undefined, - iteratee?: ObjectIterator - ): T | null | undefined; - } - - interface LoDashWrapper { - /** - * @see _.forOwn - */ - forOwn( - this: LoDashWrapper, - iteratee?: ObjectIterator - ): this; - } -} \ No newline at end of file diff --git a/types/lodash/object/forOwnRight.d.ts b/types/lodash/object/forOwnRight.d.ts deleted file mode 100644 index e760dfa78f..0000000000 --- a/types/lodash/object/forOwnRight.d.ts +++ /dev/null @@ -1,35 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.forOwn except that it iterates over properties of object in the opposite order. - * - * @param object The object to iterate over. - * @param iteratee The function invoked per iteration. - * @param thisArg The this binding of iteratee. - * @return Returns object. - */ - forOwnRight( - object: T, - iteratee?: ObjectIterator - ): T; - - /** - * @see _.forOwnRight - */ - forOwnRight( - object: T | null | undefined, - iteratee?: ObjectIterator - ): T | null | undefined; - } - - interface LoDashWrapper { - /** - * @see _.forOwnRight - */ - forOwnRight( - this: LoDashWrapper, - iteratee?: ObjectIterator - ): this; - } -} \ No newline at end of file diff --git a/types/lodash/object/functions.d.ts b/types/lodash/object/functions.d.ts deleted file mode 100644 index bcc15d01e8..0000000000 --- a/types/lodash/object/functions.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of function property names from own enumerable properties - * of `object`. - * - * @category Object - * @param object The object to inspect. - * @returns Returns the new array of property names. - * @example - * - * function Foo() { - * this.a = _.constant('a'); - * this.b = _.constant('b'); - * } - * - * Foo.prototype.c = _.constant('c'); - * - * _.functions(new Foo); - * // => ['a', 'b'] - */ - functions(object: any): string[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.functions - */ - functions(): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.functions - */ - functions(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/functionsIn.d.ts b/types/lodash/object/functionsIn.d.ts deleted file mode 100644 index 84b8e88959..0000000000 --- a/types/lodash/object/functionsIn.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of function property names from own and inherited - * enumerable properties of `object`. - * - * @category Object - * @param object The object to inspect. - * @returns Returns the new array of property names. - * @example - * - * function Foo() { - * this.a = _.constant('a'); - * this.b = _.constant('b'); - * } - * - * Foo.prototype.c = _.constant('c'); - * - * _.functionsIn(new Foo); - * // => ['a', 'b', 'c'] - */ - functionsIn(object: any): string[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.functionsIn - */ - functionsIn(): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.functionsIn - */ - functionsIn(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/get.d.ts b/types/lodash/object/get.d.ts deleted file mode 100644 index ff793192fb..0000000000 --- a/types/lodash/object/get.d.ts +++ /dev/null @@ -1,238 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Gets the property value at path of object. If the resolved value is undefined the defaultValue is used - * in its place. - * - * @param object The object to query. - * @param path The path of the property to get. - * @param defaultValue The value returned if the resolved value is undefined. - * @return Returns the resolved value. - */ - get( - object: TObject, - path: TKey | [TKey] - ): TObject[TKey]; - - /** - * @see _.get - */ - get( - object: TObject | null | undefined, - path: TKey | [TKey] - ): TObject[TKey] | undefined; - - /** - * @see _.get - */ - get( - object: TObject | null | undefined, - path: TKey | [TKey], - defaultValue: TDefault - ): TObject[TKey] | TDefault; - - /** - * @see _.get - */ - get( - object: NumericDictionary, - path: number - ): T; - - /** - * @see _.get - */ - get( - object: NumericDictionary | null | undefined, - path: number - ): T | undefined; - - /** - * @see _.get - */ - get( - object: NumericDictionary | null | undefined, - path: number, - defaultValue: TDefault - ): T | TDefault; - - /** - * @see _.get - */ - get( - object: null | undefined, - path: PropertyPath, - defaultValue: TDefault - ): TDefault; - - /** - * @see _.get - */ - get( - object: null | undefined, - path: PropertyPath - ): undefined; - - /** - * @see _.get - */ - get( - object: any, - path: PropertyPath, - defaultValue?: any - ): any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.get - */ - get( - path: TKey | [TKey] - ): TValue[TKey]; - - /** - * @see _.get - */ - get( - this: LoDashImplicitWrapper, - path: TKey | [TKey], - ): TObject[TKey] | undefined; - - /** - * @see _.get - */ - get( - this: LoDashImplicitWrapper, - path: TKey | [TKey], - defaultValue: TDefault - ): TObject[TKey] | TDefault; - - /** - * @see _.get - */ - get( - this: LoDashImplicitWrapper>, - path: number - ): T; - - /** - * @see _.get - */ - get( - this: LoDashImplicitWrapper | null | undefined>, - path: number - ): T | undefined; - - /** - * @see _.get - */ - get( - this: LoDashImplicitWrapper | null | undefined>, - path: number, - defaultValue: TDefault - ): T | TDefault; - - /** - * @see _.get - */ - get( - this: LoDashImplicitWrapper, - path: PropertyPath, - defaultValue: TDefault - ): TDefault; - - /** - * @see _.get - */ - get( - this: LoDashImplicitWrapper, - path: PropertyPath - ): undefined; - - /** - * @see _.get - */ - get( - path: PropertyPath, - defaultValue?: any - ): any; - } - - interface LoDashExplicitWrapper { - /** - * @see _.get - */ - get( - path: TKey | [TKey] - ): LoDashExplicitWrapper; - - /** - * @see _.get - */ - get( - this: LoDashExplicitWrapper, - path: TKey | [TKey], - ): LoDashExplicitWrapper; - - /** - * @see _.get - */ - get( - this: LoDashExplicitWrapper, - path: TKey | [TKey], - defaultValue: TDefault - ): LoDashExplicitWrapper; - - /** - * @see _.get - */ - get( - this: LoDashExplicitWrapper>, - path: number - ): LoDashExplicitWrapper; - - /** - * @see _.get - */ - get( - this: LoDashExplicitWrapper | null | undefined>, - path: number - ): LoDashExplicitWrapper; - - /** - * @see _.get - */ - get( - this: LoDashExplicitWrapper | null | undefined>, - path: number, - defaultValue: TDefault - ): LoDashExplicitWrapper; - - /** - * @see _.get - */ - get( - this: LoDashExplicitWrapper, - path: PropertyPath, - defaultValue: TDefault - ): LoDashExplicitWrapper; - - /** - * @see _.get - */ - get( - this: LoDashExplicitWrapper, - path: PropertyPath - ): LoDashExplicitWrapper; - - /** - * @see _.get - */ - get( - path: PropertyPath, - defaultValue?: any - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/has.d.ts b/types/lodash/object/has.d.ts deleted file mode 100644 index 53026153d1..0000000000 --- a/types/lodash/object/has.d.ts +++ /dev/null @@ -1,47 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if `path` is a direct property of `object`. - * - * @category Object - * @param object The object to query. - * @param path The path to check. - * @returns Returns `true` if `path` exists, else `false`. - * @example - * - * var object = { 'a': { 'b': { 'c': 3 } } }; - * var other = _.create({ 'a': _.create({ 'b': _.create({ 'c': 3 }) }) }); - * - * _.has(object, 'a'); - * // => true - * - * _.has(object, 'a.b.c'); - * // => true - * - * _.has(object, ['a', 'b', 'c']); - * // => true - * - * _.has(other, 'a'); - * // => false - */ - has( - object: T, - path: PropertyPath - ): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.has - */ - has(path: PropertyPath): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.has - */ - has(path: PropertyPath): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/hasIn.d.ts b/types/lodash/object/hasIn.d.ts deleted file mode 100644 index 5da20394b2..0000000000 --- a/types/lodash/object/hasIn.d.ts +++ /dev/null @@ -1,46 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if `path` is a direct or inherited property of `object`. - * - * @category Object - * @param object The object to query. - * @param path The path to check. - * @returns Returns `true` if `path` exists, else `false`. - * @example - * - * var object = _.create({ 'a': _.create({ 'b': _.create({ 'c': 3 }) }) }); - * - * _.hasIn(object, 'a'); - * // => true - * - * _.hasIn(object, 'a.b.c'); - * // => true - * - * _.hasIn(object, ['a', 'b', 'c']); - * // => true - * - * _.hasIn(object, 'b'); - * // => false - */ - hasIn( - object: T, - path: PropertyPath - ): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.hasIn - */ - hasIn(path: PropertyPath): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.hasIn - */ - hasIn(path: PropertyPath): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/invert.d.ts b/types/lodash/object/invert.d.ts deleted file mode 100644 index d5c62aa9af..0000000000 --- a/types/lodash/object/invert.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an object composed of the inverted keys and values of object. If object contains duplicate values, - * subsequent values overwrite property assignments of previous values unless multiValue is true. - * - * @param object The object to invert. - * @param multiValue Allow multiple values per key. - * @return Returns the new inverted object. - */ - invert( - object: object - ): Dictionary; - } - - interface LoDashImplicitWrapper { - /** - * @see _.invert - */ - invert(): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.invert - */ - invert(): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/object/invertBy.d.ts b/types/lodash/object/invertBy.d.ts deleted file mode 100644 index 12b90969e1..0000000000 --- a/types/lodash/object/invertBy.d.ts +++ /dev/null @@ -1,62 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.invert except that the inverted object is generated from the results of running each - * element of object through iteratee. The corresponding inverted value of each inverted key is an array of - * keys responsible for generating the inverted value. The iteratee is invoked with one argument: (value). - * - * @param object The object to invert. - * @param interatee The iteratee invoked per element. - * @return Returns the new inverted object. - */ - invertBy( - object: List | Dictionary | NumericDictionary | null | undefined, - interatee?: ValueIteratee - ): Dictionary; - - /** - * @see _.invertBy - */ - invertBy( - object: T | null | undefined, - interatee?: ValueIteratee - ): Dictionary; - } - - interface LoDashImplicitWrapper { - /** - * @see _.invertBy - */ - invertBy( - this: LoDashImplicitWrapper | Dictionary | NumericDictionary | null | undefined>, - interatee?: ValueIteratee - ): LoDashImplicitWrapper>; - - /** - * @see _.invertBy - */ - invertBy( - this: LoDashImplicitWrapper, - interatee?: ValueIteratee - ): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.invertBy - */ - invertBy( - this: LoDashExplicitWrapper | Dictionary | NumericDictionary | null | undefined>, - interatee?: ValueIteratee - ): LoDashExplicitWrapper>; - - /** - * @see _.invertBy - */ - invertBy( - this: LoDashExplicitWrapper, - interatee?: ValueIteratee - ): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/object/invoke.d.ts b/types/lodash/object/invoke.d.ts deleted file mode 100644 index 9405c4fa6c..0000000000 --- a/types/lodash/object/invoke.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Invokes the method at path of object. - * @param object The object to query. - * @param path The path of the method to invoke. - * @param args The arguments to invoke the method with. - **/ - invoke( - object: any, - path: PropertyPath, - ...args: any[]): any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.invoke - **/ - invoke( - path: PropertyPath, - ...args: any[]): any; - } - - interface LoDashExplicitWrapper { - /** - * @see _.invoke - **/ - invoke( - path: PropertyPath, - ...args: any[]): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/keys.d.ts b/types/lodash/object/keys.d.ts deleted file mode 100644 index 374e64ad2c..0000000000 --- a/types/lodash/object/keys.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of the own enumerable property names of object. - * - * Note: Non-object values are coerced to objects. See the ES spec for more details. - * - * @param object The object to query. - * @return Returns the array of property names. - */ - keys(object?: any): string[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.keys - */ - keys(): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.keys - */ - keys(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/keysIn.d.ts b/types/lodash/object/keysIn.d.ts deleted file mode 100644 index fe05763414..0000000000 --- a/types/lodash/object/keysIn.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of the own and inherited enumerable property names of object. - * - * Note: Non-object values are coerced to objects. - * - * @param object The object to query. - * @return An array of property names. - */ - keysIn(object?: any): string[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.keysIn - */ - keysIn(): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.keysIn - */ - keysIn(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/mapKeys.d.ts b/types/lodash/object/mapKeys.d.ts deleted file mode 100644 index 620977cdb1..0000000000 --- a/types/lodash/object/mapKeys.d.ts +++ /dev/null @@ -1,86 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * The opposite of _.mapValues; this method creates an object with the same values as object and keys generated - * by running each own enumerable property of object through iteratee. - * - * @param object The object to iterate over. - * @param iteratee The function invoked per iteration. - * @param thisArg The this binding of iteratee. - * @return Returns the new mapped object. - */ - mapKeys( - object: List | null | undefined, - iteratee?: ListIteratee - ): Dictionary; - - /** - * @see _.mapKeys - */ - mapKeys( - object: Dictionary | null | undefined, - iteratee?: DictionaryIteratee - ): Dictionary; - - /** - * @see _.mapKeys - */ - mapKeys( - object: object | null | undefined, - iteratee?: ObjectIteratee - ): Dictionary; - } - - interface LoDashImplicitWrapper { - /** - * @see _.mapKeys - */ - mapKeys( - this: LoDashImplicitWrapper | null | undefined>, - iteratee?: ListIteratee - ): LoDashImplicitWrapper>; - - /** - * @see _.mapKeys - */ - mapKeys( - this: LoDashImplicitWrapper | null | undefined>, - iteratee?: DictionaryIteratee - ): LoDashImplicitWrapper>; - - /** - * @see _.mapKeys - */ - mapKeys( - this: LoDashImplicitWrapper, - iteratee?: ObjectIteratee - ): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.mapKeys - */ - mapKeys( - this: LoDashExplicitWrapper | null | undefined>, - iteratee?: ListIteratee - ): LoDashExplicitWrapper>; - - /** - * @see _.mapKeys - */ - mapKeys( - this: LoDashExplicitWrapper | null | undefined>, - iteratee?: DictionaryIteratee - ): LoDashExplicitWrapper>; - - /** - * @see _.mapKeys - */ - mapKeys( - this: LoDashExplicitWrapper, - iteratee?: ObjectIteratee - ): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/object/mapValues.d.ts b/types/lodash/object/mapValues.d.ts deleted file mode 100644 index e71e1c7f3e..0000000000 --- a/types/lodash/object/mapValues.d.ts +++ /dev/null @@ -1,189 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an object with the same keys as object and values generated by running each own - * enumerable property of object through iteratee. The iteratee function is bound to thisArg - * and invoked with three arguments: (value, key, object). - * - * If a property name is provided iteratee the created "_.property" style callback returns - * the property value of the given element. - * - * If a value is also provided for thisArg the creted "_.matchesProperty" style callback returns - * true for elements that have a matching property value, else false;. - * - * If an object is provided for iteratee the created "_.matches" style callback returns true - * for elements that have the properties of the given object, else false. - * - * @param object The object to iterate over. - * @param [iteratee=_.identity] The function invoked per iteration. - * @param [thisArg] The `this` binding of `iteratee`. - * @return Returns the new mapped object. - */ - mapValues(obj: T | null | undefined, callback: ObjectIterator): { [P in keyof T]: TResult }; - - /** - * @see _.mapValues - */ - mapValues(obj: T | null | undefined, iteratee: object): { [P in keyof T]: boolean }; - - /** - * @see _.mapValues - */ - mapValues(obj: Dictionary | null | undefined, iteratee: TKey): Dictionary; - - /** - * @see _.mapValues - */ - mapValues(obj: T | null | undefined, iteratee: string): { [P in keyof T]: any }; - - /** - * @see _.mapValues - */ - mapValues(obj: string | null | undefined, callback: StringIterator): NumericDictionary; - - /** - * @see _.mapValues - */ - mapValues(obj: Dictionary | null | undefined): Dictionary; - - /** - * @see _.mapValues - */ - mapValues(obj: T): T; - - /** - * @see _.mapValues - */ - mapValues(obj: T | null | undefined): T | {}; - - /** - * @see _.mapValues - */ - mapValues(obj: string | null | undefined): NumericDictionary; - } - - interface LoDashImplicitWrapper { - /** - * @see _.mapValues - */ - mapValues( - this: LoDashImplicitWrapper, - callback: ObjectIterator - ): LoDashImplicitWrapper<{ [P in keyof T]: TResult }>; - - /** - * @see _.mapValues - */ - mapValues( - this: LoDashImplicitWrapper, - iteratee: object - ): LoDashImplicitWrapper<{ [P in keyof T]: boolean }>; - - /** - * @see _.mapValues - */ - mapValues( - this: LoDashImplicitWrapper | null | undefined>, - iteratee: TKey - ): LoDashImplicitWrapper>; - - /** - * @see _.mapValues - */ - mapValues( - this: LoDashImplicitWrapper, - iteratee: string - ): LoDashImplicitWrapper<{ [P in keyof T]: any }>; - - /** - * @see _.mapValues - */ - mapValues( - this: LoDashImplicitWrapper, - callback: StringIterator - ): LoDashImplicitWrapper>; - - /** - * @see _.mapValues - */ - mapValues(this: LoDashImplicitWrapper | null | undefined>): LoDashImplicitWrapper>; - - /** - * @see _.mapValues - */ - mapValues(this: LoDashImplicitWrapper): LoDashImplicitWrapper; - - /** - * @see _.mapValues - */ - mapValues(this: LoDashImplicitWrapper): LoDashImplicitWrapper; - - /** - * @see _.mapValues - */ - mapValues(this: LoDashImplicitWrapper): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.mapValues - */ - mapValues( - this: LoDashExplicitWrapper, - callback: ObjectIterator - ): LoDashExplicitWrapper<{ [P in keyof T]: TResult }>; - - /** - * @see _.mapValues - */ - mapValues( - this: LoDashExplicitWrapper, - iteratee: object - ): LoDashExplicitWrapper<{ [P in keyof T]: boolean }>; - - /** - * @see _.mapValues - */ - mapValues( - this: LoDashExplicitWrapper | null | undefined>, - iteratee: TKey - ): LoDashExplicitWrapper>; - - /** - * @see _.mapValues - */ - mapValues( - this: LoDashExplicitWrapper, - iteratee: string - ): LoDashExplicitWrapper<{ [P in keyof T]: any }>; - - /** - * @see _.mapValues - */ - mapValues( - this: LoDashExplicitWrapper, - callback: StringIterator - ): LoDashExplicitWrapper>; - - /** - * @see _.mapValues - */ - mapValues(this: LoDashExplicitWrapper | null | undefined>): LoDashExplicitWrapper>; - - /** - * @see _.mapValues - */ - mapValues(this: LoDashExplicitWrapper): LoDashExplicitWrapper; - - /** - * @see _.mapValues - */ - mapValues(this: LoDashExplicitWrapper): LoDashExplicitWrapper; - - /** - * @see _.mapValues - */ - mapValues(this: LoDashExplicitWrapper): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/object/merge.d.ts b/types/lodash/object/merge.d.ts deleted file mode 100644 index 0c18e6cfe5..0000000000 --- a/types/lodash/object/merge.d.ts +++ /dev/null @@ -1,156 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Recursively merges own and inherited enumerable properties of source - * objects into the destination object, skipping source properties that resolve - * to `undefined`. Array and plain object properties are merged recursively. - * Other objects and value types are overridden by assignment. Source objects - * are applied from left to right. Subsequent sources overwrite property - * assignments of previous sources. - * - * **Note:** This method mutates `object`. - * - * @category Object - * @param object The destination object. - * @param [sources] The source objects. - * @returns Returns `object`. - * @example - * - * var users = { - * 'data': [{ 'user': 'barney' }, { 'user': 'fred' }] - * }; - * - * var ages = { - * 'data': [{ 'age': 36 }, { 'age': 40 }] - * }; - * - * _.merge(users, ages); - * // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] } - */ - merge( - object: TObject, - source: TSource - ): TObject & TSource; - - /** - * @see _.merge - */ - merge( - object: TObject, - source1: TSource1, - source2: TSource2 - ): TObject & TSource1 & TSource2; - - /** - * @see _.merge - */ - merge( - object: TObject, - source1: TSource1, - source2: TSource2, - source3: TSource3 - ): TObject & TSource1 & TSource2 & TSource3; - - /** - * @see _.merge - */ - merge( - object: TObject, - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4 - ): TObject & TSource1 & TSource2 & TSource3 & TSource4; - - /** - * @see _.merge - */ - merge( - object: any, - ...otherArgs: any[] - ): any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.merge - */ - merge( - source: TSource - ): LoDashImplicitWrapper; - - /** - * @see _.merge - */ - merge( - source1: TSource1, - source2: TSource2 - ): LoDashImplicitWrapper; - - /** - * @see _.merge - */ - merge( - source1: TSource1, - source2: TSource2, - source3: TSource3 - ): LoDashImplicitWrapper; - - /** - * @see _.merge - */ - merge( - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4 - ): LoDashImplicitWrapper; - - /** - * @see _.merge - */ - merge( - ...otherArgs: any[] - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.merge - */ - merge( - source: TSource - ): LoDashExplicitWrapper; - - /** - * @see _.merge - */ - merge( - source1: TSource1, - source2: TSource2 - ): LoDashExplicitWrapper; - - /** - * @see _.merge - */ - merge( - source1: TSource1, - source2: TSource2, - source3: TSource3 - ): LoDashExplicitWrapper; - - /** - * @see _.merge - */ - merge( - ): LoDashExplicitWrapper; - - /** - * @see _.merge - */ - merge( - ...otherArgs: any[] - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/mergeWith.d.ts b/types/lodash/object/mergeWith.d.ts deleted file mode 100644 index 01fb9264e6..0000000000 --- a/types/lodash/object/mergeWith.d.ts +++ /dev/null @@ -1,133 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - type MergeWithCustomizer = { bivariantHack(value: any, srcValue: any, key: string, object: any, source: any): any; }["bivariantHack"] - - interface LoDashStatic { - /** - * This method is like `_.merge` except that it accepts `customizer` which - * is invoked to produce the merged values of the destination and source - * properties. If `customizer` returns `undefined` merging is handled by the - * method instead. The `customizer` is invoked with seven arguments: - * (objValue, srcValue, key, object, source, stack). - * - * @category Object - * @param object The destination object. - * @param sources The source objects. - * @param customizer The function to customize assigned values. - * @returns Returns `object`. - * @example - * - * function customizer(objValue, srcValue) { - * if (_.isArray(objValue)) { - * return objValue.concat(srcValue); - * } - * } - * - * var object = { - * 'fruits': ['apple'], - * 'vegetables': ['beet'] - * }; - * - * var other = { - * 'fruits': ['banana'], - * 'vegetables': ['carrot'] - * }; - * - * _.merge(object, other, customizer); - * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot'] } - */ - mergeWith( - object: TObject, - source: TSource, - customizer: MergeWithCustomizer - ): TObject & TSource; - - /** - * @see _.mergeWith - */ - mergeWith( - object: TObject, - source1: TSource1, - source2: TSource2, - customizer: MergeWithCustomizer - ): TObject & TSource1 & TSource2; - - /** - * @see _.mergeWith - */ - mergeWith( - object: TObject, - source1: TSource1, - source2: TSource2, - source3: TSource3, - customizer: MergeWithCustomizer - ): TObject & TSource1 & TSource2 & TSource3; - - /** - * @see _.mergeWith - */ - mergeWith( - object: TObject, - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4, - customizer: MergeWithCustomizer - ): TObject & TSource1 & TSource2 & TSource3 & TSource4; - - /** - * @see _.mergeWith - */ - mergeWith( - object: any, - ...otherArgs: any[] - ): any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.mergeWith - */ - mergeWith( - source: TSource, - customizer: MergeWithCustomizer - ): LoDashImplicitWrapper; - - /** - * @see _.mergeWith - */ - mergeWith( - source1: TSource1, - source2: TSource2, - customizer: MergeWithCustomizer - ): LoDashImplicitWrapper; - - /** - * @see _.mergeWith - */ - mergeWith( - source1: TSource1, - source2: TSource2, - source3: TSource3, - customizer: MergeWithCustomizer - ): LoDashImplicitWrapper; - - /** - * @see _.mergeWith - */ - mergeWith( - source1: TSource1, - source2: TSource2, - source3: TSource3, - source4: TSource4, - customizer: MergeWithCustomizer - ): LoDashImplicitWrapper; - - /** - * @see _.mergeWith - */ - mergeWith( - ...otherArgs: any[] - ): LoDashImplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/omit.d.ts b/types/lodash/object/omit.d.ts deleted file mode 100644 index 8684b37b61..0000000000 --- a/types/lodash/object/omit.d.ts +++ /dev/null @@ -1,69 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * The opposite of `_.pick`; this method creates an object composed of the - * own and inherited enumerable properties of `object` that are not omitted. - * - * @category Object - * @param object The source object. - * @param [paths] The property names to omit, specified - * individually or in arrays.. - * @returns Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.omit(object, ['a', 'c']); - * // => { 'b': '2' } - */ - omit( - object: Dictionary, - ...paths: PropertyPath[] - ): Dictionary; - - /** - * @see _.omit - */ - omit( - object: T | null | undefined, - ...paths: PropertyPath[] - ): PartialObject; - } - - interface LoDashImplicitWrapper { - /** - * @see _.omit - */ - omit( - this: LoDashImplicitWrapper>, - ...paths: PropertyPath[] - ): LoDashImplicitWrapper>; - - /** - * @see _.omit - */ - omit( - this: LoDashImplicitWrapper, - ...paths: PropertyPath[] - ): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.omit - */ - omit( - this: LoDashExplicitWrapper>, - ...paths: PropertyPath[] - ): LoDashExplicitWrapper>; - - /** - * @see _.omit - */ - omit( - this: LoDashExplicitWrapper, - ...paths: PropertyPath[] - ): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/object/omitBy.d.ts b/types/lodash/object/omitBy.d.ts deleted file mode 100644 index d6c762e496..0000000000 --- a/types/lodash/object/omitBy.d.ts +++ /dev/null @@ -1,45 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * The opposite of `_.pickBy`; this method creates an object composed of the - * own and inherited enumerable properties of `object` that `predicate` - * doesn't return truthy for. - * - * @category Object - * @param object The source object. - * @param [predicate=_.identity] The function invoked per property. - * @returns Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.omitBy(object, _.isNumber); - * // => { 'b': '2' } - */ - omitBy( - object: T | null | undefined, - predicate: ValueKeyIteratee - ): PartialObject; - } - - interface LoDashImplicitWrapper { - /** - * @see _.omitBy - */ - omitBy( - this: LoDashImplicitWrapper, - predicate: ValueKeyIteratee - ): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.omitBy - */ - omitBy( - this: LoDashExplicitWrapper, - predicate: ValueKeyIteratee - ): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/object/pick.d.ts b/types/lodash/object/pick.d.ts deleted file mode 100644 index 0561c58630..0000000000 --- a/types/lodash/object/pick.d.ts +++ /dev/null @@ -1,68 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an object composed of the picked `object` properties. - * - * @category Object - * @param object The source object. - * @param [props] The property names to pick, specified - * individually or in arrays. - * @returns Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.pick(object, ['a', 'c']); - * // => { 'a': 1, 'c': 3 } - */ - pick( - object: T, - ...props: Array> - ): Pick; - - /** - * @see _.pick - */ - pick( - object: T | null | undefined, - ...props: PropertyPath[] - ): PartialDeep; - } - - interface LoDashImplicitWrapper { - /** - * @see _.pick - */ - pick( - this: LoDashImplicitWrapper, - ...props: Array> - ): LoDashImplicitWrapper>; - - /** - * @see _.pick - */ - pick( - this: LoDashImplicitWrapper, - ...props: PropertyPath[] - ): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.pick - */ - pick( - this: LoDashExplicitWrapper, - ...props: Array> - ): LoDashExplicitWrapper>; - - /** - * @see _.pick - */ - pick( - this: LoDashExplicitWrapper, - ...props: PropertyPath[] - ): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/object/pickBy.d.ts b/types/lodash/object/pickBy.d.ts deleted file mode 100644 index 98b3c717dc..0000000000 --- a/types/lodash/object/pickBy.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an object composed of the `object` properties `predicate` returns - * truthy for. The predicate is invoked with two arguments: (value, key). - * - * @category Object - * @param object The source object. - * @param [predicate=_.identity] The function invoked per property. - * @returns Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.pickBy(object, _.isNumber); - * // => { 'a': 1, 'c': 3 } - */ - pickBy( - object: T | null | undefined, - predicate?: ValueKeyIteratee - ): PartialObject; - } - - interface LoDashImplicitWrapper { - /** - * @see _.pickBy - */ - pickBy( - this: LoDashImplicitWrapper, - predicate?: ValueKeyIteratee - ): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.pickBy - */ - pickBy( - this: LoDashExplicitWrapper, - predicate?: ValueKeyIteratee - ): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/object/result.d.ts b/types/lodash/object/result.d.ts deleted file mode 100644 index ea06014ae5..0000000000 --- a/types/lodash/object/result.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.get except that if the resolved value is a function it’s invoked with the this binding - * of its parent object and its result is returned. - * - * @param object The object to query. - * @param path The path of the property to resolve. - * @param defaultValue The value returned if the resolved value is undefined. - * @return Returns the resolved value. - */ - result( - object: any, - path: PropertyPath, - defaultValue?: TResult|((...args: any[]) => TResult) - ): TResult; - } - - interface LoDashImplicitWrapper { - /** - * @see _.result - */ - result( - path: PropertyPath, - defaultValue?: TResult|((...args: any[]) => TResult) - ): TResult; - } - - interface LoDashExplicitWrapper { - /** - * @see _.result - */ - result( - path: PropertyPath, - defaultValue?: TResult|((...args: any[]) => TResult) - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/set.d.ts b/types/lodash/object/set.d.ts deleted file mode 100644 index fe406347e7..0000000000 --- a/types/lodash/object/set.d.ts +++ /dev/null @@ -1,65 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Sets the value at path of object. If a portion of path doesn’t exist it’s created. Arrays are created for - * missing index properties while objects are created for all other missing properties. Use _.setWith to - * customize path creation. - * - * @param object The object to modify. - * @param path The path of the property to set. - * @param value The value to set. - * @return Returns object. - */ - set( - object: T, - path: PropertyPath, - value: any - ): T; - - /** - * @see _.set - */ - set( - object: object, - path: PropertyPath, - value: any - ): TResult; - } - - interface LoDashImplicitWrapper { - /** - * @see _.set - */ - set( - path: PropertyPath, - value: any - ): this; - - /** - * @see _.set - */ - set( - path: PropertyPath, - value: any - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.set - */ - set( - path: PropertyPath, - value: any - ): this; - - /** - * @see _.set - */ - set( - path: PropertyPath, - value: any - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/setWith.d.ts b/types/lodash/object/setWith.d.ts deleted file mode 100644 index 63f470180b..0000000000 --- a/types/lodash/object/setWith.d.ts +++ /dev/null @@ -1,71 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - type SetWithCustomizer = (nsValue: any, key: string, nsObject: T) => any; - - interface LoDashStatic { - /** - * This method is like _.set except that it accepts customizer which is invoked to produce the objects of - * path. If customizer returns undefined path creation is handled by the method instead. The customizer is - * invoked with three arguments: (nsValue, key, nsObject). - * - * @param object The object to modify. - * @param path The path of the property to set. - * @param value The value to set. - * @parem customizer The function to customize assigned values. - * @return Returns object. - */ - setWith( - object: T, - path: PropertyPath, - value: any, - customizer?: SetWithCustomizer - ): T; - - setWith( - object: T, - path: PropertyPath, - value: any, - customizer?: SetWithCustomizer - ): TResult; - } - - interface LoDashImplicitWrapper { - /** - * @see _.setWith - */ - setWith( - path: PropertyPath, - value: any, - customizer?: SetWithCustomizer - ): this; - - /** - * @see _.setWith - */ - setWith( - path: PropertyPath, - value: any, - customizer?: SetWithCustomizer - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.setWith - */ - setWith( - path: PropertyPath, - value: any, - customizer?: SetWithCustomizer - ): this; - - /** - * @see _.setWith - */ - setWith( - path: PropertyPath, - value: any, - customizer?: SetWithCustomizer - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/toPairs.d.ts b/types/lodash/object/toPairs.d.ts deleted file mode 100644 index 42c4edab2f..0000000000 --- a/types/lodash/object/toPairs.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of own enumerable key-value pairs for object. - * - * @param object The object to query. - * @return Returns the new array of key-value pairs. - */ - toPairs(object?: Dictionary): Array<[string, T]>; - - /** - * @see _.toPairs - */ - toPairs(object?: object): Array<[string, any]>; - } - - interface LoDashImplicitWrapper { - /** - * @see _.toPairs - */ - toPairs(this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; - - /** - * @see _.toPairs - */ - toPairs(): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.toPairs - */ - toPairs(this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; - - /** - * @see _.toPairs - */ - toPairs(): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/object/toPairsIn.d.ts b/types/lodash/object/toPairsIn.d.ts deleted file mode 100644 index ee6818c212..0000000000 --- a/types/lodash/object/toPairsIn.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of own and inherited enumerable key-value pairs for object. - * - * @param object The object to query. - * @return Returns the new array of key-value pairs. - */ - toPairsIn(object?: Dictionary): Array<[string, T]>; - - /** - * @see _.toPairsIn - */ - toPairsIn(object?: object): Array<[string, any]>; - } - - interface LoDashImplicitWrapper { - /** - * @see _.toPairsIn - */ - toPairsIn(this: LoDashImplicitWrapper>): LoDashImplicitWrapper>; - - /** - * @see _.toPairsIn - */ - toPairsIn(): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.toPairsIn - */ - toPairsIn(this: LoDashExplicitWrapper>): LoDashExplicitWrapper>; - - /** - * @see _.toPairsIn - */ - toPairsIn(): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/object/transform.d.ts b/types/lodash/object/transform.d.ts deleted file mode 100644 index 817f51a4b2..0000000000 --- a/types/lodash/object/transform.d.ts +++ /dev/null @@ -1,163 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * An alternative to _.reduce; this method transforms object to a new accumulator object which is the result of - * running each of its own enumerable properties through iteratee, with each invocation potentially mutating - * the accumulator object. The iteratee is bound to thisArg and invoked with four arguments: (accumulator, - * value, key, object). Iteratee functions may exit iteration early by explicitly returning false. - * - * @param object The object to iterate over. - * @param iteratee The function invoked per iteration. - * @param accumulator The custom accumulator value. - * @param thisArg The this binding of iteratee. - * @return Returns the accumulated value. - */ - transform( - object: T[], - iteratee: MemoVoidArrayIterator, - accumulator?: TResult[] - ): TResult[]; - - /** - * @see _.transform - */ - transform( - object: T[], - iteratee: MemoVoidArrayIterator>, - accumulator: Dictionary - ): Dictionary; - - /** - * @see _.transform - */ - transform( - object: Dictionary, - iteratee: MemoVoidDictionaryIterator>, - accumulator?: Dictionary - ): Dictionary; - - /** - * @see _.transform - */ - transform( - object: Dictionary, - iteratee: MemoVoidDictionaryIterator, - accumulator: TResult[] - ): TResult[]; - - /** - * @see _.transform - */ - transform( - object: any[], - ): any[]; - - /** - * @see _.transform - */ - transform( - object: object, - ): Dictionary; - } - - interface LoDashImplicitWrapper { - /** - * @see _.transform - */ - transform( - this: LoDashImplicitWrapper, - iteratee: MemoVoidArrayIterator, - accumulator?: TResult[] - ): LoDashImplicitWrapper; - - /** - * @see _.transform - */ - transform( - this: LoDashImplicitWrapper, - iteratee: MemoVoidArrayIterator>, - accumulator: Dictionary - ): LoDashImplicitWrapper>; - - /** - * @see _.transform - */ - transform( - this: LoDashImplicitWrapper>, - iteratee: MemoVoidDictionaryIterator>, - accumulator?: Dictionary - ): LoDashImplicitWrapper>; - - /** - * @see _.transform - */ - transform( - this: LoDashImplicitWrapper>, - iteratee: MemoVoidDictionaryIterator, - accumulator: TResult[] - ): LoDashImplicitWrapper; - - /** - * @see _.transform - */ - transform( - this: LoDashImplicitWrapper, - ): LoDashImplicitWrapper; - - /** - * @see _.transform - */ - transform(): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.transform - */ - transform( - this: LoDashExplicitWrapper, - iteratee: MemoVoidArrayIterator, - accumulator?: TResult[] - ): LoDashExplicitWrapper; - - /** - * @see _.transform - */ - transform( - this: LoDashExplicitWrapper, - iteratee: MemoVoidArrayIterator>, - accumulator?: Dictionary - ): LoDashExplicitWrapper>; - - /** - * @see _.transform - */ - transform( - this: LoDashExplicitWrapper>, - iteratee: MemoVoidDictionaryIterator>, - accumulator?: Dictionary - ): LoDashExplicitWrapper>; - - /** - * @see _.transform - */ - transform( - this: LoDashExplicitWrapper>, - iteratee: MemoVoidDictionaryIterator, - accumulator?: TResult[] - ): LoDashExplicitWrapper; - - /** - * @see _.transform - */ - transform( - this: LoDashExplicitWrapper, - ): LoDashExplicitWrapper; - - /** - * @see _.transform - */ - transform(): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/object/unset.d.ts b/types/lodash/object/unset.d.ts deleted file mode 100644 index 0cf4b56f92..0000000000 --- a/types/lodash/object/unset.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Removes the property at path of object. - * - * Note: This method mutates object. - * - * @param object The object to modify. - * @param path The path of the property to unset. - * @return Returns true if the property is deleted, else false. - */ - unset( - object: any, - path: PropertyPath - ): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.unset - */ - unset(path: PropertyPath): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.unset - */ - unset(path: PropertyPath): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/update.d.ts b/types/lodash/object/update.d.ts deleted file mode 100644 index 4289efca72..0000000000 --- a/types/lodash/object/update.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.set except that accepts updater to produce the value to set. Use _.updateWith to - * customize path creation. The updater is invoked with one argument: (value). - * - * @param object The object to modify. - * @param path The path of the property to set. - * @param updater The function to produce the updated value. - * @return Returns object. - */ - update( - object: object, - path: PropertyPath, - updater: (value: any) => any - ): any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.update - */ - update( - path: PropertyPath, - updater: (value: any) => any - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.update - */ - update( - path: PropertyPath, - updater: (value: any) => any - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/updateWith.d.ts b/types/lodash/object/updateWith.d.ts deleted file mode 100644 index 4da0be8ce5..0000000000 --- a/types/lodash/object/updateWith.d.ts +++ /dev/null @@ -1,83 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.update` except that it accepts `customizer` which is - * invoked to produce the objects of `path`. If `customizer` returns `undefined` - * path creation is handled by the method instead. The `customizer` is invoked - * with three arguments: (nsValue, key, nsObject). - * - * **Note:** This method mutates `object`. - * - * @since 4.6.0 - * @category Object - * @param object The object to modify. - * @param path The path of the property to set. - * @param updater The function to produce the updated value. - * @param [customizer] The function to customize assigned values. - * @returns Returns `object`. - * @example - * - * var object = {}; - * - * _.updateWith(object, '[0][1]', _.constant('a'), Object); - * // => { '0': { '1': 'a' } } - */ - updateWith( - object: T, - path: PropertyPath, - updater: (oldValue: any) => any, - customizer?: SetWithCustomizer - ): T; - - /** - * @see _.updateWith - */ - updateWith( - object: T, - path: PropertyPath, - updater: (oldValue: any) => any, - customizer?: SetWithCustomizer - ): TResult; - } - - interface LoDashImplicitWrapper { - /** - * @see _.updateWith - */ - updateWith( - path: PropertyPath, - updater: (oldValue: any) => any, - customizer?: SetWithCustomizer - ): this; - - /** - * @see _.updateWith - */ - updateWith( - path: PropertyPath, - updater: (oldValue: any) => any, - customizer?: SetWithCustomizer - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.updateWith - */ - updateWith( - path: PropertyPath, - updater: (oldValue: any) => any, - customizer?: SetWithCustomizer - ): this; - - /** - * @see _.updateWith - */ - updateWith( - path: PropertyPath, - updater: (oldValue: any) => any, - customizer?: SetWithCustomizer - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/values.d.ts b/types/lodash/object/values.d.ts deleted file mode 100644 index d1dfa1177b..0000000000 --- a/types/lodash/object/values.d.ts +++ /dev/null @@ -1,56 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of the own enumerable property values of object. - * - * @param object The object to query. - * @return Returns an array of property values. - */ - values(object: Dictionary|NumericDictionary|List | null | undefined): T[]; - - /** - * @see _.values - */ - values(object: T | null | undefined): Array; - - /** - * @see _.values - */ - values(object: any): any[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.values - */ - values(this: LoDashImplicitWrapper | NumericDictionary | List | null | undefined>): LoDashImplicitWrapper; - - /** - * @see _.values - */ - values(this: LoDashImplicitWrapper): LoDashImplicitWrapper>; - - /** - * @see _.values - */ - values(): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.values - */ - values(this: LoDashExplicitWrapper | NumericDictionary | List | null | undefined>): LoDashExplicitWrapper; - - /** - * @see _.values - */ - values(this: LoDashExplicitWrapper): LoDashExplicitWrapper>; - - /** - * @see _.values - */ - values(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/object/valuesIn.d.ts b/types/lodash/object/valuesIn.d.ts deleted file mode 100644 index 22730438f5..0000000000 --- a/types/lodash/object/valuesIn.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of the own and inherited enumerable property values of object. - * - * @param object The object to query. - * @return Returns the array of property values. - */ - valuesIn(object: Dictionary|NumericDictionary|List | null | undefined): T[]; - - /** - * @see _.valuesIn - */ - valuesIn(object: T | null | undefined): Array; - } - - interface LoDashImplicitWrapper { - /** - * @see _.valuesIn - */ - valuesIn(this: LoDashImplicitWrapper | NumericDictionary | List | null | undefined>): LoDashImplicitWrapper; - - /** - * @see _.valuesIn - */ - valuesIn(this: LoDashImplicitWrapper): LoDashImplicitWrapper>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.valuesIn - */ - valuesIn(this: LoDashExplicitWrapper | NumericDictionary | List | null | undefined>): LoDashExplicitWrapper; - - /** - * @see _.valuesIn - */ - valuesIn(this: LoDashExplicitWrapper): LoDashExplicitWrapper>; - } -} \ No newline at end of file diff --git a/types/lodash/seq/chain.d.ts b/types/lodash/seq/chain.d.ts deleted file mode 100644 index 9edc42f881..0000000000 --- a/types/lodash/seq/chain.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - 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: T): LoDashExplicitWrapper; - } - - interface LoDashImplicitWrapper { - /** - * @see _.chain - */ - chain(): LoDashExplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.chain - */ - chain(): this; - } -} \ No newline at end of file diff --git a/types/lodash/seq/prototype.at.d.ts b/types/lodash/seq/prototype.at.d.ts deleted file mode 100644 index 3a6a35d69b..0000000000 --- a/types/lodash/seq/prototype.at.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -// import _ = require("../index"); -// declare module "../index" { -// interface LoDashWrapper { -// /** -// * This method is the wrapper version of _.at. -// * -// * @ -// * @return Returns the new lodash wrapper instance. -// */ -// at(paths: string|string[]): this; -// } -// } \ No newline at end of file diff --git a/types/lodash/seq/prototype.chain.d.ts b/types/lodash/seq/prototype.chain.d.ts deleted file mode 100644 index 9edc42f881..0000000000 --- a/types/lodash/seq/prototype.chain.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - 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: T): LoDashExplicitWrapper; - } - - interface LoDashImplicitWrapper { - /** - * @see _.chain - */ - chain(): LoDashExplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.chain - */ - chain(): this; - } -} \ No newline at end of file diff --git a/types/lodash/seq/prototype.commit.d.ts b/types/lodash/seq/prototype.commit.d.ts deleted file mode 100644 index f22477f2f9..0000000000 --- a/types/lodash/seq/prototype.commit.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashWrapper { - /** - * Executes the chained sequence and returns the wrapped result. - * - * @return Returns the new lodash wrapper instance. - */ - commit(): this; - } -} \ No newline at end of file diff --git a/types/lodash/seq/prototype.plant.d.ts b/types/lodash/seq/prototype.plant.d.ts deleted file mode 100644 index 6025b09381..0000000000 --- a/types/lodash/seq/prototype.plant.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashImplicitWrapper { - /** - * 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: T): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.plant - */ - plant(value: T): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/seq/prototype.reverse.d.ts b/types/lodash/seq/prototype.reverse.d.ts deleted file mode 100644 index 66526e729b..0000000000 --- a/types/lodash/seq/prototype.reverse.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashWrapper { - /** - * 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(): this; - } -} \ No newline at end of file diff --git a/types/lodash/seq/prototype.toJSON.d.ts b/types/lodash/seq/prototype.toJSON.d.ts deleted file mode 100644 index 22da767aec..0000000000 --- a/types/lodash/seq/prototype.toJSON.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashWrapper { - /** - * @see _.value - */ - toJSON(): TValue; - } -} \ No newline at end of file diff --git a/types/lodash/seq/prototype.toString.d.ts b/types/lodash/seq/prototype.toString.d.ts deleted file mode 100644 index 4deef48ec0..0000000000 --- a/types/lodash/seq/prototype.toString.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashWrapper { - /** - * Produces the result of coercing the unwrapped value to a string. - * - * @return Returns the coerced string value. - */ - toString(): string; - } -} \ No newline at end of file diff --git a/types/lodash/seq/prototype.value.d.ts b/types/lodash/seq/prototype.value.d.ts deleted file mode 100644 index 9ba88a8250..0000000000 --- a/types/lodash/seq/prototype.value.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashWrapper { - /** - * Executes the chained sequence to extract the unwrapped value. - * - * @alias _.toJSON, _.valueOf - * - * @return Returns the resolved unwrapped value. - */ - value(): TValue; - } -} \ No newline at end of file diff --git a/types/lodash/seq/prototype.valueOf.d.ts b/types/lodash/seq/prototype.valueOf.d.ts deleted file mode 100644 index 6a69f1f202..0000000000 --- a/types/lodash/seq/prototype.valueOf.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashWrapper { - /** - * @see _.value - */ - valueOf(): TValue; - } -} \ No newline at end of file diff --git a/types/lodash/seq/tap.d.ts b/types/lodash/seq/tap.d.ts deleted file mode 100644 index dd4fc8d754..0000000000 --- a/types/lodash/seq/tap.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - 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 - ): T; - } - - interface LoDashWrapper { - /** - * @see _.tap - */ - tap( - interceptor: (value: TValue) => void - ): this; - } -} \ No newline at end of file diff --git a/types/lodash/seq/thru.d.ts b/types/lodash/seq/thru.d.ts deleted file mode 100644 index 295011945a..0000000000 --- a/types/lodash/seq/thru.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - 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. - * @return Returns the result of interceptor. - */ - thru( - value: T, - interceptor: (value: T) => TResult - ): TResult; - } - - interface LoDashImplicitWrapper { - /** - * @see _.thru - */ - thru(interceptor: (value: TValue) => TResult): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.thru - */ - thru(interceptor: (value: TValue) => TResult): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/camelCase.d.ts b/types/lodash/string/camelCase.d.ts deleted file mode 100644 index 8362137353..0000000000 --- a/types/lodash/string/camelCase.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts string to camel case. - * - * @param string The string to convert. - * @return Returns the camel cased string. - */ - camelCase(string?: string): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.camelCase - */ - camelCase(): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.camelCase - */ - camelCase(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/capitalize.d.ts b/types/lodash/string/capitalize.d.ts deleted file mode 100644 index 678f1c1de6..0000000000 --- a/types/lodash/string/capitalize.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts the first character of string to upper case and the remaining to lower case. - * - * @param string The string to capitalize. - * @return Returns the capitalized string. - */ - capitalize(string?: string): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.capitalize - */ - capitalize(): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.capitalize - */ - capitalize(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/deburr.d.ts b/types/lodash/string/deburr.d.ts deleted file mode 100644 index 85d3476be1..0000000000 --- a/types/lodash/string/deburr.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Deburrs string by converting latin-1 supplementary letters to basic latin letters and removing combining - * diacritical marks. - * - * @param string The string to deburr. - * @return Returns the deburred string. - */ - deburr(string?: string): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.deburr - */ - deburr(): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.deburr - */ - deburr(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/endsWith.d.ts b/types/lodash/string/endsWith.d.ts deleted file mode 100644 index 383c0acc41..0000000000 --- a/types/lodash/string/endsWith.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if string ends with the given target string. - * - * @param string The string to search. - * @param target The string to search for. - * @param position The position to search from. - * @return Returns true if string ends with target, else false. - */ - endsWith( - string?: string, - target?: string, - position?: number - ): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.endsWith - */ - endsWith( - target?: string, - position?: number - ): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.endsWith - */ - endsWith( - target?: string, - position?: number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/escape.d.ts b/types/lodash/string/escape.d.ts deleted file mode 100644 index 21131ee05f..0000000000 --- a/types/lodash/string/escape.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts the characters "&", "<", ">", '"', "'", and "`" in string to their corresponding HTML entities. - * - * Note: No other characters are escaped. To escape additional characters use a third-party library like he. - * - * hough the ">" character is escaped for symmetry, characters like ">" and "/" don’t need escaping in HTML - * and have no special meaning unless they're part of a tag or unquoted attribute value. See Mathias Bynens’s - * article (under "semi-related fun fact") for more details. - * - * Backticks are escaped because in IE < 9, they can break out of attribute values or HTML comments. See #59, - * #102, #108, and #133 of the HTML5 Security Cheatsheet for more details. - * - * When working with HTML you should always quote attribute values to reduce XSS vectors. - * - * @param string The string to escape. - * @return Returns the escaped string. - */ - escape(string?: string): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.escape - */ - escape(): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.escape - */ - escape(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/escapeRegExp.d.ts b/types/lodash/string/escapeRegExp.d.ts deleted file mode 100644 index a05b2b80ab..0000000000 --- a/types/lodash/string/escapeRegExp.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Escapes the RegExp special characters "^", "$", "\", ".", "*", "+", "?", "(", ")", "[", "]", - * "{", "}", and "|" in string. - * - * @param string The string to escape. - * @return Returns the escaped string. - */ - escapeRegExp(string?: string): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.escapeRegExp - */ - escapeRegExp(): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.escapeRegExp - */ - escapeRegExp(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/kebabCase.d.ts b/types/lodash/string/kebabCase.d.ts deleted file mode 100644 index eac11176a7..0000000000 --- a/types/lodash/string/kebabCase.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts string to kebab case. - * - * @param string The string to convert. - * @return Returns the kebab cased string. - */ - kebabCase(string?: string): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.kebabCase - */ - kebabCase(): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.kebabCase - */ - kebabCase(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/lowerCase.d.ts b/types/lodash/string/lowerCase.d.ts deleted file mode 100644 index 5349f3af18..0000000000 --- a/types/lodash/string/lowerCase.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts `string`, as space separated words, to lower case. - * - * @param string The string to convert. - * @return Returns the lower cased string. - */ - lowerCase(string?: string): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.lowerCase - */ - lowerCase(): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.lowerCase - */ - lowerCase(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/lowerFirst.d.ts b/types/lodash/string/lowerFirst.d.ts deleted file mode 100644 index 54cacab3e6..0000000000 --- a/types/lodash/string/lowerFirst.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts the first character of `string` to lower case. - * - * @param string The string to convert. - * @return Returns the converted string. - */ - lowerFirst(string?: string): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.lowerFirst - */ - lowerFirst(): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.lowerFirst - */ - lowerFirst(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/pad.d.ts b/types/lodash/string/pad.d.ts deleted file mode 100644 index d47f48afad..0000000000 --- a/types/lodash/string/pad.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Pads string on the left and right sides if it’s shorter than length. Padding characters are truncated if - * they can’t be evenly divided by length. - * - * @param string The string to pad. - * @param length The padding length. - * @param chars The string used as padding. - * @return Returns the padded string. - */ - pad( - string?: string, - length?: number, - chars?: string - ): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.pad - */ - pad( - length?: number, - chars?: string - ): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.pad - */ - pad( - length?: number, - chars?: string - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/padEnd.d.ts b/types/lodash/string/padEnd.d.ts deleted file mode 100644 index ed4c552705..0000000000 --- a/types/lodash/string/padEnd.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Pads string on the right side if it’s shorter than length. Padding characters are truncated if they exceed - * length. - * - * @param string The string to pad. - * @param length The padding length. - * @param chars The string used as padding. - * @return Returns the padded string. - */ - padEnd( - string?: string, - length?: number, - chars?: string - ): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.padEnd - */ - padEnd( - length?: number, - chars?: string - ): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.padEnd - */ - padEnd( - length?: number, - chars?: string - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/padStart.d.ts b/types/lodash/string/padStart.d.ts deleted file mode 100644 index 02f2ce2752..0000000000 --- a/types/lodash/string/padStart.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Pads string on the left side if it’s shorter than length. Padding characters are truncated if they exceed - * length. - * - * @param string The string to pad. - * @param length The padding length. - * @param chars The string used as padding. - * @return Returns the padded string. - */ - padStart( - string?: string, - length?: number, - chars?: string - ): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.padStart - */ - padStart( - length?: number, - chars?: string - ): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.padStart - */ - padStart( - length?: number, - chars?: string - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/parseInt.d.ts b/types/lodash/string/parseInt.d.ts deleted file mode 100644 index 082b45617d..0000000000 --- a/types/lodash/string/parseInt.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts string to an integer of the specified radix. If radix is undefined or 0, a radix of 10 is used - * unless value is a hexadecimal, in which case a radix of 16 is used. - * - * Note: This method aligns with the ES5 implementation of parseInt. - * - * @param string The string to convert. - * @param radix The radix to interpret value by. - * @return Returns the converted integer. - */ - parseInt( - string: string, - radix?: number - ): number; - } - - interface LoDashImplicitWrapper { - /** - * @see _.parseInt - */ - parseInt(radix?: number): number; - } - - interface LoDashExplicitWrapper { - /** - * @see _.parseInt - */ - parseInt(radix?: number): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/repeat.d.ts b/types/lodash/string/repeat.d.ts deleted file mode 100644 index a72cda78b1..0000000000 --- a/types/lodash/string/repeat.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Repeats the given string n times. - * - * @param string The string to repeat. - * @param n The number of times to repeat the string. - * @return Returns the repeated string. - */ - repeat( - string?: string, - n?: number - ): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.repeat - */ - repeat(n?: number): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.repeat - */ - repeat(n?: number): LoDashExplicitWrapper; - } - - type ReplaceFunction = (match: string, ...args: any[]) => string; -} \ No newline at end of file diff --git a/types/lodash/string/replace.d.ts b/types/lodash/string/replace.d.ts deleted file mode 100644 index 9245e2d712..0000000000 --- a/types/lodash/string/replace.d.ts +++ /dev/null @@ -1,59 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Replaces matches for pattern in string with replacement. - * - * Note: This method is based on String#replace. - * - * @return Returns the modified string. - */ - replace( - string: string, - pattern: RegExp | string, - replacement: ReplaceFunction | string - ): string; - - /** - * @see _.replace - */ - replace( - pattern: RegExp | string, - replacement: ReplaceFunction | string - ): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.replace - */ - replace( - pattern: RegExp|string, - replacement: ReplaceFunction | string - ): string; - - /** - * @see _.replace - */ - replace( - replacement: ReplaceFunction | string - ): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.replace - */ - replace( - pattern: RegExp | string, - replacement: ReplaceFunction | string - ): LoDashExplicitWrapper; - - /** - * @see _.replace - */ - replace( - replacement: ReplaceFunction | string - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/snakeCase.d.ts b/types/lodash/string/snakeCase.d.ts deleted file mode 100644 index efdaac05d0..0000000000 --- a/types/lodash/string/snakeCase.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts string to snake case. - * - * @param string The string to convert. - * @return Returns the snake cased string. - */ - snakeCase(string?: string): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.snakeCase - */ - snakeCase(): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.snakeCase - */ - snakeCase(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/split.d.ts b/types/lodash/string/split.d.ts deleted file mode 100644 index e964d851ce..0000000000 --- a/types/lodash/string/split.d.ts +++ /dev/null @@ -1,56 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Splits string by separator. - * - * Note: This method is based on String#split. - * - * @param string The string to trim. - * @param separator The separator pattern to split by. - * @param limit The length to truncate results to. - * @return Returns the new array of string segments. - */ - split( - string: string, - separator?: RegExp|string, - limit?: number - ): string[]; - - /** - * Splits string by separator. - * - * Note: This method is based on String#split. - * - * @param string The string to trim. - * @param index Not used in this overload. - * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. - * @return Returns the new array of string segments. - */ - split( - string: string, - index: string | number, - guard: object - ): string[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.split - */ - split( - separator?: RegExp|string, - limit?: number - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.split - */ - split( - separator?: RegExp|string, - limit?: number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/startCase.d.ts b/types/lodash/string/startCase.d.ts deleted file mode 100644 index 19e0551bf6..0000000000 --- a/types/lodash/string/startCase.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts string to start case. - * - * @param string The string to convert. - * @return Returns the start cased string. - */ - startCase(string?: string): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.startCase - */ - startCase(): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.startCase - */ - startCase(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/startsWith.d.ts b/types/lodash/string/startsWith.d.ts deleted file mode 100644 index 6090c2ed69..0000000000 --- a/types/lodash/string/startsWith.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks if string starts with the given target string. - * - * @param string The string to search. - * @param target The string to search for. - * @param position The position to search from. - * @return Returns true if string starts with target, else false. - */ - startsWith( - string?: string, - target?: string, - position?: number - ): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.startsWith - */ - startsWith( - target?: string, - position?: number - ): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.startsWith - */ - startsWith( - target?: string, - position?: number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/template.d.ts b/types/lodash/string/template.d.ts deleted file mode 100644 index a876c72fd8..0000000000 --- a/types/lodash/string/template.d.ts +++ /dev/null @@ -1,61 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface TemplateOptions extends TemplateSettings { - /** - * The sourceURL of the template's compiled source. - */ - sourceURL?: string; - } - - interface TemplateExecutor { - (data?: object): string; - source: string; - } - - interface LoDashStatic { - /** - * Creates a compiled template function that can interpolate data properties in "interpolate" delimiters, - * HTML-escape interpolated data properties in "escape" delimiters, and execute JavaScript in "evaluate" - * delimiters. Data properties may be accessed as free variables in the template. If a setting object is - * provided it takes precedence over _.templateSettings values. - * - * Note: In the development build _.template utilizes - * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) for easier - * debugging. - * - * For more information on precompiling templates see - * [lodash's custom builds documentation](https://lodash.com/custom-builds). - * - * For more information on Chrome extension sandboxes see - * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval). - * - * @param string The template string. - * @param options The options object. - * @param options.escape The HTML "escape" delimiter. - * @param options.evaluate The "evaluate" delimiter. - * @param options.imports An object to import into the template as free variables. - * @param options.interpolate The "interpolate" delimiter. - * @param options.sourceURL The sourceURL of the template's compiled source. - * @param options.variable The data object variable name. - * @return Returns the compiled template function. - */ - template( - string?: string, - options?: TemplateOptions - ): TemplateExecutor; - } - - interface LoDashImplicitWrapper { - /** - * @see _.template - */ - template(options?: TemplateOptions): TemplateExecutor; - } - - interface LoDashExplicitWrapper { - /** - * @see _.template - */ - template(options?: TemplateOptions): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/toLower.d.ts b/types/lodash/string/toLower.d.ts deleted file mode 100644 index 522014d583..0000000000 --- a/types/lodash/string/toLower.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts `string`, as a whole, to lower case. - * - * @param string The string to convert. - * @return Returns the lower cased string. - */ - toLower(string?: string): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.toLower - */ - toLower(): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.toLower - */ - toLower(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/toUpper.d.ts b/types/lodash/string/toUpper.d.ts deleted file mode 100644 index 5b2215685b..0000000000 --- a/types/lodash/string/toUpper.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts `string`, as a whole, to upper case. - * - * @param string The string to convert. - * @return Returns the upper cased string. - */ - toUpper(string?: string): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.toUpper - */ - toUpper(): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.toUpper - */ - toUpper(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/trim.d.ts b/types/lodash/string/trim.d.ts deleted file mode 100644 index 47e2a81d36..0000000000 --- a/types/lodash/string/trim.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Removes leading and trailing whitespace or specified characters from string. - * - * @param string The string to trim. - * @param chars The characters to trim. - * @return Returns the trimmed string. - */ - trim( - string?: string, - chars?: string - ): string; - - /** - * Removes leading and trailing whitespace or specified characters from string. - * - * @param string The string to trim. - * @param index Not used in this overload. - * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. - * @return Returns the trimmed string. - */ - trim( - string: string, - index: string | number, - guard: object - ): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.trim - */ - trim(chars?: string): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.trim - */ - trim(chars?: string): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/trimEnd.d.ts b/types/lodash/string/trimEnd.d.ts deleted file mode 100644 index 1af345dd74..0000000000 --- a/types/lodash/string/trimEnd.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Removes trailing whitespace or specified characters from string. - * - * @param string The string to trim. - * @param chars The characters to trim. - * @return Returns the trimmed string. - */ - trimEnd( - string?: string, - chars?: string - ): string; - - /** - * Removes trailing whitespace or specified characters from string. - * - * @param string The string to trim. - * @param index Not used in this overload. - * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. - * @return Returns the trimmed string. - */ - trimEnd( - string: string, - index: string | number, - guard: object - ): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.trimEnd - */ - trimEnd(chars?: string): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.trimEnd - */ - trimEnd(chars?: string): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/trimStart.d.ts b/types/lodash/string/trimStart.d.ts deleted file mode 100644 index 1055f6b1d3..0000000000 --- a/types/lodash/string/trimStart.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Removes leading whitespace or specified characters from string. - * - * @param string The string to trim. - * @param chars The characters to trim. - * @return Returns the trimmed string. - */ - trimStart( - string?: string, - chars?: string - ): string; - - /** - * Removes leading whitespace or specified characters from string. - * - * @param string The string to trim. - * @param index Not used in this overload. - * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. - * @return Returns the trimmed string. - */ - trimStart( - string: string, - index: string | number, - guard: object - ): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.trimStart - */ - trimStart(chars?: string): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.trimStart - */ - trimStart(chars?: string): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/truncate.d.ts b/types/lodash/string/truncate.d.ts deleted file mode 100644 index 23d4039356..0000000000 --- a/types/lodash/string/truncate.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface TruncateOptions { - /** The maximum string length. */ - length?: number; - /** The string to indicate text is omitted. */ - omission?: string; - /** The separator pattern to truncate to. */ - separator?: string|RegExp; - } - - interface LoDashStatic { - /** - * Truncates string if it’s longer than the given maximum string length. The last characters of the truncated - * string are replaced with the omission string which defaults to "…". - * - * @param string The string to truncate. - * @param options The options object or maximum string length. - * @return Returns the truncated string. - */ - truncate( - string?: string, - options?: TruncateOptions - ): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.truncate - */ - truncate(options?: TruncateOptions): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.truncate - */ - truncate(options?: TruncateOptions): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/unescape.d.ts b/types/lodash/string/unescape.d.ts deleted file mode 100644 index 3e2be90abb..0000000000 --- a/types/lodash/string/unescape.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * The inverse of _.escape; this method converts the HTML entities &, <, >, ", ', and ` - * in string to their corresponding characters. - * - * Note: No other HTML entities are unescaped. To unescape additional HTML entities use a third-party library - * like he. - * - * @param string The string to unescape. - * @return Returns the unescaped string. - */ - unescape(string?: string): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.unescape - */ - unescape(): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.unescape - */ - unescape(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/upperCase.d.ts b/types/lodash/string/upperCase.d.ts deleted file mode 100644 index d33b6885b9..0000000000 --- a/types/lodash/string/upperCase.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts `string`, as space separated words, to upper case. - * - * @param string The string to convert. - * @return Returns the upper cased string. - */ - upperCase(string?: string): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.upperCase - */ - upperCase(): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.upperCase - */ - upperCase(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/upperFirst.d.ts b/types/lodash/string/upperFirst.d.ts deleted file mode 100644 index 692aa702cd..0000000000 --- a/types/lodash/string/upperFirst.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts the first character of `string` to upper case. - * - * @param string The string to convert. - * @return Returns the converted string. - */ - upperFirst(string?: string): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.upperFirst - */ - upperFirst(): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.upperFirst - */ - upperFirst(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/string/words.d.ts b/types/lodash/string/words.d.ts deleted file mode 100644 index 4ca4530513..0000000000 --- a/types/lodash/string/words.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Splits `string` into an array of its words. - * - * @param string The string to inspect. - * @param pattern The pattern to match words. - * @return Returns the words of `string`. - */ - words( - string?: string, - pattern?: string|RegExp - ): string[]; - - /** - * Splits `string` into an array of its words. - * - * @param string The string to inspect. - * @param index Not used in this overload. - * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. - * @return Returns the words of `string`. - */ - words( - string: string, - index: string | number, - guard: object - ): string[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.words - */ - words(pattern?: string|RegExp): string[]; - } - - interface LoDashExplicitWrapper { - /** - * @see _.words - */ - words(pattern?: string|RegExp): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/util/attempt.d.ts b/types/lodash/util/attempt.d.ts deleted file mode 100644 index b539421d13..0000000000 --- a/types/lodash/util/attempt.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Attempts to invoke func, returning either the result or the caught error object. Any additional arguments - * are provided to func when it’s invoked. - * - * @param func The function to attempt. - * @return Returns the func result or error object. - */ - attempt(func: (...args: any[]) => TResult, ...args: any[]): TResult|Error; - } - - interface LoDashImplicitWrapper { - /** - * @see _.attempt - */ - attempt(...args: any[]): TResult|Error; - } - - interface LoDashExplicitWrapper { - /** - * @see _.attempt - */ - attempt(...args: any[]): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/util/bindAll.d.ts b/types/lodash/util/bindAll.d.ts deleted file mode 100644 index 1ebe05fe60..0000000000 --- a/types/lodash/util/bindAll.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Binds methods of an object to the object itself, overwriting the existing method. Method names may be - * specified as individual arguments or as arrays of method names. If no method names are provided all - * enumerable function properties, own and inherited, of object are bound. - * - * Note: This method does not set the "length" property of bound functions. - * - * @param object The object to bind and assign the bound methods to. - * @param methodNames The object method names to bind, specified as individual method names or arrays of - * method names. - * @return Returns object. - */ - bindAll( - object: T, - ...methodNames: Array> - ): T; - } - - interface LoDashWrapper { - /** - * @see _.bindAll - */ - bindAll(...methodNames: Array>): this; - } -} \ No newline at end of file diff --git a/types/lodash/util/cond.d.ts b/types/lodash/util/cond.d.ts deleted file mode 100644 index 036f518184..0000000000 --- a/types/lodash/util/cond.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that iterates over `pairs` and invokes the corresponding - * function of the first predicate to return truthy. The predicate-function - * pairs are invoked with the `this` binding and arguments of the created - * function. - * - * @since 4.0.0 - * @category Util - * @param pairs The predicate-function pairs. - * @returns Returns the new composite function. - * @example - * - * var func = _.cond([ - * [_.matches({ 'a': 1 }), _.constant('matches A')], - * [_.conforms({ 'b': _.isNumber }), _.constant('matches B')], - * [_.stubTrue, _.constant('no match')] - * ]); - * - * func({ 'a': 1, 'b': 2 }); - * // => 'matches A' - * - * func({ 'a': 0, 'b': 1 }); - * // => 'matches B' - * - * func({ 'a': '1', 'b': '2' }); - * // => 'no match' - */ - cond(pairs: Array>): (Target: T) => R; - } -} \ No newline at end of file diff --git a/types/lodash/util/conforms.d.ts b/types/lodash/util/conforms.d.ts deleted file mode 100644 index 9da61cedd1..0000000000 --- a/types/lodash/util/conforms.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - type ConformsPredicateObject = { - [P in keyof T]?: (val: T[P]) => boolean; - }; - - interface LoDashStatic { - /** - * Creates a function that invokes the predicate properties of `source` with the corresponding - * property values of a given object, returning true if all predicates return truthy, else false. - */ - conforms(source: ConformsPredicateObject): (value: T) => boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.conforms - */ - conforms(this: LoDashImplicitWrapper>): LoDashImplicitWrapper<(value: T) => boolean>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.conforms - */ - conforms(this: LoDashExplicitWrapper>): LoDashExplicitWrapper<(value: T) => boolean>; - } -} \ No newline at end of file diff --git a/types/lodash/util/constant.d.ts b/types/lodash/util/constant.d.ts deleted file mode 100644 index 9255171af1..0000000000 --- a/types/lodash/util/constant.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that returns value. - * - * @param value The value to return from the new function. - * @return Returns the new function. - */ - constant(value: T): () => T; - } - - interface LoDashImplicitWrapper { - /** - * @see _.constant - */ - constant(): LoDashImplicitWrapper<() => TValue>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.constant - */ - constant(): LoDashExplicitWrapper<() => TValue>; - } -} \ No newline at end of file diff --git a/types/lodash/util/defaultTo.d.ts b/types/lodash/util/defaultTo.d.ts deleted file mode 100644 index ced0e976c5..0000000000 --- a/types/lodash/util/defaultTo.d.ts +++ /dev/null @@ -1,53 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Checks `value` to determine whether a default value should be returned in - * its place. The `defaultValue` is returned if `value` is `NaN`, `null`, - * or `undefined`. - * - * @param value The value to check. - * @param defaultValue The default value. - * @returns Returns the resolved value. - */ - defaultTo(value: T | null | undefined, defaultValue: T): T; - - /** - * @see _.defaultTo - */ - defaultTo( - value: T | null | undefined, - defaultValue: TDefault - ): T | TDefault; - } - - interface LoDashImplicitWrapper { - /** - * @see _.defaultTo - */ - defaultTo(this: LoDashImplicitWrapper, defaultValue: T): T; - - /** - * @see _.defaultTo - */ - defaultTo( - this: LoDashImplicitWrapper, - defaultValue: TDefault - ): T | TDefault; - } - - interface LoDashExplicitWrapper { - /** - * @see _.defaultTo - */ - defaultTo(this: LoDashExplicitWrapper, defaultValue: T): LoDashExplicitWrapper; - - /** - * @see _.defaultTo - */ - defaultTo( - this: LoDashExplicitWrapper, - defaultValue: TDefault - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/util/flow.d.ts b/types/lodash/util/flow.d.ts deleted file mode 100644 index 90736c5da4..0000000000 --- a/types/lodash/util/flow.d.ts +++ /dev/null @@ -1,171 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that returns the result of invoking the provided functions with the this binding of the - * created function, where each successive invocation is supplied the return value of the previous. - * - * @param funcs Functions to invoke. - * @return Returns the new function. - */ - // 0-argument first function - flow(f1: () => R1, f2: (a: R1) => R2): () => R2; - flow(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): () => R3; - flow(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): () => R4; - flow(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): () => R5; - flow(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): () => R6; - flow(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): () => R7; - flow(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): () => any; - // 1-argument first function - flow(f1: (a1: A1) => R1, f2: (a: R1) => R2): (a1: A1) => R2; - flow(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1) => R3; - flow(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1) => R4; - flow(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1) => R5; - flow(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1) => R6; - flow(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1) => R7; - flow(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): (a1: A1) => any; - // 2-argument first function - flow(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2) => R2; - flow(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2) => R3; - flow(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2) => R4; - flow(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2) => R5; - flow(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2) => R6; - flow(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2) => R7; - flow(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): (a1: A1, a2: A2) => any; - // 3-argument first function - flow(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2, a3: A3) => R2; - flow(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2, a3: A3) => R3; - flow(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2, a3: A3) => R4; - flow(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2, a3: A3) => R5; - flow(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2, a3: A3) => R6; - flow(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2, a3: A3) => R7; - flow(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): (a1: A1, a2: A2, a3: A3) => any; - // 4-argument first function - flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2, a3: A3, a4: A4) => R2; - flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2, a3: A3, a4: A4) => R3; - flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2, a3: A3, a4: A4) => R4; - flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2, a3: A3, a4: A4) => R5; - flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2, a3: A3, a4: A4) => R6; - flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2, a3: A3, a4: A4) => R7; - flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): (a1: A1, a2: A2, a3: A3, a4: A4) => any; - // any-argument first function - flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R2; - flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R3; - flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R4; - flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R5; - flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R6; - flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R7; - flow(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => any; - flow(funcs: Array any>>): (...args: any[]) => any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.flow - */ - // 0-argument first function - flow(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2): LoDashImplicitWrapper<() => R2>; - flow(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashImplicitWrapper<() => R3>; - flow(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashImplicitWrapper<() => R4>; - flow(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashImplicitWrapper<() => R5>; - flow(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashImplicitWrapper<() => R6>; - flow(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashImplicitWrapper<() => R7>; - flow(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashImplicitWrapper<() => any>; - // 1-argument first function - flow(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2): LoDashImplicitWrapper<(a1: A1) => R2>; - flow(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashImplicitWrapper<(a1: A1) => R3>; - flow(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashImplicitWrapper<(a1: A1) => R4>; - flow(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashImplicitWrapper<(a1: A1) => R5>; - flow(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashImplicitWrapper<(a1: A1) => R6>; - flow(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashImplicitWrapper<(a1: A1) => R7>; - flow(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashImplicitWrapper<(a1: A1) => any>; - // 2-argument first function - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2): LoDashImplicitWrapper<(a1: A1, a2: A2) => R2>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashImplicitWrapper<(a1: A1, a2: A2) => R3>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashImplicitWrapper<(a1: A1, a2: A2) => R4>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashImplicitWrapper<(a1: A1, a2: A2) => R5>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashImplicitWrapper<(a1: A1, a2: A2) => R6>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashImplicitWrapper<(a1: A1, a2: A2) => R7>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashImplicitWrapper<(a1: A1, a2: A2) => any>; - // 3-argument first function - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R2>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R3>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R4>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R5>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R6>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R7>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => any>; - // 4-argument first function - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R2>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R3>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R4>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R5>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R6>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R7>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => any>; - // any-argument first function - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R2>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R3>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R4>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R5>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R6>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R7>; - flow(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => any>; - flow(this: LoDashImplicitWrapper<(...args: any[]) => any>, funcs: Array any>>): LoDashImplicitWrapper<(...args: any[]) => any>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.flow - */ - // 0-argument first function - flow(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2): LoDashExplicitWrapper<() => R2>; - flow(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashExplicitWrapper<() => R3>; - flow(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashExplicitWrapper<() => R4>; - flow(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashExplicitWrapper<() => R5>; - flow(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashExplicitWrapper<() => R6>; - flow(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashExplicitWrapper<() => R7>; - flow(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashExplicitWrapper<() => any>; - // 1-argument first function - flow(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2): LoDashExplicitWrapper<(a1: A1) => R2>; - flow(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashExplicitWrapper<(a1: A1) => R3>; - flow(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashExplicitWrapper<(a1: A1) => R4>; - flow(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashExplicitWrapper<(a1: A1) => R5>; - flow(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashExplicitWrapper<(a1: A1) => R6>; - flow(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashExplicitWrapper<(a1: A1) => R7>; - flow(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashExplicitWrapper<(a1: A1) => any>; - // 2-argument first function - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2): LoDashExplicitWrapper<(a1: A1, a2: A2) => R2>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashExplicitWrapper<(a1: A1, a2: A2) => R3>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashExplicitWrapper<(a1: A1, a2: A2) => R4>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashExplicitWrapper<(a1: A1, a2: A2) => R5>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashExplicitWrapper<(a1: A1, a2: A2) => R6>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashExplicitWrapper<(a1: A1, a2: A2) => R7>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashExplicitWrapper<(a1: A1, a2: A2) => any>; - // 3-argument first function - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R2>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R3>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R4>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R5>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R6>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R7>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => any>; - // 4-argument first function - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R2>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R3>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R4>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R5>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R6>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R7>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => any>; - // any-argument first function - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R2>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R3>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R4>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R5>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R6>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R7>; - flow(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array any>>): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => any>; - flow(this: LoDashExplicitWrapper<(...args: any[]) => any>, funcs: Array any>>): LoDashExplicitWrapper<(...args: any[]) => any>; - } -} \ No newline at end of file diff --git a/types/lodash/util/flowRight.d.ts b/types/lodash/util/flowRight.d.ts deleted file mode 100644 index e61f162ce3..0000000000 --- a/types/lodash/util/flowRight.d.ts +++ /dev/null @@ -1,156 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like _.flow except that it creates a function that invokes the provided functions from right - * to left. - * - * @param funcs Functions to invoke. - * @return Returns the new function. - */ - // 0-argument first function - flowRight(f2: (a: R1) => R2, f1: () => R1): () => R2; - flowRight(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R3; - flowRight(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R4; - flowRight(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R5; - flowRight(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R6; - flowRight(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R7; - // 1-argument first function - flowRight(f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R2; - flowRight(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R3; - flowRight(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R4; - flowRight(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R5; - flowRight(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R6; - flowRight(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R7; - // 2-argument first function - flowRight(f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R2; - flowRight(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R3; - flowRight(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R4; - flowRight(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R5; - flowRight(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R6; - flowRight(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R7; - // 3-argument first function - flowRight(f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R2; - flowRight(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R3; - flowRight(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R4; - flowRight(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R5; - flowRight(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R6; - flowRight(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R7; - // 4-argument first function - flowRight(f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R2; - flowRight(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R3; - flowRight(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R4; - flowRight(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R5; - flowRight(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R6; - flowRight(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R7; - // any-argument first function - flowRight(f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R2; - flowRight(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R3; - flowRight(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R4; - flowRight(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R5; - flowRight(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R6; - flowRight(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R7; - flowRight(f7: (a: any) => any, f6: (a: any) => any, f5: (a: any) => any, f4: (a: any) => any, f3: (a: any) => any, f2: (a: any) => any, f1: () => any, ...funcs: Array any>>): (...args: any[]) => any; - flowRight(funcs: Array any>>): (...args: any[]) => any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.flowRight - */ - // 0-argument first function - flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f1: () => R1): LoDashImplicitWrapper<() => R2>; - flowRight(this: LoDashImplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: () => R1): LoDashImplicitWrapper<() => R3>; - flowRight(this: LoDashImplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashImplicitWrapper<() => R4>; - flowRight(this: LoDashImplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashImplicitWrapper<() => R5>; - flowRight(this: LoDashImplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashImplicitWrapper<() => R6>; - flowRight(this: LoDashImplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashImplicitWrapper<() => R7>; - // 1-argument first function - flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f1: (a1: A1) => R1): LoDashImplicitWrapper<(a1: A1) => R2>; - flowRight(this: LoDashImplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashImplicitWrapper<(a1: A1) => R3>; - flowRight(this: LoDashImplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashImplicitWrapper<(a1: A1) => R4>; - flowRight(this: LoDashImplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashImplicitWrapper<(a1: A1) => R5>; - flowRight(this: LoDashImplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashImplicitWrapper<(a1: A1) => R6>; - flowRight(this: LoDashImplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashImplicitWrapper<(a1: A1) => R7>; - // 2-argument first function - flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f1: (a1: A1, a2: A2) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2) => R2>; - flowRight(this: LoDashImplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2) => R3>; - flowRight(this: LoDashImplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2) => R4>; - flowRight(this: LoDashImplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2) => R5>; - flowRight(this: LoDashImplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2) => R6>; - flowRight(this: LoDashImplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2) => R7>; - // 3-argument first function - flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R2>; - flowRight(this: LoDashImplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R3>; - flowRight(this: LoDashImplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R4>; - flowRight(this: LoDashImplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R5>; - flowRight(this: LoDashImplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R6>; - flowRight(this: LoDashImplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R7>; - // 4-argument first function - flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R2>; - flowRight(this: LoDashImplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R3>; - flowRight(this: LoDashImplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R4>; - flowRight(this: LoDashImplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R5>; - flowRight(this: LoDashImplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R6>; - flowRight(this: LoDashImplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R7>; - // any-argument first function - flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f1: (...args: any[]) => R1): LoDashImplicitWrapper<(...args: any[]) => R2>; - flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashImplicitWrapper<(...args: any[]) => R3>; - flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashImplicitWrapper<(...args: any[]) => R4>; - flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashImplicitWrapper<(...args: any[]) => R5>; - flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashImplicitWrapper<(...args: any[]) => R6>; - flowRight(this: LoDashImplicitWrapper<(a: R1) => R2>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashImplicitWrapper<(...args: any[]) => R7>; - flowRight(this: LoDashImplicitWrapper<(a: any) => any>, f6: (a: any) => any, f5: (a: any) => any, f4: (a: any) => any, f3: (a: any) => any, f2: (a: any) => any, f1: () => any, ...funcs: Array any>>): LoDashImplicitWrapper<(...args: any[]) => any>; - flowRight(this: LoDashImplicitWrapper<(a: any) => any>, funcs: Array any>>): LoDashImplicitWrapper<(...args: any[]) => any>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.flowRight - */ - // 0-argument first function - flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f1: () => R1): LoDashExplicitWrapper<() => R2>; - flowRight(this: LoDashExplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: () => R1): LoDashExplicitWrapper<() => R3>; - flowRight(this: LoDashExplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashExplicitWrapper<() => R4>; - flowRight(this: LoDashExplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashExplicitWrapper<() => R5>; - flowRight(this: LoDashExplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashExplicitWrapper<() => R6>; - flowRight(this: LoDashExplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashExplicitWrapper<() => R7>; - // 1-argument first function - flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f1: (a1: A1) => R1): LoDashExplicitWrapper<(a1: A1) => R2>; - flowRight(this: LoDashExplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashExplicitWrapper<(a1: A1) => R3>; - flowRight(this: LoDashExplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashExplicitWrapper<(a1: A1) => R4>; - flowRight(this: LoDashExplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashExplicitWrapper<(a1: A1) => R5>; - flowRight(this: LoDashExplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashExplicitWrapper<(a1: A1) => R6>; - flowRight(this: LoDashExplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashExplicitWrapper<(a1: A1) => R7>; - // 2-argument first function - flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f1: (a1: A1, a2: A2) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2) => R2>; - flowRight(this: LoDashExplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2) => R3>; - flowRight(this: LoDashExplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2) => R4>; - flowRight(this: LoDashExplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2) => R5>; - flowRight(this: LoDashExplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2) => R6>; - flowRight(this: LoDashExplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2) => R7>; - // 3-argument first function - flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R2>; - flowRight(this: LoDashExplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R3>; - flowRight(this: LoDashExplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R4>; - flowRight(this: LoDashExplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R5>; - flowRight(this: LoDashExplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R6>; - flowRight(this: LoDashExplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R7>; - // 4-argument first function - flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R2>; - flowRight(this: LoDashExplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R3>; - flowRight(this: LoDashExplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R4>; - flowRight(this: LoDashExplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R5>; - flowRight(this: LoDashExplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R6>; - flowRight(this: LoDashExplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R7>; - // any-argument first function - flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f1: (...args: any[]) => R1): LoDashExplicitWrapper<(...args: any[]) => R2>; - flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashExplicitWrapper<(...args: any[]) => R3>; - flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashExplicitWrapper<(...args: any[]) => R4>; - flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashExplicitWrapper<(...args: any[]) => R5>; - flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashExplicitWrapper<(...args: any[]) => R6>; - flowRight(this: LoDashExplicitWrapper<(a: R1) => R2>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashExplicitWrapper<(...args: any[]) => R7>; - flowRight(this: LoDashExplicitWrapper<(a: any) => any>, f6: (a: any) => any, f5: (a: any) => any, f4: (a: any) => any, f3: (a: any) => any, f2: (a: any) => any, f1: () => any, ...funcs: Array any>>): LoDashExplicitWrapper<(...args: any[]) => any>; - flowRight(this: LoDashExplicitWrapper<(a: any) => any>, funcs: Array any>>): LoDashExplicitWrapper<(...args: any[]) => any>; - } -} \ No newline at end of file diff --git a/types/lodash/util/identity.d.ts b/types/lodash/util/identity.d.ts deleted file mode 100644 index 6fff4525ad..0000000000 --- a/types/lodash/util/identity.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method returns the first argument provided to it. - * - * @param value Any value. - * @return Returns value. - */ - identity(value: T): T; - - /** - * @see _.identity - */ - identity(): undefined; - } - - interface LoDashImplicitWrapper { - /** - * @see _.identity - */ - identity(): TValue; - } - - interface LoDashExplicitWrapper { - /** - * @see _.identity - */ - identity(): this; - } -} \ No newline at end of file diff --git a/types/lodash/util/iteratee.d.ts b/types/lodash/util/iteratee.d.ts deleted file mode 100644 index b41c6d3cf2..0000000000 --- a/types/lodash/util/iteratee.d.ts +++ /dev/null @@ -1,58 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that invokes `func` with the arguments of the created - * function. If `func` is a property name the created callback returns the - * property value for a given element. If `func` is an object the created - * callback returns `true` for elements that contain the equivalent object properties, otherwise it returns `false`. - * - * @category Util - * @param [func=_.identity] The value to convert to a callback. - * @returns Returns the callback. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 } - * ]; - * - * // create custom iteratee shorthands - * _.iteratee = _.wrap(_.iteratee, function(callback, func) { - * var p = /^(\S+)\s*([<>])\s*(\S+)$/.exec(func); - * return !p ? callback(func) : function(object) { - * return (p[2] == '>' ? object[p[1]] > p[3] : object[p[1]] < p[3]); - * }; - * }); - * - * _.filter(users, 'age > 36'); - * // => [{ 'user': 'fred', 'age': 40 }] - */ - iteratee any>( - func: TFunction | string | object - ): TFunction; - - /** - * @see _.iteratee - */ - iteratee(): typeof _.identity; // tslint:disable-line:no-unnecessary-qualifier - } - - interface LoDashImplicitWrapper { - /** - * @see _.iteratee - */ - iteratee any>( - this: LoDashImplicitWrapper - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.iteratee - */ - iteratee any>( - this: LoDashExplicitWrapper - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/util/matches.d.ts b/types/lodash/util/matches.d.ts deleted file mode 100644 index b919ffbbcc..0000000000 --- a/types/lodash/util/matches.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that performs a deep comparison between a given object and source, returning true if the - * given object has equivalent property values, else false. - * - * Note: This method supports comparing arrays, booleans, Date objects, numbers, Object objects, regexes, and - * strings. Objects are compared by their own, not inherited, enumerable properties. For comparing a single own - * or inherited property value see _.matchesProperty. - * - * @param source The object of property values to match. - * @return Returns the new function. - */ - matches(source: T): (value: any) => boolean; - - /** - * @see _.matches - */ - matches(source: T): (value: V) => boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.matches - */ - matches(): LoDashImplicitWrapper<(value: V) => boolean>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.matches - */ - matches(): LoDashExplicitWrapper<(value: V) => boolean>; - } -} \ No newline at end of file diff --git a/types/lodash/util/matchesProperty.d.ts b/types/lodash/util/matchesProperty.d.ts deleted file mode 100644 index fc574be4f9..0000000000 --- a/types/lodash/util/matchesProperty.d.ts +++ /dev/null @@ -1,59 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that compares the property value of path on a given object to value. - * - * Note: This method supports comparing arrays, booleans, Date objects, numbers, Object objects, regexes, and - * strings. Objects are compared by their own, not inherited, enumerable properties. - * - * @param path The path of the property to get. - * @param srcValue The value to match. - * @return Returns the new function. - */ - matchesProperty( - path: PropertyPath, - srcValue: T - ): (value: any) => boolean; - - /** - * @see _.matchesProperty - */ - matchesProperty( - path: PropertyPath, - srcValue: T - ): (value: V) => boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.matchesProperty - */ - matchesProperty( - srcValue: SrcValue - ): LoDashImplicitWrapper<(value: any) => boolean>; - - /** - * @see _.matchesProperty - */ - matchesProperty( - srcValue: SrcValue - ): LoDashImplicitWrapper<(value: Value) => boolean>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.matchesProperty - */ - matchesProperty( - srcValue: SrcValue - ): LoDashExplicitWrapper<(value: any) => boolean>; - - /** - * @see _.matchesProperty - */ - matchesProperty( - srcValue: SrcValue - ): LoDashExplicitWrapper<(value: Value) => boolean>; - } -} \ No newline at end of file diff --git a/types/lodash/util/method.d.ts b/types/lodash/util/method.d.ts deleted file mode 100644 index 09c508caef..0000000000 --- a/types/lodash/util/method.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that invokes the method at path on a given object. Any additional arguments are provided - * to the invoked method. - * - * @param path The path of the method to invoke. - * @param args The arguments to invoke the method with. - * @return Returns the new function. - */ - method( - path: PropertyPath, - ...args: any[] - ): (object: any) => any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.method - */ - method(...args: any[]): LoDashImplicitWrapper<(object: any) => any>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.method - */ - method(...args: any[]): LoDashExplicitWrapper<(object: any) => any>; - } -} \ No newline at end of file diff --git a/types/lodash/util/methodOf.d.ts b/types/lodash/util/methodOf.d.ts deleted file mode 100644 index 4ec4d15515..0000000000 --- a/types/lodash/util/methodOf.d.ts +++ /dev/null @@ -1,35 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * The opposite of _.method; this method creates a function that invokes the method at a given path on object. - * Any additional arguments are provided to the invoked method. - * - * @param object The object to query. - * @param args The arguments to invoke the method with. - * @return Returns the new function. - */ - methodOf( - object: object, - ...args: any[] - ): (path: PropertyPath) => any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.methodOf - */ - methodOf( - ...args: any[] - ): LoDashImplicitWrapper<(path: PropertyPath) => any>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.methodOf - */ - methodOf( - ...args: any[] - ): LoDashExplicitWrapper<(path: PropertyPath) => any>; - } -} \ No newline at end of file diff --git a/types/lodash/util/mixin.d.ts b/types/lodash/util/mixin.d.ts deleted file mode 100644 index 02237ae751..0000000000 --- a/types/lodash/util/mixin.d.ts +++ /dev/null @@ -1,69 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface MixinOptions { - chain?: boolean; - } - - interface LoDashStatic { - /** - * Adds all own enumerable function properties of a source object to the destination object. If object is a - * function then methods are added to its prototype as well. - * - * Note: Use _.runInContext to create a pristine lodash function to avoid conflicts caused by modifying - * the original. - * - * @param object The destination object. - * @param source The object of functions to add. - * @param options The options object. - * @param options.chain Specify whether the functions added are chainable. - * @return Returns object. - */ - mixin( - object: TObject, - source: Dictionary<(...args: any[]) => any>, - options?: MixinOptions - ): TObject; - - /** - * @see _.mixin - */ - mixin( - source: Dictionary<(...args: any[]) => any>, - options?: MixinOptions - ): LoDashStatic; - } - - interface LoDashImplicitWrapper { - /** - * @see _.mixin - */ - mixin( - source: Dictionary<(...args: any[]) => any>, - options?: MixinOptions - ): this; - - /** - * @see _.mixin - */ - mixin( - options?: MixinOptions - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.mixin - */ - mixin( - source: Dictionary<(...args: any[]) => any>, - options?: MixinOptions - ): this; - - /** - * @see _.mixin - */ - mixin( - options?: MixinOptions - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/util/noConflict.d.ts b/types/lodash/util/noConflict.d.ts deleted file mode 100644 index 80ecca9f10..0000000000 --- a/types/lodash/util/noConflict.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Reverts the _ variable to its previous value and returns a reference to the lodash function. - * - * @return Returns the lodash function. - */ - noConflict(): typeof _; - } - - interface LoDashImplicitWrapper { - /** - * @see _.noConflict - */ - noConflict(): typeof _; - } - - interface LoDashExplicitWrapper { - /** - * @see _.noConflict - */ - noConflict(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/util/noop.d.ts b/types/lodash/util/noop.d.ts deleted file mode 100644 index ca66677e57..0000000000 --- a/types/lodash/util/noop.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * A no-operation function that returns undefined regardless of the arguments it receives. - * - * @return undefined - */ - noop(...args: any[]): void; - } - - interface LoDashImplicitWrapper { - /** - * @see _.noop - */ - noop(...args: any[]): void; - } - - interface LoDashExplicitWrapper { - /** - * @see _.noop - */ - noop(...args: any[]): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/util/nthArg.d.ts b/types/lodash/util/nthArg.d.ts deleted file mode 100644 index c5b6b0d5db..0000000000 --- a/types/lodash/util/nthArg.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that returns its nth argument. - * - * @param n The index of the argument to return. - * @return Returns the new function. - */ - nthArg(n?: number): (...args: any[]) => any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.nthArg - */ - nthArg(): LoDashImplicitWrapper<(...args: any[]) => any>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.nthArg - */ - nthArg(): LoDashExplicitWrapper<(...args: any[]) => any>; - } -} \ No newline at end of file diff --git a/types/lodash/util/over.d.ts b/types/lodash/util/over.d.ts deleted file mode 100644 index 2b4b49f573..0000000000 --- a/types/lodash/util/over.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that invokes iteratees with the arguments provided to the created function and returns - * their results. - * - * @param iteratees The iteratees to invoke. - * @return Returns the new function. - */ - over(...iteratees: Array TResult>>): (...args: any[]) => TResult[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.over - */ - over( - this: LoDashImplicitWrapper TResult>>, - ...iteratees: Array TResult>> - ): LoDashImplicitWrapper<(...args: any[]) => TResult[]>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.over - */ - over( - this: LoDashExplicitWrapper TResult>>, - ...iteratees: Array TResult>> - ): LoDashExplicitWrapper<(...args: any[]) => TResult[]>; - } -} \ No newline at end of file diff --git a/types/lodash/util/overEvery.d.ts b/types/lodash/util/overEvery.d.ts deleted file mode 100644 index d061d3ec72..0000000000 --- a/types/lodash/util/overEvery.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that checks if all of the predicates return truthy when invoked with the arguments - * provided to the created function. - * - * @param predicates The predicates to check. - * @return Returns the new function. - */ - overEvery(...predicates: Array boolean>>): (...args: T[]) => boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.overEvery - */ - overEvery(...predicates: Array boolean>>): LoDashImplicitWrapper<(...args: T[]) => boolean>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.overEvery - */ - overEvery(...predicates: Array boolean>>): LoDashExplicitWrapper<(...args: T[]) => boolean>; - } -} \ No newline at end of file diff --git a/types/lodash/util/overSome.d.ts b/types/lodash/util/overSome.d.ts deleted file mode 100644 index 1ff92f8d42..0000000000 --- a/types/lodash/util/overSome.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that checks if any of the predicates return truthy when invoked with the arguments - * provided to the created function. - * - * @param predicates The predicates to check. - * @return Returns the new function. - */ - overSome(...predicates: Array boolean>>): (...args: T[]) => boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.overSome - */ - overSome(...predicates: Array boolean>>): LoDashImplicitWrapper<(...args: T[]) => boolean>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.overSome - */ - overSome(...predicates: Array boolean>>): LoDashExplicitWrapper<(...args: T[]) => boolean>; - } -} \ No newline at end of file diff --git a/types/lodash/util/property.d.ts b/types/lodash/util/property.d.ts deleted file mode 100644 index 8edab90248..0000000000 --- a/types/lodash/util/property.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates a function that returns the property value at path on a given object. - * - * @param path The path of the property to get. - * @return Returns the new function. - */ - property(path: PropertyPath): (obj: TObj) => TResult; - } - - interface LoDashImplicitWrapper { - /** - * @see _.property - */ - property(): LoDashImplicitWrapper<(obj: TObj) => TResult>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.property - */ - property(): LoDashExplicitWrapper<(obj: TObj) => TResult>; - } -} \ No newline at end of file diff --git a/types/lodash/util/propertyOf.d.ts b/types/lodash/util/propertyOf.d.ts deleted file mode 100644 index cc272ec7bf..0000000000 --- a/types/lodash/util/propertyOf.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * The opposite of _.property; this method creates a function that returns the property value at a given path - * on object. - * - * @param object The object to query. - * @return Returns the new function. - */ - propertyOf(object: T): (path: PropertyPath) => any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.propertyOf - */ - propertyOf(): LoDashImplicitWrapper<(path: PropertyPath) => any>; - } - - interface LoDashExplicitWrapper { - /** - * @see _.propertyOf - */ - propertyOf(): LoDashExplicitWrapper<(path: PropertyPath) => any>; - } -} \ No newline at end of file diff --git a/types/lodash/util/range.d.ts b/types/lodash/util/range.d.ts deleted file mode 100644 index 35bf7e3d2e..0000000000 --- a/types/lodash/util/range.d.ts +++ /dev/null @@ -1,56 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Creates an array of numbers (positive and/or negative) progressing from start up to, but not including, end. - * If end is not specified it’s set to start with start then set to 0. If end is less than start a zero-length - * range is created unless a negative step is specified. - * - * @param start The start of the range. - * @param end The end of the range. - * @param step The value to increment or decrement by. - * @return Returns a new range array. - */ - range( - start: number, - end?: number, - step?: number - ): number[]; - - /** - * Creates an array of numbers (positive and/or negative) progressing from start up to, but not including, end. - * If end is not specified it’s set to start with start then set to 0. If end is less than start a zero-length - * range is created unless a negative step is specified. - * - * @param start The start of the range. - * @param index Not used in this overload. - * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. - * @return Returns a new range array. - */ - range( - end: number, - index: string | number, - guard: object - ): number[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.range - */ - range( - end?: number, - step?: number - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.range - */ - range( - end?: number, - step?: number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/util/rangeRight.d.ts b/types/lodash/util/rangeRight.d.ts deleted file mode 100644 index ced80d5968..0000000000 --- a/types/lodash/util/rangeRight.d.ts +++ /dev/null @@ -1,77 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method is like `_.range` except that it populates values in - * descending order. - * - * @category Util - * @param start The start of the range. - * @param end The end of the range. - * @param step The value to increment or decrement by. - * @returns Returns the new array of numbers. - * @example - * - * _.rangeRight(4); - * // => [3, 2, 1, 0] - * - * _.rangeRight(-4); - * // => [-3, -2, -1, 0] - * - * _.rangeRight(1, 5); - * // => [4, 3, 2, 1] - * - * _.rangeRight(0, 20, 5); - * // => [15, 10, 5, 0] - * - * _.rangeRight(0, -4, -1); - * // => [-3, -2, -1, 0] - * - * _.rangeRight(1, 4, 0); - * // => [1, 1, 1] - * - * _.rangeRight(0); - * // => [] - */ - rangeRight( - start: number, - end?: number, - step?: number - ): number[]; - - /** - * This method is like _.range except that it populates values in - * descending order. - * - * @param start The start of the range. - * @param index Not used in this overload. - * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. - * @return Returns a new range array. - */ - rangeRight( - end: number, - index: string | number, - guard: object - ): number[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.rangeRight - */ - rangeRight( - end?: number, - step?: number - ): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.rangeRight - */ - rangeRight( - end?: number, - step?: number - ): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/util/runInContext.d.ts b/types/lodash/util/runInContext.d.ts deleted file mode 100644 index 38fb1ff6b1..0000000000 --- a/types/lodash/util/runInContext.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Create a new pristine lodash function using the given context object. - * - * @param context The context object. - * @return Returns a new lodash function. - */ - runInContext(context?: object): typeof _; - } - - interface LoDashImplicitWrapper { - /** - * @see _.runInContext - */ - runInContext(): typeof _; - } -} \ No newline at end of file diff --git a/types/lodash/util/stubArray.d.ts b/types/lodash/util/stubArray.d.ts deleted file mode 100644 index b8440b7f25..0000000000 --- a/types/lodash/util/stubArray.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method returns a new empty array. - * - * @returns Returns the new empty array. - */ - stubArray(): any[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.stubArray - */ - stubArray(): any[]; - } - - interface LoDashExplicitWrapper { - /** - * @see _.stubArray - */ - stubArray(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/util/stubFalse.d.ts b/types/lodash/util/stubFalse.d.ts deleted file mode 100644 index 394bdc5cce..0000000000 --- a/types/lodash/util/stubFalse.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method returns `false`. - * - * @returns Returns `false`. - */ - stubFalse(): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.stubFalse - */ - stubFalse(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.stubFalse - */ - stubFalse(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/util/stubObject.d.ts b/types/lodash/util/stubObject.d.ts deleted file mode 100644 index 877decfcf0..0000000000 --- a/types/lodash/util/stubObject.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method returns a new empty object. - * - * @returns Returns the new empty object. - */ - stubObject(): any; - } - - interface LoDashImplicitWrapper { - /** - * @see _.stubObject - */ - stubObject(): any; - } - - interface LoDashExplicitWrapper { - /** - * @see _.stubObject - */ - stubObject(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/util/stubString.d.ts b/types/lodash/util/stubString.d.ts deleted file mode 100644 index 6967aafc14..0000000000 --- a/types/lodash/util/stubString.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method returns an empty string. - * - * @returns Returns the empty string. - */ - stubString(): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.stubString - */ - stubString(): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.stubString - */ - stubString(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/util/stubTrue.d.ts b/types/lodash/util/stubTrue.d.ts deleted file mode 100644 index 2a18d82e88..0000000000 --- a/types/lodash/util/stubTrue.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * This method returns `true`. - * - * @returns Returns `true`. - */ - stubTrue(): boolean; - } - - interface LoDashImplicitWrapper { - /** - * @see _.stubTrue - */ - stubTrue(): boolean; - } - - interface LoDashExplicitWrapper { - /** - * @see _.stubTrue - */ - stubTrue(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/util/times.d.ts b/types/lodash/util/times.d.ts deleted file mode 100644 index 1056080ebf..0000000000 --- a/types/lodash/util/times.d.ts +++ /dev/null @@ -1,50 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Invokes the iteratee function n times, returning an array of the results of each invocation. The iteratee - * is invoked with one argument; (index). - * - * @param n The number of times to invoke iteratee. - * @param iteratee The function invoked per iteration. - * @return Returns the array of results. - */ - times( - n: number, - iteratee: (num: number) => TResult - ): TResult[]; - - /** - * @see _.times - */ - times(n: number): number[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.times - */ - times( - iteratee: (num: number) => TResult - ): TResult[]; - - /** - * @see _.times - */ - times(): number[]; - } - - interface LoDashExplicitWrapper { - /** - * @see _.times - */ - times( - iteratee: (num: number) => TResult - ): LoDashExplicitWrapper; - - /** - * @see _.times - */ - times(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/util/toPath.d.ts b/types/lodash/util/toPath.d.ts deleted file mode 100644 index e98a9eb30f..0000000000 --- a/types/lodash/util/toPath.d.ts +++ /dev/null @@ -1,43 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Converts `value` to a property path array. - * - * @category Util - * @param value The value to convert. - * @returns Returns the new property path array. - * @example - * - * _.toPath('a.b.c'); - * // => ['a', 'b', 'c'] - * - * _.toPath('a[0].b.c'); - * // => ['a', '0', 'b', 'c'] - * - * var path = ['a', 'b', 'c'], - * newPath = _.toPath(path); - * - * console.log(newPath); - * // => ['a', 'b', 'c'] - * - * console.log(path === newPath); - * // => false - */ - toPath(value: any): string[]; - } - - interface LoDashImplicitWrapper { - /** - * @see _.toPath - */ - toPath(): LoDashImplicitWrapper; - } - - interface LoDashExplicitWrapper { - /** - * @see _.toPath - */ - toPath(): LoDashExplicitWrapper; - } -} \ No newline at end of file diff --git a/types/lodash/util/uniqueId.d.ts b/types/lodash/util/uniqueId.d.ts deleted file mode 100644 index 75bedcaa94..0000000000 --- a/types/lodash/util/uniqueId.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import _ = require("../index"); -declare module "../index" { - interface LoDashStatic { - /** - * Generates a unique ID. If prefix is provided the ID is appended to it. - * - * @param prefix The value to prefix the ID with. - * @return Returns the unique ID. - */ - uniqueId(prefix?: string): string; - } - - interface LoDashImplicitWrapper { - /** - * @see _.uniqueId - */ - uniqueId(): string; - } - - interface LoDashExplicitWrapper { - /** - * @see _.uniqueId - */ - uniqueId(): LoDashExplicitWrapper; - } -} \ No newline at end of file