@eggjs/tegg-dynamic-inject-runtime
Version:
tegg dyniamic inject
49 lines • 4.9 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.EggObjectFactoryPrototype = exports.EGG_OBJECT_FACTORY_PROTO_IMPLE_TYPE = void 0;
const tegg_metadata_1 = require("@eggjs/tegg-metadata");
const core_decorator_1 = require("@eggjs/core-decorator");
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
const tegg_lifecycle_1 = require("@eggjs/tegg-lifecycle");
exports.EGG_OBJECT_FACTORY_PROTO_IMPLE_TYPE = 'EGG_OBJECT_FACTORY_PROTOTYPE';
class EggObjectFactoryPrototype {
constructor(clazz, loadUnit, prototypeInfo) {
var _a;
this.clazz = clazz;
this.qualifiers = core_decorator_1.QualifierUtil.mergeQualifiers(core_decorator_1.QualifierUtil.getProtoQualifiers(clazz), ((_a = prototypeInfo.qualifiers) !== null && _a !== void 0 ? _a : []));
this.id = tegg_lifecycle_1.IdenticalUtil.createProtoId(loadUnit.id, tegg_common_util_1.NameUtil.getClassName(this.clazz));
this.initType = prototypeInfo.initType;
this.accessLevel = prototypeInfo.accessLevel;
this.loadUnitId = loadUnit.id;
this.name = prototypeInfo.name || tegg_common_util_1.NameUtil.getClassName(this.clazz);
this.injectObjects = [];
}
constructEggObject() {
return Reflect.construct(this.clazz, []);
}
getMetaData(metadataKey) {
return core_decorator_1.MetadataUtil.getMetaData(metadataKey, this.clazz);
}
verifyQualifier(qualifier) {
const selfQualifiers = this.qualifiers.find(t => t.attribute === qualifier.attribute);
return (selfQualifiers === null || selfQualifiers === void 0 ? void 0 : selfQualifiers.value) === qualifier.value;
}
getQualifier(attribute) {
var _a;
return (_a = this.qualifiers.find(t => t.attribute === attribute)) === null || _a === void 0 ? void 0 : _a.value;
}
verifyQualifiers(qualifiers) {
for (const qualifier of qualifiers) {
if (!this.verifyQualifier(qualifier)) {
return false;
}
}
return true;
}
static create(ctx) {
return new EggObjectFactoryPrototype(ctx.clazz, ctx.loadUnit, ctx.prototypeInfo);
}
}
exports.EggObjectFactoryPrototype = EggObjectFactoryPrototype;
tegg_metadata_1.EggPrototypeCreatorFactory.registerPrototypeCreator(exports.EGG_OBJECT_FACTORY_PROTO_IMPLE_TYPE, EggObjectFactoryPrototype.create);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnT2JqZWN0RmFjdG9yeVByb3RvdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9FZ2dPYmplY3RGYWN0b3J5UHJvdG90eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQUFrRTtBQUNsRSwwREFHK0I7QUFDL0IsOERBQW1EO0FBQ25ELDBEQUFzRDtBQWtCekMsUUFBQSxtQ0FBbUMsR0FBRyw4QkFBOEIsQ0FBQztBQUVsRixNQUFhLHlCQUF5QjtJQVVwQyxZQUFZLEtBQTBDLEVBQUUsUUFBa0IsRUFBRSxhQUErQjs7UUFDekcsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyw4QkFBYSxDQUFDLGVBQWUsQ0FDN0MsOEJBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFDdkMsQ0FBQyxNQUFBLGFBQWEsQ0FBQyxVQUFVLG1DQUFJLEVBQUUsQ0FBQyxDQUNqQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLEVBQUUsR0FBRyw4QkFBYSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLDJCQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDLElBQUksSUFBSSwyQkFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsV0FBVyxDQUFJLFdBQXdCO1FBQ3JDLE9BQU8sNkJBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQXdCO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEYsT0FBTyxDQUFBLGNBQWMsYUFBZCxjQUFjLHVCQUFkLGNBQWMsQ0FBRSxLQUFLLE1BQUssU0FBUyxDQUFDLEtBQUssQ0FBQztJQUNuRCxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCOztRQUM1QixPQUFPLE1BQUEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQywwQ0FBRSxLQUFLLENBQUM7SUFDckUsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQTJCO1FBQzFDLEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDckMsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBaUM7UUFDN0MsT0FBTyxJQUFJLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxLQUE0QyxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFILENBQUM7Q0FDRjtBQXJERCw4REFxREM7QUFHRCwwQ0FBMEIsQ0FBQyx3QkFBd0IsQ0FBQywyQ0FBbUMsRUFBRSx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyJ9
;