@null-studios/universal-ioc
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

universal-ioc

Simple TypeScript IoC container.

yarn add @null-studios/universal-ioc

Usage

import { IocContainer } from '@null-studios/universal-ioc';

class Application {
  public static inject = [
    'configuration',
  ] as const;

  constructor(
    configuration: Configuration,
  ) {
    // ...
  }
}

const container = new IocContainer().register([
  {
    type: 'value',
    name: 'configuration',
    value: {
      width: 300,
      height: 300,
      frameRate: 120,
    },
  },
  {
    type: 'class',
    name: 'application',
    constructor: Application,
    lifetime: 'singleton',
  },
]);

const application = container.resolve('application') as Application;

application.start();

Readme

Keywords

none

Package Sidebar

Install

npm i @null-studios/universal-ioc

Weekly Downloads

0

Version

2.0.0

License

Apache-2.0

Unpacked Size

24.7 kB

Total Files

17

Last publish

Collaborators

  • nate-wilkins