UNPKG

@dazejs/framework

Version:

Daze.js - A powerful web framework for Node.js

116 lines 5.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AppendMaster = exports.OnlyMaster = exports.AppendAgent = exports.OnlyAgent = exports.Provider = exports.AutoScan = exports.Imports = exports.Depends = void 0; const symbol_1 = require("../../symbol"); const Depends = function (...providers) { return function (constructor) { var _a, _b, _c; const option = (_a = Reflect.getMetadata(symbol_1.ProviderType.PROVIDER, constructor)) !== null && _a !== void 0 ? _a : { depends: [], imports: [], componentScan: [] }; for (const provider of providers) { if (Array.isArray(provider)) { (_b = option.depends) === null || _b === void 0 ? void 0 : _b.push(...provider); } else { (_c = option.depends) === null || _c === void 0 ? void 0 : _c.push(provider); } } Reflect.defineMetadata(symbol_1.ProviderType.PROVIDER, option, constructor); }; }; exports.Depends = Depends; const Imports = function (...providers) { return function (constructor) { var _a, _b, _c; const option = (_a = Reflect.getMetadata(symbol_1.ProviderType.PROVIDER, constructor)) !== null && _a !== void 0 ? _a : { depends: [], imports: [], componentScan: [] }; for (const provider of providers) { if (Array.isArray(provider)) { (_b = option.imports) === null || _b === void 0 ? void 0 : _b.push(...provider); } else { (_c = option.imports) === null || _c === void 0 ? void 0 : _c.push(provider); } } Reflect.defineMetadata(symbol_1.ProviderType.PROVIDER, option, constructor); }; }; exports.Imports = Imports; const AutoScan = function (...componentScans) { return function (constructor) { var _a, _b, _c; const option = (_a = Reflect.getMetadata(symbol_1.ProviderType.PROVIDER, constructor)) !== null && _a !== void 0 ? _a : { depends: [], imports: [], componentScan: [] }; for (const componentScan of componentScans) { if (Array.isArray(componentScan)) { (_b = option.componentScan) === null || _b === void 0 ? void 0 : _b.push(...componentScan); } else if (typeof componentScan === 'string') { (_c = option.componentScan) === null || _c === void 0 ? void 0 : _c.push(componentScan); } } Reflect.defineMetadata(symbol_1.ProviderType.PROVIDER, option !== null && option !== void 0 ? option : {}, constructor); }; }; exports.AutoScan = AutoScan; const Provider = function (providerOption) { return function (constructor) { var _a, _b, _c, _d, _e, _f, _g; Reflect.defineMetadata('type', 'provider', constructor); const option = (_a = Reflect.getMetadata(symbol_1.ProviderType.PROVIDER, constructor)) !== null && _a !== void 0 ? _a : { depends: [], imports: [], componentScan: [] }; if (providerOption === null || providerOption === void 0 ? void 0 : providerOption.depends) { for (const depend of providerOption.depends) { if (Array.isArray(depend)) { (_b = option.depends) === null || _b === void 0 ? void 0 : _b.push(...depend); } else { (_c = option.depends) === null || _c === void 0 ? void 0 : _c.push(depend); } } } if (providerOption === null || providerOption === void 0 ? void 0 : providerOption.imports) { for (const imports of providerOption.imports) { if (Array.isArray(imports)) { (_d = option.imports) === null || _d === void 0 ? void 0 : _d.push(...imports); } else { (_e = option.imports) === null || _e === void 0 ? void 0 : _e.push(imports); } } } if (providerOption === null || providerOption === void 0 ? void 0 : providerOption.componentScan) { for (const componentScan of providerOption.componentScan) { if (Array.isArray(componentScan)) { (_f = option.componentScan) === null || _f === void 0 ? void 0 : _f.push(...componentScan); } else if (typeof componentScan === 'string') { (_g = option.componentScan) === null || _g === void 0 ? void 0 : _g.push(componentScan); } } } Reflect.defineMetadata(symbol_1.ProviderType.PROVIDER, option !== null && option !== void 0 ? option : {}, constructor); }; }; exports.Provider = Provider; const OnlyAgent = function () { return function (constructor) { Reflect.defineMetadata(symbol_1.ProcessType.ONLY_AGENT, true, constructor); }; }; exports.OnlyAgent = OnlyAgent; const AppendAgent = function () { return function (constructor) { Reflect.defineMetadata(symbol_1.ProcessType.APPEND_AGENT, true, constructor); }; }; exports.AppendAgent = AppendAgent; const OnlyMaster = function () { return function (constructor) { Reflect.defineMetadata(symbol_1.ProcessType.ONLY_MASTER, true, constructor); }; }; exports.OnlyMaster = OnlyMaster; const AppendMaster = function () { return function (constructor) { Reflect.defineMetadata(symbol_1.ProcessType.APPEND_MASTER, true, constructor); }; }; exports.AppendMaster = AppendMaster; //# sourceMappingURL=provider.js.map