diff options
Diffstat (limited to 'node_modules/object-assign')
| -rw-r--r-- | node_modules/object-assign/index.js | 90 | ||||
| -rw-r--r-- | node_modules/object-assign/license | 21 | ||||
| -rw-r--r-- | node_modules/object-assign/package.json | 81 | ||||
| -rw-r--r-- | node_modules/object-assign/readme.md | 61 | 
4 files changed, 253 insertions, 0 deletions
| diff --git a/node_modules/object-assign/index.js b/node_modules/object-assign/index.js new file mode 100644 index 0000000..0930cf8 --- /dev/null +++ b/node_modules/object-assign/index.js @@ -0,0 +1,90 @@ +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ + +'use strict'; +/* eslint-disable no-unused-vars */ +var getOwnPropertySymbols = Object.getOwnPropertySymbols; +var hasOwnProperty = Object.prototype.hasOwnProperty; +var propIsEnumerable = Object.prototype.propertyIsEnumerable; + +function toObject(val) { +	if (val === null || val === undefined) { +		throw new TypeError('Object.assign cannot be called with null or undefined'); +	} + +	return Object(val); +} + +function shouldUseNative() { +	try { +		if (!Object.assign) { +			return false; +		} + +		// Detect buggy property enumeration order in older V8 versions. + +		// https://bugs.chromium.org/p/v8/issues/detail?id=4118 +		var test1 = new String('abc');  // eslint-disable-line no-new-wrappers +		test1[5] = 'de'; +		if (Object.getOwnPropertyNames(test1)[0] === '5') { +			return false; +		} + +		// https://bugs.chromium.org/p/v8/issues/detail?id=3056 +		var test2 = {}; +		for (var i = 0; i < 10; i++) { +			test2['_' + String.fromCharCode(i)] = i; +		} +		var order2 = Object.getOwnPropertyNames(test2).map(function (n) { +			return test2[n]; +		}); +		if (order2.join('') !== '0123456789') { +			return false; +		} + +		// https://bugs.chromium.org/p/v8/issues/detail?id=3056 +		var test3 = {}; +		'abcdefghijklmnopqrst'.split('').forEach(function (letter) { +			test3[letter] = letter; +		}); +		if (Object.keys(Object.assign({}, test3)).join('') !== +				'abcdefghijklmnopqrst') { +			return false; +		} + +		return true; +	} catch (err) { +		// We don't expect any of the above to throw, but better to be safe. +		return false; +	} +} + +module.exports = shouldUseNative() ? Object.assign : function (target, source) { +	var from; +	var to = toObject(target); +	var symbols; + +	for (var s = 1; s < arguments.length; s++) { +		from = Object(arguments[s]); + +		for (var key in from) { +			if (hasOwnProperty.call(from, key)) { +				to[key] = from[key]; +			} +		} + +		if (getOwnPropertySymbols) { +			symbols = getOwnPropertySymbols(from); +			for (var i = 0; i < symbols.length; i++) { +				if (propIsEnumerable.call(from, symbols[i])) { +					to[symbols[i]] = from[symbols[i]]; +				} +			} +		} +	} + +	return to; +}; diff --git a/node_modules/object-assign/license b/node_modules/object-assign/license new file mode 100644 index 0000000..654d0bf --- /dev/null +++ b/node_modules/object-assign/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com) + +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. diff --git a/node_modules/object-assign/package.json b/node_modules/object-assign/package.json new file mode 100644 index 0000000..d4be49f --- /dev/null +++ b/node_modules/object-assign/package.json @@ -0,0 +1,81 @@ +{ +  "_args": [ +    [ +      "object-assign@4.1.1", +      "/home/dstaesse/git/website" +    ] +  ], +  "_development": true, +  "_from": "object-assign@4.1.1", +  "_id": "object-assign@4.1.1", +  "_inBundle": false, +  "_integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", +  "_location": "/object-assign", +  "_phantomChildren": {}, +  "_requested": { +    "type": "version", +    "registry": true, +    "raw": "object-assign@4.1.1", +    "name": "object-assign", +    "escapedName": "object-assign", +    "rawSpec": "4.1.1", +    "saveSpec": null, +    "fetchSpec": "4.1.1" +  }, +  "_requiredBy": [ +    "/cosmiconfig", +    "/postcss-load-config", +    "/postcss-load-options", +    "/postcss-load-plugins" +  ], +  "_resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", +  "_spec": "4.1.1", +  "_where": "/home/dstaesse/git/website", +  "author": { +    "name": "Sindre Sorhus", +    "email": "sindresorhus@gmail.com", +    "url": "sindresorhus.com" +  }, +  "bugs": { +    "url": "https://github.com/sindresorhus/object-assign/issues" +  }, +  "description": "ES2015 `Object.assign()` ponyfill", +  "devDependencies": { +    "ava": "^0.16.0", +    "lodash": "^4.16.4", +    "matcha": "^0.7.0", +    "xo": "^0.16.0" +  }, +  "engines": { +    "node": ">=0.10.0" +  }, +  "files": [ +    "index.js" +  ], +  "homepage": "https://github.com/sindresorhus/object-assign#readme", +  "keywords": [ +    "object", +    "assign", +    "extend", +    "properties", +    "es2015", +    "ecmascript", +    "harmony", +    "ponyfill", +    "prollyfill", +    "polyfill", +    "shim", +    "browser" +  ], +  "license": "MIT", +  "name": "object-assign", +  "repository": { +    "type": "git", +    "url": "git+https://github.com/sindresorhus/object-assign.git" +  }, +  "scripts": { +    "bench": "matcha bench.js", +    "test": "xo && ava" +  }, +  "version": "4.1.1" +} diff --git a/node_modules/object-assign/readme.md b/node_modules/object-assign/readme.md new file mode 100644 index 0000000..1be09d3 --- /dev/null +++ b/node_modules/object-assign/readme.md @@ -0,0 +1,61 @@ +# object-assign [](https://travis-ci.org/sindresorhus/object-assign) + +> ES2015 [`Object.assign()`](http://www.2ality.com/2014/01/object-assign.html) [ponyfill](https://ponyfill.com) + + +## Use the built-in + +Node.js 4 and up, as well as every evergreen browser (Chrome, Edge, Firefox, Opera, Safari), +support `Object.assign()` :tada:. If you target only those environments, then by all +means, use `Object.assign()` instead of this package. + + +## Install + +``` +$ npm install --save object-assign +``` + + +## Usage + +```js +const objectAssign = require('object-assign'); + +objectAssign({foo: 0}, {bar: 1}); +//=> {foo: 0, bar: 1} + +// multiple sources +objectAssign({foo: 0}, {bar: 1}, {baz: 2}); +//=> {foo: 0, bar: 1, baz: 2} + +// overwrites equal keys +objectAssign({foo: 0}, {foo: 1}, {foo: 2}); +//=> {foo: 2} + +// ignores null and undefined sources +objectAssign({foo: 0}, null, {bar: 1}, undefined); +//=> {foo: 0, bar: 1} +``` + + +## API + +### objectAssign(target, [source, ...]) + +Assigns enumerable own properties of `source` objects to the `target` object and returns the `target` object. Additional `source` objects will overwrite previous ones. + + +## Resources + +- [ES2015 spec - Object.assign](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign) + + +## Related + +- [deep-assign](https://github.com/sindresorhus/deep-assign) - Recursive `Object.assign()` + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) | 
