@quadnix/octo 0.0.20 → 0.0.22

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 (201) hide show
  1. package/dist/app.type.d.ts +8 -1
  2. package/dist/app.type.js +13 -7
  3. package/dist/app.type.js.map +1 -1
  4. package/dist/decorators/action.decorator.d.ts +19 -2
  5. package/dist/decorators/action.decorator.js +28 -5
  6. package/dist/decorators/action.decorator.js.map +1 -1
  7. package/dist/decorators/anchor.decorator.d.ts +13 -0
  8. package/dist/decorators/anchor.decorator.js +14 -1
  9. package/dist/decorators/anchor.decorator.js.map +1 -1
  10. package/dist/decorators/enable-hook.decorator.d.ts +14 -0
  11. package/dist/decorators/enable-hook.decorator.js +14 -0
  12. package/dist/decorators/enable-hook.decorator.js.map +1 -1
  13. package/dist/decorators/event-source.decorator.d.ts +15 -0
  14. package/dist/decorators/event-source.decorator.js +15 -0
  15. package/dist/decorators/event-source.decorator.js.map +1 -1
  16. package/dist/decorators/factory.decorator.d.ts +54 -5
  17. package/dist/decorators/factory.decorator.js +56 -3
  18. package/dist/decorators/factory.decorator.js.map +1 -1
  19. package/dist/decorators/model.decorator.d.ts +13 -0
  20. package/dist/decorators/model.decorator.js +14 -1
  21. package/dist/decorators/model.decorator.js.map +1 -1
  22. package/dist/decorators/module.decorator.d.ts +61 -5
  23. package/dist/decorators/module.decorator.js +62 -3
  24. package/dist/decorators/module.decorator.js.map +1 -1
  25. package/dist/decorators/on-event.decorator.d.ts +17 -0
  26. package/dist/decorators/on-event.decorator.js +17 -0
  27. package/dist/decorators/on-event.decorator.js.map +1 -1
  28. package/dist/decorators/overlay.decorator.d.ts +13 -0
  29. package/dist/decorators/overlay.decorator.js +14 -1
  30. package/dist/decorators/overlay.decorator.js.map +1 -1
  31. package/dist/decorators/resource.decorator.d.ts +13 -0
  32. package/dist/decorators/resource.decorator.js +14 -1
  33. package/dist/decorators/resource.decorator.js.map +1 -1
  34. package/dist/decorators/validate.decorator.d.ts +9 -0
  35. package/dist/decorators/validate.decorator.js +23 -0
  36. package/dist/decorators/validate.decorator.js.map +1 -0
  37. package/dist/events/error.event.d.ts +30 -0
  38. package/dist/events/error.event.js +30 -0
  39. package/dist/events/error.event.js.map +1 -1
  40. package/dist/events/event.model.d.ts +27 -0
  41. package/dist/events/event.model.js +27 -3
  42. package/dist/events/event.model.js.map +1 -1
  43. package/dist/events/hook.event.d.ts +167 -0
  44. package/dist/events/hook.event.js +167 -0
  45. package/dist/events/hook.event.js.map +1 -1
  46. package/dist/events/module.event.d.ts +12 -0
  47. package/dist/events/module.event.js +12 -0
  48. package/dist/events/module.event.js.map +1 -1
  49. package/dist/events/registration.event.d.ts +90 -0
  50. package/dist/events/registration.event.js +90 -0
  51. package/dist/events/registration.event.js.map +1 -1
  52. package/dist/events/serialization.event.d.ts +61 -0
  53. package/dist/events/serialization.event.js +61 -0
  54. package/dist/events/serialization.event.js.map +1 -1
  55. package/dist/events/transaction.event.d.ts +41 -0
  56. package/dist/events/transaction.event.js +41 -0
  57. package/dist/events/transaction.event.js.map +1 -1
  58. package/dist/functions/container/container.d.ts +53 -0
  59. package/dist/functions/container/container.js +102 -0
  60. package/dist/functions/container/container.js.map +1 -0
  61. package/dist/functions/container/test-container.d.ts +75 -0
  62. package/dist/functions/container/test-container.js +97 -0
  63. package/dist/functions/container/test-container.js.map +1 -0
  64. package/dist/functions/dependency/dependency.d.ts +6 -6
  65. package/dist/functions/dependency/dependency.js +1 -8
  66. package/dist/functions/dependency/dependency.js.map +1 -1
  67. package/dist/functions/diff/diff-metadata.d.ts +5 -2
  68. package/dist/functions/diff/diff-metadata.js +6 -11
  69. package/dist/functions/diff/diff-metadata.js.map +1 -1
  70. package/dist/functions/diff/diff.d.ts +6 -3
  71. package/dist/functions/diff/diff.js +8 -13
  72. package/dist/functions/diff/diff.js.map +1 -1
  73. package/dist/functions/diff/diff.utility.d.ts +38 -6
  74. package/dist/functions/diff/diff.utility.js +55 -6
  75. package/dist/functions/diff/diff.utility.js.map +1 -1
  76. package/dist/functions/hook/commit.hook.js +6 -3
  77. package/dist/functions/hook/commit.hook.js.map +1 -1
  78. package/dist/functions/hook/model-action.hook.js +7 -4
  79. package/dist/functions/hook/model-action.hook.js.map +1 -1
  80. package/dist/functions/hook/resource-action.hook.js +6 -3
  81. package/dist/functions/hook/resource-action.hook.js.map +1 -1
  82. package/dist/functions/node/node.abstract.d.ts +84 -0
  83. package/dist/functions/node/node.abstract.js +275 -0
  84. package/dist/functions/node/node.abstract.js.map +1 -0
  85. package/dist/functions/node/node.interface.d.ts +176 -0
  86. package/dist/functions/node/node.interface.js +2 -0
  87. package/dist/functions/node/node.interface.js.map +1 -0
  88. package/dist/index.d.ts +12 -12
  89. package/dist/index.js +11 -11
  90. package/dist/index.js.map +1 -1
  91. package/dist/main.d.ts +11 -10
  92. package/dist/main.js +76 -37
  93. package/dist/main.js.map +1 -1
  94. package/dist/models/app/app.interface.d.ts +5 -0
  95. package/dist/models/app/app.model.d.ts +30 -3
  96. package/dist/models/app/app.model.js +40 -6
  97. package/dist/models/app/app.model.js.map +1 -1
  98. package/dist/models/deployment/deployment.interface.d.ts +5 -0
  99. package/dist/models/deployment/deployment.model.d.ts +16 -3
  100. package/dist/models/deployment/deployment.model.js +20 -6
  101. package/dist/models/deployment/deployment.model.js.map +1 -1
  102. package/dist/models/environment/environment.interface.d.ts +5 -0
  103. package/dist/models/environment/environment.model.d.ts +19 -3
  104. package/dist/models/environment/environment.model.js +33 -8
  105. package/dist/models/environment/environment.model.js.map +1 -1
  106. package/dist/models/execution/execution.interface.d.ts +5 -0
  107. package/dist/models/execution/execution.model.d.ts +24 -3
  108. package/dist/models/execution/execution.model.js +40 -7
  109. package/dist/models/execution/execution.model.js.map +1 -1
  110. package/dist/models/image/image.interface.d.ts +5 -0
  111. package/dist/models/image/image.model.d.ts +36 -3
  112. package/dist/models/image/image.model.js +25 -9
  113. package/dist/models/image/image.model.js.map +1 -1
  114. package/dist/models/model-action.interface.d.ts +18 -1
  115. package/dist/models/model.abstract.d.ts +7 -42
  116. package/dist/models/model.abstract.js +24 -295
  117. package/dist/models/model.abstract.js.map +1 -1
  118. package/dist/models/model.interface.d.ts +51 -11
  119. package/dist/models/pipeline/pipeline.interface.d.ts +5 -0
  120. package/dist/models/pipeline/pipeline.model.d.ts +16 -3
  121. package/dist/models/pipeline/pipeline.model.js +25 -8
  122. package/dist/models/pipeline/pipeline.model.js.map +1 -1
  123. package/dist/models/region/region.interface.d.ts +5 -0
  124. package/dist/models/region/region.model.d.ts +19 -3
  125. package/dist/models/region/region.model.js +29 -6
  126. package/dist/models/region/region.model.js.map +1 -1
  127. package/dist/models/server/server.interface.d.ts +5 -0
  128. package/dist/models/server/server.model.d.ts +18 -3
  129. package/dist/models/server/server.model.js +24 -6
  130. package/dist/models/server/server.model.js.map +1 -1
  131. package/dist/models/service/service.interface.d.ts +5 -0
  132. package/dist/models/service/service.model.d.ts +16 -3
  133. package/dist/models/service/service.model.js +19 -6
  134. package/dist/models/service/service.model.js.map +1 -1
  135. package/dist/models/subnet/subnet.interface.d.ts +5 -0
  136. package/dist/models/subnet/subnet.model.d.ts +50 -3
  137. package/dist/models/subnet/subnet.model.js +58 -22
  138. package/dist/models/subnet/subnet.model.js.map +1 -1
  139. package/dist/modules/module.container.d.ts +4 -2
  140. package/dist/modules/module.container.js +17 -8
  141. package/dist/modules/module.container.js.map +1 -1
  142. package/dist/modules/test-module.container.d.ts +4 -4
  143. package/dist/modules/test-module.container.js +18 -17
  144. package/dist/modules/test-module.container.js.map +1 -1
  145. package/dist/overlays/anchor.abstract.js +0 -3
  146. package/dist/overlays/anchor.abstract.js.map +1 -1
  147. package/dist/overlays/overlay-data.repository.d.ts +2 -4
  148. package/dist/overlays/overlay-data.repository.js +8 -36
  149. package/dist/overlays/overlay-data.repository.js.map +1 -1
  150. package/dist/overlays/overlay.abstract.d.ts +6 -7
  151. package/dist/overlays/overlay.abstract.js +20 -42
  152. package/dist/overlays/overlay.abstract.js.map +1 -1
  153. package/dist/overlays/overlay.service.d.ts +0 -1
  154. package/dist/overlays/overlay.service.js +1 -7
  155. package/dist/overlays/overlay.service.js.map +1 -1
  156. package/dist/resources/resource-data.repository.d.ts +16 -6
  157. package/dist/resources/resource-data.repository.js +121 -18
  158. package/dist/resources/resource-data.repository.js.map +1 -1
  159. package/dist/resources/resource.abstract.d.ts +23 -6
  160. package/dist/resources/resource.abstract.js +147 -13
  161. package/dist/resources/resource.abstract.js.map +1 -1
  162. package/dist/resources/shared-resource.abstract.d.ts +2 -2
  163. package/dist/resources/shared-resource.abstract.js +5 -2
  164. package/dist/resources/shared-resource.abstract.js.map +1 -1
  165. package/dist/services/capture/capture.service.d.ts +1 -2
  166. package/dist/services/capture/capture.service.js +5 -4
  167. package/dist/services/capture/capture.service.js.map +1 -1
  168. package/dist/services/event/event.service.js +9 -6
  169. package/dist/services/event/event.service.js.map +1 -1
  170. package/dist/services/input/input.service.js +3 -5
  171. package/dist/services/input/input.service.js.map +1 -1
  172. package/dist/services/serialization/model/model-serialization.service.js +13 -14
  173. package/dist/services/serialization/model/model-serialization.service.js.map +1 -1
  174. package/dist/services/serialization/resource/resource-serialization.service.d.ts +4 -4
  175. package/dist/services/serialization/resource/resource-serialization.service.js +23 -13
  176. package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -1
  177. package/dist/services/state-management/local.state-provider.js +0 -1
  178. package/dist/services/state-management/local.state-provider.js.map +1 -1
  179. package/dist/services/state-management/state-management.service.d.ts +1 -1
  180. package/dist/services/state-management/state-management.service.js +6 -9
  181. package/dist/services/state-management/state-management.service.js.map +1 -1
  182. package/dist/services/state-management/test.state-provider.js +3 -1
  183. package/dist/services/state-management/test.state-provider.js.map +1 -1
  184. package/dist/services/transaction/transaction.service.d.ts +5 -2
  185. package/dist/services/transaction/transaction.service.js +117 -87
  186. package/dist/services/transaction/transaction.service.js.map +1 -1
  187. package/dist/services/validation/validation.service.d.ts +19 -0
  188. package/dist/services/validation/validation.service.js +66 -0
  189. package/dist/services/validation/validation.service.js.map +1 -0
  190. package/dist/utilities/object/object.utility.js +1 -0
  191. package/dist/utilities/object/object.utility.js.map +1 -1
  192. package/dist/utilities/validation/validation.utility.d.ts +5 -0
  193. package/dist/utilities/validation/validation.utility.js +12 -0
  194. package/dist/utilities/validation/validation.utility.js.map +1 -0
  195. package/package.json +1 -1
  196. package/dist/decorators/container.d.ts +0 -24
  197. package/dist/decorators/container.js +0 -96
  198. package/dist/decorators/container.js.map +0 -1
  199. package/dist/decorators/test-container.d.ts +0 -27
  200. package/dist/decorators/test-container.js +0 -52
  201. package/dist/decorators/test-container.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"module.decorator.js","sourceRoot":"","sources":["../../src/decorators/module.decorator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,UAAU,MAAM,CAAC,EACrB,IAAI,GAAG,EAAE,EACT,OAAO,GAAG,EAAE,EACZ,eAAe,GAAG,EAAE,EACpB,oBAAoB,GAAG,EAAE,EACzB,uBAAuB,GAAG,EAAE,EAC5B,cAAc,GAAG,EAAE,EACnB,mBAAmB,GAAG,EAAE,EACxB,sBAAsB,GAAG,EAAE,GAwB5B;IACC,OAAO,UAAU,WAA4C;QAC3D,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE;YAEtD,IAAI,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,UAAU,WAAW,CAAC,IAAI,+BAA+B,CAAC,CAAC;YAC7E,CAAC;YAED,eAAe,CAAC,QAAQ,CAAC,WAAW,EAAE;gBACpC,IAAI;gBACJ,OAAO;gBACP,eAAe;gBACf,oBAAoB;gBACpB,uBAAuB;gBACvB,cAAc;gBACd,mBAAmB;gBACnB,sBAAsB;aACvB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"module.decorator.js","sourceRoot":"","sources":["../../src/decorators/module.decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAIlE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAiChE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,MAAM,UAAU,MAAM,CAAC,EACrB,IAAI,GAAG,EAAE,EACT,OAAO,GAAG,EAAE,EACZ,eAAe,GAAG,EAAE,EACpB,oBAAoB,GAAG,EAAE,EACzB,uBAAuB,GAAG,EAAE,EAC5B,cAAc,GAAG,EAAE,EACnB,mBAAmB,GAAG,EAAE,EACxB,sBAAsB,GAAG,EAAE,MACT,EAAE;IACpB,OAAO,UAAU,WAA4C;QAC3D,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;aAC3B,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE;YACxB,kDAAkD;YAClD,IAAI,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,UAAU,WAAW,CAAC,IAAI,+BAA+B,CAAC,CAAC;YAC7E,CAAC;YAED,eAAe,CAAC,QAAQ,CAAC,WAAW,EAAE;gBACpC,IAAI;gBACJ,OAAO;gBACP,eAAe;gBACf,oBAAoB;gBACpB,uBAAuB;gBACvB,cAAc;gBACd,mBAAmB;gBACnB,sBAAsB;aACvB,CAAC,CAAC;QACL,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACJ,CAAC"}
@@ -1,3 +1,20 @@
1
1
  import type { Constructable } from '../app.type.js';
2
2
  import type { Event } from '../events/event.model.js';
3
+ /**
4
+ * An `@OnEvent` is a method decorator to listen to an event.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * // Async handler.
9
+ * @OnEvent(MyEvent)
10
+ * async onEvent(event: MyEvent): Promise<void> { ... }
11
+ *
12
+ * // Sync handler.
13
+ * @OnEvent(MyEvent)
14
+ * onEvent(event: MyEvent): void { ... }
15
+ * ```
16
+ * @group Decorators
17
+ * @param ofType The type of event being listened to.
18
+ * @returns The decorated method.
19
+ */
3
20
  export declare function OnEvent(ofType: Constructable<Event<unknown>>): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void;
@@ -1,4 +1,21 @@
1
1
  import { EventService } from '../services/event/event.service.js';
2
+ /**
3
+ * An `@OnEvent` is a method decorator to listen to an event.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * // Async handler.
8
+ * @OnEvent(MyEvent)
9
+ * async onEvent(event: MyEvent): Promise<void> { ... }
10
+ *
11
+ * // Sync handler.
12
+ * @OnEvent(MyEvent)
13
+ * onEvent(event: MyEvent): void { ... }
14
+ * ```
15
+ * @group Decorators
16
+ * @param ofType The type of event being listened to.
17
+ * @returns The decorated method.
18
+ */
2
19
  export function OnEvent(ofType) {
3
20
  return function (target, propertyKey, descriptor) {
4
21
  EventService.getInstance().registerListeners(ofType, target, descriptor);
@@ -1 +1 @@
1
- {"version":3,"file":"on-event.decorator.js","sourceRoot":"","sources":["../../src/decorators/on-event.decorator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,MAAM,UAAU,OAAO,CACrB,MAAqC;IAErC,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,UAA8B;QAC/E,YAAY,CAAC,WAAW,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3E,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"on-event.decorator.js","sourceRoot":"","sources":["../../src/decorators/on-event.decorator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,OAAO,CACrB,MAAqC;IAErC,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,UAA8B;QAC/E,YAAY,CAAC,WAAW,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3E,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1,14 @@
1
+ /**
2
+ * An `@Overlay` is a class decorator to be placed on top of a class that represents an overlay.
3
+ * - An overlay must extend the {@link AOverlay} class.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * @Overlay()
8
+ * export class MyOverlay extends AOverlay<MyOverlay> { ... }
9
+ * ```
10
+ * @group Decorators
11
+ * @returns The decorated class.
12
+ * @see Definition of [Overlays](/docs/fundamentals/overlay-and-anchor).
13
+ */
1
14
  export declare function Overlay(): (constructor: any) => void;
@@ -1,7 +1,20 @@
1
1
  import { RegistrationErrorEvent } from '../events/error.event.js';
2
2
  import { EventService } from '../services/event/event.service.js';
3
3
  import { ModelSerializationService } from '../services/serialization/model/model-serialization.service.js';
4
- import { Container } from './container.js';
4
+ import { Container } from '../functions/container/container.js';
5
+ /**
6
+ * An `@Overlay` is a class decorator to be placed on top of a class that represents an overlay.
7
+ * - An overlay must extend the {@link AOverlay} class.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * @Overlay()
12
+ * export class MyOverlay extends AOverlay<MyOverlay> { ... }
13
+ * ```
14
+ * @group Decorators
15
+ * @returns The decorated class.
16
+ * @see Definition of [Overlays](/docs/fundamentals/overlay-and-anchor).
17
+ */
5
18
  export function Overlay() {
6
19
  return function (constructor) {
7
20
  Container.get(ModelSerializationService)
@@ -1 +1 @@
1
- {"version":3,"file":"overlay.decorator.js","sourceRoot":"","sources":["../../src/decorators/overlay.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gEAAgE,CAAC;AAC3G,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,UAAU,OAAO;IACrB,OAAO,UAAU,WAAgB;QAC/B,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC;aACrC,IAAI,CAAC,CAAC,yBAAyB,EAAE,EAAE;YAClC,yBAAyB,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACzE,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"overlay.decorator.js","sourceRoot":"","sources":["../../src/decorators/overlay.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gEAAgE,CAAC;AAC3G,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,OAAO;IACrB,OAAO,UAAU,WAAgB;QAC/B,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC;aACrC,IAAI,CAAC,CAAC,yBAAyB,EAAE,EAAE;YAClC,yBAAyB,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACzE,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1,14 @@
1
+ /**
2
+ * A `@Resource` is a class decorator to be placed on top of a class that represents a resource.
3
+ * - A resource must extend the {@link AResource} class.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * @Resource()
8
+ * export class MyResource extends AResource<MyResource> { ... }
9
+ * ```
10
+ * @group Decorators
11
+ * @returns The decorated class.
12
+ * @see Definition of [Resources](http://localhost:3000/docs/fundamentals/resources).
13
+ */
1
14
  export declare function Resource(): (constructor: any) => void;
@@ -1,7 +1,20 @@
1
1
  import { RegistrationErrorEvent } from '../events/error.event.js';
2
2
  import { EventService } from '../services/event/event.service.js';
3
3
  import { ResourceSerializationService } from '../services/serialization/resource/resource-serialization.service.js';
4
- import { Container } from './container.js';
4
+ import { Container } from '../functions/container/container.js';
5
+ /**
6
+ * A `@Resource` is a class decorator to be placed on top of a class that represents a resource.
7
+ * - A resource must extend the {@link AResource} class.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * @Resource()
12
+ * export class MyResource extends AResource<MyResource> { ... }
13
+ * ```
14
+ * @group Decorators
15
+ * @returns The decorated class.
16
+ * @see Definition of [Resources](http://localhost:3000/docs/fundamentals/resources).
17
+ */
5
18
  export function Resource() {
6
19
  return function (constructor) {
7
20
  Container.get(ResourceSerializationService)
@@ -1 +1 @@
1
- {"version":3,"file":"resource.decorator.js","sourceRoot":"","sources":["../../src/decorators/resource.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sEAAsE,CAAC;AACpH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,UAAU,QAAQ;IACtB,OAAO,UAAU,WAAgB;QAC/B,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC;aACxC,IAAI,CAAC,CAAC,4BAA4B,EAAE,EAAE;YACrC,4BAA4B,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5E,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"resource.decorator.js","sourceRoot":"","sources":["../../src/decorators/resource.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sEAAsE,CAAC;AACpH,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,UAAU,WAAgB;QAC/B,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC;aACxC,IAAI,CAAC,CAAC,4BAA4B,EAAE,EAAE;YACrC,4BAA4B,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5E,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ValidationType } from '../app.type.js';
2
+ type ValidationOptions<T> = {
3
+ options: {
4
+ [key in ValidationType]?: any;
5
+ };
6
+ destruct?: (value: any) => T[];
7
+ };
8
+ export declare function Validate<T>(validators: ValidationOptions<T> | ValidationOptions<T>[]): (target: any, propertyKey: string) => void;
9
+ export {};
@@ -0,0 +1,23 @@
1
+ import { ValidationService } from '../services/validation/validation.service.js';
2
+ export function Validate(validators) {
3
+ return function (target, propertyKey) {
4
+ const symbol = Symbol();
5
+ Object.defineProperty(target, propertyKey, {
6
+ get: function () {
7
+ return this[symbol];
8
+ },
9
+ set: function (newValue) {
10
+ if (!Array.isArray(validators)) {
11
+ validators = [validators];
12
+ }
13
+ for (const validator of validators) {
14
+ for (const [type, constraint] of Object.entries(validator.options)) {
15
+ ValidationService.getInstance().addSubject(type, constraint, target, propertyKey, newValue, validator.destruct);
16
+ }
17
+ }
18
+ this[symbol] = newValue;
19
+ },
20
+ });
21
+ };
22
+ }
23
+ //# sourceMappingURL=validate.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.decorator.js","sourceRoot":"","sources":["../../src/decorators/validate.decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAOjF,MAAM,UAAU,QAAQ,CACtB,UAAyD;IAEzD,OAAO,UAAU,MAAW,EAAE,WAAmB;QAC/C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;QAExB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;YACzC,GAAG,EAAE;gBACH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YACD,GAAG,EAAE,UAAU,QAAa;gBAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/B,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC5B,CAAC;gBAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;oBACnC,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;wBACnE,iBAAiB,CAAC,WAAW,EAAE,CAAC,UAAU,CACxC,IAAsB,EACtB,UAAU,EACV,MAAM,EACN,WAAW,EACX,QAAQ,EACR,SAAS,CAAC,QAAQ,CACnB,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;YAC1B,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -1,5 +1,35 @@
1
1
  import { Event } from './event.model.js';
2
+ /**
3
+ * The ErrorEvent class is the superclass for all events emitting an error.
4
+ * An error event is generated when Octo encounters an error.
5
+ *
6
+ * :::warning Warning
7
+ * It is not a good practice to create an event from this class directly,
8
+ * but should rather create one from one of the subclasses.
9
+ * This promotes a more accurate classification of events.
10
+ * :::
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const myEvent = new ErrorEvent(new Error('e'));
15
+ * EventService.getInstance().emit(myEvent);
16
+ * ```
17
+ * @group Events
18
+ * @returns The Event instance.
19
+ */
2
20
  export declare class ErrorEvent extends Event<Error> {
3
21
  }
22
+ /**
23
+ * This event is emitted at startup when a class fails to register.
24
+ * It emits the [Error](https://nodejs.org/api/errors.html) object.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * const myEvent = new RegistrationErrorEvent(new Error('e'));
29
+ * EventService.getInstance().emit(myEvent);
30
+ * ```
31
+ * @group Events
32
+ * @returns The Event instance.
33
+ */
4
34
  export declare class RegistrationErrorEvent extends ErrorEvent {
5
35
  }
@@ -1,6 +1,36 @@
1
1
  import { Event } from './event.model.js';
2
+ /**
3
+ * The ErrorEvent class is the superclass for all events emitting an error.
4
+ * An error event is generated when Octo encounters an error.
5
+ *
6
+ * :::warning Warning
7
+ * It is not a good practice to create an event from this class directly,
8
+ * but should rather create one from one of the subclasses.
9
+ * This promotes a more accurate classification of events.
10
+ * :::
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const myEvent = new ErrorEvent(new Error('e'));
15
+ * EventService.getInstance().emit(myEvent);
16
+ * ```
17
+ * @group Events
18
+ * @returns The Event instance.
19
+ */
2
20
  export class ErrorEvent extends Event {
3
21
  }
22
+ /**
23
+ * This event is emitted at startup when a class fails to register.
24
+ * It emits the [Error](https://nodejs.org/api/errors.html) object.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * const myEvent = new RegistrationErrorEvent(new Error('e'));
29
+ * EventService.getInstance().emit(myEvent);
30
+ * ```
31
+ * @group Events
32
+ * @returns The Event instance.
33
+ */
4
34
  export class RegistrationErrorEvent extends ErrorEvent {
5
35
  }
6
36
  //# sourceMappingURL=error.event.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.event.js","sourceRoot":"","sources":["../../src/events/error.event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,OAAO,UAAW,SAAQ,KAAY;CAAG;AAE/C,MAAM,OAAO,sBAAuB,SAAQ,UAAU;CAAG"}
1
+ {"version":3,"file":"error.event.js","sourceRoot":"","sources":["../../src/events/error.event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAY;CAAG;AAE/C;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,sBAAuB,SAAQ,UAAU;CAAG"}
@@ -1,4 +1,23 @@
1
1
  import type { EventService } from '../services/event/event.service.js';
2
+ /**
3
+ * The Event class is the superclass for all events.
4
+ * An event is generated when something important happens in Octo.
5
+ * The body of the event contains a header, a payload, and an optional user data.
6
+ *
7
+ * :::warning Warning
8
+ * It is not a good practice to create an event from this class directly,
9
+ * but should rather create one from one of the subclasses.
10
+ * This promotes a more accurate classification of events.
11
+ * :::
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const myEvent = new Event<string>('my payload', { key: 'value' });
16
+ * EventService.getInstance().emit(myEvent);
17
+ * ```
18
+ * @group Events
19
+ * @returns The Event instance.
20
+ */
2
21
  export declare class Event<T> {
3
22
  readonly header: {
4
23
  timestamp: number;
@@ -6,5 +25,13 @@ export declare class Event<T> {
6
25
  readonly payload: T;
7
26
  readonly userData: object;
8
27
  constructor(payload: T, userData?: object);
28
+ /**
29
+ * The `registrar()` method is explicitly called by the {@link EventSource} decorator for a method
30
+ * to enhance the method to auto-emit events.
31
+ *
32
+ * @param args Arguments are spread out using the array spread operator.
33
+ * - args[0] - Instance of {@link EventService}.
34
+ * - args[1] - [PropertyDescriptor](https://www.typescriptlang.org/docs/handbook/decorators.html).
35
+ */
9
36
  static registrar(...args: [EventService, PropertyDescriptor]): void;
10
37
  }
@@ -1,7 +1,23 @@
1
+ /**
2
+ * The Event class is the superclass for all events.
3
+ * An event is generated when something important happens in Octo.
4
+ * The body of the event contains a header, a payload, and an optional user data.
5
+ *
6
+ * :::warning Warning
7
+ * It is not a good practice to create an event from this class directly,
8
+ * but should rather create one from one of the subclasses.
9
+ * This promotes a more accurate classification of events.
10
+ * :::
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const myEvent = new Event<string>('my payload', { key: 'value' });
15
+ * EventService.getInstance().emit(myEvent);
16
+ * ```
17
+ * @group Events
18
+ * @returns The Event instance.
19
+ */
1
20
  export class Event {
2
- header;
3
- payload;
4
- userData;
5
21
  constructor(payload, userData = {}) {
6
22
  this.header = {
7
23
  timestamp: Date.now(),
@@ -9,6 +25,14 @@ export class Event {
9
25
  this.payload = payload;
10
26
  this.userData = userData;
11
27
  }
28
+ /**
29
+ * The `registrar()` method is explicitly called by the {@link EventSource} decorator for a method
30
+ * to enhance the method to auto-emit events.
31
+ *
32
+ * @param args Arguments are spread out using the array spread operator.
33
+ * - args[0] - Instance of {@link EventService}.
34
+ * - args[1] - [PropertyDescriptor](https://www.typescriptlang.org/docs/handbook/decorators.html).
35
+ */
12
36
  static registrar(...args) {
13
37
  if (args.length !== 2) {
14
38
  throw new Error('Invalid number of args in event registrar!');
@@ -1 +1 @@
1
- {"version":3,"file":"event.model.js","sourceRoot":"","sources":["../../src/events/event.model.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,KAAK;IACP,MAAM,CAEb;IAEO,OAAO,CAAI;IAEX,QAAQ,CAAS;IAE1B,YAAY,OAAU,EAAE,WAAmB,EAAE;QAC3C,IAAI,CAAC,MAAM,GAAG;YACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,GAAG,IAAwC;QAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;CACF"}
1
+ {"version":3,"file":"event.model.js","sourceRoot":"","sources":["../../src/events/event.model.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,KAAK;IAShB,YAAY,OAAU,EAAE,WAAmB,EAAE;QAC3C,IAAI,CAAC,MAAM,GAAG;YACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,IAAwC;QAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;CACF"}
@@ -1,27 +1,194 @@
1
1
  import { Event } from './event.model.js';
2
+ /**
3
+ * The HookEvent class is the superclass for all events emitting in relation to hooks.
4
+ *
5
+ * :::warning Warning
6
+ * It is not a good practice to create an event from this class directly,
7
+ * but should rather create one from one of the subclasses.
8
+ * This promotes a more accurate classification of events.
9
+ * :::
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const myEvent = new HookEvent();
14
+ * EventService.getInstance().emit(myEvent);
15
+ * ```
16
+ * @group Events
17
+ * @returns The Event instance.
18
+ */
2
19
  export declare class HookEvent extends Event<void> {
3
20
  }
21
+ /**
22
+ * The CommitHookEvent class is the superclass for all events emitting in relation to commit hooks.
23
+ *
24
+ * :::warning Warning
25
+ * It is not a good practice to create an event from this class directly,
26
+ * but should rather create one from one of the subclasses.
27
+ * This promotes a more accurate classification of events.
28
+ * :::
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * const myEvent = new CommitHookEvent();
33
+ * EventService.getInstance().emit(myEvent);
34
+ * ```
35
+ * @group Events
36
+ * @returns The Event instance.
37
+ */
4
38
  export declare class CommitHookEvent extends HookEvent {
5
39
  }
40
+ /**
41
+ * The ModelActionHookEvent class is the superclass for all events emitting in relation to model action hooks.
42
+ *
43
+ * :::warning Warning
44
+ * It is not a good practice to create an event from this class directly,
45
+ * but should rather create one from one of the subclasses.
46
+ * This promotes a more accurate classification of events.
47
+ * :::
48
+ *
49
+ * @example
50
+ * ```ts
51
+ * const myEvent = new ModelActionHookEvent();
52
+ * EventService.getInstance().emit(myEvent);
53
+ * ```
54
+ * @group Events
55
+ * @returns The Event instance.
56
+ */
6
57
  export declare class ModelActionHookEvent extends HookEvent {
7
58
  }
59
+ /**
60
+ * The ResourceActionHookEvent class is the superclass for all events emitting in relation to resource action hooks.
61
+ *
62
+ * :::warning Warning
63
+ * It is not a good practice to create an event from this class directly,
64
+ * but should rather create one from one of the subclasses.
65
+ * This promotes a more accurate classification of events.
66
+ * :::
67
+ *
68
+ * @example
69
+ * ```ts
70
+ * const myEvent = new ResourceActionHookEvent();
71
+ * EventService.getInstance().emit(myEvent);
72
+ * ```
73
+ * @group Events
74
+ * @returns The Event instance.
75
+ */
8
76
  export declare class ResourceActionHookEvent extends HookEvent {
9
77
  }
78
+ /**
79
+ * This hook event is emitted when the base decorated method is done executing.
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * const myEvent = new CommitHookCallbackDoneEvent();
84
+ * EventService.getInstance().emit(myEvent);
85
+ * ```
86
+ * @group Events
87
+ * @returns The Event instance.
88
+ */
10
89
  export declare class CommitHookCallbackDoneEvent extends CommitHookEvent {
11
90
  }
91
+ /**
92
+ * This hook event is emitted when the base decorated method is done executing.
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * const myEvent = new ModelActionHookCallbackDoneEvent();
97
+ * EventService.getInstance().emit(myEvent);
98
+ * ```
99
+ * @group Events
100
+ * @returns The Event instance.
101
+ */
12
102
  export declare class ModelActionHookCallbackDoneEvent extends ModelActionHookEvent {
13
103
  }
104
+ /**
105
+ * This hook event is emitted when the base decorated method is done executing.
106
+ *
107
+ * @example
108
+ * ```ts
109
+ * const myEvent = new ResourceActionHookCallbackDoneEvent();
110
+ * EventService.getInstance().emit(myEvent);
111
+ * ```
112
+ * @group Events
113
+ * @returns The Event instance.
114
+ */
14
115
  export declare class ResourceActionHookCallbackDoneEvent extends ResourceActionHookEvent {
15
116
  }
117
+ /**
118
+ * This hook event is emitted when a post-commit hook callback is done executing.
119
+ *
120
+ * @example
121
+ * ```ts
122
+ * const myEvent = new PostCommitHookCallbackDoneEvent();
123
+ * EventService.getInstance().emit(myEvent);
124
+ * ```
125
+ * @group Events
126
+ * @returns The Event instance.
127
+ */
16
128
  export declare class PostCommitHookCallbackDoneEvent extends CommitHookEvent {
17
129
  }
130
+ /**
131
+ * This hook event is emitted when a post-model action hook callback is done executing.
132
+ *
133
+ * @example
134
+ * ```ts
135
+ * const myEvent = new PostModelActionHookCallbackDoneEvent();
136
+ * EventService.getInstance().emit(myEvent);
137
+ * ```
138
+ * @group Events
139
+ * @returns The Event instance.
140
+ */
18
141
  export declare class PostModelActionHookCallbackDoneEvent extends ModelActionHookEvent {
19
142
  }
143
+ /**
144
+ * This hook event is emitted when a post-resource action hook callback is done executing.
145
+ *
146
+ * @example
147
+ * ```ts
148
+ * const myEvent = new PostResourceActionHookCallbackDoneEvent();
149
+ * EventService.getInstance().emit(myEvent);
150
+ * ```
151
+ * @group Events
152
+ * @returns The Event instance.
153
+ */
20
154
  export declare class PostResourceActionHookCallbackDoneEvent extends ResourceActionHookEvent {
21
155
  }
156
+ /**
157
+ * This hook event is emitted when a pre-commit hook callback is done executing.
158
+ *
159
+ * @example
160
+ * ```ts
161
+ * const myEvent = new PreCommitHookCallbackDoneEvent();
162
+ * EventService.getInstance().emit(myEvent);
163
+ * ```
164
+ * @group Events
165
+ * @returns The Event instance.
166
+ */
22
167
  export declare class PreCommitHookCallbackDoneEvent extends CommitHookEvent {
23
168
  }
169
+ /**
170
+ * This hook event is emitted when a pre-model action hook callback is done executing.
171
+ *
172
+ * @example
173
+ * ```ts
174
+ * const myEvent = new PreModelActionHookCallbackDoneEvent();
175
+ * EventService.getInstance().emit(myEvent);
176
+ * ```
177
+ * @group Events
178
+ * @returns The Event instance.
179
+ */
24
180
  export declare class PreModelActionHookCallbackDoneEvent extends ModelActionHookEvent {
25
181
  }
182
+ /**
183
+ * This hook event is emitted when a pre-resource action hook callback is done executing.
184
+ *
185
+ * @example
186
+ * ```ts
187
+ * const myEvent = new PreResourceActionHookCallbackDoneEvent();
188
+ * EventService.getInstance().emit(myEvent);
189
+ * ```
190
+ * @group Events
191
+ * @returns The Event instance.
192
+ */
26
193
  export declare class PreResourceActionHookCallbackDoneEvent extends ResourceActionHookEvent {
27
194
  }