pax_global_header00006660000000000000000000000064135107377030014520gustar00rootroot0000000000000052 comment=3cb102979a09f4780838c9fb8e8d392eeac3d1aa is-mergeable-object-1.1.1/000077500000000000000000000000001351073770300153205ustar00rootroot00000000000000is-mergeable-object-1.1.1/.gitignore000066400000000000000000000000151351073770300173040ustar00rootroot00000000000000node_modules is-mergeable-object-1.1.1/index.d.ts000066400000000000000000000001341351073770300172170ustar00rootroot00000000000000declare function isMergeableObject(value: any): boolean; export default isMergeableObject; is-mergeable-object-1.1.1/index.js000066400000000000000000000013561351073770300167720ustar00rootroot00000000000000module.exports = function isMergeableObject(value) { return isNonNullObject(value) && !isSpecial(value) } function isNonNullObject(value) { return !!value && typeof value === 'object' } function isSpecial(value) { var stringValue = Object.prototype.toString.call(value) return stringValue === '[object RegExp]' || stringValue === '[object Date]' || isReactElement(value) } // see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25 var canUseSymbol = typeof Symbol === 'function' && Symbol.for var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7 function isReactElement(value) { return value.$$typeof === REACT_ELEMENT_TYPE } is-mergeable-object-1.1.1/package-lock.json000066400000000000000000000105201351073770300205320ustar00rootroot00000000000000{ "name": "is-mergeable-object", "version": "1.1.1", "lockfileVersion": 1, "requires": true, "dependencies": { "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, "escodegen": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.1.tgz", "integrity": "sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==", "dev": true, "requires": { "esprima": "^3.1.3", "estraverse": "^4.2.0", "esutils": "^2.0.2", "optionator": "^0.8.1", "source-map": "~0.6.1" }, "dependencies": { "esprima": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", "dev": true } } }, "esprima": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", "dev": true }, "estraverse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", "dev": true }, "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, "jsmd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/jsmd/-/jsmd-1.0.1.tgz", "integrity": "sha512-fcNxki98MSYdJyWj9jjbSrQkd+ptYLRgb3HgLMZxALI9TznqbqmTImBhWei2GkOSerX84Ve8Swq6AYqCrti8dw==", "dev": true, "requires": { "escodegen": "^1.9.1", "esprima": "^2.7.3", "estraverse": "^4.2.0", "marked": "0.6.2", "v8-argv": "github:jkroso/v8-argv#1.1.1" } }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" } }, "marked": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/marked/-/marked-0.6.2.tgz", "integrity": "sha512-LqxwVH3P/rqKX4EKGz7+c2G9r98WeM/SW34ybhgNGhUQNKtf1GmmSkJ6cDGJ/t6tiyae49qRkpyTw2B9HOrgUA==", "dev": true }, "optionator": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.4", "levn": "~0.3.0", "prelude-ls": "~1.1.2", "type-check": "~0.3.2", "wordwrap": "~1.0.0" } }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "optional": true }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { "prelude-ls": "~1.1.2" } }, "v8-argv": { "version": "github:jkroso/v8-argv#284f84379e292eb956a5e7b66fb953ec4974385e", "from": "github:jkroso/v8-argv#1.1.1", "dev": true }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true } } } is-mergeable-object-1.1.1/package.json000066400000000000000000000013031351073770300176030ustar00rootroot00000000000000{ "name": "is-mergeable-object", "version": "1.1.1", "description": "Check whether or not a value is an object that makes sense to iterate over", "main": "index.js", "types": "index.d.ts", "scripts": { "test": "jsmd readme.md" }, "repository": { "type": "git", "url": "git+ssh://git@github.com/TehShrike/is-mergeable-object.git" }, "keywords": [ "object", "iterate", "recursive", "merge", "deep" ], "author": "TehShrike", "license": "MIT", "bugs": { "url": "https://github.com/TehShrike/is-mergeable-object/issues" }, "homepage": "https://github.com/TehShrike/is-mergeable-object#readme", "devDependencies": { "jsmd": "^1.0.1" } } is-mergeable-object-1.1.1/readme.md000066400000000000000000000012771351073770300171060ustar00rootroot00000000000000# is-mergeable-object The biggest difficulty deep merge libraries run into is figuring out which properties of an object should be recursively iterated over. This module contains the algorithm used by [`deepmerge`](https://github.com/KyleAMathews/deepmerge/). ```js isMergeableObject(null) // => false isMergeableObject({}) // => true isMergeableObject(new RegExp('wat')) // => false isMergeableObject(undefined) // => false isMergeableObject(new Object()) // => true isMergeableObject(new Date()) // => false isMergeableObject(someReactElement) // => false ```