@dazejs/framework
Version:
Daze.js - A powerful web framework for Node.js
116 lines • 5.53 kB
JavaScript
;
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