@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,11 +1,43 @@
1
- import type { UnknownModel } from '../../app.type.js';
1
+ import type { UnknownNode } from '../../app.type.js';
2
2
  import { Diff } from './diff.js';
3
3
  export declare class DiffUtility {
4
4
  private static generateDeleteDiff;
5
5
  static isObjectDeepEquals(x: object, y: object): boolean;
6
- static diffArray(a: UnknownModel, b: UnknownModel, field: string): Diff[];
7
- static diffArrayOfObjects(a: UnknownModel, b: UnknownModel, field: string, compare: (object1: any, object2: any) => boolean): Diff[];
8
- static diffMap(a: UnknownModel, b: UnknownModel, field: string): Diff[];
9
- static diffModels(a: UnknownModel[], b: UnknownModel[], field: string): Promise<Diff[]>;
10
- static diffObject(a: UnknownModel, b: UnknownModel, field: string): Diff[];
6
+ /**
7
+ * Generate a deep diff of an array of basic types from the previous node vs the latest node.
8
+ * @param a previous node.
9
+ * @param b latest node.
10
+ * @param field string representing the field parent uses to reference the array.
11
+ */
12
+ static diffArray(a: UnknownNode, b: UnknownNode, field: string): Diff[];
13
+ /**
14
+ * Generate a deep diff of an array of objects from the previous node vs the latest node.
15
+ * @param a previous node.
16
+ * @param b latest node.
17
+ * @param field string representing the field parent uses to reference the array.
18
+ * @param compare function to check if two objects are equal.
19
+ */
20
+ static diffArrayOfObjects(a: UnknownNode, b: UnknownNode, field: string, compare: (object1: any, object2: any) => boolean): Diff[];
21
+ /**
22
+ * Generate a deep diff of a map of basic types from the previous node vs the latest node.
23
+ * @param a previous node.
24
+ * @param b latest node.
25
+ * @param field string representing the field parent uses to reference the map.
26
+ */
27
+ static diffMap(a: UnknownNode, b: UnknownNode, field: string): Diff[];
28
+ /**
29
+ * Generate a deep diff of an array of previous node vs latest node.
30
+ * The diff is generated recursively, i.e. all children of the node are included in the diff.
31
+ * @param a array of previous nodes.
32
+ * @param b array of latest nodes.
33
+ * @param field string representing the unique identifier of the node.
34
+ */
35
+ static diffNodes(a: UnknownNode[], b: UnknownNode[], field: string): Promise<Diff[]>;
36
+ /**
37
+ * Generate a deep diff of an object from the previous node vs the latest node.
38
+ * @param a previous node.
39
+ * @param b latest node.
40
+ * @param field string representing the field parent uses to reference the object.
41
+ */
42
+ static diffObject(a: UnknownNode, b: UnknownNode, field: string): Diff[];
11
43
  }
@@ -1,28 +1,37 @@
1
1
  import { Diff, DiffAction } from './diff.js';
