Move internal modules to “internal” folder.

This commit is contained in:
John-David Dalton
2017-01-10 00:44:25 -08:00
parent 2b05673125
commit 26ea38dcf4
500 changed files with 726 additions and 726 deletions

36
.internal/baseXor.js Normal file
View File

@@ -0,0 +1,36 @@
import baseDifference from './.internal/baseDifference.js';
import baseFlatten from './.internal/baseFlatten.js';
import baseUniq from './.internal/baseUniq.js';
/**
* The base implementation of methods like `xor` which accepts an array of
* arrays to inspect.
*
* @private
* @param {Array} arrays The arrays to inspect.
* @param {Function} [iteratee] The iteratee invoked per element.
* @param {Function} [comparator] The comparator invoked per element.
* @returns {Array} Returns the new array of values.
*/
function baseXor(arrays, iteratee, comparator) {
const length = arrays.length;
if (length < 2) {
return length ? baseUniq(arrays[0]) : [];
}
let index = -1;
const result = Array(length);
while (++index < length) {
const array = arrays[index];
let othIndex = -1;
while (++othIndex < length) {
if (othIndex != index) {
result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);
}
}
}
return baseUniq(baseFlatten(result, 1), iteratee, comparator);
}
export default baseXor;