API / Js / Obj

Obj

Provides functions for inspecting and manipulating native JavaScript objects

empty

RESCRIPT
let empty: unit => {..}

empty() returns the empty object {}

assign

RESCRIPT
let assign: ({..}, {..}) => {..}

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.

See MDN

Examples

RESCRIPT
/* Copy an object */ let 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 = {"a": 1, "b": 1} let source = {"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

RESCRIPT
let keys: {..} => array<string>

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