1.0.8 • Published 7 years ago
objectassign v1.0.8
var objectAssign = require('objectassign')
var a = { a: 0 };
var b = { a: 1, b: 2 };
var r;
r = objectAssign.assign({ onlyUseToField: true }, a, b);
//{ a: 0 } '---' { a: 1, b: 2 } '---' { a: 1 }
r = objectAssign.assign(a, b)
//{ a: 0 } '---' { a: 1, b: 2 } '---' { a: 1, b: 2 }
r = objectAssign.assign({ hasBuildNewObject: false }, a, b)
//{ a: 1, b: 2 } '---' { a: 1, b: 2 } '---' { a: 1, b: 2 }
r = objectAssign.assign({}, a, b, { c: 3 }, { d: 4 })
//{ a: 1, b: 2 } '---' { a: 1, b: 2 } '---' { a: 1, b: 2, c: 3, d: 4 }
a.arr = [1, 2, 3]
b.arr = [4, 5, 6]
r = objectAssign.assign(a, b)
//{ a: 1, b: 2, arr: [ 1, 2, 3 ] } '---' { a: 1, b: 2, arr: [ 4, 5, 6 ] } '---' { a: 1, b: 2, arr: [ 4, 5, 6 ] }
r = objectAssign.assign({ hasArrayPush: true }, a, b)
//{ a: 1, b: 2, arr: [ 1, 2, 3 ] } '---' { a: 1, b: 2, arr: [ 4, 5, 6 ] } '---' { a: 1, b: 2, arr: [ 1, 2, 3, 4, 5, 6 ] }
r = objectAssign.merge(a, b, { hasArrayPush: false, hasBuildNewObject: true, onlyUseToField: false })
r = objectAssign.assign(a, b)
r = objectAssign.assign({ hasArrayPush: false, hasBuildNewObject: true, onlyUseToField: false }, a, b, {}, {})
console.log(a, '---', b, '---', r)
API
export interface options {
onlyUseToField?: boolean, // default value false
hasBuildNewObject?: boolean,//default value true
hasArrayPush?: boolean//default value false
}
export function assign(options: options, ...objects: any[]);
export function assign(...objects: any[]);
export function merge(to: any, form: any, options: options);
export function merge(to: any, form: any);