@typed/template 0.14.0 → 1.0.0-beta.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 (452) hide show
  1. package/README.md +121 -2
  2. package/dist/EventHandler.d.ts +273 -0
  3. package/dist/EventHandler.d.ts.map +1 -0
  4. package/dist/EventHandler.js +261 -0
  5. package/dist/EventSource.d.ts +82 -0
  6. package/dist/EventSource.d.ts.map +1 -0
  7. package/dist/EventSource.js +127 -0
  8. package/dist/Html.d.ts +122 -0
  9. package/dist/Html.d.ts.map +1 -0
  10. package/dist/Html.js +250 -0
  11. package/dist/HtmlChunk.d.ts +118 -0
  12. package/dist/HtmlChunk.d.ts.map +1 -0
  13. package/dist/HtmlChunk.js +211 -0
  14. package/dist/HydrateContext.d.ts +28 -0
  15. package/dist/HydrateContext.d.ts.map +1 -0
  16. package/dist/HydrateContext.js +25 -0
  17. package/dist/Parser.d.ts +35 -0
  18. package/dist/Parser.d.ts.map +1 -0
  19. package/dist/Parser.js +437 -0
  20. package/dist/Render.d.ts +195 -0
  21. package/dist/Render.d.ts.map +1 -0
  22. package/dist/Render.js +609 -0
  23. package/dist/RenderEvent.d.ts +179 -0
  24. package/dist/RenderEvent.d.ts.map +1 -0
  25. package/dist/RenderEvent.js +102 -0
  26. package/dist/RenderQueue.d.ts +167 -0
  27. package/dist/RenderQueue.d.ts.map +1 -0
  28. package/dist/RenderQueue.js +298 -0
  29. package/dist/RenderTemplate.d.ts +90 -0
  30. package/dist/RenderTemplate.d.ts.map +1 -0
  31. package/dist/RenderTemplate.js +87 -0
  32. package/dist/Renderable.d.ts +88 -0
  33. package/dist/Renderable.d.ts.map +1 -0
  34. package/dist/Renderable.js +3 -0
  35. package/dist/{dts/Template.d.ts → Template.d.ts} +109 -74
  36. package/dist/Template.d.ts.map +1 -0
  37. package/dist/{esm/Template.js → Template.js} +96 -56
  38. package/dist/Wire.d.ts +169 -0
  39. package/dist/Wire.d.ts.map +1 -0
  40. package/dist/Wire.js +217 -0
  41. package/dist/errors.d.ts +145 -0
  42. package/dist/errors.d.ts.map +1 -0
  43. package/dist/errors.js +159 -0
  44. package/dist/index.d.ts +15 -0
  45. package/dist/index.d.ts.map +1 -0
  46. package/dist/index.js +14 -0
  47. package/dist/internal/IndexRefCounter.d.ts +11 -0
  48. package/dist/internal/IndexRefCounter.d.ts.map +1 -0
  49. package/dist/internal/IndexRefCounter.js +42 -0
  50. package/dist/internal/ParentChildNodes.d.ts +6 -0
  51. package/dist/internal/ParentChildNodes.d.ts.map +1 -0
  52. package/dist/internal/ParentChildNodes.js +1 -0
  53. package/dist/internal/PathStack.d.ts +9 -0
  54. package/dist/internal/PathStack.d.ts.map +1 -0
  55. package/dist/internal/PathStack.js +18 -0
  56. package/dist/internal/buildTemplateFragement.d.ts +3 -0
  57. package/dist/internal/buildTemplateFragement.d.ts.map +1 -0
  58. package/dist/internal/buildTemplateFragement.js +61 -0
  59. package/dist/internal/diff.d.ts +2 -0
  60. package/dist/internal/diff.d.ts.map +1 -0
  61. package/dist/internal/diff.js +119 -0
  62. package/dist/internal/dom.d.ts +45 -0
  63. package/dist/internal/dom.d.ts.map +1 -0
  64. package/dist/internal/dom.js +304 -0
  65. package/dist/internal/encoding.d.ts +7 -0
  66. package/dist/internal/encoding.d.ts.map +1 -0
  67. package/dist/internal/encoding.js +134 -0
  68. package/dist/{dts/internal/v2/hydration-template.d.ts → internal/hydration.d.ts} +10 -7
  69. package/dist/internal/hydration.d.ts.map +1 -0
  70. package/dist/{esm/internal/v2/hydration-template.js → internal/hydration.js} +80 -26
  71. package/dist/internal/keyToPartType.d.ts +2 -0
  72. package/dist/internal/keyToPartType.d.ts.map +1 -0
  73. package/dist/internal/keyToPartType.js +110 -0
  74. package/dist/internal/meta.d.ts +17 -0
  75. package/dist/internal/meta.d.ts.map +1 -0
  76. package/dist/internal/meta.js +14 -0
  77. package/dist/internal/takeOneIfNotRenderEvent.d.ts +4 -0
  78. package/dist/internal/takeOneIfNotRenderEvent.d.ts.map +1 -0
  79. package/dist/internal/takeOneIfNotRenderEvent.js +10 -0
  80. package/dist/internal/templateHash.d.ts +2 -0
  81. package/dist/internal/templateHash.d.ts.map +1 -0
  82. package/dist/internal/templateHash.js +14 -0
  83. package/dist/many.d.ts +68 -0
  84. package/dist/many.d.ts.map +1 -0
  85. package/dist/many.js +107 -0
  86. package/package.json +29 -227
  87. package/src/EventHandler.ts +318 -86
  88. package/src/EventSource.ts +202 -0
  89. package/src/Html.test.ts +490 -0
  90. package/src/Html.ts +292 -333
  91. package/src/HtmlChunk.ts +290 -332
  92. package/src/HydrateContext.ts +40 -0
  93. package/src/Hydration.test.ts +408 -0
  94. package/src/Parser.test.ts +923 -0
  95. package/src/Parser.ts +598 -10
  96. package/src/Render.test.ts +337 -0
  97. package/src/Render.ts +878 -63
  98. package/src/RenderEvent.ts +169 -40
  99. package/src/RenderQueue.ts +291 -385
  100. package/src/RenderTemplate.ts +98 -31
  101. package/src/Renderable.ts +122 -24
  102. package/src/Template.ts +246 -145
  103. package/src/Wire.ts +309 -0
  104. package/src/errors.ts +173 -0
  105. package/src/index.ts +14 -66
  106. package/src/internal/IndexRefCounter.ts +53 -0
  107. package/src/internal/ParentChildNodes.ts +7 -0
  108. package/src/internal/PathStack.ts +23 -0
  109. package/src/internal/buildTemplateFragement.ts +82 -0
  110. package/src/internal/diff.ts +127 -0
  111. package/src/internal/dom.ts +357 -0
  112. package/src/internal/encoding.ts +147 -0
  113. package/src/internal/hydration.ts +406 -0
  114. package/src/internal/keyToPartType.ts +113 -0
  115. package/src/internal/meta.ts +25 -0
  116. package/src/internal/takeOneIfNotRenderEvent.ts +19 -0
  117. package/src/internal/templateHash.ts +18 -0
  118. package/src/many.ts +148 -0
  119. package/Directive/package.json +0 -6
  120. package/ElementRef/package.json +0 -6
  121. package/ElementSource/package.json +0 -6
  122. package/Entry/package.json +0 -6
  123. package/EventHandler/package.json +0 -6
  124. package/Html/package.json +0 -6
  125. package/HtmlChunk/package.json +0 -6
  126. package/Hydrate/package.json +0 -6
  127. package/LICENSE +0 -21
  128. package/Many/package.json +0 -6
  129. package/Meta/package.json +0 -6
  130. package/Parser/package.json +0 -6
  131. package/Part/package.json +0 -6
  132. package/Placeholder/package.json +0 -6
  133. package/Platform/package.json +0 -6
  134. package/Render/package.json +0 -6
  135. package/RenderContext/package.json +0 -6
  136. package/RenderEvent/package.json +0 -6
  137. package/RenderQueue/package.json +0 -6
  138. package/RenderTemplate/package.json +0 -6
  139. package/Renderable/package.json +0 -6
  140. package/Template/package.json +0 -6
  141. package/Test/package.json +0 -6
  142. package/Vitest/package.json +0 -6
  143. package/compiler-tools/package.json +0 -6
  144. package/dist/cjs/Directive.js +0 -76
  145. package/dist/cjs/Directive.js.map +0 -1
  146. package/dist/cjs/ElementRef.js +0 -92
  147. package/dist/cjs/ElementRef.js.map +0 -1
  148. package/dist/cjs/ElementSource.js +0 -246
  149. package/dist/cjs/ElementSource.js.map +0 -1
  150. package/dist/cjs/Entry.js +0 -6
  151. package/dist/cjs/Entry.js.map +0 -1
  152. package/dist/cjs/EventHandler.js +0 -76
  153. package/dist/cjs/EventHandler.js.map +0 -1
  154. package/dist/cjs/Html.js +0 -224
  155. package/dist/cjs/Html.js.map +0 -1
  156. package/dist/cjs/HtmlChunk.js +0 -306
  157. package/dist/cjs/HtmlChunk.js.map +0 -1
  158. package/dist/cjs/Hydrate.js +0 -43
  159. package/dist/cjs/Hydrate.js.map +0 -1
  160. package/dist/cjs/Many.js +0 -66
  161. package/dist/cjs/Many.js.map +0 -1
  162. package/dist/cjs/Meta.js +0 -50
  163. package/dist/cjs/Meta.js.map +0 -1
  164. package/dist/cjs/Parser.js +0 -19
  165. package/dist/cjs/Parser.js.map +0 -1
  166. package/dist/cjs/Part.js +0 -6
  167. package/dist/cjs/Part.js.map +0 -1
  168. package/dist/cjs/Placeholder.js +0 -34
  169. package/dist/cjs/Placeholder.js.map +0 -1
  170. package/dist/cjs/Platform.js +0 -65
  171. package/dist/cjs/Platform.js.map +0 -1
  172. package/dist/cjs/Render.js +0 -50
  173. package/dist/cjs/Render.js.map +0 -1
  174. package/dist/cjs/RenderContext.js +0 -67
  175. package/dist/cjs/RenderContext.js.map +0 -1
  176. package/dist/cjs/RenderEvent.js +0 -52
  177. package/dist/cjs/RenderEvent.js.map +0 -1
  178. package/dist/cjs/RenderQueue.js +0 -343
  179. package/dist/cjs/RenderQueue.js.map +0 -1
  180. package/dist/cjs/RenderTemplate.js +0 -26
  181. package/dist/cjs/RenderTemplate.js.map +0 -1
  182. package/dist/cjs/Renderable.js +0 -6
  183. package/dist/cjs/Renderable.js.map +0 -1
  184. package/dist/cjs/Template.js +0 -305
  185. package/dist/cjs/Template.js.map +0 -1
  186. package/dist/cjs/Test.js +0 -184
  187. package/dist/cjs/Test.js.map +0 -1
  188. package/dist/cjs/Vitest.js +0 -52
  189. package/dist/cjs/Vitest.js.map +0 -1
  190. package/dist/cjs/compiler-tools.js +0 -100
  191. package/dist/cjs/compiler-tools.js.map +0 -1
  192. package/dist/cjs/index.js +0 -138
  193. package/dist/cjs/index.js.map +0 -1
  194. package/dist/cjs/internal/EventSource.js +0 -129
  195. package/dist/cjs/internal/EventSource.js.map +0 -1
  196. package/dist/cjs/internal/HydrateContext.js +0 -13
  197. package/dist/cjs/internal/HydrateContext.js.map +0 -1
  198. package/dist/cjs/internal/browser.js +0 -110
  199. package/dist/cjs/internal/browser.js.map +0 -1
  200. package/dist/cjs/internal/character-entities.js +0 -2141
  201. package/dist/cjs/internal/character-entities.js.map +0 -1
  202. package/dist/cjs/internal/chunks.js +0 -68
  203. package/dist/cjs/internal/chunks.js.map +0 -1
  204. package/dist/cjs/internal/errors.js +0 -52
  205. package/dist/cjs/internal/errors.js.map +0 -1
  206. package/dist/cjs/internal/indexRefCounter.js +0 -52
  207. package/dist/cjs/internal/indexRefCounter.js.map +0 -1
  208. package/dist/cjs/internal/module-augmentation.js +0 -6
  209. package/dist/cjs/internal/module-augmentation.js.map +0 -1
  210. package/dist/cjs/internal/parser.js +0 -568
  211. package/dist/cjs/internal/parser.js.map +0 -1
  212. package/dist/cjs/internal/parser2.js +0 -382
  213. package/dist/cjs/internal/parser2.js.map +0 -1
  214. package/dist/cjs/internal/server-parts.js +0 -124
  215. package/dist/cjs/internal/server-parts.js.map +0 -1
  216. package/dist/cjs/internal/server.js +0 -48
  217. package/dist/cjs/internal/server.js.map +0 -1
  218. package/dist/cjs/internal/utils.js +0 -136
  219. package/dist/cjs/internal/utils.js.map +0 -1
  220. package/dist/cjs/internal/v2/SyncPart.js +0 -6
  221. package/dist/cjs/internal/v2/SyncPart.js.map +0 -1
  222. package/dist/cjs/internal/v2/helpers.js +0 -15
  223. package/dist/cjs/internal/v2/helpers.js.map +0 -1
  224. package/dist/cjs/internal/v2/hydration-template.js +0 -269
  225. package/dist/cjs/internal/v2/hydration-template.js.map +0 -1
  226. package/dist/cjs/internal/v2/parts.js +0 -169
  227. package/dist/cjs/internal/v2/parts.js.map +0 -1
  228. package/dist/cjs/internal/v2/render-entry.js +0 -110
  229. package/dist/cjs/internal/v2/render-entry.js.map +0 -1
  230. package/dist/cjs/internal/v2/render-sync-parts.js +0 -318
  231. package/dist/cjs/internal/v2/render-sync-parts.js.map +0 -1
  232. package/dist/cjs/internal/v2/render.js +0 -592
  233. package/dist/cjs/internal/v2/render.js.map +0 -1
  234. package/dist/cjs/internal/v2/sync-parts.js +0 -115
  235. package/dist/cjs/internal/v2/sync-parts.js.map +0 -1
  236. package/dist/dts/Directive.d.ts +0 -70
  237. package/dist/dts/Directive.d.ts.map +0 -1
  238. package/dist/dts/ElementRef.d.ts +0 -42
  239. package/dist/dts/ElementRef.d.ts.map +0 -1
  240. package/dist/dts/ElementSource.d.ts +0 -79
  241. package/dist/dts/ElementSource.d.ts.map +0 -1
  242. package/dist/dts/Entry.d.ts +0 -26
  243. package/dist/dts/Entry.d.ts.map +0 -1
  244. package/dist/dts/EventHandler.d.ts +0 -73
  245. package/dist/dts/EventHandler.d.ts.map +0 -1
  246. package/dist/dts/Html.d.ts +0 -35
  247. package/dist/dts/Html.d.ts.map +0 -1
  248. package/dist/dts/HtmlChunk.d.ts +0 -56
  249. package/dist/dts/HtmlChunk.d.ts.map +0 -1
  250. package/dist/dts/Hydrate.d.ts +0 -19
  251. package/dist/dts/Hydrate.d.ts.map +0 -1
  252. package/dist/dts/Many.d.ts +0 -32
  253. package/dist/dts/Many.d.ts.map +0 -1
  254. package/dist/dts/Meta.d.ts +0 -33
  255. package/dist/dts/Meta.d.ts.map +0 -1
  256. package/dist/dts/Parser.d.ts +0 -13
  257. package/dist/dts/Parser.d.ts.map +0 -1
  258. package/dist/dts/Part.d.ts +0 -121
  259. package/dist/dts/Part.d.ts.map +0 -1
  260. package/dist/dts/Placeholder.d.ts +0 -48
  261. package/dist/dts/Placeholder.d.ts.map +0 -1
  262. package/dist/dts/Platform.d.ts +0 -21
  263. package/dist/dts/Platform.d.ts.map +0 -1
  264. package/dist/dts/Render.d.ts +0 -31
  265. package/dist/dts/Render.d.ts.map +0 -1
  266. package/dist/dts/RenderContext.d.ts +0 -70
  267. package/dist/dts/RenderContext.d.ts.map +0 -1
  268. package/dist/dts/RenderEvent.d.ts +0 -42
  269. package/dist/dts/RenderEvent.d.ts.map +0 -1
  270. package/dist/dts/RenderQueue.d.ts +0 -103
  271. package/dist/dts/RenderQueue.d.ts.map +0 -1
  272. package/dist/dts/RenderTemplate.d.ts +0 -25
  273. package/dist/dts/RenderTemplate.d.ts.map +0 -1
  274. package/dist/dts/Renderable.d.ts +0 -28
  275. package/dist/dts/Renderable.d.ts.map +0 -1
  276. package/dist/dts/Template.d.ts.map +0 -1
  277. package/dist/dts/Test.d.ts +0 -85
  278. package/dist/dts/Test.d.ts.map +0 -1
  279. package/dist/dts/Vitest.d.ts +0 -43
  280. package/dist/dts/Vitest.d.ts.map +0 -1
  281. package/dist/dts/compiler-tools.d.ts +0 -143
  282. package/dist/dts/compiler-tools.d.ts.map +0 -1
  283. package/dist/dts/index.d.ts +0 -65
  284. package/dist/dts/index.d.ts.map +0 -1
  285. package/dist/dts/internal/EventSource.d.ts +0 -13
  286. package/dist/dts/internal/EventSource.d.ts.map +0 -1
  287. package/dist/dts/internal/HydrateContext.d.ts +0 -2
  288. package/dist/dts/internal/HydrateContext.d.ts.map +0 -1
  289. package/dist/dts/internal/browser.d.ts +0 -8
  290. package/dist/dts/internal/browser.d.ts.map +0 -1
  291. package/dist/dts/internal/character-entities.d.ts +0 -2133
  292. package/dist/dts/internal/character-entities.d.ts.map +0 -1
  293. package/dist/dts/internal/chunks.d.ts +0 -23
  294. package/dist/dts/internal/chunks.d.ts.map +0 -1
  295. package/dist/dts/internal/errors.d.ts +0 -22
  296. package/dist/dts/internal/errors.d.ts.map +0 -1
  297. package/dist/dts/internal/indexRefCounter.d.ts +0 -7
  298. package/dist/dts/internal/indexRefCounter.d.ts.map +0 -1
  299. package/dist/dts/internal/module-augmentation.d.ts +0 -32
  300. package/dist/dts/internal/module-augmentation.d.ts.map +0 -1
  301. package/dist/dts/internal/parser.d.ts +0 -33
  302. package/dist/dts/internal/parser.d.ts.map +0 -1
  303. package/dist/dts/internal/parser2.d.ts +0 -12
  304. package/dist/dts/internal/parser2.d.ts.map +0 -1
  305. package/dist/dts/internal/server-parts.d.ts +0 -223
  306. package/dist/dts/internal/server-parts.d.ts.map +0 -1
  307. package/dist/dts/internal/server.d.ts +0 -5
  308. package/dist/dts/internal/server.d.ts.map +0 -1
  309. package/dist/dts/internal/utils.d.ts +0 -19
  310. package/dist/dts/internal/utils.d.ts.map +0 -1
  311. package/dist/dts/internal/v2/SyncPart.d.ts +0 -87
  312. package/dist/dts/internal/v2/SyncPart.d.ts.map +0 -1
  313. package/dist/dts/internal/v2/helpers.d.ts +0 -3
  314. package/dist/dts/internal/v2/helpers.d.ts.map +0 -1
  315. package/dist/dts/internal/v2/hydration-template.d.ts.map +0 -1
  316. package/dist/dts/internal/v2/parts.d.ts +0 -245
  317. package/dist/dts/internal/v2/parts.d.ts.map +0 -1
  318. package/dist/dts/internal/v2/render-entry.d.ts +0 -6
  319. package/dist/dts/internal/v2/render-entry.d.ts.map +0 -1
  320. package/dist/dts/internal/v2/render-sync-parts.d.ts +0 -22
  321. package/dist/dts/internal/v2/render-sync-parts.d.ts.map +0 -1
  322. package/dist/dts/internal/v2/render.d.ts +0 -83
  323. package/dist/dts/internal/v2/render.d.ts.map +0 -1
  324. package/dist/dts/internal/v2/sync-parts.d.ts +0 -129
  325. package/dist/dts/internal/v2/sync-parts.d.ts.map +0 -1
  326. package/dist/esm/Directive.js +0 -64
  327. package/dist/esm/Directive.js.map +0 -1
  328. package/dist/esm/ElementRef.js +0 -76
  329. package/dist/esm/ElementRef.js.map +0 -1
  330. package/dist/esm/ElementSource.js +0 -246
  331. package/dist/esm/ElementSource.js.map +0 -1
  332. package/dist/esm/Entry.js +0 -2
  333. package/dist/esm/Entry.js.map +0 -1
  334. package/dist/esm/EventHandler.js +0 -68
  335. package/dist/esm/EventHandler.js.map +0 -1
  336. package/dist/esm/Html.js +0 -230
  337. package/dist/esm/Html.js.map +0 -1
  338. package/dist/esm/HtmlChunk.js +0 -330
  339. package/dist/esm/HtmlChunk.js.map +0 -1
  340. package/dist/esm/Hydrate.js +0 -31
  341. package/dist/esm/Hydrate.js.map +0 -1
  342. package/dist/esm/Many.js +0 -54
  343. package/dist/esm/Many.js.map +0 -1
  344. package/dist/esm/Meta.js +0 -40
  345. package/dist/esm/Meta.js.map +0 -1
  346. package/dist/esm/Parser.js +0 -13
  347. package/dist/esm/Parser.js.map +0 -1
  348. package/dist/esm/Part.js +0 -5
  349. package/dist/esm/Part.js.map +0 -1
  350. package/dist/esm/Placeholder.js +0 -26
  351. package/dist/esm/Placeholder.js.map +0 -1
  352. package/dist/esm/Platform.js +0 -42
  353. package/dist/esm/Platform.js.map +0 -1
  354. package/dist/esm/Render.js +0 -36
  355. package/dist/esm/Render.js.map +0 -1
  356. package/dist/esm/RenderContext.js +0 -54
  357. package/dist/esm/RenderContext.js.map +0 -1
  358. package/dist/esm/RenderEvent.js +0 -43
  359. package/dist/esm/RenderEvent.js.map +0 -1
  360. package/dist/esm/RenderQueue.js +0 -338
  361. package/dist/esm/RenderQueue.js.map +0 -1
  362. package/dist/esm/RenderTemplate.js +0 -16
  363. package/dist/esm/RenderTemplate.js.map +0 -1
  364. package/dist/esm/Renderable.js +0 -2
  365. package/dist/esm/Renderable.js.map +0 -1
  366. package/dist/esm/Template.js.map +0 -1
  367. package/dist/esm/Test.js +0 -167
  368. package/dist/esm/Test.js.map +0 -1
  369. package/dist/esm/Vitest.js +0 -44
  370. package/dist/esm/Vitest.js.map +0 -1
  371. package/dist/esm/compiler-tools.js +0 -91
  372. package/dist/esm/compiler-tools.js.map +0 -1
  373. package/dist/esm/index.js +0 -65
  374. package/dist/esm/index.js.map +0 -1
  375. package/dist/esm/internal/EventSource.js +0 -126
  376. package/dist/esm/internal/EventSource.js.map +0 -1
  377. package/dist/esm/internal/HydrateContext.js +0 -7
  378. package/dist/esm/internal/HydrateContext.js.map +0 -1
  379. package/dist/esm/internal/browser.js +0 -103
  380. package/dist/esm/internal/browser.js.map +0 -1
  381. package/dist/esm/internal/character-entities.js +0 -2134
  382. package/dist/esm/internal/character-entities.js.map +0 -1
  383. package/dist/esm/internal/chunks.js +0 -60
  384. package/dist/esm/internal/chunks.js.map +0 -1
  385. package/dist/esm/internal/errors.js +0 -46
  386. package/dist/esm/internal/errors.js.map +0 -1
  387. package/dist/esm/internal/indexRefCounter.js +0 -47
  388. package/dist/esm/internal/indexRefCounter.js.map +0 -1
  389. package/dist/esm/internal/module-augmentation.js +0 -2
  390. package/dist/esm/internal/module-augmentation.js.map +0 -1
  391. package/dist/esm/internal/parser.js +0 -596
  392. package/dist/esm/internal/parser.js.map +0 -1
  393. package/dist/esm/internal/parser2.js +0 -393
  394. package/dist/esm/internal/parser2.js.map +0 -1
  395. package/dist/esm/internal/server-parts.js +0 -109
  396. package/dist/esm/internal/server-parts.js.map +0 -1
  397. package/dist/esm/internal/server.js +0 -22
  398. package/dist/esm/internal/server.js.map +0 -1
  399. package/dist/esm/internal/utils.js +0 -119
  400. package/dist/esm/internal/utils.js.map +0 -1
  401. package/dist/esm/internal/v2/SyncPart.js +0 -5
  402. package/dist/esm/internal/v2/SyncPart.js.map +0 -1
  403. package/dist/esm/internal/v2/helpers.js +0 -12
  404. package/dist/esm/internal/v2/helpers.js.map +0 -1
  405. package/dist/esm/internal/v2/hydration-template.js.map +0 -1
  406. package/dist/esm/internal/v2/parts.js +0 -150
  407. package/dist/esm/internal/v2/parts.js.map +0 -1
  408. package/dist/esm/internal/v2/render-entry.js +0 -102
  409. package/dist/esm/internal/v2/render-entry.js.map +0 -1
  410. package/dist/esm/internal/v2/render-sync-parts.js +0 -265
  411. package/dist/esm/internal/v2/render-sync-parts.js.map +0 -1
  412. package/dist/esm/internal/v2/render.js +0 -521
  413. package/dist/esm/internal/v2/render.js.map +0 -1
  414. package/dist/esm/internal/v2/sync-parts.js +0 -102
  415. package/dist/esm/internal/v2/sync-parts.js.map +0 -1
  416. package/dist/esm/package.json +0 -4
  417. package/src/Directive.ts +0 -114
  418. package/src/ElementRef.ts +0 -148
  419. package/src/ElementSource.ts +0 -510
  420. package/src/Entry.ts +0 -28
  421. package/src/Hydrate.ts +0 -51
  422. package/src/Many.ts +0 -161
  423. package/src/Meta.ts +0 -45
  424. package/src/Part.ts +0 -154
  425. package/src/Placeholder.ts +0 -78
  426. package/src/Platform.ts +0 -70
  427. package/src/RenderContext.ts +0 -121
  428. package/src/Test.ts +0 -354
  429. package/src/Vitest.ts +0 -141
  430. package/src/compiler-tools.ts +0 -250
  431. package/src/internal/EventSource.ts +0 -188
  432. package/src/internal/HydrateContext.ts +0 -22
  433. package/src/internal/browser.ts +0 -138
  434. package/src/internal/character-entities.ts +0 -2136
  435. package/src/internal/chunks.ts +0 -89
  436. package/src/internal/errors.ts +0 -49
  437. package/src/internal/external.d.ts +0 -11
  438. package/src/internal/indexRefCounter.ts +0 -54
  439. package/src/internal/module-augmentation.ts +0 -44
  440. package/src/internal/parser.ts +0 -757
  441. package/src/internal/parser2.ts +0 -468
  442. package/src/internal/server-parts.ts +0 -161
  443. package/src/internal/server.ts +0 -37
  444. package/src/internal/utils.ts +0 -153
  445. package/src/internal/v2/SyncPart.ts +0 -112
  446. package/src/internal/v2/helpers.ts +0 -13
  447. package/src/internal/v2/hydration-template.ts +0 -308
  448. package/src/internal/v2/parts.ts +0 -254
  449. package/src/internal/v2/render-entry.ts +0 -131
  450. package/src/internal/v2/render-sync-parts.ts +0 -440
  451. package/src/internal/v2/render.ts +0 -813
  452. package/src/internal/v2/sync-parts.ts +0 -133
