UNPKG

@tsclean/core

Version:

Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.

23 lines 3.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Mapping = Mapping; const helpers_1 = require("../helpers"); const utils_1 = require("../utils"); function Mapping(prefixOrOptions) { const defaultPath = '/'; const [path, host, scopeOptions] = (0, utils_1.isUndefined)(prefixOrOptions) ? [defaultPath, undefined, undefined, undefined] : (0, utils_1.isString)(prefixOrOptions) || Array.isArray(prefixOrOptions) ? [prefixOrOptions, undefined, undefined, undefined] : [ prefixOrOptions.path || defaultPath, prefixOrOptions.host, { scope: prefixOrOptions.scope } ]; return (target) => { Reflect.defineMetadata(helpers_1.PATH_METADATA, path, target); Reflect.defineMetadata(helpers_1.HOST_METADATA, host, target); Reflect.defineMetadata(helpers_1.SCOPE_OPTIONS_METADATA, scopeOptions, target); }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNvcmF0b3JzL21hcHBpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFxQkEsMEJBb0JDO0FBekNELHdDQUlvQjtBQUNwQixvQ0FBaUQ7QUFnQmpELFNBQWdCLE9BQU8sQ0FDbkIsZUFBb0Q7SUFFdEQsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDO0lBRXhCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLElBQUEsbUJBQVcsRUFBQyxlQUFlLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxJQUFBLGdCQUFRLEVBQUMsZUFBZSxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7WUFDN0QsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDO1lBQ3BELENBQUMsQ0FBQztnQkFDRSxlQUFlLENBQUMsSUFBSSxJQUFJLFdBQVc7Z0JBQ25DLGVBQWUsQ0FBQyxJQUFJO2dCQUNwQixFQUFFLEtBQUssRUFBRSxlQUFlLENBQUMsS0FBSyxFQUFFO2FBQ2pDLENBQUM7SUFFTixPQUFPLENBQUMsTUFBYyxFQUFFLEVBQUU7UUFDeEIsT0FBTyxDQUFDLGNBQWMsQ0FBQyx1QkFBYSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRCxPQUFPLENBQUMsY0FBYyxDQUFDLHVCQUFhLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BELE9BQU8sQ0FBQyxjQUFjLENBQUMsZ0NBQXNCLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZFLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBIT1NUX01FVEFEQVRBLFxuICBQQVRIX01FVEFEQVRBLFxuICBTQ09QRV9PUFRJT05TX01FVEFEQVRBLFxufSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IGlzU3RyaW5nLCBpc1VuZGVmaW5lZCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IFNjb3BlT3B0aW9ucyB9IGZyb20gJy4uL2NvbnRyYWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwcGluZ09wdGlvbnMgZXh0ZW5kcyBTY29wZU9wdGlvbnMge1xuXG4gIHBhdGg/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICBob3N0Pzogc3RyaW5nIHwgUmVnRXhwIHwgQXJyYXk8c3RyaW5nIHwgUmVnRXhwPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1hcHBpbmcoKTogQ2xhc3NEZWNvcmF0b3I7XG5cbmV4cG9ydCBmdW5jdGlvbiBNYXBwaW5nKHByZWZpeDogc3RyaW5nIHwgc3RyaW5nW10pOiBDbGFzc0RlY29yYXRvcjtcblxuZXhwb3J0IGZ1bmN0aW9uIE1hcHBpbmcob3B0aW9uczogTWFwcGluZ09wdGlvbnMpOiBDbGFzc0RlY29yYXRvcjtcblxuZXhwb3J0IGZ1bmN0aW9uIE1hcHBpbmcoXG4gICAgcHJlZml4T3JPcHRpb25zPzogc3RyaW5nIHwgc3RyaW5nW10gfCBNYXBwaW5nT3B0aW9ucyk6IENsYXNzRGVjb3JhdG9yIHtcblxuICBjb25zdCBkZWZhdWx0UGF0aCA9ICcvJztcblxuICBjb25zdCBbcGF0aCwgaG9zdCwgc2NvcGVPcHRpb25zXSA9IGlzVW5kZWZpbmVkKHByZWZpeE9yT3B0aW9ucylcbiAgICA/IFtkZWZhdWx0UGF0aCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZF1cbiAgICA6IGlzU3RyaW5nKHByZWZpeE9yT3B0aW9ucykgfHwgQXJyYXkuaXNBcnJheShwcmVmaXhPck9wdGlvbnMpXG4gICAgPyBbcHJlZml4T3JPcHRpb25zLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkXVxuICAgIDogW1xuICAgICAgICBwcmVmaXhPck9wdGlvbnMucGF0aCB8fCBkZWZhdWx0UGF0aCxcbiAgICAgICAgcHJlZml4T3JPcHRpb25zLmhvc3QsXG4gICAgICAgIHsgc2NvcGU6IHByZWZpeE9yT3B0aW9ucy5zY29wZSB9XG4gICAgICBdO1xuXG4gIHJldHVybiAodGFyZ2V0OiBvYmplY3QpID0+IHtcbiAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFBBVEhfTUVUQURBVEEsIHBhdGgsIHRhcmdldCk7XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShIT1NUX01FVEFEQVRBLCBob3N0LCB0YXJnZXQpO1xuICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoU0NPUEVfT1BUSU9OU19NRVRBREFUQSwgc2NvcGVPcHRpb25zLCB0YXJnZXQpO1xuICB9O1xufVxuIl19