| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643 | /** * @license * Lodash (Custom Build) <https://lodash.com/> * Build: `lodash modularize exports="es" -o ./` * Copyright OpenJS Foundation and other contributors <https://openjsf.org/> * Released under MIT license <https://lodash.com/license> * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> * 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.21';/** 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 argumentvar mixin = (function(func) {  return 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, (function() {  var source = {};  baseForOwn(lodash, function(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'], function(methodName) {  lodash[methodName].placeholder = lodash;});// Add `LazyWrapper` methods for `_.drop` and `_.take` variants.arrayEach(['drop', 'take'], function(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'], function(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'], function(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'], function(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(function(value) {    return 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, function(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 = function(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'], function(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](function(value) {      return func.apply(isArray(value) ? value : [], args);    });  };});// Map minified method names to their real names.baseForOwn(LazyWrapper.prototype, function(func, methodName) {  var lodashFunc = lodash[methodName];  if (lodashFunc) {    var key = lodashFunc.name + '';    if (!hasOwnProperty.call(realNames, key)) {      realNames[key] = [];    }    realNames[key].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;
 |