@@ -1,249 +1,284 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import type { Chunk, NonEmptyChunk } from "effect/Chunk";
5
1
  import { type Inspectable, NodeInspectSymbol } from "effect/Inspectable";
6
2
  /**
7
- * @since 1.0.0
3
+ * Represents a parsed HTML template.
4
+ *
5
+ * A `Template` instance contains the static structure of an HTML template (nodes)
6
+ * and metadata about dynamic parts (interpolation points).
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import { parse } from "@typed/template/Parser"
11
+ * import * as Template from "@typed/template/Template"
12
+ *
13
+ * // Parse a template string
14
+ * const template = parse`<div>Hello ${"world"}</div>`
15
+ *
16
+ * // Access template structure
17
+ * console.log(template.nodes) // Array of parsed nodes
18
+ * console.log(template.parts) // Array of dynamic parts
19
+ * console.log(template.hash) // Unique hash for caching
20
+ * ```
21
+ *
22
+ * @since 1.0.0
23
+ * @category models
8
24
  */
9
25
  export declare class Template implements Inspectable {
26
+ readonly _tag = "template";
27
+ /**
28
+ * The root nodes of the template.
29
+ */
10
30
  readonly nodes: ReadonlyArray<Node>;
31
+ /**
32
+ * A unique hash representing the template content. Used for caching and hydration.
33
+ */
11
34
  readonly hash: string;
12
- readonly parts: ReadonlyArray<readonly [part: PartNode | SparsePartNode, path: Chunk<number> | NonEmptyChunk<number>]>;
13
- readonly _tag = "template";
14
- constructor(nodes: ReadonlyArray<Node>, hash: string, parts: ReadonlyArray<readonly [part: PartNode | SparsePartNode, path: Chunk<number> | NonEmptyChunk<number>]>);
35
+ /**
36
+ * A list of dynamic parts in the template.
37
+ * Each part is associated with a path (array of indices) to locate the corresponding
38
+ * node in the DOM tree.
39
+ */
40
+ readonly parts: ReadonlyArray<readonly [part: PartNode | SparsePartNode, path: Array<number>]>;
41
+ constructor(nodes: ReadonlyArray<Node>, hash: string, parts: ReadonlyArray<readonly [part: PartNode | SparsePartNode, path: Array<number>]>);
15
42
  toJSON(): {
16
43
  _tag: string;
17
44
  nodes: readonly Node[];
18
45
  hash: string;
19
- parts: unknown[][];
46
+ parts: readonly (readonly [part: PartNode | SparsePartNode, path: number[]])[];
20
47
  };
21
48
  [NodeInspectSymbol](): {
22
49
  _tag: string;
23
50
  nodes: readonly Node[];
24
51
  hash: string;
25
- parts: unknown[][];
52
+ parts: readonly (readonly [part: PartNode | SparsePartNode, path: number[]])[];
26
53
  };
27
54
  }
