UNPKG

@eggjs/tegg-dynamic-inject-runtime

Version:
49 lines 4.9 kB
"use strict"; 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