@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,382 @@
1
+ import { A_Context, A_Dependency, A_Fragment, A_Scope, ASEID } from "@adaas/a-concept";
2
+ import { AreIndex } from "../AreIndex/AreIndex.context";
3
+ import { AreNode } from "@adaas/are/node";
4
+ import { AreSCene_Serialized } from "./AreScene.types";
5
+ import { AreProps } from "@adaas/are/props";
6
+ import { AreStore } from "@adaas/are/store";
7
+ import { AreSceneInstruction } from "@adaas/are/scene-instruction";
8
+
9
+ export class AreScene extends A_Fragment {
10
+
11
+ protected _state: Set<string> = new Set();
12
+
13
+ constructor(
14
+ /**
15
+ * Scene identity will be used to identify mounting point in the parent scene
16
+ */
17
+ id: string | ASEID,
18
+ ) {
19
+ super({ name: id.toString() });
20
+ }
21
+
22
+ get id(): string {
23
+ return this.name;
24
+ }
25
+
26
+ /**
27
+ * Get the root scene of the current scene
28
+ */
29
+ get root(): AreScene {
30
+ let currentScope: A_Scope | undefined = this.scope;
31
+ let rootScene: AreScene = this;
32
+
33
+ while (currentScope) {
34
+ const parentScene = currentScope.parent?.resolve<AreScene>(this.constructor as typeof AreScene);
35
+ if (parentScene) {
36
+ rootScene = parentScene;
37
+ }
38
+ currentScope = currentScope.parent;
39
+ }
40
+
41
+ return rootScene;
42
+ }
43
+
44
+ get scope(): A_Scope {
45
+ return A_Context.scope(this);
46
+ }
47
+
48
+ get index(): AreIndex<string> {
49
+ return A_Context.scope(this).resolveFlat<AreIndex<string>>(AreIndex)!;
50
+ }
51
+
52
+ get parent(): AreScene | undefined {
53
+ return A_Context.scope(this).parent?.resolveFlat<AreScene>(AreScene);
54
+ }
55
+
56
+ get children(): Array<AreScene> {
57
+ return this.scope.resolveFlatAll<AreNode>(AreNode)
58
+ .map(n => n.scope.resolveFlat<AreScene>(AreScene))
59
+ .filter(s => !!s);
60
+ }
61
+
62
+
63
+ get depth(): number {
64
+ let depth = 0;
65
+ let currentScope: A_Scope | undefined = this.scope;
66
+
67
+ while (currentScope) {
68
+ if (currentScope.parent && currentScope.parent.resolve<AreScene>(this.constructor as typeof AreScene)) {
69
+ depth++;
70
+ }
71
+ currentScope = currentScope.parent;
72
+ }
73
+
74
+ return depth;
75
+ }
76
+
77
+
78
+ get instructions(): Array<AreSceneInstruction> {
79
+ return this.scope.resolveFlatAll<AreSceneInstruction>(AreSceneInstruction) || [];
80
+ }
81
+
82
+
83
+ nodes(
84
+ filter?: (node: AreNode) => boolean
85
+ ): AreNode[] {
86
+
87
+ const nodes: AreNode[] = [];
88
+
89
+ for (const path of this.paths()) {
90
+
91
+ const node = this.index.nodeOf(path);
92
+
93
+ if (!node) {
94
+ continue;
95
+ }
96
+
97
+ if (filter && !filter(node)) {
98
+ continue;
99
+ }
100
+
101
+ nodes.push(node);
102
+ }
103
+
104
+ return nodes;
105
+ }
106
+
107
+
108
+ renderPlanFor(
109
+ node: AreNode,
110
+ filter?: {
111
+ filter?: (instruction: AreSceneInstruction) => boolean,
112
+ changes?: Array<new (...args: any[]) => AreSceneInstruction>,
113
+ order?: Array<new (...args: any[]) => AreSceneInstruction>,
114
+ }
115
+ ) {
116
+
117
+ const actions: AreSceneInstruction[] = [];
118
+
119
+ const order = filter?.order || [];
120
+ const filterFn = filter?.filter;
121
+
122
+ let plan = this.instructions;
123
+
124
+ plan = plan.sort((a, b) => {
125
+ const aIndex = order.findIndex(instructionType => a instanceof instructionType);
126
+ const bIndex = order.findIndex(instructionType => b instanceof instructionType);
127
+
128
+ return (aIndex === -1 ? order.length : aIndex) - (bIndex === -1 ? order.length : bIndex);
129
+ });
130
+
131
+ if (filterFn) {
132
+ plan = plan.filter(filterFn);
133
+ }
134
+
135
+ for (const action of plan) {
136
+ if (action.node === node) {
137
+ actions.push(action);
138
+ }
139
+ }
140
+ return actions;
141
+ }
142
+
143
+ get debugPrefix() {
144
+ return `${' - '.repeat(this.depth)}`
145
+ }
146
+
147
+ get path(): string {
148
+ if (!this.parent)
149
+ return '';
150
+ else {
151
+ const ownerNode = this.parent.scope.resolve<AreNode>(new A_Dependency(AreNode, {
152
+ flat: true,
153
+ query: {
154
+ aseid: this.id
155
+ }
156
+ })) as AreNode;
157
+
158
+ const NodePath = this.parent.index.pathOf(ownerNode);
159
+
160
+ return this.parent.path ? (this.parent.path + '.' + NodePath) : NodePath!;
161
+ }
162
+ }
163
+
164
+ *paths(): Iterable<string> {
165
+ let paths = this.index.paths;
166
+
167
+ // create proper tree sequence
168
+ paths.sort((a, b) => {
169
+ const aParsed = a.split('.').map(part => parseInt(part, 10));
170
+ const bParsed = b.split('.').map(part => parseInt(part, 10));
171
+
172
+ const len = Math.min(aParsed.length, bParsed.length);
173
+ for (let i = 0; i < len; i++) {
174
+ if (aParsed[i] !== bParsed[i]) {
175
+ return aParsed[i] - bParsed[i];
176
+ }
177
+ }
178
+ return aParsed.length - bParsed.length;
179
+ });
180
+
181
+ // yield paths
182
+ for (const path of paths) {
183
+ yield path;
184
+ }
185
+ }
186
+
187
+ plan(instruction: AreSceneInstruction) {
188
+ try {
189
+ this.scope.register(instruction);
190
+ } catch (error) {
191
+ }
192
+ }
193
+
194
+ unPlan(
195
+ instruction: AreSceneInstruction
196
+ ) {
197
+ const planned = this.getPlanned(instruction);
198
+
199
+ try {
200
+ if (planned)
201
+ this.scope.deregister(planned);
202
+ } catch (error) {
203
+
204
+ }
205
+ }
206
+
207
+ isAttached(node: AreNode): boolean {
208
+ return !!(this.scope.resolve<AreNode>(new A_Dependency(AreNode, {
209
+ flat: true,
210
+ query: {
211
+ aseid: node.aseid
212
+ }
213
+ })));
214
+ }
215
+
216
+ attach(node: AreNode): void {
217
+ this.scope.register(node);
218
+ node.scope.inherit(this.scope)
219
+ }
220
+
221
+ sceneOf(node: AreNode): AreScene | undefined {
222
+ return node.scope.resolveFlat<AreScene>(AreScene);
223
+ }
224
+
225
+ propsOf(node: AreNode): AreProps {
226
+ return node.scope.resolveFlat<AreProps>(AreProps)!;
227
+ }
228
+
229
+ storeOf(node: AreNode): AreStore {
230
+ return node.scope.resolveFlat<AreStore>(AreStore)!;
231
+ }
232
+ isPlanned(action: AreSceneInstruction): boolean {
233
+ return this.getPlanned(action) !== undefined;
234
+ }
235
+
236
+ /**
237
+ * It returns planned instruction instance from the scene
238
+ *
239
+ * [!] Only Planned instructions can be used for state checking
240
+ *
241
+ * @param instruction
242
+ * @returns
243
+ */
244
+ getPlanned<T extends AreSceneInstruction>(
245
+ /**
246
+ * Should be instruction instance to get
247
+ */
248
+ instruction: T
249
+ ): T | undefined {
250
+
251
+ const planned = this.scope.resolve<AreSceneInstruction>(new A_Dependency(AreSceneInstruction, {
252
+ flat: true,
253
+ query: {
254
+ aseid: instruction.aseid.toString()
255
+ }
256
+ })) as T | undefined;
257
+
258
+ return planned;
259
+ }
260
+
261
+ /**
262
+ * Operation Only applicable from Plan -> State
263
+ *
264
+ * So only instructions presented in the plan can be moved to state
265
+ * State is a set of instructions that are currently applied to the scene
266
+ *
267
+ * @param instruction
268
+ */
269
+ setState(
270
+ /**
271
+ * Should be instruction instance to apply
272
+ */
273
+ instruction: AreSceneInstruction
274
+ ) {
275
+ const planned = this.getPlanned(instruction);
276
+
277
+
278
+
279
+ if (planned) {
280
+ this._state.delete(planned.aseid.toString());
281
+ this._state.add(instruction.aseid.toString());
282
+ }
283
+ }
284
+
285
+
286
+ dropState<T extends AreSceneInstruction>(
287
+ /**
288
+ * Should be instruction instance to drop
289
+ */
290
+ instruction: T
291
+ ) {
292
+ const planned = this.getPlanned(instruction);
293
+
294
+ if (planned) {
295
+ this._state.delete(planned.aseid.toString());
296
+ }
297
+ }
298
+
299
+
300
+ resetPlan(
301
+ node: AreNode
302
+ ) {
303
+ for (const instruction of this.renderPlanFor(node)) {
304
+ if (instruction.node === node) {
305
+ this.unPlan(instruction);
306
+ }
307
+ }
308
+ }
309
+
310
+ resetState(
311
+ node: AreNode
312
+ ) {
313
+ for (const instruction of this.renderPlanFor(node)) {
314
+ if (instruction.node === node) {
315
+
316
+ this._state.delete(instruction.aseid.toString());
317
+ }
318
+ }
319
+ }
320
+
321
+
322
+ getState<T extends AreSceneInstruction>(
323
+ /**
324
+ * Should be instruction instance to get state for
325
+ */
326
+ instruction: T
327
+ ): T | undefined {
328
+
329
+
330
+ const planned = this.getPlanned(instruction);
331
+
332
+
333
+ if (!planned) {
334
+ return undefined;
335
+ }
336
+
337
+ if (this._state.has(planned.aseid.toString()))
338
+ return planned as T;
339
+ else
340
+ return undefined;
341
+ }
342
+
343
+ revert(
344
+ /**
345
+ * Should be instruction instance to revert
346
+ */
347
+ instruction: AreSceneInstruction
348
+ ) {
349
+ this._state.delete(instruction!.aseid.toString());
350
+ }
351
+
352
+
353
+ reset() {
354
+ this.index.clear();
355
+ this._state.clear();
356
+ }
357
+
358
+
359
+ toJSON(): AreSCene_Serialized {
360
+ return {
361
+ ...super.toJSON(),
362
+ children: Object.fromEntries(
363
+ Array.from(this.children).map(child => [
364
+ child.id.toString(),
365
+ child.toJSON()
366
+ ])
367
+ )
368
+ }
369
+ }
370
+ }
371
+
372
+
373
+
374
+
375
+
376
+ // Just to cover the proper lifecycle
377
+
378
+ /*
379
+ 1) Create Scene with template from mounting point content
380
+ 2) Do indexing of the scene
381
+
382
+ */
@@ -0,0 +1,22 @@
1
+ import { A_Error } from "@adaas/a-concept";
2
+
3
+
4
+ export class AreSceneError extends A_Error {
5
+
6
+ static readonly SceneError = 'AreSceneError.SceneError';
7
+
8
+ static readonly RootNotFound = 'AreSceneError.RootNotFound';
9
+
10
+ static readonly UpdateFailed = 'AreSceneError.UpdateFailed';
11
+
12
+ static readonly MountFailed = 'AreSceneError.MountFailed';
13
+
14
+ static readonly UnmountFailed = 'AreSceneError.UnmountFailed';
15
+
16
+ static readonly MountPointNotFound = 'AreSceneError.MountPointNotFound';
17
+
18
+ static readonly InvalidTemplate = 'AreSceneError.InvalidTemplate';
19
+
20
+ static readonly RenderFailed = 'AreSceneError.RenderFailed';
21
+
22
+ }
@@ -0,0 +1,7 @@
1
+ import { A_TYPES__Fragment_Serialized } from "@adaas/a-concept";
2
+
3
+
4
+
5
+ export type AreSCene_Serialized = {
6
+ children: { [id: string]: AreSCene_Serialized }
7
+ } & A_TYPES__Fragment_Serialized;
@@ -0,0 +1,3 @@
1
+ export { AreScene } from './AreScene.context';
2
+ export { AreSceneError } from './AreScene.error';
3
+ export * from './AreScene.types';
@@ -0,0 +1,7 @@
1
+
2
+
3
+ export enum AreSceneInstructionFeatures {
4
+ Init = '_AreSceneInstructionInit',
5
+ Apply = '_AreSceneInstructionApply',
6
+ Revert = '_AreSceneInstructionRevert'
7
+ }
@@ -0,0 +1,156 @@
1
+
2
+ import { A_Context, A_Entity, A_FormatterHelper, A_Scope } from "@adaas/a-concept";
3
+ import { AreSceneInstructionNewProps } from "./AreSceneInstruction.types";
4
+ import type { AreNode } from "@adaas/are/node";
5
+ import { AreSceneInstructionFeatures } from "./AreSceneInstruction.constants";
6
+ import { AreScene } from "@adaas/are/scene";
7
+
8
+
9
+
10
+ export class AreSceneInstruction<T extends Record<string, any> = Record<string, any>> extends A_Entity<AreSceneInstructionNewProps<T>> {
11
+
12
+ action!: string
13
+ node!: AreNode
14
+
15
+ params?: T
16
+
17
+
18
+ hashSource!: string
19
+
20
+
21
+ get scene(): AreScene {
22
+ return A_Context.scope(this).resolve(AreScene)!
23
+ }
24
+
25
+ /**
26
+ * Generates even hash uses for deduplication
27
+ *
28
+ * @param str
29
+ */
30
+ protected createHash(str?: string): string
31
+ protected createHash(str?: undefined): string
32
+ protected createHash(str?: Record<string, any>): string
33
+ protected createHash(str?: Array<any>): string
34
+ protected createHash(str?: number): string
35
+ protected createHash(str?: boolean): string
36
+ protected createHash(str?: null): string
37
+ protected createHash(map?: Map<any, any>): string
38
+ protected createHash(set?: Set<any>): string
39
+ protected createHash(str?: any): string {
40
+ let hashSource: string;
41
+
42
+ if (str instanceof Map) {
43
+ hashSource = JSON.stringify(Array.from(str.entries()));
44
+ } else if (str instanceof Set) {
45
+ hashSource = JSON.stringify(Array.from(str.values()));
46
+ } else {
47
+ switch (typeof str) {
48
+ case 'string':
49
+ hashSource = str;
50
+ break;
51
+ case 'undefined':
52
+ hashSource = 'undefined';
53
+ break;
54
+
55
+ case 'object':
56
+ if ('toJSON' in str)
57
+ hashSource = JSON.stringify(str.toJSON());
58
+
59
+ else
60
+ hashSource = JSON.stringify(str);
61
+ break;
62
+ case 'number':
63
+ hashSource = str.toString();
64
+ break;
65
+ case 'boolean':
66
+ hashSource = str ? 'true' : 'false';
67
+ break;
68
+ case 'function':
69
+ hashSource = str.toString();
70
+ break;
71
+ default:
72
+ hashSource = String(str);
73
+ }
74
+ }
75
+
76
+ let hash = 0, i, chr;
77
+ for (i = 0; i < hashSource.length; i++) {
78
+ chr = hashSource.charCodeAt(i);
79
+ hash = ((hash << 5) - hash) + chr;
80
+ hash |= 0; // Convert to 32bit integer
81
+ }
82
+
83
+ const hashString = hash.toString();
84
+
85
+ return hashString;
86
+ }
87
+
88
+ fromNew(newEntity: AreSceneInstructionNewProps<T>): void {
89
+ const identity = newEntity.id || {
90
+ name: newEntity.action,
91
+ node: newEntity.node.aseid.toString(),
92
+ };
93
+
94
+ const id = this.createHash(identity);
95
+
96
+
97
+ this.aseid = this.generateASEID({
98
+ entity: A_FormatterHelper.toKebabCase(newEntity.action),
99
+ id: id,
100
+ });
101
+
102
+ this.action = newEntity.action;
103
+ this.node = newEntity.node;
104
+ this.params = newEntity.params;
105
+
106
+ }
107
+
108
+
109
+ update(params: Partial<T>): void {
110
+ this.params = {
111
+ ...this.params,
112
+ ...params,
113
+ } as T;
114
+ }
115
+
116
+
117
+ init(
118
+ scope?: A_Scope
119
+ ): void {
120
+ try {
121
+ this.call(AreSceneInstructionFeatures.Init, scope);
122
+ } catch (error) {
123
+
124
+ }
125
+ }
126
+
127
+ apply(
128
+ scope?: A_Scope
129
+ ): void {
130
+ try {
131
+ return this.call(AreSceneInstructionFeatures.Apply, scope);
132
+ } catch (error) {
133
+
134
+ }
135
+ }
136
+
137
+ revert(
138
+ scope?: A_Scope
139
+ ): void {
140
+ try {
141
+ this.call(AreSceneInstructionFeatures.Revert, scope);
142
+ } catch (error) {
143
+
144
+ }
145
+ }
146
+
147
+
148
+ }
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
@@ -0,0 +1,8 @@
1
+ import type { AreNode } from "@adaas/are/node";
2
+
3
+ export type AreSceneInstructionNewProps<T extends any = Record<string, any>> = {
4
+ id?: Array<any>;
5
+ action: string;
6
+ node: AreNode,
7
+ params?: T;
8
+ };
@@ -0,0 +1,4 @@
1
+ export * from './types';
2
+ export { AreSceneInstruction } from './AreSceneInstruction.entity';
3
+ export * from './AreSceneInstruction.types';
4
+ export * from './AreSceneInstruction.constants';
@@ -0,0 +1,34 @@
1
+ import type { AreNode } from "@adaas/are/node";
2
+ import { AreSceneInstruction } from "../AreSceneInstruction.entity";
3
+
4
+
5
+
6
+ export class AddAttributeInstruction extends AreSceneInstruction<{
7
+ name: string;
8
+ value: string;
9
+ }> {
10
+
11
+ get name(): string {
12
+ return this.params!.name;
13
+ }
14
+
15
+ get value(): string {
16
+ return this.params!.value;
17
+ }
18
+
19
+ constructor(
20
+ node: AreNode,
21
+ name: string,
22
+ value: string
23
+ ) {
24
+ super({
25
+ id: [name, node],
26
+ action: 'add-attribute',
27
+ node,
28
+ params: {
29
+ name,
30
+ value,
31
+ }
32
+ });
33
+ }
34
+ }
@@ -0,0 +1,36 @@
1
+ import { AreSceneInstruction } from "../AreSceneInstruction.entity";
2
+ import type { AreNode } from "@adaas/are/node";
3
+ import { AreDirective } from "@adaas/are/syntax";
4
+
5
+
6
+
7
+
8
+ export class AddDirectiveInstruction extends AreSceneInstruction<{
9
+ directive: AreDirective;
10
+ value: any;
11
+ }> {
12
+
13
+ get directive(): AreDirective {
14
+ return this.params!.directive;
15
+ }
16
+
17
+ get value(): any {
18
+ return this.params!.value;
19
+ }
20
+
21
+ constructor(
22
+ node: AreNode,
23
+ directive: AreDirective,
24
+ value: any
25
+ ) {
26
+ super({
27
+ id: [directive, node],
28
+ action: 'directive',
29
+ node,
30
+ params: {
31
+ directive,
32
+ value,
33
+ }
34
+ });
35
+ }
36
+ }
@@ -0,0 +1,26 @@
1
+ import type { AreNode } from "@adaas/are/node";
2
+ import { AreSceneInstruction } from "../AreSceneInstruction.entity";
3
+
4
+ export class AddStyleInstruction extends AreSceneInstruction<{
5
+ styles: string;
6
+ }> {
7
+
8
+ get styles(): string {
9
+ return this.params!.styles;
10
+ }
11
+
12
+
13
+ constructor(
14
+ node: AreNode,
15
+ styles: string,
16
+ ) {
17
+ super({
18
+ id: [styles, node],
19
+ action: 'add-style',
20
+ node,
21
+ params: {
22
+ styles,
23
+ }
24
+ });
25
+ }
26
+ }