UNPKG

@tsed/schema

Version:
155 lines (146 loc) 6.9 kB
import {OperationVerbs} from "../../constants/OperationVerbs.js"; import {Operation} from "./operation.js"; /** * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs). * * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches. * For example, if you placed the following route at the top of all other route definitions, it would require that * all routes from that point on would require authentication, and automatically load a user. * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next() * to continue matching subsequent routes. * @param path * @param args * @returns {Function} * @decorator * @operation * @httpMethod */ export function All(path: string | RegExp | unknown = "/", ...args: unknown[]) { return Operation(...[OperationVerbs.ALL, path].concat(args)); } /** * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs). * * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches. * For example, if you placed the following route at the top of all other route definitions, it would require that * all routes from that point on would require authentication, and automatically load a user. * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next() * to continue matching subsequent routes. * @param path * @param args * @returns {Function} * @decorator * @operation * @httpMethod */ export function Get(path: string | RegExp | unknown = "/", ...args: unknown[]) { return Operation(...[OperationVerbs.GET, path].concat(args)); } /** * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs). * * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches. * For example, if you placed the following route at the top of all other route definitions, it would require that * all routes from that point on would require authentication, and automatically load a user. * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next() * to continue matching subsequent routes. * @param path * @param args * @returns {Function} * @decorator * @operation * @httpMethod */ export function Post(path: string | RegExp | unknown = "/", ...args: unknown[]) { return Operation(...[OperationVerbs.POST, path].concat(args)); } /** * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs). * * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches. * For example, if you placed the following route at the top of all other route definitions, it would require that * all routes from that point on would require authentication, and automatically load a user. * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next() * to continue matching subsequent routes. * @param path * @param args * @returns {Function} * @decorator * @operation * @httpMethod */ export function Put(path: string | RegExp | unknown = "/", ...args: unknown[]) { return Operation(...[OperationVerbs.PUT, path].concat(args)); } /** * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs). * * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches. * For example, if you placed the following route at the top of all other route definitions, it would require that * all routes from that point on would require authentication, and automatically load a user. * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next() * to continue matching subsequent routes. * @param path * @param args * @returns {Function} * @decorator * @operation * @httpMethod */ export function Delete(path: string | RegExp | unknown = "/", ...args: unknown[]) { return Operation(...[OperationVerbs.DELETE, path].concat(args)); } /** * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs). * * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches. * For example, if you placed the following route at the top of all other route definitions, it would require that * all routes from that point on would require authentication, and automatically load a user. * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next() * to continue matching subsequent routes. * @param path * @param args * @returns {Function} * @decorator * @operation * @httpMethod */ export function Head(path: string | RegExp | unknown = "/", ...args: unknown[]) { return Operation(...[OperationVerbs.HEAD, path].concat(args)); } /** * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs). * * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches. * For example, if you placed the following route at the top of all other route definitions, it would require that * all routes from that point on would require authentication, and automatically load a user. * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next() * to continue matching subsequent routes. * @param path * @param args * @returns {Function} * @decorator * @operation * @httpMethod */ export function Patch(path: string | RegExp | any = "/", ...args: any[]) { return Operation(...[OperationVerbs.PATCH, path].concat(args)); } /** * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs). * * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches. * For example, if you placed the following route at the top of all other route definitions, it would require that * all routes from that point on would require authentication, and automatically load a user. * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next() * to continue matching subsequent routes. * @param path * @param args * @returns {Function} * @decorator * @operation * @httpMethod */ export function Options(path: string | RegExp | unknown = "/", ...args: unknown[]) { return Operation(...[OperationVerbs.OPTIONS, path].concat(args)); }