diff --git a/_baseRest.js b/_baseRest.js deleted file mode 100644 index 1802b8ffe..000000000 --- a/_baseRest.js +++ /dev/null @@ -1,17 +0,0 @@ -import identity from './identity.js'; -import overRest from './_overRest.js'; -import setToString from './_setToString.js'; - -/** - * The base implementation of `_.rest` which doesn't validate or coerce arguments. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - */ -function baseRest(func, start) { - return setToString(overRest(func, start, identity), `${ func }`); -} - -export default baseRest; diff --git a/lodash.default.js b/lodash.default.js deleted file mode 100644 index 986c5b5ee..000000000 --- a/lodash.default.js +++ /dev/null @@ -1,636 +0,0 @@ -/** - * @license - * Lodash (Custom Build) - * Build: `lodash modularize exports="es" -o ./` - * Copyright JS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ -import array from './array.js'; -import collection from './collection.js'; -import date from './date.js'; -import func from './function.js'; -import lang from './lang.js'; -import math from './math.js'; -import number from './number.js'; -import object from './object.js'; -import seq from './seq.js'; -import string from './string.js'; -import util from './util.js'; -import LazyWrapper from './_LazyWrapper.js'; -import LodashWrapper from './_LodashWrapper.js'; -import Symbol from './_Symbol.js'; -import arrayEach from './_arrayEach.js'; -import arrayPush from './_arrayPush.js'; -import baseForOwn from './_baseForOwn.js'; -import baseFunctions from './_baseFunctions.js'; -import baseInvoke from './_baseInvoke.js'; -import baseIteratee from './_baseIteratee.js'; -import baseRest from './_baseRest.js'; -import createHybrid from './_createHybrid.js'; -import identity from './identity.js'; -import isArray from './isArray.js'; -import isObject from './isObject.js'; -import keys from './keys.js'; -import last from './last.js'; -import lazyClone from './_lazyClone.js'; -import lazyReverse from './_lazyReverse.js'; -import lazyValue from './_lazyValue.js'; -import _mixin from './mixin.js'; -import negate from './negate.js'; -import realNames from './_realNames.js'; -import thru from './thru.js'; -import toInteger from './toInteger.js'; -import lodash from './wrapperLodash.js'; - -/** Used as the semantic version number. */ -var VERSION = '4.17.3'; - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_KEY_FLAG = 2; - -/** Used to indicate the type of lazy iteratees. */ -var LAZY_FILTER_FLAG = 1, - LAZY_WHILE_FLAG = 3; - -/** Used as references for the maximum length and index of an array. */ -var MAX_ARRAY_LENGTH = 4294967295; - -/** Used for built-in method references. */ -var arrayProto = Array.prototype, - objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** Built-in value references. */ -var symIterator = Symbol ? Symbol.iterator : undefined; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max, - nativeMin = Math.min; - -// wrap `_.mixin` so it works when provided only one argument -var mixin = ((func => function(object, source, options) { - if (options == null) { - var isObj = isObject(source), - props = isObj && keys(source), - methodNames = props && props.length && baseFunctions(source, props); - - if (!(methodNames ? methodNames.length : isObj)) { - options = source; - source = object; - object = this; - } - } - return func(object, source, options); -})(_mixin)); - -// Add methods that return wrapped values in chain sequences. -lodash.after = func.after; -lodash.ary = func.ary; -lodash.assign = object.assign; -lodash.assignIn = object.assignIn; -lodash.assignInWith = object.assignInWith; -lodash.assignWith = object.assignWith; -lodash.at = object.at; -lodash.before = func.before; -lodash.bind = func.bind; -lodash.bindAll = util.bindAll; -lodash.bindKey = func.bindKey; -lodash.castArray = lang.castArray; -lodash.chain = seq.chain; -lodash.chunk = array.chunk; -lodash.compact = array.compact; -lodash.concat = array.concat; -lodash.cond = util.cond; -lodash.conforms = util.conforms; -lodash.constant = util.constant; -lodash.countBy = collection.countBy; -lodash.create = object.create; -lodash.curry = func.curry; -lodash.curryRight = func.curryRight; -lodash.debounce = func.debounce; -lodash.defaults = object.defaults; -lodash.defaultsDeep = object.defaultsDeep; -lodash.defer = func.defer; -lodash.delay = func.delay; -lodash.difference = array.difference; -lodash.differenceBy = array.differenceBy; -lodash.differenceWith = array.differenceWith; -lodash.drop = array.drop; -lodash.dropRight = array.dropRight; -lodash.dropRightWhile = array.dropRightWhile; -lodash.dropWhile = array.dropWhile; -lodash.fill = array.fill; -lodash.filter = collection.filter; -lodash.flatMap = collection.flatMap; -lodash.flatMapDeep = collection.flatMapDeep; -lodash.flatMapDepth = collection.flatMapDepth; -lodash.flatten = array.flatten; -lodash.flattenDeep = array.flattenDeep; -lodash.flattenDepth = array.flattenDepth; -lodash.flip = func.flip; -lodash.flow = util.flow; -lodash.flowRight = util.flowRight; -lodash.fromPairs = array.fromPairs; -lodash.functions = object.functions; -lodash.functionsIn = object.functionsIn; -lodash.groupBy = collection.groupBy; -lodash.initial = array.initial; -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; -lodash.keys = keys; -lodash.keysIn = object.keysIn; -lodash.map = collection.map; -lodash.mapKeys = object.mapKeys; -lodash.mapValues = object.mapValues; -lodash.matches = util.matches; -lodash.matchesProperty = util.matchesProperty; -lodash.memoize = func.memoize; -lodash.merge = object.merge; -lodash.mergeWith = object.mergeWith; -lodash.method = util.method; -lodash.methodOf = util.methodOf; -lodash.mixin = mixin; -lodash.negate = negate; -lodash.nthArg = util.nthArg; -lodash.omit = object.omit; -lodash.omitBy = object.omitBy; -lodash.once = func.once; -lodash.orderBy = collection.orderBy; -lodash.over = util.over; -lodash.overArgs = func.overArgs; -lodash.overEvery = util.overEvery; -lodash.overSome = util.overSome; -lodash.partial = func.partial; -lodash.partialRight = func.partialRight; -lodash.partition = collection.partition; -lodash.pick = object.pick; -lodash.pickBy = object.pickBy; -lodash.property = util.property; -lodash.propertyOf = util.propertyOf; -lodash.pull = array.pull; -lodash.pullAll = array.pullAll; -lodash.pullAllBy = array.pullAllBy; -lodash.pullAllWith = array.pullAllWith; -lodash.pullAt = array.pullAt; -lodash.range = util.range; -lodash.rangeRight = util.rangeRight; -lodash.rearg = func.rearg; -lodash.reject = collection.reject; -lodash.remove = array.remove; -lodash.rest = func.rest; -lodash.reverse = array.reverse; -lodash.sampleSize = collection.sampleSize; -lodash.set = object.set; -lodash.setWith = object.setWith; -lodash.shuffle = collection.shuffle; -lodash.slice = array.slice; -lodash.sortBy = collection.sortBy; -lodash.sortedUniq = array.sortedUniq; -lodash.sortedUniqBy = array.sortedUniqBy; -lodash.split = string.split; -lodash.spread = func.spread; -lodash.tail = array.tail; -lodash.take = array.take; -lodash.takeRight = array.takeRight; -lodash.takeRightWhile = array.takeRightWhile; -lodash.takeWhile = array.takeWhile; -lodash.tap = seq.tap; -lodash.throttle = func.throttle; -lodash.thru = thru; -lodash.toArray = lang.toArray; -lodash.toPairs = object.toPairs; -lodash.toPairsIn = object.toPairsIn; -lodash.toPath = util.toPath; -lodash.toPlainObject = lang.toPlainObject; -lodash.transform = object.transform; -lodash.unary = func.unary; -lodash.union = array.union; -lodash.unionBy = array.unionBy; -lodash.unionWith = array.unionWith; -lodash.uniq = array.uniq; -lodash.uniqBy = array.uniqBy; -lodash.uniqWith = array.uniqWith; -lodash.unset = object.unset; -lodash.unzip = array.unzip; -lodash.unzipWith = array.unzipWith; -lodash.update = object.update; -lodash.updateWith = object.updateWith; -lodash.values = object.values; -lodash.valuesIn = object.valuesIn; -lodash.without = array.without; -lodash.words = string.words; -lodash.wrap = func.wrap; -lodash.xor = array.xor; -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. -lodash.entries = object.toPairs; -lodash.entriesIn = object.toPairsIn; -lodash.extend = object.assignIn; -lodash.extendWith = object.assignInWith; - -// Add methods to `lodash.prototype`. -mixin(lodash, lodash); - -// Add methods that return unwrapped values in chain sequences. -lodash.add = math.add; -lodash.attempt = util.attempt; -lodash.camelCase = string.camelCase; -lodash.capitalize = string.capitalize; -lodash.ceil = math.ceil; -lodash.clamp = number.clamp; -lodash.clone = lang.clone; -lodash.cloneDeep = lang.cloneDeep; -lodash.cloneDeepWith = lang.cloneDeepWith; -lodash.cloneWith = lang.cloneWith; -lodash.conformsTo = lang.conformsTo; -lodash.deburr = string.deburr; -lodash.defaultTo = util.defaultTo; -lodash.divide = math.divide; -lodash.endsWith = string.endsWith; -lodash.eq = lang.eq; -lodash.escape = string.escape; -lodash.escapeRegExp = string.escapeRegExp; -lodash.every = collection.every; -lodash.find = collection.find; -lodash.findIndex = array.findIndex; -lodash.findKey = object.findKey; -lodash.findLast = collection.findLast; -lodash.findLastIndex = array.findLastIndex; -lodash.findLastKey = object.findLastKey; -lodash.floor = math.floor; -lodash.forEach = collection.forEach; -lodash.forEachRight = collection.forEachRight; -lodash.forIn = object.forIn; -lodash.forInRight = object.forInRight; -lodash.forOwn = object.forOwn; -lodash.forOwnRight = object.forOwnRight; -lodash.get = object.get; -lodash.gt = lang.gt; -lodash.gte = lang.gte; -lodash.has = object.has; -lodash.hasIn = object.hasIn; -lodash.head = array.head; -lodash.identity = identity; -lodash.includes = collection.includes; -lodash.indexOf = array.indexOf; -lodash.inRange = number.inRange; -lodash.invoke = object.invoke; -lodash.isArguments = lang.isArguments; -lodash.isArray = isArray; -lodash.isArrayBuffer = lang.isArrayBuffer; -lodash.isArrayLike = lang.isArrayLike; -lodash.isArrayLikeObject = lang.isArrayLikeObject; -lodash.isBoolean = lang.isBoolean; -lodash.isBuffer = lang.isBuffer; -lodash.isDate = lang.isDate; -lodash.isElement = lang.isElement; -lodash.isEmpty = lang.isEmpty; -lodash.isEqual = lang.isEqual; -lodash.isEqualWith = lang.isEqualWith; -lodash.isError = lang.isError; -lodash.isFinite = lang.isFinite; -lodash.isFunction = lang.isFunction; -lodash.isInteger = lang.isInteger; -lodash.isLength = lang.isLength; -lodash.isMap = lang.isMap; -lodash.isMatch = lang.isMatch; -lodash.isMatchWith = lang.isMatchWith; -lodash.isNaN = lang.isNaN; -lodash.isNative = lang.isNative; -lodash.isNil = lang.isNil; -lodash.isNull = lang.isNull; -lodash.isNumber = lang.isNumber; -lodash.isObject = isObject; -lodash.isObjectLike = lang.isObjectLike; -lodash.isPlainObject = lang.isPlainObject; -lodash.isRegExp = lang.isRegExp; -lodash.isSafeInteger = lang.isSafeInteger; -lodash.isSet = lang.isSet; -lodash.isString = lang.isString; -lodash.isSymbol = lang.isSymbol; -lodash.isTypedArray = lang.isTypedArray; -lodash.isUndefined = lang.isUndefined; -lodash.isWeakMap = lang.isWeakMap; -lodash.isWeakSet = lang.isWeakSet; -lodash.join = array.join; -lodash.kebabCase = string.kebabCase; -lodash.last = last; -lodash.lastIndexOf = array.lastIndexOf; -lodash.lowerCase = string.lowerCase; -lodash.lowerFirst = string.lowerFirst; -lodash.lt = lang.lt; -lodash.lte = lang.lte; -lodash.max = math.max; -lodash.maxBy = math.maxBy; -lodash.mean = math.mean; -lodash.meanBy = math.meanBy; -lodash.min = math.min; -lodash.minBy = math.minBy; -lodash.stubArray = util.stubArray; -lodash.stubFalse = util.stubFalse; -lodash.stubObject = util.stubObject; -lodash.stubString = util.stubString; -lodash.stubTrue = util.stubTrue; -lodash.multiply = math.multiply; -lodash.nth = array.nth; -lodash.noop = util.noop; -lodash.now = date.now; -lodash.pad = string.pad; -lodash.padEnd = string.padEnd; -lodash.padStart = string.padStart; -lodash.parseInt = string.parseInt; -lodash.random = number.random; -lodash.reduce = collection.reduce; -lodash.reduceRight = collection.reduceRight; -lodash.repeat = string.repeat; -lodash.replace = string.replace; -lodash.result = object.result; -lodash.round = math.round; -lodash.sample = collection.sample; -lodash.size = collection.size; -lodash.snakeCase = string.snakeCase; -lodash.some = collection.some; -lodash.sortedIndex = array.sortedIndex; -lodash.sortedIndexBy = array.sortedIndexBy; -lodash.sortedIndexOf = array.sortedIndexOf; -lodash.sortedLastIndex = array.sortedLastIndex; -lodash.sortedLastIndexBy = array.sortedLastIndexBy; -lodash.sortedLastIndexOf = array.sortedLastIndexOf; -lodash.startCase = string.startCase; -lodash.startsWith = string.startsWith; -lodash.subtract = math.subtract; -lodash.sum = math.sum; -lodash.sumBy = math.sumBy; -lodash.template = string.template; -lodash.times = util.times; -lodash.toFinite = lang.toFinite; -lodash.toInteger = toInteger; -lodash.toLength = lang.toLength; -lodash.toLower = string.toLower; -lodash.toNumber = lang.toNumber; -lodash.toSafeInteger = lang.toSafeInteger; -lodash.toString = lang.toString; -lodash.toUpper = string.toUpper; -lodash.trim = string.trim; -lodash.trimEnd = string.trimEnd; -lodash.trimStart = string.trimStart; -lodash.truncate = string.truncate; -lodash.unescape = string.unescape; -lodash.uniqueId = util.uniqueId; -lodash.upperCase = string.upperCase; -lodash.upperFirst = string.upperFirst; - -// Add aliases. -lodash.each = collection.forEach; -lodash.eachRight = collection.forEachRight; -lodash.first = array.head; - -mixin(lodash, ((() => { - var source = {}; - baseForOwn(lodash, (func, methodName) => { - if (!hasOwnProperty.call(lodash.prototype, methodName)) { - source[methodName] = func; - } - }); - return source; -})()), { 'chain': false }); - -/** - * The semantic version number. - * - * @static - * @memberOf _ - * @type {string} - */ -lodash.VERSION = VERSION; -(lodash.templateSettings = string.templateSettings).imports._ = lodash; - -// Assign default placeholders. -arrayEach(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], methodName => { - lodash[methodName].placeholder = lodash; -}); - -// Add `LazyWrapper` methods for `_.drop` and `_.take` variants. -arrayEach(['drop', 'take'], (methodName, index) => { - LazyWrapper.prototype[methodName] = function(n) { - n = n === undefined ? 1 : nativeMax(toInteger(n), 0); - - var result = (this.__filtered__ && !index) - ? new LazyWrapper(this) - : this.clone(); - - if (result.__filtered__) { - result.__takeCount__ = nativeMin(n, result.__takeCount__); - } else { - result.__views__.push({ - 'size': nativeMin(n, MAX_ARRAY_LENGTH), - 'type': methodName + (result.__dir__ < 0 ? 'Right' : '') - }); - } - return result; - }; - - LazyWrapper.prototype[methodName + 'Right'] = function(n) { - return this.reverse()[methodName](n).reverse(); - }; -}); - -// Add `LazyWrapper` methods that accept an `iteratee` value. -arrayEach(['filter', 'map', 'takeWhile'], (methodName, index) => { - var type = index + 1, - isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG; - - LazyWrapper.prototype[methodName] = function(iteratee) { - var result = this.clone(); - result.__iteratees__.push({ - 'iteratee': baseIteratee(iteratee, 3), - 'type': type - }); - result.__filtered__ = result.__filtered__ || isFilter; - return result; - }; -}); - -// Add `LazyWrapper` methods for `_.head` and `_.last`. -arrayEach(['head', 'last'], (methodName, index) => { - var takeName = 'take' + (index ? 'Right' : ''); - - LazyWrapper.prototype[methodName] = function() { - return this[takeName](1).value()[0]; - }; -}); - -// Add `LazyWrapper` methods for `_.initial` and `_.tail`. -arrayEach(['initial', 'tail'], (methodName, index) => { - var dropName = 'drop' + (index ? '' : 'Right'); - - LazyWrapper.prototype[methodName] = function() { - return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1); - }; -}); - -LazyWrapper.prototype.compact = function() { - return this.filter(identity); -}; - -LazyWrapper.prototype.find = function(predicate) { - return this.filter(predicate).head(); -}; - -LazyWrapper.prototype.findLast = function(predicate) { - return this.reverse().find(predicate); -}; - -LazyWrapper.prototype.invokeMap = baseRest(function(path, args) { - if (typeof path == 'function') { - return new LazyWrapper(this); - } - return this.map(value => baseInvoke(value, path, args)); -}); - -LazyWrapper.prototype.reject = function(predicate) { - return this.filter(negate(baseIteratee(predicate))); -}; - -LazyWrapper.prototype.slice = function(start, end) { - start = toInteger(start); - - var result = this; - if (result.__filtered__ && (start > 0 || end < 0)) { - return new LazyWrapper(result); - } - if (start < 0) { - result = result.takeRight(-start); - } else if (start) { - result = result.drop(start); - } - if (end !== undefined) { - end = toInteger(end); - result = end < 0 ? result.dropRight(-end) : result.take(end - start); - } - return result; -}; - -LazyWrapper.prototype.takeRightWhile = function(predicate) { - return this.reverse().takeWhile(predicate).reverse(); -}; - -LazyWrapper.prototype.toArray = function() { - return this.take(MAX_ARRAY_LENGTH); -}; - -// Add `LazyWrapper` methods to `lodash.prototype`. -baseForOwn(LazyWrapper.prototype, (func, methodName) => { - var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName), - isTaker = /^(?:head|last)$/.test(methodName), - lodashFunc = lodash[isTaker ? ('take' + (methodName == 'last' ? 'Right' : '')) : methodName], - retUnwrapped = isTaker || /^find/.test(methodName); - - if (!lodashFunc) { - return; - } - lodash.prototype[methodName] = function() { - var value = this.__wrapped__, - args = isTaker ? [1] : arguments, - isLazy = value instanceof LazyWrapper, - iteratee = args[0], - useLazy = isLazy || isArray(value); - - var interceptor = value => { - var result = lodashFunc.apply(lodash, arrayPush([value], args)); - return (isTaker && chainAll) ? result[0] : result; - }; - - if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) { - // Avoid lazy use if the iteratee has a "length" value other than `1`. - isLazy = useLazy = false; - } - var chainAll = this.__chain__, - isHybrid = !!this.__actions__.length, - isUnwrapped = retUnwrapped && !chainAll, - onlyLazy = isLazy && !isHybrid; - - if (!retUnwrapped && useLazy) { - value = onlyLazy ? value : new LazyWrapper(this); - var result = func.apply(value, args); - result.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined }); - return new LodashWrapper(result, chainAll); - } - if (isUnwrapped && onlyLazy) { - return func.apply(this, args); - } - result = this.thru(interceptor); - return isUnwrapped ? (isTaker ? result.value()[0] : result.value()) : result; - }; -}); - -// Add `Array` methods to `lodash.prototype`. -arrayEach(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], methodName => { - var func = arrayProto[methodName], - chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru', - retUnwrapped = /^(?:pop|shift)$/.test(methodName); - - lodash.prototype[methodName] = function() { - var args = arguments; - if (retUnwrapped && !this.__chain__) { - var value = this.value(); - return func.apply(isArray(value) ? value : [], args); - } - return this[chainName](value => func.apply(isArray(value) ? value : [], args)); - }; -}); - -// Map minified method names to their real names. -baseForOwn(LazyWrapper.prototype, (func, methodName) => { - var lodashFunc = lodash[methodName]; - if (lodashFunc) { - var key = (lodashFunc.name + ''), - names = realNames[key] || (realNames[key] = []); - - names.push({ 'name': methodName, 'func': lodashFunc }); - } -}); - -realNames[createHybrid(undefined, WRAP_BIND_KEY_FLAG).name] = [{ - 'name': 'wrapper', - 'func': undefined -}]; - -// Add methods to `LazyWrapper`. -LazyWrapper.prototype.clone = lazyClone; -LazyWrapper.prototype.reverse = lazyReverse; -LazyWrapper.prototype.value = lazyValue; - -// Add chain sequence methods to the `lodash` wrapper. -lodash.prototype.at = seq.at; -lodash.prototype.chain = seq.wrapperChain; -lodash.prototype.commit = seq.commit; -lodash.prototype.next = seq.next; -lodash.prototype.plant = seq.plant; -lodash.prototype.reverse = seq.reverse; -lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = seq.value; - -// Add lazy aliases. -lodash.prototype.first = lodash.prototype.head; - -if (symIterator) { - lodash.prototype[symIterator] = seq.toIterator; -} - -export default lodash;