singleton-module-registry
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

Singleton Module Registry

CircleCI

Codacy Badge

Codacy Badge

Description

Implementation of the Registry Pattern to have loosely-coupled modules in your app. You can either use the singleton provided to just import the library or create as many Registry as you want and pass them to your different modules.

Breaking change notes

  • We don't provide event emitter anymore because event emission is meant to decouple modules. But we use dependency injdection for this purpose so event emission is not needed anymore.
  • We do not support module interdependency anymore (via the required property) because modules are meant to be decoupled units.

Installation

npm i --save singleton-module-registry

Usage

Using the singleton

import { getRegistrySingleton } from 'singleton-module-registry';
 
const registry = getRegistrySingleton();
 
const { moduleA, moduleB } = registry.getModules(['moduleA', 'moduleB']);

Instantiating a new registry

import { ModuleRegistry } from 'singleton-module-registry';
 
const registry1 = new ModuleRegistry();
 
registry1.registerModule('moduleA', {
  sum: (a, b) => a + b,
  product: (a, b) => a * b,
});
const { moduleA } = registry.getModules(['moduleA']);
 
console.log(moduleA.sum(1, 2)); // prints 3

Readme

Keywords

none

Package Sidebar

Install

npm i singleton-module-registry

Weekly Downloads

0

Version

1.0.1

License

MIT

Unpacked Size

105 kB

Total Files

38

Last publish

Collaborators

  • chipp972