28
55
  /**
29
- * @since 1.0.0
56
+ * Represents a node that can be a parent of other nodes in the template AST.
30
57
  */
31
58
  export type ParentNode = ElementNode | SelfClosingElementNode | TextOnlyElement;
32
59
  /**
33
- * @since 1.0.0
60
+ * Represents any node in the template AST.
34
61
  */
35
62
  export type Node = ElementNode | SelfClosingElementNode | TextOnlyElement | TextNode | NodePart | Comment | DocType;
36
63
  /**
37
- * @since 1.0.0
64
+ * Represents a dynamic part of the template that will be updated at runtime.
38
65
  */
39
66
  export type PartNode = AttrPartNode | BooleanPartNode | ClassNamePartNode | DataPartNode | EventPartNode | NodePart | PropertyPartNode | PropertiesPartNode | RefPartNode | TextPartNode | CommentPartNode;
40
67
  /**
41
- * @since 1.0.0
68
+ * Represents a "sparse" part, which is a text or attribute value composed of
69
+ * mix of static text and dynamic parts (e.g. `id="prefix-${id}"`).
42
70
  */
43
- export type SparsePartNode = SparseAttrNode | SparseClassNameNode | SparseCommentNode;
71
+ export type SparsePartNode = SparseAttrNode | SparseClassNameNode | SparseCommentNode | SparseTextNode;
44
72
  /**
45
- * @since 1.0.0
73
+ * Represents an HTML element with children.
46
74
  */
