Merge pull request #6155 from chrootsu/lodash-xor

lodash: changed signatures of the method _.xor
This commit is contained in:
Masahiro Wakame
2015-10-07 02:07:26 +09:00
2 changed files with 26 additions and 17 deletions
+23 -15
View File
@@ -726,21 +726,29 @@ result = <{ x: number; }[]>_([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }]).unique('x').v
}
// _.xor
var testXorArray: number[];
var testXorList: _.List<number>;
result = <number[]>_.xor<number>();
result = <number[]>_.xor<number>(testXorArray);
result = <number[]>_.xor<number>(testXorArray, testXorArray);
result = <number[]>_.xor<number>(testXorArray, testXorArray, testXorArray);
result = <number[]>_.xor<number>(testXorList);
result = <number[]>_.xor<number>(testXorList, testXorList);
result = <number[]>_.xor<number>(testXorList, testXorList, testXorList);
result = <number[]>(_(testXorArray).xor().value());
result = <number[]>(_(testXorArray).xor(testXorArray).value());
result = <number[]>(_(testXorArray).xor(testXorArray, testXorArray).value());
result = <number[]>(_(testXorList).xor().value());
result = <number[]>(_(testXorList).xor(testXorList).value());
result = <number[]>(_(testXorList).xor(testXorList, testXorList).value());
module TestXor {
let array: TResult[];
let list: _.List<TResult>;
let result: TResult[];
result = _.xor<TResult>();
result = _.xor<TResult>(array);
result = _.xor<TResult>(array, list);
result = _.xor<TResult>(array, list, array);
result = _.xor<TResult>(list);
result = _.xor<TResult>(list, array);
result = _.xor<TResult>(list, array, list);
result = _(array).xor().value();
result = _(array).xor(list).value();
result = _(array).xor(list, array).value();
result = _(list).xor<TResult>().value();
result = _(list).xor<TResult>(array).value();
result = _(list).xor<TResult>(array, list).value();
}
result = <any[][]>_.zip(['moe', 'larry'], [30, 40], [true, false]);
result = <any[][]>_.unzip(['moe', 'larry'], [30, 40], [true, false]);
+3 -2
View File
@@ -1968,6 +1968,7 @@ declare module _ {
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.
*/
@@ -1978,14 +1979,14 @@ declare module _ {
/**
* @see _.xor
*/
xor(...arrays: T[][]): LoDashArrayWrapper<T>;
xor(...arrays: List<T>[]): LoDashArrayWrapper<T>;
}
interface LoDashObjectWrapper<T> {
/**
* @see _.xor
*/
xor(...arrays: T[]): LoDashObjectWrapper<T>;
xor<TValue>(...arrays: List<TValue>[]): LoDashArrayWrapper<TValue>;
}
//_.zip