@e22m4u/ts-rest-router 0.5.1 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/README.md +489 -305
  2. package/dist/cjs/index.cjs +14 -14
  3. package/dist/esm/controller-registry.js +8 -8
  4. package/dist/esm/decorators/after-action/after-action-decorator.d.ts +2 -2
  5. package/dist/esm/decorators/after-action/after-action-decorator.js +4 -4
  6. package/dist/esm/decorators/after-action/after-action-decorator.spec.js +22 -25
  7. package/dist/esm/decorators/after-action/after-action-metadata.d.ts +1 -1
  8. package/dist/esm/decorators/after-action/after-action-reflector.spec.js +15 -15
  9. package/dist/esm/decorators/before-action/before-action-decorator.d.ts +2 -2
  10. package/dist/esm/decorators/before-action/before-action-decorator.js +4 -4
  11. package/dist/esm/decorators/before-action/before-action-decorator.spec.js +22 -25
  12. package/dist/esm/decorators/before-action/before-action-metadata.d.ts +1 -1
  13. package/dist/esm/decorators/before-action/before-action-reflector.spec.js +15 -15
  14. package/package.json +9 -9
  15. package/src/controller-registry.spec.ts +21 -21
  16. package/src/controller-registry.ts +8 -8
  17. package/src/decorators/after-action/after-action-decorator.spec.ts +22 -25
  18. package/src/decorators/after-action/after-action-decorator.ts +4 -4
  19. package/src/decorators/after-action/after-action-metadata.ts +1 -1
  20. package/src/decorators/after-action/after-action-reflector.spec.ts +15 -15
  21. package/src/decorators/before-action/before-action-decorator.spec.ts +22 -25
  22. package/src/decorators/before-action/before-action-decorator.ts +4 -4
  23. package/src/decorators/before-action/before-action-metadata.ts +1 -1
  24. package/src/decorators/before-action/before-action-reflector.spec.ts +15 -15
@@ -376,13 +376,13 @@ var AfterActionReflector = _AfterActionReflector;
376
376
  // dist/esm/decorators/after-action/after-action-decorator.js
377
377
  var import_ts_reflector11 = require("@e22m4u/ts-reflector");
378
378
  var import_ts_reflector12 = require("@e22m4u/ts-reflector");
