@eggjs/dynamic-inject
Version:
tegg dynamic inject
17 lines • 1.84 kB
JavaScript
import { MetadataUtil } from '@eggjs/core-decorator';
import { QUALIFIER_IMPL_MAP } from '@eggjs/tegg-types';
export class QualifierImplUtil {
static addQualifierImpl(abstractClazz, qualifierValue, implClazz) {
const implMap = MetadataUtil.initOwnMapMetaData(QUALIFIER_IMPL_MAP, abstractClazz, new Map());
implMap.set(qualifierValue, implClazz);
}
static getQualifierImp(abstractClazz, qualifierValue) {
const implMap = MetadataUtil.getMetaData(QUALIFIER_IMPL_MAP, abstractClazz);
return implMap?.get(qualifierValue);
}
static getQualifierImpMap(abstractClazz) {
const implMap = MetadataUtil.getMetaData(QUALIFIER_IMPL_MAP, abstractClazz);
return implMap || new Map();
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUXVhbGlmaWVySW1wbFV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUXVhbGlmaWVySW1wbFV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3ZELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsTUFBTSxDQUFDLGdCQUFnQixDQUNyQixhQUErQixFQUMvQixjQUE4QixFQUM5QixTQUE0QjtRQUU1QixNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsa0JBQWtCLENBQzdDLGtCQUFrQixFQUNsQixhQUE2QyxFQUM3QyxJQUFJLEdBQUcsRUFBRSxDQUNWLENBQUM7UUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FDcEIsYUFBK0IsRUFDL0IsY0FBOEI7UUFFOUIsTUFBTSxPQUFPLEdBQXVELFlBQVksQ0FBQyxXQUFXLENBQzFGLGtCQUFrQixFQUNsQixhQUE2QyxDQUM5QyxDQUFDO1FBQ0YsT0FBTyxPQUFPLEVBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsYUFBK0I7UUFDdkQsTUFBTSxPQUFPLEdBQXVELFlBQVksQ0FBQyxXQUFXLENBQzFGLGtCQUFrQixFQUNsQixhQUE2QyxDQUM5QyxDQUFDO1FBQ0YsT0FBTyxPQUFPLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDO0NBQ0YifQ==