UNPKG

@sigi/di

Version:

Dependencies injection library for sigi framework

72 lines 2.79 kB
import { __values } from "tslib"; import { rootInjector } from './root-injector'; var Test = (function () { function Test(providers, TestModule) { var e_1, _a; var _b; this.TestModule = TestModule; this.providersMap = new Map(); try { for (var providers_1 = __values(providers), providers_1_1 = providers_1.next(); !providers_1_1.done; providers_1_1 = providers_1.next()) { var provider = providers_1_1.value; this.providersMap.set((_b = provider.provide) !== null && _b !== void 0 ? _b : provider, provider); } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (providers_1_1 && !providers_1_1.done && (_a = providers_1.return)) _a.call(providers_1); } finally { if (e_1) throw e_1.error; } } } Test.createTestingModule = function (overrideConfig) { return new Test((overrideConfig === null || overrideConfig === void 0 ? void 0 : overrideConfig.providers) ? overrideConfig.providers : [], (overrideConfig === null || overrideConfig === void 0 ? void 0 : overrideConfig.TestModule) ? overrideConfig.TestModule : TestModule); }; Test.prototype.overrideProvider = function (token) { return new MockProvider(this, token); }; Test.prototype.compile = function () { var childInjector = rootInjector.createChild(Array.from(this.providersMap.values())); return new this.TestModule(childInjector); }; return Test; }()); export { Test }; var MockProvider = (function () { function MockProvider(test, token) { this.test = test; this.token = token; } MockProvider.prototype.useClass = function (value) { this.test.providersMap.set(this.token, { provide: this.token, useClass: value }); return this.test; }; MockProvider.prototype.useValue = function (value) { this.test.providersMap.set(this.token, { provide: this.token, useValue: value }); return this.test; }; MockProvider.prototype.useFactory = function (value) { this.test.providersMap.set(this.token, { provide: this.token, useFactory: value }); return this.test; }; return MockProvider; }()); export { MockProvider }; var AbstractTestModule = (function () { function AbstractTestModule() { } return AbstractTestModule; }()); export { AbstractTestModule }; var TestModule = (function () { function TestModule(injector) { this.injector = injector; } TestModule.prototype.getInstance = function (token) { return this.injector.getInstance(token); }; return TestModule; }()); export { TestModule }; //# sourceMappingURL=testbed.js.map