@adaas/are 0.0.2

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 (485) hide show
  1. package/.conf/tsconfig.base.json +110 -0
  2. package/.conf/tsconfig.browser.json +43 -0
  3. package/.conf/tsconfig.node.json +47 -0
  4. package/.nvmrc +1 -0
  5. package/LICENSE +22 -0
  6. package/README.md +2 -0
  7. package/dist/browser/index.d.mts +1134 -0
  8. package/dist/browser/index.mjs +2624 -0
  9. package/dist/browser/index.mjs.map +1 -0
  10. package/dist/node/chunk-EQQGB2QZ.mjs +15 -0
  11. package/dist/node/chunk-EQQGB2QZ.mjs.map +1 -0
  12. package/dist/node/engines/html/AreHTML.compiler.d.mts +114 -0
  13. package/dist/node/engines/html/AreHTML.compiler.d.ts +114 -0
  14. package/dist/node/engines/html/AreHTML.compiler.js +408 -0
  15. package/dist/node/engines/html/AreHTML.compiler.js.map +1 -0
  16. package/dist/node/engines/html/AreHTML.compiler.mjs +398 -0
  17. package/dist/node/engines/html/AreHTML.compiler.mjs.map +1 -0
  18. package/dist/node/engines/html/AreHTML.engine.d.mts +36 -0
  19. package/dist/node/engines/html/AreHTML.engine.d.ts +36 -0
  20. package/dist/node/engines/html/AreHTML.engine.js +122 -0
  21. package/dist/node/engines/html/AreHTML.engine.js.map +1 -0
  22. package/dist/node/engines/html/AreHTML.engine.mjs +112 -0
  23. package/dist/node/engines/html/AreHTML.engine.mjs.map +1 -0
  24. package/dist/node/engines/html/index.d.mts +26 -0
  25. package/dist/node/engines/html/index.d.ts +26 -0
  26. package/dist/node/engines/html/index.js +17 -0
  27. package/dist/node/engines/html/index.js.map +1 -0
  28. package/dist/node/engines/html/index.mjs +5 -0
  29. package/dist/node/engines/html/index.mjs.map +1 -0
  30. package/dist/node/engines/json/AreJSON.compiler.d.mts +21 -0
  31. package/dist/node/engines/json/AreJSON.compiler.d.ts +21 -0
  32. package/dist/node/engines/json/AreJSON.compiler.js +24 -0
  33. package/dist/node/engines/json/AreJSON.compiler.js.map +1 -0
  34. package/dist/node/engines/json/AreJSON.compiler.mjs +17 -0
  35. package/dist/node/engines/json/AreJSON.compiler.mjs.map +1 -0
  36. package/dist/node/index-BD-6iOuR.d.ts +238 -0
  37. package/dist/node/index-DMXWCL7R.d.mts +238 -0
  38. package/dist/node/index.d.mts +40 -0
  39. package/dist/node/index.d.ts +40 -0
  40. package/dist/node/index.js +105 -0
  41. package/dist/node/index.js.map +1 -0
  42. package/dist/node/index.mjs +16 -0
  43. package/dist/node/index.mjs.map +1 -0
  44. package/dist/node/lib/AreApp/AreApp.container.d.mts +22 -0
  45. package/dist/node/lib/AreApp/AreApp.container.d.ts +22 -0
  46. package/dist/node/lib/AreApp/AreApp.container.js +60 -0
  47. package/dist/node/lib/AreApp/AreApp.container.js.map +1 -0
  48. package/dist/node/lib/AreApp/AreApp.container.mjs +48 -0
  49. package/dist/node/lib/AreApp/AreApp.container.mjs.map +1 -0
  50. package/dist/node/lib/AreApp/AreApp.env.d.mts +2 -0
  51. package/dist/node/lib/AreApp/AreApp.env.d.ts +2 -0
  52. package/dist/node/lib/AreApp/AreApp.env.js +4 -0
  53. package/dist/node/lib/AreApp/AreApp.env.js.map +1 -0
  54. package/dist/node/lib/AreApp/AreApp.env.mjs +3 -0
  55. package/dist/node/lib/AreApp/AreApp.env.mjs.map +1 -0
  56. package/dist/node/lib/AreApp/AreApp.error.d.mts +6 -0
  57. package/dist/node/lib/AreApp/AreApp.error.d.ts +6 -0
  58. package/dist/node/lib/AreApp/AreApp.error.js +10 -0
  59. package/dist/node/lib/AreApp/AreApp.error.js.map +1 -0
  60. package/dist/node/lib/AreApp/AreApp.error.mjs +9 -0
  61. package/dist/node/lib/AreApp/AreApp.error.mjs.map +1 -0
  62. package/dist/node/lib/AreApp/AreApp.types.d.mts +2 -0
  63. package/dist/node/lib/AreApp/AreApp.types.d.ts +2 -0
  64. package/dist/node/lib/AreApp/AreApp.types.js +4 -0
  65. package/dist/node/lib/AreApp/AreApp.types.js.map +1 -0
  66. package/dist/node/lib/AreApp/AreApp.types.mjs +3 -0
  67. package/dist/node/lib/AreApp/AreApp.types.mjs.map +1 -0
  68. package/dist/node/lib/AreApp/index.d.mts +17 -0
  69. package/dist/node/lib/AreApp/index.d.ts +17 -0
  70. package/dist/node/lib/AreApp/index.js +24 -0
  71. package/dist/node/lib/AreApp/index.js.map +1 -0
  72. package/dist/node/lib/AreApp/index.mjs +6 -0
  73. package/dist/node/lib/AreApp/index.mjs.map +1 -0
  74. package/dist/node/lib/AreCompiler/AreCompiler.component.d.mts +238 -0
  75. package/dist/node/lib/AreCompiler/AreCompiler.component.d.ts +238 -0
  76. package/dist/node/lib/AreCompiler/AreCompiler.component.js +647 -0
  77. package/dist/node/lib/AreCompiler/AreCompiler.component.js.map +1 -0
  78. package/dist/node/lib/AreCompiler/AreCompiler.component.mjs +637 -0
  79. package/dist/node/lib/AreCompiler/AreCompiler.component.mjs.map +1 -0
  80. package/dist/node/lib/AreCompiler/AreCompiler.error.d.mts +8 -0
  81. package/dist/node/lib/AreCompiler/AreCompiler.error.d.ts +8 -0
  82. package/dist/node/lib/AreCompiler/AreCompiler.error.js +12 -0
  83. package/dist/node/lib/AreCompiler/AreCompiler.error.js.map +1 -0
  84. package/dist/node/lib/AreCompiler/AreCompiler.error.mjs +11 -0
  85. package/dist/node/lib/AreCompiler/AreCompiler.error.mjs.map +1 -0
  86. package/dist/node/lib/AreCompiler/AreCompiler.types.d.mts +2 -0
  87. package/dist/node/lib/AreCompiler/AreCompiler.types.d.ts +2 -0
  88. package/dist/node/lib/AreCompiler/AreCompiler.types.js +4 -0
  89. package/dist/node/lib/AreCompiler/AreCompiler.types.js.map +1 -0
  90. package/dist/node/lib/AreCompiler/AreCompiler.types.mjs +3 -0
  91. package/dist/node/lib/AreCompiler/AreCompiler.types.mjs.map +1 -0
  92. package/dist/node/lib/AreCompiler/index.d.mts +17 -0
  93. package/dist/node/lib/AreCompiler/index.d.ts +17 -0
  94. package/dist/node/lib/AreCompiler/index.js +24 -0
  95. package/dist/node/lib/AreCompiler/index.js.map +1 -0
  96. package/dist/node/lib/AreCompiler/index.mjs +6 -0
  97. package/dist/node/lib/AreCompiler/index.mjs.map +1 -0
  98. package/dist/node/lib/AreComponent/Are.component.d.mts +45 -0
  99. package/dist/node/lib/AreComponent/Are.component.d.ts +45 -0
  100. package/dist/node/lib/AreComponent/Are.component.js +165 -0
  101. package/dist/node/lib/AreComponent/Are.component.js.map +1 -0
  102. package/dist/node/lib/AreComponent/Are.component.mjs +156 -0
  103. package/dist/node/lib/AreComponent/Are.component.mjs.map +1 -0
  104. package/dist/node/lib/AreComponent/Are.constants.d.mts +32 -0
  105. package/dist/node/lib/AreComponent/Are.constants.d.ts +32 -0
  106. package/dist/node/lib/AreComponent/Are.constants.js +27 -0
  107. package/dist/node/lib/AreComponent/Are.constants.js.map +1 -0
  108. package/dist/node/lib/AreComponent/Are.constants.mjs +27 -0
  109. package/dist/node/lib/AreComponent/Are.constants.mjs.map +1 -0
  110. package/dist/node/lib/AreComponent/Are.context.d.mts +22 -0
  111. package/dist/node/lib/AreComponent/Are.context.d.ts +22 -0
  112. package/dist/node/lib/AreComponent/Are.context.js +45 -0
  113. package/dist/node/lib/AreComponent/Are.context.js.map +1 -0
  114. package/dist/node/lib/AreComponent/Are.context.mjs +38 -0
  115. package/dist/node/lib/AreComponent/Are.context.mjs.map +1 -0
  116. package/dist/node/lib/AreComponent/Are.types.d.mts +2 -0
  117. package/dist/node/lib/AreComponent/Are.types.d.ts +2 -0
  118. package/dist/node/lib/AreComponent/Are.types.js +4 -0
  119. package/dist/node/lib/AreComponent/Are.types.js.map +1 -0
  120. package/dist/node/lib/AreComponent/Are.types.mjs +3 -0
  121. package/dist/node/lib/AreComponent/Are.types.mjs.map +1 -0
  122. package/dist/node/lib/AreComponent/index.d.mts +11 -0
  123. package/dist/node/lib/AreComponent/index.d.ts +11 -0
  124. package/dist/node/lib/AreComponent/index.js +31 -0
  125. package/dist/node/lib/AreComponent/index.js.map +1 -0
  126. package/dist/node/lib/AreComponent/index.mjs +7 -0
  127. package/dist/node/lib/AreComponent/index.mjs.map +1 -0
  128. package/dist/node/lib/AreEvent/AreEvent.context.d.mts +8 -0
  129. package/dist/node/lib/AreEvent/AreEvent.context.d.ts +8 -0
  130. package/dist/node/lib/AreEvent/AreEvent.context.js +34 -0
  131. package/dist/node/lib/AreEvent/AreEvent.context.js.map +1 -0
  132. package/dist/node/lib/AreEvent/AreEvent.context.mjs +27 -0
  133. package/dist/node/lib/AreEvent/AreEvent.context.mjs.map +1 -0
  134. package/dist/node/lib/AreEvent/AreEvent.types.d.mts +16 -0
  135. package/dist/node/lib/AreEvent/AreEvent.types.d.ts +16 -0
  136. package/dist/node/lib/AreEvent/AreEvent.types.js +4 -0
  137. package/dist/node/lib/AreEvent/AreEvent.types.js.map +1 -0
  138. package/dist/node/lib/AreEvent/AreEvent.types.mjs +3 -0
  139. package/dist/node/lib/AreEvent/AreEvent.types.mjs.map +1 -0
  140. package/dist/node/lib/AreEvent/index.d.mts +8 -0
  141. package/dist/node/lib/AreEvent/index.d.ts +8 -0
  142. package/dist/node/lib/AreEvent/index.js +19 -0
  143. package/dist/node/lib/AreEvent/index.js.map +1 -0
  144. package/dist/node/lib/AreEvent/index.mjs +5 -0
  145. package/dist/node/lib/AreEvent/index.mjs.map +1 -0
  146. package/dist/node/lib/AreIndex/AreIndex.context.d.mts +8 -0
  147. package/dist/node/lib/AreIndex/AreIndex.context.d.ts +8 -0
  148. package/dist/node/lib/AreIndex/AreIndex.context.js +142 -0
  149. package/dist/node/lib/AreIndex/AreIndex.context.js.map +1 -0
  150. package/dist/node/lib/AreIndex/AreIndex.context.mjs +141 -0
  151. package/dist/node/lib/AreIndex/AreIndex.context.mjs.map +1 -0
  152. package/dist/node/lib/AreIndex/index.d.mts +8 -0
  153. package/dist/node/lib/AreIndex/index.d.ts +8 -0
  154. package/dist/node/lib/AreIndex/index.js +12 -0
  155. package/dist/node/lib/AreIndex/index.js.map +1 -0
  156. package/dist/node/lib/AreIndex/index.mjs +4 -0
  157. package/dist/node/lib/AreIndex/index.mjs.map +1 -0
  158. package/dist/node/lib/AreNode/AreNode.constants.d.mts +36 -0
  159. package/dist/node/lib/AreNode/AreNode.constants.d.ts +36 -0
  160. package/dist/node/lib/AreNode/AreNode.constants.js +17 -0
  161. package/dist/node/lib/AreNode/AreNode.constants.js.map +1 -0
  162. package/dist/node/lib/AreNode/AreNode.constants.mjs +17 -0
  163. package/dist/node/lib/AreNode/AreNode.constants.mjs.map +1 -0
  164. package/dist/node/lib/AreNode/AreNode.entity.d.mts +8 -0
  165. package/dist/node/lib/AreNode/AreNode.entity.d.ts +8 -0
  166. package/dist/node/lib/AreNode/AreNode.entity.js +164 -0
  167. package/dist/node/lib/AreNode/AreNode.entity.js.map +1 -0
  168. package/dist/node/lib/AreNode/AreNode.entity.mjs +157 -0
  169. package/dist/node/lib/AreNode/AreNode.entity.mjs.map +1 -0
  170. package/dist/node/lib/AreNode/AreNode.error.d.mts +2 -0
  171. package/dist/node/lib/AreNode/AreNode.error.d.ts +2 -0
  172. package/dist/node/lib/AreNode/AreNode.error.js +4 -0
  173. package/dist/node/lib/AreNode/AreNode.error.js.map +1 -0
  174. package/dist/node/lib/AreNode/AreNode.error.mjs +3 -0
  175. package/dist/node/lib/AreNode/AreNode.error.mjs.map +1 -0
  176. package/dist/node/lib/AreNode/AreNode.types.d.mts +13 -0
  177. package/dist/node/lib/AreNode/AreNode.types.d.ts +13 -0
  178. package/dist/node/lib/AreNode/AreNode.types.js +4 -0
  179. package/dist/node/lib/AreNode/AreNode.types.js.map +1 -0
  180. package/dist/node/lib/AreNode/AreNode.types.mjs +3 -0
  181. package/dist/node/lib/AreNode/AreNode.types.mjs.map +1 -0
  182. package/dist/node/lib/AreNode/index.d.mts +9 -0
  183. package/dist/node/lib/AreNode/index.d.ts +9 -0
  184. package/dist/node/lib/AreNode/index.js +26 -0
  185. package/dist/node/lib/AreNode/index.js.map +1 -0
  186. package/dist/node/lib/AreNode/index.mjs +6 -0
  187. package/dist/node/lib/AreNode/index.mjs.map +1 -0
  188. package/dist/node/lib/AreProps/AreProps.context.d.mts +9 -0
  189. package/dist/node/lib/AreProps/AreProps.context.d.ts +9 -0
  190. package/dist/node/lib/AreProps/AreProps.context.js +32 -0
  191. package/dist/node/lib/AreProps/AreProps.context.js.map +1 -0
  192. package/dist/node/lib/AreProps/AreProps.context.mjs +25 -0
  193. package/dist/node/lib/AreProps/AreProps.context.mjs.map +1 -0
  194. package/dist/node/lib/AreProps/index.d.mts +3 -0
  195. package/dist/node/lib/AreProps/index.d.ts +3 -0
  196. package/dist/node/lib/AreProps/index.js +12 -0
  197. package/dist/node/lib/AreProps/index.js.map +1 -0
  198. package/dist/node/lib/AreProps/index.mjs +4 -0
  199. package/dist/node/lib/AreProps/index.mjs.map +1 -0
  200. package/dist/node/lib/AreRoot/AreRoot.component.d.mts +18 -0
  201. package/dist/node/lib/AreRoot/AreRoot.component.d.ts +18 -0
  202. package/dist/node/lib/AreRoot/AreRoot.component.js +53 -0
  203. package/dist/node/lib/AreRoot/AreRoot.component.js.map +1 -0
  204. package/dist/node/lib/AreRoot/AreRoot.component.mjs +41 -0
  205. package/dist/node/lib/AreRoot/AreRoot.component.mjs.map +1 -0
  206. package/dist/node/lib/AreRoot/index.d.mts +11 -0
  207. package/dist/node/lib/AreRoot/index.d.ts +11 -0
  208. package/dist/node/lib/AreRoot/index.js +12 -0
  209. package/dist/node/lib/AreRoot/index.js.map +1 -0
  210. package/dist/node/lib/AreRoot/index.mjs +4 -0
  211. package/dist/node/lib/AreRoot/index.mjs.map +1 -0
  212. package/dist/node/lib/AreRouter/AreRouter.componeent.d.mts +17 -0
  213. package/dist/node/lib/AreRouter/AreRouter.componeent.d.ts +17 -0
  214. package/dist/node/lib/AreRouter/AreRouter.componeent.js +37 -0
  215. package/dist/node/lib/AreRouter/AreRouter.componeent.js.map +1 -0
  216. package/dist/node/lib/AreRouter/AreRouter.componeent.mjs +25 -0
  217. package/dist/node/lib/AreRouter/AreRouter.componeent.mjs.map +1 -0
  218. package/dist/node/lib/AreRouter/index.d.mts +12 -0
  219. package/dist/node/lib/AreRouter/index.d.ts +12 -0
  220. package/dist/node/lib/AreRouter/index.js +12 -0
  221. package/dist/node/lib/AreRouter/index.js.map +1 -0
  222. package/dist/node/lib/AreRouter/index.mjs +4 -0
  223. package/dist/node/lib/AreRouter/index.mjs.map +1 -0
  224. package/dist/node/lib/AreScene/AreScene.context.d.mts +8 -0
  225. package/dist/node/lib/AreScene/AreScene.context.d.ts +8 -0
  226. package/dist/node/lib/AreScene/AreScene.context.js +249 -0
  227. package/dist/node/lib/AreScene/AreScene.context.js.map +1 -0
  228. package/dist/node/lib/AreScene/AreScene.context.mjs +248 -0
  229. package/dist/node/lib/AreScene/AreScene.context.mjs.map +1 -0
  230. package/dist/node/lib/AreScene/AreScene.error.d.mts +14 -0
  231. package/dist/node/lib/AreScene/AreScene.error.d.ts +14 -0
  232. package/dist/node/lib/AreScene/AreScene.error.js +18 -0
  233. package/dist/node/lib/AreScene/AreScene.error.js.map +1 -0
  234. package/dist/node/lib/AreScene/AreScene.error.mjs +17 -0
  235. package/dist/node/lib/AreScene/AreScene.error.mjs.map +1 -0
  236. package/dist/node/lib/AreScene/AreScene.types.d.mts +9 -0
  237. package/dist/node/lib/AreScene/AreScene.types.d.ts +9 -0
  238. package/dist/node/lib/AreScene/AreScene.types.js +4 -0
  239. package/dist/node/lib/AreScene/AreScene.types.js.map +1 -0
  240. package/dist/node/lib/AreScene/AreScene.types.mjs +3 -0
  241. package/dist/node/lib/AreScene/AreScene.types.mjs.map +1 -0
  242. package/dist/node/lib/AreScene/index.d.mts +9 -0
  243. package/dist/node/lib/AreScene/index.d.ts +9 -0
  244. package/dist/node/lib/AreScene/index.js +24 -0
  245. package/dist/node/lib/AreScene/index.js.map +1 -0
  246. package/dist/node/lib/AreScene/index.mjs +6 -0
  247. package/dist/node/lib/AreScene/index.mjs.map +1 -0
  248. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.d.mts +7 -0
  249. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.d.ts +7 -0
  250. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.js +12 -0
  251. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.js.map +1 -0
  252. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.mjs +12 -0
  253. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.mjs.map +1 -0
  254. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.d.mts +8 -0
  255. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.d.ts +8 -0
  256. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.js +95 -0
  257. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.js.map +1 -0
  258. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.mjs +94 -0
  259. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.mjs.map +1 -0
  260. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.d.mts +8 -0
  261. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.d.ts +8 -0
  262. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.js +4 -0
  263. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.js.map +1 -0
  264. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.mjs +3 -0
  265. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.mjs.map +1 -0
  266. package/dist/node/lib/AreSceneInstruction/index.d.mts +19 -0
  267. package/dist/node/lib/AreSceneInstruction/index.d.ts +19 -0
  268. package/dist/node/lib/AreSceneInstruction/index.js +33 -0
  269. package/dist/node/lib/AreSceneInstruction/index.js.map +1 -0
  270. package/dist/node/lib/AreSceneInstruction/index.mjs +7 -0
  271. package/dist/node/lib/AreSceneInstruction/index.mjs.map +1 -0
  272. package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.d.mts +19 -0
  273. package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.d.ts +19 -0
  274. package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.js +27 -0
  275. package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.js.map +1 -0
  276. package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.mjs +26 -0
  277. package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.mjs.map +1 -0
  278. package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.d.mts +20 -0
  279. package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.d.ts +20 -0
  280. package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.js +27 -0
  281. package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.js.map +1 -0
  282. package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.mjs +26 -0
  283. package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.mjs.map +1 -0
  284. package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.d.mts +17 -0
  285. package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.d.ts +17 -0
  286. package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.js +23 -0
  287. package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.js.map +1 -0
  288. package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.mjs +22 -0
  289. package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.mjs.map +1 -0
  290. package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.d.mts +19 -0
  291. package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.d.ts +19 -0
  292. package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.js +27 -0
  293. package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.js.map +1 -0
  294. package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.mjs +26 -0
  295. package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.mjs.map +1 -0
  296. package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.d.mts +23 -0
  297. package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.d.ts +23 -0
  298. package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.js +41 -0
  299. package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.js.map +1 -0
  300. package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.mjs +40 -0
  301. package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.mjs.map +1 -0
  302. package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.d.mts +15 -0
  303. package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.d.ts +15 -0
  304. package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.js +21 -0
  305. package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.js.map +1 -0
  306. package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.mjs +20 -0
  307. package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.mjs.map +1 -0
  308. package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.d.mts +17 -0
  309. package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.d.ts +17 -0
  310. package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.js +23 -0
  311. package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.js.map +1 -0
  312. package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.mjs +22 -0
  313. package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.mjs.map +1 -0
  314. package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.d.mts +23 -0
  315. package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.d.ts +23 -0
  316. package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.js +34 -0
  317. package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.js.map +1 -0
  318. package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.mjs +33 -0
  319. package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.mjs.map +1 -0
  320. package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.d.mts +16 -0
  321. package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.d.ts +16 -0
  322. package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.js +20 -0
  323. package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.js.map +1 -0
  324. package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.mjs +19 -0
  325. package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.mjs.map +1 -0
  326. package/dist/node/lib/AreSceneInstruction/types/index.d.mts +18 -0
  327. package/dist/node/lib/AreSceneInstruction/types/index.d.ts +18 -0
  328. package/dist/node/lib/AreSceneInstruction/types/index.js +52 -0
  329. package/dist/node/lib/AreSceneInstruction/types/index.js.map +1 -0
  330. package/dist/node/lib/AreSceneInstruction/types/index.mjs +12 -0
  331. package/dist/node/lib/AreSceneInstruction/types/index.mjs.map +1 -0
  332. package/dist/node/lib/AreSlot/AreSlot.component.d.mts +8 -0
  333. package/dist/node/lib/AreSlot/AreSlot.component.d.ts +8 -0
  334. package/dist/node/lib/AreSlot/AreSlot.component.js +37 -0
  335. package/dist/node/lib/AreSlot/AreSlot.component.js.map +1 -0
  336. package/dist/node/lib/AreSlot/AreSlot.component.mjs +36 -0
  337. package/dist/node/lib/AreSlot/AreSlot.component.mjs.map +1 -0
  338. package/dist/node/lib/AreStore/AreStore.context.d.mts +10 -0
  339. package/dist/node/lib/AreStore/AreStore.context.d.ts +10 -0
  340. package/dist/node/lib/AreStore/AreStore.context.js +35 -0
  341. package/dist/node/lib/AreStore/AreStore.context.js.map +1 -0
  342. package/dist/node/lib/AreStore/AreStore.context.mjs +28 -0
  343. package/dist/node/lib/AreStore/AreStore.context.mjs.map +1 -0
  344. package/dist/node/lib/AreStore/index.d.mts +3 -0
  345. package/dist/node/lib/AreStore/index.d.ts +3 -0
  346. package/dist/node/lib/AreStore/index.js +12 -0
  347. package/dist/node/lib/AreStore/index.js.map +1 -0
  348. package/dist/node/lib/AreStore/index.mjs +4 -0
  349. package/dist/node/lib/AreStore/index.mjs.map +1 -0
  350. package/dist/node/lib/AreSyntax/AreSyntax.component.d.mts +89 -0
  351. package/dist/node/lib/AreSyntax/AreSyntax.component.d.ts +89 -0
  352. package/dist/node/lib/AreSyntax/AreSyntax.component.js +241 -0
  353. package/dist/node/lib/AreSyntax/AreSyntax.component.js.map +1 -0
  354. package/dist/node/lib/AreSyntax/AreSyntax.component.mjs +232 -0
  355. package/dist/node/lib/AreSyntax/AreSyntax.component.mjs.map +1 -0
  356. package/dist/node/lib/AreSyntax/AreSyntax.context.d.mts +80 -0
  357. package/dist/node/lib/AreSyntax/AreSyntax.context.d.ts +80 -0
  358. package/dist/node/lib/AreSyntax/AreSyntax.context.js +117 -0
  359. package/dist/node/lib/AreSyntax/AreSyntax.context.js.map +1 -0
  360. package/dist/node/lib/AreSyntax/AreSyntax.context.mjs +110 -0
  361. package/dist/node/lib/AreSyntax/AreSyntax.context.mjs.map +1 -0
  362. package/dist/node/lib/AreSyntax/AreSyntax.error.d.mts +9 -0
  363. package/dist/node/lib/AreSyntax/AreSyntax.error.d.ts +9 -0
  364. package/dist/node/lib/AreSyntax/AreSyntax.error.js +13 -0
  365. package/dist/node/lib/AreSyntax/AreSyntax.error.js.map +1 -0
  366. package/dist/node/lib/AreSyntax/AreSyntax.error.mjs +12 -0
  367. package/dist/node/lib/AreSyntax/AreSyntax.error.mjs.map +1 -0
  368. package/dist/node/lib/AreSyntax/AreSyntax.types.d.mts +132 -0
  369. package/dist/node/lib/AreSyntax/AreSyntax.types.d.ts +132 -0
  370. package/dist/node/lib/AreSyntax/AreSyntax.types.js +4 -0
  371. package/dist/node/lib/AreSyntax/AreSyntax.types.js.map +1 -0
  372. package/dist/node/lib/AreSyntax/AreSyntax.types.mjs +3 -0
  373. package/dist/node/lib/AreSyntax/AreSyntax.types.mjs.map +1 -0
  374. package/dist/node/lib/AreSyntax/index.d.mts +12 -0
  375. package/dist/node/lib/AreSyntax/index.d.ts +12 -0
  376. package/dist/node/lib/AreSyntax/index.js +29 -0
  377. package/dist/node/lib/AreSyntax/index.js.map +1 -0
  378. package/dist/node/lib/AreSyntax/index.mjs +7 -0
  379. package/dist/node/lib/AreSyntax/index.mjs.map +1 -0
  380. package/dist/node/signals/AreInit.signal.d.mts +7 -0
  381. package/dist/node/signals/AreInit.signal.d.ts +7 -0
  382. package/dist/node/signals/AreInit.signal.js +13 -0
  383. package/dist/node/signals/AreInit.signal.js.map +1 -0
  384. package/dist/node/signals/AreInit.signal.mjs +12 -0
  385. package/dist/node/signals/AreInit.signal.mjs.map +1 -0
  386. package/dist/node/signals/AreRoute.signal.d.mts +12 -0
  387. package/dist/node/signals/AreRoute.signal.d.ts +12 -0
  388. package/dist/node/signals/AreRoute.signal.js +24 -0
  389. package/dist/node/signals/AreRoute.signal.js.map +1 -0
  390. package/dist/node/signals/AreRoute.signal.mjs +23 -0
  391. package/dist/node/signals/AreRoute.signal.mjs.map +1 -0
  392. package/dist/node/signals/index.d.mts +4 -0
  393. package/dist/node/signals/index.d.ts +4 -0
  394. package/dist/node/signals/index.js +17 -0
  395. package/dist/node/signals/index.js.map +1 -0
  396. package/dist/node/signals/index.mjs +5 -0
  397. package/dist/node/signals/index.mjs.map +1 -0
  398. package/docs/a-logo-docs.png +0 -0
  399. package/examples/jumpstart/concept.ts +60 -0
  400. package/examples/jumpstart/containers/UI.container.ts +172 -0
  401. package/examples/jumpstart/dist/index.html +22 -0
  402. package/examples/jumpstart/dist/mls3rrlq-lofs95.js +129 -0
  403. package/examples/jumpstart/dist/static/css/main.css +40 -0
  404. package/examples/jumpstart/dist/static/img/test.png +0 -0
  405. package/examples/jumpstart/public/index.html +22 -0
  406. package/examples/jumpstart/public/static/css/main.css +40 -0
  407. package/examples/jumpstart/public/static/img/test.png +0 -0
  408. package/examples/jumpstart/src/components/A-Btn.component.ts +124 -0
  409. package/examples/jumpstart/src/components/A-Input.component.ts +78 -0
  410. package/examples/jumpstart/src/components/A-Navigation.component.ts +167 -0
  411. package/examples/jumpstart/src/components/SignInComponent.component.ts +127 -0
  412. package/examples/jumpstart/src/concept.ts +92 -0
  413. package/jest.config.ts +26 -0
  414. package/package.json +92 -0
  415. package/src/engines/html/AreHTML.compiler.ts +657 -0
  416. package/src/engines/html/AreHTML.engine.ts +62 -0
  417. package/src/engines/html/index.ts +2 -0
  418. package/src/engines/json/AreJSON.compiler.ts +13 -0
  419. package/src/index.ts +15 -0
  420. package/src/lib/AreApp/AreApp.container.ts +77 -0
  421. package/src/lib/AreApp/AreApp.env.ts +0 -0
  422. package/src/lib/AreApp/AreApp.error.ts +7 -0
  423. package/src/lib/AreApp/AreApp.types.ts +0 -0
  424. package/src/lib/AreApp/index.ts +4 -0
  425. package/src/lib/AreCompiler/AreCompiler.component.ts +1023 -0
  426. package/src/lib/AreCompiler/AreCompiler.error.ts +9 -0
  427. package/src/lib/AreCompiler/AreCompiler.types.ts +0 -0
  428. package/src/lib/AreCompiler/index.ts +3 -0
  429. package/src/lib/AreComponent/Are.component.ts +203 -0
  430. package/src/lib/AreComponent/Are.constants.ts +39 -0
  431. package/src/lib/AreComponent/Are.context.ts +43 -0
  432. package/src/lib/AreComponent/Are.types.ts +0 -0
  433. package/src/lib/AreComponent/index.ts +4 -0
  434. package/src/lib/AreEvent/AreEvent.context.ts +38 -0
  435. package/src/lib/AreEvent/AreEvent.types.ts +16 -0
  436. package/src/lib/AreEvent/index.ts +2 -0
  437. package/src/lib/AreIndex/AreIndex.context.ts +174 -0
  438. package/src/lib/AreIndex/index.ts +1 -0
  439. package/src/lib/AreNode/AreNode.constants.ts +37 -0
  440. package/src/lib/AreNode/AreNode.entity.ts +249 -0
  441. package/src/lib/AreNode/AreNode.error.ts +0 -0
  442. package/src/lib/AreNode/AreNode.types.ts +15 -0
  443. package/src/lib/AreNode/index.ts +4 -0
  444. package/src/lib/AreProps/AreProps.context.ts +26 -0
  445. package/src/lib/AreProps/index.ts +1 -0
  446. package/src/lib/AreRoot/AreRoot.component.ts +54 -0
  447. package/src/lib/AreRoot/index.ts +1 -0
  448. package/src/lib/AreRouter/AreRouter.componeent.ts +24 -0
  449. package/src/lib/AreRouter/index.ts +1 -0
  450. package/src/lib/AreScene/AreScene.context.ts +382 -0
  451. package/src/lib/AreScene/AreScene.error.ts +22 -0
  452. package/src/lib/AreScene/AreScene.types.ts +7 -0
  453. package/src/lib/AreScene/index.ts +3 -0
  454. package/src/lib/AreSceneInstruction/AreSceneInstruction.constants.ts +7 -0
  455. package/src/lib/AreSceneInstruction/AreSceneInstruction.entity.ts +156 -0
  456. package/src/lib/AreSceneInstruction/AreSceneInstruction.types.ts +8 -0
  457. package/src/lib/AreSceneInstruction/index.ts +4 -0
  458. package/src/lib/AreSceneInstruction/types/AddAttribute.instruction.ts +34 -0
  459. package/src/lib/AreSceneInstruction/types/AddDirective.instruction.ts +36 -0
  460. package/src/lib/AreSceneInstruction/types/AddStyle.instruction.ts +26 -0
  461. package/src/lib/AreSceneInstruction/types/AddStyleProperty.instruction.ts +32 -0
  462. package/src/lib/AreSceneInstruction/types/AttachListener.instruction.ts +57 -0
  463. package/src/lib/AreSceneInstruction/types/AttachRootNode.instruction.ts +23 -0
  464. package/src/lib/AreSceneInstruction/types/MountNode.instruction.ts +29 -0
  465. package/src/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.ts +45 -0
  466. package/src/lib/AreSceneInstruction/types/UnmountNode.instruction.ts +22 -0
  467. package/src/lib/AreSceneInstruction/types/index.ts +10 -0
  468. package/src/lib/AreSlot/AreSlot.component.ts +48 -0
  469. package/src/lib/AreStore/AreStore.context.ts +36 -0
  470. package/src/lib/AreStore/index.ts +1 -0
  471. package/src/lib/AreSyntax/AreSyntax.component.ts +378 -0
  472. package/src/lib/AreSyntax/AreSyntax.context.ts +114 -0
  473. package/src/lib/AreSyntax/AreSyntax.error.ts +11 -0
  474. package/src/lib/AreSyntax/AreSyntax.types.ts +156 -0
  475. package/src/lib/AreSyntax/index.ts +4 -0
  476. package/src/signals/AreInit.signal.ts +7 -0
  477. package/src/signals/AreRoute.signal.ts +25 -0
  478. package/src/signals/index.ts +2 -0
  479. package/tests/A-HttpChannel.test.ts +204 -0
  480. package/tests/A-HttpServerError.test.ts +204 -0
  481. package/tests/A-Request.test.ts +742 -0
  482. package/tests/A-Service.test.ts +18 -0
  483. package/tsconfig.json +68 -0
  484. package/tslint.json +98 -0
  485. package/tsup.config.ts +78 -0
