nonet
TypeScript icon, indicating that this package has built-in type declarations

0.0.4 • Public • Published

NoNET

ASP .NET like library for Node.js with batteries included built on top of TypeScript, Express, Pino and Axios.

Installation

NoNet is available as an npm package.

$ npm i -s nonet

Usage Example

App Startup

/* 
 * file: /src/index.ts 
 */
import { addController, addWebEssentials, createLogger, createServer, HttpClientFactory, register } from "nonet";
import { HomeController } from "./controllers/HomeController";

const server = createServer();
addWebEssentials(server);

// Register controllers
addController(server, HomeController);

const logger = createLogger();
// Register services to inject
register("logger", createLogger);
register("http.client.factory", HttpClientFactory);

server.listen(8080, () => logger.info("Server ready at http://localhost:8080"));

Defining a Controller

/* 
 * file: /src/controllers/HomeController.ts 
 */
import { controller, inject, route, HttpMethod } from "nonet";
import { Request, Response } from "express";
import { Logger } from "pino";

@controller()
export class HomeController {
  @inject("logger") // Injects the logger service
  logger: Logger;

  @route("/", HttpMethod.GET)
  async index(req: Request, res: Response) {
    this.logger.info("Request received!");
    res.send("Hello World!");
  }
}

Package Sidebar

Install

npm i nonet

Weekly Downloads

1

Version

0.0.4

License

MIT

Unpacked Size

37.1 kB

Total Files

8

Last publish

Collaborators

  • drndrs