UNPKG

@skele/core

Version:

Core package of the Skele framework. Element definitions, registrations and traversal.

1 lines 876 B
'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.default=MultivalueRegistry;var _Registry=require("./Registry");var _Trie=_interopRequireDefault(require("./impl/Trie"));var _immutable=require("immutable");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function MultivalueRegistry(){this._registry=new _Trie.default();this.register=function(kind,obj){var key=(0,_Registry.adaptKey)(kind);var bag=this._registry.get(key);if(bag==null){bag=[obj];this._registry.register(key,bag);}else{bag.push(obj);}};this.get=function(key){return(0,_immutable.List)(this._registry.collect((0,_Registry.adaptKey)(key)));};this.collector=function(key){return this._registry.collector((0,_Registry.adaptKey)(key));};this.isEmpty=function(){return this._registry.isEmpty;};this.reset=function(){this._registry=new _Trie.default();};}