@quadnix/octo 0.0.20 → 0.0.21

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 (179) hide show
  1. package/dist/app.type.d.ts +5 -0
  2. package/dist/app.type.js +6 -0
  3. package/dist/app.type.js.map +1 -1
  4. package/dist/decorators/action.decorator.d.ts +17 -0
  5. package/dist/decorators/action.decorator.js +23 -0
  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 +13 -0
  9. package/dist/decorators/anchor.decorator.js.map +1 -1
  10. package/dist/decorators/container.d.ts +60 -0
  11. package/dist/decorators/container.js +63 -2
  12. package/dist/decorators/container.js.map +1 -1
  13. package/dist/decorators/enable-hook.decorator.d.ts +14 -0
  14. package/dist/decorators/enable-hook.decorator.js +14 -0
  15. package/dist/decorators/enable-hook.decorator.js.map +1 -1
  16. package/dist/decorators/event-source.decorator.d.ts +15 -0
  17. package/dist/decorators/event-source.decorator.js +15 -0
  18. package/dist/decorators/event-source.decorator.js.map +1 -1
  19. package/dist/decorators/factory.decorator.d.ts +30 -0
  20. package/dist/decorators/factory.decorator.js +30 -0
  21. package/dist/decorators/factory.decorator.js.map +1 -1
  22. package/dist/decorators/model.decorator.d.ts +13 -0
  23. package/dist/decorators/model.decorator.js +13 -0
  24. package/dist/decorators/model.decorator.js.map +1 -1
  25. package/dist/decorators/module.decorator.d.ts +52 -0
  26. package/dist/decorators/module.decorator.js +60 -1
  27. package/dist/decorators/module.decorator.js.map +1 -1
  28. package/dist/decorators/on-event.decorator.d.ts +17 -0
  29. package/dist/decorators/on-event.decorator.js +17 -0
  30. package/dist/decorators/on-event.decorator.js.map +1 -1
  31. package/dist/decorators/overlay.decorator.d.ts +13 -0
  32. package/dist/decorators/overlay.decorator.js +13 -0
  33. package/dist/decorators/overlay.decorator.js.map +1 -1
  34. package/dist/decorators/resource.decorator.d.ts +13 -0
  35. package/dist/decorators/resource.decorator.js +13 -0
  36. package/dist/decorators/resource.decorator.js.map +1 -1
  37. package/dist/decorators/test-container.d.ts +52 -0
  38. package/dist/decorators/test-container.js +54 -2
  39. package/dist/decorators/test-container.js.map +1 -1
  40. package/dist/decorators/validate.decorator.d.ts +9 -0
  41. package/dist/decorators/validate.decorator.js +23 -0
  42. package/dist/decorators/validate.decorator.js.map +1 -0
  43. package/dist/events/error.event.d.ts +30 -0
  44. package/dist/events/error.event.js +30 -0
  45. package/dist/events/error.event.js.map +1 -1
  46. package/dist/events/event.model.d.ts +27 -0
  47. package/dist/events/event.model.js +27 -3
  48. package/dist/events/event.model.js.map +1 -1
  49. package/dist/events/hook.event.d.ts +167 -0
  50. package/dist/events/hook.event.js +167 -0
  51. package/dist/events/hook.event.js.map +1 -1
  52. package/dist/events/module.event.d.ts +12 -0
  53. package/dist/events/module.event.js +12 -0
  54. package/dist/events/module.event.js.map +1 -1
  55. package/dist/events/registration.event.d.ts +90 -0
  56. package/dist/events/registration.event.js +90 -0
  57. package/dist/events/registration.event.js.map +1 -1
  58. package/dist/events/serialization.event.d.ts +61 -0
  59. package/dist/events/serialization.event.js +61 -0
  60. package/dist/events/serialization.event.js.map +1 -1
  61. package/dist/events/transaction.event.d.ts +41 -0
  62. package/dist/events/transaction.event.js +41 -0
  63. package/dist/events/transaction.event.js.map +1 -1
  64. package/dist/functions/dependency/dependency.js +1 -8
  65. package/dist/functions/dependency/dependency.js.map +1 -1
  66. package/dist/functions/diff/diff-metadata.d.ts +3 -0
  67. package/dist/functions/diff/diff-metadata.js +5 -10
  68. package/dist/functions/diff/diff-metadata.js.map +1 -1
  69. package/dist/functions/diff/diff.d.ts +3 -0
  70. package/dist/functions/diff/diff.js +3 -4
  71. package/dist/functions/diff/diff.js.map +1 -1
  72. package/dist/functions/diff/diff.utility.d.ts +32 -0
  73. package/dist/functions/diff/diff.utility.js +49 -0
  74. package/dist/functions/diff/diff.utility.js.map +1 -1
  75. package/dist/functions/hook/commit.hook.js +6 -3
  76. package/dist/functions/hook/commit.hook.js.map +1 -1
  77. package/dist/functions/hook/model-action.hook.js +6 -3
  78. package/dist/functions/hook/model-action.hook.js.map +1 -1
  79. package/dist/functions/hook/resource-action.hook.js +6 -3
  80. package/dist/functions/hook/resource-action.hook.js.map +1 -1
  81. package/dist/index.d.ts +1 -0
  82. package/dist/index.js +1 -0
  83. package/dist/index.js.map +1 -1
  84. package/dist/main.d.ts +4 -1
  85. package/dist/main.js +27 -15
  86. package/dist/main.js.map +1 -1
  87. package/dist/models/app/app.interface.d.ts +5 -0
  88. package/dist/models/app/app.model.d.ts +29 -0
  89. package/dist/models/app/app.model.js +40 -3
  90. package/dist/models/app/app.model.js.map +1 -1
  91. package/dist/models/deployment/deployment.interface.d.ts +5 -0
  92. package/dist/models/deployment/deployment.model.d.ts +15 -0
  93. package/dist/models/deployment/deployment.model.js +20 -3
  94. package/dist/models/deployment/deployment.model.js.map +1 -1
  95. package/dist/models/environment/environment.interface.d.ts +5 -0
  96. package/dist/models/environment/environment.model.d.ts +18 -0
  97. package/dist/models/environment/environment.model.js +33 -4
  98. package/dist/models/environment/environment.model.js.map +1 -1
  99. package/dist/models/execution/execution.interface.d.ts +5 -0
  100. package/dist/models/execution/execution.model.d.ts +23 -0
  101. package/dist/models/execution/execution.model.js +39 -2
  102. package/dist/models/execution/execution.model.js.map +1 -1
  103. package/dist/models/image/image.interface.d.ts +5 -0
  104. package/dist/models/image/image.model.d.ts +35 -0
  105. package/dist/models/image/image.model.js +25 -6
  106. package/dist/models/image/image.model.js.map +1 -1
  107. package/dist/models/model-action.interface.d.ts +21 -0
  108. package/dist/models/model.abstract.d.ts +265 -0
  109. package/dist/models/model.abstract.js +274 -5
  110. package/dist/models/model.abstract.js.map +1 -1
  111. package/dist/models/model.interface.d.ts +25 -0
  112. package/dist/models/pipeline/pipeline.interface.d.ts +5 -0
  113. package/dist/models/pipeline/pipeline.model.d.ts +15 -0
  114. package/dist/models/pipeline/pipeline.model.js +25 -4
  115. package/dist/models/pipeline/pipeline.model.js.map +1 -1
  116. package/dist/models/region/region.interface.d.ts +5 -0
  117. package/dist/models/region/region.model.d.ts +18 -0
  118. package/dist/models/region/region.model.js +29 -3
  119. package/dist/models/region/region.model.js.map +1 -1
  120. package/dist/models/server/server.interface.d.ts +5 -0
  121. package/dist/models/server/server.model.d.ts +17 -0
  122. package/dist/models/server/server.model.js +24 -3
  123. package/dist/models/server/server.model.js.map +1 -1
  124. package/dist/models/service/service.interface.d.ts +5 -0
  125. package/dist/models/service/service.model.d.ts +15 -0
  126. package/dist/models/service/service.model.js +19 -2
  127. package/dist/models/service/service.model.js.map +1 -1
  128. package/dist/models/subnet/subnet.interface.d.ts +5 -0
  129. package/dist/models/subnet/subnet.model.d.ts +48 -0
  130. package/dist/models/subnet/subnet.model.js +52 -7
  131. package/dist/models/subnet/subnet.model.js.map +1 -1
  132. package/dist/modules/module.container.d.ts +2 -0
  133. package/dist/modules/module.container.js +17 -8
  134. package/dist/modules/module.container.js.map +1 -1
  135. package/dist/modules/test-module.container.d.ts +2 -2
  136. package/dist/modules/test-module.container.js +10 -7
  137. package/dist/modules/test-module.container.js.map +1 -1
  138. package/dist/overlays/anchor.abstract.js +0 -3
  139. package/dist/overlays/anchor.abstract.js.map +1 -1
  140. package/dist/overlays/overlay-data.repository.js +0 -3
  141. package/dist/overlays/overlay-data.repository.js.map +1 -1
  142. package/dist/overlays/overlay.abstract.js +3 -3
  143. package/dist/overlays/overlay.abstract.js.map +1 -1
  144. package/dist/overlays/overlay.service.js +0 -2
  145. package/dist/overlays/overlay.service.js.map +1 -1
  146. package/dist/resources/resource-data.repository.js +6 -3
  147. package/dist/resources/resource-data.repository.js.map +1 -1
  148. package/dist/resources/resource.abstract.js +4 -4
  149. package/dist/resources/resource.abstract.js.map +1 -1
  150. package/dist/resources/shared-resource.abstract.js +4 -1
  151. package/dist/resources/shared-resource.abstract.js.map +1 -1
  152. package/dist/services/capture/capture.service.js +3 -2
  153. package/dist/services/capture/capture.service.js.map +1 -1
  154. package/dist/services/event/event.service.js +8 -5
  155. package/dist/services/event/event.service.js.map +1 -1
  156. package/dist/services/input/input.service.js +1 -3
  157. package/dist/services/input/input.service.js.map +1 -1
  158. package/dist/services/serialization/model/model-serialization.service.js +10 -4
  159. package/dist/services/serialization/model/model-serialization.service.js.map +1 -1
  160. package/dist/services/serialization/resource/resource-serialization.service.js +17 -4
  161. package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -1
  162. package/dist/services/state-management/local.state-provider.js +0 -1
  163. package/dist/services/state-management/local.state-provider.js.map +1 -1
  164. package/dist/services/state-management/state-management.service.js +0 -2
  165. package/dist/services/state-management/state-management.service.js.map +1 -1
  166. package/dist/services/state-management/test.state-provider.js +3 -1
  167. package/dist/services/state-management/test.state-provider.js.map +1 -1
  168. package/dist/services/transaction/transaction.service.d.ts +4 -0
  169. package/dist/services/transaction/transaction.service.js +40 -8
  170. package/dist/services/transaction/transaction.service.js.map +1 -1
  171. package/dist/services/validation/validation.service.d.ts +19 -0
  172. package/dist/services/validation/validation.service.js +66 -0
  173. package/dist/services/validation/validation.service.js.map +1 -0
  174. package/dist/utilities/object/object.utility.js +1 -0
  175. package/dist/utilities/object/object.utility.js.map +1 -1
  176. package/dist/utilities/validation/validation.utility.d.ts +5 -0
  177. package/dist/utilities/validation/validation.utility.js +12 -0
  178. package/dist/utilities/validation/validation.utility.js.map +1 -0
  179. package/package.json +1 -1
