UNPKG

giver

Version:

Dependency injection with modern ECMAScript decorators

2 lines (1 loc) 1.16 kB
"use strict";var i=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var y=(r,e)=>{for(var o in e)i(r,o,{get:e[o],enumerable:!0})},C=(r,e,o,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of u(e))!m.call(r,n)&&n!==o&&i(r,n,{get:()=>e[n],enumerable:!(a=f(e,n))||a.enumerable});return r};var P=r=>C(i({},"__esModule",{value:!0}),r);var x={};y(x,{giverInstance:()=>t,inject:()=>v,injectable:()=>d});module.exports=P(x);var c=r=>typeof r=="object"&&"class"in r,p=r=>typeof r=="object"&&"factory"in r,l=r=>typeof r=="object"&&"value"in r;var s=class{providerRegistry=new Map;registerTokenForClass=(e,o)=>{this.providerRegistry.set(e,{class:o})};instanceOf=e=>{let o=this.providerRegistry.get(e);if(!o)throw new Error(`No provider registered for token: ${String(e)}`);if(c(o))return new o.class;if(p(o))return o.factory();if(l(o))return o.value;throw new Error(`No provider registered for token: ${String(e)}`)}};var t=new s;var v=r=>(e,o)=>()=>t.instanceOf(r);var d=r=>(e,o)=>{t.registerTokenForClass(r??e,e)};0&&(module.exports={giverInstance,inject,injectable});