UNPKG

@tsclean/core

Version:

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

35 lines 6.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.All = exports.Head = exports.Options = exports.Patch = exports.Put = exports.Delete = exports.Get = exports.Post = exports.RequestMapping = void 0; const helpers_1 = require("../helpers"); const enums_1 = require("../enums"); const defaultMetadata = { [helpers_1.PATH_METADATA]: '/', [helpers_1.METHOD_METADATA]: enums_1.RequestMethod.GET, }; const RequestMapping = (metadata = defaultMetadata) => { const pathMetadata = metadata[helpers_1.PATH_METADATA]; const path = pathMetadata && pathMetadata.length ? pathMetadata : '/'; const requestMethod = metadata[helpers_1.METHOD_METADATA] || enums_1.RequestMethod.GET; return (target, key, descriptor) => { Reflect.defineMetadata(helpers_1.PATH_METADATA, path, descriptor.value); Reflect.defineMetadata(helpers_1.METHOD_METADATA, requestMethod, descriptor.value); return descriptor; }; }; exports.RequestMapping = RequestMapping; const createMappingDecorator = (method) => (path) => { return (0, exports.RequestMapping)({ [helpers_1.PATH_METADATA]: path, [helpers_1.METHOD_METADATA]: method, }); }; exports.Post = createMappingDecorator(enums_1.RequestMethod.POST); exports.Get = createMappingDecorator(enums_1.RequestMethod.GET); exports.Delete = createMappingDecorator(enums_1.RequestMethod.DELETE); exports.Put = createMappingDecorator(enums_1.RequestMethod.PUT); exports.Patch = createMappingDecorator(enums_1.RequestMethod.PATCH); exports.Options = createMappingDecorator(enums_1.RequestMethod.OPTIONS); exports.Head = createMappingDecorator(enums_1.RequestMethod.HEAD); exports.All = createMappingDecorator(enums_1.RequestMethod.ALL); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1tYXBwaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY29yYXRvcnMvcmVxdWVzdC1tYXBwaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdDQUE0RDtBQUM1RCxvQ0FBeUM7QUFPekMsTUFBTSxlQUFlLEdBQUc7SUFDdEIsQ0FBQyx1QkFBYSxDQUFDLEVBQUUsR0FBRztJQUNwQixDQUFDLHlCQUFlLENBQUMsRUFBRSxxQkFBYSxDQUFDLEdBQUc7Q0FDckMsQ0FBQztBQUVLLE1BQU0sY0FBYyxHQUFHLENBQzVCLFdBQW1DLGVBQWUsRUFDakMsRUFBRTtJQUNuQixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsdUJBQWEsQ0FBQyxDQUFDO0lBQzdDLE1BQU0sSUFBSSxHQUFHLFlBQVksSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUN0RSxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMseUJBQWUsQ0FBQyxJQUFJLHFCQUFhLENBQUMsR0FBRyxDQUFDO0lBRXJFLE9BQU8sQ0FDTCxNQUFjLEVBQ2QsR0FBb0IsRUFDcEIsVUFBd0MsRUFDeEMsRUFBRTtRQUNGLE9BQU8sQ0FBQyxjQUFjLENBQUMsdUJBQWEsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlELE9BQU8sQ0FBQyxjQUFjLENBQUMseUJBQWUsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQWhCVyxRQUFBLGNBQWMsa0JBZ0J6QjtBQUVGLE1BQU0sc0JBQXNCLEdBQzFCLENBQUMsTUFBcUIsRUFBRSxFQUFFLENBQzFCLENBQUMsSUFBd0IsRUFBbUIsRUFBRTtJQUM1QyxPQUFPLElBQUEsc0JBQWMsRUFBQztRQUNwQixDQUFDLHVCQUFhLENBQUMsRUFBRSxJQUFJO1FBQ3JCLENBQUMseUJBQWUsQ0FBQyxFQUFFLE1BQU07S0FDMUIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRVMsUUFBQSxJQUFJLEdBQUcsc0JBQXNCLENBQUMscUJBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUVsRCxRQUFBLEdBQUcsR0FBRyxzQkFBc0IsQ0FBQyxxQkFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRWhELFFBQUEsTUFBTSxHQUFHLHNCQUFzQixDQUFDLHFCQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFdEQsUUFBQSxHQUFHLEdBQUcsc0JBQXNCLENBQUMscUJBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUVoRCxRQUFBLEtBQUssR0FBRyxzQkFBc0IsQ0FBQyxxQkFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRXBELFFBQUEsT0FBTyxHQUFHLHNCQUFzQixDQUFDLHFCQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7QUFFeEQsUUFBQSxJQUFJLEdBQUcsc0JBQXNCLENBQUMscUJBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUVsRCxRQUFBLEdBQUcsR0FBRyxzQkFBc0IsQ0FBQyxxQkFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTUVUSE9EX01FVEFEQVRBLCBQQVRIX01FVEFEQVRBIH0gZnJvbSAnLi4vaGVscGVycyc7XG5pbXBvcnQgeyBSZXF1ZXN0TWV0aG9kIH0gZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RNYXBwaW5nTWV0YWRhdGEge1xuICBwYXRoPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIG1ldGhvZD86IFJlcXVlc3RNZXRob2Q7XG59XG5cbmNvbnN0IGRlZmF1bHRNZXRhZGF0YSA9IHtcbiAgW1BBVEhfTUVUQURBVEFdOiAnLycsXG4gIFtNRVRIT0RfTUVUQURBVEFdOiBSZXF1ZXN0TWV0aG9kLkdFVCxcbn07XG5cbmV4cG9ydCBjb25zdCBSZXF1ZXN0TWFwcGluZyA9IChcbiAgbWV0YWRhdGE6IFJlcXVlc3RNYXBwaW5nTWV0YWRhdGEgPSBkZWZhdWx0TWV0YWRhdGEsXG4pOiBNZXRob2REZWNvcmF0b3IgPT4ge1xuICBjb25zdCBwYXRoTWV0YWRhdGEgPSBtZXRhZGF0YVtQQVRIX01FVEFEQVRBXTtcbiAgY29uc3QgcGF0aCA9IHBhdGhNZXRhZGF0YSAmJiBwYXRoTWV0YWRhdGEubGVuZ3RoID8gcGF0aE1ldGFkYXRhIDogJy8nO1xuICBjb25zdCByZXF1ZXN0TWV0aG9kID0gbWV0YWRhdGFbTUVUSE9EX01FVEFEQVRBXSB8fCBSZXF1ZXN0TWV0aG9kLkdFVDtcblxuICByZXR1cm4gKFxuICAgIHRhcmdldDogb2JqZWN0LFxuICAgIGtleTogc3RyaW5nIHwgc3ltYm9sLFxuICAgIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPGFueT4sXG4gICkgPT4ge1xuICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoUEFUSF9NRVRBREFUQSwgcGF0aCwgZGVzY3JpcHRvci52YWx1ZSk7XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShNRVRIT0RfTUVUQURBVEEsIHJlcXVlc3RNZXRob2QsIGRlc2NyaXB0b3IudmFsdWUpO1xuICAgIHJldHVybiBkZXNjcmlwdG9yO1xuICB9O1xufTtcblxuY29uc3QgY3JlYXRlTWFwcGluZ0RlY29yYXRvciA9XG4gIChtZXRob2Q6IFJlcXVlc3RNZXRob2QpID0+XG4gIChwYXRoPzogc3RyaW5nIHwgc3RyaW5nW10pOiBNZXRob2REZWNvcmF0b3IgPT4ge1xuICAgIHJldHVybiBSZXF1ZXN0TWFwcGluZyh7XG4gICAgICBbUEFUSF9NRVRBREFUQV06IHBhdGgsXG4gICAgICBbTUVUSE9EX01FVEFEQVRBXTogbWV0aG9kLFxuICAgIH0pO1xuICB9O1xuXG5leHBvcnQgY29uc3QgUG9zdCA9IGNyZWF0ZU1hcHBpbmdEZWNvcmF0b3IoUmVxdWVzdE1ldGhvZC5QT1NUKTtcblxuZXhwb3J0IGNvbnN0IEdldCA9IGNyZWF0ZU1hcHBpbmdEZWNvcmF0b3IoUmVxdWVzdE1ldGhvZC5HRVQpO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlID0gY3JlYXRlTWFwcGluZ0RlY29yYXRvcihSZXF1ZXN0TWV0aG9kLkRFTEVURSk7XG5cbmV4cG9ydCBjb25zdCBQdXQgPSBjcmVhdGVNYXBwaW5nRGVjb3JhdG9yKFJlcXVlc3RNZXRob2QuUFVUKTtcblxuZXhwb3J0IGNvbnN0IFBhdGNoID0gY3JlYXRlTWFwcGluZ0RlY29yYXRvcihSZXF1ZXN0TWV0aG9kLlBBVENIKTtcblxuZXhwb3J0IGNvbnN0IE9wdGlvbnMgPSBjcmVhdGVNYXBwaW5nRGVjb3JhdG9yKFJlcXVlc3RNZXRob2QuT1BUSU9OUyk7XG5cbmV4cG9ydCBjb25zdCBIZWFkID0gY3JlYXRlTWFwcGluZ0RlY29yYXRvcihSZXF1ZXN0TWV0aG9kLkhFQUQpO1xuXG5leHBvcnQgY29uc3QgQWxsID0gY3JlYXRlTWFwcGluZ0RlY29yYXRvcihSZXF1ZXN0TWV0aG9kLkFMTCk7XG4iXX0=