mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-07 18:07:49 +00:00
Adjust method dependencies for _.flatten, _.uniq, and _.union.
Former-commit-id: f742abfbd9d0c63b16a4f7d3a903ae53d2b7a1fe
This commit is contained in:
35
build.js
35
build.js
@@ -108,7 +108,7 @@
|
|||||||
'findIndex': ['createCallback'],
|
'findIndex': ['createCallback'],
|
||||||
'findKey': ['createCallback', 'forOwn'],
|
'findKey': ['createCallback', 'forOwn'],
|
||||||
'first': ['createCallback', 'slice'],
|
'first': ['createCallback', 'slice'],
|
||||||
'flatten': ['isArray', 'overloadWrapper'],
|
'flatten': ['basicFlatten', 'overloadWrapper'],
|
||||||
'forEach': ['basicEach', 'createCallback', 'isArray'],
|
'forEach': ['basicEach', 'createCallback', 'isArray'],
|
||||||
'forIn': ['createIterator'],
|
'forIn': ['createIterator'],
|
||||||
'forOwn': ['createIterator'],
|
'forOwn': ['createIterator'],
|
||||||
@@ -176,8 +176,8 @@
|
|||||||
'toArray': ['isString', 'slice', 'values'],
|
'toArray': ['isString', 'slice', 'values'],
|
||||||
'transform': ['createCallback', 'createObject', 'forOwn', 'isArray'],
|
'transform': ['createCallback', 'createObject', 'forOwn', 'isArray'],
|
||||||
'unescape': ['unescapeHtmlChar'],
|
'unescape': ['unescapeHtmlChar'],
|
||||||
'union': ['isArray', 'uniq'],
|
'union': ['basicFlatten', 'basicUniq'],
|
||||||
'uniq': ['cacheIndexOf', 'createCache', 'getArray', 'getIndexOf', 'overloadWrapper', 'releaseArray', 'releaseObject'],
|
'uniq': ['basicUniq', 'overloadWrapper'],
|
||||||
'uniqueId': [],
|
'uniqueId': [],
|
||||||
'unzip': ['max', 'pluck'],
|
'unzip': ['max', 'pluck'],
|
||||||
'value': ['basicEach', 'forOwn', 'isArray', 'lodash', 'wrapperValueOf', 'lodashWrapper'],
|
'value': ['basicEach', 'forOwn', 'isArray', 'lodash', 'wrapperValueOf', 'lodashWrapper'],
|
||||||
@@ -190,7 +190,9 @@
|
|||||||
|
|
||||||
// private functions
|
// private functions
|
||||||
'basicEach': ['createIterator'],
|
'basicEach': ['createIterator'],
|
||||||
|
'basicFlatten': ['isArguments', 'isArray'],
|
||||||
'basicIndexOf': [],
|
'basicIndexOf': [],
|
||||||
|
'basicUniq': ['cacheIndexOf', 'createCache', 'getArray', 'getIndexOf', 'releaseArray', 'releaseObject'],
|
||||||
'cacheIndexOf': ['basicIndexOf'],
|
'cacheIndexOf': ['basicIndexOf'],
|
||||||
'cachePush': [],
|
'cachePush': [],
|
||||||
'charAtCallback': [],
|
'charAtCallback': [],
|
||||||
@@ -502,7 +504,9 @@
|
|||||||
/** List of private functions */
|
/** List of private functions */
|
||||||
var privateFuncs = [
|
var privateFuncs = [
|
||||||
'basicEach',
|
'basicEach',
|
||||||
|
'basicFlatten',
|
||||||
'basicIndex',
|
'basicIndex',
|
||||||
|
'basicUniq',
|
||||||
'cacheIndexOf',
|
'cacheIndexOf',
|
||||||
'cachePush',
|
'cachePush',
|
||||||
'charAtCallback',
|
'charAtCallback',
|
||||||
@@ -2631,6 +2635,19 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_.each(['flatten', 'uniq'], function(funcName) {
|
||||||
|
if (!isLodashFunc(funcName)) {
|
||||||
|
var basicFuncName = 'basic' + capitalize(funcName);
|
||||||
|
|
||||||
|
(funcDependencyMap.union = _.without(funcDependencyMap.union, basicFuncName)).push(funcName);
|
||||||
|
|
||||||
|
funcDependencyMap[funcName] = _.without(
|
||||||
|
funcDependencyMap[funcName].concat(funcDependencyMap[basicFuncName], funcDependencyMap.overloadWrapper),
|
||||||
|
basicFuncName, 'overloadWrapper'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
_.each(['basicEach', 'forEach', 'forIn', 'forOwn'], function(funcName) {
|
_.each(['basicEach', 'forEach', 'forIn', 'forOwn'], function(funcName) {
|
||||||
if (funcName == 'basicEach' || !isLodashFunc(funcName)) {
|
if (funcName == 'basicEach' || !isLodashFunc(funcName)) {
|
||||||
(varDependencyMap[funcName] || (varDependencyMap[funcName] = [])).push('indicatorObject');
|
(varDependencyMap[funcName] || (varDependencyMap[funcName] = [])).push('indicatorObject');
|
||||||
@@ -3156,7 +3173,7 @@
|
|||||||
'' ,
|
'' ,
|
||||||
' while (++index < length) {',
|
' while (++index < length) {',
|
||||||
' var value = array[index];',
|
' var value = array[index];',
|
||||||
' if (isArray(value)) {',
|
" if (value && typeof value == 'object' && (isArray(value) || isArguments(value))) {",
|
||||||
' push.apply(result, isShallow ? value : flatten(value));',
|
' push.apply(result, isShallow ? value : flatten(value));',
|
||||||
' } else {',
|
' } else {',
|
||||||
' result.push(value);',
|
' result.push(value);',
|
||||||
@@ -3600,6 +3617,16 @@
|
|||||||
// unexpose `lodash.support`
|
// unexpose `lodash.support`
|
||||||
source = source.replace(/\blodash\.support *= */, '');
|
source = source.replace(/\blodash\.support *= */, '');
|
||||||
|
|
||||||
|
// replace `basicFlatten` and `basicUniq` with `flatten` and `uniq` in `_.union`
|
||||||
|
_.each(['flatten', 'uniq'], function(funcName) {
|
||||||
|
if (!isLodashFunc(funcName)) {
|
||||||
|
source = source.replace(matchFunction(source, 'union'), function(match) {
|
||||||
|
var basicFuncName = 'basic' + capitalize(funcName);
|
||||||
|
return match.replace(RegExp('\\b' + basicFuncName + '\\b', 'g'), funcName);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// replace `slice` with `nativeSlice.call`
|
// replace `slice` with `nativeSlice.call`
|
||||||
_.each(['clone', 'first', 'initial', 'last', 'rest', 'toArray'], function(funcName) {
|
_.each(['clone', 'first', 'initial', 'last', 'rest', 'toArray'], function(funcName) {
|
||||||
if (funcName == 'clone'
|
if (funcName == 'clone'
|
||||||
|
|||||||
Reference in New Issue
Block a user