UNPKG

@tsdi/unit

Version:

unit testing framework, base on AOP, Ioc container

64 lines (62 loc) 2.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UnitSetup = void 0; var tslib_1 = require("tslib"); var core_1 = require("@tsdi/core"); var decorators_1 = require("./decorators"); var ioc_1 = require("@tsdi/ioc"); var boot_1 = require("@tsdi/boot"); /** * Bootstrap ext for ioc. auto run setup after registered. * with @IocExt('setup') decorator. * @export * @class BootModule */ var UnitSetup = /** @class */ (function () { function UnitSetup() { } /** * register aop for container. * * @memberof AopModule */ UnitSetup.prototype.setup = function (container) { var actInjector = container.getActionInjector(); actInjector.getInstance(ioc_1.DesignRegisterer) .register(decorators_1.Suite, 'Class', boot_1.AnnoationAction); actInjector.getInstance(ioc_1.RuntimeRegisterer) .register(decorators_1.Suite, 'Class', ioc_1.RegSingletionAction); actInjector.getInstance(ioc_1.DecoratorProvider) .bindProviders(decorators_1.Suite, { provide: boot_1.BootContext, deps: [core_1.ContainerToken], useFactory: function (container) { var providers = []; for (var _i = 1; _i < arguments.length; _i++) { providers[_i - 1] = arguments[_i]; } var ref = new ioc_1.InjectReference(boot_1.BootContext, decorators_1.Suite.toString()); if (container.has(ref)) { return container.get.apply(container, tslib_1.__spreadArrays([ref], providers)); } return null; } }); }; UnitSetupAnn = function () { return { "name": "UnitSetup", "params": { "setup": ["container"] } }; }; tslib_1.__decorate([ tslib_1.__param(0, ioc_1.Inject(core_1.ContainerToken)), tslib_1.__metadata("design:type", Function), tslib_1.__metadata("design:paramtypes", [Object]), tslib_1.__metadata("design:returntype", void 0) ], UnitSetup.prototype, "setup", null); UnitSetup = tslib_1.__decorate([ ioc_1.IocExt(), tslib_1.__metadata("design:paramtypes", []) ], UnitSetup); return UnitSetup; }()); exports.UnitSetup = UnitSetup; //# sourceMappingURL=sourcemaps/UnitSetup.js.map