diff --git a/lodash/lodash-tests.ts b/lodash/lodash-tests.ts index fc36241c5..c52ca7840 100644 --- a/lodash/lodash-tests.ts +++ b/lodash/lodash-tests.ts @@ -172,8 +172,28 @@ result = <_.LoDashArrayWrapper>_([1, 2, 3, 4]).chunk(2); result = _.compact([0, 1, false, 2, '', 3]); result = <_.LoDashArrayWrapper>_([0, 1, false, 2, '', 3]).compact(); -result = _.difference([1, 2, 3, 4, 5], [5, 2, 10]); -result = <_.LoDashArrayWrapper>_([1, 2, 3, 4, 5]).difference([5, 2, 10]); +// _.difference +{ + let testDifferenceArray: TResult[]; + let testDifferenceList: _.List; + let result: TResult[]; + result = _.difference(testDifferenceArray); + result = _.difference(testDifferenceArray, testDifferenceArray); + result = _.difference(testDifferenceArray, testDifferenceList, testDifferenceArray); + result = _.difference(testDifferenceArray, testDifferenceArray, testDifferenceList, testDifferenceArray); + result = _.difference(testDifferenceList); + result = _.difference(testDifferenceList, testDifferenceList); + result = _.difference(testDifferenceList, testDifferenceArray, testDifferenceList); + result = _.difference(testDifferenceList, testDifferenceList, testDifferenceArray, testDifferenceList); + result = _(testDifferenceArray).difference().value(); + result = _(testDifferenceArray).difference(testDifferenceArray).value(); + result = _(testDifferenceArray).difference(testDifferenceList, testDifferenceArray).value(); + result = _(testDifferenceArray).difference(testDifferenceArray, testDifferenceList, testDifferenceArray).value(); + result = _(testDifferenceList).difference().value(); + result = _(testDifferenceList).difference(testDifferenceList).value(); + result = _(testDifferenceList).difference(testDifferenceArray, testDifferenceList).value(); + result = _(testDifferenceList).difference(testDifferenceList, testDifferenceArray, testDifferenceList).value(); +} result = _.rest([1, 2, 3]); result = _.rest([1, 2, 3], 2); diff --git a/lodash/lodash.d.ts b/lodash/lodash.d.ts index db2405580..0f5439b80 100644 --- a/lodash/lodash.d.ts +++ b/lodash/lodash.d.ts @@ -367,34 +367,31 @@ declare module _ { //_.difference interface LoDashStatic { /** - * Creates an array excluding all values of the provided arrays using strict equality for comparisons - * , i.e. ===. - * @param array The array to process - * @param others The arrays of values to exclude. - * @return Returns a new array of filtered values. - **/ + * 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?: Array, - ...others: Array[]): T[]; - /** - * @see _.difference - **/ - difference( - array?: List, - ...others: List[]): T[]; + array: T[]|List, + ...values: (T[]|List)[] + ): T[]; } interface LoDashArrayWrapper { /** - * @see _.difference - **/ - difference( - ...others: Array[]): LoDashArrayWrapper; + * @see _.difference + */ + difference(...values: (T[]|List)[]): LoDashArrayWrapper; + } + + interface LoDashObjectWrapper { /** - * @see _.difference - **/ - difference( - ...others: List[]): LoDashArrayWrapper; + * @see _.difference + */ + difference(...values: (TValue[]|List)[]): LoDashArrayWrapper; } //_.findIndex