| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- import {ServiceContainer} from './service-container.js';
- /**
- * Service.
- */
- export class Service {
- /**
- * Container.
- *
- * @type {ServiceContainer}
- */
- container;
- /**
- * Constructor.
- *
- * @param {ServiceContainer|undefined} container
- */
- constructor(container = undefined) {
- this.container =
- container instanceof ServiceContainer
- ? container
- : new ServiceContainer();
- }
- /**
- * Get service.
- *
- * @param {any} ctor
- * @param {any} args
- * @return {any}
- */
- getService(ctor, ...args) {
- return this.container.get(ctor, ...args);
- }
- /**
- * Has service.
- *
- * @param {any} ctor
- * @return {boolean}
- */
- hasService(ctor) {
- return this.container.has(ctor);
- }
- /**
- * Add service.
- *
- * @param {any} ctor
- * @param {any} args
- * @return {this}
- */
- addService(ctor, ...args) {
- this.container.add(ctor, ...args);
- return this;
- }
- /**
- * Use service.
- *
- * @param {any} ctor
- * @param {any} args
- * @return {this}
- */
- useService(ctor, ...args) {
- this.container.use(ctor, ...args);
- return this;
- }
- }
|