UNPKG

injection-js

Version:

Dependency Injection library for JavaScript and TypeScript

1 lines 1.62 kB
{"version":3,"file":"injector_compatibility.js","sourceRoot":"","sources":["../lib/injector_compatibility.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,IAAI,gBAAgB,GAAyB,SAAS,CAAC;AAEvD,MAAM,UAAU,kBAAkB;IAChC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAGD,MAAM,UAAU,kBAAkB,CAChC,QAA8B;IAE9B,MAAM,MAAM,GAAG,gBAAgB,CAAC;IAChC,gBAAgB,GAAG,QAAQ,CAAC;IAC5B,OAAO,MAAM,CAAC;AAChB,CAAC;AAGD,MAAM,UAAU,MAAM,CAAI,KAAkC;IAC1D,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,qHAAqH,CACtH,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC","sourcesContent":["import { Type } from \"./facade/type\";\nimport { InjectionToken } from \"./injection_token\";\nimport { Injector } from \"./injector\";\n\n\n/**\n * Current injector value used by `inject`.\n * - `undefined`: it is an error to call `inject`\n * - Injector instance: Use the injector for resolution.\n */\nlet _currentInjector: Injector | undefined = undefined;\n\nexport function getCurrentInjector(): Injector | undefined {\n return _currentInjector;\n}\n\n\nexport function setCurrentInjector(\n injector: Injector | undefined,\n): Injector | undefined {\n const former = _currentInjector;\n _currentInjector = injector;\n return former;\n}\n\n\nexport function inject<T>(token: Type<T> | InjectionToken<T>): T {\n if (_currentInjector === undefined) {\n throw new Error(\n `inject() must be called from an injection context such as a constructor, a factory function, or a field initializer`,\n );\n } else {\n const value = _currentInjector.get(token);\n return value;\n }\n}\n"]}