@@ -16,11 +16,10 @@ import { ResourceDataRepository } from '../../../resources/resource-data.reposit
16
16
  import { ObjectUtility } from '../../../utilities/object/object.utility.js';
17
17
  import { EventService } from '../../event/event.service.js';
18
18
  export class ResourceSerializationService {
19
- resourceDataRepository;
20
- RESOURCE_DESERIALIZATION_TIMEOUT_IN_MS = 5000;
21
- classMapping = {};
22
19
  constructor(resourceDataRepository) {
23
20
  this.resourceDataRepository = resourceDataRepository;
21
+ this.RESOURCE_DESERIALIZATION_TIMEOUT_IN_MS = 5000;
22
+ this.classMapping = {};
24
23
  }
25
24
  async _deserialize(serializedOutput, freeze) {
26
25
  const deReferencePromises = {};
@@ -60,6 +59,7 @@ export class ResourceSerializationService {
60
59
  }
61
60
  return deserializedResource;
62
61
  };
62
+ // Re-generate resource parents from dependencies.
63
63
  for (const d of serializedOutput.dependencies) {
64
64
  const fromResourceId = d.from.split('=')[1];
65
65
  const toResourceId = d.to.split('=')[1];
@@ -69,6 +69,7 @@ export class ResourceSerializationService {
69
69
  if (!parents[toResourceId]) {
70
70
  parents[toResourceId] = [];
71
71
  }
72
+ // Resources don't have other relationships than parent-child relations.
72
73
  if (d.relationship?.type === 'child' && !parents[fromResourceId].includes(toResourceId)) {
73
74
  parents[fromResourceId].push(toResourceId);
74
75
  }
@@ -76,11 +77,13 @@ export class ResourceSerializationService {
76
77
  parents[toResourceId].push(fromResourceId);
77
78
  }
78
79
  }
80
+ // Deserialize all serialized resources.
79
81
  const promiseToDeserializeResources = [];
80
82
  for (const resourceId in serializedOutput.resources) {
81
83
  promiseToDeserializeResources.push(deserializeResource(resourceId, parents[resourceId], false));
82
84
  }
83
85
  await Promise.all(promiseToDeserializeResources);
86
+ // Deserialize all serialized shared-resources.
84
87
  const promiseToDeserializeSharedResources = [];
85
88
  for (const resourceId in serializedOutput.sharedResources) {
86
89
  promiseToDeserializeSharedResources.push(deserializeResource(resourceId, parents[resourceId], true));
@@ -94,8 +97,18 @@ export class ResourceSerializationService {
94
97
  return seen;
95
98
  }
96
99
  async deserialize(serializedOutput, { freeze = true } = {}) {
100
+ // Note 1: Unlike overlays, resources needs to be deserialized twice, once for new resources
101
+ // and once for old resources. Resources are generated as a product of model and overlay diff.
102
+ // The user repository code, when runs with a previous state, model and overlay diff won't generate new resources.
103
+ // That equates to ResourceDataRepository being empty.
104
+ // On resource diff with the previous resource, DELETE diffs will be produced.
105
+ // Therefore, it's necessary to load the ResourceDataRepository with new before deserializing the resources.
106
+ // Note 2: Post commit you can still reference the running overlays, but any resource manipulation should be done
107
+ // on after fetching the resource from the ResourceDataRepository. Never use the running resources because
108
+ // post commit they are replaced by a new copy.
97
109
  const newResources = await this._deserialize(JSON.parse(JSON.stringify(serializedOutput)), false);
98
110
  const oldResources = await this._deserialize(JSON.parse(JSON.stringify(serializedOutput)), freeze);
111
+ // Refresh the resource data repository.
99
112
  await Container.get(ResourceDataRepository, {
100
113
  args: [true, Object.values(oldResources), Object.values(newResources)],
101
114
  });
@@ -110,6 +123,7 @@ export class ResourceSerializationService {
110
123
  const serializedResources = {};
111
124
  const sharedSerializedResources = {};
112
125
  for (const resource of resources) {
126
+ // Skip serializing resources marked as deleted.
113
127
  if (resource.isMarkedDeleted()) {
114
128
  this.resourceDataRepository.remove(resource);
115
129
  continue;
@@ -145,7 +159,6 @@ __decorate([
145
159
  __metadata("design:returntype", void 0)
146
160
  ], ResourceSerializationService.prototype, "registerClass", null);
147
161
  let ResourceSerializationServiceFactory = class ResourceSerializationServiceFactory {
148
- static instance;
149
162
  static async create(forceNew = false) {
150
163
  const resourceDataRepository = await Container.get(ResourceDataRepository);
151
164
  if (!this.instance) {
@@ -1 +1 @@
1
- {"version":3,"file":"resource-serialization.service.js","sourceRoot":"","sources":["../../../../src/services/serialization/resource/resource-serialization.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-serialization.service.js","sourceRoot":"","sources":["../../../../src/services/serialization/resource/resource-serialization.service.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@ import { promisify } from 'util';
4
4
  const readFileAsync = promisify(readFile);
5
5
  const writeFileAsync = promisify(writeFile);
6
6
  export class LocalStateProvider {
7
- localStateDirectoryPath;
8
7
  constructor(localStateDirectoryPath) {
9
8
  this.localStateDirectoryPath = resolve(localStateDirectoryPath);
10
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"local.state-provider.js","sourceRoot":"","sources":["../../../src/services/state-management/local.state-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGjC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC1C,MAAM,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;AAE5C,MAAM,OAAO,kBAAkB;IACZ,uBAAuB,CAAS;IAEjD,YAAY,uBAA+B;QACzC,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,aAAqB;QAClC,IAAI,CAAC;YACH,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrC,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,aAAqB,EAAE,IAAY;QACjD,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;IAChF,CAAC;CACF"}
1
+ {"version":3,"file":"local.state-provider.js","sourceRoot":"","sources":["../../../src/services/state-management/local.state-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGjC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC1C,MAAM,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;AAE5C,MAAM,OAAO,kBAAkB;IAG7B,YAAY,uBAA+B;QACzC,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,aAAqB;QAClC,IAAI,CAAC;YACH,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrC,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,aAAqB,EAAE,IAAY;QACjD,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;IAChF,CAAC;CACF"}
@@ -6,7 +6,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { Factory } from '../../decorators/factory.decorator.js';
8
8
  export class StateManagementService {
9
- stateProvider;
10
9
  constructor(stateProvider) {
11
10
  this.stateProvider = stateProvider;
12
11
  }
@@ -79,7 +78,6 @@ export class StateManagementService {
79
78
  }
80
79
  }
81
80
  let StateManagementServiceFactory = class StateManagementServiceFactory {
82
- static instance;
83
81
  static async create(stateProvider) {
84
82
  if (this.instance) {
85
83
  return this.instance;
@@ -1 +1 @@
1
- {"version":3,"file":"state-management.service.js","sourceRoot":"","sources":["../../../src/services/state-management/state-management.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-management.service.js","sourceRoot":"","sources":["../../../src/services/state-management/state-management.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  export class TestStateProvider {
2
- localState = {};
2
+ constructor() {
3
+ this.localState = {};
4
+ }
3
5
  async getState(stateFileName) {
4
6
  if (!(stateFileName in this.localState)) {
5
7
  throw new Error('No state found!');
@@ -1 +1 @@
1
- {"version":3,"file":"test.state-provider.js","sourceRoot":"","sources":["../../../src/services/state-management/test.state-provider.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,iBAAiB;IACX,UAAU,GAA8B,EAAE,CAAC;IAE5D,KAAK,CAAC,QAAQ,CAAC,aAAqB;QAClC,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,aAAqB,EAAE,IAAY;QACjD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"test.state-provider.js","sourceRoot":"","sources":["../../../src/services/state-management/test.state-provider.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,iBAAiB;IAA9B;QACmB,eAAU,GAA8B,EAAE,CAAC;IAY9D,CAAC;IAVC,KAAK,CAAC,QAAQ,CAAC,aAAqB;QAClC,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,aAAqB,EAAE,IAAY;QACjD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IACxC,CAAC;CACF"}
@@ -20,6 +20,10 @@ export declare class TransactionService {
20
20
  private applyResources;
21
21
  private getDuplicateDiffs;
22
22
  private getMatchingDiffs;
23
+ /**
24
+ * Before assigning order to a diff, all its model's parent diffs must be processed.
25
+ * E.g. diff to add environment, depends on region to exist, thus add region diff gets processed first.
26
+ */
23
27
  private setApplyOrder;
24
28
  beginTransaction(diffs: Diff[], options?: TransactionOptions): AsyncGenerator<DiffMetadata[][], DiffMetadata[][]>;
25
29
  registerModelActions(actions: IModelAction[]): void;
@@ -21,18 +21,14 @@ import { CaptureService } from '../capture/capture.service.js';
21
21
  import { EventService } from '../event/event.service.js';
22
22
  import { InputService } from '../input/input.service.js';
23
23
  export class TransactionService {
24
- captureService;
25
- inputService;
26
- overlayDataRepository;
27
- resourceDataRepository;
28
- modelActions = [];
29
- overlayActions = [];
30
- resourceActions = [];
31
24
  constructor(captureService, inputService, overlayDataRepository, resourceDataRepository) {
32
25
  this.captureService = captureService;
33
26
  this.inputService = inputService;
34
27
  this.overlayDataRepository = overlayDataRepository;
35
28
  this.resourceDataRepository = resourceDataRepository;
29
+ this.modelActions = [];
30
+ this.overlayActions = [];
31
+ this.resourceActions = [];
36
32
  }
37
33
  async applyModels(diffs) {
38
34
  const transaction = [];
@@ -46,9 +42,12 @@ export class TransactionService {
46
42
  if (diff.applied) {
47
43
  continue;
48
44
  }
45
+ // Check for duplicate diffs on the same model and same field.
49
46
  const duplicateDiffs = this.getDuplicateDiffs(diff, diffsInSameLevel);
47
+ // Only process the first diff, given all duplicate diffs are the same.
50
48
  const diffToProcess = duplicateDiffs[0].diff;
51
49
  for (const a of diff.actions) {
50
+ // Resolve input requests.
52
51
  const inputs = {};
53
52
  const inputKeys = a.collectInput(diffToProcess);
54
53
  inputKeys.forEach((k) => {
@@ -57,6 +56,7 @@ export class TransactionService {
57
56
  throw new Error('No matching input found to process action!');
58
57
  }
59
58
  });
59
+ // Apply all actions on the diff, then update diff metadata with inputs and outputs.
60
60
  const promiseToApplyAction = a.handle(diffToProcess, inputs, {}).then((outputs) => {
61
61
  EventService.getInstance().emit(new ModelActionTransactionEvent(a.ACTION_NAME));
62
62
  duplicateDiffs.forEach((d) => {
@@ -67,10 +67,15 @@ export class TransactionService {
67
67
  });
68
68
  promiseToApplyActions.push(promiseToApplyAction);
69
69
  }
70
+ // Include the diff to process in the list of diffs processed in the same level.
70
71
  diffsProcessedInSameLevel.push(duplicateDiffs[0]);
72
+ // Mark metadata of each duplicate diffs as applied.
71
73
  duplicateDiffs.forEach((d) => (d.applied = true));
72
74
  }
75
+ // Apply all actions of same level, since they can be applied in parallel.
73
76
  const actionsOutputs = await Promise.all(promiseToApplyActions);
77
+ // Overwrite previous resources with new resources, except for shared resources,
78
+ // which can be merged if it exists.
74
79
  for (const outputs of actionsOutputs) {
75
80
  for (const [resourceId, resource] of Object.entries(outputs)) {
76
81
  const previousResource = this.resourceDataRepository.getById(resourceId);
@@ -82,6 +87,7 @@ export class TransactionService {
82
87
  }
83
88
  }
84
89
  }
90
+ // Add all diff in same level to transaction.
85
91
  transaction.push(diffsProcessedInSameLevel);
86
92
  processed += diffsInSameLevel.length;
87
93
  currentApplyOrder += 1;
@@ -100,7 +106,9 @@ export class TransactionService {
100
106
  if (diff.applied) {
101
107
  continue;
102
108
  }
109
+ // Check for duplicate diffs on the same model and same field.
103
110
  const duplicateDiffs = this.getDuplicateDiffs(diff, diffsInSameLevel);
111
+ // Only process the first diff, given all duplicate diffs are the same.
104
112
  const diffToProcess = duplicateDiffs[0].diff;
105
113
  for (const a of diff.actions) {
106
114
  if (enableResourceCapture) {
@@ -114,10 +122,14 @@ export class TransactionService {
114
122
  }));
115
123
  }
116
124
  }
125
+ // Include the diff to process in the list of diffs processed in the same level.
117
126
  diffsProcessedInSameLevel.push(duplicateDiffs[0]);
127
+ // Mark metadata of each duplicate diffs as applied.
118
128
  duplicateDiffs.forEach((d) => (d.applied = true));
119
129
  }
130
+ // Apply all actions of same level, since they can be applied in parallel.
120
131
  await Promise.all(promiseToApplyActions);
132
+ // Add all diff in same level to transaction.
121
133
  transaction.push(diffsProcessedInSameLevel);
122
134
  processed += diffsInSameLevel.length;
123
135
  currentApplyOrder += 1;
@@ -133,10 +145,16 @@ export class TransactionService {
133
145
  getMatchingDiffs(diff, diffs) {
134
146
  return diffs.filter((d) => d.model.getContext() === diff.model.getContext() && d.field === diff.field && d.value === diff.value);
135
147
  }
148
+ /**
149
+ * Before assigning order to a diff, all its model's parent diffs must be processed.
150
+ * E.g. diff to add environment, depends on region to exist, thus add region diff gets processed first.
151
+ */
136
152
  setApplyOrder(diff, diffs, seen = []) {
153
+ // Detect circular dependencies.
137
154
  if (this.getDuplicateDiffs(diff, seen).length > 0) {
138
155
  throw new Error('Found circular dependencies!');
139
156
  }
157
+ // Detect conflicting actions in transaction.
140
158
  const matchingDiffs = this.getMatchingDiffs(diff, diffs);
141
159
  const diffActions = matchingDiffs.reduce((accumulator, currentValue) => {
142
160
  accumulator[currentValue.action] = true;
@@ -147,14 +165,18 @@ export class TransactionService {
147
165
  (diffActions[DiffAction.DELETE] && diffActions[DiffAction.UPDATE])) {
148
166
  throw new Error('Found conflicting actions in same transaction!');
149
167
  }
168
+ // Skip processing diff that already has the applyOrder set.
150
169
  if (diff.applyOrder >= 0) {
151
170
  return;
152
171
  }
172
+ // Get all dependencies of subject model.
153
173
  const dependencies = diff.model.getDependencies();
154
174
  const dependencyApplyOrders = [-1];
155
175
  for (const dependency of dependencies) {
176
+ // Iterate diffs looking to match dependency on same field and action.
156
177
  const matchingParentDiffs = diffs.filter((d) => d.model.getContext() === dependency.to.getContext() &&
157
178
  dependency.hasMatchingBehavior(diff.field, diff.action, d.field, d.action));
179
+ // On each diff that should be processed first, apply order on it before than self.
158
180
  for (const matchingParentDiff of matchingParentDiffs) {
159
181
  this.setApplyOrder(matchingParentDiff, diffs, [...seen, diff]);
160
182
  dependencyApplyOrders.push(matchingParentDiff.applyOrder);
@@ -169,7 +191,9 @@ export class TransactionService {
169
191
  yieldResourceDiffs: false,
170
192
  yieldResourceTransaction: false,
171
193
  }) {
194
+ // Diff overlays and add to existing diffs.
172
195
  diffs.push(...(await this.overlayDataRepository.diff()));
196
+ // Generate diff on models.
173
197
  const modelDiffs = diffs.map((d) => {
174
198
  if (d.model.MODEL_TYPE === ModelType.OVERLAY) {
175
199
  return new DiffMetadata(d, this.overlayActions.filter((a) => a.filter(d)));
@@ -178,24 +202,29 @@ export class TransactionService {
178
202
  return new DiffMetadata(d, this.modelActions.filter((a) => a.filter(d)));
179
203
  }
180
204
  });
205
+ // Set apply order on model diffs.
181
206
  for (const diff of modelDiffs) {
182
207
  this.setApplyOrder(diff, modelDiffs);
183
208
  }
184
209
  if (options.yieldModelDiffs) {
185
210
  yield [modelDiffs];
186
211
  }
212
+ // Apply model diffs.
187
213
  const modelTransaction = await this.applyModels(modelDiffs);
188
214
  if (options.yieldModelTransaction) {
189
215
  yield modelTransaction;
190
216
  }
217
+ // Generate diff on resources.
191
218
  diffs = await this.resourceDataRepository.diff();
192
219
  const resourceDiffs = diffs.map((d) => new DiffMetadata(d, this.resourceActions.filter((a) => a.filter(d))));
220
+ // Set apply order on resource diffs.
193
221
  for (const diff of resourceDiffs) {
194
222
  this.setApplyOrder(diff, resourceDiffs);
195
223
  }
196
224
  if (options.yieldResourceDiffs) {
197
225
  yield [resourceDiffs];
198
226
  }
227
+ // Apply resource diffs.
199
228
  const resourceTransaction = await this.applyResources(resourceDiffs, {
200
229
  enableResourceCapture: options.enableResourceCapture,
201
230
  });
@@ -229,6 +258,7 @@ export class TransactionService {
229
258
  yieldResourceDiffs: false,
230
259
  yieldResourceTransaction: false,
231
260
  }) {
261
+ // Set revert on model diffs.
232
262
  for (let i = modelTransaction.length - 1; i >= 0; i--) {
233
263
  const diffsProcessedInSameLevel = modelTransaction[i];
234
264
  for (const diff of diffsProcessedInSameLevel) {
@@ -240,14 +270,17 @@ export class TransactionService {
240
270
  }
241
271
  }
242
272
  }
273
+ // Generate diff on resources.
243
274
  const diffs = await this.resourceDataRepository.diff();
244
275
  const resourceDiffs = diffs.map((d) => new DiffMetadata(d, this.resourceActions.filter((a) => a.filter(d))));
276
+ // Set apply order on resource diffs.
245
277
  for (const diff of resourceDiffs) {
246
278
  this.setApplyOrder(diff, resourceDiffs);
247
279
  }
248
280
  if (options.yieldResourceDiffs) {
249
281
  yield [resourceDiffs];
250
282
  }
283
+ // Apply resource diffs.
251
284
  const resourceTransaction = await this.applyResources(resourceDiffs);
252
285
  if (options.yieldResourceTransaction) {
253
286
  yield resourceTransaction;
@@ -274,7 +307,6 @@ __decorate([
274
307
  __metadata("design:returntype", void 0)
275
308
  ], TransactionService.prototype, "registerResourceActions", null);
276
309
  let TransactionServiceFactory = class TransactionServiceFactory {
277
- static instance;
278
310
  static async create(forceNew = false) {
279
311
  const [captureService, inputService, overlayDataRepository, resourceDataRepository] = await Promise.all([
280
312
  Container.get(CaptureService),
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.service.js","sourceRoot":"","sources":["../../../src/services/transaction/transaction.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.service.js","sourceRoot":"","sources":["../../../src/services/transaction/transaction.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { Constructable, ValidationType } from '../../app.type.js';
2
+ export declare class ValidationService {
3
+ private static instance;
4
+ private readonly subjects;
5
+ addSubject<T>(type: ValidationType, constraint: any, target: Constructable<T>, propertyKey: string, value: any, destruct?: (value: any) => any[]): void;
6
+ static getInstance(): ValidationService;
7
+ removeSubject<T>(target: Constructable<T>, propertyKey: string): void;
8
+ validate(): {
9
+ pass: boolean;
10
+ errors: {
11
+ constraint: any;
12
+ type: ValidationType;
13
+ value: any;
14
+ }[];
15
+ };
16
+ }
17
+ export declare class ValidationServiceFactory {
18
+ static create(): Promise<ValidationService>;
19
+ }
@@ -0,0 +1,66 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { ValidationType } from '../../app.type.js';
8
+ import { Factory } from '../../decorators/factory.decorator.js';
9
+ import { ValidationUtility } from '../../utilities/validation/validation.utility.js';
10
+ export class ValidationService {
11
+ constructor() {
12
+ this.subjects = [];
13
+ }
14
+ addSubject(type, constraint, target, propertyKey, value, destruct) {
15
+ this.subjects.push({ constraint, destruct, propertyKey, target, type, value });
16
+ }
17
+ static getInstance() {
18
+ if (!this.instance) {
19
+ this.instance = new ValidationService();
20
+ }
21
+ return this.instance;
22
+ }
23
+ removeSubject(target, propertyKey) {
24
+ for (let i = this.subjects.length - 1; i >= 0; i--) {
25
+ if ((this.subjects[i].target === target || this.subjects[i].target === target.prototype) &&
26
+ this.subjects[i].propertyKey === propertyKey) {
27
+ this.subjects.splice(i, 1);
28
+ }
29
+ }
30
+ }
31
+ validate() {
32
+ const result = { errors: [], pass: true };
33
+ for (const subject of this.subjects) {
34
+ const values = subject.destruct ? subject.destruct(subject.value) : [subject.value];
35
+ for (const value of values) {
36
+ let pass = true;
37
+ switch (subject.type) {
38
+ case ValidationType.REGEX:
39
+ pass = ValidationUtility.validateRegex(value, subject.constraint);
40
+ break;
41
+ case ValidationType.MIN_LENGTH:
42
+ pass = ValidationUtility.validateMinLength(value, subject.constraint);
43
+ break;
44
+ case ValidationType.MAX_LENGTH:
45
+ pass = ValidationUtility.validateMaxLength(value, subject.constraint);
46
+ break;
47
+ }
48
+ if (!pass) {
49
+ result.errors.push({ constraint: subject.constraint, type: subject.type, value });
50
+ }
51
+ }
52
+ }
53
+ result.pass = result.errors.length === 0;
54
+ return result;
55
+ }
56
+ }
57
+ let ValidationServiceFactory = class ValidationServiceFactory {
58
+ static async create() {
59
+ return ValidationService.getInstance();
60
+ }
61
+ };
62
+ ValidationServiceFactory = __decorate([
63
+ Factory(ValidationService)
64
+ ], ValidationServiceFactory);
65
+ export { ValidationServiceFactory };
66
+ //# sourceMappingURL=validation.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.service.js","sourceRoot":"","sources":["../../../src/services/validation/validation.service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export class ObjectUtility {
2
+ // Source: https://stackoverflow.com/a/58496119/1834562
2
3
  static deepFreeze(object) {
3
4
  Object.freeze(object);
4
5
  Object.values(object)
@@ -1 +1 @@
1
- {"version":3,"file":"object.utility.js","sourceRoot":"","sources":["../../../src/utilities/object/object.utility.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAa;IAExB,MAAM,CAAC,UAAU,CAAmB,MAAS;QAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAClC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"object.utility.js","sourceRoot":"","sources":["../../../src/utilities/object/object.utility.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAa;IACxB,uDAAuD;IACvD,MAAM,CAAC,UAAU,CAAmB,MAAS;QAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAClC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ export declare class ValidationUtility {
2
+ static validateMaxLength(subject: string, maxLength: number): boolean;
3
+ static validateMinLength(subject: string, minLength: number): boolean;
4
+ static validateRegex(subject: string, pattern: RegExp): boolean;
5
+ }
@@ -0,0 +1,12 @@
1
+ export class ValidationUtility {
2
+ static validateMaxLength(subject, maxLength) {
3
+ return subject.length <= maxLength;
4
+ }
5
+ static validateMinLength(subject, minLength) {
6
+ return subject.length >= minLength;
7
+ }
8
+ static validateRegex(subject, pattern) {
9
+ return pattern.test(subject);
10
+ }
11
+ }
12
+ //# sourceMappingURL=validation.utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.utility.js","sourceRoot":"","sources":["../../../src/utilities/validation/validation.utility.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iBAAiB;IAC5B,MAAM,CAAC,iBAAiB,CAAC,OAAe,EAAE,SAAiB;QACzD,OAAO,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,OAAe,EAAE,SAAiB;QACzD,OAAO,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,OAAe,EAAE,OAAe;QACnD,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;CACF"}
package/package.json CHANGED
@@ -77,5 +77,5 @@
77
77
  },
78
78
  "type": "module",
79
79
  "types": "./dist/index.d.ts",
80
- "version": "0.0.20"
80
+ "version": "0.0.21"
81
81
  }