New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@ogre-tools/injectable

Package Overview
Dependencies
Maintainers
2
Versions
88
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ogre-tools/injectable - npm Package Compare versions

Comparing version 16.0.0 to 16.1.0

2

build/index.js

@@ -1,1 +0,1 @@

(()=>{"use strict";var e={d:(t,n)=>{for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[i]})},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,{createContainer:()=>w,createInjectionTargetDecorator:()=>T,createInstantiationTargetDecorator:()=>S,deregistrationCallbackToken:()=>p,getInjectable:()=>d,getInjectionToken:()=>i,injectionDecoratorToken:()=>y,instantiationDecoratorToken:()=>g,isInjectable:()=>h,isInjectionToken:()=>k,lifecycleEnum:()=>r,registrationCallbackToken:()=>b});const n="injection-token",i=({id:e,decorable:t=!0})=>({id:e,aliasType:n,decorable:t}),a=Symbol("non-stored-instance-key"),c=Symbol("stored-instance-key"),r={singleton:{id:"singleton",getInstanceKey:()=>c},keyedSingleton:({getInstanceKey:e})=>({id:"keyedSingleton",getInstanceKey:e}),transient:{id:"transient",getInstanceKey:()=>a}},o="injectable",d=({lifecycle:e=r.singleton,...t})=>({aliasType:o,lifecycle:e,...t}),s=e=>t=>!t.target||l(t.target)(e),l=e=>t=>t.id===e.id||t.injectionToken&&t.injectionToken.id===e.id,j=(...e)=>t=>{let n=t;return e.forEach((e=>{n=e(n)})),n},b=i({id:"registration-callback-token",decorable:!1}),p=i({id:"deregistration-callback-token",decorable:!1}),g=i({id:"instantiate-decorator-token",decorable:!1}),y=i({id:"injection-decorator-token",decorable:!1}),I=({di:e,injectable:t,instantiationParameter:n,context:i,instancesByInjectableMap:c})=>{const r=[...i,{injectable:t,instantiationParameter:n}],o=c.get(t.overriddenInjectable||t),d=(n,i)=>e.inject(n,i,r,t),l={inject:d,injectMany:(n,i)=>e.injectMany(n,i,r,t),injectManyWithMeta:(n,i)=>e.injectManyWithMeta(n,i,r,t),injectFactory:e=>t=>d(e,t),context:r,register:(...n)=>{e.register({injectables:n,context:r,source:t})},deregister:(...n)=>{e.deregister({injectables:n,context:r,source:t})}},b=t.lifecycle.getInstanceKey(l,n),p=o.get(b);if(p)return p;const y=(({injectMany:e,injectable:t})=>{const n=s(t);return i=>(...a)=>{if(!1===t.decorable)return i(...a);const[{context:c}]=a,r=e(g,void 0,c,t).filter(n).map((e=>e.decorate));return j(...r)(i)(...a)}})({injectMany:e.injectMany,injectable:t})(t.instantiate)(l,...void 0===n?[]:[n]);return b!==a&&o.set(b,y),y},f=require("@ogre-tools/fp"),u=e=>{const t=n=>{const i=e.get(n);if(!i)return[];const a=i.reverse().find((e=>e.injectable.scope));return a?[...t(a.injectable),a]:[]};return e=>[...t(e).map((e=>e.injectable.id)),e.id].join(":")},M=({dependeesByDependencyMap:e,getNamespacedId:t})=>{const{getCycle:n,hasCycle:i}=(e=>{const t=(n,i,a=n,c=new Set)=>{if(a.cannotCauseCycles)return;if(c.has(n))return;c.add(n);const r=e.get(n);if(r&&0!==r.size){if(r.has(a))return!i||[a,...i];for(const e of r){const n=t(e,i?[e,...i]:void 0,a,c);if(n)return n}}};return{hasCycle:e=>t(e),getCycle:e=>t(e,[e])}})(e);return e=>{if(!i(e))return;const a=n(e);if(a)throw new Error(`Cycle of injectables encountered: "${a.map(t).join('" -> "')}"`)}},h=e=>e?.aliasType===o,m=require("lodash/fp"),w=(e,{detectCycles:t=!0}={})=>{const n=new Set,i=new Map;let a=!1;const c=new Set,r=new Set,o=new Set,l=new Map,g=new Map,w=new Map,k=new Map,S=new Map,T=new Map,v=u(l),B=(({injectablesByInjectionToken:e,injectableSet:t})=>n=>h(n)?t.has(n)?[n]:[]:[...e.get(n)?.values()||[]])({injectablesByInjectionToken:w,injectableSet:n}),E={injectable:{id:e}},D=(({dependeesByDependencyMap:e,dependenciesByDependencyMap:t})=>({dependency:n,dependee:i})=>{e.has(n)||e.set(n,new Set),e.get(n).add(i),t.has(i)||t.set(i,new Set),t.get(i).add(n)})({dependeesByDependencyMap:S,dependenciesByDependencyMap:T}),C=(({containerRootContextItem:e,getRelatedInjectables:t,getInject:n,setDependee:i,getNamespacedId:a})=>({withMeta:c})=>(r,o,d=[e],s)=>{i({dependency:r,dependee:s});const l=n(),j=[...d,{injectable:r}],b=t(r).map((e=>{const t=l(e,o,j,r);if(!c)return t;const n=a(e);return(0,f.isPromise)(t)?t.then((e=>({instance:e,meta:{id:n}}))):{instance:t,meta:{id:n}}}));return b.find(f.isPromise)?Promise.all(b):b})({containerRootContextItem:E,getRelatedInjectables:B,getInject:()=>A,setDependee:D,getNamespacedId:v}),x=C({withMeta:!1}),R=C({withMeta:!0}),$=(({injectMany:e,checkForCycles:t,setDependee:n,dependenciesByDependencyMap:i})=>a=>(c,r,o,d)=>{if(i.get(c)?(n({dependency:c,dependee:d}),t(c)):n({dependency:c,dependee:d}),!1===c.decorable)return a(c,r,o,d);const l=[...o,{injectable:c}],b=s(c),p=e(y,void 0,l,d).filter(b).map((e=>e.decorate));return j(...p)(a)(c,r,o,d)})({injectMany:x,setDependee:D,checkForCycles:t?M({dependeesByDependencyMap:S,getNamespacedId:v}):m.noop,dependenciesByDependencyMap:T}),P=(e=>(t,n,i)=>{if(0===t.length){const t=[...i,{injectable:{id:n.id}}].map((({injectable:t})=>e(t))).join('" -> "');throw new Error(`Tried to inject non-registered injectable "${t}".`)}})(v),F=(({getSideEffectsArePrevented:e,getNamespacedId:t})=>(n,i)=>{if(e(n))throw new Error(`Tried to inject "${[...i,{injectable:n}].map((({injectable:e})=>t(e))).join('" -> "')}" when side-effects are prevented.`)})({getSideEffectsArePrevented:e=>a&&e.causesSideEffects&&!r.has(e),getNamespacedId:v}),A=$((({getRelatedInjectables:e,alreadyInjected:t,overridingInjectables:n,instancesByInjectableMap:i,getDi:a,checkForNoMatches:c,checkForSideEffects:r})=>(o,d,s=[])=>{const l=a(),j=e(o);((e,t)=>{if(e.length>1)throw new Error(`Tried to inject single injectable for injection token "${t.id}" but found multiple injectables: "${e.map((e=>e.id)).join('", "')}"`)})(j,o),c(j,o,s);const b=e(o)[0];t.add(b);const p=n.get(b)||b;return r(p,s),I({di:l,injectable:p,instantiationParameter:d,context:s,instancesByInjectableMap:i})})({getRelatedInjectables:B,alreadyInjected:c,overridingInjectables:i,instancesByInjectableMap:g,getDi:()=>L,checkForNoMatches:P,checkForSideEffects:F})),N=$(x),K=$(R),O=(({injectableSet:e,injectableIdSet:t,instancesByInjectableMap:n,namespacedIdByInjectableMap:i,injectablesByInjectionToken:a,injectableAndRegistrationContext:c})=>(r,o)=>{if(!r.id)throw new Error("Tried to register injectable without ID.");c.set(r,o);const d=u(c)(r);if(i.has(r))throw new Error(`Tried to register same injectable multiple times: "${r.id}"`);if(t.has(d))throw new Error(`Tried to register multiple injectables for ID "${d}"`);if(t.add(d),e.add(r),i.set(r,d),n.set(r,new Map),r.injectionToken){const e=r.injectionToken,t=a.get(e)||new Set;t.add(r),a.set(e,t)}})({injectableSet:n,namespacedIdByInjectableMap:k,instancesByInjectableMap:g,injectablesByInjectionToken:w,injectableIdSet:o,injectableAndRegistrationContext:l}),W=(({getRelatedInjectables:e,instancesByInjectableMap:t})=>n=>{const i=e(n)[0];t.get(i).clear()})({getRelatedInjectables:B,instancesByInjectableMap:g}),q=(({registerSingle:e})=>(t,n)=>{const i=d({id:`${t.id}-decorator-${Math.random()}`,injectionToken:y,decorable:!1,instantiate:()=>({decorate:n,target:t})});e(i,[])})({registerSingle:O}),_=(({injectMany:e,injectableSet:t,injectableAndRegistrationContext:n,injectablesByInjectionToken:i,overridingInjectables:a,purgeInstances:c,injectableIdSet:r,namespacedIdByInjectableMap:o,getDi:d,dependenciesByDependencyMap:s,dependeesByDependencyMap:l})=>({injectables:j,context:b,source:g})=>{const y=e(p,void 0,b,g);j.forEach((e=>{y.forEach((t=>{t(e)}))}));const I=d(),f=(({injectableSet:e,injectableAndRegistrationContext:t,injectablesByInjectionToken:n,overridingInjectables:i,purgeInstances:a,injectableIdSet:c,namespacedIdByInjectableMap:r,di:o})=>d=>{if(!e.has(d))throw new Error(`Tried to deregister non-registered injectable "${d.id}".`);[...t.entries()].filter((([,e])=>e.find((e=>e.injectable===d)))).map((e=>e[0])).forEach((e=>{t.delete(e),o.deregister({injectables:[e]})})),a(d);const s=r.get(d);c.delete(s),e.delete(d),r.delete(d),d.injectionToken&&n.get(d.injectionToken).delete(d),i.delete(d)})({injectableSet:t,injectableAndRegistrationContext:n,injectablesByInjectionToken:i,overridingInjectables:a,purgeInstances:c,injectableIdSet:r,namespacedIdByInjectableMap:o,di:I});j.forEach((e=>{s.delete(e),l.delete(e),f(e)}))})({injectMany:x,injectableSet:n,injectableAndRegistrationContext:l,injectablesByInjectionToken:w,overridingInjectables:i,purgeInstances:W,injectableIdSet:o,namespacedIdByInjectableMap:k,getDi:()=>L,dependenciesByDependencyMap:T,dependeesByDependencyMap:S}),z=(({registerSingle:e,injectMany:t})=>({injectables:n,context:i,source:a})=>{n.forEach((t=>{e(t,i)}));const c=t(b,void 0,i,a);n.forEach((e=>{c.forEach((t=>{t(e)}))}))})({registerSingle:O,injectMany:x}),G=(({getRelatedInjectables:e,alreadyInjected:t,overridingInjectables:n})=>(i,a)=>{const c=e(i);if(c.length>1)throw new Error(`Tried to override single implementation of injection token "${i.id}", but found multiple registered implementations: "${c.map((e=>e.id)).join('", "')}".`);if(0===c.length){if("injection-token"===i.aliasType)throw new Error(`Tried to override single implementation of injection token "${i.id}", but found no registered implementations.`);throw new Error(`Tried to override "${i.id}" which is not registered.`)}if(t.has(i))throw new Error(`Tried to override injectable "${i.id}", but it was already injected.`);const r=c[0];n.set(r,{...r,overriddenInjectable:r,causesSideEffects:!1,instantiate:a})})({getRelatedInjectables:B,alreadyInjected:c,overridingInjectables:i}),H=(({overridingInjectables:e,getRelatedInjectables:t})=>n=>{const[i]=t(n);if(!i)throw new Error(`Tried to unoverride "${n.id}", but it was not registered.`);if(!e.has(i))throw new Error(`Tried to unoverride "${n.id}", but it was not overridden.`);e.delete(i)})({overridingInjectables:i,getRelatedInjectables:B}),J=(({decorate:e})=>(t,n)=>{e(t,(e=>(...t)=>n(e(...t))))})({decorate:q}),L={inject:A,injectMany:N,injectManyWithMeta:K,injectFactory:e=>t=>Q(e,t),register:z,deregister:_,decorate:q,decorateFunction:J,override:G,unoverride:H,reset:()=>{i.clear()},preventSideEffects:()=>{a=!0},permitSideEffects:e=>{r.add(e)},purge:W},Q=(e,t,n)=>L.inject(e,t,n?[E,n]:[E],E.injectable);return{...L,inject:Q,injectMany:(e,t,n)=>L.injectMany(e,t,n?[E,n]:[E],E.injectable),register:(...e)=>{L.register({injectables:e,context:[E],source:E.injectable})},deregister:(...e)=>{L.deregister({injectables:e,context:[E],source:E.injectable})},injectManyWithMeta:(e,t,n)=>L.injectManyWithMeta(e,t,n?[E,n]:[E],E.injectable),getInstances:e=>B(e).flatMap((e=>[...g.get(e).values()]))}},k=e=>e?.aliasType===n,S=e=>e,T=e=>e;module.exports=t})();
(()=>{"use strict";var e={d:(t,n)=>{for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[i]})},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,{createContainer:()=>w,createInjectionTargetDecorator:()=>T,createInstantiationTargetDecorator:()=>S,deregistrationCallbackToken:()=>p,getInjectable:()=>d,getInjectionToken:()=>i,injectionDecoratorToken:()=>y,instantiationDecoratorToken:()=>g,isInjectable:()=>h,isInjectionToken:()=>k,lifecycleEnum:()=>r,registrationCallbackToken:()=>b});const n="injection-token",i=({id:e,decorable:t=!0})=>({id:e,aliasType:n,decorable:t}),a=Symbol("non-stored-instance-key"),c=Symbol("stored-instance-key"),r={singleton:{id:"singleton",getInstanceKey:()=>c},keyedSingleton:({getInstanceKey:e})=>({id:"keyedSingleton",getInstanceKey:e}),transient:{id:"transient",getInstanceKey:()=>a}},o="injectable",d=({lifecycle:e=r.singleton,...t})=>({aliasType:o,lifecycle:e,...t}),s=e=>t=>!t.target||l(t.target)(e),l=e=>t=>t.id===e.id||t.injectionToken&&t.injectionToken.id===e.id,j=(...e)=>t=>{let n=t;return e.forEach((e=>{n=e(n)})),n},b=i({id:"registration-callback-token",decorable:!1}),p=i({id:"deregistration-callback-token",decorable:!1}),g=i({id:"instantiate-decorator-token",decorable:!1}),y=i({id:"injection-decorator-token",decorable:!1}),I=({di:e,injectable:t,instantiationParameter:n,context:i,instancesByInjectableMap:c,source:r,getNamespacedId:o})=>{const d=[...i,{injectable:t,instantiationParameter:n}],l=c.get(t.overriddenInjectable||t),b=(n,i)=>e.inject(n,i,d,t),p={inject:b,injectMany:(n,i)=>e.injectMany(n,i,d,t),injectManyWithMeta:(n,i)=>e.injectManyWithMeta(n,i,d,t),injectFactory:e=>t=>b(e,t),context:d,register:(...n)=>{e.register({injectables:n,context:d,source:t})},deregister:(...n)=>{e.deregister({injectables:n,context:d,source:t})},get sourceNamespace(){return o(r).split(":").slice(0,-1).join(":")||void 0}},y=t.lifecycle.getInstanceKey(p,n),I=l.get(y);if(I)return I;const f=(({injectMany:e,injectable:t})=>{const n=s(t);return i=>(...a)=>{if(!1===t.decorable)return i(...a);const[{context:c}]=a,r=e(g,void 0,c,t).filter(n).map((e=>e.decorate));return j(...r)(i)(...a)}})({injectMany:e.injectMany,injectable:t})(t.instantiate)(p,...void 0===n?[]:[n]);return y!==a&&l.set(y,f),f},f=require("@ogre-tools/fp"),u=e=>{const t=n=>{const i=e.get(n);if(!i)return[];const a=i.reverse().find((e=>e.injectable.scope));return a?[...t(a.injectable),a]:[]};return e=>[...t(e).map((e=>e.injectable.id)),e.id].join(":")},M=({dependeesByDependencyMap:e,getNamespacedId:t})=>{const{getCycle:n,hasCycle:i}=(e=>{const t=(n,i,a=n,c=new Set)=>{if(a.cannotCauseCycles)return;if(c.has(n))return;c.add(n);const r=e.get(n);if(r&&0!==r.size){if(r.has(a))return!i||[a,...i];for(const e of r){const n=t(e,i?[e,...i]:void 0,a,c);if(n)return n}}};return{hasCycle:e=>t(e),getCycle:e=>t(e,[e])}})(e);return e=>{if(!i(e))return;const a=n(e);if(a)throw new Error(`Cycle of injectables encountered: "${a.map(t).join('" -> "')}"`)}},h=e=>e?.aliasType===o,m=require("lodash/fp"),w=(e,{detectCycles:t=!0}={})=>{const n=new Set,i=new Map;let a=!1;const c=new Set,r=new Set,o=new Set,l=new Map,g=new Map,w=new Map,k=new Map,S=new Map,T=new Map,v=u(l),B=(({injectablesByInjectionToken:e,injectableSet:t})=>n=>h(n)?t.has(n)?[n]:[]:[...e.get(n)?.values()||[]])({injectablesByInjectionToken:w,injectableSet:n}),E={injectable:{id:e}},D=(({dependeesByDependencyMap:e,dependenciesByDependencyMap:t})=>({dependency:n,dependee:i})=>{e.has(n)||e.set(n,new Set),e.get(n).add(i),t.has(i)||t.set(i,new Set),t.get(i).add(n)})({dependeesByDependencyMap:S,dependenciesByDependencyMap:T}),C=(({containerRootContextItem:e,getRelatedInjectables:t,getInject:n,setDependee:i,getNamespacedId:a})=>({withMeta:c})=>(r,o,d=[e],s)=>{i({dependency:r,dependee:s});const l=n(),j=[...d,{injectable:r}],b=t(r).map((e=>{const t=l(e,o,j,r);if(!c)return t;const n=a(e);return(0,f.isPromise)(t)?t.then((e=>({instance:e,meta:{id:n}}))):{instance:t,meta:{id:n}}}));return b.find(f.isPromise)?Promise.all(b):b})({containerRootContextItem:E,getRelatedInjectables:B,getInject:()=>F,setDependee:D,getNamespacedId:v}),x=C({withMeta:!1}),R=C({withMeta:!0}),$=(({injectMany:e,checkForCycles:t,setDependee:n,dependenciesByDependencyMap:i})=>a=>(c,r,o,d)=>{if(i.get(c)?(n({dependency:c,dependee:d}),t(c)):n({dependency:c,dependee:d}),!1===c.decorable)return a(c,r,o,d);const l=[...o,{injectable:c}],b=s(c),p=e(y,void 0,l,d).filter(b).map((e=>e.decorate));return j(...p)(a)(c,r,o,d)})({injectMany:x,setDependee:D,checkForCycles:t?M({dependeesByDependencyMap:S,getNamespacedId:v}):m.noop,dependenciesByDependencyMap:T}),N=(e=>(t,n,i)=>{if(0===t.length){const t=[...i,{injectable:{id:n.id}}].map((({injectable:t})=>e(t))).join('" -> "');throw new Error(`Tried to inject non-registered injectable "${t}".`)}})(v),P=(({getSideEffectsArePrevented:e,getNamespacedId:t})=>(n,i)=>{if(e(n))throw new Error(`Tried to inject "${[...i,{injectable:n}].map((({injectable:e})=>t(e))).join('" -> "')}" when side-effects are prevented.`)})({getSideEffectsArePrevented:e=>a&&e.causesSideEffects&&!r.has(e),getNamespacedId:v}),F=$((({getRelatedInjectables:e,alreadyInjected:t,overridingInjectables:n,instancesByInjectableMap:i,getDi:a,checkForNoMatches:c,checkForSideEffects:r,getNamespacedId:o})=>(d,s,l=[],j)=>{const b=a(),p=e(d);((e,t)=>{if(e.length>1)throw new Error(`Tried to inject single injectable for injection token "${t.id}" but found multiple injectables: "${e.map((e=>e.id)).join('", "')}"`)})(p,d),c(p,d,l);const g=e(d)[0];t.add(g);const y=n.get(g)||g;return r(y,l),I({di:b,injectable:y,instantiationParameter:s,context:l,instancesByInjectableMap:i,source:j,getNamespacedId:o})})({getRelatedInjectables:B,alreadyInjected:c,overridingInjectables:i,instancesByInjectableMap:g,getDi:()=>L,checkForNoMatches:N,checkForSideEffects:P,getNamespacedId:v})),A=$(x),K=$(R),O=(({injectableSet:e,injectableIdSet:t,instancesByInjectableMap:n,namespacedIdByInjectableMap:i,injectablesByInjectionToken:a,injectableAndRegistrationContext:c})=>(r,o)=>{if(!r.id)throw new Error("Tried to register injectable without ID.");c.set(r,o);const d=u(c)(r);if(i.has(r))throw new Error(`Tried to register same injectable multiple times: "${r.id}"`);if(t.has(d))throw new Error(`Tried to register multiple injectables for ID "${d}"`);if(t.add(d),e.add(r),i.set(r,d),n.set(r,new Map),r.injectionToken){const e=r.injectionToken,t=a.get(e)||new Set;t.add(r),a.set(e,t)}})({injectableSet:n,namespacedIdByInjectableMap:k,instancesByInjectableMap:g,injectablesByInjectionToken:w,injectableIdSet:o,injectableAndRegistrationContext:l}),W=(({getRelatedInjectables:e,instancesByInjectableMap:t})=>n=>{const i=e(n)[0];t.get(i).clear()})({getRelatedInjectables:B,instancesByInjectableMap:g}),q=(({registerSingle:e})=>(t,n)=>{const i=d({id:`${t.id}-decorator-${Math.random()}`,injectionToken:y,decorable:!1,instantiate:()=>({decorate:n,target:t})});e(i,[])})({registerSingle:O}),_=(({injectMany:e,injectableSet:t,injectableAndRegistrationContext:n,injectablesByInjectionToken:i,overridingInjectables:a,purgeInstances:c,injectableIdSet:r,namespacedIdByInjectableMap:o,getDi:d,dependenciesByDependencyMap:s,dependeesByDependencyMap:l})=>({injectables:j,context:b,source:g})=>{const y=e(p,void 0,b,g);j.forEach((e=>{y.forEach((t=>{t(e)}))}));const I=d(),f=(({injectableSet:e,injectableAndRegistrationContext:t,injectablesByInjectionToken:n,overridingInjectables:i,purgeInstances:a,injectableIdSet:c,namespacedIdByInjectableMap:r,di:o})=>d=>{if(!e.has(d))throw new Error(`Tried to deregister non-registered injectable "${d.id}".`);[...t.entries()].filter((([,e])=>e.find((e=>e.injectable===d)))).map((e=>e[0])).forEach((e=>{t.delete(e),o.deregister({injectables:[e]})})),a(d);const s=r.get(d);c.delete(s),e.delete(d),r.delete(d),d.injectionToken&&n.get(d.injectionToken).delete(d),i.delete(d)})({injectableSet:t,injectableAndRegistrationContext:n,injectablesByInjectionToken:i,overridingInjectables:a,purgeInstances:c,injectableIdSet:r,namespacedIdByInjectableMap:o,di:I});j.forEach((e=>{s.delete(e),l.delete(e),f(e)}))})({injectMany:x,injectableSet:n,injectableAndRegistrationContext:l,injectablesByInjectionToken:w,overridingInjectables:i,purgeInstances:W,injectableIdSet:o,namespacedIdByInjectableMap:k,getDi:()=>L,dependenciesByDependencyMap:T,dependeesByDependencyMap:S}),z=(({registerSingle:e,injectMany:t})=>({injectables:n,context:i,source:a})=>{n.forEach((t=>{e(t,i)}));const c=t(b,void 0,i,a);n.forEach((e=>{c.forEach((t=>{t(e)}))}))})({registerSingle:O,injectMany:x}),G=(({getRelatedInjectables:e,alreadyInjected:t,overridingInjectables:n})=>(i,a)=>{const c=e(i);if(c.length>1)throw new Error(`Tried to override single implementation of injection token "${i.id}", but found multiple registered implementations: "${c.map((e=>e.id)).join('", "')}".`);if(0===c.length){if("injection-token"===i.aliasType)throw new Error(`Tried to override single implementation of injection token "${i.id}", but found no registered implementations.`);throw new Error(`Tried to override "${i.id}" which is not registered.`)}if(t.has(i))throw new Error(`Tried to override injectable "${i.id}", but it was already injected.`);const r=c[0];n.set(r,{...r,overriddenInjectable:r,causesSideEffects:!1,instantiate:a})})({getRelatedInjectables:B,alreadyInjected:c,overridingInjectables:i}),H=(({overridingInjectables:e,getRelatedInjectables:t})=>n=>{const[i]=t(n);if(!i)throw new Error(`Tried to unoverride "${n.id}", but it was not registered.`);if(!e.has(i))throw new Error(`Tried to unoverride "${n.id}", but it was not overridden.`);e.delete(i)})({overridingInjectables:i,getRelatedInjectables:B}),J=(({decorate:e})=>(t,n)=>{e(t,(e=>(...t)=>n(e(...t))))})({decorate:q}),L={inject:F,injectMany:A,injectManyWithMeta:K,injectFactory:e=>t=>Q(e,t),register:z,deregister:_,decorate:q,decorateFunction:J,override:G,unoverride:H,reset:()=>{i.clear()},preventSideEffects:()=>{a=!0},permitSideEffects:e=>{r.add(e)},purge:W},Q=(e,t,n)=>L.inject(e,t,n?[E,n]:[E],E.injectable);return{...L,inject:Q,injectMany:(e,t,n)=>L.injectMany(e,t,n?[E,n]:[E],E.injectable),register:(...e)=>{L.register({injectables:e,context:[E],source:E.injectable})},deregister:(...e)=>{L.deregister({injectables:e,context:[E],source:E.injectable})},injectManyWithMeta:(e,t,n)=>L.injectManyWithMeta(e,t,n?[E,n]:[E],E.injectable),getInstances:e=>B(e).flatMap((e=>[...g.get(e).values()]))}},k=e=>e?.aliasType===n,S=e=>e,T=e=>e;module.exports=t})();

