diff --git a/README.md b/README.md index eaa9a6a74..1ebcd20ea 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# lodash-es v4.0.1 +# lodash-es v4.1.0 The [lodash](https://lodash.com/) library exported as [ES](http://www.ecma-international.org/ecma-262/6.0/) modules. @@ -7,4 +7,4 @@ Generated using [lodash-cli](https://www.npmjs.com/package/lodash-cli): $ lodash modularize exports=es -o ./ ``` -See the [package source](https://github.com/lodash/lodash/tree/4.0.1-es) for more details. +See the [package source](https://github.com/lodash/lodash/tree/4.1.0-es) for more details. diff --git a/internal/Hash.js b/_Hash.js similarity index 88% rename from internal/Hash.js rename to _Hash.js index 0fba9376c..73c741b58 100644 --- a/internal/Hash.js +++ b/_Hash.js @@ -1,4 +1,4 @@ -import nativeCreate from './nativeCreate'; +import nativeCreate from './_nativeCreate'; /** Used for built-in method references. */ var objectProto = Object.prototype; diff --git a/internal/LazyWrapper.js b/_LazyWrapper.js similarity index 88% rename from internal/LazyWrapper.js rename to _LazyWrapper.js index e93e4a1ec..95a49dbd5 100644 --- a/internal/LazyWrapper.js +++ b/_LazyWrapper.js @@ -1,5 +1,5 @@ -import baseCreate from './baseCreate'; -import baseLodash from './baseLodash'; +import baseCreate from './_baseCreate'; +import baseLodash from './_baseLodash'; /** Used as references for the maximum length and index of an array. */ var MAX_ARRAY_LENGTH = 4294967295; diff --git a/internal/LodashWrapper.js b/_LodashWrapper.js similarity index 86% rename from internal/LodashWrapper.js rename to _LodashWrapper.js index 08a1cdd4a..b7e44407d 100644 --- a/internal/LodashWrapper.js +++ b/_LodashWrapper.js @@ -1,5 +1,5 @@ -import baseCreate from './baseCreate'; -import baseLodash from './baseLodash'; +import baseCreate from './_baseCreate'; +import baseLodash from './_baseLodash'; /** * The base constructor for creating `lodash` wrapper objects. diff --git a/internal/Map.js b/_Map.js similarity index 64% rename from internal/Map.js rename to _Map.js index 846355c16..89649e1e6 100644 --- a/internal/Map.js +++ b/_Map.js @@ -1,5 +1,5 @@ -import getNative from './getNative'; -import root from './root'; +import getNative from './_getNative'; +import root from './_root'; /* Built-in method references that are verified to be native. */ var Map = getNative(root, 'Map'); diff --git a/internal/MapCache.js b/_MapCache.js similarity index 77% rename from internal/MapCache.js rename to _MapCache.js index 13ee61db3..a0d716575 100644 --- a/internal/MapCache.js +++ b/_MapCache.js @@ -1,8 +1,8 @@ -import mapClear from './mapClear'; -import mapDelete from './mapDelete'; -import mapGet from './mapGet'; -import mapHas from './mapHas'; -import mapSet from './mapSet'; +import mapClear from './_mapClear'; +import mapDelete from './_mapDelete'; +import mapGet from './_mapGet'; +import mapHas from './_mapHas'; +import mapSet from './_mapSet'; /** * Creates a map cache object to store key-value pairs. diff --git a/internal/Reflect.js b/_Reflect.js similarity index 75% rename from internal/Reflect.js rename to _Reflect.js index 89162b591..13b569802 100644 --- a/internal/Reflect.js +++ b/_Reflect.js @@ -1,4 +1,4 @@ -import root from './root'; +import root from './_root'; /** Built-in value references. */ var Reflect = root.Reflect; diff --git a/internal/Set.js b/_Set.js similarity index 64% rename from internal/Set.js rename to _Set.js index 23a328016..e80a6fa3e 100644 --- a/internal/Set.js +++ b/_Set.js @@ -1,5 +1,5 @@ -import getNative from './getNative'; -import root from './root'; +import getNative from './_getNative'; +import root from './_root'; /* Built-in method references that are verified to be native. */ var Set = getNative(root, 'Set'); diff --git a/internal/SetCache.js b/_SetCache.js similarity index 84% rename from internal/SetCache.js rename to _SetCache.js index eca84426f..30b2ebd1d 100644 --- a/internal/SetCache.js +++ b/_SetCache.js @@ -1,5 +1,5 @@ -import MapCache from './MapCache'; -import cachePush from './cachePush'; +import MapCache from './_MapCache'; +import cachePush from './_cachePush'; /** * diff --git a/internal/Stack.js b/_Stack.js similarity index 74% rename from internal/Stack.js rename to _Stack.js index 821153dc3..cb06511b8 100644 --- a/internal/Stack.js +++ b/_Stack.js @@ -1,8 +1,8 @@ -import stackClear from './stackClear'; -import stackDelete from './stackDelete'; -import stackGet from './stackGet'; -import stackHas from './stackHas'; -import stackSet from './stackSet'; +import stackClear from './_stackClear'; +import stackDelete from './_stackDelete'; +import stackGet from './_stackGet'; +import stackHas from './_stackHas'; +import stackSet from './_stackSet'; /** * Creates a stack cache object to store key-value pairs. diff --git a/internal/Symbol.js b/_Symbol.js similarity index 75% rename from internal/Symbol.js rename to _Symbol.js index 7103a7cc5..9dedac06f 100644 --- a/internal/Symbol.js +++ b/_Symbol.js @@ -1,4 +1,4 @@ -import root from './root'; +import root from './_root'; /** Built-in value references. */ var Symbol = root.Symbol; diff --git a/internal/Uint8Array.js b/_Uint8Array.js similarity index 77% rename from internal/Uint8Array.js rename to _Uint8Array.js index cabbb800d..c39fd9f17 100644 --- a/internal/Uint8Array.js +++ b/_Uint8Array.js @@ -1,4 +1,4 @@ -import root from './root'; +import root from './_root'; /** Built-in value references. */ var Uint8Array = root.Uint8Array; diff --git a/internal/WeakMap.js b/_WeakMap.js similarity index 66% rename from internal/WeakMap.js rename to _WeakMap.js index e0410c589..4a9e9630a 100644 --- a/internal/WeakMap.js +++ b/_WeakMap.js @@ -1,5 +1,5 @@ -import getNative from './getNative'; -import root from './root'; +import getNative from './_getNative'; +import root from './_root'; /* Built-in method references that are verified to be native. */ var WeakMap = getNative(root, 'WeakMap'); diff --git a/internal/addMapEntry.js b/_addMapEntry.js similarity index 100% rename from internal/addMapEntry.js rename to _addMapEntry.js diff --git a/internal/addSetEntry.js b/_addSetEntry.js similarity index 100% rename from internal/addSetEntry.js rename to _addSetEntry.js diff --git a/internal/apply.js b/_apply.js similarity index 100% rename from internal/apply.js rename to _apply.js diff --git a/_arrayAggregator.js b/_arrayAggregator.js new file mode 100644 index 000000000..34ee1293c --- /dev/null +++ b/_arrayAggregator.js @@ -0,0 +1,22 @@ +/** + * A specialized version of `baseAggregator` for arrays. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ +function arrayAggregator(array, setter, iteratee, accumulator) { + var index = -1, + length = array.length; + + while (++index < length) { + var value = array[index]; + setter(accumulator, value, iteratee(value), array); + } + return accumulator; +} + +export default arrayAggregator; diff --git a/internal/arrayConcat.js b/_arrayConcat.js similarity index 100% rename from internal/arrayConcat.js rename to _arrayConcat.js diff --git a/internal/arrayEach.js b/_arrayEach.js similarity index 100% rename from internal/arrayEach.js rename to _arrayEach.js diff --git a/internal/arrayEachRight.js b/_arrayEachRight.js similarity index 100% rename from internal/arrayEachRight.js rename to _arrayEachRight.js diff --git a/internal/arrayEvery.js b/_arrayEvery.js similarity index 100% rename from internal/arrayEvery.js rename to _arrayEvery.js diff --git a/internal/arrayFilter.js b/_arrayFilter.js similarity index 100% rename from internal/arrayFilter.js rename to _arrayFilter.js diff --git a/internal/arrayIncludes.js b/_arrayIncludes.js similarity index 91% rename from internal/arrayIncludes.js rename to _arrayIncludes.js index 9a99b17ce..b6c6fffd4 100644 --- a/internal/arrayIncludes.js +++ b/_arrayIncludes.js @@ -1,4 +1,4 @@ -import baseIndexOf from './baseIndexOf'; +import baseIndexOf from './_baseIndexOf'; /** * A specialized version of `_.includes` for arrays without support for diff --git a/internal/arrayIncludesWith.js b/_arrayIncludesWith.js similarity index 100% rename from internal/arrayIncludesWith.js rename to _arrayIncludesWith.js diff --git a/internal/arrayMap.js b/_arrayMap.js similarity index 100% rename from internal/arrayMap.js rename to _arrayMap.js diff --git a/internal/arrayPush.js b/_arrayPush.js similarity index 100% rename from internal/arrayPush.js rename to _arrayPush.js diff --git a/internal/arrayReduce.js b/_arrayReduce.js similarity index 100% rename from internal/arrayReduce.js rename to _arrayReduce.js diff --git a/internal/arrayReduceRight.js b/_arrayReduceRight.js similarity index 100% rename from internal/arrayReduceRight.js rename to _arrayReduceRight.js diff --git a/internal/arraySome.js b/_arraySome.js similarity index 100% rename from internal/arraySome.js rename to _arraySome.js diff --git a/internal/assignInDefaults.js b/_assignInDefaults.js similarity index 96% rename from internal/assignInDefaults.js rename to _assignInDefaults.js index b3af762e7..e379a41af 100644 --- a/internal/assignInDefaults.js +++ b/_assignInDefaults.js @@ -1,4 +1,4 @@ -import eq from '../eq'; +import eq from './eq'; /** Used for built-in method references. */ var objectProto = Object.prototype; diff --git a/internal/assignMergeValue.js b/_assignMergeValue.js similarity index 95% rename from internal/assignMergeValue.js rename to _assignMergeValue.js index 56486df21..7b1353d25 100644 --- a/internal/assignMergeValue.js +++ b/_assignMergeValue.js @@ -1,4 +1,4 @@ -import eq from '../eq'; +import eq from './eq'; /** * This function is like `assignValue` except that it doesn't assign `undefined` values. diff --git a/internal/assignValue.js b/_assignValue.js similarity index 97% rename from internal/assignValue.js rename to _assignValue.js index b7d2b3e52..59257f10b 100644 --- a/internal/assignValue.js +++ b/_assignValue.js @@ -1,4 +1,4 @@ -import eq from '../eq'; +import eq from './eq'; /** Used for built-in method references. */ var objectProto = Object.prototype; diff --git a/internal/assocDelete.js b/_assocDelete.js similarity index 94% rename from internal/assocDelete.js rename to _assocDelete.js index 206d7d8e9..215bea701 100644 --- a/internal/assocDelete.js +++ b/_assocDelete.js @@ -1,4 +1,4 @@ -import assocIndexOf from './assocIndexOf'; +import assocIndexOf from './_assocIndexOf'; /** Used for built-in method references. */ var arrayProto = Array.prototype; diff --git a/internal/assocGet.js b/_assocGet.js similarity index 89% rename from internal/assocGet.js rename to _assocGet.js index a171e8486..721227d00 100644 --- a/internal/assocGet.js +++ b/_assocGet.js @@ -1,4 +1,4 @@ -import assocIndexOf from './assocIndexOf'; +import assocIndexOf from './_assocIndexOf'; /** * Gets the associative array value for `key`. diff --git a/internal/assocHas.js b/_assocHas.js similarity index 89% rename from internal/assocHas.js rename to _assocHas.js index 9691dbc2c..2f8b8fd23 100644 --- a/internal/assocHas.js +++ b/_assocHas.js @@ -1,4 +1,4 @@ -import assocIndexOf from './assocIndexOf'; +import assocIndexOf from './_assocIndexOf'; /** * Checks if an associative array value for `key` exists. diff --git a/internal/assocIndexOf.js b/_assocIndexOf.js similarity index 95% rename from internal/assocIndexOf.js rename to _assocIndexOf.js index 969b9a8ec..a80dd4fce 100644 --- a/internal/assocIndexOf.js +++ b/_assocIndexOf.js @@ -1,4 +1,4 @@ -import eq from '../eq'; +import eq from './eq'; /** * Gets the index at which the first occurrence of `key` is found in `array` diff --git a/internal/assocSet.js b/_assocSet.js similarity index 90% rename from internal/assocSet.js rename to _assocSet.js index 8adf34e99..beabfc44b 100644 --- a/internal/assocSet.js +++ b/_assocSet.js @@ -1,4 +1,4 @@ -import assocIndexOf from './assocIndexOf'; +import assocIndexOf from './_assocIndexOf'; /** * Sets the associative array `key` to `value`. diff --git a/_baseAggregator.js b/_baseAggregator.js new file mode 100644 index 000000000..d017ea45c --- /dev/null +++ b/_baseAggregator.js @@ -0,0 +1,21 @@ +import baseEach from './_baseEach'; + +/** + * Aggregates elements of `collection` on `accumulator` with keys transformed + * by `iteratee` and values set by `setter`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ +function baseAggregator(collection, setter, iteratee, accumulator) { + baseEach(collection, function(value, key, collection) { + setter(accumulator, value, iteratee(value), collection); + }); + return accumulator; +} + +export default baseAggregator; diff --git a/internal/baseAssign.js b/_baseAssign.js similarity index 85% rename from internal/baseAssign.js rename to _baseAssign.js index 30097379f..af9797f44 100644 --- a/internal/baseAssign.js +++ b/_baseAssign.js @@ -1,5 +1,5 @@ -import copyObject from './copyObject'; -import keys from '../keys'; +import copyObject from './_copyObject'; +import keys from './keys'; /** * The base implementation of `_.assign` without support for multiple sources diff --git a/internal/baseAt.js b/_baseAt.js similarity index 95% rename from internal/baseAt.js rename to _baseAt.js index 135ca2f04..944cf9e01 100644 --- a/internal/baseAt.js +++ b/_baseAt.js @@ -1,4 +1,4 @@ -import get from '../get'; +import get from './get'; /** * The base implementation of `_.at` without support for individual paths. diff --git a/internal/baseClamp.js b/_baseClamp.js similarity index 100% rename from internal/baseClamp.js rename to _baseClamp.js diff --git a/internal/baseClone.js b/_baseClone.js similarity index 86% rename from internal/baseClone.js rename to _baseClone.js index bcc3299b2..c80942113 100644 --- a/internal/baseClone.js +++ b/_baseClone.js @@ -1,17 +1,17 @@ -import Stack from './Stack'; -import arrayEach from './arrayEach'; -import assignValue from './assignValue'; -import baseAssign from './baseAssign'; -import baseForOwn from './baseForOwn'; -import copyArray from './copyArray'; -import copySymbols from './copySymbols'; -import getTag from './getTag'; -import initCloneArray from './initCloneArray'; -import initCloneByTag from './initCloneByTag'; -import initCloneObject from './initCloneObject'; -import isArray from '../isArray'; -import isHostObject from './isHostObject'; -import isObject from '../isObject'; +import Stack from './_Stack'; +import arrayEach from './_arrayEach'; +import assignValue from './_assignValue'; +import baseAssign from './_baseAssign'; +import baseForOwn from './_baseForOwn'; +import copyArray from './_copyArray'; +import copySymbols from './_copySymbols'; +import getTag from './_getTag'; +import initCloneArray from './_initCloneArray'; +import initCloneByTag from './_initCloneByTag'; +import initCloneObject from './_initCloneObject'; +import isArray from './isArray'; +import isHostObject from './_isHostObject'; +import isObject from './isObject'; /** `Object#toString` result references. */ var argsTag = '[object Arguments]', diff --git a/internal/baseConforms.js b/_baseConforms.js similarity index 96% rename from internal/baseConforms.js rename to _baseConforms.js index 5560bb8cf..bbcb3253f 100644 --- a/internal/baseConforms.js +++ b/_baseConforms.js @@ -1,4 +1,4 @@ -import keys from '../keys'; +import keys from './keys'; /** * The base implementation of `_.conforms` which doesn't clone `source`. diff --git a/internal/baseCreate.js b/_baseCreate.js similarity index 93% rename from internal/baseCreate.js rename to _baseCreate.js index 4ea485da6..98c576034 100644 --- a/internal/baseCreate.js +++ b/_baseCreate.js @@ -1,4 +1,4 @@ -import isObject from '../isObject'; +import isObject from './isObject'; /** * The base implementation of `_.create` without support for assigning diff --git a/internal/baseDelay.js b/_baseDelay.js similarity index 100% rename from internal/baseDelay.js rename to _baseDelay.js diff --git a/internal/baseDifference.js b/_baseDifference.js similarity index 86% rename from internal/baseDifference.js rename to _baseDifference.js index a2f73009e..c65b4222e 100644 --- a/internal/baseDifference.js +++ b/_baseDifference.js @@ -1,9 +1,9 @@ -import SetCache from './SetCache'; -import arrayIncludes from './arrayIncludes'; -import arrayIncludesWith from './arrayIncludesWith'; -import arrayMap from './arrayMap'; -import baseUnary from './baseUnary'; -import cacheHas from './cacheHas'; +import SetCache from './_SetCache'; +import arrayIncludes from './_arrayIncludes'; +import arrayIncludesWith from './_arrayIncludesWith'; +import arrayMap from './_arrayMap'; +import baseUnary from './_baseUnary'; +import cacheHas from './_cacheHas'; /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200; diff --git a/internal/baseEach.js b/_baseEach.js similarity index 80% rename from internal/baseEach.js rename to _baseEach.js index 76cf1f2f4..01e9c423d 100644 --- a/internal/baseEach.js +++ b/_baseEach.js @@ -1,5 +1,5 @@ -import baseForOwn from './baseForOwn'; -import createBaseEach from './createBaseEach'; +import baseForOwn from './_baseForOwn'; +import createBaseEach from './_createBaseEach'; /** * The base implementation of `_.forEach` without support for iteratee shorthands. diff --git a/internal/baseEachRight.js b/_baseEachRight.js similarity index 79% rename from internal/baseEachRight.js rename to _baseEachRight.js index 8b100a6d6..dee5059ba 100644 --- a/internal/baseEachRight.js +++ b/_baseEachRight.js @@ -1,5 +1,5 @@ -import baseForOwnRight from './baseForOwnRight'; -import createBaseEach from './createBaseEach'; +import baseForOwnRight from './_baseForOwnRight'; +import createBaseEach from './_createBaseEach'; /** * The base implementation of `_.forEachRight` without support for iteratee shorthands. diff --git a/internal/baseEvery.js b/_baseEvery.js similarity index 94% rename from internal/baseEvery.js rename to _baseEvery.js index e978a4bec..8de3a4d89 100644 --- a/internal/baseEvery.js +++ b/_baseEvery.js @@ -1,4 +1,4 @@ -import baseEach from './baseEach'; +import baseEach from './_baseEach'; /** * The base implementation of `_.every` without support for iteratee shorthands. diff --git a/internal/baseExtremum.js b/_baseExtremum.js similarity index 100% rename from internal/baseExtremum.js rename to _baseExtremum.js diff --git a/internal/baseFill.js b/_baseFill.js similarity index 91% rename from internal/baseFill.js rename to _baseFill.js index 57e524501..f7e4c8cff 100644 --- a/internal/baseFill.js +++ b/_baseFill.js @@ -1,5 +1,5 @@ -import toInteger from '../toInteger'; -import toLength from '../toLength'; +import toInteger from './toInteger'; +import toLength from './toLength'; /** * The base implementation of `_.fill` without an iteratee call guard. diff --git a/internal/baseFilter.js b/_baseFilter.js similarity index 93% rename from internal/baseFilter.js rename to _baseFilter.js index 5855cb5d3..942c522e5 100644 --- a/internal/baseFilter.js +++ b/_baseFilter.js @@ -1,4 +1,4 @@ -import baseEach from './baseEach'; +import baseEach from './_baseEach'; /** * The base implementation of `_.filter` without support for iteratee shorthands. diff --git a/internal/baseFind.js b/_baseFind.js similarity index 100% rename from internal/baseFind.js rename to _baseFind.js diff --git a/internal/baseFindIndex.js b/_baseFindIndex.js similarity index 100% rename from internal/baseFindIndex.js rename to _baseFindIndex.js diff --git a/internal/baseFlatten.js b/_baseFlatten.js similarity index 85% rename from internal/baseFlatten.js rename to _baseFlatten.js index 4327be6e3..d668ae5b4 100644 --- a/internal/baseFlatten.js +++ b/_baseFlatten.js @@ -1,7 +1,7 @@ -import arrayPush from './arrayPush'; -import isArguments from '../isArguments'; -import isArray from '../isArray'; -import isArrayLikeObject from '../isArrayLikeObject'; +import arrayPush from './_arrayPush'; +import isArguments from './isArguments'; +import isArray from './isArray'; +import isArrayLikeObject from './isArrayLikeObject'; /** * The base implementation of `_.flatten` with support for restricting flattening. diff --git a/internal/baseFor.js b/_baseFor.js similarity index 92% rename from internal/baseFor.js rename to _baseFor.js index 5c642b7a8..8c300c8f7 100644 --- a/internal/baseFor.js +++ b/_baseFor.js @@ -1,4 +1,4 @@ -import createBaseFor from './createBaseFor'; +import createBaseFor from './_createBaseFor'; /** * The base implementation of `baseForIn` and `baseForOwn` which iterates diff --git a/internal/baseForIn.js b/_baseForIn.js similarity index 86% rename from internal/baseForIn.js rename to _baseForIn.js index f152367fe..5f9d91527 100644 --- a/internal/baseForIn.js +++ b/_baseForIn.js @@ -1,5 +1,5 @@ -import baseFor from './baseFor'; -import keysIn from '../keysIn'; +import baseFor from './_baseFor'; +import keysIn from './keysIn'; /** * The base implementation of `_.forIn` without support for iteratee shorthands. diff --git a/internal/baseForOwn.js b/_baseForOwn.js similarity index 86% rename from internal/baseForOwn.js rename to _baseForOwn.js index 4ec8880ea..002d298f8 100644 --- a/internal/baseForOwn.js +++ b/_baseForOwn.js @@ -1,5 +1,5 @@ -import baseFor from './baseFor'; -import keys from '../keys'; +import baseFor from './_baseFor'; +import keys from './keys'; /** * The base implementation of `_.forOwn` without support for iteratee shorthands. diff --git a/internal/baseForOwnRight.js b/_baseForOwnRight.js similarity index 85% rename from internal/baseForOwnRight.js rename to _baseForOwnRight.js index ad5fd8f04..d3287b382 100644 --- a/internal/baseForOwnRight.js +++ b/_baseForOwnRight.js @@ -1,5 +1,5 @@ -import baseForRight from './baseForRight'; -import keys from '../keys'; +import baseForRight from './_baseForRight'; +import keys from './keys'; /** * The base implementation of `_.forOwnRight` without support for iteratee shorthands. diff --git a/internal/baseForRight.js b/_baseForRight.js similarity index 90% rename from internal/baseForRight.js rename to _baseForRight.js index 2525791dd..31e303767 100644 --- a/internal/baseForRight.js +++ b/_baseForRight.js @@ -1,4 +1,4 @@ -import createBaseFor from './createBaseFor'; +import createBaseFor from './_createBaseFor'; /** * This function is like `baseFor` except that it iterates over properties diff --git a/internal/baseFunctions.js b/_baseFunctions.js similarity index 85% rename from internal/baseFunctions.js rename to _baseFunctions.js index ef2d79140..d860b7db7 100644 --- a/internal/baseFunctions.js +++ b/_baseFunctions.js @@ -1,5 +1,5 @@ -import arrayFilter from './arrayFilter'; -import isFunction from '../isFunction'; +import arrayFilter from './_arrayFilter'; +import isFunction from './isFunction'; /** * The base implementation of `_.functions` which creates an array of diff --git a/internal/baseGet.js b/_baseGet.js similarity index 88% rename from internal/baseGet.js rename to _baseGet.js index 4292ed916..e64234fbf 100644 --- a/internal/baseGet.js +++ b/_baseGet.js @@ -1,5 +1,5 @@ -import baseToPath from './baseToPath'; -import isKey from './isKey'; +import baseToPath from './_baseToPath'; +import isKey from './_isKey'; /** * The base implementation of `_.get` without support for default values. diff --git a/internal/baseHas.js b/_baseHas.js similarity index 100% rename from internal/baseHas.js rename to _baseHas.js diff --git a/internal/baseHasIn.js b/_baseHasIn.js similarity index 100% rename from internal/baseHasIn.js rename to _baseHasIn.js diff --git a/internal/baseInRange.js b/_baseInRange.js similarity index 100% rename from internal/baseInRange.js rename to _baseInRange.js diff --git a/internal/baseIndexOf.js b/_baseIndexOf.js similarity index 94% rename from internal/baseIndexOf.js rename to _baseIndexOf.js index f23611cbf..06452347a 100644 --- a/internal/baseIndexOf.js +++ b/_baseIndexOf.js @@ -1,4 +1,4 @@ -import indexOfNaN from './indexOfNaN'; +import indexOfNaN from './_indexOfNaN'; /** * The base implementation of `_.indexOf` without `fromIndex` bounds checks. diff --git a/internal/baseIntersection.js b/_baseIntersection.js similarity index 86% rename from internal/baseIntersection.js rename to _baseIntersection.js index 980087c60..d5a3ded07 100644 --- a/internal/baseIntersection.js +++ b/_baseIntersection.js @@ -1,9 +1,9 @@ -import SetCache from './SetCache'; -import arrayIncludes from './arrayIncludes'; -import arrayIncludesWith from './arrayIncludesWith'; -import arrayMap from './arrayMap'; -import baseUnary from './baseUnary'; -import cacheHas from './cacheHas'; +import SetCache from './_SetCache'; +import arrayIncludes from './_arrayIncludes'; +import arrayIncludesWith from './_arrayIncludesWith'; +import arrayMap from './_arrayMap'; +import baseUnary from './_baseUnary'; +import cacheHas from './_cacheHas'; /** * The base implementation of methods like `_.intersection`, without support diff --git a/_baseInverter.js b/_baseInverter.js new file mode 100644 index 000000000..eef7f19ce --- /dev/null +++ b/_baseInverter.js @@ -0,0 +1,21 @@ +import baseForOwn from './_baseForOwn'; + +/** + * The base implementation of `_.invert` and `_.invertBy` which inverts + * `object` with values transformed by `iteratee` and set by `setter`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform values. + * @param {Object} accumulator The initial inverted object. + * @returns {Function} Returns `accumulator`. + */ +function baseInverter(object, setter, iteratee, accumulator) { + baseForOwn(object, function(value, key, object) { + setter(accumulator, iteratee(value), key, object); + }); + return accumulator; +} + +export default baseInverter; diff --git a/internal/baseInvoke.js b/_baseInvoke.js similarity index 80% rename from internal/baseInvoke.js rename to _baseInvoke.js index c9d84ff25..e64cca0d0 100644 --- a/internal/baseInvoke.js +++ b/_baseInvoke.js @@ -1,8 +1,8 @@ -import apply from './apply'; -import baseToPath from './baseToPath'; -import isKey from './isKey'; -import last from '../last'; -import parent from './parent'; +import apply from './_apply'; +import baseToPath from './_baseToPath'; +import isKey from './_isKey'; +import last from './last'; +import parent from './_parent'; /** * The base implementation of `_.invoke` without support for individual diff --git a/internal/baseIsEqual.js b/_baseIsEqual.js similarity index 88% rename from internal/baseIsEqual.js rename to _baseIsEqual.js index 7f06bb1e8..d04dd52a7 100644 --- a/internal/baseIsEqual.js +++ b/_baseIsEqual.js @@ -1,6 +1,6 @@ -import baseIsEqualDeep from './baseIsEqualDeep'; -import isObject from '../isObject'; -import isObjectLike from '../isObjectLike'; +import baseIsEqualDeep from './_baseIsEqualDeep'; +import isObject from './isObject'; +import isObjectLike from './isObjectLike'; /** * The base implementation of `_.isEqual` which supports partial comparisons diff --git a/internal/baseIsEqualDeep.js b/_baseIsEqualDeep.js similarity index 89% rename from internal/baseIsEqualDeep.js rename to _baseIsEqualDeep.js index b6054bf83..37a8fe323 100644 --- a/internal/baseIsEqualDeep.js +++ b/_baseIsEqualDeep.js @@ -1,11 +1,11 @@ -import Stack from './Stack'; -import equalArrays from './equalArrays'; -import equalByTag from './equalByTag'; -import equalObjects from './equalObjects'; -import getTag from './getTag'; -import isArray from '../isArray'; -import isHostObject from './isHostObject'; -import isTypedArray from '../isTypedArray'; +import Stack from './_Stack'; +import equalArrays from './_equalArrays'; +import equalByTag from './_equalByTag'; +import equalObjects from './_equalObjects'; +import getTag from './_getTag'; +import isArray from './isArray'; +import isHostObject from './_isHostObject'; +import isTypedArray from './isTypedArray'; /** Used to compose bitmasks for comparison styles. */ var PARTIAL_COMPARE_FLAG = 2; diff --git a/internal/baseIsMatch.js b/_baseIsMatch.js similarity index 95% rename from internal/baseIsMatch.js rename to _baseIsMatch.js index 86b0bc891..a0b0b84a7 100644 --- a/internal/baseIsMatch.js +++ b/_baseIsMatch.js @@ -1,5 +1,5 @@ -import Stack from './Stack'; -import baseIsEqual from './baseIsEqual'; +import Stack from './_Stack'; +import baseIsEqual from './_baseIsEqual'; /** Used to compose bitmasks for comparison styles. */ var UNORDERED_COMPARE_FLAG = 1, diff --git a/internal/baseIteratee.js b/_baseIteratee.js similarity index 72% rename from internal/baseIteratee.js rename to _baseIteratee.js index 324184ba9..e8bd0aa28 100644 --- a/internal/baseIteratee.js +++ b/_baseIteratee.js @@ -1,8 +1,8 @@ -import baseMatches from './baseMatches'; -import baseMatchesProperty from './baseMatchesProperty'; -import identity from '../identity'; -import isArray from '../isArray'; -import property from '../property'; +import baseMatches from './_baseMatches'; +import baseMatchesProperty from './_baseMatchesProperty'; +import identity from './identity'; +import isArray from './isArray'; +import property from './property'; /** * The base implementation of `_.iteratee`. diff --git a/internal/baseKeys.js b/_baseKeys.js similarity index 100% rename from internal/baseKeys.js rename to _baseKeys.js diff --git a/internal/baseKeysIn.js b/_baseKeysIn.js similarity index 91% rename from internal/baseKeysIn.js rename to _baseKeysIn.js index 0b0979794..06f42f870 100644 --- a/internal/baseKeysIn.js +++ b/_baseKeysIn.js @@ -1,5 +1,5 @@ -import Reflect from './Reflect'; -import iteratorToArray from './iteratorToArray'; +import Reflect from './_Reflect'; +import iteratorToArray from './_iteratorToArray'; /** Used for built-in method references. */ var objectProto = Object.prototype; diff --git a/internal/baseLodash.js b/_baseLodash.js similarity index 100% rename from internal/baseLodash.js rename to _baseLodash.js diff --git a/internal/baseMap.js b/_baseMap.js similarity index 88% rename from internal/baseMap.js rename to _baseMap.js index 3b7d357ee..a85bdd178 100644 --- a/internal/baseMap.js +++ b/_baseMap.js @@ -1,5 +1,5 @@ -import baseEach from './baseEach'; -import isArrayLike from '../isArrayLike'; +import baseEach from './_baseEach'; +import isArrayLike from './isArrayLike'; /** * The base implementation of `_.map` without support for iteratee shorthands. diff --git a/internal/baseMatches.js b/_baseMatches.js similarity index 89% rename from internal/baseMatches.js rename to _baseMatches.js index 93df4341d..b1d237be7 100644 --- a/internal/baseMatches.js +++ b/_baseMatches.js @@ -1,5 +1,5 @@ -import baseIsMatch from './baseIsMatch'; -import getMatchData from './getMatchData'; +import baseIsMatch from './_baseIsMatch'; +import getMatchData from './_getMatchData'; /** * The base implementation of `_.matches` which doesn't clone `source`. diff --git a/internal/baseMatchesProperty.js b/_baseMatchesProperty.js similarity index 88% rename from internal/baseMatchesProperty.js rename to _baseMatchesProperty.js index 0bec4280f..b7fe5b5de 100644 --- a/internal/baseMatchesProperty.js +++ b/_baseMatchesProperty.js @@ -1,6 +1,6 @@ -import baseIsEqual from './baseIsEqual'; -import get from '../get'; -import hasIn from '../hasIn'; +import baseIsEqual from './_baseIsEqual'; +import get from './get'; +import hasIn from './hasIn'; /** Used to compose bitmasks for comparison styles. */ var UNORDERED_COMPARE_FLAG = 1, diff --git a/internal/baseMerge.js b/_baseMerge.js similarity index 79% rename from internal/baseMerge.js rename to _baseMerge.js index 1e99ca59f..388e059af 100644 --- a/internal/baseMerge.js +++ b/_baseMerge.js @@ -1,11 +1,11 @@ -import Stack from './Stack'; -import arrayEach from './arrayEach'; -import assignMergeValue from './assignMergeValue'; -import baseMergeDeep from './baseMergeDeep'; -import isArray from '../isArray'; -import isObject from '../isObject'; -import isTypedArray from '../isTypedArray'; -import keysIn from '../keysIn'; +import Stack from './_Stack'; +import arrayEach from './_arrayEach'; +import assignMergeValue from './_assignMergeValue'; +import baseMergeDeep from './_baseMergeDeep'; +import isArray from './isArray'; +import isObject from './isObject'; +import isTypedArray from './isTypedArray'; +import keysIn from './keysIn'; /** * The base implementation of `_.merge` without support for multiple sources. diff --git a/internal/baseMergeDeep.js b/_baseMergeDeep.js similarity index 78% rename from internal/baseMergeDeep.js rename to _baseMergeDeep.js index 76e766d6e..c1ad501fe 100644 --- a/internal/baseMergeDeep.js +++ b/_baseMergeDeep.js @@ -1,14 +1,14 @@ -import assignMergeValue from './assignMergeValue'; -import baseClone from './baseClone'; -import copyArray from './copyArray'; -import isArguments from '../isArguments'; -import isArray from '../isArray'; -import isArrayLikeObject from '../isArrayLikeObject'; -import isFunction from '../isFunction'; -import isObject from '../isObject'; -import isPlainObject from '../isPlainObject'; -import isTypedArray from '../isTypedArray'; -import toPlainObject from '../toPlainObject'; +import assignMergeValue from './_assignMergeValue'; +import baseClone from './_baseClone'; +import copyArray from './_copyArray'; +import isArguments from './isArguments'; +import isArray from './isArray'; +import isArrayLikeObject from './isArrayLikeObject'; +import isFunction from './isFunction'; +import isObject from './isObject'; +import isPlainObject from './isPlainObject'; +import isTypedArray from './isTypedArray'; +import toPlainObject from './toPlainObject'; /** * A specialized version of `baseMerge` for arrays and objects which performs @@ -27,7 +27,7 @@ import toPlainObject from '../toPlainObject'; function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { var objValue = object[key], srcValue = source[key], - stacked = stack.get(srcValue) || stack.get(objValue); + stacked = stack.get(srcValue); if (stacked) { assignMergeValue(object, key, stacked); @@ -46,6 +46,7 @@ function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, sta newValue = copyArray(objValue); } else { + isCommon = false; newValue = baseClone(srcValue); } } @@ -54,6 +55,7 @@ function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, sta newValue = toPlainObject(objValue); } else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) { + isCommon = false; newValue = baseClone(srcValue); } else { diff --git a/internal/baseOrderBy.js b/_baseOrderBy.js similarity index 82% rename from internal/baseOrderBy.js rename to _baseOrderBy.js index 41dc37556..f987cb183 100644 --- a/internal/baseOrderBy.js +++ b/_baseOrderBy.js @@ -1,8 +1,8 @@ -import arrayMap from './arrayMap'; -import baseIteratee from './baseIteratee'; -import baseMap from './baseMap'; -import baseSortBy from './baseSortBy'; -import compareMultiple from './compareMultiple'; +import arrayMap from './_arrayMap'; +import baseIteratee from './_baseIteratee'; +import baseMap from './_baseMap'; +import baseSortBy from './_baseSortBy'; +import compareMultiple from './_compareMultiple'; /** * The base implementation of `_.orderBy` without param guards. diff --git a/internal/basePick.js b/_basePick.js similarity index 92% rename from internal/basePick.js rename to _basePick.js index 95f1d145b..c942ef137 100644 --- a/internal/basePick.js +++ b/_basePick.js @@ -1,4 +1,4 @@ -import arrayReduce from './arrayReduce'; +import arrayReduce from './_arrayReduce'; /** * The base implementation of `_.pick` without support for individual diff --git a/internal/basePickBy.js b/_basePickBy.js similarity index 92% rename from internal/basePickBy.js rename to _basePickBy.js index 3b9fe8dbc..32efc66b5 100644 --- a/internal/basePickBy.js +++ b/_basePickBy.js @@ -1,4 +1,4 @@ -import baseForIn from './baseForIn'; +import baseForIn from './_baseForIn'; /** * The base implementation of `_.pickBy` without support for iteratee shorthands. diff --git a/internal/baseProperty.js b/_baseProperty.js similarity index 100% rename from internal/baseProperty.js rename to _baseProperty.js diff --git a/internal/basePropertyDeep.js b/_basePropertyDeep.js similarity index 90% rename from internal/basePropertyDeep.js rename to _basePropertyDeep.js index ae817578c..3913f638d 100644 --- a/internal/basePropertyDeep.js +++ b/_basePropertyDeep.js @@ -1,4 +1,4 @@ -import baseGet from './baseGet'; +import baseGet from './_baseGet'; /** * A specialized version of `baseProperty` which supports deep paths. diff --git a/internal/basePullAll.js b/_basePullAll.js similarity index 86% rename from internal/basePullAll.js rename to _basePullAll.js index 68c8e5a12..7f3cf3037 100644 --- a/internal/basePullAll.js +++ b/_basePullAll.js @@ -1,4 +1,4 @@ -import basePullAllBy from './basePullAllBy'; +import basePullAllBy from './_basePullAllBy'; /** * The base implementation of `_.pullAll`. diff --git a/internal/basePullAllBy.js b/_basePullAllBy.js similarity index 93% rename from internal/basePullAllBy.js rename to _basePullAllBy.js index fd08cd9e3..1a6ca9e6e 100644 --- a/internal/basePullAllBy.js +++ b/_basePullAllBy.js @@ -1,5 +1,5 @@ -import arrayMap from './arrayMap'; -import baseIndexOf from './baseIndexOf'; +import arrayMap from './_arrayMap'; +import baseIndexOf from './_baseIndexOf'; /** Used for built-in method references. */ var arrayProto = Array.prototype; diff --git a/internal/basePullAt.js b/_basePullAt.js similarity index 86% rename from internal/basePullAt.js rename to _basePullAt.js index 93dcacb46..8f50662bd 100644 --- a/internal/basePullAt.js +++ b/_basePullAt.js @@ -1,8 +1,8 @@ -import baseToPath from './baseToPath'; -import isIndex from './isIndex'; -import isKey from './isKey'; -import last from '../last'; -import parent from './parent'; +import baseToPath from './_baseToPath'; +import isIndex from './_isIndex'; +import isKey from './_isKey'; +import last from './last'; +import parent from './_parent'; /** Used for built-in method references. */ var arrayProto = Array.prototype; diff --git a/internal/baseRandom.js b/_baseRandom.js similarity index 100% rename from internal/baseRandom.js rename to _baseRandom.js diff --git a/internal/baseRange.js b/_baseRange.js similarity index 100% rename from internal/baseRange.js rename to _baseRange.js diff --git a/internal/baseReduce.js b/_baseReduce.js similarity index 100% rename from internal/baseReduce.js rename to _baseReduce.js diff --git a/internal/baseSet.js b/_baseSet.js similarity index 85% rename from internal/baseSet.js rename to _baseSet.js index e73dd5847..6b04422e0 100644 --- a/internal/baseSet.js +++ b/_baseSet.js @@ -1,8 +1,8 @@ -import assignValue from './assignValue'; -import baseToPath from './baseToPath'; -import isIndex from './isIndex'; -import isKey from './isKey'; -import isObject from '../isObject'; +import assignValue from './_assignValue'; +import baseToPath from './_baseToPath'; +import isIndex from './_isIndex'; +import isKey from './_isKey'; +import isObject from './isObject'; /** * The base implementation of `_.set`. diff --git a/internal/baseSetData.js b/_baseSetData.js similarity index 84% rename from internal/baseSetData.js rename to _baseSetData.js index 1fd920eef..f91346443 100644 --- a/internal/baseSetData.js +++ b/_baseSetData.js @@ -1,5 +1,5 @@ -import identity from '../identity'; -import metaMap from './metaMap'; +import identity from './identity'; +import metaMap from './_metaMap'; /** * The base implementation of `setData` without support for hot loop detection. diff --git a/internal/baseSlice.js b/_baseSlice.js similarity index 100% rename from internal/baseSlice.js rename to _baseSlice.js diff --git a/internal/baseSome.js b/_baseSome.js similarity index 94% rename from internal/baseSome.js rename to _baseSome.js index f33f6ea2c..def0a3203 100644 --- a/internal/baseSome.js +++ b/_baseSome.js @@ -1,4 +1,4 @@ -import baseEach from './baseEach'; +import baseEach from './_baseEach'; /** * The base implementation of `_.some` without support for iteratee shorthands. diff --git a/internal/baseSortBy.js b/_baseSortBy.js similarity index 100% rename from internal/baseSortBy.js rename to _baseSortBy.js diff --git a/internal/baseSortedIndex.js b/_baseSortedIndex.js similarity index 93% rename from internal/baseSortedIndex.js rename to _baseSortedIndex.js index 4e19323ff..e3718f61a 100644 --- a/internal/baseSortedIndex.js +++ b/_baseSortedIndex.js @@ -1,5 +1,5 @@ -import baseSortedIndexBy from './baseSortedIndexBy'; -import identity from '../identity'; +import baseSortedIndexBy from './_baseSortedIndexBy'; +import identity from './identity'; /** Used as references for the maximum length and index of an array. */ var MAX_ARRAY_LENGTH = 4294967295, diff --git a/internal/baseSortedIndexBy.js b/_baseSortedIndexBy.js similarity index 100% rename from internal/baseSortedIndexBy.js rename to _baseSortedIndexBy.js diff --git a/internal/baseSortedUniq.js b/_baseSortedUniq.js similarity index 84% rename from internal/baseSortedUniq.js rename to _baseSortedUniq.js index 086c6b8a9..5428bd8a8 100644 --- a/internal/baseSortedUniq.js +++ b/_baseSortedUniq.js @@ -1,4 +1,4 @@ -import baseSortedUniqBy from './baseSortedUniqBy'; +import baseSortedUniqBy from './_baseSortedUniqBy'; /** * The base implementation of `_.sortedUniq`. diff --git a/internal/baseSortedUniqBy.js b/_baseSortedUniqBy.js similarity index 97% rename from internal/baseSortedUniqBy.js rename to _baseSortedUniqBy.js index 71e552e51..8484197be 100644 --- a/internal/baseSortedUniqBy.js +++ b/_baseSortedUniqBy.js @@ -1,4 +1,4 @@ -import eq from '../eq'; +import eq from './eq'; /** * The base implementation of `_.sortedUniqBy` without support for iteratee diff --git a/internal/baseSum.js b/_baseSum.js similarity index 94% rename from internal/baseSum.js rename to _baseSum.js index c0e4ea5e3..3ef08537b 100644 --- a/internal/baseSum.js +++ b/_baseSum.js @@ -17,7 +17,7 @@ function baseSum(array, iteratee) { result = result === undefined ? current : (result + current); } } - return result; + return length ? result : 0; } export default baseSum; diff --git a/internal/baseTimes.js b/_baseTimes.js similarity index 100% rename from internal/baseTimes.js rename to _baseTimes.js diff --git a/internal/baseToPairs.js b/_baseToPairs.js similarity index 93% rename from internal/baseToPairs.js rename to _baseToPairs.js index ed98cf1cb..68eb14b63 100644 --- a/internal/baseToPairs.js +++ b/_baseToPairs.js @@ -1,4 +1,4 @@ -import arrayMap from './arrayMap'; +import arrayMap from './_arrayMap'; /** * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array diff --git a/internal/baseToPath.js b/_baseToPath.js similarity index 81% rename from internal/baseToPath.js rename to _baseToPath.js index de15bc6aa..a7ccdd7b1 100644 --- a/internal/baseToPath.js +++ b/_baseToPath.js @@ -1,5 +1,5 @@ -import isArray from '../isArray'; -import stringToPath from './stringToPath'; +import isArray from './isArray'; +import stringToPath from './_stringToPath'; /** * The base implementation of `_.toPath` which only converts `value` to a diff --git a/internal/baseUnary.js b/_baseUnary.js similarity index 100% rename from internal/baseUnary.js rename to _baseUnary.js diff --git a/internal/baseUniq.js b/_baseUniq.js similarity index 86% rename from internal/baseUniq.js rename to _baseUniq.js index 17de7c2b0..40e126c75 100644 --- a/internal/baseUniq.js +++ b/_baseUniq.js @@ -1,9 +1,9 @@ -import SetCache from './SetCache'; -import arrayIncludes from './arrayIncludes'; -import arrayIncludesWith from './arrayIncludesWith'; -import cacheHas from './cacheHas'; -import createSet from './createSet'; -import setToArray from './setToArray'; +import SetCache from './_SetCache'; +import arrayIncludes from './_arrayIncludes'; +import arrayIncludesWith from './_arrayIncludesWith'; +import cacheHas from './_cacheHas'; +import createSet from './_createSet'; +import setToArray from './_setToArray'; /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200; diff --git a/internal/baseUnset.js b/_baseUnset.js similarity index 77% rename from internal/baseUnset.js rename to _baseUnset.js index b1c740231..5743c1188 100644 --- a/internal/baseUnset.js +++ b/_baseUnset.js @@ -1,8 +1,8 @@ -import baseToPath from './baseToPath'; -import has from '../has'; -import isKey from './isKey'; -import last from '../last'; -import parent from './parent'; +import baseToPath from './_baseToPath'; +import has from './has'; +import isKey from './_isKey'; +import last from './last'; +import parent from './_parent'; /** * The base implementation of `_.unset`. diff --git a/internal/baseValues.js b/_baseValues.js similarity index 93% rename from internal/baseValues.js rename to _baseValues.js index 37a526e5d..b4d657a9b 100644 --- a/internal/baseValues.js +++ b/_baseValues.js @@ -1,4 +1,4 @@ -import arrayMap from './arrayMap'; +import arrayMap from './_arrayMap'; /** * The base implementation of `_.values` and `_.valuesIn` which creates an diff --git a/internal/baseWhile.js b/_baseWhile.js similarity index 95% rename from internal/baseWhile.js rename to _baseWhile.js index 045d539db..f480e753c 100644 --- a/internal/baseWhile.js +++ b/_baseWhile.js @@ -1,4 +1,4 @@ -import baseSlice from './baseSlice'; +import baseSlice from './_baseSlice'; /** * The base implementation of methods like `_.dropWhile` and `_.takeWhile` diff --git a/internal/baseWrapperValue.js b/_baseWrapperValue.js similarity index 85% rename from internal/baseWrapperValue.js rename to _baseWrapperValue.js index fad9d936f..95c652714 100644 --- a/internal/baseWrapperValue.js +++ b/_baseWrapperValue.js @@ -1,6 +1,6 @@ -import LazyWrapper from './LazyWrapper'; -import arrayPush from './arrayPush'; -import arrayReduce from './arrayReduce'; +import LazyWrapper from './_LazyWrapper'; +import arrayPush from './_arrayPush'; +import arrayReduce from './_arrayReduce'; /** * The base implementation of `wrapperValue` which returns the result of diff --git a/internal/baseXor.js b/_baseXor.js similarity index 87% rename from internal/baseXor.js rename to _baseXor.js index 96e844191..7cf0851b7 100644 --- a/internal/baseXor.js +++ b/_baseXor.js @@ -1,6 +1,6 @@ -import arrayPush from './arrayPush'; -import baseDifference from './baseDifference'; -import baseUniq from './baseUniq'; +import arrayPush from './_arrayPush'; +import baseDifference from './_baseDifference'; +import baseUniq from './_baseUniq'; /** * The base implementation of methods like `_.xor`, without support for diff --git a/_baseZipObject.js b/_baseZipObject.js new file mode 100644 index 000000000..98f29af3a --- /dev/null +++ b/_baseZipObject.js @@ -0,0 +1,22 @@ +/** + * This base implementation of `_.zipObject` which assigns values using `assignFunc`. + * + * @private + * @param {Array} props The property names. + * @param {Array} values The property values. + * @param {Function} assignFunc The function to assign values. + * @returns {Object} Returns the new object. + */ +function baseZipObject(props, values, assignFunc) { + var index = -1, + length = props.length, + valsLength = values.length, + result = {}; + + while (++index < length) { + assignFunc(result, props[index], index < valsLength ? values[index] : undefined); + } + return result; +} + +export default baseZipObject; diff --git a/internal/cacheHas.js b/_cacheHas.js similarity index 94% rename from internal/cacheHas.js rename to _cacheHas.js index a3d401ff6..c5761e636 100644 --- a/internal/cacheHas.js +++ b/_cacheHas.js @@ -1,4 +1,4 @@ -import isKeyable from './isKeyable'; +import isKeyable from './_isKeyable'; /** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = '__lodash_hash_undefined__'; diff --git a/internal/cachePush.js b/_cachePush.js similarity index 93% rename from internal/cachePush.js rename to _cachePush.js index 27b972253..ccfd13b4d 100644 --- a/internal/cachePush.js +++ b/_cachePush.js @@ -1,4 +1,4 @@ -import isKeyable from './isKeyable'; +import isKeyable from './_isKeyable'; /** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = '__lodash_hash_undefined__'; diff --git a/internal/charsEndIndex.js b/_charsEndIndex.js similarity index 92% rename from internal/charsEndIndex.js rename to _charsEndIndex.js index 2a8f730ad..79590a0e2 100644 --- a/internal/charsEndIndex.js +++ b/_charsEndIndex.js @@ -1,4 +1,4 @@ -import baseIndexOf from './baseIndexOf'; +import baseIndexOf from './_baseIndexOf'; /** * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol diff --git a/internal/charsStartIndex.js b/_charsStartIndex.js similarity index 93% rename from internal/charsStartIndex.js rename to _charsStartIndex.js index 6ceb43491..301a82491 100644 --- a/internal/charsStartIndex.js +++ b/_charsStartIndex.js @@ -1,4 +1,4 @@ -import baseIndexOf from './baseIndexOf'; +import baseIndexOf from './_baseIndexOf'; /** * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol diff --git a/internal/checkGlobal.js b/_checkGlobal.js similarity index 100% rename from internal/checkGlobal.js rename to _checkGlobal.js diff --git a/internal/cloneBuffer.js b/_cloneBuffer.js similarity index 90% rename from internal/cloneBuffer.js rename to _cloneBuffer.js index 5e56ba0ac..24986f3c6 100644 --- a/internal/cloneBuffer.js +++ b/_cloneBuffer.js @@ -1,4 +1,4 @@ -import Uint8Array from './Uint8Array'; +import Uint8Array from './_Uint8Array'; /** * Creates a clone of `buffer`. diff --git a/internal/cloneMap.js b/_cloneMap.js similarity index 69% rename from internal/cloneMap.js rename to _cloneMap.js index cb54bdaa1..c3defb6ae 100644 --- a/internal/cloneMap.js +++ b/_cloneMap.js @@ -1,6 +1,6 @@ -import addMapEntry from './addMapEntry'; -import arrayReduce from './arrayReduce'; -import mapToArray from './mapToArray'; +import addMapEntry from './_addMapEntry'; +import arrayReduce from './_arrayReduce'; +import mapToArray from './_mapToArray'; /** * Creates a clone of `map`. diff --git a/internal/cloneRegExp.js b/_cloneRegExp.js similarity index 100% rename from internal/cloneRegExp.js rename to _cloneRegExp.js diff --git a/internal/cloneSet.js b/_cloneSet.js similarity index 69% rename from internal/cloneSet.js rename to _cloneSet.js index 44c6f7c48..416882635 100644 --- a/internal/cloneSet.js +++ b/_cloneSet.js @@ -1,6 +1,6 @@ -import addSetEntry from './addSetEntry'; -import arrayReduce from './arrayReduce'; -import setToArray from './setToArray'; +import addSetEntry from './_addSetEntry'; +import arrayReduce from './_arrayReduce'; +import setToArray from './_setToArray'; /** * Creates a clone of `set`. diff --git a/internal/cloneSymbol.js b/_cloneSymbol.js similarity index 93% rename from internal/cloneSymbol.js rename to _cloneSymbol.js index 4924db27c..597c83cb3 100644 --- a/internal/cloneSymbol.js +++ b/_cloneSymbol.js @@ -1,4 +1,4 @@ -import Symbol from './Symbol'; +import Symbol from './_Symbol'; /** Used to convert symbols to primitives and strings. */ var symbolProto = Symbol ? Symbol.prototype : undefined, diff --git a/internal/cloneTypedArray.js b/_cloneTypedArray.js similarity index 91% rename from internal/cloneTypedArray.js rename to _cloneTypedArray.js index 95c2c40ee..ae15df170 100644 --- a/internal/cloneTypedArray.js +++ b/_cloneTypedArray.js @@ -1,4 +1,4 @@ -import cloneBuffer from './cloneBuffer'; +import cloneBuffer from './_cloneBuffer'; /** * Creates a clone of `typedArray`. diff --git a/internal/compareAscending.js b/_compareAscending.js similarity index 100% rename from internal/compareAscending.js rename to _compareAscending.js diff --git a/internal/compareMultiple.js b/_compareMultiple.js similarity index 96% rename from internal/compareMultiple.js rename to _compareMultiple.js index 323c24216..7e2887b7a 100644 --- a/internal/compareMultiple.js +++ b/_compareMultiple.js @@ -1,4 +1,4 @@ -import compareAscending from './compareAscending'; +import compareAscending from './_compareAscending'; /** * Used by `_.orderBy` to compare multiple properties of a value to another diff --git a/internal/composeArgs.js b/_composeArgs.js similarity index 100% rename from internal/composeArgs.js rename to _composeArgs.js diff --git a/internal/composeArgsRight.js b/_composeArgsRight.js similarity index 100% rename from internal/composeArgsRight.js rename to _composeArgsRight.js diff --git a/internal/copyArray.js b/_copyArray.js similarity index 100% rename from internal/copyArray.js rename to _copyArray.js diff --git a/internal/copyObject.js b/_copyObject.js similarity index 89% rename from internal/copyObject.js rename to _copyObject.js index 1e7050819..3a22a6394 100644 --- a/internal/copyObject.js +++ b/_copyObject.js @@ -1,4 +1,4 @@ -import copyObjectWith from './copyObjectWith'; +import copyObjectWith from './_copyObjectWith'; /** * Copies properties of `source` to `object`. diff --git a/internal/copyObjectWith.js b/_copyObjectWith.js similarity index 95% rename from internal/copyObjectWith.js rename to _copyObjectWith.js index 46adee9b3..faf39e4a0 100644 --- a/internal/copyObjectWith.js +++ b/_copyObjectWith.js @@ -1,4 +1,4 @@ -import assignValue from './assignValue'; +import assignValue from './_assignValue'; /** * This function is like `copyObject` except that it accepts a function to diff --git a/internal/copySymbols.js b/_copySymbols.js similarity index 82% rename from internal/copySymbols.js rename to _copySymbols.js index 854798050..54da1b6d1 100644 --- a/internal/copySymbols.js +++ b/_copySymbols.js @@ -1,5 +1,5 @@ -import copyObject from './copyObject'; -import getSymbols from './getSymbols'; +import copyObject from './_copyObject'; +import getSymbols from './_getSymbols'; /** * Copies own symbol properties of `source` to `object`. diff --git a/_createAggregator.js b/_createAggregator.js new file mode 100644 index 000000000..168b7f298 --- /dev/null +++ b/_createAggregator.js @@ -0,0 +1,23 @@ +import arrayAggregator from './_arrayAggregator'; +import baseAggregator from './_baseAggregator'; +import baseIteratee from './_baseIteratee'; +import isArray from './isArray'; + +/** + * Creates a function like `_.groupBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} [initializer] The accumulator object initializer. + * @returns {Function} Returns the new aggregator function. + */ +function createAggregator(setter, initializer) { + return function(collection, iteratee) { + var func = isArray(collection) ? arrayAggregator : baseAggregator, + accumulator = initializer ? initializer() : {}; + + return func(collection, setter, baseIteratee(iteratee), accumulator); + }; +} + +export default createAggregator; diff --git a/internal/createAssigner.js b/_createAssigner.js similarity index 92% rename from internal/createAssigner.js rename to _createAssigner.js index b3e62f1dc..9efc8ed99 100644 --- a/internal/createAssigner.js +++ b/_createAssigner.js @@ -1,5 +1,5 @@ -import isIterateeCall from './isIterateeCall'; -import rest from '../rest'; +import isIterateeCall from './_isIterateeCall'; +import rest from './rest'; /** * Creates a function like `_.assign`. diff --git a/internal/createBaseEach.js b/_createBaseEach.js similarity index 95% rename from internal/createBaseEach.js rename to _createBaseEach.js index f3b527edb..b996be35a 100644 --- a/internal/createBaseEach.js +++ b/_createBaseEach.js @@ -1,4 +1,4 @@ -import isArrayLike from '../isArrayLike'; +import isArrayLike from './isArrayLike'; /** * Creates a `baseEach` or `baseEachRight` function. diff --git a/internal/createBaseFor.js b/_createBaseFor.js similarity index 100% rename from internal/createBaseFor.js rename to _createBaseFor.js diff --git a/internal/createBaseWrapper.js b/_createBaseWrapper.js similarity index 90% rename from internal/createBaseWrapper.js rename to _createBaseWrapper.js index 6693eaafa..90df28ff4 100644 --- a/internal/createBaseWrapper.js +++ b/_createBaseWrapper.js @@ -1,5 +1,5 @@ -import createCtorWrapper from './createCtorWrapper'; -import root from './root'; +import createCtorWrapper from './_createCtorWrapper'; +import root from './_root'; /** Used to compose bitmasks for wrapper metadata. */ var BIND_FLAG = 1; diff --git a/internal/createCaseFirst.js b/_createCaseFirst.js similarity index 93% rename from internal/createCaseFirst.js rename to _createCaseFirst.js index b6d203376..68dbe741d 100644 --- a/internal/createCaseFirst.js +++ b/_createCaseFirst.js @@ -1,5 +1,5 @@ -import stringToArray from './stringToArray'; -import toString from '../toString'; +import stringToArray from './_stringToArray'; +import toString from './toString'; /** Used to compose unicode character classes. */ var rsAstralRange = '\\ud800-\\udfff', diff --git a/internal/createCompounder.js b/_createCompounder.js similarity index 77% rename from internal/createCompounder.js rename to _createCompounder.js index 6178cdab3..69e511fa5 100644 --- a/internal/createCompounder.js +++ b/_createCompounder.js @@ -1,6 +1,6 @@ -import arrayReduce from './arrayReduce'; -import deburr from '../deburr'; -import words from '../words'; +import arrayReduce from './_arrayReduce'; +import deburr from './deburr'; +import words from './words'; /** * Creates a function like `_.camelCase`. diff --git a/internal/createCtorWrapper.js b/_createCtorWrapper.js similarity index 94% rename from internal/createCtorWrapper.js rename to _createCtorWrapper.js index 331cd0f08..132991941 100644 --- a/internal/createCtorWrapper.js +++ b/_createCtorWrapper.js @@ -1,5 +1,5 @@ -import baseCreate from './baseCreate'; -import isObject from '../isObject'; +import baseCreate from './_baseCreate'; +import isObject from './isObject'; /** * Creates a function that produces an instance of `Ctor` regardless of diff --git a/internal/createCurryWrapper.js b/_createCurryWrapper.js similarity index 80% rename from internal/createCurryWrapper.js rename to _createCurryWrapper.js index 1fb8b1f86..4b396c6b7 100644 --- a/internal/createCurryWrapper.js +++ b/_createCurryWrapper.js @@ -1,9 +1,9 @@ -import apply from './apply'; -import createCtorWrapper from './createCtorWrapper'; -import createHybridWrapper from './createHybridWrapper'; -import createRecurryWrapper from './createRecurryWrapper'; -import replaceHolders from './replaceHolders'; -import root from './root'; +import apply from './_apply'; +import createCtorWrapper from './_createCtorWrapper'; +import createHybridWrapper from './_createHybridWrapper'; +import createRecurryWrapper from './_createRecurryWrapper'; +import replaceHolders from './_replaceHolders'; +import root from './_root'; /** * Creates a function that wraps `func` to enable currying. diff --git a/internal/createFlow.js b/_createFlow.js similarity index 88% rename from internal/createFlow.js rename to _createFlow.js index dd0371a58..8f8765bbd 100644 --- a/internal/createFlow.js +++ b/_createFlow.js @@ -1,10 +1,10 @@ -import LodashWrapper from './LodashWrapper'; -import baseFlatten from './baseFlatten'; -import getData from './getData'; -import getFuncName from './getFuncName'; -import isArray from '../isArray'; -import isLaziable from './isLaziable'; -import rest from '../rest'; +import LodashWrapper from './_LodashWrapper'; +import baseFlatten from './_baseFlatten'; +import getData from './_getData'; +import getFuncName from './_getFuncName'; +import isArray from './isArray'; +import isLaziable from './_isLaziable'; +import rest from './rest'; /** Used to compose bitmasks for wrapper metadata. */ var CURRY_FLAG = 8, diff --git a/internal/createHybridWrapper.js b/_createHybridWrapper.js similarity index 89% rename from internal/createHybridWrapper.js rename to _createHybridWrapper.js index be81ece05..b6be32937 100644 --- a/internal/createHybridWrapper.js +++ b/_createHybridWrapper.js @@ -1,10 +1,10 @@ -import composeArgs from './composeArgs'; -import composeArgsRight from './composeArgsRight'; -import createCtorWrapper from './createCtorWrapper'; -import createRecurryWrapper from './createRecurryWrapper'; -import reorder from './reorder'; -import replaceHolders from './replaceHolders'; -import root from './root'; +import composeArgs from './_composeArgs'; +import composeArgsRight from './_composeArgsRight'; +import createCtorWrapper from './_createCtorWrapper'; +import createRecurryWrapper from './_createRecurryWrapper'; +import reorder from './_reorder'; +import replaceHolders from './_replaceHolders'; +import root from './_root'; /** Used to compose bitmasks for wrapper metadata. */ var BIND_FLAG = 1, diff --git a/_createInverter.js b/_createInverter.js new file mode 100644 index 000000000..9c86e9fd9 --- /dev/null +++ b/_createInverter.js @@ -0,0 +1,17 @@ +import baseInverter from './_baseInverter'; + +/** + * Creates a function like `_.invertBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} toIteratee The function to resolve iteratees. + * @returns {Function} Returns the new inverter function. + */ +function createInverter(setter, toIteratee) { + return function(object, iteratee) { + return baseInverter(object, setter, toIteratee(iteratee), {}); + }; +} + +export default createInverter; diff --git a/internal/createOver.js b/_createOver.js similarity index 75% rename from internal/createOver.js rename to _createOver.js index 0722c595e..c177d6f08 100644 --- a/internal/createOver.js +++ b/_createOver.js @@ -1,8 +1,8 @@ -import apply from './apply'; -import arrayMap from './arrayMap'; -import baseFlatten from './baseFlatten'; -import baseIteratee from './baseIteratee'; -import rest from '../rest'; +import apply from './_apply'; +import arrayMap from './_arrayMap'; +import baseFlatten from './_baseFlatten'; +import baseIteratee from './_baseIteratee'; +import rest from './rest'; /** * Creates a function like `_.over`. diff --git a/internal/createPadding.js b/_createPadding.js similarity index 91% rename from internal/createPadding.js rename to _createPadding.js index f3285bcd5..1a5d41b5e 100644 --- a/internal/createPadding.js +++ b/_createPadding.js @@ -1,7 +1,7 @@ -import repeat from '../repeat'; -import stringSize from './stringSize'; -import stringToArray from './stringToArray'; -import toInteger from '../toInteger'; +import repeat from './repeat'; +import stringSize from './_stringSize'; +import stringToArray from './_stringToArray'; +import toInteger from './toInteger'; /** Used to compose unicode character classes. */ var rsAstralRange = '\\ud800-\\udfff', diff --git a/internal/createPartialWrapper.js b/_createPartialWrapper.js similarity index 92% rename from internal/createPartialWrapper.js rename to _createPartialWrapper.js index 42e2b0d67..fb1940dff 100644 --- a/internal/createPartialWrapper.js +++ b/_createPartialWrapper.js @@ -1,6 +1,6 @@ -import apply from './apply'; -import createCtorWrapper from './createCtorWrapper'; -import root from './root'; +import apply from './_apply'; +import createCtorWrapper from './_createCtorWrapper'; +import root from './_root'; /** Used to compose bitmasks for wrapper metadata. */ var BIND_FLAG = 1; diff --git a/internal/createRange.js b/_createRange.js similarity index 86% rename from internal/createRange.js rename to _createRange.js index b26c7670c..0d94df11f 100644 --- a/internal/createRange.js +++ b/_createRange.js @@ -1,6 +1,6 @@ -import baseRange from './baseRange'; -import isIterateeCall from './isIterateeCall'; -import toNumber from '../toNumber'; +import baseRange from './_baseRange'; +import isIterateeCall from './_isIterateeCall'; +import toNumber from './toNumber'; /** * Creates a `_.range` or `_.rangeRight` function. diff --git a/internal/createRecurryWrapper.js b/_createRecurryWrapper.js similarity index 94% rename from internal/createRecurryWrapper.js rename to _createRecurryWrapper.js index 127dfdb9a..7a8d98a25 100644 --- a/internal/createRecurryWrapper.js +++ b/_createRecurryWrapper.js @@ -1,6 +1,6 @@ -import copyArray from './copyArray'; -import isLaziable from './isLaziable'; -import setData from './setData'; +import copyArray from './_copyArray'; +import isLaziable from './_isLaziable'; +import setData from './_setData'; /** Used to compose bitmasks for wrapper metadata. */ var BIND_FLAG = 1, diff --git a/internal/createRound.js b/_createRound.js similarity index 88% rename from internal/createRound.js rename to _createRound.js index a197b70e2..f0efe5f0e 100644 --- a/internal/createRound.js +++ b/_createRound.js @@ -1,6 +1,6 @@ -import toInteger from '../toInteger'; -import toNumber from '../toNumber'; -import toString from '../toString'; +import toInteger from './toInteger'; +import toNumber from './toNumber'; +import toString from './toString'; /** * Creates a function like `_.round`. diff --git a/internal/createSet.js b/_createSet.js similarity index 84% rename from internal/createSet.js rename to _createSet.js index 63536c8d8..a2f2afc68 100644 --- a/internal/createSet.js +++ b/_createSet.js @@ -1,5 +1,5 @@ -import Set from './Set'; -import noop from '../noop'; +import Set from './_Set'; +import noop from './noop'; /** * Creates a set of `values`. diff --git a/internal/createWrapper.js b/_createWrapper.js similarity index 88% rename from internal/createWrapper.js rename to _createWrapper.js index e5ba76744..8db83b9ca 100644 --- a/internal/createWrapper.js +++ b/_createWrapper.js @@ -1,12 +1,12 @@ -import baseSetData from './baseSetData'; -import createBaseWrapper from './createBaseWrapper'; -import createCurryWrapper from './createCurryWrapper'; -import createHybridWrapper from './createHybridWrapper'; -import createPartialWrapper from './createPartialWrapper'; -import getData from './getData'; -import mergeData from './mergeData'; -import setData from './setData'; -import toInteger from '../toInteger'; +import baseSetData from './_baseSetData'; +import createBaseWrapper from './_createBaseWrapper'; +import createCurryWrapper from './_createCurryWrapper'; +import createHybridWrapper from './_createHybridWrapper'; +import createPartialWrapper from './_createPartialWrapper'; +import getData from './_getData'; +import mergeData from './_mergeData'; +import setData from './_setData'; +import toInteger from './toInteger'; /** Used to compose bitmasks for wrapper metadata. */ var BIND_FLAG = 1, diff --git a/internal/deburrLetter.js b/_deburrLetter.js similarity index 100% rename from internal/deburrLetter.js rename to _deburrLetter.js diff --git a/internal/equalArrays.js b/_equalArrays.js similarity index 98% rename from internal/equalArrays.js rename to _equalArrays.js index 76f8f302b..ff975ccee 100644 --- a/internal/equalArrays.js +++ b/_equalArrays.js @@ -1,4 +1,4 @@ -import arraySome from './arraySome'; +import arraySome from './_arraySome'; /** Used to compose bitmasks for comparison styles. */ var UNORDERED_COMPARE_FLAG = 1, diff --git a/internal/equalByTag.js b/_equalByTag.js similarity index 95% rename from internal/equalByTag.js rename to _equalByTag.js index 1de50e844..005e34a49 100644 --- a/internal/equalByTag.js +++ b/_equalByTag.js @@ -1,7 +1,7 @@ -import Symbol from './Symbol'; -import Uint8Array from './Uint8Array'; -import mapToArray from './mapToArray'; -import setToArray from './setToArray'; +import Symbol from './_Symbol'; +import Uint8Array from './_Uint8Array'; +import mapToArray from './_mapToArray'; +import setToArray from './_setToArray'; /** Used to compose bitmasks for comparison styles. */ var UNORDERED_COMPARE_FLAG = 1, diff --git a/internal/equalObjects.js b/_equalObjects.js similarity index 97% rename from internal/equalObjects.js rename to _equalObjects.js index 4916ea733..7511bb2dc 100644 --- a/internal/equalObjects.js +++ b/_equalObjects.js @@ -1,5 +1,5 @@ -import baseHas from './baseHas'; -import keys from '../keys'; +import baseHas from './_baseHas'; +import keys from './keys'; /** Used to compose bitmasks for comparison styles. */ var PARTIAL_COMPARE_FLAG = 2; diff --git a/internal/escapeHtmlChar.js b/_escapeHtmlChar.js similarity index 100% rename from internal/escapeHtmlChar.js rename to _escapeHtmlChar.js diff --git a/internal/escapeStringChar.js b/_escapeStringChar.js similarity index 100% rename from internal/escapeStringChar.js rename to _escapeStringChar.js diff --git a/internal/getData.js b/_getData.js similarity index 80% rename from internal/getData.js rename to _getData.js index ab01f2379..d598853a9 100644 --- a/internal/getData.js +++ b/_getData.js @@ -1,5 +1,5 @@ -import metaMap from './metaMap'; -import noop from '../noop'; +import metaMap from './_metaMap'; +import noop from './noop'; /** * Gets metadata for `func`. diff --git a/internal/getFuncName.js b/_getFuncName.js similarity index 94% rename from internal/getFuncName.js rename to _getFuncName.js index 43bca34cd..410468b97 100644 --- a/internal/getFuncName.js +++ b/_getFuncName.js @@ -1,4 +1,4 @@ -import realNames from './realNames'; +import realNames from './_realNames'; /** Used for built-in method references. */ var objectProto = Object.prototype; diff --git a/internal/getLength.js b/_getLength.js similarity index 89% rename from internal/getLength.js rename to _getLength.js index b4fff076b..223a94577 100644 --- a/internal/getLength.js +++ b/_getLength.js @@ -1,4 +1,4 @@ -import baseProperty from './baseProperty'; +import baseProperty from './_baseProperty'; /** * Gets the "length" property value of `object`. diff --git a/internal/getMatchData.js b/_getMatchData.js similarity index 82% rename from internal/getMatchData.js rename to _getMatchData.js index bb5124708..de84bb721 100644 --- a/internal/getMatchData.js +++ b/_getMatchData.js @@ -1,5 +1,5 @@ -import isStrictComparable from './isStrictComparable'; -import toPairs from '../toPairs'; +import isStrictComparable from './_isStrictComparable'; +import toPairs from './toPairs'; /** * Gets the property names, values, and compare flags of `object`. diff --git a/internal/getNative.js b/_getNative.js similarity index 91% rename from internal/getNative.js rename to _getNative.js index 1b8e71391..b91f8dc61 100644 --- a/internal/getNative.js +++ b/_getNative.js @@ -1,4 +1,4 @@ -import isNative from '../isNative'; +import isNative from './isNative'; /** * Gets the native function at `key` of `object`. diff --git a/internal/getSymbols.js b/_getSymbols.js similarity index 100% rename from internal/getSymbols.js rename to _getSymbols.js diff --git a/internal/getTag.js b/_getTag.js similarity index 96% rename from internal/getTag.js rename to _getTag.js index 3ecf91703..0b756c767 100644 --- a/internal/getTag.js +++ b/_getTag.js @@ -1,5 +1,5 @@ -import Map from './Map'; -import Set from './Set'; +import Map from './_Map'; +import Set from './_Set'; /** `Object#toString` result references. */ var mapTag = '[object Map]', diff --git a/internal/getView.js b/_getView.js similarity index 100% rename from internal/getView.js rename to _getView.js diff --git a/internal/hasPath.js b/_hasPath.js similarity index 64% rename from internal/hasPath.js rename to _hasPath.js index 66dd47845..aeaee998a 100644 --- a/internal/hasPath.js +++ b/_hasPath.js @@ -1,12 +1,12 @@ -import baseToPath from './baseToPath'; -import isArguments from '../isArguments'; -import isArray from '../isArray'; -import isIndex from './isIndex'; -import isKey from './isKey'; -import isLength from '../isLength'; -import isString from '../isString'; -import last from '../last'; -import parent from './parent'; +import baseToPath from './_baseToPath'; +import isArguments from './isArguments'; +import isArray from './isArray'; +import isIndex from './_isIndex'; +import isKey from './_isKey'; +import isLength from './isLength'; +import isString from './isString'; +import last from './last'; +import parent from './_parent'; /** * Checks if `path` exists on `object`. @@ -30,8 +30,11 @@ function hasPath(object, path, hasFunc) { result = hasFunc(object, path); } } - return result || (isLength(object && object.length) && isIndex(path, object.length) && - (isArray(object) || isString(object) || isArguments(object))); + var length = object ? object.length : undefined; + return result || ( + !!length && isLength(length) && isIndex(path, length) && + (isArray(object) || isString(object) || isArguments(object)) + ); } export default hasPath; diff --git a/internal/hashDelete.js b/_hashDelete.js similarity index 91% rename from internal/hashDelete.js rename to _hashDelete.js index 28a88c4fb..300da9b3b 100644 --- a/internal/hashDelete.js +++ b/_hashDelete.js @@ -1,4 +1,4 @@ -import hashHas from './hashHas'; +import hashHas from './_hashHas'; /** * Removes `key` and its value from the hash. diff --git a/internal/hashGet.js b/_hashGet.js similarity index 94% rename from internal/hashGet.js rename to _hashGet.js index 72557a1c5..9bdbe2c6f 100644 --- a/internal/hashGet.js +++ b/_hashGet.js @@ -1,4 +1,4 @@ -import nativeCreate from './nativeCreate'; +import nativeCreate from './_nativeCreate'; /** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = '__lodash_hash_undefined__'; diff --git a/internal/hashHas.js b/_hashHas.js similarity index 92% rename from internal/hashHas.js rename to _hashHas.js index 90e74a178..3eb82b7be 100644 --- a/internal/hashHas.js +++ b/_hashHas.js @@ -1,4 +1,4 @@ -import nativeCreate from './nativeCreate'; +import nativeCreate from './_nativeCreate'; /** Used for built-in method references. */ var objectProto = Object.prototype; diff --git a/internal/hashSet.js b/_hashSet.js similarity index 90% rename from internal/hashSet.js rename to _hashSet.js index d2d0738ee..3f72147be 100644 --- a/internal/hashSet.js +++ b/_hashSet.js @@ -1,4 +1,4 @@ -import nativeCreate from './nativeCreate'; +import nativeCreate from './_nativeCreate'; /** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = '__lodash_hash_undefined__'; diff --git a/internal/indexKeys.js b/_indexKeys.js similarity index 52% rename from internal/indexKeys.js rename to _indexKeys.js index 070f4e68d..67c2f07c3 100644 --- a/internal/indexKeys.js +++ b/_indexKeys.js @@ -1,8 +1,8 @@ -import baseTimes from './baseTimes'; -import isArguments from '../isArguments'; -import isArray from '../isArray'; -import isLength from '../isLength'; -import isString from '../isString'; +import baseTimes from './_baseTimes'; +import isArguments from './isArguments'; +import isArray from './isArray'; +import isLength from './isLength'; +import isString from './isString'; /** * Creates an array of index keys for `object` values of arrays, @@ -14,9 +14,11 @@ import isString from '../isString'; */ function indexKeys(object) { var length = object ? object.length : undefined; - return (isLength(length) && (isArray(object) || isString(object) || isArguments(object))) - ? baseTimes(length, String) - : null; + if (isLength(length) && + (isArray(object) || isString(object) || isArguments(object))) { + return baseTimes(length, String); + } + return null; } export default indexKeys; diff --git a/internal/indexOfNaN.js b/_indexOfNaN.js similarity index 100% rename from internal/indexOfNaN.js rename to _indexOfNaN.js diff --git a/internal/initCloneArray.js b/_initCloneArray.js similarity index 100% rename from internal/initCloneArray.js rename to _initCloneArray.js diff --git a/internal/initCloneByTag.js b/_initCloneByTag.js similarity index 88% rename from internal/initCloneByTag.js rename to _initCloneByTag.js index bf02b3577..b46b625bb 100644 --- a/internal/initCloneByTag.js +++ b/_initCloneByTag.js @@ -1,9 +1,9 @@ -import cloneBuffer from './cloneBuffer'; -import cloneMap from './cloneMap'; -import cloneRegExp from './cloneRegExp'; -import cloneSet from './cloneSet'; -import cloneSymbol from './cloneSymbol'; -import cloneTypedArray from './cloneTypedArray'; +import cloneBuffer from './_cloneBuffer'; +import cloneMap from './_cloneMap'; +import cloneRegExp from './_cloneRegExp'; +import cloneSet from './_cloneSet'; +import cloneSymbol from './_cloneSymbol'; +import cloneTypedArray from './_cloneTypedArray'; /** `Object#toString` result references. */ var boolTag = '[object Boolean]', diff --git a/internal/initCloneObject.js b/_initCloneObject.js similarity index 65% rename from internal/initCloneObject.js rename to _initCloneObject.js index 40f5fa485..41d926509 100644 --- a/internal/initCloneObject.js +++ b/_initCloneObject.js @@ -1,5 +1,6 @@ -import baseCreate from './baseCreate'; -import isFunction from '../isFunction'; +import baseCreate from './_baseCreate'; +import isFunction from './isFunction'; +import isPrototype from './_isPrototype'; /** * Initializes an object clone. @@ -9,6 +10,9 @@ import isFunction from '../isFunction'; * @returns {Object} Returns the initialized clone. */ function initCloneObject(object) { + if (isPrototype(object)) { + return {}; + } var Ctor = object.constructor; return baseCreate(isFunction(Ctor) ? Ctor.prototype : undefined); } diff --git a/internal/isHostObject.js b/_isHostObject.js similarity index 100% rename from internal/isHostObject.js rename to _isHostObject.js diff --git a/internal/isIndex.js b/_isIndex.js similarity index 100% rename from internal/isIndex.js rename to _isIndex.js diff --git a/internal/isIterateeCall.js b/_isIterateeCall.js similarity index 84% rename from internal/isIterateeCall.js rename to _isIterateeCall.js index 808ad1345..d8174b1da 100644 --- a/internal/isIterateeCall.js +++ b/_isIterateeCall.js @@ -1,7 +1,7 @@ -import eq from '../eq'; -import isArrayLike from '../isArrayLike'; -import isIndex from './isIndex'; -import isObject from '../isObject'; +import eq from './eq'; +import isArrayLike from './isArrayLike'; +import isIndex from './_isIndex'; +import isObject from './isObject'; /** * Checks if the provided arguments are from an iteratee call. diff --git a/internal/isKey.js b/_isKey.js similarity index 95% rename from internal/isKey.js rename to _isKey.js index 76e0981eb..83db62cbf 100644 --- a/internal/isKey.js +++ b/_isKey.js @@ -1,4 +1,4 @@ -import isArray from '../isArray'; +import isArray from './isArray'; /** Used to match property names within property paths. */ var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, diff --git a/internal/isKeyable.js b/_isKeyable.js similarity index 100% rename from internal/isKeyable.js rename to _isKeyable.js diff --git a/internal/isLaziable.js b/_isLaziable.js similarity index 77% rename from internal/isLaziable.js rename to _isLaziable.js index feaac019b..d06ec2ddc 100644 --- a/internal/isLaziable.js +++ b/_isLaziable.js @@ -1,7 +1,7 @@ -import LazyWrapper from './LazyWrapper'; -import getData from './getData'; -import getFuncName from './getFuncName'; -import lodash from '../wrapperLodash'; +import LazyWrapper from './_LazyWrapper'; +import getData from './_getData'; +import getFuncName from './_getFuncName'; +import lodash from './wrapperLodash'; /** * Checks if `func` has a lazy counterpart. diff --git a/internal/isPrototype.js b/_isPrototype.js similarity index 100% rename from internal/isPrototype.js rename to _isPrototype.js diff --git a/internal/isStrictComparable.js b/_isStrictComparable.js similarity index 91% rename from internal/isStrictComparable.js rename to _isStrictComparable.js index 1d6ef1257..97be5a20b 100644 --- a/internal/isStrictComparable.js +++ b/_isStrictComparable.js @@ -1,4 +1,4 @@ -import isObject from '../isObject'; +import isObject from './isObject'; /** * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. diff --git a/internal/iteratorToArray.js b/_iteratorToArray.js similarity index 100% rename from internal/iteratorToArray.js rename to _iteratorToArray.js diff --git a/internal/lazyClone.js b/_lazyClone.js similarity index 87% rename from internal/lazyClone.js rename to _lazyClone.js index f000e864c..e51a13d69 100644 --- a/internal/lazyClone.js +++ b/_lazyClone.js @@ -1,5 +1,5 @@ -import LazyWrapper from './LazyWrapper'; -import copyArray from './copyArray'; +import LazyWrapper from './_LazyWrapper'; +import copyArray from './_copyArray'; /** * Creates a clone of the lazy wrapper object. diff --git a/internal/lazyReverse.js b/_lazyReverse.js similarity index 91% rename from internal/lazyReverse.js rename to _lazyReverse.js index ef282d39c..fbc1a34c7 100644 --- a/internal/lazyReverse.js +++ b/_lazyReverse.js @@ -1,4 +1,4 @@ -import LazyWrapper from './LazyWrapper'; +import LazyWrapper from './_LazyWrapper'; /** * Reverses the direction of lazy iteration. diff --git a/internal/lazyValue.js b/_lazyValue.js similarity index 93% rename from internal/lazyValue.js rename to _lazyValue.js index 93651a3f8..b1dac437f 100644 --- a/internal/lazyValue.js +++ b/_lazyValue.js @@ -1,6 +1,6 @@ -import baseWrapperValue from './baseWrapperValue'; -import getView from './getView'; -import isArray from '../isArray'; +import baseWrapperValue from './_baseWrapperValue'; +import getView from './_getView'; +import isArray from './isArray'; /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200; diff --git a/internal/mapClear.js b/_mapClear.js similarity index 81% rename from internal/mapClear.js rename to _mapClear.js index 51e2918cb..a805ef06d 100644 --- a/internal/mapClear.js +++ b/_mapClear.js @@ -1,5 +1,5 @@ -import Hash from './Hash'; -import Map from './Map'; +import Hash from './_Hash'; +import Map from './_Map'; /** * Removes all key-value entries from the map. diff --git a/internal/mapDelete.js b/_mapDelete.js similarity index 77% rename from internal/mapDelete.js rename to _mapDelete.js index 120f56cae..20c7f86d9 100644 --- a/internal/mapDelete.js +++ b/_mapDelete.js @@ -1,7 +1,7 @@ -import Map from './Map'; -import assocDelete from './assocDelete'; -import hashDelete from './hashDelete'; -import isKeyable from './isKeyable'; +import Map from './_Map'; +import assocDelete from './_assocDelete'; +import hashDelete from './_hashDelete'; +import isKeyable from './_isKeyable'; /** * Removes `key` and its value from the map. diff --git a/internal/mapGet.js b/_mapGet.js similarity index 76% rename from internal/mapGet.js rename to _mapGet.js index 1aaeda84f..a6bc8fa4c 100644 --- a/internal/mapGet.js +++ b/_mapGet.js @@ -1,7 +1,7 @@ -import Map from './Map'; -import assocGet from './assocGet'; -import hashGet from './hashGet'; -import isKeyable from './isKeyable'; +import Map from './_Map'; +import assocGet from './_assocGet'; +import hashGet from './_hashGet'; +import isKeyable from './_isKeyable'; /** * Gets the map value for `key`. diff --git a/internal/mapHas.js b/_mapHas.js similarity index 78% rename from internal/mapHas.js rename to _mapHas.js index 2bbcd7a99..0615d87f8 100644 --- a/internal/mapHas.js +++ b/_mapHas.js @@ -1,7 +1,7 @@ -import Map from './Map'; -import assocHas from './assocHas'; -import hashHas from './hashHas'; -import isKeyable from './isKeyable'; +import Map from './_Map'; +import assocHas from './_assocHas'; +import hashHas from './_hashHas'; +import isKeyable from './_isKeyable'; /** * Checks if a map value for `key` exists. diff --git a/internal/mapSet.js b/_mapSet.js similarity index 79% rename from internal/mapSet.js rename to _mapSet.js index 5bc650a56..382866226 100644 --- a/internal/mapSet.js +++ b/_mapSet.js @@ -1,7 +1,7 @@ -import Map from './Map'; -import assocSet from './assocSet'; -import hashSet from './hashSet'; -import isKeyable from './isKeyable'; +import Map from './_Map'; +import assocSet from './_assocSet'; +import hashSet from './_hashSet'; +import isKeyable from './_isKeyable'; /** * Sets the map `key` to `value`. diff --git a/internal/mapToArray.js b/_mapToArray.js similarity index 100% rename from internal/mapToArray.js rename to _mapToArray.js diff --git a/internal/mergeData.js b/_mergeData.js similarity index 94% rename from internal/mergeData.js rename to _mergeData.js index 0dda6e78c..3691b8ce5 100644 --- a/internal/mergeData.js +++ b/_mergeData.js @@ -1,7 +1,7 @@ -import composeArgs from './composeArgs'; -import composeArgsRight from './composeArgsRight'; -import copyArray from './copyArray'; -import replaceHolders from './replaceHolders'; +import composeArgs from './_composeArgs'; +import composeArgsRight from './_composeArgsRight'; +import copyArray from './_copyArray'; +import replaceHolders from './_replaceHolders'; /** Used to compose bitmasks for wrapper metadata. */ var BIND_FLAG = 1, diff --git a/internal/mergeDefaults.js b/_mergeDefaults.js similarity index 91% rename from internal/mergeDefaults.js rename to _mergeDefaults.js index c08cb64b8..05eae7dee 100644 --- a/internal/mergeDefaults.js +++ b/_mergeDefaults.js @@ -1,5 +1,5 @@ -import baseMerge from './baseMerge'; -import isObject from '../isObject'; +import baseMerge from './_baseMerge'; +import isObject from './isObject'; /** * Used by `_.defaultsDeep` to customize its `_.merge` use. diff --git a/internal/metaMap.js b/_metaMap.js similarity index 75% rename from internal/metaMap.js rename to _metaMap.js index aeda1e383..02ab0e582 100644 --- a/internal/metaMap.js +++ b/_metaMap.js @@ -1,4 +1,4 @@ -import WeakMap from './WeakMap'; +import WeakMap from './_WeakMap'; /** Used to store function metadata. */ var metaMap = WeakMap && new WeakMap; diff --git a/internal/nativeCreate.js b/_nativeCreate.js similarity index 79% rename from internal/nativeCreate.js rename to _nativeCreate.js index 1df596f45..6444b749a 100644 --- a/internal/nativeCreate.js +++ b/_nativeCreate.js @@ -1,4 +1,4 @@ -import getNative from './getNative'; +import getNative from './_getNative'; /* Built-in method references that are verified to be native. */ var nativeCreate = getNative(Object, 'create'); diff --git a/internal/parent.js b/_parent.js similarity index 84% rename from internal/parent.js rename to _parent.js index 0f621956a..a799302a3 100644 --- a/internal/parent.js +++ b/_parent.js @@ -1,5 +1,5 @@ -import baseSlice from './baseSlice'; -import get from '../get'; +import baseSlice from './_baseSlice'; +import get from './get'; /** * Gets the parent value at `path` of `object`. diff --git a/internal/reEscape.js b/_reEscape.js similarity index 100% rename from internal/reEscape.js rename to _reEscape.js diff --git a/internal/reEvaluate.js b/_reEvaluate.js similarity index 100% rename from internal/reEvaluate.js rename to _reEvaluate.js diff --git a/internal/reInterpolate.js b/_reInterpolate.js similarity index 100% rename from internal/reInterpolate.js rename to _reInterpolate.js diff --git a/internal/realNames.js b/_realNames.js similarity index 100% rename from internal/realNames.js rename to _realNames.js diff --git a/internal/reorder.js b/_reorder.js similarity index 91% rename from internal/reorder.js rename to _reorder.js index 0be0bcebc..55bbdcc49 100644 --- a/internal/reorder.js +++ b/_reorder.js @@ -1,5 +1,5 @@ -import copyArray from './copyArray'; -import isIndex from './isIndex'; +import copyArray from './_copyArray'; +import isIndex from './_isIndex'; /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeMin = Math.min; diff --git a/internal/replaceHolders.js b/_replaceHolders.js similarity index 100% rename from internal/replaceHolders.js rename to _replaceHolders.js diff --git a/internal/root.js b/_root.js similarity index 96% rename from internal/root.js rename to _root.js index 2b376d78b..85cf03fbe 100644 --- a/internal/root.js +++ b/_root.js @@ -1,4 +1,4 @@ -import checkGlobal from './checkGlobal'; +import checkGlobal from './_checkGlobal'; /** Used to determine if values are of the language type `Object`. */ var objectTypes = { diff --git a/internal/setData.js b/_setData.js similarity index 93% rename from internal/setData.js rename to _setData.js index 458127454..ed20702c3 100644 --- a/internal/setData.js +++ b/_setData.js @@ -1,5 +1,5 @@ -import baseSetData from './baseSetData'; -import now from '../now'; +import baseSetData from './_baseSetData'; +import now from './now'; /** Used to detect hot functions by number of calls within a span of milliseconds. */ var HOT_COUNT = 150, diff --git a/internal/setToArray.js b/_setToArray.js similarity index 100% rename from internal/setToArray.js rename to _setToArray.js diff --git a/internal/stackClear.js b/_stackClear.js similarity index 100% rename from internal/stackClear.js rename to _stackClear.js diff --git a/internal/stackDelete.js b/_stackDelete.js similarity index 90% rename from internal/stackDelete.js rename to _stackDelete.js index c9bdeb80a..52519820a 100644 --- a/internal/stackDelete.js +++ b/_stackDelete.js @@ -1,4 +1,4 @@ -import assocDelete from './assocDelete'; +import assocDelete from './_assocDelete'; /** * Removes `key` and its value from the stack. diff --git a/internal/stackGet.js b/_stackGet.js similarity index 90% rename from internal/stackGet.js rename to _stackGet.js index 0f512c012..3ae4204e6 100644 --- a/internal/stackGet.js +++ b/_stackGet.js @@ -1,4 +1,4 @@ -import assocGet from './assocGet'; +import assocGet from './_assocGet'; /** * Gets the stack value for `key`. diff --git a/internal/stackHas.js b/_stackHas.js similarity index 91% rename from internal/stackHas.js rename to _stackHas.js index db6f9c663..993dce6d9 100644 --- a/internal/stackHas.js +++ b/_stackHas.js @@ -1,4 +1,4 @@ -import assocHas from './assocHas'; +import assocHas from './_assocHas'; /** * Checks if a stack value for `key` exists. diff --git a/internal/stackSet.js b/_stackSet.js similarity index 90% rename from internal/stackSet.js rename to _stackSet.js index 160e241b0..41ec3d395 100644 --- a/internal/stackSet.js +++ b/_stackSet.js @@ -1,5 +1,5 @@ -import MapCache from './MapCache'; -import assocSet from './assocSet'; +import MapCache from './_MapCache'; +import assocSet from './_assocSet'; /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200; diff --git a/internal/stringSize.js b/_stringSize.js similarity index 100% rename from internal/stringSize.js rename to _stringSize.js diff --git a/internal/stringToArray.js b/_stringToArray.js similarity index 100% rename from internal/stringToArray.js rename to _stringToArray.js diff --git a/internal/stringToPath.js b/_stringToPath.js similarity index 94% rename from internal/stringToPath.js rename to _stringToPath.js index 5269d7870..b1b0f84bb 100644 --- a/internal/stringToPath.js +++ b/_stringToPath.js @@ -1,4 +1,4 @@ -import toString from '../toString'; +import toString from './toString'; /** Used to match property names within property paths. */ var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]/g; diff --git a/internal/toArrayLikeObject.js b/_toArrayLikeObject.js similarity index 84% rename from internal/toArrayLikeObject.js rename to _toArrayLikeObject.js index b9066b11d..865fc5f52 100644 --- a/internal/toArrayLikeObject.js +++ b/_toArrayLikeObject.js @@ -1,4 +1,4 @@ -import isArrayLikeObject from '../isArrayLikeObject'; +import isArrayLikeObject from './isArrayLikeObject'; /** * Converts `value` to an array-like object if it's not one. diff --git a/internal/toFunction.js b/_toFunction.js similarity index 88% rename from internal/toFunction.js rename to _toFunction.js index 199ee43e1..0cddddc3d 100644 --- a/internal/toFunction.js +++ b/_toFunction.js @@ -1,4 +1,4 @@ -import identity from '../identity'; +import identity from './identity'; /** * Converts `value` to a function if it's not one. diff --git a/internal/unescapeHtmlChar.js b/_unescapeHtmlChar.js similarity index 100% rename from internal/unescapeHtmlChar.js rename to _unescapeHtmlChar.js diff --git a/internal/wrapperClone.js b/_wrapperClone.js similarity index 80% rename from internal/wrapperClone.js rename to _wrapperClone.js index c9b8f0752..7fcc05346 100644 --- a/internal/wrapperClone.js +++ b/_wrapperClone.js @@ -1,6 +1,6 @@ -import LazyWrapper from './LazyWrapper'; -import LodashWrapper from './LodashWrapper'; -import copyArray from './copyArray'; +import LazyWrapper from './_LazyWrapper'; +import LodashWrapper from './_LodashWrapper'; +import copyArray from './_copyArray'; /** * Creates a clone of `wrapper`. diff --git a/array.default.js b/array.default.js index 38a07bdc4..08144c241 100644 --- a/array.default.js +++ b/array.default.js @@ -58,6 +58,7 @@ import xorBy from './xorBy'; import xorWith from './xorWith'; import zip from './zip'; import zipObject from './zipObject'; +import zipObjectDeep from './zipObjectDeep'; import zipWith from './zipWith'; export default { @@ -73,5 +74,5 @@ export default { takeWhile, union, unionBy, unionWith, uniq, uniqBy, uniqWith, unzip, unzipWith, without, xor, xorBy, xorWith, zip, zipObject, - zipWith + zipObjectDeep, zipWith }; diff --git a/array.js b/array.js index 56cd7d9ab..ef71aa4e7 100644 --- a/array.js +++ b/array.js @@ -58,5 +58,6 @@ export { default as xorBy } from './xorBy'; export { default as xorWith } from './xorWith'; export { default as zip } from './zip'; export { default as zipObject } from './zipObject'; +export { default as zipObjectDeep } from './zipObjectDeep'; export { default as zipWith } from './zipWith'; export { default as default } from './array.default'; diff --git a/ary.js b/ary.js index 092d31797..bd2a68e49 100644 --- a/ary.js +++ b/ary.js @@ -1,4 +1,4 @@ -import createWrapper from './internal/createWrapper'; +import createWrapper from './_createWrapper'; /** Used to compose bitmasks for wrapper metadata. */ var ARY_FLAG = 128; diff --git a/assign.js b/assign.js index 6d7af5ede..c13a41deb 100644 --- a/assign.js +++ b/assign.js @@ -1,5 +1,5 @@ -import copyObject from './internal/copyObject'; -import createAssigner from './internal/createAssigner'; +import copyObject from './_copyObject'; +import createAssigner from './_createAssigner'; import keys from './keys'; /** diff --git a/assignIn.js b/assignIn.js index a0ead9eda..eb281b15f 100644 --- a/assignIn.js +++ b/assignIn.js @@ -1,5 +1,5 @@ -import copyObject from './internal/copyObject'; -import createAssigner from './internal/createAssigner'; +import copyObject from './_copyObject'; +import createAssigner from './_createAssigner'; import keysIn from './keysIn'; /** diff --git a/assignInWith.js b/assignInWith.js index 94355be03..4b713ae76 100644 --- a/assignInWith.js +++ b/assignInWith.js @@ -1,5 +1,5 @@ -import copyObjectWith from './internal/copyObjectWith'; -import createAssigner from './internal/createAssigner'; +import copyObjectWith from './_copyObjectWith'; +import createAssigner from './_createAssigner'; import keysIn from './keysIn'; /** diff --git a/assignWith.js b/assignWith.js index 82470ea04..6e9d36bef 100644 --- a/assignWith.js +++ b/assignWith.js @@ -1,5 +1,5 @@ -import copyObjectWith from './internal/copyObjectWith'; -import createAssigner from './internal/createAssigner'; +import copyObjectWith from './_copyObjectWith'; +import createAssigner from './_createAssigner'; import keys from './keys'; /** diff --git a/at.js b/at.js index 686d950d7..9f8b4f087 100644 --- a/at.js +++ b/at.js @@ -1,5 +1,5 @@ -import baseAt from './internal/baseAt'; -import baseFlatten from './internal/baseFlatten'; +import baseAt from './_baseAt'; +import baseFlatten from './_baseFlatten'; import rest from './rest'; /** diff --git a/attempt.js b/attempt.js index 4ff7bd591..c93d21a96 100644 --- a/attempt.js +++ b/attempt.js @@ -1,4 +1,4 @@ -import apply from './internal/apply'; +import apply from './_apply'; import isError from './isError'; import rest from './rest'; diff --git a/bind.js b/bind.js index 157a8ec74..514a79f5d 100644 --- a/bind.js +++ b/bind.js @@ -1,5 +1,5 @@ -import createWrapper from './internal/createWrapper'; -import replaceHolders from './internal/replaceHolders'; +import createWrapper from './_createWrapper'; +import replaceHolders from './_replaceHolders'; import rest from './rest'; /** Used to compose bitmasks for wrapper metadata. */ diff --git a/bindAll.js b/bindAll.js index eb5229dc3..975dae922 100644 --- a/bindAll.js +++ b/bindAll.js @@ -1,5 +1,5 @@ -import arrayEach from './internal/arrayEach'; -import baseFlatten from './internal/baseFlatten'; +import arrayEach from './_arrayEach'; +import baseFlatten from './_baseFlatten'; import bind from './bind'; import rest from './rest'; diff --git a/bindKey.js b/bindKey.js index 3af317bf5..a98333a53 100644 --- a/bindKey.js +++ b/bindKey.js @@ -1,5 +1,5 @@ -import createWrapper from './internal/createWrapper'; -import replaceHolders from './internal/replaceHolders'; +import createWrapper from './_createWrapper'; +import replaceHolders from './_replaceHolders'; import rest from './rest'; /** Used to compose bitmasks for wrapper metadata. */ diff --git a/camelCase.js b/camelCase.js index ca3c15f0d..f941d428c 100644 --- a/camelCase.js +++ b/camelCase.js @@ -1,5 +1,5 @@ import capitalize from './capitalize'; -import createCompounder from './internal/createCompounder'; +import createCompounder from './_createCompounder'; /** * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). diff --git a/ceil.js b/ceil.js index 8a0ff4afd..e12c031df 100644 --- a/ceil.js +++ b/ceil.js @@ -1,4 +1,4 @@ -import createRound from './internal/createRound'; +import createRound from './_createRound'; /** * Computes `number` rounded up to `precision`. diff --git a/chunk.js b/chunk.js index 698ddc165..0c69eb333 100644 --- a/chunk.js +++ b/chunk.js @@ -1,4 +1,4 @@ -import baseSlice from './internal/baseSlice'; +import baseSlice from './_baseSlice'; import toInteger from './toInteger'; /* Built-in method references for those with the same name as other `lodash` methods. */ diff --git a/clamp.js b/clamp.js index 59c63d30e..8e079db30 100644 --- a/clamp.js +++ b/clamp.js @@ -1,4 +1,4 @@ -import baseClamp from './internal/baseClamp'; +import baseClamp from './_baseClamp'; import toNumber from './toNumber'; /** diff --git a/clone.js b/clone.js index 4bbda5540..92b2d33f0 100644 --- a/clone.js +++ b/clone.js @@ -1,4 +1,4 @@ -import baseClone from './internal/baseClone'; +import baseClone from './_baseClone'; /** * Creates a shallow clone of `value`. diff --git a/cloneDeep.js b/cloneDeep.js index 7bfd3eb48..81c7febfa 100644 --- a/cloneDeep.js +++ b/cloneDeep.js @@ -1,4 +1,4 @@ -import baseClone from './internal/baseClone'; +import baseClone from './_baseClone'; /** * This method is like `_.clone` except that it recursively clones `value`. diff --git a/cloneDeepWith.js b/cloneDeepWith.js index 64fcbaf31..8219adaa0 100644 --- a/cloneDeepWith.js +++ b/cloneDeepWith.js @@ -1,4 +1,4 @@ -import baseClone from './internal/baseClone'; +import baseClone from './_baseClone'; /** * This method is like `_.cloneWith` except that it recursively clones `value`. diff --git a/cloneWith.js b/cloneWith.js index 9752a53f6..a7e2181b7 100644 --- a/cloneWith.js +++ b/cloneWith.js @@ -1,4 +1,4 @@ -import baseClone from './internal/baseClone'; +import baseClone from './_baseClone'; /** * This method is like `_.clone` except that it accepts `customizer` which diff --git a/commit.js b/commit.js index c7f250229..2bda55645 100644 --- a/commit.js +++ b/commit.js @@ -1,4 +1,4 @@ -import LodashWrapper from './internal/LodashWrapper'; +import LodashWrapper from './_LodashWrapper'; /** * Executes the chained sequence and returns the wrapped result. diff --git a/concat.js b/concat.js index 777ae3c9d..0b71d10d7 100644 --- a/concat.js +++ b/concat.js @@ -1,5 +1,5 @@ -import arrayConcat from './internal/arrayConcat'; -import baseFlatten from './internal/baseFlatten'; +import arrayConcat from './_arrayConcat'; +import baseFlatten from './_baseFlatten'; import isArray from './isArray'; import rest from './rest'; diff --git a/cond.js b/cond.js index f8e4523a7..1451970f0 100644 --- a/cond.js +++ b/cond.js @@ -1,6 +1,6 @@ -import apply from './internal/apply'; -import arrayMap from './internal/arrayMap'; -import baseIteratee from './internal/baseIteratee'; +import apply from './_apply'; +import arrayMap from './_arrayMap'; +import baseIteratee from './_baseIteratee'; import rest from './rest'; /** Used as the `TypeError` message for "Functions" methods. */ diff --git a/conforms.js b/conforms.js index e90dca164..219b30e92 100644 --- a/conforms.js +++ b/conforms.js @@ -1,5 +1,5 @@ -import baseClone from './internal/baseClone'; -import baseConforms from './internal/baseConforms'; +import baseClone from './_baseClone'; +import baseConforms from './_baseConforms'; /** * Creates a function that invokes the predicate properties of `source` with diff --git a/countBy.js b/countBy.js index b306748fc..4832d00bd 100644 --- a/countBy.js +++ b/countBy.js @@ -1,4 +1,4 @@ -import createAggregator from './internal/createAggregator'; +import createAggregator from './_createAggregator'; /** Used for built-in method references. */ var objectProto = Object.prototype; diff --git a/create.js b/create.js index ef18b9074..8cca55c2a 100644 --- a/create.js +++ b/create.js @@ -1,5 +1,5 @@ -import baseAssign from './internal/baseAssign'; -import baseCreate from './internal/baseCreate'; +import baseAssign from './_baseAssign'; +import baseCreate from './_baseCreate'; /** * Creates an object that inherits from the `prototype` object. If a `properties` diff --git a/curry.js b/curry.js index 318864915..eb16cb00a 100644 --- a/curry.js +++ b/curry.js @@ -1,4 +1,4 @@ -import createWrapper from './internal/createWrapper'; +import createWrapper from './_createWrapper'; /** Used to compose bitmasks for wrapper metadata. */ var CURRY_FLAG = 8; diff --git a/curryRight.js b/curryRight.js index 05d230cad..ba2daa86e 100644 --- a/curryRight.js +++ b/curryRight.js @@ -1,4 +1,4 @@ -import createWrapper from './internal/createWrapper'; +import createWrapper from './_createWrapper'; /** Used to compose bitmasks for wrapper metadata. */ var CURRY_RIGHT_FLAG = 16; diff --git a/deburr.js b/deburr.js index 696914e54..97b2e636f 100644 --- a/deburr.js +++ b/deburr.js @@ -1,4 +1,4 @@ -import deburrLetter from './internal/deburrLetter'; +import deburrLetter from './_deburrLetter'; import toString from './toString'; /** Used to match latin-1 supplementary letters (excluding mathematical operators). */ diff --git a/defaults.js b/defaults.js index 63e3df637..26f822284 100644 --- a/defaults.js +++ b/defaults.js @@ -1,5 +1,5 @@ -import apply from './internal/apply'; -import assignInDefaults from './internal/assignInDefaults'; +import apply from './_apply'; +import assignInDefaults from './_assignInDefaults'; import assignInWith from './assignInWith'; import rest from './rest'; diff --git a/defaultsDeep.js b/defaultsDeep.js index f7f8d4bc9..d6e409d04 100644 --- a/defaultsDeep.js +++ b/defaultsDeep.js @@ -1,5 +1,5 @@ -import apply from './internal/apply'; -import mergeDefaults from './internal/mergeDefaults'; +import apply from './_apply'; +import mergeDefaults from './_mergeDefaults'; import mergeWith from './mergeWith'; import rest from './rest'; diff --git a/defer.js b/defer.js index ed4f5e343..4178ba121 100644 --- a/defer.js +++ b/defer.js @@ -1,4 +1,4 @@ -import baseDelay from './internal/baseDelay'; +import baseDelay from './_baseDelay'; import rest from './rest'; /** diff --git a/delay.js b/delay.js index 9112fb5de..ad1378f88 100644 --- a/delay.js +++ b/delay.js @@ -1,4 +1,4 @@ -import baseDelay from './internal/baseDelay'; +import baseDelay from './_baseDelay'; import rest from './rest'; import toNumber from './toNumber'; diff --git a/difference.js b/difference.js index 53bbe28ae..111d5adc2 100644 --- a/difference.js +++ b/difference.js @@ -1,5 +1,5 @@ -import baseDifference from './internal/baseDifference'; -import baseFlatten from './internal/baseFlatten'; +import baseDifference from './_baseDifference'; +import baseFlatten from './_baseFlatten'; import isArrayLikeObject from './isArrayLikeObject'; import rest from './rest'; diff --git a/differenceBy.js b/differenceBy.js index d101dd25e..9eb6af8ad 100644 --- a/differenceBy.js +++ b/differenceBy.js @@ -1,6 +1,6 @@ -import baseDifference from './internal/baseDifference'; -import baseFlatten from './internal/baseFlatten'; -import baseIteratee from './internal/baseIteratee'; +import baseDifference from './_baseDifference'; +import baseFlatten from './_baseFlatten'; +import baseIteratee from './_baseIteratee'; import isArrayLikeObject from './isArrayLikeObject'; import last from './last'; import rest from './rest'; diff --git a/differenceWith.js b/differenceWith.js index 7f573cc62..52956b0fd 100644 --- a/differenceWith.js +++ b/differenceWith.js @@ -1,5 +1,5 @@ -import baseDifference from './internal/baseDifference'; -import baseFlatten from './internal/baseFlatten'; +import baseDifference from './_baseDifference'; +import baseFlatten from './_baseFlatten'; import isArrayLikeObject from './isArrayLikeObject'; import last from './last'; import rest from './rest'; diff --git a/drop.js b/drop.js index 3afb5d785..ebe48bfe2 100644 --- a/drop.js +++ b/drop.js @@ -1,4 +1,4 @@ -import baseSlice from './internal/baseSlice'; +import baseSlice from './_baseSlice'; import toInteger from './toInteger'; /** diff --git a/dropRight.js b/dropRight.js index 67b3b32fe..2081eb140 100644 --- a/dropRight.js +++ b/dropRight.js @@ -1,4 +1,4 @@ -import baseSlice from './internal/baseSlice'; +import baseSlice from './_baseSlice'; import toInteger from './toInteger'; /** diff --git a/dropRightWhile.js b/dropRightWhile.js index 43067e75e..f61229941 100644 --- a/dropRightWhile.js +++ b/dropRightWhile.js @@ -1,5 +1,5 @@ -import baseIteratee from './internal/baseIteratee'; -import baseWhile from './internal/baseWhile'; +import baseIteratee from './_baseIteratee'; +import baseWhile from './_baseWhile'; /** * Creates a slice of `array` excluding elements dropped from the end. diff --git a/dropWhile.js b/dropWhile.js index 211ad3c82..b029843e9 100644 --- a/dropWhile.js +++ b/dropWhile.js @@ -1,5 +1,5 @@ -import baseIteratee from './internal/baseIteratee'; -import baseWhile from './internal/baseWhile'; +import baseIteratee from './_baseIteratee'; +import baseWhile from './_baseWhile'; /** * Creates a slice of `array` excluding elements dropped from the beginning. diff --git a/endsWith.js b/endsWith.js index 851d42664..7230b1540 100644 --- a/endsWith.js +++ b/endsWith.js @@ -1,4 +1,4 @@ -import baseClamp from './internal/baseClamp'; +import baseClamp from './_baseClamp'; import toInteger from './toInteger'; import toString from './toString'; diff --git a/escape.js b/escape.js index 5ca549509..463ab2d1d 100644 --- a/escape.js +++ b/escape.js @@ -1,4 +1,4 @@ -import escapeHtmlChar from './internal/escapeHtmlChar'; +import escapeHtmlChar from './_escapeHtmlChar'; import toString from './toString'; /** Used to match HTML entities and HTML characters. */ diff --git a/every.js b/every.js index ebaafe05e..f69f245a4 100644 --- a/every.js +++ b/every.js @@ -1,8 +1,8 @@ -import arrayEvery from './internal/arrayEvery'; -import baseEvery from './internal/baseEvery'; -import baseIteratee from './internal/baseIteratee'; +import arrayEvery from './_arrayEvery'; +import baseEvery from './_baseEvery'; +import baseIteratee from './_baseIteratee'; import isArray from './isArray'; -import isIterateeCall from './internal/isIterateeCall'; +import isIterateeCall from './_isIterateeCall'; /** * Checks if `predicate` returns truthy for **all** elements of `collection`. diff --git a/fill.js b/fill.js index 2a337d1d6..479dfce69 100644 --- a/fill.js +++ b/fill.js @@ -1,5 +1,5 @@ -import baseFill from './internal/baseFill'; -import isIterateeCall from './internal/isIterateeCall'; +import baseFill from './_baseFill'; +import isIterateeCall from './_isIterateeCall'; /** * Fills elements of `array` with `value` from `start` up to, but not diff --git a/filter.js b/filter.js index cfa0844ae..5a646550b 100644 --- a/filter.js +++ b/filter.js @@ -1,6 +1,6 @@ -import arrayFilter from './internal/arrayFilter'; -import baseFilter from './internal/baseFilter'; -import baseIteratee from './internal/baseIteratee'; +import arrayFilter from './_arrayFilter'; +import baseFilter from './_baseFilter'; +import baseIteratee from './_baseIteratee'; import isArray from './isArray'; /** diff --git a/find.js b/find.js index bfabb403d..2022d741a 100644 --- a/find.js +++ b/find.js @@ -1,7 +1,7 @@ -import baseEach from './internal/baseEach'; -import baseFind from './internal/baseFind'; -import baseFindIndex from './internal/baseFindIndex'; -import baseIteratee from './internal/baseIteratee'; +import baseEach from './_baseEach'; +import baseFind from './_baseFind'; +import baseFindIndex from './_baseFindIndex'; +import baseIteratee from './_baseIteratee'; import isArray from './isArray'; /** diff --git a/findIndex.js b/findIndex.js index 73a133d90..4d46e0522 100644 --- a/findIndex.js +++ b/findIndex.js @@ -1,5 +1,5 @@ -import baseFindIndex from './internal/baseFindIndex'; -import baseIteratee from './internal/baseIteratee'; +import baseFindIndex from './_baseFindIndex'; +import baseIteratee from './_baseIteratee'; /** * This method is like `_.find` except that it returns the index of the first diff --git a/findKey.js b/findKey.js index c7b1b31ca..2f4e5990a 100644 --- a/findKey.js +++ b/findKey.js @@ -1,6 +1,6 @@ -import baseFind from './internal/baseFind'; -import baseForOwn from './internal/baseForOwn'; -import baseIteratee from './internal/baseIteratee'; +import baseFind from './_baseFind'; +import baseForOwn from './_baseForOwn'; +import baseIteratee from './_baseIteratee'; /** * This method is like `_.find` except that it returns the key of the first diff --git a/findLast.js b/findLast.js index 5ada5d872..11017f6ed 100644 --- a/findLast.js +++ b/findLast.js @@ -1,7 +1,7 @@ -import baseEachRight from './internal/baseEachRight'; -import baseFind from './internal/baseFind'; -import baseFindIndex from './internal/baseFindIndex'; -import baseIteratee from './internal/baseIteratee'; +import baseEachRight from './_baseEachRight'; +import baseFind from './_baseFind'; +import baseFindIndex from './_baseFindIndex'; +import baseIteratee from './_baseIteratee'; import isArray from './isArray'; /** diff --git a/findLastIndex.js b/findLastIndex.js index 51cb671fd..fbdd3954b 100644 --- a/findLastIndex.js +++ b/findLastIndex.js @@ -1,5 +1,5 @@ -import baseFindIndex from './internal/baseFindIndex'; -import baseIteratee from './internal/baseIteratee'; +import baseFindIndex from './_baseFindIndex'; +import baseIteratee from './_baseIteratee'; /** * This method is like `_.findIndex` except that it iterates over elements diff --git a/findLastKey.js b/findLastKey.js index 4d59c9131..2499a67ba 100644 --- a/findLastKey.js +++ b/findLastKey.js @@ -1,6 +1,6 @@ -import baseFind from './internal/baseFind'; -import baseForOwnRight from './internal/baseForOwnRight'; -import baseIteratee from './internal/baseIteratee'; +import baseFind from './_baseFind'; +import baseForOwnRight from './_baseForOwnRight'; +import baseIteratee from './_baseIteratee'; /** * This method is like `_.findKey` except that it iterates over elements of diff --git a/flatMap.js b/flatMap.js index c3e08d8ee..6d8177c54 100644 --- a/flatMap.js +++ b/flatMap.js @@ -1,6 +1,6 @@ -import arrayMap from './internal/arrayMap'; -import baseFlatten from './internal/baseFlatten'; -import baseIteratee from './internal/baseIteratee'; +import arrayMap from './_arrayMap'; +import baseFlatten from './_baseFlatten'; +import baseIteratee from './_baseIteratee'; /** * Creates an array of flattened values by running each element in `array` diff --git a/flatten.js b/flatten.js index bbf0d8698..379f126e8 100644 --- a/flatten.js +++ b/flatten.js @@ -1,4 +1,4 @@ -import baseFlatten from './internal/baseFlatten'; +import baseFlatten from './_baseFlatten'; /** * Flattens `array` a single level. diff --git a/flattenDeep.js b/flattenDeep.js index b617d7233..782dc5281 100644 --- a/flattenDeep.js +++ b/flattenDeep.js @@ -1,4 +1,4 @@ -import baseFlatten from './internal/baseFlatten'; +import baseFlatten from './_baseFlatten'; /** * This method is like `_.flatten` except that it recursively flattens `array`. diff --git a/flip.js b/flip.js index 0972af36d..5e11ec7d3 100644 --- a/flip.js +++ b/flip.js @@ -1,4 +1,4 @@ -import createWrapper from './internal/createWrapper'; +import createWrapper from './_createWrapper'; /** Used to compose bitmasks for wrapper metadata. */ var FLIP_FLAG = 512; diff --git a/floor.js b/floor.js index 93f895f58..f1582cbd8 100644 --- a/floor.js +++ b/floor.js @@ -1,4 +1,4 @@ -import createRound from './internal/createRound'; +import createRound from './_createRound'; /** * Computes `number` rounded down to `precision`. diff --git a/flow.js b/flow.js index 50ebf7ec6..865a0feff 100644 --- a/flow.js +++ b/flow.js @@ -1,4 +1,4 @@ -import createFlow from './internal/createFlow'; +import createFlow from './_createFlow'; /** * Creates a function that returns the result of invoking the provided diff --git a/flowRight.js b/flowRight.js index 26c0c8321..fe6b55bb1 100644 --- a/flowRight.js +++ b/flowRight.js @@ -1,4 +1,4 @@ -import createFlow from './internal/createFlow'; +import createFlow from './_createFlow'; /** * This method is like `_.flow` except that it creates a function that diff --git a/forEach.js b/forEach.js index e8bd1f136..30055ac45 100644 --- a/forEach.js +++ b/forEach.js @@ -1,7 +1,7 @@ -import arrayEach from './internal/arrayEach'; -import baseEach from './internal/baseEach'; +import arrayEach from './_arrayEach'; +import baseEach from './_baseEach'; import isArray from './isArray'; -import toFunction from './internal/toFunction'; +import toFunction from './_toFunction'; /** * Iterates over elements of `collection` invoking `iteratee` for each element. diff --git a/forEachRight.js b/forEachRight.js index 7cc4270c8..2f1ec34ba 100644 --- a/forEachRight.js +++ b/forEachRight.js @@ -1,7 +1,7 @@ -import arrayEachRight from './internal/arrayEachRight'; -import baseEachRight from './internal/baseEachRight'; +import arrayEachRight from './_arrayEachRight'; +import baseEachRight from './_baseEachRight'; import isArray from './isArray'; -import toFunction from './internal/toFunction'; +import toFunction from './_toFunction'; /** * This method is like `_.forEach` except that it iterates over elements of diff --git a/forIn.js b/forIn.js index 28551a061..6ed3c1823 100644 --- a/forIn.js +++ b/forIn.js @@ -1,6 +1,6 @@ -import baseFor from './internal/baseFor'; +import baseFor from './_baseFor'; import keysIn from './keysIn'; -import toFunction from './internal/toFunction'; +import toFunction from './_toFunction'; /** * Iterates over own and inherited enumerable properties of an object invoking diff --git a/forInRight.js b/forInRight.js index 14e88c04a..516ba43f8 100644 --- a/forInRight.js +++ b/forInRight.js @@ -1,6 +1,6 @@ -import baseForRight from './internal/baseForRight'; +import baseForRight from './_baseForRight'; import keysIn from './keysIn'; -import toFunction from './internal/toFunction'; +import toFunction from './_toFunction'; /** * This method is like `_.forIn` except that it iterates over properties of diff --git a/forOwn.js b/forOwn.js index f667ea2d1..294ac1c9e 100644 --- a/forOwn.js +++ b/forOwn.js @@ -1,5 +1,5 @@ -import baseForOwn from './internal/baseForOwn'; -import toFunction from './internal/toFunction'; +import baseForOwn from './_baseForOwn'; +import toFunction from './_toFunction'; /** * Iterates over own enumerable properties of an object invoking `iteratee` diff --git a/forOwnRight.js b/forOwnRight.js index 58fc38cf9..504859a28 100644 --- a/forOwnRight.js +++ b/forOwnRight.js @@ -1,5 +1,5 @@ -import baseForOwnRight from './internal/baseForOwnRight'; -import toFunction from './internal/toFunction'; +import baseForOwnRight from './_baseForOwnRight'; +import toFunction from './_toFunction'; /** * This method is like `_.forOwn` except that it iterates over properties of diff --git a/functions.js b/functions.js index dd76adcde..7b3f22910 100644 --- a/functions.js +++ b/functions.js @@ -1,4 +1,4 @@ -import baseFunctions from './internal/baseFunctions'; +import baseFunctions from './_baseFunctions'; import keys from './keys'; /** diff --git a/functionsIn.js b/functionsIn.js index f88c57e95..7a836b928 100644 --- a/functionsIn.js +++ b/functionsIn.js @@ -1,4 +1,4 @@ -import baseFunctions from './internal/baseFunctions'; +import baseFunctions from './_baseFunctions'; import keysIn from './keysIn'; /** diff --git a/get.js b/get.js index 6a863a557..2ce768938 100644 --- a/get.js +++ b/get.js @@ -1,4 +1,4 @@ -import baseGet from './internal/baseGet'; +import baseGet from './_baseGet'; /** * Gets the value at `path` of `object`. If the resolved value is diff --git a/groupBy.js b/groupBy.js index da85bb703..e913b8d16 100644 --- a/groupBy.js +++ b/groupBy.js @@ -1,4 +1,4 @@ -import createAggregator from './internal/createAggregator'; +import createAggregator from './_createAggregator'; /** Used for built-in method references. */ var objectProto = Object.prototype; diff --git a/has.js b/has.js index 438179059..16527d60c 100644 --- a/has.js +++ b/has.js @@ -1,5 +1,5 @@ -import baseHas from './internal/baseHas'; -import hasPath from './internal/hasPath'; +import baseHas from './_baseHas'; +import hasPath from './_hasPath'; /** * Checks if `path` is a direct property of `object`. diff --git a/hasIn.js b/hasIn.js index a700e43d6..bfdfae2e9 100644 --- a/hasIn.js +++ b/hasIn.js @@ -1,5 +1,5 @@ -import baseHasIn from './internal/baseHasIn'; -import hasPath from './internal/hasPath'; +import baseHasIn from './_baseHasIn'; +import hasPath from './_hasPath'; /** * Checks if `path` is a direct or inherited property of `object`. diff --git a/inRange.js b/inRange.js index face7d88c..9c3b67788 100644 --- a/inRange.js +++ b/inRange.js @@ -1,4 +1,4 @@ -import baseInRange from './internal/baseInRange'; +import baseInRange from './_baseInRange'; import toNumber from './toNumber'; /** diff --git a/includes.js b/includes.js index a7f03cdd9..191111e2c 100644 --- a/includes.js +++ b/includes.js @@ -1,4 +1,4 @@ -import baseIndexOf from './internal/baseIndexOf'; +import baseIndexOf from './_baseIndexOf'; import isArrayLike from './isArrayLike'; import isString from './isString'; import toInteger from './toInteger'; diff --git a/indexOf.js b/indexOf.js index 25126230b..1b395acc2 100644 --- a/indexOf.js +++ b/indexOf.js @@ -1,4 +1,4 @@ -import baseIndexOf from './internal/baseIndexOf'; +import baseIndexOf from './_baseIndexOf'; import toInteger from './toInteger'; /* Built-in method references for those with the same name as other `lodash` methods. */ diff --git a/internal/createAggregator.js b/internal/createAggregator.js deleted file mode 100644 index f53259456..000000000 --- a/internal/createAggregator.js +++ /dev/null @@ -1,35 +0,0 @@ -import baseEach from './baseEach'; -import baseIteratee from './baseIteratee'; -import isArray from '../isArray'; - -/** - * Creates a function like `_.groupBy`. - * - * @private - * @param {Function} setter The function to set keys and values of the accumulator object. - * @param {Function} [initializer] The function to initialize the accumulator object. - * @returns {Function} Returns the new aggregator function. - */ -function createAggregator(setter, initializer) { - return function(collection, iteratee) { - var result = initializer ? initializer() : {}; - iteratee = baseIteratee(iteratee); - - if (isArray(collection)) { - var index = -1, - length = collection.length; - - while (++index < length) { - var value = collection[index]; - setter(result, value, iteratee(value), collection); - } - } else { - baseEach(collection, function(value, key, collection) { - setter(result, value, iteratee(value), collection); - }); - } - return result; - }; -} - -export default createAggregator; diff --git a/intersection.js b/intersection.js index f8c48a112..8d03b3195 100644 --- a/intersection.js +++ b/intersection.js @@ -1,7 +1,7 @@ -import arrayMap from './internal/arrayMap'; -import baseIntersection from './internal/baseIntersection'; +import arrayMap from './_arrayMap'; +import baseIntersection from './_baseIntersection'; import rest from './rest'; -import toArrayLikeObject from './internal/toArrayLikeObject'; +import toArrayLikeObject from './_toArrayLikeObject'; /** * Creates an array of unique values that are included in all of the provided diff --git a/intersectionBy.js b/intersectionBy.js index ff8cd2870..6201dc1a9 100644 --- a/intersectionBy.js +++ b/intersectionBy.js @@ -1,9 +1,9 @@ -import arrayMap from './internal/arrayMap'; -import baseIntersection from './internal/baseIntersection'; -import baseIteratee from './internal/baseIteratee'; +import arrayMap from './_arrayMap'; +import baseIntersection from './_baseIntersection'; +import baseIteratee from './_baseIteratee'; import last from './last'; import rest from './rest'; -import toArrayLikeObject from './internal/toArrayLikeObject'; +import toArrayLikeObject from './_toArrayLikeObject'; /** * This method is like `_.intersection` except that it accepts `iteratee` diff --git a/intersectionWith.js b/intersectionWith.js index 8a4076246..4dc7a6766 100644 --- a/intersectionWith.js +++ b/intersectionWith.js @@ -1,8 +1,8 @@ -import arrayMap from './internal/arrayMap'; -import baseIntersection from './internal/baseIntersection'; +import arrayMap from './_arrayMap'; +import baseIntersection from './_baseIntersection'; import last from './last'; import rest from './rest'; -import toArrayLikeObject from './internal/toArrayLikeObject'; +import toArrayLikeObject from './_toArrayLikeObject'; /** * This method is like `_.intersection` except that it accepts `comparator` diff --git a/invert.js b/invert.js index 9743942c9..607f61b01 100644 --- a/invert.js +++ b/invert.js @@ -1,23 +1,16 @@ -import arrayReduce from './internal/arrayReduce'; -import keys from './keys'; - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; +import constant from './constant'; +import createInverter from './_createInverter'; +import identity from './identity'; /** * 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 `multiVal` is `true`. + * assignments of previous values. * * @static * @memberOf _ * @category Object * @param {Object} object The object to invert. - * @param {boolean} [multiVal] Allow multiple values per key. - * @param- {Object} [guard] Enables use as an iteratee for functions like `_.map`. * @returns {Object} Returns the new inverted object. * @example * @@ -25,26 +18,9 @@ var hasOwnProperty = objectProto.hasOwnProperty; * * _.invert(object); * // => { '1': 'c', '2': 'b' } - * - * // with `multiVal` - * _.invert(object, true); - * // => { '1': ['a', 'c'], '2': ['b'] } */ -function invert(object, multiVal, guard) { - return arrayReduce(keys(object), function(result, key) { - var value = object[key]; - if (multiVal && !guard) { - if (hasOwnProperty.call(result, value)) { - result[value].push(key); - } else { - result[value] = [key]; - } - } - else { - result[value] = key; - } - return result; - }, {}); -} +var invert = createInverter(function(result, value, key) { + result[value] = key; +}, constant(identity)); export default invert; diff --git a/invertBy.js b/invertBy.js new file mode 100644 index 000000000..584722f5e --- /dev/null +++ b/invertBy.js @@ -0,0 +1,43 @@ +import baseIteratee from './_baseIteratee'; +import createInverter from './_createInverter'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * 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). + * + * @static + * @memberOf _ + * @category Object + * @param {Object} object The object to invert. + * @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invertBy(object); + * // => { '1': ['a', 'c'], '2': ['b'] } + * + * _.invertBy(object, function(value) { + * return 'group' + value; + * }); + * // => { 'group1': ['a', 'c'], 'group2': ['b'] } + */ +var invertBy = createInverter(function(result, value, key) { + if (hasOwnProperty.call(result, value)) { + result[value].push(key); + } else { + result[value] = [key]; + } +}, baseIteratee); + +export default invertBy; diff --git a/invoke.js b/invoke.js index 42d4e76a7..375d99808 100644 --- a/invoke.js +++ b/invoke.js @@ -1,4 +1,4 @@ -import baseInvoke from './internal/baseInvoke'; +import baseInvoke from './_baseInvoke'; import rest from './rest'; /** diff --git a/invokeMap.js b/invokeMap.js index becc750e2..1a46218a2 100644 --- a/invokeMap.js +++ b/invokeMap.js @@ -1,8 +1,8 @@ -import apply from './internal/apply'; -import baseEach from './internal/baseEach'; -import baseInvoke from './internal/baseInvoke'; +import apply from './_apply'; +import baseEach from './_baseEach'; +import baseInvoke from './_baseInvoke'; import isArrayLike from './isArrayLike'; -import isKey from './internal/isKey'; +import isKey from './_isKey'; import rest from './rest'; /** diff --git a/isArrayLike.js b/isArrayLike.js index e4614b565..981e18600 100644 --- a/isArrayLike.js +++ b/isArrayLike.js @@ -1,4 +1,4 @@ -import getLength from './internal/getLength'; +import getLength from './_getLength'; import isFunction from './isFunction'; import isLength from './isLength'; diff --git a/isEmpty.js b/isEmpty.js index dc5d66203..64f348e28 100644 --- a/isEmpty.js +++ b/isEmpty.js @@ -1,7 +1,14 @@ +import isArguments from './isArguments'; +import isArray from './isArray'; +import isArrayLike from './isArrayLike'; import isFunction from './isFunction'; -import isObjectLike from './isObjectLike'; -import keys from './keys'; -import size from './size'; +import isString from './isString'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; /** * Checks if `value` is empty. A value is considered empty unless it's an @@ -31,9 +38,16 @@ import size from './size'; * // => false */ function isEmpty(value) { - return (!isObjectLike(value) || isFunction(value.splice)) - ? !size(value) - : !keys(value).length; + if (isArrayLike(value) && + (isArray(value) || isString(value) || isFunction(value.splice) || isArguments(value))) { + return !value.length; + } + for (var key in value) { + if (hasOwnProperty.call(value, key)) { + return false; + } + } + return true; } export default isEmpty; diff --git a/isEqual.js b/isEqual.js index 586548aa1..fdd02369c 100644 --- a/isEqual.js +++ b/isEqual.js @@ -1,4 +1,4 @@ -import baseIsEqual from './internal/baseIsEqual'; +import baseIsEqual from './_baseIsEqual'; /** * Performs a deep comparison between two values to determine if they are diff --git a/isEqualWith.js b/isEqualWith.js index c363ae1d1..0518f08ff 100644 --- a/isEqualWith.js +++ b/isEqualWith.js @@ -1,4 +1,4 @@ -import baseIsEqual from './internal/baseIsEqual'; +import baseIsEqual from './_baseIsEqual'; /** * This method is like `_.isEqual` except that it accepts `customizer` which is diff --git a/isFinite.js b/isFinite.js index 057d5db27..e0ea97e2d 100644 --- a/isFinite.js +++ b/isFinite.js @@ -1,4 +1,4 @@ -import root from './internal/root'; +import root from './_root'; /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeIsFinite = root.isFinite; diff --git a/isMatch.js b/isMatch.js index e32ffec0c..c49669a93 100644 --- a/isMatch.js +++ b/isMatch.js @@ -1,5 +1,5 @@ -import baseIsMatch from './internal/baseIsMatch'; -import getMatchData from './internal/getMatchData'; +import baseIsMatch from './_baseIsMatch'; +import getMatchData from './_getMatchData'; /** * Performs a deep comparison between `object` and `source` to determine if diff --git a/isMatchWith.js b/isMatchWith.js index 71d7c1ff7..b141032bd 100644 --- a/isMatchWith.js +++ b/isMatchWith.js @@ -1,5 +1,5 @@ -import baseIsMatch from './internal/baseIsMatch'; -import getMatchData from './internal/getMatchData'; +import baseIsMatch from './_baseIsMatch'; +import getMatchData from './_getMatchData'; /** * This method is like `_.isMatch` except that it accepts `customizer` which diff --git a/isNative.js b/isNative.js index 18bf0432e..d0b25303a 100644 --- a/isNative.js +++ b/isNative.js @@ -1,5 +1,5 @@ import isFunction from './isFunction'; -import isHostObject from './internal/isHostObject'; +import isHostObject from './_isHostObject'; import isObjectLike from './isObjectLike'; /** Used to match `RegExp` [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns). */ diff --git a/isObject.js b/isObject.js index 8aebc4b8d..524064d95 100644 --- a/isObject.js +++ b/isObject.js @@ -22,8 +22,6 @@ * // => false */ function isObject(value) { - // Avoid a V8 JIT bug in Chrome 19-20. - // See https://code.google.com/p/v8/issues/detail?id=2291 for more details. var type = typeof value; return !!value && (type == 'object' || type == 'function'); } diff --git a/isPlainObject.js b/isPlainObject.js index dcef5ebc6..2b15908a5 100644 --- a/isPlainObject.js +++ b/isPlainObject.js @@ -1,4 +1,4 @@ -import isHostObject from './internal/isHostObject'; +import isHostObject from './_isHostObject'; import isObjectLike from './isObjectLike'; /** `Object#toString` result references. */ diff --git a/iteratee.js b/iteratee.js index 7e6a5ba2a..285459f10 100644 --- a/iteratee.js +++ b/iteratee.js @@ -1,4 +1,4 @@ -import baseIteratee from './internal/baseIteratee'; +import baseIteratee from './_baseIteratee'; import isArray from './isArray'; import isObjectLike from './isObjectLike'; import matches from './matches'; diff --git a/kebabCase.js b/kebabCase.js index 3af75437e..b0bf2fc2f 100644 --- a/kebabCase.js +++ b/kebabCase.js @@ -1,4 +1,4 @@ -import createCompounder from './internal/createCompounder'; +import createCompounder from './_createCompounder'; /** * Converts `string` to [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). diff --git a/keyBy.js b/keyBy.js index 6e745c1e2..ca8ba1d1f 100644 --- a/keyBy.js +++ b/keyBy.js @@ -1,4 +1,4 @@ -import createAggregator from './internal/createAggregator'; +import createAggregator from './_createAggregator'; /** * Creates an object composed of keys generated from the results of running @@ -14,17 +14,17 @@ import createAggregator from './internal/createAggregator'; * @returns {Object} Returns the composed aggregate object. * @example * - * var keyData = [ + * var array = [ * { 'dir': 'left', 'code': 97 }, * { 'dir': 'right', 'code': 100 } * ]; * - * _.keyBy(keyData, function(o) { + * _.keyBy(array, function(o) { * return String.fromCharCode(o.code); * }); * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } * - * _.keyBy(keyData, 'dir'); + * _.keyBy(array, 'dir'); * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } */ var keyBy = createAggregator(function(result, value, key) { diff --git a/keys.js b/keys.js index 71dd5436d..a50a26ed6 100644 --- a/keys.js +++ b/keys.js @@ -1,9 +1,9 @@ -import baseHas from './internal/baseHas'; -import baseKeys from './internal/baseKeys'; -import indexKeys from './internal/indexKeys'; +import baseHas from './_baseHas'; +import baseKeys from './_baseKeys'; +import indexKeys from './_indexKeys'; import isArrayLike from './isArrayLike'; -import isIndex from './internal/isIndex'; -import isPrototype from './internal/isPrototype'; +import isIndex from './_isIndex'; +import isPrototype from './_isPrototype'; /** * Creates an array of the own enumerable property names of `object`. diff --git a/keysIn.js b/keysIn.js index d3e06e263..cb5f83cc7 100644 --- a/keysIn.js +++ b/keysIn.js @@ -1,7 +1,7 @@ -import baseKeysIn from './internal/baseKeysIn'; -import indexKeys from './internal/indexKeys'; -import isIndex from './internal/isIndex'; -import isPrototype from './internal/isPrototype'; +import baseKeysIn from './_baseKeysIn'; +import indexKeys from './_indexKeys'; +import isIndex from './_isIndex'; +import isPrototype from './_isPrototype'; /** Used for built-in method references. */ var objectProto = Object.prototype; diff --git a/lastIndexOf.js b/lastIndexOf.js index eb56fbc58..3157ef3b3 100644 --- a/lastIndexOf.js +++ b/lastIndexOf.js @@ -1,4 +1,4 @@ -import indexOfNaN from './internal/indexOfNaN'; +import indexOfNaN from './_indexOfNaN'; import toInteger from './toInteger'; /* Built-in method references for those with the same name as other `lodash` methods. */ diff --git a/lodash.default.js b/lodash.default.js index 8f38b6988..92859581d 100644 --- a/lodash.default.js +++ b/lodash.default.js @@ -1,6 +1,6 @@ /** * @license - * lodash 4.0.1 (Custom Build) + * lodash 4.1.0 (Custom Build) * Build: `lodash modularize exports="es" -o ./` * Copyright 2012-2016 The Dojo Foundation * Based on Underscore.js 1.8.3 @@ -18,33 +18,33 @@ import object from './object'; import seq from './seq'; import string from './string'; import util from './util'; -import LazyWrapper from './internal/LazyWrapper'; -import LodashWrapper from './internal/LodashWrapper'; -import Symbol from './internal/Symbol'; -import arrayEach from './internal/arrayEach'; -import arrayPush from './internal/arrayPush'; -import baseForOwn from './internal/baseForOwn'; -import baseFunctions from './internal/baseFunctions'; -import baseInvoke from './internal/baseInvoke'; -import baseIteratee from './internal/baseIteratee'; -import createHybridWrapper from './internal/createHybridWrapper'; +import LazyWrapper from './_LazyWrapper'; +import LodashWrapper from './_LodashWrapper'; +import Symbol from './_Symbol'; +import arrayEach from './_arrayEach'; +import arrayPush from './_arrayPush'; +import baseForOwn from './_baseForOwn'; +import baseFunctions from './_baseFunctions'; +import baseInvoke from './_baseInvoke'; +import baseIteratee from './_baseIteratee'; +import createHybridWrapper from './_createHybridWrapper'; import identity from './identity'; import isArray from './isArray'; import isObject from './isObject'; import keys from './keys'; import last from './last'; -import lazyClone from './internal/lazyClone'; -import lazyReverse from './internal/lazyReverse'; -import lazyValue from './internal/lazyValue'; +import lazyClone from './_lazyClone'; +import lazyReverse from './_lazyReverse'; +import lazyValue from './_lazyValue'; import _mixin from './mixin'; -import realNames from './internal/realNames'; +import realNames from './_realNames'; import rest from './rest'; import thru from './thru'; import toInteger from './toInteger'; import lodash from './wrapperLodash'; /** Used as the semantic version number. */ -var VERSION = '4.0.1'; +var VERSION = '4.1.0'; /** Used to compose bitmasks for wrapper metadata. */ var BIND_KEY_FLAG = 2; @@ -140,6 +140,7 @@ lodash.intersection = array.intersection; lodash.intersectionBy = array.intersectionBy; lodash.intersectionWith = array.intersectionWith; lodash.invert = object.invert; +lodash.invertBy = object.invertBy; lodash.invokeMap = collection.invokeMap; lodash.iteratee = util.iteratee; lodash.keyBy = collection.keyBy; @@ -228,6 +229,7 @@ lodash.xorBy = array.xorBy; lodash.xorWith = array.xorWith; lodash.zip = array.zip; lodash.zipObject = array.zipObject; +lodash.zipObjectDeep = array.zipObjectDeep; lodash.zipWith = array.zipWith; // Add aliases. diff --git a/lodash.js b/lodash.js index 78706c40f..8851f4ad1 100644 --- a/lodash.js +++ b/lodash.js @@ -1,6 +1,6 @@ /** * @license - * lodash 4.0.1 (Custom Build) + * lodash 4.1.0 (Custom Build) * Build: `lodash modularize exports="es" -o ./` * Copyright 2012-2016 The Dojo Foundation * Based on Underscore.js 1.8.3 @@ -102,6 +102,7 @@ export { default as intersection } from './intersection'; export { default as intersectionBy } from './intersectionBy'; export { default as intersectionWith } from './intersectionWith'; export { default as invert } from './invert'; +export { default as invertBy } from './invertBy'; export { default as invoke } from './invoke'; export { default as invokeMap } from './invokeMap'; export { default as isArguments } from './isArguments'; @@ -298,5 +299,6 @@ export { default as xorBy } from './xorBy'; export { default as xorWith } from './xorWith'; export { default as zip } from './zip'; export { default as zipObject } from './zipObject'; +export { default as zipObjectDeep } from './zipObjectDeep'; export { default as zipWith } from './zipWith'; export { default as default } from './lodash.default'; diff --git a/lowerCase.js b/lowerCase.js index e06f7b18b..075654455 100644 --- a/lowerCase.js +++ b/lowerCase.js @@ -1,4 +1,4 @@ -import createCompounder from './internal/createCompounder'; +import createCompounder from './_createCompounder'; /** * Converts `string`, as space separated words, to lower case. diff --git a/lowerFirst.js b/lowerFirst.js index f5f6a4fc6..af298e7e9 100644 --- a/lowerFirst.js +++ b/lowerFirst.js @@ -1,4 +1,4 @@ -import createCaseFirst from './internal/createCaseFirst'; +import createCaseFirst from './_createCaseFirst'; /** * Converts the first character of `string` to lower case. diff --git a/map.js b/map.js index 4a9a8d721..e41fca95e 100644 --- a/map.js +++ b/map.js @@ -1,6 +1,6 @@ -import arrayMap from './internal/arrayMap'; -import baseIteratee from './internal/baseIteratee'; -import baseMap from './internal/baseMap'; +import arrayMap from './_arrayMap'; +import baseIteratee from './_baseIteratee'; +import baseMap from './_baseMap'; import isArray from './isArray'; /** diff --git a/mapKeys.js b/mapKeys.js index d1394242f..c0b7e3b86 100644 --- a/mapKeys.js +++ b/mapKeys.js @@ -1,5 +1,5 @@ -import baseForOwn from './internal/baseForOwn'; -import baseIteratee from './internal/baseIteratee'; +import baseForOwn from './_baseForOwn'; +import baseIteratee from './_baseIteratee'; /** * The opposite of `_.mapValues`; this method creates an object with the diff --git a/mapValues.js b/mapValues.js index 13e1c8326..75478dd8d 100644 --- a/mapValues.js +++ b/mapValues.js @@ -1,5 +1,5 @@ -import baseForOwn from './internal/baseForOwn'; -import baseIteratee from './internal/baseIteratee'; +import baseForOwn from './_baseForOwn'; +import baseIteratee from './_baseIteratee'; /** * Creates an object with the same keys as `object` and values generated by diff --git a/matches.js b/matches.js index e3b06506a..f8c3cd2da 100644 --- a/matches.js +++ b/matches.js @@ -1,5 +1,5 @@ -import baseClone from './internal/baseClone'; -import baseMatches from './internal/baseMatches'; +import baseClone from './_baseClone'; +import baseMatches from './_baseMatches'; /** * Creates a function that performs a deep partial comparison between a given diff --git a/matchesProperty.js b/matchesProperty.js index 39a54663e..52d24ec41 100644 --- a/matchesProperty.js +++ b/matchesProperty.js @@ -1,5 +1,5 @@ -import baseClone from './internal/baseClone'; -import baseMatchesProperty from './internal/baseMatchesProperty'; +import baseClone from './_baseClone'; +import baseMatchesProperty from './_baseMatchesProperty'; /** * Creates a function that performs a deep partial comparison between the diff --git a/max.js b/max.js index 0efe10a55..588add547 100644 --- a/max.js +++ b/max.js @@ -1,4 +1,4 @@ -import baseExtremum from './internal/baseExtremum'; +import baseExtremum from './_baseExtremum'; import gt from './gt'; import identity from './identity'; diff --git a/maxBy.js b/maxBy.js index 4a058a375..b43221569 100644 --- a/maxBy.js +++ b/maxBy.js @@ -1,5 +1,5 @@ -import baseExtremum from './internal/baseExtremum'; -import baseIteratee from './internal/baseIteratee'; +import baseExtremum from './_baseExtremum'; +import baseIteratee from './_baseIteratee'; import gt from './gt'; /** diff --git a/memoize.js b/memoize.js index 42577daf5..4fc43356b 100644 --- a/memoize.js +++ b/memoize.js @@ -1,4 +1,4 @@ -import MapCache from './internal/MapCache'; +import MapCache from './_MapCache'; /** Used as the `TypeError` message for "Functions" methods. */ var FUNC_ERROR_TEXT = 'Expected a function'; diff --git a/merge.js b/merge.js index 355fccd90..85cc86409 100644 --- a/merge.js +++ b/merge.js @@ -1,5 +1,5 @@ -import baseMerge from './internal/baseMerge'; -import createAssigner from './internal/createAssigner'; +import baseMerge from './_baseMerge'; +import createAssigner from './_createAssigner'; /** * Recursively merges own and inherited enumerable properties of source diff --git a/mergeWith.js b/mergeWith.js index 69a584891..508bc10bd 100644 --- a/mergeWith.js +++ b/mergeWith.js @@ -1,5 +1,5 @@ -import baseMerge from './internal/baseMerge'; -import createAssigner from './internal/createAssigner'; +import baseMerge from './_baseMerge'; +import createAssigner from './_createAssigner'; /** * This method is like `_.merge` except that it accepts `customizer` which diff --git a/method.js b/method.js index cb951de9c..dfce962a4 100644 --- a/method.js +++ b/method.js @@ -1,4 +1,4 @@ -import baseInvoke from './internal/baseInvoke'; +import baseInvoke from './_baseInvoke'; import rest from './rest'; /** diff --git a/methodOf.js b/methodOf.js index dfdfb7cb8..d807b604b 100644 --- a/methodOf.js +++ b/methodOf.js @@ -1,4 +1,4 @@ -import baseInvoke from './internal/baseInvoke'; +import baseInvoke from './_baseInvoke'; import rest from './rest'; /** diff --git a/min.js b/min.js index 631fa4473..c1d9c38bf 100644 --- a/min.js +++ b/min.js @@ -1,4 +1,4 @@ -import baseExtremum from './internal/baseExtremum'; +import baseExtremum from './_baseExtremum'; import identity from './identity'; import lt from './lt'; diff --git a/minBy.js b/minBy.js index 7e21fec56..1edb69fc7 100644 --- a/minBy.js +++ b/minBy.js @@ -1,5 +1,5 @@ -import baseExtremum from './internal/baseExtremum'; -import baseIteratee from './internal/baseIteratee'; +import baseExtremum from './_baseExtremum'; +import baseIteratee from './_baseIteratee'; import lt from './lt'; /** diff --git a/mixin.js b/mixin.js index 822d9bde2..46c53688a 100644 --- a/mixin.js +++ b/mixin.js @@ -1,7 +1,7 @@ -import arrayEach from './internal/arrayEach'; -import arrayPush from './internal/arrayPush'; -import baseFunctions from './internal/baseFunctions'; -import copyArray from './internal/copyArray'; +import arrayEach from './_arrayEach'; +import arrayPush from './_arrayPush'; +import baseFunctions from './_baseFunctions'; +import copyArray from './_copyArray'; import isFunction from './isFunction'; import isObject from './isObject'; import keys from './keys'; diff --git a/object.default.js b/object.default.js index b4c6411e6..30ef1a8fb 100644 --- a/object.default.js +++ b/object.default.js @@ -19,6 +19,7 @@ import get from './get'; import has from './has'; import hasIn from './hasIn'; import invert from './invert'; +import invertBy from './invertBy'; import invoke from './invoke'; import keys from './keys'; import keysIn from './keysIn'; @@ -45,9 +46,9 @@ export default { defaults, defaultsDeep, extend, extendWith, findKey, findLastKey, forIn, forInRight, forOwn, forOwnRight, functions, functionsIn, get, has, hasIn, - invert, invoke, keys, keysIn, mapKeys, - mapValues, merge, mergeWith, omit, omitBy, - pick, pickBy, result, set, setWith, - toPairs, toPairsIn, transform, unset, values, - valuesIn + invert, invertBy, invoke, keys, keysIn, + mapKeys, mapValues, merge, mergeWith, omit, + omitBy, pick, pickBy, result, set, + setWith, toPairs, toPairsIn, transform, unset, + values, valuesIn }; diff --git a/object.js b/object.js index 79bb6ef76..8826ba4fb 100644 --- a/object.js +++ b/object.js @@ -19,6 +19,7 @@ export { default as get } from './get'; export { default as has } from './has'; export { default as hasIn } from './hasIn'; export { default as invert } from './invert'; +export { default as invertBy } from './invertBy'; export { default as invoke } from './invoke'; export { default as keys } from './keys'; export { default as keysIn } from './keysIn'; diff --git a/omit.js b/omit.js index ed341bce8..c073d0bd3 100644 --- a/omit.js +++ b/omit.js @@ -1,7 +1,7 @@ -import arrayMap from './internal/arrayMap'; -import baseDifference from './internal/baseDifference'; -import baseFlatten from './internal/baseFlatten'; -import basePick from './internal/basePick'; +import arrayMap from './_arrayMap'; +import baseDifference from './_baseDifference'; +import baseFlatten from './_baseFlatten'; +import basePick from './_basePick'; import keysIn from './keysIn'; import rest from './rest'; diff --git a/omitBy.js b/omitBy.js index 56179f798..f61c3dabd 100644 --- a/omitBy.js +++ b/omitBy.js @@ -1,5 +1,5 @@ -import baseIteratee from './internal/baseIteratee'; -import basePickBy from './internal/basePickBy'; +import baseIteratee from './_baseIteratee'; +import basePickBy from './_basePickBy'; /** * The opposite of `_.pickBy`; this method creates an object composed of the diff --git a/orderBy.js b/orderBy.js index dd3c2a6d8..94dd9ae22 100644 --- a/orderBy.js +++ b/orderBy.js @@ -1,4 +1,4 @@ -import baseOrderBy from './internal/baseOrderBy'; +import baseOrderBy from './_baseOrderBy'; import isArray from './isArray'; /** diff --git a/over.js b/over.js index 38502a411..6a0444f88 100644 --- a/over.js +++ b/over.js @@ -1,5 +1,5 @@ -import arrayMap from './internal/arrayMap'; -import createOver from './internal/createOver'; +import arrayMap from './_arrayMap'; +import createOver from './_createOver'; /** * Creates a function that invokes `iteratees` with the arguments provided diff --git a/overArgs.js b/overArgs.js index 5929f42b7..fde6c73c3 100644 --- a/overArgs.js +++ b/overArgs.js @@ -1,7 +1,7 @@ -import apply from './internal/apply'; -import arrayMap from './internal/arrayMap'; -import baseFlatten from './internal/baseFlatten'; -import baseIteratee from './internal/baseIteratee'; +import apply from './_apply'; +import arrayMap from './_arrayMap'; +import baseFlatten from './_baseFlatten'; +import baseIteratee from './_baseIteratee'; import rest from './rest'; /* Built-in method references for those with the same name as other `lodash` methods. */ diff --git a/overEvery.js b/overEvery.js index 922624d77..df70e6da3 100644 --- a/overEvery.js +++ b/overEvery.js @@ -1,5 +1,5 @@ -import arrayEvery from './internal/arrayEvery'; -import createOver from './internal/createOver'; +import arrayEvery from './_arrayEvery'; +import createOver from './_createOver'; /** * Creates a function that checks if **all** of the `predicates` return diff --git a/overSome.js b/overSome.js index 1e41a8b16..d1a5d9d56 100644 --- a/overSome.js +++ b/overSome.js @@ -1,5 +1,5 @@ -import arraySome from './internal/arraySome'; -import createOver from './internal/createOver'; +import arraySome from './_arraySome'; +import createOver from './_createOver'; /** * Creates a function that checks if **any** of the `predicates` return diff --git a/package.json b/package.json index 333c422dc..17a6fe3a1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lodash-es", - "version": "4.0.1", + "version": "4.1.0", "description": "Lodash exported as ES modules.", "homepage": "https://lodash.com/custom-builds", "license": "MIT", diff --git a/pad.js b/pad.js index 887959d2f..61fa8b815 100644 --- a/pad.js +++ b/pad.js @@ -1,5 +1,5 @@ -import createPadding from './internal/createPadding'; -import stringSize from './internal/stringSize'; +import createPadding from './_createPadding'; +import stringSize from './_stringSize'; import toInteger from './toInteger'; import toString from './toString'; diff --git a/padEnd.js b/padEnd.js index ada5680fe..cc266cd31 100644 --- a/padEnd.js +++ b/padEnd.js @@ -1,4 +1,4 @@ -import createPadding from './internal/createPadding'; +import createPadding from './_createPadding'; import toString from './toString'; /** diff --git a/padStart.js b/padStart.js index 4cf076fa1..c788b84f8 100644 --- a/padStart.js +++ b/padStart.js @@ -1,4 +1,4 @@ -import createPadding from './internal/createPadding'; +import createPadding from './_createPadding'; import toString from './toString'; /** diff --git a/parseInt.js b/parseInt.js index 62363f2a2..f99099a56 100644 --- a/parseInt.js +++ b/parseInt.js @@ -1,4 +1,4 @@ -import root from './internal/root'; +import root from './_root'; import toString from './toString'; /** Used to match leading and trailing whitespace. */ diff --git a/partial.js b/partial.js index a07c855f2..8de56f127 100644 --- a/partial.js +++ b/partial.js @@ -1,5 +1,5 @@ -import createWrapper from './internal/createWrapper'; -import replaceHolders from './internal/replaceHolders'; +import createWrapper from './_createWrapper'; +import replaceHolders from './_replaceHolders'; import rest from './rest'; /** Used to compose bitmasks for wrapper metadata. */ diff --git a/partialRight.js b/partialRight.js index 1fd853b7a..9c09f49e6 100644 --- a/partialRight.js +++ b/partialRight.js @@ -1,5 +1,5 @@ -import createWrapper from './internal/createWrapper'; -import replaceHolders from './internal/replaceHolders'; +import createWrapper from './_createWrapper'; +import replaceHolders from './_replaceHolders'; import rest from './rest'; /** Used to compose bitmasks for wrapper metadata. */ diff --git a/partition.js b/partition.js index ec503d92a..524a8d321 100644 --- a/partition.js +++ b/partition.js @@ -1,4 +1,4 @@ -import createAggregator from './internal/createAggregator'; +import createAggregator from './_createAggregator'; /** * Creates an array of elements split into two groups, the first of which diff --git a/pick.js b/pick.js index f3b83631d..9be4baf7c 100644 --- a/pick.js +++ b/pick.js @@ -1,5 +1,5 @@ -import baseFlatten from './internal/baseFlatten'; -import basePick from './internal/basePick'; +import baseFlatten from './_baseFlatten'; +import basePick from './_basePick'; import rest from './rest'; /** diff --git a/pickBy.js b/pickBy.js index 86f7bf2c3..2ec375349 100644 --- a/pickBy.js +++ b/pickBy.js @@ -1,5 +1,5 @@ -import baseIteratee from './internal/baseIteratee'; -import basePickBy from './internal/basePickBy'; +import baseIteratee from './_baseIteratee'; +import basePickBy from './_basePickBy'; /** * Creates an object composed of the `object` properties `predicate` returns diff --git a/plant.js b/plant.js index 4adaedcac..339412d60 100644 --- a/plant.js +++ b/plant.js @@ -1,5 +1,5 @@ -import baseLodash from './internal/baseLodash'; -import wrapperClone from './internal/wrapperClone'; +import baseLodash from './_baseLodash'; +import wrapperClone from './_wrapperClone'; /** * Creates a clone of the chained sequence planting `value` as the wrapped value. diff --git a/property.js b/property.js index 534035f60..daeea29f9 100644 --- a/property.js +++ b/property.js @@ -1,6 +1,6 @@ -import baseProperty from './internal/baseProperty'; -import basePropertyDeep from './internal/basePropertyDeep'; -import isKey from './internal/isKey'; +import baseProperty from './_baseProperty'; +import basePropertyDeep from './_basePropertyDeep'; +import isKey from './_isKey'; /** * Creates a function that returns the value at `path` of a given object. diff --git a/propertyOf.js b/propertyOf.js index 9e4d9349e..cf4614545 100644 --- a/propertyOf.js +++ b/propertyOf.js @@ -1,4 +1,4 @@ -import baseGet from './internal/baseGet'; +import baseGet from './_baseGet'; /** * The opposite of `_.property`; this method creates a function that returns diff --git a/pullAll.js b/pullAll.js index eaa1d1fdd..abb00ed8f 100644 --- a/pullAll.js +++ b/pullAll.js @@ -1,4 +1,4 @@ -import basePullAll from './internal/basePullAll'; +import basePullAll from './_basePullAll'; /** * This method is like `_.pull` except that it accepts an array of values to remove. diff --git a/pullAllBy.js b/pullAllBy.js index e9325f47d..162f98feb 100644 --- a/pullAllBy.js +++ b/pullAllBy.js @@ -1,5 +1,5 @@ -import baseIteratee from './internal/baseIteratee'; -import basePullAllBy from './internal/basePullAllBy'; +import baseIteratee from './_baseIteratee'; +import basePullAllBy from './_basePullAllBy'; /** * This method is like `_.pullAll` except that it accepts `iteratee` which is diff --git a/pullAt.js b/pullAt.js index c99e08049..28f1eb679 100644 --- a/pullAt.js +++ b/pullAt.js @@ -1,8 +1,8 @@ -import arrayMap from './internal/arrayMap'; -import baseAt from './internal/baseAt'; -import baseFlatten from './internal/baseFlatten'; -import basePullAt from './internal/basePullAt'; -import compareAscending from './internal/compareAscending'; +import arrayMap from './_arrayMap'; +import baseAt from './_baseAt'; +import baseFlatten from './_baseFlatten'; +import basePullAt from './_basePullAt'; +import compareAscending from './_compareAscending'; import rest from './rest'; /** diff --git a/random.js b/random.js index 5f23877c5..181e48ab0 100644 --- a/random.js +++ b/random.js @@ -1,5 +1,5 @@ -import baseRandom from './internal/baseRandom'; -import isIterateeCall from './internal/isIterateeCall'; +import baseRandom from './_baseRandom'; +import isIterateeCall from './_isIterateeCall'; import toNumber from './toNumber'; /** Built-in method references without a dependency on `root`. */ diff --git a/range.js b/range.js index 2883bfd82..e9c959648 100644 --- a/range.js +++ b/range.js @@ -1,4 +1,4 @@ -import createRange from './internal/createRange'; +import createRange from './_createRange'; /** * Creates an array of numbers (positive and/or negative) progressing from diff --git a/rangeRight.js b/rangeRight.js index fc3f7d511..f3f602eda 100644 --- a/rangeRight.js +++ b/rangeRight.js @@ -1,4 +1,4 @@ -import createRange from './internal/createRange'; +import createRange from './_createRange'; /** * This method is like `_.range` except that it populates values in diff --git a/rearg.js b/rearg.js index ea11ab4f5..720f05c9f 100644 --- a/rearg.js +++ b/rearg.js @@ -1,5 +1,5 @@ -import baseFlatten from './internal/baseFlatten'; -import createWrapper from './internal/createWrapper'; +import baseFlatten from './_baseFlatten'; +import createWrapper from './_createWrapper'; import rest from './rest'; /** Used to compose bitmasks for wrapper metadata. */ diff --git a/reduce.js b/reduce.js index 578f46d9f..84f30363c 100644 --- a/reduce.js +++ b/reduce.js @@ -1,7 +1,7 @@ -import arrayReduce from './internal/arrayReduce'; -import baseEach from './internal/baseEach'; -import baseIteratee from './internal/baseIteratee'; -import baseReduce from './internal/baseReduce'; +import arrayReduce from './_arrayReduce'; +import baseEach from './_baseEach'; +import baseIteratee from './_baseIteratee'; +import baseReduce from './_baseReduce'; import isArray from './isArray'; /** @@ -30,7 +30,7 @@ import isArray from './isArray'; * * _.reduce([1, 2], function(sum, n) { * return sum + n; - * }); + * }, 0); * // => 3 * * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { diff --git a/reduceRight.js b/reduceRight.js index baf846c4c..21e3e284b 100644 --- a/reduceRight.js +++ b/reduceRight.js @@ -1,7 +1,7 @@ -import arrayReduceRight from './internal/arrayReduceRight'; -import baseEachRight from './internal/baseEachRight'; -import baseIteratee from './internal/baseIteratee'; -import baseReduce from './internal/baseReduce'; +import arrayReduceRight from './_arrayReduceRight'; +import baseEachRight from './_baseEachRight'; +import baseIteratee from './_baseIteratee'; +import baseReduce from './_baseReduce'; import isArray from './isArray'; /** diff --git a/reject.js b/reject.js index 8651c1312..d61f39acc 100644 --- a/reject.js +++ b/reject.js @@ -1,6 +1,6 @@ -import arrayFilter from './internal/arrayFilter'; -import baseFilter from './internal/baseFilter'; -import baseIteratee from './internal/baseIteratee'; +import arrayFilter from './_arrayFilter'; +import baseFilter from './_baseFilter'; +import baseIteratee from './_baseIteratee'; import isArray from './isArray'; /** diff --git a/remove.js b/remove.js index ffa05fbf5..c929c55cf 100644 --- a/remove.js +++ b/remove.js @@ -1,5 +1,5 @@ -import baseIteratee from './internal/baseIteratee'; -import basePullAt from './internal/basePullAt'; +import baseIteratee from './_baseIteratee'; +import basePullAt from './_basePullAt'; /** * Removes all elements from `array` that `predicate` returns truthy for diff --git a/rest.js b/rest.js index 6f8ec16e4..65a559abc 100644 --- a/rest.js +++ b/rest.js @@ -1,4 +1,4 @@ -import apply from './internal/apply'; +import apply from './_apply'; import toInteger from './toInteger'; /** Used as the `TypeError` message for "Functions" methods. */ diff --git a/result.js b/result.js index c5652cb80..1e21a7e35 100644 --- a/result.js +++ b/result.js @@ -1,8 +1,8 @@ -import baseToPath from './internal/baseToPath'; +import baseToPath from './_baseToPath'; import get from './get'; import isFunction from './isFunction'; -import isKey from './internal/isKey'; -import parent from './internal/parent'; +import isKey from './_isKey'; +import parent from './_parent'; /** * This method is like `_.get` except that if the resolved value is a function diff --git a/round.js b/round.js index ccfd20bee..e10c05605 100644 --- a/round.js +++ b/round.js @@ -1,4 +1,4 @@ -import createRound from './internal/createRound'; +import createRound from './_createRound'; /** * Computes `number` rounded to `precision`. diff --git a/sample.js b/sample.js index d1add77d0..1f4159335 100644 --- a/sample.js +++ b/sample.js @@ -1,4 +1,4 @@ -import baseRandom from './internal/baseRandom'; +import baseRandom from './_baseRandom'; import isArrayLike from './isArrayLike'; import values from './values'; diff --git a/sampleSize.js b/sampleSize.js index bf6ef1d50..3db5e78c6 100644 --- a/sampleSize.js +++ b/sampleSize.js @@ -1,5 +1,5 @@ -import baseClamp from './internal/baseClamp'; -import baseRandom from './internal/baseRandom'; +import baseClamp from './_baseClamp'; +import baseRandom from './_baseRandom'; import toArray from './toArray'; import toInteger from './toInteger'; diff --git a/set.js b/set.js index eeab21b96..7ae317aac 100644 --- a/set.js +++ b/set.js @@ -1,4 +1,4 @@ -import baseSet from './internal/baseSet'; +import baseSet from './_baseSet'; /** * Sets the value at `path` of `object`. If a portion of `path` doesn't exist diff --git a/setWith.js b/setWith.js index 2950f5860..700c6a702 100644 --- a/setWith.js +++ b/setWith.js @@ -1,4 +1,4 @@ -import baseSet from './internal/baseSet'; +import baseSet from './_baseSet'; /** * This method is like `_.set` except that it accepts `customizer` which is diff --git a/size.js b/size.js index 57cc21aac..bcce92113 100644 --- a/size.js +++ b/size.js @@ -1,7 +1,7 @@ import isArrayLike from './isArrayLike'; import isString from './isString'; import keys from './keys'; -import stringSize from './internal/stringSize'; +import stringSize from './_stringSize'; /** * Gets the size of `collection` by returning its length for array-like diff --git a/slice.js b/slice.js index bec70cff2..f7fc8eb10 100644 --- a/slice.js +++ b/slice.js @@ -1,5 +1,5 @@ -import baseSlice from './internal/baseSlice'; -import isIterateeCall from './internal/isIterateeCall'; +import baseSlice from './_baseSlice'; +import isIterateeCall from './_isIterateeCall'; import toInteger from './toInteger'; /** diff --git a/snakeCase.js b/snakeCase.js index 8261f3387..f067357a4 100644 --- a/snakeCase.js +++ b/snakeCase.js @@ -1,4 +1,4 @@ -import createCompounder from './internal/createCompounder'; +import createCompounder from './_createCompounder'; /** * Converts `string` to [snake case](https://en.wikipedia.org/wiki/Snake_case). diff --git a/some.js b/some.js index 816faef96..122ceb162 100644 --- a/some.js +++ b/some.js @@ -1,8 +1,8 @@ -import arraySome from './internal/arraySome'; -import baseIteratee from './internal/baseIteratee'; -import baseSome from './internal/baseSome'; +import arraySome from './_arraySome'; +import baseIteratee from './_baseIteratee'; +import baseSome from './_baseSome'; import isArray from './isArray'; -import isIterateeCall from './internal/isIterateeCall'; +import isIterateeCall from './_isIterateeCall'; /** * Checks if `predicate` returns truthy for **any** element of `collection`. diff --git a/sortBy.js b/sortBy.js index cb28447f9..09b9e4374 100644 --- a/sortBy.js +++ b/sortBy.js @@ -1,6 +1,6 @@ -import baseFlatten from './internal/baseFlatten'; -import baseOrderBy from './internal/baseOrderBy'; -import isIterateeCall from './internal/isIterateeCall'; +import baseFlatten from './_baseFlatten'; +import baseOrderBy from './_baseOrderBy'; +import isIterateeCall from './_isIterateeCall'; import rest from './rest'; /** diff --git a/sortedIndex.js b/sortedIndex.js index 4665e01da..5e90a8ff2 100644 --- a/sortedIndex.js +++ b/sortedIndex.js @@ -1,4 +1,4 @@ -import baseSortedIndex from './internal/baseSortedIndex'; +import baseSortedIndex from './_baseSortedIndex'; /** * Uses a binary search to determine the lowest index at which `value` should diff --git a/sortedIndexBy.js b/sortedIndexBy.js index 9dec783e6..9a44fc10b 100644 --- a/sortedIndexBy.js +++ b/sortedIndexBy.js @@ -1,5 +1,5 @@ -import baseIteratee from './internal/baseIteratee'; -import baseSortedIndexBy from './internal/baseSortedIndexBy'; +import baseIteratee from './_baseIteratee'; +import baseSortedIndexBy from './_baseSortedIndexBy'; /** * This method is like `_.sortedIndex` except that it accepts `iteratee` diff --git a/sortedIndexOf.js b/sortedIndexOf.js index 6c24cedfa..29971e358 100644 --- a/sortedIndexOf.js +++ b/sortedIndexOf.js @@ -1,4 +1,4 @@ -import baseSortedIndex from './internal/baseSortedIndex'; +import baseSortedIndex from './_baseSortedIndex'; import eq from './eq'; /** diff --git a/sortedLastIndex.js b/sortedLastIndex.js index fed0beb48..97cb659b9 100644 --- a/sortedLastIndex.js +++ b/sortedLastIndex.js @@ -1,4 +1,4 @@ -import baseSortedIndex from './internal/baseSortedIndex'; +import baseSortedIndex from './_baseSortedIndex'; /** * This method is like `_.sortedIndex` except that it returns the highest diff --git a/sortedLastIndexBy.js b/sortedLastIndexBy.js index dee0af533..8f4a20ded 100644 --- a/sortedLastIndexBy.js +++ b/sortedLastIndexBy.js @@ -1,5 +1,5 @@ -import baseIteratee from './internal/baseIteratee'; -import baseSortedIndexBy from './internal/baseSortedIndexBy'; +import baseIteratee from './_baseIteratee'; +import baseSortedIndexBy from './_baseSortedIndexBy'; /** * This method is like `_.sortedLastIndex` except that it accepts `iteratee` diff --git a/sortedLastIndexOf.js b/sortedLastIndexOf.js index 2d5b98caf..f05e54318 100644 --- a/sortedLastIndexOf.js +++ b/sortedLastIndexOf.js @@ -1,4 +1,4 @@ -import baseSortedIndex from './internal/baseSortedIndex'; +import baseSortedIndex from './_baseSortedIndex'; import eq from './eq'; /** diff --git a/sortedUniq.js b/sortedUniq.js index 87b88345a..1b8e45e7a 100644 --- a/sortedUniq.js +++ b/sortedUniq.js @@ -1,4 +1,4 @@ -import baseSortedUniq from './internal/baseSortedUniq'; +import baseSortedUniq from './_baseSortedUniq'; /** * This method is like `_.uniq` except that it's designed and optimized diff --git a/sortedUniqBy.js b/sortedUniqBy.js index d674c6f91..fa095e2ff 100644 --- a/sortedUniqBy.js +++ b/sortedUniqBy.js @@ -1,5 +1,5 @@ -import baseIteratee from './internal/baseIteratee'; -import baseSortedUniqBy from './internal/baseSortedUniqBy'; +import baseIteratee from './_baseIteratee'; +import baseSortedUniqBy from './_baseSortedUniqBy'; /** * This method is like `_.uniqBy` except that it's designed and optimized diff --git a/spread.js b/spread.js index 684585eec..12a4de9e1 100644 --- a/spread.js +++ b/spread.js @@ -1,4 +1,4 @@ -import apply from './internal/apply'; +import apply from './_apply'; /** Used as the `TypeError` message for "Functions" methods. */ var FUNC_ERROR_TEXT = 'Expected a function'; diff --git a/startCase.js b/startCase.js index ec7dc7cac..320ce23db 100644 --- a/startCase.js +++ b/startCase.js @@ -1,5 +1,5 @@ import capitalize from './capitalize'; -import createCompounder from './internal/createCompounder'; +import createCompounder from './_createCompounder'; /** * Converts `string` to [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage). diff --git a/startsWith.js b/startsWith.js index 064fcc6ab..49768d1d1 100644 --- a/startsWith.js +++ b/startsWith.js @@ -1,4 +1,4 @@ -import baseClamp from './internal/baseClamp'; +import baseClamp from './_baseClamp'; import toInteger from './toInteger'; import toString from './toString'; diff --git a/sum.js b/sum.js index 9bba5cfa2..47cdab263 100644 --- a/sum.js +++ b/sum.js @@ -1,4 +1,4 @@ -import baseSum from './internal/baseSum'; +import baseSum from './_baseSum'; import identity from './identity'; /** @@ -17,7 +17,7 @@ import identity from './identity'; function sum(array) { return (array && array.length) ? baseSum(array, identity) - : undefined; + : 0; } export default sum; diff --git a/sumBy.js b/sumBy.js index ce1774839..9faa08e52 100644 --- a/sumBy.js +++ b/sumBy.js @@ -1,5 +1,5 @@ -import baseIteratee from './internal/baseIteratee'; -import baseSum from './internal/baseSum'; +import baseIteratee from './_baseIteratee'; +import baseSum from './_baseSum'; /** * This method is like `_.sum` except that it accepts `iteratee` which is @@ -26,7 +26,7 @@ import baseSum from './internal/baseSum'; function sumBy(array, iteratee) { return (array && array.length) ? baseSum(array, baseIteratee(iteratee)) - : undefined; + : 0; } export default sumBy; diff --git a/take.js b/take.js index bd5ae3446..ca6d228b1 100644 --- a/take.js +++ b/take.js @@ -1,4 +1,4 @@ -import baseSlice from './internal/baseSlice'; +import baseSlice from './_baseSlice'; import toInteger from './toInteger'; /** diff --git a/takeRight.js b/takeRight.js index 014642298..61a91afc2 100644 --- a/takeRight.js +++ b/takeRight.js @@ -1,4 +1,4 @@ -import baseSlice from './internal/baseSlice'; +import baseSlice from './_baseSlice'; import toInteger from './toInteger'; /** diff --git a/takeRightWhile.js b/takeRightWhile.js index 300758160..e485cc0d4 100644 --- a/takeRightWhile.js +++ b/takeRightWhile.js @@ -1,5 +1,5 @@ -import baseIteratee from './internal/baseIteratee'; -import baseWhile from './internal/baseWhile'; +import baseIteratee from './_baseIteratee'; +import baseWhile from './_baseWhile'; /** * Creates a slice of `array` with elements taken from the end. Elements are diff --git a/takeWhile.js b/takeWhile.js index a4baa4256..88de89b67 100644 --- a/takeWhile.js +++ b/takeWhile.js @@ -1,5 +1,5 @@ -import baseIteratee from './internal/baseIteratee'; -import baseWhile from './internal/baseWhile'; +import baseIteratee from './_baseIteratee'; +import baseWhile from './_baseWhile'; /** * Creates a slice of `array` with elements taken from the beginning. Elements diff --git a/template.js b/template.js index e8778ca35..c8bf402f7 100644 --- a/template.js +++ b/template.js @@ -1,12 +1,12 @@ -import assignInDefaults from './internal/assignInDefaults'; +import assignInDefaults from './_assignInDefaults'; import assignInWith from './assignInWith'; import attempt from './attempt'; -import baseValues from './internal/baseValues'; -import escapeStringChar from './internal/escapeStringChar'; +import baseValues from './_baseValues'; +import escapeStringChar from './_escapeStringChar'; import isError from './isError'; -import isIterateeCall from './internal/isIterateeCall'; +import isIterateeCall from './_isIterateeCall'; import keys from './keys'; -import reInterpolate from './internal/reInterpolate'; +import reInterpolate from './_reInterpolate'; import templateSettings from './templateSettings'; import toString from './toString'; diff --git a/templateSettings.js b/templateSettings.js index 5bce93057..c614525a4 100644 --- a/templateSettings.js +++ b/templateSettings.js @@ -1,7 +1,7 @@ import escape from './escape'; -import reEscape from './internal/reEscape'; -import reEvaluate from './internal/reEvaluate'; -import reInterpolate from './internal/reInterpolate'; +import reEscape from './_reEscape'; +import reEvaluate from './_reEvaluate'; +import reInterpolate from './_reInterpolate'; /** * By default, the template delimiters used by lodash are like those in diff --git a/times.js b/times.js index 06cda5d92..30b4503e1 100644 --- a/times.js +++ b/times.js @@ -1,5 +1,5 @@ -import baseTimes from './internal/baseTimes'; -import toFunction from './internal/toFunction'; +import baseTimes from './_baseTimes'; +import toFunction from './_toFunction'; import toInteger from './toInteger'; /** Used as references for various `Number` constants. */ diff --git a/toArray.js b/toArray.js index 1da77f963..559383e98 100644 --- a/toArray.js +++ b/toArray.js @@ -1,12 +1,12 @@ -import Symbol from './internal/Symbol'; -import copyArray from './internal/copyArray'; -import getTag from './internal/getTag'; +import Symbol from './_Symbol'; +import copyArray from './_copyArray'; +import getTag from './_getTag'; import isArrayLike from './isArrayLike'; import isString from './isString'; -import iteratorToArray from './internal/iteratorToArray'; -import mapToArray from './internal/mapToArray'; -import setToArray from './internal/setToArray'; -import stringToArray from './internal/stringToArray'; +import iteratorToArray from './_iteratorToArray'; +import mapToArray from './_mapToArray'; +import setToArray from './_setToArray'; +import stringToArray from './_stringToArray'; import values from './values'; /** `Object#toString` result references. */ diff --git a/toLength.js b/toLength.js index d48044f60..7af01ad68 100644 --- a/toLength.js +++ b/toLength.js @@ -1,4 +1,4 @@ -import baseClamp from './internal/baseClamp'; +import baseClamp from './_baseClamp'; import toInteger from './toInteger'; /** Used as references for the maximum length and index of an array. */ diff --git a/toPairs.js b/toPairs.js index 3aefd1751..4a411e1fc 100644 --- a/toPairs.js +++ b/toPairs.js @@ -1,4 +1,4 @@ -import baseToPairs from './internal/baseToPairs'; +import baseToPairs from './_baseToPairs'; import keys from './keys'; /** diff --git a/toPairsIn.js b/toPairsIn.js index 5b198c4c7..950f14b85 100644 --- a/toPairsIn.js +++ b/toPairsIn.js @@ -1,4 +1,4 @@ -import baseToPairs from './internal/baseToPairs'; +import baseToPairs from './_baseToPairs'; import keysIn from './keysIn'; /** diff --git a/toPath.js b/toPath.js index fa0bd118b..03a6db89f 100644 --- a/toPath.js +++ b/toPath.js @@ -1,6 +1,6 @@ -import arrayMap from './internal/arrayMap'; +import arrayMap from './_arrayMap'; import isArray from './isArray'; -import stringToPath from './internal/stringToPath'; +import stringToPath from './_stringToPath'; /** * Converts `value` to a property path array. diff --git a/toPlainObject.js b/toPlainObject.js index 9bab37ad7..c5b2852ee 100644 --- a/toPlainObject.js +++ b/toPlainObject.js @@ -1,4 +1,4 @@ -import copyObject from './internal/copyObject'; +import copyObject from './_copyObject'; import keysIn from './keysIn'; /** diff --git a/toSafeInteger.js b/toSafeInteger.js index c608ee09a..1260235e7 100644 --- a/toSafeInteger.js +++ b/toSafeInteger.js @@ -1,4 +1,4 @@ -import baseClamp from './internal/baseClamp'; +import baseClamp from './_baseClamp'; import toInteger from './toInteger'; /** Used as references for various `Number` constants. */ diff --git a/toString.js b/toString.js index fe0eebf68..e1af8b2be 100644 --- a/toString.js +++ b/toString.js @@ -1,4 +1,4 @@ -import Symbol from './internal/Symbol'; +import Symbol from './_Symbol'; import isSymbol from './isSymbol'; /** Used as references for various `Number` constants. */ diff --git a/transform.js b/transform.js index fdbe2c7d8..effc6d127 100644 --- a/transform.js +++ b/transform.js @@ -1,7 +1,7 @@ -import arrayEach from './internal/arrayEach'; -import baseCreate from './internal/baseCreate'; -import baseForOwn from './internal/baseForOwn'; -import baseIteratee from './internal/baseIteratee'; +import arrayEach from './_arrayEach'; +import baseCreate from './_baseCreate'; +import baseForOwn from './_baseForOwn'; +import baseIteratee from './_baseIteratee'; import isArray from './isArray'; import isFunction from './isFunction'; import isObject from './isObject'; @@ -27,12 +27,12 @@ import isTypedArray from './isTypedArray'; * _.transform([2, 3, 4], function(result, n) { * result.push(n *= n); * return n % 2 == 0; - * }); + * }, []); * // => [4, 9] * * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { * (result[value] || (result[value] = [])).push(key); - * }); + * }, {}); * // => { '1': ['a', 'c'], '2': ['b'] } */ function transform(object, iteratee, accumulator) { diff --git a/trim.js b/trim.js index adc9ad8f3..76c8adc3d 100644 --- a/trim.js +++ b/trim.js @@ -1,6 +1,6 @@ -import charsEndIndex from './internal/charsEndIndex'; -import charsStartIndex from './internal/charsStartIndex'; -import stringToArray from './internal/stringToArray'; +import charsEndIndex from './_charsEndIndex'; +import charsStartIndex from './_charsStartIndex'; +import stringToArray from './_stringToArray'; import toString from './toString'; /** Used to match leading and trailing whitespace. */ diff --git a/trimEnd.js b/trimEnd.js index bf10e4902..fbde7f963 100644 --- a/trimEnd.js +++ b/trimEnd.js @@ -1,5 +1,5 @@ -import charsEndIndex from './internal/charsEndIndex'; -import stringToArray from './internal/stringToArray'; +import charsEndIndex from './_charsEndIndex'; +import stringToArray from './_stringToArray'; import toString from './toString'; /** Used to match leading and trailing whitespace. */ diff --git a/trimStart.js b/trimStart.js index 203873bb5..efd13c605 100644 --- a/trimStart.js +++ b/trimStart.js @@ -1,5 +1,5 @@ -import charsStartIndex from './internal/charsStartIndex'; -import stringToArray from './internal/stringToArray'; +import charsStartIndex from './_charsStartIndex'; +import stringToArray from './_stringToArray'; import toString from './toString'; /** Used to match leading and trailing whitespace. */ diff --git a/truncate.js b/truncate.js index 8b6e7690e..0da2a02c6 100644 --- a/truncate.js +++ b/truncate.js @@ -1,7 +1,7 @@ import isObject from './isObject'; import isRegExp from './isRegExp'; -import stringSize from './internal/stringSize'; -import stringToArray from './internal/stringToArray'; +import stringSize from './_stringSize'; +import stringToArray from './_stringToArray'; import toInteger from './toInteger'; import toString from './toString'; diff --git a/unescape.js b/unescape.js index 488cf9982..c0eb8172b 100644 --- a/unescape.js +++ b/unescape.js @@ -1,5 +1,5 @@ import toString from './toString'; -import unescapeHtmlChar from './internal/unescapeHtmlChar'; +import unescapeHtmlChar from './_unescapeHtmlChar'; /** Used to match HTML entities and HTML characters. */ var reEscapedHtml = /&(?:amp|lt|gt|quot|#39|#96);/g, diff --git a/union.js b/union.js index 88138f7e4..69083f383 100644 --- a/union.js +++ b/union.js @@ -1,5 +1,5 @@ -import baseFlatten from './internal/baseFlatten'; -import baseUniq from './internal/baseUniq'; +import baseFlatten from './_baseFlatten'; +import baseUniq from './_baseUniq'; import rest from './rest'; /** diff --git a/unionBy.js b/unionBy.js index 2a8c16825..1af5370fb 100644 --- a/unionBy.js +++ b/unionBy.js @@ -1,6 +1,6 @@ -import baseFlatten from './internal/baseFlatten'; -import baseIteratee from './internal/baseIteratee'; -import baseUniq from './internal/baseUniq'; +import baseFlatten from './_baseFlatten'; +import baseIteratee from './_baseIteratee'; +import baseUniq from './_baseUniq'; import isArrayLikeObject from './isArrayLikeObject'; import last from './last'; import rest from './rest'; diff --git a/unionWith.js b/unionWith.js index 78dcf83af..ff6e45a12 100644 --- a/unionWith.js +++ b/unionWith.js @@ -1,5 +1,5 @@ -import baseFlatten from './internal/baseFlatten'; -import baseUniq from './internal/baseUniq'; +import baseFlatten from './_baseFlatten'; +import baseUniq from './_baseUniq'; import isArrayLikeObject from './isArrayLikeObject'; import last from './last'; import rest from './rest'; diff --git a/uniq.js b/uniq.js index 24164bfde..e378621c7 100644 --- a/uniq.js +++ b/uniq.js @@ -1,4 +1,4 @@ -import baseUniq from './internal/baseUniq'; +import baseUniq from './_baseUniq'; /** * Creates a duplicate-free version of an array, using diff --git a/uniqBy.js b/uniqBy.js index e3a6e74b7..af52385f9 100644 --- a/uniqBy.js +++ b/uniqBy.js @@ -1,5 +1,5 @@ -import baseIteratee from './internal/baseIteratee'; -import baseUniq from './internal/baseUniq'; +import baseIteratee from './_baseIteratee'; +import baseUniq from './_baseUniq'; /** * This method is like `_.uniq` except that it accepts `iteratee` which is diff --git a/uniqWith.js b/uniqWith.js index 1f36cf699..f958a6cb1 100644 --- a/uniqWith.js +++ b/uniqWith.js @@ -1,4 +1,4 @@ -import baseUniq from './internal/baseUniq'; +import baseUniq from './_baseUniq'; /** * This method is like `_.uniq` except that it accepts `comparator` which diff --git a/unset.js b/unset.js index 6f184b2e4..d1431e1a9 100644 --- a/unset.js +++ b/unset.js @@ -1,4 +1,4 @@ -import baseUnset from './internal/baseUnset'; +import baseUnset from './_baseUnset'; /** * Removes the property at `path` of `object`. diff --git a/unzip.js b/unzip.js index bda6c3f3b..517fe2389 100644 --- a/unzip.js +++ b/unzip.js @@ -1,7 +1,7 @@ -import arrayFilter from './internal/arrayFilter'; -import arrayMap from './internal/arrayMap'; -import baseProperty from './internal/baseProperty'; -import baseTimes from './internal/baseTimes'; +import arrayFilter from './_arrayFilter'; +import arrayMap from './_arrayMap'; +import baseProperty from './_baseProperty'; +import baseTimes from './_baseTimes'; import isArrayLikeObject from './isArrayLikeObject'; /* Built-in method references for those with the same name as other `lodash` methods. */ diff --git a/unzipWith.js b/unzipWith.js index 99f9ed634..5e9355197 100644 --- a/unzipWith.js +++ b/unzipWith.js @@ -1,5 +1,5 @@ -import apply from './internal/apply'; -import arrayMap from './internal/arrayMap'; +import apply from './_apply'; +import arrayMap from './_arrayMap'; import unzip from './unzip'; /** diff --git a/upperCase.js b/upperCase.js index 6eca5dd2c..801222aa2 100644 --- a/upperCase.js +++ b/upperCase.js @@ -1,4 +1,4 @@ -import createCompounder from './internal/createCompounder'; +import createCompounder from './_createCompounder'; /** * Converts `string`, as space separated words, to upper case. diff --git a/upperFirst.js b/upperFirst.js index 8cd4e8bcb..45d19f438 100644 --- a/upperFirst.js +++ b/upperFirst.js @@ -1,4 +1,4 @@ -import createCaseFirst from './internal/createCaseFirst'; +import createCaseFirst from './_createCaseFirst'; /** * Converts the first character of `string` to upper case. diff --git a/values.js b/values.js index b1525e329..5b32b64e6 100644 --- a/values.js +++ b/values.js @@ -1,4 +1,4 @@ -import baseValues from './internal/baseValues'; +import baseValues from './_baseValues'; import keys from './keys'; /** diff --git a/valuesIn.js b/valuesIn.js index 3cea6d2ae..db4442246 100644 --- a/valuesIn.js +++ b/valuesIn.js @@ -1,4 +1,4 @@ -import baseValues from './internal/baseValues'; +import baseValues from './_baseValues'; import keysIn from './keysIn'; /** diff --git a/without.js b/without.js index 1f67bbb62..8ec326c06 100644 --- a/without.js +++ b/without.js @@ -1,4 +1,4 @@ -import baseDifference from './internal/baseDifference'; +import baseDifference from './_baseDifference'; import isArrayLikeObject from './isArrayLikeObject'; import rest from './rest'; diff --git a/wrapperAt.js b/wrapperAt.js index c86f84f8d..5e47385bc 100644 --- a/wrapperAt.js +++ b/wrapperAt.js @@ -1,8 +1,8 @@ -import LazyWrapper from './internal/LazyWrapper'; -import LodashWrapper from './internal/LodashWrapper'; -import baseAt from './internal/baseAt'; -import baseFlatten from './internal/baseFlatten'; -import isIndex from './internal/isIndex'; +import LazyWrapper from './_LazyWrapper'; +import LodashWrapper from './_LodashWrapper'; +import baseAt from './_baseAt'; +import baseFlatten from './_baseFlatten'; +import isIndex from './_isIndex'; import rest from './rest'; import thru from './thru'; diff --git a/wrapperLodash.js b/wrapperLodash.js index 10784a684..76cfd79d1 100644 --- a/wrapperLodash.js +++ b/wrapperLodash.js @@ -1,9 +1,9 @@ -import LazyWrapper from './internal/LazyWrapper'; -import LodashWrapper from './internal/LodashWrapper'; -import baseLodash from './internal/baseLodash'; +import LazyWrapper from './_LazyWrapper'; +import LodashWrapper from './_LodashWrapper'; +import baseLodash from './_baseLodash'; import isArray from './isArray'; import isObjectLike from './isObjectLike'; -import wrapperClone from './internal/wrapperClone'; +import wrapperClone from './_wrapperClone'; /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -57,20 +57,21 @@ var hasOwnProperty = objectProto.hasOwnProperty; * `differenceBy`, `differenceWith`, `drop`, `dropRight`, `dropRightWhile`, * `dropWhile`, `fill`, `filter`, `flatten`, `flattenDeep`, `flip`, `flow`, * `flowRight`, `fromPairs`, `functions`, `functionsIn`, `groupBy`, `initial`, - * `intersection`, `intersectionBy`, `intersectionWith`, `invert`, `invokeMap`, - * `iteratee`, `keyBy`, `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, - * `matches`, `matchesProperty`, `memoize`, `merge`, `mergeWith`, `method`, - * `methodOf`, `mixin`, `negate`, `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, - * `over`, `overArgs`, `overEvery`, `overSome`, `partial`, `partialRight`, - * `partition`, `pick`, `pickBy`, `plant`, `property`, `propertyOf`, `pull`, - * `pullAll`, `pullAllBy`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, - * `reject`, `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, - * `shuffle`, `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, - * `takeRight`, `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, - * `toArray`, `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, - * `unary`, `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, - * `unset`, `unshift`, `unzip`, `unzipWith`, `values`, `valuesIn`, `without`, - * `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, `zipObject`, and `zipWith` + * `intersection`, `intersectionBy`, `intersectionWith`, `invert`, `invertBy`, + * `invokeMap`, `iteratee`, `keyBy`, `keys`, `keysIn`, `map`, `mapKeys`, + * `mapValues`, `matches`, `matchesProperty`, `memoize`, `merge`, `mergeWith`, + * `method`, `methodOf`, `mixin`, `negate`, `nthArg`, `omit`, `omitBy`, `once`, + * `orderBy`, `over`, `overArgs`, `overEvery`, `overSome`, `partial`, + * `partialRight`, `partition`, `pick`, `pickBy`, `plant`, `property`, + * `propertyOf`, `pull`, `pullAll`, `pullAllBy`, `pullAt`, `push`, `range`, + * `rangeRight`, `rearg`, `reject`, `remove`, `rest`, `reverse`, `sampleSize`, + * `set`, `setWith`, `shuffle`, `slice`, `sort`, `sortBy`, `splice`, `spread`, + * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, `tap`, `throttle`, + * `thru`, `toArray`, `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, + * `transform`, `unary`, `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, + * `uniqWith`, `unset`, `unshift`, `unzip`, `unzipWith`, `values`, `valuesIn`, + * `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, `zipObject`, + * `zipObjectDeep`, and `zipWith` * * The wrapper methods that are **not** chainable by default are: * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, diff --git a/wrapperReverse.js b/wrapperReverse.js index 6915c6e39..86306a99b 100644 --- a/wrapperReverse.js +++ b/wrapperReverse.js @@ -1,5 +1,5 @@ -import LazyWrapper from './internal/LazyWrapper'; -import LodashWrapper from './internal/LodashWrapper'; +import LazyWrapper from './_LazyWrapper'; +import LodashWrapper from './_LodashWrapper'; import reverse from './reverse'; import thru from './thru'; diff --git a/wrapperValue.js b/wrapperValue.js index f6694d9af..c6ece5b56 100644 --- a/wrapperValue.js +++ b/wrapperValue.js @@ -1,4 +1,4 @@ -import baseWrapperValue from './internal/baseWrapperValue'; +import baseWrapperValue from './_baseWrapperValue'; /** * Executes the chained sequence to extract the unwrapped value. diff --git a/xor.js b/xor.js index 82672e7c5..aa1bb692e 100644 --- a/xor.js +++ b/xor.js @@ -1,5 +1,5 @@ -import arrayFilter from './internal/arrayFilter'; -import baseXor from './internal/baseXor'; +import arrayFilter from './_arrayFilter'; +import baseXor from './_baseXor'; import isArrayLikeObject from './isArrayLikeObject'; import rest from './rest'; diff --git a/xorBy.js b/xorBy.js index d0667208f..6c8801fee 100644 --- a/xorBy.js +++ b/xorBy.js @@ -1,6 +1,6 @@ -import arrayFilter from './internal/arrayFilter'; -import baseIteratee from './internal/baseIteratee'; -import baseXor from './internal/baseXor'; +import arrayFilter from './_arrayFilter'; +import baseIteratee from './_baseIteratee'; +import baseXor from './_baseXor'; import isArrayLikeObject from './isArrayLikeObject'; import last from './last'; import rest from './rest'; diff --git a/xorWith.js b/xorWith.js index ea66c8fb0..7c4ee3376 100644 --- a/xorWith.js +++ b/xorWith.js @@ -1,5 +1,5 @@ -import arrayFilter from './internal/arrayFilter'; -import baseXor from './internal/baseXor'; +import arrayFilter from './_arrayFilter'; +import baseXor from './_baseXor'; import isArrayLikeObject from './isArrayLikeObject'; import last from './last'; import rest from './rest'; diff --git a/zipObject.js b/zipObject.js index 98dc1d7c7..221acf49d 100644 --- a/zipObject.js +++ b/zipObject.js @@ -1,4 +1,5 @@ -import baseSet from './internal/baseSet'; +import assignValue from './_assignValue'; +import baseZipObject from './_baseZipObject'; /** * This method is like `_.fromPairs` except that it accepts two arrays, @@ -12,19 +13,11 @@ import baseSet from './internal/baseSet'; * @returns {Object} Returns the new object. * @example * - * _.zipObject(['fred', 'barney'], [30, 40]); - * // => { 'fred': 30, 'barney': 40 } + * _.zipObject(['a', 'b'], [1, 2]); + * // => { 'a': 1, 'b': 2 } */ function zipObject(props, values) { - var index = -1, - length = props ? props.length : 0, - valsLength = values ? values.length : 0, - result = {}; - - while (++index < length) { - baseSet(result, props[index], index < valsLength ? values[index] : undefined); - } - return result; + return baseZipObject(props || [], values || [], assignValue); } export default zipObject; diff --git a/zipObjectDeep.js b/zipObjectDeep.js new file mode 100644 index 000000000..8118bcb17 --- /dev/null +++ b/zipObjectDeep.js @@ -0,0 +1,22 @@ +import baseSet from './_baseSet'; +import baseZipObject from './_baseZipObject'; + +/** + * This method is like `_.zipObject` except that it supports property paths. + * + * @static + * @memberOf _ + * @category Array + * @param {Array} [props=[]] The property names. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]); + * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } } + */ +function zipObjectDeep(props, values) { + return baseZipObject(props || [], values || [], baseSet); +} + +export default zipObjectDeep;