API / JavaScript / Js / Obj

Obj

Provide utilities for Js.t.

let empty: unit => Js.t({..});

empty() returns the empty object {}.

let assign: (Js.t({..}), Js.t({..})) => Js.t({..});

assign(target, source) copies properties from source to target. Properties in target will be overwritten by properties in source if they have the same key. Returns target.

RE
/* Copy an object */ let obj = [%obj {a: 1}]; let copy = Js.Obj.assign(Js.Obj.empty(), obj); /* prints "{ a: 1 }" */ Js.log(copy); /* Merge objects with same properties */ let target = [%obj {a: 1, b: 1}]; let source = [%obj {b: 2}]; let obj = Js.Obj.assign(target, source); /* prints "{ a: 1, b: 2 }" */ Js.log(obj); /* prints "{ a: 1, b: 2 }", target is modified */ Js.log(target);
let keys: Js.t('a) => array(string);

keys(obj) returns an array of the keys of obj's own enumerable properties.