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,89 @@
1
+ /**
2
+ * Default Service Registry implementation.
3
+ *
4
+ * @description
5
+ * Simple Map-based registry for Composition Root pattern.
6
+ * Supports both direct instances and factory functions for lazy instantiation.
7
+ * Zero-dependency implementation.
8
+ *
9
+ * @remarks
10
+ * Factory functions enable:
11
+ * - Lazy instantiation (created on first access)
12
+ * - Circular dependency resolution
13
+ * - Dynamic dependency resolution
14
+ */
15
+ export class DefaultServiceRegistry {
16
+ services = new Map();
17
+ /**
18
+ * Registers a service instance or factory function
19
+ *
20
+ * @param token - Service identifier (class constructor or string)
21
+ * @param instanceOrFactory - Service instance or factory function
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * // Direct instance
26
+ * registry.register(TodoService, new TodoService());
27
+ *
28
+ * // Factory function (lazy)
29
+ * registry.register(TodoService, () => new TodoService());
30
+ *
31
+ * // With dependencies
32
+ * registry.register(TodoService, () => {
33
+ * const http = registry.get(HttpService);
34
+ * return new TodoService(http);
35
+ * });
36
+ * ```
37
+ */
38
+ register(token, instanceOrFactory) {
39
+ if (this.services.has(token)) {
40
+ console.warn(`[ServiceRegistry] Service ${this.getTokenName(token)} is already registered. Overwriting.`);
41
+ }
42
+ this.services.set(token, instanceOrFactory);
43
+ }
44
+ /**
45
+ * Retrieves a service instance by token
46
+ *
47
+ * @description
48
+ * If the registered value is a factory function, it will be invoked
49
+ * and the result returned. Otherwise, returns the instance directly.
50
+ *
51
+ * @param token - Service identifier
52
+ * @returns Service instance
53
+ * @throws Error if service is not registered
54
+ */
55
+ get(token) {
56
+ if (!this.services.has(token)) {
57
+ throw new Error(`[ServiceRegistry] Service '${this.getTokenName(token)}' is not registered. ` +
58
+ `Make sure to register it in your Composition Root.`);
59
+ }
60
+ const value = this.services.get(token);
61
+ // Execute factory function if registered as factory
62
+ // Cache the result so subsequent gets return the same instance (singleton)
63
+ if (typeof value === "function" && !value.prototype) {
64
+ const instance = value();
65
+ this.services.set(token, instance);
66
+ return instance;
67
+ }
68
+ return value;
69
+ }
70
+ has(token) {
71
+ return this.services.has(token);
72
+ }
73
+ clear() {
74
+ this.services.clear();
75
+ }
76
+ get size() {
77
+ return this.services.size;
78
+ }
79
+ getTokenName(token) {
80
+ if (typeof token === "string") {
81
+ return token;
82
+ }
83
+ if (typeof token === "symbol") {
84
+ return token.toString();
85
+ }
86
+ return token.name || token.toString();
87
+ }
88
+ }
89
+ //# sourceMappingURL=default-service-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-service-provider.js","sourceRoot":"","sources":["../../src/providers/default-service-provider.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,sBAAsB;IACzB,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAC;IAE7D;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAI,KAAsB,EAAE,iBAAgC;QAClE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CACV,6BAA6B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,sCAAsC,CAC5F,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;OAUG;IACH,GAAG,CAAI,KAAsB;QAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,8BAA8B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,uBAAuB;gBAC3E,oDAAoD,CACvD,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEvC,oDAAoD;QACpD,2EAA2E;QAC3E,IAAI,OAAO,KAAK,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAI,KAAiB,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACnC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,KAAU,CAAC;IACpB,CAAC;IAED,GAAG,CAAC,KAAmB;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAEO,YAAY,CAAC,KAAmB;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;CACF"}
@@ -0,0 +1,58 @@
1
+ import type { IServiceRegistry } from "./service-provider.interface.js";
2
+ /**
3
+ * Map of service token overrides.
4
+ * Each key is a service token (string), each value is a factory function or instance
5
+ * that replaces the framework default for that token.
6
+ */
7
+ export type FrameworkOverrides = Record<string, (() => unknown) | unknown>;
8
+ /**
9
+ * Defines the decorator compatibility mode for the framework.
10
+ *
11
+ * - `'strict'`: Only TC39 Stage 3 decorators are accepted. Using legacy
12
+ * (`experimentalDecorators`) context throws an error at decoration time.
13
+ * This is the default and recommended mode for new projects.
14
+ * - `'auto'`: Both TC39 Stage 3 and legacy (`experimentalDecorators`) decorator
15
+ * contexts are accepted. Use this in sandboxed environments (e.g. code playground
16
+ * iframes) where the user controls the decorator system.
17
+ */
18
+ export type DecoratorMode = "strict" | "auto";
19
+ /**
20
+ * Configuration options for `bootstrapFramework`.
21
+ */
22
+ export interface BootstrapOptions {
23
+ /**
24
+ * Controls which decorator system is accepted at runtime.
25
+ * Defaults to `'strict'` (TC39 Stage 3 only).
26
+ */
27
+ readonly decorators?: DecoratorMode;
28
+ }
29
+ /**
30
+ * Registers all framework services in the given registry.
31
+ *
32
+ * @description
33
+ * Centralised composition root for the SmartComponents framework.
34
+ * Every concrete instantiation lives here — the rest of the codebase
35
+ * depends only on abstractions resolved through the registry.
36
+ *
37
+ * @param registry - Service registry to populate
38
+ * @param overrides - Optional map of service overrides. Tokens present here
39
+ * replace the framework default — the default is never registered.
40
+ * @param options - Optional framework configuration options.
41
+ * @throws Error if registry is null or undefined
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * // Default bootstrap (strict TC39 Stage 3 mode)
46
+ * await bootstrapFramework(Services);
47
+ *
48
+ * // With SSR adapter override
49
+ * await bootstrapFramework(Services, {
50
+ * 'IDomAdapter': () => new SSRDomAdapter()
51
+ * });
52
+ *
53
+ * // Sandbox/playground mode — accept any decorator system
54
+ * await bootstrapFramework(Services, {}, { decorators: 'auto' });
55
+ * ```
56
+ */
57
+ export declare function bootstrapFramework(registry: IServiceRegistry, overrides?: FrameworkOverrides, options?: BootstrapOptions): Promise<void>;
58
+ //# sourceMappingURL=framework-bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"framework-bootstrap.d.ts","sourceRoot":"","sources":["../../src/providers/framework-bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAoCxE;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AAE3E;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,GAAE,kBAAuB,EAClC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA2Mf"}
@@ -0,0 +1,153 @@
1
+ import { BrowserDomAdapter } from "../rendering/dom/browser-dom-adapter.js";
2
+ import { SkeletonValidator } from "../rendering/skeleton/skeleton-validator.js";
3
+ import { SkeletonRenderer } from "../rendering/skeleton/skeleton-renderer.js";
4
+ import { ComponentMetadataRegistry } from "../core/component-metadata-registry.js";
5
+ import { ComponentInstanceRegistry } from "../core/component-instance-registry.js";
6
+ import { DomContextHostResolver } from "../rendering/dom-context/dom-context-host-resolver.js";
7
+ import { ExpressionParserService } from "../rendering/expression-parser/expression-parser.service.js";
8
+ import { ASTEvaluator } from "../rendering/expression-parser/evaluators/ast.evaluator.js";
9
+ import { SafeMethodValidator } from "../rendering/expression-parser/safe-methods.js";
10
+ import { ExpressionResolver } from "../rendering/bindings/expression-resolver.js";
11
+ import { PropertyExtractor } from "../rendering/bindings/property-extractor.js";
12
+ import { ManagedElementResolver } from "../rendering/managed-host/managed-element-resolver.js";
13
+ import { ManagedElementRegistry } from "../rendering/managed-host/managed-element-registry.js";
14
+ import { OutletResolver } from "../rendering/managed-host/outlet-resolver.js";
15
+ import { HostStyleMigrator } from "../rendering/managed-host/host-style-migrator.js";
16
+ import { BindingResolver } from "../rendering/bindings/binding-resolver.js";
17
+ import { ErrorRenderer } from "../rendering/pipeline/error-renderer.js";
18
+ import { TemplateCompiler } from "../rendering/templates/template-compiler.js";
19
+ import { TemplateAnalyzer } from "../rendering/templates/template-analyzer.js";
20
+ import { TemplateCompilationCache } from "../rendering/templates/template-compilation-cache.js";
21
+ import { RenderPipeline } from "../rendering/pipeline/render-pipeline.js";
22
+ import { DomContextFactory } from "../rendering/dom-context/dom-context-factory.js";
23
+ import { TemplateProviderFactory } from "../rendering/templates/template-provider.factory.js";
24
+ import { RenderEngine } from "../rendering/render-engine.js";
25
+ import { SmartElementFactory } from "../registration/smart-element-factory.js";
26
+ import { SmartElementRegistrar } from "../registration/smart-element-registrar.js";
27
+ import { DefaultSmartComponentFactory } from "../decorators/smart/smart-component-factory.js";
28
+ import { DefaultListenerMetadataRegistry } from "../decorators/listen/listener-metadata-registry.js";
29
+ import { DefaultListenerInitializer } from "../decorators/listen/listener-initializer.js";
30
+ import { DependencyTracker } from "../reactive/dependency-tracker.js";
31
+ import { WeakRefObjectRegistry } from "../utils/object-registry.js";
32
+ import { BrowserNavigationService } from "../components/smart-router/navigation.js";
33
+ import { SharedStylesRegistry } from "../rendering/styles/shared-styles-registry.js";
34
+ /**
35
+ * Registers all framework services in the given registry.
36
+ *
37
+ * @description
38
+ * Centralised composition root for the SmartComponents framework.
39
+ * Every concrete instantiation lives here — the rest of the codebase
40
+ * depends only on abstractions resolved through the registry.
41
+ *
42
+ * @param registry - Service registry to populate
43
+ * @param overrides - Optional map of service overrides. Tokens present here
44
+ * replace the framework default — the default is never registered.
45
+ * @param options - Optional framework configuration options.
46
+ * @throws Error if registry is null or undefined
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * // Default bootstrap (strict TC39 Stage 3 mode)
51
+ * await bootstrapFramework(Services);
52
+ *
53
+ * // With SSR adapter override
54
+ * await bootstrapFramework(Services, {
55
+ * 'IDomAdapter': () => new SSRDomAdapter()
56
+ * });
57
+ *
58
+ * // Sandbox/playground mode — accept any decorator system
59
+ * await bootstrapFramework(Services, {}, { decorators: 'auto' });
60
+ * ```
61
+ */
62
+ export async function bootstrapFramework(registry, overrides = {}, options = {}) {
63
+ if (!registry)
64
+ throw new Error("Service registry is required");
65
+ const decoratorMode = options.decorators ?? "strict";
66
+ const register = (token, defaultFactory) => {
67
+ if (token in overrides) {
68
+ registry.register(token, overrides[token]);
69
+ return;
70
+ }
71
+ if (!registry.has(token)) {
72
+ registry.register(token, defaultFactory);
73
+ }
74
+ };
75
+ register("IDecoratorMode", () => decoratorMode);
76
+ // DOM
77
+ register("IDomAdapter", () => new BrowserDomAdapter());
78
+ // Reactivity
79
+ register("IDependencyTracker", () => new DependencyTracker());
80
+ // Object Registry
81
+ register("IObjectRegistry", () => new WeakRefObjectRegistry());
82
+ // Safe method validation (security boundary)
83
+ register("ISafeMethodValidator", () => new SafeMethodValidator());
84
+ // Navigation
85
+ register("INavigationService", () => new BrowserNavigationService());
86
+ // Shared styles (adoptedStyleSheets across all Shadow Roots)
87
+ register("ISharedStylesRegistry", () => new SharedStylesRegistry());
88
+ // Skeleton
89
+ register("ISkeletonValidator", () => new SkeletonValidator());
90
+ register("ISkeletonRenderer", () => new SkeletonRenderer(registry.get("IDomAdapter"), registry.get("ISkeletonValidator")));
91
+ // Metadata & instances
92
+ register("IComponentMetadataRegistry", () => new ComponentMetadataRegistry());
93
+ register("IComponentInstanceRegistry", () => new ComponentInstanceRegistry());
94
+ // Host resolution
95
+ register("IHostResolver", () => new DomContextHostResolver());
96
+ // Expression parsing
97
+ register("IExpressionParser", () => new ExpressionParserService());
98
+ register("IEvaluator", () => new ASTEvaluator(registry.get("ISafeMethodValidator")));
99
+ // Bindings
100
+ register("IExpressionResolver", () => new ExpressionResolver(registry.get("IExpressionParser"), registry.get("IEvaluator")));
101
+ register("IPropertyExtractor", () => new PropertyExtractor(registry.get("IExpressionParser")));
102
+ register("IManagedElementRegistry", () => ManagedElementRegistry);
103
+ register("IOutletResolver", () => new OutletResolver());
104
+ register("IHostStyleMigrator", () => new HostStyleMigrator());
105
+ register("IManagedElementResolver", () => new ManagedElementResolver(registry.get("IManagedElementRegistry")));
106
+ register("IBindingResolver", () => new BindingResolver(registry.get("IExpressionResolver"), registry.get("IPropertyExtractor"), registry.get("IManagedElementResolver"), registry.get("IDependencyTracker"), registry.get("IObjectRegistry")));
107
+ // Templates
108
+ register("IErrorRenderer", () => new ErrorRenderer(registry.get("IDomAdapter")));
109
+ register("ITemplateCompiler", () => new TemplateCompiler(registry.get("IDomAdapter"), registry.get("IBindingResolver"), registry.get("IComponentMetadataRegistry"), registry.get("IManagedElementRegistry")));
110
+ register("ITemplateAnalyzer", () => new TemplateAnalyzer());
111
+ register("ITemplateCompilationCache", () => new TemplateCompilationCache());
112
+ // Pipeline
113
+ register("IRenderPipeline", () => new RenderPipeline(registry.get("IHostResolver"), registry.get("ITemplateCompiler"), registry.get("IErrorRenderer"), registry.get("IOutletResolver"), registry.get("IHostStyleMigrator"), registry.get("IManagedElementRegistry"), registry.get("IListenerInitializer"), registry.get("ISharedStylesRegistry")));
114
+ // DOM Context
115
+ register("IDomContextFactory", () => new DomContextFactory());
116
+ // Template Provider
117
+ register("ITemplateProvider", () => TemplateProviderFactory.createDefault(registry.get("IComponentMetadataRegistry")));
118
+ // Render Engine
119
+ register("IRenderEngine", () => new RenderEngine(registry.get("ISkeletonRenderer"), registry.get("IRenderPipeline"), registry.get("IDomContextFactory"), registry.get("ITemplateCompilationCache"), registry.get("ITemplateAnalyzer"), registry.get("ITemplateProvider"), registry.get("IComponentInstanceRegistry"), registry.get("IComponentMetadataRegistry")));
120
+ // Smart Component class factory (@Smart decorator)
121
+ register("ISmartComponentFactory", () => new DefaultSmartComponentFactory());
122
+ // Listener metadata registry (@Listen decorator)
123
+ register("IListenerMetadataRegistry", () => new DefaultListenerMetadataRegistry());
124
+ register("IListenerInitializer", () => new DefaultListenerInitializer());
125
+ // Smart Element infrastructure
126
+ register("ISmartElementFactory", () => new SmartElementFactory(registry));
127
+ register("ISmartElementRegistrar", () => new SmartElementRegistrar(registry, registry.get("ISmartElementFactory")));
128
+ // Framework custom elements (dynamic imports avoid HTMLElement in Node)
129
+ if (typeof customElements !== "undefined") {
130
+ const [{ SmartForElement }, { SmartActionElement }, { SmartLinkElement }, { SmartRouterElement }, { SmartSelectElement },] = await Promise.all([
131
+ import("../components/smart-for/smart-for-element.js"),
132
+ import("../components/smart-action/smart-action-element.js"),
133
+ import("../components/smart-link/smart-link-element.js"),
134
+ import("../components/smart-router/smart-router-element.js"),
135
+ import("../components/smart-select/smart-select-element.js"),
136
+ ]);
137
+ const behaviors = [
138
+ ["smart-for", SmartForElement],
139
+ ["smart-action", SmartActionElement],
140
+ ["smart-link", SmartLinkElement],
141
+ ["smart-router", SmartRouterElement],
142
+ ];
143
+ for (const [tag, elementClass] of behaviors) {
144
+ if (!customElements.get(tag)) {
145
+ customElements.define(tag, elementClass);
146
+ }
147
+ }
148
+ if (!customElements.get("smart-select")) {
149
+ customElements.define("smart-select", SmartSelectElement);
150
+ }
151
+ }
152
+ }
153
+ //# sourceMappingURL=framework-bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"framework-bootstrap.js","sourceRoot":"","sources":["../../src/providers/framework-bootstrap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=framework-element-registration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"framework-element-registration.d.ts","sourceRoot":"","sources":["../../src/providers/framework-element-registration.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Implements the responsibility of registering all framework-provided custom elements.
3
+ *
4
+ * @description
5
+ * Centralises element registration so individual element files have no
6
+ * import side-effects. Behaviors are marked as smart tags (so the template
7
+ * compiler routes object values through SmartInputStore). smart-select is
8
+ * intentionally NOT marked — the parent binding resolver must recurse into
9
+ * its children.
10
+ *
11
+ * Separated from framework-bootstrap.ts because `class X extends HTMLElement`
12
+ * fails in Node.js (no global HTMLElement). Dynamically imported by
13
+ * bootstrapFramework() only in browser environments.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * // Imported automatically by bootstrapFramework() — no manual import needed.
18
+ * await bootstrapFramework(Services);
19
+ * ```
20
+ */
21
+ import { markSmartTag } from '../registration/smart-tags.js';
22
+ import { SmartForElement } from '../components/smart-for/smart-for-element.js';
23
+ import { SmartActionElement } from '../components/smart-action/smart-action-element.js';
24
+ import { SmartLinkElement } from '../components/smart-link/smart-link-element.js';
25
+ import { SmartRouterElement } from '../components/smart-router/smart-router-element.js';
26
+ import { SmartSelectElement } from '../components/smart-select/smart-select-element.js';
27
+ const behaviors = [
28
+ ['smart-for', SmartForElement],
29
+ ['smart-action', SmartActionElement],
30
+ ['smart-link', SmartLinkElement],
31
+ ['smart-router', SmartRouterElement],
32
+ ];
33
+ for (const [tag, elementClass] of behaviors) {
34
+ markSmartTag(tag);
35
+ if (!customElements.get(tag)) {
36
+ customElements.define(tag, elementClass);
37
+ }
38
+ }
39
+ if (!customElements.get('smart-select')) {
40
+ customElements.define('smart-select', SmartSelectElement);
41
+ }
42
+ //# sourceMappingURL=framework-element-registration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"framework-element-registration.js","sourceRoot":"","sources":["../../src/providers/framework-element-registration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAExF,MAAM,SAAS,GAA8C;IAC3D,CAAC,WAAW,EAAE,eAAe,CAAC;IAC9B,CAAC,cAAc,EAAE,kBAAkB,CAAC;IACpC,CAAC,YAAY,EAAE,gBAAgB,CAAC;IAChC,CAAC,cAAc,EAAE,kBAAkB,CAAC;CACrC,CAAC;AAEF,KAAK,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,SAAS,EAAE,CAAC;IAC5C,YAAY,CAAC,GAAG,CAAC,CAAC;IAClB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;IACxC,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;AAC5D,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { IServiceRegistry, type ServiceToken } from "./service-provider.interface.js";
2
+ /**
3
+ * Global Service Registry Facade.
4
+ *
5
+ * @description
6
+ * Provides a single global access point to the service registry
7
+ * while allowing the underlying implementation to be swapped at runtime.
8
+ *
9
+ * @remarks
10
+ * This facade enables integration with external DI containers like:
11
+ * - TSyringe
12
+ * - InversifyJS
13
+ * - Angular's Injector
14
+ * - Custom implementations
15
+ */
16
+ declare class ServiceRegistryFacade implements IServiceRegistry {
17
+ private static readonly SERVICE_PROVIDER_TOKEN;
18
+ private implementation;
19
+ private hasRegistrations;
20
+ /**
21
+ * Replace the underlying registry implementation.
22
+ *
23
+ * @description
24
+ * Use this to integrate with external DI containers **before** calling
25
+ * `bootstrapFramework()`. Swapping after bootstrap destroys all registered
26
+ * framework services and will cause runtime errors.
27
+ *
28
+ * @remarks
29
+ * The custom implementation must honour these contracts:
30
+ * - `get()` must return the **same singleton** on every call for a given token.
31
+ * - `register()` must treat factory functions lazily (invoke on first `get()`, not on `register()`).
32
+ *
33
+ * @param impl - New registry implementation
34
+ * @throws Error if `register()` has already been called (i.e. after bootstrap)
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * // Must be called BEFORE bootstrapFramework()
39
+ * const angularAdapter = new AngularInjectorAdapter(injector);
40
+ * Services.useImplementation(angularAdapter);
41
+ * bootstrapFramework(Services);
42
+ * ```
43
+ */
44
+ useImplementation(impl: IServiceRegistry): void;
45
+ register<T>(token: ServiceToken<T>, instanceOrFactory: T | (() => T)): void;
46
+ get<T>(token: ServiceToken<T>): T;
47
+ has(token: ServiceToken): boolean;
48
+ clear(): void;
49
+ }
50
+ /**
51
+ * Global service registry instance.
52
+ *
53
+ * @description
54
+ * Use this in your Composition Root to register services at application startup.
55
+ * Consumers should depend on IServiceProvider interface, not this global instance.
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * // Composition Root (main.ts or bootstrap.ts)
60
+ * Services.register(TodoService, () => new TodoService());
61
+ * Services.register(HttpService, new HttpService());
62
+ *
63
+ * // Consumer (RenderEngine, LifecycleManager, etc.)
64
+ * constructor(private serviceProvider: IServiceProvider) {}
65
+ * ```
66
+ */
67
+ export declare const Services: ServiceRegistryFacade;
68
+ export type { IServiceProvider, IServiceRegistry, } from "./service-provider.interface.js";
69
+ export { DefaultServiceRegistry } from "./default-service-provider.js";
70
+ //# sourceMappingURL=service-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-provider.d.ts","sourceRoot":"","sources":["../../src/providers/service-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,KAAK,YAAY,EAClB,MAAM,iCAAiC,CAAC;AAGzC;;;;;;;;;;;;;GAaG;AACH,cAAM,qBAAsB,YAAW,gBAAgB;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAsB;IAEpE,OAAO,CAAC,cAAc,CAAkD;IACxE,OAAO,CAAC,gBAAgB,CAAS;IAEjC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAoB/C,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;IAW3E,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC;IAOjC,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;IAOjC,KAAK,IAAI,IAAI;CAKd;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,QAAQ,uBAA8B,CAAC;AAGpD,YAAY,EACV,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Token used to identify services in the DI container.
3
+ * The any in constructor signatures is type-level only and unavoidable for generic constructors.
4
+ */
5
+ export type ServiceToken<T = unknown> = string | symbol | (abstract new (...args: any[]) => T) | (new (...args: any[]) => T);
6
+ /**
7
+ * Interface for Service Provider (Dependency Inversion Principle - Read Access)
8
+ *
9
+ * @description
10
+ * Defines read-only access to the service container.
11
+ * Consumers should depend on this interface instead of the full registry
12
+ * to follow Interface Segregation Principle.
13
+ *
14
+ * @remarks
15
+ * This interface is the foundation for Dependency Injection in SmartComponents.
16
+ * Classes should receive IServiceProvider in their constructor, not the full registry.
17
+ */
18
+ export interface IServiceProvider {
19
+ /**
20
+ * Retrieves a service instance by token
21
+ * @param token - Service identifier (class constructor or string)
22
+ * @returns Service instance
23
+ * @throws Error if service is not registered
24
+ */
25
+ get<T>(token: ServiceToken<T>): T;
26
+ /**
27
+ * Checks if a service is registered
28
+ * @param token - Service identifier
29
+ * @returns true if registered, false otherwise
30
+ */
31
+ has(token: ServiceToken): boolean;
32
+ }
33
+ /**
34
+ * Interface for Service Registry (Dependency Inversion Principle - Write Access)
35
+ *
36
+ * @description
37
+ * Extends IServiceProvider with registration capabilities.
38
+ * Only the Composition Root should use this interface.
39
+ *
40
+ * @remarks
41
+ * Allows swapping the underlying DI container (e.g., use TSyringe, InversifyJS).
42
+ */
43
+ export interface IServiceRegistry extends IServiceProvider {
44
+ /**
45
+ * Registers a service instance or factory function
46
+ * @param token - Service identifier (class constructor or string)
47
+ * @param instanceOrFactory - Service instance or factory function
48
+ */
49
+ register<T>(token: ServiceToken<T>, instanceOrFactory: T | (() => T)): void;
50
+ /**
51
+ * Clears all registered services
52
+ */
53
+ clear(): void;
54
+ }
55
+ //# sourceMappingURL=service-provider.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-provider.interface.d.ts","sourceRoot":"","sources":["../../src/providers/service-provider.interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,OAAO,IAChC,MAAM,GACN,MAAM,GACN,CAAC,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,GACpC,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAGhC;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAElC;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD;;;;OAIG;IACH,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;IAE5E;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=service-provider.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-provider.interface.js","sourceRoot":"","sources":["../../src/providers/service-provider.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,102 @@
1
+ import { DefaultServiceRegistry } from "./default-service-provider.js";
2
+ /**
3
+ * Global Service Registry Facade.
4
+ *
5
+ * @description
6
+ * Provides a single global access point to the service registry
7
+ * while allowing the underlying implementation to be swapped at runtime.
8
+ *
9
+ * @remarks
10
+ * This facade enables integration with external DI containers like:
11
+ * - TSyringe
12
+ * - InversifyJS
13
+ * - Angular's Injector
14
+ * - Custom implementations
15
+ */
16
+ class ServiceRegistryFacade {
17
+ static SERVICE_PROVIDER_TOKEN = "IServiceProvider";
18
+ implementation = new DefaultServiceRegistry();
19
+ hasRegistrations = false;
20
+ /**
21
+ * Replace the underlying registry implementation.
22
+ *
23
+ * @description
24
+ * Use this to integrate with external DI containers **before** calling
25
+ * `bootstrapFramework()`. Swapping after bootstrap destroys all registered
26
+ * framework services and will cause runtime errors.
27
+ *
28
+ * @remarks
29
+ * The custom implementation must honour these contracts:
30
+ * - `get()` must return the **same singleton** on every call for a given token.
31
+ * - `register()` must treat factory functions lazily (invoke on first `get()`, not on `register()`).
32
+ *
33
+ * @param impl - New registry implementation
34
+ * @throws Error if `register()` has already been called (i.e. after bootstrap)
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * // Must be called BEFORE bootstrapFramework()
39
+ * const angularAdapter = new AngularInjectorAdapter(injector);
40
+ * Services.useImplementation(angularAdapter);
41
+ * bootstrapFramework(Services);
42
+ * ```
43
+ */
44
+ useImplementation(impl) {
45
+ if (!impl) {
46
+ throw new Error("[ServiceRegistryFacade] Implementation must not be null or undefined.");
47
+ }
48
+ if (impl === this) {
49
+ throw new Error("[ServiceRegistryFacade] Cannot use the facade as its own implementation: would cause infinite recursion.");
50
+ }
51
+ if (this.hasRegistrations) {
52
+ throw new Error("[ServiceRegistryFacade] Cannot swap implementation after services have been registered. " +
53
+ "Call useImplementation() before bootstrapFramework().");
54
+ }
55
+ this.implementation = impl;
56
+ }
57
+ register(token, instanceOrFactory) {
58
+ if (token === ServiceRegistryFacade.SERVICE_PROVIDER_TOKEN) {
59
+ throw new Error(`[ServiceRegistryFacade] Token '${ServiceRegistryFacade.SERVICE_PROVIDER_TOKEN}' is reserved. ` +
60
+ "The service provider is always the facade itself and cannot be overridden.");
61
+ }
62
+ this.hasRegistrations = true;
63
+ this.implementation.register(token, instanceOrFactory);
64
+ }
65
+ get(token) {
66
+ if (token === ServiceRegistryFacade.SERVICE_PROVIDER_TOKEN) {
67
+ return this;
68
+ }
69
+ return this.implementation.get(token);
70
+ }
71
+ has(token) {
72
+ if (token === ServiceRegistryFacade.SERVICE_PROVIDER_TOKEN) {
73
+ return true;
74
+ }
75
+ return this.implementation.has(token);
76
+ }
77
+ clear() {
78
+ this.hasRegistrations = false;
79
+ this.implementation.clear();
80
+ this.implementation = new DefaultServiceRegistry();
81
+ }
82
+ }
83
+ /**
84
+ * Global service registry instance.
85
+ *
86
+ * @description
87
+ * Use this in your Composition Root to register services at application startup.
88
+ * Consumers should depend on IServiceProvider interface, not this global instance.
89
+ *
90
+ * @example
91
+ * ```typescript
92
+ * // Composition Root (main.ts or bootstrap.ts)
93
+ * Services.register(TodoService, () => new TodoService());
94
+ * Services.register(HttpService, new HttpService());
95
+ *
96
+ * // Consumer (RenderEngine, LifecycleManager, etc.)
97
+ * constructor(private serviceProvider: IServiceProvider) {}
98
+ * ```
99
+ */
100
+ export const Services = new ServiceRegistryFacade();
101
+ export { DefaultServiceRegistry } from "./default-service-provider.js";
102
+ //# sourceMappingURL=service-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-provider.js","sourceRoot":"","sources":["../../src/providers/service-provider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE;;;;;;;;;;;;;GAaG;AACH,MAAM,qBAAqB;IACjB,MAAM,CAAU,sBAAsB,GAAG,kBAAkB,CAAC;IAE5D,cAAc,GAAqB,IAAI,sBAAsB,EAAE,CAAC;IAChE,gBAAgB,GAAG,KAAK,CAAC;IAEjC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,iBAAiB,CAAC,IAAsB;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,KAAM,IAAoC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CACb,0GAA0G,CAC3G,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,0FAA0F;gBACxF,uDAAuD,CAC1D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAI,KAAsB,EAAE,iBAAgC;QAClE,IAAI,KAAK,KAAK,qBAAqB,CAAC,sBAAsB,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,kCAAkC,qBAAqB,CAAC,sBAAsB,iBAAiB;gBAC7F,4EAA4E,CAC/E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACzD,CAAC;IAED,GAAG,CAAI,KAAsB;QAC3B,IAAI,KAAK,KAAK,qBAAqB,CAAC,sBAAsB,EAAE,CAAC;YAC3D,OAAO,IAAoB,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,GAAG,CAAC,KAAmB;QACrB,IAAI,KAAK,KAAK,qBAAqB,CAAC,sBAAsB,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,sBAAsB,EAAE,CAAC;IACrD,CAAC;;AAGH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;AAOpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC"}