JSFiddle - React, Tailwind, and code Playground

by Alexander

JavaScript

'use strict';

console.clear();

(function (scope) {
    /** @private */
    var _storage = {};

    function Registry(){}

    Registry.add = function(k, v){
        if (!(Registry.exists(k))){
            if (console && console.error)
                console.error("Key '" + k + "' exists in Registry!");
            return;
        }
        return Registry.upd(k, v);
    };

    Registry.upd = function(k, v){
        return _storage[k] = v;
    };

    Registry.get = function(k){
        if (!(Registry.exists(k))){
            if (console && console.error)
                console.error("Key '" + k + "' not defined in Registry!");
        }
        return _storage[k];
    };

    Registry.exists = function(k){
        return (k in _storage);
    };

    Registry.del = function(k){
        delete _storage[k];
    };

    (typeof window.define === 'function' && window.define.amd)
        ? define([], function(){ return Registry } )
        : scope.Reg = Registry;

})(window);

// ------------------------------------------------------------ //

Reg.add('r1', { a: 1, b: 2 });
Reg.upd('r1', { a: 2 });

console.log(Reg.get('r1'));
console.log(Reg.get('r2'));

Reg.del('r1');
console.log(Reg.get('r1'));