1.0.8 • Published 7 years ago

objectassign v1.0.8

Weekly downloads
2
License
ISC
Repository
-
Last release
7 years ago
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);