0.6.1 • Published 2 years ago

@rxstack/service-registry v0.6.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

The Service Registry

Simple registry component useful for all types of applications.

Installation

npm install @rxstack/service-registry --save

// peerDependencies
npm install @rxstack/exceptions@^0.6

Documentation

Usage

A registry object acts as a collection of objects. It allows you to store objects which implement a specific interface.

Each service should implement NamedServiceInterface:

    import {NamedServiceInterface} from '@rxstack/registry';

    export class MyService implements NamedServiceInterface {
      getName(): string {
        return 'service-1';
      }
    }

Here we go:

    import {ServiceRegistry} from '@rxstack/registry';

    const registry = new ServiceRegistry<MyServiceInterface>();
    registry.register(new MyService1());
    registry.register(new MyService2());
    
    registry.has('service-1'); // should return true
    registry.get('service-1'); // should get service instance
    registry.all(); // should retun an array of all registered service
    registry.reset(); // clears all services from registry

Removing a service from the registry is as easy as adding:

// ...
registry.unregister('service-1');
registry.has('service-1'); //should return false

Exceptions

ExistingServiceException is thrown when you try to register a service that is already in the registry.

NonExistingServiceException is thrown when you try to unregister or get a service which is not in the registry.

License

Licensed under the MIT license.

0.6.1

2 years ago

0.6.0

3 years ago

0.5.1

4 years ago

0.5.0

4 years ago

0.4.0

5 years ago

0.3.0

5 years ago

0.2.0

5 years ago

0.1.5

6 years ago

0.1.4

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.21

6 years ago

0.0.14

6 years ago

0.0.1

6 years ago