UNPKG

@ark7/router

Version:
62 lines (60 loc) 1.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Delete = exports.Put = exports.Post = exports.Get = exports.Handler = void 0; const _ = require("underscore"); const declarations_1 = require("./declarations"); const decorators_1 = require("./decorators"); function Handler(options = {}) { const m = (0, decorators_1.Middleware)([]); return (target, propertyKey, descriptor) => { const desc = m(target, propertyKey, descriptor); const cls = target.constructor; const meta = declarations_1.A7ControllerMetadata.getMetadata(cls); const subsidiary = meta.getOrCreateSubsidiary(propertyKey, '/'); subsidiary.type = declarations_1.A7ControllerSubsidiaryType.HANDLER; if (options.middleware) { subsidiary.pushMiddlewaresInFront(_.flatten([options.middleware])); } if (options.method) { subsidiary.method = options.method; } if (options.path) { subsidiary.path = options.path; } if (options.name) { subsidiary.name = options.name; } Reflect.defineMetadata(declarations_1.METADATA_KEY, meta, cls); return desc; }; } exports.Handler = Handler; function Get(path, options = {}) { return Handler(_.extend({}, options, { path, method: declarations_1.Method.GET, })); } exports.Get = Get; function Post(path, options = {}) { return Handler(_.extend({}, options, { path, method: declarations_1.Method.POST, })); } exports.Post = Post; function Put(path, options = {}) { return Handler(_.extend({}, options, { path, method: declarations_1.Method.PUT, })); } exports.Put = Put; function Delete(path, options = {}) { return Handler(_.extend({}, options, { path, method: declarations_1.Method.DELETE, })); } exports.Delete = Delete; //# sourceMappingURL=handlers.js.map