leeh / routex-inversify

Inversify decorators for Routex

Home Page:https://routex.js.org/docs/packages/inversify

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Routex Inversify npm Travis CI Codecov

Inversify decorator for Routex.

Documentation - GitHub

Example

Install:

yarn add @routex/inversify
# or
npm add @routex/inversify

Setup your app:

import "reflect-metadata";
import { ICtx, TextBody } from "routex";
import {
  RoutexInversifyServer,
  TYPE,
  Get,
  Controller,
} from "@routex/inversify";
import { injectable } from "inversify";

@injectable()
@Controller("/test")
class TestController {
  @Get("/name/:name")
  getName(ctx: ICtx) {
    return new TextBody(ctx.params.name);
  }
}

const container = new Container();

container
  .bind(TYPE.Controller)
  .to(TestController)
  .whenTargetNamed("TestController");

const server = new RoutexInversifyServer(container);

const port = process.env.PORT || 3000;

server
  .build()
  .listen(port)
  .then(() => console.log(`Listening on ${port}`));

Support

We support all currently active and maintained Node LTS versions, include current Node versions.

Please file feature requests and bugs at the issue tracker.

About

Inversify decorators for Routex

https://routex.js.org/docs/packages/inversify

License:MIT License


Languages

Language:TypeScript 96.4%Language:JavaScript 3.6%