47
75
  export declare class ElementNode {
76
+ readonly _tag = "element";
48
77
  readonly tagName: string;
49
78
  readonly attributes: Array<Attribute>;
50
79
  readonly children: Array<Node>;
51
- readonly _tag = "element";
52
80
  constructor(tagName: string, attributes: Array<Attribute>, children: Array<Node>);
53
81
  }
54
82
  /**
55
- * @since 1.0.0
83
+ * Represents a dynamic insertion point within the node structure (e.g. `<div>${content}</div>`).
56
84
  */
57
85
  export declare class NodePart {
58
- readonly index: number;
59
86
  readonly _tag = "node";
87
+ /**
88
+ * The index of the value in the interpolation array.
89
+ */
90
+ readonly index: number;
60
91
  constructor(index: number);
61
92
  }
62
93
  /**
63
- * @since 1.0.0
94
+ * Represents a self-closing HTML element (e.g. `<br />`, `<img />`).
64
95
  */
65
96
  export declare class SelfClosingElementNode {
97
+ readonly _tag = "self-closing-element";
66
98
  readonly tagName: string;
67
99
  readonly attributes: Array<Attribute>;
68
- readonly _tag = "self-closing-element";
69
100
  constructor(tagName: string, attributes: Array<Attribute>);
70
101
  }