379
- function afterAction(middleware) {
379
+ function afterAction(hook) {
380
380
  return function(target, propertyKey, descriptor) {
381
381
  const decoratorType = (0, import_ts_reflector12.getDecoratorTargetType)(target, propertyKey, descriptor);
382
382
  if (decoratorType === import_ts_reflector11.DecoratorTargetType.CONSTRUCTOR) {
383
- AfterActionReflector.addMetadata({ middleware }, target);
383
+ AfterActionReflector.addMetadata({ hook }, target);
384
384
  } else if (decoratorType === import_ts_reflector11.DecoratorTargetType.INSTANCE_METHOD) {
385
- AfterActionReflector.addMetadata({ propertyKey, middleware }, target.constructor, propertyKey);
385
+ AfterActionReflector.addMetadata({ propertyKey, hook }, target.constructor, propertyKey);
386
386
  } else {
387
387
  throw new Error("@afterAction decorator is only supported on a class or an instance method.");
388
388
  }
@@ -426,13 +426,13 @@ var BeforeActionReflector = _BeforeActionReflector;
426
426
  // dist/esm/decorators/before-action/before-action-decorator.js
427
427
  var import_ts_reflector15 = require("@e22m4u/ts-reflector");
428
428
  var import_ts_reflector16 = require("@e22m4u/ts-reflector");
429
- function beforeAction(middleware) {
429
+ function beforeAction(hook) {
430
430
  return function(target, propertyKey, descriptor) {
431
431
  const decoratorType = (0, import_ts_reflector16.getDecoratorTargetType)(target, propertyKey, descriptor);
432
432
  if (decoratorType === import_ts_reflector15.DecoratorTargetType.CONSTRUCTOR) {
433
- BeforeActionReflector.addMetadata({ middleware }, target);
433
+ BeforeActionReflector.addMetadata({ hook }, target);
434
434
  } else if (decoratorType === import_ts_reflector15.DecoratorTargetType.INSTANCE_METHOD) {
435
- BeforeActionReflector.addMetadata({ propertyKey, middleware }, target.constructor, propertyKey);
435
+ BeforeActionReflector.addMetadata({ propertyKey, hook }, target.constructor, propertyKey);
436
436
  } else {
437
437
  throw new Error("@beforeAction decorator is only supported on a class or an instance method.");
438
438
  }
@@ -624,7 +624,7 @@ var _ControllerRegistry = class _ControllerRegistry extends DebuggableService {
624
624
  addController(ctor, options) {
625
625
  const debug = this.getDebuggerFor(this.addController);
626
626
  if (this.hasController(ctor))
627
- throw new import_js_format3.Errorf("The controller %v is already registered.");
627
+ throw new import_js_format3.Errorf("The controller %v is already registered.", ctor.name);
628
628
  const controllerMd = RestControllerReflector.getMetadata(ctor);
629
629
  if (!controllerMd)
630
630
  throw new NotAControllerError(ctor);
@@ -761,10 +761,10 @@ var _ControllerRegistry = class _ControllerRegistry extends DebuggableService {
761
761
  let preHandlers = [];
762
762
  const mdArray = BeforeActionReflector.getMetadata(ctor, actionName);
763
763
  mdArray.forEach((md) => {
764
- if (Array.isArray(md.middleware)) {
765
- preHandlers = [...preHandlers, ...md.middleware];
764
+ if (Array.isArray(md.hook)) {
765
+ preHandlers = [...preHandlers, ...md.hook];
766
766
  } else {
767
- preHandlers.push(md.middleware);
767
+ preHandlers.push(md.hook);
768
768
  }
769
769
  });
770
770
  if (mdArray.length) {
@@ -791,10 +791,10 @@ var _ControllerRegistry = class _ControllerRegistry extends DebuggableService {
791
791
  let res = [];
792
792
  const mdArray = AfterActionReflector.getMetadata(ctor, actionName);
793
793
  mdArray.forEach((md) => {
794
- if (Array.isArray(md.middleware)) {
795
- res = [...res, ...md.middleware];
794
+ if (Array.isArray(md.hook)) {
795
+ res = [...res, ...md.hook];
796
796
  } else {
797
- res.push(md.middleware);
797
+ res.push(md.hook);
798
798
  }
799
799
  });
800
800
  if (mdArray.length) {
@@ -874,7 +874,7 @@ var _ControllerRegistry = class _ControllerRegistry extends DebuggableService {
874
874
  let res = [];
875
875
  if (actionMd.after)
876
876
  res = Array.isArray(actionMd.after) ? actionMd.after : [actionMd.after];
877
- debug("%v pre-handlers found.", res.length);
877
+ debug("%v post-handlers found.", res.length);
878
878
  return res;
879
879
  }
880
880
  /**
@@ -32,7 +32,7 @@ export class ControllerRegistry extends DebuggableService {
32
32
  // заметить ошибку в коде, который использует
33
33
  // интерфейс данного сервиса
34
34
  if (this.hasController(ctor))
35
- throw new Errorf('The controller %v is already registered.');
35
+ throw new Errorf('The controller %v is already registered.', ctor.name);
36
36
  // так как контроллером может быть любой
37
37
  // класс, выполняется проверка на наличие
38
38
  // метаданных применяемых декоратором
@@ -185,11 +185,11 @@ export class ControllerRegistry extends DebuggableService {
185
185
  let preHandlers = [];
186
186
  const mdArray = BeforeActionReflector.getMetadata(ctor, actionName);
187
187
  mdArray.forEach(md => {
188
- if (Array.isArray(md.middleware)) {
189
- preHandlers = [...preHandlers, ...md.middleware];
188
+ if (Array.isArray(md.hook)) {
189
+ preHandlers = [...preHandlers, ...md.hook];
190
190
  }
191
191
  else {
192
- preHandlers.push(md.middleware);
192
+ preHandlers.push(md.hook);
193
193
  }
194
194
  });
195
195
  if (mdArray.length) {
@@ -218,11 +218,11 @@ export class ControllerRegistry extends DebuggableService {
218
218
  let res = [];
219
219
  const mdArray = AfterActionReflector.getMetadata(ctor, actionName);
220
220
  mdArray.forEach(md => {
221
- if (Array.isArray(md.middleware)) {
222
- res = [...res, ...md.middleware];
221
+ if (Array.isArray(md.hook)) {
222
+ res = [...res, ...md.hook];
223
223
  }
224
224
  else {
225
- res.push(md.middleware);
225
+ res.push(md.hook);
226
226
  }
227
227
  });
228
228
  if (mdArray.length) {
@@ -305,7 +305,7 @@ export class ControllerRegistry extends DebuggableService {
305
305
  let res = [];
306
306
  if (actionMd.after)
307
307
  res = Array.isArray(actionMd.after) ? actionMd.after : [actionMd.after];
308
- debug('%v pre-handlers found.', res.length);
308
+ debug('%v post-handlers found.', res.length);
309
309
  return res;
310
310
  }
311
311
  /**
@@ -4,6 +4,6 @@ import { AfterActionMetadata } from './after-action-metadata.js';
4
4
  /**
5
5
  * After action decorator.
6
6
  *
7
- * @param middleware
7
+ * @param hook
8
8
  */
9
- export declare function afterAction<T extends object>(middleware: AfterActionMetadata['middleware']): (target: Constructor<T> | Prototype<T>, propertyKey?: string, descriptor?: PropertyDescriptor) => void;
9
+ export declare function afterAction<T extends object>(hook: AfterActionMetadata['hook']): (target: Constructor<T> | Prototype<T>, propertyKey?: string, descriptor?: PropertyDescriptor) => void;
@@ -4,16 +4,16 @@ import { AfterActionReflector } from './after-action-reflector.js';
4
4
  /**
5
5
  * After action decorator.
6
6
  *
7
- * @param middleware
7
+ * @param hook
8
8
  */
9
- export function afterAction(middleware) {
9
+ export function afterAction(hook) {
10
10
  return function (target, propertyKey, descriptor) {
11
11
  const decoratorType = getDecoratorTargetType(target, propertyKey, descriptor);
12
12
  if (decoratorType === DecoratorTargetType.CONSTRUCTOR) {
13
- AfterActionReflector.addMetadata({ middleware }, target);
13
+ AfterActionReflector.addMetadata({ hook }, target);
14
14
  }
15
15
  else if (decoratorType === DecoratorTargetType.INSTANCE_METHOD) {
16
- AfterActionReflector.addMetadata({ propertyKey, middleware }, target.constructor, propertyKey);
16
+ AfterActionReflector.addMetadata({ propertyKey, hook }, target.constructor, propertyKey);
17
17
  }
18
18
  else {
19
19
  throw new Error('@afterAction decorator is only supported on a class or an instance method.');
@@ -11,53 +11,50 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  import { expect } from 'chai';
12
12
  import { afterAction } from './after-action-decorator.js';
13
13
  import { AfterActionReflector } from './after-action-reflector.js';
14
- const MIDDLEWARE_1 = () => undefined;
15
- const MIDDLEWARE_2 = () => undefined;
16
- const MIDDLEWARE_3 = () => undefined;
14
+ const HOOK_1 = () => undefined;
15
+ const HOOK_2 = () => undefined;
16
+ const HOOK_3 = () => undefined;
17
17
  describe('afterAction', function () {
18
18
  describe('class target', function () {
19
- it('sets given middleware to the target metadata', function () {
19
+ it('sets given hook to the target metadata', function () {
20
20
  let Target = class Target {
21
21
  method() { }
22
22
  };
23
23
  Target = __decorate([
24
- afterAction(MIDDLEWARE_1)
24
+ afterAction(HOOK_1)
25
25
  ], Target);
26
26
  const res = AfterActionReflector.getMetadata(Target);
27
- expect(res).to.be.eql([{ middleware: MIDDLEWARE_1 }]);
27
+ expect(res).to.be.eql([{ hook: HOOK_1 }]);
28
28
  });
29
- it('sets multiple middlewares to the target metadata', function () {
29
+ it('sets multiple hooks to the target metadata', function () {
30
30
  let Target = class Target {
31
31
  method() { }
32
32
  };
33
33
  Target = __decorate([
34
- afterAction([MIDDLEWARE_1, MIDDLEWARE_2])
34
+ afterAction([HOOK_1, HOOK_2])
35
35
  ], Target);
36
36
  const res = AfterActionReflector.getMetadata(Target);
37
- expect(res).to.be.eql([{ middleware: [MIDDLEWARE_1, MIDDLEWARE_2] }]);
37
+ expect(res).to.be.eql([{ hook: [HOOK_1, HOOK_2] }]);
38
38
  });
39
39
  it('allows to use the decorator multiple times', function () {
40
40
  let Target = class Target {
41
41
  method() { }
42
42
  };
43
43
  Target = __decorate([
44
- afterAction(MIDDLEWARE_1),
45
- afterAction([MIDDLEWARE_2, MIDDLEWARE_3])
44
+ afterAction(HOOK_1),
45
+ afterAction([HOOK_2, HOOK_3])
46
46
  ], Target);
47
47
  const res = AfterActionReflector.getMetadata(Target);
48
- expect(res).to.be.eql([
49
- { middleware: MIDDLEWARE_1 },
50
- { middleware: [MIDDLEWARE_2, MIDDLEWARE_3] },
51
- ]);
48
+ expect(res).to.be.eql([{ hook: HOOK_1 }, { hook: [HOOK_2, HOOK_3] }]);
52
49
  });
53
50
  });
54
51
  describe('method target', function () {
55
- it('sets given middleware to the target metadata', function () {
52
+ it('sets given hook to the target metadata', function () {
56
53
  class Target {
57
54
  method() { }
58
55
  }
59
56
  __decorate([
60
- afterAction(MIDDLEWARE_1),
57
+ afterAction(HOOK_1),
61
58
  __metadata("design:type", Function),
62
59
  __metadata("design:paramtypes", []),
63
60
  __metadata("design:returntype", void 0)
@@ -66,16 +63,16 @@ describe('afterAction', function () {
66
63
  expect(res).to.be.eql([
67
64
  {
68
65
  propertyKey: 'method',
69
- middleware: MIDDLEWARE_1,
66
+ hook: HOOK_1,
70
67
  },
71
68
  ]);
72
69
  });
73
- it('sets multiple middlewares to the target metadata', function () {
70
+ it('sets multiple hooks to the target metadata', function () {
74
71
  class Target {
75
72
  method() { }
76
73
  }
77
74
  __decorate([
78
- afterAction([MIDDLEWARE_1, MIDDLEWARE_2]),
75
+ afterAction([HOOK_1, HOOK_2]),
79
76
  __metadata("design:type", Function),
80
77
  __metadata("design:paramtypes", []),
81
78
  __metadata("design:returntype", void 0)
@@ -84,7 +81,7 @@ describe('afterAction', function () {
84
81
  expect(res).to.be.eql([
85
82
  {
86
83
  propertyKey: 'method',
87
- middleware: [MIDDLEWARE_1, MIDDLEWARE_2],
84
+ hook: [HOOK_1, HOOK_2],
88
85
  },
89
86
  ]);
90
87
  });
@@ -93,8 +90,8 @@ describe('afterAction', function () {
93
90
  method() { }
94
91
  }
95
92
  __decorate([
96
- afterAction(MIDDLEWARE_1),
97
- afterAction([MIDDLEWARE_2, MIDDLEWARE_3]),
93
+ afterAction(HOOK_1),
94
+ afterAction([HOOK_2, HOOK_3]),
98
95
  __metadata("design:type", Function),
99
96
  __metadata("design:paramtypes", []),
100
97
  __metadata("design:returntype", void 0)
@@ -103,11 +100,11 @@ describe('afterAction', function () {
103
100
  expect(res).to.be.eql([
104
101
  {
105
102
  propertyKey: 'method',
106
- middleware: MIDDLEWARE_1,
103
+ hook: HOOK_1,
107
104
  },
108
105
  {
109
106
  propertyKey: 'method',
110
- middleware: [MIDDLEWARE_2, MIDDLEWARE_3],
107
+ hook: [HOOK_2, HOOK_3],
111
108
  },
112
109
  ]);
113
110
  });
@@ -5,7 +5,7 @@ import { RoutePostHandler } from '@e22m4u/js-trie-router';
5
5
  */
6
6
  export type AfterActionMetadata = {
7
7
  propertyKey?: string;
8
- middleware: RoutePostHandler | RoutePostHandler[];
8
+ hook: RoutePostHandler | RoutePostHandler[];
9
9
  };
10
10
  /**
11
11
  * After action metadata key.
@@ -2,17 +2,17 @@ import { expect } from 'chai';
2
2
  import { Reflector } from '@e22m4u/ts-reflector';
3
3
  import { AfterActionReflector } from './after-action-reflector.js';
4
4
  import { AFTER_ACTION_METADATA_KEY } from './after-action-metadata.js';
5
- const MIDDLEWARE_1 = () => undefined;
6
- const MIDDLEWARE_2 = () => undefined;
7
- const MIDDLEWARE_3 = () => undefined;
5
+ const HOOK_1 = () => undefined;
6
+ const HOOK_2 = () => undefined;
7
+ const HOOK_3 = () => undefined;
8
8
  describe('AfterActionReflector', function () {
9
9
  describe('class target', function () {
10
10
  describe('addMetadata', function () {
11
11
  it('adds a given value to the target metadata', function () {
12
12
  class Target {
13
13
  }
14
- const md1 = { middleware: MIDDLEWARE_1 };
15
- const md2 = { middleware: [MIDDLEWARE_2, MIDDLEWARE_3] };
14
+ const md1 = { hook: HOOK_1 };
15
+ const md2 = { hook: [HOOK_2, HOOK_3] };
16
16
  AfterActionReflector.addMetadata(md1, Target);
17
17
  AfterActionReflector.addMetadata(md2, Target);
18
18
  const res = Reflector.getOwnMetadata(AFTER_ACTION_METADATA_KEY, Target);
@@ -29,8 +29,8 @@ describe('AfterActionReflector', function () {
29
29
  it('returns existing metadata by the target', function () {
30
30
  class Target {
31
31
  }
32
- const md1 = { middleware: MIDDLEWARE_1 };
33
- const md2 = { middleware: [MIDDLEWARE_2, MIDDLEWARE_3] };
32
+ const md1 = { hook: HOOK_1 };
33
+ const md2 = { hook: [HOOK_2, HOOK_3] };
34
34
  const mdArray = [md1, md2];
35
35
  Reflector.defineMetadata(AFTER_ACTION_METADATA_KEY, mdArray, Target);
36
36
  const res = AfterActionReflector.getMetadata(Target);
@@ -43,8 +43,8 @@ describe('AfterActionReflector', function () {
43
43
  it('adds a given value to the target metadata', function () {
44
44
  class Target {
45
45
  }
46
- const md1 = { middleware: MIDDLEWARE_1 };
47
- const md2 = { middleware: [MIDDLEWARE_2, MIDDLEWARE_3] };
46
+ const md1 = { hook: HOOK_1 };
47
+ const md2 = { hook: [HOOK_2, HOOK_3] };
48
48
  AfterActionReflector.addMetadata(md1, Target, 'prop');
49
49
  AfterActionReflector.addMetadata(md2, Target, 'prop');
50
50
  const res = Reflector.getOwnMetadata(AFTER_ACTION_METADATA_KEY, Target, 'prop');
@@ -61,8 +61,8 @@ describe('AfterActionReflector', function () {
61
61
  it('returns existing metadata by the target', function () {
62
62
  class Target {
63
63
  }
64
- const md1 = { middleware: MIDDLEWARE_1 };
65
- const md2 = { middleware: [MIDDLEWARE_2, MIDDLEWARE_3] };
64
+ const md1 = { hook: HOOK_1 };
65
+ const md2 = { hook: [HOOK_2, HOOK_3] };
66
66
  const mdArray = [md1, md2];
67
67
  Reflector.defineMetadata(AFTER_ACTION_METADATA_KEY, mdArray, Target, 'prop');
68
68
  const res = AfterActionReflector.getMetadata(Target, 'prop');
@@ -74,8 +74,8 @@ describe('AfterActionReflector', function () {
74
74
  it('can distinguish class and method metadata', function () {
75
75
  class Target {
76
76
  }
77
- const md1 = { middleware: MIDDLEWARE_1 };
78
- const md2 = { middleware: MIDDLEWARE_2 };
77
+ const md1 = { hook: HOOK_1 };
78
+ const md2 = { hook: HOOK_2 };
79
79
  AfterActionReflector.addMetadata(md1, Target);
80
80
  AfterActionReflector.addMetadata(md2, Target, 'prop');
81
81
  const res1 = Reflector.getOwnMetadata(AFTER_ACTION_METADATA_KEY, Target);
@@ -88,8 +88,8 @@ describe('AfterActionReflector', function () {
88
88
  it('can distinguish class and method metadata', function () {
89
89
  class Target {
90
90
  }
91
- const md1 = { middleware: MIDDLEWARE_1 };
92
- const md2 = { middleware: MIDDLEWARE_2 };
91
+ const md1 = { hook: HOOK_1 };
92
+ const md2 = { hook: HOOK_2 };
93
93
  Reflector.defineMetadata(AFTER_ACTION_METADATA_KEY, [md1], Target);
94
94
  Reflector.defineMetadata(AFTER_ACTION_METADATA_KEY, [md2], Target, 'prop');
95
95
  const res1 = AfterActionReflector.getMetadata(Target);
@@ -4,6 +4,6 @@ import { BeforeActionMetadata } from './before-action-metadata.js';
4
4
  /**
5
5
  * Before action decorator.
6
6
  *
7
- * @param middleware
7
+ * @param hook
8
8
  */
9
- export declare function beforeAction<T extends object>(middleware: BeforeActionMetadata['middleware']): (target: Constructor<T> | Prototype<T>, propertyKey?: string, descriptor?: PropertyDescriptor) => void;
9
+ export declare function beforeAction<T extends object>(hook: BeforeActionMetadata['hook']): (target: Constructor<T> | Prototype<T>, propertyKey?: string, descriptor?: PropertyDescriptor) => void;
@@ -4,16 +4,16 @@ import { BeforeActionReflector } from './before-action-reflector.js';
4
4
  /**
5
5
  * Before action decorator.
6
6
  *
7
- * @param middleware
7
+ * @param hook
8
8
  */
9
- export function beforeAction(middleware) {
9
+ export function beforeAction(hook) {
10
10
  return function (target, propertyKey, descriptor) {
11
11
  const decoratorType = getDecoratorTargetType(target, propertyKey, descriptor);
12
12
  if (decoratorType === DecoratorTargetType.CONSTRUCTOR) {
13
- BeforeActionReflector.addMetadata({ middleware }, target);
13
+ BeforeActionReflector.addMetadata({ hook }, target);
14
14
  }
15
15
  else if (decoratorType === DecoratorTargetType.INSTANCE_METHOD) {
16
- BeforeActionReflector.addMetadata({ propertyKey, middleware }, target.constructor, propertyKey);
16
+ BeforeActionReflector.addMetadata({ propertyKey, hook }, target.constructor, propertyKey);
17
17
  }
18
18
  else {
19
19
  throw new Error('@beforeAction decorator is only supported on a class or an instance method.');
@@ -11,53 +11,50 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  import { expect } from 'chai';
12
12
  import { beforeAction } from './before-action-decorator.js';
13
13
  import { BeforeActionReflector } from './before-action-reflector.js';
14
- const MIDDLEWARE_1 = () => undefined;
15
- const MIDDLEWARE_2 = () => undefined;
16
- const MIDDLEWARE_3 = () => undefined;
14
+ const HOOK_1 = () => undefined;
15
+ const HOOK_2 = () => undefined;
16
+ const HOOK_3 = () => undefined;
17
17
  describe('beforeAction', function () {
18
18
  describe('class target', function () {
19
- it('sets given middleware to the target metadata', function () {
19
+ it('sets given hook to the target metadata', function () {
20
20
  let Target = class Target {
21
21
  method() { }
22
22
  };
23
23
  Target = __decorate([
24
- beforeAction(MIDDLEWARE_1)
24
+ beforeAction(HOOK_1)
25
25
  ], Target);
26
26
  const res = BeforeActionReflector.getMetadata(Target);
27
- expect(res).to.be.eql([{ middleware: MIDDLEWARE_1 }]);
27
+ expect(res).to.be.eql([{ hook: HOOK_1 }]);
28
28
  });
29
- it('sets multiple middlewares to the target metadata', function () {
29
+ it('sets multiple hooks to the target metadata', function () {
30
30
  let Target = class Target {
31
31
  method() { }
32
32
  };
33
33
  Target = __decorate([
34
- beforeAction([MIDDLEWARE_1, MIDDLEWARE_2])
34
+ beforeAction([HOOK_1, HOOK_2])
35
35
  ], Target);
36
36
  const res = BeforeActionReflector.getMetadata(Target);
37
- expect(res).to.be.eql([{ middleware: [MIDDLEWARE_1, MIDDLEWARE_2] }]);
37
+ expect(res).to.be.eql([{ hook: [HOOK_1, HOOK_2] }]);
38
38
  });
39
39
  it('allows to use the decorator multiple times', function () {
40
40
  let Target = class Target {
41
41
  method() { }
42
42
  };
43
43
  Target = __decorate([
44
- beforeAction(MIDDLEWARE_1),
45
- beforeAction([MIDDLEWARE_2, MIDDLEWARE_3])
44
+ beforeAction(HOOK_1),
45
+ beforeAction([HOOK_2, HOOK_3])
46
46
  ], Target);
47
47
  const res = BeforeActionReflector.getMetadata(Target);
48
- expect(res).to.be.eql([
49
- { middleware: MIDDLEWARE_1 },
50
- { middleware: [MIDDLEWARE_2, MIDDLEWARE_3] },
51
- ]);
48
+ expect(res).to.be.eql([{ hook: HOOK_1 }, { hook: [HOOK_2, HOOK_3] }]);
52
49
  });
53
50
  });
54
51
  describe('method target', function () {
55
- it('sets given middleware to the target metadata', function () {
52
+ it('sets given hook to the target metadata', function () {
56
53
  class Target {
57
54
  method() { }
58
55
  }
59
56
  __decorate([
60
- beforeAction(MIDDLEWARE_1),
57
+ beforeAction(HOOK_1),
61
58
  __metadata("design:type", Function),
62
59
  __metadata("design:paramtypes", []),
63
60
  __metadata("design:returntype", void 0)
@@ -66,16 +63,16 @@ describe('beforeAction', function () {
66
63
  expect(res).to.be.eql([
67
64
  {
68
65
  propertyKey: 'method',
69
- middleware: MIDDLEWARE_1,
66
+ hook: HOOK_1,
70
67
  },
71
68
  ]);
72
69
  });
73
- it('sets multiple middlewares to the target metadata', function () {
70
+ it('sets multiple hooks to the target metadata', function () {
74
71
  class Target {
75
72
  method() { }
76
73
  }
77
74
  __decorate([
78
- beforeAction([MIDDLEWARE_1, MIDDLEWARE_2]),
75
+ beforeAction([HOOK_1, HOOK_2]),
79
76
  __metadata("design:type", Function),
80
77
  __metadata("design:paramtypes", []),
81
78
  __metadata("design:returntype", void 0)
@@ -84,7 +81,7 @@ describe('beforeAction', function () {
84
81
  expect(res).to.be.eql([
85
82
  {
86
83
  propertyKey: 'method',
87
- middleware: [MIDDLEWARE_1, MIDDLEWARE_2],
84
+ hook: [HOOK_1, HOOK_2],
88
85
  },
89
86
  ]);
90
87
  });
@@ -93,8 +90,8 @@ describe('beforeAction', function () {
93
90
  method() { }
94
91
  }
95
92
  __decorate([
96
- beforeAction(MIDDLEWARE_1),
97
- beforeAction([MIDDLEWARE_2, MIDDLEWARE_3]),
93
+ beforeAction(HOOK_1),
94
+ beforeAction([HOOK_2, HOOK_3]),
98
95
  __metadata("design:type", Function),
99
96
  __metadata("design:paramtypes", []),
100
97
  __metadata("design:returntype", void 0)
@@ -103,11 +100,11 @@ describe('beforeAction', function () {
103
100
  expect(res).to.be.eql([
104
101
  {
105
102
  propertyKey: 'method',
106
- middleware: MIDDLEWARE_1,
103
+ hook: HOOK_1,
107
104
  },
108
105
  {
109
106
  propertyKey: 'method',
110
- middleware: [MIDDLEWARE_2, MIDDLEWARE_3],
107
+ hook: [HOOK_2, HOOK_3],
111
108
  },
112
109
  ]);
113
110
  });
@@ -5,7 +5,7 @@ import { RoutePreHandler } from '@e22m4u/js-trie-router';
5
5
  */
6
6
  export type BeforeActionMetadata = {
7
7
  propertyKey?: string;
8
- middleware: RoutePreHandler | RoutePreHandler[];
8
+ hook: RoutePreHandler | RoutePreHandler[];
9
9
  };
10
10
  /**
11
11
  * Before action metadata key.
@@ -2,17 +2,17 @@ import { expect } from 'chai';
2
2
  import { Reflector } from '@e22m4u/ts-reflector';
3
3
  import { BeforeActionReflector } from './before-action-reflector.js';
4
4
  import { BEFORE_ACTION_METADATA_KEY } from './before-action-metadata.js';
5
- const MIDDLEWARE_1 = () => undefined;
6
- const MIDDLEWARE_2 = () => undefined;
7
- const MIDDLEWARE_3 = () => undefined;
5
+ const hook_1 = () => undefined;
6
+ const hook_2 = () => undefined;
7
+ const hook_3 = () => undefined;
8
8
  describe('BeforeActionReflector', function () {
9
9
  describe('class target', function () {
10
10
  describe('addMetadata', function () {
11
11
  it('adds a given value to the target metadata', function () {
12
12
  class Target {
13
13
  }
14
- const md1 = { middleware: MIDDLEWARE_1 };
15
- const md2 = { middleware: [MIDDLEWARE_2, MIDDLEWARE_3] };
14
+ const md1 = { hook: hook_1 };
15
+ const md2 = { hook: [hook_2, hook_3] };
16
16
  BeforeActionReflector.addMetadata(md1, Target);
17
17
  BeforeActionReflector.addMetadata(md2, Target);
18
18
  const res = Reflector.getOwnMetadata(BEFORE_ACTION_METADATA_KEY, Target);
@@ -29,8 +29,8 @@ describe('BeforeActionReflector', function () {
29
29
  it('returns existing metadata by the target', function () {
30
30
  class Target {
31
31
  }
32
- const md1 = { middleware: MIDDLEWARE_1 };
33
- const md2 = { middleware: [MIDDLEWARE_2, MIDDLEWARE_3] };
32
+ const md1 = { hook: hook_1 };
33
+ const md2 = { hook: [hook_2, hook_3] };
34
34
  const mdArray = [md1, md2];
35
35
  Reflector.defineMetadata(BEFORE_ACTION_METADATA_KEY, mdArray, Target);
36
36
  const res = BeforeActionReflector.getMetadata(Target);
@@ -43,8 +43,8 @@ describe('BeforeActionReflector', function () {
43
43
  it('adds a given value to the target metadata', function () {
44
44
  class Target {
45
45
  }
46
- const md1 = { middleware: MIDDLEWARE_1 };
47
- const md2 = { middleware: [MIDDLEWARE_2, MIDDLEWARE_3] };
46
+ const md1 = { hook: hook_1 };
47
+ const md2 = { hook: [hook_2, hook_3] };
48
48
  BeforeActionReflector.addMetadata(md1, Target, 'prop');
49
49
  BeforeActionReflector.addMetadata(md2, Target, 'prop');
50
50
  const res = Reflector.getOwnMetadata(BEFORE_ACTION_METADATA_KEY, Target, 'prop');
@@ -61,8 +61,8 @@ describe('BeforeActionReflector', function () {
61
61
  it('returns existing metadata by the target', function () {
62
62
  class Target {
63
63
  }
64
- const md1 = { middleware: MIDDLEWARE_1 };
65
- const md2 = { middleware: [MIDDLEWARE_2, MIDDLEWARE_3] };
64
+ const md1 = { hook: hook_1 };
65
+ const md2 = { hook: [hook_2, hook_3] };
66
66
  const mdArray = [md1, md2];
67
67
  Reflector.defineMetadata(BEFORE_ACTION_METADATA_KEY, mdArray, Target, 'prop');
68
68
  const res = BeforeActionReflector.getMetadata(Target, 'prop');
@@ -74,8 +74,8 @@ describe('BeforeActionReflector', function () {
74
74
  it('can distinguish class and method metadata', function () {
75
75
  class Target {
76
76
  }
77
- const md1 = { middleware: MIDDLEWARE_1 };
78
- const md2 = { middleware: MIDDLEWARE_2 };
77
+ const md1 = { hook: hook_1 };
78
+ const md2 = { hook: hook_2 };
79
79
  BeforeActionReflector.addMetadata(md1, Target);
80
80
  BeforeActionReflector.addMetadata(md2, Target, 'prop');
81
81
  const res1 = Reflector.getOwnMetadata(BEFORE_ACTION_METADATA_KEY, Target);
@@ -88,8 +88,8 @@ describe('BeforeActionReflector', function () {
88
88
  it('can distinguish class and method metadata', function () {
89
89
  class Target {
90
90
  }
91
- const md1 = { middleware: MIDDLEWARE_1 };
92
- const md2 = { middleware: MIDDLEWARE_2 };
91
+ const md1 = { hook: hook_1 };
92
+ const md2 = { hook: hook_2 };
93
93
  Reflector.defineMetadata(BEFORE_ACTION_METADATA_KEY, [md1], Target);
94
94
  Reflector.defineMetadata(BEFORE_ACTION_METADATA_KEY, [md2], Target, 'prop');
95
95
  const res1 = BeforeActionReflector.getMetadata(Target);