UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

29 lines (28 loc) 1.03 kB
import { AbstractService } from './abstract-service'; import { ServiceCallType } from './definitions'; import { ServiceCallRunner } from './service-call-runner'; /** * This class will be augmented when importing specific service * For example: * ```typescript * const container: ServiceContainer; * expect(container.interface).to.be.undefined; * import '@iotize/tap/service/interface'; * expect(container.interface).to.be.not.undefined; * * ``` */ export declare class ServiceContainer { readonly serviceCallRunner: ServiceCallRunner; constructor(serviceCallRunner: ServiceCallRunner); /** * List loaded services */ services(): AbstractService[]; servicesMap(): Record<string, AbstractService>; /** * List all loaded resources */ resources(): ServiceCallType[]; } export declare function extendServiceContainer<T extends AbstractService>(attrName: string, serviceConstructor: new (serviceCallRunner: ServiceCallRunner) => T): ServiceContainer;