| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- import {Service} from './service.js';
- import {Debuggable} from '@e22m4u/js-debug';
- import {ServiceContainer} from './service-container.js';
- /**
- * Debuggable service.
- */
- export class DebuggableService extends Debuggable {
- /**
- * Kinds.
- *
- * @type {string[]}
- */
- static kinds = Service.kinds;
- /**
- * Service.
- *
- * @type {Service}
- */
- _service;
- /**
- * Container.
- *
- * @type {ServiceContainer}
- */
- get container() {
- return this._service.container;
- }
- /**
- * Получить существующий или новый экземпляр.
- *
- * @type {Service['getService']}
- */
- get getService() {
- return this._service.getService;
- }
- /**
- * Получить существующий или новый экземпляр,
- * только если конструктор зарегистрирован.
- *
- * @type {Service['getRegisteredService']}
- */
- get getRegisteredService() {
- return this._service.getRegisteredService;
- }
- /**
- * Проверка существования конструктора в контейнере.
- *
- * @type {Service['hasService']}
- */
- get hasService() {
- return this._service.hasService;
- }
- /**
- * Добавить конструктор в контейнер.
- *
- * @type {Service['addService']}
- */
- get addService() {
- return this._service.addService;
- }
- /**
- * Добавить конструктор и создать экземпляр.
- *
- * @type {Service['useService']}
- */
- get useService() {
- return this._service.useService;
- }
- /**
- * Добавить конструктор и связанный экземпляр.
- *
- * @type {Service['setService']}
- */
- get setService() {
- return this._service.setService;
- }
- /**
- * Constructor.
- *
- * @param {ServiceContainer|undefined} container
- * @param {import('@e22m4u/js-debug').DebuggableOptions|undefined} options
- */
- constructor(container = undefined, options = undefined) {
- super(options);
- this._service = new Service(container);
- }
- }
|