71
102
  /**
72
- * @since 1.0.0
103
+ * Represents an element that contains only text (e.g. `<script>`, `<style>`).
73
104
  */
74
105
  export declare class TextOnlyElement {
106
+ readonly _tag = "text-only-element";
75
107
  readonly tagName: string;
76
108
  readonly attributes: Array<Attribute>;
77
- readonly children: Array<Text>;
78
- readonly _tag = "text-only-element";
79
- constructor(tagName: string, attributes: Array<Attribute>, children: Array<Text>);
109
+ readonly textContent: Text | null;
110
+ constructor(tagName: string, attributes: Array<Attribute>, textContent: Text | null);
80
111
  }
81
112
  /**
82
- * @since 1.0.0
113
+ * Represents a DOCTYPE declaration.
83
114
  */
84
115
  export declare class DocType {
85
- readonly name: string;
86
- readonly publicType?: string | undefined;
87
- readonly systemId?: string | undefined;
88
116
  readonly _tag = "doctype";
89
- constructor(name: string, publicType?: string | undefined, systemId?: string | undefined);
117
+ readonly name: string;
118
+ readonly publicId: string | undefined;
119
+ readonly systemId: string | undefined;
120
+ constructor(name: string, publicType?: string, systemId?: string);
90
121
  }
91
122
  /**
92
- * @since 1.0.0
123
+ * Represents an attribute on an element.
93
124
  */
