lodash._createwrapper
Advanced tools
Comparing version 3.0.7 to 3.1.0
437
index.js
/** | ||
* lodash 3.0.7 (Custom Build) <https://lodash.com/> | ||
* Build: `lodash modern modularize exports="npm" -o ./` | ||
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/> | ||
* lodash 3.1.0 (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-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors | ||
* Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors | ||
* Available under MIT license <https://lodash.com/license> | ||
*/ | ||
var arrayCopy = require('lodash._arraycopy'), | ||
baseCreate = require('lodash._basecreate'), | ||
replaceHolders = require('lodash._replaceholders'); | ||
@@ -21,3 +18,4 @@ /** Used to compose bitmasks for wrapper metadata. */ | ||
PARTIAL_RIGHT_FLAG = 64, | ||
ARY_FLAG = 128; | ||
ARY_FLAG = 128, | ||
FLIP_FLAG = 512; | ||
@@ -27,6 +25,102 @@ /** Used as the `TypeError` message for "Functions" methods. */ | ||
/** Used as references for various `Number` constants. */ | ||
var INFINITY = 1 / 0, | ||
MAX_SAFE_INTEGER = 9007199254740991, | ||
MAX_INTEGER = 1.7976931348623157e+308, | ||
NAN = 0 / 0; | ||
/** Used as the internal argument placeholder. */ | ||
var PLACEHOLDER = '__lodash_placeholder__'; | ||
/** `Object#toString` result references. */ | ||
var funcTag = '[object Function]', | ||
genTag = '[object GeneratorFunction]'; | ||
/** Used to match leading and trailing whitespace. */ | ||
var reTrim = /^\s+|\s+$/g; | ||
/** Used to detect bad signed hexadecimal string values. */ | ||
var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; | ||
/** Used to detect binary string values. */ | ||
var reIsBinary = /^0b[01]+$/i; | ||
/** Used to detect octal string values. */ | ||
var reIsOctal = /^0o[0-7]+$/i; | ||
/** Used to detect unsigned integer values. */ | ||
var reIsUint = /^\d+$/; | ||
var reIsUint = /^(?:0|[1-9]\d*)$/; | ||
/* Native method references for those with the same name as other `lodash` methods. */ | ||
/** Built-in method references without a dependency on `global`. */ | ||
var freeParseInt = parseInt; | ||
/** | ||
* 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 {...*} [args] The arguments to invoke `func` with. | ||
* @returns {*} Returns the result of `func`. | ||
*/ | ||
function apply(func, thisArg, args) { | ||
var length = args ? args.length : 0; | ||
switch (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); | ||
} | ||
/** | ||
* 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; | ||
} | ||
/** | ||
* Replaces all `placeholder` elements in `array` with an internal placeholder | ||
* and returns an array of their indexes. | ||
* | ||
* @private | ||
* @param {Array} array The array to modify. | ||
* @param {*} placeholder The placeholder to replace. | ||
* @returns {Array} Returns the new array of placeholder indexes. | ||
*/ | ||
function replaceHolders(array, placeholder) { | ||
var index = -1, | ||
length = array.length, | ||
resIndex = -1, | ||
result = []; | ||
while (++index < length) { | ||
if (array[index] === placeholder) { | ||
array[index] = PLACEHOLDER; | ||
result[++resIndex] = index; | ||
} | ||
} | ||
return result; | ||
} | ||
/** Used for built-in method references. */ | ||
var objectProto = global.Object.prototype; | ||
/** | ||
* 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 method references for those with the same name as other `lodash` methods. */ | ||
var nativeMax = Math.max, | ||
@@ -36,6 +130,20 @@ nativeMin = Math.min; | ||
/** | ||
* Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer) | ||
* of an array-like value. | ||
* The base implementation of `_.create` without support for assigning | ||
* properties to the created object. | ||
* | ||
* @private | ||
* @param {Object} prototype The object to inherit from. | ||
* @returns {Object} Returns the new object. | ||
*/ | ||
var MAX_SAFE_INTEGER = 9007199254740991; | ||
var baseCreate = (function() { | ||
function object() {} | ||
return function(prototype) { | ||
if (isObject(prototype)) { | ||
object.prototype = prototype; | ||
var result = new object; | ||
object.prototype = undefined; | ||
} | ||
return result || {}; | ||
}; | ||
}()); | ||
@@ -105,16 +213,37 @@ /** | ||
/** | ||
* Creates a function that wraps `func` and invokes it with the `this` | ||
* Copies the values of `source` to `array`. | ||
* | ||
* @private | ||
* @param {Array} source The array to copy values from. | ||
* @param {Array} [array=[]] The array to copy values to. | ||
* @returns {Array} Returns `array`. | ||
*/ | ||
function copyArray(source, array) { | ||
var index = -1, | ||
length = source.length; | ||
array || (array = Array(length)); | ||
while (++index < length) { | ||
array[index] = source[index]; | ||
} | ||
return array; | ||
} | ||
/** | ||
* Creates a function that wraps `func` to invoke it with the optional `this` | ||
* binding of `thisArg`. | ||
* | ||
* @private | ||
* @param {Function} func The function to bind. | ||
* @param {Function} func The function to wrap. | ||
* @param {number} bitmask The bitmask of wrapper flags. See `createWrapper` for more details. | ||
* @param {*} [thisArg] The `this` binding of `func`. | ||
* @returns {Function} Returns the new bound function. | ||
* @returns {Function} Returns the new wrapped function. | ||
*/ | ||
function createBindWrapper(func, thisArg) { | ||
var Ctor = createCtorWrapper(func); | ||
function createBaseWrapper(func, bitmask, thisArg) { | ||
var isBind = bitmask & BIND_FLAG, | ||
Ctor = createCtorWrapper(func); | ||
function wrapper() { | ||
var fn = (this && this !== global && this instanceof wrapper) ? Ctor : func; | ||
return fn.apply(thisArg, arguments); | ||
return fn.apply(isBind ? thisArg : this, arguments); | ||
} | ||
@@ -158,8 +287,42 @@ return wrapper; | ||
/** | ||
* Creates a function that wraps `func` and invokes it with optional `this` | ||
* binding of, partial application, and currying. | ||
* Creates a function that wraps `func` to enable currying. | ||
* | ||
* @private | ||
* @param {Function|string} func The function or method name to reference. | ||
* @param {number} bitmask The bitmask of flags. See `createWrapper` for more details. | ||
* @param {Function} func The function to wrap. | ||
* @param {number} bitmask The bitmask of wrapper flags. See `createWrapper` for more details. | ||
* @param {number} arity The arity of `func`. | ||
* @returns {Function} Returns the new wrapped function. | ||
*/ | ||
function createCurryWrapper(func, bitmask, arity) { | ||
var Ctor = createCtorWrapper(func); | ||
function wrapper() { | ||
var length = arguments.length, | ||
index = length, | ||
args = Array(length), | ||
fn = (this && this !== global && this instanceof wrapper) ? Ctor : func, | ||
placeholder = wrapper.placeholder; | ||
while (index--) { | ||
args[index] = arguments[index]; | ||
} | ||
var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) | ||
? [] | ||
: replaceHolders(args, placeholder); | ||
length -= holders.length; | ||
return length < arity | ||
? createRecurryWrapper(func, bitmask, createHybridWrapper, placeholder, undefined, args, holders, undefined, undefined, arity - length) | ||
: apply(fn, this, args); | ||
} | ||
return wrapper; | ||
} | ||
/** | ||
* Creates a function that wraps `func` to invoke it with optional `this` | ||
* binding of `thisArg`, partial application, and currying. | ||
* | ||
* @private | ||
* @param {Function|string} func The function or method name to wrap. | ||
* @param {number} bitmask The bitmask of wrapper flags. See `createWrapper` for more details. | ||
* @param {*} [thisArg] The `this` binding of `func`. | ||
@@ -180,9 +343,7 @@ * @param {Array} [partials] The arguments to prepend to those provided to the new function. | ||
isCurry = bitmask & CURRY_FLAG, | ||
isCurryBound = bitmask & CURRY_BOUND_FLAG, | ||
isCurryRight = bitmask & CURRY_RIGHT_FLAG, | ||
isFlip = bitmask & FLIP_FLAG, | ||
Ctor = isBindKey ? undefined : createCtorWrapper(func); | ||
function wrapper() { | ||
// Avoid `arguments` object use disqualifying optimizations by | ||
// converting it to an array before providing it to other functions. | ||
var length = arguments.length, | ||
@@ -207,19 +368,3 @@ index = length, | ||
if (length < arity) { | ||
var newArgPos = argPos ? arrayCopy(argPos) : undefined, | ||
newArity = nativeMax(arity - length, 0), | ||
newsHolders = isCurry ? argsHolders : undefined, | ||
newHoldersRight = isCurry ? undefined : argsHolders, | ||
newPartials = isCurry ? args : undefined, | ||
newPartialsRight = isCurry ? undefined : args; | ||
bitmask |= (isCurry ? PARTIAL_FLAG : PARTIAL_RIGHT_FLAG); | ||
bitmask &= ~(isCurry ? PARTIAL_RIGHT_FLAG : PARTIAL_FLAG); | ||
if (!isCurryBound) { | ||
bitmask &= ~(BIND_FLAG | BIND_KEY_FLAG); | ||
} | ||
var result = createHybridWrapper(func, bitmask, thisArg, newPartials, newsHolders, newPartialsRight, newHoldersRight, newArgPos, ary, newArity); | ||
result.placeholder = placeholder; | ||
return result; | ||
return createRecurryWrapper(func, bitmask, createHybridWrapper, placeholder, thisArg, args, argsHolders, argPos, ary, arity - length); | ||
} | ||
@@ -232,2 +377,4 @@ } | ||
args = reorder(args, argPos); | ||
} else if (isFlip && args.length > 1) { | ||
args.reverse(); | ||
} | ||
@@ -238,3 +385,3 @@ if (isAry && ary < args.length) { | ||
if (this && this !== global && this instanceof wrapper) { | ||
fn = Ctor || createCtorWrapper(func); | ||
fn = Ctor || createCtorWrapper(fn); | ||
} | ||
@@ -247,3 +394,3 @@ return fn.apply(thisBinding, args); | ||
/** | ||
* Creates a function that wraps `func` and invokes it with the optional `this` | ||
* Creates a function that wraps `func` to invoke it with the optional `this` | ||
* binding of `thisArg` and the `partials` prepended to those provided to | ||
@@ -253,7 +400,7 @@ * the wrapper. | ||
* @private | ||
* @param {Function} func The function to partially apply arguments to. | ||
* @param {number} bitmask The bitmask of flags. See `createWrapper` for more details. | ||
* @param {Function} func The function to wrap. | ||
* @param {number} bitmask The bitmask of wrapper flags. See `createWrapper` for more details. | ||
* @param {*} thisArg The `this` binding of `func`. | ||
* @param {Array} partials The arguments to prepend to those provided to the new function. | ||
* @returns {Function} Returns the new bound function. | ||
* @returns {Function} Returns the new wrapped function. | ||
*/ | ||
@@ -265,4 +412,2 @@ function createPartialWrapper(func, bitmask, thisArg, partials) { | ||
function wrapper() { | ||
// Avoid `arguments` object use disqualifying optimizations by | ||
// converting it to an array before providing it `func`. | ||
var argsIndex = -1, | ||
@@ -272,3 +417,4 @@ argsLength = arguments.length, | ||
leftLength = partials.length, | ||
args = Array(leftLength + argsLength); | ||
args = Array(leftLength + argsLength), | ||
fn = (this && this !== global && this instanceof wrapper) ? Ctor : func; | ||
@@ -281,4 +427,3 @@ while (++leftIndex < leftLength) { | ||
} | ||
var fn = (this && this !== global && this instanceof wrapper) ? Ctor : func; | ||
return fn.apply(isBind ? thisArg : this, args); | ||
return apply(fn, isBind ? thisArg : this, args); | ||
} | ||
@@ -289,2 +434,38 @@ return wrapper; | ||
/** | ||
* Creates a function that wraps `func` to continue currying. | ||
* | ||
* @private | ||
* @param {Function} func The function to wrap. | ||
* @param {number} bitmask The bitmask of wrapper flags. See `createWrapper` for more details. | ||
* @param {Function} wrapFunc The function to create the `func` wrapper. | ||
* @param {*} placeholder The placeholder to replace. | ||
* @param {*} [thisArg] The `this` binding of `func`. | ||
* @param {Array} [partials] The arguments to prepend to those provided to the new function. | ||
* @param {Array} [holders] The `partials` placeholder indexes. | ||
* @param {Array} [argPos] The argument positions of the new function. | ||
* @param {number} [ary] The arity cap of `func`. | ||
* @param {number} [arity] The arity of `func`. | ||
* @returns {Function} Returns the new wrapped function. | ||
*/ | ||
function createRecurryWrapper(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { | ||
var isCurry = bitmask & CURRY_FLAG, | ||
newArgPos = argPos ? copyArray(argPos) : undefined, | ||
newsHolders = isCurry ? holders : undefined, | ||
newHoldersRight = isCurry ? undefined : holders, | ||
newPartials = isCurry ? partials : undefined, | ||
newPartialsRight = isCurry ? undefined : partials; | ||
bitmask |= (isCurry ? PARTIAL_FLAG : PARTIAL_RIGHT_FLAG); | ||
bitmask &= ~(isCurry ? PARTIAL_RIGHT_FLAG : PARTIAL_FLAG); | ||
if (!(bitmask & CURRY_BOUND_FLAG)) { | ||
bitmask &= ~(BIND_FLAG | BIND_KEY_FLAG); | ||
} | ||
var result = wrapFunc(func, bitmask, thisArg, newPartials, newsHolders, newPartialsRight, newHoldersRight, newArgPos, ary, arity); | ||
result.placeholder = placeholder; | ||
return result; | ||
} | ||
/** | ||
* Creates a function that either curries or invokes `func` with optional | ||
@@ -294,4 +475,4 @@ * `this` binding and partially applied arguments. | ||
* @private | ||
* @param {Function|string} func The function or method name to reference. | ||
* @param {number} bitmask The bitmask of flags. | ||
* @param {Function|string} func The function or method name to wrap. | ||
* @param {number} bitmask The bitmask of wrapper flags. | ||
* The bitmask may be composed of the following flags: | ||
@@ -325,3 +506,6 @@ * 1 - `_.bind` | ||
} | ||
length -= (holders ? holders.length : 0); | ||
ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); | ||
arity = arity === undefined ? arity : toInteger(arity); | ||
length -= holders ? holders.length : 0; | ||
if (bitmask & PARTIAL_RIGHT_FLAG) { | ||
@@ -335,10 +519,20 @@ var partialsRight = partials, | ||
newData[9] = arity == null | ||
func = newData[0]; | ||
bitmask = newData[1]; | ||
thisArg = newData[2]; | ||
partials = newData[3]; | ||
holders = newData[4]; | ||
arity = newData[9] = newData[9] == null | ||
? (isBindKey ? 0 : func.length) | ||
: (nativeMax(arity - length, 0) || 0); | ||
: nativeMax(newData[9] - length, 0); | ||
if (bitmask == BIND_FLAG) { | ||
var result = createBindWrapper(newData[0], newData[2]); | ||
} else if ((bitmask == PARTIAL_FLAG || bitmask == (BIND_FLAG | PARTIAL_FLAG)) && !newData[4].length) { | ||
result = createPartialWrapper.apply(undefined, newData); | ||
if (!arity && bitmask & (CURRY_FLAG | CURRY_RIGHT_FLAG)) { | ||
bitmask &= ~(CURRY_FLAG | CURRY_RIGHT_FLAG); | ||
} | ||
if (!bitmask || bitmask == BIND_FLAG) { | ||
var result = createBaseWrapper(func, bitmask, thisArg); | ||
} else if (bitmask == CURRY_FLAG || bitmask == CURRY_RIGHT_FLAG) { | ||
result = createCurryWrapper(func, bitmask, arity); | ||
} else if ((bitmask == PARTIAL_FLAG || bitmask == (BIND_FLAG | PARTIAL_FLAG)) && !holders.length) { | ||
result = createPartialWrapper(func, bitmask, thisArg, partials); | ||
} else { | ||
@@ -351,16 +545,2 @@ result = createHybridWrapper.apply(undefined, newData); | ||
/** | ||
* 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; | ||
} | ||
/** | ||
* Reorder `array` according to the specified indexes where the element at | ||
@@ -378,3 +558,3 @@ * the first index is assigned as the first element, the element at | ||
length = nativeMin(indexes.length, arrLength), | ||
oldArray = arrayCopy(array); | ||
oldArray = copyArray(array); | ||
@@ -389,2 +569,26 @@ while (length--) { | ||
/** | ||
* Checks if `value` is classified as a `Function` object. | ||
* | ||
* @static | ||
* @memberOf _ | ||
* @category Lang | ||
* @param {*} value The value to check. | ||
* @returns {boolean} Returns `true` if `value` is correctly classified, 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 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 [language type](https://es5.github.io/#x8) of `Object`. | ||
@@ -406,3 +610,6 @@ * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) | ||
* | ||
* _.isObject(1); | ||
* _.isObject(_.noop); | ||
* // => true | ||
* | ||
* _.isObject(null); | ||
* // => false | ||
@@ -417,2 +624,76 @@ */ | ||
/** | ||
* Converts `value` to an integer. | ||
* | ||
* **Note:** This function is loosely based on [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger). | ||
* | ||
* @static | ||
* @memberOf _ | ||
* @category Lang | ||
* @param {*} value The value to convert. | ||
* @returns {number} Returns the converted integer. | ||
* @example | ||
* | ||
* _.toInteger(3); | ||
* // => 3 | ||
* | ||
* _.toInteger(Number.MIN_VALUE); | ||
* // => 0 | ||
* | ||
* _.toInteger(Infinity); | ||
* // => 1.7976931348623157e+308 | ||
* | ||
* _.toInteger('3'); | ||
* // => 3 | ||
*/ | ||
function toInteger(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; | ||
} | ||
var remainder = value % 1; | ||
return value === value ? (remainder ? value - remainder : value) : 0; | ||
} | ||
/** | ||
* Converts `value` to a number. | ||
* | ||
* @static | ||
* @memberOf _ | ||
* @category Lang | ||
* @param {*} value The value to process. | ||
* @returns {number} Returns the number. | ||
* @example | ||
* | ||
* _.toNumber(3); | ||
* // => 3 | ||
* | ||
* _.toNumber(Number.MIN_VALUE); | ||
* // => 5e-324 | ||
* | ||
* _.toNumber(Infinity); | ||
* // => Infinity | ||
* | ||
* _.toNumber('3'); | ||
* // => 3 | ||
*/ | ||
function toNumber(value) { | ||
if (isObject(value)) { | ||
var other = isFunction(value.valueOf) ? value.valueOf() : value; | ||
value = isObject(other) ? (other + '') : other; | ||
} | ||
if (typeof value != 'string') { | ||
return value === 0 ? value : +value; | ||
} | ||
value = value.replace(reTrim, ''); | ||
var isBinary = reIsBinary.test(value); | ||
return (isBinary || reIsOctal.test(value)) | ||
? freeParseInt(value.slice(2), isBinary ? 2 : 8) | ||
: (reIsBadHex.test(value) ? NAN : +value); | ||
} | ||
module.exports = createWrapper; |
{ | ||
"name": "lodash._createwrapper", | ||
"version": "3.0.7", | ||
"description": "The modern build of lodash’s internal `createWrapper` as a module.", | ||
"version": "3.1.0", | ||
"description": "The internal lodash function `createWrapper` exported as a module.", | ||
"homepage": "https://lodash.com/", | ||
@@ -11,14 +11,7 @@ "icon": "https://lodash.com/icon.svg", | ||
"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/)", | ||
"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.\"" }, | ||
"dependencies": { | ||
"lodash._arraycopy": "^3.0.0", | ||
"lodash._basecreate": "^3.0.0", | ||
"lodash._replaceholders": "^3.0.0" | ||
} | ||
"scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" } | ||
} |
@@ -1,4 +0,4 @@ | ||
# lodash._createwrapper v3.0.7 | ||
# lodash._createwrapper v3.1.0 | ||
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `createWrapper` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. | ||
The internal [lodash](https://lodash.com/) function `createWrapper` exported as a [Node.js](https://nodejs.org/) module. | ||
@@ -8,3 +8,2 @@ ## Installation | ||
Using npm: | ||
```bash | ||
@@ -15,4 +14,3 @@ $ {sudo -H} npm i -g npm | ||
In Node.js/io.js: | ||
In Node.js: | ||
```js | ||
@@ -22,2 +20,2 @@ var createWrapper = require('lodash._createwrapper'); | ||
See the [package source](https://github.com/lodash/lodash/blob/3.0.7-npm-packages/lodash._createwrapper) for more details. | ||
See the [package source](https://github.com/lodash/lodash/blob/3.1.0-npm-packages/lodash._createwrapper) for more details. |
Sorry, the diff of this file is not supported yet
24275
0
619
19
- Removedlodash._arraycopy@^3.0.0
- Removedlodash._basecreate@^3.0.0
- Removedlodash._replaceholders@^3.0.0
- Removedlodash._arraycopy@3.0.0(transitive)
- Removedlodash._basecreate@3.0.3(transitive)
- Removedlodash._replaceholders@3.0.0(transitive)