@adaas/are 0.0.2 → 0.0.4

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 (760) hide show
  1. package/.conf/tsconfig.base.json +25 -32
  2. package/.conf/tsconfig.browser.json +24 -32
  3. package/.conf/tsconfig.node.json +24 -33
  4. package/CHANGELOG.md +39 -0
  5. package/LICENSE +10 -19
  6. package/README.md +216 -2
  7. package/dist/browser/index.d.mts +1375 -727
  8. package/dist/browser/index.mjs +2812 -2170
  9. package/dist/browser/index.mjs.map +1 -1
  10. package/dist/node/Are.context-9Ija_fdC.d.ts +846 -0
  11. package/dist/node/Are.context-D7w32H1G.d.mts +846 -0
  12. package/dist/node/index.d.mts +32 -31
  13. package/dist/node/index.d.ts +32 -31
  14. package/dist/node/index.js +371 -42
  15. package/dist/node/index.mjs +61 -14
  16. package/dist/node/lib/AreAttribute/AreAttribute.constants.d.mts +24 -0
  17. package/dist/node/lib/AreAttribute/AreAttribute.constants.d.ts +24 -0
  18. package/dist/node/lib/AreAttribute/AreAttribute.constants.js +28 -0
  19. package/dist/node/lib/AreAttribute/AreAttribute.constants.js.map +1 -0
  20. package/dist/node/lib/AreAttribute/AreAttribute.constants.mjs +28 -0
  21. package/dist/node/lib/AreAttribute/AreAttribute.constants.mjs.map +1 -0
  22. package/dist/node/lib/AreAttribute/AreAttribute.entity.d.mts +14 -0
  23. package/dist/node/lib/AreAttribute/AreAttribute.entity.d.ts +14 -0
  24. package/dist/node/lib/AreAttribute/AreAttribute.entity.js +113 -0
  25. package/dist/node/lib/AreAttribute/AreAttribute.entity.js.map +1 -0
  26. package/dist/node/lib/AreAttribute/AreAttribute.entity.mjs +104 -0
  27. package/dist/node/lib/AreAttribute/AreAttribute.entity.mjs.map +1 -0
  28. package/dist/node/lib/AreAttribute/AreAttribute.types.d.mts +47 -0
  29. package/dist/node/lib/AreAttribute/AreAttribute.types.d.ts +47 -0
  30. package/dist/node/lib/AreAttribute/AreAttribute.types.js +4 -0
  31. package/dist/node/lib/AreAttribute/AreAttribute.types.js.map +1 -0
  32. package/dist/node/lib/AreAttribute/AreAttribute.types.mjs +3 -0
  33. package/dist/node/lib/AreAttribute/AreAttribute.types.mjs.map +1 -0
  34. package/dist/node/lib/AreCompiler/AreCompiler.component.d.mts +19 -224
  35. package/dist/node/lib/AreCompiler/AreCompiler.component.d.ts +19 -224
  36. package/dist/node/lib/AreCompiler/AreCompiler.component.js +31 -607
  37. package/dist/node/lib/AreCompiler/AreCompiler.component.js.map +1 -1
  38. package/dist/node/lib/AreCompiler/AreCompiler.component.mjs +29 -605
  39. package/dist/node/lib/AreCompiler/AreCompiler.component.mjs.map +1 -1
  40. package/dist/node/lib/AreComponent/Are.component.d.mts +59 -7
  41. package/dist/node/lib/AreComponent/Are.component.d.ts +59 -7
  42. package/dist/node/lib/AreComponent/Are.component.js +84 -25
  43. package/dist/node/lib/AreComponent/Are.component.js.map +1 -1
  44. package/dist/node/lib/AreComponent/Are.component.mjs +85 -26
  45. package/dist/node/lib/AreComponent/Are.component.mjs.map +1 -1
  46. package/dist/node/lib/AreComponent/Are.constants.d.mts +46 -30
  47. package/dist/node/lib/AreComponent/Are.constants.d.ts +46 -30
  48. package/dist/node/lib/AreComponent/Are.constants.js +58 -21
  49. package/dist/node/lib/AreComponent/Are.constants.js.map +1 -1
  50. package/dist/node/lib/AreComponent/Are.constants.mjs +58 -21
  51. package/dist/node/lib/AreComponent/Are.constants.mjs.map +1 -1
  52. package/dist/node/lib/AreComponent/Are.context.d.mts +13 -21
  53. package/dist/node/lib/AreComponent/Are.context.d.ts +13 -21
  54. package/dist/node/lib/AreComponent/Are.context.js +91 -2
  55. package/dist/node/lib/AreComponent/Are.context.js.map +1 -1
  56. package/dist/node/lib/AreComponent/Are.context.mjs +92 -3
  57. package/dist/node/lib/AreComponent/Are.context.mjs.map +1 -1
  58. package/dist/node/lib/AreComponent/Are.meta.d.mts +14 -0
  59. package/dist/node/lib/AreComponent/Are.meta.d.ts +14 -0
  60. package/dist/node/lib/AreComponent/Are.meta.js +10 -0
  61. package/dist/node/lib/AreComponent/Are.meta.js.map +1 -0
  62. package/dist/node/lib/AreComponent/Are.meta.mjs +9 -0
  63. package/dist/node/lib/AreComponent/Are.meta.mjs.map +1 -0
  64. package/dist/node/lib/AreComponent/Are.types.d.mts +30 -1
  65. package/dist/node/lib/AreComponent/Are.types.d.ts +30 -1
  66. package/dist/node/lib/AreEngine/AreEngine.component.d.mts +77 -0
  67. package/dist/node/lib/AreEngine/AreEngine.component.d.ts +77 -0
  68. package/dist/node/lib/AreEngine/AreEngine.component.js +259 -0
  69. package/dist/node/lib/AreEngine/AreEngine.component.js.map +1 -0
  70. package/dist/node/lib/AreEngine/AreEngine.component.mjs +249 -0
  71. package/dist/node/lib/AreEngine/AreEngine.component.mjs.map +1 -0
  72. package/dist/node/lib/AreEngine/AreEngine.constants.d.mts +7 -0
  73. package/dist/node/lib/AreEngine/AreEngine.constants.d.ts +7 -0
  74. package/dist/node/lib/AreEngine/AreEngine.constants.js +11 -0
  75. package/dist/node/lib/AreEngine/AreEngine.constants.js.map +1 -0
  76. package/dist/node/lib/AreEngine/AreEngine.constants.mjs +11 -0
  77. package/dist/node/lib/AreEngine/AreEngine.constants.mjs.map +1 -0
  78. package/dist/node/lib/AreEngine/AreEngine.error.d.mts +7 -0
  79. package/dist/node/lib/AreEngine/AreEngine.error.d.ts +7 -0
  80. package/dist/node/lib/AreEngine/AreEngine.error.js +11 -0
  81. package/dist/node/lib/AreEngine/AreEngine.error.js.map +1 -0
  82. package/dist/node/lib/AreEngine/AreEngine.error.mjs +10 -0
  83. package/dist/node/lib/AreEngine/AreEngine.error.mjs.map +1 -0
  84. package/dist/node/lib/AreEngine/AreEngine.types.d.mts +40 -0
  85. package/dist/node/lib/AreEngine/AreEngine.types.d.ts +40 -0
  86. package/dist/node/lib/AreEngine/AreEngine.types.js +4 -0
  87. package/dist/node/lib/AreEngine/AreEngine.types.js.map +1 -0
  88. package/dist/node/lib/AreEngine/AreEngine.types.mjs +3 -0
  89. package/dist/node/lib/AreEngine/AreEngine.types.mjs.map +1 -0
  90. package/dist/node/lib/AreEvent/AreEvent.context.d.mts +6 -8
  91. package/dist/node/lib/AreEvent/AreEvent.context.d.ts +6 -8
  92. package/dist/node/lib/AreEvent/AreEvent.context.js +2 -12
  93. package/dist/node/lib/AreEvent/AreEvent.context.js.map +1 -1
  94. package/dist/node/lib/AreEvent/AreEvent.context.mjs +2 -12
  95. package/dist/node/lib/AreEvent/AreEvent.context.mjs.map +1 -1
  96. package/dist/node/lib/AreInstruction/AreInstruction.constants.d.mts +21 -0
  97. package/dist/node/lib/AreInstruction/AreInstruction.constants.d.ts +21 -0
  98. package/dist/node/lib/AreInstruction/AreInstruction.constants.js +26 -0
  99. package/dist/node/lib/AreInstruction/AreInstruction.constants.js.map +1 -0
  100. package/dist/node/lib/AreInstruction/AreInstruction.constants.mjs +25 -0
  101. package/dist/node/lib/AreInstruction/AreInstruction.constants.mjs.map +1 -0
  102. package/dist/node/lib/AreInstruction/AreInstruction.entity.d.mts +14 -0
  103. package/dist/node/lib/AreInstruction/AreInstruction.entity.d.ts +14 -0
  104. package/dist/node/lib/AreInstruction/AreInstruction.entity.js +152 -0
  105. package/dist/node/lib/AreInstruction/AreInstruction.entity.js.map +1 -0
  106. package/dist/node/lib/AreInstruction/AreInstruction.entity.mjs +145 -0
  107. package/dist/node/lib/AreInstruction/AreInstruction.entity.mjs.map +1 -0
  108. package/dist/node/lib/AreInstruction/AreInstruction.error.d.mts +6 -0
  109. package/dist/node/lib/AreInstruction/AreInstruction.error.d.ts +6 -0
  110. package/dist/node/lib/AreInstruction/AreInstruction.error.js +10 -0
  111. package/dist/node/lib/AreInstruction/AreInstruction.error.js.map +1 -0
  112. package/dist/node/lib/AreInstruction/AreInstruction.error.mjs +9 -0
  113. package/dist/node/lib/AreInstruction/AreInstruction.error.mjs.map +1 -0
  114. package/dist/node/lib/AreInstruction/AreInstruction.types.d.mts +14 -0
  115. package/dist/node/lib/AreInstruction/AreInstruction.types.d.ts +14 -0
  116. package/dist/node/lib/AreInstruction/AreInstruction.types.js +4 -0
  117. package/dist/node/lib/AreInstruction/AreInstruction.types.js.map +1 -0
  118. package/dist/node/lib/AreInstruction/AreInstruction.types.mjs +3 -0
  119. package/dist/node/lib/AreInstruction/AreInstruction.types.mjs.map +1 -0
  120. package/dist/node/lib/AreInstruction/types/AreDeclaration.instruction.d.mts +14 -0
  121. package/dist/node/lib/AreInstruction/types/AreDeclaration.instruction.d.ts +14 -0
  122. package/dist/node/lib/AreInstruction/types/AreDeclaration.instruction.js +37 -0
  123. package/dist/node/lib/AreInstruction/types/AreDeclaration.instruction.js.map +1 -0
  124. package/dist/node/lib/AreInstruction/types/AreDeclaration.instruction.mjs +30 -0
  125. package/dist/node/lib/AreInstruction/types/AreDeclaration.instruction.mjs.map +1 -0
  126. package/dist/node/lib/AreInstruction/types/AreMutation.instruction.d.mts +14 -0
  127. package/dist/node/lib/AreInstruction/types/AreMutation.instruction.d.ts +14 -0
  128. package/dist/node/lib/AreInstruction/types/AreMutation.instruction.js +52 -0
  129. package/dist/node/lib/AreInstruction/types/AreMutation.instruction.js.map +1 -0
  130. package/dist/node/lib/AreInstruction/types/AreMutation.instruction.mjs +45 -0
  131. package/dist/node/lib/AreInstruction/types/AreMutation.instruction.mjs.map +1 -0
  132. package/dist/node/lib/AreInterpreter/AreInterpreter.component.d.mts +49 -0
  133. package/dist/node/lib/AreInterpreter/AreInterpreter.component.d.ts +49 -0
  134. package/dist/node/lib/AreInterpreter/AreInterpreter.component.js +164 -0
  135. package/dist/node/lib/AreInterpreter/AreInterpreter.component.js.map +1 -0
  136. package/dist/node/lib/AreInterpreter/AreInterpreter.component.mjs +154 -0
  137. package/dist/node/lib/AreInterpreter/AreInterpreter.component.mjs.map +1 -0
  138. package/dist/node/lib/AreInterpreter/AreInterpreter.constants.js +4 -0
  139. package/dist/node/lib/AreInterpreter/AreInterpreter.constants.js.map +1 -0
  140. package/dist/node/lib/AreInterpreter/AreInterpreter.constants.mjs +3 -0
  141. package/dist/node/lib/AreInterpreter/AreInterpreter.constants.mjs.map +1 -0
  142. package/dist/node/lib/AreInterpreter/AreInterpreter.error.d.mts +6 -0
  143. package/dist/node/lib/AreInterpreter/AreInterpreter.error.d.ts +6 -0
  144. package/dist/node/lib/AreInterpreter/AreInterpreter.error.js +10 -0
  145. package/dist/node/lib/AreInterpreter/AreInterpreter.error.js.map +1 -0
  146. package/dist/node/lib/AreInterpreter/AreInterpreter.error.mjs +9 -0
  147. package/dist/node/lib/AreInterpreter/AreInterpreter.error.mjs.map +1 -0
  148. package/dist/node/lib/AreInterpreter/AreInterpreter.types.js +4 -0
  149. package/dist/node/lib/AreInterpreter/AreInterpreter.types.js.map +1 -0
  150. package/dist/node/lib/AreInterpreter/AreInterpreter.types.mjs +3 -0
  151. package/dist/node/lib/AreInterpreter/AreInterpreter.types.mjs.map +1 -0
  152. package/dist/node/lib/AreLifecycle/AreLifecycle.component.d.mts +188 -0
  153. package/dist/node/lib/AreLifecycle/AreLifecycle.component.d.ts +188 -0
  154. package/dist/node/lib/AreLifecycle/AreLifecycle.component.js +349 -0
  155. package/dist/node/lib/AreLifecycle/AreLifecycle.component.js.map +1 -0
  156. package/dist/node/lib/AreLifecycle/AreLifecycle.component.mjs +339 -0
  157. package/dist/node/lib/AreLifecycle/AreLifecycle.component.mjs.map +1 -0
  158. package/dist/node/lib/AreLifecycle/AreLifecycle.constants.d.mts +2 -0
  159. package/dist/node/lib/AreLifecycle/AreLifecycle.constants.d.ts +2 -0
  160. package/dist/node/lib/AreLifecycle/AreLifecycle.constants.js +4 -0
  161. package/dist/node/lib/AreLifecycle/AreLifecycle.constants.js.map +1 -0
  162. package/dist/node/lib/AreLifecycle/AreLifecycle.constants.mjs +3 -0
  163. package/dist/node/lib/AreLifecycle/AreLifecycle.constants.mjs.map +1 -0
  164. package/dist/node/lib/AreLifecycle/AreLifecycle.error.d.mts +7 -0
  165. package/dist/node/lib/AreLifecycle/AreLifecycle.error.d.ts +7 -0
  166. package/dist/node/lib/AreLifecycle/AreLifecycle.error.js +11 -0
  167. package/dist/node/lib/AreLifecycle/AreLifecycle.error.js.map +1 -0
  168. package/dist/node/lib/AreLifecycle/AreLifecycle.error.mjs +10 -0
  169. package/dist/node/lib/AreLifecycle/AreLifecycle.error.mjs.map +1 -0
  170. package/dist/node/lib/AreLifecycle/AreLifecycle.types.d.mts +2 -0
  171. package/dist/node/lib/AreLifecycle/AreLifecycle.types.d.ts +2 -0
  172. package/dist/node/lib/AreLifecycle/AreLifecycle.types.js +4 -0
  173. package/dist/node/lib/AreLifecycle/AreLifecycle.types.js.map +1 -0
  174. package/dist/node/lib/AreLifecycle/AreLifecycle.types.mjs +3 -0
  175. package/dist/node/lib/AreLifecycle/AreLifecycle.types.mjs.map +1 -0
  176. package/dist/node/lib/AreLoader/AreLoader.component.d.mts +31 -0
  177. package/dist/node/lib/AreLoader/AreLoader.component.d.ts +31 -0
  178. package/dist/node/lib/AreLoader/AreLoader.component.js +64 -0
  179. package/dist/node/lib/AreLoader/AreLoader.component.js.map +1 -0
  180. package/dist/node/lib/AreLoader/AreLoader.component.mjs +54 -0
  181. package/dist/node/lib/AreLoader/AreLoader.component.mjs.map +1 -0
  182. package/dist/node/lib/AreLoader/AreLoader.constants.d.mts +2 -0
  183. package/dist/node/lib/AreLoader/AreLoader.constants.d.ts +2 -0
  184. package/dist/node/lib/AreLoader/AreLoader.constants.js +4 -0
  185. package/dist/node/lib/AreLoader/AreLoader.constants.js.map +1 -0
  186. package/dist/node/lib/AreLoader/AreLoader.constants.mjs +3 -0
  187. package/dist/node/lib/AreLoader/AreLoader.constants.mjs.map +1 -0
  188. package/dist/node/lib/AreLoader/AreLoader.error.d.mts +8 -0
  189. package/dist/node/lib/AreLoader/AreLoader.error.d.ts +8 -0
  190. package/dist/node/lib/AreLoader/AreLoader.error.js +12 -0
  191. package/dist/node/lib/AreLoader/AreLoader.error.js.map +1 -0
  192. package/dist/node/lib/AreLoader/AreLoader.error.mjs +11 -0
  193. package/dist/node/lib/AreLoader/AreLoader.error.mjs.map +1 -0
  194. package/dist/node/lib/AreLoader/AreLoader.types.d.mts +2 -0
  195. package/dist/node/lib/AreLoader/AreLoader.types.d.ts +2 -0
  196. package/dist/node/lib/AreLoader/AreLoader.types.js +4 -0
  197. package/dist/node/lib/AreLoader/AreLoader.types.js.map +1 -0
  198. package/dist/node/lib/AreLoader/AreLoader.types.mjs +3 -0
  199. package/dist/node/lib/AreLoader/AreLoader.types.mjs.map +1 -0
  200. package/dist/node/lib/AreNode/AreNode.constants.d.mts +87 -17
  201. package/dist/node/lib/AreNode/AreNode.constants.d.ts +87 -17
  202. package/dist/node/lib/AreNode/AreNode.constants.js +111 -11
  203. package/dist/node/lib/AreNode/AreNode.constants.js.map +1 -1
  204. package/dist/node/lib/AreNode/AreNode.constants.mjs +111 -12
  205. package/dist/node/lib/AreNode/AreNode.constants.mjs.map +1 -1
  206. package/dist/node/lib/AreNode/AreNode.entity.d.mts +12 -6
  207. package/dist/node/lib/AreNode/AreNode.entity.d.ts +12 -6
  208. package/dist/node/lib/AreNode/AreNode.entity.js +281 -49
  209. package/dist/node/lib/AreNode/AreNode.entity.js.map +1 -1
  210. package/dist/node/lib/AreNode/AreNode.entity.mjs +282 -50
  211. package/dist/node/lib/AreNode/AreNode.entity.mjs.map +1 -1
  212. package/dist/node/lib/AreNode/AreNode.types.d.mts +14 -13
  213. package/dist/node/lib/AreNode/AreNode.types.d.ts +14 -13
  214. package/dist/node/lib/AreScene/AreScene.constants.d.mts +7 -0
  215. package/dist/node/lib/AreScene/AreScene.constants.d.ts +7 -0
  216. package/dist/node/lib/AreScene/AreScene.constants.js +11 -0
  217. package/dist/node/lib/AreScene/AreScene.constants.js.map +1 -0
  218. package/dist/node/lib/AreScene/AreScene.constants.mjs +11 -0
  219. package/dist/node/lib/AreScene/AreScene.constants.mjs.map +1 -0
  220. package/dist/node/lib/AreScene/AreScene.context.d.mts +12 -6
  221. package/dist/node/lib/AreScene/AreScene.context.d.ts +12 -6
  222. package/dist/node/lib/AreScene/AreScene.context.js +284 -186
  223. package/dist/node/lib/AreScene/AreScene.context.js.map +1 -1
  224. package/dist/node/lib/AreScene/AreScene.context.mjs +277 -185
  225. package/dist/node/lib/AreScene/AreScene.context.mjs.map +1 -1
  226. package/dist/node/lib/AreScene/AreScene.error.d.mts +4 -0
  227. package/dist/node/lib/AreScene/AreScene.error.d.ts +4 -0
  228. package/dist/node/lib/AreScene/AreScene.error.js +4 -0
  229. package/dist/node/lib/AreScene/AreScene.error.js.map +1 -1
  230. package/dist/node/lib/AreScene/AreScene.error.mjs +4 -0
  231. package/dist/node/lib/AreScene/AreScene.error.mjs.map +1 -1
  232. package/dist/node/lib/AreScene/AreScene.types.d.mts +14 -9
  233. package/dist/node/lib/AreScene/AreScene.types.d.ts +14 -9
  234. package/dist/node/lib/AreSignals/AreSignal.entity.d.mts +6 -0
  235. package/dist/node/lib/AreSignals/AreSignal.entity.d.ts +6 -0
  236. package/dist/node/lib/AreSignals/AreSignal.entity.js +24 -0
  237. package/dist/node/lib/AreSignals/AreSignal.entity.js.map +1 -0
  238. package/dist/node/lib/AreSignals/AreSignal.entity.mjs +17 -0
  239. package/dist/node/lib/AreSignals/AreSignal.entity.mjs.map +1 -0
  240. package/dist/node/lib/AreSignals/AreSignals.component.d.mts +35 -0
  241. package/dist/node/lib/AreSignals/AreSignals.component.d.ts +35 -0
  242. package/dist/node/lib/AreSignals/AreSignals.component.js +90 -0
  243. package/dist/node/lib/AreSignals/AreSignals.component.js.map +1 -0
  244. package/dist/node/lib/AreSignals/AreSignals.component.mjs +80 -0
  245. package/dist/node/lib/AreSignals/AreSignals.component.mjs.map +1 -0
  246. package/dist/node/lib/AreSignals/AreSignals.constants.d.mts +2 -0
  247. package/dist/node/lib/AreSignals/AreSignals.constants.d.ts +2 -0
  248. package/dist/node/lib/AreSignals/AreSignals.constants.js +4 -0
  249. package/dist/node/lib/AreSignals/AreSignals.constants.js.map +1 -0
  250. package/dist/node/lib/AreSignals/AreSignals.constants.mjs +3 -0
  251. package/dist/node/lib/AreSignals/AreSignals.constants.mjs.map +1 -0
  252. package/dist/node/lib/AreSignals/AreSignals.context.d.mts +86 -0
  253. package/dist/node/lib/AreSignals/AreSignals.context.d.ts +86 -0
  254. package/dist/node/lib/AreSignals/AreSignals.context.js +153 -0
  255. package/dist/node/lib/AreSignals/AreSignals.context.js.map +1 -0
  256. package/dist/node/lib/AreSignals/AreSignals.context.mjs +146 -0
  257. package/dist/node/lib/AreSignals/AreSignals.context.mjs.map +1 -0
  258. package/dist/node/lib/AreSignals/AreSignals.meta.d.mts +15 -0
  259. package/dist/node/lib/AreSignals/AreSignals.meta.d.ts +15 -0
  260. package/dist/node/lib/AreSignals/AreSignals.meta.js +48 -0
  261. package/dist/node/lib/AreSignals/AreSignals.meta.js.map +1 -0
  262. package/dist/node/lib/AreSignals/AreSignals.meta.mjs +47 -0
  263. package/dist/node/lib/AreSignals/AreSignals.meta.mjs.map +1 -0
  264. package/dist/node/lib/AreSignals/AreSignals.types.d.mts +18 -0
  265. package/dist/node/lib/AreSignals/AreSignals.types.d.ts +18 -0
  266. package/dist/node/lib/AreSignals/AreSignals.types.js +4 -0
  267. package/dist/node/lib/AreSignals/AreSignals.types.js.map +1 -0
  268. package/dist/node/lib/AreSignals/AreSignals.types.mjs +3 -0
  269. package/dist/node/lib/AreSignals/AreSignals.types.mjs.map +1 -0
  270. package/dist/node/lib/AreSignals/entities/AreInit.signal.d.mts +8 -0
  271. package/dist/node/lib/AreSignals/entities/AreInit.signal.d.ts +8 -0
  272. package/dist/node/lib/AreSignals/entities/AreInit.signal.js +13 -0
  273. package/dist/node/lib/AreSignals/entities/AreInit.signal.js.map +1 -0
  274. package/dist/node/lib/AreSignals/entities/AreInit.signal.mjs +12 -0
  275. package/dist/node/lib/AreSignals/entities/AreInit.signal.mjs.map +1 -0
  276. package/dist/node/lib/AreSignals/entities/AreRoute.signal.d.mts +12 -0
  277. package/dist/node/lib/AreSignals/entities/AreRoute.signal.d.ts +12 -0
  278. package/dist/node/lib/AreSignals/entities/AreRoute.signal.js +25 -0
  279. package/dist/node/lib/AreSignals/entities/AreRoute.signal.js.map +1 -0
  280. package/dist/node/lib/AreSignals/entities/AreRoute.signal.mjs +24 -0
  281. package/dist/node/lib/AreSignals/entities/AreRoute.signal.mjs.map +1 -0
  282. package/dist/node/lib/AreStore/AreStore.constants.d.mts +5 -0
  283. package/dist/node/lib/AreStore/AreStore.constants.d.ts +5 -0
  284. package/dist/node/lib/AreStore/AreStore.constants.js +9 -0
  285. package/dist/node/lib/AreStore/AreStore.constants.js.map +1 -0
  286. package/dist/node/lib/AreStore/AreStore.constants.mjs +9 -0
  287. package/dist/node/lib/AreStore/AreStore.constants.mjs.map +1 -0
  288. package/dist/node/lib/AreStore/AreStore.context.d.mts +14 -10
  289. package/dist/node/lib/AreStore/AreStore.context.d.ts +14 -10
  290. package/dist/node/lib/AreStore/AreStore.context.js +162 -6
  291. package/dist/node/lib/AreStore/AreStore.context.js.map +1 -1
  292. package/dist/node/lib/AreStore/AreStore.context.mjs +162 -6
  293. package/dist/node/lib/AreStore/AreStore.context.mjs.map +1 -1
  294. package/dist/node/lib/AreStore/AreStore.types.d.mts +9 -0
  295. package/dist/node/lib/AreStore/AreStore.types.d.ts +9 -0
  296. package/dist/node/lib/AreStore/AreStore.types.js +4 -0
  297. package/dist/node/lib/AreStore/AreStore.types.js.map +1 -0
  298. package/dist/node/lib/AreStore/AreStore.types.mjs +3 -0
  299. package/dist/node/lib/AreStore/AreStore.types.mjs.map +1 -0
  300. package/dist/node/lib/AreSyntax/AreSyntax.constants.d.mts +2 -0
  301. package/dist/node/lib/AreSyntax/AreSyntax.constants.d.ts +2 -0
  302. package/dist/node/lib/AreSyntax/AreSyntax.constants.js +4 -0
  303. package/dist/node/lib/AreSyntax/AreSyntax.constants.js.map +1 -0
  304. package/dist/node/lib/AreSyntax/AreSyntax.constants.mjs +3 -0
  305. package/dist/node/lib/AreSyntax/AreSyntax.constants.mjs.map +1 -0
  306. package/dist/node/lib/AreSyntax/AreSyntax.context.d.mts +99 -51
  307. package/dist/node/lib/AreSyntax/AreSyntax.context.d.ts +99 -51
  308. package/dist/node/lib/AreSyntax/AreSyntax.context.js +305 -73
  309. package/dist/node/lib/AreSyntax/AreSyntax.context.js.map +1 -1
  310. package/dist/node/lib/AreSyntax/AreSyntax.context.mjs +306 -74
  311. package/dist/node/lib/AreSyntax/AreSyntax.context.mjs.map +1 -1
  312. package/dist/node/lib/AreSyntax/AreSyntax.types.d.mts +14 -132
  313. package/dist/node/lib/AreSyntax/AreSyntax.types.d.ts +14 -132
  314. package/dist/node/lib/AreSyntax/AreSyntax.types.js.map +1 -1
  315. package/dist/node/lib/AreSyntax/AreSyntax.types.mjs.map +1 -1
  316. package/dist/node/lib/AreTokenizer/AreTokenizer.component.d.mts +43 -0
  317. package/dist/node/lib/AreTokenizer/AreTokenizer.component.d.ts +43 -0
  318. package/dist/node/lib/AreTokenizer/AreTokenizer.component.js +238 -0
  319. package/dist/node/lib/AreTokenizer/AreTokenizer.component.js.map +1 -0
  320. package/dist/node/lib/AreTokenizer/AreTokenizer.component.mjs +228 -0
  321. package/dist/node/lib/AreTokenizer/AreTokenizer.component.mjs.map +1 -0
  322. package/dist/node/lib/AreTokenizer/AreTokenizer.error.d.mts +6 -0
  323. package/dist/node/lib/AreTokenizer/AreTokenizer.error.d.ts +6 -0
  324. package/dist/node/lib/AreTokenizer/AreTokenizer.error.js +10 -0
  325. package/dist/node/lib/AreTokenizer/AreTokenizer.error.js.map +1 -0
  326. package/dist/node/lib/AreTokenizer/AreTokenizer.error.mjs +9 -0
  327. package/dist/node/lib/AreTokenizer/AreTokenizer.error.mjs.map +1 -0
  328. package/dist/node/lib/AreTransformer/AreTransformer.component.d.mts +20 -0
  329. package/dist/node/lib/AreTransformer/AreTransformer.component.d.ts +20 -0
  330. package/dist/node/lib/AreTransformer/AreTransformer.component.js +48 -0
  331. package/dist/node/lib/AreTransformer/AreTransformer.component.js.map +1 -0
  332. package/dist/node/lib/AreTransformer/AreTransformer.component.mjs +38 -0
  333. package/dist/node/lib/AreTransformer/AreTransformer.component.mjs.map +1 -0
  334. package/dist/node/lib/AreTransformer/AreTransformer.constants.d.mts +2 -0
  335. package/dist/node/lib/AreTransformer/AreTransformer.constants.d.ts +2 -0
  336. package/dist/node/lib/AreTransformer/AreTransformer.constants.js +4 -0
  337. package/dist/node/lib/AreTransformer/AreTransformer.constants.js.map +1 -0
  338. package/dist/node/lib/AreTransformer/AreTransformer.constants.mjs +3 -0
  339. package/dist/node/lib/AreTransformer/AreTransformer.constants.mjs.map +1 -0
  340. package/dist/node/lib/AreTransformer/AreTransformer.types.d.mts +2 -0
  341. package/dist/node/lib/AreTransformer/AreTransformer.types.d.ts +2 -0
  342. package/dist/node/lib/AreTransformer/AreTransformer.types.js +4 -0
  343. package/dist/node/lib/AreTransformer/AreTransformer.types.js.map +1 -0
  344. package/dist/node/lib/AreTransformer/AreTransformer.types.mjs +3 -0
  345. package/dist/node/lib/AreTransformer/AreTransformer.types.mjs.map +1 -0
  346. package/dist/node/lib/AreWatcher/AreWatcher.component.d.mts +18 -0
  347. package/dist/node/lib/AreWatcher/AreWatcher.component.d.ts +18 -0
  348. package/dist/node/lib/AreWatcher/AreWatcher.component.js +78 -0
  349. package/dist/node/lib/AreWatcher/AreWatcher.component.js.map +1 -0
  350. package/dist/node/lib/AreWatcher/AreWatcher.component.mjs +71 -0
  351. package/dist/node/lib/AreWatcher/AreWatcher.component.mjs.map +1 -0
  352. package/dist/node/lib/AreWatcher/AreWatcher.constants.d.mts +2 -0
  353. package/dist/node/lib/AreWatcher/AreWatcher.constants.d.ts +2 -0
  354. package/dist/node/lib/AreWatcher/AreWatcher.constants.js +4 -0
  355. package/dist/node/lib/AreWatcher/AreWatcher.constants.js.map +1 -0
  356. package/dist/node/lib/AreWatcher/AreWatcher.constants.mjs +3 -0
  357. package/dist/node/lib/AreWatcher/AreWatcher.constants.mjs.map +1 -0
  358. package/dist/node/lib/AreWatcher/AreWatcher.context.d.mts +2 -0
  359. package/dist/node/lib/AreWatcher/AreWatcher.context.d.ts +2 -0
  360. package/dist/node/lib/AreWatcher/AreWatcher.context.js +4 -0
  361. package/dist/node/lib/AreWatcher/AreWatcher.context.js.map +1 -0
  362. package/dist/node/lib/AreWatcher/AreWatcher.context.mjs +3 -0
  363. package/dist/node/lib/AreWatcher/AreWatcher.context.mjs.map +1 -0
  364. package/dist/node/lib/AreWatcher/AreWatcher.types.d.mts +2 -0
  365. package/dist/node/lib/AreWatcher/AreWatcher.types.d.ts +2 -0
  366. package/dist/node/lib/AreWatcher/AreWatcher.types.js +4 -0
  367. package/dist/node/lib/AreWatcher/AreWatcher.types.js.map +1 -0
  368. package/dist/node/lib/AreWatcher/AreWatcher.types.mjs +3 -0
  369. package/dist/node/lib/AreWatcher/AreWatcher.types.mjs.map +1 -0
  370. package/jest.config.ts +30 -19
  371. package/package.json +39 -23
  372. package/src/index.ts +92 -15
  373. package/src/lib/AreAttribute/AreAttribute.constants.ts +22 -0
  374. package/src/lib/AreAttribute/AreAttribute.entity.ts +136 -0
  375. package/src/lib/AreAttribute/AreAttribute.types.ts +51 -0
  376. package/src/lib/AreCompiler/AreCompiler.component.ts +48 -980
  377. package/src/lib/AreComponent/Are.component.ts +102 -50
  378. package/src/lib/AreComponent/Are.constants.ts +59 -39
  379. package/src/lib/AreComponent/Are.context.ts +120 -8
  380. package/src/lib/AreComponent/Are.meta.ts +16 -0
  381. package/src/lib/AreComponent/Are.types.ts +30 -0
  382. package/src/lib/AreEngine/AreEngine.component.ts +317 -0
  383. package/src/lib/AreEngine/AreEngine.constants.ts +7 -0
  384. package/src/lib/AreEngine/AreEngine.error.ts +9 -0
  385. package/src/lib/AreEngine/AreEngine.types.ts +24 -0
  386. package/src/lib/AreEvent/AreEvent.context.ts +3 -27
  387. package/src/lib/AreInstruction/AreInstruction.constants.ts +23 -0
  388. package/src/lib/AreInstruction/AreInstruction.entity.ts +207 -0
  389. package/src/lib/AreInstruction/AreInstruction.error.ts +7 -0
  390. package/src/lib/AreInstruction/AreInstruction.types.ts +63 -0
  391. package/src/lib/AreInstruction/types/AreDeclaration.instruction.ts +77 -0
  392. package/src/lib/AreInstruction/types/AreMutation.instruction.ts +87 -0
  393. package/src/lib/AreInterpreter/AreInterpreter.component.ts +208 -0
  394. package/src/lib/AreInterpreter/AreInterpreter.error.ts +6 -0
  395. package/src/lib/AreLifecycle/AreLifecycle.component.ts +638 -0
  396. package/src/lib/AreLifecycle/AreLifecycle.constants.ts +0 -0
  397. package/src/lib/AreLifecycle/AreLifecycle.error.ts +9 -0
  398. package/src/lib/AreLifecycle/AreLifecycle.types.ts +0 -0
  399. package/src/lib/AreLoader/AreLoader.component.ts +89 -0
  400. package/src/lib/AreLoader/AreLoader.constants.ts +0 -0
  401. package/src/lib/AreLoader/AreLoader.error.ts +10 -0
  402. package/src/lib/AreLoader/AreLoader.types.ts +0 -0
  403. package/src/lib/AreNode/AreNode.constants.ts +111 -16
  404. package/src/lib/AreNode/AreNode.entity.ts +380 -91
  405. package/src/lib/AreNode/AreNode.types.ts +7 -11
  406. package/src/lib/AreScene/AreScene.constants.ts +7 -0
  407. package/src/lib/AreScene/AreScene.context.ts +305 -284
  408. package/src/lib/AreScene/AreScene.error.ts +9 -1
  409. package/src/lib/AreScene/AreScene.types.ts +21 -3
  410. package/src/lib/AreSignals/AreSignal.entity.ts +17 -0
  411. package/src/lib/AreSignals/AreSignals.component.ts +98 -0
  412. package/src/lib/AreSignals/AreSignals.constants.ts +0 -0
  413. package/src/lib/AreSignals/AreSignals.context.ts +196 -0
  414. package/src/lib/AreSignals/AreSignals.meta.ts +75 -0
  415. package/src/lib/AreSignals/AreSignals.types.ts +18 -0
  416. package/src/lib/AreSignals/entities/AreInit.signal.ts +7 -0
  417. package/src/lib/AreSignals/entities/AreRoute.signal.ts +27 -0
  418. package/src/lib/AreStore/AreStore.constants.ts +6 -0
  419. package/src/lib/AreStore/AreStore.context.ts +243 -14
  420. package/src/lib/AreStore/AreStore.types.ts +19 -0
  421. package/src/lib/AreSyntax/AreSyntax.constants.ts +0 -0
  422. package/src/lib/AreSyntax/AreSyntax.context.ts +352 -78
  423. package/src/lib/AreSyntax/AreSyntax.types.ts +75 -139
  424. package/src/lib/AreTokenizer/AreTokenizer.component.ts +289 -0
  425. package/src/lib/AreTokenizer/AreTokenizer.error.ts +7 -0
  426. package/src/lib/AreTransformer/AreTransformer.component.ts +46 -0
  427. package/src/lib/AreTransformer/AreTransformer.constants.ts +0 -0
  428. package/src/lib/AreTransformer/AreTransformer.types.ts +0 -0
  429. package/src/lib/AreWatcher/AreWatcher.component.ts +84 -0
  430. package/src/lib/AreWatcher/AreWatcher.constants.ts +0 -0
  431. package/src/lib/AreWatcher/AreWatcher.context.ts +0 -0
  432. package/src/lib/AreWatcher/AreWatcher.types.ts +0 -0
  433. package/tests/AreInstruction.test.ts +73 -0
  434. package/tests/AreScene.test.ts +62 -0
  435. package/tests/AreSignals.test.ts +55 -0
  436. package/tests/AreTokenizer.test.ts +254 -0
  437. package/tests/jest.setup.ts +30 -0
  438. package/tsconfig.json +19 -19
  439. package/tsup.config.ts +6 -0
  440. package/dist/node/engines/html/AreHTML.compiler.d.mts +0 -114
  441. package/dist/node/engines/html/AreHTML.compiler.d.ts +0 -114
  442. package/dist/node/engines/html/AreHTML.compiler.js +0 -408
  443. package/dist/node/engines/html/AreHTML.compiler.js.map +0 -1
  444. package/dist/node/engines/html/AreHTML.compiler.mjs +0 -398
  445. package/dist/node/engines/html/AreHTML.compiler.mjs.map +0 -1
  446. package/dist/node/engines/html/AreHTML.engine.d.mts +0 -36
  447. package/dist/node/engines/html/AreHTML.engine.d.ts +0 -36
  448. package/dist/node/engines/html/AreHTML.engine.js +0 -122
  449. package/dist/node/engines/html/AreHTML.engine.js.map +0 -1
  450. package/dist/node/engines/html/AreHTML.engine.mjs +0 -112
  451. package/dist/node/engines/html/AreHTML.engine.mjs.map +0 -1
  452. package/dist/node/engines/html/index.d.mts +0 -26
  453. package/dist/node/engines/html/index.d.ts +0 -26
  454. package/dist/node/engines/html/index.js +0 -17
  455. package/dist/node/engines/html/index.js.map +0 -1
  456. package/dist/node/engines/html/index.mjs +0 -5
  457. package/dist/node/engines/html/index.mjs.map +0 -1
  458. package/dist/node/engines/json/AreJSON.compiler.d.mts +0 -21
  459. package/dist/node/engines/json/AreJSON.compiler.d.ts +0 -21
  460. package/dist/node/engines/json/AreJSON.compiler.js +0 -24
  461. package/dist/node/engines/json/AreJSON.compiler.js.map +0 -1
  462. package/dist/node/engines/json/AreJSON.compiler.mjs +0 -17
  463. package/dist/node/engines/json/AreJSON.compiler.mjs.map +0 -1
  464. package/dist/node/index-BD-6iOuR.d.ts +0 -238
  465. package/dist/node/index-DMXWCL7R.d.mts +0 -238
  466. package/dist/node/lib/AreApp/AreApp.container.d.mts +0 -22
  467. package/dist/node/lib/AreApp/AreApp.container.d.ts +0 -22
  468. package/dist/node/lib/AreApp/AreApp.container.js +0 -60
  469. package/dist/node/lib/AreApp/AreApp.container.js.map +0 -1
  470. package/dist/node/lib/AreApp/AreApp.container.mjs +0 -48
  471. package/dist/node/lib/AreApp/AreApp.container.mjs.map +0 -1
  472. package/dist/node/lib/AreApp/AreApp.env.js +0 -4
  473. package/dist/node/lib/AreApp/AreApp.env.js.map +0 -1
  474. package/dist/node/lib/AreApp/AreApp.env.mjs +0 -3
  475. package/dist/node/lib/AreApp/AreApp.env.mjs.map +0 -1
  476. package/dist/node/lib/AreApp/AreApp.error.d.mts +0 -6
  477. package/dist/node/lib/AreApp/AreApp.error.d.ts +0 -6
  478. package/dist/node/lib/AreApp/AreApp.error.js +0 -10
  479. package/dist/node/lib/AreApp/AreApp.error.js.map +0 -1
  480. package/dist/node/lib/AreApp/AreApp.error.mjs +0 -9
  481. package/dist/node/lib/AreApp/AreApp.error.mjs.map +0 -1
  482. package/dist/node/lib/AreApp/AreApp.types.js +0 -4
  483. package/dist/node/lib/AreApp/AreApp.types.js.map +0 -1
  484. package/dist/node/lib/AreApp/AreApp.types.mjs +0 -3
  485. package/dist/node/lib/AreApp/AreApp.types.mjs.map +0 -1
  486. package/dist/node/lib/AreApp/index.d.mts +0 -17
  487. package/dist/node/lib/AreApp/index.d.ts +0 -17
  488. package/dist/node/lib/AreApp/index.js +0 -24
  489. package/dist/node/lib/AreApp/index.js.map +0 -1
  490. package/dist/node/lib/AreApp/index.mjs +0 -6
  491. package/dist/node/lib/AreApp/index.mjs.map +0 -1
  492. package/dist/node/lib/AreCompiler/index.d.mts +0 -17
  493. package/dist/node/lib/AreCompiler/index.d.ts +0 -17
  494. package/dist/node/lib/AreCompiler/index.js +0 -24
  495. package/dist/node/lib/AreCompiler/index.js.map +0 -1
  496. package/dist/node/lib/AreCompiler/index.mjs +0 -6
  497. package/dist/node/lib/AreCompiler/index.mjs.map +0 -1
  498. package/dist/node/lib/AreComponent/index.d.mts +0 -11
  499. package/dist/node/lib/AreComponent/index.d.ts +0 -11
  500. package/dist/node/lib/AreComponent/index.js +0 -31
  501. package/dist/node/lib/AreComponent/index.js.map +0 -1
  502. package/dist/node/lib/AreComponent/index.mjs +0 -7
  503. package/dist/node/lib/AreComponent/index.mjs.map +0 -1
  504. package/dist/node/lib/AreEvent/index.d.mts +0 -8
  505. package/dist/node/lib/AreEvent/index.d.ts +0 -8
  506. package/dist/node/lib/AreEvent/index.js +0 -19
  507. package/dist/node/lib/AreEvent/index.js.map +0 -1
  508. package/dist/node/lib/AreEvent/index.mjs +0 -5
  509. package/dist/node/lib/AreEvent/index.mjs.map +0 -1
  510. package/dist/node/lib/AreIndex/AreIndex.context.d.mts +0 -8
  511. package/dist/node/lib/AreIndex/AreIndex.context.d.ts +0 -8
  512. package/dist/node/lib/AreIndex/AreIndex.context.js +0 -142
  513. package/dist/node/lib/AreIndex/AreIndex.context.js.map +0 -1
  514. package/dist/node/lib/AreIndex/AreIndex.context.mjs +0 -141
  515. package/dist/node/lib/AreIndex/AreIndex.context.mjs.map +0 -1
  516. package/dist/node/lib/AreIndex/index.d.mts +0 -8
  517. package/dist/node/lib/AreIndex/index.d.ts +0 -8
  518. package/dist/node/lib/AreIndex/index.js +0 -12
  519. package/dist/node/lib/AreIndex/index.js.map +0 -1
  520. package/dist/node/lib/AreIndex/index.mjs +0 -4
  521. package/dist/node/lib/AreIndex/index.mjs.map +0 -1
  522. package/dist/node/lib/AreNode/index.d.mts +0 -9
  523. package/dist/node/lib/AreNode/index.d.ts +0 -9
  524. package/dist/node/lib/AreNode/index.js +0 -26
  525. package/dist/node/lib/AreNode/index.js.map +0 -1
  526. package/dist/node/lib/AreNode/index.mjs +0 -6
  527. package/dist/node/lib/AreNode/index.mjs.map +0 -1
  528. package/dist/node/lib/AreProps/AreProps.context.d.mts +0 -9
  529. package/dist/node/lib/AreProps/AreProps.context.d.ts +0 -9
  530. package/dist/node/lib/AreProps/AreProps.context.js +0 -32
  531. package/dist/node/lib/AreProps/AreProps.context.js.map +0 -1
  532. package/dist/node/lib/AreProps/AreProps.context.mjs +0 -25
  533. package/dist/node/lib/AreProps/AreProps.context.mjs.map +0 -1
  534. package/dist/node/lib/AreProps/index.d.mts +0 -3
  535. package/dist/node/lib/AreProps/index.d.ts +0 -3
  536. package/dist/node/lib/AreProps/index.js +0 -12
  537. package/dist/node/lib/AreProps/index.js.map +0 -1
  538. package/dist/node/lib/AreProps/index.mjs +0 -4
  539. package/dist/node/lib/AreProps/index.mjs.map +0 -1
  540. package/dist/node/lib/AreRoot/AreRoot.component.d.mts +0 -18
  541. package/dist/node/lib/AreRoot/AreRoot.component.d.ts +0 -18
  542. package/dist/node/lib/AreRoot/AreRoot.component.js +0 -53
  543. package/dist/node/lib/AreRoot/AreRoot.component.js.map +0 -1
  544. package/dist/node/lib/AreRoot/AreRoot.component.mjs +0 -41
  545. package/dist/node/lib/AreRoot/AreRoot.component.mjs.map +0 -1
  546. package/dist/node/lib/AreRoot/index.d.mts +0 -11
  547. package/dist/node/lib/AreRoot/index.d.ts +0 -11
  548. package/dist/node/lib/AreRoot/index.js +0 -12
  549. package/dist/node/lib/AreRoot/index.js.map +0 -1
  550. package/dist/node/lib/AreRoot/index.mjs +0 -4
  551. package/dist/node/lib/AreRoot/index.mjs.map +0 -1
  552. package/dist/node/lib/AreRouter/AreRouter.componeent.d.mts +0 -17
  553. package/dist/node/lib/AreRouter/AreRouter.componeent.d.ts +0 -17
  554. package/dist/node/lib/AreRouter/AreRouter.componeent.js +0 -37
  555. package/dist/node/lib/AreRouter/AreRouter.componeent.js.map +0 -1
  556. package/dist/node/lib/AreRouter/AreRouter.componeent.mjs +0 -25
  557. package/dist/node/lib/AreRouter/AreRouter.componeent.mjs.map +0 -1
  558. package/dist/node/lib/AreRouter/index.d.mts +0 -12
  559. package/dist/node/lib/AreRouter/index.d.ts +0 -12
  560. package/dist/node/lib/AreRouter/index.js +0 -12
  561. package/dist/node/lib/AreRouter/index.js.map +0 -1
  562. package/dist/node/lib/AreRouter/index.mjs +0 -4
  563. package/dist/node/lib/AreRouter/index.mjs.map +0 -1
  564. package/dist/node/lib/AreScene/index.d.mts +0 -9
  565. package/dist/node/lib/AreScene/index.d.ts +0 -9
  566. package/dist/node/lib/AreScene/index.js +0 -24
  567. package/dist/node/lib/AreScene/index.js.map +0 -1
  568. package/dist/node/lib/AreScene/index.mjs +0 -6
  569. package/dist/node/lib/AreScene/index.mjs.map +0 -1
  570. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.d.mts +0 -7
  571. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.d.ts +0 -7
  572. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.js +0 -12
  573. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.js.map +0 -1
  574. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.mjs +0 -12
  575. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.mjs.map +0 -1
  576. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.d.mts +0 -8
  577. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.d.ts +0 -8
  578. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.js +0 -95
  579. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.js.map +0 -1
  580. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.mjs +0 -94
  581. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.mjs.map +0 -1
  582. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.d.mts +0 -8
  583. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.d.ts +0 -8
  584. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.js +0 -4
  585. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.js.map +0 -1
  586. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.mjs +0 -3
  587. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.mjs.map +0 -1
  588. package/dist/node/lib/AreSceneInstruction/index.d.mts +0 -19
  589. package/dist/node/lib/AreSceneInstruction/index.d.ts +0 -19
  590. package/dist/node/lib/AreSceneInstruction/index.js +0 -33
  591. package/dist/node/lib/AreSceneInstruction/index.js.map +0 -1
  592. package/dist/node/lib/AreSceneInstruction/index.mjs +0 -7
  593. package/dist/node/lib/AreSceneInstruction/index.mjs.map +0 -1
  594. package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.d.mts +0 -19
  595. package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.d.ts +0 -19
  596. package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.js +0 -27
  597. package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.js.map +0 -1
  598. package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.mjs +0 -26
  599. package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.mjs.map +0 -1
  600. package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.d.mts +0 -20
  601. package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.d.ts +0 -20
  602. package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.js +0 -27
  603. package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.js.map +0 -1
  604. package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.mjs +0 -26
  605. package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.mjs.map +0 -1
  606. package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.d.mts +0 -17
  607. package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.d.ts +0 -17
  608. package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.js +0 -23
  609. package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.js.map +0 -1
  610. package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.mjs +0 -22
  611. package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.mjs.map +0 -1
  612. package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.d.mts +0 -19
  613. package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.d.ts +0 -19
  614. package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.js +0 -27
  615. package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.js.map +0 -1
  616. package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.mjs +0 -26
  617. package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.mjs.map +0 -1
  618. package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.d.mts +0 -23
  619. package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.d.ts +0 -23
  620. package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.js +0 -41
  621. package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.js.map +0 -1
  622. package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.mjs +0 -40
  623. package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.mjs.map +0 -1
  624. package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.d.mts +0 -15
  625. package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.d.ts +0 -15
  626. package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.js +0 -21
  627. package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.js.map +0 -1
  628. package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.mjs +0 -20
  629. package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.mjs.map +0 -1
  630. package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.d.mts +0 -17
  631. package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.d.ts +0 -17
  632. package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.js +0 -23
  633. package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.js.map +0 -1
  634. package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.mjs +0 -22
  635. package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.mjs.map +0 -1
  636. package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.d.mts +0 -23
  637. package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.d.ts +0 -23
  638. package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.js +0 -34
  639. package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.js.map +0 -1
  640. package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.mjs +0 -33
  641. package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.mjs.map +0 -1
  642. package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.d.mts +0 -16
  643. package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.d.ts +0 -16
  644. package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.js +0 -20
  645. package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.js.map +0 -1
  646. package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.mjs +0 -19
  647. package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.mjs.map +0 -1
  648. package/dist/node/lib/AreSceneInstruction/types/index.d.mts +0 -18
  649. package/dist/node/lib/AreSceneInstruction/types/index.d.ts +0 -18
  650. package/dist/node/lib/AreSceneInstruction/types/index.js +0 -52
  651. package/dist/node/lib/AreSceneInstruction/types/index.js.map +0 -1
  652. package/dist/node/lib/AreSceneInstruction/types/index.mjs +0 -12
  653. package/dist/node/lib/AreSceneInstruction/types/index.mjs.map +0 -1
  654. package/dist/node/lib/AreSlot/AreSlot.component.d.mts +0 -8
  655. package/dist/node/lib/AreSlot/AreSlot.component.d.ts +0 -8
  656. package/dist/node/lib/AreSlot/AreSlot.component.js +0 -37
  657. package/dist/node/lib/AreSlot/AreSlot.component.js.map +0 -1
  658. package/dist/node/lib/AreSlot/AreSlot.component.mjs +0 -36
  659. package/dist/node/lib/AreSlot/AreSlot.component.mjs.map +0 -1
  660. package/dist/node/lib/AreStore/index.d.mts +0 -3
  661. package/dist/node/lib/AreStore/index.d.ts +0 -3
  662. package/dist/node/lib/AreStore/index.js +0 -12
  663. package/dist/node/lib/AreStore/index.js.map +0 -1
  664. package/dist/node/lib/AreStore/index.mjs +0 -4
  665. package/dist/node/lib/AreStore/index.mjs.map +0 -1
  666. package/dist/node/lib/AreSyntax/AreSyntax.component.d.mts +0 -89
  667. package/dist/node/lib/AreSyntax/AreSyntax.component.d.ts +0 -89
  668. package/dist/node/lib/AreSyntax/AreSyntax.component.js +0 -241
  669. package/dist/node/lib/AreSyntax/AreSyntax.component.js.map +0 -1
  670. package/dist/node/lib/AreSyntax/AreSyntax.component.mjs +0 -232
  671. package/dist/node/lib/AreSyntax/AreSyntax.component.mjs.map +0 -1
  672. package/dist/node/lib/AreSyntax/index.d.mts +0 -12
  673. package/dist/node/lib/AreSyntax/index.d.ts +0 -12
  674. package/dist/node/lib/AreSyntax/index.js +0 -29
  675. package/dist/node/lib/AreSyntax/index.js.map +0 -1
  676. package/dist/node/lib/AreSyntax/index.mjs +0 -7
  677. package/dist/node/lib/AreSyntax/index.mjs.map +0 -1
  678. package/dist/node/signals/AreInit.signal.d.mts +0 -7
  679. package/dist/node/signals/AreInit.signal.d.ts +0 -7
  680. package/dist/node/signals/AreInit.signal.js +0 -13
  681. package/dist/node/signals/AreInit.signal.js.map +0 -1
  682. package/dist/node/signals/AreInit.signal.mjs +0 -12
  683. package/dist/node/signals/AreInit.signal.mjs.map +0 -1
  684. package/dist/node/signals/AreRoute.signal.d.mts +0 -12
  685. package/dist/node/signals/AreRoute.signal.d.ts +0 -12
  686. package/dist/node/signals/AreRoute.signal.js +0 -24
  687. package/dist/node/signals/AreRoute.signal.js.map +0 -1
  688. package/dist/node/signals/AreRoute.signal.mjs +0 -23
  689. package/dist/node/signals/AreRoute.signal.mjs.map +0 -1
  690. package/dist/node/signals/index.d.mts +0 -4
  691. package/dist/node/signals/index.d.ts +0 -4
  692. package/dist/node/signals/index.js +0 -17
  693. package/dist/node/signals/index.js.map +0 -1
  694. package/dist/node/signals/index.mjs +0 -5
  695. package/dist/node/signals/index.mjs.map +0 -1
  696. package/examples/jumpstart/concept.ts +0 -60
  697. package/examples/jumpstart/containers/UI.container.ts +0 -172
  698. package/examples/jumpstart/dist/index.html +0 -22
  699. package/examples/jumpstart/dist/mls3rrlq-lofs95.js +0 -129
  700. package/examples/jumpstart/dist/static/css/main.css +0 -40
  701. package/examples/jumpstart/dist/static/img/test.png +0 -0
  702. package/examples/jumpstart/public/index.html +0 -22
  703. package/examples/jumpstart/public/static/css/main.css +0 -40
  704. package/examples/jumpstart/public/static/img/test.png +0 -0
  705. package/examples/jumpstart/src/components/A-Btn.component.ts +0 -124
  706. package/examples/jumpstart/src/components/A-Input.component.ts +0 -78
  707. package/examples/jumpstart/src/components/A-Navigation.component.ts +0 -167
  708. package/examples/jumpstart/src/components/SignInComponent.component.ts +0 -127
  709. package/examples/jumpstart/src/concept.ts +0 -92
  710. package/src/engines/html/AreHTML.compiler.ts +0 -657
  711. package/src/engines/html/AreHTML.engine.ts +0 -62
  712. package/src/engines/html/index.ts +0 -2
  713. package/src/engines/json/AreJSON.compiler.ts +0 -13
  714. package/src/lib/AreApp/AreApp.container.ts +0 -77
  715. package/src/lib/AreApp/AreApp.error.ts +0 -7
  716. package/src/lib/AreApp/index.ts +0 -4
  717. package/src/lib/AreCompiler/index.ts +0 -3
  718. package/src/lib/AreComponent/index.ts +0 -4
  719. package/src/lib/AreEvent/index.ts +0 -2
  720. package/src/lib/AreIndex/AreIndex.context.ts +0 -174
  721. package/src/lib/AreIndex/index.ts +0 -1
  722. package/src/lib/AreNode/index.ts +0 -4
  723. package/src/lib/AreProps/AreProps.context.ts +0 -26
  724. package/src/lib/AreProps/index.ts +0 -1
  725. package/src/lib/AreRoot/AreRoot.component.ts +0 -54
  726. package/src/lib/AreRoot/index.ts +0 -1
  727. package/src/lib/AreRouter/AreRouter.componeent.ts +0 -24
  728. package/src/lib/AreRouter/index.ts +0 -1
  729. package/src/lib/AreScene/index.ts +0 -3
  730. package/src/lib/AreSceneInstruction/AreSceneInstruction.constants.ts +0 -7
  731. package/src/lib/AreSceneInstruction/AreSceneInstruction.entity.ts +0 -156
  732. package/src/lib/AreSceneInstruction/AreSceneInstruction.types.ts +0 -8
  733. package/src/lib/AreSceneInstruction/index.ts +0 -4
  734. package/src/lib/AreSceneInstruction/types/AddAttribute.instruction.ts +0 -34
  735. package/src/lib/AreSceneInstruction/types/AddDirective.instruction.ts +0 -36
  736. package/src/lib/AreSceneInstruction/types/AddStyle.instruction.ts +0 -26
  737. package/src/lib/AreSceneInstruction/types/AddStyleProperty.instruction.ts +0 -32
  738. package/src/lib/AreSceneInstruction/types/AttachListener.instruction.ts +0 -57
  739. package/src/lib/AreSceneInstruction/types/AttachRootNode.instruction.ts +0 -23
  740. package/src/lib/AreSceneInstruction/types/MountNode.instruction.ts +0 -29
  741. package/src/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.ts +0 -45
  742. package/src/lib/AreSceneInstruction/types/UnmountNode.instruction.ts +0 -22
  743. package/src/lib/AreSceneInstruction/types/index.ts +0 -10
  744. package/src/lib/AreSlot/AreSlot.component.ts +0 -48
  745. package/src/lib/AreStore/index.ts +0 -1
  746. package/src/lib/AreSyntax/AreSyntax.component.ts +0 -378
  747. package/src/lib/AreSyntax/index.ts +0 -4
  748. package/src/signals/AreInit.signal.ts +0 -7
  749. package/src/signals/AreRoute.signal.ts +0 -25
  750. package/src/signals/index.ts +0 -2
  751. package/tests/A-HttpChannel.test.ts +0 -204
  752. package/tests/A-HttpServerError.test.ts +0 -204
  753. package/tests/A-Request.test.ts +0 -742
  754. package/tests/A-Service.test.ts +0 -18
  755. /package/dist/node/lib/{AreApp/AreApp.env.d.mts → AreInterpreter/AreInterpreter.constants.d.mts} +0 -0
  756. /package/dist/node/lib/{AreApp/AreApp.env.d.ts → AreInterpreter/AreInterpreter.constants.d.ts} +0 -0
  757. /package/dist/node/lib/{AreApp/AreApp.types.d.mts → AreInterpreter/AreInterpreter.types.d.mts} +0 -0
  758. /package/dist/node/lib/{AreApp/AreApp.types.d.ts → AreInterpreter/AreInterpreter.types.d.ts} +0 -0
  759. /package/src/lib/{AreApp/AreApp.env.ts → AreInterpreter/AreInterpreter.constants.ts} +0 -0
  760. /package/src/lib/{AreApp/AreApp.types.ts → AreInterpreter/AreInterpreter.types.ts} +0 -0