94
- export type Attribute = AttributeNode | AttrPartNode | SparseAttrNode | BooleanNode | BooleanPartNode | ClassNameNode | SparseClassNameNode | DataPartNode | EventPartNode | PropertyPartNode | PropertiesPartNode | RefPartNode;
125
+ export type Attribute = AttributeNode | AttrPartNode | SparseAttrNode | BooleanNode | BooleanPartNode | ClassNamePartNode | SparseClassNameNode | DataPartNode | EventPartNode | PropertyPartNode | PropertiesPartNode | RefPartNode;
95
126
  /**
96
- * @since 1.0.0
127
+ * Represents a static attribute (e.g. `class="foo"`).
97
128
  */
98
129
  export declare class AttributeNode {
130
+ readonly _tag: "attribute";
99
131
  readonly name: string;
100
132
  readonly value: string;
101
- readonly _tag: "attribute";
102
133
  constructor(name: string, value: string);
103
134
  }
104
135
  /**
105
- * @since 1.0.0
136
+ * Represents a dynamic attribute (e.g. `src="${url}"`).
106
137
  */
107
138
  export declare class AttrPartNode {
139
+ readonly _tag: "attr";
108
140
  readonly name: string;
109
141
  readonly index: number;
110
- readonly _tag: "attr";
111
142
  constructor(name: string, index: number);
112
143
  }
