ts-ioc-container
Version:
Typescript IoC container
28 lines (27 loc) • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMethodMetadata = exports.setMethodMetadata = exports.getParameterMetadata = exports.setParameterMetadata = exports.setMetadata = void 0;
exports.getMetadata = getMetadata;
const setMetadata = (key, value) => (target) => {
Reflect.defineMetadata(key, value, target);
};
exports.setMetadata = setMetadata;
function getMetadata(target, key) {
return Reflect.getOwnMetadata(key, target);
}
const setParameterMetadata = (key, value) => (target, propertyKey, parameterIndex) => {
const metadata = Reflect.getOwnMetadata(key, target) ?? [];
metadata[parameterIndex] = value;
Reflect.defineMetadata(key, metadata, target);
};
exports.setParameterMetadata = setParameterMetadata;
const getParameterMetadata = (key, target) => {
return Reflect.getOwnMetadata(key, target) ?? [];
};
exports.getParameterMetadata = getParameterMetadata;
const setMethodMetadata = (key, value) => (target, propertyKey) => {
Reflect.defineMetadata(key, value, target.constructor, propertyKey);
};
exports.setMethodMetadata = setMethodMetadata;
const getMethodMetadata = (key, target, propertyKey) => Reflect.getMetadata(key, target.constructor, propertyKey);
exports.getMethodMetadata = getMethodMetadata;