@absolunet/private-registry
Private registry for classes
Install
$ npm install @absolunet/private-registry
Usage
const __ = require('@absolunet/private-registry');
class Foo {
constructor(id) {
__(this).set({
id: `id::${id}`,
seed: Math.random()
});
}
set bar(id) {
__(this).set('id', `id::${id}`);
}
get bar() {
return `My id is ${__(this).get('id')}`;
}
get bar2() {
const { id, seed } = __(this).get();
return `${id}::${seed}`;
}
}
const a = new Foo('123');
const b = new Foo('456');
console.log(a.bar);
console.log(b.bar);
console.log(b.bar2);
// My id is id::123
// My id is id::456
// id::456::0.0337644127126262
API
get()
ReturnObject
of all registry entriesget(name)
Return value of a registry's entryname
RequiredType:
String
Entry's name.
set(object)
Set all entries from object into the registryobject
RequiredType:
Object
Object which each entry will be added to the registry
set(name, value)
Set entry into the registryname
RequiredType:
String
Entry's name.
value
RequiredType: Any
Value of the entry