113
144
  /**
114
- * @since 1.0.0
145
+ * Represents a sparse attribute (e.g. `class="foo ${bar}"`).
115
146
  */
116
147
  export declare class SparseAttrNode {
148
+ readonly _tag: "sparse-attr";
117
149
  readonly name: string;
118
150
  readonly nodes: Array<AttrPartNode | TextNode>;
119
- readonly _tag: "sparse-attr";
120
151
  constructor(name: string, nodes: Array<AttrPartNode | TextNode>);
121
152
  }
122
153
  /**
123
- * @since 1.0.0
154
+ * Represents a boolean attribute (e.g. `disabled`).
124
155
  */
125
156
  export declare class BooleanNode {
126
- readonly name: string;
127
157
  readonly _tag: "boolean";
158
+ readonly name: string;
128
159
  constructor(name: string);
129
160
  }
130
161
  /**
131
- * @since 1.0.0
162
+ * Represents a dynamic boolean attribute (e.g. `?disabled="${isDisabled}"`).
132
163
  */
133
164
  export declare class BooleanPartNode {
165
+ readonly _tag: "boolean-part";
134
166
  readonly name: string;
135
167
  readonly index: number;
136
- readonly _tag: "boolean-part";
137
168
  constructor(name: string, index: number);
138
169
  }
