UNPKG

3.36 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.All = exports.Head = exports.Options = exports.Patch = exports.Put = exports.Delete = exports.Get = exports.Post = exports.RequestMapping = void 0;
4const constants_1 = require("../../constants");
5const request_method_enum_1 = require("../../enums/request-method.enum");
6const defaultMetadata = {
7 [constants_1.PATH_METADATA]: '/',
8 [constants_1.METHOD_METADATA]: request_method_enum_1.RequestMethod.GET,
9};
10const RequestMapping = (metadata = defaultMetadata) => {
11 const pathMetadata = metadata[constants_1.PATH_METADATA];
12 const path = pathMetadata && pathMetadata.length ? pathMetadata : '/';
13 const requestMethod = metadata[constants_1.METHOD_METADATA] || request_method_enum_1.RequestMethod.GET;
14 return (target, key, descriptor) => {
15 Reflect.defineMetadata(constants_1.PATH_METADATA, path, descriptor.value);
16 Reflect.defineMetadata(constants_1.METHOD_METADATA, requestMethod, descriptor.value);
17 return descriptor;
18 };
19};
20exports.RequestMapping = RequestMapping;
21const createMappingDecorator = (method) => (path) => {
22 return exports.RequestMapping({
23 [constants_1.PATH_METADATA]: path,
24 [constants_1.METHOD_METADATA]: method,
25 });
26};
27/**
28 * Route handler (method) Decorator. Routes HTTP POST requests to the specified path.
29 *
30 * @see [Routing](https://docs.nestjs.com/controllers#routing)
31 *
32 * @publicApi
33 */
34exports.Post = createMappingDecorator(request_method_enum_1.RequestMethod.POST);
35/**
36 * Route handler (method) Decorator. Routes HTTP GET requests to the specified path.
37 *
38 * @see [Routing](https://docs.nestjs.com/controllers#routing)
39 *
40 * @publicApi
41 */
42exports.Get = createMappingDecorator(request_method_enum_1.RequestMethod.GET);
43/**
44 * Route handler (method) Decorator. Routes HTTP DELETE requests to the specified path.
45 *
46 * @see [Routing](https://docs.nestjs.com/controllers#routing)
47 *
48 * @publicApi
49 */
50exports.Delete = createMappingDecorator(request_method_enum_1.RequestMethod.DELETE);
51/**
52 * Route handler (method) Decorator. Routes HTTP PUT requests to the specified path.
53 *
54 * @see [Routing](https://docs.nestjs.com/controllers#routing)
55 *
56 * @publicApi
57 */
58exports.Put = createMappingDecorator(request_method_enum_1.RequestMethod.PUT);
59/**
60 * Route handler (method) Decorator. Routes HTTP PATCH requests to the specified path.
61 *
62 * @see [Routing](https://docs.nestjs.com/controllers#routing)
63 *
64 * @publicApi
65 */
66exports.Patch = createMappingDecorator(request_method_enum_1.RequestMethod.PATCH);
67/**
68 * Route handler (method) Decorator. Routes HTTP OPTIONS requests to the specified path.
69 *
70 * @see [Routing](https://docs.nestjs.com/controllers#routing)
71 *
72 * @publicApi
73 */
74exports.Options = createMappingDecorator(request_method_enum_1.RequestMethod.OPTIONS);
75/**
76 * Route handler (method) Decorator. Routes HTTP HEAD requests to the specified path.
77 *
78 * @see [Routing](https://docs.nestjs.com/controllers#routing)
79 *
80 * @publicApi
81 */
82exports.Head = createMappingDecorator(request_method_enum_1.RequestMethod.HEAD);
83/**
84 * Route handler (method) Decorator. Routes all HTTP requests to the specified path.
85 *
86 * @see [Routing](https://docs.nestjs.com/controllers#routing)
87 *
88 * @publicApi
89 */
90exports.All = createMappingDecorator(request_method_enum_1.RequestMethod.ALL);