@quadnix/octo 0.0.21 → 0.0.23

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 (352) hide show
  1. package/dist/app.type.d.ts +124 -27
  2. package/dist/app.type.js +77 -7
  3. package/dist/app.type.js.map +1 -1
  4. package/dist/decorators/action.decorator.d.ts +7 -8
  5. package/dist/decorators/action.decorator.js +45 -44
  6. package/dist/decorators/action.decorator.js.map +1 -1
  7. package/dist/decorators/anchor.decorator.d.ts +2 -2
  8. package/dist/decorators/anchor.decorator.js +16 -11
  9. package/dist/decorators/anchor.decorator.js.map +1 -1
  10. package/dist/decorators/enable-hook.decorator.js +2 -2
  11. package/dist/decorators/enable-hook.decorator.js.map +1 -1
  12. package/dist/decorators/event-source.decorator.d.ts +1 -1
  13. package/dist/decorators/event-source.decorator.js +7 -2
  14. package/dist/decorators/event-source.decorator.js.map +1 -1
  15. package/dist/decorators/factory.decorator.d.ts +32 -1
  16. package/dist/decorators/factory.decorator.js +35 -3
  17. package/dist/decorators/factory.decorator.js.map +1 -1
  18. package/dist/decorators/model.decorator.d.ts +3 -2
  19. package/dist/decorators/model.decorator.js +24 -11
  20. package/dist/decorators/model.decorator.js.map +1 -1
  21. package/dist/decorators/module.decorator.d.ts +4 -71
  22. package/dist/decorators/module.decorator.js +18 -58
  23. package/dist/decorators/module.decorator.js.map +1 -1
  24. package/dist/decorators/on-event.decorator.d.ts +1 -1
  25. package/dist/decorators/on-event.decorator.js +7 -2
  26. package/dist/decorators/on-event.decorator.js.map +1 -1
  27. package/dist/decorators/overlay.decorator.d.ts +3 -2
  28. package/dist/decorators/overlay.decorator.js +23 -11
  29. package/dist/decorators/overlay.decorator.js.map +1 -1
  30. package/dist/decorators/resource.decorator.d.ts +3 -2
  31. package/dist/decorators/resource.decorator.js +23 -11
  32. package/dist/decorators/resource.decorator.js.map +1 -1
  33. package/dist/decorators/validate.decorator.d.ts +4 -4
  34. package/dist/decorators/validate.decorator.js +16 -2
  35. package/dist/decorators/validate.decorator.js.map +1 -1
  36. package/dist/errors/container.error.d.ts +11 -0
  37. package/dist/errors/container.error.js +20 -0
  38. package/dist/errors/container.error.js.map +1 -0
  39. package/dist/errors/index.d.ts +6 -0
  40. package/dist/errors/index.js +7 -0
  41. package/dist/errors/index.js.map +1 -0
  42. package/dist/errors/input.error.d.ts +11 -0
  43. package/dist/errors/input.error.js +21 -0
  44. package/dist/errors/input.error.js.map +1 -0
  45. package/dist/errors/module.error.d.ts +4 -0
  46. package/dist/errors/module.error.js +8 -0
  47. package/dist/errors/module.error.js.map +1 -0
  48. package/dist/errors/node.error.d.ts +36 -0
  49. package/dist/errors/node.error.js +60 -0
  50. package/dist/errors/node.error.js.map +1 -0
  51. package/dist/errors/schema.error.d.ts +4 -0
  52. package/dist/errors/schema.error.js +8 -0
  53. package/dist/errors/schema.error.js.map +1 -0
  54. package/dist/errors/transaction.error.d.ts +35 -0
  55. package/dist/errors/transaction.error.js +58 -0
  56. package/dist/errors/transaction.error.js.map +1 -0
  57. package/dist/events/action.event.d.ts +13 -0
  58. package/dist/events/action.event.js +11 -0
  59. package/dist/events/action.event.js.map +1 -0
  60. package/dist/events/event.model.d.ts +6 -12
  61. package/dist/events/event.model.js +5 -11
  62. package/dist/events/event.model.js.map +1 -1
  63. package/dist/events/hook/commit.hook.event.d.ts +25 -0
  64. package/dist/events/hook/commit.hook.event.js +26 -0
  65. package/dist/events/hook/commit.hook.event.js.map +1 -0
  66. package/dist/events/hook/hook.event.d.ts +9 -0
  67. package/dist/events/hook/hook.event.js +10 -0
  68. package/dist/events/hook/hook.event.js.map +1 -0
  69. package/dist/events/hook/index.d.ts +4 -0
  70. package/dist/events/hook/index.js +5 -0
  71. package/dist/events/hook/index.js.map +1 -0
  72. package/dist/events/hook/model.hook.event.d.ts +25 -0
  73. package/dist/events/hook/model.hook.event.js +26 -0
  74. package/dist/events/hook/model.hook.event.js.map +1 -0
  75. package/dist/events/hook/resource.hook.event.d.ts +25 -0
  76. package/dist/events/hook/resource.hook.event.js +26 -0
  77. package/dist/events/hook/resource.hook.event.js.map +1 -0
  78. package/dist/events/index.d.ts +7 -0
  79. package/dist/events/index.js +8 -0
  80. package/dist/events/index.js.map +1 -0
  81. package/dist/events/module.event.d.ts +1 -6
  82. package/dist/events/module.event.js +0 -5
  83. package/dist/events/module.event.js.map +1 -1
  84. package/dist/events/registration.event.d.ts +9 -51
  85. package/dist/events/registration.event.js +16 -64
  86. package/dist/events/registration.event.js.map +1 -1
  87. package/dist/events/serialization.event.d.ts +24 -37
  88. package/dist/events/serialization.event.js +49 -33
  89. package/dist/events/serialization.event.js.map +1 -1
  90. package/dist/events/transaction.event.d.ts +45 -26
  91. package/dist/events/transaction.event.js +43 -25
  92. package/dist/events/transaction.event.js.map +1 -1
  93. package/dist/{decorators → functions/container}/container.d.ts +45 -31
  94. package/dist/{decorators → functions/container}/container.js +90 -58
  95. package/dist/functions/container/container.js.map +1 -0
  96. package/dist/{decorators → functions/container}/test-container.d.ts +5 -13
  97. package/dist/{decorators → functions/container}/test-container.js +31 -43
  98. package/dist/functions/container/test-container.js.map +1 -0
  99. package/dist/functions/dependency/dependency.d.ts +6 -6
  100. package/dist/functions/dependency/dependency.js +4 -3
  101. package/dist/functions/dependency/dependency.js.map +1 -1
  102. package/dist/functions/diff/diff-metadata.d.ts +4 -6
  103. package/dist/functions/diff/diff-metadata.js +4 -3
  104. package/dist/functions/diff/diff-metadata.js.map +1 -1
  105. package/dist/functions/diff/diff.d.ts +12 -7
  106. package/dist/functions/diff/diff.js +9 -12
  107. package/dist/functions/diff/diff.js.map +1 -1
  108. package/dist/functions/diff/diff.utility.d.ts +24 -24
  109. package/dist/functions/diff/diff.utility.js +46 -25
  110. package/dist/functions/diff/diff.utility.js.map +1 -1
  111. package/dist/functions/hook/commit.hook.d.ts +14 -3
  112. package/dist/functions/hook/commit.hook.js +16 -16
  113. package/dist/functions/hook/commit.hook.js.map +1 -1
  114. package/dist/functions/hook/hook.interface.d.ts +7 -6
  115. package/dist/functions/hook/model-action.hook.d.ts +17 -5
  116. package/dist/functions/hook/model-action.hook.js +20 -39
  117. package/dist/functions/hook/model-action.hook.js.map +1 -1
  118. package/dist/functions/hook/resource-action.hook.d.ts +17 -5
  119. package/dist/functions/hook/resource-action.hook.js +18 -18
  120. package/dist/functions/hook/resource-action.hook.js.map +1 -1
  121. package/dist/functions/node/node-action.abstract.d.ts +7 -0
  122. package/dist/functions/node/node-action.abstract.js +20 -0
  123. package/dist/functions/node/node-action.abstract.js.map +1 -0
  124. package/dist/functions/node/node.abstract.d.ts +93 -0
  125. package/dist/functions/node/node.abstract.js +342 -0
  126. package/dist/functions/node/node.abstract.js.map +1 -0
  127. package/dist/functions/node/node.interface.d.ts +176 -0
  128. package/dist/functions/node/node.interface.js +2 -0
  129. package/dist/functions/node/node.interface.js.map +1 -0
  130. package/dist/functions/schema/schema.d.ts +4 -0
  131. package/dist/functions/schema/schema.js +38 -0
  132. package/dist/functions/schema/schema.js.map +1 -0
  133. package/dist/index.d.ts +31 -33
  134. package/dist/index.js +32 -16
  135. package/dist/index.js.map +1 -1
  136. package/dist/main.d.ts +34 -22
  137. package/dist/main.js +92 -53
  138. package/dist/main.js.map +1 -1
  139. package/dist/models/account/account.model.d.ts +23 -0
  140. package/dist/models/account/account.model.js +67 -0
  141. package/dist/models/account/account.model.js.map +1 -0
  142. package/dist/models/account/account.schema.d.ts +7 -0
  143. package/dist/models/account/account.schema.js +12 -0
  144. package/dist/models/account/account.schema.js.map +1 -0
  145. package/dist/models/app/app.model.d.ts +6 -15
  146. package/dist/models/app/app.model.js +26 -31
  147. package/dist/models/app/app.model.js.map +1 -1
  148. package/dist/models/app/app.schema.d.ts +3 -0
  149. package/dist/models/app/app.schema.js +21 -0
  150. package/dist/models/app/app.schema.js.map +1 -0
  151. package/dist/models/deployment/deployment.model.d.ts +6 -13
  152. package/dist/models/deployment/deployment.model.js +11 -16
  153. package/dist/models/deployment/deployment.model.js.map +1 -1
  154. package/dist/models/deployment/deployment.schema.d.ts +7 -0
  155. package/dist/models/deployment/deployment.schema.js +25 -0
  156. package/dist/models/deployment/deployment.schema.js.map +1 -0
  157. package/dist/models/environment/environment.model.d.ts +5 -15
  158. package/dist/models/environment/environment.model.js +10 -28
  159. package/dist/models/environment/environment.model.js.map +1 -1
  160. package/dist/models/environment/environment.schema.d.ts +13 -0
  161. package/dist/models/environment/environment.schema.js +38 -0
  162. package/dist/models/environment/environment.schema.js.map +1 -0
  163. package/dist/models/execution/execution.model.d.ts +6 -14
  164. package/dist/models/execution/execution.model.js +15 -28
  165. package/dist/models/execution/execution.model.js.map +1 -1
  166. package/dist/models/execution/execution.schema.d.ts +14 -0
  167. package/dist/models/execution/execution.schema.js +34 -0
  168. package/dist/models/execution/execution.schema.js.map +1 -0
  169. package/dist/models/filesystem/filesystem.model.d.ts +10 -0
  170. package/dist/models/filesystem/filesystem.model.js +43 -0
  171. package/dist/models/filesystem/filesystem.model.js.map +1 -0
  172. package/dist/models/filesystem/filesystem.schema.d.ts +3 -0
  173. package/dist/models/filesystem/filesystem.schema.js +21 -0
  174. package/dist/models/filesystem/filesystem.schema.js.map +1 -0
  175. package/dist/models/image/image.model.d.ts +7 -41
  176. package/dist/models/image/image.model.js +17 -32
  177. package/dist/models/image/image.model.js.map +1 -1
  178. package/dist/models/image/image.schema.d.ts +9 -0
  179. package/dist/models/image/image.schema.js +31 -0
  180. package/dist/models/image/image.schema.js.map +1 -0
  181. package/dist/models/model-action.interface.d.ts +5 -19
  182. package/dist/models/model.abstract.d.ts +28 -316
  183. package/dist/models/model.abstract.js +180 -557
  184. package/dist/models/model.abstract.js.map +1 -1
  185. package/dist/models/model.interface.d.ts +42 -21
  186. package/dist/models/pipeline/pipeline.model.d.ts +5 -8
  187. package/dist/models/pipeline/pipeline.model.js +10 -16
  188. package/dist/models/pipeline/pipeline.model.js.map +1 -1
  189. package/dist/models/pipeline/pipeline.schema.d.ts +4 -0
  190. package/dist/models/pipeline/pipeline.schema.js +22 -0
  191. package/dist/models/pipeline/pipeline.schema.js.map +1 -0
  192. package/dist/models/region/region.model.d.ts +8 -9
  193. package/dist/models/region/region.model.js +25 -17
  194. package/dist/models/region/region.model.js.map +1 -1
  195. package/dist/models/region/region.schema.d.ts +3 -0
  196. package/dist/models/region/region.schema.js +21 -0
  197. package/dist/models/region/region.schema.js.map +1 -0
  198. package/dist/models/server/server.model.d.ts +5 -11
  199. package/dist/models/server/server.model.js +13 -16
  200. package/dist/models/server/server.model.js.map +1 -1
  201. package/dist/models/server/server.schema.d.ts +6 -0
  202. package/dist/models/server/server.schema.js +24 -0
  203. package/dist/models/server/server.schema.js.map +1 -0
  204. package/dist/models/service/service.model.d.ts +4 -10
  205. package/dist/models/service/service.model.js +12 -16
  206. package/dist/models/service/service.model.js.map +1 -1
  207. package/dist/models/service/service.schema.d.ts +6 -0
  208. package/dist/models/service/service.schema.js +24 -0
  209. package/dist/models/service/service.schema.js.map +1 -0
  210. package/dist/models/subnet/subnet.model.d.ts +10 -35
  211. package/dist/models/subnet/subnet.model.js +16 -47
  212. package/dist/models/subnet/subnet.model.js.map +1 -1
  213. package/dist/models/subnet/subnet.schema.d.ts +33 -0
  214. package/dist/models/subnet/subnet.schema.js +48 -0
  215. package/dist/models/subnet/subnet.schema.js.map +1 -0
  216. package/dist/modules/module.abstract.d.ts +21 -0
  217. package/dist/modules/module.abstract.js +14 -0
  218. package/dist/modules/module.abstract.js.map +1 -0
  219. package/dist/modules/module.container.d.ts +32 -18
  220. package/dist/modules/module.container.js +134 -81
  221. package/dist/modules/module.container.js.map +1 -1
  222. package/dist/modules/module.interface.d.ts +15 -2
  223. package/dist/modules/test-module.container.d.ts +33 -15
  224. package/dist/modules/test-module.container.js +264 -35
  225. package/dist/modules/test-module.container.js.map +1 -1
  226. package/dist/overlays/anchor.abstract.d.ts +13 -8
  227. package/dist/overlays/anchor.abstract.js.map +1 -1
  228. package/dist/overlays/anchor.interface.d.ts +5 -8
  229. package/dist/overlays/anchor.schema.d.ts +8 -0
  230. package/dist/overlays/anchor.schema.js +9 -0
  231. package/dist/overlays/anchor.schema.js.map +1 -0
  232. package/dist/overlays/overlay-data.repository.d.ts +3 -6
  233. package/dist/overlays/overlay-data.repository.js +17 -38
  234. package/dist/overlays/overlay-data.repository.js.map +1 -1
  235. package/dist/overlays/overlay.abstract.d.ts +15 -17
  236. package/dist/overlays/overlay.abstract.js +30 -44
  237. package/dist/overlays/overlay.abstract.js.map +1 -1
  238. package/dist/overlays/overlay.interface.d.ts +3 -7
  239. package/dist/overlays/overlay.schema.d.ts +8 -0
  240. package/dist/overlays/overlay.schema.js +9 -0
  241. package/dist/overlays/overlay.schema.js.map +1 -0
  242. package/dist/resources/resource-action.interface.d.ts +4 -3
  243. package/dist/resources/resource-data.repository.d.ts +16 -7
  244. package/dist/resources/resource-data.repository.js +118 -42
  245. package/dist/resources/resource-data.repository.js.map +1 -1
  246. package/dist/resources/resource.abstract.d.ts +56 -16
  247. package/dist/resources/resource.abstract.js +326 -19
  248. package/dist/resources/resource.abstract.js.map +1 -1
  249. package/dist/resources/resource.interface.d.ts +39 -8
  250. package/dist/resources/resource.schema.d.ts +14 -0
  251. package/dist/resources/resource.schema.js +11 -0
  252. package/dist/resources/resource.schema.js.map +1 -0
  253. package/dist/services/capture/capture.service.d.ts +6 -7
  254. package/dist/services/capture/capture.service.js +8 -5
  255. package/dist/services/capture/capture.service.js.map +1 -1
  256. package/dist/services/event/event.service.d.ts +3 -4
  257. package/dist/services/event/event.service.js +7 -9
  258. package/dist/services/event/event.service.js.map +1 -1
  259. package/dist/services/input/input.service.d.ts +62 -6
  260. package/dist/services/input/input.service.js +290 -14
  261. package/dist/services/input/input.service.js.map +1 -1
  262. package/dist/services/schema-translation/schema-translation.service.d.ts +13 -0
  263. package/dist/services/schema-translation/schema-translation.service.js +42 -0
  264. package/dist/services/schema-translation/schema-translation.service.js.map +1 -0
  265. package/dist/services/serialization/model/model-serialization.service.d.ts +1 -4
  266. package/dist/services/serialization/model/model-serialization.service.js +37 -33
  267. package/dist/services/serialization/model/model-serialization.service.js.map +1 -1
  268. package/dist/services/serialization/resource/resource-serialization.service.d.ts +5 -5
  269. package/dist/services/serialization/resource/resource-serialization.service.js +71 -96
  270. package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -1
  271. package/dist/services/state-management/local.state-provider.d.ts +0 -1
  272. package/dist/services/state-management/local.state-provider.js +5 -7
  273. package/dist/services/state-management/local.state-provider.js.map +1 -1
  274. package/dist/services/state-management/state-management.service.d.ts +2 -3
  275. package/dist/services/state-management/state-management.service.js +19 -9
  276. package/dist/services/state-management/state-management.service.js.map +1 -1
  277. package/dist/services/state-management/state-provider.interface.d.ts +0 -1
  278. package/dist/services/state-management/test.state-provider.d.ts +0 -1
  279. package/dist/services/state-management/test.state-provider.js +2 -1
  280. package/dist/services/state-management/test.state-provider.js.map +1 -1
  281. package/dist/services/transaction/transaction.service.d.ts +18 -14
  282. package/dist/services/transaction/transaction.service.js +261 -132
  283. package/dist/services/transaction/transaction.service.js.map +1 -1
  284. package/dist/services/validation/validation.service.d.ts +2 -3
  285. package/dist/services/validation/validation.service.js +27 -12
  286. package/dist/services/validation/validation.service.js.map +1 -1
  287. package/dist/utilities/node/node.utility.d.ts +4 -0
  288. package/dist/utilities/node/node.utility.js +22 -0
  289. package/dist/utilities/node/node.utility.js.map +1 -0
  290. package/dist/utilities/object/object.utility.d.ts +3 -0
  291. package/dist/utilities/object/object.utility.js +33 -0
  292. package/dist/utilities/object/object.utility.js.map +1 -1
  293. package/dist/utilities/test-helpers/test-classes.d.ts +57 -0
  294. package/dist/utilities/test-helpers/test-classes.js +76 -0
  295. package/dist/utilities/test-helpers/test-classes.js.map +1 -0
  296. package/dist/utilities/test-helpers/test-models.d.ts +41 -0
  297. package/dist/utilities/test-helpers/test-models.js +224 -0
  298. package/dist/utilities/test-helpers/test-models.js.map +1 -0
  299. package/dist/utilities/test-helpers/test-overlays.d.ts +10 -0
  300. package/dist/utilities/test-helpers/test-overlays.js +53 -0
  301. package/dist/utilities/test-helpers/test-overlays.js.map +1 -0
  302. package/dist/utilities/test-helpers/test-resources.d.ts +22 -0
  303. package/dist/utilities/test-helpers/test-resources.js +162 -0
  304. package/dist/utilities/test-helpers/test-resources.js.map +1 -0
  305. package/dist/utilities/validation/validation.utility.d.ts +31 -3
  306. package/dist/utilities/validation/validation.utility.js +121 -2
  307. package/dist/utilities/validation/validation.utility.js.map +1 -1
  308. package/package.json +6 -6
  309. package/dist/decorators/container.js.map +0 -1
  310. package/dist/decorators/test-container.js.map +0 -1
  311. package/dist/events/error.event.d.ts +0 -35
  312. package/dist/events/error.event.js +0 -36
  313. package/dist/events/error.event.js.map +0 -1
  314. package/dist/events/hook.event.d.ts +0 -194
  315. package/dist/events/hook.event.js +0 -195
  316. package/dist/events/hook.event.js.map +0 -1
  317. package/dist/models/app/app.interface.d.ts +0 -9
  318. package/dist/models/app/app.interface.js +0 -2
  319. package/dist/models/app/app.interface.js.map +0 -1
  320. package/dist/models/deployment/deployment.interface.d.ts +0 -9
  321. package/dist/models/deployment/deployment.interface.js +0 -2
  322. package/dist/models/deployment/deployment.interface.js.map +0 -1
  323. package/dist/models/environment/environment.interface.d.ts +0 -12
  324. package/dist/models/environment/environment.interface.js +0 -2
  325. package/dist/models/environment/environment.interface.js.map +0 -1
  326. package/dist/models/execution/execution.interface.d.ts +0 -14
  327. package/dist/models/execution/execution.interface.js +0 -2
  328. package/dist/models/execution/execution.interface.js.map +0 -1
  329. package/dist/models/image/image.interface.d.ts +0 -12
  330. package/dist/models/image/image.interface.js +0 -2
  331. package/dist/models/image/image.interface.js.map +0 -1
  332. package/dist/models/pipeline/pipeline.interface.d.ts +0 -10
  333. package/dist/models/pipeline/pipeline.interface.js +0 -2
  334. package/dist/models/pipeline/pipeline.interface.js.map +0 -1
  335. package/dist/models/region/region.interface.d.ts +0 -9
  336. package/dist/models/region/region.interface.js +0 -2
  337. package/dist/models/region/region.interface.js.map +0 -1
  338. package/dist/models/server/server.interface.d.ts +0 -9
  339. package/dist/models/server/server.interface.js +0 -2
  340. package/dist/models/server/server.interface.js.map +0 -1
  341. package/dist/models/service/service.interface.d.ts +0 -9
  342. package/dist/models/service/service.interface.js +0 -2
  343. package/dist/models/service/service.interface.js.map +0 -1
  344. package/dist/models/subnet/subnet.interface.d.ts +0 -13
  345. package/dist/models/subnet/subnet.interface.js +0 -2
  346. package/dist/models/subnet/subnet.interface.js.map +0 -1
  347. package/dist/overlays/overlay.service.d.ts +0 -18
  348. package/dist/overlays/overlay.service.js +0 -45
  349. package/dist/overlays/overlay.service.js.map +0 -1
  350. package/dist/resources/shared-resource.abstract.d.ts +0 -13
  351. package/dist/resources/shared-resource.abstract.js +0 -47
  352. package/dist/resources/shared-resource.abstract.js.map +0 -1