@@ -0,0 +1,846 @@
1
+ import * as _adaas_a_concept from '@adaas/a-concept';
2
+ import { A_TYPES__Entity_Serialized, A_Entity, A_Scope, A_TYPES__Fragment_Serialized, A_Fragment, ASEID, A_TYPES__Paths, A_TYPES__Entity_Constructor } from '@adaas/a-concept';
3
+ import { A_SignalVector } from '@adaas/a-utils/a-signal';
4
+ import { AreEvent } from './lib/AreEvent/AreEvent.context.mjs';
5
+ import { AreStoreWatchingEntity, AreStorePathValue } from './lib/AreStore/AreStore.types.mjs';
6
+ import { AreSceneStatuses } from './lib/AreScene/AreScene.constants.mjs';
7
+ import { AreAttribute_Init, AreAttribute_Serialized } from './lib/AreAttribute/AreAttribute.types.mjs';
8
+ import { Are } from './lib/AreComponent/Are.component.mjs';
9
+ import { A_ExecutionContext } from '@adaas/a-utils/a-execution';
10
+ import { AreNodeStatuses, AreNodeFeatures } from './lib/AreNode/AreNode.constants.mjs';
11
+
12
+ type AreInstructionNewProps<T extends any = Record<string, any>> = {
13
+ /**
14
+ * The deduplication ID that prevents duplicated instruction within the same node.
15
+ *
16
+ * For example to prevent duplicated AddAttribute instruction for the same attribute, we can use the attribute name as the deduplication ID, so if we have two AddAttribute instructions with the same attribute name, only the first one will be applied, and the second one will be ignored.
17
+ *
18
+ *
19
+ * [!] Note; By default it uses action name and group if provided
20
+ */
21
+ /**
22
+ * the Host operation to be performed. Exactly this name will be used to call a method from the Host class.
23
+ */
24
+ name: string;
25
+ /**
26
+ * The parent instruction that created this instruction. For example, if we have a CreateElement instruction that creates a new element, and then we have an AddAttribute instruction that adds an attribute to that element, the AddAttribute instruction would have the CreateElement instruction as its parent. This can be used to track the hierarchy of instructions and their dependencies.
27
+ */
28
+ parent?: AreInstruction | undefined;
29
+ /**
30
+ * Group is an optional property that can be used to group instructions together.
31
+ *
32
+ * For example a set of instructions that depend on create CreateElement instruction can be grouped together with the same group name, so if the CreateElement instruction is reverted, all the instructions in the same group will be reverted as well, and so on.
33
+ *
34
+ * This can be useful to manage complex changes that involve multiple instructions.
35
+ *
36
+ * [!] Note, the best option is to use ASEID of the Instruction as a group, so all instructions with the same ASEID will be treated as a single change, and will be applied and reverted together.
37
+ */
38
+ group?: AreInstruction | undefined;
39
+ /**
40
+ * A set of additional parameters that may be needed for the rendering purpose.
41
+ *
42
+ * For example: for AddAttribute instruction, we may need to provide the attribute name and value as a payload, so the Host can use this information to add the attribute to the node.
43
+ */
44
+ payload?: T;
45
+ };
46
+ type AreInstructionSerialized<T extends any = Record<string, any>> = {
47
+ /**
48
+ * The name of the instruction, which corresponds to the operation that should be performed in the Host. This name is used to identify the specific method in the Host that should be called to execute the instruction, allowing for a clear mapping between instructions and their corresponding actions in the rendering process.
49
+ */
50
+ name: string;
51
+ /**
52
+ * The type of the instruction, which can be used to categorize instructions and determine how they should be processed. For example, we can have different types for declaration instructions (e.g., DeclarationInstruction or CreateElement) and mutation instructions (e.g., AddAttribute), allowing for better organization and management of instructions based on their purpose and behavior in the scene.
53
+ */
54
+ type: string;
55
+ /**
56
+ * The parent instruction that created this instruction. For example, if we have a CreateElement instruction that creates a new element, and then we have an AddAttribute instruction that adds an attribute to that element, the AddAttribute instruction would have the CreateElement instruction as its parent. This can be used to track the hierarchy of instructions and their dependencies.
57
+ */
58
+ parent?: string | undefined;
59
+ /**
60
+ * Group is an optional property that can be used to group instructions together. For example a set of instructions that depend on create CreateElement instruction can be grouped together with the same group name, so if the CreateElement instruction is reverted, all the instructions in the same group will be reverted as well, and so on. This can be useful to manage complex changes that involve multiple instructions. The best option is to use ASEID of the Instruction as a group, so all instructions with the same ASEID will be treated as a single change, and will be applied and reverted together.
61
+ */
62
+ group?: string | undefined;
63
+ /**
64
+ * A set of additional parameters that may be needed for the rendering purpose. For example: for AddAttribute instruction, we may need to provide the attribute name and value as a payload, so the Host can use this information to add the attribute to the node.
65
+ */
66
+ payload: T;
67
+ } & A_TYPES__Entity_Serialized;
68
+
69
+ declare class AreInstruction<T extends Record<string, any> = Record<string, any>, S extends AreInstructionSerialized<T> = AreInstructionSerialized<T>> extends A_Entity<AreInstructionNewProps<T>, S> implements AreStoreWatchingEntity {
70
+ /**
71
+ * The name of the instruction, for example "CreateElement", "AddAttribute", "RemoveNode", etc. This is used to identify the type of the instruction and how to process it. The name should be in PascalCase format, and should be unique across all instruction types. It is recommended to use a prefix that indicates the category of the instruction, for example "CreateElement" for instructions that create new elements, "UpdateAttribute" for instructions that update attributes, etc.
72
+ */
73
+ protected _name: string;
74
+ /**
75
+ * The payload of the instruction, which can contain any additional information that may be needed for the rendering purpose. For example, for CreateElement instruction, the payload can contain the tag name and parent information, so the Host can use this information to create the element in the correct place in the scene. The payload is optional and can be an empty object if no additional information is needed.
76
+ */
77
+ protected _payload?: T;
78
+ /**
79
+ * Group is an optional property that can be used to group instructions together. For example a set of instructions that depend on create CreateElement instruction can be grouped together with the same group name, so if the CreateElement instruction is reverted, all the instructions in the same group will be reverted as well, and so on. This can be useful to manage complex changes that involve multiple instructions.
80
+ *
81
+ * [!] Note, the best option is to use ASEID of the Instruction as a group, so all instructions with the same ASEID will be treated as a single change, and will be applied and reverted together.
82
+ */
83
+ protected _group: string | undefined;
84
+ /**
85
+ * The parent instruction that created this instruction. For example, if we have a CreateElement instruction that creates a new element, and then we have an AddAttribute instruction that adds an attribute to that element, the AddAttribute instruction would have the CreateElement instruction as its parent. This can be used to track the hierarchy of instructions and their dependencies.
86
+ */
87
+ protected _parent: string | undefined;
88
+ /**
89
+ * A set of properties that influence the behavior of the instruction, for example, for AddTextInstruction, we can interpolation dependent on some key in the store, so we can have a property called "interpolationKey" that will be used to track the dependencies of the instruction, and when the value of this key changes in the scope, we can update the instruction accordingly.
90
+ */
91
+ protected _props: Set<string>;
92
+ /**
93
+ * The name of the instruction, for example "CreateElement", "AddAttribute", "RemoveNode", etc. This is used to identify the type of the instruction and how to process it. The name should be in PascalCase format, and should be unique across all instruction types. It is recommended to use a prefix that indicates the category of the instruction, for example "CreateElement" for instructions that create new elements, "UpdateAttribute" for instructions that update attributes, etc.
94
+ */
95
+ get name(): string;
96
+ /**
97
+ * The payload of the instruction, which can contain any additional information that may be needed for the rendering purpose. For example, for CreateElement instruction, the payload can contain the tag name and parent information, so the Host can use this information to create the element in the correct place in the scene. The payload is optional and can be an empty object if no additional information is needed.
98
+ *
99
+ * [!] Note, the payload should be serializable, so it can be stored and transmitted easily. It is recommended to use simple data structures for the payload, such as objects, arrays, strings, numbers, etc., and avoid using complex data types that may not be easily serializable.
100
+ */
101
+ get payload(): T;
102
+ /**
103
+ * Group is an optional property that can be used to group instructions together. For example a set of instructions that depend on create CreateElement instruction can be grouped together with the same group name, so if the CreateElement instruction is reverted, all the instructions in the same group will be reverted as well, and so on. This can be useful to manage complex changes that involve multiple instructions.
104
+ *
105
+ * [!] Note, the best option is to use ASEID of the Instruction as a group, so all instructions with the same ASEID will be treated as a single change, and will be applied and reverted together.
106
+ */
107
+ get group(): string | undefined;
108
+ /**
109
+ * The parent instruction ASEID that created this instruction. For example, if we have a CreateElement instruction that creates a new element, and then we have an AddAttribute instruction that adds an attribute to that element, the AddAttribute instruction would have the CreateElement instruction as its parent. This can be used to track the hierarchy of instructions and their dependencies.
110
+ *
111
+ * [!] Note, the parent should be provided as an ASEID string, so it can be easily referenced and tracked across different contexts and times.
112
+ */
113
+ get parent(): string | undefined;
114
+ get id(): string;
115
+ get owner(): AreNode;
116
+ fromNew(newEntity: AreInstructionNewProps<T>): void;
117
+ fromUndefined(): void;
118
+ /**
119
+ * Group this instruction with another instruction. This means that when one of the instructions in the group is applied or reverted, all the instructions in the same group will be applied or reverted together. This can be useful to manage complex changes that involve multiple instructions.
120
+ *
121
+ * For example, if we have a CreateElement instruction that creates a new element, and then we have an AddAttribute instruction that adds an attribute to that element, we can group them together with the same group name, so if we revert the CreateElement instruction, the AddAttribute instruction will be reverted as well, and so on.
122
+ *
123
+ * @param instruction
124
+ * @returns
125
+ */
126
+ groupWith(instruction: AreInstruction): this;
127
+ /**
128
+ * Ungroup this instruction from any group. This means that this instruction will be treated as an independent instruction, and will not be applied or reverted together with any other instructions. This can be useful when you want to separate an instruction from a group, so it can be applied or reverted independently.
129
+ *
130
+ * @returns
131
+ */
132
+ unGroup(): this;
133
+ /**
134
+ * Attach this instruction to a parent instruction. This means that this instruction will be considered as a child of the parent instruction, and can be used to track the hierarchy of instructions and their dependencies.
135
+ *
136
+ * For example, if we have a CreateElement instruction that creates a new element, and then we have an AddAttribute instruction that adds an attribute to that element, we can attach the AddAttribute instruction to the CreateElement instruction as its parent, so we can track that the AddAttribute instruction is related to the CreateElement instruction.
137
+ *
138
+ * @param parent
139
+ * @returns
140
+ */
141
+ attachTo(parent: AreInstruction): this;
142
+ /**
143
+ * Detach this instruction from its parent instruction. This means that this instruction will no longer be considered as a child of the parent instruction, and will not be related to it in any way. This can be useful when you want to separate an instruction from its parent, so it can be treated as an independent instruction.
144
+ *
145
+ * @returns
146
+ */
147
+ detach(): this;
148
+ /**
149
+ * Apply this instruction to the scene. This means that the changes represented by this instruction will be applied to the scene, and the Host will perform the necessary operations to reflect these changes in the rendered output.
150
+ *
151
+ * For example, if this instruction is a CreateElement instruction, when we apply it, the Host will create a new element in the scene according to the information provided in the payload of the instruction. If this instruction is an AddAttribute instruction, when we apply it, the Host will add the specified attribute to the target element in the scene. The apply method can also accept an optional scope parameter, which can be used to provide additional context or information that may be needed for applying the instruction.
152
+ *
153
+ * @param scope
154
+ */
155
+ apply(scope?: A_Scope): void;
156
+ /**
157
+ * Update this instruction in the scene. This means that the changes represented by this instruction will be updated in the scene, and the Host will perform the necessary operations to reflect these changes in the rendered output. This is particularly useful for instructions that have dynamic properties or effects that may change over time, allowing for adjustments to be made to the instruction's behavior or effects without needing to revert and reapply it entirely. The update method can also accept an optional scope parameter, which can be used to provide additional context or information that may be needed for updating the instruction.
158
+ *
159
+ * @param scope
160
+ */
161
+ update(scope?: A_Scope): void;
162
+ /**
163
+ * Revert this instruction from the scene. This means that the changes represented by this instruction will be reverted from the scene, and the Host will perform the necessary operations to undo these changes in the rendered output.
164
+ *
165
+ * @param scope
166
+ */
167
+ revert(scope?: A_Scope): void;
168
+ }
169
+
170
+ /**
171
+ * This is a top-level instruction that represents the creation of a new element in the scene. It contains all the necessary information to create a new element, such as its tag and parent. This instruction can be applied to the scene to create a new element and can be reverted to remove the created element.
172
+ */
173
+ declare class AreDeclaration<T extends Record<string, any> = Record<string, any>, S extends AreInstructionSerialized<T> = AreInstructionSerialized<T>> extends AreInstruction<T, S> {
174
+ constructor(
175
+ /**
176
+ * Serialized form of the instruction, used for deserialization and reconstruction of the instruction instance. This allows for the instruction to be easily stored, transmitted, and recreated in different contexts or at different times, while maintaining all the necessary information and relationships intact.
177
+ */
178
+ serialized: AreInstructionSerialized);
179
+ constructor(
180
+ /**
181
+ * The name of the operation to be performed in Host. For example, for CreateElement instruction, the name can be "createElement", so the Host can have a method with the same name to handle this instruction.
182
+ */
183
+ name: string,
184
+ /**
185
+ * In case this is a child instruction that is related to a declaration instruction, we can pass the parent declaration instruction to establish the relationship between them. This allows us to manage related instructions together and ensure that they are executed in the correct order in the scene.
186
+ */
187
+ parent: AreDeclaration,
188
+ /**
189
+ * A set of additional parameters that may be needed for the rendering purpose. For example, for CreateElement instruction, the payload can contain the tag name and parent information, so the Host can use this information to create the element in the correct place in the scene.
190
+ */
191
+ payload: T);
192
+ constructor(
193
+ /**
194
+ * The name of the operation to be performed in Host. For example, for CreateElement instruction, the name can be "createElement", so the Host can have a method with the same name to handle this instruction.
195
+ */
196
+ name?: string,
197
+ /**
198
+ * A set of additional parameters that may be needed for the rendering purpose. For example, for CreateElement instruction, the payload can contain the tag name and parent information, so the Host can use this information to create the element in the correct place in the scene.
199
+ */
200
+ payload?: T);
201
+ }
202
+
203
+ type AreSceneChanges = {
204
+ /**
205
+ * An array of instructions that are planned to be applied to the scene. These instructions represent the changes that will be made to the scene when they
206
+ */
207
+ toApply: AreInstruction[];
208
+ /**
209
+ * An array of instructions that are planned to be reverted from the scene. These instructions represent the changes that will be undone from the scene when they are reverted, allowing for a rollback of changes if needed.
210
+ */
211
+ toRevert: AreInstruction[];
212
+ };
213
+ type AreScene_Serialized = {
214
+ instructions: AreInstructionSerialized[];
215
+ } & A_TYPES__Fragment_Serialized;
216
+ type AreSceneStatusNames = typeof AreSceneStatuses[keyof typeof AreSceneStatuses];
217
+
218
+ declare class AreMutation<T extends Record<string, any> = Record<string, any>, S extends AreInstructionSerialized<T> = AreInstructionSerialized<T>> extends AreInstruction<T, S> {
219
+ get parent(): string;
220
+ get group(): string;
221
+ constructor(
222
+ /**
223
+ * Serialized form of the instruction, used for deserialization and reconstruction of the instruction instance. This allows for the instruction to be easily stored, transmitted, and recreated in different contexts or at different times, while maintaining all the necessary information and relationships intact.
224
+ */
225
+ serialized: S);
226
+ constructor(
227
+ /**
228
+ * The name of the operation to be performed in Host.
229
+ */
230
+ name: string,
231
+ /**
232
+ * Parent instruction for grouping in case of mutations related to a specific declaration. This allows for better organization and management of instructions in the scene, as all mutations related to the same declaration will be executed together.
233
+ */
234
+ parent: AreDeclaration,
235
+ /**
236
+ * A set of additional parameters that may be needed for the rendering purpose. For example, for AddAttribute instruction, the payload can contain the attribute name and value as a payload, so the Host can use this information to add the attribute to the node.
237
+ */
238
+ payload?: T);
239
+ fromNew(newEntity: AreInstructionNewProps<T>): void;
240
+ }
241
+
242
+ declare class AreScene extends A_Fragment {
243
+ protected _groupToInstructionsMap: Map<string, Set<AreInstruction>>;
244
+ /**
245
+ * Plan is a queue of changes that should be applied to render the node
246
+ *
247
+ * It works as FIFO, so the first instruction that should be applied is the first one in the queue, and so on.
248
+ */
249
+ protected _plan: Array<AreInstruction>;
250
+ /**
251
+ * State is a list of instructions that are currently applied to the node,
252
+ * so it represents the current state of the node in the scene.
253
+ *
254
+ * It always in a reverse order of the plan, so the last instruction in the state is the first one that should be reverted when we need to revert the changes, and so on.
255
+ *
256
+ * For example, if we have a node with two instructions in the plan: [Instruction A, Instruction B], and both of them are applied to the node, then the state will be [Instruction B, Instruction A], so when we need to revert the changes, we will revert Instruction B first, and then Instruction A.
257
+ */
258
+ protected _state: Array<AreInstruction>;
259
+ protected _host: AreDeclaration | undefined;
260
+ /**
261
+ * Scene status is used to determine the current lifecycle stage of the scene, which can be 'active', 'inactive' or 'destroyed'. This status can be used to control the behavior of the scene and its instructions, for example, we can prevent applying new instructions to an inactive or destroyed scene, or we can trigger certain actions when the scene becomes active or inactive. The default status of the scene is 'inactive', which means that the scene is not yet rendered and its instructions are not applied, and it will become 'active' when it is mounted and its instructions are applied, and it will become 'destroyed' when it is unmounted and its instructions are reverted.
262
+ */
263
+ protected _status: AreSceneStatusNames;
264
+ constructor(
265
+ /**
266
+ * Scene identity will be used to identify mounting point in the parent scene
267
+ */
268
+ id: string | ASEID);
269
+ /**
270
+ * Scene ID that corresponds to the root node's ID (part of ASEID)
271
+ */
272
+ get id(): string;
273
+ /**
274
+ * The scope where scene is registered. This scope is owned by AreNode
275
+ */
276
+ get scope(): A_Scope;
277
+ /**
278
+ * The owner node of the scene, which is the node that registered the scene in its scope.
279
+ * This is typically the node that is responsible for rendering the scene and managing its lifecycle.
280
+ */
281
+ get owner(): AreNode;
282
+ /**
283
+ * It's a primary declaration instruction that represents the node in the scene, so it should be registered as a host instruction for the scene, and it will be used to keep track of the node in the scene and to manage its lifecycle.
284
+ */
285
+ get host(): AreDeclaration | undefined;
286
+ /**
287
+ * Scene status is used to determine the current lifecycle stage of the scene, which can be 'active', 'inactive' or 'destroyed'. This status can be used to control the behavior of the scene and its instructions, for example, we can prevent applying new instructions to an inactive or destroyed scene, or we can trigger certain actions when the scene becomes active or inactive. The default status of the scene is 'inactive', which means that the scene is not yet rendered and its instructions are not applied, and it will become 'active' when it is mounted and its instructions are applied, and it will become 'destroyed' when it is unmounted and its instructions are reverted.
288
+ */
289
+ get status(): AreSceneStatusNames;
290
+ get isActive(): boolean;
291
+ get isInactive(): boolean;
292
+ /**
293
+ * Returns All declaration instructions are registered in the scene scope. Since declaration instructions are the main instructions that represent the structure of the node, we have a separate getter for them to easily access and manage them in the scene.
294
+ */
295
+ get declarations(): AreDeclaration[];
296
+ /**
297
+ * Returns All mutation instructions are registered in the scene scope. Mutation instructions are the instructions that represent the changes to be applied to the node, so we have a separate getter for them to easily access and manage them in the scene, especially when we want to apply or revert changes based on the mutations.
298
+ */
299
+ get mutations(): AreMutation[];
300
+ /**
301
+ * Returns All instructions are registered in the scene scope.
302
+ */
303
+ get instructions(): AreInstruction[];
304
+ /**
305
+ * Plan is a queue of changes that should be applied to render the node
306
+ *
307
+ * It works as FIFO, so the first instruction that should be applied is the first one in the queue, and so on.
308
+ */
309
+ get planned(): AreInstruction[];
310
+ /**
311
+ * State is a list of instructions that are currently applied to the node,
312
+ * so it represents the current state of the node in the scene.
313
+ *
314
+ * It always in a reverse order of the plan, so the last instruction in the state is the first one that should be reverted when we need to revert the changes, and so on.
315
+ *
316
+ * For example, if we have a node with two instructions in the plan: [Instruction A, Instruction B], and both of them are applied to the node, then the state will be [Instruction B, Instruction A], so when we need to revert the changes, we will revert Instruction B first, and then Instruction A.
317
+ */
318
+ get applied(): AreInstruction[];
319
+ /**
320
+ * Should return instructions to be reverted and to be applied.
321
+ * A difference between plan vs state is that plan is what should be applied to the scene,
322
+ * while state is what currently applied to the scene.
323
+ *
324
+ */
325
+ get changes(): AreSceneChanges;
326
+ activate(): void;
327
+ deactivate(): void;
328
+ /**
329
+ * Each scene has a primary declaration instruction that represents the node in the scene, so it should be registered as a host instruction for the scene, and it will be used to keep track of the node in the scene and to manage its lifecycle. This method allows to set the host instruction for the scene, but it will throw an error if we try to set another host instruction while there is already a host instruction set, so we can ensure that there is only one host instruction for the scene at any given time.
330
+ *
331
+ * @param instruction
332
+ */
333
+ setHost(instruction: AreDeclaration): void;
334
+ /**
335
+ * Unsets the current host instruction from the scene.
336
+ *
337
+ * This method should be used when we want to remove the primary declaration instruction that represents the node in the scene, for example, when we want to unmount the node or when we want to replace it with another node. Unsetting the host instruction will allow us to set a new host instruction for the scene if needed.
338
+ */
339
+ removeHost(): void;
340
+ /**
341
+ * Method that should register the instruction in the plan, so it will be rendered in the next render cycle.
342
+ *
343
+ * @param instruction
344
+ */
345
+ plan(instruction: AreInstruction): void;
346
+ planBefore(instruction: AreInstruction, beforeInstruction: AreInstruction): void;
347
+ planAfter(instruction: AreInstruction, afterInstruction: AreInstruction): void;
348
+ moveBefore(instruction: AreInstruction, beforeInstruction: AreInstruction): void;
349
+ moveAfter(instruction: AreInstruction, afterInstruction: AreInstruction): void;
350
+ /**
351
+ * Allows to remove instruction from the plan, so it will not be rendered anymore, but it will still be registered in the scene scope, so it can be planned again if needed.
352
+ *
353
+ * @param instruction
354
+ */
355
+ unPlan(instruction: AreInstruction): void;
356
+ /**
357
+ * Checks if the instruction is already in the plan, so it will be rendered in the next render cycle.
358
+ *
359
+ * @param instruction
360
+ * @returns
361
+ */
362
+ getPlanned(instruction: AreInstruction): AreInstruction | undefined;
363
+ /**
364
+ * Checks if the instruction is already in the plan, so it will be rendered in the next render cycle.
365
+ *
366
+ * @param instruction
367
+ * @returns
368
+ */
369
+ isInPlan(instruction: AreInstruction): boolean;
370
+ /**
371
+ * Method moves the instruction to state to keep it applied and to be able to revert it later if needed. The instruction should be already registered in the scene scope and planned to be applied, otherwise it will not be applied.
372
+ *
373
+ * @param instruction
374
+ */
375
+ apply(instruction: AreInstruction): void;
376
+ /**
377
+ * Method moves the instruction from state to unapply it and to be able to apply it later if needed. The instruction should be already registered in the scene scope and applied, otherwise it will not be unapplied.
378
+ *
379
+ * @param instruction
380
+ */
381
+ unApply(instruction: AreInstruction): void;
382
+ /**
383
+ * Checks if the instruction is already in the state, so it is currently applied to the scene.
384
+ *
385
+ * @param instruction
386
+ * @returns
387
+ */
388
+ getApplied(instruction: AreInstruction): AreInstruction | undefined;
389
+ /**
390
+ * Checks if the instruction is already in the state, so it is currently applied to the scene.
391
+ *
392
+ * @param instruction
393
+ * @returns
394
+ */
395
+ isApplied(instruction: AreInstruction): boolean;
396
+ /**
397
+ * Method that should reset the scene to the initial state, so it will clear the plan and state, but it will not deregister the instructions from the scene scope, so they will still be registered in the scene and can be planned and applied again if needed.
398
+ *
399
+ */
400
+ reset(): void;
401
+ }
402
+
403
+ declare class AreAttribute extends A_Entity<AreAttribute_Init, AreAttribute_Serialized> {
404
+ /**
405
+ * Property name (e.g. "label")
406
+ */
407
+ name: string;
408
+ /**
409
+ * Full raw attribute (e.g. ' :label="buttonLabel" ')
410
+ */
411
+ raw: string;
412
+ /**
413
+ * Attribute content (e.g. "buttonLabel")
414
+ * Example: For a directive like `v-if="condition"`, the raw value is "condition", but the content would be "condition" without the quotes, and the value would be the result of evaluating "condition" in the current scope.
415
+ */
416
+ content: string;
417
+ /**
418
+ * The evaluated value of the attribute, which can be different from the raw value depending on the context and type of the attribute. For example, for a directive like `v-if="condition"`, the raw value is "condition", but the evaluated value would be the result of evaluating "condition" in the current scope.
419
+ */
420
+ value: any;
421
+ /**
422
+ * The prefix of the attribute, for example for ':label' it would be ':', for 'v-if' it would be 'v-'. This can be used to determine the type of the attribute and how to process it.
423
+ */
424
+ prefix: string;
425
+ /**
426
+ * The scope where the attribute is defined, which can be used to access other entities and features within the same scope. This is particularly useful for attributes that need to interact with other parts of the scene or component, as it allows them to access shared data and functionality without needing to pass it explicitly through parameters.
427
+ */
428
+ get scope(): A_Scope<any, _adaas_a_concept.A_TYPES__Component_Constructor<_adaas_a_concept.A_Component>[], _adaas_a_concept.A_TYPES__Error_Constructor<_adaas_a_concept.A_Error<_adaas_a_concept.A_TYPES__Error_Init, _adaas_a_concept.A_TYPES__Error_Serialized>>[], _adaas_a_concept.A_TYPES__Entity_Constructor<A_Entity<any, _adaas_a_concept.A_TYPES__Entity_Serialized>>[], _adaas_a_concept.A_Fragment<_adaas_a_concept.A_TYPES__Fragment_Serialized>[]>;
429
+ /**
430
+ * The owner node of the attribute, which is the node that the attribute is attached to. This can be used to access the properties and features of the owner node, as well as to determine the context in which the attribute is being used. For example, if the attribute is attached to a button element, the owner would be that button node, and the attribute could use this information to modify the button's behavior or appearance based on its content and context.
431
+ */
432
+ get owner(): AreNode;
433
+ /**
434
+ * Initializes the attribute based on the provided properties. This method is called when a new attribute is created and should set up the attribute's state based on the provided properties. It can also be used to generate a unique ASEID for the attribute based on its name and content, which can be used for caching and identification purposes within the ARE framework.
435
+ *
436
+ * @param newEntity
437
+ */
438
+ fromNew(newEntity: AreAttribute_Init): void;
439
+ /**
440
+ * Creates a clone of the current attribute instance. This method can be used to create a new instance of the attribute with the same properties and state as the original, which can be useful in scenarios where you want to reuse an attribute's configuration or create variations of it without modifying the original instance.
441
+ *
442
+ * @returns
443
+ */
444
+ clone(): this;
445
+ /**
446
+ * Initializes the attribute. This method is called when the attribute is first created and should set up any necessary state or perform any initial processing based on the provided content and context. It can also be used to validate the attribute's content and throw errors if it is invalid.
447
+ *
448
+ * @param scope
449
+ */
450
+ init(scope?: A_Scope): void;
451
+ /**
452
+ * Generates all rendering instructions for the attribute. This method is called during the compilation phase of the ARE component and should return an array of instructions that describe how to render the attribute based on its content and context. The instructions can include details such as which DOM properties to set, which events to listen for, and how to update the attribute when the underlying data changes.
453
+ *
454
+ * @param scope
455
+ */
456
+ transform(scope?: A_Scope): void;
457
+ /**
458
+ * Compiles the attribute. This method should transform attribute details into a set of SceneInstructions. It may also modify attribute value, since this field is editable during runtime.
459
+ *
460
+ * @param scope
461
+ */
462
+ compile(scope?: A_Scope): void;
463
+ /**
464
+ * Updates the attribute based on changes in the store or other dependencies. This method is called during the update phase of the ARE component and should perform any necessary updates to the attribute based on changes in the underlying data or context. This can include tasks such as updating DOM properties, re-evaluating expressions, or modifying event listeners to ensure that the attribute remains in sync with the current state of the application.
465
+ *
466
+ * @param scope
467
+ */
468
+ update(scope?: A_Scope): void;
469
+ /**
470
+ * Validates the attribute's content and context. This method is called during the validation phase of the ARE component and should check whether the attribute's content is valid based on its expected format, type, or other constraints. If the content is invalid, this method should throw an error with a descriptive message to help developers identify and fix the issue.
471
+ *
472
+ * @param scope
473
+ */
474
+ validate(scope?: A_Scope): void;
475
+ }
476
+
477
+ declare class AreStore<T extends Record<string, any> = Record<string, any>> extends A_ExecutionContext<T> {
478
+ protected dependencies: Map<string, Set<AreStoreWatchingEntity>>;
479
+ protected _keys: Set<keyof T>;
480
+ /**
481
+ * Allows to define a pure function that will be executed in the context of the store, so it can access the store's data and methods, but it won't have access to the component's scope or other features. This can be useful for example for defining a function that will update the store's data based on some logic, without having access to the component's scope or other features, so we can keep the store's logic separate from the component's logic.
482
+ */
483
+ static get Function(): <T extends Are>(target: T, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
484
+ get owner(): AreNode;
485
+ get parent(): AreStore | undefined;
486
+ get context(): AreContext;
487
+ constructor(aseid: ASEID | string);
488
+ get watchers(): Set<AreStoreWatchingEntity>;
489
+ get keys(): Set<keyof T>;
490
+ watch(instruction: AreStoreWatchingEntity): void;
491
+ unwatch(instruction: AreStoreWatchingEntity): void;
492
+ set<K extends keyof T>(values: Partial<T>): this;
493
+ set<P extends A_TYPES__Paths<T>>(key: P, value: AreStorePathValue<T, P>): this;
494
+ get<K extends keyof T>(key: K): T[K] | undefined;
495
+ protected setAsObject(values: Partial<T>): this;
496
+ protected setAsKeyValue<K extends keyof T, P extends A_TYPES__Paths<T>>(key: K | P, value: T[K] | AreStorePathValue<T, P>): this;
497
+ /**
498
+ * Notifies instructions — immediately or deferred if inside a batch.
499
+ */
500
+ private notify;
501
+ /**
502
+ * Removes an instruction from all dependency sets.
503
+ * Called when an instruction is reverted/destroyed.
504
+ */
505
+ unregister(instruction: AreStoreWatchingEntity): void;
506
+ /**
507
+ * Normalizes a path once — reused in both get and set.
508
+ */
509
+ private normalizePath;
510
+ /**
511
+ * Extracts direct children of the current markup level into typed instances.
512
+ * No tree walking, recursion, or nested parsing — just direct children.
513
+ */
514
+ extractPathSegments(path: string): string[];
515
+ /**
516
+ * Method allows to initialize all extensions defined in the component with @AreStore.Function decorator, so we can use them in the store's context. This method should be called in the component's constructor after super() call, so the store will have access to the component's instance and its properties.
517
+ *
518
+ * @param component
519
+ */
520
+ loadExtensions(component: Are): void;
521
+ }
522
+
523
+ interface AreSyntaxTokenRules<T extends AreNode = AreNode> {
524
+ /** Opening delimiter e.g. '<', '{{', '<!--', '{' */
525
+ opening?: string;
526
+ /** Closing delimiter e.g. '>', '}}', '-->', '}' */
527
+ closing?: string;
528
+ /** Optional self-closing marker e.g. '/>' */
529
+ selfClosing?: string;
530
+ /** Regex that must match content immediately before the opening delimiter */
531
+ prefix?: RegExp;
532
+ /** Replaces open/close entirely — matches entire pattern via RegExp */
533
+ pattern?: RegExp;
534
+ /**
535
+ * Fully custom matcher — complete control over how a token is found.
536
+ * Receives (source, from, to, build) where build(raw, content, position, closing)
537
+ * constructs the AreSyntaxTokenMatch. Return null if no match found.
538
+ */
539
+ matcher?: (source: string, from: number, to: number, build: (raw: string, content: string, position: number, closing: string) => AreSyntaxTokenMatch) => AreSyntaxTokenMatch | null;
540
+ /** Constructor to instantiate when this rule matches */
541
+ component: A_TYPES__Entity_Constructor<T>;
542
+ /** Higher = checked first. Default: 0 */
543
+ priority?: number;
544
+ /** Whether this token can contain nested tokens of same open/close. Default: true */
545
+ nested?: boolean;
546
+ /** Custom data extractor — called after match, result stored in match.meta */
547
+ extract?: (raw: string, match: AreSyntaxTokenMatch) => Record<string, any>;
548
+ }
549
+ type AreSyntaxTokenPayload = {
550
+ /**
551
+ * Allows to override ASEID generation for this token match. Useful when the token corresponds to an existing entity or needs a stable ID across parses. If not provided, ASEID will be generated based on position and content.
552
+ */
553
+ id?: string;
554
+ /**
555
+ * Allows to override the entity type for this token match. Useful when the token corresponds to an existing entity or needs a specific entity type across parses. If not provided, the entity type will be inferred from the token.
556
+ */
557
+ entity?: string;
558
+ /**
559
+ * Allows to override the scope for this token match. Useful when the token corresponds to an existing entity or needs a specific scope across parses. If not provided, the scope will be generated based on position and content.
560
+ */
561
+ scope?: string;
562
+ [key: string]: any;
563
+ };
564
+ interface AreSyntaxTokenMatch {
565
+ /** Full matched string including delimiters */
566
+ raw: string;
567
+ /** Content between delimiters */
568
+ content: string;
569
+ /** The opening delimiter that matched */
570
+ opening: string;
571
+ /** The closing delimiter that matched */
572
+ closing: string;
573
+ /** Start position in source string */
574
+ position: number;
575
+ /** Data extracted via rule.extract */
576
+ payload: AreSyntaxTokenPayload;
577
+ /** @internal – the rule that produced this match (used by instantiate) */
578
+ _rule?: AreSyntaxTokenRules;
579
+ }
580
+ interface AreSyntaxInitOptions {
581
+ /**
582
+ * Array of token rules defining the syntax to be parsed. Each rule specifies how to identify and process a particular type of token (e.g. interpolation, directive, comment) within templates. The rules are checked in order of priority, allowing for flexible and customizable parsing behavior.
583
+ */
584
+ rules: AreSyntaxTokenRules[];
585
+ /**
586
+ * Whether to trim leading/trailing whitespace from token content. Default: true. When enabled, any whitespace at the start or end of the content captured by a token will be removed before further processing. This can help prevent issues with unintended spaces affecting rendering or logic, especially in cases like interpolations or directives where extra whitespace may be common.
587
+ */
588
+ trimWhitespace?: boolean;
589
+ /** Throw on unclosed tokens. Default: true */
590
+ strictMode?: boolean;
591
+ }
592
+ type AreSyntaxCompiledExpression = {
593
+ execute: (store: AreStore, scope?: Record<string, any>) => any;
594
+ isCallable: boolean;
595
+ };
596
+
597
+ type AreNodeNewProps = AreSyntaxTokenMatch;
598
+ type AreNodeFeatureNames = typeof AreNodeFeatures[keyof typeof AreNodeFeatures];
599
+ type AreNodeStatusNames = typeof AreNodeStatuses[keyof typeof AreNodeStatuses];
600
+
601
+ declare class AreNode extends A_Entity<AreNodeNewProps> {
602
+ /**
603
+ * The current status of the node, which can be used to track the lifecycle and rendering state of the node within the scene.
604
+ */
605
+ status: AreNodeStatusNames;
606
+ /**
607
+ * The opening string that defines the start of a node in the source. This is typically used for parsing and tokenizing the source to identify the structure and content of the node. The opening string can include the tag name, attributes, and other syntax that indicates the beginning of a node.
608
+ */
609
+ protected _opening: string;
610
+ /**
611
+ * The closing string that defines the end of a node in the source. This is typically used for parsing and tokenizing the source to identify the structure and content of the node. The closing string can include the tag name, attributes, and other syntax that indicates the end of a node.
612
+ */
613
+ protected _closing: string;
614
+ /**
615
+ * The position of the node in the source string, which can be used for error reporting, debugging, and other purposes related to tracking the location of the node within the original source. The position is a character index identifying where the node is defined.
616
+ */
617
+ protected _position: number;
618
+ /**
619
+ * The payload associated with the node, which can include any additional data or metadata that is extracted during the tokenization process. The payload can be used to store custom information related to the node, such as directive arguments, binding expressions, or any other relevant data that may be needed for processing and rendering the node within the scene.
620
+ */
621
+ protected _payload?: AreSyntaxTokenPayload;
622
+ /**
623
+ * Content string defined for the node — the inner content between delimiters.
624
+ * Example: `{{name}}`
625
+ */
626
+ protected _content: string;
627
+ /**
628
+ * Markup string defined for the node
629
+ * Example: `<custom-component :prop="value"> <div>Inner Content</div> </custom-component>`
630
+ */
631
+ protected _markup: string;
632
+ /**
633
+ * The scope associated with this node
634
+ * uses to store all nested fragments and entities like other AreNodes and Scene
635
+ */
636
+ protected _scope: A_Scope;
637
+ /**
638
+ * Actual node identifier.
639
+ */
640
+ get id(): string;
641
+ /**
642
+ * Actual node type.
643
+ * By default it's a tag name
644
+ */
645
+ get type(): string;
646
+ /**
647
+ * Content string defined for the node — the inner content between delimiters.
648
+ * Example: `{{name}}`
649
+ */
650
+ get content(): string;
651
+ /**
652
+ * Markup string defined for the node
653
+ * Example: `<custom-component :prop="value"> <div>Inner Content</div> </custom-component>`
654
+ */
655
+ get markup(): string;
656
+ /**
657
+ * The scope associated with this node
658
+ * uses to store all nested fragments and entities like other AreNodes and Scene
659
+ */
660
+ get scope(): A_Scope;
661
+ /**
662
+ * The attributes defined for the node, which can include static attributes, binding attributes, directive attributes, and event attributes. These attributes are extracted during tokenization and processed during the compilation phase to generate the corresponding SceneInstructions for rendering and updating the node in the scene.
663
+ */
664
+ get attributes(): AreAttribute[];
665
+ /**
666
+ * A custom component associated with this node, which can be used to provide custom logic and behavior for the node. This component is typically defined in the context and can be resolved based on the node's type or other identifying information. The component can include its own content, markup, styles, and features that are specific to the functionality it provides.
667
+ *
668
+ * Example: If the node type is "custom-component", the corresponding component would be resolved from the context and can be used to provide custom rendering and behavior for nodes of that type.
669
+ *
670
+ * [!] Note: The component is optional and may not be defined for all nodes. If no component is associated with the node, it will be treated as a standard HTML element or a basic node without custom logic.
671
+ */
672
+ get component(): Are | undefined;
673
+ /**
674
+ * The parent node of this node, which is the node that registered the current node in its scope. This is typically the node that is responsible for rendering the current node and managing its lifecycle within the scene. The parent node can be used to access shared context, propagate events, and manage interactions between nodes in a hierarchical structure.
675
+ *
676
+ * Example: For a node defined as `<div><span>Child Node</span></div>`, the parent node of the `<span>` element would be the `<div>` element, which is responsible for rendering the `<span>` and managing its lifecycle within the scene.
677
+ */
678
+ get parent(): AreNode | undefined;
679
+ /**
680
+ * The child nodes of this node, which are typically defined in the markup and registered in the scope as child entities. These child nodes can represent nested elements or components within the node and can have their own content, markup, styles, and features. The child nodes are managed within the scope of the parent node and can be accessed and manipulated as needed for rendering, updating, and lifecycle management.
681
+ *
682
+ * Example: For a node defined as `<div><span>Child Node</span></div>`, the child node would be the `<span>` element, which is registered as a child entity in the scope of the parent `<div>` node.
683
+ */
684
+ get children(): (AreNode)[];
685
+ /**
686
+ * It returns the scene where the node exists, so it should be the scene of the rootNode,
687
+ * primary parent of this node.
688
+ */
689
+ get scene(): AreScene;
690
+ protected _scene: AreScene;
691
+ fromNew(newEntity: AreNodeNewProps): void;
692
+ fromASEID(aseid: string | ASEID): void;
693
+ /**
694
+ * Sets the content string for the node — the inner text/markup between the node's
695
+ * opening and closing delimiters. Content is processed by the rendering engine to
696
+ * generate the corresponding SceneInstructions for rendering the node.
697
+ *
698
+ * @param content
699
+ */
700
+ setContent(content: string): void;
701
+ /**
702
+ * Sets the markup string for the node, which is the full raw matched string including delimiters. The markup can include HTML-like syntax, custom components, directives, and other features that are processed by the rendering engine to generate the corresponding SceneInstructions for rendering the node.
703
+ *
704
+ * @param markup
705
+ */
706
+ setMarkup(markup: string): void;
707
+ /**
708
+ * Adds a child node to the current node's scope and ensures the child inherits from this node's scope.
709
+ *
710
+ * @param child - The node to add as a child
711
+ */
712
+ addChild(child: AreNode): void;
713
+ /**
714
+ * Removes a child node from the current node's scope. This is typically used when a child node is no longer needed or should be detached from the parent node. The method ensures that the child node is properly deregistered from the scope and any associated resources are cleaned up as necessary.
715
+ *
716
+ * @param node - The child node to be removed from the current node's scope
717
+ */
718
+ removeChild(node: AreNode): void;
719
+ /**
720
+ * Executes initialization logic for the node, which typically involves setting up the node's scope, registering any necessary entities, and preparing the node for rendering and interaction within the scene. This method is called during the initial phase of the node's lifecycle and is responsible for ensuring that the node is properly initialized before it is compiled and rendered in the scene.
721
+ */
722
+ init(): void;
723
+ /**
724
+ * Loads the node, which typically involves executing any necessary setup or initialization logic to prepare the node for rendering and interaction within the scene. This may include processing the node's content, markup, styles, and features to generate the corresponding SceneInstructions, as well as setting up any event listeners or reactive properties as needed.
725
+ */
726
+ load(): Promise<any>;
727
+ /**
728
+ * Tokenizes the node content, which typically involves parsing the raw content string to identify the structure, child nodes, attributes, directives, and other features. This process is essential for breaking down the content into its constituent parts and preparing it for further processing during the compilation phase. The tokenization process can involve creating child nodes, extracting attributes and their values, and identifying any directives or bindings that need to be processed during rendering.
729
+ */
730
+ tokenize(): void;
731
+ /**
732
+ * Transforms the node, which typically involves executing any necessary logic to reshape the node's structure or content before it is compiled and rendered in the scene. This may include applying any transformations defined by directives, processing any dynamic content or expressions, and performing any other necessary tasks to ensure that the node is properly prepared for compilation and rendering based on its content, markup, styles, and features.
733
+ */
734
+ transform(): void;
735
+ /**
736
+ * Compile the node. This method should transform the node's content, markup, and styles into a set of SceneInstructions that can be executed to render the node in the scene. The compile method is responsible for processing the node's features, attributes, directives, and other properties to generate the necessary instructions for rendering and updating the node in response to changes in state or context.
737
+ *
738
+ * [!] Note: The compile method should ensure that the node's scope is properly inherited from the context scope before processing, and it should handle any errors that may occur during compilation to ensure that the node can be rendered correctly in the scene.
739
+ */
740
+ compile(): void;
741
+ /**
742
+ * Mounts the node, which typically involves executing any necessary logic to render the node in the scene and to set up any interactions or behaviors associated with the node. This may include applying the generated SceneInstructions from the compile phase, attaching event listeners, and performing any other necessary tasks to ensure that the node is properly rendered and functional within the scene.
743
+ *
744
+ * [!] Note: The mount method should ensure that the node's scope is properly inherited from the context scope before performing any mounting logic, and it should handle any errors that may occur during mounting to ensure that the node can be rendered correctly in the scene.
745
+ */
746
+ mount(): void;
747
+ /**
748
+ * Interprets the node, which typically involves executing any necessary logic to process the node's features, attributes, directives, and other properties to generate the corresponding SceneInstructions for rendering and updating the node in response to changes in state or context. This method is responsible for ensuring that the node is properly interpreted based on its content, markup, styles, and features to enable dynamic behavior and responsiveness within the scene.
749
+ *
750
+ * [!] Note: The interpret method should NOT go though own child, since it may be used by both mount and update operations!
751
+ */
752
+ interpret(): void;
753
+ /**
754
+ * Updates the node, which typically involves executing any necessary logic to update the node's rendering and behavior in response to changes in state, context, or other factors. This may include reapplying SceneInstructions, updating event listeners, and performing any other necessary tasks to ensure that the node remains functional and correctly rendered within the scene as changes occur.
755
+ *
756
+ * [!] Note: The update method should ensure that the node's scope is properly inherited from the context scope before performing any update logic, and it should handle any errors that may occur during updating to ensure that the node can be updated correctly in the scene.
757
+ */
758
+ update(): void;
759
+ /**
760
+ * Unmounts the node, which typically involves executing any necessary logic to remove the node from the scene and to clean up any resources associated with the node. This may include reverting any applied SceneInstructions, detaching event listeners, and performing any other necessary tasks to ensure that the node is properly removed from the scene and that resources are released as needed.
761
+ *
762
+ * [!] Note: The unmount method should ensure that the node's scope is properly inherited from the context scope before performing any unmounting logic, and it should handle any errors that may occur during unmounting to ensure that the node can be removed correctly from the scene.
763
+ */
764
+ unmount(): void;
765
+ cloneWithScope<T extends AreNode = AreNode>(this: T): T;
766
+ reset(): void;
767
+ clone<T extends AreNode = AreNode>(this: T): T;
768
+ /**
769
+ * Emits an event or a scope to the node, which can be used to trigger event handlers or to provide additional context for processing within the node. The method can accept either an AreEvent instance or an A_Scope instance, and it will handle the emission accordingly. This allows for flexible communication and interaction within the node's context, enabling dynamic behavior and responsiveness based on events or changes in scope.
770
+ *
771
+ * @param scope - The scope or event to be emitted to the node
772
+ */
773
+ emit(scope: A_Scope): any;
774
+ emit(event: AreEvent): any;
775
+ /**
776
+ * Destroys the node, which typically involves executing any necessary cleanup logic to remove the node from the scene and to free up any resources associated with the node. This may include deregistering the node from its scope, removing any event listeners or reactive properties, and performing any other necessary cleanup tasks to ensure that the node is properly removed from the scene and that resources are released as needed.
777
+ *
778
+ * [!] Note: The destroy method should ensure that the node's scope is properly inherited from the context scope before performing any cleanup, and it should handle any errors that may occur during destruction to ensure that resources are released correctly.
779
+ */
780
+ destroy(): Promise<any>;
781
+ /**
782
+ * Method to ensure that the current scope is inherited from the context scope
783
+ *
784
+ * @throws A_Error if the scope is not inherited from the context scope
785
+ */
786
+ protected checkScopeInheritance(): void;
787
+ }
788
+
789
+ declare class AreContext extends A_ExecutionContext {
790
+ /**
791
+ * The source string represents the original template or input from which the ARE scene is generated. This can be used for debugging, error reporting, or any features that require access to the raw template data. The roots array holds references to the root nodes of the ARE scene, allowing for easy access and management of the top-level components in the rendering hierarchy. The signalsMap is a mapping between root nodes and their associated signal vectors, enabling efficient management of reactive updates and interactions within the ARE framework based on changes in the application state or user input.
792
+ */
793
+ protected _source: string;
794
+ /**
795
+ * The roots array holds references to the root nodes of the ARE scene, allowing for easy access and management of the top-level components in the rendering hierarchy. The signalsMap is a mapping between root nodes and their associated signal vectors, enabling efficient management of reactive updates and interactions within the ARE framework based on changes in the application state or user input.
796
+ */
797
+ protected _roots: Array<AreNode>;
798
+ /**
799
+ * This property stores a map between root node and conditions that should be met to render particular component inside the root node. This can be used to manage complex rendering logic and to optimize performance by ensuring that components are only rendered when necessary based on the defined conditions.
800
+ */
801
+ protected _signalsMap: Map<string, A_SignalVector>;
802
+ protected _performance: Map<string, number>;
803
+ protected _performanceStart: Map<string, number>;
804
+ protected _performanceDepth: Map<string, number>;
805
+ /**
806
+ * The global object can be used to store any global data or configurations that need to be accessed across different components and entities within the ARE framework. This can include things like theme settings, user preferences, or any other shared data that is relevant to the entire scene or application. By centralizing this information in the context, it allows for easier management and access to global state without needing to pass it through multiple layers of components or entities.
807
+ */
808
+ get globals(): any;
809
+ constructor(
810
+ /**
811
+ * The source string represents the original template or input from which the ARE scene is generated. This can be used for debugging, error reporting, or any features that require access to the raw template data. The roots array holds references to the root nodes of the ARE scene, allowing for easy access and management of the top-level components in the rendering hierarchy. The signalsMap is a mapping between root nodes and their associated signal vectors, enabling efficient management of reactive updates and interactions within the ARE framework based on changes in the application state or user input.
812
+ */
813
+ source?: string);
814
+ /**
815
+ * The scope of the context, which can be used to access other entities and features within the same scope. This is particularly useful for components that need to interact with other parts of the scene or component, as it allows them to access shared data and functionality without needing to pass it explicitly through parameters.
816
+ */
817
+ get scope(): _adaas_a_concept.A_Scope<any, _adaas_a_concept.A_TYPES__Component_Constructor<_adaas_a_concept.A_Component>[], _adaas_a_concept.A_TYPES__Error_Constructor<_adaas_a_concept.A_Error<_adaas_a_concept.A_TYPES__Error_Init, _adaas_a_concept.A_TYPES__Error_Serialized>>[], _adaas_a_concept.A_TYPES__Entity_Constructor<_adaas_a_concept.A_Entity<any, _adaas_a_concept.A_TYPES__Entity_Serialized>>[], A_Fragment<_adaas_a_concept.A_TYPES__Fragment_Serialized>[]>;
818
+ /**
819
+ * The roots array holds references to the root nodes of the ARE scene, allowing for easy access and management of the top-level components in the rendering hierarchy. The signalsMap is a mapping between root nodes and their associated signal vectors, enabling efficient management of reactive updates and interactions within the ARE framework based on changes in the application state or user input.
820
+ */
821
+ get roots(): Array<AreNode>;
822
+ /**
823
+ * This property stores a map between root node and conditions that should be met to render particular component inside the root node. This can be used to manage complex rendering logic and to optimize performance by ensuring that components are only rendered when necessary based on the defined conditions.
824
+ */
825
+ get source(): string;
826
+ get performance(): Array<string>;
827
+ get stats(): string[];
828
+ protected countInstructions(node: AreNode): number;
829
+ protected countNodes(node: AreNode): number;
830
+ /**
831
+ * This property stores a map between root node and conditions that should be met to render particular component inside the root node. This can be used to manage complex rendering logic and to optimize performance by ensuring that components are only rendered when necessary based on the defined conditions.
832
+ *
833
+ * @param node
834
+ */
835
+ addRoot(node: AreNode): void;
836
+ /**
837
+ * This property stores a map between root node and conditions that should be met to render particular component inside the root node. This can be used to manage complex rendering logic and to optimize performance by ensuring that components are only rendered when necessary based on the defined conditions.
838
+ *
839
+ * @param node
840
+ */
841
+ removeRoot(node: AreNode): void;
842
+ startPerformance(label?: string): void;
843
+ endPerformance(label: string): void;
844
+ }
845
+
846
+ export { AreAttribute as A, AreContext as a, AreDeclaration as b, AreInstruction as c, type AreInstructionNewProps as d, type AreInstructionSerialized as e, AreMutation as f, AreNode as g, type AreNodeFeatureNames as h, type AreNodeNewProps as i, type AreNodeStatusNames as j, AreScene as k, type AreSceneChanges as l, type AreSceneStatusNames as m, type AreScene_Serialized as n, AreStore as o, type AreSyntaxCompiledExpression as p, type AreSyntaxInitOptions as q, type AreSyntaxTokenMatch as r, type AreSyntaxTokenPayload as s, type AreSyntaxTokenRules as t };