Browse Source

chore: renames constant HOOK_NAME to HookName

e22m4u 1 year ago
parent
commit
598fa46d47

+ 14 - 14
dist/cjs/index.cjs

@@ -1842,8 +1842,8 @@ __export(src_exports, {
   DataSender: () => DataSender,
   DataSender: () => DataSender,
   EXPOSED_ERROR_PROPERTIES: () => EXPOSED_ERROR_PROPERTIES,
   EXPOSED_ERROR_PROPERTIES: () => EXPOSED_ERROR_PROPERTIES,
   ErrorSender: () => ErrorSender,
   ErrorSender: () => ErrorSender,
-  HOOK_NAME: () => HOOK_NAME,
   HookInvoker: () => HookInvoker,
   HookInvoker: () => HookInvoker,
+  HookName: () => HookName,
   HookRegistry: () => HookRegistry,
   HookRegistry: () => HookRegistry,
   HttpMethod: () => HttpMethod,
   HttpMethod: () => HttpMethod,
   METHODS_WITH_BODY: () => METHODS_WITH_BODY,
   METHODS_WITH_BODY: () => METHODS_WITH_BODY,
@@ -2713,7 +2713,7 @@ var DebuggableService = class extends Service {
 };
 };
 
 
 // src/hooks/hook-registry.js
 // src/hooks/hook-registry.js
-var HOOK_NAME = {
+var HookName = {
   PRE_HANDLER: "preHandler",
   PRE_HANDLER: "preHandler",
   POST_HANDLER: "postHandler"
   POST_HANDLER: "postHandler"
 };
 };
@@ -2735,7 +2735,7 @@ var HookRegistry = class extends DebuggableService {
   addHook(name, hook) {
   addHook(name, hook) {
     if (!name || typeof name !== "string")
     if (!name || typeof name !== "string")
       throw new Errorf("The hook name is required, but %v given.", name);
       throw new Errorf("The hook name is required, but %v given.", name);
-    if (!Object.values(HOOK_NAME).includes(name))
+    if (!Object.values(HookName).includes(name))
       throw new Errorf("The hook name %v is not supported.", name);
       throw new Errorf("The hook name %v is not supported.", name);
     if (!hook || typeof hook !== "function")
     if (!hook || typeof hook !== "function")
       throw new Errorf(
       throw new Errorf(
@@ -2758,7 +2758,7 @@ var HookRegistry = class extends DebuggableService {
   hasHook(name, hook) {
   hasHook(name, hook) {
     if (!name || typeof name !== "string")
     if (!name || typeof name !== "string")
       throw new Errorf("The hook name is required, but %v given.", name);
       throw new Errorf("The hook name is required, but %v given.", name);
-    if (!Object.values(HOOK_NAME).includes(name))
+    if (!Object.values(HookName).includes(name))
       throw new Errorf("The hook name %v is not supported.", name);
       throw new Errorf("The hook name %v is not supported.", name);
     if (!hook || typeof hook !== "function")
     if (!hook || typeof hook !== "function")
       throw new Errorf(
       throw new Errorf(
@@ -2778,7 +2778,7 @@ var HookRegistry = class extends DebuggableService {
   getHooks(name) {
   getHooks(name) {
     if (!name || typeof name !== "string")
     if (!name || typeof name !== "string")
       throw new Errorf("The hook name is required, but %v given.", name);
       throw new Errorf("The hook name is required, but %v given.", name);
-    if (!Object.values(HOOK_NAME).includes(name))
+    if (!Object.values(HookName).includes(name))
       throw new Errorf("The hook name %v is not supported.", name);
       throw new Errorf("The hook name %v is not supported.", name);
     return this._hooks.get(name) || [];
     return this._hooks.get(name) || [];
   }
   }
@@ -2806,7 +2806,7 @@ var HookInvoker = class extends DebuggableService {
         'The parameter "hookName" of the HookInvoker.invokeAndContinueUntilValueReceived should be a non-empty String, but %v given.',
         'The parameter "hookName" of the HookInvoker.invokeAndContinueUntilValueReceived should be a non-empty String, but %v given.',
         hookName
         hookName
       );
       );
-    if (!Object.values(HOOK_NAME).includes(hookName))
+    if (!Object.values(HookName).includes(hookName))
       throw new Errorf("The hook name %v is not supported.", hookName);
       throw new Errorf("The hook name %v is not supported.", hookName);
     if (!response || typeof response !== "object" || Array.isArray(response) || typeof response.headersSent !== "boolean") {
     if (!response || typeof response !== "object" || Array.isArray(response) || typeof response.headersSent !== "boolean") {
       throw new Errorf(
       throw new Errorf(
@@ -2945,13 +2945,13 @@ var Route = class {
     if (routeDef.preHandler != null) {
     if (routeDef.preHandler != null) {
       const preHandlerHooks = Array.isArray(routeDef.preHandler) ? routeDef.preHandler : [routeDef.preHandler];
       const preHandlerHooks = Array.isArray(routeDef.preHandler) ? routeDef.preHandler : [routeDef.preHandler];
       preHandlerHooks.forEach((hook) => {
       preHandlerHooks.forEach((hook) => {
-        this._hookRegistry.addHook(HOOK_NAME.PRE_HANDLER, hook);
+        this._hookRegistry.addHook(HookName.PRE_HANDLER, hook);
       });
       });
     }
     }
     if (routeDef.postHandler != null) {
     if (routeDef.postHandler != null) {
       const postHandlerHooks = Array.isArray(routeDef.postHandler) ? routeDef.postHandler : [routeDef.postHandler];
       const postHandlerHooks = Array.isArray(routeDef.postHandler) ? routeDef.postHandler : [routeDef.postHandler];
       postHandlerHooks.forEach((hook) => {
       postHandlerHooks.forEach((hook) => {
-        this._hookRegistry.addHook(HOOK_NAME.POST_HANDLER, hook);
+        this._hookRegistry.addHook(HookName.POST_HANDLER, hook);
       });
       });
     }
     }
   }
   }
@@ -3908,7 +3908,7 @@ var TrieRouter = class extends DebuggableService {
       try {
       try {
         data = hookInvoker.invokeAndContinueUntilValueReceived(
         data = hookInvoker.invokeAndContinueUntilValueReceived(
           route,
           route,
-          HOOK_NAME.PRE_HANDLER,
+          HookName.PRE_HANDLER,
           res,
           res,
           context
           context
         );
         );
@@ -3918,7 +3918,7 @@ var TrieRouter = class extends DebuggableService {
           if (isPromise(data)) data = await data;
           if (isPromise(data)) data = await data;
           let postHandlerData = hookInvoker.invokeAndContinueUntilValueReceived(
           let postHandlerData = hookInvoker.invokeAndContinueUntilValueReceived(
             route,
             route,
-            HOOK_NAME.POST_HANDLER,
+            HookName.POST_HANDLER,
             res,
             res,
             context,
             context,
             data
             data
@@ -3943,20 +3943,20 @@ var TrieRouter = class extends DebuggableService {
    * Example:
    * Example:
    * ```
    * ```
    * import {TrieRouter} from '@e22m4u/js-trie-router';
    * import {TrieRouter} from '@e22m4u/js-trie-router';
-   * import {HOOK_NAME} from '@e22m4u/js-trie-router';
+   * import {HookName} from '@e22m4u/js-trie-router';
    *
    *
    * // Router instance.
    * // Router instance.
    * const router = new TrieRouter();
    * const router = new TrieRouter();
    *
    *
    * // Adds the "preHandler" hook for each route.
    * // Adds the "preHandler" hook for each route.
    * router.addHook(
    * router.addHook(
-   *   HOOK_NAME.PRE_HANDLER,
+   *   HookName.PRE_HANDLER,
    *   ctx => { ... },
    *   ctx => { ... },
    * );
    * );
    *
    *
    * // Adds the "postHandler" hook for each route.
    * // Adds the "postHandler" hook for each route.
    * router.addHook(
    * router.addHook(
-   *   HOOK_NAME.POST_HANDLER,
+   *   HookName.POST_HANDLER,
    *   ctx => { ... },
    *   ctx => { ... },
    * );
    * );
    * ```
    * ```
@@ -3978,8 +3978,8 @@ var TrieRouter = class extends DebuggableService {
   DataSender,
   DataSender,
   EXPOSED_ERROR_PROPERTIES,
   EXPOSED_ERROR_PROPERTIES,
   ErrorSender,
   ErrorSender,
-  HOOK_NAME,
   HookInvoker,
   HookInvoker,
+  HookName,
   HookRegistry,
   HookRegistry,
   HttpMethod,
   HttpMethod,
   METHODS_WITH_BODY,
   METHODS_WITH_BODY,

+ 2 - 2
src/hooks/hook-invoker.d.ts

@@ -1,7 +1,7 @@
 import {Route} from '../route.js';
 import {Route} from '../route.js';
 import {ServerResponse} from 'http';
 import {ServerResponse} from 'http';
 import {ValueOrPromise} from '../types.js';
 import {ValueOrPromise} from '../types.js';
-import {HOOK_NAME} from './hook-registry.js';
+import {HookName} from './hook-registry.js';
 import {DebuggableService} from '../debuggable-service.js';
 import {DebuggableService} from '../debuggable-service.js';
 
 
 /**
 /**
@@ -18,7 +18,7 @@ export declare class HookInvoker extends DebuggableService {
    */
    */
   invokeAndContinueUntilValueReceived(
   invokeAndContinueUntilValueReceived(
     route: Route,
     route: Route,
-    hookName: HOOK_NAME,
+    hookName: HookName,
     response: ServerResponse,
     response: ServerResponse,
     ...args: unknown[]
     ...args: unknown[]
   ): ValueOrPromise<unknown>;
   ): ValueOrPromise<unknown>;

+ 2 - 2
src/hooks/hook-invoker.js

@@ -1,7 +1,7 @@
 import {Route} from '../route.js';
 import {Route} from '../route.js';
 import {Errorf} from '@e22m4u/js-format';
 import {Errorf} from '@e22m4u/js-format';
 import {isPromise} from '../utils/index.js';
 import {isPromise} from '../utils/index.js';
-import {HOOK_NAME} from './hook-registry.js';
+import {HookName} from './hook-registry.js';
 import {HookRegistry} from './hook-registry.js';
 import {HookRegistry} from './hook-registry.js';
 import {isResponseSent} from '../utils/index.js';
 import {isResponseSent} from '../utils/index.js';
 import {DebuggableService} from '../debuggable-service.js';
 import {DebuggableService} from '../debuggable-service.js';
@@ -34,7 +34,7 @@ export class HookInvoker extends DebuggableService {
           'should be a non-empty String, but %v given.',
           'should be a non-empty String, but %v given.',
         hookName,
         hookName,
       );
       );
-    if (!Object.values(HOOK_NAME).includes(hookName))
+    if (!Object.values(HookName).includes(hookName))
       throw new Errorf('The hook name %v is not supported.', hookName);
       throw new Errorf('The hook name %v is not supported.', hookName);
     if (
     if (
       !response ||
       !response ||

+ 35 - 35
src/hooks/hook-invoker.spec.js

@@ -2,7 +2,7 @@ import {expect} from '../chai.js';
 import {Route} from '../route.js';
 import {Route} from '../route.js';
 import {HttpMethod} from '../route.js';
 import {HttpMethod} from '../route.js';
 import {format} from '@e22m4u/js-format';
 import {format} from '@e22m4u/js-format';
-import {HOOK_NAME} from './hook-registry.js';
+import {HookName} from './hook-registry.js';
 import {HookInvoker} from './hook-invoker.js';
 import {HookInvoker} from './hook-invoker.js';
 import {HookRegistry} from './hook-registry.js';
 import {HookRegistry} from './hook-registry.js';
 import {createResponseMock} from '../utils/index.js';
 import {createResponseMock} from '../utils/index.js';
@@ -13,7 +13,7 @@ describe('HookInvoker', function () {
       const s = new HookInvoker();
       const s = new HookInvoker();
       const res = createResponseMock();
       const res = createResponseMock();
       const throwable = v => () =>
       const throwable = v => () =>
-        s.invokeAndContinueUntilValueReceived(v, HOOK_NAME.PRE_HANDLER, res);
+        s.invokeAndContinueUntilValueReceived(v, HookName.PRE_HANDLER, res);
       const error = v =>
       const error = v =>
         format(
         format(
           'The parameter "route" of ' +
           'The parameter "route" of ' +
@@ -66,7 +66,7 @@ describe('HookInvoker', function () {
       expect(throwable({})).to.throw(error('Object'));
       expect(throwable({})).to.throw(error('Object'));
       expect(throwable([])).to.throw(error('Array'));
       expect(throwable([])).to.throw(error('Array'));
       expect(throwable(undefined)).to.throw(error('undefined'));
       expect(throwable(undefined)).to.throw(error('undefined'));
-      throwable(HOOK_NAME.PRE_HANDLER)();
+      throwable(HookName.PRE_HANDLER)();
     });
     });
 
 
     it('requires the parameter "hookName" to be a supported hook', function () {
     it('requires the parameter "hookName" to be a supported hook', function () {
@@ -77,7 +77,7 @@ describe('HookInvoker', function () {
         handler: () => undefined,
         handler: () => undefined,
       });
       });
       const res = createResponseMock();
       const res = createResponseMock();
-      Object.values(HOOK_NAME).forEach(name =>
+      Object.values(HookName).forEach(name =>
         s.invokeAndContinueUntilValueReceived(route, name, res),
         s.invokeAndContinueUntilValueReceived(route, name, res),
       );
       );
       const throwable = () =>
       const throwable = () =>
@@ -93,7 +93,7 @@ describe('HookInvoker', function () {
         handler: () => undefined,
         handler: () => undefined,
       });
       });
       const throwable = v => () =>
       const throwable = v => () =>
-        s.invokeAndContinueUntilValueReceived(route, HOOK_NAME.PRE_HANDLER, v);
+        s.invokeAndContinueUntilValueReceived(route, HookName.PRE_HANDLER, v);
       const error = v =>
       const error = v =>
         format(
         format(
           'The parameter "response" of ' +
           'The parameter "response" of ' +
@@ -117,10 +117,10 @@ describe('HookInvoker', function () {
     it('invokes global hooks in priority', function () {
     it('invokes global hooks in priority', function () {
       const s = new HookInvoker();
       const s = new HookInvoker();
       const order = [];
       const order = [];
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, () => {
         order.push('globalHook1');
         order.push('globalHook1');
       });
       });
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, () => {
         order.push('globalHook2');
         order.push('globalHook2');
       });
       });
       const route = new Route({
       const route = new Route({
@@ -138,7 +138,7 @@ describe('HookInvoker', function () {
       });
       });
       s.invokeAndContinueUntilValueReceived(
       s.invokeAndContinueUntilValueReceived(
         route,
         route,
-        HOOK_NAME.PRE_HANDLER,
+        HookName.PRE_HANDLER,
         createResponseMock(),
         createResponseMock(),
       );
       );
       expect(order).to.be.eql([
       expect(order).to.be.eql([
@@ -153,14 +153,14 @@ describe('HookInvoker', function () {
       const s = new HookInvoker();
       const s = new HookInvoker();
       const order = [];
       const order = [];
       const ret = 'OK';
       const ret = 'OK';
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, () => {
         order.push('globalHook1');
         order.push('globalHook1');
       });
       });
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, () => {
         order.push('globalHook2');
         order.push('globalHook2');
         return ret;
         return ret;
       });
       });
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, () => {
         order.push('globalHook3');
         order.push('globalHook3');
       });
       });
       const route = new Route({
       const route = new Route({
@@ -178,7 +178,7 @@ describe('HookInvoker', function () {
       });
       });
       const result = s.invokeAndContinueUntilValueReceived(
       const result = s.invokeAndContinueUntilValueReceived(
         route,
         route,
-        HOOK_NAME.PRE_HANDLER,
+        HookName.PRE_HANDLER,
         createResponseMock(),
         createResponseMock(),
       );
       );
       expect(result).to.be.eq(ret);
       expect(result).to.be.eq(ret);
@@ -189,10 +189,10 @@ describe('HookInvoker', function () {
       const s = new HookInvoker();
       const s = new HookInvoker();
       const order = [];
       const order = [];
       const ret = 'OK';
       const ret = 'OK';
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, () => {
         order.push('globalHook1');
         order.push('globalHook1');
       });
       });
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, () => {
         order.push('globalHook2');
         order.push('globalHook2');
       });
       });
       const route = new Route({
       const route = new Route({
@@ -214,7 +214,7 @@ describe('HookInvoker', function () {
       });
       });
       const result = s.invokeAndContinueUntilValueReceived(
       const result = s.invokeAndContinueUntilValueReceived(
         route,
         route,
-        HOOK_NAME.PRE_HANDLER,
+        HookName.PRE_HANDLER,
         createResponseMock(),
         createResponseMock(),
       );
       );
       expect(result).to.be.eq(ret);
       expect(result).to.be.eq(ret);
@@ -230,14 +230,14 @@ describe('HookInvoker', function () {
       const s = new HookInvoker();
       const s = new HookInvoker();
       const order = [];
       const order = [];
       const res = createResponseMock();
       const res = createResponseMock();
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, () => {
         order.push('globalHook1');
         order.push('globalHook1');
       });
       });
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, () => {
         order.push('globalHook2');
         order.push('globalHook2');
         res._headersSent = true;
         res._headersSent = true;
       });
       });
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, () => {
         order.push('globalHook3');
         order.push('globalHook3');
       });
       });
       const route = new Route({
       const route = new Route({
@@ -255,7 +255,7 @@ describe('HookInvoker', function () {
       });
       });
       const result = s.invokeAndContinueUntilValueReceived(
       const result = s.invokeAndContinueUntilValueReceived(
         route,
         route,
-        HOOK_NAME.PRE_HANDLER,
+        HookName.PRE_HANDLER,
         res,
         res,
       );
       );
       expect(result).to.be.eq(res);
       expect(result).to.be.eq(res);
@@ -266,10 +266,10 @@ describe('HookInvoker', function () {
       const s = new HookInvoker();
       const s = new HookInvoker();
       const order = [];
       const order = [];
       const res = createResponseMock();
       const res = createResponseMock();
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, () => {
         order.push('globalHook1');
         order.push('globalHook1');
       });
       });
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, () => {
         order.push('globalHook2');
         order.push('globalHook2');
       });
       });
       const route = new Route({
       const route = new Route({
@@ -291,7 +291,7 @@ describe('HookInvoker', function () {
       });
       });
       const result = s.invokeAndContinueUntilValueReceived(
       const result = s.invokeAndContinueUntilValueReceived(
         route,
         route,
-        HOOK_NAME.PRE_HANDLER,
+        HookName.PRE_HANDLER,
         res,
         res,
       );
       );
       expect(result).to.be.eq(res);
       expect(result).to.be.eq(res);
@@ -306,13 +306,13 @@ describe('HookInvoker', function () {
     it('returns a Promise if any global hook is asynchronous', async function () {
     it('returns a Promise if any global hook is asynchronous', async function () {
       const s = new HookInvoker();
       const s = new HookInvoker();
       const order = [];
       const order = [];
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, () => {
         order.push('globalHook1');
         order.push('globalHook1');
       });
       });
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, async () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, async () => {
         order.push('globalHook2');
         order.push('globalHook2');
       });
       });
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, () => {
         order.push('globalHook3');
         order.push('globalHook3');
       });
       });
       const route = new Route({
       const route = new Route({
@@ -330,7 +330,7 @@ describe('HookInvoker', function () {
       });
       });
       const promise = s.invokeAndContinueUntilValueReceived(
       const promise = s.invokeAndContinueUntilValueReceived(
         route,
         route,
-        HOOK_NAME.PRE_HANDLER,
+        HookName.PRE_HANDLER,
         createResponseMock(),
         createResponseMock(),
       );
       );
       expect(promise).to.be.instanceof(Promise);
       expect(promise).to.be.instanceof(Promise);
@@ -347,10 +347,10 @@ describe('HookInvoker', function () {
     it('returns a Promise if entire global hooks are asynchronous', async function () {
     it('returns a Promise if entire global hooks are asynchronous', async function () {
       const s = new HookInvoker();
       const s = new HookInvoker();
       const order = [];
       const order = [];
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, async () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, async () => {
         order.push('globalHook1');
         order.push('globalHook1');
       });
       });
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, async () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, async () => {
         order.push('globalHook2');
         order.push('globalHook2');
       });
       });
       const route = new Route({
       const route = new Route({
@@ -368,7 +368,7 @@ describe('HookInvoker', function () {
       });
       });
       const promise = s.invokeAndContinueUntilValueReceived(
       const promise = s.invokeAndContinueUntilValueReceived(
         route,
         route,
-        HOOK_NAME.PRE_HANDLER,
+        HookName.PRE_HANDLER,
         createResponseMock(),
         createResponseMock(),
       );
       );
       expect(promise).to.be.instanceof(Promise);
       expect(promise).to.be.instanceof(Promise);
@@ -384,10 +384,10 @@ describe('HookInvoker', function () {
     it('returns a Promise if any route hook is asynchronous', async function () {
     it('returns a Promise if any route hook is asynchronous', async function () {
       const s = new HookInvoker();
       const s = new HookInvoker();
       const order = [];
       const order = [];
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, () => {
         order.push('globalHook1');
         order.push('globalHook1');
       });
       });
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, () => {
         order.push('globalHook2');
         order.push('globalHook2');
       });
       });
       const route = new Route({
       const route = new Route({
@@ -408,7 +408,7 @@ describe('HookInvoker', function () {
       });
       });
       const promise = s.invokeAndContinueUntilValueReceived(
       const promise = s.invokeAndContinueUntilValueReceived(
         route,
         route,
-        HOOK_NAME.PRE_HANDLER,
+        HookName.PRE_HANDLER,
         createResponseMock(),
         createResponseMock(),
       );
       );
       expect(promise).to.be.instanceof(Promise);
       expect(promise).to.be.instanceof(Promise);
@@ -425,10 +425,10 @@ describe('HookInvoker', function () {
     it('returns a Promise if entire route hooks are asynchronous', async function () {
     it('returns a Promise if entire route hooks are asynchronous', async function () {
       const s = new HookInvoker();
       const s = new HookInvoker();
       const order = [];
       const order = [];
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, () => {
         order.push('globalHook1');
         order.push('globalHook1');
       });
       });
-      s.getService(HookRegistry).addHook(HOOK_NAME.PRE_HANDLER, () => {
+      s.getService(HookRegistry).addHook(HookName.PRE_HANDLER, () => {
         order.push('globalHook2');
         order.push('globalHook2');
       });
       });
       const route = new Route({
       const route = new Route({
@@ -446,7 +446,7 @@ describe('HookInvoker', function () {
       });
       });
       const promise = s.invokeAndContinueUntilValueReceived(
       const promise = s.invokeAndContinueUntilValueReceived(
         route,
         route,
-        HOOK_NAME.PRE_HANDLER,
+        HookName.PRE_HANDLER,
         createResponseMock(),
         createResponseMock(),
       );
       );
       expect(promise).to.be.instanceof(Promise);
       expect(promise).to.be.instanceof(Promise);

+ 4 - 4
src/hooks/hook-registry.d.ts

@@ -4,7 +4,7 @@ import {DebuggableService} from '../debuggable-service.js';
 /**
 /**
  * Hook type.
  * Hook type.
  */
  */
-export enum HOOK_NAME {
+export enum HookName {
   PRE_HANDLER = 'preHandler',
   PRE_HANDLER = 'preHandler',
   POST_HANDLER = 'postHandler',
   POST_HANDLER = 'postHandler',
 }
 }
@@ -24,7 +24,7 @@ export declare class HookRegistry extends DebuggableService {
    * @param name
    * @param name
    * @param hook
    * @param hook
    */
    */
-  addHook(name: HOOK_NAME, hook: RouterHook): this;
+  addHook(name: HookName, hook: RouterHook): this;
 
 
   /**
   /**
    * Has hook.
    * Has hook.
@@ -32,12 +32,12 @@ export declare class HookRegistry extends DebuggableService {
    * @param name
    * @param name
    * @param hook
    * @param hook
    */
    */
-  hasHook(name: HOOK_NAME, hook: RouterHook): this;
+  hasHook(name: HookName, hook: RouterHook): this;
 
 
   /**
   /**
    * Get hooks.
    * Get hooks.
    *
    *
    * @param name
    * @param name
    */
    */
-  getHooks(name: HOOK_NAME): RouterHook[];
+  getHooks(name: HookName): RouterHook[];
 }
 }

+ 4 - 4
src/hooks/hook-registry.js

@@ -9,7 +9,7 @@ import {DebuggableService} from '../debuggable-service.js';
  *   POST_HANDLER: 'postHandler',
  *   POST_HANDLER: 'postHandler',
  * }}
  * }}
  */
  */
-export const HOOK_NAME = {
+export const HookName = {
   PRE_HANDLER: 'preHandler',
   PRE_HANDLER: 'preHandler',
   POST_HANDLER: 'postHandler',
   POST_HANDLER: 'postHandler',
 };
 };
@@ -36,7 +36,7 @@ export class HookRegistry extends DebuggableService {
   addHook(name, hook) {
   addHook(name, hook) {
     if (!name || typeof name !== 'string')
     if (!name || typeof name !== 'string')
       throw new Errorf('The hook name is required, but %v given.', name);
       throw new Errorf('The hook name is required, but %v given.', name);
-    if (!Object.values(HOOK_NAME).includes(name))
+    if (!Object.values(HookName).includes(name))
       throw new Errorf('The hook name %v is not supported.', name);
       throw new Errorf('The hook name %v is not supported.', name);
     if (!hook || typeof hook !== 'function')
     if (!hook || typeof hook !== 'function')
       throw new Errorf(
       throw new Errorf(
@@ -60,7 +60,7 @@ export class HookRegistry extends DebuggableService {
   hasHook(name, hook) {
   hasHook(name, hook) {
     if (!name || typeof name !== 'string')
     if (!name || typeof name !== 'string')
       throw new Errorf('The hook name is required, but %v given.', name);
       throw new Errorf('The hook name is required, but %v given.', name);
-    if (!Object.values(HOOK_NAME).includes(name))
+    if (!Object.values(HookName).includes(name))
       throw new Errorf('The hook name %v is not supported.', name);
       throw new Errorf('The hook name %v is not supported.', name);
     if (!hook || typeof hook !== 'function')
     if (!hook || typeof hook !== 'function')
       throw new Errorf(
       throw new Errorf(
@@ -81,7 +81,7 @@ export class HookRegistry extends DebuggableService {
   getHooks(name) {
   getHooks(name) {
     if (!name || typeof name !== 'string')
     if (!name || typeof name !== 'string')
       throw new Errorf('The hook name is required, but %v given.', name);
       throw new Errorf('The hook name is required, but %v given.', name);
-    if (!Object.values(HOOK_NAME).includes(name))
+    if (!Object.values(HookName).includes(name))
       throw new Errorf('The hook name %v is not supported.', name);
       throw new Errorf('The hook name %v is not supported.', name);
     return this._hooks.get(name) || [];
     return this._hooks.get(name) || [];
   }
   }

+ 14 - 14
src/hooks/hook-registry.spec.js

@@ -1,6 +1,6 @@
 import {expect} from '../chai.js';
 import {expect} from '../chai.js';
 import {format} from '@e22m4u/js-format';
 import {format} from '@e22m4u/js-format';
-import {HOOK_NAME} from './hook-registry.js';
+import {HookName} from './hook-registry.js';
 import {HookRegistry} from './hook-registry.js';
 import {HookRegistry} from './hook-registry.js';
 
 
 describe('HookRegistry', function () {
 describe('HookRegistry', function () {
@@ -19,12 +19,12 @@ describe('HookRegistry', function () {
       expect(throwable([])).to.throw(error('Array'));
       expect(throwable([])).to.throw(error('Array'));
       expect(throwable(undefined)).to.throw(error('undefined'));
       expect(throwable(undefined)).to.throw(error('undefined'));
       expect(throwable(() => undefined)).to.throw(error('Function'));
       expect(throwable(() => undefined)).to.throw(error('Function'));
-      throwable(HOOK_NAME.PRE_HANDLER)();
+      throwable(HookName.PRE_HANDLER)();
     });
     });
 
 
     it('requires the parameter "hook" to be a Function', function () {
     it('requires the parameter "hook" to be a Function', function () {
       const s = new HookRegistry();
       const s = new HookRegistry();
-      const throwable = v => () => s.addHook(HOOK_NAME.PRE_HANDLER, v);
+      const throwable = v => () => s.addHook(HookName.PRE_HANDLER, v);
       const error = v =>
       const error = v =>
         format('The hook "preHandler" should be a Function, but %s given.', v);
         format('The hook "preHandler" should be a Function, but %s given.', v);
       expect(throwable('str')).to.throw(error('"str"'));
       expect(throwable('str')).to.throw(error('"str"'));
@@ -43,14 +43,14 @@ describe('HookRegistry', function () {
     it('requires the parameter "name" to be a supported hook', function () {
     it('requires the parameter "name" to be a supported hook', function () {
       const s = new HookRegistry();
       const s = new HookRegistry();
       const hook = () => undefined;
       const hook = () => undefined;
-      Object.values(HOOK_NAME).forEach(name => s.addHook(name, hook));
+      Object.values(HookName).forEach(name => s.addHook(name, hook));
       const throwable = () => s.addHook('unknown', hook);
       const throwable = () => s.addHook('unknown', hook);
       expect(throwable).to.throw('The hook name "unknown" is not supported.');
       expect(throwable).to.throw('The hook name "unknown" is not supported.');
     });
     });
 
 
     it('sets the given function to the map array by the hook name', function () {
     it('sets the given function to the map array by the hook name', function () {
       const s = new HookRegistry();
       const s = new HookRegistry();
-      const name = HOOK_NAME.PRE_HANDLER;
+      const name = HookName.PRE_HANDLER;
       const hook = () => undefined;
       const hook = () => undefined;
       s.addHook(name, hook);
       s.addHook(name, hook);
       expect(s._hooks.get(name)).to.include(hook);
       expect(s._hooks.get(name)).to.include(hook);
@@ -59,7 +59,7 @@ describe('HookRegistry', function () {
     it('returns this', function () {
     it('returns this', function () {
       const s = new HookRegistry();
       const s = new HookRegistry();
       const hook = () => undefined;
       const hook = () => undefined;
-      const name = HOOK_NAME.PRE_HANDLER;
+      const name = HookName.PRE_HANDLER;
       const res = s.addHook(name, hook);
       const res = s.addHook(name, hook);
       expect(res).to.be.eq(s);
       expect(res).to.be.eq(s);
     });
     });
@@ -80,12 +80,12 @@ describe('HookRegistry', function () {
       expect(throwable([])).to.throw(error('Array'));
       expect(throwable([])).to.throw(error('Array'));
       expect(throwable(undefined)).to.throw(error('undefined'));
       expect(throwable(undefined)).to.throw(error('undefined'));
       expect(throwable(() => undefined)).to.throw(error('Function'));
       expect(throwable(() => undefined)).to.throw(error('Function'));
-      throwable(HOOK_NAME.PRE_HANDLER)();
+      throwable(HookName.PRE_HANDLER)();
     });
     });
 
 
     it('requires the parameter "hook" to be a Function', function () {
     it('requires the parameter "hook" to be a Function', function () {
       const s = new HookRegistry();
       const s = new HookRegistry();
-      const throwable = v => () => s.hasHook(HOOK_NAME.PRE_HANDLER, v);
+      const throwable = v => () => s.hasHook(HookName.PRE_HANDLER, v);
       const error = v =>
       const error = v =>
         format('The hook "preHandler" should be a Function, but %s given.', v);
         format('The hook "preHandler" should be a Function, but %s given.', v);
       expect(throwable('str')).to.throw(error('"str"'));
       expect(throwable('str')).to.throw(error('"str"'));
@@ -104,14 +104,14 @@ describe('HookRegistry', function () {
     it('requires the parameter "name" to be a supported hook', function () {
     it('requires the parameter "name" to be a supported hook', function () {
       const s = new HookRegistry();
       const s = new HookRegistry();
       const hook = () => undefined;
       const hook = () => undefined;
-      Object.values(HOOK_NAME).forEach(name => s.hasHook(name, hook));
+      Object.values(HookName).forEach(name => s.hasHook(name, hook));
       const throwable = () => s.hasHook('unknown', hook);
       const throwable = () => s.hasHook('unknown', hook);
       expect(throwable).to.throw('The hook name "unknown" is not supported.');
       expect(throwable).to.throw('The hook name "unknown" is not supported.');
     });
     });
 
 
     it('returns true if the given hook is set or false', function () {
     it('returns true if the given hook is set or false', function () {
       const s = new HookRegistry();
       const s = new HookRegistry();
-      const name = HOOK_NAME.PRE_HANDLER;
+      const name = HookName.PRE_HANDLER;
       const hook = () => undefined;
       const hook = () => undefined;
       expect(s.hasHook(name, hook)).to.be.false;
       expect(s.hasHook(name, hook)).to.be.false;
       s.addHook(name, hook);
       s.addHook(name, hook);
@@ -134,12 +134,12 @@ describe('HookRegistry', function () {
       expect(throwable([])).to.throw(error('Array'));
       expect(throwable([])).to.throw(error('Array'));
       expect(throwable(undefined)).to.throw(error('undefined'));
       expect(throwable(undefined)).to.throw(error('undefined'));
       expect(throwable(() => undefined)).to.throw(error('Function'));
       expect(throwable(() => undefined)).to.throw(error('Function'));
-      throwable(HOOK_NAME.PRE_HANDLER)();
+      throwable(HookName.PRE_HANDLER)();
     });
     });
 
 
     it('requires the parameter "name" to be a supported hook', function () {
     it('requires the parameter "name" to be a supported hook', function () {
       const s = new HookRegistry();
       const s = new HookRegistry();
-      Object.values(HOOK_NAME).forEach(name => s.getHooks(name));
+      Object.values(HookName).forEach(name => s.getHooks(name));
       const throwable = () => s.getHooks('unknown');
       const throwable = () => s.getHooks('unknown');
       expect(throwable).to.throw('The hook name "unknown" is not supported.');
       expect(throwable).to.throw('The hook name "unknown" is not supported.');
     });
     });
@@ -147,7 +147,7 @@ describe('HookRegistry', function () {
     it('returns existing hooks', function () {
     it('returns existing hooks', function () {
       const s = new HookRegistry();
       const s = new HookRegistry();
       const hook = () => undefined;
       const hook = () => undefined;
-      const name = HOOK_NAME.PRE_HANDLER;
+      const name = HookName.PRE_HANDLER;
       const res1 = s.getHooks(name);
       const res1 = s.getHooks(name);
       expect(res1).to.be.eql([]);
       expect(res1).to.be.eql([]);
       s.addHook(name, hook);
       s.addHook(name, hook);
@@ -158,7 +158,7 @@ describe('HookRegistry', function () {
 
 
     it('returns an empty array if no hook exists', function () {
     it('returns an empty array if no hook exists', function () {
       const s = new HookRegistry();
       const s = new HookRegistry();
-      const res = s.getHooks(HOOK_NAME.PRE_HANDLER);
+      const res = s.getHooks(HookName.PRE_HANDLER);
       expect(res).to.be.eql([]);
       expect(res).to.be.eql([]);
     });
     });
   });
   });

+ 3 - 3
src/route.js

@@ -1,5 +1,5 @@
 import {Errorf} from '@e22m4u/js-format';
 import {Errorf} from '@e22m4u/js-format';
-import {HOOK_NAME} from './hooks/index.js';
+import {HookName} from './hooks/index.js';
 import {HookRegistry} from './hooks/index.js';
 import {HookRegistry} from './hooks/index.js';
 import {createDebugger} from './utils/index.js';
 import {createDebugger} from './utils/index.js';
 import {getRequestPathname} from './utils/index.js';
 import {getRequestPathname} from './utils/index.js';
@@ -153,7 +153,7 @@ export class Route {
         ? routeDef.preHandler
         ? routeDef.preHandler
         : [routeDef.preHandler];
         : [routeDef.preHandler];
       preHandlerHooks.forEach(hook => {
       preHandlerHooks.forEach(hook => {
-        this._hookRegistry.addHook(HOOK_NAME.PRE_HANDLER, hook);
+        this._hookRegistry.addHook(HookName.PRE_HANDLER, hook);
       });
       });
     }
     }
     if (routeDef.postHandler != null) {
     if (routeDef.postHandler != null) {
@@ -161,7 +161,7 @@ export class Route {
         ? routeDef.postHandler
         ? routeDef.postHandler
         : [routeDef.postHandler];
         : [routeDef.postHandler];
       postHandlerHooks.forEach(hook => {
       postHandlerHooks.forEach(hook => {
-        this._hookRegistry.addHook(HOOK_NAME.POST_HANDLER, hook);
+        this._hookRegistry.addHook(HookName.POST_HANDLER, hook);
       });
       });
     }
     }
   }
   }

+ 7 - 7
src/route.spec.js

@@ -2,7 +2,7 @@ import {Route} from './route.js';
 import {expect} from './chai.js';
 import {expect} from './chai.js';
 import {HttpMethod} from './route.js';
 import {HttpMethod} from './route.js';
 import {format} from '@e22m4u/js-format';
 import {format} from '@e22m4u/js-format';
-import {HOOK_NAME} from './hooks/index.js';
+import {HookName} from './hooks/index.js';
 import {createRequestMock} from './utils/index.js';
 import {createRequestMock} from './utils/index.js';
 import {createResponseMock} from './utils/index.js';
 import {createResponseMock} from './utils/index.js';
 import {RequestContext} from './request-context.js';
 import {RequestContext} from './request-context.js';
@@ -232,7 +232,7 @@ describe('Route', function () {
         preHandler: value,
         preHandler: value,
         handler: () => undefined,
         handler: () => undefined,
       });
       });
-      expect(route.hookRegistry.hasHook(HOOK_NAME.PRE_HANDLER, value)).to.be
+      expect(route.hookRegistry.hasHook(HookName.PRE_HANDLER, value)).to.be
         .true;
         .true;
     });
     });
 
 
@@ -244,9 +244,9 @@ describe('Route', function () {
         preHandler: value,
         preHandler: value,
         handler: () => undefined,
         handler: () => undefined,
       });
       });
-      expect(route.hookRegistry.hasHook(HOOK_NAME.PRE_HANDLER, value[0])).to.be
+      expect(route.hookRegistry.hasHook(HookName.PRE_HANDLER, value[0])).to.be
         .true;
         .true;
-      expect(route.hookRegistry.hasHook(HOOK_NAME.PRE_HANDLER, value[1])).to.be
+      expect(route.hookRegistry.hasHook(HookName.PRE_HANDLER, value[1])).to.be
         .true;
         .true;
     });
     });
 
 
@@ -258,7 +258,7 @@ describe('Route', function () {
         handler: () => undefined,
         handler: () => undefined,
         postHandler: value,
         postHandler: value,
       });
       });
-      expect(route.hookRegistry.hasHook(HOOK_NAME.POST_HANDLER, value)).to.be
+      expect(route.hookRegistry.hasHook(HookName.POST_HANDLER, value)).to.be
         .true;
         .true;
     });
     });
 
 
@@ -270,9 +270,9 @@ describe('Route', function () {
         handler: () => undefined,
         handler: () => undefined,
         postHandler: value,
         postHandler: value,
       });
       });
-      expect(route.hookRegistry.hasHook(HOOK_NAME.POST_HANDLER, value[0])).to.be
+      expect(route.hookRegistry.hasHook(HookName.POST_HANDLER, value[0])).to.be
         .true;
         .true;
-      expect(route.hookRegistry.hasHook(HOOK_NAME.POST_HANDLER, value[1])).to.be
+      expect(route.hookRegistry.hasHook(HookName.POST_HANDLER, value[1])).to.be
         .true;
         .true;
     });
     });
   });
   });

+ 2 - 2
src/trie-router.d.ts

@@ -1,7 +1,7 @@
 import {Route} from './route.js';
 import {Route} from './route.js';
 import {RequestListener} from 'http';
 import {RequestListener} from 'http';
+import {HookName} from './hooks/index.js';
 import {RouteDefinition} from './route.js';
 import {RouteDefinition} from './route.js';
-import {HOOK_NAME} from './hooks/index.js';
 import {RouterHook} from './hooks/index.js';
 import {RouterHook} from './hooks/index.js';
 import {DebuggableService} from './debuggable-service.js';
 import {DebuggableService} from './debuggable-service.js';
 
 
@@ -62,5 +62,5 @@ export declare class TrieRouter extends DebuggableService {
    * @param name
    * @param name
    * @param hook
    * @param hook
    */
    */
-  addHook(name: HOOK_NAME, hook: RouterHook): this;
+  addHook(name: HookName, hook: RouterHook): this;
 }
 }

+ 6 - 6
src/trie-router.js

@@ -1,5 +1,5 @@
+import {HookName} from './hooks/index.js';
 import {isPromise} from './utils/index.js';
 import {isPromise} from './utils/index.js';
-import {HOOK_NAME} from './hooks/index.js';
 import {HookInvoker} from './hooks/index.js';
 import {HookInvoker} from './hooks/index.js';
 import {DataSender} from './senders/index.js';
 import {DataSender} from './senders/index.js';
 import {HookRegistry} from './hooks/index.js';
 import {HookRegistry} from './hooks/index.js';
@@ -118,7 +118,7 @@ export class TrieRouter extends DebuggableService {
         // то такое значение используется в качестве ответа
         // то такое значение используется в качестве ответа
         data = hookInvoker.invokeAndContinueUntilValueReceived(
         data = hookInvoker.invokeAndContinueUntilValueReceived(
           route,
           route,
-          HOOK_NAME.PRE_HANDLER,
+          HookName.PRE_HANDLER,
           res,
           res,
           context,
           context,
         );
         );
@@ -134,7 +134,7 @@ export class TrieRouter extends DebuggableService {
           // в качестве ответа
           // в качестве ответа
           let postHandlerData = hookInvoker.invokeAndContinueUntilValueReceived(
           let postHandlerData = hookInvoker.invokeAndContinueUntilValueReceived(
             route,
             route,
-            HOOK_NAME.POST_HANDLER,
+            HookName.POST_HANDLER,
             res,
             res,
             context,
             context,
             data,
             data,
@@ -160,20 +160,20 @@ export class TrieRouter extends DebuggableService {
    * Example:
    * Example:
    * ```
    * ```
    * import {TrieRouter} from '@e22m4u/js-trie-router';
    * import {TrieRouter} from '@e22m4u/js-trie-router';
-   * import {HOOK_NAME} from '@e22m4u/js-trie-router';
+   * import {HookName} from '@e22m4u/js-trie-router';
    *
    *
    * // Router instance.
    * // Router instance.
    * const router = new TrieRouter();
    * const router = new TrieRouter();
    *
    *
    * // Adds the "preHandler" hook for each route.
    * // Adds the "preHandler" hook for each route.
    * router.addHook(
    * router.addHook(
-   *   HOOK_NAME.PRE_HANDLER,
+   *   HookName.PRE_HANDLER,
    *   ctx => { ... },
    *   ctx => { ... },
    * );
    * );
    *
    *
    * // Adds the "postHandler" hook for each route.
    * // Adds the "postHandler" hook for each route.
    * router.addHook(
    * router.addHook(
-   *   HOOK_NAME.POST_HANDLER,
+   *   HookName.POST_HANDLER,
    *   ctx => { ... },
    *   ctx => { ... },
    * );
    * );
    * ```
    * ```

+ 2 - 2
src/trie-router.spec.js

@@ -2,8 +2,8 @@ import {describe} from 'mocha';
 import {Route} from './route.js';
 import {Route} from './route.js';
 import {expect} from './chai.js';
 import {expect} from './chai.js';
 import {HttpMethod} from './route.js';
 import {HttpMethod} from './route.js';
+import {HookName} from './hooks/index.js';
 import {TrieRouter} from './trie-router.js';
 import {TrieRouter} from './trie-router.js';
-import {HOOK_NAME} from './hooks/index.js';
 import {HookRegistry} from './hooks/index.js';
 import {HookRegistry} from './hooks/index.js';
 import {DataSender} from './senders/index.js';
 import {DataSender} from './senders/index.js';
 import {ErrorSender} from './senders/index.js';
 import {ErrorSender} from './senders/index.js';
@@ -460,7 +460,7 @@ describe('TrieRouter', function () {
     it('adds the given hook to the HookRegistry and returns itself', function () {
     it('adds the given hook to the HookRegistry and returns itself', function () {
       const router = new TrieRouter();
       const router = new TrieRouter();
       const reg = router.getService(HookRegistry);
       const reg = router.getService(HookRegistry);
-      const name = HOOK_NAME.PRE_HANDLER;
+      const name = HookName.PRE_HANDLER;
       const hook = () => undefined;
       const hook = () => undefined;
       expect(reg.hasHook(name, hook)).to.be.false;
       expect(reg.hasHook(name, hook)).to.be.false;
       const res = router.addHook(name, hook);
       const res = router.addHook(name, hook);