API / Js / Obj

You are currently looking at the v6.0 - v8.2 docs (Reason v3.6 syntax edition). You can find the latest API docs here.

(These docs cover all versions between v3 to v8 and are equivalent to the old BuckleScript docs before the rebrand)

Obj

Provide utilities for Js.t.

empty

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

empty() returns the empty object {}.

assign

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

keys

RE
let keys: Js.t('a) => array(string);

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