UNPKG

tspace-0spear

Version:

tspace-0spear is a lightweight API framework for Node.js that is fast and highly focused on providing the best developer experience. It aims to be performant HTTP & Websocket Server using uWebSockets written in C++.

80 lines (79 loc) 3.52 kB
import type { TContext, TMethods, TNextFunction } from "../types"; declare class Router { private _routes; get routes(): { path: string; method: TMethods; handlers: ((ctx: TContext, next: TNextFunction) => any)[]; }[]; /** * The 'groups' method is used to add the request handler to the router for 'GET' 'POST' 'PUT' 'PATCH' 'DELETE' methods. * * @param {string} prefix * @param {Router} router * @returns {void} */ groups(prefix: `/${string}`, router: (router: Router) => Router): void; /** * The 'get' method is used to add the request handler to the router for the 'GET' method. * * @param {string} path * @callback {...Function[]} handlers of the middlewares * @property {Object} ctx - context { req , res , query , params , cookies , files , body} * @property {Function} next - go to next function * @returns {this} */ get(path: `/${string}`, ...handlers: ((ctx: TContext, next: TNextFunction) => any)[]): this; /** * The 'post' method is used to add the request handler to the router for the 'POST' method. * * @param {string} path * @callback {...Function[]} handlers of the middlewares * @property {Object} ctx - context { req , res , query , params , cookies , files , body} * @property {Function} next - go to next function * @returns {this} */ post(path: `/${string}`, ...handlers: ((ctx: TContext, next: TNextFunction) => any)[]): this; /** * The 'put' method is used to add the request handler to the router for the 'PUT' method. * * @param {string} path * @callback {...Function[]} handlers of the middlewares * @property {Object} ctx - context { req , res , query , params , cookies , files , body} * @property {Function} next - go to next function * @returns {this} */ put(path: `/${string}`, ...handlers: ((ctx: TContext, next: TNextFunction) => any)[]): this; /** * The 'patch' method is used to add the request handler to the router for the 'PATCH' method. * * @param {string} path * @callback {...Function[]} handlers of the middlewares * @property {Object} ctx - context { req , res , query , params , cookies , files , body} * @property {Function} next - go to next function * @returns {this} */ patch(path: `/${string}`, ...handlers: ((ctx: TContext, next: TNextFunction) => any)[]): this; /** * The 'delete' method is used to add the request handler to the router for the 'DELETE' method. * * @param {string} path * @callback {...Function[]} handlers of the middlewares * @property {Object} ctx - context { req , res , query , params , cookies , files , body} * @property {Function} next - go to next function * @returns {this} */ delete(path: `/${string}`, ...handlers: ((ctx: TContext, next: TNextFunction) => any)[]): this; /** * The 'all' method is used to add the request handler to the router for 'GET' 'POST' 'PUT' 'PATCH' 'DELETE' methods. * * @param {string} path * @callback {...Function[]} handlers of the middlewares * @property {object} ctx - context { req , res , query , params , cookies , files , body} * @property {function} next - go to next function * @returns {this} */ all(path: `/${string}`, ...handlers: ((ctx: TContext, next: TNextFunction) => any)[]): this; } export { Router }; export default Router;