UNPKG

@hashuplabs/omni-filter

Version:
41 lines 1.36 kB
import OmniBuiltinTypes from '../types/OmniBuiltinTypes'; var OmniFilterRegistry = /** @class */ (function () { function OmniFilterRegistry() { this._registry = {}; } OmniFilterRegistry.instance = function () { if (this._instance === null) { this._instance = new OmniFilterRegistry(); } return this._instance; }; OmniFilterRegistry.prototype.register = function (key, filter) { this._registry[key] = filter; return this; }; OmniFilterRegistry.prototype.get = function (key) { if (!this._registry[key]) { throw Error('Invalid Filter Key'); } return this._registry[key]; }; OmniFilterRegistry.prototype.exists = function (key) { return !!this._registry[key]; }; OmniFilterRegistry.prototype.set = function (key, filter) { return this.register(key, filter); }; OmniFilterRegistry.prototype.all = function () { return this._registry; }; OmniFilterRegistry._instance = null; return OmniFilterRegistry; }()); export default function OmniFilterFactory() { return OmniFilterRegistry.instance(); } // Register Builtins // Object.keys(OmniBuiltinTypes).forEach(function (k) { OmniFilterFactory().register(k, OmniBuiltinTypes[k]); }); //# sourceMappingURL=OmniFilterRegistry.js.map