@@ -198,2 +198,3 @@ /// <reference types="jest" />

getInstances: GetInstances;
sourceNamespace: string | undefined;
}

@@ -200,0 +201,0 @@

{
"name": "@ogre-tools/injectable",
"private": false,
"version": "16.0.0",
"version": "16.1.0",
"description": "A brutal dependency injection container",

@@ -26,3 +26,3 @@ "files": [

},
"gitHead": "8b7d7c1ecaad141a1bf06d83824404a256d45b4a",
"gitHead": "79611a8bef8f79eb050182555587e6f30ff09c2d",
"bugs": {

@@ -43,6 +43,6 @@ "url": "https://github.com/ogre-works/ogre-tools/issues"

"devDependencies": {
"@ogre-tools/infrastructure-babel-for-js": "^16.0.0",
"@ogre-tools/infrastructure-jest": "^16.0.0",
"@ogre-tools/infrastructure-prettier": "^16.0.0",
"@ogre-tools/infrastructure-webpack-for-js": "^16.0.0",
"@ogre-tools/infrastructure-babel-for-js": "^16.1.0",
"@ogre-tools/infrastructure-jest": "^16.1.0",
"@ogre-tools/infrastructure-prettier": "^16.1.0",
"@ogre-tools/infrastructure-webpack-for-js": "^16.1.0",
"tsd": "^0.28.1"

@@ -49,0 +49,0 @@ },

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc