Browse Source

chore: adds *.d.ts

e22m4u 2 years ago
parent
commit
4213758825

+ 1 - 0
.eslintignore

@@ -0,0 +1 @@
+*.d.ts

+ 1 - 1
package.json

@@ -26,7 +26,7 @@
   "license": "MIT",
   "homepage": "https://github.com/e22m4u/service",
   "dependencies": {
-    "@e22m4u/format": "0.0.3"
+    "@e22m4u/util-format": "0.0.6"
   },
   "devDependencies": {
     "@commitlint/cli": "^17.7.1",

+ 1 - 0
src/errors/index.d.ts

@@ -0,0 +1 @@
+export * from './invalid-argument-error';

+ 6 - 0
src/errors/invalid-argument-error.d.ts

@@ -0,0 +1,6 @@
+import {Errorf} from '@e22m4u/util-format';
+
+/**
+ * Invalid argument error.
+ */
+export declare class InvalidArgumentError extends Errorf {}

+ 1 - 1
src/errors/invalid-argument-error.js

@@ -1,4 +1,4 @@
-import {Errorf} from '@e22m4u/format';
+import {Errorf} from '@e22m4u/util-format';
 
 /**
  * Invalid argument error.

+ 2 - 0
src/index.d.ts

@@ -0,0 +1,2 @@
+export * from './service';
+export * from './service-container';

+ 48 - 0
src/service-container.d.ts

@@ -0,0 +1,48 @@
+import {Constructor} from './types';
+
+/**
+ * Service container.
+ */
+export declare class ServiceContainer {
+  /**
+   * Get.
+   *
+   * @param ctor
+   * @param args
+   */
+  get<T extends object>(
+    ctor: Constructor<T>,
+    ...args: any[],
+  ): T;
+
+  /**
+   * Has.
+   *
+   * @param ctor
+   */
+  has<T extends object>(
+    ctor: Constructor<T>,
+  ): boolean;
+
+  /**
+   * Add.
+   *
+   * @param ctor
+   * @param args
+   */
+  add<T extends object>(
+    ctor: Constructor<T>,
+    ...args: any[],
+  ): this;
+
+  /**
+   * Use.
+   *
+   * @param ctor
+   * @param args
+   */
+  use<T extends object>(
+    ctor: Constructor<T>,
+    ...args: any[],
+  ): this;
+}

+ 1 - 1
src/service-container.spec.js

@@ -1,6 +1,6 @@
 import {expect} from 'chai';
 import {Service} from './service.js';
-import {format} from '@e22m4u/format';
+import {format} from '@e22m4u/util-format';
 import {ServiceContainer} from './service-container.js';
 
 describe('ServiceContainer', function () {

+ 61 - 0
src/service.d.ts

@@ -0,0 +1,61 @@
+import {Constructor} from './types';
+import {ServiceContainer} from './service-container';
+
+/**
+ * Service.
+ */
+export declare class Service {
+  /**
+   * Container.
+   */
+  container: ServiceContainer;
+
+  /**
+   * Constructor.
+   *
+   * @param container
+   */
+  constructor(container?: ServiceContainer);
+
+  /**
+   * Get service.
+   *
+   * @param ctor
+   * @param args
+   */
+  getService<T extends object>(
+    ctor: Constructor<T>,
+    ...args: any[],
+  ): T;
+
+  /**
+   * Has service.
+   *
+   * @param ctor
+   */
+  hasService<T extends object>(
+    ctor: Constructor<T>,
+  ): boolean;
+
+  /**
+   * Add service.
+   *
+   * @param ctor
+   * @param args
+   */
+  addService<T extends object>(
+    ctor: Constructor<T>,
+    ...args: any[],
+  ): this;
+
+  /**
+   * Use service.
+   *
+   * @param ctor
+   * @param args
+   */
+  useService<T extends object>(
+    ctor: Constructor<T>,
+    ...args: any[],
+  ): this;
+}

+ 7 - 0
src/types.d.ts

@@ -0,0 +1,7 @@
+/**
+ * A callable type with "new" operator allows
+ * class and constructor.
+ */
+export interface Constructor<T extends object = object> {
+  new (...args: any[]): T;
+}