@@ -0,0 +1,32 @@
1
+ import type { AreNode } from "@adaas/are/node";
2
+ import { AreSceneInstruction } from "../AreSceneInstruction.entity";
3
+
4
+ export class AddStylePropertyInstruction extends AreSceneInstruction<{
5
+ property: string;
6
+ value: string;
7
+ }> {
8
+
9
+ get styles(): string {
10
+ return this.params!.property;
11
+ }
12
+
13
+ get value(): string {
14
+ return this.params!.value;
15
+ }
16
+
17
+ constructor(
18
+ node: AreNode,
19
+ property: string,
20
+ value: string
21
+ ) {
22
+ super({
23
+ id: [property, node],
24
+ action: 'add-style',
25
+ node,
26
+ params: {
27
+ property,
28
+ value,
29
+ }
30
+ });
31
+ }
32
+ }
@@ -0,0 +1,57 @@
1
+ import type { AreNode } from "@adaas/are/node";
2
+ import type { AreListener } from "@adaas/are/syntax";
3
+ import { AreSceneInstruction } from "../AreSceneInstruction.entity";
4
+ import { AreEvent } from "@adaas/are/event";
5
+
6
+ export class AttachListenerInstruction extends AreSceneInstruction<{
7
+ target: AreNode;
8
+ listener: AreListener;
9
+ }> {
10
+
11
+ private _callback!: (e: any) => Promise<void>;
12
+
13
+ get listener(): AreListener {
14
+ return this.params!.listener;
15
+ }
16
+
17
+ get event(): string {
18
+ return this.params!.listener.handler;
19
+ }
20
+
21
+
22
+ get target(): AreNode {
23
+ return this.params!.target;
24
+ }
25
+
26
+ get callback(): (e: any) => Promise<void> {
27
+ return this._callback;
28
+ }
29
+
30
+
31
+
32
+ constructor(
33
+ node: AreNode,
34
+ target: AreNode,
35
+ listener: AreListener,
36
+ ) {
37
+ super({
38
+ id: [node, listener.name],
39
+ action: 'listener',
40
+ node,
41
+ params: {
42
+ target,
43
+ listener,
44
+ }
45
+ });
46
+
47
+ this._callback = async (e) => {
48
+ const newEvent = new AreEvent(listener.handler, {
49
+ event: listener.name,
50
+ data: e
51
+ });
52
+
53
+ await this.target.emit(newEvent);
54
+
55
+ }
56
+ }
57
+ }
@@ -0,0 +1,23 @@
1
+ import type { AreNode } from "@adaas/are/node";
2
+ import { AreSceneInstruction } from "../AreSceneInstruction.entity";
3
+
4
+
5
+
6
+ export class AttachRootNodeInstruction extends AreSceneInstruction<{}> {
7
+
8
+
9
+ get id(): string {
10
+ return this.node.aseid.toString();
11
+ }
12
+
13
+ constructor(
14
+ node: AreNode,
15
+ ) {
16
+ super({
17
+ id: [node],
18
+ action: 'attach-root-node',
19
+ node,
20
+ params: {}
21
+ });
22
+ }
23
+ }
@@ -0,0 +1,29 @@
1
+ import type { AreNode } from "@adaas/are/node";
2
+ import { AreSceneInstruction } from "../AreSceneInstruction.entity";
3
+
4
+
5
+
6
+
7
+ export class MountNodeInstruction extends AreSceneInstruction<{
8
+ path: string;
9
+ }> {
10
+
11
+
12
+ get path(): string {
13
+ return this.params!.path;
14
+ }
15
+
16
+ constructor(
17
+ node: AreNode,
18
+ path: string,
19
+ ) {
20
+ super({
21
+ id: [node],
22
+ action: 'mount-node',
23
+ node,
24
+ params: {
25
+ path
26
+ }
27
+ });
28
+ }
29
+ }
@@ -0,0 +1,45 @@
1
+ import { AreSceneInstruction } from "../AreSceneInstruction.entity";
2
+ import type { AreNode } from "@adaas/are/node";
3
+ import type { AreInterpolation } from "@adaas/are/syntax";
4
+
5
+
6
+ export class ReplaceInterpolationInstruction extends AreSceneInstruction<{
7
+ interpolation: AreInterpolation;
8
+ value: string;
9
+ prevValue?: string;
10
+ }> {
11
+
12
+ get placement() {
13
+ return this.params?.prevValue || this.interpolation.raw;
14
+ }
15
+
16
+ get position() {
17
+ return this.interpolation.position;
18
+ }
19
+
20
+ get interpolation(): AreInterpolation {
21
+ return this.params!.interpolation;
22
+ }
23
+
24
+ get value(): string {
25
+ return this.params?.value || '';
26
+ }
27
+
28
+ constructor(
29
+ node: AreNode,
30
+ interpolation: AreInterpolation,
31
+ value: string,
32
+ prevValue?: string,
33
+ ) {
34
+ super({
35
+ id: [node, interpolation],
36
+ action: 'replace-interpolation',
37
+ node: node,
38
+ params: {
39
+ interpolation,
40
+ prevValue: prevValue,
41
+ value,
42
+ }
43
+ });
44
+ }
45
+ }
@@ -0,0 +1,22 @@
1
+ import type { AreNode } from "@adaas/are/node";
2
+ import { AreSceneInstruction } from "../AreSceneInstruction.entity";
3
+
4
+
5
+ export class UnmountNodeInstruction extends AreSceneInstruction<{
6
+ path: string
7
+ }> {
8
+
9
+ constructor(
10
+ node: AreNode,
11
+ path: string
12
+ ) {
13
+ super({
14
+ id: [node],
15
+ action: 'unmount-node',
16
+ node,
17
+ params: {
18
+ path
19
+ }
20
+ });
21
+ }
22
+ }
@@ -0,0 +1,10 @@
1
+ export { AddAttributeInstruction } from './AddAttribute.instruction';
2
+ export { AddDirectiveInstruction } from './AddDirective.instruction';
3
+ export { AddStyleInstruction } from './AddStyle.instruction';
4
+ export { AddStylePropertyInstruction } from './AddStyleProperty.instruction';
5
+ export { AttachListenerInstruction } from './AttachListener.instruction';
6
+ export { AttachRootNodeInstruction } from './AttachRootNode.instruction';
7
+ export { MountNodeInstruction } from './MountNode.instruction';
8
+ export { ReplaceInterpolationInstruction } from './ReplaceInterpolation.instruction';
9
+ export { UnmountNodeInstruction } from './UnmountNode.instruction';
10
+
@@ -0,0 +1,48 @@
1
+ import { Are } from "../AreComponent/Are.component";
2
+
3
+
4
+
5
+
6
+ export class AreSlot extends Are {
7
+
8
+
9
+
10
+ async template() {
11
+ // return `<div>Are Slot Component</div>`;
12
+ }
13
+
14
+
15
+
16
+ // @A_Feature.Extend()
17
+ // async [A_SignalVectorFeatures.Next](
18
+ // @A_Inject(A_SignalVector) vector: A_SignalVector
19
+ // ) {
20
+ // // Emit signals if needed
21
+
22
+ // console.log('AreSlot Signal Vector Emitted:', vector);
23
+ // }
24
+
25
+
26
+
27
+ // @A_Feature.Extend({
28
+ // name: AreNodeFeatures.onCompile,
29
+ // scope: [AreNode]
30
+ // })
31
+ // async compile(
32
+ // @A_Inject(A_Caller) node: AreNode,
33
+ // @A_Inject(AreScene) scene: AreScene,
34
+ // @A_Inject(A_Logger) logger: A_Logger,
35
+ // @A_Inject(A_SignalState) signalState?: A_SignalState,
36
+ // ) {
37
+
38
+ // const vector = await signalState?.toVector().toDataVector()
39
+
40
+ // logger.debug('red',
41
+ // '================================================================',
42
+ // `Compiling AreSlot Component at Scene: <${scene.name}>`,
43
+ // '================================================================',
44
+ // vector
45
+ // )
46
+ // }
47
+
48
+ }
@@ -0,0 +1,36 @@
1
+ import { ASEID } from "@adaas/a-concept";
2
+ import { A_Frame } from "@adaas/a-frame";
3
+ import { A_ExecutionContext } from "@adaas/a-utils/a-execution";
4
+
5
+
6
+
7
+ @A_Frame.Fragment({
8
+ description: "Are Store uses to keep AreNode related information for interpolations, runtime data, etc. This object can be injected to manipulate with data at runtime.",
9
+ })
10
+ export class AreStore<
11
+ T extends Record<string, any> = Record<string, any>
12
+ > extends A_ExecutionContext<T> {
13
+
14
+ constructor(aseid: ASEID) {
15
+ super(aseid.toString());
16
+ }
17
+
18
+
19
+
20
+ set<K extends keyof T>(values: Partial<T>): this
21
+ set<K extends keyof T>(key: K, value: T[K]): this
22
+ set<K extends keyof T>(
23
+ param1: K | Partial<T>,
24
+ param2?: T[K]
25
+ ): this {
26
+ if (typeof param1 === 'object') {
27
+ Object.entries(param1).forEach(([key, value]) => {
28
+ super.set(key as K, value as T[K]);
29
+ });
30
+ } else if (param2 !== undefined) {
31
+ super.set(param1 as K, param2);
32
+ }
33
+ return this;
34
+ }
35
+
36
+ }
@@ -0,0 +1 @@
1
+ export { AreStore } from './AreStore.context'
@@ -0,0 +1,378 @@
1
+ import { A_Component, A_Context, A_Error } from "@adaas/a-concept";
2
+ import { A_Frame } from "@adaas/a-frame";
3
+ import { AreDirective, AreInterpolation, AreAttribute, AreListener } from "./AreSyntax.types";
4
+ import { AreSyntaxContext } from "./AreSyntax.context";
5
+ import { AreNode } from "@adaas/are/node";
6
+ import type { AreStore } from "@adaas/are/store";
7
+
8
+
9
+ @A_Frame.Component({
10
+ namespace: 'A-ARE',
11
+ name: 'AreSyntax',
12
+ description: 'Context component that defines the syntax rules and structures for the A-Concept Rendering Engine (ARE). It provides mechanisms for parsing and interpreting templates, attributes, directives, interpolations, and event listeners, enabling dynamic and interactive UI rendering within the ARE framework.'
13
+ })
14
+ export class AreSyntax extends A_Component {
15
+
16
+
17
+ get config(): AreSyntaxContext {
18
+ return A_Context.scope(this).resolveFlat<AreSyntaxContext>(AreSyntaxContext)!;
19
+ }
20
+
21
+
22
+ /**
23
+ * Determines if a tag is a root node
24
+ *
25
+ * @param node
26
+ * @returns
27
+ */
28
+ @A_Frame.Method({
29
+ description: 'Determines if a given AreNode is a root node based on its entity type.'
30
+ })
31
+ isRootNode(node: AreNode): boolean {
32
+ return node.aseid.entity.toLowerCase() === this.config.rootTag;
33
+ }
34
+
35
+ /**
36
+ * Determines if a tag is a custom component or standard HTML
37
+ *
38
+ * @param node
39
+ * @returns
40
+ */
41
+ @A_Frame.Method({
42
+ description: 'Determines if a given AreNode represents a custom component as opposed to a standard HTML tag.'
43
+ })
44
+ isCustomNode(node: AreNode): boolean {
45
+ return !this.config.standardTags.has(node.aseid.entity.toLowerCase());
46
+ }
47
+
48
+
49
+ /**
50
+ * Extracts root AreNode elements from the document based on the configured root tag.
51
+ *
52
+ * @returns An iterable of AreNode instances representing the root elements.
53
+ */
54
+ @A_Frame.Method({
55
+ description: 'Extracts root AreNode elements from the document based on the configured root tag.'
56
+ })
57
+ extractRoots(template: string): AreNode[] {
58
+ const rootTag = this.config.rootTag;
59
+ const rootTagRegex = new RegExp(`<${rootTag}([\\s>])`, 'gi');
60
+ let match: RegExpExecArray | null;
61
+ const nodes: AreNode[] = [];
62
+
63
+ while ((match = rootTagRegex.exec(template)) !== null) {
64
+ const startIndex = match.index;
65
+ const endTag = `</${rootTag}>`;
66
+ const endIndex = template.indexOf(endTag, startIndex);
67
+
68
+ if (endIndex === -1) {
69
+ throw new A_Error(`Missing closing tag for <${rootTag}> starting at index ${startIndex}`);
70
+ }
71
+
72
+ const attributes = this.extractAttributes(template.slice(startIndex, endIndex + endTag.length));
73
+ let rootId = `auto-root-${startIndex}`;
74
+
75
+ for (let i = 0; i < attributes.length; i++) {
76
+ if (attributes[i].name === 'id') {
77
+ rootId = attributes[i].value;
78
+ break;
79
+ }
80
+ }
81
+
82
+ const markup = template.slice(startIndex, endIndex + endTag.length);
83
+ const content = markup.slice(rootTag.length + 2, -endTag.length).trim();
84
+
85
+
86
+ const node = new AreNode({
87
+ id: rootId,
88
+ scope: 'are',
89
+ component: 'are-root',
90
+ markup: markup,
91
+ template: content,
92
+ });
93
+
94
+ nodes.push(node);
95
+ }
96
+
97
+ return nodes;
98
+ }
99
+
100
+
101
+ /**
102
+ * Extracts interpolations from template (syntax-agnostic).
103
+ *
104
+ * Simply finds all interpolation patterns and returns their position, raw text, and name.
105
+ * Works with any template format - HTML, plain text, or any other syntax.
106
+ *
107
+ * Example: `Hello {{name}}, welcome to {{place}}!`
108
+ * Returns: [
109
+ * { raw: "{{name}}", name: "name", position: 6 },
110
+ * { raw: "{{place}}", name: "place", position: 26 }
111
+ * ]
112
+ *
113
+ * @param template - Template string in any format
114
+ */
115
+ @A_Frame.Method({
116
+ description: 'Extracts interpolations from a template string based on the configured interpolation delimiters.'
117
+ })
118
+ extractInterpolations(template: string): AreInterpolation[] {
119
+ const interpolationRegex = new RegExp(`${this.config.interpolationDelimiters[0]}\\s*([a-zA-Z0-9_.$]+)\\s*${this.config.interpolationDelimiters[1]}`, 'g');
120
+ const interpolations: AreInterpolation[] = [];
121
+
122
+ let match: RegExpExecArray | null;
123
+ while ((match = interpolationRegex.exec(template)) !== null) {
124
+ interpolations.push({
125
+ raw: match[0],
126
+ name: match[1],
127
+ position: match.index!
128
+ });
129
+ }
130
+
131
+ return interpolations;
132
+ }
133
+
134
+ /**
135
+ * Extracts custom directives from the FIRST/TOP-LEVEL opening tag ONLY.
136
+ * Directives start with `$`
137
+ *
138
+ * Examples:
139
+ * $if="condition"
140
+ * $show
141
+ * $no-update=""
142
+ *
143
+ * Note: This method intentionally ignores nested elements and only processes
144
+ * the very first opening tag in the provided template string.
145
+ */
146
+ @A_Frame.Method({
147
+ description: 'Extracts custom directives from the first opening tag of a template string.'
148
+ })
149
+ extractDirectives(template: string): AreDirective[] {
150
+ // Trim whitespace to ensure we start at the actual first tag
151
+ const trimmedTemplate = template.trim();
152
+
153
+ // Match ONLY the very first opening tag (anchored with ^)
154
+ const firstTagMatch = trimmedTemplate.match(
155
+ /^<([a-zA-Z][^\s/>]*)(\s[^>]*?)?>/
156
+ );
157
+
158
+ if (!firstTagMatch) return [];
159
+
160
+ const tag = firstTagMatch[1];
161
+ const attributesPart = firstTagMatch[2];
162
+
163
+ // If no attributes, no directives possible
164
+ if (!attributesPart) return [];
165
+
166
+ /**
167
+ * Extract directives from the first tag's attributes only.
168
+ * Matches patterns like:
169
+ * $if="condition"
170
+ * $show
171
+ * $no-update=""
172
+ */
173
+ const directiveRegex = new RegExp(
174
+ `\\s+(\\${this.config.directiveDelimiter}[a-zA-Z0-9_-]+)(?:\\s*=\\s*(?:"([^"]*)"|'([^']*)'))?`,
175
+ 'g'
176
+ );
177
+
178
+ let match: RegExpExecArray | null;
179
+ const directives: AreDirective[] = [];
180
+
181
+ while ((match = directiveRegex.exec(attributesPart)) !== null) {
182
+ const name = match[1];
183
+
184
+ // Optional whitelist support - only apply if whitelist is explicitly provided
185
+ if (
186
+ this.config.customDirectives &&
187
+ this.config.customDirectives.length > 0 &&
188
+ !this.config.customDirectives.includes(name)
189
+ ) {
190
+ continue;
191
+ }
192
+
193
+ const raw = match[0];
194
+ const value = match[2] ?? match[3];
195
+ const tagTemplate = firstTagMatch[0]; // Only the first tag
196
+
197
+ directives.push({
198
+ tag,
199
+ name,
200
+ raw,
201
+ value,
202
+ template: tagTemplate
203
+ });
204
+ }
205
+
206
+ return directives;
207
+ }
208
+
209
+
210
+ /**
211
+ * Extracts component props from the FIRST opening tag.
212
+ *
213
+ * Examples:
214
+ * label="Click"
215
+ * :label="'Click Me'"
216
+ *
217
+ * Excludes:
218
+ * @click
219
+ * $if
220
+ */
221
+ extractAttributes(template: string): AreAttribute[] {
222
+ // Match first opening tag
223
+ const firstTagMatch = template.match(
224
+ /^<([a-zA-Z][^\s/>]*)(\s[^>]*?)?>/
225
+ );
226
+
227
+ if (!firstTagMatch) return [];
228
+
229
+ const tag = firstTagMatch[1];
230
+ const attributesPart = firstTagMatch[2];
231
+
232
+ if (!attributesPart) return [];
233
+
234
+ /**
235
+ * Matches:
236
+ * label="text"
237
+ * :label="'Click'"
238
+ *
239
+ * Skips:
240
+ * @click
241
+ * $if
242
+ */
243
+ const propRegex = new RegExp(
244
+ `\\s+(\\${this.config.bindingDelimiter}?)([a-zA-Z][a-zA-Z0-9._-]*)\\s*=\\s*(?:"([^"]*)"|'([^']*)')`,
245
+ 'g'
246
+ );
247
+
248
+ let match: RegExpExecArray | null;
249
+ const attributes: AreAttribute[] = [];
250
+
251
+ while ((match = propRegex.exec(attributesPart)) !== null) {
252
+ const isBinding = match[1] === this.config.bindingDelimiter;
253
+ const name = match[2];
254
+
255
+ // Exclude listeners & directives explicitly
256
+ if (
257
+ name.startsWith(this.config.listenerDelimiter) ||
258
+ name.startsWith(this.config.directiveDelimiter)
259
+ ) {
260
+ continue;
261
+ }
262
+
263
+ const raw = match[0];
264
+ const value = match[3] ?? match[4];
265
+
266
+ attributes.push({
267
+ tag,
268
+ name,
269
+ raw,
270
+ value: value || '',
271
+ binding: isBinding
272
+ });
273
+ }
274
+
275
+ return attributes;
276
+ }
277
+
278
+
279
+ /**
280
+ * Extracts event listeners from the FIRST/TOP-LEVEL opening tag ONLY in the template.
281
+ * Supports:
282
+ * - @event="handler"
283
+ * - @event='handler'
284
+ *
285
+ * Note: This method intentionally ignores nested elements and only processes
286
+ * the very first opening tag in the provided template string.
287
+ */
288
+ extractListeners(template: string): AreListener[] {
289
+ // Trim whitespace to ensure we start at the actual first tag
290
+ const trimmedTemplate = template.trim();
291
+
292
+ // Match ONLY the very first opening tag (anchored with ^)
293
+ const firstTagMatch = trimmedTemplate.match(
294
+ /^<([a-zA-Z][^\s/>]*)(\s[^>]*?)?>/
295
+ );
296
+
297
+ if (!firstTagMatch) return [];
298
+
299
+ const tag = firstTagMatch[1];
300
+ const attributesPart = firstTagMatch[2];
301
+
302
+ // If no attributes, no listeners possible
303
+ if (!attributesPart) return [];
304
+
305
+ /**
306
+ * Extract listeners from the first tag's attributes only.
307
+ * Match listener attributes:
308
+ * @input="onChange"
309
+ * @change='handleChange'
310
+ */
311
+ const listenerRegex = new RegExp(
312
+ `\\s+${this.config.listenerDelimiter}([a-zA-Z0-9_:-]+)` +
313
+ `\\s*=\\s*(?:"([^"]*)"|'([^']*)')`,
314
+ 'g'
315
+ );
316
+
317
+ let match: RegExpExecArray | null;
318
+ const listeners: AreListener[] = [];
319
+
320
+ while ((match = listenerRegex.exec(attributesPart)) !== null) {
321
+ const raw = match[0];
322
+ const name = match[1];
323
+ const handler = match[2] ?? match[3] ?? "";
324
+
325
+ listeners.push({
326
+ tag,
327
+ name,
328
+ raw,
329
+ handler
330
+ });
331
+ }
332
+
333
+ return listeners;
334
+ }
335
+
336
+
337
+
338
+ isBindingProp(prop: AreAttribute): boolean {
339
+ return prop.raw.trim().startsWith(this.config.bindingDelimiter)
340
+ }
341
+
342
+
343
+ extractPropValue(prop: AreAttribute, parentStore: AreStore): any {
344
+
345
+ if (prop.value == null) {
346
+ return undefined;
347
+ }
348
+
349
+ // Binding prop (starts with :)
350
+ if (prop.binding) {
351
+ const value = prop.value.trim();
352
+
353
+ // Static literal binding: :label="'Click'" or :"Click"
354
+ if (
355
+ (value.startsWith("'") && value.endsWith("'")) ||
356
+ (value.startsWith('"') && value.endsWith('"'))
357
+ ) {
358
+ return value.slice(1, -1);
359
+ }
360
+
361
+ // Dynamic binding: :label="someKey"
362
+ // (future: expressions, paths, computed, etc.)
363
+ return parentStore?.get(value);
364
+ }
365
+
366
+ // Static prop: label="Click"
367
+ return prop.value;
368
+ }
369
+
370
+
371
+ replaceInterpolation(template: string, interpolation: AreInterpolation | string, value: any): string {
372
+ const key = typeof interpolation === 'string' ? interpolation : interpolation.name;
373
+
374
+ return template.replace(new RegExp(`${this.config.interpolationDelimiters[0]}\\s*${key}\\s*${this.config.interpolationDelimiters[1]}`, 'g'), value !== undefined ? String(value) : '');
375
+ }
376
+
377
+
378
+ }