Nonlinear Performance Magnification

npm

Need private packages and team management tools?Check out npm Orgs. »

@t2ee/vader

0.1.3 • Public • Published

Node version NPM version build status Test coverage

Installation

$ npm install koa@next @types/koa @t2ee/vader --save

Introduction

This is the core component of t2ee, the routing service.

More documentations will be added soon, for immediate access to all features, please refer to the declaration file.

Example

@Path('/')
class TestController {
 
    @GET
    @Path('/')
    async index() {
        return new Response()
            .status(200)
            .set('Content-Type', 'application/json')
            .entity(JSON.stringify({
                message: 'hello world',
            }))
            .build();
    }
}
const app = new Koa();
const router = new Router();
router.use(TestController);
app.use(router.routes());
app.listen(8080);

API

Router

provide(providerName: string, fn: (parameter: IParameter, context: VaderContext) => Promise);

provide custom annotations that can be managed by vader.

use(controller: Class)

register a controller to router

routes()

return a middleware function to be used in Koa.

Response

entity(body: any)

set content

status(status: number)

set status

set(key: string, value: string)

set header

build()

build response before return

VaderContext

  • headers
  • params
  • query
  • body
  • http: Koa.Context

@BodyParam(key?: string)

used to get body of item of specified key

@HeaderParam(key?: string)

used to get header of item of specified key

@PathParam(key?: string)

used to get path variables of item of specified key

@QueryParam(key?: string)

used to get query of item of specified key

@Consume(type: MediaType)

set reqeust body content type

@Produce(type: MediaType)

set response body content type

@DELETE

@GET

@POST

@PUT

@HEAD

@OPTIONS

@Method(method: string)

set reqeust method

@Context

get current VaderContext

@Use(func: (context: VaderContext, next: () => Promise) => Promise)

plug in custom middleware

Charset

charset enums

HttpMethod

http method enums

MediaType

content type enums

Status

http status enums

Contributing

PRs and Issues are welcome

install

npm i @t2ee/vader

Downloadsweekly downloads

23

version

0.1.3

license

Apache-2.0

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability