mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-06 01:47:48 +00:00
Compare commits
6 Commits
3.3.4-npm-
...
3.4.2-npm-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
90dc45d7fc | ||
|
|
2017284ed9 | ||
|
|
8813a1ee09 | ||
|
|
8c168dd1b8 | ||
|
|
2f9ad20a7f | ||
|
|
fbdd63d3ad |
@@ -1,4 +1,4 @@
|
|||||||
# lodash v3.3.4
|
# lodash v3.4.2
|
||||||
|
|
||||||
The [lodash](https://lodash.com/) library exported as [npm packages](https://www.npmjs.com/browse/keyword/lodash-modularized) per method.
|
The [lodash](https://lodash.com/) library exported as [npm packages](https://www.npmjs.com/browse/keyword/lodash-modularized) per method.
|
||||||
|
|
||||||
|
|||||||
20
lodash._basesortbyorder/README.md
Normal file
20
lodash._basesortbyorder/README.md
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# lodash._basesortbyorder v3.4.1
|
||||||
|
|
||||||
|
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `baseSortByOrder` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Using npm:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ {sudo -H} npm i -g npm
|
||||||
|
$ npm i --save lodash._basesortbyorder
|
||||||
|
```
|
||||||
|
|
||||||
|
In Node.js/io.js:
|
||||||
|
|
||||||
|
```js
|
||||||
|
var baseSortByOrder = require('lodash._basesortbyorder');
|
||||||
|
```
|
||||||
|
|
||||||
|
See the [package source](https://github.com/lodash/lodash/blob/3.4.1-npm-packages/lodash._basesortbyorder) for more details.
|
||||||
101
lodash._basesortbyorder/index.js
Normal file
101
lodash._basesortbyorder/index.js
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
/**
|
||||||
|
* lodash 3.4.1 (Custom Build) <https://lodash.com/>
|
||||||
|
* Build: `lodash modern modularize exports="npm" -o ./`
|
||||||
|
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
|
||||||
|
* Based on Underscore.js 1.8.2 <http://underscorejs.org/LICENSE>
|
||||||
|
* Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
||||||
|
* Available under MIT license <https://lodash.com/license>
|
||||||
|
*/
|
||||||
|
var baseCompareAscending = require('lodash._basecompareascending'),
|
||||||
|
baseEach = require('lodash._baseeach'),
|
||||||
|
baseSortBy = require('lodash._basesortby');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used by `_.sortByOrder` to compare multiple properties of each element
|
||||||
|
* in a collection and stable sort them in the following order:
|
||||||
|
*
|
||||||
|
* If orders is unspecified, sort in ascending order for all properties.
|
||||||
|
* Otherwise, for each property, sort in ascending order if its corresponding value in
|
||||||
|
* orders is true, and descending order if false.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {Object} object The object to compare to `other`.
|
||||||
|
* @param {Object} other The object to compare to `object`.
|
||||||
|
* @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;
|
||||||
|
}
|
||||||
|
return result * (orders[index] ? 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used as the [maximum length](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer)
|
||||||
|
* of an array-like value.
|
||||||
|
*/
|
||||||
|
var MAX_SAFE_INTEGER = Math.pow(2, 53) - 1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The base implementation of `_.sortByOrder` without param guards.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {Array|Object|string} collection The collection to iterate over.
|
||||||
|
* @param {string[]} props The property names to sort by.
|
||||||
|
* @param {boolean[]} orders The sort orders of `props`.
|
||||||
|
* @returns {Array} Returns the new sorted array.
|
||||||
|
*/
|
||||||
|
function baseSortByOrder(collection, props, orders) {
|
||||||
|
var index = -1,
|
||||||
|
length = collection.length,
|
||||||
|
result = isLength(length) ? Array(length) : [];
|
||||||
|
|
||||||
|
baseEach(collection, function(value) {
|
||||||
|
var length = props.length,
|
||||||
|
criteria = Array(length);
|
||||||
|
|
||||||
|
while (length--) {
|
||||||
|
criteria[length] = value == null ? undefined : value[props[length]];
|
||||||
|
}
|
||||||
|
result[++index] = { 'criteria': criteria, 'index': index, 'value': value };
|
||||||
|
});
|
||||||
|
|
||||||
|
return baseSortBy(result, function(object, other) {
|
||||||
|
return compareMultiple(object, other, orders);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is a valid array-like length.
|
||||||
|
*
|
||||||
|
* **Note:** This function is based on [`ToLength`](https://people.mozilla.org/~jorendorff/es6-draft.html#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 = baseSortByOrder;
|
||||||
23
lodash._basesortbyorder/package.json
Normal file
23
lodash._basesortbyorder/package.json
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"name": "lodash._basesortbyorder",
|
||||||
|
"version": "3.4.1",
|
||||||
|
"description": "The modern build of lodash’s internal `baseSortByOrder` as a module.",
|
||||||
|
"homepage": "https://lodash.com/",
|
||||||
|
"icon": "https://lodash.com/icon.svg",
|
||||||
|
"license": "MIT",
|
||||||
|
"author": "John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)",
|
||||||
|
"contributors": [
|
||||||
|
"John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)",
|
||||||
|
"Benjamin Tan <demoneaux@gmail.com> (https://d10.github.io/)",
|
||||||
|
"Blaine Bublitz <blaine@iceddev.com> (http://www.iceddev.com/)",
|
||||||
|
"Kit Cambridge <github@kitcambridge.be> (http://kitcambridge.be/)",
|
||||||
|
"Mathias Bynens <mathias@qiwi.be> (https://mathiasbynens.be/)"
|
||||||
|
],
|
||||||
|
"repository": "lodash/lodash",
|
||||||
|
"scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" },
|
||||||
|
"dependencies": {
|
||||||
|
"lodash._basecompareascending": "^3.0.0",
|
||||||
|
"lodash._baseeach": "^3.0.0",
|
||||||
|
"lodash._basesortby": "^3.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
20
lodash._createcomposer/README.md
Normal file
20
lodash._createcomposer/README.md
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# lodash._createcomposer v3.4.1
|
||||||
|
|
||||||
|
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `createComposer` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Using npm:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ {sudo -H} npm i -g npm
|
||||||
|
$ npm i --save lodash._createcomposer
|
||||||
|
```
|
||||||
|
|
||||||
|
In Node.js/io.js:
|
||||||
|
|
||||||
|
```js
|
||||||
|
var createComposer = require('lodash._createcomposer');
|
||||||
|
```
|
||||||
|
|
||||||
|
See the [package source](https://github.com/lodash/lodash/blob/3.4.1-npm-packages/lodash._createcomposer) for more details.
|
||||||
48
lodash._createcomposer/index.js
Normal file
48
lodash._createcomposer/index.js
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
/**
|
||||||
|
* lodash 3.4.1 (Custom Build) <https://lodash.com/>
|
||||||
|
* Build: `lodash modern modularize exports="npm" -o ./`
|
||||||
|
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
|
||||||
|
* Based on Underscore.js 1.8.2 <http://underscorejs.org/LICENSE>
|
||||||
|
* Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
||||||
|
* Available under MIT license <https://lodash.com/license>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** Used as the `TypeError` message for "Functions" methods. */
|
||||||
|
var FUNC_ERROR_TEXT = 'Expected a function';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a function to compose other functions into a single function.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {boolean} [fromRight] Specify iterating from right to left.
|
||||||
|
* @returns {Function} Returns the new composer function.
|
||||||
|
*/
|
||||||
|
function createComposer(fromRight) {
|
||||||
|
return function() {
|
||||||
|
var length = arguments.length,
|
||||||
|
index = length,
|
||||||
|
fromIndex = fromRight ? (length - 1) : 0;
|
||||||
|
|
||||||
|
if (!length) {
|
||||||
|
return function() { return arguments[0]; };
|
||||||
|
}
|
||||||
|
var funcs = Array(length);
|
||||||
|
while (index--) {
|
||||||
|
funcs[index] = arguments[index];
|
||||||
|
if (typeof funcs[index] != 'function') {
|
||||||
|
throw new TypeError(FUNC_ERROR_TEXT);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return function() {
|
||||||
|
var index = fromIndex,
|
||||||
|
result = funcs[index].apply(this, arguments);
|
||||||
|
|
||||||
|
while ((fromRight ? index-- : ++index < length)) {
|
||||||
|
result = funcs[index].call(this, result);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = createComposer;
|
||||||
18
lodash._createcomposer/package.json
Normal file
18
lodash._createcomposer/package.json
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"name": "lodash._createcomposer",
|
||||||
|
"version": "3.4.1",
|
||||||
|
"description": "The modern build of lodash’s internal `createComposer` as a module.",
|
||||||
|
"homepage": "https://lodash.com/",
|
||||||
|
"icon": "https://lodash.com/icon.svg",
|
||||||
|
"license": "MIT",
|
||||||
|
"author": "John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)",
|
||||||
|
"contributors": [
|
||||||
|
"John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)",
|
||||||
|
"Benjamin Tan <demoneaux@gmail.com> (https://d10.github.io/)",
|
||||||
|
"Blaine Bublitz <blaine@iceddev.com> (http://www.iceddev.com/)",
|
||||||
|
"Kit Cambridge <github@kitcambridge.be> (http://kitcambridge.be/)",
|
||||||
|
"Mathias Bynens <mathias@qiwi.be> (https://mathiasbynens.be/)"
|
||||||
|
],
|
||||||
|
"repository": "lodash/lodash",
|
||||||
|
"scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" }
|
||||||
|
}
|
||||||
22
lodash.add/LICENSE
Normal file
22
lodash.add/LICENSE
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
|
||||||
|
Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas,
|
||||||
|
DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||||
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
18
lodash.add/README.md
Normal file
18
lodash.add/README.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# lodash.add v3.4.2
|
||||||
|
|
||||||
|
The [lodash](https://lodash.com/) method `_.add` exported as a [Node.js](https://nodejs.org/) module.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Using npm:
|
||||||
|
```bash
|
||||||
|
$ {sudo -H} npm i -g npm
|
||||||
|
$ npm i --save lodash.add
|
||||||
|
```
|
||||||
|
|
||||||
|
In Node.js:
|
||||||
|
```js
|
||||||
|
var add = require('lodash.add');
|
||||||
|
```
|
||||||
|
|
||||||
|
See the [documentation](https://lodash.com/docs#add) or [package source](https://github.com/lodash/lodash/blob/3.4.2-npm-packages/lodash.add) for more details.
|
||||||
35
lodash.add/index.js
Normal file
35
lodash.add/index.js
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
/**
|
||||||
|
* lodash 3.4.2 (Custom Build) <https://lodash.com/>
|
||||||
|
* Build: `lodash modularize exports="npm" -o ./`
|
||||||
|
* Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
|
||||||
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
||||||
|
* Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
||||||
|
* Available under MIT license <https://lodash.com/license>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds two numbers.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Math
|
||||||
|
* @param {number} augend The first number in an addition.
|
||||||
|
* @param {number} addend The second number in an addition.
|
||||||
|
* @returns {number} Returns the total.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.add(6, 4);
|
||||||
|
* // => 10
|
||||||
|
*/
|
||||||
|
function add(augend, addend) {
|
||||||
|
var result;
|
||||||
|
if (augend !== undefined) {
|
||||||
|
result = augend;
|
||||||
|
}
|
||||||
|
if (addend !== undefined) {
|
||||||
|
result = result === undefined ? addend : (result + addend);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = add;
|
||||||
17
lodash.add/package.json
Normal file
17
lodash.add/package.json
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"name": "lodash.add",
|
||||||
|
"version": "3.4.2",
|
||||||
|
"description": "The lodash method `_.add` exported as a module.",
|
||||||
|
"homepage": "https://lodash.com/",
|
||||||
|
"icon": "https://lodash.com/icon.svg",
|
||||||
|
"license": "MIT",
|
||||||
|
"keywords": "lodash, lodash-modularized, stdlib, util, add",
|
||||||
|
"author": "John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)",
|
||||||
|
"contributors": [
|
||||||
|
"John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)",
|
||||||
|
"Blaine Bublitz <blaine@iceddev.com> (https://github.com/phated)",
|
||||||
|
"Mathias Bynens <mathias@qiwi.be> (https://mathiasbynens.be/)"
|
||||||
|
],
|
||||||
|
"repository": "lodash/lodash",
|
||||||
|
"scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" }
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# lodash.fill v3.3.4
|
# lodash.fill v3.4.0
|
||||||
|
|
||||||
The [lodash](https://lodash.com/) method `_.fill` exported as a [Node.js](https://nodejs.org/) module.
|
The [lodash](https://lodash.com/) method `_.fill` exported as a [Node.js](https://nodejs.org/) module.
|
||||||
|
|
||||||
@@ -15,4 +15,4 @@ In Node.js:
|
|||||||
var fill = require('lodash.fill');
|
var fill = require('lodash.fill');
|
||||||
```
|
```
|
||||||
|
|
||||||
See the [documentation](https://lodash.com/docs#fill) or [package source](https://github.com/lodash/lodash/blob/3.3.4-npm-packages/lodash.fill) for more details.
|
See the [documentation](https://lodash.com/docs#fill) or [package source](https://github.com/lodash/lodash/blob/3.4.0-npm-packages/lodash.fill) for more details.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* lodash 3.3.4 (Custom Build) <https://lodash.com/>
|
* lodash (Custom Build) <https://lodash.com/>
|
||||||
* Build: `lodash modularize exports="npm" -o ./`
|
* Build: `lodash modularize exports="npm" -o ./`
|
||||||
* Copyright jQuery Foundation and other contributors <https://jquery.org/>
|
* Copyright jQuery Foundation and other contributors <https://jquery.org/>
|
||||||
* Released under MIT license <https://lodash.com/license>
|
* Released under MIT license <https://lodash.com/license>
|
||||||
@@ -39,32 +39,18 @@ var reIsUint = /^(?:0|[1-9]\d*)$/;
|
|||||||
/** Built-in method references without a dependency on `root`. */
|
/** Built-in method references without a dependency on `root`. */
|
||||||
var freeParseInt = parseInt;
|
var freeParseInt = parseInt;
|
||||||
|
|
||||||
/**
|
|
||||||
* 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;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Used for built-in method references. */
|
/** Used for built-in method references. */
|
||||||
var objectProto = Object.prototype;
|
var objectProto = Object.prototype;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to resolve the
|
* Used to resolve the
|
||||||
* [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
|
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
||||||
* of values.
|
* of values.
|
||||||
*/
|
*/
|
||||||
var objectToString = objectProto.toString;
|
var objectToString = objectProto.toString;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The base implementation of `_.clamp` which doesn't coerce arguments to numbers.
|
* The base implementation of `_.clamp` which doesn't coerce arguments.
|
||||||
*
|
*
|
||||||
* @private
|
* @private
|
||||||
* @param {number} number The number to clamp.
|
* @param {number} number The number to clamp.
|
||||||
@@ -113,31 +99,20 @@ function baseFill(array, value, start, end) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The base implementation of `_.property` without support for deep paths.
|
* Checks if `value` is a valid array-like index.
|
||||||
*
|
*
|
||||||
* @private
|
* @private
|
||||||
* @param {string} key The key of the property to get.
|
* @param {*} value The value to check.
|
||||||
* @returns {Function} Returns the new function.
|
* @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 baseProperty(key) {
|
function isIndex(value, length) {
|
||||||
return function(object) {
|
length = length == null ? MAX_SAFE_INTEGER : length;
|
||||||
return object == null ? undefined : object[key];
|
return !!length &&
|
||||||
};
|
(typeof value == 'number' || reIsUint.test(value)) &&
|
||||||
|
(value > -1 && value % 1 == 0 && value < length);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 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');
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if the given arguments are from an iteratee call.
|
* Checks if the given arguments are from an iteratee call.
|
||||||
*
|
*
|
||||||
@@ -205,7 +180,7 @@ function fill(array, value, start, end) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Performs a
|
* Performs a
|
||||||
* [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
|
||||||
* comparison between two values to determine if they are equivalent.
|
* comparison between two values to determine if they are equivalent.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
@@ -217,8 +192,8 @@ function fill(array, value, start, end) {
|
|||||||
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
|
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
|
||||||
* @example
|
* @example
|
||||||
*
|
*
|
||||||
* var object = { 'user': 'fred' };
|
* var object = { 'a': 1 };
|
||||||
* var other = { 'user': 'fred' };
|
* var other = { 'a': 1 };
|
||||||
*
|
*
|
||||||
* _.eq(object, object);
|
* _.eq(object, object);
|
||||||
* // => true
|
* // => true
|
||||||
@@ -265,7 +240,7 @@ function eq(value, other) {
|
|||||||
* // => false
|
* // => false
|
||||||
*/
|
*/
|
||||||
function isArrayLike(value) {
|
function isArrayLike(value) {
|
||||||
return value != null && isLength(getLength(value)) && !isFunction(value);
|
return value != null && isLength(value.length) && !isFunction(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -276,8 +251,7 @@ function isArrayLike(value) {
|
|||||||
* @since 0.1.0
|
* @since 0.1.0
|
||||||
* @category Lang
|
* @category Lang
|
||||||
* @param {*} value The value to check.
|
* @param {*} value The value to check.
|
||||||
* @returns {boolean} Returns `true` if `value` is correctly classified,
|
* @returns {boolean} Returns `true` if `value` is a function, else `false`.
|
||||||
* else `false`.
|
|
||||||
* @example
|
* @example
|
||||||
*
|
*
|
||||||
* _.isFunction(_);
|
* _.isFunction(_);
|
||||||
@@ -288,8 +262,7 @@ function isArrayLike(value) {
|
|||||||
*/
|
*/
|
||||||
function isFunction(value) {
|
function isFunction(value) {
|
||||||
// The use of `Object#toString` avoids issues with the `typeof` operator
|
// The use of `Object#toString` avoids issues with the `typeof` operator
|
||||||
// in Safari 8 which returns 'object' for typed array and weak map constructors,
|
// in Safari 8-9 which returns 'object' for typed array and other constructors.
|
||||||
// and PhantomJS 1.9 which returns 'function' for `NodeList` instances.
|
|
||||||
var tag = isObject(value) ? objectToString.call(value) : '';
|
var tag = isObject(value) ? objectToString.call(value) : '';
|
||||||
return tag == funcTag || tag == genTag;
|
return tag == funcTag || tag == genTag;
|
||||||
}
|
}
|
||||||
@@ -297,16 +270,15 @@ function isFunction(value) {
|
|||||||
/**
|
/**
|
||||||
* Checks if `value` is a valid array-like length.
|
* Checks if `value` is a valid array-like length.
|
||||||
*
|
*
|
||||||
* **Note:** This function is loosely based on
|
* **Note:** This method is loosely based on
|
||||||
* [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
|
* [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
* @memberOf _
|
* @memberOf _
|
||||||
* @since 4.0.0
|
* @since 4.0.0
|
||||||
* @category Lang
|
* @category Lang
|
||||||
* @param {*} value The value to check.
|
* @param {*} value The value to check.
|
||||||
* @returns {boolean} Returns `true` if `value` is a valid length,
|
* @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
|
||||||
* else `false`.
|
|
||||||
* @example
|
* @example
|
||||||
*
|
*
|
||||||
* _.isLength(3);
|
* _.isLength(3);
|
||||||
@@ -328,7 +300,7 @@ function isLength(value) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if `value` is the
|
* Checks if `value` is the
|
||||||
* [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)
|
* [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
|
||||||
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
@@ -392,8 +364,7 @@ function isObjectLike(value) {
|
|||||||
* @since 4.0.0
|
* @since 4.0.0
|
||||||
* @category Lang
|
* @category Lang
|
||||||
* @param {*} value The value to check.
|
* @param {*} value The value to check.
|
||||||
* @returns {boolean} Returns `true` if `value` is correctly classified,
|
* @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
|
||||||
* else `false`.
|
|
||||||
* @example
|
* @example
|
||||||
*
|
*
|
||||||
* _.isSymbol(Symbol.iterator);
|
* _.isSymbol(Symbol.iterator);
|
||||||
@@ -408,32 +379,29 @@ function isSymbol(value) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts `value` to an integer.
|
* Converts `value` to a finite number.
|
||||||
*
|
|
||||||
* **Note:** This function is loosely based on
|
|
||||||
* [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).
|
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
* @memberOf _
|
* @memberOf _
|
||||||
* @since 4.0.0
|
* @since 4.12.0
|
||||||
* @category Lang
|
* @category Lang
|
||||||
* @param {*} value The value to convert.
|
* @param {*} value The value to convert.
|
||||||
* @returns {number} Returns the converted integer.
|
* @returns {number} Returns the converted number.
|
||||||
* @example
|
* @example
|
||||||
*
|
*
|
||||||
* _.toInteger(3);
|
* _.toFinite(3.2);
|
||||||
* // => 3
|
* // => 3.2
|
||||||
*
|
*
|
||||||
* _.toInteger(Number.MIN_VALUE);
|
* _.toFinite(Number.MIN_VALUE);
|
||||||
* // => 0
|
* // => 5e-324
|
||||||
*
|
*
|
||||||
* _.toInteger(Infinity);
|
* _.toFinite(Infinity);
|
||||||
* // => 1.7976931348623157e+308
|
* // => 1.7976931348623157e+308
|
||||||
*
|
*
|
||||||
* _.toInteger('3');
|
* _.toFinite('3.2');
|
||||||
* // => 3
|
* // => 3.2
|
||||||
*/
|
*/
|
||||||
function toInteger(value) {
|
function toFinite(value) {
|
||||||
if (!value) {
|
if (!value) {
|
||||||
return value === 0 ? value : 0;
|
return value === 0 ? value : 0;
|
||||||
}
|
}
|
||||||
@@ -442,16 +410,14 @@ function toInteger(value) {
|
|||||||
var sign = (value < 0 ? -1 : 1);
|
var sign = (value < 0 ? -1 : 1);
|
||||||
return sign * MAX_INTEGER;
|
return sign * MAX_INTEGER;
|
||||||
}
|
}
|
||||||
var remainder = value % 1;
|
return value === value ? value : 0;
|
||||||
return value === value ? (remainder ? value - remainder : value) : 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts `value` to an integer suitable for use as the length of an
|
* Converts `value` to an integer.
|
||||||
* array-like object.
|
|
||||||
*
|
*
|
||||||
* **Note:** This method is based on
|
* **Note:** This method is loosely based on
|
||||||
* [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
|
* [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
* @memberOf _
|
* @memberOf _
|
||||||
@@ -461,7 +427,41 @@ function toInteger(value) {
|
|||||||
* @returns {number} Returns the converted integer.
|
* @returns {number} Returns the converted integer.
|
||||||
* @example
|
* @example
|
||||||
*
|
*
|
||||||
* _.toLength(3);
|
* _.toInteger(3.2);
|
||||||
|
* // => 3
|
||||||
|
*
|
||||||
|
* _.toInteger(Number.MIN_VALUE);
|
||||||
|
* // => 0
|
||||||
|
*
|
||||||
|
* _.toInteger(Infinity);
|
||||||
|
* // => 1.7976931348623157e+308
|
||||||
|
*
|
||||||
|
* _.toInteger('3.2');
|
||||||
|
* // => 3
|
||||||
|
*/
|
||||||
|
function toInteger(value) {
|
||||||
|
var result = toFinite(value),
|
||||||
|
remainder = result % 1;
|
||||||
|
|
||||||
|
return result === result ? (remainder ? result - remainder : result) : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts `value` to an integer suitable for use as the length of an
|
||||||
|
* array-like object.
|
||||||
|
*
|
||||||
|
* **Note:** This method is based on
|
||||||
|
* [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @since 4.0.0
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to convert.
|
||||||
|
* @returns {number} Returns the converted integer.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.toLength(3.2);
|
||||||
* // => 3
|
* // => 3
|
||||||
*
|
*
|
||||||
* _.toLength(Number.MIN_VALUE);
|
* _.toLength(Number.MIN_VALUE);
|
||||||
@@ -470,7 +470,7 @@ function toInteger(value) {
|
|||||||
* _.toLength(Infinity);
|
* _.toLength(Infinity);
|
||||||
* // => 4294967295
|
* // => 4294967295
|
||||||
*
|
*
|
||||||
* _.toLength('3');
|
* _.toLength('3.2');
|
||||||
* // => 3
|
* // => 3
|
||||||
*/
|
*/
|
||||||
function toLength(value) {
|
function toLength(value) {
|
||||||
@@ -488,8 +488,8 @@ function toLength(value) {
|
|||||||
* @returns {number} Returns the number.
|
* @returns {number} Returns the number.
|
||||||
* @example
|
* @example
|
||||||
*
|
*
|
||||||
* _.toNumber(3);
|
* _.toNumber(3.2);
|
||||||
* // => 3
|
* // => 3.2
|
||||||
*
|
*
|
||||||
* _.toNumber(Number.MIN_VALUE);
|
* _.toNumber(Number.MIN_VALUE);
|
||||||
* // => 5e-324
|
* // => 5e-324
|
||||||
@@ -497,8 +497,8 @@ function toLength(value) {
|
|||||||
* _.toNumber(Infinity);
|
* _.toNumber(Infinity);
|
||||||
* // => Infinity
|
* // => Infinity
|
||||||
*
|
*
|
||||||
* _.toNumber('3');
|
* _.toNumber('3.2');
|
||||||
* // => 3
|
* // => 3.2
|
||||||
*/
|
*/
|
||||||
function toNumber(value) {
|
function toNumber(value) {
|
||||||
if (typeof value == 'number') {
|
if (typeof value == 'number') {
|
||||||
@@ -508,7 +508,7 @@ function toNumber(value) {
|
|||||||
return NAN;
|
return NAN;
|
||||||
}
|
}
|
||||||
if (isObject(value)) {
|
if (isObject(value)) {
|
||||||
var other = isFunction(value.valueOf) ? value.valueOf() : value;
|
var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
|
||||||
value = isObject(other) ? (other + '') : other;
|
value = isObject(other) ? (other + '') : other;
|
||||||
}
|
}
|
||||||
if (typeof value != 'string') {
|
if (typeof value != 'string') {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "lodash.fill",
|
"name": "lodash.fill",
|
||||||
"version": "3.3.4",
|
"version": "3.4.0",
|
||||||
"description": "The lodash method `_.fill` exported as a module.",
|
"description": "The lodash method `_.fill` exported as a module.",
|
||||||
"homepage": "https://lodash.com/",
|
"homepage": "https://lodash.com/",
|
||||||
"icon": "https://lodash.com/icon.svg",
|
"icon": "https://lodash.com/icon.svg",
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# lodash.flow v3.3.0
|
# lodash.flow v3.4.0
|
||||||
|
|
||||||
The [lodash](https://lodash.com/) method `_.flow` exported as a [Node.js](https://nodejs.org/) module.
|
The [lodash](https://lodash.com/) method `_.flow` exported as a [Node.js](https://nodejs.org/) module.
|
||||||
|
|
||||||
@@ -15,4 +15,4 @@ In Node.js:
|
|||||||
var flow = require('lodash.flow');
|
var flow = require('lodash.flow');
|
||||||
```
|
```
|
||||||
|
|
||||||
See the [documentation](https://lodash.com/docs#flow) or [package source](https://github.com/lodash/lodash/blob/3.3.0-npm-packages/lodash.flow) for more details.
|
See the [documentation](https://lodash.com/docs#flow) or [package source](https://github.com/lodash/lodash/blob/3.4.0-npm-packages/lodash.flow) for more details.
|
||||||
|
|||||||
@@ -6,12 +6,163 @@
|
|||||||
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
||||||
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
||||||
*/
|
*/
|
||||||
var baseFlatten = require('lodash._baseflatten'),
|
|
||||||
rest = require('lodash.rest');
|
|
||||||
|
|
||||||
/** Used as the `TypeError` message for "Functions" methods. */
|
/** Used as the `TypeError` message for "Functions" methods. */
|
||||||
var FUNC_ERROR_TEXT = 'Expected a function';
|
var FUNC_ERROR_TEXT = 'Expected a function';
|
||||||
|
|
||||||
|
/** Used as references for various `Number` constants. */
|
||||||
|
var MAX_SAFE_INTEGER = 9007199254740991;
|
||||||
|
|
||||||
|
/** `Object#toString` result references. */
|
||||||
|
var argsTag = '[object Arguments]',
|
||||||
|
funcTag = '[object Function]',
|
||||||
|
genTag = '[object GeneratorFunction]';
|
||||||
|
|
||||||
|
/** Detect free variable `global` from Node.js. */
|
||||||
|
var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
|
||||||
|
|
||||||
|
/** Detect free variable `self`. */
|
||||||
|
var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
|
||||||
|
|
||||||
|
/** Used as a reference to the global object. */
|
||||||
|
var root = freeGlobal || freeSelf || Function('return this')();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A faster alternative to `Function#apply`, this function invokes `func`
|
||||||
|
* with the `this` binding of `thisArg` and the arguments of `args`.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {Function} func The function to invoke.
|
||||||
|
* @param {*} thisArg The `this` binding of `func`.
|
||||||
|
* @param {Array} args The arguments to invoke `func` with.
|
||||||
|
* @returns {*} Returns the result of `func`.
|
||||||
|
*/
|
||||||
|
function apply(func, thisArg, args) {
|
||||||
|
switch (args.length) {
|
||||||
|
case 0: return func.call(thisArg);
|
||||||
|
case 1: return func.call(thisArg, args[0]);
|
||||||
|
case 2: return func.call(thisArg, args[0], args[1]);
|
||||||
|
case 3: return func.call(thisArg, args[0], args[1], args[2]);
|
||||||
|
}
|
||||||
|
return func.apply(thisArg, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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 accessor function.
|
||||||
|
*/
|
||||||
|
function baseProperty(key) {
|
||||||
|
return function(object) {
|
||||||
|
return object == null ? undefined : object[key];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Used for built-in 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 objectToString = objectProto.toString;
|
||||||
|
|
||||||
|
/** Built-in value references. */
|
||||||
|
var Symbol = root.Symbol,
|
||||||
|
propertyIsEnumerable = objectProto.propertyIsEnumerable,
|
||||||
|
spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;
|
||||||
|
|
||||||
|
/* Built-in method references for those with the same name as other `lodash` methods. */
|
||||||
|
var nativeMax = Math.max;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The base implementation of `_.flatten` with support for restricting flattening.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {Array} array The array to flatten.
|
||||||
|
* @param {number} depth The maximum recursion depth.
|
||||||
|
* @param {boolean} [predicate=isFlattenable] The function invoked per iteration.
|
||||||
|
* @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
|
||||||
|
* @param {Array} [result=[]] The initial result value.
|
||||||
|
* @returns {Array} Returns the new flattened array.
|
||||||
|
*/
|
||||||
|
function baseFlatten(array, depth, predicate, isStrict, result) {
|
||||||
|
var index = -1,
|
||||||
|
length = array.length;
|
||||||
|
|
||||||
|
predicate || (predicate = isFlattenable);
|
||||||
|
result || (result = []);
|
||||||
|
|
||||||
|
while (++index < length) {
|
||||||
|
var value = array[index];
|
||||||
|
if (depth > 0 && predicate(value)) {
|
||||||
|
if (depth > 1) {
|
||||||
|
// Recursively flatten arrays (susceptible to call stack limits).
|
||||||
|
baseFlatten(value, depth - 1, predicate, isStrict, result);
|
||||||
|
} else {
|
||||||
|
arrayPush(result, value);
|
||||||
|
}
|
||||||
|
} else if (!isStrict) {
|
||||||
|
result[result.length] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The base implementation of `_.rest` which doesn't validate or coerce arguments.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {Function} func The function to apply a rest parameter to.
|
||||||
|
* @param {number} [start=func.length-1] The start position of the rest parameter.
|
||||||
|
* @returns {Function} Returns the new function.
|
||||||
|
*/
|
||||||
|
function baseRest(func, start) {
|
||||||
|
start = nativeMax(start === undefined ? (func.length - 1) : start, 0);
|
||||||
|
return function() {
|
||||||
|
var args = arguments,
|
||||||
|
index = -1,
|
||||||
|
length = nativeMax(args.length - start, 0),
|
||||||
|
array = Array(length);
|
||||||
|
|
||||||
|
while (++index < length) {
|
||||||
|
array[index] = args[start + index];
|
||||||
|
}
|
||||||
|
index = -1;
|
||||||
|
var otherArgs = Array(start + 1);
|
||||||
|
while (++index < start) {
|
||||||
|
otherArgs[index] = args[index];
|
||||||
|
}
|
||||||
|
otherArgs[start] = array;
|
||||||
|
return apply(func, this, otherArgs);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a `_.flow` or `_.flowRight` function.
|
* Creates a `_.flow` or `_.flowRight` function.
|
||||||
*
|
*
|
||||||
@@ -20,7 +171,7 @@ var FUNC_ERROR_TEXT = 'Expected a function';
|
|||||||
* @returns {Function} Returns the new flow function.
|
* @returns {Function} Returns the new flow function.
|
||||||
*/
|
*/
|
||||||
function createFlow(fromRight) {
|
function createFlow(fromRight) {
|
||||||
return rest(function(funcs) {
|
return baseRest(function(funcs) {
|
||||||
funcs = baseFlatten(funcs, 1);
|
funcs = baseFlatten(funcs, 1);
|
||||||
|
|
||||||
var length = funcs.length,
|
var length = funcs.length,
|
||||||
@@ -46,6 +197,253 @@ function createFlow(fromRight) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is a flattenable `arguments` object or array.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is flattenable, else `false`.
|
||||||
|
*/
|
||||||
|
function isFlattenable(value) {
|
||||||
|
return isArray(value) || isArguments(value) ||
|
||||||
|
!!(spreadableSymbol && value && value[spreadableSymbol]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is likely an `arguments` object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @since 0.1.0
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is an `arguments` object,
|
||||||
|
* else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isArguments(function() { return arguments; }());
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isArguments([1, 2, 3]);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isArguments(value) {
|
||||||
|
// Safari 8.1 incorrectly makes `arguments.callee` enumerable in strict mode.
|
||||||
|
return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&
|
||||||
|
(!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is classified as an `Array` object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @since 0.1.0
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is an array, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isArray([1, 2, 3]);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isArray(document.body.children);
|
||||||
|
* // => false
|
||||||
|
*
|
||||||
|
* _.isArray('abc');
|
||||||
|
* // => false
|
||||||
|
*
|
||||||
|
* _.isArray(_.noop);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
var isArray = Array.isArray;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is array-like. A value is considered array-like if it's
|
||||||
|
* not a function and has a `value.length` that's an integer greater than or
|
||||||
|
* equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @since 4.0.0
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is array-like, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isArrayLike([1, 2, 3]);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isArrayLike(document.body.children);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isArrayLike('abc');
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isArrayLike(_.noop);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isArrayLike(value) {
|
||||||
|
return value != null && isLength(getLength(value)) && !isFunction(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is like `_.isArrayLike` except that it also checks if `value`
|
||||||
|
* is an object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @since 4.0.0
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is an array-like object,
|
||||||
|
* else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isArrayLikeObject([1, 2, 3]);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isArrayLikeObject(document.body.children);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isArrayLikeObject('abc');
|
||||||
|
* // => false
|
||||||
|
*
|
||||||
|
* _.isArrayLikeObject(_.noop);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isArrayLikeObject(value) {
|
||||||
|
return isObjectLike(value) && isArrayLike(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is classified as a `Function` object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @since 0.1.0
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is a function, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isFunction(_);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isFunction(/abc/);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isFunction(value) {
|
||||||
|
// The use of `Object#toString` avoids issues with the `typeof` operator
|
||||||
|
// in Safari 8 which returns 'object' for typed array and weak map constructors,
|
||||||
|
// and PhantomJS 1.9 which returns 'function' for `NodeList` instances.
|
||||||
|
var tag = isObject(value) ? objectToString.call(value) : '';
|
||||||
|
return tag == funcTag || tag == genTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is a valid array-like length.
|
||||||
|
*
|
||||||
|
* **Note:** This function is loosely based on
|
||||||
|
* [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @since 4.0.0
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is a valid length,
|
||||||
|
* else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isLength(3);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isLength(Number.MIN_VALUE);
|
||||||
|
* // => false
|
||||||
|
*
|
||||||
|
* _.isLength(Infinity);
|
||||||
|
* // => false
|
||||||
|
*
|
||||||
|
* _.isLength('3');
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isLength(value) {
|
||||||
|
return typeof value == 'number' &&
|
||||||
|
value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is the
|
||||||
|
* [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)
|
||||||
|
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @since 0.1.0
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is an object, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isObject({});
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isObject([1, 2, 3]);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isObject(_.noop);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isObject(null);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isObject(value) {
|
||||||
|
var type = typeof value;
|
||||||
|
return !!value && (type == 'object' || type == 'function');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is object-like. A value is object-like if it's not `null`
|
||||||
|
* and has a `typeof` result of "object".
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @since 4.0.0
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isObjectLike({});
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isObjectLike([1, 2, 3]);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isObjectLike(_.noop);
|
||||||
|
* // => false
|
||||||
|
*
|
||||||
|
* _.isObjectLike(null);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isObjectLike(value) {
|
||||||
|
return !!value && typeof value == 'object';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a function that returns the result of invoking the given functions
|
* Creates a function that returns the result of invoking the given functions
|
||||||
* with the `this` binding of the created function, where each successive
|
* with the `this` binding of the created function, where each successive
|
||||||
@@ -55,7 +453,7 @@ function createFlow(fromRight) {
|
|||||||
* @memberOf _
|
* @memberOf _
|
||||||
* @since 3.0.0
|
* @since 3.0.0
|
||||||
* @category Util
|
* @category Util
|
||||||
* @param {...(Function|Function[])} [funcs] Functions to invoke.
|
* @param {...(Function|Function[])} [funcs] The functions to invoke.
|
||||||
* @returns {Function} Returns the new composite function.
|
* @returns {Function} Returns the new composite function.
|
||||||
* @see _.flowRight
|
* @see _.flowRight
|
||||||
* @example
|
* @example
|
||||||
@@ -64,7 +462,7 @@ function createFlow(fromRight) {
|
|||||||
* return n * n;
|
* return n * n;
|
||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* var addSquare = _.flow(_.add, square);
|
* var addSquare = _.flow([_.add, square]);
|
||||||
* addSquare(1, 2);
|
* addSquare(1, 2);
|
||||||
* // => 9
|
* // => 9
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "lodash.flow",
|
"name": "lodash.flow",
|
||||||
"version": "3.3.0",
|
"version": "3.4.0",
|
||||||
"description": "The lodash method `_.flow` exported as a module.",
|
"description": "The lodash method `_.flow` exported as a module.",
|
||||||
"homepage": "https://lodash.com/",
|
"homepage": "https://lodash.com/",
|
||||||
"icon": "https://lodash.com/icon.svg",
|
"icon": "https://lodash.com/icon.svg",
|
||||||
@@ -13,9 +13,5 @@
|
|||||||
"Mathias Bynens <mathias@qiwi.be> (https://mathiasbynens.be/)"
|
"Mathias Bynens <mathias@qiwi.be> (https://mathiasbynens.be/)"
|
||||||
],
|
],
|
||||||
"repository": "lodash/lodash",
|
"repository": "lodash/lodash",
|
||||||
"scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" },
|
"scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" }
|
||||||
"dependencies": {
|
|
||||||
"lodash._baseflatten": "~4.2.0",
|
|
||||||
"lodash.rest": "^4.0.0"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# lodash.flowright v3.3.0
|
# lodash.flowright v3.4.0
|
||||||
|
|
||||||
The [lodash](https://lodash.com/) method `_.flowRight` exported as a [Node.js](https://nodejs.org/) module.
|
The [lodash](https://lodash.com/) method `_.flowRight` exported as a [Node.js](https://nodejs.org/) module.
|
||||||
|
|
||||||
@@ -15,4 +15,4 @@ In Node.js:
|
|||||||
var flowRight = require('lodash.flowright');
|
var flowRight = require('lodash.flowright');
|
||||||
```
|
```
|
||||||
|
|
||||||
See the [documentation](https://lodash.com/docs#flowRight) or [package source](https://github.com/lodash/lodash/blob/3.3.0-npm-packages/lodash.flowright) for more details.
|
See the [documentation](https://lodash.com/docs#flowRight) or [package source](https://github.com/lodash/lodash/blob/3.4.0-npm-packages/lodash.flowright) for more details.
|
||||||
|
|||||||
@@ -6,12 +6,163 @@
|
|||||||
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
||||||
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
||||||
*/
|
*/
|
||||||
var baseFlatten = require('lodash._baseflatten'),
|
|
||||||
rest = require('lodash.rest');
|
|
||||||
|
|
||||||
/** Used as the `TypeError` message for "Functions" methods. */
|
/** Used as the `TypeError` message for "Functions" methods. */
|
||||||
var FUNC_ERROR_TEXT = 'Expected a function';
|
var FUNC_ERROR_TEXT = 'Expected a function';
|
||||||
|
|
||||||
|
/** Used as references for various `Number` constants. */
|
||||||
|
var MAX_SAFE_INTEGER = 9007199254740991;
|
||||||
|
|
||||||
|
/** `Object#toString` result references. */
|
||||||
|
var argsTag = '[object Arguments]',
|
||||||
|
funcTag = '[object Function]',
|
||||||
|
genTag = '[object GeneratorFunction]';
|
||||||
|
|
||||||
|
/** Detect free variable `global` from Node.js. */
|
||||||
|
var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
|
||||||
|
|
||||||
|
/** Detect free variable `self`. */
|
||||||
|
var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
|
||||||
|
|
||||||
|
/** Used as a reference to the global object. */
|
||||||
|
var root = freeGlobal || freeSelf || Function('return this')();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A faster alternative to `Function#apply`, this function invokes `func`
|
||||||
|
* with the `this` binding of `thisArg` and the arguments of `args`.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {Function} func The function to invoke.
|
||||||
|
* @param {*} thisArg The `this` binding of `func`.
|
||||||
|
* @param {Array} args The arguments to invoke `func` with.
|
||||||
|
* @returns {*} Returns the result of `func`.
|
||||||
|
*/
|
||||||
|
function apply(func, thisArg, args) {
|
||||||
|
switch (args.length) {
|
||||||
|
case 0: return func.call(thisArg);
|
||||||
|
case 1: return func.call(thisArg, args[0]);
|
||||||
|
case 2: return func.call(thisArg, args[0], args[1]);
|
||||||
|
case 3: return func.call(thisArg, args[0], args[1], args[2]);
|
||||||
|
}
|
||||||
|
return func.apply(thisArg, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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 accessor function.
|
||||||
|
*/
|
||||||
|
function baseProperty(key) {
|
||||||
|
return function(object) {
|
||||||
|
return object == null ? undefined : object[key];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Used for built-in 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 objectToString = objectProto.toString;
|
||||||
|
|
||||||
|
/** Built-in value references. */
|
||||||
|
var Symbol = root.Symbol,
|
||||||
|
propertyIsEnumerable = objectProto.propertyIsEnumerable,
|
||||||
|
spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;
|
||||||
|
|
||||||
|
/* Built-in method references for those with the same name as other `lodash` methods. */
|
||||||
|
var nativeMax = Math.max;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The base implementation of `_.flatten` with support for restricting flattening.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {Array} array The array to flatten.
|
||||||
|
* @param {number} depth The maximum recursion depth.
|
||||||
|
* @param {boolean} [predicate=isFlattenable] The function invoked per iteration.
|
||||||
|
* @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
|
||||||
|
* @param {Array} [result=[]] The initial result value.
|
||||||
|
* @returns {Array} Returns the new flattened array.
|
||||||
|
*/
|
||||||
|
function baseFlatten(array, depth, predicate, isStrict, result) {
|
||||||
|
var index = -1,
|
||||||
|
length = array.length;
|
||||||
|
|
||||||
|
predicate || (predicate = isFlattenable);
|
||||||
|
result || (result = []);
|
||||||
|
|
||||||
|
while (++index < length) {
|
||||||
|
var value = array[index];
|
||||||
|
if (depth > 0 && predicate(value)) {
|
||||||
|
if (depth > 1) {
|
||||||
|
// Recursively flatten arrays (susceptible to call stack limits).
|
||||||
|
baseFlatten(value, depth - 1, predicate, isStrict, result);
|
||||||
|
} else {
|
||||||
|
arrayPush(result, value);
|
||||||
|
}
|
||||||
|
} else if (!isStrict) {
|
||||||
|
result[result.length] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The base implementation of `_.rest` which doesn't validate or coerce arguments.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {Function} func The function to apply a rest parameter to.
|
||||||
|
* @param {number} [start=func.length-1] The start position of the rest parameter.
|
||||||
|
* @returns {Function} Returns the new function.
|
||||||
|
*/
|
||||||
|
function baseRest(func, start) {
|
||||||
|
start = nativeMax(start === undefined ? (func.length - 1) : start, 0);
|
||||||
|
return function() {
|
||||||
|
var args = arguments,
|
||||||
|
index = -1,
|
||||||
|
length = nativeMax(args.length - start, 0),
|
||||||
|
array = Array(length);
|
||||||
|
|
||||||
|
while (++index < length) {
|
||||||
|
array[index] = args[start + index];
|
||||||
|
}
|
||||||
|
index = -1;
|
||||||
|
var otherArgs = Array(start + 1);
|
||||||
|
while (++index < start) {
|
||||||
|
otherArgs[index] = args[index];
|
||||||
|
}
|
||||||
|
otherArgs[start] = array;
|
||||||
|
return apply(func, this, otherArgs);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a `_.flow` or `_.flowRight` function.
|
* Creates a `_.flow` or `_.flowRight` function.
|
||||||
*
|
*
|
||||||
@@ -20,7 +171,7 @@ var FUNC_ERROR_TEXT = 'Expected a function';
|
|||||||
* @returns {Function} Returns the new flow function.
|
* @returns {Function} Returns the new flow function.
|
||||||
*/
|
*/
|
||||||
function createFlow(fromRight) {
|
function createFlow(fromRight) {
|
||||||
return rest(function(funcs) {
|
return baseRest(function(funcs) {
|
||||||
funcs = baseFlatten(funcs, 1);
|
funcs = baseFlatten(funcs, 1);
|
||||||
|
|
||||||
var length = funcs.length,
|
var length = funcs.length,
|
||||||
@@ -46,6 +197,253 @@ function createFlow(fromRight) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is a flattenable `arguments` object or array.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is flattenable, else `false`.
|
||||||
|
*/
|
||||||
|
function isFlattenable(value) {
|
||||||
|
return isArray(value) || isArguments(value) ||
|
||||||
|
!!(spreadableSymbol && value && value[spreadableSymbol]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is likely an `arguments` object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @since 0.1.0
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is an `arguments` object,
|
||||||
|
* else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isArguments(function() { return arguments; }());
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isArguments([1, 2, 3]);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isArguments(value) {
|
||||||
|
// Safari 8.1 incorrectly makes `arguments.callee` enumerable in strict mode.
|
||||||
|
return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&
|
||||||
|
(!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is classified as an `Array` object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @since 0.1.0
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is an array, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isArray([1, 2, 3]);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isArray(document.body.children);
|
||||||
|
* // => false
|
||||||
|
*
|
||||||
|
* _.isArray('abc');
|
||||||
|
* // => false
|
||||||
|
*
|
||||||
|
* _.isArray(_.noop);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
var isArray = Array.isArray;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is array-like. A value is considered array-like if it's
|
||||||
|
* not a function and has a `value.length` that's an integer greater than or
|
||||||
|
* equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @since 4.0.0
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is array-like, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isArrayLike([1, 2, 3]);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isArrayLike(document.body.children);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isArrayLike('abc');
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isArrayLike(_.noop);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isArrayLike(value) {
|
||||||
|
return value != null && isLength(getLength(value)) && !isFunction(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is like `_.isArrayLike` except that it also checks if `value`
|
||||||
|
* is an object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @since 4.0.0
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is an array-like object,
|
||||||
|
* else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isArrayLikeObject([1, 2, 3]);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isArrayLikeObject(document.body.children);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isArrayLikeObject('abc');
|
||||||
|
* // => false
|
||||||
|
*
|
||||||
|
* _.isArrayLikeObject(_.noop);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isArrayLikeObject(value) {
|
||||||
|
return isObjectLike(value) && isArrayLike(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is classified as a `Function` object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @since 0.1.0
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is a function, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isFunction(_);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isFunction(/abc/);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isFunction(value) {
|
||||||
|
// The use of `Object#toString` avoids issues with the `typeof` operator
|
||||||
|
// in Safari 8 which returns 'object' for typed array and weak map constructors,
|
||||||
|
// and PhantomJS 1.9 which returns 'function' for `NodeList` instances.
|
||||||
|
var tag = isObject(value) ? objectToString.call(value) : '';
|
||||||
|
return tag == funcTag || tag == genTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is a valid array-like length.
|
||||||
|
*
|
||||||
|
* **Note:** This function is loosely based on
|
||||||
|
* [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @since 4.0.0
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is a valid length,
|
||||||
|
* else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isLength(3);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isLength(Number.MIN_VALUE);
|
||||||
|
* // => false
|
||||||
|
*
|
||||||
|
* _.isLength(Infinity);
|
||||||
|
* // => false
|
||||||
|
*
|
||||||
|
* _.isLength('3');
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isLength(value) {
|
||||||
|
return typeof value == 'number' &&
|
||||||
|
value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is the
|
||||||
|
* [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)
|
||||||
|
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @since 0.1.0
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is an object, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isObject({});
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isObject([1, 2, 3]);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isObject(_.noop);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isObject(null);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isObject(value) {
|
||||||
|
var type = typeof value;
|
||||||
|
return !!value && (type == 'object' || type == 'function');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is object-like. A value is object-like if it's not `null`
|
||||||
|
* and has a `typeof` result of "object".
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @since 4.0.0
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isObjectLike({});
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isObjectLike([1, 2, 3]);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isObjectLike(_.noop);
|
||||||
|
* // => false
|
||||||
|
*
|
||||||
|
* _.isObjectLike(null);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isObjectLike(value) {
|
||||||
|
return !!value && typeof value == 'object';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is like `_.flow` except that it creates a function that
|
* This method is like `_.flow` except that it creates a function that
|
||||||
* invokes the given functions from right to left.
|
* invokes the given functions from right to left.
|
||||||
@@ -54,7 +452,7 @@ function createFlow(fromRight) {
|
|||||||
* @since 3.0.0
|
* @since 3.0.0
|
||||||
* @memberOf _
|
* @memberOf _
|
||||||
* @category Util
|
* @category Util
|
||||||
* @param {...(Function|Function[])} [funcs] Functions to invoke.
|
* @param {...(Function|Function[])} [funcs] The functions to invoke.
|
||||||
* @returns {Function} Returns the new composite function.
|
* @returns {Function} Returns the new composite function.
|
||||||
* @see _.flow
|
* @see _.flow
|
||||||
* @example
|
* @example
|
||||||
@@ -63,7 +461,7 @@ function createFlow(fromRight) {
|
|||||||
* return n * n;
|
* return n * n;
|
||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* var addSquare = _.flowRight(square, _.add);
|
* var addSquare = _.flowRight([square, _.add]);
|
||||||
* addSquare(1, 2);
|
* addSquare(1, 2);
|
||||||
* // => 9
|
* // => 9
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "lodash.flowright",
|
"name": "lodash.flowright",
|
||||||
"version": "3.3.0",
|
"version": "3.4.0",
|
||||||
"description": "The lodash method `_.flowRight` exported as a module.",
|
"description": "The lodash method `_.flowRight` exported as a module.",
|
||||||
"homepage": "https://lodash.com/",
|
"homepage": "https://lodash.com/",
|
||||||
"icon": "https://lodash.com/icon.svg",
|
"icon": "https://lodash.com/icon.svg",
|
||||||
@@ -13,9 +13,5 @@
|
|||||||
"Mathias Bynens <mathias@qiwi.be> (https://mathiasbynens.be/)"
|
"Mathias Bynens <mathias@qiwi.be> (https://mathiasbynens.be/)"
|
||||||
],
|
],
|
||||||
"repository": "lodash/lodash",
|
"repository": "lodash/lodash",
|
||||||
"scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" },
|
"scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" }
|
||||||
"dependencies": {
|
|
||||||
"lodash._baseflatten": "~4.2.0",
|
|
||||||
"lodash.rest": "^4.0.0"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# lodash.inrange v3.3.4
|
# lodash.inrange v3.3.6
|
||||||
|
|
||||||
The [lodash](https://lodash.com/) method `_.inRange` exported as a [Node.js](https://nodejs.org/) module.
|
The [lodash](https://lodash.com/) method `_.inRange` exported as a [Node.js](https://nodejs.org/) module.
|
||||||
|
|
||||||
@@ -15,4 +15,4 @@ In Node.js:
|
|||||||
var inRange = require('lodash.inrange');
|
var inRange = require('lodash.inrange');
|
||||||
```
|
```
|
||||||
|
|
||||||
See the [documentation](https://lodash.com/docs#inRange) or [package source](https://github.com/lodash/lodash/blob/3.3.4-npm-packages/lodash.inrange) for more details.
|
See the [documentation](https://lodash.com/docs#inRange) or [package source](https://github.com/lodash/lodash/blob/3.3.6-npm-packages/lodash.inrange) for more details.
|
||||||
|
|||||||
@@ -8,12 +8,12 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/** Used as references for various `Number` constants. */
|
/** Used as references for various `Number` constants. */
|
||||||
var NAN = 0 / 0;
|
var INFINITY = 1 / 0,
|
||||||
|
MAX_INTEGER = 1.7976931348623157e+308,
|
||||||
|
NAN = 0 / 0;
|
||||||
|
|
||||||
/** `Object#toString` result references. */
|
/** `Object#toString` result references. */
|
||||||
var funcTag = '[object Function]',
|
var symbolTag = '[object Symbol]';
|
||||||
genTag = '[object GeneratorFunction]',
|
|
||||||
symbolTag = '[object Symbol]';
|
|
||||||
|
|
||||||
/** Used to match leading and trailing whitespace. */
|
/** Used to match leading and trailing whitespace. */
|
||||||
var reTrim = /^\s+|\s+$/g;
|
var reTrim = /^\s+|\s+$/g;
|
||||||
@@ -35,7 +35,7 @@ var objectProto = Object.prototype;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to resolve the
|
* Used to resolve the
|
||||||
* [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
|
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
||||||
* of values.
|
* of values.
|
||||||
*/
|
*/
|
||||||
var objectToString = objectProto.toString;
|
var objectToString = objectProto.toString;
|
||||||
@@ -57,34 +57,9 @@ function baseInRange(number, start, end) {
|
|||||||
return number >= nativeMin(start, end) && number < nativeMax(start, end);
|
return number >= nativeMin(start, end) && number < nativeMax(start, end);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks if `value` is classified as a `Function` object.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
* @memberOf _
|
|
||||||
* @since 0.1.0
|
|
||||||
* @category Lang
|
|
||||||
* @param {*} value The value to check.
|
|
||||||
* @returns {boolean} Returns `true` if `value` is a function, else `false`.
|
|
||||||
* @example
|
|
||||||
*
|
|
||||||
* _.isFunction(_);
|
|
||||||
* // => true
|
|
||||||
*
|
|
||||||
* _.isFunction(/abc/);
|
|
||||||
* // => false
|
|
||||||
*/
|
|
||||||
function isFunction(value) {
|
|
||||||
// The use of `Object#toString` avoids issues with the `typeof` operator
|
|
||||||
// in Safari 8 which returns 'object' for typed array and weak map constructors,
|
|
||||||
// and PhantomJS 1.9 which returns 'function' for `NodeList` instances.
|
|
||||||
var tag = isObject(value) ? objectToString.call(value) : '';
|
|
||||||
return tag == funcTag || tag == genTag;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if `value` is the
|
* Checks if `value` is the
|
||||||
* [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)
|
* [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
|
||||||
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
@@ -162,6 +137,41 @@ function isSymbol(value) {
|
|||||||
(isObjectLike(value) && objectToString.call(value) == symbolTag);
|
(isObjectLike(value) && objectToString.call(value) == symbolTag);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts `value` to a finite number.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @since 4.12.0
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to convert.
|
||||||
|
* @returns {number} Returns the converted number.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.toFinite(3.2);
|
||||||
|
* // => 3.2
|
||||||
|
*
|
||||||
|
* _.toFinite(Number.MIN_VALUE);
|
||||||
|
* // => 5e-324
|
||||||
|
*
|
||||||
|
* _.toFinite(Infinity);
|
||||||
|
* // => 1.7976931348623157e+308
|
||||||
|
*
|
||||||
|
* _.toFinite('3.2');
|
||||||
|
* // => 3.2
|
||||||
|
*/
|
||||||
|
function toFinite(value) {
|
||||||
|
if (!value) {
|
||||||
|
return value === 0 ? value : 0;
|
||||||
|
}
|
||||||
|
value = toNumber(value);
|
||||||
|
if (value === INFINITY || value === -INFINITY) {
|
||||||
|
var sign = (value < 0 ? -1 : 1);
|
||||||
|
return sign * MAX_INTEGER;
|
||||||
|
}
|
||||||
|
return value === value ? value : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts `value` to a number.
|
* Converts `value` to a number.
|
||||||
*
|
*
|
||||||
@@ -193,7 +203,7 @@ function toNumber(value) {
|
|||||||
return NAN;
|
return NAN;
|
||||||
}
|
}
|
||||||
if (isObject(value)) {
|
if (isObject(value)) {
|
||||||
var other = isFunction(value.valueOf) ? value.valueOf() : value;
|
var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
|
||||||
value = isObject(other) ? (other + '') : other;
|
value = isObject(other) ? (other + '') : other;
|
||||||
}
|
}
|
||||||
if (typeof value != 'string') {
|
if (typeof value != 'string') {
|
||||||
@@ -245,12 +255,12 @@ function toNumber(value) {
|
|||||||
* // => true
|
* // => true
|
||||||
*/
|
*/
|
||||||
function inRange(number, start, end) {
|
function inRange(number, start, end) {
|
||||||
start = toNumber(start) || 0;
|
start = toFinite(start);
|
||||||
if (end === undefined) {
|
if (end === undefined) {
|
||||||
end = start;
|
end = start;
|
||||||
start = 0;
|
start = 0;
|
||||||
} else {
|
} else {
|
||||||
end = toNumber(end) || 0;
|
end = toFinite(end);
|
||||||
}
|
}
|
||||||
number = toNumber(number);
|
number = toNumber(number);
|
||||||
return baseInRange(number, start, end);
|
return baseInRange(number, start, end);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "lodash.inrange",
|
"name": "lodash.inrange",
|
||||||
"version": "3.3.4",
|
"version": "3.3.6",
|
||||||
"description": "The lodash method `_.inRange` exported as a module.",
|
"description": "The lodash method `_.inRange` exported as a module.",
|
||||||
"homepage": "https://lodash.com/",
|
"homepage": "https://lodash.com/",
|
||||||
"icon": "https://lodash.com/icon.svg",
|
"icon": "https://lodash.com/icon.svg",
|
||||||
|
|||||||
22
lodash.max/LICENSE
Normal file
22
lodash.max/LICENSE
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
|
||||||
|
Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
|
||||||
|
DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||||
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# lodash.max v3.3.1
|
# lodash.max v3.4.0
|
||||||
|
|
||||||
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.max` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
|
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.max` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
|
||||||
|
|
||||||
@@ -17,4 +17,4 @@ In Node.js/io.js:
|
|||||||
var max = require('lodash.max');
|
var max = require('lodash.max');
|
||||||
```
|
```
|
||||||
|
|
||||||
See the [documentation](https://lodash.com/docs#max) or [package source](https://github.com/lodash/lodash/blob/3.3.1-npm-packages/lodash.max) for more details.
|
See the [documentation](https://lodash.com/docs#max) or [package source](https://github.com/lodash/lodash/blob/3.4.0-npm-packages/lodash.max) for more details.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* lodash 3.3.1 (Custom Build) <https://lodash.com/>
|
* lodash 3.4.0 (Custom Build) <https://lodash.com/>
|
||||||
* Build: `lodash modern modularize exports="npm" -o ./`
|
* Build: `lodash modern modularize exports="npm" -o ./`
|
||||||
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
|
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
|
||||||
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
||||||
@@ -10,7 +10,8 @@ var baseCallback = require('lodash._basecallback'),
|
|||||||
baseEach = require('lodash._baseeach'),
|
baseEach = require('lodash._baseeach'),
|
||||||
isIterateeCall = require('lodash._isiterateecall'),
|
isIterateeCall = require('lodash._isiterateecall'),
|
||||||
toIterable = require('lodash._toiterable'),
|
toIterable = require('lodash._toiterable'),
|
||||||
gt = require('lodash.gt');
|
gt = require('lodash.gt'),
|
||||||
|
isArray = require('lodash.isarray');
|
||||||
|
|
||||||
/** Used as references for `-Infinity` and `Infinity`. */
|
/** Used as references for `-Infinity` and `Infinity`. */
|
||||||
var NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY;
|
var NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY;
|
||||||
@@ -81,11 +82,11 @@ function baseExtremum(collection, iteratee, comparator, exValue) {
|
|||||||
function createExtremum(comparator, exValue) {
|
function createExtremum(comparator, exValue) {
|
||||||
return function(collection, iteratee, thisArg) {
|
return function(collection, iteratee, thisArg) {
|
||||||
if (thisArg && isIterateeCall(collection, iteratee, thisArg)) {
|
if (thisArg && isIterateeCall(collection, iteratee, thisArg)) {
|
||||||
iteratee = null;
|
iteratee = undefined;
|
||||||
}
|
}
|
||||||
iteratee = baseCallback(iteratee, thisArg, 3);
|
iteratee = baseCallback(iteratee, thisArg, 3);
|
||||||
if (iteratee.length == 1) {
|
if (iteratee.length == 1) {
|
||||||
collection = toIterable(collection);
|
collection = isArray(collection) ? collection : toIterable(collection);
|
||||||
var result = arrayExtremum(collection, iteratee, comparator, exValue);
|
var result = arrayExtremum(collection, iteratee, comparator, exValue);
|
||||||
if (!(collection.length && result === exValue)) {
|
if (!(collection.length && result === exValue)) {
|
||||||
return result;
|
return result;
|
||||||
@@ -97,7 +98,7 @@ function createExtremum(comparator, exValue) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the maximum value of `collection`. If `collection` is empty or falsey
|
* Gets the maximum value of `collection`. If `collection` is empty or falsey
|
||||||
* `-Infinity` is returned. If an iteratee function is provided it is invoked
|
* `-Infinity` is returned. If an iteratee function is provided it's invoked
|
||||||
* for each value in `collection` to generate the criterion by which the value
|
* for each value in `collection` to generate the criterion by which the value
|
||||||
* is ranked. The `iteratee` is bound to `thisArg` and invoked with three
|
* is ranked. The `iteratee` is bound to `thisArg` and invoked with three
|
||||||
* arguments: (value, index, collection).
|
* arguments: (value, index, collection).
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "lodash.max",
|
"name": "lodash.max",
|
||||||
"version": "3.3.1",
|
"version": "3.4.0",
|
||||||
"description": "The modern build of lodash’s `_.max` as a module.",
|
"description": "The modern build of lodash’s `_.max` as a module.",
|
||||||
"homepage": "https://lodash.com/",
|
"homepage": "https://lodash.com/",
|
||||||
"icon": "https://lodash.com/icon.svg",
|
"icon": "https://lodash.com/icon.svg",
|
||||||
@@ -22,6 +22,7 @@
|
|||||||
"lodash._isiterateecall": "^3.0.0",
|
"lodash._isiterateecall": "^3.0.0",
|
||||||
"lodash._toiterable": "^3.0.0",
|
"lodash._toiterable": "^3.0.0",
|
||||||
"lodash.gt": "^3.0.0",
|
"lodash.gt": "^3.0.0",
|
||||||
|
"lodash.isarray": "^3.0.0",
|
||||||
"lodash.keys": "^3.0.0"
|
"lodash.keys": "^3.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
22
lodash.min/LICENSE
Normal file
22
lodash.min/LICENSE
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
|
||||||
|
Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
|
||||||
|
DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||||
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# lodash.min v3.3.1
|
# lodash.min v3.4.0
|
||||||
|
|
||||||
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.min` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
|
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.min` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
|
||||||
|
|
||||||
@@ -17,4 +17,4 @@ In Node.js/io.js:
|
|||||||
var min = require('lodash.min');
|
var min = require('lodash.min');
|
||||||
```
|
```
|
||||||
|
|
||||||
See the [documentation](https://lodash.com/docs#min) or [package source](https://github.com/lodash/lodash/blob/3.3.1-npm-packages/lodash.min) for more details.
|
See the [documentation](https://lodash.com/docs#min) or [package source](https://github.com/lodash/lodash/blob/3.4.0-npm-packages/lodash.min) for more details.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* lodash 3.3.1 (Custom Build) <https://lodash.com/>
|
* lodash 3.4.0 (Custom Build) <https://lodash.com/>
|
||||||
* Build: `lodash modern modularize exports="npm" -o ./`
|
* Build: `lodash modern modularize exports="npm" -o ./`
|
||||||
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
|
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
|
||||||
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
||||||
@@ -10,6 +10,7 @@ var baseCallback = require('lodash._basecallback'),
|
|||||||
baseEach = require('lodash._baseeach'),
|
baseEach = require('lodash._baseeach'),
|
||||||
isIterateeCall = require('lodash._isiterateecall'),
|
isIterateeCall = require('lodash._isiterateecall'),
|
||||||
toIterable = require('lodash._toiterable'),
|
toIterable = require('lodash._toiterable'),
|
||||||
|
isArray = require('lodash.isarray'),
|
||||||
lt = require('lodash.lt');
|
lt = require('lodash.lt');
|
||||||
|
|
||||||
/** Used as references for `-Infinity` and `Infinity`. */
|
/** Used as references for `-Infinity` and `Infinity`. */
|
||||||
@@ -81,11 +82,11 @@ function baseExtremum(collection, iteratee, comparator, exValue) {
|
|||||||
function createExtremum(comparator, exValue) {
|
function createExtremum(comparator, exValue) {
|
||||||
return function(collection, iteratee, thisArg) {
|
return function(collection, iteratee, thisArg) {
|
||||||
if (thisArg && isIterateeCall(collection, iteratee, thisArg)) {
|
if (thisArg && isIterateeCall(collection, iteratee, thisArg)) {
|
||||||
iteratee = null;
|
iteratee = undefined;
|
||||||
}
|
}
|
||||||
iteratee = baseCallback(iteratee, thisArg, 3);
|
iteratee = baseCallback(iteratee, thisArg, 3);
|
||||||
if (iteratee.length == 1) {
|
if (iteratee.length == 1) {
|
||||||
collection = toIterable(collection);
|
collection = isArray(collection) ? collection : toIterable(collection);
|
||||||
var result = arrayExtremum(collection, iteratee, comparator, exValue);
|
var result = arrayExtremum(collection, iteratee, comparator, exValue);
|
||||||
if (!(collection.length && result === exValue)) {
|
if (!(collection.length && result === exValue)) {
|
||||||
return result;
|
return result;
|
||||||
@@ -97,7 +98,7 @@ function createExtremum(comparator, exValue) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the minimum value of `collection`. If `collection` is empty or falsey
|
* Gets the minimum value of `collection`. If `collection` is empty or falsey
|
||||||
* `Infinity` is returned. If an iteratee function is provided it is invoked
|
* `Infinity` is returned. If an iteratee function is provided it's invoked
|
||||||
* for each value in `collection` to generate the criterion by which the value
|
* for each value in `collection` to generate the criterion by which the value
|
||||||
* is ranked. The `iteratee` is bound to `thisArg` and invoked with three
|
* is ranked. The `iteratee` is bound to `thisArg` and invoked with three
|
||||||
* arguments: (value, index, collection).
|
* arguments: (value, index, collection).
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "lodash.min",
|
"name": "lodash.min",
|
||||||
"version": "3.3.1",
|
"version": "3.4.0",
|
||||||
"description": "The modern build of lodash’s `_.min` as a module.",
|
"description": "The modern build of lodash’s `_.min` as a module.",
|
||||||
"homepage": "https://lodash.com/",
|
"homepage": "https://lodash.com/",
|
||||||
"icon": "https://lodash.com/icon.svg",
|
"icon": "https://lodash.com/icon.svg",
|
||||||
@@ -21,6 +21,7 @@
|
|||||||
"lodash._baseeach": "^3.0.0",
|
"lodash._baseeach": "^3.0.0",
|
||||||
"lodash._isiterateecall": "^3.0.0",
|
"lodash._isiterateecall": "^3.0.0",
|
||||||
"lodash._toiterable": "^3.0.0",
|
"lodash._toiterable": "^3.0.0",
|
||||||
|
"lodash.isarray": "^3.0.0",
|
||||||
"lodash.keys": "^3.0.0",
|
"lodash.keys": "^3.0.0",
|
||||||
"lodash.lt": "^3.0.0"
|
"lodash.lt": "^3.0.0"
|
||||||
}
|
}
|
||||||
|
|||||||
22
lodash.sortbyorder/LICENSE.txt
Normal file
22
lodash.sortbyorder/LICENSE.txt
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
|
||||||
|
Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
|
||||||
|
DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||||
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
20
lodash.sortbyorder/README.md
Normal file
20
lodash.sortbyorder/README.md
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# lodash.sortbyorder v3.4.2
|
||||||
|
|
||||||
|
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.sortByOrder` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Using npm:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ {sudo -H} npm i -g npm
|
||||||
|
$ npm i --save lodash.sortbyorder
|
||||||
|
```
|
||||||
|
|
||||||
|
In Node.js/io.js:
|
||||||
|
|
||||||
|
```js
|
||||||
|
var sortByOrder = require('lodash.sortbyorder');
|
||||||
|
```
|
||||||
|
|
||||||
|
See the [documentation](https://lodash.com/docs#sortByOrder) or [package source](https://github.com/lodash/lodash/blob/3.4.2-npm-packages/lodash.sortbyorder) for more details.
|
||||||
64
lodash.sortbyorder/index.js
Normal file
64
lodash.sortbyorder/index.js
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
/**
|
||||||
|
* lodash 3.4.2 (Custom Build) <https://lodash.com/>
|
||||||
|
* Build: `lodash modern modularize exports="npm" -o ./`
|
||||||
|
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
|
||||||
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
||||||
|
* Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
||||||
|
* Available under MIT license <https://lodash.com/license>
|
||||||
|
*/
|
||||||
|
var baseEach = require('lodash._baseeach'),
|
||||||
|
baseSortByOrder = require('lodash._basesortbyorder'),
|
||||||
|
isIterateeCall = require('lodash._isiterateecall'),
|
||||||
|
isArray = require('lodash.isarray');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is like `_.sortByAll` except that it allows specifying the
|
||||||
|
* sort orders of the iteratees to sort by. A truthy value in `orders` will
|
||||||
|
* sort the corresponding property name in ascending order while a falsey
|
||||||
|
* value will sort it in descending order.
|
||||||
|
*
|
||||||
|
* If a property name is provided for an iteratee the created `_.property`
|
||||||
|
* style callback returns the property value of the given element.
|
||||||
|
*
|
||||||
|
* If an object is provided for an iteratee the created `_.matches` style
|
||||||
|
* callback returns `true` for elements that have the properties of the given
|
||||||
|
* object, else `false`.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Collection
|
||||||
|
* @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`.
|
||||||
|
* @param- {Object} [guard] Enables use as a callback for functions like `_.reduce`.
|
||||||
|
* @returns {Array} Returns the new sorted array.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* var users = [
|
||||||
|
* { 'user': 'fred', 'age': 48 },
|
||||||
|
* { 'user': 'barney', 'age': 34 },
|
||||||
|
* { 'user': 'fred', 'age': 42 },
|
||||||
|
* { 'user': 'barney', 'age': 36 }
|
||||||
|
* ];
|
||||||
|
*
|
||||||
|
* // sort by `user` in ascending order and by `age` in descending order
|
||||||
|
* _.map(_.sortByOrder(users, ['user', 'age'], [true, false]), _.values);
|
||||||
|
* // => [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]]
|
||||||
|
*/
|
||||||
|
function sortByOrder(collection, iteratees, orders, guard) {
|
||||||
|
if (collection == null) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
if (guard && isIterateeCall(iteratees, orders, guard)) {
|
||||||
|
orders = null;
|
||||||
|
}
|
||||||
|
if (!isArray(iteratees)) {
|
||||||
|
iteratees = iteratees == null ? [] : [iteratees];
|
||||||
|
}
|
||||||
|
if (!isArray(orders)) {
|
||||||
|
orders = orders == null ? [] : [orders];
|
||||||
|
}
|
||||||
|
return baseSortByOrder(collection, iteratees, orders);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = sortByOrder;
|
||||||
25
lodash.sortbyorder/package.json
Normal file
25
lodash.sortbyorder/package.json
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"name": "lodash.sortbyorder",
|
||||||
|
"version": "3.4.2",
|
||||||
|
"description": "The modern build of lodash’s `_.sortByOrder` as a module.",
|
||||||
|
"homepage": "https://lodash.com/",
|
||||||
|
"icon": "https://lodash.com/icon.svg",
|
||||||
|
"license": "MIT",
|
||||||
|
"keywords": "lodash, lodash-modularized, stdlib, util",
|
||||||
|
"author": "John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)",
|
||||||
|
"contributors": [
|
||||||
|
"John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)",
|
||||||
|
"Benjamin Tan <demoneaux@gmail.com> (https://d10.github.io/)",
|
||||||
|
"Blaine Bublitz <blaine@iceddev.com> (http://www.iceddev.com/)",
|
||||||
|
"Kit Cambridge <github@kitcambridge.be> (http://kitcambridge.be/)",
|
||||||
|
"Mathias Bynens <mathias@qiwi.be> (https://mathiasbynens.be/)"
|
||||||
|
],
|
||||||
|
"repository": "lodash/lodash",
|
||||||
|
"scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" },
|
||||||
|
"dependencies": {
|
||||||
|
"lodash._baseeach": "^3.0.0",
|
||||||
|
"lodash._basesortbyorder": "^3.0.0",
|
||||||
|
"lodash._isiterateecall": "^3.0.0",
|
||||||
|
"lodash.isarray": "^3.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
22
lodash.sum/LICENSE.txt
Normal file
22
lodash.sum/LICENSE.txt
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
|
||||||
|
Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
|
||||||
|
DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||||
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
20
lodash.sum/README.md
Normal file
20
lodash.sum/README.md
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# lodash.sum v3.4.0
|
||||||
|
|
||||||
|
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.sum` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Using npm:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ {sudo -H} npm i -g npm
|
||||||
|
$ npm i --save lodash.sum
|
||||||
|
```
|
||||||
|
|
||||||
|
In Node.js/io.js:
|
||||||
|
|
||||||
|
```js
|
||||||
|
var sum = require('lodash.sum');
|
||||||
|
```
|
||||||
|
|
||||||
|
See the [documentation](https://lodash.com/docs#sum) or [package source](https://github.com/lodash/lodash/blob/3.4.0-npm-packages/lodash.sum) for more details.
|
||||||
41
lodash.sum/index.js
Normal file
41
lodash.sum/index.js
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
/**
|
||||||
|
* lodash 3.4.0 (Custom Build) <https://lodash.com/>
|
||||||
|
* Build: `lodash modern modularize exports="npm" -o ./`
|
||||||
|
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
|
||||||
|
* Based on Underscore.js 1.8.2 <http://underscorejs.org/LICENSE>
|
||||||
|
* Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
||||||
|
* Available under MIT license <https://lodash.com/license>
|
||||||
|
*/
|
||||||
|
var toIterable = require('lodash._toiterable'),
|
||||||
|
isArray = require('lodash.isarray');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the sum of the values in `collection`.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Math
|
||||||
|
* @param {Array|Object|string} collection The collection to iterate over.
|
||||||
|
* @returns {number} Returns the sum.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.sum([4, 6, 2]);
|
||||||
|
* // => 12
|
||||||
|
*
|
||||||
|
* _.sum({ 'a': 4, 'b': 6, 'c': 2 });
|
||||||
|
* // => 12
|
||||||
|
*/
|
||||||
|
function sum(collection) {
|
||||||
|
if (!isArray(collection)) {
|
||||||
|
collection = toIterable(collection);
|
||||||
|
}
|
||||||
|
var length = collection.length,
|
||||||
|
result = 0;
|
||||||
|
|
||||||
|
while (length--) {
|
||||||
|
result += +collection[length] || 0;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = sum;
|
||||||
23
lodash.sum/package.json
Normal file
23
lodash.sum/package.json
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"name": "lodash.sum",
|
||||||
|
"version": "3.4.0",
|
||||||
|
"description": "The modern build of lodash’s `_.sum` as a module.",
|
||||||
|
"homepage": "https://lodash.com/",
|
||||||
|
"icon": "https://lodash.com/icon.svg",
|
||||||
|
"license": "MIT",
|
||||||
|
"keywords": "lodash, lodash-modularized, stdlib, util",
|
||||||
|
"author": "John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)",
|
||||||
|
"contributors": [
|
||||||
|
"John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)",
|
||||||
|
"Benjamin Tan <demoneaux@gmail.com> (https://d10.github.io/)",
|
||||||
|
"Blaine Bublitz <blaine@iceddev.com> (http://www.iceddev.com/)",
|
||||||
|
"Kit Cambridge <github@kitcambridge.be> (http://kitcambridge.be/)",
|
||||||
|
"Mathias Bynens <mathias@qiwi.be> (https://mathiasbynens.be/)"
|
||||||
|
],
|
||||||
|
"repository": "lodash/lodash",
|
||||||
|
"scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" },
|
||||||
|
"dependencies": {
|
||||||
|
"lodash._toiterable": "^3.0.0",
|
||||||
|
"lodash.isarray": "^3.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# lodash.template v3.3.2
|
# lodash.template v3.4.0
|
||||||
|
|
||||||
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.template` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
|
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.template` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
|
||||||
|
|
||||||
@@ -17,4 +17,4 @@ In Node.js/io.js:
|
|||||||
var template = require('lodash.template');
|
var template = require('lodash.template');
|
||||||
```
|
```
|
||||||
|
|
||||||
See the [documentation](https://lodash.com/docs#template) or [package source](https://github.com/lodash/lodash/blob/3.3.2-npm-packages/lodash.template) for more details.
|
See the [documentation](https://lodash.com/docs#template) or [package source](https://github.com/lodash/lodash/blob/3.4.0-npm-packages/lodash.template) for more details.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* lodash 3.3.2 (Custom Build) <https://lodash.com/>
|
* lodash 3.4.0 (Custom Build) <https://lodash.com/>
|
||||||
* Build: `lodash modern modularize exports="npm" -o ./`
|
* Build: `lodash modern modularize exports="npm" -o ./`
|
||||||
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
|
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
|
||||||
* Based on Underscore.js 1.8.2 <http://underscorejs.org/LICENSE>
|
* Based on Underscore.js 1.8.2 <http://underscorejs.org/LICENSE>
|
||||||
@@ -13,6 +13,7 @@ var baseCopy = require('lodash._basecopy'),
|
|||||||
reInterpolate = require('lodash._reinterpolate'),
|
reInterpolate = require('lodash._reinterpolate'),
|
||||||
escape = require('lodash.escape'),
|
escape = require('lodash.escape'),
|
||||||
keys = require('lodash.keys'),
|
keys = require('lodash.keys'),
|
||||||
|
restParam = require('lodash.restparam'),
|
||||||
templateSettings = require('lodash.templatesettings');
|
templateSettings = require('lodash.templatesettings');
|
||||||
|
|
||||||
/** `Object#toString` result references. */
|
/** `Object#toString` result references. */
|
||||||
@@ -24,9 +25,7 @@ var reEmptyStringLeading = /\b__p \+= '';/g,
|
|||||||
reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g;
|
reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to match ES template delimiters.
|
* Used to match [ES template delimiters](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-template-literal-lexical-components).
|
||||||
* See the [ES spec](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-template-literal-lexical-components)
|
|
||||||
* for more details.
|
|
||||||
*/
|
*/
|
||||||
var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
|
var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
|
||||||
|
|
||||||
@@ -66,7 +65,7 @@ function escapeStringChar(chr) {
|
|||||||
* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
|
* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
|
||||||
*/
|
*/
|
||||||
function isObjectLike(value) {
|
function isObjectLike(value) {
|
||||||
return (value && typeof value == 'object') || false;
|
return !!value && typeof value == 'object';
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Used for native method references. */
|
/** Used for native method references. */
|
||||||
@@ -76,9 +75,8 @@ var objectProto = Object.prototype;
|
|||||||
var hasOwnProperty = objectProto.hasOwnProperty;
|
var hasOwnProperty = objectProto.hasOwnProperty;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to resolve the `toStringTag` of values.
|
* Used to resolve the [`toStringTag`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.prototype.tostring)
|
||||||
* See the [ES spec](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.prototype.tostring)
|
* of values.
|
||||||
* for more details.
|
|
||||||
*/
|
*/
|
||||||
var objToString = objectProto.toString;
|
var objToString = objectProto.toString;
|
||||||
|
|
||||||
@@ -150,7 +148,7 @@ function baseAssign(object, source, customizer) {
|
|||||||
* // => false
|
* // => false
|
||||||
*/
|
*/
|
||||||
function isError(value) {
|
function isError(value) {
|
||||||
return (isObjectLike(value) && typeof value.message == 'string' && objToString.call(value) == errorTag) || false;
|
return isObjectLike(value) && typeof value.message == 'string' && objToString.call(value) == errorTag;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -160,9 +158,9 @@ function isError(value) {
|
|||||||
* properties may be accessed as free variables in the template. If a setting
|
* properties may be accessed as free variables in the template. If a setting
|
||||||
* object is provided it takes precedence over `_.templateSettings` values.
|
* object is provided it takes precedence over `_.templateSettings` values.
|
||||||
*
|
*
|
||||||
* **Note:** In the development build `_.template` utilizes sourceURLs for easier debugging.
|
* **Note:** In the development build `_.template` utilizes
|
||||||
* See the [HTML5 Rocks article on sourcemaps](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)
|
* [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)
|
||||||
* for more details.
|
* for easier debugging.
|
||||||
*
|
*
|
||||||
* For more information on precompiling templates see
|
* For more information on precompiling templates see
|
||||||
* [lodash's custom builds documentation](https://lodash.com/custom-builds).
|
* [lodash's custom builds documentation](https://lodash.com/custom-builds).
|
||||||
@@ -358,7 +356,7 @@ function template(string, options, otherOptions) {
|
|||||||
* @static
|
* @static
|
||||||
* @memberOf _
|
* @memberOf _
|
||||||
* @category Utility
|
* @category Utility
|
||||||
* @param {*} func The function to attempt.
|
* @param {Function} func The function to attempt.
|
||||||
* @returns {*} Returns the `func` result or error object.
|
* @returns {*} Returns the `func` result or error object.
|
||||||
* @example
|
* @example
|
||||||
*
|
*
|
||||||
@@ -371,19 +369,12 @@ function template(string, options, otherOptions) {
|
|||||||
* elements = [];
|
* elements = [];
|
||||||
* }
|
* }
|
||||||
*/
|
*/
|
||||||
function attempt() {
|
var attempt = restParam(function(func, args) {
|
||||||
var func = arguments[0],
|
|
||||||
length = arguments.length,
|
|
||||||
args = Array(length ? (length - 1) : 0);
|
|
||||||
|
|
||||||
while (--length > 0) {
|
|
||||||
args[length - 1] = arguments[length];
|
|
||||||
}
|
|
||||||
try {
|
try {
|
||||||
return func.apply(undefined, args);
|
return func.apply(undefined, args);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
return isError(e) ? e : new Error(e);
|
return isError(e) ? e : new Error(e);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
module.exports = template;
|
module.exports = template;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "lodash.template",
|
"name": "lodash.template",
|
||||||
"version": "3.3.2",
|
"version": "3.4.0",
|
||||||
"description": "The modern build of lodash’s `_.template` as a module.",
|
"description": "The modern build of lodash’s `_.template` as a module.",
|
||||||
"homepage": "https://lodash.com/",
|
"homepage": "https://lodash.com/",
|
||||||
"icon": "https://lodash.com/icon.svg",
|
"icon": "https://lodash.com/icon.svg",
|
||||||
@@ -24,6 +24,7 @@
|
|||||||
"lodash._reinterpolate": "^3.0.0",
|
"lodash._reinterpolate": "^3.0.0",
|
||||||
"lodash.escape": "^3.0.0",
|
"lodash.escape": "^3.0.0",
|
||||||
"lodash.keys": "^3.0.0",
|
"lodash.keys": "^3.0.0",
|
||||||
|
"lodash.restparam": "^3.0.0",
|
||||||
"lodash.templatesettings": "^3.0.0"
|
"lodash.templatesettings": "^3.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# lodash.unzip v3.3.2
|
# lodash.unzip v3.4.0
|
||||||
|
|
||||||
The [lodash](https://lodash.com/) method `_.unzip` exported as a [Node.js](https://nodejs.org/) module.
|
The [lodash](https://lodash.com/) method `_.unzip` exported as a [Node.js](https://nodejs.org/) module.
|
||||||
|
|
||||||
@@ -15,4 +15,4 @@ In Node.js:
|
|||||||
var unzip = require('lodash.unzip');
|
var unzip = require('lodash.unzip');
|
||||||
```
|
```
|
||||||
|
|
||||||
See the [documentation](https://lodash.com/docs#unzip) or [package source](https://github.com/lodash/lodash/blob/3.3.2-npm-packages/lodash.unzip) for more details.
|
See the [documentation](https://lodash.com/docs#unzip) or [package source](https://github.com/lodash/lodash/blob/3.4.0-npm-packages/lodash.unzip) for more details.
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ var objectProto = Object.prototype;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to resolve the
|
* Used to resolve the
|
||||||
* [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
|
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
||||||
* of values.
|
* of values.
|
||||||
*/
|
*/
|
||||||
var objectToString = objectProto.toString;
|
var objectToString = objectProto.toString;
|
||||||
@@ -103,19 +103,6 @@ var objectToString = objectProto.toString;
|
|||||||
/* Built-in method references for those with the same name as other `lodash` methods. */
|
/* Built-in method references for those with the same name as other `lodash` methods. */
|
||||||
var nativeMax = Math.max;
|
var nativeMax = Math.max;
|
||||||
|
|
||||||
/**
|
|
||||||
* 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');
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is like `_.zip` except that it accepts an array of grouped
|
* This method is like `_.zip` except that it accepts an array of grouped
|
||||||
* elements and creates an array regrouping the elements to their pre-zip
|
* elements and creates an array regrouping the elements to their pre-zip
|
||||||
@@ -177,7 +164,7 @@ function unzip(array) {
|
|||||||
* // => false
|
* // => false
|
||||||
*/
|
*/
|
||||||
function isArrayLike(value) {
|
function isArrayLike(value) {
|
||||||
return value != null && isLength(getLength(value)) && !isFunction(value);
|
return value != null && isLength(value.length) && !isFunction(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -228,8 +215,7 @@ function isArrayLikeObject(value) {
|
|||||||
*/
|
*/
|
||||||
function isFunction(value) {
|
function isFunction(value) {
|
||||||
// The use of `Object#toString` avoids issues with the `typeof` operator
|
// The use of `Object#toString` avoids issues with the `typeof` operator
|
||||||
// in Safari 8 which returns 'object' for typed array and weak map constructors,
|
// in Safari 8-9 which returns 'object' for typed array and other constructors.
|
||||||
// and PhantomJS 1.9 which returns 'function' for `NodeList` instances.
|
|
||||||
var tag = isObject(value) ? objectToString.call(value) : '';
|
var tag = isObject(value) ? objectToString.call(value) : '';
|
||||||
return tag == funcTag || tag == genTag;
|
return tag == funcTag || tag == genTag;
|
||||||
}
|
}
|
||||||
@@ -237,16 +223,15 @@ function isFunction(value) {
|
|||||||
/**
|
/**
|
||||||
* Checks if `value` is a valid array-like length.
|
* Checks if `value` is a valid array-like length.
|
||||||
*
|
*
|
||||||
* **Note:** This function is loosely based on
|
* **Note:** This method is loosely based on
|
||||||
* [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
|
* [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
* @memberOf _
|
* @memberOf _
|
||||||
* @since 4.0.0
|
* @since 4.0.0
|
||||||
* @category Lang
|
* @category Lang
|
||||||
* @param {*} value The value to check.
|
* @param {*} value The value to check.
|
||||||
* @returns {boolean} Returns `true` if `value` is a valid length,
|
* @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
|
||||||
* else `false`.
|
|
||||||
* @example
|
* @example
|
||||||
*
|
*
|
||||||
* _.isLength(3);
|
* _.isLength(3);
|
||||||
@@ -268,7 +253,7 @@ function isLength(value) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if `value` is the
|
* Checks if `value` is the
|
||||||
* [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)
|
* [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
|
||||||
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "lodash.unzip",
|
"name": "lodash.unzip",
|
||||||
"version": "3.3.2",
|
"version": "3.4.0",
|
||||||
"description": "The lodash method `_.unzip` exported as a module.",
|
"description": "The lodash method `_.unzip` exported as a module.",
|
||||||
"homepage": "https://lodash.com/",
|
"homepage": "https://lodash.com/",
|
||||||
"icon": "https://lodash.com/icon.svg",
|
"icon": "https://lodash.com/icon.svg",
|
||||||
|
|||||||
Reference in New Issue
Block a user