ClearVision/node_modules/tsyringe/dist/esm5/reflection-helpers.js
2022-07-09 16:03:26 -04:00

23 lines
942 B
JavaScript

export var INJECTION_TOKEN_METADATA_KEY = "injectionTokens";
export function getParamInfo(target) {
var params = Reflect.getMetadata("design:paramtypes", target) || [];
var injectionTokens = Reflect.getOwnMetadata(INJECTION_TOKEN_METADATA_KEY, target) || {};
Object.keys(injectionTokens).forEach(function (key) {
params[+key] = injectionTokens[key];
});
return params;
}
export function defineInjectionTokenMetadata(data, transform) {
return function (target, _propertyKey, parameterIndex) {
var descriptors = Reflect.getOwnMetadata(INJECTION_TOKEN_METADATA_KEY, target) || {};
descriptors[parameterIndex] = transform
? {
token: data,
transform: transform.transformToken,
transformArgs: transform.args || []
}
: data;
Reflect.defineMetadata(INJECTION_TOKEN_METADATA_KEY, descriptors, target);
};
}