util-mix
Object mixing methods
Usage
var mix = ;var Mixer = ; var o = ; // { a: 1, b: 2 } var mixer = ;o = mixer; // { a: 0, b: 0 }o = mixer; // { a: 0, b: 0, c: 1 }
mix(receiver, src1, src2,...)
Mix own properties supplied by src1, src2,..., into receiver, which must be a non-null object.
Same key causes overwriting, the later appearance in arguments the winner.
The receiver will be returned.
var r = {};var o = ; o === r; // trueo; // { x:1, y:2 }
mix-undef(receiver, src1, src2,...)
Same with mix
, except that properties are only mixed when not defined in receiver
.
var mix = ;var o = x: 1 ;; o; // { x: 1, y: 2, z: 3 }
merge(src1, src2,...)
Same as mix({}, src1, src2,...)
.
var r = {};var o = ; r; // {}o; // { x:1, y:2 }
copy(src)
Same as merge
.
pick(filter, src1, src2,...)
filter
Type: String
, Array
Same as merge(src1, src2,...)
, but only keys specified in filter
appear in the result.
var o = ; o; // { x:1, y:2 }
unpick(filter, src1, src2,...)
filter
Type: String
, Array
Merge all properties from src1, src2,...
except those appear in filter
var o = ; o; // { z:3 }
chop(filter, o)
filter
Type: String
, Array
pick
keys specified by filter
from o
, and delete them from o
.
var o = x:1 y:2 z:3 ;var chopped = ; chopped; // { x:1, y:2 }o; // { z:3 }
Class: Mixer
methods
mix(receiver, src1, src2,...)
merge(src1, src2,...)
mixer = Mixer(filter, defaults)
filter
Type: Array
Only mix keys contained in filter
.
defaults
Type: Object
Always mix defaults
, and it will always be overwritten.
var mixer = ;var opts = {};var o = mixer; o === opts; // trueo; // { x:1, y:2 }
mixer = Mixer(o)
o
Type: Object
Same as Mixer(Object.keys(o), o)
var mixer = ;var o = mixer; o === opts; // trueo; // { x:1, y:2 }