smart-lifecycle 0.1.1

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 (887) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +275 -0
  3. package/dist/behaviors/initializer-factory.d.ts +101 -0
  4. package/dist/behaviors/initializer-factory.d.ts.map +1 -0
  5. package/dist/behaviors/initializer-factory.js +183 -0
  6. package/dist/behaviors/initializer-factory.js.map +1 -0
  7. package/dist/behaviors/initializer.base.d.ts +21 -0
  8. package/dist/behaviors/initializer.base.d.ts.map +1 -0
  9. package/dist/behaviors/initializer.base.js +32 -0
  10. package/dist/behaviors/initializer.base.js.map +1 -0
  11. package/dist/behaviors/initializer.d.ts +21 -0
  12. package/dist/behaviors/initializer.d.ts.map +1 -0
  13. package/dist/behaviors/initializer.interface.d.ts +2 -0
  14. package/dist/behaviors/initializer.interface.d.ts.map +1 -0
  15. package/dist/behaviors/initializer.interface.js +2 -0
  16. package/dist/behaviors/initializer.interface.js.map +1 -0
  17. package/dist/behaviors/initializer.js +26 -0
  18. package/dist/behaviors/initializer.js.map +1 -0
  19. package/dist/behaviors/injection-helper.d.ts +90 -0
  20. package/dist/behaviors/injection-helper.d.ts.map +1 -0
  21. package/dist/behaviors/injection-helper.js +136 -0
  22. package/dist/behaviors/injection-helper.js.map +1 -0
  23. package/dist/behaviors/lifecycle-manager-factory.d.ts +126 -0
  24. package/dist/behaviors/lifecycle-manager-factory.d.ts.map +1 -0
  25. package/dist/behaviors/lifecycle-manager-factory.js +211 -0
  26. package/dist/behaviors/lifecycle-manager-factory.js.map +1 -0
  27. package/dist/behaviors/lifecycle-manager.base.d.ts +115 -0
  28. package/dist/behaviors/lifecycle-manager.base.d.ts.map +1 -0
  29. package/dist/behaviors/lifecycle-manager.base.js +156 -0
  30. package/dist/behaviors/lifecycle-manager.base.js.map +1 -0
  31. package/dist/behaviors/lifecycle-manager.d.ts +114 -0
  32. package/dist/behaviors/lifecycle-manager.d.ts.map +1 -0
  33. package/dist/behaviors/lifecycle-manager.interface.d.ts +2 -0
  34. package/dist/behaviors/lifecycle-manager.interface.d.ts.map +1 -0
  35. package/dist/behaviors/lifecycle-manager.interface.js +2 -0
  36. package/dist/behaviors/lifecycle-manager.interface.js.map +1 -0
  37. package/dist/behaviors/lifecycle-manager.js +157 -0
  38. package/dist/behaviors/lifecycle-manager.js.map +1 -0
  39. package/dist/bootstrap.d.ts +9 -0
  40. package/dist/bootstrap.d.ts.map +1 -0
  41. package/dist/bootstrap.js +8 -0
  42. package/dist/bootstrap.js.map +1 -0
  43. package/dist/cli/index.d.ts +3 -0
  44. package/dist/cli/index.d.ts.map +1 -0
  45. package/dist/cli/index.js +228 -0
  46. package/dist/cli/index.js.map +1 -0
  47. package/dist/components/smart-action/smart-action-element.d.ts +15 -0
  48. package/dist/components/smart-action/smart-action-element.d.ts.map +1 -0
  49. package/dist/components/smart-action/smart-action-element.js +149 -0
  50. package/dist/components/smart-action/smart-action-element.js.map +1 -0
  51. package/dist/components/smart-action/smart-action.component.d.ts +10 -0
  52. package/dist/components/smart-action/smart-action.component.d.ts.map +1 -0
  53. package/dist/components/smart-action/smart-action.component.js +68 -0
  54. package/dist/components/smart-action/smart-action.component.js.map +1 -0
  55. package/dist/components/smart-action/smart-action.lifecycle-manager.d.ts +27 -0
  56. package/dist/components/smart-action/smart-action.lifecycle-manager.d.ts.map +1 -0
  57. package/dist/components/smart-action/smart-action.lifecycle-manager.js +140 -0
  58. package/dist/components/smart-action/smart-action.lifecycle-manager.js.map +1 -0
  59. package/dist/components/smart-action.d.ts +66 -0
  60. package/dist/components/smart-action.d.ts.map +1 -0
  61. package/dist/components/smart-action.js +111 -0
  62. package/dist/components/smart-action.js.map +1 -0
  63. package/dist/components/smart-for/diff-keys.d.ts +36 -0
  64. package/dist/components/smart-for/diff-keys.d.ts.map +1 -0
  65. package/dist/components/smart-for/diff-keys.js +39 -0
  66. package/dist/components/smart-for/diff-keys.js.map +1 -0
  67. package/dist/components/smart-for/item-dom-context.d.ts +27 -0
  68. package/dist/components/smart-for/item-dom-context.d.ts.map +1 -0
  69. package/dist/components/smart-for/item-dom-context.js +52 -0
  70. package/dist/components/smart-for/item-dom-context.js.map +1 -0
  71. package/dist/components/smart-for/smart-for-element.d.ts +38 -0
  72. package/dist/components/smart-for/smart-for-element.d.ts.map +1 -0
  73. package/dist/components/smart-for/smart-for-element.js +216 -0
  74. package/dist/components/smart-for/smart-for-element.js.map +1 -0
  75. package/dist/components/smart-for/smart-for-item-scope.d.ts +52 -0
  76. package/dist/components/smart-for/smart-for-item-scope.d.ts.map +1 -0
  77. package/dist/components/smart-for/smart-for-item-scope.js +94 -0
  78. package/dist/components/smart-for/smart-for-item-scope.js.map +1 -0
  79. package/dist/components/smart-for/smart-for.component.d.ts +10 -0
  80. package/dist/components/smart-for/smart-for.component.d.ts.map +1 -0
  81. package/dist/components/smart-for/smart-for.component.js +69 -0
  82. package/dist/components/smart-for/smart-for.component.js.map +1 -0
  83. package/dist/components/smart-for/smart-for.lifecycle-manager.d.ts +97 -0
  84. package/dist/components/smart-for/smart-for.lifecycle-manager.d.ts.map +1 -0
  85. package/dist/components/smart-for/smart-for.lifecycle-manager.js +369 -0
  86. package/dist/components/smart-for/smart-for.lifecycle-manager.js.map +1 -0
  87. package/dist/components/smart-link/smart-link-element.d.ts +36 -0
  88. package/dist/components/smart-link/smart-link-element.d.ts.map +1 -0
  89. package/dist/components/smart-link/smart-link-element.js +101 -0
  90. package/dist/components/smart-link/smart-link-element.js.map +1 -0
  91. package/dist/components/smart-link/smart-link.component.d.ts +21 -0
  92. package/dist/components/smart-link/smart-link.component.d.ts.map +1 -0
  93. package/dist/components/smart-link/smart-link.component.js +78 -0
  94. package/dist/components/smart-link/smart-link.component.js.map +1 -0
  95. package/dist/components/smart-link/smart-link.lifecycle-manager.d.ts +23 -0
  96. package/dist/components/smart-link/smart-link.lifecycle-manager.d.ts.map +1 -0
  97. package/dist/components/smart-link/smart-link.lifecycle-manager.js +53 -0
  98. package/dist/components/smart-link/smart-link.lifecycle-manager.js.map +1 -0
  99. package/dist/components/smart-link.d.ts +2 -0
  100. package/dist/components/smart-link.d.ts.map +1 -0
  101. package/dist/components/smart-link.js +2 -0
  102. package/dist/components/smart-link.js.map +1 -0
  103. package/dist/components/smart-router/navigation-service.interface.d.ts +22 -0
  104. package/dist/components/smart-router/navigation-service.interface.d.ts.map +1 -0
  105. package/dist/components/smart-router/navigation-service.interface.js +2 -0
  106. package/dist/components/smart-router/navigation-service.interface.js.map +1 -0
  107. package/dist/components/smart-router/navigation.d.ts +57 -0
  108. package/dist/components/smart-router/navigation.d.ts.map +1 -0
  109. package/dist/components/smart-router/navigation.js +75 -0
  110. package/dist/components/smart-router/navigation.js.map +1 -0
  111. package/dist/components/smart-router/smart-router-element.d.ts +42 -0
  112. package/dist/components/smart-router/smart-router-element.d.ts.map +1 -0
  113. package/dist/components/smart-router/smart-router-element.js +188 -0
  114. package/dist/components/smart-router/smart-router-element.js.map +1 -0
  115. package/dist/components/smart-router/smart-router.component.d.ts +27 -0
  116. package/dist/components/smart-router/smart-router.component.d.ts.map +1 -0
  117. package/dist/components/smart-router/smart-router.component.js +89 -0
  118. package/dist/components/smart-router/smart-router.component.js.map +1 -0
  119. package/dist/components/smart-router/smart-router.lifecycle-manager.d.ts +25 -0
  120. package/dist/components/smart-router/smart-router.lifecycle-manager.d.ts.map +1 -0
  121. package/dist/components/smart-router/smart-router.lifecycle-manager.js +115 -0
  122. package/dist/components/smart-router/smart-router.lifecycle-manager.js.map +1 -0
  123. package/dist/components/smart-router.d.ts +28 -0
  124. package/dist/components/smart-router.d.ts.map +1 -0
  125. package/dist/components/smart-router.js +45 -0
  126. package/dist/components/smart-router.js.map +1 -0
  127. package/dist/components/smart-select/smart-select-element.d.ts +49 -0
  128. package/dist/components/smart-select/smart-select-element.d.ts.map +1 -0
  129. package/dist/components/smart-select/smart-select-element.js +130 -0
  130. package/dist/components/smart-select/smart-select-element.js.map +1 -0
  131. package/dist/components/smart-select/smart-select.component.d.ts +35 -0
  132. package/dist/components/smart-select/smart-select.component.d.ts.map +1 -0
  133. package/dist/components/smart-select/smart-select.component.js +92 -0
  134. package/dist/components/smart-select/smart-select.component.js.map +1 -0
  135. package/dist/components/smart-select/smart-select.lifecycle-manager.d.ts +52 -0
  136. package/dist/components/smart-select/smart-select.lifecycle-manager.d.ts.map +1 -0
  137. package/dist/components/smart-select/smart-select.lifecycle-manager.js +144 -0
  138. package/dist/components/smart-select/smart-select.lifecycle-manager.js.map +1 -0
  139. package/dist/components/smart-select.d.ts +3 -0
  140. package/dist/components/smart-select.d.ts.map +1 -0
  141. package/dist/components/smart-select.js +3 -0
  142. package/dist/components/smart-select.js.map +1 -0
  143. package/dist/core/component-instance-registry.d.ts +102 -0
  144. package/dist/core/component-instance-registry.d.ts.map +1 -0
  145. package/dist/core/component-instance-registry.js +85 -0
  146. package/dist/core/component-instance-registry.js.map +1 -0
  147. package/dist/core/component-metadata-registry.d.ts +100 -0
  148. package/dist/core/component-metadata-registry.d.ts.map +1 -0
  149. package/dist/core/component-metadata-registry.interface.d.ts +44 -0
  150. package/dist/core/component-metadata-registry.interface.d.ts.map +1 -0
  151. package/dist/core/component-metadata-registry.interface.js +2 -0
  152. package/dist/core/component-metadata-registry.interface.js.map +1 -0
  153. package/dist/core/component-metadata-registry.js +113 -0
  154. package/dist/core/component-metadata-registry.js.map +1 -0
  155. package/dist/core/component-metadata-source.interface.d.ts +40 -0
  156. package/dist/core/component-metadata-source.interface.d.ts.map +1 -0
  157. package/dist/core/component-metadata-source.interface.js +2 -0
  158. package/dist/core/component-metadata-source.interface.js.map +1 -0
  159. package/dist/core/component-metadata.d.ts +57 -0
  160. package/dist/core/component-metadata.d.ts.map +1 -0
  161. package/dist/core/component-metadata.js +2 -0
  162. package/dist/core/component-metadata.js.map +1 -0
  163. package/dist/core/smart-component.d.ts +80 -0
  164. package/dist/core/smart-component.d.ts.map +1 -0
  165. package/dist/core/smart-component.js +86 -0
  166. package/dist/core/smart-component.js.map +1 -0
  167. package/dist/decorators/component.decorator.d.ts +136 -0
  168. package/dist/decorators/component.decorator.d.ts.map +1 -0
  169. package/dist/decorators/component.decorator.js +35 -0
  170. package/dist/decorators/component.decorator.js.map +1 -0
  171. package/dist/decorators/host-listener.decorator.d.ts +30 -0
  172. package/dist/decorators/host-listener.decorator.d.ts.map +1 -0
  173. package/dist/decorators/host-listener.decorator.js +117 -0
  174. package/dist/decorators/host-listener.decorator.js.map +1 -0
  175. package/dist/decorators/index.d.ts +13 -0
  176. package/dist/decorators/index.d.ts.map +1 -0
  177. package/dist/decorators/index.js +8 -0
  178. package/dist/decorators/index.js.map +1 -0
  179. package/dist/decorators/listen/listener-initializer.d.ts +23 -0
  180. package/dist/decorators/listen/listener-initializer.d.ts.map +1 -0
  181. package/dist/decorators/listen/listener-initializer.interface.d.ts +20 -0
  182. package/dist/decorators/listen/listener-initializer.interface.d.ts.map +1 -0
  183. package/dist/decorators/listen/listener-initializer.interface.js +2 -0
  184. package/dist/decorators/listen/listener-initializer.interface.js.map +1 -0
  185. package/dist/decorators/listen/listener-initializer.js +53 -0
  186. package/dist/decorators/listen/listener-initializer.js.map +1 -0
  187. package/dist/decorators/listen/listener-metadata-registry.d.ts +27 -0
  188. package/dist/decorators/listen/listener-metadata-registry.d.ts.map +1 -0
  189. package/dist/decorators/listen/listener-metadata-registry.interface.d.ts +26 -0
  190. package/dist/decorators/listen/listener-metadata-registry.interface.d.ts.map +1 -0
  191. package/dist/decorators/listen/listener-metadata-registry.interface.js +2 -0
  192. package/dist/decorators/listen/listener-metadata-registry.interface.js.map +1 -0
  193. package/dist/decorators/listen/listener-metadata-registry.js +51 -0
  194. package/dist/decorators/listen/listener-metadata-registry.js.map +1 -0
  195. package/dist/decorators/listen.decorator.d.ts +66 -0
  196. package/dist/decorators/listen.decorator.d.ts.map +1 -0
  197. package/dist/decorators/listen.decorator.js +72 -0
  198. package/dist/decorators/listen.decorator.js.map +1 -0
  199. package/dist/decorators/listener-initializer.d.ts +33 -0
  200. package/dist/decorators/listener-initializer.d.ts.map +1 -0
  201. package/dist/decorators/listener-initializer.js +67 -0
  202. package/dist/decorators/listener-initializer.js.map +1 -0
  203. package/dist/decorators/reactive.decorator.d.ts +45 -0
  204. package/dist/decorators/reactive.decorator.d.ts.map +1 -0
  205. package/dist/decorators/reactive.decorator.js +86 -0
  206. package/dist/decorators/reactive.decorator.js.map +1 -0
  207. package/dist/decorators/smart/capture-config.d.ts +10 -0
  208. package/dist/decorators/smart/capture-config.d.ts.map +1 -0
  209. package/dist/decorators/smart/capture-config.js +70 -0
  210. package/dist/decorators/smart/capture-config.js.map +1 -0
  211. package/dist/decorators/smart/dynamic-initializer.d.ts +14 -0
  212. package/dist/decorators/smart/dynamic-initializer.d.ts.map +1 -0
  213. package/dist/decorators/smart/dynamic-initializer.js +35 -0
  214. package/dist/decorators/smart/dynamic-initializer.js.map +1 -0
  215. package/dist/decorators/smart/dynamic-lifecycle.d.ts +17 -0
  216. package/dist/decorators/smart/dynamic-lifecycle.d.ts.map +1 -0
  217. package/dist/decorators/smart/dynamic-lifecycle.js +45 -0
  218. package/dist/decorators/smart/dynamic-lifecycle.js.map +1 -0
  219. package/dist/decorators/smart/enhanced-class.d.ts +21 -0
  220. package/dist/decorators/smart/enhanced-class.d.ts.map +1 -0
  221. package/dist/decorators/smart/enhanced-class.js +93 -0
  222. package/dist/decorators/smart/enhanced-class.js.map +1 -0
  223. package/dist/decorators/smart/smart-component-factory.d.ts +59 -0
  224. package/dist/decorators/smart/smart-component-factory.d.ts.map +1 -0
  225. package/dist/decorators/smart/smart-component-factory.interface.d.ts +48 -0
  226. package/dist/decorators/smart/smart-component-factory.interface.d.ts.map +1 -0
  227. package/dist/decorators/smart/smart-component-factory.interface.js +2 -0
  228. package/dist/decorators/smart/smart-component-factory.interface.js.map +1 -0
  229. package/dist/decorators/smart/smart-component-factory.js +271 -0
  230. package/dist/decorators/smart/smart-component-factory.js.map +1 -0
  231. package/dist/decorators/smart/types.d.ts +81 -0
  232. package/dist/decorators/smart/types.d.ts.map +1 -0
  233. package/dist/decorators/smart/types.js +2 -0
  234. package/dist/decorators/smart/types.js.map +1 -0
  235. package/dist/decorators/smart-render.decorator.d.ts +27 -0
  236. package/dist/decorators/smart-render.decorator.d.ts.map +1 -0
  237. package/dist/decorators/smart-render.decorator.js +41 -0
  238. package/dist/decorators/smart-render.decorator.js.map +1 -0
  239. package/dist/decorators/smart.decorator.d.ts +20 -0
  240. package/dist/decorators/smart.decorator.d.ts.map +1 -0
  241. package/dist/decorators/smart.decorator.js +45 -0
  242. package/dist/decorators/smart.decorator.js.map +1 -0
  243. package/dist/decorators/view-child.decorator.d.ts +21 -0
  244. package/dist/decorators/view-child.decorator.d.ts.map +1 -0
  245. package/dist/decorators/view-child.decorator.js +56 -0
  246. package/dist/decorators/view-child.decorator.js.map +1 -0
  247. package/dist/events/action-publisher.interface.d.ts +69 -0
  248. package/dist/events/action-publisher.interface.d.ts.map +1 -0
  249. package/dist/events/action-publisher.interface.js +2 -0
  250. package/dist/events/action-publisher.interface.js.map +1 -0
  251. package/dist/events/event-bus.d.ts +11 -0
  252. package/dist/events/event-bus.d.ts.map +1 -0
  253. package/dist/events/event-bus.interface.d.ts +66 -0
  254. package/dist/events/event-bus.interface.d.ts.map +1 -0
  255. package/dist/events/event-bus.interface.js +2 -0
  256. package/dist/events/event-bus.interface.js.map +1 -0
  257. package/dist/events/event-bus.js +11 -0
  258. package/dist/events/event-bus.js.map +1 -0
  259. package/dist/events/event-object.d.ts +33 -0
  260. package/dist/events/event-object.d.ts.map +1 -0
  261. package/dist/events/event-object.js +35 -0
  262. package/dist/events/event-object.js.map +1 -0
  263. package/dist/events/event-payload.d.ts +16 -0
  264. package/dist/events/event-payload.d.ts.map +1 -0
  265. package/dist/events/event-payload.js +2 -0
  266. package/dist/events/event-payload.js.map +1 -0
  267. package/dist/events/event-store.d.ts +99 -0
  268. package/dist/events/event-store.d.ts.map +1 -0
  269. package/dist/events/event-store.js +95 -0
  270. package/dist/events/event-store.js.map +1 -0
  271. package/dist/events/rx-event-bus.d.ts +109 -0
  272. package/dist/events/rx-event-bus.d.ts.map +1 -0
  273. package/dist/events/rx-event-bus.js +210 -0
  274. package/dist/events/rx-event-bus.js.map +1 -0
  275. package/dist/html/register-smart-behavior.d.ts +27 -0
  276. package/dist/html/register-smart-behavior.d.ts.map +1 -0
  277. package/dist/html/register-smart-behavior.js +42 -0
  278. package/dist/html/register-smart-behavior.js.map +1 -0
  279. package/dist/html/register-smart-element.d.ts +26 -0
  280. package/dist/html/register-smart-element.d.ts.map +1 -0
  281. package/dist/html/register-smart-element.js +28 -0
  282. package/dist/html/register-smart-element.js.map +1 -0
  283. package/dist/html/services-bootstrap.d.ts +17 -0
  284. package/dist/html/services-bootstrap.d.ts.map +1 -0
  285. package/dist/html/services-bootstrap.js +40 -0
  286. package/dist/html/services-bootstrap.js.map +1 -0
  287. package/dist/html/smart-element-factory.d.ts +51 -0
  288. package/dist/html/smart-element-factory.d.ts.map +1 -0
  289. package/dist/html/smart-element-factory.interface.d.ts +17 -0
  290. package/dist/html/smart-element-factory.interface.d.ts.map +1 -0
  291. package/dist/html/smart-element-factory.interface.js +2 -0
  292. package/dist/html/smart-element-factory.interface.js.map +1 -0
  293. package/dist/html/smart-element-factory.js +118 -0
  294. package/dist/html/smart-element-factory.js.map +1 -0
  295. package/dist/html/smart-element-registrar.d.ts +43 -0
  296. package/dist/html/smart-element-registrar.d.ts.map +1 -0
  297. package/dist/html/smart-element-registrar.interface.d.ts +17 -0
  298. package/dist/html/smart-element-registrar.interface.d.ts.map +1 -0
  299. package/dist/html/smart-element-registrar.interface.js +2 -0
  300. package/dist/html/smart-element-registrar.interface.js.map +1 -0
  301. package/dist/html/smart-element-registrar.js +77 -0
  302. package/dist/html/smart-element-registrar.js.map +1 -0
  303. package/dist/html/smart-tags.d.ts +16 -0
  304. package/dist/html/smart-tags.d.ts.map +1 -0
  305. package/dist/html/smart-tags.js +30 -0
  306. package/dist/html/smart-tags.js.map +1 -0
  307. package/dist/index.d.ts +37 -0
  308. package/dist/index.d.ts.map +1 -0
  309. package/dist/index.js +31 -0
  310. package/dist/index.js.map +1 -0
  311. package/dist/observers/document-locale-observer.d.ts +15 -0
  312. package/dist/observers/document-locale-observer.d.ts.map +1 -0
  313. package/dist/observers/document-locale-observer.js +43 -0
  314. package/dist/observers/document-locale-observer.js.map +1 -0
  315. package/dist/observers/document-theme-observer.d.ts +17 -0
  316. package/dist/observers/document-theme-observer.d.ts.map +1 -0
  317. package/dist/observers/document-theme-observer.js +64 -0
  318. package/dist/observers/document-theme-observer.js.map +1 -0
  319. package/dist/observers/locale-observer.interface.d.ts +21 -0
  320. package/dist/observers/locale-observer.interface.d.ts.map +1 -0
  321. package/dist/observers/locale-observer.interface.js +2 -0
  322. package/dist/observers/locale-observer.interface.js.map +1 -0
  323. package/dist/observers/theme-observer.interface.d.ts +21 -0
  324. package/dist/observers/theme-observer.interface.d.ts.map +1 -0
  325. package/dist/observers/theme-observer.interface.js +2 -0
  326. package/dist/observers/theme-observer.interface.js.map +1 -0
  327. package/dist/providers/adapters/index.d.ts +19 -0
  328. package/dist/providers/adapters/index.d.ts.map +1 -0
  329. package/dist/providers/adapters/index.js +19 -0
  330. package/dist/providers/adapters/index.js.map +1 -0
  331. package/dist/providers/adapters/tsyringe-adapter.d.ts +139 -0
  332. package/dist/providers/adapters/tsyringe-adapter.d.ts.map +1 -0
  333. package/dist/providers/adapters/tsyringe-adapter.js +151 -0
  334. package/dist/providers/adapters/tsyringe-adapter.js.map +1 -0
  335. package/dist/providers/app-services.d.ts +131 -0
  336. package/dist/providers/app-services.d.ts.map +1 -0
  337. package/dist/providers/app-services.js +174 -0
  338. package/dist/providers/app-services.js.map +1 -0
  339. package/dist/providers/default-service-provider.d.ts +57 -0
  340. package/dist/providers/default-service-provider.d.ts.map +1 -0
  341. package/dist/providers/default-service-provider.js +89 -0
  342. package/dist/providers/default-service-provider.js.map +1 -0
  343. package/dist/providers/framework-bootstrap.d.ts +58 -0
  344. package/dist/providers/framework-bootstrap.d.ts.map +1 -0
  345. package/dist/providers/framework-bootstrap.js +153 -0
  346. package/dist/providers/framework-bootstrap.js.map +1 -0
  347. package/dist/providers/framework-element-registration.d.ts +2 -0
  348. package/dist/providers/framework-element-registration.d.ts.map +1 -0
  349. package/dist/providers/framework-element-registration.js +42 -0
  350. package/dist/providers/framework-element-registration.js.map +1 -0
  351. package/dist/providers/service-provider.d.ts +70 -0
  352. package/dist/providers/service-provider.d.ts.map +1 -0
  353. package/dist/providers/service-provider.interface.d.ts +55 -0
  354. package/dist/providers/service-provider.interface.d.ts.map +1 -0
  355. package/dist/providers/service-provider.interface.js +2 -0
  356. package/dist/providers/service-provider.interface.js.map +1 -0
  357. package/dist/providers/service-provider.js +102 -0
  358. package/dist/providers/service-provider.js.map +1 -0
  359. package/dist/reactive/dependency-tracker.d.ts +34 -0
  360. package/dist/reactive/dependency-tracker.d.ts.map +1 -0
  361. package/dist/reactive/dependency-tracker.interface.d.ts +34 -0
  362. package/dist/reactive/dependency-tracker.interface.d.ts.map +1 -0
  363. package/dist/reactive/dependency-tracker.interface.js +2 -0
  364. package/dist/reactive/dependency-tracker.interface.js.map +1 -0
  365. package/dist/reactive/dependency-tracker.js +47 -0
  366. package/dist/reactive/dependency-tracker.js.map +1 -0
  367. package/dist/reactive/index.d.ts +5 -0
  368. package/dist/reactive/index.d.ts.map +1 -0
  369. package/dist/reactive/index.js +4 -0
  370. package/dist/reactive/index.js.map +1 -0
  371. package/dist/reactive/observable.d.ts +15 -0
  372. package/dist/reactive/observable.d.ts.map +1 -0
  373. package/dist/reactive/observable.js +2 -0
  374. package/dist/reactive/observable.js.map +1 -0
  375. package/dist/reactive/operators.d.ts +6 -0
  376. package/dist/reactive/operators.d.ts.map +1 -0
  377. package/dist/reactive/operators.js +11 -0
  378. package/dist/reactive/operators.js.map +1 -0
  379. package/dist/reactive/signal.d.ts +41 -0
  380. package/dist/reactive/signal.d.ts.map +1 -0
  381. package/dist/reactive/signal.js +37 -0
  382. package/dist/reactive/signal.js.map +1 -0
  383. package/dist/reactive/subject.d.ts +30 -0
  384. package/dist/reactive/subject.d.ts.map +1 -0
  385. package/dist/reactive/subject.js +53 -0
  386. package/dist/reactive/subject.js.map +1 -0
  387. package/dist/reactive/subscription.d.ts +33 -0
  388. package/dist/reactive/subscription.d.ts.map +1 -0
  389. package/dist/reactive/subscription.js +53 -0
  390. package/dist/reactive/subscription.js.map +1 -0
  391. package/dist/registration/register-smart-behavior.d.ts +27 -0
  392. package/dist/registration/register-smart-behavior.d.ts.map +1 -0
  393. package/dist/registration/register-smart-behavior.js +42 -0
  394. package/dist/registration/register-smart-behavior.js.map +1 -0
  395. package/dist/registration/register-smart-element.d.ts +27 -0
  396. package/dist/registration/register-smart-element.d.ts.map +1 -0
  397. package/dist/registration/register-smart-element.js +26 -0
  398. package/dist/registration/register-smart-element.js.map +1 -0
  399. package/dist/registration/smart-element-factory.d.ts +46 -0
  400. package/dist/registration/smart-element-factory.d.ts.map +1 -0
  401. package/dist/registration/smart-element-factory.interface.d.ts +17 -0
  402. package/dist/registration/smart-element-factory.interface.d.ts.map +1 -0
  403. package/dist/registration/smart-element-factory.interface.js +2 -0
  404. package/dist/registration/smart-element-factory.interface.js.map +1 -0
  405. package/dist/registration/smart-element-factory.js +146 -0
  406. package/dist/registration/smart-element-factory.js.map +1 -0
  407. package/dist/registration/smart-element-registrar.d.ts +41 -0
  408. package/dist/registration/smart-element-registrar.d.ts.map +1 -0
  409. package/dist/registration/smart-element-registrar.interface.d.ts +17 -0
  410. package/dist/registration/smart-element-registrar.interface.d.ts.map +1 -0
  411. package/dist/registration/smart-element-registrar.interface.js +2 -0
  412. package/dist/registration/smart-element-registrar.interface.js.map +1 -0
  413. package/dist/registration/smart-element-registrar.js +56 -0
  414. package/dist/registration/smart-element-registrar.js.map +1 -0
  415. package/dist/registration/smart-tags.d.ts +16 -0
  416. package/dist/registration/smart-tags.d.ts.map +1 -0
  417. package/dist/registration/smart-tags.js +30 -0
  418. package/dist/registration/smart-tags.js.map +1 -0
  419. package/dist/rendering/bindings/binding-resolver.d.ts +90 -0
  420. package/dist/rendering/bindings/binding-resolver.d.ts.map +1 -0
  421. package/dist/rendering/bindings/binding-resolver.interface.d.ts +31 -0
  422. package/dist/rendering/bindings/binding-resolver.interface.d.ts.map +1 -0
  423. package/dist/rendering/bindings/binding-resolver.interface.js +2 -0
  424. package/dist/rendering/bindings/binding-resolver.interface.js.map +1 -0
  425. package/dist/rendering/bindings/binding-resolver.js +232 -0
  426. package/dist/rendering/bindings/binding-resolver.js.map +1 -0
  427. package/dist/rendering/bindings/expresion-resolver.d.ts +55 -0
  428. package/dist/rendering/bindings/expresion-resolver.d.ts.map +1 -0
  429. package/dist/rendering/bindings/expresion-resolver.interface.d.ts +25 -0
  430. package/dist/rendering/bindings/expresion-resolver.interface.d.ts.map +1 -0
  431. package/dist/rendering/bindings/expresion-resolver.interface.js +2 -0
  432. package/dist/rendering/bindings/expresion-resolver.interface.js.map +1 -0
  433. package/dist/rendering/bindings/expresion-resolver.js +175 -0
  434. package/dist/rendering/bindings/expresion-resolver.js.map +1 -0
  435. package/dist/rendering/bindings/expression-resolver.d.ts +48 -0
  436. package/dist/rendering/bindings/expression-resolver.d.ts.map +1 -0
  437. package/dist/rendering/bindings/expression-resolver.interface.d.ts +25 -0
  438. package/dist/rendering/bindings/expression-resolver.interface.d.ts.map +1 -0
  439. package/dist/rendering/bindings/expression-resolver.interface.js +2 -0
  440. package/dist/rendering/bindings/expression-resolver.interface.js.map +1 -0
  441. package/dist/rendering/bindings/expression-resolver.js +169 -0
  442. package/dist/rendering/bindings/expression-resolver.js.map +1 -0
  443. package/dist/rendering/bindings/property-extractor.d.ts +36 -0
  444. package/dist/rendering/bindings/property-extractor.d.ts.map +1 -0
  445. package/dist/rendering/bindings/property-extractor.interface.d.ts +21 -0
  446. package/dist/rendering/bindings/property-extractor.interface.d.ts.map +1 -0
  447. package/dist/rendering/bindings/property-extractor.interface.js +2 -0
  448. package/dist/rendering/bindings/property-extractor.interface.js.map +1 -0
  449. package/dist/rendering/bindings/property-extractor.js +69 -0
  450. package/dist/rendering/bindings/property-extractor.js.map +1 -0
  451. package/dist/rendering/bindings/rules-resolver.d.ts +29 -0
  452. package/dist/rendering/bindings/rules-resolver.d.ts.map +1 -0
  453. package/dist/rendering/bindings/rules-resolver.interface.d.ts +16 -0
  454. package/dist/rendering/bindings/rules-resolver.interface.d.ts.map +1 -0
  455. package/dist/rendering/bindings/rules-resolver.interface.js +2 -0
  456. package/dist/rendering/bindings/rules-resolver.interface.js.map +1 -0
  457. package/dist/rendering/bindings/rules-resolver.js +69 -0
  458. package/dist/rendering/bindings/rules-resolver.js.map +1 -0
  459. package/dist/rendering/bindings/smart-input-store.d.ts +11 -0
  460. package/dist/rendering/bindings/smart-input-store.d.ts.map +1 -0
  461. package/dist/rendering/bindings/smart-input-store.interface.d.ts +54 -0
  462. package/dist/rendering/bindings/smart-input-store.interface.d.ts.map +1 -0
  463. package/dist/rendering/bindings/smart-input-store.interface.js +5 -0
  464. package/dist/rendering/bindings/smart-input-store.interface.js.map +1 -0
  465. package/dist/rendering/bindings/smart-input-store.js +92 -0
  466. package/dist/rendering/bindings/smart-input-store.js.map +1 -0
  467. package/dist/rendering/bindings/static-binding-resolver.d.ts +28 -0
  468. package/dist/rendering/bindings/static-binding-resolver.d.ts.map +1 -0
  469. package/dist/rendering/bindings/static-binding-resolver.interface.d.ts +15 -0
  470. package/dist/rendering/bindings/static-binding-resolver.interface.d.ts.map +1 -0
  471. package/dist/rendering/bindings/static-binding-resolver.interface.js +2 -0
  472. package/dist/rendering/bindings/static-binding-resolver.interface.js.map +1 -0
  473. package/dist/rendering/bindings/static-binding-resolver.js +65 -0
  474. package/dist/rendering/bindings/static-binding-resolver.js.map +1 -0
  475. package/dist/rendering/dom/browser-dom-adapter.d.ts +30 -0
  476. package/dist/rendering/dom/browser-dom-adapter.d.ts.map +1 -0
  477. package/dist/rendering/dom/browser-dom-adapter.js +40 -0
  478. package/dist/rendering/dom/browser-dom-adapter.js.map +1 -0
  479. package/dist/rendering/dom/dom-adapter.interface.d.ts +39 -0
  480. package/dist/rendering/dom/dom-adapter.interface.d.ts.map +1 -0
  481. package/dist/rendering/dom/dom-adapter.interface.js +2 -0
  482. package/dist/rendering/dom/dom-adapter.interface.js.map +1 -0
  483. package/dist/rendering/dom/index.d.ts +9 -0
  484. package/dist/rendering/dom/index.d.ts.map +1 -0
  485. package/dist/rendering/dom/index.js +8 -0
  486. package/dist/rendering/dom/index.js.map +1 -0
  487. package/dist/rendering/dom/node-types.d.ts +21 -0
  488. package/dist/rendering/dom/node-types.d.ts.map +1 -0
  489. package/dist/rendering/dom/node-types.js +21 -0
  490. package/dist/rendering/dom/node-types.js.map +1 -0
  491. package/dist/rendering/dom-context/dom-context-factory.d.ts +31 -0
  492. package/dist/rendering/dom-context/dom-context-factory.d.ts.map +1 -0
  493. package/dist/rendering/dom-context/dom-context-factory.interface.d.ts +14 -0
  494. package/dist/rendering/dom-context/dom-context-factory.interface.d.ts.map +1 -0
  495. package/dist/rendering/dom-context/dom-context-factory.interface.js +2 -0
  496. package/dist/rendering/dom-context/dom-context-factory.interface.js.map +1 -0
  497. package/dist/rendering/dom-context/dom-context-factory.js +20 -0
  498. package/dist/rendering/dom-context/dom-context-factory.js.map +1 -0
  499. package/dist/rendering/dom-context/dom-context-host-resolver.d.ts +55 -0
  500. package/dist/rendering/dom-context/dom-context-host-resolver.d.ts.map +1 -0
  501. package/dist/rendering/dom-context/dom-context-host-resolver.js +90 -0
  502. package/dist/rendering/dom-context/dom-context-host-resolver.js.map +1 -0
  503. package/dist/rendering/dom-context/dom-context.d.ts +168 -0
  504. package/dist/rendering/dom-context/dom-context.d.ts.map +1 -0
  505. package/dist/rendering/dom-context/dom-context.interface.d.ts +156 -0
  506. package/dist/rendering/dom-context/dom-context.interface.d.ts.map +1 -0
  507. package/dist/rendering/dom-context/dom-context.interface.js +17 -0
  508. package/dist/rendering/dom-context/dom-context.interface.js.map +1 -0
  509. package/dist/rendering/dom-context/dom-context.js +225 -0
  510. package/dist/rendering/dom-context/dom-context.js.map +1 -0
  511. package/dist/rendering/dom-context/host-resolver.interface.d.ts +47 -0
  512. package/dist/rendering/dom-context/host-resolver.interface.d.ts.map +1 -0
  513. package/dist/rendering/dom-context/host-resolver.interface.js +2 -0
  514. package/dist/rendering/dom-context/host-resolver.interface.js.map +1 -0
  515. package/dist/rendering/dom-context/index.d.ts +5 -0
  516. package/dist/rendering/dom-context/index.d.ts.map +1 -0
  517. package/dist/rendering/dom-context/index.js +4 -0
  518. package/dist/rendering/dom-context/index.js.map +1 -0
  519. package/dist/rendering/errors/error-render-options.interface.d.ts +29 -0
  520. package/dist/rendering/errors/error-render-options.interface.d.ts.map +1 -0
  521. package/dist/rendering/errors/error-render-options.interface.js +2 -0
  522. package/dist/rendering/errors/error-render-options.interface.js.map +1 -0
  523. package/dist/rendering/errors/error-renderer.d.ts +71 -0
  524. package/dist/rendering/errors/error-renderer.d.ts.map +1 -0
  525. package/dist/rendering/errors/error-renderer.interface.d.ts +29 -0
  526. package/dist/rendering/errors/error-renderer.interface.d.ts.map +1 -0
  527. package/dist/rendering/errors/error-renderer.interface.js +2 -0
  528. package/dist/rendering/errors/error-renderer.interface.js.map +1 -0
  529. package/dist/rendering/errors/error-renderer.js +127 -0
  530. package/dist/rendering/errors/error-renderer.js.map +1 -0
  531. package/dist/rendering/expression-parser/dependency-extractor.d.ts +36 -0
  532. package/dist/rendering/expression-parser/dependency-extractor.d.ts.map +1 -0
  533. package/dist/rendering/expression-parser/dependency-extractor.js +83 -0
  534. package/dist/rendering/expression-parser/dependency-extractor.js.map +1 -0
  535. package/dist/rendering/expression-parser/evaluators/ast.evaluator.d.ts +54 -0
  536. package/dist/rendering/expression-parser/evaluators/ast.evaluator.d.ts.map +1 -0
  537. package/dist/rendering/expression-parser/evaluators/ast.evaluator.js +92 -0
  538. package/dist/rendering/expression-parser/evaluators/ast.evaluator.js.map +1 -0
  539. package/dist/rendering/expression-parser/evaluators/base.d.ts +20 -0
  540. package/dist/rendering/expression-parser/evaluators/base.d.ts.map +1 -0
  541. package/dist/rendering/expression-parser/evaluators/base.js +2 -0
  542. package/dist/rendering/expression-parser/evaluators/base.js.map +1 -0
  543. package/dist/rendering/expression-parser/evaluators/binary.evaluator.d.ts +29 -0
  544. package/dist/rendering/expression-parser/evaluators/binary.evaluator.d.ts.map +1 -0
  545. package/dist/rendering/expression-parser/evaluators/binary.evaluator.js +55 -0
  546. package/dist/rendering/expression-parser/evaluators/binary.evaluator.js.map +1 -0
  547. package/dist/rendering/expression-parser/evaluators/call.evaluator.d.ts +38 -0
  548. package/dist/rendering/expression-parser/evaluators/call.evaluator.d.ts.map +1 -0
  549. package/dist/rendering/expression-parser/evaluators/call.evaluator.js +62 -0
  550. package/dist/rendering/expression-parser/evaluators/call.evaluator.js.map +1 -0
  551. package/dist/rendering/expression-parser/evaluators/conditional.evaluator.d.ts +29 -0
  552. package/dist/rendering/expression-parser/evaluators/conditional.evaluator.d.ts.map +1 -0
  553. package/dist/rendering/expression-parser/evaluators/conditional.evaluator.js +38 -0
  554. package/dist/rendering/expression-parser/evaluators/conditional.evaluator.js.map +1 -0
  555. package/dist/rendering/expression-parser/evaluators/identifier.evaluator.d.ts +28 -0
  556. package/dist/rendering/expression-parser/evaluators/identifier.evaluator.d.ts.map +1 -0
  557. package/dist/rendering/expression-parser/evaluators/identifier.evaluator.js +33 -0
  558. package/dist/rendering/expression-parser/evaluators/identifier.evaluator.js.map +1 -0
  559. package/dist/rendering/expression-parser/evaluators/index.d.ts +10 -0
  560. package/dist/rendering/expression-parser/evaluators/index.d.ts.map +1 -0
  561. package/dist/rendering/expression-parser/evaluators/index.js +9 -0
  562. package/dist/rendering/expression-parser/evaluators/index.js.map +1 -0
  563. package/dist/rendering/expression-parser/evaluators/literal.evaluator.d.ts +27 -0
  564. package/dist/rendering/expression-parser/evaluators/literal.evaluator.d.ts.map +1 -0
  565. package/dist/rendering/expression-parser/evaluators/literal.evaluator.js +29 -0
  566. package/dist/rendering/expression-parser/evaluators/literal.evaluator.js.map +1 -0
  567. package/dist/rendering/expression-parser/evaluators/member.evaluator.d.ts +29 -0
  568. package/dist/rendering/expression-parser/evaluators/member.evaluator.d.ts.map +1 -0
  569. package/dist/rendering/expression-parser/evaluators/member.evaluator.js +39 -0
  570. package/dist/rendering/expression-parser/evaluators/member.evaluator.js.map +1 -0
  571. package/dist/rendering/expression-parser/evaluators/unary.evaluator.d.ts +29 -0
  572. package/dist/rendering/expression-parser/evaluators/unary.evaluator.d.ts.map +1 -0
  573. package/dist/rendering/expression-parser/evaluators/unary.evaluator.js +44 -0
  574. package/dist/rendering/expression-parser/evaluators/unary.evaluator.js.map +1 -0
  575. package/dist/rendering/expression-parser/expression-cache.d.ts +65 -0
  576. package/dist/rendering/expression-parser/expression-cache.d.ts.map +1 -0
  577. package/dist/rendering/expression-parser/expression-cache.js +79 -0
  578. package/dist/rendering/expression-parser/expression-cache.js.map +1 -0
  579. package/dist/rendering/expression-parser/expression-parser.factory.d.ts +105 -0
  580. package/dist/rendering/expression-parser/expression-parser.factory.d.ts.map +1 -0
  581. package/dist/rendering/expression-parser/expression-parser.factory.js +113 -0
  582. package/dist/rendering/expression-parser/expression-parser.factory.js.map +1 -0
  583. package/dist/rendering/expression-parser/expression-parser.service.d.ts +30 -0
  584. package/dist/rendering/expression-parser/expression-parser.service.d.ts.map +1 -0
  585. package/dist/rendering/expression-parser/expression-parser.service.js +96 -0
  586. package/dist/rendering/expression-parser/expression-parser.service.js.map +1 -0
  587. package/dist/rendering/expression-parser/host-projector.d.ts +80 -0
  588. package/dist/rendering/expression-parser/host-projector.d.ts.map +1 -0
  589. package/dist/rendering/expression-parser/host-projector.js +97 -0
  590. package/dist/rendering/expression-parser/host-projector.js.map +1 -0
  591. package/dist/rendering/expression-parser/index.d.ts +6 -0
  592. package/dist/rendering/expression-parser/index.d.ts.map +1 -0
  593. package/dist/rendering/expression-parser/index.js +15 -0
  594. package/dist/rendering/expression-parser/index.js.map +1 -0
  595. package/dist/rendering/expression-parser/interfaces.d.ts +41 -0
  596. package/dist/rendering/expression-parser/interfaces.d.ts.map +1 -0
  597. package/dist/rendering/expression-parser/interfaces.js +2 -0
  598. package/dist/rendering/expression-parser/interfaces.js.map +1 -0
  599. package/dist/rendering/expression-parser/parser.d.ts +135 -0
  600. package/dist/rendering/expression-parser/parser.d.ts.map +1 -0
  601. package/dist/rendering/expression-parser/parser.js +345 -0
  602. package/dist/rendering/expression-parser/parser.js.map +1 -0
  603. package/dist/rendering/expression-parser/safe-method-validator.interface.d.ts +23 -0
  604. package/dist/rendering/expression-parser/safe-method-validator.interface.d.ts.map +1 -0
  605. package/dist/rendering/expression-parser/safe-method-validator.interface.js +2 -0
  606. package/dist/rendering/expression-parser/safe-method-validator.interface.js.map +1 -0
  607. package/dist/rendering/expression-parser/safe-methods.d.ts +29 -0
  608. package/dist/rendering/expression-parser/safe-methods.d.ts.map +1 -0
  609. package/dist/rendering/expression-parser/safe-methods.js +136 -0
  610. package/dist/rendering/expression-parser/safe-methods.js.map +1 -0
  611. package/dist/rendering/expression-parser/tokenizer.d.ts +68 -0
  612. package/dist/rendering/expression-parser/tokenizer.d.ts.map +1 -0
  613. package/dist/rendering/expression-parser/tokenizer.js +282 -0
  614. package/dist/rendering/expression-parser/tokenizer.js.map +1 -0
  615. package/dist/rendering/expression-parser/types.d.ts +234 -0
  616. package/dist/rendering/expression-parser/types.d.ts.map +1 -0
  617. package/dist/rendering/expression-parser/types.js +33 -0
  618. package/dist/rendering/expression-parser/types.js.map +1 -0
  619. package/dist/rendering/host-projection/host-projection-registry.interface.d.ts +54 -0
  620. package/dist/rendering/host-projection/host-projection-registry.interface.d.ts.map +1 -0
  621. package/dist/rendering/host-projection/host-projection-registry.interface.js +2 -0
  622. package/dist/rendering/host-projection/host-projection-registry.interface.js.map +1 -0
  623. package/dist/rendering/host-projection/host-projection.registry.d.ts +67 -0
  624. package/dist/rendering/host-projection/host-projection.registry.d.ts.map +1 -0
  625. package/dist/rendering/host-projection/host-projection.registry.js +96 -0
  626. package/dist/rendering/host-projection/host-projection.registry.js.map +1 -0
  627. package/dist/rendering/host-projection/index.d.ts +3 -0
  628. package/dist/rendering/host-projection/index.d.ts.map +1 -0
  629. package/dist/rendering/host-projection/index.js +2 -0
  630. package/dist/rendering/host-projection/index.js.map +1 -0
  631. package/dist/rendering/host-resolver/dom-context-host-resolver.d.ts +55 -0
  632. package/dist/rendering/host-resolver/dom-context-host-resolver.d.ts.map +1 -0
  633. package/dist/rendering/host-resolver/dom-context-host-resolver.js +90 -0
  634. package/dist/rendering/host-resolver/dom-context-host-resolver.js.map +1 -0
  635. package/dist/rendering/host-resolver/host-resolver.interface.d.ts +47 -0
  636. package/dist/rendering/host-resolver/host-resolver.interface.d.ts.map +1 -0
  637. package/dist/rendering/host-resolver/host-resolver.interface.js +2 -0
  638. package/dist/rendering/host-resolver/host-resolver.interface.js.map +1 -0
  639. package/dist/rendering/host-resolver/index.d.ts +3 -0
  640. package/dist/rendering/host-resolver/index.d.ts.map +1 -0
  641. package/dist/rendering/host-resolver/index.js +2 -0
  642. package/dist/rendering/host-resolver/index.js.map +1 -0
  643. package/dist/rendering/index.d.ts +34 -0
  644. package/dist/rendering/index.d.ts.map +1 -0
  645. package/dist/rendering/index.js +27 -0
  646. package/dist/rendering/index.js.map +1 -0
  647. package/dist/rendering/inputs/smart-input-store.d.ts +11 -0
  648. package/dist/rendering/inputs/smart-input-store.d.ts.map +1 -0
  649. package/dist/rendering/inputs/smart-input-store.interface.d.ts +54 -0
  650. package/dist/rendering/inputs/smart-input-store.interface.d.ts.map +1 -0
  651. package/dist/rendering/inputs/smart-input-store.interface.js +5 -0
  652. package/dist/rendering/inputs/smart-input-store.interface.js.map +1 -0
  653. package/dist/rendering/inputs/smart-input-store.js +92 -0
  654. package/dist/rendering/inputs/smart-input-store.js.map +1 -0
  655. package/dist/rendering/lifecycle/lifecycle-coordinator.d.ts +94 -0
  656. package/dist/rendering/lifecycle/lifecycle-coordinator.d.ts.map +1 -0
  657. package/dist/rendering/lifecycle/lifecycle-coordinator.js +142 -0
  658. package/dist/rendering/lifecycle/lifecycle-coordinator.js.map +1 -0
  659. package/dist/rendering/lifecycle/mount-context.interface.d.ts +50 -0
  660. package/dist/rendering/lifecycle/mount-context.interface.d.ts.map +1 -0
  661. package/dist/rendering/lifecycle/mount-context.interface.js +2 -0
  662. package/dist/rendering/lifecycle/mount-context.interface.js.map +1 -0
  663. package/dist/rendering/lifecycle/mount-session.d.ts +49 -0
  664. package/dist/rendering/lifecycle/mount-session.d.ts.map +1 -0
  665. package/dist/rendering/lifecycle/mount-session.js +71 -0
  666. package/dist/rendering/lifecycle/mount-session.js.map +1 -0
  667. package/dist/rendering/managed-host/host-style-migrator.d.ts +55 -0
  668. package/dist/rendering/managed-host/host-style-migrator.d.ts.map +1 -0
  669. package/dist/rendering/managed-host/host-style-migrator.interface.d.ts +42 -0
  670. package/dist/rendering/managed-host/host-style-migrator.interface.d.ts.map +1 -0
  671. package/dist/rendering/managed-host/host-style-migrator.interface.js +2 -0
  672. package/dist/rendering/managed-host/host-style-migrator.interface.js.map +1 -0
  673. package/dist/rendering/managed-host/host-style-migrator.js +105 -0
  674. package/dist/rendering/managed-host/host-style-migrator.js.map +1 -0
  675. package/dist/rendering/managed-host/index.d.ts +18 -0
  676. package/dist/rendering/managed-host/index.d.ts.map +1 -0
  677. package/dist/rendering/managed-host/index.js +14 -0
  678. package/dist/rendering/managed-host/index.js.map +1 -0
  679. package/dist/rendering/managed-host/input-attribute-policy.d.ts +60 -0
  680. package/dist/rendering/managed-host/input-attribute-policy.d.ts.map +1 -0
  681. package/dist/rendering/managed-host/input-attribute-policy.interface.d.ts +43 -0
  682. package/dist/rendering/managed-host/input-attribute-policy.interface.d.ts.map +1 -0
  683. package/dist/rendering/managed-host/input-attribute-policy.interface.js +2 -0
  684. package/dist/rendering/managed-host/input-attribute-policy.interface.js.map +1 -0
  685. package/dist/rendering/managed-host/input-attribute-policy.js +114 -0
  686. package/dist/rendering/managed-host/input-attribute-policy.js.map +1 -0
  687. package/dist/rendering/managed-host/managed-element-registry.d.ts +35 -0
  688. package/dist/rendering/managed-host/managed-element-registry.d.ts.map +1 -0
  689. package/dist/rendering/managed-host/managed-element-registry.js +103 -0
  690. package/dist/rendering/managed-host/managed-element-registry.js.map +1 -0
  691. package/dist/rendering/managed-host/managed-element-resolver.d.ts +27 -0
  692. package/dist/rendering/managed-host/managed-element-resolver.d.ts.map +1 -0
  693. package/dist/rendering/managed-host/managed-element-resolver.interface.d.ts +36 -0
  694. package/dist/rendering/managed-host/managed-element-resolver.interface.d.ts.map +1 -0
  695. package/dist/rendering/managed-host/managed-element-resolver.interface.js +2 -0
  696. package/dist/rendering/managed-host/managed-element-resolver.interface.js.map +1 -0
  697. package/dist/rendering/managed-host/managed-element-resolver.js +31 -0
  698. package/dist/rendering/managed-host/managed-element-resolver.js.map +1 -0
  699. package/dist/rendering/managed-host/managed-host-context.interface.d.ts +31 -0
  700. package/dist/rendering/managed-host/managed-host-context.interface.d.ts.map +1 -0
  701. package/dist/rendering/managed-host/managed-host-context.interface.js +2 -0
  702. package/dist/rendering/managed-host/managed-host-context.interface.js.map +1 -0
  703. package/dist/rendering/managed-host/outlet-resolver.d.ts +43 -0
  704. package/dist/rendering/managed-host/outlet-resolver.d.ts.map +1 -0
  705. package/dist/rendering/managed-host/outlet-resolver.interface.d.ts +28 -0
  706. package/dist/rendering/managed-host/outlet-resolver.interface.d.ts.map +1 -0
  707. package/dist/rendering/managed-host/outlet-resolver.interface.js +2 -0
  708. package/dist/rendering/managed-host/outlet-resolver.interface.js.map +1 -0
  709. package/dist/rendering/managed-host/outlet-resolver.js +59 -0
  710. package/dist/rendering/managed-host/outlet-resolver.js.map +1 -0
  711. package/dist/rendering/pipeline/error-renderer.d.ts +107 -0
  712. package/dist/rendering/pipeline/error-renderer.d.ts.map +1 -0
  713. package/dist/rendering/pipeline/error-renderer.js +127 -0
  714. package/dist/rendering/pipeline/error-renderer.js.map +1 -0
  715. package/dist/rendering/pipeline/render-pipeline.d.ts +87 -0
  716. package/dist/rendering/pipeline/render-pipeline.d.ts.map +1 -0
  717. package/dist/rendering/pipeline/render-pipeline.interface.d.ts +54 -0
  718. package/dist/rendering/pipeline/render-pipeline.interface.d.ts.map +1 -0
  719. package/dist/rendering/pipeline/render-pipeline.interface.js +2 -0
  720. package/dist/rendering/pipeline/render-pipeline.interface.js.map +1 -0
  721. package/dist/rendering/pipeline/render-pipeline.js +201 -0
  722. package/dist/rendering/pipeline/render-pipeline.js.map +1 -0
  723. package/dist/rendering/refs/get-component-host.d.ts +25 -0
  724. package/dist/rendering/refs/get-component-host.d.ts.map +1 -0
  725. package/dist/rendering/refs/get-component-host.js +27 -0
  726. package/dist/rendering/refs/get-component-host.js.map +1 -0
  727. package/dist/rendering/refs/host-ref-registry.d.ts +43 -0
  728. package/dist/rendering/refs/host-ref-registry.d.ts.map +1 -0
  729. package/dist/rendering/refs/host-ref-registry.js +38 -0
  730. package/dist/rendering/refs/host-ref-registry.js.map +1 -0
  731. package/dist/rendering/refs/ref-resolver.d.ts +44 -0
  732. package/dist/rendering/refs/ref-resolver.d.ts.map +1 -0
  733. package/dist/rendering/refs/ref-resolver.js +54 -0
  734. package/dist/rendering/refs/ref-resolver.js.map +1 -0
  735. package/dist/rendering/render-engine-facade.d.ts +80 -0
  736. package/dist/rendering/render-engine-facade.d.ts.map +1 -0
  737. package/dist/rendering/render-engine-facade.js +90 -0
  738. package/dist/rendering/render-engine-facade.js.map +1 -0
  739. package/dist/rendering/render-engine-factory.d.ts +158 -0
  740. package/dist/rendering/render-engine-factory.d.ts.map +1 -0
  741. package/dist/rendering/render-engine-factory.js +225 -0
  742. package/dist/rendering/render-engine-factory.js.map +1 -0
  743. package/dist/rendering/render-engine.d.ts +200 -0
  744. package/dist/rendering/render-engine.d.ts.map +1 -0
  745. package/dist/rendering/render-engine.js +205 -0
  746. package/dist/rendering/render-engine.js.map +1 -0
  747. package/dist/rendering/skeleton/skeleton-renderer.d.ts +91 -0
  748. package/dist/rendering/skeleton/skeleton-renderer.d.ts.map +1 -0
  749. package/dist/rendering/skeleton/skeleton-renderer.interface.d.ts +33 -0
  750. package/dist/rendering/skeleton/skeleton-renderer.interface.d.ts.map +1 -0
  751. package/dist/rendering/skeleton/skeleton-renderer.interface.js +2 -0
  752. package/dist/rendering/skeleton/skeleton-renderer.interface.js.map +1 -0
  753. package/dist/rendering/skeleton/skeleton-renderer.js +188 -0
  754. package/dist/rendering/skeleton/skeleton-renderer.js.map +1 -0
  755. package/dist/rendering/skeleton/skeleton-validator.d.ts +51 -0
  756. package/dist/rendering/skeleton/skeleton-validator.d.ts.map +1 -0
  757. package/dist/rendering/skeleton/skeleton-validator.interface.d.ts +23 -0
  758. package/dist/rendering/skeleton/skeleton-validator.interface.d.ts.map +1 -0
  759. package/dist/rendering/skeleton/skeleton-validator.interface.js +2 -0
  760. package/dist/rendering/skeleton/skeleton-validator.interface.js.map +1 -0
  761. package/dist/rendering/skeleton/skeleton-validator.js +215 -0
  762. package/dist/rendering/skeleton/skeleton-validator.js.map +1 -0
  763. package/dist/rendering/slots/index.d.ts +2 -0
  764. package/dist/rendering/slots/index.d.ts.map +1 -0
  765. package/dist/rendering/slots/index.js +2 -0
  766. package/dist/rendering/slots/index.js.map +1 -0
  767. package/dist/rendering/slots/slot-content.registry.d.ts +58 -0
  768. package/dist/rendering/slots/slot-content.registry.d.ts.map +1 -0
  769. package/dist/rendering/slots/slot-content.registry.js +77 -0
  770. package/dist/rendering/slots/slot-content.registry.js.map +1 -0
  771. package/dist/rendering/styles/shared-styles-registry.d.ts +68 -0
  772. package/dist/rendering/styles/shared-styles-registry.d.ts.map +1 -0
  773. package/dist/rendering/styles/shared-styles-registry.js +55 -0
  774. package/dist/rendering/styles/shared-styles-registry.js.map +1 -0
  775. package/dist/rendering/support/error-render-options.interface.d.ts +29 -0
  776. package/dist/rendering/support/error-render-options.interface.d.ts.map +1 -0
  777. package/dist/rendering/support/error-render-options.interface.js +2 -0
  778. package/dist/rendering/support/error-render-options.interface.js.map +1 -0
  779. package/dist/rendering/support/error-renderer.d.ts +56 -0
  780. package/dist/rendering/support/error-renderer.d.ts.map +1 -0
  781. package/dist/rendering/support/error-renderer.interface.d.ts +29 -0
  782. package/dist/rendering/support/error-renderer.interface.d.ts.map +1 -0
  783. package/dist/rendering/support/error-renderer.interface.js +2 -0
  784. package/dist/rendering/support/error-renderer.interface.js.map +1 -0
  785. package/dist/rendering/support/error-renderer.js +92 -0
  786. package/dist/rendering/support/error-renderer.js.map +1 -0
  787. package/dist/rendering/support/safe-methods.d.ts +46 -0
  788. package/dist/rendering/support/safe-methods.d.ts.map +1 -0
  789. package/dist/rendering/support/safe-methods.js +138 -0
  790. package/dist/rendering/support/safe-methods.js.map +1 -0
  791. package/dist/rendering/support/smart-input-store.d.ts +11 -0
  792. package/dist/rendering/support/smart-input-store.d.ts.map +1 -0
  793. package/dist/rendering/support/smart-input-store.interface.d.ts +54 -0
  794. package/dist/rendering/support/smart-input-store.interface.d.ts.map +1 -0
  795. package/dist/rendering/support/smart-input-store.interface.js +5 -0
  796. package/dist/rendering/support/smart-input-store.interface.js.map +1 -0
  797. package/dist/rendering/support/smart-input-store.js +92 -0
  798. package/dist/rendering/support/smart-input-store.js.map +1 -0
  799. package/dist/rendering/templates/compiled-template.interface.d.ts +34 -0
  800. package/dist/rendering/templates/compiled-template.interface.d.ts.map +1 -0
  801. package/dist/rendering/templates/compiled-template.interface.js +2 -0
  802. package/dist/rendering/templates/compiled-template.interface.js.map +1 -0
  803. package/dist/rendering/templates/composite-token-extractor.d.ts +10 -0
  804. package/dist/rendering/templates/composite-token-extractor.d.ts.map +1 -0
  805. package/dist/rendering/templates/composite-token-extractor.js +16 -0
  806. package/dist/rendering/templates/composite-token-extractor.js.map +1 -0
  807. package/dist/rendering/templates/delimited-token-extractor.d.ts +12 -0
  808. package/dist/rendering/templates/delimited-token-extractor.d.ts.map +1 -0
  809. package/dist/rendering/templates/delimited-token-extractor.js +44 -0
  810. package/dist/rendering/templates/delimited-token-extractor.js.map +1 -0
  811. package/dist/rendering/templates/host-projector.interface.d.ts +25 -0
  812. package/dist/rendering/templates/host-projector.interface.d.ts.map +1 -0
  813. package/dist/rendering/templates/host-projector.interface.js +2 -0
  814. package/dist/rendering/templates/host-projector.interface.js.map +1 -0
  815. package/dist/rendering/templates/html-aware-token-extractor.d.ts +56 -0
  816. package/dist/rendering/templates/html-aware-token-extractor.d.ts.map +1 -0
  817. package/dist/rendering/templates/html-aware-token-extractor.js +78 -0
  818. package/dist/rendering/templates/html-aware-token-extractor.js.map +1 -0
  819. package/dist/rendering/templates/html-fragment-parser.interface.d.ts +19 -0
  820. package/dist/rendering/templates/html-fragment-parser.interface.d.ts.map +1 -0
  821. package/dist/rendering/templates/html-fragment-parser.interface.js +2 -0
  822. package/dist/rendering/templates/html-fragment-parser.interface.js.map +1 -0
  823. package/dist/rendering/templates/interpolable-content-selector.interface.d.ts +33 -0
  824. package/dist/rendering/templates/interpolable-content-selector.interface.d.ts.map +1 -0
  825. package/dist/rendering/templates/interpolable-content-selector.interface.js +2 -0
  826. package/dist/rendering/templates/interpolable-content-selector.interface.js.map +1 -0
  827. package/dist/rendering/templates/parse5-fragment-parser.d.ts +31 -0
  828. package/dist/rendering/templates/parse5-fragment-parser.d.ts.map +1 -0
  829. package/dist/rendering/templates/parse5-fragment-parser.js +36 -0
  830. package/dist/rendering/templates/parse5-fragment-parser.js.map +1 -0
  831. package/dist/rendering/templates/safe-content-selector.d.ts +50 -0
  832. package/dist/rendering/templates/safe-content-selector.d.ts.map +1 -0
  833. package/dist/rendering/templates/safe-content-selector.js +138 -0
  834. package/dist/rendering/templates/safe-content-selector.js.map +1 -0
  835. package/dist/rendering/templates/simple-template-analyzer.d.ts +29 -0
  836. package/dist/rendering/templates/simple-template-analyzer.d.ts.map +1 -0
  837. package/dist/rendering/templates/simple-template-analyzer.js +59 -0
  838. package/dist/rendering/templates/simple-template-analyzer.js.map +1 -0
  839. package/dist/rendering/templates/template-analyzer.d.ts +60 -0
  840. package/dist/rendering/templates/template-analyzer.d.ts.map +1 -0
  841. package/dist/rendering/templates/template-analyzer.interface.d.ts +15 -0
  842. package/dist/rendering/templates/template-analyzer.interface.d.ts.map +1 -0
  843. package/dist/rendering/templates/template-analyzer.interface.js +2 -0
  844. package/dist/rendering/templates/template-analyzer.interface.js.map +1 -0
  845. package/dist/rendering/templates/template-analyzer.js +74 -0
  846. package/dist/rendering/templates/template-analyzer.js.map +1 -0
  847. package/dist/rendering/templates/template-compilation-cache.d.ts +96 -0
  848. package/dist/rendering/templates/template-compilation-cache.d.ts.map +1 -0
  849. package/dist/rendering/templates/template-compilation-cache.js +125 -0
  850. package/dist/rendering/templates/template-compilation-cache.js.map +1 -0
  851. package/dist/rendering/templates/template-compiler.d.ts +76 -0
  852. package/dist/rendering/templates/template-compiler.d.ts.map +1 -0
  853. package/dist/rendering/templates/template-compiler.interface.d.ts +35 -0
  854. package/dist/rendering/templates/template-compiler.interface.d.ts.map +1 -0
  855. package/dist/rendering/templates/template-compiler.interface.js +2 -0
  856. package/dist/rendering/templates/template-compiler.interface.js.map +1 -0
  857. package/dist/rendering/templates/template-compiler.js +136 -0
  858. package/dist/rendering/templates/template-compiler.js.map +1 -0
  859. package/dist/rendering/templates/template-provider.d.ts +112 -0
  860. package/dist/rendering/templates/template-provider.d.ts.map +1 -0
  861. package/dist/rendering/templates/template-provider.factory.d.ts +35 -0
  862. package/dist/rendering/templates/template-provider.factory.d.ts.map +1 -0
  863. package/dist/rendering/templates/template-provider.factory.js +42 -0
  864. package/dist/rendering/templates/template-provider.factory.js.map +1 -0
  865. package/dist/rendering/templates/template-provider.interface.d.ts +32 -0
  866. package/dist/rendering/templates/template-provider.interface.d.ts.map +1 -0
  867. package/dist/rendering/templates/template-provider.interface.js +2 -0
  868. package/dist/rendering/templates/template-provider.interface.js.map +1 -0
  869. package/dist/rendering/templates/template-provider.js +104 -0
  870. package/dist/rendering/templates/template-provider.js.map +1 -0
  871. package/dist/rendering/templates/template-token.interface.d.ts +38 -0
  872. package/dist/rendering/templates/template-token.interface.d.ts.map +1 -0
  873. package/dist/rendering/templates/template-token.interface.js +2 -0
  874. package/dist/rendering/templates/template-token.interface.js.map +1 -0
  875. package/dist/types/interfaces.d.ts +204 -0
  876. package/dist/types/interfaces.d.ts.map +1 -0
  877. package/dist/types/interfaces.js +2 -0
  878. package/dist/types/interfaces.js.map +1 -0
  879. package/dist/utils/dom-utils.d.ts +71 -0
  880. package/dist/utils/dom-utils.d.ts.map +1 -0
  881. package/dist/utils/dom-utils.js +119 -0
  882. package/dist/utils/dom-utils.js.map +1 -0
  883. package/dist/utils/object-registry.d.ts +71 -0
  884. package/dist/utils/object-registry.d.ts.map +1 -0
  885. package/dist/utils/object-registry.js +126 -0
  886. package/dist/utils/object-registry.js.map +1 -0
  887. package/package.json +79 -0
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Defines the responsibility of carrying error rendering options.
3
+ *
4
+ * @description
5
+ * Encapsulates optional data required by `ErrorRenderer` to display a custom
6
+ * error overlay, including an HTML template and static constants for
7
+ * preprocessing.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const options: ErrorRenderOptions = {
12
+ * errorTemplate: '<div class="error">{{message}}</div>',
13
+ * constants: { Styles: { ERROR: 'error' } }
14
+ * };
15
+ * ```
16
+ */
17
+ export interface ErrorRenderOptions {
18
+ /**
19
+ * Optional HTML template used to render the error overlay. Supports
20
+ * `{{message}}` placeholder, which will be replaced by the final error message.
21
+ */
22
+ errorTemplate?: string;
23
+ /**
24
+ * Optional constants object used by the static binding resolver to preprocess
25
+ * template placeholders like `[[Styles.ERROR]]`.
26
+ */
27
+ constants?: Record<string, unknown>;
28
+ }
29
+ //# sourceMappingURL=error-render-options.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-render-options.interface.d.ts","sourceRoot":"","sources":["../../../src/rendering/errors/error-render-options.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=error-render-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-render-options.interface.js","sourceRoot":"","sources":["../../../src/rendering/errors/error-render-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,71 @@
1
+ import { IErrorRenderer } from './error-renderer.interface.js';
2
+ import { IDomContext } from '../dom-context/dom-context.interface.js';
3
+ import { IDomAdapter } from '../dom/dom-adapter.interface.js';
4
+ import type { ErrorRenderOptions } from './error-render-options.interface.js';
5
+ /**
6
+ * Implements the responsibility of rendering error states and overlays.
7
+ *
8
+ * @description
9
+ * Handles the rendering of error states when component rendering fails.
10
+ * Supports custom error templates from component metadata and provides
11
+ * a coherent fallback error overlay without hardcoded styles.
12
+ *
13
+ * @architecture
14
+ * Error Display Priority:
15
+ * 1. Custom error template: @SmartRender({ errorTemplate: '...' })
16
+ * 2. Fallback overlay: Simple HTML structure with message
17
+ */
18
+ export declare class ErrorRenderer implements IErrorRenderer {
19
+ private readonly domAdapter;
20
+ /**
21
+ * Initializes a new instance of ErrorRenderer.
22
+ *
23
+ * @param domAdapter - Adapter for DOM element creation
24
+ * @throws Error if domAdapter is null or undefined
25
+ */
26
+ constructor(domAdapter: IDomAdapter);
27
+ /**
28
+ * Renders an error overlay in the DOM context
29
+ *
30
+ * @description
31
+ * Displays error message by either using custom error template from metadata
32
+ * or showing a simple fallback overlay. Preprocesses constants in custom templates.
33
+ *
34
+ * @param domContext - DOM context for managing the error display
35
+ * @param errorMessage - Error message to display
36
+ * @param componentId - Component identifier for custom error template lookup
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * // Custom error template with constants
41
+ * @SmartRender({
42
+ * selector: 'my-component',
43
+ * constants: { Styles: { ERROR: 'error-overlay' } },
44
+ * errorTemplate: `<div class="[[Styles.ERROR]]">{{message}}</div>`
45
+ * })
46
+ *
47
+ * // Fallback: Simple structure without styles
48
+ * <div><div>⚠️</div><div>Error message</div></div>
49
+ * ```
50
+ */
51
+ render(domContext: IDomContext, errorMessage: string, options?: ErrorRenderOptions): Promise<void>;
52
+ private tryRenderCustomErrorTemplate;
53
+ private renderCustomErrorTemplate;
54
+ private renderDefaultErrorOverlay;
55
+ /**
56
+ * Safely replaces text placeholders in DOM tree to prevent XSS.
57
+ *
58
+ * @param element - Root element to search
59
+ * @param placeholder - Placeholder text to find
60
+ * @param value - Safe text value to insert
61
+ */
62
+ private replaceTextPlaceholder;
63
+ /**
64
+ * Recursively walks all text nodes in an element.
65
+ *
66
+ * @param node - Node to start walking from
67
+ * @param callback - Function to call for each text node
68
+ */
69
+ private walkTextNodes;
70
+ }
71
+ //# sourceMappingURL=error-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-renderer.d.ts","sourceRoot":"","sources":["../../../src/rendering/errors/error-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAkB,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAG9E;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAc,YAAW,cAAc;IAOtC,OAAO,CAAC,QAAQ,CAAC,UAAU;IANvC;;;;;OAKG;gBAC0B,UAAU,EAAE,WAAW;IAGpD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,MAAM,CACV,UAAU,EAAE,WAAW,EACvB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,IAAI,CAAC;YAWF,4BAA4B;YAU5B,yBAAyB;IAyBvC,OAAO,CAAC,yBAAyB;IAkBjC;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAQ9B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;CAQtB"}
@@ -0,0 +1,29 @@
1
+ import { IDomContext } from '../dom-context/dom-context.interface.js';
2
+ import type { ErrorRenderOptions } from './error-render-options.interface.js';
3
+ /**
4
+ * Defines the responsibility of rendering error states and overlays.
5
+ *
6
+ * @description
7
+ * Defines the contract for rendering error states when component rendering fails,
8
+ * including custom error templates and fallback overlays.
9
+ */
10
+ export interface IErrorRenderer {
11
+ /**
12
+ * Renders an error overlay in the DOM context.
13
+ *
14
+ * @param domContext - DOM context for managing the error display
15
+ * @param errorMessage - Error message to display
16
+ * @param options - Optional custom template and constants to render error overlay
17
+ * @throws Error if domContext or errorMessage are null/undefined
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * await errorRenderer.render(domContext, 'Component failed to render', {
22
+ * errorTemplate: '<div class="error">{{message}}</div>',
23
+ * constants: { Styles: { ERROR: 'error' } }
24
+ * });
25
+ * ```
26
+ */
27
+ render(domContext: IDomContext, errorMessage: string, options?: ErrorRenderOptions): Promise<void>;
28
+ }
29
+ //# sourceMappingURL=error-renderer.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-renderer.interface.d.ts","sourceRoot":"","sources":["../../../src/rendering/errors/error-renderer.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CACJ,UAAU,EAAE,WAAW,EACvB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=error-renderer.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-renderer.interface.js","sourceRoot":"","sources":["../../../src/rendering/errors/error-renderer.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,127 @@
1
+ import { DomContentType } from '../dom-context/dom-context.interface.js';
2
+ import { NodeType } from '../dom/node-types.js';
3
+ /**
4
+ * Implements the responsibility of rendering error states and overlays.
5
+ *
6
+ * @description
7
+ * Handles the rendering of error states when component rendering fails.
8
+ * Supports custom error templates from component metadata and provides
9
+ * a coherent fallback error overlay without hardcoded styles.
10
+ *
11
+ * @architecture
12
+ * Error Display Priority:
13
+ * 1. Custom error template: @SmartRender({ errorTemplate: '...' })
14
+ * 2. Fallback overlay: Simple HTML structure with message
15
+ */
16
+ export class ErrorRenderer {
17
+ domAdapter;
18
+ /**
19
+ * Initializes a new instance of ErrorRenderer.
20
+ *
21
+ * @param domAdapter - Adapter for DOM element creation
22
+ * @throws Error if domAdapter is null or undefined
23
+ */
24
+ constructor(domAdapter) {
25
+ this.domAdapter = domAdapter;
26
+ if (!domAdapter)
27
+ throw new Error('Dom adapter is required');
28
+ }
29
+ /**
30
+ * Renders an error overlay in the DOM context
31
+ *
32
+ * @description
33
+ * Displays error message by either using custom error template from metadata
34
+ * or showing a simple fallback overlay. Preprocesses constants in custom templates.
35
+ *
36
+ * @param domContext - DOM context for managing the error display
37
+ * @param errorMessage - Error message to display
38
+ * @param componentId - Component identifier for custom error template lookup
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * // Custom error template with constants
43
+ * @SmartRender({
44
+ * selector: 'my-component',
45
+ * constants: { Styles: { ERROR: 'error-overlay' } },
46
+ * errorTemplate: `<div class="[[Styles.ERROR]]">{{message}}</div>`
47
+ * })
48
+ *
49
+ * // Fallback: Simple structure without styles
50
+ * <div><div>⚠️</div><div>Error message</div></div>
51
+ * ```
52
+ */
53
+ async render(domContext, errorMessage, options) {
54
+ if (!domContext)
55
+ throw new Error('DOM context is required');
56
+ if (!errorMessage)
57
+ throw new Error('Error message is required');
58
+ if (await this.tryRenderCustomErrorTemplate(domContext, errorMessage, options)) {
59
+ return;
60
+ }
61
+ this.renderDefaultErrorOverlay(domContext, errorMessage);
62
+ }
63
+ async tryRenderCustomErrorTemplate(domContext, errorMessage, options) {
64
+ if (!options?.errorTemplate)
65
+ return false;
66
+ await this.renderCustomErrorTemplate(domContext, errorMessage, options.errorTemplate, options.constants);
67
+ return true;
68
+ }
69
+ async renderCustomErrorTemplate(domContext, errorMessage, errorTemplate, constants) {
70
+ let template = errorTemplate;
71
+ if (constants) {
72
+ const { StaticBindingResolver } = await import('../bindings/static-binding-resolver.js');
73
+ const resolver = new StaticBindingResolver();
74
+ template = resolver.resolve(template, constants);
75
+ }
76
+ const wrapper = this.domAdapter.createElement('div');
77
+ const placeholder = '__ERROR_MESSAGE_PLACEHOLDER__';
78
+ wrapper.innerHTML = template.replace(/\{\{\s*message\s*\}\}/g, placeholder);
79
+ // Replace placeholder with safe text content to prevent XSS
80
+ this.replaceTextPlaceholder(wrapper, placeholder, errorMessage);
81
+ wrapper.setAttribute('data-error', 'true');
82
+ domContext.setElement(wrapper, DomContentType.ERROR);
83
+ }
84
+ renderDefaultErrorOverlay(domContext, errorMessage) {
85
+ const overlay = this.domAdapter.createElement('div');
86
+ overlay.setAttribute('data-error', 'true');
87
+ const container = this.domAdapter.createElement('div');
88
+ const icon = this.domAdapter.createElement('div');
89
+ icon.textContent = '⚠️';
90
+ const message = this.domAdapter.createElement('div');
91
+ message.textContent = errorMessage;
92
+ container.appendChild(icon);
93
+ container.appendChild(message);
94
+ overlay.appendChild(container);
95
+ domContext.setElement(overlay, DomContentType.ERROR);
96
+ }
97
+ /**
98
+ * Safely replaces text placeholders in DOM tree to prevent XSS.
99
+ *
100
+ * @param element - Root element to search
101
+ * @param placeholder - Placeholder text to find
102
+ * @param value - Safe text value to insert
103
+ */
104
+ replaceTextPlaceholder(element, placeholder, value) {
105
+ this.walkTextNodes(element, (textNode) => {
106
+ if (textNode.textContent?.includes(placeholder)) {
107
+ textNode.textContent = textNode.textContent.replace(new RegExp(placeholder, 'g'), value);
108
+ }
109
+ });
110
+ }
111
+ /**
112
+ * Recursively walks all text nodes in an element.
113
+ *
114
+ * @param node - Node to start walking from
115
+ * @param callback - Function to call for each text node
116
+ */
117
+ walkTextNodes(node, callback) {
118
+ if (node.nodeType === NodeType.TEXT_NODE) {
119
+ callback(node);
120
+ }
121
+ else if (node.nodeType === NodeType.ELEMENT_NODE) {
122
+ const children = Array.from(node.childNodes);
123
+ children.forEach(child => this.walkTextNodes(child, callback));
124
+ }
125
+ }
126
+ }
127
+ //# sourceMappingURL=error-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-renderer.js","sourceRoot":"","sources":["../../../src/rendering/errors/error-renderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAGtF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,aAAa;IAOK;IAN7B;;;;;OAKG;IACH,YAA6B,UAAuB;QAAvB,eAAU,GAAV,UAAU,CAAa;QAClD,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC9D,CAAC;IACD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,MAAM,CACV,UAAuB,EACvB,YAAoB,EACpB,OAA4B;QAE5B,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAEhE,IAAI,MAAM,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;YAC/E,OAAO;QACT,CAAC;QAED,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,4BAA4B,CACxC,UAAuB,EACvB,YAAoB,EACpB,OAA4B;QAE5B,IAAI,CAAC,OAAO,EAAE,aAAa;YAAE,OAAO,KAAK,CAAC;QAC1C,MAAM,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACzG,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,UAAuB,EACvB,YAAoB,EACpB,aAAqB,EACrB,SAA2C;QAE3C,IAAI,QAAQ,GAAG,aAAa,CAAC;QAE7B,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;YACzF,MAAM,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;YAC7C,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,+BAA+B,CAAC;QACpD,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAAC;QAE5E,4DAA4D;QAC5D,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;QAEhE,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC3C,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAEO,yBAAyB,CAAC,UAAuB,EAAE,YAAoB;QAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC;QAEnC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5B,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAE/B,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;OAMG;IACK,sBAAsB,CAAC,OAAoB,EAAE,WAAmB,EAAE,KAAa;QACrF,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;YACvC,IAAI,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChD,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,aAAa,CAAC,IAAU,EAAE,QAAkC;QAClE,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC;YACzC,QAAQ,CAAC,IAAY,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7C,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,36 @@
1
+ import type { IDependencyExtractor } from './interfaces.js';
2
+ import type { ASTNode } from './types.js';
3
+ /**
4
+ * Implements the responsibility of extracting dependency names from AST nodes.
5
+ * Traverses the AST tree to identify all variables and properties that an expression
6
+ * depends on, following ISP by focusing solely on dependency analysis.
7
+ */
8
+ export declare class DependencyExtractor implements IDependencyExtractor {
9
+ /**
10
+ * Extracts all dependency names referenced in the AST node.
11
+ * Recursively traverses the AST to collect unique dependency identifiers.
12
+ *
13
+ * @param node - The AST node to analyze for dependencies
14
+ * @returns Array of unique dependency names found in the expression
15
+ * @throws Error if node is null or undefined
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const extractor = new DependencyExtractor();
20
+ * const ast = parseExpression('x + y.length');
21
+ * const deps = extractor.extract(ast);
22
+ * // Returns ['x', 'y']
23
+ * ```
24
+ */
25
+ extract(node: ASTNode): string[];
26
+ /**
27
+ * Recursively traverses the AST node to collect dependencies.
28
+ * Uses a Set to ensure uniqueness and avoid duplicates.
29
+ *
30
+ * @param node - The current AST node being traversed
31
+ * @param deps - The set to collect dependency names into
32
+ * @private
33
+ */
34
+ private traverse;
35
+ }
36
+ //# sourceMappingURL=dependency-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-extractor.d.ts","sourceRoot":"","sources":["../../../src/rendering/expression-parser/dependency-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EACV,OAAO,EAOR,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,oBAAoB;IAC9D;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;IAQhC;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ;CAiDjB"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Implements the responsibility of extracting dependency names from AST nodes.
3
+ * Traverses the AST tree to identify all variables and properties that an expression
4
+ * depends on, following ISP by focusing solely on dependency analysis.
5
+ */
6
+ export class DependencyExtractor {
7
+ /**
8
+ * Extracts all dependency names referenced in the AST node.
9
+ * Recursively traverses the AST to collect unique dependency identifiers.
10
+ *
11
+ * @param node - The AST node to analyze for dependencies
12
+ * @returns Array of unique dependency names found in the expression
13
+ * @throws Error if node is null or undefined
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const extractor = new DependencyExtractor();
18
+ * const ast = parseExpression('x + y.length');
19
+ * const deps = extractor.extract(ast);
20
+ * // Returns ['x', 'y']
21
+ * ```
22
+ */
23
+ extract(node) {
24
+ if (!node)
25
+ throw new Error('AST node is required');
26
+ const deps = new Set();
27
+ this.traverse(node, deps);
28
+ return Array.from(deps);
29
+ }
30
+ /**
31
+ * Recursively traverses the AST node to collect dependencies.
32
+ * Uses a Set to ensure uniqueness and avoid duplicates.
33
+ *
34
+ * @param node - The current AST node being traversed
35
+ * @param deps - The set to collect dependency names into
36
+ * @private
37
+ */
38
+ traverse(node, deps) {
39
+ switch (node.type) {
40
+ case 'Identifier':
41
+ deps.add(node.name);
42
+ break;
43
+ case 'MemberExpression': {
44
+ const memberExpr = node;
45
+ if (memberExpr.object.type === 'Identifier') {
46
+ deps.add(memberExpr.object.name);
47
+ }
48
+ else {
49
+ this.traverse(memberExpr.object, deps);
50
+ }
51
+ break;
52
+ }
53
+ case 'CallExpression': {
54
+ const callExpr = node;
55
+ this.traverse(callExpr.callee, deps);
56
+ callExpr.arguments.forEach(arg => this.traverse(arg, deps));
57
+ break;
58
+ }
59
+ case 'BinaryExpression': {
60
+ const binaryExpr = node;
61
+ this.traverse(binaryExpr.left, deps);
62
+ this.traverse(binaryExpr.right, deps);
63
+ break;
64
+ }
65
+ case 'UnaryExpression': {
66
+ const unaryExpr = node;
67
+ this.traverse(unaryExpr.argument, deps);
68
+ break;
69
+ }
70
+ case 'ConditionalExpression': {
71
+ const conditionalExpr = node;
72
+ this.traverse(conditionalExpr.test, deps);
73
+ this.traverse(conditionalExpr.consequent, deps);
74
+ this.traverse(conditionalExpr.alternate, deps);
75
+ break;
76
+ }
77
+ case 'Literal':
78
+ // No dependencies for literal values
79
+ break;
80
+ }
81
+ }
82
+ }
83
+ //# sourceMappingURL=dependency-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-extractor.js","sourceRoot":"","sources":["../../../src/rendering/expression-parser/dependency-extractor.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IAC9B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,IAAa;QACnB,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAEnD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;OAOG;IACK,QAAQ,CAAC,IAAa,EAAE,IAAiB;QAC/C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,YAAY;gBACf,IAAI,CAAC,GAAG,CAAE,IAAuB,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM;YAER,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,UAAU,GAAG,IAA4B,CAAC;gBAChD,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC5C,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACzC,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,QAAQ,GAAG,IAA0B,CAAC;gBAC5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACrC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC5D,MAAM;YACR,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,UAAU,GAAG,IAA4B,CAAC;gBAChD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACtC,MAAM;YACR,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,SAAS,GAAG,IAA2B,CAAC;gBAC9C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACxC,MAAM;YACR,CAAC;YAED,KAAK,uBAAuB,CAAC,CAAC,CAAC;gBAC7B,MAAM,eAAe,GAAG,IAAiC,CAAC;gBAC1D,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAChD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC/C,MAAM;YACR,CAAC;YAED,KAAK,SAAS;gBACZ,qCAAqC;gBACrC,MAAM;QACV,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,54 @@
1
+ import type { IEvaluator } from "../interfaces.js";
2
+ import type { ASTNode } from "../types.js";
3
+ import type { INodeEvaluatorStrategy } from "./base.js";
4
+ import type { ISafeMethodValidator } from "../safe-method-validator.interface.js";
5
+ /**
6
+ * Implements the responsibility of evaluating Abstract Syntax Tree (AST) nodes
7
+ * using the Strategy pattern. This class serves as the main evaluator that
8
+ * delegates evaluation to specific strategies based on node type, enabling
9
+ * the Open/Closed Principle for extensibility.
10
+ */
11
+ export declare class ASTEvaluator implements IEvaluator {
12
+ private static readonly MAX_EVAL_DEPTH;
13
+ private readonly strategies;
14
+ private evalDepth;
15
+ /**
16
+ * Initializes a new instance of ASTEvaluator with default strategies.
17
+ * Registers all built-in evaluators for common AST node types.
18
+ *
19
+ * @param safeMethodValidator - Validator for safe method invocation in call expressions
20
+ */
21
+ constructor(safeMethodValidator: ISafeMethodValidator);
22
+ /**
23
+ * Registers a new evaluation strategy for a specific AST node type.
24
+ * This method enables extension of the evaluator without modifying existing code.
25
+ *
26
+ * @param nodeType - The AST node type this strategy handles
27
+ * @param strategy - The strategy implementation for the node type
28
+ * @throws Error if nodeType or strategy is null or undefined
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const evaluator = new ASTEvaluator();
33
+ * evaluator.registerStrategy('CustomNode', new CustomEvaluator());
34
+ * ```
35
+ */
36
+ registerStrategy(nodeType: string, strategy: INodeEvaluatorStrategy): void;
37
+ /**
38
+ * Evaluates an AST node within the provided scope.
39
+ * Delegates to the appropriate strategy based on the node type.
40
+ *
41
+ * @param node - The AST node to evaluate
42
+ * @param scope - The evaluation scope containing variable bindings
43
+ * @returns The evaluated result of the AST node
44
+ * @throws Error if node is null/undefined or no strategy exists for the node type
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * const evaluator = new ASTEvaluator();
49
+ * const result = evaluator.evaluate(astNode, { x: 42 });
50
+ * ```
51
+ */
52
+ evaluate(node: ASTNode, scope: Record<string, unknown>): unknown;
53
+ }
54
+ //# sourceMappingURL=ast.evaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.evaluator.d.ts","sourceRoot":"","sources":["../../../../src/rendering/expression-parser/evaluators/ast.evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AASlF;;;;;GAKG;AACH,qBAAa,YAAa,YAAW,UAAU;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAM;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkD;IAC7E,OAAO,CAAC,SAAS,CAAa;IAE9B;;;;;OAKG;gBACS,mBAAmB,EAAE,oBAAoB;IAoBrD;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAO1E;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;CAoBjE"}
@@ -0,0 +1,92 @@
1
+ import { LiteralEvaluator } from "./literal.evaluator.js";
2
+ import { IdentifierEvaluator } from "./identifier.evaluator.js";
3
+ import { MemberExpressionEvaluator } from "./member.evaluator.js";
4
+ import { CallExpressionEvaluator } from "./call.evaluator.js";
5
+ import { BinaryExpressionEvaluator } from "./binary.evaluator.js";
6
+ import { UnaryExpressionEvaluator } from "./unary.evaluator.js";
7
+ import { ConditionalExpressionEvaluator } from "./conditional.evaluator.js";
8
+ /**
9
+ * Implements the responsibility of evaluating Abstract Syntax Tree (AST) nodes
10
+ * using the Strategy pattern. This class serves as the main evaluator that
11
+ * delegates evaluation to specific strategies based on node type, enabling
12
+ * the Open/Closed Principle for extensibility.
13
+ */
14
+ export class ASTEvaluator {
15
+ static MAX_EVAL_DEPTH = 64;
16
+ strategies = new Map();
17
+ evalDepth = 0;
18
+ /**
19
+ * Initializes a new instance of ASTEvaluator with default strategies.
20
+ * Registers all built-in evaluators for common AST node types.
21
+ *
22
+ * @param safeMethodValidator - Validator for safe method invocation in call expressions
23
+ */
24
+ constructor(safeMethodValidator) {
25
+ if (!safeMethodValidator)
26
+ throw new Error("SafeMethodValidator is required");
27
+ // Register default strategies
28
+ this.registerStrategy("Literal", new LiteralEvaluator());
29
+ this.registerStrategy("Identifier", new IdentifierEvaluator());
30
+ this.registerStrategy("MemberExpression", new MemberExpressionEvaluator());
31
+ this.registerStrategy("CallExpression", new CallExpressionEvaluator(safeMethodValidator));
32
+ this.registerStrategy("BinaryExpression", new BinaryExpressionEvaluator());
33
+ this.registerStrategy("UnaryExpression", new UnaryExpressionEvaluator());
34
+ this.registerStrategy("ConditionalExpression", new ConditionalExpressionEvaluator());
35
+ }
36
+ /**
37
+ * Registers a new evaluation strategy for a specific AST node type.
38
+ * This method enables extension of the evaluator without modifying existing code.
39
+ *
40
+ * @param nodeType - The AST node type this strategy handles
41
+ * @param strategy - The strategy implementation for the node type
42
+ * @throws Error if nodeType or strategy is null or undefined
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * const evaluator = new ASTEvaluator();
47
+ * evaluator.registerStrategy('CustomNode', new CustomEvaluator());
48
+ * ```
49
+ */
50
+ registerStrategy(nodeType, strategy) {
51
+ if (!nodeType)
52
+ throw new Error("Node type is required");
53
+ if (!strategy)
54
+ throw new Error("Strategy is required");
55
+ this.strategies.set(nodeType, strategy);
56
+ }
57
+ /**
58
+ * Evaluates an AST node within the provided scope.
59
+ * Delegates to the appropriate strategy based on the node type.
60
+ *
61
+ * @param node - The AST node to evaluate
62
+ * @param scope - The evaluation scope containing variable bindings
63
+ * @returns The evaluated result of the AST node
64
+ * @throws Error if node is null/undefined or no strategy exists for the node type
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * const evaluator = new ASTEvaluator();
69
+ * const result = evaluator.evaluate(astNode, { x: 42 });
70
+ * ```
71
+ */
72
+ evaluate(node, scope) {
73
+ if (!node)
74
+ throw new Error("Node is required");
75
+ if (!scope)
76
+ throw new Error("Scope is required");
77
+ if (++this.evalDepth > ASTEvaluator.MAX_EVAL_DEPTH) {
78
+ throw new Error(`Expression evaluation depth exceeds maximum of ${ASTEvaluator.MAX_EVAL_DEPTH}`);
79
+ }
80
+ try {
81
+ const strategy = this.strategies.get(node.type);
82
+ if (!strategy) {
83
+ throw new Error(`Unknown node type: ${node.type}`);
84
+ }
85
+ return strategy.evaluate(node, scope, this);
86
+ }
87
+ finally {
88
+ this.evalDepth--;
89
+ }
90
+ }
91
+ }
92
+ //# sourceMappingURL=ast.evaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.evaluator.js","sourceRoot":"","sources":["../../../../src/rendering/expression-parser/evaluators/ast.evaluator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IACf,MAAM,CAAU,cAAc,GAAG,EAAE,CAAC;IAC3B,UAAU,GAAwC,IAAI,GAAG,EAAE,CAAC;IACrE,SAAS,GAAW,CAAC,CAAC;IAE9B;;;;;OAKG;IACH,YAAY,mBAAyC;QACnD,IAAI,CAAC,mBAAmB;YACtB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAErD,8BAA8B;QAC9B,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,gBAAgB,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,yBAAyB,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,gBAAgB,CACnB,gBAAgB,EAChB,IAAI,uBAAuB,CAAC,mBAAmB,CAAC,CACjD,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,yBAAyB,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,wBAAwB,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,gBAAgB,CACnB,uBAAuB,EACvB,IAAI,8BAA8B,EAAE,CACrC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,QAAgB,EAAE,QAAgC;QACjE,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAEvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,IAAa,EAAE,KAA8B;QACpD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEjD,IAAI,EAAE,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CACb,kDAAkD,YAAY,CAAC,cAAc,EAAE,CAChF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;IACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { ASTNode } from "../types.js";
2
+ import type { IEvaluator } from "../interfaces.js";
3
+ /**
4
+ * Defines the responsibility of evaluating AST nodes using the Strategy pattern.
5
+ * This interface enables the Open/Closed Principle by allowing new node types
6
+ * to be evaluated without modifying existing code.
7
+ */
8
+ export interface INodeEvaluatorStrategy {
9
+ /**
10
+ * Evaluates an AST node within a given scope.
11
+ *
12
+ * @param node - The AST node to evaluate
13
+ * @param scope - The evaluation scope containing variable bindings
14
+ * @param evaluator - The main evaluator instance for recursive evaluation
15
+ * @returns The evaluated result of the AST node
16
+ * @throws Error if the node cannot be evaluated
17
+ */
18
+ evaluate(node: ASTNode, scope: Record<string, unknown>, evaluator: IEvaluator): unknown;
19
+ }
20
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/rendering/expression-parser/evaluators/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;OAQG;IACH,QAAQ,CACN,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC;CACZ"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/rendering/expression-parser/evaluators/base.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import type { ASTNode } from "../types.js";
2
+ import type { IEvaluator } from "../interfaces.js";
3
+ import type { INodeEvaluatorStrategy } from "./base.js";
4
+ /**
5
+ * Implements the responsibility of evaluating binary expression AST nodes.
6
+ * Handles arithmetic, comparison, and logical operations between two operands.
7
+ */
8
+ export declare class BinaryExpressionEvaluator implements INodeEvaluatorStrategy {
9
+ private readonly operators;
10
+ /**
11
+ * Evaluates a binary expression AST node by applying the operator to both operands.
12
+ *
13
+ * @param node - The binary expression AST node to evaluate
14
+ * @param scope - The evaluation scope containing variable bindings
15
+ * @param evaluator - The main evaluator instance for recursive evaluation
16
+ * @returns The result of applying the binary operator to the operands
17
+ * @throws Error if node, scope, or evaluator is null/undefined, or if operator is unknown
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const evaluator = new BinaryExpressionEvaluator();
22
+ * const scope = { a: 5, b: 3 };
23
+ * const result = evaluator.evaluate(binaryNode, scope, evaluator);
24
+ * // Returns 8 for a + b
25
+ * ```
26
+ */
27
+ evaluate(node: ASTNode, scope: Record<string, unknown>, evaluator: IEvaluator): unknown;
28
+ }
29
+ //# sourceMappingURL=binary.evaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary.evaluator.d.ts","sourceRoot":"","sources":["../../../../src/rendering/expression-parser/evaluators/binary.evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAwB,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAExD;;;GAGG;AACH,qBAAa,yBAA0B,YAAW,sBAAsB;IACtE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAiBxB;IAEF;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CACN,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,SAAS,EAAE,UAAU,GACpB,OAAO;CAgBX"}