0.0.4 • Published 8 months ago

nonet v0.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

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!");
  }
}
0.0.4

8 months ago

0.0.3

8 months ago

0.0.2

8 months ago

0.0.1

8 months ago