Skip to main content

Quickstart

import { QService, ServicesStore } from '@quik/services';

class UserService extends QService {
async list() {
return [];
}
}

ServicesStore.register(UserService);
const service = ServicesStore.get(UserService);

Notes

  • ServicesStore.register(...classes) registers one or more QService subclasses by constructor name; ServicesStore.load(folder) recursively imports and registers every service class found under a folder.
  • ServicesStore.get(ServiceClass | name) instantiates (once) and returns the singleton instance for a service; it throws ServiceNotLoadedError if the service was never registered.
  • Services are plain classes extending QService — no decorator is required to define one, only ServicesStore.register(...) to make it resolvable.