@adaas/a-utils 0.2.7 → 0.2.9

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 (801) hide show
  1. package/.conf/tsconfig.base.json +91 -0
  2. package/.conf/tsconfig.browser.json +26 -0
  3. package/.conf/tsconfig.node.json +30 -0
  4. package/dist/browser/A-Logger.component-Be-LMV3I.d.mts +467 -0
  5. package/dist/browser/A-StateMachineTransition.context-BINjcsgq.d.mts +221 -0
  6. package/dist/browser/a-channel.d.mts +456 -0
  7. package/dist/browser/a-channel.mjs +367 -0
  8. package/dist/browser/a-channel.mjs.map +1 -0
  9. package/dist/browser/a-command.d.mts +555 -0
  10. package/dist/browser/a-command.mjs +567 -0
  11. package/dist/browser/a-command.mjs.map +1 -0
  12. package/dist/browser/a-config.d.mts +60 -0
  13. package/dist/browser/a-config.mjs +6 -0
  14. package/dist/browser/a-config.mjs.map +1 -0
  15. package/dist/browser/a-execution.d.mts +17 -0
  16. package/dist/browser/a-execution.mjs +4 -0
  17. package/dist/browser/a-execution.mjs.map +1 -0
  18. package/dist/browser/a-logger.d.mts +107 -0
  19. package/dist/browser/a-logger.mjs +7 -0
  20. package/dist/browser/a-logger.mjs.map +1 -0
  21. package/dist/browser/a-manifest.d.mts +111 -0
  22. package/dist/browser/a-manifest.mjs +176 -0
  23. package/dist/browser/a-manifest.mjs.map +1 -0
  24. package/dist/browser/a-memory.d.mts +163 -0
  25. package/dist/browser/a-memory.mjs +375 -0
  26. package/dist/browser/a-memory.mjs.map +1 -0
  27. package/dist/browser/a-operation.d.mts +52 -0
  28. package/dist/browser/a-operation.mjs +5 -0
  29. package/dist/browser/a-operation.mjs.map +1 -0
  30. package/dist/browser/a-polyfill.d.mts +275 -0
  31. package/dist/browser/a-polyfill.mjs +4 -0
  32. package/dist/browser/a-polyfill.mjs.map +1 -0
  33. package/dist/browser/a-route.d.mts +25 -0
  34. package/dist/browser/a-route.mjs +98 -0
  35. package/dist/browser/a-route.mjs.map +1 -0
  36. package/dist/browser/a-schedule.d.mts +111 -0
  37. package/dist/browser/a-schedule.mjs +97 -0
  38. package/dist/browser/a-schedule.mjs.map +1 -0
  39. package/dist/browser/a-service.d.mts +40 -0
  40. package/dist/browser/a-service.mjs +197 -0
  41. package/dist/browser/a-service.mjs.map +1 -0
  42. package/dist/browser/a-signal.d.mts +402 -0
  43. package/dist/browser/a-signal.mjs +588 -0
  44. package/dist/browser/a-signal.mjs.map +1 -0
  45. package/dist/browser/a-state-machine.d.mts +11 -0
  46. package/dist/browser/a-state-machine.mjs +6 -0
  47. package/dist/browser/a-state-machine.mjs.map +1 -0
  48. package/dist/browser/chunk-72ANHWNG.mjs +48 -0
  49. package/dist/browser/chunk-72ANHWNG.mjs.map +1 -0
  50. package/dist/browser/chunk-ECSGFDRQ.mjs +264 -0
  51. package/dist/browser/chunk-ECSGFDRQ.mjs.map +1 -0
  52. package/dist/browser/chunk-EQQGB2QZ.mjs +15 -0
  53. package/dist/browser/chunk-EQQGB2QZ.mjs.map +1 -0
  54. package/dist/browser/chunk-HWSDIXPG.mjs +776 -0
  55. package/dist/browser/chunk-HWSDIXPG.mjs.map +1 -0
  56. package/dist/browser/chunk-J6CLHXFQ.mjs +679 -0
  57. package/dist/browser/chunk-J6CLHXFQ.mjs.map +1 -0
  58. package/dist/browser/chunk-JTQYATZ5.mjs +679 -0
  59. package/dist/browser/chunk-JTQYATZ5.mjs.map +1 -0
  60. package/dist/browser/chunk-NLPSQYIQ.mjs +149 -0
  61. package/dist/browser/chunk-NLPSQYIQ.mjs.map +1 -0
  62. package/dist/browser/chunk-RLXT47QH.mjs +264 -0
  63. package/dist/browser/chunk-RLXT47QH.mjs.map +1 -0
  64. package/dist/browser/chunk-TK5UEYMZ.mjs +776 -0
  65. package/dist/browser/chunk-TK5UEYMZ.mjs.map +1 -0
  66. package/dist/browser/chunk-TQ5UON22.mjs +56 -0
  67. package/dist/browser/chunk-TQ5UON22.mjs.map +1 -0
  68. package/dist/node/A-Command.entity-24rvXQLC.d.mts +409 -0
  69. package/dist/node/A-Command.entity-ISgSk8wB.d.ts +409 -0
  70. package/dist/node/A-Manifest.context-D2uynD9t.d.mts +66 -0
  71. package/dist/node/A-Manifest.context-rZnvR17w.d.ts +66 -0
  72. package/dist/node/A-Signal.types-P5VKMKMs.d.mts +114 -0
  73. package/dist/node/A-Signal.types-P5VKMKMs.d.ts +114 -0
  74. package/dist/node/chunk-EQQGB2QZ.mjs +15 -0
  75. package/dist/node/chunk-EQQGB2QZ.mjs.map +1 -0
  76. package/dist/node/constants/errors.constants.d.mts +2 -0
  77. package/dist/node/constants/errors.constants.d.ts +2 -0
  78. package/dist/node/constants/errors.constants.js +4 -0
  79. package/dist/node/constants/errors.constants.js.map +1 -0
  80. package/dist/node/constants/errors.constants.mjs +3 -0
  81. package/dist/node/constants/errors.constants.mjs.map +1 -0
  82. package/dist/node/lib/A-Channel/A-Channel.component.d.mts +365 -0
  83. package/dist/node/lib/A-Channel/A-Channel.component.d.ts +365 -0
  84. package/dist/node/lib/A-Channel/A-Channel.component.js +303 -0
  85. package/dist/node/lib/A-Channel/A-Channel.component.js.map +1 -0
  86. package/dist/node/lib/A-Channel/A-Channel.component.mjs +294 -0
  87. package/dist/node/lib/A-Channel/A-Channel.component.mjs.map +1 -0
  88. package/dist/node/lib/A-Channel/A-Channel.constants.d.mts +68 -0
  89. package/dist/node/lib/A-Channel/A-Channel.constants.d.ts +68 -0
  90. package/dist/node/lib/A-Channel/A-Channel.constants.js +28 -0
  91. package/dist/node/lib/A-Channel/A-Channel.constants.js.map +1 -0
  92. package/dist/node/lib/A-Channel/A-Channel.constants.mjs +27 -0
  93. package/dist/node/lib/A-Channel/A-Channel.constants.mjs.map +1 -0
  94. package/dist/node/lib/A-Channel/A-Channel.error.d.mts +23 -0
  95. package/dist/node/lib/A-Channel/A-Channel.error.d.ts +23 -0
  96. package/dist/node/lib/A-Channel/A-Channel.error.js +36 -0
  97. package/dist/node/lib/A-Channel/A-Channel.error.js.map +1 -0
  98. package/dist/node/lib/A-Channel/A-Channel.error.mjs +35 -0
  99. package/dist/node/lib/A-Channel/A-Channel.error.mjs.map +1 -0
  100. package/dist/node/lib/A-Channel/A-Channel.types.d.mts +2 -0
  101. package/dist/node/lib/A-Channel/A-Channel.types.d.ts +2 -0
  102. package/dist/node/lib/A-Channel/A-Channel.types.js +4 -0
  103. package/dist/node/lib/A-Channel/A-Channel.types.js.map +1 -0
  104. package/dist/node/lib/A-Channel/A-Channel.types.mjs +3 -0
  105. package/dist/node/lib/A-Channel/A-Channel.types.mjs.map +1 -0
  106. package/dist/node/lib/A-Channel/A-ChannelRequest.context.d.mts +17 -0
  107. package/dist/node/lib/A-Channel/A-ChannelRequest.context.d.ts +17 -0
  108. package/dist/node/lib/A-Channel/A-ChannelRequest.context.js +41 -0
  109. package/dist/node/lib/A-Channel/A-ChannelRequest.context.js.map +1 -0
  110. package/dist/node/lib/A-Channel/A-ChannelRequest.context.mjs +34 -0
  111. package/dist/node/lib/A-Channel/A-ChannelRequest.context.mjs.map +1 -0
  112. package/dist/node/lib/A-Channel/index.d.mts +8 -0
  113. package/dist/node/lib/A-Channel/index.d.ts +8 -0
  114. package/dist/node/lib/A-Channel/index.js +36 -0
  115. package/dist/node/lib/A-Channel/index.js.map +1 -0
  116. package/dist/node/lib/A-Channel/index.mjs +8 -0
  117. package/dist/node/lib/A-Channel/index.mjs.map +1 -0
  118. package/dist/node/lib/A-Command/A-Command.constants.d.mts +139 -0
  119. package/dist/node/lib/A-Command/A-Command.constants.d.ts +139 -0
  120. package/dist/node/lib/A-Command/A-Command.constants.js +45 -0
  121. package/dist/node/lib/A-Command/A-Command.constants.js.map +1 -0
  122. package/dist/node/lib/A-Command/A-Command.constants.mjs +42 -0
  123. package/dist/node/lib/A-Command/A-Command.constants.mjs.map +1 -0
  124. package/dist/node/lib/A-Command/A-Command.entity.d.mts +16 -0
  125. package/dist/node/lib/A-Command/A-Command.entity.d.ts +16 -0
  126. package/dist/node/lib/A-Command/A-Command.entity.js +530 -0
  127. package/dist/node/lib/A-Command/A-Command.entity.js.map +1 -0
  128. package/dist/node/lib/A-Command/A-Command.entity.mjs +520 -0
  129. package/dist/node/lib/A-Command/A-Command.entity.mjs.map +1 -0
  130. package/dist/node/lib/A-Command/A-Command.error.d.mts +13 -0
  131. package/dist/node/lib/A-Command/A-Command.error.d.ts +13 -0
  132. package/dist/node/lib/A-Command/A-Command.error.js +17 -0
  133. package/dist/node/lib/A-Command/A-Command.error.js.map +1 -0
  134. package/dist/node/lib/A-Command/A-Command.error.mjs +16 -0
  135. package/dist/node/lib/A-Command/A-Command.error.mjs.map +1 -0
  136. package/dist/node/lib/A-Command/A-Command.types.d.mts +16 -0
  137. package/dist/node/lib/A-Command/A-Command.types.d.ts +16 -0
  138. package/dist/node/lib/A-Command/A-Command.types.js +4 -0
  139. package/dist/node/lib/A-Command/A-Command.types.js.map +1 -0
  140. package/dist/node/lib/A-Command/A-Command.types.mjs +3 -0
  141. package/dist/node/lib/A-Command/A-Command.types.mjs.map +1 -0
  142. package/dist/node/lib/A-Command/index.d.mts +17 -0
  143. package/dist/node/lib/A-Command/index.d.ts +17 -0
  144. package/dist/node/lib/A-Command/index.js +31 -0
  145. package/dist/node/lib/A-Command/index.js.map +1 -0
  146. package/dist/node/lib/A-Command/index.mjs +7 -0
  147. package/dist/node/lib/A-Command/index.mjs.map +1 -0
  148. package/dist/node/lib/A-Config/A-Config.constants.d.mts +5 -0
  149. package/dist/node/lib/A-Config/A-Config.constants.d.ts +5 -0
  150. package/dist/node/lib/A-Config/A-Config.constants.js +9 -0
  151. package/dist/node/lib/A-Config/A-Config.constants.js.map +1 -0
  152. package/dist/node/lib/A-Config/A-Config.constants.mjs +8 -0
  153. package/dist/node/lib/A-Config/A-Config.constants.mjs.map +1 -0
  154. package/dist/node/lib/A-Config/A-Config.container.d.mts +33 -0
  155. package/dist/node/lib/A-Config/A-Config.container.d.ts +33 -0
  156. package/dist/node/lib/A-Config/A-Config.container.js +78 -0
  157. package/dist/node/lib/A-Config/A-Config.container.js.map +1 -0
  158. package/dist/node/lib/A-Config/A-Config.container.mjs +68 -0
  159. package/dist/node/lib/A-Config/A-Config.container.mjs.map +1 -0
  160. package/dist/node/lib/A-Config/A-Config.context.d.mts +42 -0
  161. package/dist/node/lib/A-Config/A-Config.context.d.ts +42 -0
  162. package/dist/node/lib/A-Config/A-Config.context.js +65 -0
  163. package/dist/node/lib/A-Config/A-Config.context.js.map +1 -0
  164. package/dist/node/lib/A-Config/A-Config.context.mjs +58 -0
  165. package/dist/node/lib/A-Config/A-Config.context.mjs.map +1 -0
  166. package/dist/node/lib/A-Config/A-Config.error.d.mts +7 -0
  167. package/dist/node/lib/A-Config/A-Config.error.d.ts +7 -0
  168. package/dist/node/lib/A-Config/A-Config.error.js +11 -0
  169. package/dist/node/lib/A-Config/A-Config.error.js.map +1 -0
  170. package/dist/node/lib/A-Config/A-Config.error.mjs +10 -0
  171. package/dist/node/lib/A-Config/A-Config.error.mjs.map +1 -0
  172. package/dist/node/lib/A-Config/A-Config.types.d.mts +22 -0
  173. package/dist/node/lib/A-Config/A-Config.types.d.ts +22 -0
  174. package/dist/node/lib/A-Config/A-Config.types.js +9 -0
  175. package/dist/node/lib/A-Config/A-Config.types.js.map +1 -0
  176. package/dist/node/lib/A-Config/A-Config.types.mjs +9 -0
  177. package/dist/node/lib/A-Config/A-Config.types.mjs.map +1 -0
  178. package/dist/node/lib/A-Config/components/ConfigReader.component.d.mts +50 -0
  179. package/dist/node/lib/A-Config/components/ConfigReader.component.d.ts +50 -0
  180. package/dist/node/lib/A-Config/components/ConfigReader.component.js +81 -0
  181. package/dist/node/lib/A-Config/components/ConfigReader.component.js.map +1 -0
  182. package/dist/node/lib/A-Config/components/ConfigReader.component.mjs +71 -0
  183. package/dist/node/lib/A-Config/components/ConfigReader.component.mjs.map +1 -0
  184. package/dist/node/lib/A-Config/components/ENVConfigReader.component.d.mts +40 -0
  185. package/dist/node/lib/A-Config/components/ENVConfigReader.component.d.ts +40 -0
  186. package/dist/node/lib/A-Config/components/ENVConfigReader.component.js +69 -0
  187. package/dist/node/lib/A-Config/components/ENVConfigReader.component.js.map +1 -0
  188. package/dist/node/lib/A-Config/components/ENVConfigReader.component.mjs +59 -0
  189. package/dist/node/lib/A-Config/components/ENVConfigReader.component.mjs.map +1 -0
  190. package/dist/node/lib/A-Config/components/FileConfigReader.component.d.mts +40 -0
  191. package/dist/node/lib/A-Config/components/FileConfigReader.component.d.ts +40 -0
  192. package/dist/node/lib/A-Config/components/FileConfigReader.component.js +50 -0
  193. package/dist/node/lib/A-Config/components/FileConfigReader.component.js.map +1 -0
  194. package/dist/node/lib/A-Config/components/FileConfigReader.component.mjs +43 -0
  195. package/dist/node/lib/A-Config/components/FileConfigReader.component.mjs.map +1 -0
  196. package/dist/node/lib/A-Config/index.d.mts +31 -0
  197. package/dist/node/lib/A-Config/index.d.ts +31 -0
  198. package/dist/node/lib/A-Config/index.js +51 -0
  199. package/dist/node/lib/A-Config/index.js.map +1 -0
  200. package/dist/node/lib/A-Config/index.mjs +11 -0
  201. package/dist/node/lib/A-Config/index.mjs.map +1 -0
  202. package/dist/node/lib/A-Execution/A-Execution.context.d.mts +17 -0
  203. package/dist/node/lib/A-Execution/A-Execution.context.d.ts +17 -0
  204. package/dist/node/lib/A-Execution/A-Execution.context.js +63 -0
  205. package/dist/node/lib/A-Execution/A-Execution.context.js.map +1 -0
  206. package/dist/node/lib/A-Execution/A-Execution.context.mjs +56 -0
  207. package/dist/node/lib/A-Execution/A-Execution.context.mjs.map +1 -0
  208. package/dist/node/lib/A-Execution/A-Execution.types.d.mts +2 -0
  209. package/dist/node/lib/A-Execution/A-Execution.types.d.ts +2 -0
  210. package/dist/node/lib/A-Execution/A-Execution.types.js +4 -0
  211. package/dist/node/lib/A-Execution/A-Execution.types.js.map +1 -0
  212. package/dist/node/lib/A-Execution/A-Execution.types.mjs +3 -0
  213. package/dist/node/lib/A-Execution/A-Execution.types.mjs.map +1 -0
  214. package/dist/node/lib/A-Execution/index.d.mts +2 -0
  215. package/dist/node/lib/A-Execution/index.d.ts +2 -0
  216. package/dist/node/lib/A-Execution/index.js +12 -0
  217. package/dist/node/lib/A-Execution/index.js.map +1 -0
  218. package/dist/node/lib/A-Execution/index.mjs +4 -0
  219. package/dist/node/lib/A-Execution/index.mjs.map +1 -0
  220. package/dist/node/lib/A-Logger/A-Logger.component.d.mts +377 -0
  221. package/dist/node/lib/A-Logger/A-Logger.component.d.ts +377 -0
  222. package/dist/node/lib/A-Logger/A-Logger.component.js +623 -0
  223. package/dist/node/lib/A-Logger/A-Logger.component.js.map +1 -0
  224. package/dist/node/lib/A-Logger/A-Logger.component.mjs +615 -0
  225. package/dist/node/lib/A-Logger/A-Logger.component.mjs.map +1 -0
  226. package/dist/node/lib/A-Logger/A-Logger.constants.d.mts +103 -0
  227. package/dist/node/lib/A-Logger/A-Logger.constants.d.ts +103 -0
  228. package/dist/node/lib/A-Logger/A-Logger.constants.js +141 -0
  229. package/dist/node/lib/A-Logger/A-Logger.constants.js.map +1 -0
  230. package/dist/node/lib/A-Logger/A-Logger.constants.mjs +133 -0
  231. package/dist/node/lib/A-Logger/A-Logger.constants.mjs.map +1 -0
  232. package/dist/node/lib/A-Logger/A-Logger.env.d.mts +30 -0
  233. package/dist/node/lib/A-Logger/A-Logger.env.d.ts +30 -0
  234. package/dist/node/lib/A-Logger/A-Logger.env.js +39 -0
  235. package/dist/node/lib/A-Logger/A-Logger.env.js.map +1 -0
  236. package/dist/node/lib/A-Logger/A-Logger.env.mjs +38 -0
  237. package/dist/node/lib/A-Logger/A-Logger.env.mjs.map +1 -0
  238. package/dist/node/lib/A-Logger/A-Logger.types.d.mts +8 -0
  239. package/dist/node/lib/A-Logger/A-Logger.types.d.ts +8 -0
  240. package/dist/node/lib/A-Logger/A-Logger.types.js +4 -0
  241. package/dist/node/lib/A-Logger/A-Logger.types.js.map +1 -0
  242. package/dist/node/lib/A-Logger/A-Logger.types.mjs +3 -0
  243. package/dist/node/lib/A-Logger/A-Logger.types.mjs.map +1 -0
  244. package/dist/node/lib/A-Logger/index.d.mts +9 -0
  245. package/dist/node/lib/A-Logger/index.d.ts +9 -0
  246. package/dist/node/lib/A-Logger/index.js +35 -0
  247. package/dist/node/lib/A-Logger/index.js.map +1 -0
  248. package/dist/node/lib/A-Logger/index.mjs +6 -0
  249. package/dist/node/lib/A-Logger/index.mjs.map +1 -0
  250. package/dist/node/lib/A-Manifest/A-Manifest.context.d.mts +3 -0
  251. package/dist/node/lib/A-Manifest/A-Manifest.context.d.ts +3 -0
  252. package/dist/node/lib/A-Manifest/A-Manifest.context.js +164 -0
  253. package/dist/node/lib/A-Manifest/A-Manifest.context.js.map +1 -0
  254. package/dist/node/lib/A-Manifest/A-Manifest.context.mjs +157 -0
  255. package/dist/node/lib/A-Manifest/A-Manifest.context.mjs.map +1 -0
  256. package/dist/node/lib/A-Manifest/A-Manifest.error.d.mts +7 -0
  257. package/dist/node/lib/A-Manifest/A-Manifest.error.d.ts +7 -0
  258. package/dist/node/lib/A-Manifest/A-Manifest.error.js +11 -0
  259. package/dist/node/lib/A-Manifest/A-Manifest.error.js.map +1 -0
  260. package/dist/node/lib/A-Manifest/A-Manifest.error.mjs +10 -0
  261. package/dist/node/lib/A-Manifest/A-Manifest.error.mjs.map +1 -0
  262. package/dist/node/lib/A-Manifest/A-Manifest.types.d.mts +45 -0
  263. package/dist/node/lib/A-Manifest/A-Manifest.types.d.ts +45 -0
  264. package/dist/node/lib/A-Manifest/A-Manifest.types.js +4 -0
  265. package/dist/node/lib/A-Manifest/A-Manifest.types.js.map +1 -0
  266. package/dist/node/lib/A-Manifest/A-Manifest.types.mjs +3 -0
  267. package/dist/node/lib/A-Manifest/A-Manifest.types.mjs.map +1 -0
  268. package/dist/node/lib/A-Manifest/classes/A-ManifestChecker.class.d.mts +3 -0
  269. package/dist/node/lib/A-Manifest/classes/A-ManifestChecker.class.d.ts +3 -0
  270. package/dist/node/lib/A-Manifest/classes/A-ManifestChecker.class.js +22 -0
  271. package/dist/node/lib/A-Manifest/classes/A-ManifestChecker.class.js.map +1 -0
  272. package/dist/node/lib/A-Manifest/classes/A-ManifestChecker.class.mjs +22 -0
  273. package/dist/node/lib/A-Manifest/classes/A-ManifestChecker.class.mjs.map +1 -0
  274. package/dist/node/lib/A-Manifest/index.d.mts +4 -0
  275. package/dist/node/lib/A-Manifest/index.d.ts +4 -0
  276. package/dist/node/lib/A-Manifest/index.js +29 -0
  277. package/dist/node/lib/A-Manifest/index.js.map +1 -0
  278. package/dist/node/lib/A-Manifest/index.mjs +7 -0
  279. package/dist/node/lib/A-Manifest/index.mjs.map +1 -0
  280. package/dist/node/lib/A-Memory/A-Memory.component.d.mts +86 -0
  281. package/dist/node/lib/A-Memory/A-Memory.component.d.ts +86 -0
  282. package/dist/node/lib/A-Memory/A-Memory.component.js +335 -0
  283. package/dist/node/lib/A-Memory/A-Memory.component.js.map +1 -0
  284. package/dist/node/lib/A-Memory/A-Memory.component.mjs +325 -0
  285. package/dist/node/lib/A-Memory/A-Memory.component.mjs.map +1 -0
  286. package/dist/node/lib/A-Memory/A-Memory.constants.d.mts +44 -0
  287. package/dist/node/lib/A-Memory/A-Memory.constants.d.ts +44 -0
  288. package/dist/node/lib/A-Memory/A-Memory.constants.js +19 -0
  289. package/dist/node/lib/A-Memory/A-Memory.constants.js.map +1 -0
  290. package/dist/node/lib/A-Memory/A-Memory.constants.mjs +19 -0
  291. package/dist/node/lib/A-Memory/A-Memory.constants.mjs.map +1 -0
  292. package/dist/node/lib/A-Memory/A-Memory.context.d.mts +12 -0
  293. package/dist/node/lib/A-Memory/A-Memory.context.d.ts +12 -0
  294. package/dist/node/lib/A-Memory/A-Memory.context.js +43 -0
  295. package/dist/node/lib/A-Memory/A-Memory.context.js.map +1 -0
  296. package/dist/node/lib/A-Memory/A-Memory.context.mjs +36 -0
  297. package/dist/node/lib/A-Memory/A-Memory.context.mjs.map +1 -0
  298. package/dist/node/lib/A-Memory/A-Memory.error.d.mts +14 -0
  299. package/dist/node/lib/A-Memory/A-Memory.error.d.ts +14 -0
  300. package/dist/node/lib/A-Memory/A-Memory.error.js +18 -0
  301. package/dist/node/lib/A-Memory/A-Memory.error.js.map +1 -0
  302. package/dist/node/lib/A-Memory/A-Memory.error.mjs +17 -0
  303. package/dist/node/lib/A-Memory/A-Memory.error.mjs.map +1 -0
  304. package/dist/node/lib/A-Memory/A-Memory.types.d.mts +24 -0
  305. package/dist/node/lib/A-Memory/A-Memory.types.d.ts +24 -0
  306. package/dist/node/lib/A-Memory/A-Memory.types.js +4 -0
  307. package/dist/node/lib/A-Memory/A-Memory.types.js.map +1 -0
  308. package/dist/node/lib/A-Memory/A-Memory.types.mjs +3 -0
  309. package/dist/node/lib/A-Memory/A-Memory.types.mjs.map +1 -0
  310. package/dist/node/lib/A-Memory/index.d.mts +9 -0
  311. package/dist/node/lib/A-Memory/index.d.ts +9 -0
  312. package/dist/node/lib/A-Memory/index.js +36 -0
  313. package/dist/node/lib/A-Memory/index.js.map +1 -0
  314. package/dist/node/lib/A-Memory/index.mjs +8 -0
  315. package/dist/node/lib/A-Memory/index.mjs.map +1 -0
  316. package/dist/node/lib/A-Operation/A-Operation.context.d.mts +16 -0
  317. package/dist/node/lib/A-Operation/A-Operation.context.d.ts +16 -0
  318. package/dist/node/lib/A-Operation/A-Operation.context.js +55 -0
  319. package/dist/node/lib/A-Operation/A-Operation.context.js.map +1 -0
  320. package/dist/node/lib/A-Operation/A-Operation.context.mjs +48 -0
  321. package/dist/node/lib/A-Operation/A-Operation.context.mjs.map +1 -0
  322. package/dist/node/lib/A-Operation/A-Operation.types.d.mts +40 -0
  323. package/dist/node/lib/A-Operation/A-Operation.types.d.ts +40 -0
  324. package/dist/node/lib/A-Operation/A-Operation.types.js +4 -0
  325. package/dist/node/lib/A-Operation/A-Operation.types.js.map +1 -0
  326. package/dist/node/lib/A-Operation/A-Operation.types.mjs +3 -0
  327. package/dist/node/lib/A-Operation/A-Operation.types.mjs.map +1 -0
  328. package/dist/node/lib/A-Operation/index.d.mts +4 -0
  329. package/dist/node/lib/A-Operation/index.d.ts +4 -0
  330. package/dist/node/lib/A-Operation/index.js +19 -0
  331. package/dist/node/lib/A-Operation/index.js.map +1 -0
  332. package/dist/node/lib/A-Operation/index.mjs +5 -0
  333. package/dist/node/lib/A-Operation/index.mjs.map +1 -0
  334. package/dist/node/lib/A-Polyfill/A-Polyfill.component.env-browser.d.mts +108 -0
  335. package/dist/node/lib/A-Polyfill/A-Polyfill.component.env-browser.d.ts +108 -0
  336. package/dist/node/lib/A-Polyfill/A-Polyfill.component.env-browser.js +163 -0
  337. package/dist/node/lib/A-Polyfill/A-Polyfill.component.env-browser.js.map +1 -0
  338. package/dist/node/lib/A-Polyfill/A-Polyfill.component.env-browser.mjs +153 -0
  339. package/dist/node/lib/A-Polyfill/A-Polyfill.component.env-browser.mjs.map +1 -0
  340. package/dist/node/lib/A-Polyfill/A-Polyfill.component.env-node.d.mts +108 -0
  341. package/dist/node/lib/A-Polyfill/A-Polyfill.component.env-node.d.ts +108 -0
  342. package/dist/node/lib/A-Polyfill/A-Polyfill.component.env-node.js +160 -0
  343. package/dist/node/lib/A-Polyfill/A-Polyfill.component.env-node.js.map +1 -0
  344. package/dist/node/lib/A-Polyfill/A-Polyfill.component.env-node.mjs +150 -0
  345. package/dist/node/lib/A-Polyfill/A-Polyfill.component.env-node.mjs.map +1 -0
  346. package/dist/node/lib/A-Polyfill/A-Polyfill.types.d.mts +59 -0
  347. package/dist/node/lib/A-Polyfill/A-Polyfill.types.d.ts +59 -0
  348. package/dist/node/lib/A-Polyfill/A-Polyfill.types.js +4 -0
  349. package/dist/node/lib/A-Polyfill/A-Polyfill.types.js.map +1 -0
  350. package/dist/node/lib/A-Polyfill/A-Polyfill.types.mjs +3 -0
  351. package/dist/node/lib/A-Polyfill/A-Polyfill.types.mjs.map +1 -0
  352. package/dist/node/lib/A-Polyfill/base/A-Buffer-Polyfill.base.d.mts +22 -0
  353. package/dist/node/lib/A-Polyfill/base/A-Buffer-Polyfill.base.d.ts +22 -0
  354. package/dist/node/lib/A-Polyfill/base/A-Buffer-Polyfill.base.js +30 -0
  355. package/dist/node/lib/A-Polyfill/base/A-Buffer-Polyfill.base.js.map +1 -0
  356. package/dist/node/lib/A-Polyfill/base/A-Buffer-Polyfill.base.mjs +30 -0
  357. package/dist/node/lib/A-Polyfill/base/A-Buffer-Polyfill.base.mjs.map +1 -0
  358. package/dist/node/lib/A-Polyfill/base/A-Crypto-Polyfill.base.d.mts +23 -0
  359. package/dist/node/lib/A-Polyfill/base/A-Crypto-Polyfill.base.d.ts +23 -0
  360. package/dist/node/lib/A-Polyfill/base/A-Crypto-Polyfill.base.js +31 -0
  361. package/dist/node/lib/A-Polyfill/base/A-Crypto-Polyfill.base.js.map +1 -0
  362. package/dist/node/lib/A-Polyfill/base/A-Crypto-Polyfill.base.mjs +31 -0
  363. package/dist/node/lib/A-Polyfill/base/A-Crypto-Polyfill.base.mjs.map +1 -0
  364. package/dist/node/lib/A-Polyfill/base/A-FS-Polyfill.base.d.mts +22 -0
  365. package/dist/node/lib/A-Polyfill/base/A-FS-Polyfill.base.d.ts +22 -0
  366. package/dist/node/lib/A-Polyfill/base/A-FS-Polyfill.base.js +30 -0
  367. package/dist/node/lib/A-Polyfill/base/A-FS-Polyfill.base.js.map +1 -0
  368. package/dist/node/lib/A-Polyfill/base/A-FS-Polyfill.base.mjs +30 -0
  369. package/dist/node/lib/A-Polyfill/base/A-FS-Polyfill.base.mjs.map +1 -0
  370. package/dist/node/lib/A-Polyfill/base/A-Http-Polyfill.base.d.mts +22 -0
  371. package/dist/node/lib/A-Polyfill/base/A-Http-Polyfill.base.d.ts +22 -0
  372. package/dist/node/lib/A-Polyfill/base/A-Http-Polyfill.base.js +30 -0
  373. package/dist/node/lib/A-Polyfill/base/A-Http-Polyfill.base.js.map +1 -0
  374. package/dist/node/lib/A-Polyfill/base/A-Http-Polyfill.base.mjs +30 -0
  375. package/dist/node/lib/A-Polyfill/base/A-Http-Polyfill.base.mjs.map +1 -0
  376. package/dist/node/lib/A-Polyfill/base/A-Https-Polyfill.base.d.mts +22 -0
  377. package/dist/node/lib/A-Polyfill/base/A-Https-Polyfill.base.d.ts +22 -0
  378. package/dist/node/lib/A-Polyfill/base/A-Https-Polyfill.base.js +30 -0
  379. package/dist/node/lib/A-Polyfill/base/A-Https-Polyfill.base.js.map +1 -0
  380. package/dist/node/lib/A-Polyfill/base/A-Https-Polyfill.base.mjs +30 -0
  381. package/dist/node/lib/A-Polyfill/base/A-Https-Polyfill.base.mjs.map +1 -0
  382. package/dist/node/lib/A-Polyfill/base/A-Path-Polyfill.base.d.mts +22 -0
  383. package/dist/node/lib/A-Polyfill/base/A-Path-Polyfill.base.d.ts +22 -0
  384. package/dist/node/lib/A-Polyfill/base/A-Path-Polyfill.base.js +30 -0
  385. package/dist/node/lib/A-Polyfill/base/A-Path-Polyfill.base.js.map +1 -0
  386. package/dist/node/lib/A-Polyfill/base/A-Path-Polyfill.base.mjs +30 -0
  387. package/dist/node/lib/A-Polyfill/base/A-Path-Polyfill.base.mjs.map +1 -0
  388. package/dist/node/lib/A-Polyfill/base/A-Process-Polyfill.base.d.mts +22 -0
  389. package/dist/node/lib/A-Polyfill/base/A-Process-Polyfill.base.d.ts +22 -0
  390. package/dist/node/lib/A-Polyfill/base/A-Process-Polyfill.base.js +30 -0
  391. package/dist/node/lib/A-Polyfill/base/A-Process-Polyfill.base.js.map +1 -0
  392. package/dist/node/lib/A-Polyfill/base/A-Process-Polyfill.base.mjs +30 -0
  393. package/dist/node/lib/A-Polyfill/base/A-Process-Polyfill.base.mjs.map +1 -0
  394. package/dist/node/lib/A-Polyfill/base/A-Url-Polyfill.base.d.mts +22 -0
  395. package/dist/node/lib/A-Polyfill/base/A-Url-Polyfill.base.d.ts +22 -0
  396. package/dist/node/lib/A-Polyfill/base/A-Url-Polyfill.base.js +30 -0
  397. package/dist/node/lib/A-Polyfill/base/A-Url-Polyfill.base.js.map +1 -0
  398. package/dist/node/lib/A-Polyfill/base/A-Url-Polyfill.base.mjs +30 -0
  399. package/dist/node/lib/A-Polyfill/base/A-Url-Polyfill.base.mjs.map +1 -0
  400. package/dist/node/lib/A-Polyfill/base/index.d.mts +17 -0
  401. package/dist/node/lib/A-Polyfill/base/index.d.ts +17 -0
  402. package/dist/node/lib/A-Polyfill/base/index.js +47 -0
  403. package/dist/node/lib/A-Polyfill/base/index.js.map +1 -0
  404. package/dist/node/lib/A-Polyfill/base/index.mjs +11 -0
  405. package/dist/node/lib/A-Polyfill/base/index.mjs.map +1 -0
  406. package/dist/node/lib/A-Polyfill/browser/A-Buffer-Polyfill.d.mts +17 -0
  407. package/dist/node/lib/A-Polyfill/browser/A-Buffer-Polyfill.d.ts +17 -0
  408. package/dist/node/lib/A-Polyfill/browser/A-Buffer-Polyfill.js +46 -0
  409. package/dist/node/lib/A-Polyfill/browser/A-Buffer-Polyfill.js.map +1 -0
  410. package/dist/node/lib/A-Polyfill/browser/A-Buffer-Polyfill.mjs +45 -0
  411. package/dist/node/lib/A-Polyfill/browser/A-Buffer-Polyfill.mjs.map +1 -0
  412. package/dist/node/lib/A-Polyfill/browser/A-Crypto-Polyfill.d.mts +17 -0
  413. package/dist/node/lib/A-Polyfill/browser/A-Crypto-Polyfill.d.ts +17 -0
  414. package/dist/node/lib/A-Polyfill/browser/A-Crypto-Polyfill.js +36 -0
  415. package/dist/node/lib/A-Polyfill/browser/A-Crypto-Polyfill.js.map +1 -0
  416. package/dist/node/lib/A-Polyfill/browser/A-Crypto-Polyfill.mjs +35 -0
  417. package/dist/node/lib/A-Polyfill/browser/A-Crypto-Polyfill.mjs.map +1 -0
  418. package/dist/node/lib/A-Polyfill/browser/A-FS-Polyfill.d.mts +17 -0
  419. package/dist/node/lib/A-Polyfill/browser/A-FS-Polyfill.d.ts +17 -0
  420. package/dist/node/lib/A-Polyfill/browser/A-FS-Polyfill.js +29 -0
  421. package/dist/node/lib/A-Polyfill/browser/A-FS-Polyfill.js.map +1 -0
  422. package/dist/node/lib/A-Polyfill/browser/A-FS-Polyfill.mjs +28 -0
  423. package/dist/node/lib/A-Polyfill/browser/A-FS-Polyfill.mjs.map +1 -0
  424. package/dist/node/lib/A-Polyfill/browser/A-Http-Polyfill.d.mts +18 -0
  425. package/dist/node/lib/A-Polyfill/browser/A-Http-Polyfill.d.ts +18 -0
  426. package/dist/node/lib/A-Polyfill/browser/A-Http-Polyfill.js +58 -0
  427. package/dist/node/lib/A-Polyfill/browser/A-Http-Polyfill.js.map +1 -0
  428. package/dist/node/lib/A-Polyfill/browser/A-Http-Polyfill.mjs +57 -0
  429. package/dist/node/lib/A-Polyfill/browser/A-Http-Polyfill.mjs.map +1 -0
  430. package/dist/node/lib/A-Polyfill/browser/A-Https-Polyfill.d.mts +18 -0
  431. package/dist/node/lib/A-Polyfill/browser/A-Https-Polyfill.d.ts +18 -0
  432. package/dist/node/lib/A-Polyfill/browser/A-Https-Polyfill.js +58 -0
  433. package/dist/node/lib/A-Polyfill/browser/A-Https-Polyfill.js.map +1 -0
  434. package/dist/node/lib/A-Polyfill/browser/A-Https-Polyfill.mjs +57 -0
  435. package/dist/node/lib/A-Polyfill/browser/A-Https-Polyfill.mjs.map +1 -0
  436. package/dist/node/lib/A-Polyfill/browser/A-Path-Polyfill.d.mts +17 -0
  437. package/dist/node/lib/A-Polyfill/browser/A-Path-Polyfill.d.ts +17 -0
  438. package/dist/node/lib/A-Polyfill/browser/A-Path-Polyfill.js +64 -0
  439. package/dist/node/lib/A-Polyfill/browser/A-Path-Polyfill.js.map +1 -0
  440. package/dist/node/lib/A-Polyfill/browser/A-Path-Polyfill.mjs +63 -0
  441. package/dist/node/lib/A-Polyfill/browser/A-Path-Polyfill.mjs.map +1 -0
  442. package/dist/node/lib/A-Polyfill/browser/A-Process-Polyfill.d.mts +17 -0
  443. package/dist/node/lib/A-Polyfill/browser/A-Process-Polyfill.d.ts +17 -0
  444. package/dist/node/lib/A-Polyfill/browser/A-Process-Polyfill.js +33 -0
  445. package/dist/node/lib/A-Polyfill/browser/A-Process-Polyfill.js.map +1 -0
  446. package/dist/node/lib/A-Polyfill/browser/A-Process-Polyfill.mjs +32 -0
  447. package/dist/node/lib/A-Polyfill/browser/A-Process-Polyfill.mjs.map +1 -0
  448. package/dist/node/lib/A-Polyfill/browser/A-Url-Polyfill.d.mts +17 -0
  449. package/dist/node/lib/A-Polyfill/browser/A-Url-Polyfill.d.ts +17 -0
  450. package/dist/node/lib/A-Polyfill/browser/A-Url-Polyfill.js +50 -0
  451. package/dist/node/lib/A-Polyfill/browser/A-Url-Polyfill.js.map +1 -0
  452. package/dist/node/lib/A-Polyfill/browser/A-Url-Polyfill.mjs +49 -0
  453. package/dist/node/lib/A-Polyfill/browser/A-Url-Polyfill.mjs.map +1 -0
  454. package/dist/node/lib/A-Polyfill/browser/index.d.mts +23 -0
  455. package/dist/node/lib/A-Polyfill/browser/index.d.ts +23 -0
  456. package/dist/node/lib/A-Polyfill/browser/index.js +56 -0
  457. package/dist/node/lib/A-Polyfill/browser/index.js.map +1 -0
  458. package/dist/node/lib/A-Polyfill/browser/index.mjs +9 -0
  459. package/dist/node/lib/A-Polyfill/browser/index.mjs.map +1 -0
  460. package/dist/node/lib/A-Polyfill/index.browser.d.mts +26 -0
  461. package/dist/node/lib/A-Polyfill/index.browser.d.ts +26 -0
  462. package/dist/node/lib/A-Polyfill/index.browser.js +33 -0
  463. package/dist/node/lib/A-Polyfill/index.browser.js.map +1 -0
  464. package/dist/node/lib/A-Polyfill/index.browser.mjs +7 -0
  465. package/dist/node/lib/A-Polyfill/index.browser.mjs.map +1 -0
  466. package/dist/node/lib/A-Polyfill/index.node.d.mts +26 -0
  467. package/dist/node/lib/A-Polyfill/index.node.d.ts +26 -0
  468. package/dist/node/lib/A-Polyfill/index.node.js +33 -0
  469. package/dist/node/lib/A-Polyfill/index.node.js.map +1 -0
  470. package/dist/node/lib/A-Polyfill/index.node.mjs +7 -0
  471. package/dist/node/lib/A-Polyfill/index.node.mjs.map +1 -0
  472. package/dist/node/lib/A-Polyfill/node/A-Buffer-Polyfill.d.mts +17 -0
  473. package/dist/node/lib/A-Polyfill/node/A-Buffer-Polyfill.d.ts +17 -0
  474. package/dist/node/lib/A-Polyfill/node/A-Buffer-Polyfill.js +27 -0
  475. package/dist/node/lib/A-Polyfill/node/A-Buffer-Polyfill.js.map +1 -0
  476. package/dist/node/lib/A-Polyfill/node/A-Buffer-Polyfill.mjs +22 -0
  477. package/dist/node/lib/A-Polyfill/node/A-Buffer-Polyfill.mjs.map +1 -0
  478. package/dist/node/lib/A-Polyfill/node/A-Crypto-Polyfill.d.mts +17 -0
  479. package/dist/node/lib/A-Polyfill/node/A-Crypto-Polyfill.d.ts +17 -0
  480. package/dist/node/lib/A-Polyfill/node/A-Crypto-Polyfill.js +39 -0
  481. package/dist/node/lib/A-Polyfill/node/A-Crypto-Polyfill.js.map +1 -0
  482. package/dist/node/lib/A-Polyfill/node/A-Crypto-Polyfill.mjs +34 -0
  483. package/dist/node/lib/A-Polyfill/node/A-Crypto-Polyfill.mjs.map +1 -0
  484. package/dist/node/lib/A-Polyfill/node/A-FS-Polyfill.d.mts +17 -0
  485. package/dist/node/lib/A-Polyfill/node/A-FS-Polyfill.d.ts +17 -0
  486. package/dist/node/lib/A-Polyfill/node/A-FS-Polyfill.js +21 -0
  487. package/dist/node/lib/A-Polyfill/node/A-FS-Polyfill.js.map +1 -0
  488. package/dist/node/lib/A-Polyfill/node/A-FS-Polyfill.mjs +16 -0
  489. package/dist/node/lib/A-Polyfill/node/A-FS-Polyfill.mjs.map +1 -0
  490. package/dist/node/lib/A-Polyfill/node/A-Http-Polyfill.d.mts +17 -0
  491. package/dist/node/lib/A-Polyfill/node/A-Http-Polyfill.d.ts +17 -0
  492. package/dist/node/lib/A-Polyfill/node/A-Http-Polyfill.js +25 -0
  493. package/dist/node/lib/A-Polyfill/node/A-Http-Polyfill.js.map +1 -0
  494. package/dist/node/lib/A-Polyfill/node/A-Http-Polyfill.mjs +20 -0
  495. package/dist/node/lib/A-Polyfill/node/A-Http-Polyfill.mjs.map +1 -0
  496. package/dist/node/lib/A-Polyfill/node/A-Https-Polyfill.d.mts +17 -0
  497. package/dist/node/lib/A-Polyfill/node/A-Https-Polyfill.d.ts +17 -0
  498. package/dist/node/lib/A-Polyfill/node/A-Https-Polyfill.js +25 -0
  499. package/dist/node/lib/A-Polyfill/node/A-Https-Polyfill.js.map +1 -0
  500. package/dist/node/lib/A-Polyfill/node/A-Https-Polyfill.mjs +20 -0
  501. package/dist/node/lib/A-Polyfill/node/A-Https-Polyfill.mjs.map +1 -0
  502. package/dist/node/lib/A-Polyfill/node/A-Path-Polyfill.d.mts +17 -0
  503. package/dist/node/lib/A-Polyfill/node/A-Path-Polyfill.d.ts +17 -0
  504. package/dist/node/lib/A-Polyfill/node/A-Path-Polyfill.js +34 -0
  505. package/dist/node/lib/A-Polyfill/node/A-Path-Polyfill.js.map +1 -0
  506. package/dist/node/lib/A-Polyfill/node/A-Path-Polyfill.mjs +29 -0
  507. package/dist/node/lib/A-Polyfill/node/A-Path-Polyfill.mjs.map +1 -0
  508. package/dist/node/lib/A-Polyfill/node/A-Process-Polyfill.d.mts +17 -0
  509. package/dist/node/lib/A-Polyfill/node/A-Process-Polyfill.d.ts +17 -0
  510. package/dist/node/lib/A-Polyfill/node/A-Process-Polyfill.js +25 -0
  511. package/dist/node/lib/A-Polyfill/node/A-Process-Polyfill.js.map +1 -0
  512. package/dist/node/lib/A-Polyfill/node/A-Process-Polyfill.mjs +24 -0
  513. package/dist/node/lib/A-Polyfill/node/A-Process-Polyfill.mjs.map +1 -0
  514. package/dist/node/lib/A-Polyfill/node/A-Url-Polyfill.d.mts +17 -0
  515. package/dist/node/lib/A-Polyfill/node/A-Url-Polyfill.d.ts +17 -0
  516. package/dist/node/lib/A-Polyfill/node/A-Url-Polyfill.js +27 -0
  517. package/dist/node/lib/A-Polyfill/node/A-Url-Polyfill.js.map +1 -0
  518. package/dist/node/lib/A-Polyfill/node/A-Url-Polyfill.mjs +22 -0
  519. package/dist/node/lib/A-Polyfill/node/A-Url-Polyfill.mjs.map +1 -0
  520. package/dist/node/lib/A-Polyfill/node/index.d.mts +23 -0
  521. package/dist/node/lib/A-Polyfill/node/index.d.ts +23 -0
  522. package/dist/node/lib/A-Polyfill/node/index.js +56 -0
  523. package/dist/node/lib/A-Polyfill/node/index.js.map +1 -0
  524. package/dist/node/lib/A-Polyfill/node/index.mjs +9 -0
  525. package/dist/node/lib/A-Polyfill/node/index.mjs.map +1 -0
  526. package/dist/node/lib/A-Route/A-Route.entity.d.mts +25 -0
  527. package/dist/node/lib/A-Route/A-Route.entity.d.ts +25 -0
  528. package/dist/node/lib/A-Route/A-Route.entity.js +105 -0
  529. package/dist/node/lib/A-Route/A-Route.entity.js.map +1 -0
  530. package/dist/node/lib/A-Route/A-Route.entity.mjs +98 -0
  531. package/dist/node/lib/A-Route/A-Route.entity.mjs.map +1 -0
  532. package/dist/node/lib/A-Route/A-Route.types.d.mts +2 -0
  533. package/dist/node/lib/A-Route/A-Route.types.d.ts +2 -0
  534. package/dist/node/lib/A-Route/A-Route.types.js +4 -0
  535. package/dist/node/lib/A-Route/A-Route.types.js.map +1 -0
  536. package/dist/node/lib/A-Route/A-Route.types.mjs +3 -0
  537. package/dist/node/lib/A-Route/A-Route.types.mjs.map +1 -0
  538. package/dist/node/lib/A-Route/index.d.mts +2 -0
  539. package/dist/node/lib/A-Route/index.d.ts +2 -0
  540. package/dist/node/lib/A-Route/index.js +12 -0
  541. package/dist/node/lib/A-Route/index.js.map +1 -0
  542. package/dist/node/lib/A-Route/index.mjs +4 -0
  543. package/dist/node/lib/A-Route/index.mjs.map +1 -0
  544. package/dist/node/lib/A-Schedule/A-Deferred.class.d.mts +14 -0
  545. package/dist/node/lib/A-Schedule/A-Deferred.class.d.ts +14 -0
  546. package/dist/node/lib/A-Schedule/A-Deferred.class.js +24 -0
  547. package/dist/node/lib/A-Schedule/A-Deferred.class.js.map +1 -0
  548. package/dist/node/lib/A-Schedule/A-Deferred.class.mjs +24 -0
  549. package/dist/node/lib/A-Schedule/A-Deferred.class.mjs.map +1 -0
  550. package/dist/node/lib/A-Schedule/A-Schedule.component.d.mts +60 -0
  551. package/dist/node/lib/A-Schedule/A-Schedule.component.d.ts +60 -0
  552. package/dist/node/lib/A-Schedule/A-Schedule.component.js +46 -0
  553. package/dist/node/lib/A-Schedule/A-Schedule.component.js.map +1 -0
  554. package/dist/node/lib/A-Schedule/A-Schedule.component.mjs +39 -0
  555. package/dist/node/lib/A-Schedule/A-Schedule.component.mjs.map +1 -0
  556. package/dist/node/lib/A-Schedule/A-Schedule.types.d.mts +12 -0
  557. package/dist/node/lib/A-Schedule/A-Schedule.types.d.ts +12 -0
  558. package/dist/node/lib/A-Schedule/A-Schedule.types.js +4 -0
  559. package/dist/node/lib/A-Schedule/A-Schedule.types.js.map +1 -0
  560. package/dist/node/lib/A-Schedule/A-Schedule.types.mjs +3 -0
  561. package/dist/node/lib/A-Schedule/A-Schedule.types.mjs.map +1 -0
  562. package/dist/node/lib/A-Schedule/A-ScheduleObject.class.d.mts +32 -0
  563. package/dist/node/lib/A-Schedule/A-ScheduleObject.class.d.ts +32 -0
  564. package/dist/node/lib/A-Schedule/A-ScheduleObject.class.js +49 -0
  565. package/dist/node/lib/A-Schedule/A-ScheduleObject.class.js.map +1 -0
  566. package/dist/node/lib/A-Schedule/A-ScheduleObject.class.mjs +48 -0
  567. package/dist/node/lib/A-Schedule/A-ScheduleObject.class.mjs.map +1 -0
  568. package/dist/node/lib/A-Schedule/index.d.mts +5 -0
  569. package/dist/node/lib/A-Schedule/index.d.ts +5 -0
  570. package/dist/node/lib/A-Schedule/index.js +29 -0
  571. package/dist/node/lib/A-Schedule/index.js.map +1 -0
  572. package/dist/node/lib/A-Schedule/index.mjs +7 -0
  573. package/dist/node/lib/A-Schedule/index.mjs.map +1 -0
  574. package/dist/node/lib/A-Service/A-Service.constants.d.mts +14 -0
  575. package/dist/node/lib/A-Service/A-Service.constants.d.ts +14 -0
  576. package/dist/node/lib/A-Service/A-Service.constants.js +19 -0
  577. package/dist/node/lib/A-Service/A-Service.constants.js.map +1 -0
  578. package/dist/node/lib/A-Service/A-Service.constants.mjs +19 -0
  579. package/dist/node/lib/A-Service/A-Service.constants.mjs.map +1 -0
  580. package/dist/node/lib/A-Service/A-Service.container.d.mts +50 -0
  581. package/dist/node/lib/A-Service/A-Service.container.d.ts +50 -0
  582. package/dist/node/lib/A-Service/A-Service.container.js +188 -0
  583. package/dist/node/lib/A-Service/A-Service.container.js.map +1 -0
  584. package/dist/node/lib/A-Service/A-Service.container.mjs +178 -0
  585. package/dist/node/lib/A-Service/A-Service.container.mjs.map +1 -0
  586. package/dist/node/lib/A-Service/A-Service.error.d.mts +9 -0
  587. package/dist/node/lib/A-Service/A-Service.error.d.ts +9 -0
  588. package/dist/node/lib/A-Service/A-Service.error.js +13 -0
  589. package/dist/node/lib/A-Service/A-Service.error.js.map +1 -0
  590. package/dist/node/lib/A-Service/A-Service.error.mjs +12 -0
  591. package/dist/node/lib/A-Service/A-Service.error.mjs.map +1 -0
  592. package/dist/node/lib/A-Service/A-Service.types.d.mts +27 -0
  593. package/dist/node/lib/A-Service/A-Service.types.d.ts +27 -0
  594. package/dist/node/lib/A-Service/A-Service.types.js +16 -0
  595. package/dist/node/lib/A-Service/A-Service.types.js.map +1 -0
  596. package/dist/node/lib/A-Service/A-Service.types.mjs +16 -0
  597. package/dist/node/lib/A-Service/A-Service.types.mjs.map +1 -0
  598. package/dist/node/lib/A-Service/index.d.mts +28 -0
  599. package/dist/node/lib/A-Service/index.d.ts +28 -0
  600. package/dist/node/lib/A-Service/index.js +19 -0
  601. package/dist/node/lib/A-Service/index.js.map +1 -0
  602. package/dist/node/lib/A-Service/index.mjs +5 -0
  603. package/dist/node/lib/A-Service/index.mjs.map +1 -0
  604. package/dist/node/lib/A-Signal/A-Signal.constants.d.mts +2 -0
  605. package/dist/node/lib/A-Signal/A-Signal.constants.d.ts +2 -0
  606. package/dist/node/lib/A-Signal/A-Signal.constants.js +4 -0
  607. package/dist/node/lib/A-Signal/A-Signal.constants.js.map +1 -0
  608. package/dist/node/lib/A-Signal/A-Signal.constants.mjs +3 -0
  609. package/dist/node/lib/A-Signal/A-Signal.constants.mjs.map +1 -0
  610. package/dist/node/lib/A-Signal/A-Signal.error.d.mts +2 -0
  611. package/dist/node/lib/A-Signal/A-Signal.error.d.ts +2 -0
  612. package/dist/node/lib/A-Signal/A-Signal.error.js +4 -0
  613. package/dist/node/lib/A-Signal/A-Signal.error.js.map +1 -0
  614. package/dist/node/lib/A-Signal/A-Signal.error.mjs +3 -0
  615. package/dist/node/lib/A-Signal/A-Signal.error.mjs.map +1 -0
  616. package/dist/node/lib/A-Signal/A-Signal.types.d.mts +2 -0
  617. package/dist/node/lib/A-Signal/A-Signal.types.d.ts +2 -0
  618. package/dist/node/lib/A-Signal/A-Signal.types.js +4 -0
  619. package/dist/node/lib/A-Signal/A-Signal.types.js.map +1 -0
  620. package/dist/node/lib/A-Signal/A-Signal.types.mjs +3 -0
  621. package/dist/node/lib/A-Signal/A-Signal.types.mjs.map +1 -0
  622. package/dist/node/lib/A-Signal/components/A-SignalBus.component.d.mts +44 -0
  623. package/dist/node/lib/A-Signal/components/A-SignalBus.component.d.ts +44 -0
  624. package/dist/node/lib/A-Signal/components/A-SignalBus.component.js +132 -0
  625. package/dist/node/lib/A-Signal/components/A-SignalBus.component.js.map +1 -0
  626. package/dist/node/lib/A-Signal/components/A-SignalBus.component.mjs +122 -0
  627. package/dist/node/lib/A-Signal/components/A-SignalBus.component.mjs.map +1 -0
  628. package/dist/node/lib/A-Signal/components/A-SignalBus.constants.d.mts +7 -0
  629. package/dist/node/lib/A-Signal/components/A-SignalBus.constants.d.ts +7 -0
  630. package/dist/node/lib/A-Signal/components/A-SignalBus.constants.js +12 -0
  631. package/dist/node/lib/A-Signal/components/A-SignalBus.constants.js.map +1 -0
  632. package/dist/node/lib/A-Signal/components/A-SignalBus.constants.mjs +12 -0
  633. package/dist/node/lib/A-Signal/components/A-SignalBus.constants.mjs.map +1 -0
  634. package/dist/node/lib/A-Signal/components/A-SignalBus.error.d.mts +7 -0
  635. package/dist/node/lib/A-Signal/components/A-SignalBus.error.d.ts +7 -0
  636. package/dist/node/lib/A-Signal/components/A-SignalBus.error.js +11 -0
  637. package/dist/node/lib/A-Signal/components/A-SignalBus.error.js.map +1 -0
  638. package/dist/node/lib/A-Signal/components/A-SignalBus.error.mjs +10 -0
  639. package/dist/node/lib/A-Signal/components/A-SignalBus.error.mjs.map +1 -0
  640. package/dist/node/lib/A-Signal/components/A-SignalBus.types.d.mts +2 -0
  641. package/dist/node/lib/A-Signal/components/A-SignalBus.types.d.ts +2 -0
  642. package/dist/node/lib/A-Signal/components/A-SignalBus.types.js +4 -0
  643. package/dist/node/lib/A-Signal/components/A-SignalBus.types.js.map +1 -0
  644. package/dist/node/lib/A-Signal/components/A-SignalBus.types.mjs +3 -0
  645. package/dist/node/lib/A-Signal/components/A-SignalBus.types.mjs.map +1 -0
  646. package/dist/node/lib/A-Signal/context/A-SignalConfig.context.d.mts +36 -0
  647. package/dist/node/lib/A-Signal/context/A-SignalConfig.context.d.ts +36 -0
  648. package/dist/node/lib/A-Signal/context/A-SignalConfig.context.js +68 -0
  649. package/dist/node/lib/A-Signal/context/A-SignalConfig.context.js.map +1 -0
  650. package/dist/node/lib/A-Signal/context/A-SignalConfig.context.mjs +61 -0
  651. package/dist/node/lib/A-Signal/context/A-SignalConfig.context.mjs.map +1 -0
  652. package/dist/node/lib/A-Signal/context/A-SignalState.context.d.mts +111 -0
  653. package/dist/node/lib/A-Signal/context/A-SignalState.context.d.ts +111 -0
  654. package/dist/node/lib/A-Signal/context/A-SignalState.context.js +114 -0
  655. package/dist/node/lib/A-Signal/context/A-SignalState.context.js.map +1 -0
  656. package/dist/node/lib/A-Signal/context/A-SignalState.context.mjs +107 -0
  657. package/dist/node/lib/A-Signal/context/A-SignalState.context.mjs.map +1 -0
  658. package/dist/node/lib/A-Signal/entities/A-Signal.entity.d.mts +2 -0
  659. package/dist/node/lib/A-Signal/entities/A-Signal.entity.d.ts +2 -0
  660. package/dist/node/lib/A-Signal/entities/A-Signal.entity.js +120 -0
  661. package/dist/node/lib/A-Signal/entities/A-Signal.entity.js.map +1 -0
  662. package/dist/node/lib/A-Signal/entities/A-Signal.entity.mjs +113 -0
  663. package/dist/node/lib/A-Signal/entities/A-Signal.entity.mjs.map +1 -0
  664. package/dist/node/lib/A-Signal/entities/A-SignalVector.entity.d.mts +113 -0
  665. package/dist/node/lib/A-Signal/entities/A-SignalVector.entity.d.ts +113 -0
  666. package/dist/node/lib/A-Signal/entities/A-SignalVector.entity.js +217 -0
  667. package/dist/node/lib/A-Signal/entities/A-SignalVector.entity.js.map +1 -0
  668. package/dist/node/lib/A-Signal/entities/A-SignalVector.entity.mjs +210 -0
  669. package/dist/node/lib/A-Signal/entities/A-SignalVector.entity.mjs.map +1 -0
  670. package/dist/node/lib/A-Signal/index.d.mts +15 -0
  671. package/dist/node/lib/A-Signal/index.d.ts +15 -0
  672. package/dist/node/lib/A-Signal/index.js +51 -0
  673. package/dist/node/lib/A-Signal/index.js.map +1 -0
  674. package/dist/node/lib/A-Signal/index.mjs +11 -0
  675. package/dist/node/lib/A-Signal/index.mjs.map +1 -0
  676. package/dist/node/lib/A-StateMachine/A-StateMachine.component.d.mts +180 -0
  677. package/dist/node/lib/A-StateMachine/A-StateMachine.component.d.ts +180 -0
  678. package/dist/node/lib/A-StateMachine/A-StateMachine.component.js +119 -0
  679. package/dist/node/lib/A-StateMachine/A-StateMachine.component.js.map +1 -0
  680. package/dist/node/lib/A-StateMachine/A-StateMachine.component.mjs +110 -0
  681. package/dist/node/lib/A-StateMachine/A-StateMachine.component.mjs.map +1 -0
  682. package/dist/node/lib/A-StateMachine/A-StateMachine.constants.d.mts +20 -0
  683. package/dist/node/lib/A-StateMachine/A-StateMachine.constants.d.ts +20 -0
  684. package/dist/node/lib/A-StateMachine/A-StateMachine.constants.js +13 -0
  685. package/dist/node/lib/A-StateMachine/A-StateMachine.constants.js.map +1 -0
  686. package/dist/node/lib/A-StateMachine/A-StateMachine.constants.mjs +13 -0
  687. package/dist/node/lib/A-StateMachine/A-StateMachine.constants.mjs.map +1 -0
  688. package/dist/node/lib/A-StateMachine/A-StateMachine.error.d.mts +8 -0
  689. package/dist/node/lib/A-StateMachine/A-StateMachine.error.d.ts +8 -0
  690. package/dist/node/lib/A-StateMachine/A-StateMachine.error.js +12 -0
  691. package/dist/node/lib/A-StateMachine/A-StateMachine.error.js.map +1 -0
  692. package/dist/node/lib/A-StateMachine/A-StateMachine.error.mjs +11 -0
  693. package/dist/node/lib/A-StateMachine/A-StateMachine.error.mjs.map +1 -0
  694. package/dist/node/lib/A-StateMachine/A-StateMachine.types.d.mts +14 -0
  695. package/dist/node/lib/A-StateMachine/A-StateMachine.types.d.ts +14 -0
  696. package/dist/node/lib/A-StateMachine/A-StateMachine.types.js +4 -0
  697. package/dist/node/lib/A-StateMachine/A-StateMachine.types.js.map +1 -0
  698. package/dist/node/lib/A-StateMachine/A-StateMachine.types.mjs +3 -0
  699. package/dist/node/lib/A-StateMachine/A-StateMachine.types.mjs.map +1 -0
  700. package/dist/node/lib/A-StateMachine/A-StateMachineTransition.context.d.mts +19 -0
  701. package/dist/node/lib/A-StateMachine/A-StateMachineTransition.context.d.ts +19 -0
  702. package/dist/node/lib/A-StateMachine/A-StateMachineTransition.context.js +43 -0
  703. package/dist/node/lib/A-StateMachine/A-StateMachineTransition.context.js.map +1 -0
  704. package/dist/node/lib/A-StateMachine/A-StateMachineTransition.context.mjs +36 -0
  705. package/dist/node/lib/A-StateMachine/A-StateMachineTransition.context.mjs.map +1 -0
  706. package/dist/node/lib/A-StateMachine/index.d.mts +9 -0
  707. package/dist/node/lib/A-StateMachine/index.d.ts +9 -0
  708. package/dist/node/lib/A-StateMachine/index.js +36 -0
  709. package/dist/node/lib/A-StateMachine/index.js.map +1 -0
  710. package/dist/node/lib/A-StateMachine/index.mjs +8 -0
  711. package/dist/node/lib/A-StateMachine/index.mjs.map +1 -0
  712. package/examples/A-Logger-examples.ts +1 -2
  713. package/jest.config.ts +20 -7
  714. package/package.json +232 -15
  715. package/src/lib/A-Channel/A-Channel.component.ts +1 -1
  716. package/src/lib/A-Channel/A-Channel.error.ts +1 -1
  717. package/src/lib/A-Channel/A-Channel.types.ts +0 -3
  718. package/src/lib/A-Channel/A-ChannelRequest.context.ts +1 -1
  719. package/src/lib/A-Channel/index.ts +6 -0
  720. package/src/lib/A-Command/A-Command.entity.ts +3 -5
  721. package/src/lib/A-Command/index.ts +5 -0
  722. package/src/lib/A-Config/A-Config.container.ts +3 -4
  723. package/src/lib/A-Config/A-Config.context.ts +1 -1
  724. package/src/lib/A-Config/components/ConfigReader.component.ts +10 -21
  725. package/src/lib/A-Config/components/ENVConfigReader.component.ts +13 -12
  726. package/src/lib/A-Config/index.ts +9 -0
  727. package/src/lib/A-Execution/index.ts +3 -0
  728. package/src/lib/A-Logger/A-Logger.component.ts +3 -1
  729. package/src/lib/A-Logger/index.ts +5 -0
  730. package/src/lib/A-Manifest/index.ts +5 -0
  731. package/src/lib/A-Memory/A-Memory.component.ts +1 -1
  732. package/src/lib/A-Memory/A-Memory.types.ts +1 -1
  733. package/src/lib/A-Memory/index.ts +6 -0
  734. package/src/lib/A-Operation/A-Operation.context.ts +1 -1
  735. package/src/lib/A-Operation/index.ts +3 -0
  736. package/src/lib/A-Polyfill/{A-Polyfill.component.ts → A-Polyfill.component.env-browser.ts} +26 -27
  737. package/src/lib/A-Polyfill/A-Polyfill.component.env-node.ts +184 -0
  738. package/src/lib/A-Polyfill/base/A-Buffer-Polyfill.base.ts +34 -0
  739. package/src/lib/A-Polyfill/base/A-Crypto-Polyfill.base.ts +36 -0
  740. package/src/lib/A-Polyfill/base/A-FS-Polyfill.base.ts +34 -0
  741. package/src/lib/A-Polyfill/base/A-Http-Polyfill.base.ts +34 -0
  742. package/src/lib/A-Polyfill/base/A-Https-Polyfill.base.ts +34 -0
  743. package/src/lib/A-Polyfill/base/A-Path-Polyfill.base.ts +34 -0
  744. package/src/lib/A-Polyfill/base/A-Process-Polyfill.base.ts +34 -0
  745. package/src/lib/A-Polyfill/base/A-Url-Polyfill.base.ts +34 -0
  746. package/src/lib/A-Polyfill/base/index.ts +9 -0
  747. package/src/lib/A-Polyfill/browser/A-Buffer-Polyfill.ts +42 -0
  748. package/src/lib/A-Polyfill/browser/A-Crypto-Polyfill.ts +32 -0
  749. package/src/lib/A-Polyfill/browser/A-FS-Polyfill.ts +25 -0
  750. package/src/lib/A-Polyfill/{classes/A-Http-Polyfill.class.ts → browser/A-Http-Polyfill.ts} +6 -46
  751. package/src/lib/A-Polyfill/{classes/A-Https-Polyfill.class.ts → browser/A-Https-Polyfill.ts} +6 -46
  752. package/src/lib/A-Polyfill/{classes/A-Path-Polyfill.class.ts → browser/A-Path-Polyfill.ts} +6 -42
  753. package/src/lib/A-Polyfill/browser/A-Process-Polyfill.ts +29 -0
  754. package/src/lib/A-Polyfill/browser/A-Url-Polyfill.ts +46 -0
  755. package/src/lib/A-Polyfill/browser/index.ts +8 -0
  756. package/src/lib/A-Polyfill/index.browser.ts +5 -0
  757. package/src/lib/A-Polyfill/index.node.ts +5 -0
  758. package/src/lib/A-Polyfill/node/A-Buffer-Polyfill.ts +19 -0
  759. package/src/lib/A-Polyfill/node/A-Crypto-Polyfill.ts +31 -0
  760. package/src/lib/A-Polyfill/node/A-FS-Polyfill.ts +14 -0
  761. package/src/lib/A-Polyfill/node/A-Http-Polyfill.ts +17 -0
  762. package/src/lib/A-Polyfill/node/A-Https-Polyfill.ts +18 -0
  763. package/src/lib/A-Polyfill/node/A-Path-Polyfill.ts +27 -0
  764. package/src/lib/A-Polyfill/node/A-Process-Polyfill.ts +21 -0
  765. package/src/lib/A-Polyfill/node/A-Url-Polyfill.ts +19 -0
  766. package/src/lib/A-Polyfill/node/index.ts +8 -0
  767. package/src/lib/A-Route/index.ts +3 -0
  768. package/src/lib/A-Schedule/index.ts +5 -0
  769. package/src/lib/A-Service/A-Service.container.ts +2 -4
  770. package/src/lib/A-Service/index.ts +4 -0
  771. package/src/lib/A-Signal/components/A-SignalBus.component.ts +2 -2
  772. package/src/lib/A-Signal/index.ts +11 -0
  773. package/src/lib/A-StateMachine/A-StateMachine.types.ts +1 -1
  774. package/src/lib/A-StateMachine/A-StateMachineTransition.context.ts +1 -1
  775. package/src/lib/A-StateMachine/index.ts +6 -0
  776. package/tests/A-Channel.test.ts +3 -5
  777. package/tests/A-Command.test.ts +4 -9
  778. package/tests/A-Config.test.ts +8 -7
  779. package/tests/A-Logger.test.ts +1 -3
  780. package/tests/A-Manifest.test.ts +1 -1
  781. package/tests/A-Memory.test.ts +1 -3
  782. package/tests/A-Polyfill.test.ts +2 -2
  783. package/tests/A-Route.test.ts +1 -3
  784. package/tests/A-Schedule.test.ts +1 -1
  785. package/tests/A-Signal.test.ts +1 -5
  786. package/tests/A-StateMachine.test.ts +2 -5
  787. package/tests/main.test.ts +30 -0
  788. package/tsconfig.json +39 -57
  789. package/tsup.config.ts +94 -28
  790. package/dist/index.cjs +0 -35
  791. package/dist/index.cjs.map +0 -1
  792. package/dist/index.d.mts +0 -2976
  793. package/dist/index.d.ts +0 -2976
  794. package/dist/index.mjs +0 -35
  795. package/dist/index.mjs.map +0 -1
  796. package/src/index.ts +0 -124
  797. package/src/lib/A-Polyfill/classes/A-Buffer-Polyfill.class.ts +0 -85
  798. package/src/lib/A-Polyfill/classes/A-Crypto-Polyfill.class.ts +0 -87
  799. package/src/lib/A-Polyfill/classes/A-FS-Polyfill.class.ts +0 -61
  800. package/src/lib/A-Polyfill/classes/A-Process-Polyfill.class.ts +0 -73
  801. package/src/lib/A-Polyfill/classes/A-Url-Polyfill.class.ts +0 -88
