@absolunet/private-registry

Private registry for classes

Usage no npm install needed!

<script type="module">
  import absolunetPrivateRegistry from 'https://cdn.skypack.dev/@absolunet/private-registry';
</script>

README

@absolunet/private-registry

npm npm dependencies npms Travis CI Code style

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()

Return Object of all registry entries

get(name)

Return value of a registry's entry

name

Required
Type: String
Entry's name.

set(object)

Set all entries from object into the registry

object

Required
Type: Object
Object which each entry will be added to the registry

set(name, value)

Set entry into the registry

name

Required
Type: String
Entry's name.

value

Required
Type: Any
Value of the entry

License

MIT © Absolunet