@tsclean/core
Version:
Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.
27 lines • 3.9 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.HandlerMetadataStorage = exports.HANDLER_METADATA_SYMBOL = void 0;
const constants_1 = require("../core/injector/constants");
exports.HANDLER_METADATA_SYMBOL = Symbol.for('handler_metadata:cache');
class HandlerMetadataStorage {
constructor() {
this[_a] = new Map();
}
set(controller, methodName, metadata) {
const metadataKey = HandlerMetadataStorage.getMetadataKey(controller, methodName);
this[exports.HANDLER_METADATA_SYMBOL].set(metadataKey, metadata);
}
get(controller, methodName) {
const metadataKey = HandlerMetadataStorage.getMetadataKey(controller, methodName);
return this[exports.HANDLER_METADATA_SYMBOL].get(metadataKey);
}
static getMetadataKey(controller, methodName) {
const ctor = controller.constructor;
const controllerKey = ctor && (ctor[constants_1.CONTROLLER_ID_KEY] || ctor.name);
return controllerKey + methodName;
}
}
exports.HandlerMetadataStorage = HandlerMetadataStorage;
_a = exports.HANDLER_METADATA_SYMBOL;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci1tZXRhZGF0YS1zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hlbHBlcnMvaGFuZGxlci1tZXRhZGF0YS1zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwwREFBK0Q7QUFJbEQsUUFBQSx1QkFBdUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFFNUUsTUFBYSxzQkFBc0I7SUFBbkM7UUFDbUIsUUFBeUIsR0FBRyxJQUFJLEdBQUcsRUFBYSxDQUFDO0lBaUJwRSxDQUFDO0lBZkMsR0FBRyxDQUFDLFVBQWEsRUFBRSxVQUFrQixFQUFFLFFBQVc7UUFDaEQsTUFBTSxXQUFXLEdBQUcsc0JBQXNCLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsK0JBQXVCLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxHQUFHLENBQUMsVUFBYSxFQUFFLFVBQWtCO1FBQ25DLE1BQU0sV0FBVyxHQUFHLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDbEYsT0FBTyxJQUFJLENBQUMsK0JBQXVCLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVPLE1BQU0sQ0FBQyxjQUFjLENBQUMsVUFBMEIsRUFBRSxVQUFrQjtRQUMxRSxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO1FBQ3BDLE1BQU0sYUFBYSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyw2QkFBaUIsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRSxPQUFPLGFBQWEsR0FBRyxVQUFVLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBbEJELHdEQWtCQztLQWpCbUIsK0JBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ09OVFJPTExFUl9JRF9LRVkgfSBmcm9tICcuLi9jb3JlL2luamVjdG9yL2NvbnN0YW50cyc7XG5pbXBvcnQge0hhbmRsZXJNZXRhZGF0YUludGVyZmFjZSwgVHlwZX0gZnJvbSBcIi4uL2NvbnRyYWN0c1wiO1xuaW1wb3J0IHtDb250cm9sbGVyVHlwZX0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBIQU5ETEVSX01FVEFEQVRBX1NZTUJPTCA9IFN5bWJvbC5mb3IoJ2hhbmRsZXJfbWV0YWRhdGE6Y2FjaGUnKTtcblxuZXhwb3J0IGNsYXNzIEhhbmRsZXJNZXRhZGF0YVN0b3JhZ2U8ViA9IEhhbmRsZXJNZXRhZGF0YUludGVyZmFjZSwgSyBleHRlbmRzIFR5cGU8dW5rbm93bj4gPSBhbnk+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBbSEFORExFUl9NRVRBREFUQV9TWU1CT0xdID0gbmV3IE1hcDxzdHJpbmcsIFY+KCk7XG5cbiAgc2V0KGNvbnRyb2xsZXI6IEssIG1ldGhvZE5hbWU6IHN0cmluZywgbWV0YWRhdGE6IFYpIHtcbiAgICBjb25zdCBtZXRhZGF0YUtleSA9IEhhbmRsZXJNZXRhZGF0YVN0b3JhZ2UuZ2V0TWV0YWRhdGFLZXkoY29udHJvbGxlciwgbWV0aG9kTmFtZSk7XG4gICAgdGhpc1tIQU5ETEVSX01FVEFEQVRBX1NZTUJPTF0uc2V0KG1ldGFkYXRhS2V5LCBtZXRhZGF0YSk7XG4gIH1cblxuICBnZXQoY29udHJvbGxlcjogSywgbWV0aG9kTmFtZTogc3RyaW5nKTogViB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbWV0YWRhdGFLZXkgPSBIYW5kbGVyTWV0YWRhdGFTdG9yYWdlLmdldE1ldGFkYXRhS2V5KGNvbnRyb2xsZXIsIG1ldGhvZE5hbWUpO1xuICAgIHJldHVybiB0aGlzW0hBTkRMRVJfTUVUQURBVEFfU1lNQk9MXS5nZXQobWV0YWRhdGFLZXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0TWV0YWRhdGFLZXkoY29udHJvbGxlcjogQ29udHJvbGxlclR5cGUsIG1ldGhvZE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgY3RvciA9IGNvbnRyb2xsZXIuY29uc3RydWN0b3I7XG4gICAgY29uc3QgY29udHJvbGxlcktleSA9IGN0b3IgJiYgKGN0b3JbQ09OVFJPTExFUl9JRF9LRVldIHx8IGN0b3IubmFtZSk7XG4gICAgcmV0dXJuIGNvbnRyb2xsZXJLZXkgKyBtZXRob2ROYW1lO1xuICB9XG59XG4iXX0=