@ealmansi/jagger
TypeScript icon, indicating that this package has built-in type declarations

0.1.20 • Public • Published

@ealmansi/jagger

Setup

  1. Install dependencies:
npm add @ealmansi/jagger
  1. Configure prebuild script:
// package.json
{
  "scripts": {
    "prebuild": "jagger-generate"
  }
}

Usage

import { Jagger } from "@ealmansi/jagger";

class Logger {
  constructor() {}
  log(message: string): void {
    console.log(message);
  }
}

class App {
  constructor(private readonly logger: Logger) {}
  start() {
    this.logger.log("App started!");
  }
}

class AppModule extends Jagger.Module {
  provideLogger = Jagger.instance(Logger);
  provideApp = Jagger.instance(App);
}

abstract class AppComponent extends Jagger.Component {
  static module: AppModule;
  abstract provideApp(): App;
}

const app = new AppComponentImpl().provideApp();
app.start(); // App started!

Readme

Keywords

Package Sidebar

Install

npm i @ealmansi/jagger

Weekly Downloads

197

Version

0.1.20

License

MIT

Unpacked Size

45.2 kB

Total Files

11

Last publish

Collaborators

  • ealmansi