1.3.5 • Published 6 years ago

object-assign-merge v1.3.5

Weekly downloads
4
License
ISC
Repository
-
Last release
6 years ago
var objectAssign = require("object-assign-merge");
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);

objectAssign.diff({ a: "a" }, { a: "a" }); //undefined
objectAssign.diff({ a: "a" }, { a: "ab" }); //{"a":{left:"a",right:"ab"}}
objectAssign.diff({ a: "a", b: "b" }, { a: "ab", c: "c" }); //{"a":{left:"a",right:"ab"},"b":{left:"b",right:undefined},"c":{left:undefined,right:"c"}}
objectAssign.diff([1, 2, 3, 5], [1, 2, 4]); //[undefined,undefined,{left:3,right:4},{left:5,right:undefined}]

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);
1.3.5

6 years ago

1.3.4

6 years ago

1.3.3

6 years ago

1.3.2

6 years ago

1.3.1

6 years ago

1.3.0

6 years ago

1.2.6

7 years ago

1.2.5

7 years ago

1.2.4

7 years ago

1.2.3

7 years ago

1.2.2

7 years ago

1.2.1

7 years ago

1.2.0

7 years ago

1.1.0

7 years ago

1.0.8

7 years ago