1.0.3 • Published 5 years ago

setobj v1.0.3

Weekly downloads
1
License
MIT
Repository
-
Last release
5 years ago

setobj

Object property setting utility.

Installation

$ npm install setobj

Usage

const setobj = require("setobj");

var obj = {};

setobj(obj, ({set, unenumerable, unconfigurable, readonly}) => {
    set("prop1", 5); // Equivalent to: obj.prop1 = 5;
    set(Symbol("prop2"), 6) // Symbols work too

    set("prop3", 2, unenumerable); // Unenumerable property
    set("prop4", 9, unenumerable | unconfigurable | readonly); // Unenumerable, unconfigurable, and read-only property

    set(0, "test"); // Numerical keys
});

For getters/setters:

setobj(obj, ({set, getset}) => {
    set("prop", {get: ..., set: ...}, getset | ...)
});

setobj also has support for nested sets:

var obj = {
  nested1: {
    nested2: {
      a: 1,
      b: 2,
      c: 3
    }
  }
}

setobj(obj, ({setobj}) => {
    setobj("nested1", ({setobj}) => {
        setobj("nested2", ({setobj}) => {
            set("d", 4);
            set("e", 5);
            // ...
        });
    });
});

License

MIT

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago