@tsclean/core
Version:
Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.
35 lines • 6.03 kB
JavaScript
;
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=