removed accidentally commited node_modules
This commit is contained in:
parent
a5a49e7ec9
commit
96b0c33583
7
node_modules/is-plain-obj/index.js
generated
vendored
7
node_modules/is-plain-obj/index.js
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
var toString = Object.prototype.toString;
|
|
||||||
|
|
||||||
module.exports = function (x) {
|
|
||||||
var prototype;
|
|
||||||
return toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({}));
|
|
||||||
};
|
|
||||||
21
node_modules/is-plain-obj/license
generated
vendored
21
node_modules/is-plain-obj/license
generated
vendored
@ -1,21 +0,0 @@
|
|||||||
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.
|
|
||||||
68
node_modules/is-plain-obj/package.json
generated
vendored
68
node_modules/is-plain-obj/package.json
generated
vendored
@ -1,68 +0,0 @@
|
|||||||
{
|
|
||||||
"_from": "is-plain-obj@^1.1",
|
|
||||||
"_id": "is-plain-obj@1.1.0",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
|
|
||||||
"_location": "/is-plain-obj",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "range",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "is-plain-obj@^1.1",
|
|
||||||
"name": "is-plain-obj",
|
|
||||||
"escapedName": "is-plain-obj",
|
|
||||||
"rawSpec": "^1.1",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "^1.1"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/merge-options"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
|
|
||||||
"_shasum": "71a50c8429dfca773c92a390a4a03b39fcd51d3e",
|
|
||||||
"_spec": "is-plain-obj@^1.1",
|
|
||||||
"_where": "/Users/jan/Development/nodejs/homecontrol-control-base/node_modules/merge-options",
|
|
||||||
"author": {
|
|
||||||
"name": "Sindre Sorhus",
|
|
||||||
"email": "sindresorhus@gmail.com",
|
|
||||||
"url": "sindresorhus.com"
|
|
||||||
},
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/sindresorhus/is-plain-obj/issues"
|
|
||||||
},
|
|
||||||
"bundleDependencies": false,
|
|
||||||
"deprecated": false,
|
|
||||||
"description": "Check if a value is a plain object",
|
|
||||||
"devDependencies": {
|
|
||||||
"ava": "0.0.4"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.10.0"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"index.js"
|
|
||||||
],
|
|
||||||
"homepage": "https://github.com/sindresorhus/is-plain-obj#readme",
|
|
||||||
"keywords": [
|
|
||||||
"obj",
|
|
||||||
"object",
|
|
||||||
"is",
|
|
||||||
"check",
|
|
||||||
"test",
|
|
||||||
"type",
|
|
||||||
"plain",
|
|
||||||
"vanilla",
|
|
||||||
"pure",
|
|
||||||
"simple"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"name": "is-plain-obj",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/sindresorhus/is-plain-obj.git"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"test": "node test.js"
|
|
||||||
},
|
|
||||||
"version": "1.1.0"
|
|
||||||
}
|
|
||||||
35
node_modules/is-plain-obj/readme.md
generated
vendored
35
node_modules/is-plain-obj/readme.md
generated
vendored
@ -1,35 +0,0 @@
|
|||||||
# is-plain-obj [](https://travis-ci.org/sindresorhus/is-plain-obj)
|
|
||||||
|
|
||||||
> Check if a value is a plain object
|
|
||||||
|
|
||||||
An object is plain if it's created by either `{}`, `new Object()` or `Object.create(null)`.
|
|
||||||
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
```
|
|
||||||
$ npm install --save is-plain-obj
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
```js
|
|
||||||
var isPlainObj = require('is-plain-obj');
|
|
||||||
|
|
||||||
isPlainObj({foo: 'bar'});
|
|
||||||
//=> true
|
|
||||||
|
|
||||||
isPlainObj([1, 2, 3]);
|
|
||||||
//=> false
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## Related
|
|
||||||
|
|
||||||
- [is-obj](https://github.com/sindresorhus/is-obj) - Check if a value is an object
|
|
||||||
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
MIT © [Sindre Sorhus](http://sindresorhus.com)
|
|
||||||
163
node_modules/merge-options/index.js
generated
vendored
163
node_modules/merge-options/index.js
generated
vendored
@ -1,163 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
const isOptionObject = require('is-plain-obj');
|
|
||||||
|
|
||||||
const hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
||||||
const propIsEnumerable = Object.propertyIsEnumerable;
|
|
||||||
const defineProperty = (obj, name, value) => Object.defineProperty(obj, name, {
|
|
||||||
value,
|
|
||||||
writable: true,
|
|
||||||
enumerable: true,
|
|
||||||
configurable: true
|
|
||||||
});
|
|
||||||
|
|
||||||
const globalThis = this;
|
|
||||||
const defaultMergeOpts = {
|
|
||||||
concatArrays: false
|
|
||||||
};
|
|
||||||
|
|
||||||
const getEnumerableOwnPropertyKeys = value => {
|
|
||||||
const keys = [];
|
|
||||||
|
|
||||||
for (const key in value) {
|
|
||||||
if (hasOwnProperty.call(value, key)) {
|
|
||||||
keys.push(key);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* istanbul ignore else */
|
|
||||||
if (Object.getOwnPropertySymbols) {
|
|
||||||
const symbols = Object.getOwnPropertySymbols(value);
|
|
||||||
|
|
||||||
for (let i = 0; i < symbols.length; i++) {
|
|
||||||
if (propIsEnumerable.call(value, symbols[i])) {
|
|
||||||
keys.push(symbols[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return keys;
|
|
||||||
};
|
|
||||||
|
|
||||||
function clone(value) {
|
|
||||||
if (Array.isArray(value)) {
|
|
||||||
return cloneArray(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isOptionObject(value)) {
|
|
||||||
return cloneOptionObject(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
|
|
||||||
function cloneArray(array) {
|
|
||||||
const result = array.slice(0, 0);
|
|
||||||
|
|
||||||
getEnumerableOwnPropertyKeys(array).forEach(key => {
|
|
||||||
defineProperty(result, key, clone(array[key]));
|
|
||||||
});
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
function cloneOptionObject(obj) {
|
|
||||||
const result = Object.getPrototypeOf(obj) === null ? Object.create(null) : {};
|
|
||||||
|
|
||||||
getEnumerableOwnPropertyKeys(obj).forEach(key => {
|
|
||||||
defineProperty(result, key, clone(obj[key]));
|
|
||||||
});
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param merged {already cloned}
|
|
||||||
* @return {cloned Object}
|
|
||||||
*/
|
|
||||||
const mergeKeys = (merged, source, keys, mergeOpts) => {
|
|
||||||
keys.forEach(key => {
|
|
||||||
// Do not recurse into prototype chain of merged
|
|
||||||
if (key in merged && merged[key] !== Object.getPrototypeOf(merged)) {
|
|
||||||
defineProperty(merged, key, merge(merged[key], source[key], mergeOpts));
|
|
||||||
} else {
|
|
||||||
defineProperty(merged, key, clone(source[key]));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return merged;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param merged {already cloned}
|
|
||||||
* @return {cloned Object}
|
|
||||||
*
|
|
||||||
* see [Array.prototype.concat ( ...arguments )](http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.concat)
|
|
||||||
*/
|
|
||||||
const concatArrays = (merged, source, mergeOpts) => {
|
|
||||||
let result = merged.slice(0, 0);
|
|
||||||
let resultIndex = 0;
|
|
||||||
|
|
||||||
[merged, source].forEach(array => {
|
|
||||||
const indices = [];
|
|
||||||
|
|
||||||
// `result.concat(array)` with cloning
|
|
||||||
for (let k = 0; k < array.length; k++) {
|
|
||||||
if (!hasOwnProperty.call(array, k)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
indices.push(String(k));
|
|
||||||
|
|
||||||
if (array === merged) {
|
|
||||||
// Already cloned
|
|
||||||
defineProperty(result, resultIndex++, array[k]);
|
|
||||||
} else {
|
|
||||||
defineProperty(result, resultIndex++, clone(array[k]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Merge non-index keys
|
|
||||||
result = mergeKeys(result, array, getEnumerableOwnPropertyKeys(array).filter(key => {
|
|
||||||
return indices.indexOf(key) === -1;
|
|
||||||
}), mergeOpts);
|
|
||||||
});
|
|
||||||
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param merged {already cloned}
|
|
||||||
* @return {cloned Object}
|
|
||||||
*/
|
|
||||||
function merge(merged, source, mergeOpts) {
|
|
||||||
if (mergeOpts.concatArrays && Array.isArray(merged) && Array.isArray(source)) {
|
|
||||||
return concatArrays(merged, source, mergeOpts);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isOptionObject(source) || !isOptionObject(merged)) {
|
|
||||||
return clone(source);
|
|
||||||
}
|
|
||||||
|
|
||||||
return mergeKeys(merged, source, getEnumerableOwnPropertyKeys(source), mergeOpts);
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = function () {
|
|
||||||
const mergeOpts = merge(clone(defaultMergeOpts), (this !== globalThis && this) || {}, defaultMergeOpts);
|
|
||||||
let merged = {foobar: {}};
|
|
||||||
|
|
||||||
for (let i = 0; i < arguments.length; i++) {
|
|
||||||
const option = arguments[i];
|
|
||||||
|
|
||||||
if (option === undefined) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isOptionObject(option)) {
|
|
||||||
throw new TypeError('`' + option + '` is not an Option Object');
|
|
||||||
}
|
|
||||||
|
|
||||||
merged = merge(merged, {foobar: option}, mergeOpts);
|
|
||||||
}
|
|
||||||
|
|
||||||
return merged.foobar;
|
|
||||||
};
|
|
||||||
21
node_modules/merge-options/license
generated
vendored
21
node_modules/merge-options/license
generated
vendored
@ -1,21 +0,0 @@
|
|||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2016-2018 Michael Mayer
|
|
||||||
|
|
||||||
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.
|
|
||||||
75
node_modules/merge-options/package.json
generated
vendored
75
node_modules/merge-options/package.json
generated
vendored
@ -1,75 +0,0 @@
|
|||||||
{
|
|
||||||
"_from": "merge-options",
|
|
||||||
"_id": "merge-options@1.0.1",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==",
|
|
||||||
"_location": "/merge-options",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "tag",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "merge-options",
|
|
||||||
"name": "merge-options",
|
|
||||||
"escapedName": "merge-options",
|
|
||||||
"rawSpec": "",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "latest"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"#USER",
|
|
||||||
"/"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz",
|
|
||||||
"_shasum": "2a64b24457becd4e4dc608283247e94ce589aa32",
|
|
||||||
"_spec": "merge-options",
|
|
||||||
"_where": "/Users/jan/Development/nodejs/homecontrol-control-base",
|
|
||||||
"author": {
|
|
||||||
"name": "Michael Mayer",
|
|
||||||
"email": "michael@schnittstabil.de",
|
|
||||||
"url": "schnittstabil.de"
|
|
||||||
},
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/schnittstabil/merge-options/issues"
|
|
||||||
},
|
|
||||||
"bundleDependencies": false,
|
|
||||||
"dependencies": {
|
|
||||||
"is-plain-obj": "^1.1"
|
|
||||||
},
|
|
||||||
"deprecated": false,
|
|
||||||
"description": "Merge Option Objects",
|
|
||||||
"devDependencies": {
|
|
||||||
"ava": "^0.25",
|
|
||||||
"coveralls": "^3.0",
|
|
||||||
"nyc": "^11.7",
|
|
||||||
"rimraf": "^2.5",
|
|
||||||
"xo": "^0.20"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=4"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"index.js"
|
|
||||||
],
|
|
||||||
"homepage": "https://github.com/schnittstabil/merge-options#readme",
|
|
||||||
"keywords": [
|
|
||||||
"merge",
|
|
||||||
"options",
|
|
||||||
"deep",
|
|
||||||
"plain",
|
|
||||||
"object",
|
|
||||||
"extend",
|
|
||||||
"clone"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"name": "merge-options",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/schnittstabil/merge-options.git"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"clean": "rimraf .nyc_output/ coverage/",
|
|
||||||
"coverage-html": "nyc ava && nyc report --reporter=html",
|
|
||||||
"test": "xo && nyc ava"
|
|
||||||
},
|
|
||||||
"version": "1.0.1"
|
|
||||||
}
|
|
||||||
102
node_modules/merge-options/readme.md
generated
vendored
102
node_modules/merge-options/readme.md
generated
vendored
@ -1,102 +0,0 @@
|
|||||||
# merge-options [](https://travis-ci.org/schnittstabil/merge-options) [](https://coveralls.io/github/schnittstabil/merge-options?branch=master) [](https://github.com/sindresorhus/xo)
|
|
||||||
|
|
||||||
|
|
||||||
> Merge Option Objects
|
|
||||||
|
|
||||||
`merge-options` considers [plain objects](https://github.com/sindresorhus/is-plain-obj) as *Option Objects*, everything else as *Option Values*.
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
```
|
|
||||||
$ npm install --save merge-options
|
|
||||||
```
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
```js
|
|
||||||
const mergeOptions = require('merge-options');
|
|
||||||
|
|
||||||
mergeOptions({foo: 0}, {bar: 1}, {baz: 2}, {bar: 3})
|
|
||||||
//=> {foo: 0, bar: 3, baz: 2}
|
|
||||||
|
|
||||||
mergeOptions({nested: {unicorns: 'none'}}, {nested: {unicorns: 'many'}})
|
|
||||||
//=> {nested: {unicorns: 'many'}}
|
|
||||||
|
|
||||||
mergeOptions({[Symbol.for('key')]: 0}, {[Symbol.for('key')]: 42})
|
|
||||||
//=> {Symbol(key): 42}
|
|
||||||
```
|
|
||||||
|
|
||||||
## API
|
|
||||||
|
|
||||||
### mergeOptions(option1, ...options)<br/>mergeOptions.call(config, option1, ...options)<br/>mergeOptions.apply(config, [option1, ...options])
|
|
||||||
|
|
||||||
`mergeOptions` recursively merges one or more *Option Objects* into a new one and returns that. The `options` are merged in order, thus *Option Values* of additional `options` take precedence over previous ones.
|
|
||||||
|
|
||||||
The merging does not alter the passed `option` arguments, taking roughly the following steps:
|
|
||||||
* recursively cloning<sup><a href="#note1">[1]</a></sup> *Option Objects* and [arrays](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray) until reaching *Option Values*
|
|
||||||
* copying<sup><a href="#note1">[1]</a></sup> references to *Option Values* to the result object
|
|
||||||
|
|
||||||
|
|
||||||
```js
|
|
||||||
const defaultOpts = {
|
|
||||||
fn: () => false, // functions are Option Values
|
|
||||||
promise: Promise.reject(new Error()), // all non-plain objects are Option Values
|
|
||||||
array: ['foo'], // arrays are Option Values
|
|
||||||
nested: {unicorns: 'none'} // {…} is plain, therefore an Option Object
|
|
||||||
};
|
|
||||||
|
|
||||||
const opts = {
|
|
||||||
fn: () => true, // [1]
|
|
||||||
promise: Promise.resolve('bar'), // [2]
|
|
||||||
array: ['baz'], // [3]
|
|
||||||
nested: {unicorns: 'many'} // [4]
|
|
||||||
};
|
|
||||||
|
|
||||||
mergeOptions(defaultOpts, opts)
|
|
||||||
//=>
|
|
||||||
{
|
|
||||||
fn: [Function], // === [1]
|
|
||||||
promise: Promise { 'bar' }, // === [2]
|
|
||||||
array: ['baz'], // !== [3] (arrays are cloned)
|
|
||||||
nested: {unicorns: 'many'} // !== [4] (Option Objects are cloned)
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
#### config
|
|
||||||
|
|
||||||
Type: `object`
|
|
||||||
|
|
||||||
##### config.concatArrays
|
|
||||||
|
|
||||||
Type: `boolean`<br/>Default: `false`
|
|
||||||
|
|
||||||
Concatenate arrays:
|
|
||||||
|
|
||||||
```js
|
|
||||||
mergeOptions({src: ['src/**']}, {src: ['test/**']})
|
|
||||||
//=> {src: ['test/**']}
|
|
||||||
|
|
||||||
// Via call
|
|
||||||
mergeOptions.call({concatArrays: true}, {src: ['src/**']}, {src: ['test/**']})
|
|
||||||
//=> {src: ['src/**', 'test/**']}
|
|
||||||
|
|
||||||
// Via apply
|
|
||||||
mergeOptions.apply({concatArrays: true}, [{src: ['src/**']}, {src: ['test/**']}])
|
|
||||||
//=> {src: ['src/**', 'test/**']}
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## Related
|
|
||||||
|
|
||||||
* See [object-assign](https://github.com/sindresorhus/object-assign) if you need a ES2015 Object.assign() ponyfill
|
|
||||||
* See [deep-assign](https://github.com/sindresorhus/deep-assign) if you need to do Object.assign() recursively
|
|
||||||
|
|
||||||
## Notes
|
|
||||||
|
|
||||||
<ol>
|
|
||||||
<li id="note1">copying and cloning take only enumerable own properties into account</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
MIT © [Michael Mayer](http://schnittstabil.de)
|
|
||||||
Loading…
Reference in New Issue
Block a user