@@ -1,6 +1,5 @@
1
- import type { Diff } from '../../functions/diff/diff.js';
2
1
  import { AModel } from '../model.abstract.js';
3
- import type { IService } from './service.interface.js';
2
+ import { ServiceSchema } from './service.schema.js';
4
3
  /**
5
4
  * A Service model can be any third-party service that your application relies on.
6
5
  * What separates them from Server is that Services are hosted and managed outside of your infrastructure.
@@ -13,14 +12,9 @@ import type { IService } from './service.interface.js';
13
12
  * @group Models
14
13
  * @see Definition of [Default Models](/docs/fundamentals/models#default-models).
15
14
  */
16
- export declare class Service extends AModel<IService, Service> {
17
- readonly MODEL_NAME: string;
18
- /**
19
- * The ID of the service.
20
- */
15
+ export declare class Service extends AModel<ServiceSchema, Service> {
21
16
  readonly serviceId: string;
22
17
  constructor(serviceId: string);
23
- diffProperties(previous: Service): Promise<Diff[]>;
24
- setContext(): string;
25
- synth(): IService;
18
+ setContext(): string | undefined;
19
+ synth(): ServiceSchema;
26
20
  }
@@ -7,9 +7,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
+ var Service_1;
10
11
  import { Model } from '../../decorators/model.decorator.js';
11
- import { Validate } from '../../decorators/validate.decorator.js';
12
+ import { ModelError } from '../../errors/index.js';
12
13
  import { AModel } from '../model.abstract.js';
14
+ import { ServiceSchema } from './service.schema.js';
13
15
  /**
14
16
  * A Service model can be any third-party service that your application relies on.
15
17
  * What separates them from Server is that Services are hosted and managed outside of your infrastructure.
@@ -22,31 +24,25 @@ import { AModel } from '../model.abstract.js';
22
24
  * @group Models
23
25
  * @see Definition of [Default Models](/docs/fundamentals/models#default-models).
24
26
  */
25
- let Service = class Service extends AModel {
27
+ let Service = Service_1 = class Service extends AModel {
26
28
  constructor(serviceId) {
27
29
  super();
28
- this.MODEL_NAME = 'service';
29
30
  this.serviceId = serviceId;
30
31
  }
31
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
32
- async diffProperties(previous) {
33
- return [];
34
- }
35
32
  setContext() {
36
33
  const parents = this.getParents();
37
- const app = parents['app'][0].to;
38
- return [`${this.MODEL_NAME}=${this.serviceId}`, app.getContext()].join(',');
34
+ const app = parents['app']?.[0]?.to;
35
+ if (!app) {
36
+ return undefined;
37
+ }
38
+ return [`${this.constructor.NODE_NAME}=${this.serviceId}`, app.getContext()].join(',');
39
39
  }
40
40
  synth() {
41
- throw new Error('Method not implemented! Use subclass');
41
+ throw new ModelError('Method not implemented! Use subclass', this);
42
42
  }
43
43
  };
44
- __decorate([
45
- Validate({ options: { maxLength: 64, minLength: 2, regex: /^[a-zA-Z][\w-]*[a-zA-Z0-9]$/ } }),
46
- __metadata("design:type", String)
47
- ], Service.prototype, "serviceId", void 0);
48
- Service = __decorate([
49
- Model(),
44
+ Service = Service_1 = __decorate([
45
+ Model('@octo', 'service', ServiceSchema),
50
46
  __metadata("design:paramtypes", [String])
51
47
  ], Service);
52
48
  export { Service };
@@ -1 +1 @@
1
- {"version":3,"file":"service.model.js","sourceRoot":"","sources":["../../../src/models/service/service.model.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C;;;;;;;;;;;GAWG;AAEI,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,MAAyB;IASpD,YAAY,SAAiB;QAC3B,KAAK,EAAE,CAAC;QATD,eAAU,GAAW,SAAS,CAAC;QAUtC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,6DAA6D;IACpD,KAAK,CAAC,cAAc,CAAC,QAAiB;QAC7C,OAAO,EAAE,CAAC;IACZ,CAAC;IAEQ,UAAU;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9E,CAAC;IAEQ,KAAK;QACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;CACF,CAAA;AArBU;IADR,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,CAAC;;0CAClE;AAPhB,OAAO;IADnB,KAAK,EAAE;;GACK,OAAO,CA4BnB"}
1
+ {"version":3,"file":"service.model.js","sourceRoot":"","sources":["../../../src/models/service/service.model.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;;;;GAWG;AAEI,IAAM,OAAO,eAAb,MAAM,OAAQ,SAAQ,MAA8B;IAGzD,YAAY,SAAiB;QAC3B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAEQ,UAAU;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,GAAI,IAAI,CAAC,WAA8B,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7G,CAAC;IAEQ,KAAK;QACZ,MAAM,IAAI,UAAU,CAAC,sCAAsC,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;CACF,CAAA;AApBY,OAAO;IADnB,KAAK,CAAU,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC;;GACrC,OAAO,CAoBnB"}
@@ -0,0 +1,6 @@
1
+ export declare class ServiceSchema {
2
+ /**
3
+ * The ID of the service.
4
+ */
5
+ serviceId: string;
6
+ }
@@ -0,0 +1,24 @@
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
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Validate } from '../../decorators/validate.decorator.js';
11
+ import { Schema } from '../../functions/schema/schema.js';
12
+ export class ServiceSchema {
13
+ constructor() {
14
+ /**
15
+ * The ID of the service.
16
+ */
17
+ this.serviceId = Schema();
18
+ }
19
+ }
20
+ __decorate([
21
+ Validate({ options: { maxLength: 128, minLength: 2, regex: /^[a-zA-Z0-9][\w.-]*[a-zA-Z0-9]$/ } }),
22
+ __metadata("design:type", Object)
23
+ ], ServiceSchema.prototype, "serviceId", void 0);
24
+ //# sourceMappingURL=service.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.schema.js","sourceRoot":"","sources":["../../../src/models/service/service.schema.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D,MAAM,OAAO,aAAa;IAA1B;QACE;;WAEG;QAEH,cAAS,GAAG,MAAM,EAAU,CAAC;IAC/B,CAAC;CAAA;AADC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,EAAE,CAAC;;gDACrE"}
@@ -1,24 +1,7 @@
1
1
  import type { UnknownModel } from '../../app.type.js';
2
- import { Diff } from '../../functions/diff/diff.js';
3
2
  import { AModel } from '../model.abstract.js';
4
- import { Region } from '../region/region.model.js';
5
- import type { ISubnet } from './subnet.interface.js';
6
- /**
7
- * The type of subnet.
8
- */
9
- export declare enum SubnetType {
10
- /**
11
- * A public subnet is open to the internet,
12
- * i.e. an {@link Execution} within this subnet can be accessed from the internet.
13
- * Other than access from the internet, any other access needs to be explicitly allowed.
14
- */
15
- PUBLIC = "public",
16
- /**
17
- * A private subnet has limited access to anything outside of this subnet, including access from the internet.
18
- * Access to this subnet needs to be explicitly allowed.
19
- */
20
- PRIVATE = "private"
21
- }
3
+ import type { Region } from '../region/region.model.js';
4
+ import { SubnetSchema, SubnetType } from './subnet.schema.js';
22
5
  /**
23
6
  * A Subnet model is the logical sub-division of the region, e.g. a public and a private subnet.
24
7
  * A subnet is often used to isolate parts of your infrastructure with access gates in the front.
@@ -26,22 +9,15 @@ export declare enum SubnetType {
26
9
  *
27
10
  * @example
28
11
  * ```ts
29
- * const subnet = new Subnet(region, SubnetType.PRIVATE);
12
+ * const subnet = new Subnet(region, 'my-subnet');
13
+ * subnet.subnetType = SubnetType.PUBLIC;
30
14
  * ```
31
15
  * @group Models
32
16
  * @see Definition of [Default Models](/docs/fundamentals/models#default-models).
33
17
  */
34
- export declare class Subnet extends AModel<ISubnet, Subnet> {
35
- readonly MODEL_NAME: string;
18
+ export declare class Subnet extends AModel<SubnetSchema, Subnet> {
36
19
  private options;
37
- /**
38
- * The ID of the subnet.
39
- * - Format is `{regionId}-{subnetName}`
40
- */
41
20
  readonly subnetId: string;
42
- /**
43
- * The name of the subnet.
44
- */
45
21
  readonly subnetName: string;
46
22
  constructor(region: Region, name: string);
47
23
  /**
@@ -56,14 +32,13 @@ export declare class Subnet extends AModel<ISubnet, Subnet> {
56
32
  set disableSubnetIntraNetwork(disableSubnetIntraNetwork: boolean);
57
33
  get subnetType(): SubnetType;
58
34
  set subnetType(subnetType: SubnetType);
59
- diffProperties(previous: Subnet): Promise<Diff[]>;
60
- setContext(): string;
61
- synth(): ISubnet;
62
- static unSynth(subnet: ISubnet, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Subnet>;
35
+ setContext(): string | undefined;
36
+ synth(): SubnetSchema;
37
+ static unSynth(subnet: SubnetSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Subnet>;
63
38
  /**
64
39
  * To update the networking rules of this subnet to allow or deny connectivity from another subnet.
65
- * The networking rules are bi-directional,
66
- * i.e. if subnet A can connect to subnet B, then subnet B can also connect to subnet A.
40
+ * The networking rules are uni-directional,
41
+ * i.e. if subnet A can connect to subnet B, then subnet B doesn't automatically connect to subnet A.
67
42
  *
68
43
  * @param subnet The other subnet.
69
44
  * @param allowConnections Set to `true` to allow this and the other subnet to connect.
@@ -9,27 +9,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  var Subnet_1;
11
11
  import { Model } from '../../decorators/model.decorator.js';
12
- import { Validate } from '../../decorators/validate.decorator.js';
13
- import { Diff, DiffAction } from '../../functions/diff/diff.js';
12
+ import { DiffAction } from '../../functions/diff/diff.js';
14
13
  import { AModel } from '../model.abstract.js';
15
- import { Region } from '../region/region.model.js';
16
- /**
17
- * The type of subnet.
18
- */
19
- export var SubnetType;
20
- (function (SubnetType) {
21
- /**
22
- * A public subnet is open to the internet,
23
- * i.e. an {@link Execution} within this subnet can be accessed from the internet.
24
- * Other than access from the internet, any other access needs to be explicitly allowed.
25
- */
26
- SubnetType["PUBLIC"] = "public";
27
- /**
28
- * A private subnet has limited access to anything outside of this subnet, including access from the internet.
29
- * Access to this subnet needs to be explicitly allowed.
30
- */
31
- SubnetType["PRIVATE"] = "private";
32
- })(SubnetType || (SubnetType = {}));
14
+ import { SubnetSchema, SubnetType } from './subnet.schema.js';
33
15
  /**
34
16
  * A Subnet model is the logical sub-division of the region, e.g. a public and a private subnet.
35
17
  * A subnet is often used to isolate parts of your infrastructure with access gates in the front.
@@ -37,7 +19,8 @@ export var SubnetType;
37
19
  *
38
20
  * @example
39
21
  * ```ts
40
- * const subnet = new Subnet(region, SubnetType.PRIVATE);
22
+ * const subnet = new Subnet(region, 'my-subnet');
23
+ * subnet.subnetType = SubnetType.PUBLIC;
41
24
  * ```
42
25
  * @group Models
43
26
  * @see Definition of [Default Models](/docs/fundamentals/models#default-models).
@@ -45,7 +28,6 @@ export var SubnetType;
45
28
  let Subnet = Subnet_1 = class Subnet extends AModel {
46
29
  constructor(region, name) {
47
30
  super();
48
- this.MODEL_NAME = 'subnet';
49
31
  this.options = {
50
32
  disableSubnetIntraNetwork: false,
51
33
  subnetType: SubnetType.PRIVATE,
@@ -73,21 +55,13 @@ let Subnet = Subnet_1 = class Subnet extends AModel {
73
55
  set subnetType(subnetType) {
74
56
  this.options.subnetType = subnetType || SubnetType.PRIVATE;
75
57
  }
76
- async diffProperties(previous) {
77
- const diffs = [];
78
- // Generate diff of options.
79
- if (previous.disableSubnetIntraNetwork !== this.disableSubnetIntraNetwork) {
80
- diffs.push(new Diff(this, DiffAction.UPDATE, 'disableSubnetIntraNetwork', this.disableSubnetIntraNetwork));
81
- }
82
- if (previous.subnetType !== this.subnetType) {
83
- throw new Error('Change of subnet type is not supported!');
84
- }
85
- return diffs;
86
- }
87
58
  setContext() {
88
59
  const parents = this.getParents();
89
- const region = parents['region'][0].to;
90
- return [`${this.MODEL_NAME}=${this.subnetId}`, region.getContext()].join(',');
60
+ const region = parents['region']?.[0]?.to;
61
+ if (!region) {
62
+ return undefined;
63
+ }
64
+ return [`${this.constructor.NODE_NAME}=${this.subnetId}`, region.getContext()].join(',');
91
65
  }
92
66
  synth() {
93
67
  const parents = this.getParents();
@@ -108,8 +82,8 @@ let Subnet = Subnet_1 = class Subnet extends AModel {
108
82
  }
109
83
  /**
110
84
  * To update the networking rules of this subnet to allow or deny connectivity from another subnet.
111
- * The networking rules are bi-directional,
112
- * i.e. if subnet A can connect to subnet B, then subnet B can also connect to subnet A.
85
+ * The networking rules are uni-directional,
86
+ * i.e. if subnet A can connect to subnet B, then subnet B doesn't automatically connect to subnet A.
113
87
  *
114
88
  * @param subnet The other subnet.
115
89
  * @param allowConnections Set to `true` to allow this and the other subnet to connect.
@@ -121,23 +95,18 @@ let Subnet = Subnet_1 = class Subnet extends AModel {
121
95
  siblingDependencies['subnet'] = [];
122
96
  const subnets = siblingDependencies['subnet'].map((d) => d.to);
123
97
  if (allowConnections && !subnets.find((s) => s.subnetId === subnet.subnetId)) {
124
- const { thisToThatDependency, thatToThisDependency } = this.addRelationship(subnet);
125
- thisToThatDependency.addBehavior('subnetId', DiffAction.ADD, 'subnetId', DiffAction.ADD);
126
- thisToThatDependency.addBehavior('subnetId', DiffAction.ADD, 'subnetId', DiffAction.UPDATE);
127
- thatToThisDependency.addBehavior('subnetId', DiffAction.DELETE, 'subnetId', DiffAction.DELETE);
98
+ const { thisToThatDependency } = this.addRelationship(subnet);
99
+ thisToThatDependency.addBehavior('sibling', DiffAction.ADD, 'subnetId', DiffAction.ADD);
100
+ thisToThatDependency.addBehavior('sibling', DiffAction.ADD, 'subnetId', DiffAction.UPDATE);
128
101
  }
129
102
  else if (!allowConnections && subnets.find((s) => s.subnetId === subnet.subnetId)) {
130
103
  this.removeRelationship(subnet);
131
104
  }
132
105
  }
133
106
  };
134
- __decorate([
135
- Validate({ options: { maxLength: 32, minLength: 2, regex: /^[a-zA-Z][\w-]*[a-zA-Z0-9]$/ } }),
136
- __metadata("design:type", String)
137
- ], Subnet.prototype, "subnetName", void 0);
138
107
  Subnet = Subnet_1 = __decorate([
139
- Model(),
140
- __metadata("design:paramtypes", [Region, String])
108
+ Model('@octo', 'subnet', SubnetSchema),
109
+ __metadata("design:paramtypes", [Function, String])
141
110
  ], Subnet);
142
111
  export { Subnet };
143
112
  //# sourceMappingURL=subnet.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subnet.model.js","sourceRoot":"","sources":["../../../src/models/subnet/subnet.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subnet.model.js","sourceRoot":"","sources":["../../../src/models/subnet/subnet.model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { IModelReference } from '../model.interface.js';
2
+ /**
3
+ * The type of subnet.
4
+ */
5
+ export declare enum SubnetType {
6
+ /**
7
+ * A public subnet is open to the internet,
8
+ * i.e. an {@link Execution} within this subnet can be accessed from the internet.
9
+ * Other than access from the internet, any other access needs to be explicitly allowed.
10
+ */
11
+ PUBLIC = "public",
12
+ /**
13
+ * A private subnet has limited access to anything outside of this subnet, including access from the internet.
14
+ * Access to this subnet needs to be explicitly allowed.
15
+ */
16
+ PRIVATE = "private"
17
+ }
18
+ export declare class SubnetSchema {
19
+ options: {
20
+ disableSubnetIntraNetwork: boolean;
21
+ subnetType: SubnetType;
22
+ };
23
+ region: IModelReference;
24
+ /**
25
+ * The ID of the subnet.
26
+ * - Format is `{regionId}-{subnetName}`
27
+ */
28
+ subnetId: string;
29
+ /**
30
+ * The name of the subnet.
31
+ */
32
+ subnetName: string;
33
+ }
@@ -0,0 +1,48 @@
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
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Validate } from '../../decorators/validate.decorator.js';
11
+ import { Schema } from '../../functions/schema/schema.js';
12
+ /**
13
+ * The type of subnet.
14
+ */
15
+ export var SubnetType;
16
+ (function (SubnetType) {
17
+ /**
18
+ * A public subnet is open to the internet,
19
+ * i.e. an {@link Execution} within this subnet can be accessed from the internet.
20
+ * Other than access from the internet, any other access needs to be explicitly allowed.
21
+ */
22
+ SubnetType["PUBLIC"] = "public";
23
+ /**
24
+ * A private subnet has limited access to anything outside of this subnet, including access from the internet.
25
+ * Access to this subnet needs to be explicitly allowed.
26
+ */
27
+ SubnetType["PRIVATE"] = "private";
28
+ })(SubnetType || (SubnetType = {}));
29
+ export class SubnetSchema {
30
+ constructor() {
31
+ this.options = Schema();
32
+ this.region = Schema();
33
+ /**
34
+ * The ID of the subnet.
35
+ * - Format is `{regionId}-{subnetName}`
36
+ */
37
+ this.subnetId = Schema();
38
+ /**
39
+ * The name of the subnet.
40
+ */
41
+ this.subnetName = Schema();
42
+ }
43
+ }
44
+ __decorate([
45
+ Validate({ options: { maxLength: 32, minLength: 2, regex: /^[a-zA-Z][\w-]*[a-zA-Z0-9]$/ } }),
46
+ __metadata("design:type", Object)
47
+ ], SubnetSchema.prototype, "subnetName", void 0);
48
+ //# sourceMappingURL=subnet.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subnet.schema.js","sourceRoot":"","sources":["../../../src/models/subnet/subnet.schema.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAG1D;;GAEG;AACH,MAAM,CAAN,IAAY,UAaX;AAbD,WAAY,UAAU;IACpB;;;;OAIG;IACH,+BAAiB,CAAA;IAEjB;;;OAGG;IACH,iCAAmB,CAAA;AACrB,CAAC,EAbW,UAAU,KAAV,UAAU,QAarB;AAED,MAAM,OAAO,YAAY;IAAzB;QACE,YAAO,GAAG,MAAM,EAAkE,CAAC;QAEnF,WAAM,GAAG,MAAM,EAAmB,CAAC;QAEnC;;;WAGG;QACH,aAAQ,GAAG,MAAM,EAAU,CAAC;QAE5B;;WAEG;QAEH,eAAU,GAAG,MAAM,EAAU,CAAC;IAChC,CAAC;CAAA;AADC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,CAAC;;gDAC/D"}
@@ -0,0 +1,21 @@
1
+ import type { ModuleSchema, UnknownModel } from '../app.type.js';
2
+ import type { CommitHook } from '../functions/hook/commit.hook.js';
3
+ import type { ModelActionHook } from '../functions/hook/model-action.hook.js';
4
+ import type { ResourceActionHook } from '../functions/hook/resource-action.hook.js';
5
+ import type { IModule } from './module.interface.js';
6
+ export declare abstract class AModule<S, T extends UnknownModel> implements IModule<S, T> {
7
+ static readonly MODULE_PACKAGE: string;
8
+ static readonly MODULE_SCHEMA: ModuleSchema<AModule<any, any>>;
9
+ readonly moduleId: string;
10
+ constructor(moduleId: string);
11
+ abstract onInit(inputs: S): Promise<T | UnknownModel[]>;
12
+ registerHooks(): {
13
+ postCommitHooks?: Parameters<CommitHook['collectHooks']>[0]['postHooks'];
14
+ postModelActionHooks?: Parameters<ModelActionHook['collectHooks']>[0]['postHooks'];
15
+ postResourceActionHooks?: Parameters<ResourceActionHook['collectHooks']>[0]['postHooks'];
16
+ preCommitHooks?: Parameters<CommitHook['collectHooks']>[0]['preHooks'];
17
+ preModelActionHooks?: Parameters<ModelActionHook['collectHooks']>[0]['preHooks'];
18
+ preResourceActionHooks?: Parameters<ResourceActionHook['collectHooks']>[0]['preHooks'];
19
+ };
20
+ registerMetadata(inputs: S): Promise<Record<string, unknown>>;
21
+ }
@@ -0,0 +1,14 @@
1
+ import { strict as assert } from 'assert';
2
+ export class AModule {
3
+ constructor(moduleId) {
4
+ this.moduleId = moduleId;
5
+ }
6
+ registerHooks() {
7
+ return {};
8
+ }
9
+ async registerMetadata(inputs) {
10
+ assert(!!inputs);
11
+ return {};
12
+ }
13
+ }
14
+ //# sourceMappingURL=module.abstract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.abstract.js","sourceRoot":"","sources":["../../src/modules/module.abstract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AAO1C,MAAM,OAAgB,OAAO;IAO3B,YAAY,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAID,aAAa;QAQX,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAS;QAC9B,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
@@ -1,27 +1,41 @@
1
- import { Constructable } from '../app.type.js';
2
- import { type Module } from '../decorators/module.decorator.js';
1
+ import type { Constructable, ModuleSchemaInputs, UnknownModule } from '../app.type.js';
3
2
  import { CommitHook } from '../functions/hook/commit.hook.js';
4
3
  import { ModelActionHook } from '../functions/hook/model-action.hook.js';
5
4
  import { ResourceActionHook } from '../functions/hook/resource-action.hook.js';
6
- import { IModule } from './module.interface.js';
5
+ import { OverlayDataRepository } from '../overlays/overlay-data.repository.js';
6
+ import { EventService } from '../services/event/event.service.js';
7
+ import { InputService } from '../services/input/input.service.js';
8
+ type ModuleOptions = {
9
+ packageName: string;
10
+ };
7
11
  export declare class ModuleContainer {
8
- private readonly commitHook;
9
- private readonly modelActionHook;
10
- private readonly resourceActionHook;
11
- private readonly modules;
12
- private readonly outputs;
13
- constructor(commitHook: CommitHook, modelActionHook: ModelActionHook, resourceActionHook: ResourceActionHook);
14
- apply(): Promise<void>;
15
- getModuleMetadata(module: Constructable<IModule<unknown>> | string): ModuleContainer['modules'][0] | undefined;
16
- getModuleMetadataIndex(module: Constructable<IModule<unknown>> | string): number;
17
- getOutput<T>(module: Constructable<IModule<T>> | string): T | undefined;
18
- load(module: Constructable<IModule<unknown>>): void;
19
- register(module: Constructable<IModule<unknown>>, properties: Parameters<typeof Module>[0]): void;
12
+ private readonly eventService;
13
+ private readonly inputService;
14
+ private readonly overlayDataRepository;
15
+ private modules;
16
+ constructor(eventService: EventService, inputService: InputService, overlayDataRepository: OverlayDataRepository);
17
+ apply(): Promise<{
18
+ [key: string]: unknown;
19
+ }>;
20
+ getMetadata(module: Constructable<UnknownModule> | string): ModuleContainer['modules'][0] | undefined;
21
+ getMetadataIndex(module: Constructable<UnknownModule> | string): number;
22
+ getModuleInstanceInputKeys(moduleId: string): string[];
23
+ load<M extends UnknownModule>(module: Constructable<M> | string, moduleId: string, inputs: ModuleSchemaInputs<M>): void;
24
+ order(modules: (Constructable<UnknownModule> | string)[]): void;
25
+ register(module: Constructable<UnknownModule>, properties: ModuleOptions): void;
26
+ registerHooks({ postCommitHooks, postModelActionHooks, postResourceActionHooks, preCommitHooks, preModelActionHooks, preResourceActionHooks, }?: {
27
+ postCommitHooks?: Parameters<CommitHook['collectHooks']>[0]['postHooks'];
28
+ postModelActionHooks?: Parameters<ModelActionHook['collectHooks']>[0]['postHooks'];
29
+ postResourceActionHooks?: Parameters<ResourceActionHook['collectHooks']>[0]['postHooks'];
30
+ preCommitHooks?: Parameters<CommitHook['collectHooks']>[0]['preHooks'];
31
+ preModelActionHooks?: Parameters<ModelActionHook['collectHooks']>[0]['preHooks'];
32
+ preResourceActionHooks?: Parameters<ResourceActionHook['collectHooks']>[0]['preHooks'];
33
+ }): void;
20
34
  reset(): void;
21
- private setApplyOrder;
22
- unload(module: Constructable<IModule<unknown>>): void;
35
+ unload(module: Constructable<UnknownModule>): void;
23
36
  }
24
37
  export declare class ModuleContainerFactory {
25
38
  private static instance;
26
- static create(): Promise<ModuleContainer>;
39
+ static create(forceNew?: boolean): Promise<ModuleContainer>;
27
40
  }
41
+ export {};