@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
@@ -1,156 +1,92 @@
1
-
2
-
3
- export type AreSyntaxInitOptions = {
4
- /**
5
- * Enable or disable debug mode for AreSyntax.
6
- * When enabled, additional logging and debugging information will be available.
7
- * Default is false.
8
- */
9
- debugMode?: boolean;
10
-
11
- /**
12
- * Custom interpolation delimiters for template parsing.
13
- * Default is ['{{', '}}'].
14
- */
15
- interpolationDelimiters?: [string, string];
16
-
17
- /**
18
- * Custom binding delimiters for data binding parsing.
19
- * Default is ':'.
20
- */
21
- bindingDelimiter?: string;
22
-
23
-
24
- /**
25
- * Custom listener delimiters for event binding parsing.
26
- * Default is '@'.
27
- */
28
- listenerDelimiter?: string;
29
-
30
-
31
-
1
+ import { A_TYPES__Entity_Constructor } from "@adaas/a-concept";
2
+ import { AreAttribute } from "@adaas/are/attribute/AreAttribute.entity";
3
+ import { AreNode } from "@adaas/are/node/AreNode.entity";
4
+ import { AreStore } from "@adaas/are/store/AreStore.context";
5
+ // ── Token Rule ────────────────────────────────────────────────────────────────
6
+
7
+ export interface AreSyntaxTokenRules<T extends AreNode = AreNode> {
8
+ /** Opening delimiter e.g. '<', '{{', '<!--', '{' */
9
+ opening?: string
10
+ /** Closing delimiter e.g. '>', '}}', '-->', '}' */
11
+ closing?: string
12
+ /** Optional self-closing marker e.g. '/>' */
13
+ selfClosing?: string
14
+ /** Regex that must match content immediately before the opening delimiter */
15
+ prefix?: RegExp
16
+ /** Replaces open/close entirely — matches entire pattern via RegExp */
17
+ pattern?: RegExp
18
+ /**
19
+ * Fully custom matcher — complete control over how a token is found.
20
+ * Receives (source, from, to, build) where build(raw, content, position, closing)
21
+ * constructs the AreSyntaxTokenMatch. Return null if no match found.
22
+ */
23
+ matcher?: (
24
+ source: string,
25
+ from: number,
26
+ to: number,
27
+ build: (raw: string, content: string, position: number, closing: string) => AreSyntaxTokenMatch
28
+ ) => AreSyntaxTokenMatch | null
29
+ /** Constructor to instantiate when this rule matches */
30
+ component: A_TYPES__Entity_Constructor<T>
31
+ /** Higher = checked first. Default: 0 */
32
+ priority?: number
33
+ /** Whether this token can contain nested tokens of same open/close. Default: true */
34
+ nested?: boolean
35
+ /** Custom data extractor — called after match, result stored in match.meta */
36
+ extract?: (raw: string, match: AreSyntaxTokenMatch) => Record<string, any>
37
+ }
38
+ // ── Token Payload ───────────────────────────────────────────────────────────────
39
+ export type AreSyntaxTokenPayload = {
32
40
  /**
33
- * Enable or disable strict mode for syntax parsing.
34
- * When enabled, the parser will throw errors for any syntax violations.
35
- * Default is true.
41
+ * 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.
36
42
  */
37
- strictMode?: boolean;
38
-
43
+ id?: string;
39
44
  /**
40
- * A list of custom directives to be recognized by the syntax parser.
41
- * Each directive should be a string representing the directive name.
42
- * Default is an empty array.
45
+ * 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.
43
46
  */
44
- customDirectives?: string[];
45
-
47
+ entity?: string;
46
48
  /**
47
- * Enable or disable whitespace trimming in templates.
48
- * When enabled, leading and trailing whitespace in template expressions will be trimmed.
49
- * Default is true.
49
+ * 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.
50
50
  */
51
- trimWhitespace?: boolean;
52
-
51
+ scope?: string;
52
+ [key: string]: any
53
+ }
53
54
 
54
- /**
55
- * identifier of the root tag to use when compiling in browser context.
56
- */
57
- rootTag?: string;
55
+ // ── Token Match ───────────────────────────────────────────────────────────────
56
+
57
+ export interface AreSyntaxTokenMatch {
58
+ /** Full matched string including delimiters */
59
+ raw: string
60
+ /** Content between delimiters */
61
+ content: string
62
+ /** The opening delimiter that matched */
63
+ opening: string
64
+ /** The closing delimiter that matched */
65
+ closing: string
66
+ /** Start position in source string */
67
+ position: number
68
+ /** Data extracted via rule.extract */
69
+ payload: AreSyntaxTokenPayload
70
+ /** @internal – the rule that produced this match (used by instantiate) */
71
+ _rule?: AreSyntaxTokenRules
72
+ }
58
73
 
74
+ export interface AreSyntaxInitOptions {
59
75
  /**
60
- * Custom directive delimiter for directive parsing.
61
- * Default is '$'.
76
+ * 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.
62
77
  */
63
- directiveDelimiter?: string;
64
-
78
+ rules: AreSyntaxTokenRules[]
65
79
  /**
66
- * List of standard HTML tags to recognize.
80
+ * 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.
67
81
  */
68
- standardTags?: string[]
82
+ trimWhitespace?: boolean
83
+ /** Throw on unclosed tokens. Default: true */
84
+ strictMode?: boolean
69
85
  };
70
86
 
71
87
 
72
- // ==================================================================================
73
- // ========================= SYNTAX Structures TYPES ================================
74
- // ==================================================================================
75
-
76
- export type AreAttribute = {
77
- /**
78
- * Tag name where the attribute was found
79
- */
80
- tag: string;
81
- /**
82
- * Property name (e.g. "label")
83
- */
84
- name: string;
85
- /**
86
- * Full raw attribute (e.g. ' :label="buttonLabel" ')
87
- */
88
- raw: string;
89
- /**
90
- * Attribute value (e.g. "buttonLabel")
91
- */
92
- value: string;
93
- /**
94
- * True if the attribute is a binding (e.g. :prop), false otherwise (e.g. prop="value")
95
- */
96
- binding: boolean;
97
- };
98
88
 
99
- export type AreInterpolation = {
100
- /**
101
- * Tag name where the interpolation was found
102
- */
103
- raw: string;
104
- /**
105
- * Name of the interpolation (e.g. "userName")
106
- */
107
- name: string;
108
- /**
109
- * Position in the template where this interpolation was found
110
- */
111
- position: number;
89
+ export type AreSyntaxCompiledExpression = {
90
+ execute: (store: AreStore, scope?: Record<string, any>) => any
91
+ isCallable: boolean
112
92
  }
113
-
114
-
115
- export type AreListener = {
116
- /**
117
- * tag name where listener was found
118
- */
119
- tag: string;
120
- /**
121
- * event name (e.g. "input")
122
- */
123
- name: string;
124
- /**
125
- * full raw attribute (e.g. ' @input="onChange"')
126
- */
127
- raw: string;
128
- /**
129
- * handler expression (e.g. "onChange")
130
- */
131
- handler: string;
132
- };
133
-
134
-
135
- export type AreDirective = {
136
- /**
137
- * The tag name where the directive was found
138
- */
139
- tag: string;
140
- /**
141
- * The name of the directive (e.g. "$if")
142
- */
143
- name: string;
144
- /**
145
- * The full raw attribute text (e.g. '$if="condition"')
146
- */
147
- raw: string;
148
- /**
149
- * The value expression associated with the directive (e.g. "condition")
150
- */
151
- value?: string;
152
- /**
153
- * The full tag template where the directive was found
154
- */
155
- template: string;
156
- };
@@ -0,0 +1,289 @@
1
+ import { A_Caller, A_Component, A_Context, A_Feature, A_Inject, A_Scope } from "@adaas/a-concept";
2
+ import { A_Frame } from "@adaas/a-frame";
3
+ import { AreNode } from "@adaas/are/node/AreNode.entity";
4
+ import { AreSyntaxTokenMatch, AreSyntaxTokenRules } from "@adaas/are/syntax/AreSyntax.types";
5
+ import { AreSyntax } from "@adaas/are/syntax/AreSyntax.context";
6
+ import { AreContext } from "@adaas/are/component/Are.context";
7
+ // import { AreEngine } from "@adaas/are/engine/AreEngine.component";
8
+ import { AreEngineFeatures } from "@adaas/are/engine/AreEngine.constants";
9
+ import { AreTokenizerError } from "./AreTokenizer.error";
10
+ import { AreNodeFeatures } from "@adaas/are/node/AreNode.constants";
11
+ import { A_Logger } from "@adaas/a-utils/a-logger";
12
+
13
+
14
+ @A_Frame.Component({
15
+ namespace: 'A-ARE',
16
+ name: 'AreTokenizer',
17
+ description: 'AreTokenizer is responsible for scanning and tokenizing template source strings using the syntax rules defined in AreSyntax. It converts raw template strings into AreNode instances that represent the structured AST of the template, enabling downstream compilation and rendering within the ARE framework.'
18
+ })
19
+ export class AreTokenizer extends A_Component {
20
+
21
+ /**
22
+ * Get the AreSyntax from the current scope. The AreSyntax defines the syntax rules and structures for tokenizing templates. It provides mechanisms for parsing and interpreting templates, attributes, directives, interpolations, and event listeners, enabling dynamic and interactive UI rendering within the ARE framework. If no AreSyntax is found in the scope, an error is thrown indicating that AreTokenizer requires an AreSyntax to function properly.
23
+ */
24
+ protected get config(): AreSyntax {
25
+ const syntax = A_Context.scope(this).resolve(AreSyntax);
26
+
27
+ if (!syntax) throw new AreTokenizerError({
28
+ title: 'Syntax Context Not Found',
29
+ description: 'AreTokenizer requires an AreSyntax to be present in the same scope. Ensure that an AreSyntax fragment is included in the concept and is accessible from the scope where AreTokenizer is used.'
30
+ });
31
+
32
+ return syntax
33
+ }
34
+
35
+ /**
36
+ * Instantiate AreNodes based on the token matches obtained from scanning the source template. This method takes the raw source string from the context, scans it for tokens using the defined syntax rules, and creates corresponding AreNode instances for each matched token. The resulting array of AreNodes represents the structured representation of the template, which can then be used for further processing, such as rendering or applying scene instructions.
37
+ *
38
+ *
39
+ * @param context
40
+ * @returns
41
+ */
42
+ @A_Feature.Extend({
43
+ name: AreEngineFeatures.Load,
44
+ // scope: [AreEngine]
45
+ })
46
+ instantiate<T extends AreNode>(
47
+ @A_Inject(AreContext) context: AreContext,
48
+ ): void {
49
+ context.startPerformance('Tokenizer Instantiate');
50
+
51
+ const source = context.source;
52
+
53
+ const nodes = this
54
+ .scan(source, 0, source.length, context)
55
+ .map(match => {
56
+ const rule = this.findRuleForMatch(match)
57
+ if (!rule) throw new Error(`No rule found for match at position ${match.position}`)
58
+ return new (rule.component as typeof AreNode)(match)
59
+ })
60
+
61
+ for (const node of nodes) {
62
+ context.addRoot(node)
63
+ }
64
+
65
+ context.endPerformance('Tokenizer Instantiate');
66
+ }
67
+
68
+
69
+ @A_Feature.Extend({
70
+ name: AreNodeFeatures.onTokenize,
71
+ scope: [AreNode]
72
+ })
73
+ tokenize(
74
+ @A_Inject(A_Caller) node: AreNode,
75
+ @A_Inject(AreContext) context: AreContext,
76
+ @A_Inject(A_Logger) logger?: A_Logger,
77
+ ) {
78
+ context.startPerformance(`Tokenize method`);
79
+
80
+ const source = node.content
81
+ const content = this
82
+ .scan(source, 0, source.length, context)
83
+ .map(match => {
84
+ const rule = this.findRuleForMatch(match)
85
+ if (!rule) throw new Error(`No rule found for match at position ${match.position}`)
86
+ return new (rule.component as typeof AreNode)(match)
87
+ })
88
+
89
+ logger?.debug('red', `Tokenized node <${node.aseid.toString()}> with content:`, content.length);
90
+
91
+ context.endPerformance(`Tokenize method`);
92
+
93
+ context.startPerformance(`Tokenize node Create Children`);
94
+ for (const child of content) {
95
+ node.addChild(child);
96
+
97
+ context.startPerformance('AreTokenizer.tokenize child init');
98
+ child.init();
99
+ // child.call(AreNodeFeatures.onInit, child.scope);
100
+
101
+ context.endPerformance('AreTokenizer.tokenize child init');
102
+ }
103
+
104
+ context.endPerformance(`Tokenize node Create Children`);
105
+
106
+
107
+ }
108
+
109
+ protected scan(source: string, from: number, to: number, context: AreContext): AreSyntaxTokenMatch[] {
110
+ context.startPerformance('Tokenizer Scan');
111
+
112
+ const tokens: AreSyntaxTokenMatch[] = []
113
+ let index = from
114
+ let hasMatchBefore = false
115
+
116
+ while (index < to) {
117
+ const match = this.findNextMatch(source, index, to)
118
+ if (!match) {
119
+ const rest = source.slice(index, to)
120
+ /**
121
+ * Trailing text (after the last match). When trimWhitespace is on,
122
+ * discard it if it is whitespace-only — it is edge indentation/newlines.
123
+ */
124
+ const t = this.tryPlainText(rest, index)
125
+ if (t && !(this.config.trimWhitespace && !rest.trim())) tokens.push(t)
126
+ break
127
+ }
128
+ if (match.position > index) {
129
+ const plain = source.slice(index, match.position)
130
+ const t = this.tryPlainText(plain, index)
131
+ if (t) {
132
+ /**
133
+ * When trimWhitespace is on and the text is whitespace-only:
134
+ * - Discard if it is leading text (before the first match)
135
+ * - Preserve (collapse to single space) if it is between two matches
136
+ */
137
+ if (this.config.trimWhitespace && !plain.trim()) {
138
+ if (hasMatchBefore) {
139
+ t.content = ' '
140
+ tokens.push(t)
141
+ }
142
+ // else: leading whitespace — skip
143
+ } else {
144
+ tokens.push(t)
145
+ }
146
+ }
147
+ }
148
+ tokens.push(match)
149
+ hasMatchBefore = true
150
+ index = match.position + match.raw.length
151
+ }
152
+
153
+ context.endPerformance('Tokenizer Scan');
154
+
155
+
156
+ return tokens
157
+ }
158
+
159
+ protected findNextMatch(source: string, from: number, to: number): AreSyntaxTokenMatch | null {
160
+ let earliest: AreSyntaxTokenMatch | null = null
161
+ for (const rule of this.config.rules) {
162
+ if (!rule.opening && !rule.closing && !rule.pattern && !rule.matcher) continue
163
+ const match = this.matchRule(source, rule, from, to)
164
+ if (!match) continue
165
+ if (!earliest || match.position < earliest.position) earliest = match
166
+ }
167
+ return earliest
168
+ }
169
+
170
+ protected matchRule(source: string, rule: AreSyntaxTokenRules, from: number, to: number): AreSyntaxTokenMatch | null {
171
+ if (rule.matcher) {
172
+ return rule.matcher(source, from, to, (raw, content, position, closing) =>
173
+ this.buildMatch(rule, raw, content, position, closing)
174
+ )
175
+ }
176
+ if (rule.pattern) {
177
+ const slice = source.slice(from, to)
178
+ rule.pattern.lastIndex = 0
179
+ const m = rule.pattern.exec(slice)
180
+ if (!m) return null
181
+ return this.buildMatch(rule, m[0], m[0], from + m.index, '')
182
+ }
183
+ if (!rule.opening || !rule.closing) return null
184
+ if (rule.prefix) return this.matchPrefixedRule(source, rule, from, to)
185
+ return this.matchStandardRule(source, rule, from, to)
186
+ }
187
+
188
+ protected matchStandardRule(source: string, rule: AreSyntaxTokenRules, from: number, to: number): AreSyntaxTokenMatch | null {
189
+ const opening = rule.opening!
190
+ const closing = rule.closing!
191
+ const openPos = source.indexOf(opening, from)
192
+ if (openPos === -1 || openPos >= to) return null
193
+ const contentStart = openPos + opening.length
194
+
195
+ if (rule.selfClosing) {
196
+ const selfClosePos = source.indexOf(rule.selfClosing, contentStart)
197
+ const normalClosePos = source.indexOf(closing, contentStart)
198
+ if (selfClosePos !== -1 && (normalClosePos === -1 || selfClosePos < normalClosePos)) {
199
+ const closeEnd = selfClosePos + rule.selfClosing.length
200
+ return this.buildMatch(rule, source.slice(openPos, closeEnd), source.slice(contentStart, selfClosePos), openPos, rule.selfClosing)
201
+ }
202
+ }
203
+
204
+ const closePos = rule.nested !== false
205
+ ? this.findMatchingClose(source, opening, closing, contentStart, to)
206
+ : source.indexOf(closing, contentStart)
207
+
208
+ if (closePos === -1) {
209
+ if (this.config.strictMode) throw new Error(`Unclosed token '${opening}' at position ${openPos}`)
210
+ return null
211
+ }
212
+
213
+ return this.buildMatch(rule, source.slice(openPos, closePos + closing.length), source.slice(contentStart, closePos), openPos, closing)
214
+ }
215
+
216
+ protected matchPrefixedRule(source: string, rule: AreSyntaxTokenRules, from: number, to: number): AreSyntaxTokenMatch | null {
217
+ const opening = rule.opening!
218
+ const closing = rule.closing!
219
+ let searchFrom = from
220
+
221
+ while (searchFrom < to) {
222
+ const openPos = source.indexOf(opening, searchFrom)
223
+ if (openPos === -1 || openPos >= to) return null
224
+
225
+ const before = source.slice(from, openPos)
226
+ const prefixRe = new RegExp(rule.prefix!.source + '$')
227
+ const prefixM = prefixRe.exec(before)
228
+
229
+ if (prefixM) {
230
+ const actualStart = openPos - prefixM[0].length
231
+ const contentStart = openPos + opening.length
232
+ const closePos = rule.nested !== false
233
+ ? this.findMatchingClose(source, opening, closing, contentStart, to)
234
+ : source.indexOf(closing, contentStart)
235
+
236
+ if (closePos === -1) {
237
+ if (this.config.strictMode) throw new Error(`Unclosed token '${opening}' at position ${openPos}`)
238
+ return null
239
+ }
240
+
241
+ return this.buildMatch(rule, source.slice(actualStart, closePos + closing.length), source.slice(contentStart, closePos), actualStart, closing)
242
+ }
243
+ searchFrom = openPos + 1
244
+ }
245
+ return null
246
+ }
247
+
248
+ protected findMatchingClose(source: string, opening: string, closing: string, from: number, to: number): number {
249
+ let level = 1
250
+ let index = from
251
+ while (index < to) {
252
+ const nextOpen = source.indexOf(opening, index)
253
+ const nextClose = source.indexOf(closing, index)
254
+ if (nextClose === -1) return -1
255
+ if (nextOpen !== -1 && nextOpen < nextClose) {
256
+ level++
257
+ index = nextOpen + opening.length
258
+ continue
259
+ }
260
+ level--
261
+ if (level === 0) return nextClose
262
+ index = nextClose + closing.length
263
+ }
264
+ return -1
265
+ }
266
+
267
+ protected buildMatch(rule: AreSyntaxTokenRules, raw: string, content: string, position: number, closingUsed: string): AreSyntaxTokenMatch {
268
+ const trimmed = this.config.trimWhitespace ? content.trim() : content
269
+ const match: AreSyntaxTokenMatch = { raw, content: trimmed, opening: rule.opening ?? '', closing: closingUsed, position, payload: {}, _rule: rule }
270
+ if (rule.extract) match.payload = rule.extract(raw, match)
271
+ return match
272
+ }
273
+
274
+ protected tryPlainText(raw: string, position: number): AreSyntaxTokenMatch | null {
275
+ if (!raw) return null
276
+ const rule = this.config.rules.find(r => !r.opening && !r.closing && !r.pattern && !r.matcher)
277
+ if (!rule) return null
278
+ const match = this.buildMatch(rule, raw, raw, position, '')
279
+ match._rule = rule
280
+ return match
281
+ }
282
+
283
+ protected findRuleForMatch(match: AreSyntaxTokenMatch): AreSyntaxTokenRules | undefined {
284
+ // Fast path: the rule that produced this match is already stored
285
+ if (match._rule) return match._rule
286
+ // Fallback: match by opening/closing (for externally constructed AreSyntaxTokenMatch objects)
287
+ return this.config.rules.find(r => (r.opening ?? '') === match.opening && (r.closing ?? '') === match.closing)
288
+ }
289
+ }
@@ -0,0 +1,7 @@
1
+ import { A_Error } from "@adaas/a-concept";
2
+
3
+
4
+
5
+ export class AreTokenizerError extends A_Error {
6
+
7
+ }
@@ -0,0 +1,46 @@
1
+ import { A_Caller, A_Component, A_Feature, A_FormatterHelper, A_Inject, A_Scope } from "@adaas/a-concept";
2
+ import { A_Frame } from "@adaas/a-frame";
3
+ import { A_Logger } from "@adaas/a-utils/a-logger";
4
+ import { AreNode } from "@adaas/are/node/AreNode.entity";
5
+ import { AreNodeFeatures } from "@adaas/are/node/AreNode.constants";
6
+ import { AreScene } from "@adaas/are/scene/AreScene.context";
7
+
8
+
9
+
10
+ @A_Frame.Component({
11
+ description: 'Reshapes the AreNode tree before compilation without changing its abstraction level. Responsible for structural rewrites that would complicate the compiler if left unhandled — converting $for nodes into AreGroupNode, extracting AreText and AreInterpolation from raw text, sorting directives via TopologicalSorter, and flagging static nodes.'
12
+ })
13
+ export class AreTransformer extends A_Component {
14
+
15
+ @A_Feature.Extend({
16
+ name: AreNodeFeatures.onTransform,
17
+ scope: [AreNode]
18
+ })
19
+ transform(
20
+ @A_Inject(A_Caller) node: AreNode,
21
+ @A_Inject(A_Scope) scope: A_Scope,
22
+ @A_Inject(AreScene) scene: AreScene,
23
+ ...args: any[]
24
+ ) {
25
+ // walk entire tree inside one feature — no recursive feature calls
26
+ const queue = [node]
27
+ while (queue.length > 0) {
28
+ const current = queue.shift()!
29
+ // const scene = current.scene;
30
+ // if (scene.isInactive)
31
+ // continue;
32
+
33
+ /**
34
+ * 2. Prepare Instructions for directives and add then to render plan.
35
+ */
36
+ for (let i = 0; i < current.attributes.length; i++) {
37
+
38
+ const attribute = current.attributes[i];
39
+ attribute.transform();
40
+ }
41
+
42
+ queue.push(...current.children)
43
+ }
44
+
45
+ }
46
+ }
File without changes
@@ -0,0 +1,84 @@
1
+ import { A_Component } from "@adaas/a-concept";
2
+ import { A_Frame } from "@adaas/a-frame";
3
+
4
+ @A_Frame.Component({
5
+ namespace: 'A-ARE',
6
+ name: 'AreWatcher',
7
+ description: 'AreWatcher is a component that observes browser navigation events (history pushState, replaceState, and popstate) and notifies registered handlers when the URL changes, enabling client-side routing and reactive route-based rendering within the ARE framework.'
8
+ })
9
+ export class AreWatcher extends A_Component {
10
+
11
+ private readonly handlers: Set<(url: URL) => void> = new Set();
12
+ private current: URL = new URL(window.location.href);
13
+
14
+ constructor() {
15
+ super();
16
+ this.patchHistory();
17
+ this.attachListeners();
18
+ }
19
+
20
+ // ── Public ────────────────────────────────────────────────────────────────
21
+
22
+ onChange(handler: (url: URL) => void): () => void {
23
+ this.handlers.add(handler);
24
+ return () => this.handlers.delete(handler); // returns unsubscribe fn
25
+ }
26
+
27
+ get url(): URL {
28
+ return this.current;
29
+ }
30
+
31
+ destroy(): void {
32
+ window.removeEventListener('popstate', this.onPopState);
33
+ window.removeEventListener('hashchange', this.onHashChange);
34
+ window.removeEventListener('urlchange', this.onURLChange);
35
+ this.handlers.clear();
36
+ }
37
+
38
+ // ── Listeners ─────────────────────────────────────────────────────────────
39
+
40
+ private onPopState = (): void => {
41
+ this.notify();
42
+ }
43
+
44
+ private onHashChange = (): void => {
45
+ this.notify();
46
+ }
47
+
48
+ private onURLChange = (): void => {
49
+ this.notify();
50
+ }
51
+
52
+ private attachListeners(): void {
53
+ window.addEventListener('popstate', this.onPopState);
54
+ window.addEventListener('hashchange', this.onHashChange);
55
+ window.addEventListener('urlchange', this.onURLChange); // custom event from patch
56
+ }
57
+
58
+ // ── Patch pushState / replaceState ────────────────────────────────────────
59
+
60
+ private patchHistory(): void {
61
+ const patch = (original: typeof history.pushState) =>
62
+ function (this: History, ...args: Parameters<typeof history.pushState>) {
63
+ original.apply(this, args);
64
+ window.dispatchEvent(new Event('urlchange'));
65
+ };
66
+
67
+ history.pushState = patch(history.pushState);
68
+ history.replaceState = patch(history.replaceState);
69
+ }
70
+
71
+ // ── Notify ────────────────────────────────────────────────────────────────
72
+
73
+ private notify(): void {
74
+ const next = new URL(window.location.href);
75
+
76
+ if (next.href === this.current.href) return; // no actual change
77
+
78
+ this.current = next;
79
+
80
+ for (const handler of this.handlers) {
81
+ handler(this.current);
82
+ }
83
+ }
84
+ }
File without changes
File without changes
File without changes