1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/packages/technical-features/feature-core/dist/index.js
Gabriel 6404993432 packages/ui-components/tooltip
Signed-off-by: Gabriel <gaccettola@mirantis.com>
2023-04-12 11:00:36 +02:00

1 line
1.3 KiB
JavaScript

(()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{getFeature:()=>r,registerFeature:()=>s});const r=e=>e,n=require("@ogre-tools/injectable"),i=(0,n.getInjectionToken)({id:"feature-context-map-injection-token"}),o=(0,n.getInjectable)({id:"feature-store",instantiate:()=>new Map,injectionToken:i}),d=(e,t,r)=>{var s;0===e.injectMany(i).length&&e.register(o);const a=e.inject(o).get(t);if(!r&&a&&0===a.dependedBy.size)throw new Error(`Tried to register feature "${t.id}", but it was already registered.`);const c=a||((e,t)=>{const r=(0,n.getInjectable)({id:e.id,instantiate:t=>({register:()=>{e.register(t)},deregister:()=>{t.deregister(r)},dependedBy:new Map,numberOfRegistrations:0}),scope:!0});t.register(r);const i=t.inject(o),d=t.inject(r);return i.set(e,d),d})(t,e);if(c.numberOfRegistrations++,r){const e=(c.dependedBy.get(r)||0)+1;c.dependedBy.set(r,e)}a||c.register(),null===(s=t.dependencies)||void 0===s||s.forEach((r=>{d(e,r,t)}))},s=(e,...t)=>{t.forEach((t=>{d(e,t)}))};module.exports=t})();