@@ -0,0 +1,567 @@
1
+ import { A_StateMachineTransition, A_StateMachine } from './chunk-NLPSQYIQ.mjs';
2
+ import { A_Logger } from './chunk-TK5UEYMZ.mjs';
3
+ import './chunk-ECSGFDRQ.mjs';
4
+ import './chunk-J6CLHXFQ.mjs';
5
+ import './chunk-72ANHWNG.mjs';
6
+ import { A_ExecutionContext } from './chunk-TQ5UON22.mjs';
7
+ import { __decorateClass, __decorateParam } from './chunk-EQQGB2QZ.mjs';
8
+ import { A_Feature, A_Inject, A_Error, A_Dependency, A_Entity, A_Scope, A_Context } from '@adaas/a-concept';
9
+ import { A_Frame } from '@adaas/a-frame';
10
+
11
+ // src/lib/A-Command/A-Command.constants.ts
12
+ var A_Command_Status = /* @__PURE__ */ ((A_Command_Status2) => {
13
+ A_Command_Status2["CREATED"] = "CREATED";
14
+ A_Command_Status2["INITIALIZED"] = "INITIALIZED";
15
+ A_Command_Status2["COMPILED"] = "COMPILED";
16
+ A_Command_Status2["EXECUTING"] = "EXECUTING";
17
+ A_Command_Status2["COMPLETED"] = "COMPLETED";
18
+ A_Command_Status2["FAILED"] = "FAILED";
19
+ return A_Command_Status2;
20
+ })(A_Command_Status || {});
21
+ var A_CommandTransitions = /* @__PURE__ */ ((A_CommandTransitions2) => {
22
+ A_CommandTransitions2["CREATED_TO_INITIALIZED"] = "created_initialized";
23
+ A_CommandTransitions2["INITIALIZED_TO_EXECUTING"] = "initialized_executing";
24
+ A_CommandTransitions2["EXECUTING_TO_COMPLETED"] = "executing_completed";
25
+ A_CommandTransitions2["EXECUTING_TO_FAILED"] = "executing_failed";
26
+ return A_CommandTransitions2;
27
+ })(A_CommandTransitions || {});
28
+ var A_CommandFeatures = /* @__PURE__ */ ((A_CommandFeatures2) => {
29
+ A_CommandFeatures2["onInit"] = "_A_Command_onInit";
30
+ A_CommandFeatures2["onBeforeExecute"] = "_A_Command_onBeforeExecute";
31
+ A_CommandFeatures2["onExecute"] = "_A_Command_onExecute";
32
+ A_CommandFeatures2["onAfterExecute"] = "_A_Command_onAfterExecute";
33
+ A_CommandFeatures2["onComplete"] = "_A_Command_onComplete";
34
+ A_CommandFeatures2["onFail"] = "_A_Command_onFail";
35
+ A_CommandFeatures2["onError"] = "_A_Command_onError";
36
+ return A_CommandFeatures2;
37
+ })(A_CommandFeatures || {});
38
+ var A_CommandEvent = /* @__PURE__ */ ((A_CommandEvent2) => {
39
+ A_CommandEvent2["onInit"] = "onInit";
40
+ A_CommandEvent2["onBeforeExecute"] = "onBeforeExecute";
41
+ A_CommandEvent2["onExecute"] = "onExecute";
42
+ A_CommandEvent2["onAfterExecute"] = "onAfterExecute";
43
+ A_CommandEvent2["onComplete"] = "onComplete";
44
+ A_CommandEvent2["onFail"] = "onFail";
45
+ A_CommandEvent2["onError"] = "onError";
46
+ return A_CommandEvent2;
47
+ })(A_CommandEvent || {});
48
+ var A_CommandError = class extends A_Error {
49
+ };
50
+ A_CommandError.CommandScopeBindingError = "A-Command Scope Binding Error";
51
+ A_CommandError.ExecutionError = "A-Command Execution Error";
52
+ A_CommandError.ResultProcessingError = "A-Command Result Processing Error";
53
+ /**
54
+ * Error indicating that the command was interrupted during execution
55
+ */
56
+ A_CommandError.CommandInterruptedError = "A-Command Interrupted Error";
57
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
58
+ var A_Command = class extends A_Entity {
59
+ /**
60
+ *
61
+ * A-Command represents an executable command with a specific code and parameters.
62
+ * It can be executed within a given scope and stores execution results and errors.
63
+ *
64
+ *
65
+ * A-Command should be context independent and execution logic should be based on attached components
66
+ *
67
+ * @param code
68
+ * @param params
69
+ */
70
+ constructor(params) {
71
+ super(params);
72
+ /** Map of event listeners organized by event name */
73
+ this._listeners = /* @__PURE__ */ new Map();
74
+ }
75
+ // ====================================================================
76
+ // ================== Static Command Information ======================
77
+ // ====================================================================
78
+ /**
79
+ * Static command identifier derived from the class name
80
+ * Used for command registration and serialization
81
+ */
82
+ static get code() {
83
+ return super.entity;
84
+ }
85
+ // ====================================================================
86
+ // ================== Public Getter Properties =======================
87
+ // ====================================================================
88
+ /**
89
+ * Total execution duration in milliseconds
90
+ *
91
+ * - If completed/failed: Returns total time from start to end
92
+ * - If currently executing: Returns elapsed time since start
93
+ * - If not started: Returns undefined
94
+ */
95
+ get duration() {
96
+ return this._endTime && this._startTime ? this._endTime.getTime() - this._startTime.getTime() : this._startTime ? (/* @__PURE__ */ new Date()).getTime() - this._startTime.getTime() : void 0;
97
+ }
98
+ /**
99
+ * Idle time before execution started in milliseconds
100
+ *
101
+ * Time between command creation and execution start.
102
+ * Useful for monitoring command queue performance.
103
+ */
104
+ get idleTime() {
105
+ return this._startTime && this._createdAt ? this._startTime.getTime() - this._createdAt.getTime() : void 0;
106
+ }
107
+ /**
108
+ * Command execution scope for dependency injection
109
+ *
110
+ * Provides access to components, services, and shared resources
111
+ * during command execution. Inherits from the scope where the
112
+ * command was registered.
113
+ */
114
+ get scope() {
115
+ return this._executionScope;
116
+ }
117
+ /**
118
+ * Execution context associated with the command
119
+ */
120
+ get context() {
121
+ return this.scope.resolve(A_ExecutionContext);
122
+ }
123
+ /**
124
+ * Unique command type identifier
125
+ *
126
+ * Derived from the class name and used for:
127
+ * - Command registration and resolution
128
+ * - Serialization and deserialization
129
+ * - Logging and debugging
130
+ *
131
+ * @example 'create-user-command', 'process-order-command'
132
+ */
133
+ get code() {
134
+ return this.constructor.code;
135
+ }
136
+ /**
137
+ * Current lifecycle status of the command
138
+ *
139
+ * Indicates the current phase in the command execution lifecycle.
140
+ * Used to track progress and determine available operations.
141
+ */
142
+ get status() {
143
+ return this._status;
144
+ }
145
+ /**
146
+ * Timestamp when the command was created
147
+ *
148
+ * Marks the initial instantiation time, useful for tracking
149
+ * command age and queue performance metrics.
150
+ */
151
+ get createdAt() {
152
+ return this._createdAt;
153
+ }
154
+ /**
155
+ * Timestamp when command execution started
156
+ *
157
+ * Undefined until execution begins. Used for calculating
158
+ * execution duration and idle time.
159
+ */
160
+ get startedAt() {
161
+ return this._startTime;
162
+ }
163
+ /**
164
+ * Timestamp when command execution ended
165
+ *
166
+ * Set when command reaches COMPLETED or FAILED status.
167
+ * Used for calculating total execution duration.
168
+ */
169
+ get endedAt() {
170
+ return this._endTime;
171
+ }
172
+ /**
173
+ * Result data produced by command execution
174
+ *
175
+ * Contains the output data from successful command execution.
176
+ * Undefined until command completes successfully.
177
+ */
178
+ get result() {
179
+ return this._result;
180
+ }
181
+ /**
182
+ * Array of errors that occurred during execution
183
+ *
184
+ * Automatically wraps native errors in A_Error instances
185
+ * for consistent error handling. Empty array if no errors occurred.
186
+ */
187
+ get error() {
188
+ return this._error;
189
+ }
190
+ /**
191
+ * Command initialization parameters
192
+ *
193
+ * Contains the input data used to create and configure the command.
194
+ * These parameters are immutable during command execution.
195
+ return new A_Error(err);
196
+ }
197
+ });
198
+ }
199
+
200
+ /**
201
+ * Command initialization parameters
202
+ *
203
+ * Contains the input data used to create and configure the command.
204
+ * These parameters are immutable during command execution.
205
+ */
206
+ get params() {
207
+ return this._params;
208
+ }
209
+ /**
210
+ * Indicates if the command has been processed (completed or failed)
211
+ *
212
+ * Returns true if the command has completed or failed, false otherwise.
213
+ */
214
+ get isProcessed() {
215
+ return this._status === "COMPLETED" /* COMPLETED */ || this._status === "FAILED" /* FAILED */;
216
+ }
217
+ async [_k = "_A_StateMachine_onBeforeTransition" /* onBeforeTransition */](transition, logger, ...args) {
218
+ this.checkScopeInheritance();
219
+ logger?.debug("yellow", `Command ${this.aseid.toString()} transitioning from ${transition.from} to ${transition.to}`);
220
+ }
221
+ async [_j = "created_initialized" /* CREATED_TO_INITIALIZED */](transition, ...args) {
222
+ if (this._status !== "CREATED" /* CREATED */) {
223
+ return;
224
+ }
225
+ this._createdAt = /* @__PURE__ */ new Date();
226
+ this._status = "INITIALIZED" /* INITIALIZED */;
227
+ this.emit("onInit" /* onInit */);
228
+ }
229
+ async [_i = "initialized_executing" /* INITIALIZED_TO_EXECUTING */](transition, ...args) {
230
+ if (this._status !== "INITIALIZED" /* INITIALIZED */ && this._status !== "CREATED" /* CREATED */) {
231
+ return;
232
+ }
233
+ this._startTime = /* @__PURE__ */ new Date();
234
+ this._status = "EXECUTING" /* EXECUTING */;
235
+ this.emit("onExecute" /* onExecute */);
236
+ }
237
+ /**
238
+ * Handles command completion after successful execution
239
+ *
240
+ * EXECUTION -> COMPLETED transition
241
+ */
242
+ async [_h = "executing_completed" /* EXECUTING_TO_COMPLETED */](transition, ...args) {
243
+ this._endTime = /* @__PURE__ */ new Date();
244
+ this._status = "COMPLETED" /* COMPLETED */;
245
+ this.emit("onComplete" /* onComplete */);
246
+ }
247
+ /**
248
+ * Handles command failure during execution
249
+ *
250
+ * EXECUTION -> FAILED transition
251
+ */
252
+ async [_g = "executing_failed" /* EXECUTING_TO_FAILED */](transition, error, ...args) {
253
+ this._endTime = /* @__PURE__ */ new Date();
254
+ this._status = "FAILED" /* FAILED */;
255
+ this.emit("onFail" /* onFail */);
256
+ }
257
+ /**
258
+ * Default behavior for Command Initialization uses StateMachine to transition states
259
+ */
260
+ async [_f = "_A_Command_onInit" /* onInit */](stateMachine, ...args) {
261
+ await stateMachine.transition("CREATED" /* CREATED */, "INITIALIZED" /* INITIALIZED */);
262
+ }
263
+ async [_e = "_A_Command_onBeforeExecute" /* onBeforeExecute */](stateMachine, ...args) {
264
+ await stateMachine.transition("INITIALIZED" /* INITIALIZED */, "EXECUTING" /* EXECUTING */);
265
+ }
266
+ async [_d = "_A_Command_onExecute" /* onExecute */](...args) {
267
+ }
268
+ /**
269
+ * By Default on AfterExecute calls the Completion method to mark the command as completed
270
+ *
271
+ * [!] This can be overridden to implement custom behavior using A_Feature overrides
272
+ */
273
+ async [_c = "_A_Command_onAfterExecute" /* onAfterExecute */](...args) {
274
+ }
275
+ async [_b = "_A_Command_onComplete" /* onComplete */](stateMachine, ...args) {
276
+ await stateMachine.transition("EXECUTING" /* EXECUTING */, "COMPLETED" /* COMPLETED */);
277
+ }
278
+ async [_a = "_A_Command_onFail" /* onFail */](stateMachine, operation, ...args) {
279
+ await stateMachine.transition("EXECUTING" /* EXECUTING */, "FAILED" /* FAILED */);
280
+ }
281
+ // --------------------------------------------------------------------------
282
+ // A-Command Lifecycle Methods
283
+ // --------------------------------------------------------------------------
284
+ /**
285
+ * Initializes the command before execution.
286
+ */
287
+ async init() {
288
+ await this.call("_A_Command_onInit" /* onInit */, this.scope);
289
+ }
290
+ /**
291
+ * Executes the command logic.
292
+ */
293
+ async execute() {
294
+ if (this.isProcessed) return;
295
+ try {
296
+ this.checkScopeInheritance();
297
+ const context = new A_ExecutionContext("execute-command");
298
+ this.scope.register(context);
299
+ await new Promise(async (resolve, reject) => {
300
+ try {
301
+ const onBeforeExecuteFeature = new A_Feature({
302
+ name: "_A_Command_onBeforeExecute" /* onBeforeExecute */,
303
+ component: this,
304
+ scope: this.scope
305
+ });
306
+ const onExecuteFeature = new A_Feature({
307
+ name: "_A_Command_onExecute" /* onExecute */,
308
+ component: this,
309
+ scope: this.scope
310
+ });
311
+ const onAfterExecuteFeature = new A_Feature({
312
+ name: "_A_Command_onAfterExecute" /* onAfterExecute */,
313
+ component: this,
314
+ scope: this.scope
315
+ });
316
+ this.on("onComplete" /* onComplete */, () => {
317
+ onBeforeExecuteFeature.interrupt();
318
+ onExecuteFeature.interrupt();
319
+ onAfterExecuteFeature.interrupt();
320
+ resolve();
321
+ });
322
+ this.on("onFail" /* onFail */, () => {
323
+ onBeforeExecuteFeature.interrupt();
324
+ onExecuteFeature.interrupt();
325
+ onAfterExecuteFeature.interrupt();
326
+ reject(this.error);
327
+ });
328
+ await onBeforeExecuteFeature.process(this.scope);
329
+ await onExecuteFeature.process(this.scope);
330
+ await onAfterExecuteFeature.process(this.scope);
331
+ if (this._origin === "invoked") {
332
+ await this.complete();
333
+ }
334
+ resolve();
335
+ } catch (error) {
336
+ reject(error);
337
+ }
338
+ });
339
+ } catch (error) {
340
+ let targetError = error instanceof A_Error ? error : new A_CommandError({
341
+ title: A_CommandError.ExecutionError,
342
+ description: `An error occurred while executing command "${this.aseid.toString()}".`,
343
+ originalError: error
344
+ });
345
+ await this.fail(targetError);
346
+ }
347
+ }
348
+ /**
349
+ * Marks the command as completed
350
+ *
351
+ *
352
+ * Calling This method will set the command status to COMPLETED, record the end time,
353
+ * store the result, emit the onComplete event, and destroy the execution scope.
354
+ *
355
+ * [!] After Calling this method, the command is considered fully processed And further processing will be INTERRUPTED.
356
+ * [!] If the command is already processed (COMPLETED or FAILED), this method does nothing.
357
+ * [!] This method can be called with optional result data to store with the command.
358
+ *
359
+ * @param result - Optional result data to store with the command
360
+ */
361
+ async complete(result) {
362
+ if (this.isProcessed) return;
363
+ this._status = "COMPLETED" /* COMPLETED */;
364
+ this._result = result;
365
+ await this.call("_A_Command_onComplete" /* onComplete */, this.scope);
366
+ this.scope.destroy();
367
+ }
368
+ /**
369
+ * Marks the command as failed
370
+ */
371
+ async fail(error) {
372
+ if (this.isProcessed) return;
373
+ this._status = "FAILED" /* FAILED */;
374
+ if (error) {
375
+ this._error = error;
376
+ this.scope.register(error);
377
+ }
378
+ await this.call("_A_Command_onFail" /* onFail */, this.scope);
379
+ this.scope.destroy();
380
+ }
381
+ // --------------------------------------------------------------------------
382
+ // A-Command Event-Emitter methods
383
+ // --------------------------------------------------------------------------
384
+ /**
385
+ * Registers an event listener for a specific event
386
+ *
387
+ * @param event
388
+ * @param listener
389
+ */
390
+ on(event, listener) {
391
+ if (!this._listeners.has(event)) {
392
+ this._listeners.set(event, /* @__PURE__ */ new Set());
393
+ }
394
+ this._listeners.get(event).add(listener);
395
+ }
396
+ /**
397
+ * Removes an event listener for a specific event
398
+ *
399
+ * @param event
400
+ * @param listener
401
+ */
402
+ off(event, listener) {
403
+ this._listeners.get(event)?.delete(listener);
404
+ }
405
+ /**
406
+ * Emits an event to all registered listeners
407
+ *
408
+ * @param event
409
+ */
410
+ emit(event) {
411
+ this._listeners.get(event)?.forEach(async (listener) => {
412
+ listener(this);
413
+ });
414
+ }
415
+ // --------------------------------------------------------------------------
416
+ // A-Entity Base Class Overrides
417
+ // --------------------------------------------------------------------------
418
+ // Serialization / Deserialization
419
+ // -------------------------------------------------------------------------
420
+ /**
421
+ * Allows to create a Command instance from new data
422
+ *
423
+ * @param newEntity
424
+ */
425
+ fromNew(newEntity) {
426
+ super.fromNew(newEntity);
427
+ this._origin = "invoked";
428
+ this._executionScope = new A_Scope({
429
+ name: `A-Command-Execution-Scope-${this.aseid.toString()}`,
430
+ components: [A_StateMachine]
431
+ });
432
+ this._createdAt = /* @__PURE__ */ new Date();
433
+ this._params = newEntity;
434
+ this._status = "CREATED" /* CREATED */;
435
+ }
436
+ /**
437
+ * Allows to convert serialized data to Command instance
438
+ *
439
+ * [!] By default it omits params as they are not stored in the serialized data
440
+ *
441
+ * @param serialized
442
+ */
443
+ fromJSON(serialized) {
444
+ super.fromJSON(serialized);
445
+ this._origin = "serialized";
446
+ this._executionScope = new A_Scope({
447
+ name: `A-Command-Execution-Scope-${this.aseid.toString()}`,
448
+ components: [A_StateMachine]
449
+ });
450
+ if (serialized.createdAt) this._createdAt = new Date(serialized.createdAt);
451
+ if (serialized.startedAt) this._startTime = new Date(serialized.startedAt);
452
+ if (serialized.endedAt) this._endTime = new Date(serialized.endedAt);
453
+ this._params = serialized.params;
454
+ this._status = serialized.status;
455
+ if (serialized.error)
456
+ this._error = new A_CommandError(serialized.error);
457
+ if (serialized.result)
458
+ this._result = serialized.result;
459
+ }
460
+ /**
461
+ * Converts the Command instance to a plain object
462
+ *
463
+ * @returns
464
+ */
465
+ toJSON() {
466
+ return {
467
+ ...super.toJSON(),
468
+ code: this.code,
469
+ status: this._status,
470
+ params: this._params,
471
+ createdAt: this._createdAt.toISOString(),
472
+ startedAt: this._startTime ? this._startTime.toISOString() : void 0,
473
+ endedAt: this._endTime ? this._endTime.toISOString() : void 0,
474
+ duration: this.duration,
475
+ idleTime: this.idleTime,
476
+ result: this.result,
477
+ error: this.error ? this.error.toJSON() : void 0
478
+ };
479
+ }
480
+ //============================================================================================
481
+ // Helpers Methods
482
+ //============================================================================================
483
+ /**
484
+ * Ensures that the command's execution scope inherits from the context scope
485
+ *
486
+ * Throws an error if the command is not bound to any context scope
487
+ */
488
+ checkScopeInheritance() {
489
+ let attachedScope;
490
+ try {
491
+ attachedScope = A_Context.scope(this);
492
+ } catch (error) {
493
+ throw new A_CommandError({
494
+ title: A_CommandError.CommandScopeBindingError,
495
+ description: `Command ${this.aseid.toString()} is not bound to any context scope. Ensure the command is properly registered within a context before execution.`,
496
+ originalError: error
497
+ });
498
+ }
499
+ if (!this.scope.isInheritedFrom(A_Context.scope(this))) {
500
+ this.scope.inherit(A_Context.scope(this));
501
+ }
502
+ }
503
+ };
504
+ __decorateClass([
505
+ A_Feature.Extend(),
506
+ __decorateParam(0, A_Inject(A_StateMachineTransition)),
507
+ __decorateParam(1, A_Inject(A_Logger))
508
+ ], A_Command.prototype, _k, 1);
509
+ __decorateClass([
510
+ A_Feature.Extend(),
511
+ __decorateParam(0, A_Inject(A_StateMachineTransition))
512
+ ], A_Command.prototype, _j, 1);
513
+ __decorateClass([
514
+ A_Feature.Extend(),
515
+ __decorateParam(0, A_Inject(A_StateMachineTransition))
516
+ ], A_Command.prototype, _i, 1);
517
+ __decorateClass([
518
+ A_Feature.Extend(),
519
+ __decorateParam(0, A_Inject(A_StateMachineTransition))
520
+ ], A_Command.prototype, _h, 1);
521
+ __decorateClass([
522
+ A_Feature.Extend(),
523
+ __decorateParam(0, A_Inject(A_StateMachineTransition)),
524
+ __decorateParam(1, A_Inject(A_Error))
525
+ ], A_Command.prototype, _g, 1);
526
+ __decorateClass([
527
+ A_Feature.Extend(),
528
+ __decorateParam(0, A_Inject(A_StateMachine))
529
+ ], A_Command.prototype, _f, 1);
530
+ __decorateClass([
531
+ A_Feature.Extend({
532
+ after: /.*/
533
+ }),
534
+ __decorateParam(0, A_Dependency.Required()),
535
+ __decorateParam(0, A_Inject(A_StateMachine))
536
+ ], A_Command.prototype, _e, 1);
537
+ __decorateClass([
538
+ A_Feature.Extend()
539
+ ], A_Command.prototype, _d, 1);
540
+ __decorateClass([
541
+ A_Feature.Extend()
542
+ ], A_Command.prototype, _c, 1);
543
+ __decorateClass([
544
+ A_Feature.Extend({
545
+ after: /.*/
546
+ }),
547
+ __decorateParam(0, A_Inject(A_StateMachine))
548
+ ], A_Command.prototype, _b, 1);
549
+ __decorateClass([
550
+ A_Feature.Extend({
551
+ after: /.*/
552
+ }),
553
+ __decorateParam(0, A_Dependency.Required()),
554
+ __decorateParam(0, A_Inject(A_StateMachine)),
555
+ __decorateParam(1, A_Inject(A_ExecutionContext))
556
+ ], A_Command.prototype, _a, 1);
557
+ A_Command = __decorateClass([
558
+ A_Frame.Entity({
559
+ namespace: "A-Utils",
560
+ name: "A-Command",
561
+ description: "Advanced Command Pattern Implementation with full lifecycle management, event handling, and state persistence. This entity allows to execute commands in distributed environment across multiple services."
562
+ })
563
+ ], A_Command);
564
+
565
+ export { A_Command, A_CommandError, A_CommandEvent, A_CommandFeatures, A_CommandTransitions, A_Command_Status };
566
+ //# sourceMappingURL=a-command.mjs.map
567
+ //# sourceMappingURL=a-command.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-Command/A-Command.constants.ts","../../src/lib/A-Command/A-Command.error.ts","../../src/lib/A-Command/A-Command.entity.ts"],"names":["A_Command_Status","A_CommandTransitions","A_CommandFeatures","A_CommandEvent","A_Error"],"mappings":"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","file":"a-command.mjs","sourcesContent":["/**\n * A-Command Status Enumeration\n * \n * Defines all possible states a command can be in during its lifecycle.\n * Commands progress through these states in a specific order:\n * CREATED → INITIALIZED → COMPILED → EXECUTING → COMPLETED/FAILED\n */\nexport enum A_Command_Status {\n /**\n * Initial state when command is instantiated but not yet ready for execution\n */\n CREATED = 'CREATED',\n\n /**\n * Command has been initialized with execution scope and dependencies\n */\n INITIALIZED = 'INITIALIZED',\n\n /**\n * Command has been compiled and is ready for execution\n */\n COMPILED = 'COMPILED',\n\n /**\n * Command is currently being executed\n */\n EXECUTING = 'EXECUTING',\n\n /**\n * Command has completed successfully\n */\n COMPLETED = 'COMPLETED',\n\n /**\n * Command execution has failed with errors\n */\n FAILED = 'FAILED',\n}\n\n\n/**\n * A-Command State Transitions\n * \n * Defines valid state transitions for command lifecycle management.\n * These transitions are used by the StateMachine to enforce proper command flow.\n */\nexport enum A_CommandTransitions {\n /** Transition from CREATED to INITIALIZED state */\n CREATED_TO_INITIALIZED = 'created_initialized',\n\n /** Transition from INITIALIZED to EXECUTING state */\n INITIALIZED_TO_EXECUTING = 'initialized_executing',\n\n /** Transition from EXECUTING to COMPLETED state (success path) */\n EXECUTING_TO_COMPLETED = 'executing_completed',\n\n /** Transition from EXECUTING to FAILED state (error path) */\n EXECUTING_TO_FAILED = 'executing_failed',\n}\n\n/**\n * A-Command Lifecycle Features\n * \n * Defines feature extension points that components can implement to customize\n * command behavior at different stages of the lifecycle.\n * \n * Components can use @A_Feature.Extend() decorator with these feature names\n * to inject custom logic into command execution.\n */\nexport enum A_CommandFeatures {\n /**\n * Triggered during command initialization phase\n * Use to set up execution environment, validate parameters, or prepare resources\n */\n onInit = '_A_Command_onInit',\n\n /**\n * Triggered before command execution starts\n * Use for pre-execution validation, logging, or setup tasks\n */\n onBeforeExecute = '_A_Command_onBeforeExecute',\n\n /**\n * Main command execution logic\n * Core business logic should be implemented here\n */\n onExecute = '_A_Command_onExecute',\n\n /**\n * Triggered after command execution completes (success or failure)\n * Use for cleanup, logging, or post-processing tasks\n */\n onAfterExecute = '_A_Command_onAfterExecute',\n\n /**\n * Triggered when command completes successfully\n * Use for success-specific operations like notifications or result processing\n */\n onComplete = '_A_Command_onComplete',\n\n /**\n * Triggered when command execution fails\n * Use for error handling, cleanup, or failure notifications\n */\n onFail = '_A_Command_onFail',\n\n /**\n * Triggered when an error occurs during execution\n * Use for error logging, transformation, or recovery attempts\n */\n onError = '_A_Command_onError',\n}\n\n\nexport enum A_CommandEvent {\n /**\n * Triggered during command initialization phase\n * Use to set up execution environment, validate parameters, or prepare resources\n */\n onInit = 'onInit',\n\n /**\n * Triggered before command execution starts\n * Use for pre-execution validation, logging, or setup tasks\n */\n onBeforeExecute = 'onBeforeExecute',\n\n /**\n * Main command execution logic\n * Core business logic should be implemented here\n */\n onExecute = 'onExecute',\n\n /**\n * Triggered after command execution completes (success or failure)\n * Use for cleanup, logging, or post-processing tasks\n */\n onAfterExecute = 'onAfterExecute',\n\n /**\n * Triggered when command completes successfully\n * Use for success-specific operations like notifications or result processing\n */\n onComplete = 'onComplete',\n\n /**\n * Triggered when command execution fails\n * Use for error handling, cleanup, or failure notifications\n */\n onFail = 'onFail',\n\n /**\n * Triggered when an error occurs during execution\n * Use for error logging, transformation, or recovery attempts\n */\n onError = 'onError',\n}\n\n/**\n * Type alias for command lifecycle event names\n * Represents all available events that can be listened to on a command instance\n */\nexport type A_CommandEvents = keyof typeof A_CommandEvent;\n\n\n\n\n\n","import { A_Error } from \"@adaas/a-concept\";\n\n\nexport class A_CommandError extends A_Error {\n\n\n static readonly CommandScopeBindingError = 'A-Command Scope Binding Error';\n\n static readonly ExecutionError = 'A-Command Execution Error';\n\n static readonly ResultProcessingError = 'A-Command Result Processing Error';\n\n\n /**\n * Error indicating that the command was interrupted during execution\n */\n static readonly CommandInterruptedError = 'A-Command Interrupted Error';\n}","import {\n A_Command_ExecutionContext,\n A_TYPES__Command_Init,\n A_TYPES__Command_Listener,\n A_TYPES__Command_Serialized\n} from \"./A-Command.types\";\nimport {\n A_CommandFeatures,\n A_Command_Status,\n A_CommandTransitions,\n A_CommandEvent\n} from \"./A-Command.constants\";\nimport { A_Context, A_Dependency, A_Entity, A_Error, A_Feature, A_Inject, A_Scope } from \"@adaas/a-concept\";\nimport { A_CommandError } from \"./A-Command.error\";\nimport { A_StateMachine, A_StateMachineFeatures, A_StateMachineTransition } from \"@adaas/a-utils/a-state-machine\";\nimport { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { A_ExecutionContext } from \"@adaas/a-utils/a-execution\";\nimport { A_Frame } from \"@adaas/a-frame\";\n\n/**\n * A_Command - Advanced Command Pattern Implementation\n * \n * A comprehensive command pattern implementation that encapsulates business logic\n * as executable commands with full lifecycle management, event handling, and \n * state persistence capabilities.\n * \n * ## Key Features\n * - **Structured Lifecycle**: Automatic progression through init → compile → execute → complete/fail\n * - **Event-Driven**: Subscribe to lifecycle events and emit custom events\n * - **State Persistence**: Full serialization/deserialization for cross-service communication\n * - **Type Safety**: Generic types for parameters, results, and custom events\n * - **Dependency Injection**: Integrated with A-Concept's DI system\n * - **Error Management**: Comprehensive error capture and handling\n * - **Execution Tracking**: Built-in timing and performance metrics\n * \n * ## Lifecycle Phases\n * 1. **CREATED** - Command instantiated but not initialized\n * 2. **INITIALIZED** - Execution scope and dependencies set up\n * 3. **COMPILED** - Ready for execution with all resources prepared\n * 4. **EXECUTING** - Currently running business logic\n * 5. **COMPLETED** - Successfully finished execution\n * 6. **FAILED** - Execution failed with errors captured\n * \n * @template InvokeType - Type definition for command parameters\n * @template ResultType - Type definition for command execution result\n * @template LifecycleEvents - Union type of custom lifecycle event names\n * \n * @example\n * ```typescript\n * // Define parameter and result types\n * interface UserCreateParams {\n * name: string;\n * email: string;\n * role: 'admin' | 'user';\n * }\n * \n * interface UserCreateResult {\n * userId: string;\n * success: boolean;\n * }\n * \n * // Create custom command\n * class CreateUserCommand extends A_Command<UserCreateParams, UserCreateResult> {}\n * \n * // Execute command\n * const command = new CreateUserCommand({\n * name: 'John Doe',\n * email: 'john@example.com',\n * role: 'user'\n * });\n * \n * scope.register(command);\n * await command.execute();\n * \n * console.log('Result:', command.result);\n * console.log('Status:', command.status);\n * ```\n */\n@A_Frame.Entity({\n namespace: 'A-Utils',\n name: 'A-Command',\n description: 'Advanced Command Pattern Implementation with full lifecycle management, event handling, and state persistence. This entity allows to execute commands in distributed environment across multiple services.'\n})\nexport class A_Command<\n InvokeType extends A_TYPES__Command_Init = A_TYPES__Command_Init,\n ResultType extends Record<string, any> = Record<string, any>,\n LifecycleEvents extends string | keyof typeof A_CommandEvent = keyof typeof A_CommandEvent,\n> extends A_Entity<InvokeType, A_TYPES__Command_Serialized<InvokeType, ResultType>> {\n\n // ====================================================================\n // ================== Static Command Information ======================\n // ====================================================================\n\n /**\n * Static command identifier derived from the class name\n * Used for command registration and serialization\n */\n static get code(): string {\n return super.entity;\n }\n\n // ====================================================================\n // ================== Instance Properties =============================\n // ====================================================================\n\n /** The origin of the command, used to know has it been created from serialization or invoked */\n protected _origin!: 'invoked' | 'serialized';\n\n /** Command execution scope for dependency injection and feature resolution */\n protected _executionScope!: A_Scope;\n\n /** Result data produced by successful command execution */\n protected _result?: ResultType;\n\n /** Set of errors that occurred during command execution */\n protected _error!: A_Error;\n\n /** Command initialization parameters */\n protected _params!: InvokeType;\n\n /** Current lifecycle status of the command */\n protected _status!: A_Command_Status\n\n /** Map of event listeners organized by event name */\n protected _listeners: Map<\n LifecycleEvents | keyof typeof A_CommandEvent,\n Set<A_TYPES__Command_Listener<InvokeType, ResultType, LifecycleEvents>>\n > = new Map();\n\n /** Timestamp when command execution started */\n protected _startTime?: Date;\n\n /** Timestamp when command execution ended */\n protected _endTime?: Date;\n\n /** Timestamp when command was created */\n protected _createdAt!: Date;\n\n\n // ====================================================================\n // ================== Public Getter Properties =======================\n // ====================================================================\n\n /**\n * Total execution duration in milliseconds\n * \n * - If completed/failed: Returns total time from start to end\n * - If currently executing: Returns elapsed time since start\n * - If not started: Returns undefined\n */\n get duration(): number | undefined {\n return this._endTime && this._startTime\n ? this._endTime.getTime() - this._startTime.getTime()\n : this._startTime\n ? new Date().getTime() - this._startTime.getTime()\n : undefined;\n }\n\n /**\n * Idle time before execution started in milliseconds\n * \n * Time between command creation and execution start.\n * Useful for monitoring command queue performance.\n */\n get idleTime(): number | undefined {\n return this._startTime && this._createdAt\n ? this._startTime.getTime() - this._createdAt.getTime()\n : undefined;\n }\n\n /**\n * Command execution scope for dependency injection\n * \n * Provides access to components, services, and shared resources\n * during command execution. Inherits from the scope where the\n * command was registered.\n */\n get scope(): A_Scope {\n return this._executionScope;\n }\n /**\n * Execution context associated with the command\n */\n get context(): A_ExecutionContext<A_Command_ExecutionContext<InvokeType, ResultType>> {\n return this.scope.resolve(A_ExecutionContext<A_Command_ExecutionContext<InvokeType, ResultType>>)!;\n }\n\n /**\n * Unique command type identifier\n * \n * Derived from the class name and used for:\n * - Command registration and resolution\n * - Serialization and deserialization\n * - Logging and debugging\n * \n * @example 'create-user-command', 'process-order-command'\n */\n get code(): string {\n return (this.constructor as typeof A_Command).code;\n }\n /**\n * Current lifecycle status of the command\n * \n * Indicates the current phase in the command execution lifecycle.\n * Used to track progress and determine available operations.\n */\n get status(): A_Command_Status {\n return this._status;\n }\n\n /**\n * Timestamp when the command was created\n * \n * Marks the initial instantiation time, useful for tracking\n * command age and queue performance metrics.\n */\n get createdAt(): Date {\n return this._createdAt!;\n }\n\n /**\n * Timestamp when command execution started\n * \n * Undefined until execution begins. Used for calculating\n * execution duration and idle time.\n */\n get startedAt(): Date | undefined {\n return this._startTime;\n }\n\n /**\n * Timestamp when command execution ended\n * \n * Set when command reaches COMPLETED or FAILED status.\n * Used for calculating total execution duration.\n */\n get endedAt(): Date | undefined {\n return this._endTime;\n }\n\n /**\n * Result data produced by command execution\n * \n * Contains the output data from successful command execution.\n * Undefined until command completes successfully.\n */\n get result(): ResultType | undefined {\n return this._result;\n }\n\n /**\n * Array of errors that occurred during execution\n * \n * Automatically wraps native errors in A_Error instances\n * for consistent error handling. Empty array if no errors occurred.\n */\n get error(): A_Error | undefined {\n return this._error;\n }\n\n /**\n * Command initialization parameters\n * \n * Contains the input data used to create and configure the command.\n * These parameters are immutable during command execution.\n return new A_Error(err);\n }\n });\n }\n\n /**\n * Command initialization parameters\n * \n * Contains the input data used to create and configure the command.\n * These parameters are immutable during command execution.\n */\n get params(): InvokeType {\n return this._params;\n }\n\n /**\n * Indicates if the command has been processed (completed or failed)\n * \n * Returns true if the command has completed or failed, false otherwise.\n */\n get isProcessed(): boolean {\n return this._status === A_Command_Status.COMPLETED\n || this._status === A_Command_Status.FAILED;\n }\n\n /**\n * \n * A-Command represents an executable command with a specific code and parameters.\n * It can be executed within a given scope and stores execution results and errors.\n * \n * \n * A-Command should be context independent and execution logic should be based on attached components \n * \n * @param code \n * @param params \n */\n constructor(\n /**\n * Command invocation parameters\n */\n params: InvokeType | A_TYPES__Command_Serialized<InvokeType, ResultType> | string,\n ) {\n super(params as any);\n }\n\n // --------------------------------------------------------------------------\n // A-StateMachine Feature Extensions\n // --------------------------------------------------------------------------\n @A_Feature.Extend()\n protected async [A_StateMachineFeatures.onBeforeTransition](\n @A_Inject(A_StateMachineTransition) transition: A_StateMachineTransition,\n @A_Inject(A_Logger) logger?: A_Logger,\n ...args: any[]\n ) {\n this.checkScopeInheritance();\n\n // and register all allowed status transitions\n // switch across allowed transitions, if not allowed throw an error\n logger?.debug('yellow', `Command ${this.aseid.toString()} transitioning from ${transition.from} to ${transition.to}`);\n }\n\n @A_Feature.Extend()\n protected async [A_CommandTransitions.CREATED_TO_INITIALIZED](\n @A_Inject(A_StateMachineTransition) transition: A_StateMachineTransition,\n ...args: any[]\n ): Promise<void> {\n if (this._status !== A_Command_Status.CREATED) {\n return;\n }\n\n this._createdAt = new Date();\n this._status = A_Command_Status.INITIALIZED;\n\n this.emit(A_CommandEvent.onInit);\n }\n\n @A_Feature.Extend()\n protected async [A_CommandTransitions.INITIALIZED_TO_EXECUTING](\n @A_Inject(A_StateMachineTransition) transition: A_StateMachineTransition,\n ...args: any[]\n ): Promise<void> {\n if (this._status !== A_Command_Status.INITIALIZED\n && this._status !== A_Command_Status.CREATED\n ) {\n return;\n }\n\n this._startTime = new Date();\n this._status = A_Command_Status.EXECUTING;\n\n this.emit(A_CommandEvent.onExecute);\n }\n\n @A_Feature.Extend()\n /**\n * Handles command completion after successful execution\n * \n * EXECUTION -> COMPLETED transition\n */\n protected async [A_CommandTransitions.EXECUTING_TO_COMPLETED](\n @A_Inject(A_StateMachineTransition) transition: A_StateMachineTransition,\n ...args: any[]\n ): Promise<void> {\n this._endTime = new Date();\n this._status = A_Command_Status.COMPLETED;\n\n this.emit(A_CommandEvent.onComplete);\n }\n\n @A_Feature.Extend()\n /**\n * Handles command failure during execution\n * \n * EXECUTION -> FAILED transition\n */\n protected async [A_CommandTransitions.EXECUTING_TO_FAILED](\n @A_Inject(A_StateMachineTransition) transition: A_StateMachineTransition,\n @A_Inject(A_Error) error: A_Error,\n ...args: any[]\n ): Promise<void> {\n this._endTime = new Date();\n\n this._status = A_Command_Status.FAILED;\n\n this.emit(A_CommandEvent.onFail);\n }\n\n\n // --------------------------------------------------------------------------\n // A-Command Lifecycle Feature Extensions\n // --------------------------------------------------------------------------\n @A_Feature.Extend()\n /**\n * Default behavior for Command Initialization uses StateMachine to transition states\n */\n protected async [A_CommandFeatures.onInit](\n @A_Inject(A_StateMachine) stateMachine: A_StateMachine,\n ...args: any[]\n ): Promise<void> {\n await stateMachine.transition(A_Command_Status.CREATED, A_Command_Status.INITIALIZED);\n }\n\n @A_Feature.Extend({\n after: /.*/\n })\n protected async [A_CommandFeatures.onBeforeExecute](\n @A_Dependency.Required()\n @A_Inject(A_StateMachine) stateMachine: A_StateMachine,\n ...args: any[]\n ): Promise<void> {\n await stateMachine.transition(A_Command_Status.INITIALIZED, A_Command_Status.EXECUTING);\n }\n\n @A_Feature.Extend()\n protected async [A_CommandFeatures.onExecute](\n ...args: any[]\n ): Promise<void> {\n }\n\n @A_Feature.Extend()\n /**\n * By Default on AfterExecute calls the Completion method to mark the command as completed\n * \n * [!] This can be overridden to implement custom behavior using A_Feature overrides\n */\n protected async [A_CommandFeatures.onAfterExecute](\n ...args: any[]\n ): Promise<void> {\n }\n\n @A_Feature.Extend({\n after: /.*/\n })\n protected async [A_CommandFeatures.onComplete](\n @A_Inject(A_StateMachine) stateMachine: A_StateMachine,\n ...args: any[]\n ): Promise<void> {\n await stateMachine.transition(A_Command_Status.EXECUTING, A_Command_Status.COMPLETED);\n }\n\n @A_Feature.Extend({\n after: /.*/\n })\n protected async [A_CommandFeatures.onFail](\n @A_Dependency.Required()\n @A_Inject(A_StateMachine) stateMachine: A_StateMachine,\n @A_Inject(A_ExecutionContext) operation: A_ExecutionContext<A_Command_ExecutionContext<InvokeType, ResultType>>,\n ...args: any[]\n ): Promise<void> {\n await stateMachine.transition(A_Command_Status.EXECUTING, A_Command_Status.FAILED);\n }\n\n // --------------------------------------------------------------------------\n // A-Command Lifecycle Methods\n // --------------------------------------------------------------------------\n /**\n * Initializes the command before execution.\n */\n async init(): Promise<void> {\n await this.call(A_CommandFeatures.onInit, this.scope);\n }\n\n /**\n * Executes the command logic.\n */\n async execute(): Promise<any> {\n\n if (this.isProcessed) return;\n\n try {\n this.checkScopeInheritance();\n\n const context = new A_ExecutionContext<A_Command_ExecutionContext<InvokeType, ResultType>>('execute-command');\n\n this.scope.register(context);\n\n await new Promise<void>(async (resolve, reject) => {\n\n try {\n const onBeforeExecuteFeature = new A_Feature({\n name: A_CommandFeatures.onBeforeExecute,\n component: this,\n scope: this.scope\n })\n\n const onExecuteFeature = new A_Feature({\n name: A_CommandFeatures.onExecute,\n component: this,\n scope: this.scope\n })\n\n const onAfterExecuteFeature = new A_Feature({\n name: A_CommandFeatures.onAfterExecute,\n component: this,\n scope: this.scope\n })\n\n\n\n this.on(A_CommandEvent.onComplete, () => {\n\n onBeforeExecuteFeature.interrupt();\n onExecuteFeature.interrupt();\n onAfterExecuteFeature.interrupt();\n\n resolve();\n });\n\n this.on(A_CommandEvent.onFail, () => {\n\n onBeforeExecuteFeature.interrupt();\n onExecuteFeature.interrupt();\n onAfterExecuteFeature.interrupt();\n\n reject(this.error);\n });\n\n\n await onBeforeExecuteFeature.process(this.scope);\n\n await onExecuteFeature.process(this.scope);\n\n await onAfterExecuteFeature.process(this.scope);\n\n /** only in case it was really invoked we automatically transit it to COMPLETED state */\n if (this._origin === 'invoked') {\n await this.complete();\n }\n\n resolve();\n\n } catch (error) {\n reject(error);\n }\n });\n\n } catch (error) {\n let targetError = error instanceof A_Error\n ? error\n : new A_CommandError({\n title: A_CommandError.ExecutionError,\n description: `An error occurred while executing command \"${this.aseid.toString()}\".`,\n originalError: error\n });\n\n await this.fail(targetError);\n }\n }\n\n /**\n * Marks the command as completed\n * \n * \n * Calling This method will set the command status to COMPLETED, record the end time,\n * store the result, emit the onComplete event, and destroy the execution scope.\n *\n * [!] After Calling this method, the command is considered fully processed And further processing will be INTERRUPTED. \n * [!] If the command is already processed (COMPLETED or FAILED), this method does nothing.\n * [!] This method can be called with optional result data to store with the command.\n * \n * @param result - Optional result data to store with the command\n */\n async complete(result?: ResultType) {\n if (this.isProcessed) return;\n\n this._status = A_Command_Status.COMPLETED;\n\n this._result = result;\n\n await this.call(A_CommandFeatures.onComplete, this.scope);\n\n this.scope.destroy();\n }\n\n\n\n /**\n * Marks the command as failed\n */\n async fail(error?: A_Error) {\n if (this.isProcessed) return;\n\n this._status = A_Command_Status.FAILED;\n if (error) {\n this._error = error;\n this.scope.register(error);\n }\n\n await this.call(A_CommandFeatures.onFail, this.scope);\n\n this.scope.destroy();\n }\n\n\n // -------------------------------------------------------------------------- \n // A-Command Event-Emitter methods\n // --------------------------------------------------------------------------\n\n /**\n * Registers an event listener for a specific event\n * \n * @param event \n * @param listener \n */\n on(event: LifecycleEvents | A_CommandEvent, listener: A_TYPES__Command_Listener<InvokeType, ResultType, LifecycleEvents>) {\n if (!this._listeners.has(event)) {\n this._listeners.set(event, new Set());\n }\n this._listeners.get(event)!.add(listener);\n }\n /**\n * Removes an event listener for a specific event\n * \n * @param event \n * @param listener \n */\n off(event: LifecycleEvents | A_CommandEvent, listener: A_TYPES__Command_Listener<InvokeType, ResultType, LifecycleEvents>) {\n this._listeners.get(event)?.delete(listener);\n }\n /**\n * Emits an event to all registered listeners\n * \n * @param event \n */\n emit(event: LifecycleEvents | keyof typeof A_CommandEvent) {\n this._listeners.get(event)?.forEach(async listener => {\n listener(this);\n });\n }\n\n\n // --------------------------------------------------------------------------\n // A-Entity Base Class Overrides\n // --------------------------------------------------------------------------\n // Serialization / Deserialization\n // -------------------------------------------------------------------------\n\n\n /**\n * Allows to create a Command instance from new data\n * \n * @param newEntity \n */\n fromNew(newEntity: InvokeType): void {\n super.fromNew(newEntity);\n\n this._origin = 'invoked';\n\n this._executionScope = new A_Scope({\n name: `A-Command-Execution-Scope-${this.aseid.toString()}`,\n components: [A_StateMachine],\n });\n\n this._createdAt = new Date();\n\n this._params = newEntity;\n\n this._status = A_Command_Status.CREATED;\n }\n\n\n\n /**\n * Allows to convert serialized data to Command instance\n * \n * [!] By default it omits params as they are not stored in the serialized data\n * \n * @param serialized \n */\n fromJSON(serialized: A_TYPES__Command_Serialized<InvokeType, ResultType>): void {\n super.fromJSON(serialized);\n\n this._origin = 'serialized';\n\n this._executionScope = new A_Scope({\n name: `A-Command-Execution-Scope-${this.aseid.toString()}`,\n components: [A_StateMachine],\n });\n\n if (serialized.createdAt) this._createdAt = new Date(serialized.createdAt);\n if (serialized.startedAt) this._startTime = new Date(serialized.startedAt);\n if (serialized.endedAt) this._endTime = new Date(serialized.endedAt);\n\n this._params = serialized.params\n this._status = serialized.status;\n\n if (serialized.error)\n this._error = new A_CommandError(serialized.error)\n\n if (serialized.result)\n this._result = serialized.result;\n }\n\n\n /**\n * Converts the Command instance to a plain object\n * \n * @returns \n */\n toJSON(): A_TYPES__Command_Serialized<InvokeType, ResultType> {\n return {\n ...super.toJSON(),\n code: this.code,\n status: this._status,\n params: this._params,\n createdAt: this._createdAt.toISOString(),\n startedAt: this._startTime ? this._startTime.toISOString() : undefined,\n endedAt: this._endTime ? this._endTime.toISOString() : undefined,\n duration: this.duration,\n idleTime: this.idleTime,\n result: this.result,\n error: this.error ? this.error.toJSON() : undefined,\n }\n };\n\n\n //============================================================================================\n // Helpers Methods\n //============================================================================================\n /**\n * Ensures that the command's execution scope inherits from the context scope\n * \n * Throws an error if the command is not bound to any context scope\n */\n protected checkScopeInheritance(): void {\n let attachedScope: A_Scope;\n\n try {\n attachedScope = A_Context.scope(this);\n } catch (error) {\n throw new A_CommandError({\n title: A_CommandError.CommandScopeBindingError,\n description: `Command ${this.aseid.toString()} is not bound to any context scope. Ensure the command is properly registered within a context before execution.`,\n originalError: error\n });\n }\n\n if (!this.scope.isInheritedFrom(A_Context.scope(this))) {\n this.scope.inherit(A_Context.scope(this));\n }\n }\n}\n\n"]}