From b368027e2c78ed92a4aaa2c420adba1768abd5d0 Mon Sep 17 00:00:00 2001 From: jdalton Date: Wed, 25 Mar 2015 00:43:38 -0700 Subject: [PATCH] Bump to v3.0.5. --- README.md | 2 +- lodash._baseisequal/README.md | 4 +- lodash._baseisequal/index.js | 8 +- lodash._baseisequal/package.json | 2 +- lodash._createwrapper/README.md | 4 +- lodash._createwrapper/index.js | 39 +++-- lodash._createwrapper/package.json | 2 +- lodash._isiterateecall/README.md | 4 +- lodash._isiterateecall/index.js | 17 +- lodash._isiterateecall/package.json | 2 +- lodash.isarguments/LICENSE | 4 +- lodash.isarguments/README.md | 10 +- lodash.isarguments/index.js | 237 ++++++++++++++++++++++------ lodash.isarguments/package.json | 10 +- lodash.iselement/README.md | 4 +- lodash.iselement/index.js | 35 ++-- lodash.iselement/package.json | 2 +- lodash.isfunction/README.md | 4 +- lodash.isfunction/index.js | 4 +- lodash.isfunction/package.json | 2 +- lodash.isnative/LICENSE | 4 +- lodash.isnative/README.md | 10 +- lodash.isnative/index.js | 130 +++++++++++++-- lodash.isnative/package.json | 15 +- lodash.isregexp/README.md | 4 +- lodash.isregexp/index.js | 17 +- lodash.isregexp/package.json | 4 +- lodash.istypedarray/LICENSE | 33 ++-- lodash.istypedarray/README.md | 4 +- lodash.istypedarray/index.js | 8 +- lodash.istypedarray/package.json | 2 +- lodash.keys/README.md | 4 +- lodash.keys/index.js | 17 +- lodash.keys/package.json | 2 +- lodash.keysin/README.md | 4 +- lodash.keysin/index.js | 18 ++- lodash.keysin/package.json | 2 +- 37 files changed, 462 insertions(+), 212 deletions(-) diff --git a/README.md b/README.md index a94dcfc94..3a851484c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# lodash v3.0.4 +# lodash v3.0.5 The [lodash](https://lodash.com/) library exported as [npm packages](https://www.npmjs.com/browse/keyword/lodash-modularized) per method. diff --git a/lodash._baseisequal/README.md b/lodash._baseisequal/README.md index 0d069f307..3ba94b03b 100644 --- a/lodash._baseisequal/README.md +++ b/lodash._baseisequal/README.md @@ -1,4 +1,4 @@ -# lodash._baseisequal v3.0.4 +# lodash._baseisequal v3.0.5 The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `baseIsEqual` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. @@ -17,4 +17,4 @@ In Node.js/io.js: var baseIsEqual = require('lodash._baseisequal'); ``` -See the [package source](https://github.com/lodash/lodash/blob/3.0.4-npm-packages/lodash._baseisequal) for more details. +See the [package source](https://github.com/lodash/lodash/blob/3.0.5-npm-packages/lodash._baseisequal) for more details. diff --git a/lodash._baseisequal/index.js b/lodash._baseisequal/index.js index 74189de6b..74051b1f0 100644 --- a/lodash._baseisequal/index.js +++ b/lodash._baseisequal/index.js @@ -1,5 +1,5 @@ /** - * lodash 3.0.4 (Custom Build) + * lodash 3.0.5 (Custom Build) * Build: `lodash modern modularize exports="npm" -o ./` * Copyright 2012-2015 The Dojo Foundation * Based on Underscore.js 1.8.3 @@ -49,8 +49,7 @@ var objToString = objectProto.toString; function baseIsEqual(value, other, customizer, isLoose, stackA, stackB) { // Exit early for identical values. if (value === other) { - // Treat `+0` vs. `-0` as not equal. - return value !== 0 || (1 / value == 1 / other); + return true; } var valType = typeof value, othType = typeof other; @@ -223,8 +222,7 @@ function equalByTag(object, other, tag) { // Treat `NaN` vs. `NaN` as equal. return (object != +object) ? other != +other - // But, treat `-0` vs. `+0` as not equal. - : (object == 0 ? ((1 / object) == (1 / other)) : object == +other); + : object == +other; case regexpTag: case stringTag: diff --git a/lodash._baseisequal/package.json b/lodash._baseisequal/package.json index 7936d05b0..232644681 100644 --- a/lodash._baseisequal/package.json +++ b/lodash._baseisequal/package.json @@ -1,6 +1,6 @@ { "name": "lodash._baseisequal", - "version": "3.0.4", + "version": "3.0.5", "description": "The modern build of lodash’s internal `baseIsEqual` as a module.", "homepage": "https://lodash.com/", "icon": "https://lodash.com/icon.svg", diff --git a/lodash._createwrapper/README.md b/lodash._createwrapper/README.md index dd6a5d220..7b9c6698f 100644 --- a/lodash._createwrapper/README.md +++ b/lodash._createwrapper/README.md @@ -1,4 +1,4 @@ -# lodash._createwrapper v3.0.4 +# lodash._createwrapper v3.0.5 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. @@ -17,4 +17,4 @@ In Node.js/io.js: var createWrapper = require('lodash._createwrapper'); ``` -See the [package source](https://github.com/lodash/lodash/blob/3.0.4-npm-packages/lodash._createwrapper) for more details. +See the [package source](https://github.com/lodash/lodash/blob/3.0.5-npm-packages/lodash._createwrapper) for more details. diff --git a/lodash._createwrapper/index.js b/lodash._createwrapper/index.js index bc501ed42..5fe012dee 100644 --- a/lodash._createwrapper/index.js +++ b/lodash._createwrapper/index.js @@ -1,5 +1,5 @@ /** - * lodash 3.0.4 (Custom Build) + * lodash 3.0.5 (Custom Build) * Build: `lodash modern modularize exports="npm" -o ./` * Copyright 2012-2015 The Dojo Foundation * Based on Underscore.js 1.8.3 @@ -31,7 +31,7 @@ var nativeMax = Math.max, * 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; +var MAX_SAFE_INTEGER = 9007199254740991; /** * Creates an array that is the composition of partially applied arguments, @@ -124,8 +124,20 @@ function createBindWrapper(func, thisArg) { */ function createCtorWrapper(Ctor) { return function() { + // Use a `switch` statement to work with class constructors. + // See https://people.mozilla.org/~jorendorff/es6-draft.html#sec-ecmascript-function-objects-call-thisargument-argumentslist + // for more details. + var args = arguments; + switch (args.length) { + case 0: return new Ctor; + case 1: return new Ctor(args[0]); + case 2: return new Ctor(args[0], args[1]); + case 3: return new Ctor(args[0], args[1], args[2]); + case 4: return new Ctor(args[0], args[1], args[2], args[3]); + case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); + } var thisBinding = baseCreate(Ctor.prototype), - result = Ctor.apply(thisBinding, arguments); + result = Ctor.apply(thisBinding, args); // Mimic the constructor's `return` behavior. // See https://es5.github.io/#x13.2.2 for more details. @@ -156,10 +168,8 @@ function createHybridWrapper(func, bitmask, thisArg, partials, holders, partials isBindKey = bitmask & BIND_KEY_FLAG, isCurry = bitmask & CURRY_FLAG, isCurryBound = bitmask & CURRY_BOUND_FLAG, - isCurryRight = bitmask & CURRY_RIGHT_FLAG; - - var Ctor = !isBindKey && createCtorWrapper(func), - key = func; + isCurryRight = bitmask & CURRY_RIGHT_FLAG, + Ctor = isBindKey ? null : createCtorWrapper(func); function wrapper() { // Avoid `arguments` object use disqualifying optimizations by @@ -202,17 +212,18 @@ function createHybridWrapper(func, bitmask, thisArg, partials, holders, partials return result; } } - var thisBinding = isBind ? thisArg : this; - if (isBindKey) { - func = thisBinding[key]; - } + var thisBinding = isBind ? thisArg : this, + fn = isBindKey ? thisBinding[func] : func; + if (argPos) { args = reorder(args, argPos); } if (isAry && ary < args.length) { args.length = ary; } - var fn = (this && this !== global && this instanceof wrapper) ? (Ctor || createCtorWrapper(func)) : func; + if (this && this !== global && this instanceof wrapper) { + fn = Ctor || createCtorWrapper(func); + } return fn.apply(thisBinding, args); } return wrapper; @@ -322,7 +333,7 @@ function createWrapper(func, bitmask, thisArg, partials, holders, argPos, ary, a * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. */ function isIndex(value, length) { - value = +value; + value = typeof value == 'number' ? value : parseFloat(value); length = length == null ? MAX_SAFE_INTEGER : length; return value > -1 && value % 1 == 0 && value < length; } @@ -373,7 +384,7 @@ function isObject(value) { // Avoid a V8 JIT bug in Chrome 19-20. // See https://code.google.com/p/v8/issues/detail?id=2291 for more details. var type = typeof value; - return type == 'function' || (!!value && type == 'object'); + return !!value && (type == 'object' || type == 'function'); } module.exports = createWrapper; diff --git a/lodash._createwrapper/package.json b/lodash._createwrapper/package.json index 92abe1257..48a090fc4 100644 --- a/lodash._createwrapper/package.json +++ b/lodash._createwrapper/package.json @@ -1,6 +1,6 @@ { "name": "lodash._createwrapper", - "version": "3.0.4", + "version": "3.0.5", "description": "The modern build of lodash’s internal `createWrapper` as a module.", "homepage": "https://lodash.com/", "icon": "https://lodash.com/icon.svg", diff --git a/lodash._isiterateecall/README.md b/lodash._isiterateecall/README.md index d11ba69b3..17fd3555c 100644 --- a/lodash._isiterateecall/README.md +++ b/lodash._isiterateecall/README.md @@ -1,4 +1,4 @@ -# lodash._isiterateecall v3.0.4 +# lodash._isiterateecall v3.0.5 The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `isIterateeCall` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. @@ -17,4 +17,4 @@ In Node.js/io.js: var isIterateeCall = require('lodash._isiterateecall'); ``` -See the [package source](https://github.com/lodash/lodash/blob/3.0.4-npm-packages/lodash._isiterateecall) for more details. +See the [package source](https://github.com/lodash/lodash/blob/3.0.5-npm-packages/lodash._isiterateecall) for more details. diff --git a/lodash._isiterateecall/index.js b/lodash._isiterateecall/index.js index beeeb8b52..36f21dbc8 100644 --- a/lodash._isiterateecall/index.js +++ b/lodash._isiterateecall/index.js @@ -1,5 +1,5 @@ /** - * lodash 3.0.4 (Custom Build) + * lodash 3.0.5 (Custom Build) * Build: `lodash modern modularize exports="npm" -o ./` * Copyright 2012-2015 The Dojo Foundation * Based on Underscore.js 1.8.2 @@ -8,9 +8,8 @@ */ /** - * Used as the maximum length of an array-like value. - * See the [ES spec](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer) - * for more details. + * 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; @@ -58,9 +57,7 @@ function isIterateeCall(value, index, object) { /** * Checks if `value` is a valid array-like length. * - * **Note:** This function is based on ES `ToLength`. See the - * [ES spec](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength) - * for more details. + * **Note:** This function is based on [`ToLength`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength). * * @private * @param {*} value The value to check. @@ -71,11 +68,9 @@ function isLength(value) { } /** - * Checks if `value` is the language type of `Object`. + * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`. * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) * - * **Note:** See the [ES5 spec](https://es5.github.io/#x8) for more details. - * * @static * @memberOf _ * @category Lang @@ -96,7 +91,7 @@ function isObject(value) { // Avoid a V8 JIT bug in Chrome 19-20. // See https://code.google.com/p/v8/issues/detail?id=2291 for more details. var type = typeof value; - return type == 'function' || (value && type == 'object') || false; + return type == 'function' || (!!value && type == 'object'); } module.exports = isIterateeCall; diff --git a/lodash._isiterateecall/package.json b/lodash._isiterateecall/package.json index eb06b0401..070e4ee12 100644 --- a/lodash._isiterateecall/package.json +++ b/lodash._isiterateecall/package.json @@ -1,6 +1,6 @@ { "name": "lodash._isiterateecall", - "version": "3.0.4", + "version": "3.0.5", "description": "The modern build of lodash’s internal `isIterateeCall` as a module.", "homepage": "https://lodash.com/", "icon": "https://lodash.com/icon.svg", diff --git a/lodash.isarguments/LICENSE b/lodash.isarguments/LICENSE index 9cd87e5dc..b054ca5a3 100644 --- a/lodash.isarguments/LICENSE +++ b/lodash.isarguments/LICENSE @@ -1,5 +1,5 @@ -Copyright 2012-2015 The Dojo Foundation -Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas, +Copyright 2012-2016 The Dojo Foundation +Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors Permission is hereby granted, free of charge, to any person obtaining diff --git a/lodash.isarguments/README.md b/lodash.isarguments/README.md index 2e94f790f..7efe2f50c 100644 --- a/lodash.isarguments/README.md +++ b/lodash.isarguments/README.md @@ -1,20 +1,18 @@ -# lodash.isarguments v3.0.4 +# lodash.isarguments v3.0.5 -The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.isArguments` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. +The [lodash](https://lodash.com/) method `_.isArguments` exported as a [Node.js](https://nodejs.org/) module. ## Installation Using npm: - ```bash $ {sudo -H} npm i -g npm $ npm i --save lodash.isarguments ``` -In Node.js/io.js: - +In Node.js: ```js var isArguments = require('lodash.isarguments'); ``` -See the [documentation](https://lodash.com/docs#isArguments) or [package source](https://github.com/lodash/lodash/blob/3.0.4-npm-packages/lodash.isarguments) for more details. +See the [documentation](https://lodash.com/docs#isArguments) or [package source](https://github.com/lodash/lodash/blob/3.0.5-npm-packages/lodash.isarguments) for more details. diff --git a/lodash.isarguments/index.js b/lodash.isarguments/index.js index b947b47df..c8fcfc5a9 100644 --- a/lodash.isarguments/index.js +++ b/lodash.isarguments/index.js @@ -1,37 +1,34 @@ /** - * lodash 3.0.4 (Custom Build) - * Build: `lodash modern modularize exports="npm" -o ./` - * Copyright 2012-2015 The Dojo Foundation + * lodash 3.0.5 (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright 2012-2016 The Dojo Foundation * Based on Underscore.js 1.8.3 - * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ -/** - * Checks if `value` is object-like. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - */ -function isObjectLike(value) { - return !!value && typeof value == 'object'; -} +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; -/** Used for native method references. */ -var objectProto = Object.prototype; +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]'; + +/** Used for built-in method references. */ +var objectProto = global.Object.prototype; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; -/** Native method references. */ -var propertyIsEnumerable = objectProto.propertyIsEnumerable; - /** - * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer) - * of an array-like value. + * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) + * of values. */ -var MAX_SAFE_INTEGER = 9007199254740991; +var objectToString = objectProto.toString; + +/** Built-in value references. */ +var propertyIsEnumerable = objectProto.propertyIsEnumerable; /** * The base implementation of `_.property` without support for deep paths. @@ -59,31 +56,7 @@ function baseProperty(key) { var getLength = baseProperty('length'); /** - * Checks if `value` is array-like. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - */ -function isArrayLike(value) { - return value != null && isLength(getLength(value)); -} - -/** - * Checks if `value` is a valid array-like length. - * - * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength). - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - */ -function isLength(value) { - return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; -} - -/** - * Checks if `value` is classified as an `arguments` object. + * Checks if `value` is likely an `arguments` object. * * @static * @memberOf _ @@ -99,8 +72,174 @@ function isLength(value) { * // => false */ function isArguments(value) { - return isObjectLike(value) && isArrayLike(value) && - hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee'); + // 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 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 _ + * @type Function + * @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 && + !(typeof value == 'function' && isFunction(value)) && isLength(getLength(value)); +} + +/** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @type Function + * @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 _ + * @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 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 _ + * @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](https://es5.github.io/#x8) of `Object`. + * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @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 _ + * @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'; } module.exports = isArguments; diff --git a/lodash.isarguments/package.json b/lodash.isarguments/package.json index 9c7f9e87f..d1b97be75 100644 --- a/lodash.isarguments/package.json +++ b/lodash.isarguments/package.json @@ -1,17 +1,15 @@ { "name": "lodash.isarguments", - "version": "3.0.4", - "description": "The modern build of lodash’s `_.isArguments` as a module.", + "version": "3.0.5", + "description": "The lodash method `_.isArguments` exported as a module.", "homepage": "https://lodash.com/", "icon": "https://lodash.com/icon.svg", "license": "MIT", - "keywords": "lodash, lodash-modularized, stdlib, util", + "keywords": "lodash, lodash-modularized, stdlib, util, isarguments", "author": "John-David Dalton (http://allyoucanleet.com/)", "contributors": [ "John-David Dalton (http://allyoucanleet.com/)", - "Benjamin Tan (https://d10.github.io/)", - "Blaine Bublitz (http://www.iceddev.com/)", - "Kit Cambridge (http://kitcambridge.be/)", + "Blaine Bublitz (https://github.com/phated)", "Mathias Bynens (https://mathiasbynens.be/)" ], "repository": "lodash/lodash", diff --git a/lodash.iselement/README.md b/lodash.iselement/README.md index 0e0c84602..d181d4392 100644 --- a/lodash.iselement/README.md +++ b/lodash.iselement/README.md @@ -1,4 +1,4 @@ -# lodash.iselement v3.0.4 +# lodash.iselement v3.0.5 The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.isElement` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. @@ -17,4 +17,4 @@ In Node.js/io.js: var isElement = require('lodash.iselement'); ``` -See the [documentation](https://lodash.com/docs#isElement) or [package source](https://github.com/lodash/lodash/blob/3.0.4-npm-packages/lodash.iselement) for more details. +See the [documentation](https://lodash.com/docs#isElement) or [package source](https://github.com/lodash/lodash/blob/3.0.5-npm-packages/lodash.iselement) for more details. diff --git a/lodash.iselement/index.js b/lodash.iselement/index.js index 998b55252..0d2e7f4f0 100644 --- a/lodash.iselement/index.js +++ b/lodash.iselement/index.js @@ -1,8 +1,8 @@ /** - * lodash 3.0.4 (Custom Build) + * lodash 3.0.5 (Custom Build) * Build: `lodash modern modularize exports="npm" -o ./` * Copyright 2012-2015 The Dojo Foundation - * Based on Underscore.js 1.8.2 + * Based on Underscore.js 1.8.3 * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ @@ -40,17 +40,26 @@ var objToString = objectProto.toString; */ var support = {}; -/** - * Detect if the DOM is supported. - * - * @memberOf _.support - * @type boolean - */ -try { - support.dom = document.createDocumentFragment().nodeType === 11; -} catch(e) { - support.dom = false; -} +(function(x) { + var Ctor = function() { this.x = x; }, + object = { '0': x, 'length': x }, + props = []; + + Ctor.prototype = { 'valueOf': x, 'y': x }; + for (var key in new Ctor) { props.push(key); } + + /** + * Detect if the DOM is supported. + * + * @memberOf _.support + * @type boolean + */ + try { + support.dom = document.createDocumentFragment().nodeType === 11; + } catch(e) { + support.dom = false; + } +}(1, 0)); /** * Checks if `value` is a DOM element. diff --git a/lodash.iselement/package.json b/lodash.iselement/package.json index 1a8b7e66e..d825478ee 100644 --- a/lodash.iselement/package.json +++ b/lodash.iselement/package.json @@ -1,6 +1,6 @@ { "name": "lodash.iselement", - "version": "3.0.4", + "version": "3.0.5", "description": "The modern build of lodash’s `_.isElement` as a module.", "homepage": "https://lodash.com/", "icon": "https://lodash.com/icon.svg", diff --git a/lodash.isfunction/README.md b/lodash.isfunction/README.md index 86f95de41..25bcdb8e1 100644 --- a/lodash.isfunction/README.md +++ b/lodash.isfunction/README.md @@ -1,4 +1,4 @@ -# lodash.isfunction v3.0.4 +# lodash.isfunction v3.0.5 The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.isFunction` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. @@ -17,4 +17,4 @@ In Node.js/io.js: var isFunction = require('lodash.isfunction'); ``` -See the [documentation](https://lodash.com/docs#isFunction) or [package source](https://github.com/lodash/lodash/blob/3.0.4-npm-packages/lodash.isfunction) for more details. +See the [documentation](https://lodash.com/docs#isFunction) or [package source](https://github.com/lodash/lodash/blob/3.0.5-npm-packages/lodash.isfunction) for more details. diff --git a/lodash.isfunction/index.js b/lodash.isfunction/index.js index 6908e5304..52b71e449 100644 --- a/lodash.isfunction/index.js +++ b/lodash.isfunction/index.js @@ -1,5 +1,5 @@ /** - * lodash 3.0.4 (Custom Build) + * lodash 3.0.5 (Custom Build) * Build: `lodash modern modularize exports="npm" -o ./` * Copyright 2012-2015 The Dojo Foundation * Based on Underscore.js 1.8.3 @@ -83,7 +83,7 @@ var reIsNative = RegExp('^' + ); /** Native method references. */ -var Uint8Array = getNative(root, 'Uint8Array'); +var Uint8Array = getNative(global, 'Uint8Array'); /** * Gets the native function at `key` of `object`. diff --git a/lodash.isfunction/package.json b/lodash.isfunction/package.json index c4a9ec90e..275260376 100644 --- a/lodash.isfunction/package.json +++ b/lodash.isfunction/package.json @@ -1,6 +1,6 @@ { "name": "lodash.isfunction", - "version": "3.0.4", + "version": "3.0.5", "description": "The modern build of lodash’s `_.isFunction` as a module.", "homepage": "https://lodash.com/", "icon": "https://lodash.com/icon.svg", diff --git a/lodash.isnative/LICENSE b/lodash.isnative/LICENSE index 9cd87e5dc..b054ca5a3 100644 --- a/lodash.isnative/LICENSE +++ b/lodash.isnative/LICENSE @@ -1,5 +1,5 @@ -Copyright 2012-2015 The Dojo Foundation -Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas, +Copyright 2012-2016 The Dojo Foundation +Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors Permission is hereby granted, free of charge, to any person obtaining diff --git a/lodash.isnative/README.md b/lodash.isnative/README.md index d6712959a..8744975a6 100644 --- a/lodash.isnative/README.md +++ b/lodash.isnative/README.md @@ -1,20 +1,18 @@ -# lodash.isnative v3.0.4 +# lodash.isnative v3.0.5 -The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.isNative` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. +The [lodash](https://lodash.com/) method `_.isNative` exported as a [Node.js](https://nodejs.org/) module. ## Installation Using npm: - ```bash $ {sudo -H} npm i -g npm $ npm i --save lodash.isnative ``` -In Node.js/io.js: - +In Node.js: ```js var isNative = require('lodash.isnative'); ``` -See the [documentation](https://lodash.com/docs#isNative) or [package source](https://github.com/lodash/lodash/blob/3.0.4-npm-packages/lodash.isnative) for more details. +See the [documentation](https://lodash.com/docs#isNative) or [package source](https://github.com/lodash/lodash/blob/3.0.5-npm-packages/lodash.isnative) for more details. diff --git a/lodash.isnative/index.js b/lodash.isnative/index.js index 3d5c829c1..ab841a89d 100644 --- a/lodash.isnative/index.js +++ b/lodash.isnative/index.js @@ -1,42 +1,141 @@ /** - * lodash 3.0.4 (Custom Build) - * Build: `lodash modern modularize exports="npm" -o ./` - * Copyright 2012-2015 The Dojo Foundation + * lodash 3.0.5 (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright 2012-2016 The Dojo Foundation * Based on Underscore.js 1.8.3 - * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ -var isFunction = require('lodash.isfunction'); + +/** `Object#toString` result references. */ +var funcTag = '[object Function]', + genTag = '[object GeneratorFunction]'; + +/** Used to match `RegExp` [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns). */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; /** Used to detect host constructors (Safari > 5). */ var reIsHostCtor = /^\[object .+?Constructor\]$/; /** - * Checks if `value` is object-like. + * Checks if `value` is a host object in IE < 9. * * @private * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @returns {boolean} Returns `true` if `value` is a host object, else `false`. */ -function isObjectLike(value) { - return !!value && typeof value == 'object'; +function isHostObject(value) { + // Many host objects are `Object` objects that can coerce to strings + // despite having improperly defined `toString` methods. + var result = false; + if (value != null && typeof value.toString != 'function') { + try { + result = !!(value + ''); + } catch (e) {} + } + return result; } -/** Used for native method references. */ -var objectProto = Object.prototype; +/** Used for built-in method references. */ +var objectProto = global.Object.prototype; /** Used to resolve the decompiled source of functions. */ -var fnToString = Function.prototype.toString; +var funcToString = global.Function.prototype.toString; /** 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; + /** Used to detect if a method is native. */ var reIsNative = RegExp('^' + - fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&') + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' ); +/** + * 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`. + * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @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 _ + * @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'; +} + /** * Checks if `value` is a native function. * @@ -58,9 +157,10 @@ function isNative(value) { return false; } if (isFunction(value)) { - return reIsNative.test(fnToString.call(value)); + return reIsNative.test(funcToString.call(value)); } - return isObjectLike(value) && reIsHostCtor.test(value); + return isObjectLike(value) && + (isHostObject(value) ? reIsNative : reIsHostCtor).test(value); } module.exports = isNative; diff --git a/lodash.isnative/package.json b/lodash.isnative/package.json index c55d1035e..3e4d8fa8e 100644 --- a/lodash.isnative/package.json +++ b/lodash.isnative/package.json @@ -1,22 +1,17 @@ { "name": "lodash.isnative", - "version": "3.0.4", - "description": "The modern build of lodash’s `_.isNative` as a module.", + "version": "3.0.5", + "description": "The lodash method `_.isNative` exported as a module.", "homepage": "https://lodash.com/", "icon": "https://lodash.com/icon.svg", "license": "MIT", - "keywords": "lodash, lodash-modularized, stdlib, util", + "keywords": "lodash, lodash-modularized, stdlib, util, isnative", "author": "John-David Dalton (http://allyoucanleet.com/)", "contributors": [ "John-David Dalton (http://allyoucanleet.com/)", - "Benjamin Tan (https://d10.github.io/)", - "Blaine Bublitz (http://www.iceddev.com/)", - "Kit Cambridge (http://kitcambridge.be/)", + "Blaine Bublitz (https://github.com/phated)", "Mathias Bynens (https://mathiasbynens.be/)" ], "repository": "lodash/lodash", - "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" }, - "dependencies": { - "lodash.isfunction": "^3.0.0" - } + "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" } } diff --git a/lodash.isregexp/README.md b/lodash.isregexp/README.md index fde25320d..bd55a03d8 100644 --- a/lodash.isregexp/README.md +++ b/lodash.isregexp/README.md @@ -1,4 +1,4 @@ -# lodash.isregexp v3.0.4 +# lodash.isregexp v3.0.5 The [lodash](https://lodash.com/) method `_.isRegExp` exported as a [Node.js](https://nodejs.org/) module. @@ -15,4 +15,4 @@ In Node.js: var isRegExp = require('lodash.isregexp'); ``` -See the [documentation](https://lodash.com/docs#isRegExp) or [package source](https://github.com/lodash/lodash/blob/3.0.4-npm-packages/lodash.isregexp) for more details. +See the [documentation](https://lodash.com/docs#isRegExp) or [package source](https://github.com/lodash/lodash/blob/3.0.5-npm-packages/lodash.isregexp) for more details. diff --git a/lodash.isregexp/index.js b/lodash.isregexp/index.js index a563dda07..d0ac38dcf 100644 --- a/lodash.isregexp/index.js +++ b/lodash.isregexp/index.js @@ -1,5 +1,5 @@ /** - * lodash 3.0.4 (Custom Build) + * lodash 3.0.5 (Custom Build) * Build: `lodash modularize exports="npm" -o ./` * Copyright 2012-2016 The Dojo Foundation * Based on Underscore.js 1.8.3 @@ -11,20 +11,23 @@ var regexpTag = '[object RegExp]'; /** Used for built-in method references. */ -var objectProto = global.Object.prototype; +var objectProto = Object.prototype; /** - * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) * of values. */ var objectToString = objectProto.toString; /** - * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`. - * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * 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`. @@ -52,9 +55,11 @@ function isObject(value) { * * @static * @memberOf _ + * @since 0.1.0 * @category Lang * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. + * @returns {boolean} Returns `true` if `value` is correctly classified, + * else `false`. * @example * * _.isRegExp(/abc/); diff --git a/lodash.isregexp/package.json b/lodash.isregexp/package.json index 03baaf961..6703b3e3f 100644 --- a/lodash.isregexp/package.json +++ b/lodash.isregexp/package.json @@ -1,11 +1,11 @@ { "name": "lodash.isregexp", - "version": "3.0.4", + "version": "3.0.5", "description": "The lodash method `_.isRegExp` exported as a module.", "homepage": "https://lodash.com/", "icon": "https://lodash.com/icon.svg", "license": "MIT", - "keywords": "lodash, lodash-modularized, stdlib, util, isregexp", + "keywords": "lodash-modularized, isregexp", "author": "John-David Dalton (http://allyoucanleet.com/)", "contributors": [ "John-David Dalton (http://allyoucanleet.com/)", diff --git a/lodash.istypedarray/LICENSE b/lodash.istypedarray/LICENSE index b054ca5a3..bcbe13d67 100644 --- a/lodash.istypedarray/LICENSE +++ b/lodash.istypedarray/LICENSE @@ -1,22 +1,23 @@ +The MIT License (MIT) + Copyright 2012-2016 The Dojo Foundation Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors -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: +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 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. +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. diff --git a/lodash.istypedarray/README.md b/lodash.istypedarray/README.md index 7d0a6c29c..b31a8f692 100644 --- a/lodash.istypedarray/README.md +++ b/lodash.istypedarray/README.md @@ -1,4 +1,4 @@ -# lodash.istypedarray v3.0.4 +# lodash.istypedarray v3.0.5 The [lodash](https://lodash.com/) method `_.isTypedArray` exported as a [Node.js](https://nodejs.org/) module. @@ -15,4 +15,4 @@ In Node.js: var isTypedArray = require('lodash.istypedarray'); ``` -See the [documentation](https://lodash.com/docs#isTypedArray) or [package source](https://github.com/lodash/lodash/blob/3.0.4-npm-packages/lodash.istypedarray) for more details. +See the [documentation](https://lodash.com/docs#isTypedArray) or [package source](https://github.com/lodash/lodash/blob/3.0.5-npm-packages/lodash.istypedarray) for more details. diff --git a/lodash.istypedarray/index.js b/lodash.istypedarray/index.js index 544bbb169..155705b98 100644 --- a/lodash.istypedarray/index.js +++ b/lodash.istypedarray/index.js @@ -1,5 +1,5 @@ /** - * lodash 3.0.4 (Custom Build) + * lodash 3.0.5 (Custom Build) * Build: `lodash modularize exports="npm" -o ./` * Copyright 2012-2016 The Dojo Foundation * Based on Underscore.js 1.8.3 @@ -85,7 +85,8 @@ var objectToString = objectProto.toString; * // => false */ function isLength(value) { - return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; } /** @@ -132,7 +133,8 @@ function isObjectLike(value) { * // => false */ function isTypedArray(value) { - return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objectToString.call(value)]; + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[objectToString.call(value)]; } module.exports = isTypedArray; diff --git a/lodash.istypedarray/package.json b/lodash.istypedarray/package.json index 5ea433f07..67f6780b8 100644 --- a/lodash.istypedarray/package.json +++ b/lodash.istypedarray/package.json @@ -1,6 +1,6 @@ { "name": "lodash.istypedarray", - "version": "3.0.4", + "version": "3.0.5", "description": "The lodash method `_.isTypedArray` exported as a module.", "homepage": "https://lodash.com/", "icon": "https://lodash.com/icon.svg", diff --git a/lodash.keys/README.md b/lodash.keys/README.md index 6f77c26b5..2bfad9261 100644 --- a/lodash.keys/README.md +++ b/lodash.keys/README.md @@ -1,4 +1,4 @@ -# lodash.keys v3.0.4 +# lodash.keys v3.0.5 The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.keys` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. @@ -17,4 +17,4 @@ In Node.js/io.js: var keys = require('lodash.keys'); ``` -See the [documentation](https://lodash.com/docs#keys) or [package source](https://github.com/lodash/lodash/blob/3.0.4-npm-packages/lodash.keys) for more details. +See the [documentation](https://lodash.com/docs#keys) or [package source](https://github.com/lodash/lodash/blob/3.0.5-npm-packages/lodash.keys) for more details. diff --git a/lodash.keys/index.js b/lodash.keys/index.js index c070b0450..bc07f0e15 100644 --- a/lodash.keys/index.js +++ b/lodash.keys/index.js @@ -1,5 +1,5 @@ /** - * lodash 3.0.4 (Custom Build) + * lodash 3.0.5 (Custom Build) * Build: `lodash modern modularize exports="npm" -o ./` * Copyright 2012-2015 The Dojo Foundation * Based on Underscore.js 1.8.2 @@ -23,9 +23,8 @@ var propertyIsEnumerable = objectProto.propertyIsEnumerable; var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys; /** - * Used as the maximum length of an array-like value. - * See the [ES spec](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer) - * for more details. + * 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; @@ -76,9 +75,7 @@ function isIndex(value, length) { /** * Checks if `value` is a valid array-like length. * - * **Note:** This function is based on ES `ToLength`. See the - * [ES spec](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength) - * for more details. + * **Note:** This function is based on [`ToLength`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength). * * @private * @param {*} value The value to check. @@ -117,11 +114,9 @@ function shimKeys(object) { } /** - * Checks if `value` is the language type of `Object`. + * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`. * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) * - * **Note:** See the [ES5 spec](https://es5.github.io/#x8) for more details. - * * @static * @memberOf _ * @category Lang @@ -142,7 +137,7 @@ function isObject(value) { // Avoid a V8 JIT bug in Chrome 19-20. // See https://code.google.com/p/v8/issues/detail?id=2291 for more details. var type = typeof value; - return type == 'function' || (value && type == 'object') || false; + return type == 'function' || (!!value && type == 'object'); } /** diff --git a/lodash.keys/package.json b/lodash.keys/package.json index a287e9fbc..e2c510afb 100644 --- a/lodash.keys/package.json +++ b/lodash.keys/package.json @@ -1,6 +1,6 @@ { "name": "lodash.keys", - "version": "3.0.4", + "version": "3.0.5", "description": "The modern build of lodash’s `_.keys` as a module.", "homepage": "https://lodash.com/", "icon": "https://lodash.com/icon.svg", diff --git a/lodash.keysin/README.md b/lodash.keysin/README.md index fcfc1c68c..ccc966785 100644 --- a/lodash.keysin/README.md +++ b/lodash.keysin/README.md @@ -1,4 +1,4 @@ -# lodash.keysin v3.0.4 +# lodash.keysin v3.0.5 The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.keysIn` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. @@ -17,4 +17,4 @@ In Node.js/io.js: var keysIn = require('lodash.keysin'); ``` -See the [documentation](https://lodash.com/docs#keysIn) or [package source](https://github.com/lodash/lodash/blob/3.0.4-npm-packages/lodash.keysin) for more details. +See the [documentation](https://lodash.com/docs#keysIn) or [package source](https://github.com/lodash/lodash/blob/3.0.5-npm-packages/lodash.keysin) for more details. diff --git a/lodash.keysin/index.js b/lodash.keysin/index.js index 266fe860e..0cfb3453d 100644 --- a/lodash.keysin/index.js +++ b/lodash.keysin/index.js @@ -1,8 +1,8 @@ /** - * lodash 3.0.4 (Custom Build) + * lodash 3.0.5 (Custom Build) * Build: `lodash modern modularize exports="npm" -o ./` * Copyright 2012-2015 The Dojo Foundation - * Based on Underscore.js 1.8.2 + * Based on Underscore.js 1.8.3 * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ @@ -34,6 +34,12 @@ var MAX_SAFE_INTEGER = Math.pow(2, 53) - 1; var support = {}; (function(x) { + var Ctor = function() { this.x = x; }, + object = { '0': x, 'length': x }, + props = []; + + Ctor.prototype = { 'valueOf': x, 'y': x }; + for (var key in new Ctor) { props.push(key); } /** * Detect if `arguments` object indexes are non-enumerable. @@ -41,8 +47,8 @@ var support = {}; * In Firefox < 4, IE < 9, PhantomJS, and Safari < 5.1 `arguments` object * indexes are non-enumerable. Chrome < 25 and Node.js < 0.11.0 treat * `arguments` object indexes as non-enumerable and fail `hasOwnProperty` - * checks for indexes that exceed their function's formal parameters with - * associated values of `0`. + * checks for indexes that exceed the number of function parameters and + * whose associated argument values are `0`. * * @memberOf _.support * @type boolean @@ -52,7 +58,7 @@ var support = {}; } catch(e) { support.nonEnumArgs = true; } -}(0, 0)); +}(1, 0)); /** * Checks if `value` is a valid array-like index. @@ -116,7 +122,7 @@ function isObject(value) { * @static * @memberOf _ * @category Object - * @param {Object} object The object to inspect. + * @param {Object} object The object to query. * @returns {Array} Returns the array of property names. * @example * diff --git a/lodash.keysin/package.json b/lodash.keysin/package.json index 27c8ffa5d..22b1feb15 100644 --- a/lodash.keysin/package.json +++ b/lodash.keysin/package.json @@ -1,6 +1,6 @@ { "name": "lodash.keysin", - "version": "3.0.4", + "version": "3.0.5", "description": "The modern build of lodash’s `_.keysIn` as a module.", "homepage": "https://lodash.com/", "icon": "https://lodash.com/icon.svg",