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.