@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 @@
1
+ {"version":3,"sources":["../../../../src/engines/html/AreHTML.compiler.ts"],"names":["AreHTMLCompiler","AreCompiler","scene","AreScene","ASEID","index","AreIndex","AreNode","node","MountNodeInstruction","UnmountNodeInstruction","A_Frame","A_Feature","AreSceneInstructionFeatures","AttachRootNodeInstruction","A_Caller","A_Logger","A_ExecutionContext","AreSyntax","AddStyleInstruction","AttachListenerInstruction","AddAttributeInstruction","A_Scope","ReplaceInterpolationInstruction","AddDirectiveInstruction"],"mappings":"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","file":"AreHTML.compiler.js","sourcesContent":["import { A_Caller, A_Container, A_Error, A_Feature, A_Inject, A_Scope, ASEID } from \"@adaas/a-concept\";\nimport { A_Frame } from \"@adaas/a-frame\";\nimport { AreCompiler } from \"@adaas/are/compiler\";\nimport { AreIndex } from \"@adaas/are/index\";\nimport { AreScene } from \"@adaas/are/scene\";\nimport { AreNode } from \"@adaas/are/node\";\nimport {\n AreSceneInstructionFeatures,\n AttachRootNodeInstruction,\n MountNodeInstruction,\n UnmountNodeInstruction,\n AddStyleInstruction,\n AttachListenerInstruction,\n AddAttributeInstruction,\n ReplaceInterpolationInstruction,\n AddDirectiveInstruction,\n} from \"@adaas/are/scene-instruction\";\nimport { AreSyntax } from \"@adaas/are/syntax\";\nimport { A_ExecutionContext } from \"@adaas/a-utils/a-execution\";\nimport { A_Logger } from \"@adaas/a-utils/a-logger\";\n\n\n\n@A_Frame.Component({\n namespace: 'A-ARE',\n name: 'AreHTMLCompiler',\n description: 'HTML-specific compiler for A-Concept Rendering Engine (ARE) components, extending the base AreCompiler to handle HTML templates, styles, and rendering logic tailored for web environments.'\n})\nexport class AreHTMLCompiler extends AreCompiler {\n\n\n\n // ==================================================================================\n // ========================= COMPONENT METHODS =======================================\n // ==================================================================================\n /**\n * Get DOM element by string path from root element\n * Works with paths generated by the string-based parser\n */\n @A_Frame.Method({\n description: 'Get DOM element corresponding to the given path from the root element.'\n })\n getElementByPath(\n root: Element,\n path?: string\n ): Element | undefined {\n\n if (path === undefined || path.trim() === '') {\n return root;\n }\n\n const indices = path.split('.').map(index => parseInt(index, 10));\n let current: Element | undefined = root;\n\n for (const index of indices) {\n if (!current) {\n return undefined;\n }\n // Get only element children (not text nodes, comments, etc.)\n\n const elementChildren = Array.from(current.childNodes).filter(child => child.nodeType === Node.ELEMENT_NODE ||\n child.nodeType === Node.DOCUMENT_NODE || child.nodeType === Node.COMMENT_NODE\n );\n\n if (index >= elementChildren.length) {\n return undefined;\n }\n\n current = elementChildren[index] as Element;\n }\n return current;\n }\n /**\n * Get DOM element by AreNode based on its scene path\n * \n * @param node \n * @returns \n */\n @A_Frame.Method({\n description: 'Get DOM element corresponding to the given AreNode based on its scene path.'\n })\n getElementByNode(node: AreNode): Element | undefined {\n const scene = node.scope.resolveFlat<AreScene>(AreScene)!;\n\n const root = document.getElementById(new ASEID(scene.root.id).id)!;\n\n return this.getElementByPath(root, scene.path);\n }\n /**\n * Insert DOM element at specified path within root element\n * \n * @param root \n * @param path \n * @param element \n */\n @A_Frame.Method({\n description: 'Insert a DOM element at the specified path within the root element.'\n })\n insertElementAtPath(\n root: Element,\n path: string,\n element: Element\n ): void {\n const parentPath = path.split('.').slice(0, -1).join('.');\n const parentElement = this.getElementByPath(root, parentPath);\n const index = parseInt(path.split('.').slice(-1)[0], 10);\n if (parentElement) {\n const children = Array.from(parentElement.children).filter(child => child.nodeType === Node.ELEMENT_NODE);\n if (index >= children.length) {\n parentElement.appendChild(element);\n } else {\n parentElement.insertBefore(element, children[index]);\n }\n }\n }\n /**\n * Insert DOM element corresponding to AreNode at its scene path\n * \n * @param node \n * @param element \n */\n @A_Frame.Method({\n description: 'Insert a DOM element corresponding to the given AreNode at its scene path.'\n })\n insertElementByNode(\n node: AreNode,\n element: Element\n ): void {\n const scene = node.scope.resolveFlat<AreScene>(AreScene)!;\n const root = document.getElementById(new ASEID(scene.root.id).id)!;\n this.insertElementAtPath(root, scene.path, element);\n }\n /**\n * Index the elements of the given AreNode within its scene\n * \n * @param node \n */\n @A_Frame.Method({\n description: 'Indexes the elements of the given AreNode within its scene, preserving the original markup structure.'\n })\n index(\n node: AreNode\n ) {\n const index = node.scope.resolveFlat<AreIndex>(AreIndex)!;\n const scene = node.scope.resolveFlat<AreScene>(AreScene)!;\n\n index.clear();\n scene.reset();\n\n // Use a position-based approach that maps DOM paths to original markup exactly\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = node.template;\n\n // Create a mapping of DOM paths to original markup using DOM traversal\n const markupMap = this.createPositionBasedMarkupMap(node.template);\n\n this.indexElementsFromDOM(tempDiv, index, [], markupMap);\n }\n\n /**\n * Create a position-based mapping by parsing the original template with DOM\n * This ensures 1:1 correspondence between DOM structure and original markup\n */\n private createPositionBasedMarkupMap(template: string): Map<string, string> {\n const markupMap = new Map<string, string>();\n const originalDiv = document.createElement('div');\n originalDiv.innerHTML = template;\n\n // Traverse the original DOM and map each position to its outerHTML\n this.mapDOMPositions(originalDiv, [], markupMap);\n\n return markupMap;\n }\n\n /**\n * Recursively map DOM positions to their exact original markup\n */\n private mapDOMPositions(\n parentElement: Element,\n parentPath: number[],\n markupMap: Map<string, string>\n ): void {\n const children = Array.from(parentElement.children);\n\n for (let i = 0; i < children.length; i++) {\n const element = children[i];\n const currentPath = [...parentPath, i];\n const pathKey = currentPath.join('.');\n\n // Store the exact outerHTML for this position\n markupMap.set(pathKey, element.outerHTML);\n\n // Recursively process children\n // if (element.children.length > 0) {\n // this.mapDOMPositions(element, currentPath, markupMap);\n // }\n }\n }\n\n /**\n * Index elements using actual DOM structure with position-based markup mapping\n */\n private indexElementsFromDOM(\n parentElement: Element,\n index: AreIndex,\n parentPath: number[],\n markupMap: Map<string, string>\n ): void {\n const children = Array.from(parentElement.children);\n\n for (let i = 0; i < children.length; i++) {\n const element = children[i];\n const currentPath = [...parentPath, i];\n const pathKey = currentPath.join('.');\n\n // Get the exact markup for this position from our mapping\n const originalMarkup = markupMap.get(pathKey);\n\n\n // Create AreNode with preserved original markup\n const areNode = new AreNode({\n scope: index.name,\n component: element.tagName.toLowerCase(),\n markup: originalMarkup || element.outerHTML,\n template: element.innerHTML,\n });\n\n // Add to index\n index.add(areNode, currentPath.join('.'));\n\n // Recursively process children\n // if (element.children.length > 0) {\n // this.indexElementsFromDOM(element, index, currentPath, markupMap);\n // }\n }\n }\n\n\n\n\n\n\n\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Apply,\n scope: [AttachRootNodeInstruction]\n })\n applyAttachRootNodeInstruction(\n @A_Inject(A_Caller) instruction: AttachRootNodeInstruction,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n const node = instruction.node;\n\n // ensure root identified\n const rootElement = document.getElementById(node.id);\n\n if (!rootElement) {\n logger?.warning(`Root element with id <${node.id}> not found in DOM.`);\n return;\n }\n rootElement.innerHTML = node.template;\n\n rootElement.setAttribute('aseid', node.aseid.toString());\n\n }\n\n\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Apply,\n scope: [MountNodeInstruction]\n })\n applyMountNodeInstruction(\n @A_Inject(A_Caller) instruction: MountNodeInstruction,\n @A_Inject(A_ExecutionContext) context: A_ExecutionContext<{\n element: Element,\n mountPoint: Element,\n content: AreScene,\n }>,\n @A_Inject(AreSyntax) syntax: AreSyntax,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n try {\n\n const node = instruction.node;\n const scene = instruction.scene;\n\n if (syntax.isCustomNode(node)) {\n\n logger?.debug('red', scene.debugPrefix + `Mounting Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()} at path `);\n const wrapper = document.createElement('div');\n\n wrapper.setAttribute('aseid', node.aseid.toString());\n\n wrapper.innerHTML = node.template;\n\n const element = this.getElementByNode(node);\n\n // Replace the placement with the rendered content\n if (!element) {\n this.insertElementByNode(node, wrapper);\n } else {\n (element).replaceWith(wrapper);\n }\n }\n\n } catch (error) {\n logger?.error(error)\n }\n }\n\n\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Apply,\n scope: [UnmountNodeInstruction]\n })\n applyUnmountNodeInstruction(\n @A_Inject(A_Caller) instruction: UnmountNodeInstruction,\n @A_Inject(A_ExecutionContext) context: A_ExecutionContext<{\n element: Element,\n mountPoint: Element,\n content: AreScene,\n }>,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n\n const node = instruction.node;\n const scene = instruction.scene;\n const element = this.getElementByNode(node)!;\n\n logger?.debug('red', scene.debugPrefix + `Unmounting Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`);\n\n try {\n // element.remove();\n\n element.replaceWith(document.createComment(` Unmounted Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()} `));\n\n node.unmount();\n } catch (error) {\n logger?.error(error)\n }\n }\n\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Apply,\n scope: [AddStyleInstruction]\n })\n applyAddStyleInstruction(\n @A_Inject(A_Caller) instruction: AddStyleInstruction,\n @A_Inject(A_ExecutionContext) context: A_ExecutionContext<{\n element: Element,\n mountPoint: Element,\n content: AreScene,\n }>,\n\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n\n try {\n\n\n const node = instruction.node;\n const scene = instruction.scene;\n const styles = instruction.params?.styles || '';\n\n logger?.debug('green', scene.debugPrefix + `Applying styles for Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`);\n\n const styleElementId = `a-style-${node.aseid.entity}`;\n let styleElement = document.querySelector(`#${styleElementId}`) as HTMLStyleElement | null;\n\n if (!styleElement) {\n styleElement = document.createElement('style');\n styleElement.id = styleElementId;\n document.head.appendChild(styleElement);\n }\n styleElement.innerHTML = styles;\n\n } catch (error) {\n logger?.error(error)\n }\n }\n\n\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Apply,\n scope: [AttachListenerInstruction]\n })\n applyAttachListenerInstruction(\n @A_Inject(A_Caller) instruction: AttachListenerInstruction,\n @A_Inject(A_ExecutionContext) context: A_ExecutionContext<{\n element: Element,\n mountPoint: Element,\n content: AreScene,\n }>,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n\n const node = instruction.node;\n const scene = instruction.scene;\n const content = context.get('content')!;\n\n const element = this.getElementByNode(instruction.node)!;\n const mountPoint = context.get('mountPoint')!;\n\n logger?.debug('green', scene.debugPrefix + `Attaching listener '${instruction.listener.name}' for target <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`);\n\n element.addEventListener(instruction.listener.name, instruction.callback as EventListener);\n }\n\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Apply,\n scope: [AddAttributeInstruction]\n })\n applyAddAttributeInstruction(\n @A_Inject(A_Caller) instruction: AddAttributeInstruction,\n @A_Inject(A_ExecutionContext) context: A_ExecutionContext<{\n element: Element,\n mountPoint: Element,\n content: AreScene,\n }>,\n @A_Inject(A_Scope) scope: A_Scope,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n\n const node = instruction.node;\n const scene = instruction.scene;\n const content = context.get('content')!;\n\n const element = this.getElementByNode(node)!;\n\n logger?.debug('green', scene.debugPrefix + `Setting attribute '${instruction.name}'='${instruction.value}' for target <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`, element);\n\n element.setAttribute(instruction.name, instruction.value);\n }\n\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Revert,\n scope: [ReplaceInterpolationInstruction]\n })\n revertInstruction(\n @A_Inject(A_Caller) instruction: ReplaceInterpolationInstruction,\n ) {\n this.interpolationTextNodes.delete(instruction.aseid.toString());\n }\n\n\n interpolationTextNodes: Map<string, Text> = new Map();\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Apply,\n scope: [ReplaceInterpolationInstruction]\n })\n applyReplaceInterpolationInstruction(\n @A_Inject(A_Caller) instruction: ReplaceInterpolationInstruction,\n @A_Inject(A_ExecutionContext) context: A_ExecutionContext<{\n element: Element,\n mountPoint: Element,\n content: AreScene,\n }>,\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(AreSyntax) syntax: AreSyntax,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n\n const node = instruction.node;\n const scene = instruction.scene;\n const element = this.getElementByNode(node)!;\n\n logger?.debug('magenta', scene.debugPrefix + `Replacing interpolation '${instruction.interpolation.name}' with value '${instruction.value}' for target <${node.aseid.entity}>`, instruction);\n\n const textNode = this.interpolationTextNodes.get(instruction.aseid.toString());\n\n if (textNode) {\n textNode.nodeValue = instruction.value;\n } else {\n\n const treeTextNodesWalker = document.createTreeWalker(\n element,\n NodeFilter.SHOW_TEXT,\n {\n acceptNode: (node) => {\n if (node.nodeValue && node.nodeValue.includes(instruction.interpolation.raw)) {\n return NodeFilter.FILTER_ACCEPT;\n }\n return NodeFilter.FILTER_REJECT;\n }\n },\n );\n\n const foundNode = treeTextNodesWalker.nextNode() as Text | null;\n\n\n // then I have to split this node into multiple text nodes\n if (foundNode) {\n const parts = foundNode.nodeValue!.split(instruction.interpolation.raw);\n\n const parent = foundNode.parentNode;\n\n if (parent) {\n for (let i = 0; i < parts.length; i++) {\n const part = parts[i];\n\n if (part) {\n const textNodePart = document.createTextNode(part);\n parent.insertBefore(textNodePart, foundNode);\n }\n\n if (i < parts.length - 1) {\n const valueNode = document.createTextNode(instruction.value);\n parent.insertBefore(valueNode, foundNode);\n\n // store reference to this text node for future updates\n this.interpolationTextNodes.set(instruction.aseid.toString(), valueNode);\n }\n }\n\n // remove the original node\n parent.removeChild(foundNode);\n }\n }\n }\n }\n\n\n\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Init,\n scope: [AddDirectiveInstruction]\n })\n initAddDirectiveInstruction(\n @A_Inject(A_Caller) instruction: AddDirectiveInstruction,\n\n @A_Inject(A_Scope) scope: A_Scope,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n const node = instruction.node;\n const scene = node.scope.resolveFlat<AreScene>(AreScene)!;\n const parentScene = instruction.scene;\n\n logger?.debug('green', scene.debugPrefix + `Initializing directive '${instruction.directive.name}' for Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`, scene, parentScene);\n\n\n switch (instruction.directive.name) {\n case '$if': {\n const mountInstruction = new MountNodeInstruction(node, scene.path);\n const unmountInstruction = new UnmountNodeInstruction(node, scene.path);\n\n\n if (instruction.value) {\n parentScene.unPlan(unmountInstruction);\n\n parentScene.plan(mountInstruction);\n parentScene.dropState(mountInstruction);\n } else {\n parentScene.unPlan(mountInstruction);\n\n parentScene.plan(unmountInstruction);\n parentScene.dropState(unmountInstruction);\n }\n\n // switch (true) {\n // case !instruction.value && !!parentScene.getState(mountInstruction):\n // parentScene.unPlan(mountInstruction);\n\n // parentScene.plan(unmountInstruction);\n // parentScene.dropState(unmountInstruction);\n\n // break;\n // case !instruction.value && !parentScene.getState(mountInstruction):\n\n // parentScene.unPlan(mountInstruction);\n\n // break;\n // case instruction.value && !!parentScene.getState(unmountInstruction):\n\n // parentScene.unPlan(unmountInstruction);\n\n // parentScene.plan(mountInstruction);\n // parentScene.dropState(mountInstruction);\n // break;\n // case instruction.value && !parentScene.getState(unmountInstruction):\n\n // parentScene.unPlan(unmountInstruction);\n // break;\n // default:\n // break;\n // }\n\n break;\n }\n default:\n logger?.warning(`Unknown directive '${instruction.directive.name}' for Node <${node.type}> ASEID: ${node.aseid.toString()}`);\n }\n\n\n\n\n // Directives may have async initialization logic in future\n }\n\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Apply,\n scope: [AddDirectiveInstruction]\n })\n applyAddDirectiveInstruction(\n @A_Inject(A_Caller) instruction: AddDirectiveInstruction,\n @A_Inject(A_ExecutionContext) context: A_ExecutionContext<{\n element: Element,\n mountPoint: Element,\n content: AreScene,\n }>,\n @A_Inject(A_Scope) scope: A_Scope,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n\n const node = instruction.node;\n const scene = instruction.scene;\n const element = this.getElementByNode(node);\n\n try {\n\n logger?.debug('green', scene.debugPrefix + `Applying directive '${instruction.directive.name}' for Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`, instruction);\n\n // switch (instruction.directive.name) {\n // case '$if': {\n // if (!instruction.value && element) {\n // element.replaceWith(document.createComment(`$if directive removed node <${node.aseid.entity}>`));\n // }\n // break;\n // }\n // default:\n // logger?.warning('yellow', scene.debugPrefix + `Unknown directive '${instruction.directive.name}' for Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`);\n // }\n\n // Directive application logic goes here\n } catch (error) {\n logger?.error(error)\n }\n }\n}"]}
@@ -0,0 +1,398 @@
1
+ import { __decorateClass, __decorateParam } from '../../chunk-EQQGB2QZ.mjs';
2
+ import { A_Feature, A_Inject, A_Caller, A_Scope, ASEID } from '@adaas/a-concept';
3
+ import { A_Frame } from '@adaas/a-frame';
4
+ import { AreCompiler } from '@adaas/are/compiler';
5
+ import { AreIndex } from '@adaas/are/index';
6
+ import { AreScene } from '@adaas/are/scene';
7
+ import { AreNode } from '@adaas/are/node';
8
+ import { AttachRootNodeInstruction, AreSceneInstructionFeatures, MountNodeInstruction, UnmountNodeInstruction, AddStyleInstruction, AttachListenerInstruction, AddAttributeInstruction, ReplaceInterpolationInstruction, AddDirectiveInstruction } from '@adaas/are/scene-instruction';
9
+ import { AreSyntax } from '@adaas/are/syntax';
10
+ import { A_ExecutionContext } from '@adaas/a-utils/a-execution';
11
+ import { A_Logger } from '@adaas/a-utils/a-logger';
12
+
13
+ let AreHTMLCompiler = class extends AreCompiler {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.interpolationTextNodes = /* @__PURE__ */ new Map();
17
+ }
18
+ getElementByPath(root, path) {
19
+ if (path === void 0 || path.trim() === "") {
20
+ return root;
21
+ }
22
+ const indices = path.split(".").map((index) => parseInt(index, 10));
23
+ let current = root;
24
+ for (const index of indices) {
25
+ if (!current) {
26
+ return void 0;
27
+ }
28
+ const elementChildren = Array.from(current.childNodes).filter(
29
+ (child) => child.nodeType === Node.ELEMENT_NODE || child.nodeType === Node.DOCUMENT_NODE || child.nodeType === Node.COMMENT_NODE
30
+ );
31
+ if (index >= elementChildren.length) {
32
+ return void 0;
33
+ }
34
+ current = elementChildren[index];
35
+ }
36
+ return current;
37
+ }
38
+ getElementByNode(node) {
39
+ const scene = node.scope.resolveFlat(AreScene);
40
+ const root = document.getElementById(new ASEID(scene.root.id).id);
41
+ return this.getElementByPath(root, scene.path);
42
+ }
43
+ insertElementAtPath(root, path, element) {
44
+ const parentPath = path.split(".").slice(0, -1).join(".");
45
+ const parentElement = this.getElementByPath(root, parentPath);
46
+ const index = parseInt(path.split(".").slice(-1)[0], 10);
47
+ if (parentElement) {
48
+ const children = Array.from(parentElement.children).filter((child) => child.nodeType === Node.ELEMENT_NODE);
49
+ if (index >= children.length) {
50
+ parentElement.appendChild(element);
51
+ } else {
52
+ parentElement.insertBefore(element, children[index]);
53
+ }
54
+ }
55
+ }
56
+ insertElementByNode(node, element) {
57
+ const scene = node.scope.resolveFlat(AreScene);
58
+ const root = document.getElementById(new ASEID(scene.root.id).id);
59
+ this.insertElementAtPath(root, scene.path, element);
60
+ }
61
+ index(node) {
62
+ const index = node.scope.resolveFlat(AreIndex);
63
+ const scene = node.scope.resolveFlat(AreScene);
64
+ index.clear();
65
+ scene.reset();
66
+ const tempDiv = document.createElement("div");
67
+ tempDiv.innerHTML = node.template;
68
+ const markupMap = this.createPositionBasedMarkupMap(node.template);
69
+ this.indexElementsFromDOM(tempDiv, index, [], markupMap);
70
+ }
71
+ /**
72
+ * Create a position-based mapping by parsing the original template with DOM
73
+ * This ensures 1:1 correspondence between DOM structure and original markup
74
+ */
75
+ createPositionBasedMarkupMap(template) {
76
+ const markupMap = /* @__PURE__ */ new Map();
77
+ const originalDiv = document.createElement("div");
78
+ originalDiv.innerHTML = template;
79
+ this.mapDOMPositions(originalDiv, [], markupMap);
80
+ return markupMap;
81
+ }
82
+ /**
83
+ * Recursively map DOM positions to their exact original markup
84
+ */
85
+ mapDOMPositions(parentElement, parentPath, markupMap) {
86
+ const children = Array.from(parentElement.children);
87
+ for (let i = 0; i < children.length; i++) {
88
+ const element = children[i];
89
+ const currentPath = [...parentPath, i];
90
+ const pathKey = currentPath.join(".");
91
+ markupMap.set(pathKey, element.outerHTML);
92
+ }
93
+ }
94
+ /**
95
+ * Index elements using actual DOM structure with position-based markup mapping
96
+ */
97
+ indexElementsFromDOM(parentElement, index, parentPath, markupMap) {
98
+ const children = Array.from(parentElement.children);
99
+ for (let i = 0; i < children.length; i++) {
100
+ const element = children[i];
101
+ const currentPath = [...parentPath, i];
102
+ const pathKey = currentPath.join(".");
103
+ const originalMarkup = markupMap.get(pathKey);
104
+ const areNode = new AreNode({
105
+ scope: index.name,
106
+ component: element.tagName.toLowerCase(),
107
+ markup: originalMarkup || element.outerHTML,
108
+ template: element.innerHTML
109
+ });
110
+ index.add(areNode, currentPath.join("."));
111
+ }
112
+ }
113
+ applyAttachRootNodeInstruction(instruction, logger) {
114
+ const node = instruction.node;
115
+ const rootElement = document.getElementById(node.id);
116
+ if (!rootElement) {
117
+ logger?.warning(`Root element with id <${node.id}> not found in DOM.`);
118
+ return;
119
+ }
120
+ rootElement.innerHTML = node.template;
121
+ rootElement.setAttribute("aseid", node.aseid.toString());
122
+ }
123
+ applyMountNodeInstruction(instruction, context, syntax, logger) {
124
+ try {
125
+ const node = instruction.node;
126
+ const scene = instruction.scene;
127
+ if (syntax.isCustomNode(node)) {
128
+ logger?.debug("red", scene.debugPrefix + `Mounting Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()} at path `);
129
+ const wrapper = document.createElement("div");
130
+ wrapper.setAttribute("aseid", node.aseid.toString());
131
+ wrapper.innerHTML = node.template;
132
+ const element = this.getElementByNode(node);
133
+ if (!element) {
134
+ this.insertElementByNode(node, wrapper);
135
+ } else {
136
+ element.replaceWith(wrapper);
137
+ }
138
+ }
139
+ } catch (error) {
140
+ logger?.error(error);
141
+ }
142
+ }
143
+ applyUnmountNodeInstruction(instruction, context, logger) {
144
+ const node = instruction.node;
145
+ const scene = instruction.scene;
146
+ const element = this.getElementByNode(node);
147
+ logger?.debug("red", scene.debugPrefix + `Unmounting Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`);
148
+ try {
149
+ element.replaceWith(document.createComment(` Unmounted Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()} `));
150
+ node.unmount();
151
+ } catch (error) {
152
+ logger?.error(error);
153
+ }
154
+ }
155
+ applyAddStyleInstruction(instruction, context, logger) {
156
+ try {
157
+ const node = instruction.node;
158
+ const scene = instruction.scene;
159
+ const styles = instruction.params?.styles || "";
160
+ logger?.debug("green", scene.debugPrefix + `Applying styles for Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`);
161
+ const styleElementId = `a-style-${node.aseid.entity}`;
162
+ let styleElement = document.querySelector(`#${styleElementId}`);
163
+ if (!styleElement) {
164
+ styleElement = document.createElement("style");
165
+ styleElement.id = styleElementId;
166
+ document.head.appendChild(styleElement);
167
+ }
168
+ styleElement.innerHTML = styles;
169
+ } catch (error) {
170
+ logger?.error(error);
171
+ }
172
+ }
173
+ applyAttachListenerInstruction(instruction, context, logger) {
174
+ const node = instruction.node;
175
+ const scene = instruction.scene;
176
+ context.get("content");
177
+ const element = this.getElementByNode(instruction.node);
178
+ context.get("mountPoint");
179
+ logger?.debug("green", scene.debugPrefix + `Attaching listener '${instruction.listener.name}' for target <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`);
180
+ element.addEventListener(instruction.listener.name, instruction.callback);
181
+ }
182
+ applyAddAttributeInstruction(instruction, context, scope, logger) {
183
+ const node = instruction.node;
184
+ const scene = instruction.scene;
185
+ context.get("content");
186
+ const element = this.getElementByNode(node);
187
+ logger?.debug("green", scene.debugPrefix + `Setting attribute '${instruction.name}'='${instruction.value}' for target <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`, element);
188
+ element.setAttribute(instruction.name, instruction.value);
189
+ }
190
+ revertInstruction(instruction) {
191
+ this.interpolationTextNodes.delete(instruction.aseid.toString());
192
+ }
193
+ applyReplaceInterpolationInstruction(instruction, context, scope, syntax, logger) {
194
+ const node = instruction.node;
195
+ const scene = instruction.scene;
196
+ const element = this.getElementByNode(node);
197
+ logger?.debug("magenta", scene.debugPrefix + `Replacing interpolation '${instruction.interpolation.name}' with value '${instruction.value}' for target <${node.aseid.entity}>`, instruction);
198
+ const textNode = this.interpolationTextNodes.get(instruction.aseid.toString());
199
+ if (textNode) {
200
+ textNode.nodeValue = instruction.value;
201
+ } else {
202
+ const treeTextNodesWalker = document.createTreeWalker(
203
+ element,
204
+ NodeFilter.SHOW_TEXT,
205
+ {
206
+ acceptNode: (node2) => {
207
+ if (node2.nodeValue && node2.nodeValue.includes(instruction.interpolation.raw)) {
208
+ return NodeFilter.FILTER_ACCEPT;
209
+ }
210
+ return NodeFilter.FILTER_REJECT;
211
+ }
212
+ }
213
+ );
214
+ const foundNode = treeTextNodesWalker.nextNode();
215
+ if (foundNode) {
216
+ const parts = foundNode.nodeValue.split(instruction.interpolation.raw);
217
+ const parent = foundNode.parentNode;
218
+ if (parent) {
219
+ for (let i = 0; i < parts.length; i++) {
220
+ const part = parts[i];
221
+ if (part) {
222
+ const textNodePart = document.createTextNode(part);
223
+ parent.insertBefore(textNodePart, foundNode);
224
+ }
225
+ if (i < parts.length - 1) {
226
+ const valueNode = document.createTextNode(instruction.value);
227
+ parent.insertBefore(valueNode, foundNode);
228
+ this.interpolationTextNodes.set(instruction.aseid.toString(), valueNode);
229
+ }
230
+ }
231
+ parent.removeChild(foundNode);
232
+ }
233
+ }
234
+ }
235
+ }
236
+ initAddDirectiveInstruction(instruction, scope, logger) {
237
+ const node = instruction.node;
238
+ const scene = node.scope.resolveFlat(AreScene);
239
+ const parentScene = instruction.scene;
240
+ logger?.debug("green", scene.debugPrefix + `Initializing directive '${instruction.directive.name}' for Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`, scene, parentScene);
241
+ switch (instruction.directive.name) {
242
+ case "$if": {
243
+ const mountInstruction = new MountNodeInstruction(node, scene.path);
244
+ const unmountInstruction = new UnmountNodeInstruction(node, scene.path);
245
+ if (instruction.value) {
246
+ parentScene.unPlan(unmountInstruction);
247
+ parentScene.plan(mountInstruction);
248
+ parentScene.dropState(mountInstruction);
249
+ } else {
250
+ parentScene.unPlan(mountInstruction);
251
+ parentScene.plan(unmountInstruction);
252
+ parentScene.dropState(unmountInstruction);
253
+ }
254
+ break;
255
+ }
256
+ default:
257
+ logger?.warning(`Unknown directive '${instruction.directive.name}' for Node <${node.type}> ASEID: ${node.aseid.toString()}`);
258
+ }
259
+ }
260
+ applyAddDirectiveInstruction(instruction, context, scope, logger) {
261
+ const node = instruction.node;
262
+ const scene = instruction.scene;
263
+ this.getElementByNode(node);
264
+ try {
265
+ logger?.debug("green", scene.debugPrefix + `Applying directive '${instruction.directive.name}' for Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`, instruction);
266
+ } catch (error) {
267
+ logger?.error(error);
268
+ }
269
+ }
270
+ };
271
+ __decorateClass([
272
+ A_Frame.Method({
273
+ description: "Get DOM element corresponding to the given path from the root element."
274
+ })
275
+ ], AreHTMLCompiler.prototype, "getElementByPath", 1);
276
+ __decorateClass([
277
+ A_Frame.Method({
278
+ description: "Get DOM element corresponding to the given AreNode based on its scene path."
279
+ })
280
+ ], AreHTMLCompiler.prototype, "getElementByNode", 1);
281
+ __decorateClass([
282
+ A_Frame.Method({
283
+ description: "Insert a DOM element at the specified path within the root element."
284
+ })
285
+ ], AreHTMLCompiler.prototype, "insertElementAtPath", 1);
286
+ __decorateClass([
287
+ A_Frame.Method({
288
+ description: "Insert a DOM element corresponding to the given AreNode at its scene path."
289
+ })
290
+ ], AreHTMLCompiler.prototype, "insertElementByNode", 1);
291
+ __decorateClass([
292
+ A_Frame.Method({
293
+ description: "Indexes the elements of the given AreNode within its scene, preserving the original markup structure."
294
+ })
295
+ ], AreHTMLCompiler.prototype, "index", 1);
296
+ __decorateClass([
297
+ A_Feature.Extend({
298
+ name: AreSceneInstructionFeatures.Apply,
299
+ scope: [AttachRootNodeInstruction]
300
+ }),
301
+ __decorateParam(0, A_Inject(A_Caller)),
302
+ __decorateParam(1, A_Inject(A_Logger))
303
+ ], AreHTMLCompiler.prototype, "applyAttachRootNodeInstruction", 1);
304
+ __decorateClass([
305
+ A_Feature.Extend({
306
+ name: AreSceneInstructionFeatures.Apply,
307
+ scope: [MountNodeInstruction]
308
+ }),
309
+ __decorateParam(0, A_Inject(A_Caller)),
310
+ __decorateParam(1, A_Inject(A_ExecutionContext)),
311
+ __decorateParam(2, A_Inject(AreSyntax)),
312
+ __decorateParam(3, A_Inject(A_Logger))
313
+ ], AreHTMLCompiler.prototype, "applyMountNodeInstruction", 1);
314
+ __decorateClass([
315
+ A_Feature.Extend({
316
+ name: AreSceneInstructionFeatures.Apply,
317
+ scope: [UnmountNodeInstruction]
318
+ }),
319
+ __decorateParam(0, A_Inject(A_Caller)),
320
+ __decorateParam(1, A_Inject(A_ExecutionContext)),
321
+ __decorateParam(2, A_Inject(A_Logger))
322
+ ], AreHTMLCompiler.prototype, "applyUnmountNodeInstruction", 1);
323
+ __decorateClass([
324
+ A_Feature.Extend({
325
+ name: AreSceneInstructionFeatures.Apply,
326
+ scope: [AddStyleInstruction]
327
+ }),
328
+ __decorateParam(0, A_Inject(A_Caller)),
329
+ __decorateParam(1, A_Inject(A_ExecutionContext)),
330
+ __decorateParam(2, A_Inject(A_Logger))
331
+ ], AreHTMLCompiler.prototype, "applyAddStyleInstruction", 1);
332
+ __decorateClass([
333
+ A_Feature.Extend({
334
+ name: AreSceneInstructionFeatures.Apply,
335
+ scope: [AttachListenerInstruction]
336
+ }),
337
+ __decorateParam(0, A_Inject(A_Caller)),
338
+ __decorateParam(1, A_Inject(A_ExecutionContext)),
339
+ __decorateParam(2, A_Inject(A_Logger))
340
+ ], AreHTMLCompiler.prototype, "applyAttachListenerInstruction", 1);
341
+ __decorateClass([
342
+ A_Feature.Extend({
343
+ name: AreSceneInstructionFeatures.Apply,
344
+ scope: [AddAttributeInstruction]
345
+ }),
346
+ __decorateParam(0, A_Inject(A_Caller)),
347
+ __decorateParam(1, A_Inject(A_ExecutionContext)),
348
+ __decorateParam(2, A_Inject(A_Scope)),
349
+ __decorateParam(3, A_Inject(A_Logger))
350
+ ], AreHTMLCompiler.prototype, "applyAddAttributeInstruction", 1);
351
+ __decorateClass([
352
+ A_Feature.Extend({
353
+ name: AreSceneInstructionFeatures.Revert,
354
+ scope: [ReplaceInterpolationInstruction]
355
+ }),
356
+ __decorateParam(0, A_Inject(A_Caller))
357
+ ], AreHTMLCompiler.prototype, "revertInstruction", 1);
358
+ __decorateClass([
359
+ A_Feature.Extend({
360
+ name: AreSceneInstructionFeatures.Apply,
361
+ scope: [ReplaceInterpolationInstruction]
362
+ }),
363
+ __decorateParam(0, A_Inject(A_Caller)),
364
+ __decorateParam(1, A_Inject(A_ExecutionContext)),
365
+ __decorateParam(2, A_Inject(A_Scope)),
366
+ __decorateParam(3, A_Inject(AreSyntax)),
367
+ __decorateParam(4, A_Inject(A_Logger))
368
+ ], AreHTMLCompiler.prototype, "applyReplaceInterpolationInstruction", 1);
369
+ __decorateClass([
370
+ A_Feature.Extend({
371
+ name: AreSceneInstructionFeatures.Init,
372
+ scope: [AddDirectiveInstruction]
373
+ }),
374
+ __decorateParam(0, A_Inject(A_Caller)),
375
+ __decorateParam(1, A_Inject(A_Scope)),
376
+ __decorateParam(2, A_Inject(A_Logger))
377
+ ], AreHTMLCompiler.prototype, "initAddDirectiveInstruction", 1);
378
+ __decorateClass([
379
+ A_Feature.Extend({
380
+ name: AreSceneInstructionFeatures.Apply,
381
+ scope: [AddDirectiveInstruction]
382
+ }),
383
+ __decorateParam(0, A_Inject(A_Caller)),
384
+ __decorateParam(1, A_Inject(A_ExecutionContext)),
385
+ __decorateParam(2, A_Inject(A_Scope)),
386
+ __decorateParam(3, A_Inject(A_Logger))
387
+ ], AreHTMLCompiler.prototype, "applyAddDirectiveInstruction", 1);
388
+ AreHTMLCompiler = __decorateClass([
389
+ A_Frame.Component({
390
+ namespace: "A-ARE",
391
+ name: "AreHTMLCompiler",
392
+ description: "HTML-specific compiler for A-Concept Rendering Engine (ARE) components, extending the base AreCompiler to handle HTML templates, styles, and rendering logic tailored for web environments."
393
+ })
394
+ ], AreHTMLCompiler);
395
+
396
+ export { AreHTMLCompiler };
397
+ //# sourceMappingURL=AreHTML.compiler.mjs.map
398
+ //# sourceMappingURL=AreHTML.compiler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/engines/html/AreHTML.compiler.ts"],"names":["node"],"mappings":"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","file":"AreHTML.compiler.mjs","sourcesContent":["import { A_Caller, A_Container, A_Error, A_Feature, A_Inject, A_Scope, ASEID } from \"@adaas/a-concept\";\nimport { A_Frame } from \"@adaas/a-frame\";\nimport { AreCompiler } from \"@adaas/are/compiler\";\nimport { AreIndex } from \"@adaas/are/index\";\nimport { AreScene } from \"@adaas/are/scene\";\nimport { AreNode } from \"@adaas/are/node\";\nimport {\n AreSceneInstructionFeatures,\n AttachRootNodeInstruction,\n MountNodeInstruction,\n UnmountNodeInstruction,\n AddStyleInstruction,\n AttachListenerInstruction,\n AddAttributeInstruction,\n ReplaceInterpolationInstruction,\n AddDirectiveInstruction,\n} from \"@adaas/are/scene-instruction\";\nimport { AreSyntax } from \"@adaas/are/syntax\";\nimport { A_ExecutionContext } from \"@adaas/a-utils/a-execution\";\nimport { A_Logger } from \"@adaas/a-utils/a-logger\";\n\n\n\n@A_Frame.Component({\n namespace: 'A-ARE',\n name: 'AreHTMLCompiler',\n description: 'HTML-specific compiler for A-Concept Rendering Engine (ARE) components, extending the base AreCompiler to handle HTML templates, styles, and rendering logic tailored for web environments.'\n})\nexport class AreHTMLCompiler extends AreCompiler {\n\n\n\n // ==================================================================================\n // ========================= COMPONENT METHODS =======================================\n // ==================================================================================\n /**\n * Get DOM element by string path from root element\n * Works with paths generated by the string-based parser\n */\n @A_Frame.Method({\n description: 'Get DOM element corresponding to the given path from the root element.'\n })\n getElementByPath(\n root: Element,\n path?: string\n ): Element | undefined {\n\n if (path === undefined || path.trim() === '') {\n return root;\n }\n\n const indices = path.split('.').map(index => parseInt(index, 10));\n let current: Element | undefined = root;\n\n for (const index of indices) {\n if (!current) {\n return undefined;\n }\n // Get only element children (not text nodes, comments, etc.)\n\n const elementChildren = Array.from(current.childNodes).filter(child => child.nodeType === Node.ELEMENT_NODE ||\n child.nodeType === Node.DOCUMENT_NODE || child.nodeType === Node.COMMENT_NODE\n );\n\n if (index >= elementChildren.length) {\n return undefined;\n }\n\n current = elementChildren[index] as Element;\n }\n return current;\n }\n /**\n * Get DOM element by AreNode based on its scene path\n * \n * @param node \n * @returns \n */\n @A_Frame.Method({\n description: 'Get DOM element corresponding to the given AreNode based on its scene path.'\n })\n getElementByNode(node: AreNode): Element | undefined {\n const scene = node.scope.resolveFlat<AreScene>(AreScene)!;\n\n const root = document.getElementById(new ASEID(scene.root.id).id)!;\n\n return this.getElementByPath(root, scene.path);\n }\n /**\n * Insert DOM element at specified path within root element\n * \n * @param root \n * @param path \n * @param element \n */\n @A_Frame.Method({\n description: 'Insert a DOM element at the specified path within the root element.'\n })\n insertElementAtPath(\n root: Element,\n path: string,\n element: Element\n ): void {\n const parentPath = path.split('.').slice(0, -1).join('.');\n const parentElement = this.getElementByPath(root, parentPath);\n const index = parseInt(path.split('.').slice(-1)[0], 10);\n if (parentElement) {\n const children = Array.from(parentElement.children).filter(child => child.nodeType === Node.ELEMENT_NODE);\n if (index >= children.length) {\n parentElement.appendChild(element);\n } else {\n parentElement.insertBefore(element, children[index]);\n }\n }\n }\n /**\n * Insert DOM element corresponding to AreNode at its scene path\n * \n * @param node \n * @param element \n */\n @A_Frame.Method({\n description: 'Insert a DOM element corresponding to the given AreNode at its scene path.'\n })\n insertElementByNode(\n node: AreNode,\n element: Element\n ): void {\n const scene = node.scope.resolveFlat<AreScene>(AreScene)!;\n const root = document.getElementById(new ASEID(scene.root.id).id)!;\n this.insertElementAtPath(root, scene.path, element);\n }\n /**\n * Index the elements of the given AreNode within its scene\n * \n * @param node \n */\n @A_Frame.Method({\n description: 'Indexes the elements of the given AreNode within its scene, preserving the original markup structure.'\n })\n index(\n node: AreNode\n ) {\n const index = node.scope.resolveFlat<AreIndex>(AreIndex)!;\n const scene = node.scope.resolveFlat<AreScene>(AreScene)!;\n\n index.clear();\n scene.reset();\n\n // Use a position-based approach that maps DOM paths to original markup exactly\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = node.template;\n\n // Create a mapping of DOM paths to original markup using DOM traversal\n const markupMap = this.createPositionBasedMarkupMap(node.template);\n\n this.indexElementsFromDOM(tempDiv, index, [], markupMap);\n }\n\n /**\n * Create a position-based mapping by parsing the original template with DOM\n * This ensures 1:1 correspondence between DOM structure and original markup\n */\n private createPositionBasedMarkupMap(template: string): Map<string, string> {\n const markupMap = new Map<string, string>();\n const originalDiv = document.createElement('div');\n originalDiv.innerHTML = template;\n\n // Traverse the original DOM and map each position to its outerHTML\n this.mapDOMPositions(originalDiv, [], markupMap);\n\n return markupMap;\n }\n\n /**\n * Recursively map DOM positions to their exact original markup\n */\n private mapDOMPositions(\n parentElement: Element,\n parentPath: number[],\n markupMap: Map<string, string>\n ): void {\n const children = Array.from(parentElement.children);\n\n for (let i = 0; i < children.length; i++) {\n const element = children[i];\n const currentPath = [...parentPath, i];\n const pathKey = currentPath.join('.');\n\n // Store the exact outerHTML for this position\n markupMap.set(pathKey, element.outerHTML);\n\n // Recursively process children\n // if (element.children.length > 0) {\n // this.mapDOMPositions(element, currentPath, markupMap);\n // }\n }\n }\n\n /**\n * Index elements using actual DOM structure with position-based markup mapping\n */\n private indexElementsFromDOM(\n parentElement: Element,\n index: AreIndex,\n parentPath: number[],\n markupMap: Map<string, string>\n ): void {\n const children = Array.from(parentElement.children);\n\n for (let i = 0; i < children.length; i++) {\n const element = children[i];\n const currentPath = [...parentPath, i];\n const pathKey = currentPath.join('.');\n\n // Get the exact markup for this position from our mapping\n const originalMarkup = markupMap.get(pathKey);\n\n\n // Create AreNode with preserved original markup\n const areNode = new AreNode({\n scope: index.name,\n component: element.tagName.toLowerCase(),\n markup: originalMarkup || element.outerHTML,\n template: element.innerHTML,\n });\n\n // Add to index\n index.add(areNode, currentPath.join('.'));\n\n // Recursively process children\n // if (element.children.length > 0) {\n // this.indexElementsFromDOM(element, index, currentPath, markupMap);\n // }\n }\n }\n\n\n\n\n\n\n\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Apply,\n scope: [AttachRootNodeInstruction]\n })\n applyAttachRootNodeInstruction(\n @A_Inject(A_Caller) instruction: AttachRootNodeInstruction,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n const node = instruction.node;\n\n // ensure root identified\n const rootElement = document.getElementById(node.id);\n\n if (!rootElement) {\n logger?.warning(`Root element with id <${node.id}> not found in DOM.`);\n return;\n }\n rootElement.innerHTML = node.template;\n\n rootElement.setAttribute('aseid', node.aseid.toString());\n\n }\n\n\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Apply,\n scope: [MountNodeInstruction]\n })\n applyMountNodeInstruction(\n @A_Inject(A_Caller) instruction: MountNodeInstruction,\n @A_Inject(A_ExecutionContext) context: A_ExecutionContext<{\n element: Element,\n mountPoint: Element,\n content: AreScene,\n }>,\n @A_Inject(AreSyntax) syntax: AreSyntax,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n try {\n\n const node = instruction.node;\n const scene = instruction.scene;\n\n if (syntax.isCustomNode(node)) {\n\n logger?.debug('red', scene.debugPrefix + `Mounting Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()} at path `);\n const wrapper = document.createElement('div');\n\n wrapper.setAttribute('aseid', node.aseid.toString());\n\n wrapper.innerHTML = node.template;\n\n const element = this.getElementByNode(node);\n\n // Replace the placement with the rendered content\n if (!element) {\n this.insertElementByNode(node, wrapper);\n } else {\n (element).replaceWith(wrapper);\n }\n }\n\n } catch (error) {\n logger?.error(error)\n }\n }\n\n\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Apply,\n scope: [UnmountNodeInstruction]\n })\n applyUnmountNodeInstruction(\n @A_Inject(A_Caller) instruction: UnmountNodeInstruction,\n @A_Inject(A_ExecutionContext) context: A_ExecutionContext<{\n element: Element,\n mountPoint: Element,\n content: AreScene,\n }>,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n\n const node = instruction.node;\n const scene = instruction.scene;\n const element = this.getElementByNode(node)!;\n\n logger?.debug('red', scene.debugPrefix + `Unmounting Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`);\n\n try {\n // element.remove();\n\n element.replaceWith(document.createComment(` Unmounted Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()} `));\n\n node.unmount();\n } catch (error) {\n logger?.error(error)\n }\n }\n\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Apply,\n scope: [AddStyleInstruction]\n })\n applyAddStyleInstruction(\n @A_Inject(A_Caller) instruction: AddStyleInstruction,\n @A_Inject(A_ExecutionContext) context: A_ExecutionContext<{\n element: Element,\n mountPoint: Element,\n content: AreScene,\n }>,\n\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n\n try {\n\n\n const node = instruction.node;\n const scene = instruction.scene;\n const styles = instruction.params?.styles || '';\n\n logger?.debug('green', scene.debugPrefix + `Applying styles for Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`);\n\n const styleElementId = `a-style-${node.aseid.entity}`;\n let styleElement = document.querySelector(`#${styleElementId}`) as HTMLStyleElement | null;\n\n if (!styleElement) {\n styleElement = document.createElement('style');\n styleElement.id = styleElementId;\n document.head.appendChild(styleElement);\n }\n styleElement.innerHTML = styles;\n\n } catch (error) {\n logger?.error(error)\n }\n }\n\n\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Apply,\n scope: [AttachListenerInstruction]\n })\n applyAttachListenerInstruction(\n @A_Inject(A_Caller) instruction: AttachListenerInstruction,\n @A_Inject(A_ExecutionContext) context: A_ExecutionContext<{\n element: Element,\n mountPoint: Element,\n content: AreScene,\n }>,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n\n const node = instruction.node;\n const scene = instruction.scene;\n const content = context.get('content')!;\n\n const element = this.getElementByNode(instruction.node)!;\n const mountPoint = context.get('mountPoint')!;\n\n logger?.debug('green', scene.debugPrefix + `Attaching listener '${instruction.listener.name}' for target <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`);\n\n element.addEventListener(instruction.listener.name, instruction.callback as EventListener);\n }\n\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Apply,\n scope: [AddAttributeInstruction]\n })\n applyAddAttributeInstruction(\n @A_Inject(A_Caller) instruction: AddAttributeInstruction,\n @A_Inject(A_ExecutionContext) context: A_ExecutionContext<{\n element: Element,\n mountPoint: Element,\n content: AreScene,\n }>,\n @A_Inject(A_Scope) scope: A_Scope,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n\n const node = instruction.node;\n const scene = instruction.scene;\n const content = context.get('content')!;\n\n const element = this.getElementByNode(node)!;\n\n logger?.debug('green', scene.debugPrefix + `Setting attribute '${instruction.name}'='${instruction.value}' for target <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`, element);\n\n element.setAttribute(instruction.name, instruction.value);\n }\n\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Revert,\n scope: [ReplaceInterpolationInstruction]\n })\n revertInstruction(\n @A_Inject(A_Caller) instruction: ReplaceInterpolationInstruction,\n ) {\n this.interpolationTextNodes.delete(instruction.aseid.toString());\n }\n\n\n interpolationTextNodes: Map<string, Text> = new Map();\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Apply,\n scope: [ReplaceInterpolationInstruction]\n })\n applyReplaceInterpolationInstruction(\n @A_Inject(A_Caller) instruction: ReplaceInterpolationInstruction,\n @A_Inject(A_ExecutionContext) context: A_ExecutionContext<{\n element: Element,\n mountPoint: Element,\n content: AreScene,\n }>,\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(AreSyntax) syntax: AreSyntax,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n\n const node = instruction.node;\n const scene = instruction.scene;\n const element = this.getElementByNode(node)!;\n\n logger?.debug('magenta', scene.debugPrefix + `Replacing interpolation '${instruction.interpolation.name}' with value '${instruction.value}' for target <${node.aseid.entity}>`, instruction);\n\n const textNode = this.interpolationTextNodes.get(instruction.aseid.toString());\n\n if (textNode) {\n textNode.nodeValue = instruction.value;\n } else {\n\n const treeTextNodesWalker = document.createTreeWalker(\n element,\n NodeFilter.SHOW_TEXT,\n {\n acceptNode: (node) => {\n if (node.nodeValue && node.nodeValue.includes(instruction.interpolation.raw)) {\n return NodeFilter.FILTER_ACCEPT;\n }\n return NodeFilter.FILTER_REJECT;\n }\n },\n );\n\n const foundNode = treeTextNodesWalker.nextNode() as Text | null;\n\n\n // then I have to split this node into multiple text nodes\n if (foundNode) {\n const parts = foundNode.nodeValue!.split(instruction.interpolation.raw);\n\n const parent = foundNode.parentNode;\n\n if (parent) {\n for (let i = 0; i < parts.length; i++) {\n const part = parts[i];\n\n if (part) {\n const textNodePart = document.createTextNode(part);\n parent.insertBefore(textNodePart, foundNode);\n }\n\n if (i < parts.length - 1) {\n const valueNode = document.createTextNode(instruction.value);\n parent.insertBefore(valueNode, foundNode);\n\n // store reference to this text node for future updates\n this.interpolationTextNodes.set(instruction.aseid.toString(), valueNode);\n }\n }\n\n // remove the original node\n parent.removeChild(foundNode);\n }\n }\n }\n }\n\n\n\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Init,\n scope: [AddDirectiveInstruction]\n })\n initAddDirectiveInstruction(\n @A_Inject(A_Caller) instruction: AddDirectiveInstruction,\n\n @A_Inject(A_Scope) scope: A_Scope,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n const node = instruction.node;\n const scene = node.scope.resolveFlat<AreScene>(AreScene)!;\n const parentScene = instruction.scene;\n\n logger?.debug('green', scene.debugPrefix + `Initializing directive '${instruction.directive.name}' for Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`, scene, parentScene);\n\n\n switch (instruction.directive.name) {\n case '$if': {\n const mountInstruction = new MountNodeInstruction(node, scene.path);\n const unmountInstruction = new UnmountNodeInstruction(node, scene.path);\n\n\n if (instruction.value) {\n parentScene.unPlan(unmountInstruction);\n\n parentScene.plan(mountInstruction);\n parentScene.dropState(mountInstruction);\n } else {\n parentScene.unPlan(mountInstruction);\n\n parentScene.plan(unmountInstruction);\n parentScene.dropState(unmountInstruction);\n }\n\n // switch (true) {\n // case !instruction.value && !!parentScene.getState(mountInstruction):\n // parentScene.unPlan(mountInstruction);\n\n // parentScene.plan(unmountInstruction);\n // parentScene.dropState(unmountInstruction);\n\n // break;\n // case !instruction.value && !parentScene.getState(mountInstruction):\n\n // parentScene.unPlan(mountInstruction);\n\n // break;\n // case instruction.value && !!parentScene.getState(unmountInstruction):\n\n // parentScene.unPlan(unmountInstruction);\n\n // parentScene.plan(mountInstruction);\n // parentScene.dropState(mountInstruction);\n // break;\n // case instruction.value && !parentScene.getState(unmountInstruction):\n\n // parentScene.unPlan(unmountInstruction);\n // break;\n // default:\n // break;\n // }\n\n break;\n }\n default:\n logger?.warning(`Unknown directive '${instruction.directive.name}' for Node <${node.type}> ASEID: ${node.aseid.toString()}`);\n }\n\n\n\n\n // Directives may have async initialization logic in future\n }\n\n\n @A_Feature.Extend({\n name: AreSceneInstructionFeatures.Apply,\n scope: [AddDirectiveInstruction]\n })\n applyAddDirectiveInstruction(\n @A_Inject(A_Caller) instruction: AddDirectiveInstruction,\n @A_Inject(A_ExecutionContext) context: A_ExecutionContext<{\n element: Element,\n mountPoint: Element,\n content: AreScene,\n }>,\n @A_Inject(A_Scope) scope: A_Scope,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n\n const node = instruction.node;\n const scene = instruction.scene;\n const element = this.getElementByNode(node);\n\n try {\n\n logger?.debug('green', scene.debugPrefix + `Applying directive '${instruction.directive.name}' for Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`, instruction);\n\n // switch (instruction.directive.name) {\n // case '$if': {\n // if (!instruction.value && element) {\n // element.replaceWith(document.createComment(`$if directive removed node <${node.aseid.entity}>`));\n // }\n // break;\n // }\n // default:\n // logger?.warning('yellow', scene.debugPrefix + `Unknown directive '${instruction.directive.name}' for Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`);\n // }\n\n // Directive application logic goes here\n } catch (error) {\n logger?.error(error)\n }\n }\n}"]}
@@ -0,0 +1,36 @@
1
+ import { AreHTMLCompiler } from './AreHTML.compiler.mjs';
2
+ import { A_Component, A_Container } from '@adaas/a-concept';
3
+ import { AreSyntaxContext } from '../../lib/AreSyntax/AreSyntax.context.mjs';
4
+ import { A_Logger } from '@adaas/a-utils/a-logger';
5
+ import '../../lib/AreCompiler/AreCompiler.component.mjs';
6
+ import '../../index-DMXWCL7R.mjs';
7
+ import '../../lib/AreEvent/AreEvent.types.mjs';
8
+ import '../../lib/AreNode/AreNode.types.mjs';
9
+ import '../../lib/AreScene/AreScene.types.mjs';
10
+ import '../../lib/AreProps/AreProps.context.mjs';
11
+ import '@adaas/a-utils/a-execution';
12
+ import '../../lib/AreStore/AreStore.context.mjs';
13
+ import '../../lib/AreSyntax/AreSyntax.component.mjs';
14
+ import '../../lib/AreSyntax/AreSyntax.types.mjs';
15
+ import '@adaas/a-utils/a-signal';
16
+ import '../../lib/AreComponent/Are.component.mjs';
17
+ import '../../lib/AreComponent/Are.context.mjs';
18
+ import '../../lib/AreSceneInstruction/types/AddAttribute.instruction.mjs';
19
+ import '../../lib/AreSceneInstruction/types/AddDirective.instruction.mjs';
20
+ import '../../lib/AreSceneInstruction/types/AddStyle.instruction.mjs';
21
+ import '../../lib/AreSceneInstruction/types/AttachListener.instruction.mjs';
22
+ import '../../lib/AreSceneInstruction/types/AttachRootNode.instruction.mjs';
23
+ import '../../lib/AreSceneInstruction/types/MountNode.instruction.mjs';
24
+ import '../../lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.mjs';
25
+ import '../../lib/AreSceneInstruction/types/UnmountNode.instruction.mjs';
26
+
27
+ declare class AreHTMLEngine extends A_Component {
28
+ /**
29
+ * Inject AreHTMLSyntax into the container scope before loading
30
+ *
31
+ * @param container
32
+ */
33
+ injectSyntax(container: A_Container, syntax?: AreSyntaxContext, compiler?: AreHTMLCompiler, logger?: A_Logger): Promise<void>;
34
+ }
35
+
36
+ export { AreHTMLEngine };
@@ -0,0 +1,36 @@
1
+ import { AreHTMLCompiler } from './AreHTML.compiler.js';
2
+ import { A_Component, A_Container } from '@adaas/a-concept';
3
+ import { AreSyntaxContext } from '../../lib/AreSyntax/AreSyntax.context.js';
4
+ import { A_Logger } from '@adaas/a-utils/a-logger';
5
+ import '../../lib/AreCompiler/AreCompiler.component.js';
6
+ import '../../index-BD-6iOuR.js';
7
+ import '../../lib/AreEvent/AreEvent.types.js';
8
+ import '../../lib/AreNode/AreNode.types.js';
9
+ import '../../lib/AreScene/AreScene.types.js';
10
+ import '../../lib/AreProps/AreProps.context.js';
11
+ import '@adaas/a-utils/a-execution';
12
+ import '../../lib/AreStore/AreStore.context.js';
13
+ import '../../lib/AreSyntax/AreSyntax.component.js';
14
+ import '../../lib/AreSyntax/AreSyntax.types.js';
15
+ import '@adaas/a-utils/a-signal';
16
+ import '../../lib/AreComponent/Are.component.js';
17
+ import '../../lib/AreComponent/Are.context.js';
18
+ import '../../lib/AreSceneInstruction/types/AddAttribute.instruction.js';
19
+ import '../../lib/AreSceneInstruction/types/AddDirective.instruction.js';
20
+ import '../../lib/AreSceneInstruction/types/AddStyle.instruction.js';
21
+ import '../../lib/AreSceneInstruction/types/AttachListener.instruction.js';
22
+ import '../../lib/AreSceneInstruction/types/AttachRootNode.instruction.js';
23
+ import '../../lib/AreSceneInstruction/types/MountNode.instruction.js';
24
+ import '../../lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.js';
25
+ import '../../lib/AreSceneInstruction/types/UnmountNode.instruction.js';
26
+
27
+ declare class AreHTMLEngine extends A_Component {
28
+ /**
29
+ * Inject AreHTMLSyntax into the container scope before loading
30
+ *
31
+ * @param container
32
+ */
33
+ injectSyntax(container: A_Container, syntax?: AreSyntaxContext, compiler?: AreHTMLCompiler, logger?: A_Logger): Promise<void>;
34
+ }
35
+
36
+ export { AreHTMLEngine };