diff options
Diffstat (limited to 'deps/npm/node_modules/cli-table2/node_modules/lodash/internal')
167 files changed, 4742 insertions, 0 deletions
diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/LazyWrapper.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/LazyWrapper.js new file mode 100644 index 0000000000..d9c8080495 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/LazyWrapper.js @@ -0,0 +1,26 @@ +var baseCreate = require('./baseCreate'), + baseLodash = require('./baseLodash'); + +/** Used as references for `-Infinity` and `Infinity`. */ +var POSITIVE_INFINITY = Number.POSITIVE_INFINITY; + +/** + * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. + * + * @private + * @param {*} value The value to wrap. + */ +function LazyWrapper(value) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__dir__ = 1; + this.__filtered__ = false; + this.__iteratees__ = []; + this.__takeCount__ = POSITIVE_INFINITY; + this.__views__ = []; +} + +LazyWrapper.prototype = baseCreate(baseLodash.prototype); +LazyWrapper.prototype.constructor = LazyWrapper; + +module.exports = LazyWrapper; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/LodashWrapper.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/LodashWrapper.js new file mode 100644 index 0000000000..ab06bc7614 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/LodashWrapper.js @@ -0,0 +1,21 @@ +var baseCreate = require('./baseCreate'), + baseLodash = require('./baseLodash'); + +/** + * The base constructor for creating `lodash` wrapper objects. + * + * @private + * @param {*} value The value to wrap. + * @param {boolean} [chainAll] Enable chaining for all wrapper methods. + * @param {Array} [actions=[]] Actions to peform to resolve the unwrapped value. + */ +function LodashWrapper(value, chainAll, actions) { + this.__wrapped__ = value; + this.__actions__ = actions || []; + this.__chain__ = !!chainAll; +} + +LodashWrapper.prototype = baseCreate(baseLodash.prototype); +LodashWrapper.prototype.constructor = LodashWrapper; + +module.exports = LodashWrapper; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/MapCache.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/MapCache.js new file mode 100644 index 0000000000..1d7ab98171 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/MapCache.js @@ -0,0 +1,24 @@ +var mapDelete = require('./mapDelete'), + mapGet = require('./mapGet'), + mapHas = require('./mapHas'), + mapSet = require('./mapSet'); + +/** + * Creates a cache object to store key/value pairs. + * + * @private + * @static + * @name Cache + * @memberOf _.memoize + */ +function MapCache() { + this.__data__ = {}; +} + +// Add functions to the `Map` cache. +MapCache.prototype['delete'] = mapDelete; +MapCache.prototype.get = mapGet; +MapCache.prototype.has = mapHas; +MapCache.prototype.set = mapSet; + +module.exports = MapCache; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/SetCache.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/SetCache.js new file mode 100644 index 0000000000..ae29c55bf3 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/SetCache.js @@ -0,0 +1,29 @@ +var cachePush = require('./cachePush'), + getNative = require('./getNative'); + +/** Native method references. */ +var Set = getNative(global, 'Set'); + +/* Native method references for those with the same name as other `lodash` methods. */ +var nativeCreate = getNative(Object, 'create'); + +/** + * + * Creates a cache object to store unique values. + * + * @private + * @param {Array} [values] The values to cache. + */ +function SetCache(values) { + var length = values ? values.length : 0; + + this.data = { 'hash': nativeCreate(null), 'set': new Set }; + while (length--) { + this.push(values[length]); + } +} + +// Add functions to the `Set` cache. +SetCache.prototype.push = cachePush; + +module.exports = SetCache; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayConcat.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayConcat.js new file mode 100644 index 0000000000..0d131e3999 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayConcat.js @@ -0,0 +1,25 @@ +/** + * Creates a new array joining `array` with `other`. + * + * @private + * @param {Array} array The array to join. + * @param {Array} other The other array to join. + * @returns {Array} Returns the new concatenated array. + */ +function arrayConcat(array, other) { + var index = -1, + length = array.length, + othIndex = -1, + othLength = other.length, + result = Array(length + othLength); + + while (++index < length) { + result[index] = array[index]; + } + while (++othIndex < othLength) { + result[index++] = other[othIndex]; + } + return result; +} + +module.exports = arrayConcat; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayCopy.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayCopy.js new file mode 100644 index 0000000000..fa7067f9fa --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayCopy.js @@ -0,0 +1,20 @@ +/** + * Copies the values of `source` to `array`. + * + * @private + * @param {Array} source The array to copy values from. + * @param {Array} [array=[]] The array to copy values to. + * @returns {Array} Returns `array`. + */ +function arrayCopy(source, array) { + var index = -1, + length = source.length; + + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; +} + +module.exports = arrayCopy; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayEach.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayEach.js new file mode 100644 index 0000000000..0f51382424 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayEach.js @@ -0,0 +1,22 @@ +/** + * A specialized version of `_.forEach` for arrays without support for callback + * shorthands and `this` binding. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ +function arrayEach(array, iteratee) { + var index = -1, + length = array.length; + + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; +} + +module.exports = arrayEach; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayEachRight.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayEachRight.js new file mode 100644 index 0000000000..367e066d80 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayEachRight.js @@ -0,0 +1,21 @@ +/** + * A specialized version of `_.forEachRight` for arrays without support for + * callback shorthands and `this` binding. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ +function arrayEachRight(array, iteratee) { + var length = array.length; + + while (length--) { + if (iteratee(array[length], length, array) === false) { + break; + } + } + return array; +} + +module.exports = arrayEachRight; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayEvery.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayEvery.js new file mode 100644 index 0000000000..3fe6ed2771 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayEvery.js @@ -0,0 +1,23 @@ +/** + * A specialized version of `_.every` for arrays without support for callback + * shorthands and `this` binding. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + */ +function arrayEvery(array, predicate) { + var index = -1, + length = array.length; + + while (++index < length) { + if (!predicate(array[index], index, array)) { + return false; + } + } + return true; +} + +module.exports = arrayEvery; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayExtremum.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayExtremum.js new file mode 100644 index 0000000000..e45badbda1 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayExtremum.js @@ -0,0 +1,30 @@ +/** + * A specialized version of `baseExtremum` for arrays which invokes `iteratee` + * with one argument: (value). + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} comparator The function used to compare values. + * @param {*} exValue The initial extremum value. + * @returns {*} Returns the extremum value. + */ +function arrayExtremum(array, iteratee, comparator, exValue) { + var index = -1, + length = array.length, + computed = exValue, + result = computed; + + while (++index < length) { + var value = array[index], + current = +iteratee(value); + + if (comparator(current, computed)) { + computed = current; + result = value; + } + } + return result; +} + +module.exports = arrayExtremum; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayFilter.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayFilter.js new file mode 100644 index 0000000000..e14fe06900 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayFilter.js @@ -0,0 +1,25 @@ +/** + * A specialized version of `_.filter` for arrays without support for callback + * shorthands and `this` binding. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function arrayFilter(array, predicate) { + var index = -1, + length = array.length, + resIndex = -1, + result = []; + + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[++resIndex] = value; + } + } + return result; +} + +module.exports = arrayFilter; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayMap.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayMap.js new file mode 100644 index 0000000000..777c7c9f35 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayMap.js @@ -0,0 +1,21 @@ +/** + * A specialized version of `_.map` for arrays without support for callback + * shorthands and `this` binding. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function arrayMap(array, iteratee) { + var index = -1, + length = array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; +} + +module.exports = arrayMap; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayPush.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayPush.js new file mode 100644 index 0000000000..7d742b383e --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayPush.js @@ -0,0 +1,20 @@ +/** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ +function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; +} + +module.exports = arrayPush; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayReduce.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayReduce.js new file mode 100644 index 0000000000..f948c8e528 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayReduce.js @@ -0,0 +1,26 @@ +/** + * A specialized version of `_.reduce` for arrays without support for callback + * shorthands and `this` binding. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initFromArray] Specify using the first element of `array` + * as the initial value. + * @returns {*} Returns the accumulated value. + */ +function arrayReduce(array, iteratee, accumulator, initFromArray) { + var index = -1, + length = array.length; + + if (initFromArray && length) { + accumulator = array[++index]; + } + while (++index < length) { + accumulator = iteratee(accumulator, array[index], index, array); + } + return accumulator; +} + +module.exports = arrayReduce; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayReduceRight.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayReduceRight.js new file mode 100644 index 0000000000..d4d68dff01 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arrayReduceRight.js @@ -0,0 +1,24 @@ +/** + * A specialized version of `_.reduceRight` for arrays without support for + * callback shorthands and `this` binding. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initFromArray] Specify using the last element of `array` + * as the initial value. + * @returns {*} Returns the accumulated value. + */ +function arrayReduceRight(array, iteratee, accumulator, initFromArray) { + var length = array.length; + if (initFromArray && length) { + accumulator = array[--length]; + } + while (length--) { + accumulator = iteratee(accumulator, array[length], length, array); + } + return accumulator; +} + +module.exports = arrayReduceRight; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arraySome.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arraySome.js new file mode 100644 index 0000000000..f7a0bb58ef --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arraySome.js @@ -0,0 +1,23 @@ +/** + * A specialized version of `_.some` for arrays without support for callback + * shorthands and `this` binding. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function arraySome(array, predicate) { + var index = -1, + length = array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; +} + +module.exports = arraySome; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arraySum.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arraySum.js new file mode 100644 index 0000000000..0e40c917e8 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/arraySum.js @@ -0,0 +1,20 @@ +/** + * A specialized version of `_.sum` for arrays without support for callback + * shorthands and `this` binding.. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the sum. + */ +function arraySum(array, iteratee) { + var length = array.length, + result = 0; + + while (length--) { + result += +iteratee(array[length]) || 0; + } + return result; +} + +module.exports = arraySum; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/assignDefaults.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/assignDefaults.js new file mode 100644 index 0000000000..affd993ad1 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/assignDefaults.js @@ -0,0 +1,13 @@ +/** + * Used by `_.defaults` to customize its `_.assign` use. + * + * @private + * @param {*} objectValue The destination object property value. + * @param {*} sourceValue The source object property value. + * @returns {*} Returns the value to assign to the destination object. + */ +function assignDefaults(objectValue, sourceValue) { + return objectValue === undefined ? sourceValue : objectValue; +} + +module.exports = assignDefaults; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/assignOwnDefaults.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/assignOwnDefaults.js new file mode 100644 index 0000000000..682c460d72 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/assignOwnDefaults.js @@ -0,0 +1,26 @@ +/** Used for native method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used by `_.template` to customize its `_.assign` use. + * + * **Note:** This function is like `assignDefaults` except that it ignores + * inherited property values when checking if a property is `undefined`. + * + * @private + * @param {*} objectValue The destination object property value. + * @param {*} sourceValue The source object property value. + * @param {string} key The key associated with the object and source values. + * @param {Object} object The destination object. + * @returns {*} Returns the value to assign to the destination object. + */ +function assignOwnDefaults(objectValue, sourceValue, key, object) { + return (objectValue === undefined || !hasOwnProperty.call(object, key)) + ? sourceValue + : objectValue; +} + +module.exports = assignOwnDefaults; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/assignWith.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/assignWith.js new file mode 100644 index 0000000000..d2b261ad2b --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/assignWith.js @@ -0,0 +1,32 @@ +var keys = require('../object/keys'); + +/** + * A specialized version of `_.assign` for customizing assigned values without + * support for argument juggling, multiple sources, and `this` binding `customizer` + * functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {Function} customizer The function to customize assigned values. + * @returns {Object} Returns `object`. + */ +function assignWith(object, source, customizer) { + var index = -1, + props = keys(source), + length = props.length; + + while (++index < length) { + var key = props[index], + value = object[key], + result = customizer(value, source[key], key, object, source); + + if ((result === result ? (result !== value) : (value === value)) || + (value === undefined && !(key in object))) { + object[key] = result; + } + } + return object; +} + +module.exports = assignWith; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseAssign.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseAssign.js new file mode 100644 index 0000000000..cfad6e0c30 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseAssign.js @@ -0,0 +1,19 @@ +var baseCopy = require('./baseCopy'), + keys = require('../object/keys'); + +/** + * The base implementation of `_.assign` without support for argument juggling, + * multiple sources, and `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ +function baseAssign(object, source) { + return source == null + ? object + : baseCopy(source, keys(source), object); +} + +module.exports = baseAssign; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseAt.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseAt.js new file mode 100644 index 0000000000..bbafd1d5ad --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseAt.js @@ -0,0 +1,32 @@ +var isArrayLike = require('./isArrayLike'), + isIndex = require('./isIndex'); + +/** + * The base implementation of `_.at` without support for string collections + * and individual key arguments. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {number[]|string[]} props The property names or indexes of elements to pick. + * @returns {Array} Returns the new array of picked elements. + */ +function baseAt(collection, props) { + var index = -1, + isNil = collection == null, + isArr = !isNil && isArrayLike(collection), + length = isArr ? collection.length : 0, + propsLength = props.length, + result = Array(propsLength); + + while(++index < propsLength) { + var key = props[index]; + if (isArr) { + result[index] = isIndex(key, length) ? collection[key] : undefined; + } else { + result[index] = isNil ? undefined : collection[key]; + } + } + return result; +} + +module.exports = baseAt; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseCallback.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseCallback.js new file mode 100644 index 0000000000..67fe087c4a --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseCallback.js @@ -0,0 +1,35 @@ +var baseMatches = require('./baseMatches'), + baseMatchesProperty = require('./baseMatchesProperty'), + bindCallback = require('./bindCallback'), + identity = require('../utility/identity'), + property = require('../utility/property'); + +/** + * The base implementation of `_.callback` which supports specifying the + * number of arguments to provide to `func`. + * + * @private + * @param {*} [func=_.identity] The value to convert to a callback. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {number} [argCount] The number of arguments to provide to `func`. + * @returns {Function} Returns the callback. + */ +function baseCallback(func, thisArg, argCount) { + var type = typeof func; + if (type == 'function') { + return thisArg === undefined + ? func + : bindCallback(func, thisArg, argCount); + } + if (func == null) { + return identity; + } + if (type == 'object') { + return baseMatches(func); + } + return thisArg === undefined + ? property(func) + : baseMatchesProperty(func, thisArg); +} + +module.exports = baseCallback; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseClone.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseClone.js new file mode 100644 index 0000000000..ebd6649f9e --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseClone.js @@ -0,0 +1,128 @@ +var arrayCopy = require('./arrayCopy'), + arrayEach = require('./arrayEach'), + baseAssign = require('./baseAssign'), + baseForOwn = require('./baseForOwn'), + initCloneArray = require('./initCloneArray'), + initCloneByTag = require('./initCloneByTag'), + initCloneObject = require('./initCloneObject'), + isArray = require('../lang/isArray'), + isObject = require('../lang/isObject'); + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** Used to identify `toStringTag` values supported by `_.clone`. */ +var cloneableTags = {}; +cloneableTags[argsTag] = cloneableTags[arrayTag] = +cloneableTags[arrayBufferTag] = cloneableTags[boolTag] = +cloneableTags[dateTag] = cloneableTags[float32Tag] = +cloneableTags[float64Tag] = cloneableTags[int8Tag] = +cloneableTags[int16Tag] = cloneableTags[int32Tag] = +cloneableTags[numberTag] = cloneableTags[objectTag] = +cloneableTags[regexpTag] = cloneableTags[stringTag] = +cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = +cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; +cloneableTags[errorTag] = cloneableTags[funcTag] = +cloneableTags[mapTag] = cloneableTags[setTag] = +cloneableTags[weakMapTag] = false; + +/** Used for native method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) + * of values. + */ +var objToString = objectProto.toString; + +/** + * The base implementation of `_.clone` without support for argument juggling + * and `this` binding `customizer` functions. + * + * @private + * @param {*} value The value to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @param {Function} [customizer] The function to customize cloning values. + * @param {string} [key] The key of `value`. + * @param {Object} [object] The object `value` belongs to. + * @param {Array} [stackA=[]] Tracks traversed source objects. + * @param {Array} [stackB=[]] Associates clones with source counterparts. + * @returns {*} Returns the cloned value. + */ +function baseClone(value, isDeep, customizer, key, object, stackA, stackB) { + var result; + if (customizer) { + result = object ? customizer(value, key, object) : customizer(value); + } + if (result !== undefined) { + return result; + } + if (!isObject(value)) { + return value; + } + var isArr = isArray(value); + if (isArr) { + result = initCloneArray(value); + if (!isDeep) { + return arrayCopy(value, result); + } + } else { + var tag = objToString.call(value), + isFunc = tag == funcTag; + + if (tag == objectTag || tag == argsTag || (isFunc && !object)) { + result = initCloneObject(isFunc ? {} : value); + if (!isDeep) { + return baseAssign(result, value); + } + } else { + return cloneableTags[tag] + ? initCloneByTag(value, tag, isDeep) + : (object ? value : {}); + } + } + // Check for circular references and return its corresponding clone. + stackA || (stackA = []); + stackB || (stackB = []); + + var length = stackA.length; + while (length--) { + if (stackA[length] == value) { + return stackB[length]; + } + } + // Add the source value to the stack of traversed objects and associate it with its clone. + stackA.push(value); + stackB.push(result); + + // Recursively populate clone (susceptible to call stack limits). + (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) { + result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB); + }); + return result; +} + +module.exports = baseClone; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseCompareAscending.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseCompareAscending.js new file mode 100644 index 0000000000..c8259c72dc --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseCompareAscending.js @@ -0,0 +1,34 @@ +/** + * The base implementation of `compareAscending` which compares values and + * sorts them in ascending order without guaranteeing a stable sort. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {number} Returns the sort order indicator for `value`. + */ +function baseCompareAscending(value, other) { + if (value !== other) { + var valIsNull = value === null, + valIsUndef = value === undefined, + valIsReflexive = value === value; + + var othIsNull = other === null, + othIsUndef = other === undefined, + othIsReflexive = other === other; + + if ((value > other && !othIsNull) || !valIsReflexive || + (valIsNull && !othIsUndef && othIsReflexive) || + (valIsUndef && othIsReflexive)) { + return 1; + } + if ((value < other && !valIsNull) || !othIsReflexive || + (othIsNull && !valIsUndef && valIsReflexive) || + (othIsUndef && valIsReflexive)) { + return -1; + } + } + return 0; +} + +module.exports = baseCompareAscending; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseCopy.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseCopy.js new file mode 100644 index 0000000000..15059f312a --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseCopy.js @@ -0,0 +1,23 @@ +/** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property names to copy. + * @param {Object} [object={}] The object to copy properties to. + * @returns {Object} Returns `object`. + */ +function baseCopy(source, props, object) { + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + object[key] = source[key]; + } + return object; +} + +module.exports = baseCopy; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseCreate.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseCreate.js new file mode 100644 index 0000000000..be5e1d9d48 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseCreate.js @@ -0,0 +1,23 @@ +var isObject = require('../lang/isObject'); + +/** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} prototype The object to inherit from. + * @returns {Object} Returns the new object. + */ +var baseCreate = (function() { + function object() {} + return function(prototype) { + if (isObject(prototype)) { + object.prototype = prototype; + var result = new object; + object.prototype = undefined; + } + return result || {}; + }; +}()); + +module.exports = baseCreate; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseDelay.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseDelay.js new file mode 100644 index 0000000000..c405c37b69 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseDelay.js @@ -0,0 +1,21 @@ +/** Used as the `TypeError` message for "Functions" methods. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * The base implementation of `_.delay` and `_.defer` which accepts an index + * of where to slice the arguments to provide to `func`. + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {Object} args The arguments provide to `func`. + * @returns {number} Returns the timer id. + */ +function baseDelay(func, wait, args) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return setTimeout(function() { func.apply(undefined, args); }, wait); +} + +module.exports = baseDelay; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseDifference.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseDifference.js new file mode 100644 index 0000000000..40da1b62ad --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseDifference.js @@ -0,0 +1,55 @@ +var baseIndexOf = require('./baseIndexOf'), + cacheIndexOf = require('./cacheIndexOf'), + createCache = require('./createCache'); + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * The base implementation of `_.difference` which accepts a single array + * of values to exclude. + * + * @private + * @param {Array} array The array to inspect. + * @param {Array} values The values to exclude. + * @returns {Array} Returns the new array of filtered values. + */ +function baseDifference(array, values) { + var length = array ? array.length : 0, + result = []; + + if (!length) { + return result; + } + var index = -1, + indexOf = baseIndexOf, + isCommon = true, + cache = (isCommon && values.length >= LARGE_ARRAY_SIZE) ? createCache(values) : null, + valuesLength = values.length; + + if (cache) { + indexOf = cacheIndexOf; + isCommon = false; + values = cache; + } + outer: + while (++index < length) { + var value = array[index]; + + if (isCommon && value === value) { + var valuesIndex = valuesLength; + while (valuesIndex--) { + if (values[valuesIndex] === value) { + continue outer; + } + } + result.push(value); + } + else if (indexOf(values, value, 0) < 0) { + result.push(value); + } + } + return result; +} + +module.exports = baseDifference; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseEach.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseEach.js new file mode 100644 index 0000000000..09ef5a3a4c --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseEach.js @@ -0,0 +1,15 @@ +var baseForOwn = require('./baseForOwn'), + createBaseEach = require('./createBaseEach'); + +/** + * The base implementation of `_.forEach` without support for callback + * shorthands and `this` binding. + * + * @private + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object|string} Returns `collection`. + */ +var baseEach = createBaseEach(baseForOwn); + +module.exports = baseEach; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseEachRight.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseEachRight.js new file mode 100644 index 0000000000..f0520a8b4f --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseEachRight.js @@ -0,0 +1,15 @@ +var baseForOwnRight = require('./baseForOwnRight'), + createBaseEach = require('./createBaseEach'); + +/** + * The base implementation of `_.forEachRight` without support for callback + * shorthands and `this` binding. + * + * @private + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object|string} Returns `collection`. + */ +var baseEachRight = createBaseEach(baseForOwnRight, true); + +module.exports = baseEachRight; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseEvery.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseEvery.js new file mode 100644 index 0000000000..a1fc1f3512 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseEvery.js @@ -0,0 +1,22 @@ +var baseEach = require('./baseEach'); + +/** + * The base implementation of `_.every` without support for callback + * shorthands and `this` binding. + * + * @private + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false` + */ +function baseEvery(collection, predicate) { + var result = true; + baseEach(collection, function(value, index, collection) { + result = !!predicate(value, index, collection); + return result; + }); + return result; +} + +module.exports = baseEvery; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseExtremum.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseExtremum.js new file mode 100644 index 0000000000..b0efff6f9c --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseExtremum.js @@ -0,0 +1,29 @@ +var baseEach = require('./baseEach'); + +/** + * Gets the extremum value of `collection` invoking `iteratee` for each value + * in `collection` to generate the criterion by which the value is ranked. + * The `iteratee` is invoked with three arguments: (value, index|key, collection). + * + * @private + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} comparator The function used to compare values. + * @param {*} exValue The initial extremum value. + * @returns {*} Returns the extremum value. + */ +function baseExtremum(collection, iteratee, comparator, exValue) { + var computed = exValue, + result = computed; + + baseEach(collection, function(value, index, collection) { + var current = +iteratee(value, index, collection); + if (comparator(current, computed) || (current === exValue && current === result)) { + computed = current; + result = value; + } + }); + return result; +} + +module.exports = baseExtremum; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFill.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFill.js new file mode 100644 index 0000000000..ef1a2fa162 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFill.js @@ -0,0 +1,31 @@ +/** + * The base implementation of `_.fill` without an iteratee call guard. + * + * @private + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + */ +function baseFill(array, value, start, end) { + var length = array.length; + + start = start == null ? 0 : (+start || 0); + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = (end === undefined || end > length) ? length : (+end || 0); + if (end < 0) { + end += length; + } + length = start > end ? 0 : (end >>> 0); + start >>>= 0; + + while (start < length) { + array[start++] = value; + } + return array; +} + +module.exports = baseFill; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFilter.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFilter.js new file mode 100644 index 0000000000..27773a47e1 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFilter.js @@ -0,0 +1,22 @@ +var baseEach = require('./baseEach'); + +/** + * The base implementation of `_.filter` without support for callback + * shorthands and `this` binding. + * + * @private + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function baseFilter(collection, predicate) { + var result = []; + baseEach(collection, function(value, index, collection) { + if (predicate(value, index, collection)) { + result.push(value); + } + }); + return result; +} + +module.exports = baseFilter; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFind.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFind.js new file mode 100644 index 0000000000..be5848fbf1 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFind.js @@ -0,0 +1,25 @@ +/** + * The base implementation of `_.find`, `_.findLast`, `_.findKey`, and `_.findLastKey`, + * without support for callback shorthands and `this` binding, which iterates + * over `collection` using the provided `eachFunc`. + * + * @private + * @param {Array|Object|string} collection The collection to search. + * @param {Function} predicate The function invoked per iteration. + * @param {Function} eachFunc The function to iterate over `collection`. + * @param {boolean} [retKey] Specify returning the key of the found element + * instead of the element itself. + * @returns {*} Returns the found element or its key, else `undefined`. + */ +function baseFind(collection, predicate, eachFunc, retKey) { + var result; + eachFunc(collection, function(value, key, collection) { + if (predicate(value, key, collection)) { + result = retKey ? key : value; + return false; + } + }); + return result; +} + +module.exports = baseFind; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFindIndex.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFindIndex.js new file mode 100644 index 0000000000..7d4b502485 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFindIndex.js @@ -0,0 +1,23 @@ +/** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for callback shorthands and `this` binding. + * + * @private + * @param {Array} array The array to search. + * @param {Function} predicate The function invoked per iteration. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseFindIndex(array, predicate, fromRight) { + var length = array.length, + index = fromRight ? length : -1; + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; +} + +module.exports = baseFindIndex; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFlatten.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFlatten.js new file mode 100644 index 0000000000..7443233220 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFlatten.js @@ -0,0 +1,41 @@ +var arrayPush = require('./arrayPush'), + isArguments = require('../lang/isArguments'), + isArray = require('../lang/isArray'), + isArrayLike = require('./isArrayLike'), + isObjectLike = require('./isObjectLike'); + +/** + * The base implementation of `_.flatten` with added support for restricting + * flattening and specifying the start index. + * + * @private + * @param {Array} array The array to flatten. + * @param {boolean} [isDeep] Specify a deep flatten. + * @param {boolean} [isStrict] Restrict flattening to arrays-like objects. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ +function baseFlatten(array, isDeep, isStrict, result) { + result || (result = []); + + var index = -1, + length = array.length; + + while (++index < length) { + var value = array[index]; + if (isObjectLike(value) && isArrayLike(value) && + (isStrict || isArray(value) || isArguments(value))) { + if (isDeep) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, isDeep, isStrict, result); + } else { + arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; +} + +module.exports = baseFlatten; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFor.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFor.js new file mode 100644 index 0000000000..94ee03f925 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFor.js @@ -0,0 +1,17 @@ +var createBaseFor = require('./createBaseFor'); + +/** + * The base implementation of `baseForIn` and `baseForOwn` which iterates + * over `object` properties returned by `keysFunc` invoking `iteratee` for + * each property. Iteratee functions may exit iteration early by explicitly + * returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ +var baseFor = createBaseFor(); + +module.exports = baseFor; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseForIn.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseForIn.js new file mode 100644 index 0000000000..47d622c384 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseForIn.js @@ -0,0 +1,17 @@ +var baseFor = require('./baseFor'), + keysIn = require('../object/keysIn'); + +/** + * The base implementation of `_.forIn` without support for callback + * shorthands and `this` binding. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ +function baseForIn(object, iteratee) { + return baseFor(object, iteratee, keysIn); +} + +module.exports = baseForIn; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseForOwn.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseForOwn.js new file mode 100644 index 0000000000..bef4d4c35f --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseForOwn.js @@ -0,0 +1,17 @@ +var baseFor = require('./baseFor'), + keys = require('../object/keys'); + +/** + * The base implementation of `_.forOwn` without support for callback + * shorthands and `this` binding. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ +function baseForOwn(object, iteratee) { + return baseFor(object, iteratee, keys); +} + +module.exports = baseForOwn; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseForOwnRight.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseForOwnRight.js new file mode 100644 index 0000000000..bb916bc75a --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseForOwnRight.js @@ -0,0 +1,17 @@ +var baseForRight = require('./baseForRight'), + keys = require('../object/keys'); + +/** + * The base implementation of `_.forOwnRight` without support for callback + * shorthands and `this` binding. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ +function baseForOwnRight(object, iteratee) { + return baseForRight(object, iteratee, keys); +} + +module.exports = baseForOwnRight; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseForRight.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseForRight.js new file mode 100644 index 0000000000..5ddd191325 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseForRight.js @@ -0,0 +1,15 @@ +var createBaseFor = require('./createBaseFor'); + +/** + * This function is like `baseFor` except that it iterates over properties + * in the opposite order. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ +var baseForRight = createBaseFor(true); + +module.exports = baseForRight; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFunctions.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFunctions.js new file mode 100644 index 0000000000..d56ea9c5dc --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseFunctions.js @@ -0,0 +1,27 @@ +var isFunction = require('../lang/isFunction'); + +/** + * The base implementation of `_.functions` which creates an array of + * `object` function property names filtered from those provided. + * + * @private + * @param {Object} object The object to inspect. + * @param {Array} props The property names to filter. + * @returns {Array} Returns the new array of filtered property names. + */ +function baseFunctions(object, props) { + var index = -1, + length = props.length, + resIndex = -1, + result = []; + + while (++index < length) { + var key = props[index]; + if (isFunction(object[key])) { + result[++resIndex] = key; + } + } + return result; +} + +module.exports = baseFunctions; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseGet.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseGet.js new file mode 100644 index 0000000000..ad9b1ee11b --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseGet.js @@ -0,0 +1,29 @@ +var toObject = require('./toObject'); + +/** + * The base implementation of `get` without support for string paths + * and default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array} path The path of the property to get. + * @param {string} [pathKey] The key representation of path. + * @returns {*} Returns the resolved value. + */ +function baseGet(object, path, pathKey) { + if (object == null) { + return; + } + if (pathKey !== undefined && pathKey in toObject(object)) { + path = [pathKey]; + } + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[path[index++]]; + } + return (index && index == length) ? object : undefined; +} + +module.exports = baseGet; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseIndexOf.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseIndexOf.js new file mode 100644 index 0000000000..6b479bce1e --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseIndexOf.js @@ -0,0 +1,27 @@ +var indexOfNaN = require('./indexOfNaN'); + +/** + * The base implementation of `_.indexOf` without support for binary searches. + * + * @private + * @param {Array} array The array to search. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseIndexOf(array, value, fromIndex) { + if (value !== value) { + return indexOfNaN(array, fromIndex); + } + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; +} + +module.exports = baseIndexOf; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseIsEqual.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseIsEqual.js new file mode 100644 index 0000000000..87e14ac556 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseIsEqual.js @@ -0,0 +1,28 @@ +var baseIsEqualDeep = require('./baseIsEqualDeep'), + isObject = require('../lang/isObject'), + isObjectLike = require('./isObjectLike'); + +/** + * The base implementation of `_.isEqual` without support for `this` binding + * `customizer` functions. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {Function} [customizer] The function to customize comparing values. + * @param {boolean} [isLoose] Specify performing partial comparisons. + * @param {Array} [stackA] Tracks traversed `value` objects. + * @param {Array} [stackB] Tracks traversed `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ +function baseIsEqual(value, other, customizer, isLoose, stackA, stackB) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB); +} + +module.exports = baseIsEqual; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseIsEqualDeep.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseIsEqualDeep.js new file mode 100644 index 0000000000..f1dbffe891 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseIsEqualDeep.js @@ -0,0 +1,102 @@ +var equalArrays = require('./equalArrays'), + equalByTag = require('./equalByTag'), + equalObjects = require('./equalObjects'), + isArray = require('../lang/isArray'), + isTypedArray = require('../lang/isTypedArray'); + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + objectTag = '[object Object]'; + +/** Used for native method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) + * of values. + */ +var objToString = objectProto.toString; + +/** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} [customizer] The function to customize comparing objects. + * @param {boolean} [isLoose] Specify performing partial comparisons. + * @param {Array} [stackA=[]] Tracks traversed `value` objects. + * @param {Array} [stackB=[]] Tracks traversed `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = arrayTag, + othTag = arrayTag; + + if (!objIsArr) { + objTag = objToString.call(object); + if (objTag == argsTag) { + objTag = objectTag; + } else if (objTag != objectTag) { + objIsArr = isTypedArray(object); + } + } + if (!othIsArr) { + othTag = objToString.call(other); + if (othTag == argsTag) { + othTag = objectTag; + } else if (othTag != objectTag) { + othIsArr = isTypedArray(other); + } + } + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && !(objIsArr || objIsObj)) { + return equalByTag(object, other, objTag); + } + if (!isLoose) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB); + } + } + if (!isSameTag) { + return false; + } + // Assume cyclic values are equal. + // For more information on detecting circular references see https://es5.github.io/#JO. + stackA || (stackA = []); + stackB || (stackB = []); + + var length = stackA.length; + while (length--) { + if (stackA[length] == object) { + return stackB[length] == other; + } + } + // Add `object` and `other` to the stack of traversed objects. + stackA.push(object); + stackB.push(other); + + var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB); + + stackA.pop(); + stackB.pop(); + + return result; +} + +module.exports = baseIsEqualDeep; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseIsFunction.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseIsFunction.js new file mode 100644 index 0000000000..cd92db30f3 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseIsFunction.js @@ -0,0 +1,15 @@ +/** + * The base implementation of `_.isFunction` without support for environments + * with incorrect `typeof` results. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. + */ +function baseIsFunction(value) { + // Avoid a Chakra JIT bug in compatibility modes of IE 11. + // See https://github.com/jashkenas/underscore/issues/1621 for more details. + return typeof value == 'function' || false; +} + +module.exports = baseIsFunction; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseIsMatch.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseIsMatch.js new file mode 100644 index 0000000000..ea48bb6567 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseIsMatch.js @@ -0,0 +1,52 @@ +var baseIsEqual = require('./baseIsEqual'), + toObject = require('./toObject'); + +/** + * The base implementation of `_.isMatch` without support for callback + * shorthands and `this` binding. + * + * @private + * @param {Object} object The object to inspect. + * @param {Array} matchData The propery names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparing objects. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ +function baseIsMatch(object, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = toObject(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var result = customizer ? customizer(objValue, srcValue, key) : undefined; + if (!(result === undefined ? baseIsEqual(srcValue, objValue, customizer, true) : result)) { + return false; + } + } + } + return true; +} + +module.exports = baseIsMatch; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseLodash.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseLodash.js new file mode 100644 index 0000000000..15b79d3f7b --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseLodash.js @@ -0,0 +1,10 @@ +/** + * The function whose prototype all chaining wrappers inherit from. + * + * @private + */ +function baseLodash() { + // No operation performed. +} + +module.exports = baseLodash; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseMap.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseMap.js new file mode 100644 index 0000000000..2906b518f9 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseMap.js @@ -0,0 +1,23 @@ +var baseEach = require('./baseEach'), + isArrayLike = require('./isArrayLike'); + +/** + * The base implementation of `_.map` without support for callback shorthands + * and `this` binding. + * + * @private + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function baseMap(collection, iteratee) { + var index = -1, + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value, key, collection) { + result[++index] = iteratee(value, key, collection); + }); + return result; +} + +module.exports = baseMap; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseMatches.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseMatches.js new file mode 100644 index 0000000000..5f76c67dcd --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseMatches.js @@ -0,0 +1,30 @@ +var baseIsMatch = require('./baseIsMatch'), + getMatchData = require('./getMatchData'), + toObject = require('./toObject'); + +/** + * The base implementation of `_.matches` which does not clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new function. + */ +function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + var key = matchData[0][0], + value = matchData[0][1]; + + return function(object) { + if (object == null) { + return false; + } + return object[key] === value && (value !== undefined || (key in toObject(object))); + }; + } + return function(object) { + return baseIsMatch(object, matchData); + }; +} + +module.exports = baseMatches; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseMatchesProperty.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseMatchesProperty.js new file mode 100644 index 0000000000..8f9005ce0f --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseMatchesProperty.js @@ -0,0 +1,45 @@ +var baseGet = require('./baseGet'), + baseIsEqual = require('./baseIsEqual'), + baseSlice = require('./baseSlice'), + isArray = require('../lang/isArray'), + isKey = require('./isKey'), + isStrictComparable = require('./isStrictComparable'), + last = require('../array/last'), + toObject = require('./toObject'), + toPath = require('./toPath'); + +/** + * The base implementation of `_.matchesProperty` which does not clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to compare. + * @returns {Function} Returns the new function. + */ +function baseMatchesProperty(path, srcValue) { + var isArr = isArray(path), + isCommon = isKey(path) && isStrictComparable(srcValue), + pathKey = (path + ''); + + path = toPath(path); + return function(object) { + if (object == null) { + return false; + } + var key = pathKey; + object = toObject(object); + if ((isArr || !isCommon) && !(key in object)) { + object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1)); + if (object == null) { + return false; + } + key = last(path); + object = toObject(object); + } + return object[key] === srcValue + ? (srcValue !== undefined || (key in object)) + : baseIsEqual(srcValue, object[key], undefined, true); + }; +} + +module.exports = baseMatchesProperty; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseMerge.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseMerge.js new file mode 100644 index 0000000000..ab81900869 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseMerge.js @@ -0,0 +1,56 @@ +var arrayEach = require('./arrayEach'), + baseMergeDeep = require('./baseMergeDeep'), + isArray = require('../lang/isArray'), + isArrayLike = require('./isArrayLike'), + isObject = require('../lang/isObject'), + isObjectLike = require('./isObjectLike'), + isTypedArray = require('../lang/isTypedArray'), + keys = require('../object/keys'); + +/** + * The base implementation of `_.merge` without support for argument juggling, + * multiple sources, and `this` binding `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {Function} [customizer] The function to customize merged values. + * @param {Array} [stackA=[]] Tracks traversed source objects. + * @param {Array} [stackB=[]] Associates values with source counterparts. + * @returns {Object} Returns `object`. + */ +function baseMerge(object, source, customizer, stackA, stackB) { + if (!isObject(object)) { + return object; + } + var isSrcArr = isArrayLike(source) && (isArray(source) || isTypedArray(source)), + props = isSrcArr ? undefined : keys(source); + + arrayEach(props || source, function(srcValue, key) { + if (props) { + key = srcValue; + srcValue = source[key]; + } + if (isObjectLike(srcValue)) { + stackA || (stackA = []); + stackB || (stackB = []); + baseMergeDeep(object, source, key, baseMerge, customizer, stackA, stackB); + } + else { + var value = object[key], + result = customizer ? customizer(value, srcValue, key, object, source) : undefined, + isCommon = result === undefined; + + if (isCommon) { + result = srcValue; + } + if ((result !== undefined || (isSrcArr && !(key in object))) && + (isCommon || (result === result ? (result !== value) : (value === value)))) { + object[key] = result; + } + } + }); + return object; +} + +module.exports = baseMerge; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseMergeDeep.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseMergeDeep.js new file mode 100644 index 0000000000..f8aeac5916 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseMergeDeep.js @@ -0,0 +1,67 @@ +var arrayCopy = require('./arrayCopy'), + isArguments = require('../lang/isArguments'), + isArray = require('../lang/isArray'), + isArrayLike = require('./isArrayLike'), + isPlainObject = require('../lang/isPlainObject'), + isTypedArray = require('../lang/isTypedArray'), + toPlainObject = require('../lang/toPlainObject'); + +/** + * A specialized version of `baseMerge` for arrays and objects which performs + * deep merges and tracks traversed objects enabling objects with circular + * references to be merged. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {string} key The key of the value to merge. + * @param {Function} mergeFunc The function to merge values. + * @param {Function} [customizer] The function to customize merged values. + * @param {Array} [stackA=[]] Tracks traversed source objects. + * @param {Array} [stackB=[]] Associates values with source counterparts. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function baseMergeDeep(object, source, key, mergeFunc, customizer, stackA, stackB) { + var length = stackA.length, + srcValue = source[key]; + + while (length--) { + if (stackA[length] == srcValue) { + object[key] = stackB[length]; + return; + } + } + var value = object[key], + result = customizer ? customizer(value, srcValue, key, object, source) : undefined, + isCommon = result === undefined; + + if (isCommon) { + result = srcValue; + if (isArrayLike(srcValue) && (isArray(srcValue) || isTypedArray(srcValue))) { + result = isArray(value) + ? value + : (isArrayLike(value) ? arrayCopy(value) : []); + } + else if (isPlainObject(srcValue) || isArguments(srcValue)) { + result = isArguments(value) + ? toPlainObject(value) + : (isPlainObject(value) ? value : {}); + } + else { + isCommon = false; + } + } + // Add the source value to the stack of traversed objects and associate + // it with its merged value. + stackA.push(srcValue); + stackB.push(result); + + if (isCommon) { + // Recursively merge objects and arrays (susceptible to call stack limits). + object[key] = mergeFunc(result, srcValue, customizer, stackA, stackB); + } else if (result === result ? (result !== value) : (value === value)) { + object[key] = result; + } +} + +module.exports = baseMergeDeep; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseProperty.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseProperty.js new file mode 100644 index 0000000000..e515941c16 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseProperty.js @@ -0,0 +1,14 @@ +/** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new function. + */ +function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; +} + +module.exports = baseProperty; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/basePropertyDeep.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/basePropertyDeep.js new file mode 100644 index 0000000000..1b6ce40a17 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/basePropertyDeep.js @@ -0,0 +1,19 @@ +var baseGet = require('./baseGet'), + toPath = require('./toPath'); + +/** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new function. + */ +function basePropertyDeep(path) { + var pathKey = (path + ''); + path = toPath(path); + return function(object) { + return baseGet(object, path, pathKey); + }; +} + +module.exports = basePropertyDeep; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/basePullAt.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/basePullAt.js new file mode 100644 index 0000000000..6c4ff84200 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/basePullAt.js @@ -0,0 +1,30 @@ +var isIndex = require('./isIndex'); + +/** Used for native method references. */ +var arrayProto = Array.prototype; + +/** Native method references. */ +var splice = arrayProto.splice; + +/** + * The base implementation of `_.pullAt` without support for individual + * index arguments and capturing the removed elements. + * + * @private + * @param {Array} array The array to modify. + * @param {number[]} indexes The indexes of elements to remove. + * @returns {Array} Returns `array`. + */ +function basePullAt(array, indexes) { + var length = array ? indexes.length : 0; + while (length--) { + var index = indexes[length]; + if (index != previous && isIndex(index)) { + var previous = index; + splice.call(array, index, 1); + } + } + return array; +} + +module.exports = basePullAt; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseRandom.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseRandom.js new file mode 100644 index 0000000000..fa3326cd17 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseRandom.js @@ -0,0 +1,18 @@ +/* Native method references for those with the same name as other `lodash` methods. */ +var nativeFloor = Math.floor, + nativeRandom = Math.random; + +/** + * The base implementation of `_.random` without support for argument juggling + * and returning floating-point numbers. + * + * @private + * @param {number} min The minimum possible value. + * @param {number} max The maximum possible value. + * @returns {number} Returns the random number. + */ +function baseRandom(min, max) { + return min + nativeFloor(nativeRandom() * (max - min + 1)); +} + +module.exports = baseRandom; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseReduce.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseReduce.js new file mode 100644 index 0000000000..5e6ae555f9 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseReduce.js @@ -0,0 +1,24 @@ +/** + * The base implementation of `_.reduce` and `_.reduceRight` without support + * for callback shorthands and `this` binding, which iterates over `collection` + * using the provided `eachFunc`. + * + * @private + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} accumulator The initial value. + * @param {boolean} initFromCollection Specify using the first or last element + * of `collection` as the initial value. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the accumulated value. + */ +function baseReduce(collection, iteratee, accumulator, initFromCollection, eachFunc) { + eachFunc(collection, function(value, index, collection) { + accumulator = initFromCollection + ? (initFromCollection = false, value) + : iteratee(accumulator, value, index, collection); + }); + return accumulator; +} + +module.exports = baseReduce; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseSetData.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseSetData.js new file mode 100644 index 0000000000..5c98622d8d --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseSetData.js @@ -0,0 +1,17 @@ +var identity = require('../utility/identity'), + metaMap = require('./metaMap'); + +/** + * The base implementation of `setData` without support for hot loop detection. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ +var baseSetData = !metaMap ? identity : function(func, data) { + metaMap.set(func, data); + return func; +}; + +module.exports = baseSetData; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseSlice.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseSlice.js new file mode 100644 index 0000000000..9d1012efa8 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseSlice.js @@ -0,0 +1,32 @@ +/** + * The base implementation of `_.slice` without an iteratee call guard. + * + * @private + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ +function baseSlice(array, start, end) { + var index = -1, + length = array.length; + + start = start == null ? 0 : (+start || 0); + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = (end === undefined || end > length) ? length : (+end || 0); + if (end < 0) { + end += length; + } + length = start > end ? 0 : ((end - start) >>> 0); + start >>>= 0; + + var result = Array(length); + while (++index < length) { + result[index] = array[index + start]; + } + return result; +} + +module.exports = baseSlice; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseSome.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseSome.js new file mode 100644 index 0000000000..39a005880d --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseSome.js @@ -0,0 +1,23 @@ +var baseEach = require('./baseEach'); + +/** + * The base implementation of `_.some` without support for callback shorthands + * and `this` binding. + * + * @private + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function baseSome(collection, predicate) { + var result; + + baseEach(collection, function(value, index, collection) { + result = predicate(value, index, collection); + return !result; + }); + return !!result; +} + +module.exports = baseSome; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseSortBy.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseSortBy.js new file mode 100644 index 0000000000..fec0afeb78 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseSortBy.js @@ -0,0 +1,21 @@ +/** + * The base implementation of `_.sortBy` which uses `comparer` to define + * the sort order of `array` and replaces criteria objects with their + * corresponding values. + * + * @private + * @param {Array} array The array to sort. + * @param {Function} comparer The function to define sort order. + * @returns {Array} Returns `array`. + */ +function baseSortBy(array, comparer) { + var length = array.length; + + array.sort(comparer); + while (length--) { + array[length] = array[length].value; + } + return array; +} + +module.exports = baseSortBy; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseSortByOrder.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseSortByOrder.js new file mode 100644 index 0000000000..0a9ef20796 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseSortByOrder.js @@ -0,0 +1,31 @@ +var arrayMap = require('./arrayMap'), + baseCallback = require('./baseCallback'), + baseMap = require('./baseMap'), + baseSortBy = require('./baseSortBy'), + compareMultiple = require('./compareMultiple'); + +/** + * The base implementation of `_.sortByOrder` without param guards. + * + * @private + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. + * @param {boolean[]} orders The sort orders of `iteratees`. + * @returns {Array} Returns the new sorted array. + */ +function baseSortByOrder(collection, iteratees, orders) { + var index = -1; + + iteratees = arrayMap(iteratees, function(iteratee) { return baseCallback(iteratee); }); + + var result = baseMap(collection, function(value) { + var criteria = arrayMap(iteratees, function(iteratee) { return iteratee(value); }); + return { 'criteria': criteria, 'index': ++index, 'value': value }; + }); + + return baseSortBy(result, function(object, other) { + return compareMultiple(object, other, orders); + }); +} + +module.exports = baseSortByOrder; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseSum.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseSum.js new file mode 100644 index 0000000000..019e5ae6ee --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseSum.js @@ -0,0 +1,20 @@ +var baseEach = require('./baseEach'); + +/** + * The base implementation of `_.sum` without support for callback shorthands + * and `this` binding. + * + * @private + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the sum. + */ +function baseSum(collection, iteratee) { + var result = 0; + baseEach(collection, function(value, index, collection) { + result += +iteratee(value, index, collection) || 0; + }); + return result; +} + +module.exports = baseSum; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseToString.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseToString.js new file mode 100644 index 0000000000..b802640b5d --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseToString.js @@ -0,0 +1,13 @@ +/** + * Converts `value` to a string if it's not one. An empty string is returned + * for `null` or `undefined` values. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + return value == null ? '' : (value + ''); +} + +module.exports = baseToString; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseUniq.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseUniq.js new file mode 100644 index 0000000000..a043443f2e --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseUniq.js @@ -0,0 +1,60 @@ +var baseIndexOf = require('./baseIndexOf'), + cacheIndexOf = require('./cacheIndexOf'), + createCache = require('./createCache'); + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * The base implementation of `_.uniq` without support for callback shorthands + * and `this` binding. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The function invoked per iteration. + * @returns {Array} Returns the new duplicate free array. + */ +function baseUniq(array, iteratee) { + var index = -1, + indexOf = baseIndexOf, + length = array.length, + isCommon = true, + isLarge = isCommon && length >= LARGE_ARRAY_SIZE, + seen = isLarge ? createCache() : null, + result = []; + + if (seen) { + indexOf = cacheIndexOf; + isCommon = false; + } else { + isLarge = false; + seen = iteratee ? [] : result; + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value, index, array) : value; + + if (isCommon && value === value) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee) { + seen.push(computed); + } + result.push(value); + } + else if (indexOf(seen, computed, 0) < 0) { + if (iteratee || isLarge) { + seen.push(computed); + } + result.push(value); + } + } + return result; +} + +module.exports = baseUniq; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseValues.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseValues.js new file mode 100644 index 0000000000..e8d3ac72fe --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseValues.js @@ -0,0 +1,22 @@ +/** + * The base implementation of `_.values` and `_.valuesIn` which creates an + * array of `object` property values corresponding to the property names + * of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the array of property values. + */ +function baseValues(object, props) { + var index = -1, + length = props.length, + result = Array(length); + + while (++index < length) { + result[index] = object[props[index]]; + } + return result; +} + +module.exports = baseValues; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseWhile.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseWhile.js new file mode 100644 index 0000000000..c24e9bd9d9 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseWhile.js @@ -0,0 +1,24 @@ +var baseSlice = require('./baseSlice'); + +/** + * The base implementation of `_.dropRightWhile`, `_.dropWhile`, `_.takeRightWhile`, + * and `_.takeWhile` without support for callback shorthands and `this` binding. + * + * @private + * @param {Array} array The array to query. + * @param {Function} predicate The function invoked per iteration. + * @param {boolean} [isDrop] Specify dropping elements instead of taking them. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the slice of `array`. + */ +function baseWhile(array, predicate, isDrop, fromRight) { + var length = array.length, + index = fromRight ? length : -1; + + while ((fromRight ? index-- : ++index < length) && predicate(array[index], index, array)) {} + return isDrop + ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) + : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); +} + +module.exports = baseWhile; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseWrapperValue.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseWrapperValue.js new file mode 100644 index 0000000000..629c01fd14 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseWrapperValue.js @@ -0,0 +1,29 @@ +var LazyWrapper = require('./LazyWrapper'), + arrayPush = require('./arrayPush'); + +/** + * The base implementation of `wrapperValue` which returns the result of + * performing a sequence of actions on the unwrapped `value`, where each + * successive action is supplied the return value of the previous. + * + * @private + * @param {*} value The unwrapped value. + * @param {Array} actions Actions to peform to resolve the unwrapped value. + * @returns {*} Returns the resolved value. + */ +function baseWrapperValue(value, actions) { + var result = value; + if (result instanceof LazyWrapper) { + result = result.value(); + } + var index = -1, + length = actions.length; + + while (++index < length) { + var action = actions[index]; + result = action.func.apply(action.thisArg, arrayPush([result], action.args)); + } + return result; +} + +module.exports = baseWrapperValue; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/binaryIndex.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/binaryIndex.js new file mode 100644 index 0000000000..af419a26f2 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/binaryIndex.js @@ -0,0 +1,39 @@ +var binaryIndexBy = require('./binaryIndexBy'), + identity = require('../utility/identity'); + +/** Used as references for the maximum length and index of an array. */ +var MAX_ARRAY_LENGTH = 4294967295, + HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; + +/** + * Performs a binary search of `array` to determine the index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ +function binaryIndex(array, value, retHighest) { + var low = 0, + high = array ? array.length : low; + + if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { + while (low < high) { + var mid = (low + high) >>> 1, + computed = array[mid]; + + if ((retHighest ? (computed <= value) : (computed < value)) && computed !== null) { + low = mid + 1; + } else { + high = mid; + } + } + return high; + } + return binaryIndexBy(array, value, identity, retHighest); +} + +module.exports = binaryIndex; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/binaryIndexBy.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/binaryIndexBy.js new file mode 100644 index 0000000000..767cbd216e --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/binaryIndexBy.js @@ -0,0 +1,57 @@ +/* Native method references for those with the same name as other `lodash` methods. */ +var nativeFloor = Math.floor, + nativeMin = Math.min; + +/** Used as references for the maximum length and index of an array. */ +var MAX_ARRAY_LENGTH = 4294967295, + MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1; + +/** + * This function is like `binaryIndex` except that it invokes `iteratee` for + * `value` and each element of `array` to compute their sort ranking. The + * iteratee is invoked with one argument; (value). + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} iteratee The function invoked per iteration. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ +function binaryIndexBy(array, value, iteratee, retHighest) { + value = iteratee(value); + + var low = 0, + high = array ? array.length : 0, + valIsNaN = value !== value, + valIsNull = value === null, + valIsUndef = value === undefined; + + while (low < high) { + var mid = nativeFloor((low + high) / 2), + computed = iteratee(array[mid]), + isDef = computed !== undefined, + isReflexive = computed === computed; + + if (valIsNaN) { + var setLow = isReflexive || retHighest; + } else if (valIsNull) { + setLow = isReflexive && isDef && (retHighest || computed != null); + } else if (valIsUndef) { + setLow = isReflexive && (retHighest || isDef); + } else if (computed == null) { + setLow = false; + } else { + setLow = retHighest ? (computed <= value) : (computed < value); + } + if (setLow) { + low = mid + 1; + } else { + high = mid; + } + } + return nativeMin(high, MAX_ARRAY_INDEX); +} + +module.exports = binaryIndexBy; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/bindCallback.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/bindCallback.js new file mode 100644 index 0000000000..cdc7f49aea --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/bindCallback.js @@ -0,0 +1,39 @@ +var identity = require('../utility/identity'); + +/** + * A specialized version of `baseCallback` which only supports `this` binding + * and specifying the number of arguments to provide to `func`. + * + * @private + * @param {Function} func The function to bind. + * @param {*} thisArg The `this` binding of `func`. + * @param {number} [argCount] The number of arguments to provide to `func`. + * @returns {Function} Returns the callback. + */ +function bindCallback(func, thisArg, argCount) { + if (typeof func != 'function') { + return identity; + } + if (thisArg === undefined) { + return func; + } + switch (argCount) { + case 1: return function(value) { + return func.call(thisArg, value); + }; + case 3: return function(value, index, collection) { + return func.call(thisArg, value, index, collection); + }; + case 4: return function(accumulator, value, index, collection) { + return func.call(thisArg, accumulator, value, index, collection); + }; + case 5: return function(value, other, key, object, source) { + return func.call(thisArg, value, other, key, object, source); + }; + } + return function() { + return func.apply(thisArg, arguments); + }; +} + +module.exports = bindCallback; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/bufferClone.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/bufferClone.js new file mode 100644 index 0000000000..f3c12b8c12 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/bufferClone.js @@ -0,0 +1,20 @@ +/** Native method references. */ +var ArrayBuffer = global.ArrayBuffer, + Uint8Array = global.Uint8Array; + +/** + * Creates a clone of the given array buffer. + * + * @private + * @param {ArrayBuffer} buffer The array buffer to clone. + * @returns {ArrayBuffer} Returns the cloned array buffer. + */ +function bufferClone(buffer) { + var result = new ArrayBuffer(buffer.byteLength), + view = new Uint8Array(result); + + view.set(new Uint8Array(buffer)); + return result; +} + +module.exports = bufferClone; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/cacheIndexOf.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/cacheIndexOf.js new file mode 100644 index 0000000000..09f698ab8b --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/cacheIndexOf.js @@ -0,0 +1,19 @@ +var isObject = require('../lang/isObject'); + +/** + * Checks if `value` is in `cache` mimicking the return signature of + * `_.indexOf` by returning `0` if the value is found, else `-1`. + * + * @private + * @param {Object} cache The cache to search. + * @param {*} value The value to search for. + * @returns {number} Returns `0` if `value` is found, else `-1`. + */ +function cacheIndexOf(cache, value) { + var data = cache.data, + result = (typeof value == 'string' || isObject(value)) ? data.set.has(value) : data.hash[value]; + + return result ? 0 : -1; +} + +module.exports = cacheIndexOf; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/cachePush.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/cachePush.js new file mode 100644 index 0000000000..ba03a1528a --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/cachePush.js @@ -0,0 +1,20 @@ +var isObject = require('../lang/isObject'); + +/** + * Adds `value` to the cache. + * + * @private + * @name push + * @memberOf SetCache + * @param {*} value The value to cache. + */ +function cachePush(value) { + var data = this.data; + if (typeof value == 'string' || isObject(value)) { + data.set.add(value); + } else { + data.hash[value] = true; + } +} + +module.exports = cachePush; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/charsLeftIndex.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/charsLeftIndex.js new file mode 100644 index 0000000000..a6d1d81c03 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/charsLeftIndex.js @@ -0,0 +1,18 @@ +/** + * Used by `_.trim` and `_.trimLeft` to get the index of the first character + * of `string` that is not found in `chars`. + * + * @private + * @param {string} string The string to inspect. + * @param {string} chars The characters to find. + * @returns {number} Returns the index of the first character not found in `chars`. + */ +function charsLeftIndex(string, chars) { + var index = -1, + length = string.length; + + while (++index < length && chars.indexOf(string.charAt(index)) > -1) {} + return index; +} + +module.exports = charsLeftIndex; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/charsRightIndex.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/charsRightIndex.js new file mode 100644 index 0000000000..1251dcb2a2 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/charsRightIndex.js @@ -0,0 +1,17 @@ +/** + * Used by `_.trim` and `_.trimRight` to get the index of the last character + * of `string` that is not found in `chars`. + * + * @private + * @param {string} string The string to inspect. + * @param {string} chars The characters to find. + * @returns {number} Returns the index of the last character not found in `chars`. + */ +function charsRightIndex(string, chars) { + var index = string.length; + + while (index-- && chars.indexOf(string.charAt(index)) > -1) {} + return index; +} + +module.exports = charsRightIndex; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/compareAscending.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/compareAscending.js new file mode 100644 index 0000000000..f17b11750e --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/compareAscending.js @@ -0,0 +1,16 @@ +var baseCompareAscending = require('./baseCompareAscending'); + +/** + * Used by `_.sortBy` to compare transformed elements of a collection and stable + * sort them in ascending order. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @returns {number} Returns the sort order indicator for `object`. + */ +function compareAscending(object, other) { + return baseCompareAscending(object.criteria, other.criteria) || (object.index - other.index); +} + +module.exports = compareAscending; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/compareMultiple.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/compareMultiple.js new file mode 100644 index 0000000000..b2139f778d --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/compareMultiple.js @@ -0,0 +1,44 @@ +var baseCompareAscending = require('./baseCompareAscending'); + +/** + * Used by `_.sortByOrder` to compare multiple properties of a value to another + * and stable sort them. + * + * If `orders` is unspecified, all valuess are sorted in ascending order. Otherwise, + * a value is sorted in ascending order if its corresponding order is "asc", and + * descending if "desc". + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {boolean[]} orders The order to sort by for each property. + * @returns {number} Returns the sort order indicator for `object`. + */ +function compareMultiple(object, other, orders) { + var index = -1, + objCriteria = object.criteria, + othCriteria = other.criteria, + length = objCriteria.length, + ordersLength = orders.length; + + while (++index < length) { + var result = baseCompareAscending(objCriteria[index], othCriteria[index]); + if (result) { + if (index >= ordersLength) { + return result; + } + var order = orders[index]; + return result * ((order === 'asc' || order === true) ? 1 : -1); + } + } + // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications + // that causes it, under certain circumstances, to provide the same value for + // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 + // for more details. + // + // This also ensures a stable sort in V8 and other engines. + // See https://code.google.com/p/v8/issues/detail?id=90 for more details. + return object.index - other.index; +} + +module.exports = compareMultiple; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/composeArgs.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/composeArgs.js new file mode 100644 index 0000000000..cd5a2fedd3 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/composeArgs.js @@ -0,0 +1,34 @@ +/* Native method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * Creates an array that is the composition of partially applied arguments, + * placeholders, and provided arguments into a single array of arguments. + * + * @private + * @param {Array|Object} args The provided arguments. + * @param {Array} partials The arguments to prepend to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @returns {Array} Returns the new array of composed arguments. + */ +function composeArgs(args, partials, holders) { + var holdersLength = holders.length, + argsIndex = -1, + argsLength = nativeMax(args.length - holdersLength, 0), + leftIndex = -1, + leftLength = partials.length, + result = Array(leftLength + argsLength); + + while (++leftIndex < leftLength) { + result[leftIndex] = partials[leftIndex]; + } + while (++argsIndex < holdersLength) { + result[holders[argsIndex]] = args[argsIndex]; + } + while (argsLength--) { + result[leftIndex++] = args[argsIndex++]; + } + return result; +} + +module.exports = composeArgs; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/composeArgsRight.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/composeArgsRight.js new file mode 100644 index 0000000000..38ab1392b2 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/composeArgsRight.js @@ -0,0 +1,36 @@ +/* Native method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * This function is like `composeArgs` except that the arguments composition + * is tailored for `_.partialRight`. + * + * @private + * @param {Array|Object} args The provided arguments. + * @param {Array} partials The arguments to append to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @returns {Array} Returns the new array of composed arguments. + */ +function composeArgsRight(args, partials, holders) { + var holdersIndex = -1, + holdersLength = holders.length, + argsIndex = -1, + argsLength = nativeMax(args.length - holdersLength, 0), + rightIndex = -1, + rightLength = partials.length, + result = Array(argsLength + rightLength); + + while (++argsIndex < argsLength) { + result[argsIndex] = args[argsIndex]; + } + var offset = argsIndex; + while (++rightIndex < rightLength) { + result[offset + rightIndex] = partials[rightIndex]; + } + while (++holdersIndex < holdersLength) { + result[offset + holders[holdersIndex]] = args[argsIndex++]; + } + return result; +} + +module.exports = composeArgsRight; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createAggregator.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createAggregator.js new file mode 100644 index 0000000000..c3d3cec6e1 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createAggregator.js @@ -0,0 +1,35 @@ +var baseCallback = require('./baseCallback'), + baseEach = require('./baseEach'), + isArray = require('../lang/isArray'); + +/** + * Creates a `_.countBy`, `_.groupBy`, `_.indexBy`, or `_.partition` function. + * + * @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, thisArg) { + var result = initializer ? initializer() : {}; + iteratee = baseCallback(iteratee, thisArg, 3); + + if (isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + var value = collection[index]; + setter(result, value, iteratee(value, index, collection), collection); + } + } else { + baseEach(collection, function(value, key, collection) { + setter(result, value, iteratee(value, key, collection), collection); + }); + } + return result; + }; +} + +module.exports = createAggregator; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createAssigner.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createAssigner.js new file mode 100644 index 0000000000..ea5a5a495f --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createAssigner.js @@ -0,0 +1,41 @@ +var bindCallback = require('./bindCallback'), + isIterateeCall = require('./isIterateeCall'), + restParam = require('../function/restParam'); + +/** + * Creates a `_.assign`, `_.defaults`, or `_.merge` function. + * + * @private + * @param {Function} assigner The function to assign values. + * @returns {Function} Returns the new assigner function. + */ +function createAssigner(assigner) { + return restParam(function(object, sources) { + var index = -1, + length = object == null ? 0 : sources.length, + customizer = length > 2 ? sources[length - 2] : undefined, + guard = length > 2 ? sources[2] : undefined, + thisArg = length > 1 ? sources[length - 1] : undefined; + + if (typeof customizer == 'function') { + customizer = bindCallback(customizer, thisArg, 5); + length -= 2; + } else { + customizer = typeof thisArg == 'function' ? thisArg : undefined; + length -= (customizer ? 1 : 0); + } + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + customizer = length < 3 ? undefined : customizer; + length = 1; + } + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, customizer); + } + } + return object; + }); +} + +module.exports = createAssigner; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createBaseEach.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createBaseEach.js new file mode 100644 index 0000000000..b55c39ba1c --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createBaseEach.js @@ -0,0 +1,31 @@ +var getLength = require('./getLength'), + isLength = require('./isLength'), + toObject = require('./toObject'); + +/** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + var length = collection ? getLength(collection) : 0; + if (!isLength(length)) { + return eachFunc(collection, iteratee); + } + var index = fromRight ? length : -1, + iterable = toObject(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; +} + +module.exports = createBaseEach; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createBaseFor.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createBaseFor.js new file mode 100644 index 0000000000..3c2cac510e --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createBaseFor.js @@ -0,0 +1,27 @@ +var toObject = require('./toObject'); + +/** + * Creates a base function for `_.forIn` or `_.forInRight`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var iterable = toObject(object), + props = keysFunc(object), + length = props.length, + index = fromRight ? length : -1; + + while ((fromRight ? index-- : ++index < length)) { + var key = props[index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; +} + +module.exports = createBaseFor; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createBindWrapper.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createBindWrapper.js new file mode 100644 index 0000000000..54086ee88c --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createBindWrapper.js @@ -0,0 +1,22 @@ +var createCtorWrapper = require('./createCtorWrapper'); + +/** + * Creates a function that wraps `func` and invokes it with the `this` + * binding of `thisArg`. + * + * @private + * @param {Function} func The function to bind. + * @param {*} [thisArg] The `this` binding of `func`. + * @returns {Function} Returns the new bound function. + */ +function createBindWrapper(func, thisArg) { + var Ctor = createCtorWrapper(func); + + function wrapper() { + var fn = (this && this !== global && this instanceof wrapper) ? Ctor : func; + return fn.apply(thisArg, arguments); + } + return wrapper; +} + +module.exports = createBindWrapper; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createCache.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createCache.js new file mode 100644 index 0000000000..025e5662ab --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createCache.js @@ -0,0 +1,21 @@ +var SetCache = require('./SetCache'), + getNative = require('./getNative'); + +/** Native method references. */ +var Set = getNative(global, 'Set'); + +/* Native method references for those with the same name as other `lodash` methods. */ +var nativeCreate = getNative(Object, 'create'); + +/** + * Creates a `Set` cache object to optimize linear searches of large arrays. + * + * @private + * @param {Array} [values] The values to cache. + * @returns {null|Object} Returns the new cache object if `Set` is supported, else `null`. + */ +function createCache(values) { + return (nativeCreate && Set) ? new SetCache(values) : null; +} + +module.exports = createCache; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createCompounder.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createCompounder.js new file mode 100644 index 0000000000..4c755120c6 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createCompounder.js @@ -0,0 +1,26 @@ +var deburr = require('../string/deburr'), + words = require('../string/words'); + +/** + * Creates a function that produces compound words out of the words in a + * given string. + * + * @private + * @param {Function} callback The function to combine each word. + * @returns {Function} Returns the new compounder function. + */ +function createCompounder(callback) { + return function(string) { + var index = -1, + array = words(deburr(string)), + length = array.length, + result = ''; + + while (++index < length) { + result = callback(result, array[index], index); + } + return result; + }; +} + +module.exports = createCompounder; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createCtorWrapper.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createCtorWrapper.js new file mode 100644 index 0000000000..ffbee80358 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createCtorWrapper.js @@ -0,0 +1,37 @@ +var baseCreate = require('./baseCreate'), + isObject = require('../lang/isObject'); + +/** + * Creates a function that produces an instance of `Ctor` regardless of + * whether it was invoked as part of a `new` expression or by `call` or `apply`. + * + * @private + * @param {Function} Ctor The constructor to wrap. + * @returns {Function} Returns the new wrapped function. + */ +function createCtorWrapper(Ctor) { + return function() { + // Use a `switch` statement to work with class constructors. + // See http://ecma-international.org/ecma-262/6.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist + // for more details. + var args = arguments; + switch (args.length) { + case 0: return new Ctor; + case 1: return new Ctor(args[0]); + case 2: return new Ctor(args[0], args[1]); + case 3: return new Ctor(args[0], args[1], args[2]); + case 4: return new Ctor(args[0], args[1], args[2], args[3]); + case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); + case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); + case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); + } + var thisBinding = baseCreate(Ctor.prototype), + result = Ctor.apply(thisBinding, args); + + // Mimic the constructor's `return` behavior. + // See https://es5.github.io/#x13.2.2 for more details. + return isObject(result) ? result : thisBinding; + }; +} + +module.exports = createCtorWrapper; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createCurry.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createCurry.js new file mode 100644 index 0000000000..e5ced0e28e --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createCurry.js @@ -0,0 +1,23 @@ +var createWrapper = require('./createWrapper'), + isIterateeCall = require('./isIterateeCall'); + +/** + * Creates a `_.curry` or `_.curryRight` function. + * + * @private + * @param {boolean} flag The curry bit flag. + * @returns {Function} Returns the new curry function. + */ +function createCurry(flag) { + function curryFunc(func, arity, guard) { + if (guard && isIterateeCall(func, arity, guard)) { + arity = undefined; + } + var result = createWrapper(func, flag, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curryFunc.placeholder; + return result; + } + return curryFunc; +} + +module.exports = createCurry; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createDefaults.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createDefaults.js new file mode 100644 index 0000000000..5663bcb4a7 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createDefaults.js @@ -0,0 +1,22 @@ +var restParam = require('../function/restParam'); + +/** + * Creates a `_.defaults` or `_.defaultsDeep` function. + * + * @private + * @param {Function} assigner The function to assign values. + * @param {Function} customizer The function to customize assigned values. + * @returns {Function} Returns the new defaults function. + */ +function createDefaults(assigner, customizer) { + return restParam(function(args) { + var object = args[0]; + if (object == null) { + return object; + } + args.push(customizer); + return assigner.apply(undefined, args); + }); +} + +module.exports = createDefaults; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createExtremum.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createExtremum.js new file mode 100644 index 0000000000..5c4003e52f --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createExtremum.js @@ -0,0 +1,33 @@ +var arrayExtremum = require('./arrayExtremum'), + baseCallback = require('./baseCallback'), + baseExtremum = require('./baseExtremum'), + isArray = require('../lang/isArray'), + isIterateeCall = require('./isIterateeCall'), + toIterable = require('./toIterable'); + +/** + * Creates a `_.max` or `_.min` function. + * + * @private + * @param {Function} comparator The function used to compare values. + * @param {*} exValue The initial extremum value. + * @returns {Function} Returns the new extremum function. + */ +function createExtremum(comparator, exValue) { + return function(collection, iteratee, thisArg) { + if (thisArg && isIterateeCall(collection, iteratee, thisArg)) { + iteratee = undefined; + } + iteratee = baseCallback(iteratee, thisArg, 3); + if (iteratee.length == 1) { + collection = isArray(collection) ? collection : toIterable(collection); + var result = arrayExtremum(collection, iteratee, comparator, exValue); + if (!(collection.length && result === exValue)) { + return result; + } + } + return baseExtremum(collection, iteratee, comparator, exValue); + }; +} + +module.exports = createExtremum; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createFind.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createFind.js new file mode 100644 index 0000000000..29bf580fb5 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createFind.js @@ -0,0 +1,25 @@ +var baseCallback = require('./baseCallback'), + baseFind = require('./baseFind'), + baseFindIndex = require('./baseFindIndex'), + isArray = require('../lang/isArray'); + +/** + * Creates a `_.find` or `_.findLast` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new find function. + */ +function createFind(eachFunc, fromRight) { + return function(collection, predicate, thisArg) { + predicate = baseCallback(predicate, thisArg, 3); + if (isArray(collection)) { + var index = baseFindIndex(collection, predicate, fromRight); + return index > -1 ? collection[index] : undefined; + } + return baseFind(collection, predicate, eachFunc); + }; +} + +module.exports = createFind; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createFindIndex.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createFindIndex.js new file mode 100644 index 0000000000..3947bea9ae --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createFindIndex.js @@ -0,0 +1,21 @@ +var baseCallback = require('./baseCallback'), + baseFindIndex = require('./baseFindIndex'); + +/** + * Creates a `_.findIndex` or `_.findLastIndex` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new find function. + */ +function createFindIndex(fromRight) { + return function(array, predicate, thisArg) { + if (!(array && array.length)) { + return -1; + } + predicate = baseCallback(predicate, thisArg, 3); + return baseFindIndex(array, predicate, fromRight); + }; +} + +module.exports = createFindIndex; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createFindKey.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createFindKey.js new file mode 100644 index 0000000000..0ce85e4cbb --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createFindKey.js @@ -0,0 +1,18 @@ +var baseCallback = require('./baseCallback'), + baseFind = require('./baseFind'); + +/** + * Creates a `_.findKey` or `_.findLastKey` function. + * + * @private + * @param {Function} objectFunc The function to iterate over an object. + * @returns {Function} Returns the new find function. + */ +function createFindKey(objectFunc) { + return function(object, predicate, thisArg) { + predicate = baseCallback(predicate, thisArg, 3); + return baseFind(object, predicate, objectFunc, true); + }; +} + +module.exports = createFindKey; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createFlow.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createFlow.js new file mode 100644 index 0000000000..52ab38822e --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createFlow.js @@ -0,0 +1,74 @@ +var LodashWrapper = require('./LodashWrapper'), + getData = require('./getData'), + getFuncName = require('./getFuncName'), + isArray = require('../lang/isArray'), + isLaziable = require('./isLaziable'); + +/** Used to compose bitmasks for wrapper metadata. */ +var CURRY_FLAG = 8, + PARTIAL_FLAG = 32, + ARY_FLAG = 128, + REARG_FLAG = 256; + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** Used as the `TypeError` message for "Functions" methods. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * Creates a `_.flow` or `_.flowRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new flow function. + */ +function createFlow(fromRight) { + return function() { + var wrapper, + length = arguments.length, + index = fromRight ? length : -1, + leftIndex = 0, + funcs = Array(length); + + while ((fromRight ? index-- : ++index < length)) { + var func = funcs[leftIndex++] = arguments[index]; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (!wrapper && LodashWrapper.prototype.thru && getFuncName(func) == 'wrapper') { + wrapper = new LodashWrapper([], true); + } + } + index = wrapper ? -1 : length; + while (++index < length) { + func = funcs[index]; + + var funcName = getFuncName(func), + data = funcName == 'wrapper' ? getData(func) : undefined; + + if (data && isLaziable(data[0]) && data[1] == (ARY_FLAG | CURRY_FLAG | PARTIAL_FLAG | REARG_FLAG) && !data[4].length && data[9] == 1) { + wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); + } else { + wrapper = (func.length == 1 && isLaziable(func)) ? wrapper[funcName]() : wrapper.thru(func); + } + } + return function() { + var args = arguments, + value = args[0]; + + if (wrapper && args.length == 1 && isArray(value) && value.length >= LARGE_ARRAY_SIZE) { + return wrapper.plant(value).value(); + } + var index = 0, + result = length ? funcs[index].apply(this, args) : value; + + while (++index < length) { + result = funcs[index].call(this, result); + } + return result; + }; + }; +} + +module.exports = createFlow; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createForEach.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createForEach.js new file mode 100644 index 0000000000..2aad11c5f7 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createForEach.js @@ -0,0 +1,20 @@ +var bindCallback = require('./bindCallback'), + isArray = require('../lang/isArray'); + +/** + * Creates a function for `_.forEach` or `_.forEachRight`. + * + * @private + * @param {Function} arrayFunc The function to iterate over an array. + * @param {Function} eachFunc The function to iterate over a collection. + * @returns {Function} Returns the new each function. + */ +function createForEach(arrayFunc, eachFunc) { + return function(collection, iteratee, thisArg) { + return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection)) + ? arrayFunc(collection, iteratee) + : eachFunc(collection, bindCallback(iteratee, thisArg, 3)); + }; +} + +module.exports = createForEach; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createForIn.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createForIn.js new file mode 100644 index 0000000000..f63ffa0baf --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createForIn.js @@ -0,0 +1,20 @@ +var bindCallback = require('./bindCallback'), + keysIn = require('../object/keysIn'); + +/** + * Creates a function for `_.forIn` or `_.forInRight`. + * + * @private + * @param {Function} objectFunc The function to iterate over an object. + * @returns {Function} Returns the new each function. + */ +function createForIn(objectFunc) { + return function(object, iteratee, thisArg) { + if (typeof iteratee != 'function' || thisArg !== undefined) { + iteratee = bindCallback(iteratee, thisArg, 3); + } + return objectFunc(object, iteratee, keysIn); + }; +} + +module.exports = createForIn; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createForOwn.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createForOwn.js new file mode 100644 index 0000000000..b9a83c3b52 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createForOwn.js @@ -0,0 +1,19 @@ +var bindCallback = require('./bindCallback'); + +/** + * Creates a function for `_.forOwn` or `_.forOwnRight`. + * + * @private + * @param {Function} objectFunc The function to iterate over an object. + * @returns {Function} Returns the new each function. + */ +function createForOwn(objectFunc) { + return function(object, iteratee, thisArg) { + if (typeof iteratee != 'function' || thisArg !== undefined) { + iteratee = bindCallback(iteratee, thisArg, 3); + } + return objectFunc(object, iteratee); + }; +} + +module.exports = createForOwn; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createHybridWrapper.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createHybridWrapper.js new file mode 100644 index 0000000000..5382fa0219 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createHybridWrapper.js @@ -0,0 +1,111 @@ +var arrayCopy = require('./arrayCopy'), + composeArgs = require('./composeArgs'), + composeArgsRight = require('./composeArgsRight'), + createCtorWrapper = require('./createCtorWrapper'), + isLaziable = require('./isLaziable'), + reorder = require('./reorder'), + replaceHolders = require('./replaceHolders'), + setData = require('./setData'); + +/** Used to compose bitmasks for wrapper metadata. */ +var BIND_FLAG = 1, + BIND_KEY_FLAG = 2, + CURRY_BOUND_FLAG = 4, + CURRY_FLAG = 8, + CURRY_RIGHT_FLAG = 16, + PARTIAL_FLAG = 32, + PARTIAL_RIGHT_FLAG = 64, + ARY_FLAG = 128; + +/* Native method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * Creates a function that wraps `func` and invokes it with optional `this` + * binding of, partial application, and currying. + * + * @private + * @param {Function|string} func The function or method name to reference. + * @param {number} bitmask The bitmask of flags. See `createWrapper` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [partialsRight] The arguments to append to those provided to the new function. + * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ +function createHybridWrapper(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { + var isAry = bitmask & ARY_FLAG, + isBind = bitmask & BIND_FLAG, + isBindKey = bitmask & BIND_KEY_FLAG, + isCurry = bitmask & CURRY_FLAG, + isCurryBound = bitmask & CURRY_BOUND_FLAG, + isCurryRight = bitmask & CURRY_RIGHT_FLAG, + Ctor = isBindKey ? undefined : createCtorWrapper(func); + + function wrapper() { + // Avoid `arguments` object use disqualifying optimizations by + // converting it to an array before providing it to other functions. + var length = arguments.length, + index = length, + args = Array(length); + + while (index--) { + args[index] = arguments[index]; + } + if (partials) { + args = composeArgs(args, partials, holders); + } + if (partialsRight) { + args = composeArgsRight(args, partialsRight, holdersRight); + } + if (isCurry || isCurryRight) { + var placeholder = wrapper.placeholder, + argsHolders = replaceHolders(args, placeholder); + + length -= argsHolders.length; + if (length < arity) { + var newArgPos = argPos ? arrayCopy(argPos) : undefined, + newArity = nativeMax(arity - length, 0), + newsHolders = isCurry ? argsHolders : undefined, + newHoldersRight = isCurry ? undefined : argsHolders, + newPartials = isCurry ? args : undefined, + newPartialsRight = isCurry ? undefined : args; + + bitmask |= (isCurry ? PARTIAL_FLAG : PARTIAL_RIGHT_FLAG); + bitmask &= ~(isCurry ? PARTIAL_RIGHT_FLAG : PARTIAL_FLAG); + + if (!isCurryBound) { + bitmask &= ~(BIND_FLAG | BIND_KEY_FLAG); + } + var newData = [func, bitmask, thisArg, newPartials, newsHolders, newPartialsRight, newHoldersRight, newArgPos, ary, newArity], + result = createHybridWrapper.apply(undefined, newData); + + if (isLaziable(func)) { + setData(result, newData); + } + result.placeholder = placeholder; + return result; + } + } + var thisBinding = isBind ? thisArg : this, + fn = isBindKey ? thisBinding[func] : func; + + if (argPos) { + args = reorder(args, argPos); + } + if (isAry && ary < args.length) { + args.length = ary; + } + if (this && this !== global && this instanceof wrapper) { + fn = Ctor || createCtorWrapper(func); + } + return fn.apply(thisBinding, args); + } + return wrapper; +} + +module.exports = createHybridWrapper; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createObjectMapper.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createObjectMapper.js new file mode 100644 index 0000000000..06d6a87399 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createObjectMapper.js @@ -0,0 +1,26 @@ +var baseCallback = require('./baseCallback'), + baseForOwn = require('./baseForOwn'); + +/** + * Creates a function for `_.mapKeys` or `_.mapValues`. + * + * @private + * @param {boolean} [isMapKeys] Specify mapping keys instead of values. + * @returns {Function} Returns the new map function. + */ +function createObjectMapper(isMapKeys) { + return function(object, iteratee, thisArg) { + var result = {}; + iteratee = baseCallback(iteratee, thisArg, 3); + + baseForOwn(object, function(value, key, object) { + var mapped = iteratee(value, key, object); + key = isMapKeys ? mapped : key; + value = isMapKeys ? value : mapped; + result[key] = value; + }); + return result; + }; +} + +module.exports = createObjectMapper; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createPadDir.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createPadDir.js new file mode 100644 index 0000000000..da0ebf1dd9 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createPadDir.js @@ -0,0 +1,18 @@ +var baseToString = require('./baseToString'), + createPadding = require('./createPadding'); + +/** + * Creates a function for `_.padLeft` or `_.padRight`. + * + * @private + * @param {boolean} [fromRight] Specify padding from the right. + * @returns {Function} Returns the new pad function. + */ +function createPadDir(fromRight) { + return function(string, length, chars) { + string = baseToString(string); + return (fromRight ? string : '') + createPadding(string, length, chars) + (fromRight ? '' : string); + }; +} + +module.exports = createPadDir; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createPadding.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createPadding.js new file mode 100644 index 0000000000..810dc24ca3 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createPadding.js @@ -0,0 +1,29 @@ +var repeat = require('../string/repeat'); + +/* Native method references for those with the same name as other `lodash` methods. */ +var nativeCeil = Math.ceil, + nativeIsFinite = global.isFinite; + +/** + * Creates the padding required for `string` based on the given `length`. + * The `chars` string is truncated if the number of characters exceeds `length`. + * + * @private + * @param {string} string The string to create padding for. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the pad for `string`. + */ +function createPadding(string, length, chars) { + var strLength = string.length; + length = +length; + + if (strLength >= length || !nativeIsFinite(length)) { + return ''; + } + var padLength = length - strLength; + chars = chars == null ? ' ' : (chars + ''); + return repeat(chars, nativeCeil(padLength / chars.length)).slice(0, padLength); +} + +module.exports = createPadding; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createPartial.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createPartial.js new file mode 100644 index 0000000000..753327539c --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createPartial.js @@ -0,0 +1,20 @@ +var createWrapper = require('./createWrapper'), + replaceHolders = require('./replaceHolders'), + restParam = require('../function/restParam'); + +/** + * Creates a `_.partial` or `_.partialRight` function. + * + * @private + * @param {boolean} flag The partial bit flag. + * @returns {Function} Returns the new partial function. + */ +function createPartial(flag) { + var partialFunc = restParam(function(func, partials) { + var holders = replaceHolders(partials, partialFunc.placeholder); + return createWrapper(func, flag, undefined, partials, holders); + }); + return partialFunc; +} + +module.exports = createPartial; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createPartialWrapper.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createPartialWrapper.js new file mode 100644 index 0000000000..b19f9f0ec1 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createPartialWrapper.js @@ -0,0 +1,43 @@ +var createCtorWrapper = require('./createCtorWrapper'); + +/** Used to compose bitmasks for wrapper metadata. */ +var BIND_FLAG = 1; + +/** + * Creates a function that wraps `func` and invokes it with the optional `this` + * binding of `thisArg` and the `partials` prepended to those provided to + * the wrapper. + * + * @private + * @param {Function} func The function to partially apply arguments to. + * @param {number} bitmask The bitmask of flags. See `createWrapper` for more details. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} partials The arguments to prepend to those provided to the new function. + * @returns {Function} Returns the new bound function. + */ +function createPartialWrapper(func, bitmask, thisArg, partials) { + var isBind = bitmask & BIND_FLAG, + Ctor = createCtorWrapper(func); + + function wrapper() { + // Avoid `arguments` object use disqualifying optimizations by + // converting it to an array before providing it `func`. + var argsIndex = -1, + argsLength = arguments.length, + leftIndex = -1, + leftLength = partials.length, + args = Array(leftLength + argsLength); + + while (++leftIndex < leftLength) { + args[leftIndex] = partials[leftIndex]; + } + while (argsLength--) { + args[leftIndex++] = arguments[++argsIndex]; + } + var fn = (this && this !== global && this instanceof wrapper) ? Ctor : func; + return fn.apply(isBind ? thisArg : this, args); + } + return wrapper; +} + +module.exports = createPartialWrapper; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createReduce.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createReduce.js new file mode 100644 index 0000000000..816f4ce71b --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createReduce.js @@ -0,0 +1,22 @@ +var baseCallback = require('./baseCallback'), + baseReduce = require('./baseReduce'), + isArray = require('../lang/isArray'); + +/** + * Creates a function for `_.reduce` or `_.reduceRight`. + * + * @private + * @param {Function} arrayFunc The function to iterate over an array. + * @param {Function} eachFunc The function to iterate over a collection. + * @returns {Function} Returns the new each function. + */ +function createReduce(arrayFunc, eachFunc) { + return function(collection, iteratee, accumulator, thisArg) { + var initFromArray = arguments.length < 3; + return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection)) + ? arrayFunc(collection, iteratee, accumulator, initFromArray) + : baseReduce(collection, baseCallback(iteratee, thisArg, 4), accumulator, initFromArray, eachFunc); + }; +} + +module.exports = createReduce; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createRound.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createRound.js new file mode 100644 index 0000000000..21240efb62 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createRound.js @@ -0,0 +1,23 @@ +/** Native method references. */ +var pow = Math.pow; + +/** + * Creates a `_.ceil`, `_.floor`, or `_.round` function. + * + * @private + * @param {string} methodName The name of the `Math` method to use when rounding. + * @returns {Function} Returns the new round function. + */ +function createRound(methodName) { + var func = Math[methodName]; + return function(number, precision) { + precision = precision === undefined ? 0 : (+precision || 0); + if (precision) { + precision = pow(10, precision); + return func(number * precision) / precision; + } + return func(number); + }; +} + +module.exports = createRound; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createSortedIndex.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createSortedIndex.js new file mode 100644 index 0000000000..86c78520c9 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createSortedIndex.js @@ -0,0 +1,20 @@ +var baseCallback = require('./baseCallback'), + binaryIndex = require('./binaryIndex'), + binaryIndexBy = require('./binaryIndexBy'); + +/** + * Creates a `_.sortedIndex` or `_.sortedLastIndex` function. + * + * @private + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {Function} Returns the new index function. + */ +function createSortedIndex(retHighest) { + return function(array, value, iteratee, thisArg) { + return iteratee == null + ? binaryIndex(array, value, retHighest) + : binaryIndexBy(array, value, baseCallback(iteratee, thisArg, 1), retHighest); + }; +} + +module.exports = createSortedIndex; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createWrapper.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createWrapper.js new file mode 100644 index 0000000000..ea7a9b1905 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/createWrapper.js @@ -0,0 +1,86 @@ +var baseSetData = require('./baseSetData'), + createBindWrapper = require('./createBindWrapper'), + createHybridWrapper = require('./createHybridWrapper'), + createPartialWrapper = require('./createPartialWrapper'), + getData = require('./getData'), + mergeData = require('./mergeData'), + setData = require('./setData'); + +/** Used to compose bitmasks for wrapper metadata. */ +var BIND_FLAG = 1, + BIND_KEY_FLAG = 2, + PARTIAL_FLAG = 32, + PARTIAL_RIGHT_FLAG = 64; + +/** Used as the `TypeError` message for "Functions" methods. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/* Native method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * Creates a function that either curries or invokes `func` with optional + * `this` binding and partially applied arguments. + * + * @private + * @param {Function|string} func The function or method name to reference. + * @param {number} bitmask The bitmask of flags. + * The bitmask may be composed of the following flags: + * 1 - `_.bind` + * 2 - `_.bindKey` + * 4 - `_.curry` or `_.curryRight` of a bound function + * 8 - `_.curry` + * 16 - `_.curryRight` + * 32 - `_.partial` + * 64 - `_.partialRight` + * 128 - `_.rearg` + * 256 - `_.ary` + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to be partially applied. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ +function createWrapper(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { + var isBindKey = bitmask & BIND_KEY_FLAG; + if (!isBindKey && typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + var length = partials ? partials.length : 0; + if (!length) { + bitmask &= ~(PARTIAL_FLAG | PARTIAL_RIGHT_FLAG); + partials = holders = undefined; + } + length -= (holders ? holders.length : 0); + if (bitmask & PARTIAL_RIGHT_FLAG) { + var partialsRight = partials, + holdersRight = holders; + + partials = holders = undefined; + } + var data = isBindKey ? undefined : getData(func), + newData = [func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity]; + + if (data) { + mergeData(newData, data); + bitmask = newData[1]; + arity = newData[9]; + } + newData[9] = arity == null + ? (isBindKey ? 0 : func.length) + : (nativeMax(arity - length, 0) || 0); + + if (bitmask == BIND_FLAG) { + var result = createBindWrapper(newData[0], newData[2]); + } else if ((bitmask == PARTIAL_FLAG || bitmask == (BIND_FLAG | PARTIAL_FLAG)) && !newData[4].length) { + result = createPartialWrapper.apply(undefined, newData); + } else { + result = createHybridWrapper.apply(undefined, newData); + } + var setter = data ? baseSetData : setData; + return setter(result, newData); +} + +module.exports = createWrapper; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/deburrLetter.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/deburrLetter.js new file mode 100644 index 0000000000..e559dbea7a --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/deburrLetter.js @@ -0,0 +1,33 @@ +/** Used to map latin-1 supplementary letters to basic latin letters. */ +var deburredLetters = { + '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', + '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', + '\xc7': 'C', '\xe7': 'c', + '\xd0': 'D', '\xf0': 'd', + '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', + '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', + '\xcC': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', + '\xeC': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', + '\xd1': 'N', '\xf1': 'n', + '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', + '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', + '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', + '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', + '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', + '\xc6': 'Ae', '\xe6': 'ae', + '\xde': 'Th', '\xfe': 'th', + '\xdf': 'ss' +}; + +/** + * Used by `_.deburr` to convert latin-1 supplementary letters to basic latin letters. + * + * @private + * @param {string} letter The matched letter to deburr. + * @returns {string} Returns the deburred letter. + */ +function deburrLetter(letter) { + return deburredLetters[letter]; +} + +module.exports = deburrLetter; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/equalArrays.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/equalArrays.js new file mode 100644 index 0000000000..e0bb2d32a8 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/equalArrays.js @@ -0,0 +1,51 @@ +var arraySome = require('./arraySome'); + +/** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} [customizer] The function to customize comparing arrays. + * @param {boolean} [isLoose] Specify performing partial comparisons. + * @param {Array} [stackA] Tracks traversed `value` objects. + * @param {Array} [stackB] Tracks traversed `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ +function equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) { + var index = -1, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isLoose && othLength > arrLength)) { + return false; + } + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index], + result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined; + + if (result !== undefined) { + if (result) { + continue; + } + return false; + } + // Recursively compare arrays (susceptible to call stack limits). + if (isLoose) { + if (!arraySome(other, function(othValue) { + return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB); + })) { + return false; + } + } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) { + return false; + } + } + return true; +} + +module.exports = equalArrays; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/equalByTag.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/equalByTag.js new file mode 100644 index 0000000000..d25c8e1eae --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/equalByTag.js @@ -0,0 +1,48 @@ +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + stringTag = '[object String]'; + +/** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalByTag(object, other, tag) { + switch (tag) { + case boolTag: + case dateTag: + // Coerce dates and booleans to numbers, dates to milliseconds and booleans + // to `1` or `0` treating invalid dates coerced to `NaN` as not equal. + return +object == +other; + + case errorTag: + return object.name == other.name && object.message == other.message; + + case numberTag: + // Treat `NaN` vs. `NaN` as equal. + return (object != +object) + ? other != +other + : object == +other; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings primitives and string + // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details. + return object == (other + ''); + } + return false; +} + +module.exports = equalByTag; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/equalObjects.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/equalObjects.js new file mode 100644 index 0000000000..1297a3b2af --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/equalObjects.js @@ -0,0 +1,67 @@ +var keys = require('../object/keys'); + +/** Used for native method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} [customizer] The function to customize comparing values. + * @param {boolean} [isLoose] Specify performing partial comparisons. + * @param {Array} [stackA] Tracks traversed `value` objects. + * @param {Array} [stackB] Tracks traversed `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) { + var objProps = keys(object), + objLength = objProps.length, + othProps = keys(other), + othLength = othProps.length; + + if (objLength != othLength && !isLoose) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + var skipCtor = isLoose; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key], + result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined; + + // Recursively compare objects (susceptible to call stack limits). + if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) { + return false; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (!skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + return false; + } + } + return true; +} + +module.exports = equalObjects; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/escapeHtmlChar.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/escapeHtmlChar.js new file mode 100644 index 0000000000..b21e452b5b --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/escapeHtmlChar.js @@ -0,0 +1,22 @@ +/** Used to map characters to HTML entities. */ +var htmlEscapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' +}; + +/** + * Used by `_.escape` to convert characters to HTML entities. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ +function escapeHtmlChar(chr) { + return htmlEscapes[chr]; +} + +module.exports = escapeHtmlChar; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/escapeRegExpChar.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/escapeRegExpChar.js new file mode 100644 index 0000000000..8427de0ec9 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/escapeRegExpChar.js @@ -0,0 +1,38 @@ +/** Used to escape characters for inclusion in compiled regexes. */ +var regexpEscapes = { + '0': 'x30', '1': 'x31', '2': 'x32', '3': 'x33', '4': 'x34', + '5': 'x35', '6': 'x36', '7': 'x37', '8': 'x38', '9': 'x39', + 'A': 'x41', 'B': 'x42', 'C': 'x43', 'D': 'x44', 'E': 'x45', 'F': 'x46', + 'a': 'x61', 'b': 'x62', 'c': 'x63', 'd': 'x64', 'e': 'x65', 'f': 'x66', + 'n': 'x6e', 'r': 'x72', 't': 'x74', 'u': 'x75', 'v': 'x76', 'x': 'x78' +}; + +/** Used to escape characters for inclusion in compiled string literals. */ +var stringEscapes = { + '\\': '\\', + "'": "'", + '\n': 'n', + '\r': 'r', + '\u2028': 'u2028', + '\u2029': 'u2029' +}; + +/** + * Used by `_.escapeRegExp` to escape characters for inclusion in compiled regexes. + * + * @private + * @param {string} chr The matched character to escape. + * @param {string} leadingChar The capture group for a leading character. + * @param {string} whitespaceChar The capture group for a whitespace character. + * @returns {string} Returns the escaped character. + */ +function escapeRegExpChar(chr, leadingChar, whitespaceChar) { + if (leadingChar) { + chr = regexpEscapes[chr]; + } else if (whitespaceChar) { + chr = stringEscapes[chr]; + } + return '\\' + chr; +} + +module.exports = escapeRegExpChar; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/escapeStringChar.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/escapeStringChar.js new file mode 100644 index 0000000000..44eca96ca8 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/escapeStringChar.js @@ -0,0 +1,22 @@ +/** Used to escape characters for inclusion in compiled string literals. */ +var stringEscapes = { + '\\': '\\', + "'": "'", + '\n': 'n', + '\r': 'r', + '\u2028': 'u2028', + '\u2029': 'u2029' +}; + +/** + * Used by `_.template` to escape characters for inclusion in compiled string literals. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ +function escapeStringChar(chr) { + return '\\' + stringEscapes[chr]; +} + +module.exports = escapeStringChar; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/getData.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/getData.js new file mode 100644 index 0000000000..5bb4f466e7 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/getData.js @@ -0,0 +1,15 @@ +var metaMap = require('./metaMap'), + noop = require('../utility/noop'); + +/** + * Gets metadata for `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {*} Returns the metadata for `func`. + */ +var getData = !metaMap ? noop : function(func) { + return metaMap.get(func); +}; + +module.exports = getData; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/getFuncName.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/getFuncName.js new file mode 100644 index 0000000000..ed92867d63 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/getFuncName.js @@ -0,0 +1,25 @@ +var realNames = require('./realNames'); + +/** + * Gets the name of `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {string} Returns the function name. + */ +function getFuncName(func) { + var result = (func.name + ''), + array = realNames[result], + length = array ? array.length : 0; + + while (length--) { + var data = array[length], + otherFunc = data.func; + if (otherFunc == null || otherFunc == func) { + return data.name; + } + } + return result; +} + +module.exports = getFuncName; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/getLength.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/getLength.js new file mode 100644 index 0000000000..48d75ae135 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/getLength.js @@ -0,0 +1,15 @@ +var baseProperty = require('./baseProperty'); + +/** + * Gets the "length" property value of `object`. + * + * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) + * that affects Safari on at least iOS 8.1-8.3 ARM64. + * + * @private + * @param {Object} object The object to query. + * @returns {*} Returns the "length" value. + */ +var getLength = baseProperty('length'); + +module.exports = getLength; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/getMatchData.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/getMatchData.js new file mode 100644 index 0000000000..6d235b9167 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/getMatchData.js @@ -0,0 +1,21 @@ +var isStrictComparable = require('./isStrictComparable'), + pairs = require('../object/pairs'); + +/** + * Gets the propery names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ +function getMatchData(object) { + var result = pairs(object), + length = result.length; + + while (length--) { + result[length][2] = isStrictComparable(result[length][1]); + } + return result; +} + +module.exports = getMatchData; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/getNative.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/getNative.js new file mode 100644 index 0000000000..bceb317fd7 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/getNative.js @@ -0,0 +1,16 @@ +var isNative = require('../lang/isNative'); + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = object == null ? undefined : object[key]; + return isNative(value) ? value : undefined; +} + +module.exports = getNative; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/getView.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/getView.js new file mode 100644 index 0000000000..f49ec6d06c --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/getView.js @@ -0,0 +1,33 @@ +/* Native method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +/** + * Gets the view, applying any `transforms` to the `start` and `end` positions. + * + * @private + * @param {number} start The start of the view. + * @param {number} end The end of the view. + * @param {Array} transforms The transformations to apply to the view. + * @returns {Object} Returns an object containing the `start` and `end` + * positions of the view. + */ +function getView(start, end, transforms) { + var index = -1, + length = transforms.length; + + while (++index < length) { + var data = transforms[index], + size = data.size; + + switch (data.type) { + case 'drop': start += size; break; + case 'dropRight': end -= size; break; + case 'take': end = nativeMin(end, start + size); break; + case 'takeRight': start = nativeMax(start, end - size); break; + } + } + return { 'start': start, 'end': end }; +} + +module.exports = getView; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/indexOfNaN.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/indexOfNaN.js new file mode 100644 index 0000000000..05b8207d7c --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/indexOfNaN.js @@ -0,0 +1,23 @@ +/** + * Gets the index at which the first occurrence of `NaN` is found in `array`. + * + * @private + * @param {Array} array The array to search. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched `NaN`, else `-1`. + */ +function indexOfNaN(array, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 0 : -1); + + while ((fromRight ? index-- : ++index < length)) { + var other = array[index]; + if (other !== other) { + return index; + } + } + return -1; +} + +module.exports = indexOfNaN; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/initCloneArray.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/initCloneArray.js new file mode 100644 index 0000000000..c92dfa2407 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/initCloneArray.js @@ -0,0 +1,26 @@ +/** Used for native method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Initializes an array clone. + * + * @private + * @param {Array} array The array to clone. + * @returns {Array} Returns the initialized clone. + */ +function initCloneArray(array) { + var length = array.length, + result = new array.constructor(length); + + // Add array properties assigned by `RegExp#exec`. + if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { + result.index = array.index; + result.input = array.input; + } + return result; +} + +module.exports = initCloneArray; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/initCloneByTag.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/initCloneByTag.js new file mode 100644 index 0000000000..8e3afc63f4 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/initCloneByTag.js @@ -0,0 +1,63 @@ +var bufferClone = require('./bufferClone'); + +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]', + dateTag = '[object Date]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + stringTag = '[object String]'; + +var arrayBufferTag = '[object ArrayBuffer]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** Used to match `RegExp` flags from their coerced string values. */ +var reFlags = /\w*$/; + +/** + * Initializes an object clone based on its `toStringTag`. + * + * **Note:** This function only supports cloning values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to clone. + * @param {string} tag The `toStringTag` of the object to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the initialized clone. + */ +function initCloneByTag(object, tag, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag: + return bufferClone(object); + + case boolTag: + case dateTag: + return new Ctor(+object); + + case float32Tag: case float64Tag: + case int8Tag: case int16Tag: case int32Tag: + case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: + var buffer = object.buffer; + return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length); + + case numberTag: + case stringTag: + return new Ctor(object); + + case regexpTag: + var result = new Ctor(object.source, reFlags.exec(object)); + result.lastIndex = object.lastIndex; + } + return result; +} + +module.exports = initCloneByTag; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/initCloneObject.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/initCloneObject.js new file mode 100644 index 0000000000..48c4a23d1c --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/initCloneObject.js @@ -0,0 +1,16 @@ +/** + * Initializes an object clone. + * + * @private + * @param {Object} object The object to clone. + * @returns {Object} Returns the initialized clone. + */ +function initCloneObject(object) { + var Ctor = object.constructor; + if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) { + Ctor = Object; + } + return new Ctor; +} + +module.exports = initCloneObject; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/invokePath.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/invokePath.js new file mode 100644 index 0000000000..935110fd12 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/invokePath.js @@ -0,0 +1,26 @@ +var baseGet = require('./baseGet'), + baseSlice = require('./baseSlice'), + isKey = require('./isKey'), + last = require('../array/last'), + toPath = require('./toPath'); + +/** + * Invokes the method at `path` on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {Array} args The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + */ +function invokePath(object, path, args) { + if (object != null && !isKey(path, object)) { + path = toPath(path); + object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1)); + path = last(path); + } + var func = object == null ? object : object[path]; + return func == null ? undefined : func.apply(object, args); +} + +module.exports = invokePath; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isArrayLike.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isArrayLike.js new file mode 100644 index 0000000000..72443cde10 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isArrayLike.js @@ -0,0 +1,15 @@ +var getLength = require('./getLength'), + isLength = require('./isLength'); + +/** + * Checks if `value` is array-like. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + */ +function isArrayLike(value) { + return value != null && isLength(getLength(value)); +} + +module.exports = isArrayLike; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isIndex.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isIndex.js new file mode 100644 index 0000000000..469164bfde --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isIndex.js @@ -0,0 +1,24 @@ +/** Used to detect unsigned integer values. */ +var reIsUint = /^\d+$/; + +/** + * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer) + * of an array-like value. + */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1; + length = length == null ? MAX_SAFE_INTEGER : length; + return value > -1 && value % 1 == 0 && value < length; +} + +module.exports = isIndex; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isIterateeCall.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isIterateeCall.js new file mode 100644 index 0000000000..07490f2e42 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isIterateeCall.js @@ -0,0 +1,28 @@ +var isArrayLike = require('./isArrayLike'), + isIndex = require('./isIndex'), + isObject = require('../lang/isObject'); + +/** + * Checks if the provided arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`. + */ +function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object)) { + var other = object[index]; + return value === value ? (value === other) : (other !== other); + } + return false; +} + +module.exports = isIterateeCall; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isKey.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isKey.js new file mode 100644 index 0000000000..44ccfd4894 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isKey.js @@ -0,0 +1,28 @@ +var isArray = require('../lang/isArray'), + toObject = require('./toObject'); + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/; + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + var type = typeof value; + if ((type == 'string' && reIsPlainProp.test(value)) || type == 'number') { + return true; + } + if (isArray(value)) { + return false; + } + var result = !reIsDeepProp.test(value); + return result || (object != null && value in toObject(object)); +} + +module.exports = isKey; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isLaziable.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isLaziable.js new file mode 100644 index 0000000000..475fab1be5 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isLaziable.js @@ -0,0 +1,27 @@ +var LazyWrapper = require('./LazyWrapper'), + getData = require('./getData'), + getFuncName = require('./getFuncName'), + lodash = require('../chain/lodash'); + +/** + * Checks if `func` has a lazy counterpart. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` has a lazy counterpart, else `false`. + */ +function isLaziable(func) { + var funcName = getFuncName(func), + other = lodash[funcName]; + + if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { + return false; + } + if (func === other) { + return true; + } + var data = getData(other); + return !!data && func === data[0]; +} + +module.exports = isLaziable; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isLength.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isLength.js new file mode 100644 index 0000000000..2092987989 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isLength.js @@ -0,0 +1,20 @@ +/** + * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer) + * of an array-like value. + */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength). + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + */ +function isLength(value) { + return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +module.exports = isLength; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isObjectLike.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isObjectLike.js new file mode 100644 index 0000000000..8ca0585b7b --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isObjectLike.js @@ -0,0 +1,12 @@ +/** + * Checks if `value` is object-like. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +module.exports = isObjectLike; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isSpace.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isSpace.js new file mode 100644 index 0000000000..16ea6f3d43 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isSpace.js @@ -0,0 +1,14 @@ +/** + * Used by `trimmedLeftIndex` and `trimmedRightIndex` to determine if a + * character code is whitespace. + * + * @private + * @param {number} charCode The character code to inspect. + * @returns {boolean} Returns `true` if `charCode` is whitespace, else `false`. + */ +function isSpace(charCode) { + return ((charCode <= 160 && (charCode >= 9 && charCode <= 13) || charCode == 32 || charCode == 160) || charCode == 5760 || charCode == 6158 || + (charCode >= 8192 && (charCode <= 8202 || charCode == 8232 || charCode == 8233 || charCode == 8239 || charCode == 8287 || charCode == 12288 || charCode == 65279))); +} + +module.exports = isSpace; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isStrictComparable.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isStrictComparable.js new file mode 100644 index 0000000000..0a53eba5ee --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/isStrictComparable.js @@ -0,0 +1,15 @@ +var isObject = require('../lang/isObject'); + +/** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ +function isStrictComparable(value) { + return value === value && !isObject(value); +} + +module.exports = isStrictComparable; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/lazyClone.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/lazyClone.js new file mode 100644 index 0000000000..04c222b20e --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/lazyClone.js @@ -0,0 +1,23 @@ +var LazyWrapper = require('./LazyWrapper'), + arrayCopy = require('./arrayCopy'); + +/** + * Creates a clone of the lazy wrapper object. + * + * @private + * @name clone + * @memberOf LazyWrapper + * @returns {Object} Returns the cloned `LazyWrapper` object. + */ +function lazyClone() { + var result = new LazyWrapper(this.__wrapped__); + result.__actions__ = arrayCopy(this.__actions__); + result.__dir__ = this.__dir__; + result.__filtered__ = this.__filtered__; + result.__iteratees__ = arrayCopy(this.__iteratees__); + result.__takeCount__ = this.__takeCount__; + result.__views__ = arrayCopy(this.__views__); + return result; +} + +module.exports = lazyClone; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/lazyReverse.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/lazyReverse.js new file mode 100644 index 0000000000..c658402f94 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/lazyReverse.js @@ -0,0 +1,23 @@ +var LazyWrapper = require('./LazyWrapper'); + +/** + * Reverses the direction of lazy iteration. + * + * @private + * @name reverse + * @memberOf LazyWrapper + * @returns {Object} Returns the new reversed `LazyWrapper` object. + */ +function lazyReverse() { + if (this.__filtered__) { + var result = new LazyWrapper(this); + result.__dir__ = -1; + result.__filtered__ = true; + } else { + result = this.clone(); + result.__dir__ *= -1; + } + return result; +} + +module.exports = lazyReverse; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/lazyValue.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/lazyValue.js new file mode 100644 index 0000000000..8de68e6722 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/lazyValue.js @@ -0,0 +1,72 @@ +var baseWrapperValue = require('./baseWrapperValue'), + getView = require('./getView'), + isArray = require('../lang/isArray'); + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** Used to indicate the type of lazy iteratees. */ +var LAZY_FILTER_FLAG = 1, + LAZY_MAP_FLAG = 2; + +/* Native method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * Extracts the unwrapped value from its lazy wrapper. + * + * @private + * @name value + * @memberOf LazyWrapper + * @returns {*} Returns the unwrapped value. + */ +function lazyValue() { + var array = this.__wrapped__.value(), + dir = this.__dir__, + isArr = isArray(array), + isRight = dir < 0, + arrLength = isArr ? array.length : 0, + view = getView(0, arrLength, this.__views__), + start = view.start, + end = view.end, + length = end - start, + index = isRight ? end : (start - 1), + iteratees = this.__iteratees__, + iterLength = iteratees.length, + resIndex = 0, + takeCount = nativeMin(length, this.__takeCount__); + + if (!isArr || arrLength < LARGE_ARRAY_SIZE || (arrLength == length && takeCount == length)) { + return baseWrapperValue(array, this.__actions__); + } + var result = []; + + outer: + while (length-- && resIndex < takeCount) { + index += dir; + + var iterIndex = -1, + value = array[index]; + + while (++iterIndex < iterLength) { + var data = iteratees[iterIndex], + iteratee = data.iteratee, + type = data.type, + computed = iteratee(value); + + if (type == LAZY_MAP_FLAG) { + value = computed; + } else if (!computed) { + if (type == LAZY_FILTER_FLAG) { + continue outer; + } else { + break outer; + } + } + } + result[resIndex++] = value; + } + return result; +} + +module.exports = lazyValue; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/mapDelete.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/mapDelete.js new file mode 100644 index 0000000000..8b7fd53531 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/mapDelete.js @@ -0,0 +1,14 @@ +/** + * Removes `key` and its value from the cache. + * + * @private + * @name delete + * @memberOf _.memoize.Cache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed successfully, else `false`. + */ +function mapDelete(key) { + return this.has(key) && delete this.__data__[key]; +} + +module.exports = mapDelete; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/mapGet.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/mapGet.js new file mode 100644 index 0000000000..1f22295723 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/mapGet.js @@ -0,0 +1,14 @@ +/** + * Gets the cached value for `key`. + * + * @private + * @name get + * @memberOf _.memoize.Cache + * @param {string} key The key of the value to get. + * @returns {*} Returns the cached value. + */ +function mapGet(key) { + return key == '__proto__' ? undefined : this.__data__[key]; +} + +module.exports = mapGet; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/mapHas.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/mapHas.js new file mode 100644 index 0000000000..6d94ce441d --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/mapHas.js @@ -0,0 +1,20 @@ +/** Used for native method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Checks if a cached value for `key` exists. + * + * @private + * @name has + * @memberOf _.memoize.Cache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapHas(key) { + return key != '__proto__' && hasOwnProperty.call(this.__data__, key); +} + +module.exports = mapHas; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/mapSet.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/mapSet.js new file mode 100644 index 0000000000..0434c3f307 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/mapSet.js @@ -0,0 +1,18 @@ +/** + * Sets `value` to `key` of the cache. + * + * @private + * @name set + * @memberOf _.memoize.Cache + * @param {string} key The key of the value to cache. + * @param {*} value The value to cache. + * @returns {Object} Returns the cache object. + */ +function mapSet(key, value) { + if (key != '__proto__') { + this.__data__[key] = value; + } + return this; +} + +module.exports = mapSet; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/mergeData.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/mergeData.js new file mode 100644 index 0000000000..29297c78aa --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/mergeData.js @@ -0,0 +1,89 @@ +var arrayCopy = require('./arrayCopy'), + composeArgs = require('./composeArgs'), + composeArgsRight = require('./composeArgsRight'), + replaceHolders = require('./replaceHolders'); + +/** Used to compose bitmasks for wrapper metadata. */ +var BIND_FLAG = 1, + CURRY_BOUND_FLAG = 4, + CURRY_FLAG = 8, + ARY_FLAG = 128, + REARG_FLAG = 256; + +/** Used as the internal argument placeholder. */ +var PLACEHOLDER = '__lodash_placeholder__'; + +/* Native method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * Merges the function metadata of `source` into `data`. + * + * Merging metadata reduces the number of wrappers required to invoke a function. + * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` + * may be applied regardless of execution order. Methods like `_.ary` and `_.rearg` + * augment function arguments, making the order in which they are executed important, + * preventing the merging of metadata. However, we make an exception for a safe + * common case where curried functions have `_.ary` and or `_.rearg` applied. + * + * @private + * @param {Array} data The destination metadata. + * @param {Array} source The source metadata. + * @returns {Array} Returns `data`. + */ +function mergeData(data, source) { + var bitmask = data[1], + srcBitmask = source[1], + newBitmask = bitmask | srcBitmask, + isCommon = newBitmask < ARY_FLAG; + + var isCombo = + (srcBitmask == ARY_FLAG && bitmask == CURRY_FLAG) || + (srcBitmask == ARY_FLAG && bitmask == REARG_FLAG && data[7].length <= source[8]) || + (srcBitmask == (ARY_FLAG | REARG_FLAG) && bitmask == CURRY_FLAG); + + // Exit early if metadata can't be merged. + if (!(isCommon || isCombo)) { + return data; + } + // Use source `thisArg` if available. + if (srcBitmask & BIND_FLAG) { + data[2] = source[2]; + // Set when currying a bound function. + newBitmask |= (bitmask & BIND_FLAG) ? 0 : CURRY_BOUND_FLAG; + } + // Compose partial arguments. + var value = source[3]; + if (value) { + var partials = data[3]; + data[3] = partials ? composeArgs(partials, value, source[4]) : arrayCopy(value); + data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : arrayCopy(source[4]); + } + // Compose partial right arguments. + value = source[5]; + if (value) { + partials = data[5]; + data[5] = partials ? composeArgsRight(partials, value, source[6]) : arrayCopy(value); + data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : arrayCopy(source[6]); + } + // Use source `argPos` if available. + value = source[7]; + if (value) { + data[7] = arrayCopy(value); + } + // Use source `ary` if it's smaller. + if (srcBitmask & ARY_FLAG) { + data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); + } + // Use source `arity` if one is not provided. + if (data[9] == null) { + data[9] = source[9]; + } + // Use source `func` and merge bitmasks. + data[0] = source[0]; + data[1] = newBitmask; + + return data; +} + +module.exports = mergeData; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/mergeDefaults.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/mergeDefaults.js new file mode 100644 index 0000000000..dcd967e9fa --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/mergeDefaults.js @@ -0,0 +1,15 @@ +var merge = require('../object/merge'); + +/** + * Used by `_.defaultsDeep` to customize its `_.merge` use. + * + * @private + * @param {*} objectValue The destination object property value. + * @param {*} sourceValue The source object property value. + * @returns {*} Returns the value to assign to the destination object. + */ +function mergeDefaults(objectValue, sourceValue) { + return objectValue === undefined ? sourceValue : merge(objectValue, sourceValue, mergeDefaults); +} + +module.exports = mergeDefaults; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/metaMap.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/metaMap.js new file mode 100644 index 0000000000..59bfd5f96e --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/metaMap.js @@ -0,0 +1,9 @@ +var getNative = require('./getNative'); + +/** Native method references. */ +var WeakMap = getNative(global, 'WeakMap'); + +/** Used to store function metadata. */ +var metaMap = WeakMap && new WeakMap; + +module.exports = metaMap; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/pickByArray.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/pickByArray.js new file mode 100644 index 0000000000..0999d90af4 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/pickByArray.js @@ -0,0 +1,28 @@ +var toObject = require('./toObject'); + +/** + * A specialized version of `_.pick` which picks `object` properties specified + * by `props`. + * + * @private + * @param {Object} object The source object. + * @param {string[]} props The property names to pick. + * @returns {Object} Returns the new object. + */ +function pickByArray(object, props) { + object = toObject(object); + + var index = -1, + length = props.length, + result = {}; + + while (++index < length) { + var key = props[index]; + if (key in object) { + result[key] = object[key]; + } + } + return result; +} + +module.exports = pickByArray; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/pickByCallback.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/pickByCallback.js new file mode 100644 index 0000000000..79d3cdc837 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/pickByCallback.js @@ -0,0 +1,22 @@ +var baseForIn = require('./baseForIn'); + +/** + * A specialized version of `_.pick` which picks `object` properties `predicate` + * returns truthy for. + * + * @private + * @param {Object} object The source object. + * @param {Function} predicate The function invoked per iteration. + * @returns {Object} Returns the new object. + */ +function pickByCallback(object, predicate) { + var result = {}; + baseForIn(object, function(value, key, object) { + if (predicate(value, key, object)) { + result[key] = value; + } + }); + return result; +} + +module.exports = pickByCallback; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/reEscape.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/reEscape.js new file mode 100644 index 0000000000..7f47eda68f --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/reEscape.js @@ -0,0 +1,4 @@ +/** Used to match template delimiters. */ +var reEscape = /<%-([\s\S]+?)%>/g; + +module.exports = reEscape; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/reEvaluate.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/reEvaluate.js new file mode 100644 index 0000000000..6adfc312c8 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/reEvaluate.js @@ -0,0 +1,4 @@ +/** Used to match template delimiters. */ +var reEvaluate = /<%([\s\S]+?)%>/g; + +module.exports = reEvaluate; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/reInterpolate.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/reInterpolate.js new file mode 100644 index 0000000000..d02ff0b29a --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/reInterpolate.js @@ -0,0 +1,4 @@ +/** Used to match template delimiters. */ +var reInterpolate = /<%=([\s\S]+?)%>/g; + +module.exports = reInterpolate; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/realNames.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/realNames.js new file mode 100644 index 0000000000..aa0d529261 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/realNames.js @@ -0,0 +1,4 @@ +/** Used to lookup unminified function names. */ +var realNames = {}; + +module.exports = realNames; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/reorder.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/reorder.js new file mode 100644 index 0000000000..9424927db7 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/reorder.js @@ -0,0 +1,29 @@ +var arrayCopy = require('./arrayCopy'), + isIndex = require('./isIndex'); + +/* Native method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * Reorder `array` according to the specified indexes where the element at + * the first index is assigned as the first element, the element at + * the second index is assigned as the second element, and so on. + * + * @private + * @param {Array} array The array to reorder. + * @param {Array} indexes The arranged array indexes. + * @returns {Array} Returns `array`. + */ +function reorder(array, indexes) { + var arrLength = array.length, + length = nativeMin(indexes.length, arrLength), + oldArray = arrayCopy(array); + + while (length--) { + var index = indexes[length]; + array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; + } + return array; +} + +module.exports = reorder; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/replaceHolders.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/replaceHolders.js new file mode 100644 index 0000000000..3089e75e94 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/replaceHolders.js @@ -0,0 +1,28 @@ +/** Used as the internal argument placeholder. */ +var PLACEHOLDER = '__lodash_placeholder__'; + +/** + * Replaces all `placeholder` elements in `array` with an internal placeholder + * and returns an array of their indexes. + * + * @private + * @param {Array} array The array to modify. + * @param {*} placeholder The placeholder to replace. + * @returns {Array} Returns the new array of placeholder indexes. + */ +function replaceHolders(array, placeholder) { + var index = -1, + length = array.length, + resIndex = -1, + result = []; + + while (++index < length) { + if (array[index] === placeholder) { + array[index] = PLACEHOLDER; + result[++resIndex] = index; + } + } + return result; +} + +module.exports = replaceHolders; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/setData.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/setData.js new file mode 100644 index 0000000000..7eb3f40b83 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/setData.js @@ -0,0 +1,41 @@ +var baseSetData = require('./baseSetData'), + now = require('../date/now'); + +/** Used to detect when a function becomes hot. */ +var HOT_COUNT = 150, + HOT_SPAN = 16; + +/** + * Sets metadata for `func`. + * + * **Note:** If this function becomes hot, i.e. is invoked a lot in a short + * period of time, it will trip its breaker and transition to an identity function + * to avoid garbage collection pauses in V8. See [V8 issue 2070](https://code.google.com/p/v8/issues/detail?id=2070) + * for more details. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ +var setData = (function() { + var count = 0, + lastCalled = 0; + + return function(key, value) { + var stamp = now(), + remaining = HOT_SPAN - (stamp - lastCalled); + + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return key; + } + } else { + count = 0; + } + return baseSetData(key, value); + }; +}()); + +module.exports = setData; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/shimKeys.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/shimKeys.js new file mode 100644 index 0000000000..189e492b76 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/shimKeys.js @@ -0,0 +1,41 @@ +var isArguments = require('../lang/isArguments'), + isArray = require('../lang/isArray'), + isIndex = require('./isIndex'), + isLength = require('./isLength'), + keysIn = require('../object/keysIn'); + +/** Used for native method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * A fallback implementation of `Object.keys` which creates an array of the + * own enumerable property names of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function shimKeys(object) { + var props = keysIn(object), + propsLength = props.length, + length = propsLength && object.length; + + var allowIndexes = !!length && isLength(length) && + (isArray(object) || isArguments(object)); + + var index = -1, + result = []; + + while (++index < propsLength) { + var key = props[index]; + if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) { + result.push(key); + } + } + return result; +} + +module.exports = shimKeys; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/sortedUniq.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/sortedUniq.js new file mode 100644 index 0000000000..3ede46a193 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/sortedUniq.js @@ -0,0 +1,29 @@ +/** + * An implementation of `_.uniq` optimized for sorted arrays without support + * for callback shorthands and `this` binding. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The function invoked per iteration. + * @returns {Array} Returns the new duplicate free array. + */ +function sortedUniq(array, iteratee) { + var seen, + index = -1, + length = array.length, + resIndex = -1, + result = []; + + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value, index, array) : value; + + if (!index || seen !== computed) { + seen = computed; + result[++resIndex] = value; + } + } + return result; +} + +module.exports = sortedUniq; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/toIterable.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/toIterable.js new file mode 100644 index 0000000000..c0a5b2885f --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/toIterable.js @@ -0,0 +1,22 @@ +var isArrayLike = require('./isArrayLike'), + isObject = require('../lang/isObject'), + values = require('../object/values'); + +/** + * Converts `value` to an array-like object if it's not one. + * + * @private + * @param {*} value The value to process. + * @returns {Array|Object} Returns the array-like object. + */ +function toIterable(value) { + if (value == null) { + return []; + } + if (!isArrayLike(value)) { + return values(value); + } + return isObject(value) ? value : Object(value); +} + +module.exports = toIterable; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/toObject.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/toObject.js new file mode 100644 index 0000000000..da4a008d7b --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/toObject.js @@ -0,0 +1,14 @@ +var isObject = require('../lang/isObject'); + +/** + * Converts `value` to an object if it's not one. + * + * @private + * @param {*} value The value to process. + * @returns {Object} Returns the object. + */ +function toObject(value) { + return isObject(value) ? value : Object(value); +} + +module.exports = toObject; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/toPath.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/toPath.js new file mode 100644 index 0000000000..d29f1eb528 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/toPath.js @@ -0,0 +1,28 @@ +var baseToString = require('./baseToString'), + isArray = require('../lang/isArray'); + +/** Used to match property names within property paths. */ +var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** + * Converts `value` to property path array if it's not one. + * + * @private + * @param {*} value The value to process. + * @returns {Array} Returns the property path array. + */ +function toPath(value) { + if (isArray(value)) { + return value; + } + var result = []; + baseToString(value).replace(rePropName, function(match, number, quote, string) { + result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +} + +module.exports = toPath; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/trimmedLeftIndex.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/trimmedLeftIndex.js new file mode 100644 index 0000000000..08aeb13607 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/trimmedLeftIndex.js @@ -0,0 +1,19 @@ +var isSpace = require('./isSpace'); + +/** + * Used by `_.trim` and `_.trimLeft` to get the index of the first non-whitespace + * character of `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the index of the first non-whitespace character. + */ +function trimmedLeftIndex(string) { + var index = -1, + length = string.length; + + while (++index < length && isSpace(string.charCodeAt(index))) {} + return index; +} + +module.exports = trimmedLeftIndex; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/trimmedRightIndex.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/trimmedRightIndex.js new file mode 100644 index 0000000000..71b9e38a62 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/trimmedRightIndex.js @@ -0,0 +1,18 @@ +var isSpace = require('./isSpace'); + +/** + * Used by `_.trim` and `_.trimRight` to get the index of the last non-whitespace + * character of `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the index of the last non-whitespace character. + */ +function trimmedRightIndex(string) { + var index = string.length; + + while (index-- && isSpace(string.charCodeAt(index))) {} + return index; +} + +module.exports = trimmedRightIndex; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/unescapeHtmlChar.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/unescapeHtmlChar.js new file mode 100644 index 0000000000..28b345498d --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/unescapeHtmlChar.js @@ -0,0 +1,22 @@ +/** Used to map HTML entities to characters. */ +var htmlUnescapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + ''': "'", + '`': '`' +}; + +/** + * Used by `_.unescape` to convert HTML entities to characters. + * + * @private + * @param {string} chr The matched character to unescape. + * @returns {string} Returns the unescaped character. + */ +function unescapeHtmlChar(chr) { + return htmlUnescapes[chr]; +} + +module.exports = unescapeHtmlChar; diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/wrapperClone.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/wrapperClone.js new file mode 100644 index 0000000000..e5e10dac65 --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/wrapperClone.js @@ -0,0 +1,18 @@ +var LazyWrapper = require('./LazyWrapper'), + LodashWrapper = require('./LodashWrapper'), + arrayCopy = require('./arrayCopy'); + +/** + * Creates a clone of `wrapper`. + * + * @private + * @param {Object} wrapper The wrapper to clone. + * @returns {Object} Returns the cloned wrapper. + */ +function wrapperClone(wrapper) { + return wrapper instanceof LazyWrapper + ? wrapper.clone() + : new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__, arrayCopy(wrapper.__actions__)); +} + +module.exports = wrapperClone; |