1.1.3 • Published 5 years ago

@evokegroup/extend v1.1.3

Weekly downloads
10
License
ISC
Repository
bitbucket
Last release
5 years ago

@evokegroup/extend

Combines two or more arrays or objects into the first.

extend(arguments)

ParameterTypeDefaultDescription
1booleanfalseOptional. true if second argument contain function settings.
2objectSee SettingsRequired if the first argument is boolean. The function settings.
...Array, objectThe arrays or objects to combine

Settings

NameTypeDefaultDescription
allowNullbooleanfalseAllow a value of null to override the object's property value
allowUndefinedbooleanfalseAllow a value of undefined to override the object's property value
deleteUndefinedbooleanfalseAllow a value of undefined to delete the object's property
allowEmptyStringsbooleanfalseAllow an empty string to override the object's property value
mergeArraysbooleantrueMerge arrays
allowArrayDuplicatesbooleanfalseAllow 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]
1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago