Options
All
  • Public
  • Public/Protected
  • All
Menu

Dango | Functional routing controllers for express

Index

Type aliases

DangoController

DangoController: { _middlewares?: ReadonlyArray<DangoMiddleware>; _path: string | RegExp; _routes: ReadonlyArray<DangoRoute> }

Type declaration

DangoMiddleware

DangoMiddleware: (req: Request, res: Response, next: NextFunction) => void

Type declaration

    • (req: Request, res: Response, next: NextFunction): void
    • Parameters

      • req: Request
      • res: Response
      • next: NextFunction

      Returns void

DangoRouteHandler

DangoRouteHandler<B, P, Q>: (ctx: HandlerCtx<B, P, Q>) => void

Type parameters

  • B

  • P

  • Q

Type declaration

HTTPErrorCodes

HTTPErrorCodes: typeof HTTPCodes[keyof typeof HTTPCodes] | keyof typeof HTTPCodes

anyObj

anyObj: {}

Type declaration

  • [x: string]: any

methods

methods: "all" | "get" | "post" | "put" | "delete" | "patch" | "options" | "head"

Functions

Const createController

  • Create a Dango controller with routes, middlewares.

    example
     import { createController } from 'dango-core';

    export default createController('/', [
    {
    path: '/',
    method: 'get',
    handler: ({req, res}) => {
    res.send('test on home');
    },
    },
    {
    path: '/test/:id',
    method: 'get',
    handler: ({req, res}) => {
    res.send('test with id');
    },
    middlewares: [
    (req, res, next) => {
    if (req.params.id !== 'xx') {
    next('no param');
    }
    next();
    },
    ],
    },
    ]);

    Parameters

    Returns DangoController

    DangoController instance

Const createExpressServer

  • createExpressServer(server: Express, options: BaseConfig): Express
  • Create a Dango wrapper of express server with specific options

    example
    import express from 'express';
    const app = express();
    createExpressServer(app, {
    controllers: ['src/sample/**.ts'],
    }).listen(3000, () => console.log('http://localhost:3000'));

    Parameters

    Returns Express

    Express instance

createRoute

  • A low level wrapper for creating dango routes.

    Recommended when proper type definitions for request params,body and query is needed

    example
    const userRoute = createRoute<{ user: string }>({
    path: '/user',
    method: 'options',
    handler: ({req, res, body}) => {
    req.body.user;
    },
    });

    Can be used with createController for modularity

    example
    export default createController('/aa', [userRoute]);
    

    Type parameters

    • B = any

    • P = any

    • Q = any

    Parameters

    Returns DangoRouteChain<B, P, Q>

    Dango route object

  • Type parameters

    • B = any

    • P = any

    • Q = any

    Parameters

    • ctx: string

    Returns DangoRouteChain<B, P, Q>

Generated using TypeDoc