139
170
  /**
140
- * @since 1.0.0
141
- */
142
- export type ClassNameNode = TextNode | ClassNamePartNode;
143
- /**
144
- * @since 1.0.0
171
+ * Represents a dynamic class name part (e.g. `class="${classes}"`).
145
172
  */
146
173
  export declare class ClassNamePartNode {
147
- readonly index: number;
148
174
  readonly _tag: "className-part";
175
+ readonly index: number;
149
176
  constructor(index: number);
150
177
  }
151
178
  /**
152
- * @since 1.0.0
179
+ * Represents a sparse class name (e.g. `class="foo ${bar}"`).
153
180
  */
154
181
  export declare class SparseClassNameNode {
155
- readonly nodes: Array<ClassNameNode>;
156
182
  readonly _tag: "sparse-class-name";
157
- constructor(nodes: Array<ClassNameNode>);
183
+ readonly nodes: Array<ClassNamePartNode | TextNode>;
184
+ constructor(nodes: Array<ClassNamePartNode | TextNode>);
158
185
  }
159
186
  /**
160
- * @since 1.0.0
187
+ * Represents a data attribute part (e.g. `data-foo="${value}"`).
161
188
  */
162
189
  export declare class DataPartNode {
163
- readonly index: number;
164
190
  readonly _tag: "data";
191
+ readonly index: number;
165
192
  constructor(index: number);
166
193
  }
167
194
  /**
168
- * @since 1.0.0
195
+ * Represents an event listener part (e.g. `@click="${handler}"`).
169
196
  */
170
197
  export declare class EventPartNode {
198
+ readonly _tag: "event";
171
199
  readonly name: string;
172
200
  readonly index: number;
173
- readonly _tag: "event";
174
201
  constructor(name: string, index: number);
175
202
  }
176
203
  /**
177
- * @since 1.0.0
204
+ * Represents a property assignment (e.g. `.value="${value}"`).
178
205
  */
179
206
  export declare class PropertyPartNode {
207
+ readonly _tag: "property";
180
208
  readonly name: string;
181
209
  readonly index: number;
182
- readonly _tag: "property";
183
210
  constructor(name: string, index: number);
184
211
  }
185
212
  /**
186
- * @since 1.0.0
213
+ * Represents a spread of properties (e.g. `${...props}`).
187
214
  */
188
215
  export declare class PropertiesPartNode {
189
- readonly index: number;
190
216
  readonly _tag: "properties";
217
+ readonly index: number;
191
218
  constructor(index: number);
192
219
  }
193
220
  /**
194
- * @since 1.0.0
221
+ * Represents a reference capture (e.g. `ref="${ref}"`).
195
222
  */
196
223
  export declare class RefPartNode {
197
- readonly index: number;
198
224
  readonly _tag: "ref";
225
+ readonly index: number;
199
226
  constructor(index: number);
200
227
  }
201
228
  /**
202
- * @since 1.0.0
229
+ * Represents text content.
203
230
  */
204
- export type Text = TextNode | TextPartNode;
231
+ export type Text = TextNode | TextPartNode | SparseTextNode;
205
232
  /**
206
- * @since 1.0.0
233
+ * Represents a static text node.
207
234
  */
208
235
  export declare class TextNode {
209
- readonly value: string;
210
236
  readonly _tag: "text";
237
+ readonly value: string;
211
238
  constructor(value: string);
212
239
  }
213
240
  /**
214
- * @since 1.0.0
241
+ * Represents a dynamic text part (e.g. `${text}`).
215
242
  */
216
243
  export declare class TextPartNode {
217
- readonly index: number;
218
244
  readonly _tag: "text-part";
245
+ readonly index: number;
219
246
  constructor(index: number);
220
247
  }
221
248
  /**
222
- * @since 1.0.0
249
+ * Represents sparse text content (e.g. `Hello ${name}!`).
250
+ */
251
+ export declare class SparseTextNode {
252
+ readonly _tag: "sparse-text";
253
+ readonly nodes: Array<TextNode | TextPartNode>;
254
+ constructor(nodes: Array<TextNode | TextPartNode>);
255
+ }
256
+ /**
257
+ * Represents a comment node.
223
258
  */
224
259
  export type Comment = CommentNode | CommentPartNode | SparseCommentNode;
225
260
  /**
226
- * @since 1.0.0
261
+ * Represents a static comment.
227
262
  */
228
263
  export declare class CommentNode {
229
- readonly value: string;
230
264
  readonly _tag: "comment";
265
+ readonly value: string;
231
266
  constructor(value: string);
232
267
  }
233
268
  /**
234
- * @since 1.0.0
269
+ * Represents a dynamic comment part.
235
270
  */
236
271
  export declare class CommentPartNode {
237
- readonly index: number;
238
272
  readonly _tag: "comment-part";
273
+ readonly index: number;
239
274
  constructor(index: number);
240
275
  }
241
276
  /**
242
- * @since 1.0.0
277
+ * Represents a sparse comment.
243
278
  */
244
279
  export declare class SparseCommentNode {
245
- readonly nodes: Array<TextNode | CommentPartNode>;
246
280
  readonly _tag: "sparse-comment";
281
+ readonly nodes: Array<TextNode | CommentPartNode>;
247
282
  constructor(nodes: Array<TextNode | CommentPartNode>);
248
283
  }
249
284
  //# sourceMappingURL=Template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Template.d.ts","sourceRoot":"","sources":["../src/Template.ts"],"names":[],"mappings":"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"}