@vue-interface/component-registry
Version:
An abstract component registry.
3 lines (2 loc) • 1.97 kB
JavaScript
(function(i,r){typeof exports=="object"&&typeof module<"u"?r(exports):typeof define=="function"&&define.amd?define(["exports"],r):(i=typeof globalThis<"u"?globalThis:i||self,r(i.ComponentRegistry={}))})(this,function(i){"use strict";var A=Object.defineProperty;var C=(i,r,a)=>r in i?A(i,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[r]=a;var v=(i,r,a)=>(C(i,typeof r!="symbol"?r+"":r,a),a);var r=function(){return r=Object.assign||function(e){for(var t,s=1,o=arguments.length;s<o;s++){t=arguments[s];for(var c in t)Object.prototype.hasOwnProperty.call(t,c)&&(e[c]=t[c])}return e},r.apply(this,arguments)};function a(n){return n.toLowerCase()}var _=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],R=/[^A-Z0-9]+/gi;function b(n,e){e===void 0&&(e={});for(var t=e.splitRegexp,s=t===void 0?_:t,o=e.stripRegexp,c=o===void 0?R:o,p=e.transform,y=p===void 0?a:p,m=e.delimiter,j=m===void 0?" ":m,f=g(g(n,s,"$1\0$2"),c,"\0"),d=0,l=f.length;f.charAt(d)==="\0";)d++;for(;f.charAt(l-1)==="\0";)l--;return f.slice(d,l).split("\0").map(y).join(j)}function g(n,e,t){return e instanceof RegExp?n.replace(e,t):e.reduce(function(s,o){return s.replace(o,t)},n)}function w(n,e){return e===void 0&&(e={}),b(n,r({delimiter:"."},e))}function u(n,e){return e===void 0&&(e={}),w(n,r({delimiter:"-"},e))}class h{constructor(e={}){v(this,"components");this.components=new Map,Object.entries(e).forEach(([t,s])=>{this.register(t,s)})}get(e){const t=this.components.get(e=u(e));if(t)return t;throw new Error(`"${e}" has not been registered yet!`)}register(e,t){return typeof e=="object"?(Object.entries(e).forEach(([s,o])=>{this.register(u(s),o)}),this):(this.components.set(u(e),t),this)}remove(e){return this.components.delete(u(e)),this}reset(){return this.components=new Map,this}}function E(n={}){return new h(n)}i.ComponentRegistry=h,i.factory=E,Object.defineProperties(i,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
//# sourceMappingURL=component-registry.umd.cjs.map