UNPKG

yasui

Version:

Lightweight Express-based framework for REST and web APIs

44 lines 4.26 kB
import { ReflectMetadata, defineMetadata, getMetadata } from '../utils/reflect.js'; export function Injectable() { return function (target) { defineMetadata(ReflectMetadata.INJECTABLE, true, target); }; } export function Inject(token) { return function (target, propertyKey, index) { if (propertyKey) { const methodName = String(propertyKey); const methodsDeps = getMetadata(ReflectMetadata.METHOD_INJECTED_DEPS, target) || {}; if (!methodsDeps[methodName]) { methodsDeps[methodName] = {}; } if (token) { methodsDeps[methodName][index] = token; } else { const paramTypes = getMetadata(ReflectMetadata.DESIGN_PARAM_TYPES, target, methodName) || []; methodsDeps[methodName][index] = paramTypes[index]; } defineMetadata(ReflectMetadata.METHOD_INJECTED_DEPS, methodsDeps, target); } else if (token) { const deps = getMetadata(ReflectMetadata.PRE_INJECTED_DEPS, target) || {}; deps[index] = token; defineMetadata(ReflectMetadata.PRE_INJECTED_DEPS, deps, target); } }; } export function Scope(scope) { return function (target, propertyKey, index) { if (propertyKey) { const methodName = String(propertyKey); const scopes = getMetadata(ReflectMetadata.DEP_SCOPES, target, methodName) || {}; scopes[index] = scope; defineMetadata(ReflectMetadata.DEP_SCOPES, scopes, target, methodName); } const scopes = getMetadata(ReflectMetadata.DEP_SCOPES, target) || {}; scopes[index] = scope; defineMetadata(ReflectMetadata.DEP_SCOPES, scopes, target); }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0YWJsZS5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9ycy9pbmplY3RhYmxlLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVFuRixNQUFNLFVBQVUsVUFBVTtJQUN4QixPQUFPLFVBQVUsTUFBZ0I7UUFDL0IsY0FBYyxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNELENBQUMsQ0FBQztBQUNKLENBQUM7QUFRRCxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQWM7SUFDbkMsT0FBTyxVQUNMLE1BQWMsRUFDZCxXQUF3QyxFQUN4QyxLQUFhO1FBRWIsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkMsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUM3QixXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQy9CLENBQUM7WUFDRCxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNWLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDekMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDN0YsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFrQixVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEUsQ0FBQztZQUNELGNBQWMsQ0FBQyxlQUFlLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTVFLENBQUM7YUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDcEIsY0FBYyxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbEUsQ0FBQztJQUNILENBQUMsQ0FBQztBQUNKLENBQUM7QUFRRCxNQUFNLFVBQVUsS0FBSyxDQUFDLEtBQWE7SUFDakMsT0FBTyxVQUNMLE1BQWMsRUFDZCxXQUF3QyxFQUN4QyxLQUFhO1FBRWIsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkMsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqRixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLGNBQWMsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyRSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGNBQWMsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM3RCxDQUFDLENBQUM7QUFDSixDQUFDIn0=