1.1.0 • Published 10 years ago
@saveav/register v1.1.0
register.js
An implementation of Register Pattern with small set of API that allows you to:
seta value to a key.geta value associated to a key, if none, return the default value (by default set toundefined).setDefaultvalue.getDefaultvalue.hasKeyto check if a key is defined.keysreturn a set of all defined keys.valuesreturn a set of all defined values.toObjectto convert the register into an object.
Install
For UMD (universal, including Browser), download the register_umd.js. Register
will be globally available. See implementation on tests/test.html.
For node:
npm i @saveav/registerAnd require the package this way:
var Register = require('@saveav/register');Initialize
var reg = new Register();With default value:
var reg = new Register({name: undefined, locale: "en"});
reg.get("adam"); // => {name: undefined, locale: "en"}With default value and initial values:
var reg = new Register({name: undefined, locale: "en"}, {
adam: {name: "Adam", locale: "id"}
})
reg.get("adam"); // => {name: "Adam", locale: "id"}Use-case
Other than as an object; as a replacement of switch (who likes switch here?).
For implementation of switch replacement using the registry pattern, head to
the test folder and open switch_test.
License
Open source. MIT. 2016.