1.1.3 • Published 5 years ago
@evokegroup/extend v1.1.3
@evokegroup/extend
Combines two or more arrays or objects into the first.
extend(arguments)
Parameter | Type | Default | Description |
---|---|---|---|
1 | boolean | false | Optional. true if second argument contain function settings. |
2 | object | See Settings | Required if the first argument is boolean . The function settings. |
... | Array , object | The arrays or objects to combine |
Settings
Name | Type | Default | Description |
---|---|---|---|
allowNull | boolean | false | Allow a value of null to override the object's property value |
allowUndefined | boolean | false | Allow a value of undefined to override the object's property value |
deleteUndefined | boolean | false | Allow a value of undefined to delete the object's property |
allowEmptyStrings | boolean | false | Allow an empty string to override the object's property value |
mergeArrays | boolean | true | Merge arrays |
allowArrayDuplicates | boolean | false | Allow duplicate values in arrays |
Usage
const extend = require('@evokegroup/extend');
console.log(extend({
a: 1,
b: 2,
c: [1, 2, 3],
d: {
e: 5
},
g: 'hello world'
}, {
aa: 11,
b: null,
c: [1, 4],
d: {
f: 6
},
g: ''
})); // Expected result: {a: 1, b: 2, aa: 11, c: [1, 2, 3, 4], d: {e: 5, f: 6}, g: 'hello world'}
console.log(extend(true, {allowNull: true}, {
a: 1,
b: 2
}, {
b: null
})); // Expected result: {a: 1, b: null}
console.log(extend(true, {allowUndefined: true}, {
a: 1,
b: 2
}, {
b: undefined
})); // Expected result: {a: 1, b: undefined}
console.log(extend(true, {deleteUndefined: true}, {
a: 1,
b: 2
}, {
b: undefined
})); // Expected result: {a: 1}
console.log(extend(true, {allowEmptyStrings: true}, {
a: 1,
b: 'hello world'
}, {
b: ' '
})); // Expected result: {a: 1, b: ' '}
console.log(extend(true, {mergeArrays: false}, {
a: 1,
b: [1, 2, 3]
}, {
b: [1, 4]
})); // Expected result: {a: 1, b: [1, 4]}
console.log(extend(true, {allowArrayDuplicates: true}, {
a: 1,
b: [1, 2, 3]
}, {
b: [1, 4]
})); // Expected result: {a: 1, b: [1, 2, 3, 1, 4]}
console.log(extend([1, 2, 3], [1, 4])); // Expected result: [1, 2, 3, 4]
console.log(extend([], 1, 1, 2, 2, 3, 3, 4, 4)); // Expected result: [1, 2, 3, 4]