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.5
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');
registry.get('service-1');
registry.all();
registry.reset();
Removing a service from the registry is as easy as adding:
registry.unregister('service-1');
registry.has('service-1');
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.