2
2
  export class DiffUtility {
3
- static generateDeleteDiff(model, field) {
3
+ static generateDeleteDiff(node, field) {
4
4
  const diff = [];
5
- const children = model.getChildren();
6
- for (const modelName of Object.keys(children)) {
7
- for (const dependency of children[modelName]) {
5
+ const children = node.getChildren();
6
+ for (const name of Object.keys(children)) {
7
+ for (const dependency of children[name]) {
8
8
  const child = dependency.to;
9
9
  const childField = dependency.getRelationship().toField;
10
10
  diff.push(...DiffUtility.generateDeleteDiff(child, childField));
11
11
  }
12
12
  }
13
- diff.push(new Diff(model, DiffAction.DELETE, field, model[field]));
13
+ diff.push(new Diff(node, DiffAction.DELETE, field, node[field]));
14
14
  return diff;
15
15
  }
16
+ // Source: https://stackoverflow.com/a/32922084/1834562
16
17
  static isObjectDeepEquals(x, y) {
17
18
  const ok = Object.keys, tx = typeof x, ty = typeof y;
18
19
  return x && y && tx === 'object' && tx === ty
19
20
  ? ok(x).length === ok(y).length && ok(x).every((key) => this.isObjectDeepEquals(x[key], y[key]))
20
21
  : x === y;
21
22
  }
23
+ /**
24
+ * Generate a deep diff of an array of basic types from the previous node vs the latest node.
25
+ * @param a previous node.
26
+ * @param b latest node.
27
+ * @param field string representing the field parent uses to reference the array.
28
+ */
22
29
  static diffArray(a, b, field) {
23
30
  const diff = [];
24
31
  const aSet = new Set(a[field]);
25
32
  const bSet = new Set(b[field]);
33
+ // Iterate elements of previous (a). If found in latest (b), consider it an UPDATE.
34
+ // If not found in latest (b), consider it a DELETE.
26
35
  for (const element of aSet) {
27
36
  if (bSet.has(element)) {
28
37
  diff.push(new Diff(b, DiffAction.UPDATE, field, element));
@@ -31,6 +40,7 @@ export class DiffUtility {
31
40
  diff.push(new Diff(a, DiffAction.DELETE, field, element));
32
41
  }
33
42
  }
43
+ // Iterate elements of latest (b). If not found in previous (a), consider it an ADD.
34
44
  for (const element of bSet) {
35
45
  if (!aSet.has(element)) {
36
46
  diff.push(new Diff(b, DiffAction.ADD, field, element));
@@ -38,8 +48,17 @@ export class DiffUtility {
38
48
  }
39
49
  return diff;
40
50
  }
51
+ /**
52
+ * Generate a deep diff of an array of objects from the previous node vs the latest node.
53
+ * @param a previous node.
54
+ * @param b latest node.
55
+ * @param field string representing the field parent uses to reference the array.
56
+ * @param compare function to check if two objects are equal.
57
+ */
41
58
  static diffArrayOfObjects(a, b, field, compare) {
42
59
  const diff = [];
60
+ // Iterate elements of previous (a). If found in latest (b), consider it an UPDATE.
61
+ // If not found in latest (b), consider it a DELETE.
43
62
  for (const aObject of a[field]) {
44
63
  if (b[field].some((bObject) => compare(aObject, bObject))) {
45
64
  diff.push(new Diff(b, DiffAction.UPDATE, field, aObject));
@@ -48,6 +67,7 @@ export class DiffUtility {
48
67
  diff.push(new Diff(a, DiffAction.DELETE, field, aObject));
49
68
  }
50
69
  }
70
+ // Iterate elements of latest (b). If not found in previous (a), consider it an ADD.
51
71
  for (const bObject of b[field]) {
52
72
  if (!a[field].some((aObject) => compare(aObject, bObject))) {
53
73
  diff.push(new Diff(b, DiffAction.ADD, field, bObject));
@@ -55,8 +75,16 @@ export class DiffUtility {
55
75
  }
56
76
  return diff;
57
77
  }
78
+ /**
79
+ * Generate a deep diff of a map of basic types from the previous node vs the latest node.
80
+ * @param a previous node.
81
+ * @param b latest node.
82
+ * @param field string representing the field parent uses to reference the map.
83
+ */
58
84
  static diffMap(a, b, field) {
59
85
  const diff = [];
86
+ // Iterate fields of previous (a). If found in latest (b), consider it an UPDATE.
87
+ // If not found in latest (b), consider it a DELETE.
60
88
  for (const [key, value] of a[field]) {
61
89
  if (b[field].has(key)) {
62
90
  if (b[field].get(key) !== value) {
@@ -67,6 +95,7 @@ export class DiffUtility {
67
95
  diff.push(new Diff(a, DiffAction.DELETE, field, { key, value }));
68
96
  }
69
97
  }
98
+ // Iterate fields of latest (b). If not found in previous (a), consider it an ADD.
70
99
  for (const [key, value] of b[field]) {
71
100
  if (!a[field].has(key)) {
72
101
  diff.push(new Diff(b, DiffAction.ADD, field, { key, value }));
@@ -74,8 +103,17 @@ export class DiffUtility {
74
103
  }
75
104
  return diff;
76
105
  }
77
- static async diffModels(a, b, field) {
106
+ /**
107
+ * Generate a deep diff of an array of previous node vs latest node.
108
+ * The diff is generated recursively, i.e. all children of the node are included in the diff.
109
+ * @param a array of previous nodes.
110
+ * @param b array of latest nodes.
111
+ * @param field string representing the unique identifier of the node.
112
+ */
113
+ static async diffNodes(a, b, field) {
78
114
  const diff = [];
115
+ // Iterate fields of previous (a). If found in latest (b), get recursive diff of children of b vs a.
116
+ // If not found in latest (b), consider it a DELETE.
79
117
  for (const x of a) {
80
118
  const y = b.find((i) => i.getContext() === x.getContext());
81
119
  if (y) {
@@ -86,6 +124,8 @@ export class DiffUtility {
86
124
  diff.push(...DiffUtility.generateDeleteDiff(x, field));
87
125
  }
88
126
  }
127
+ // Iterate fields of latest (b). If not found in previous (a), consider it an ADD.
128
+ // Recursively add all children of b.
89
129
  for (const y of b) {
90
130
  if (!a.find((i) => i.getContext() === y.getContext())) {
91
131
  const pDiff = await y.diff();
@@ -94,8 +134,16 @@ export class DiffUtility {
94
134
  }
95
135
  return diff;
96
136
  }
137
+ /**
138
+ * Generate a deep diff of an object from the previous node vs the latest node.
139
+ * @param a previous node.
140
+ * @param b latest node.
141
+ * @param field string representing the field parent uses to reference the object.
142
+ */
97
143
  static diffObject(a, b, field) {
98
144
  const diff = [];
145
+ // Iterate fields of previous (a). If found in latest (b), consider it an UPDATE.
146
+ // If not found in latest (b), consider it a DELETE.
99
147
  for (const [key, value] of Object.entries(a[field])) {
100
148
  if (b[field].hasOwnProperty(key)) {
101
149
  if (typeof b[field][key] === 'object') {
@@ -113,6 +161,7 @@ export class DiffUtility {
113
161
  diff.push(new Diff(a, DiffAction.DELETE, field, { key, value }));
114
162
  }
115
163
  }
164
+ // Iterate fields of latest (b). If not found in previous (a), consider it an ADD.
116
165
  for (const [key, value] of Object.entries(b[field])) {
117
166
  if (!a[field].hasOwnProperty(key)) {
118
167
  diff.push(new Diff(b, DiffAction.ADD, field, { key, value }));
@@ -1 +1 @@
1
- {"version":3,"file":"diff.utility.js","sourceRoot":"","sources":["../../../src/functions/diff/diff.utility.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,OAAO,WAAW;IACd,MAAM,CAAC,kBAAkB,CAAC,KAAmB,EAAE,KAAa;QAClE,MAAM,IAAI,GAAW,EAAE,CAAC;QAExB,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC;gBAC5B,MAAM,UAAU,GAAG,UAAU,CAAC,eAAe,EAAG,CAAC,OAAO,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,CAAC,kBAAkB,CAAC,CAAS,EAAE,CAAS;QAC5C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,EACpB,EAAE,GAAG,OAAO,CAAC,EACb,EAAE,GAAG,OAAO,CAAC,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,EAAE;YAC3C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAChG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACd,CAAC;IAQD,MAAM,CAAC,SAAS,CAAC,CAAe,EAAE,CAAe,EAAE,KAAa;QAC9D,MAAM,IAAI,GAAW,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAI/B,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAGD,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IASD,MAAM,CAAC,kBAAkB,CACvB,CAAe,EACf,CAAe,EACf,KAAa,EACb,OAAsC;QAEtC,MAAM,IAAI,GAAW,EAAE,CAAC;QAIxB,KAAK,MAAM,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAGD,KAAK,MAAM,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAQD,MAAM,CAAC,OAAO,CAAC,CAAe,EAAE,CAAe,EAAE,KAAa;QAC5D,MAAM,IAAI,GAAW,EAAE,CAAC;QAIxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;oBAChC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAGD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IASD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAiB,EAAE,CAAiB,EAAE,KAAa;QACzE,MAAM,IAAI,GAAW,EAAE,CAAC;QAIxB,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,EAAE,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAID,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;gBACtD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAQD,MAAM,CAAC,UAAU,CAAC,CAAe,EAAE,CAAe,EAAE,KAAa;QAC/D,MAAM,IAAI,GAAW,EAAE,CAAC;QAIxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACtC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAe,CAAC,EAAE,CAAC;wBACpE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAClF,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;wBAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAClF,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAGD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"diff.utility.js","sourceRoot":"","sources":["../../../src/functions/diff/diff.utility.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { CommitHookCallbackDoneEvent, PostCommitHookCallbackDoneEvent, PreCommitHookCallbackDoneEvent, } from '../../events/hook.event.js';
2
2
  import { EventService } from '../../services/event/event.service.js';
3
3
  export class CommitHook {
4
- static instance;
5
- postCommitHooks = [];
6
- preCommitHooks = [];
4
+ constructor() {
5
+ this.postCommitHooks = [];
6
+ this.preCommitHooks = [];
7
+ }
7
8
  collectHooks(registeredModules) {
8
9
  for (const m of registeredModules) {
9
10
  for (const { callback } of m.properties.postCommitHooks || []) {
@@ -21,6 +22,8 @@ export class CommitHook {
21
22
  return this.instance;
22
23
  }
23
24
  registrar(descriptor) {
25
+ // `self` here references this class, vs `this` references the original method.
26
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
24
27
  const self = this;
25
28
  const originalMethod = descriptor.value;
26
29
  descriptor.value = async function (...args) {
@@ -1 +1 @@
1
- {"version":3,"file":"commit.hook.js","sourceRoot":"","sources":["../../../src/functions/hook/commit.hook.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAIrE,MAAM,OAAO,UAAU;IACb,MAAM,CAAC,QAAQ,CAAa;IAEnB,eAAe,GAAgC,EAAE,CAAC;IAClD,cAAc,GAAgC,EAAE,CAAC;IAElE,YAAY,CAAC,iBAA6C;QACxD,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAClC,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;gBAC9D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC;YAED,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;gBAC7D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,UAA8B;QAGtC,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,GAAG,IAA6B;YACjE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC3C,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACjC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,8BAA8B,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,2BAA2B,EAAE,CAAC,CAAC;YAEnE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC5C,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACjC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,+BAA+B,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;CACF"}
1
+ {"version":3,"file":"commit.hook.js","sourceRoot":"","sources":["../../../src/functions/hook/commit.hook.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAIrE,MAAM,OAAO,UAAU;IAAvB;QAGmB,oBAAe,GAAgC,EAAE,CAAC;QAClD,mBAAc,GAAgC,EAAE,CAAC;IAgDpE,CAAC;IA9CC,YAAY,CAAC,iBAA6C;QACxD,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAClC,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;gBAC9D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC;YAED,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;gBAC7D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,UAA8B;QACtC,+EAA+E;QAC/E,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,GAAG,IAA+C;YACnF,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC3C,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACjC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,8BAA8B,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,2BAA2B,EAAE,CAAC,CAAC;YAEnE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC5C,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACjC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,+BAA+B,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;CACF"}
@@ -1,11 +1,12 @@
1
- import { Container } from '../../decorators/container.js';
1
+ import { Container } from '../container/container.js';
2
2
  import { ModelActionHookCallbackDoneEvent, PostModelActionHookCallbackDoneEvent, PreModelActionHookCallbackDoneEvent, } from '../../events/hook.event.js';
3
3
  import { EventService } from '../../services/event/event.service.js';
4
4
  import { InputService } from '../../services/input/input.service.js';
5
5
  export class ModelActionHook {
6
- static instance;
7
- postModelActionHooks = {};
8
- preModelActionHooks = {};
6
+ constructor() {
7
+ this.postModelActionHooks = {};
8
+ this.preModelActionHooks = {};
9
+ }
9
10
  collectHooks(registeredModules) {
10
11
  for (const m of registeredModules) {
11
12
  for (const { ACTION_NAME, collectInput, handle } of m.properties.postModelActionHooks || []) {
@@ -29,6 +30,8 @@ export class ModelActionHook {
29
30
  return this.instance;
30
31
  }
31
32
  registrar(modelAction) {
33
+ // `self` here references this class, vs `this` references the original method.
34
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
32
35
  const self = this;
33
36
  const originalHandleMethod = modelAction.handle;
34
37
  modelAction.handle = async function (...args) {
@@ -1 +1 @@
1
- {"version":3,"file":"model-action.hook.js","sourceRoot":"","sources":["../../../src/functions/hook/model-action.hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-action.hook.js","sourceRoot":"","sources":["../../../src/functions/hook/model-action.hook.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { PostResourceActionHookCallbackDoneEvent, PreResourceActionHookCallbackDoneEvent, ResourceActionHookCallbackDoneEvent, } from '../../events/hook.event.js';
2
2
  import { EventService } from '../../services/event/event.service.js';
3
3
  export class ResourceActionHook {
4
- static instance;
5
- postResourceActionHooks = {};
6
- preResourceActionHooks = {};
4
+ constructor() {
5
+ this.postResourceActionHooks = {};
6
+ this.preResourceActionHooks = {};
7
+ }
7
8
  collectHooks(registeredModules) {
8
9
  for (const m of registeredModules) {
9
10
  for (const { ACTION_NAME, handle } of m.properties.postResourceActionHooks || []) {
@@ -27,6 +28,8 @@ export class ResourceActionHook {
27
28
  return this.instance;
28
29
  }
29
30
  registrar(resourceAction) {
31
+ // `self` here references this class, vs `this` references the original method.
32
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
30
33
  const self = this;
31
34
  const originalHandleMethod = resourceAction.handle;
32
35
  resourceAction.handle = async function (...args) {
@@ -1 +1 @@
1
- {"version":3,"file":"resource-action.hook.js","sourceRoot":"","sources":["../../../src/functions/hook/resource-action.hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-action.hook.js","sourceRoot":"","sources":["../../../src/functions/hook/resource-action.hook.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ import type { NodeType, UnknownNode } from '../../app.type.js';
2
+ import { Dependency, type DependencyRelationship } from '../dependency/dependency.js';
3
+ import { type Diff, DiffAction } from '../diff/diff.js';
4
+ import type { INode } from './node.interface.js';
5
+ /**
6
+ * This is Octo's base class, and all other classes extend from it.
7
+ * It helps provide a common set of methods and properties that is core to Octo.
8
+ *
9
+ * Octo is built as a graph, and this base class can be considered as a generic node.
10
+ * Nodes can have children, and siblings, but only if connected via an edge, called {@link Dependency} here.
11
+ *
12
+ * From this base class, three more base classes are derived,
13
+ * - [Models](/docs/fundamentals/models)
14
+ * - [Resources](/docs/fundamentals/resources)
15
+ * - [Overlays](/docs/fundamentals/overlay-and-anchor)
16
+ *
17
+ * Each of these derived base classes, using the base methods of this class,
18
+ * define their own specific rules on how their graphs should be constructed.
19
+ */
20
+ export declare abstract class ANode<I, T> implements INode<I, T> {
21
+ /**
22
+ * {@inheritDoc INode.NODE_NAME}
23
+ */
24
+ abstract readonly NODE_NAME: string;
25
+ /**
26
+ * {@inheritDoc INode.NODE_TYPE}
27
+ */
28
+ abstract readonly NODE_TYPE: NodeType;
29
+ /**
30
+ * The context of the node.
31
+ * It is a string representation of self that uniquely identifies self in the graph.
32
+ */
33
+ private context;
34
+ /**
35
+ * A set of node dependencies with other nodes, represented using a {@link Dependency}.
36
+ */
37
+ private readonly dependencies;
38
+ addChild(onField: keyof T | string, child: UnknownNode, toField: string): {
39
+ childToParentDependency: Dependency;
40
+ parentToChildDependency: Dependency;
41
+ };
42
+ addFieldDependency(behaviors: {
43
+ forAction: DiffAction;
44
+ onAction: DiffAction;
45
+ onField: keyof T | string;
46
+ toField: keyof T | string;
47
+ }[]): void;
48
+ addRelationship(to: UnknownNode): {
49
+ thatToThisDependency: Dependency;
50
+ thisToThatDependency: Dependency;
51
+ };
52
+ abstract diff(previous?: T): Promise<Diff[]>;
53
+ abstract diffProperties(previous: T): Promise<Diff[]>;
54
+ getAncestors(): UnknownNode[];
55
+ getBoundaryMembers(): UnknownNode[];
56
+ getChild(name: string, filters?: {
57
+ key: string;
58
+ value: any;
59
+ }[]): UnknownNode | undefined;
60
+ getChildren(name?: string): {
61
+ [key: string]: Dependency[];
62
+ };
63
+ getContext(): string;
64
+ getDependencies(to?: UnknownNode): Dependency[];
65
+ getDependency(to: UnknownNode, relationship: DependencyRelationship): Dependency | undefined;
66
+ getDependencyIndex(to: UnknownNode, relationship: DependencyRelationship): number;
67
+ getParents(name?: string): {
68
+ [key: string]: Dependency[];
69
+ };
70
+ getSiblings(name?: string): {
71
+ [key: string]: Dependency[];
72
+ };
73
+ hasAncestor(node: UnknownNode): boolean;
74
+ removeDependency(dependencyIndex: number): void;
75
+ removeRelationship(node: UnknownNode): void;
76
+ abstract setContext(): string;
77
+ abstract synth(): I;
78
+ /**
79
+ * To create self given its serialized representation.
80
+ * - First argument is the serialized representation.
81
+ * - Second argument is the `deReferenceContext()` function to resolve other nodes self depends on.
82
+ */
83
+ static unSynth(...args: unknown[]): Promise<UnknownNode>;
84
+ }