@typed/template 0.13.0 → 1.0.0-beta.0

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 (453) hide show
  1. package/README.md +108 -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 +297 -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 +22 -223
  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 +409 -0
  94. package/src/Parser.test.ts +924 -0
  95. package/src/Parser.ts +598 -10
  96. package/src/Render.test.ts +338 -0
  97. package/src/Render.ts +878 -63
  98. package/src/RenderEvent.ts +169 -40
  99. package/src/RenderQueue.ts +290 -383
  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/tsconfig.json +6 -0
  120. package/Directive/package.json +0 -6
  121. package/ElementRef/package.json +0 -6
  122. package/ElementSource/package.json +0 -6
  123. package/Entry/package.json +0 -6
  124. package/EventHandler/package.json +0 -6
  125. package/Html/package.json +0 -6
  126. package/HtmlChunk/package.json +0 -6
  127. package/Hydrate/package.json +0 -6
  128. package/LICENSE +0 -21
  129. package/Many/package.json +0 -6
  130. package/Meta/package.json +0 -6
  131. package/Parser/package.json +0 -6
  132. package/Part/package.json +0 -6
  133. package/Placeholder/package.json +0 -6
  134. package/Platform/package.json +0 -6
  135. package/Render/package.json +0 -6
  136. package/RenderContext/package.json +0 -6
  137. package/RenderEvent/package.json +0 -6
  138. package/RenderQueue/package.json +0 -6
  139. package/RenderTemplate/package.json +0 -6
  140. package/Renderable/package.json +0 -6
  141. package/Template/package.json +0 -6
  142. package/Test/package.json +0 -6
  143. package/Vitest/package.json +0 -6
  144. package/compiler-tools/package.json +0 -6
  145. package/dist/cjs/Directive.js +0 -76
  146. package/dist/cjs/Directive.js.map +0 -1
  147. package/dist/cjs/ElementRef.js +0 -92
  148. package/dist/cjs/ElementRef.js.map +0 -1
  149. package/dist/cjs/ElementSource.js +0 -242
  150. package/dist/cjs/ElementSource.js.map +0 -1
  151. package/dist/cjs/Entry.js +0 -6
  152. package/dist/cjs/Entry.js.map +0 -1
  153. package/dist/cjs/EventHandler.js +0 -76
  154. package/dist/cjs/EventHandler.js.map +0 -1
  155. package/dist/cjs/Html.js +0 -224
  156. package/dist/cjs/Html.js.map +0 -1
  157. package/dist/cjs/HtmlChunk.js +0 -306
  158. package/dist/cjs/HtmlChunk.js.map +0 -1
  159. package/dist/cjs/Hydrate.js +0 -43
  160. package/dist/cjs/Hydrate.js.map +0 -1
  161. package/dist/cjs/Many.js +0 -66
  162. package/dist/cjs/Many.js.map +0 -1
  163. package/dist/cjs/Meta.js +0 -50
  164. package/dist/cjs/Meta.js.map +0 -1
  165. package/dist/cjs/Parser.js +0 -19
  166. package/dist/cjs/Parser.js.map +0 -1
  167. package/dist/cjs/Part.js +0 -6
  168. package/dist/cjs/Part.js.map +0 -1
  169. package/dist/cjs/Placeholder.js +0 -34
  170. package/dist/cjs/Placeholder.js.map +0 -1
  171. package/dist/cjs/Platform.js +0 -66
  172. package/dist/cjs/Platform.js.map +0 -1
  173. package/dist/cjs/Render.js +0 -50
  174. package/dist/cjs/Render.js.map +0 -1
  175. package/dist/cjs/RenderContext.js +0 -67
  176. package/dist/cjs/RenderContext.js.map +0 -1
  177. package/dist/cjs/RenderEvent.js +0 -52
  178. package/dist/cjs/RenderEvent.js.map +0 -1
  179. package/dist/cjs/RenderQueue.js +0 -341
  180. package/dist/cjs/RenderQueue.js.map +0 -1
  181. package/dist/cjs/RenderTemplate.js +0 -26
  182. package/dist/cjs/RenderTemplate.js.map +0 -1
  183. package/dist/cjs/Renderable.js +0 -6
  184. package/dist/cjs/Renderable.js.map +0 -1
  185. package/dist/cjs/Template.js +0 -305
  186. package/dist/cjs/Template.js.map +0 -1
  187. package/dist/cjs/Test.js +0 -184
  188. package/dist/cjs/Test.js.map +0 -1
  189. package/dist/cjs/Vitest.js +0 -52
  190. package/dist/cjs/Vitest.js.map +0 -1
  191. package/dist/cjs/compiler-tools.js +0 -100
  192. package/dist/cjs/compiler-tools.js.map +0 -1
  193. package/dist/cjs/index.js +0 -138
  194. package/dist/cjs/index.js.map +0 -1
  195. package/dist/cjs/internal/EventSource.js +0 -129
  196. package/dist/cjs/internal/EventSource.js.map +0 -1
  197. package/dist/cjs/internal/HydrateContext.js +0 -13
  198. package/dist/cjs/internal/HydrateContext.js.map +0 -1
  199. package/dist/cjs/internal/browser.js +0 -110
  200. package/dist/cjs/internal/browser.js.map +0 -1
  201. package/dist/cjs/internal/character-entities.js +0 -2141
  202. package/dist/cjs/internal/character-entities.js.map +0 -1
  203. package/dist/cjs/internal/chunks.js +0 -68
  204. package/dist/cjs/internal/chunks.js.map +0 -1
  205. package/dist/cjs/internal/errors.js +0 -52
  206. package/dist/cjs/internal/errors.js.map +0 -1
  207. package/dist/cjs/internal/indexRefCounter.js +0 -52
  208. package/dist/cjs/internal/indexRefCounter.js.map +0 -1
  209. package/dist/cjs/internal/module-augmentation.js +0 -6
  210. package/dist/cjs/internal/module-augmentation.js.map +0 -1
  211. package/dist/cjs/internal/parser.js +0 -568
  212. package/dist/cjs/internal/parser.js.map +0 -1
  213. package/dist/cjs/internal/parser2.js +0 -382
  214. package/dist/cjs/internal/parser2.js.map +0 -1
  215. package/dist/cjs/internal/server-parts.js +0 -124
  216. package/dist/cjs/internal/server-parts.js.map +0 -1
  217. package/dist/cjs/internal/server.js +0 -48
  218. package/dist/cjs/internal/server.js.map +0 -1
  219. package/dist/cjs/internal/utils.js +0 -136
  220. package/dist/cjs/internal/utils.js.map +0 -1
  221. package/dist/cjs/internal/v2/SyncPart.js +0 -6
  222. package/dist/cjs/internal/v2/SyncPart.js.map +0 -1
  223. package/dist/cjs/internal/v2/helpers.js +0 -15
  224. package/dist/cjs/internal/v2/helpers.js.map +0 -1
  225. package/dist/cjs/internal/v2/hydration-template.js +0 -269
  226. package/dist/cjs/internal/v2/hydration-template.js.map +0 -1
  227. package/dist/cjs/internal/v2/parts.js +0 -169
  228. package/dist/cjs/internal/v2/parts.js.map +0 -1
  229. package/dist/cjs/internal/v2/render-entry.js +0 -110
  230. package/dist/cjs/internal/v2/render-entry.js.map +0 -1
  231. package/dist/cjs/internal/v2/render-sync-parts.js +0 -318
  232. package/dist/cjs/internal/v2/render-sync-parts.js.map +0 -1
  233. package/dist/cjs/internal/v2/render.js +0 -592
  234. package/dist/cjs/internal/v2/render.js.map +0 -1
  235. package/dist/cjs/internal/v2/sync-parts.js +0 -115
  236. package/dist/cjs/internal/v2/sync-parts.js.map +0 -1
  237. package/dist/dts/Directive.d.ts +0 -70
  238. package/dist/dts/Directive.d.ts.map +0 -1
  239. package/dist/dts/ElementRef.d.ts +0 -42
  240. package/dist/dts/ElementRef.d.ts.map +0 -1
  241. package/dist/dts/ElementSource.d.ts +0 -77
  242. package/dist/dts/ElementSource.d.ts.map +0 -1
  243. package/dist/dts/Entry.d.ts +0 -26
  244. package/dist/dts/Entry.d.ts.map +0 -1
  245. package/dist/dts/EventHandler.d.ts +0 -73
  246. package/dist/dts/EventHandler.d.ts.map +0 -1
  247. package/dist/dts/Html.d.ts +0 -35
  248. package/dist/dts/Html.d.ts.map +0 -1
  249. package/dist/dts/HtmlChunk.d.ts +0 -56
  250. package/dist/dts/HtmlChunk.d.ts.map +0 -1
  251. package/dist/dts/Hydrate.d.ts +0 -19
  252. package/dist/dts/Hydrate.d.ts.map +0 -1
  253. package/dist/dts/Many.d.ts +0 -32
  254. package/dist/dts/Many.d.ts.map +0 -1
  255. package/dist/dts/Meta.d.ts +0 -33
  256. package/dist/dts/Meta.d.ts.map +0 -1
  257. package/dist/dts/Parser.d.ts +0 -13
  258. package/dist/dts/Parser.d.ts.map +0 -1
  259. package/dist/dts/Part.d.ts +0 -121
  260. package/dist/dts/Part.d.ts.map +0 -1
  261. package/dist/dts/Placeholder.d.ts +0 -48
  262. package/dist/dts/Placeholder.d.ts.map +0 -1
  263. package/dist/dts/Platform.d.ts +0 -21
  264. package/dist/dts/Platform.d.ts.map +0 -1
  265. package/dist/dts/Render.d.ts +0 -31
  266. package/dist/dts/Render.d.ts.map +0 -1
  267. package/dist/dts/RenderContext.d.ts +0 -70
  268. package/dist/dts/RenderContext.d.ts.map +0 -1
  269. package/dist/dts/RenderEvent.d.ts +0 -42
  270. package/dist/dts/RenderEvent.d.ts.map +0 -1
  271. package/dist/dts/RenderQueue.d.ts +0 -103
  272. package/dist/dts/RenderQueue.d.ts.map +0 -1
  273. package/dist/dts/RenderTemplate.d.ts +0 -25
  274. package/dist/dts/RenderTemplate.d.ts.map +0 -1
  275. package/dist/dts/Renderable.d.ts +0 -28
  276. package/dist/dts/Renderable.d.ts.map +0 -1
  277. package/dist/dts/Template.d.ts.map +0 -1
  278. package/dist/dts/Test.d.ts +0 -85
  279. package/dist/dts/Test.d.ts.map +0 -1
  280. package/dist/dts/Vitest.d.ts +0 -43
  281. package/dist/dts/Vitest.d.ts.map +0 -1
  282. package/dist/dts/compiler-tools.d.ts +0 -143
  283. package/dist/dts/compiler-tools.d.ts.map +0 -1
  284. package/dist/dts/index.d.ts +0 -65
  285. package/dist/dts/index.d.ts.map +0 -1
  286. package/dist/dts/internal/EventSource.d.ts +0 -13
  287. package/dist/dts/internal/EventSource.d.ts.map +0 -1
  288. package/dist/dts/internal/HydrateContext.d.ts +0 -2
  289. package/dist/dts/internal/HydrateContext.d.ts.map +0 -1
  290. package/dist/dts/internal/browser.d.ts +0 -8
  291. package/dist/dts/internal/browser.d.ts.map +0 -1
  292. package/dist/dts/internal/character-entities.d.ts +0 -2133
  293. package/dist/dts/internal/character-entities.d.ts.map +0 -1
  294. package/dist/dts/internal/chunks.d.ts +0 -23
  295. package/dist/dts/internal/chunks.d.ts.map +0 -1
  296. package/dist/dts/internal/errors.d.ts +0 -22
  297. package/dist/dts/internal/errors.d.ts.map +0 -1
  298. package/dist/dts/internal/indexRefCounter.d.ts +0 -7
  299. package/dist/dts/internal/indexRefCounter.d.ts.map +0 -1
  300. package/dist/dts/internal/module-augmentation.d.ts +0 -32
  301. package/dist/dts/internal/module-augmentation.d.ts.map +0 -1
  302. package/dist/dts/internal/parser.d.ts +0 -33
  303. package/dist/dts/internal/parser.d.ts.map +0 -1
  304. package/dist/dts/internal/parser2.d.ts +0 -12
  305. package/dist/dts/internal/parser2.d.ts.map +0 -1
  306. package/dist/dts/internal/server-parts.d.ts +0 -223
  307. package/dist/dts/internal/server-parts.d.ts.map +0 -1
  308. package/dist/dts/internal/server.d.ts +0 -5
  309. package/dist/dts/internal/server.d.ts.map +0 -1
  310. package/dist/dts/internal/utils.d.ts +0 -19
  311. package/dist/dts/internal/utils.d.ts.map +0 -1
  312. package/dist/dts/internal/v2/SyncPart.d.ts +0 -87
  313. package/dist/dts/internal/v2/SyncPart.d.ts.map +0 -1
  314. package/dist/dts/internal/v2/helpers.d.ts +0 -3
  315. package/dist/dts/internal/v2/helpers.d.ts.map +0 -1
  316. package/dist/dts/internal/v2/hydration-template.d.ts.map +0 -1
  317. package/dist/dts/internal/v2/parts.d.ts +0 -245
  318. package/dist/dts/internal/v2/parts.d.ts.map +0 -1
  319. package/dist/dts/internal/v2/render-entry.d.ts +0 -6
  320. package/dist/dts/internal/v2/render-entry.d.ts.map +0 -1
  321. package/dist/dts/internal/v2/render-sync-parts.d.ts +0 -22
  322. package/dist/dts/internal/v2/render-sync-parts.d.ts.map +0 -1
  323. package/dist/dts/internal/v2/render.d.ts +0 -83
  324. package/dist/dts/internal/v2/render.d.ts.map +0 -1
  325. package/dist/dts/internal/v2/sync-parts.d.ts +0 -129
  326. package/dist/dts/internal/v2/sync-parts.d.ts.map +0 -1
  327. package/dist/esm/Directive.js +0 -64
  328. package/dist/esm/Directive.js.map +0 -1
  329. package/dist/esm/ElementRef.js +0 -76
  330. package/dist/esm/ElementRef.js.map +0 -1
  331. package/dist/esm/ElementSource.js +0 -240
  332. package/dist/esm/ElementSource.js.map +0 -1
  333. package/dist/esm/Entry.js +0 -2
  334. package/dist/esm/Entry.js.map +0 -1
  335. package/dist/esm/EventHandler.js +0 -68
  336. package/dist/esm/EventHandler.js.map +0 -1
  337. package/dist/esm/Html.js +0 -230
  338. package/dist/esm/Html.js.map +0 -1
  339. package/dist/esm/HtmlChunk.js +0 -330
  340. package/dist/esm/HtmlChunk.js.map +0 -1
  341. package/dist/esm/Hydrate.js +0 -31
  342. package/dist/esm/Hydrate.js.map +0 -1
  343. package/dist/esm/Many.js +0 -54
  344. package/dist/esm/Many.js.map +0 -1
  345. package/dist/esm/Meta.js +0 -40
  346. package/dist/esm/Meta.js.map +0 -1
  347. package/dist/esm/Parser.js +0 -13
  348. package/dist/esm/Parser.js.map +0 -1
  349. package/dist/esm/Part.js +0 -5
  350. package/dist/esm/Part.js.map +0 -1
  351. package/dist/esm/Placeholder.js +0 -26
  352. package/dist/esm/Placeholder.js.map +0 -1
  353. package/dist/esm/Platform.js +0 -43
  354. package/dist/esm/Platform.js.map +0 -1
  355. package/dist/esm/Render.js +0 -36
  356. package/dist/esm/Render.js.map +0 -1
  357. package/dist/esm/RenderContext.js +0 -54
  358. package/dist/esm/RenderContext.js.map +0 -1
  359. package/dist/esm/RenderEvent.js +0 -43
  360. package/dist/esm/RenderEvent.js.map +0 -1
  361. package/dist/esm/RenderQueue.js +0 -336
  362. package/dist/esm/RenderQueue.js.map +0 -1
  363. package/dist/esm/RenderTemplate.js +0 -16
  364. package/dist/esm/RenderTemplate.js.map +0 -1
  365. package/dist/esm/Renderable.js +0 -2
  366. package/dist/esm/Renderable.js.map +0 -1
  367. package/dist/esm/Template.js.map +0 -1
  368. package/dist/esm/Test.js +0 -167
  369. package/dist/esm/Test.js.map +0 -1
  370. package/dist/esm/Vitest.js +0 -44
  371. package/dist/esm/Vitest.js.map +0 -1
  372. package/dist/esm/compiler-tools.js +0 -91
  373. package/dist/esm/compiler-tools.js.map +0 -1
  374. package/dist/esm/index.js +0 -65
  375. package/dist/esm/index.js.map +0 -1
  376. package/dist/esm/internal/EventSource.js +0 -126
  377. package/dist/esm/internal/EventSource.js.map +0 -1
  378. package/dist/esm/internal/HydrateContext.js +0 -7
  379. package/dist/esm/internal/HydrateContext.js.map +0 -1
  380. package/dist/esm/internal/browser.js +0 -103
  381. package/dist/esm/internal/browser.js.map +0 -1
  382. package/dist/esm/internal/character-entities.js +0 -2134
  383. package/dist/esm/internal/character-entities.js.map +0 -1
  384. package/dist/esm/internal/chunks.js +0 -60
  385. package/dist/esm/internal/chunks.js.map +0 -1
  386. package/dist/esm/internal/errors.js +0 -46
  387. package/dist/esm/internal/errors.js.map +0 -1
  388. package/dist/esm/internal/indexRefCounter.js +0 -47
  389. package/dist/esm/internal/indexRefCounter.js.map +0 -1
  390. package/dist/esm/internal/module-augmentation.js +0 -2
  391. package/dist/esm/internal/module-augmentation.js.map +0 -1
  392. package/dist/esm/internal/parser.js +0 -596
  393. package/dist/esm/internal/parser.js.map +0 -1
  394. package/dist/esm/internal/parser2.js +0 -393
  395. package/dist/esm/internal/parser2.js.map +0 -1
  396. package/dist/esm/internal/server-parts.js +0 -109
  397. package/dist/esm/internal/server-parts.js.map +0 -1
  398. package/dist/esm/internal/server.js +0 -22
  399. package/dist/esm/internal/server.js.map +0 -1
  400. package/dist/esm/internal/utils.js +0 -119
  401. package/dist/esm/internal/utils.js.map +0 -1
  402. package/dist/esm/internal/v2/SyncPart.js +0 -5
  403. package/dist/esm/internal/v2/SyncPart.js.map +0 -1
  404. package/dist/esm/internal/v2/helpers.js +0 -12
  405. package/dist/esm/internal/v2/helpers.js.map +0 -1
  406. package/dist/esm/internal/v2/hydration-template.js.map +0 -1
  407. package/dist/esm/internal/v2/parts.js +0 -150
  408. package/dist/esm/internal/v2/parts.js.map +0 -1
  409. package/dist/esm/internal/v2/render-entry.js +0 -102
  410. package/dist/esm/internal/v2/render-entry.js.map +0 -1
  411. package/dist/esm/internal/v2/render-sync-parts.js +0 -265
  412. package/dist/esm/internal/v2/render-sync-parts.js.map +0 -1
  413. package/dist/esm/internal/v2/render.js +0 -521
  414. package/dist/esm/internal/v2/render.js.map +0 -1
  415. package/dist/esm/internal/v2/sync-parts.js +0 -102
  416. package/dist/esm/internal/v2/sync-parts.js.map +0 -1
  417. package/dist/esm/package.json +0 -4
  418. package/src/Directive.ts +0 -114
  419. package/src/ElementRef.ts +0 -126
  420. package/src/ElementSource.ts +0 -432
  421. package/src/Entry.ts +0 -28
  422. package/src/Hydrate.ts +0 -51
  423. package/src/Many.ts +0 -161
  424. package/src/Meta.ts +0 -45
  425. package/src/Part.ts +0 -154
  426. package/src/Placeholder.ts +0 -78
  427. package/src/Platform.ts +0 -71
  428. package/src/RenderContext.ts +0 -121
  429. package/src/Test.ts +0 -354
  430. package/src/Vitest.ts +0 -141
  431. package/src/compiler-tools.ts +0 -250
  432. package/src/internal/EventSource.ts +0 -188
  433. package/src/internal/HydrateContext.ts +0 -22
  434. package/src/internal/browser.ts +0 -138
  435. package/src/internal/character-entities.ts +0 -2136
  436. package/src/internal/chunks.ts +0 -89
  437. package/src/internal/errors.ts +0 -49
  438. package/src/internal/external.d.ts +0 -11
  439. package/src/internal/indexRefCounter.ts +0 -54
  440. package/src/internal/module-augmentation.ts +0 -44
  441. package/src/internal/parser.ts +0 -757
  442. package/src/internal/parser2.ts +0 -468
  443. package/src/internal/server-parts.ts +0 -161
  444. package/src/internal/server.ts +0 -37
  445. package/src/internal/utils.ts +0 -153
  446. package/src/internal/v2/SyncPart.ts +0 -112
  447. package/src/internal/v2/helpers.ts +0 -13
  448. package/src/internal/v2/hydration-template.ts +0 -308
  449. package/src/internal/v2/parts.ts +0 -254
  450. package/src/internal/v2/render-entry.ts +0 -131
  451. package/src/internal/v2/render-sync-parts.ts +0 -440
  452. package/src/internal/v2/render.ts +0 -813
  453. package/src/internal/v2/sync-parts.ts +0 -133
package/dist/Wire.js ADDED
@@ -0,0 +1,217 @@
1
+ const ELEMENT_NODE = 1;
2
+ const DOCUMENT_FRAGMENT_NODE = 11;
3
+ const nodeType = 111;
4
+ const remove = ({ firstChild, lastChild }, document) => {
5
+ const range = document.createRange();
6
+ range.setStartAfter(firstChild);
7
+ range.setEndAfter(lastChild);
8
+ range.deleteContents();
9
+ return firstChild;
10
+ };
11
+ /**
12
+ * Create a diffable node from any Node which also might be a Wire.
13
+ * @internal
14
+ */
15
+ export const diffable = (document) => (node, operation) => {
16
+ if (node.nodeType !== nodeType)
17
+ return node;
18
+ if (1 / operation < 0) {
19
+ return operation ? remove(node, document) : node.lastChild;
20
+ }
21
+ return operation ? node.valueOf() : node.firstChild;
22
+ };
23
+ /**
24
+ * Creates a Wire from a DocumentFragment.
25
+ *
26
+ * If the fragment has only one child, that child is returned directly.
27
+ * If it has multiple children, they are wrapped in a `Wire` structure (bounded by comments)
28
+ * to allow them to be treated as a single unit.
29
+ */
30
+ export const persistent = (document, templateHash, fragment) => {
31
+ const { childNodes } = fragment;
32
+ const { length } = childNodes;
33
+ if (length === 0)
34
+ return fragment;
35
+ if (length === 1)
36
+ return childNodes[0];
37
+ const firstChild = document.createComment(`t_${templateHash}`);
38
+ const lastChild = document.createComment(`/t_${templateHash}`);
39
+ return fromComments(fragment, firstChild, lastChild);
40
+ };
41
+ /**
42
+ * Creates a Wire from a Fragment and boundary comments.
43
+ * @internal
44
+ */
45
+ export const fromComments = (fragment, firstChild, lastChild) => {
46
+ if (fragment.childNodes[0] !== firstChild) {
47
+ fragment.prepend(firstChild);
48
+ }
49
+ if (fragment.childNodes[fragment.childNodes.length - 1] !== lastChild) {
50
+ fragment.append(lastChild);
51
+ }
52
+ const getChildNodes = () => {
53
+ const nodes = getAllSiblingsBetween(firstChild, lastChild);
54
+ if (fragment.childNodes.length !== nodes.length) {
55
+ fragment.replaceChildren(...nodes);
56
+ }
57
+ return nodes;
58
+ };
59
+ return {
60
+ ELEMENT_NODE,
61
+ DOCUMENT_FRAGMENT_NODE,
62
+ nodeType,
63
+ firstChild,
64
+ lastChild,
65
+ get childNodes() {
66
+ return getChildNodes();
67
+ },
68
+ valueOf() {
69
+ getChildNodes();
70
+ return fragment;
71
+ },
72
+ };
73
+ };
74
+ /**
75
+ * Gets all sibling nodes between a start and end node (exclusive).
76
+ * @internal
77
+ */
78
+ export function getAllSiblingsBetween(start, end) {
79
+ const siblings = [];
80
+ let node = start.nextSibling;
81
+ while (node && node !== end) {
82
+ siblings.push(node);
83
+ node = node.nextSibling;
84
+ }
85
+ return siblings;
86
+ }
87
+ /**
88
+ * Checks if a rendered node is a `Wire`.
89
+ */
90
+ export function isWire(node) {
91
+ if (!isArray(node))
92
+ return node.nodeType === nodeType;
93
+ return false;
94
+ }
95
+ /**
96
+ * Checks if a rendered node is a standard DOM `Node`.
97
+ */
98
+ export function isNode(node) {
99
+ if (!isArray(node))
100
+ return node.nodeType !== node.DOCUMENT_FRAGMENT_NODE;
101
+ return false;
102
+ }
103
+ /**
104
+ * Checks if a rendered node is an `Element`.
105
+ */
106
+ export function isElement(node) {
107
+ return isNode(node) && node.nodeType === node.ELEMENT_NODE;
108
+ }
109
+ /**
110
+ * Checks if a rendered node is an `SVGElement`.
111
+ */
112
+ export function isSvgElement(node) {
113
+ return isElement(node) && "ownerSVGElement" in node;
114
+ }
115
+ /**
116
+ * Checks if a rendered node is an `HTMLElement`.
117
+ */
118
+ export function isHtmlElement(node) {
119
+ return isElement(node) && !("ownerSVGElement" in node);
120
+ }
121
+ /**
122
+ * Checks if a rendered node is a `Text` node.
123
+ */
124
+ export function isText(node) {
125
+ return isNode(node) && node.nodeType === node.TEXT_NODE;
126
+ }
127
+ /**
128
+ * Checks if a rendered node is an `Attr` node.
129
+ */
130
+ export function isAttr(node) {
131
+ return isNode(node) && node.nodeType === node.ATTRIBUTE_NODE;
132
+ }
133
+ /**
134
+ * Checks if a rendered node is a `Comment` node.
135
+ */
136
+ export function isComment(node) {
137
+ return isNode(node) && node.nodeType === node.COMMENT_NODE;
138
+ }
139
+ /**
140
+ * Checks if a rendered node is a `DocumentFragment`.
141
+ */
142
+ export function isDocumentFragment(node) {
143
+ if (!isArray(node))
144
+ return node.nodeType === node.DOCUMENT_FRAGMENT_NODE;
145
+ return false;
146
+ }
147
+ /**
148
+ * Checks if a rendered value is an array of nodes.
149
+ */
150
+ export function isArray(node) {
151
+ return Array.isArray(node);
152
+ }
153
+ /**
154
+ * Converts a `Rendered` value to an HTML string.
155
+ *
156
+ * @example
157
+ * ```ts
158
+ * import { toHtml } from "@typed/template/Wire"
159
+ *
160
+ * const div = document.createElement("div")
161
+ * div.textContent = "Hello"
162
+ * const html = toHtml(div) // "<div>Hello</div>"
163
+ *
164
+ * const fragment = document.createDocumentFragment()
165
+ * fragment.appendChild(div)
166
+ * const fragmentHtml = toHtml(fragment) // "<div>Hello</div>"
167
+ * ```
168
+ *
169
+ * @since 1.0.0
170
+ * @category utilities
171
+ */
172
+ export function toHtml(node) {
173
+ if (isArray(node))
174
+ return node.map(toHtml).join("");
175
+ if (isWire(node))
176
+ return toHtml(node.valueOf());
177
+ if (isElement(node))
178
+ return node.outerHTML;
179
+ if (isText(node))
180
+ return node.data;
181
+ if (isComment(node))
182
+ return `<!--${node.data}-->`;
183
+ if (isDocumentFragment(node))
184
+ return Array.from(node.childNodes ?? [], toHtml).join("");
185
+ return node.nodeValue || "";
186
+ }
187
+ /**
188
+ * Extracts all Elements from a `Rendered` value.
189
+ *
190
+ * @example
191
+ * ```ts
192
+ * import { getElements } from "@typed/template/Wire"
193
+ *
194
+ * const div = document.createElement("div")
195
+ * const span = document.createElement("span")
196
+ * const fragment = document.createDocumentFragment()
197
+ * fragment.appendChild(div)
198
+ * fragment.appendChild(span)
199
+ *
200
+ * const elements = getElements(fragment)
201
+ * console.log(elements.length) // 2
202
+ * ```
203
+ *
204
+ * @since 1.0.0
205
+ * @category utilities
206
+ */
207
+ export function getElements(node) {
208
+ if (isArray(node))
209
+ return node.flatMap(getElements);
210
+ if (isWire(node))
211
+ return getElements(node.valueOf());
212
+ if (isElement(node))
213
+ return [node];
214
+ if (isDocumentFragment(node))
215
+ return Array.from(node.childNodes ?? []).flatMap(getElements);
216
+ return [];
217
+ }
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Error thrown when a comment marker for a template part cannot be found during hydration.
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * import { CouldNotFindCommentError } from "@typed/template/errors"
7
+ *
8
+ * try {
9
+ * // Hydration code that might fail
10
+ * } catch (error) {
11
+ * if (error instanceof CouldNotFindCommentError) {
12
+ * console.error(`Part ${error.partIndex} comment not found`)
13
+ * }
14
+ * }
15
+ * ```
16
+ *
17
+ * @since 1.0.0
18
+ * @category errors
19
+ */
20
+ export declare class CouldNotFindCommentError extends Error {
21
+ readonly partIndex: number;
22
+ constructor(partIndex: number);
23
+ }
24
+ /**
25
+ * Error thrown when root elements for a template part cannot be found during hydration.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * import { CouldNotFindRootElement } from "@typed/template/errors"
30
+ *
31
+ * try {
32
+ * // Hydration code
33
+ * } catch (error) {
34
+ * if (error instanceof CouldNotFindRootElement) {
35
+ * console.error(`Root elements for part ${error.partIndex} not found`)
36
+ * }
37
+ * }
38
+ * ```
39
+ *
40
+ * @since 1.0.0
41
+ * @category errors
42
+ */
43
+ export declare class CouldNotFindRootElement extends Error {
44
+ readonly partIndex: number;
45
+ constructor(partIndex: number);
46
+ }
47
+ /**
48
+ * Error thrown when a comment marker for a `many()` list cannot be found during hydration.
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * import { CouldNotFindManyCommentError } from "@typed/template/errors"
53
+ *
54
+ * try {
55
+ * // Hydration code for many()
56
+ * } catch (error) {
57
+ * if (error instanceof CouldNotFindManyCommentError) {
58
+ * console.error(`Many comment for key ${error.manyIndex} not found`)
59
+ * }
60
+ * }
61
+ * ```
62
+ *
63
+ * @since 1.0.0
64
+ * @category errors
65
+ */
66
+ export declare class CouldNotFindManyCommentError extends Error {
67
+ readonly manyIndex: string;
68
+ constructor(manyIndex: string);
69
+ }
70
+ /**
71
+ * Error thrown when a template hash cannot be found in the DOM during hydration.
72
+ *
73
+ * @example
74
+ * ```ts
75
+ * import { CouldNotFindTemplateHashError } from "@typed/template/errors"
76
+ *
77
+ * try {
78
+ * // Hydration code
79
+ * } catch (error) {
80
+ * if (error instanceof CouldNotFindTemplateHashError) {
81
+ * console.error(`Template hash ${error.hash} not found`)
82
+ * }
83
+ * }
84
+ * ```
85
+ *
86
+ * @since 1.0.0
87
+ * @category errors
88
+ */
89
+ export declare class CouldNotFindTemplateHashError extends Error {
90
+ readonly hash: string;
91
+ constructor(hash: string);
92
+ }
93
+ /**
94
+ * Error thrown when the end marker of a template cannot be found during hydration.
95
+ *
96
+ * @example
97
+ * ```ts
98
+ * import { CouldNotFindTemplateEndError } from "@typed/template/errors"
99
+ *
100
+ * try {
101
+ * // Hydration code
102
+ * } catch (error) {
103
+ * if (error instanceof CouldNotFindTemplateEndError) {
104
+ * console.error(`End of template ${error.hash} not found`)
105
+ * }
106
+ * }
107
+ * ```
108
+ *
109
+ * @since 1.0.0
110
+ * @category errors
111
+ */
112
+ export declare class CouldNotFindTemplateEndError extends Error {
113
+ readonly hash: string;
114
+ constructor(hash: string);
115
+ }
116
+ declare const constructors: readonly [typeof CouldNotFindCommentError, typeof CouldNotFindRootElement, typeof CouldNotFindManyCommentError, typeof CouldNotFindTemplateHashError, typeof CouldNotFindTemplateEndError];
117
+ /**
118
+ * A union type of all hydration-related errors.
119
+ *
120
+ * @since 1.0.0
121
+ * @category errors
122
+ */
123
+ export type HydrationError = InstanceType<(typeof constructors)[number]>;
124
+ /**
125
+ * Checks if an error is a hydration error.
126
+ *
127
+ * @example
128
+ * ```ts
129
+ * import { isHydrationError } from "@typed/template/errors"
130
+ *
131
+ * try {
132
+ * // Hydration code
133
+ * } catch (error) {
134
+ * if (isHydrationError(error)) {
135
+ * console.error("Hydration failed:", error)
136
+ * }
137
+ * }
138
+ * ```
139
+ *
140
+ * @since 1.0.0
141
+ * @category guards
142
+ */
143
+ export declare function isHydrationError(e: unknown): e is HydrationError;
144
+ export {};
145
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBACf,SAAS,EAAE,MAAM;CAI9B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBACf,SAAS,EAAE,MAAM;CAI9B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBACf,SAAS,EAAE,MAAM;CAI9B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBACV,IAAI,EAAE,MAAM;CAIzB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBACV,IAAI,EAAE,MAAM;CAIzB;AAED,QAAA,MAAM,YAAY,4LAMR,CAAC;AAEX;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEzE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,cAAc,CAEhE"}
package/dist/errors.js ADDED
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Error thrown when a comment marker for a template part cannot be found during hydration.
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * import { CouldNotFindCommentError } from "@typed/template/errors"
7
+ *
8
+ * try {
9
+ * // Hydration code that might fail
10
+ * } catch (error) {
11
+ * if (error instanceof CouldNotFindCommentError) {
12
+ * console.error(`Part ${error.partIndex} comment not found`)
13
+ * }
14
+ * }
15
+ * ```
16
+ *
17
+ * @since 1.0.0
18
+ * @category errors
19
+ */
20
+ export class CouldNotFindCommentError extends Error {
21
+ partIndex;
22
+ constructor(partIndex) {
23
+ super(`Could not find comment for part ${partIndex}`);
24
+ this.partIndex = partIndex;
25
+ }
26
+ }
27
+ /**
28
+ * Error thrown when root elements for a template part cannot be found during hydration.
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * import { CouldNotFindRootElement } from "@typed/template/errors"
33
+ *
34
+ * try {
35
+ * // Hydration code
36
+ * } catch (error) {
37
+ * if (error instanceof CouldNotFindRootElement) {
38
+ * console.error(`Root elements for part ${error.partIndex} not found`)
39
+ * }
40
+ * }
41
+ * ```
42
+ *
43
+ * @since 1.0.0
44
+ * @category errors
45
+ */
46
+ export class CouldNotFindRootElement extends Error {
47
+ partIndex;
48
+ constructor(partIndex) {
49
+ super(`Could not find root elements for part ${partIndex}`);
50
+ this.partIndex = partIndex;
51
+ }
52
+ }
53
+ /**
54
+ * Error thrown when a comment marker for a `many()` list cannot be found during hydration.
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * import { CouldNotFindManyCommentError } from "@typed/template/errors"
59
+ *
60
+ * try {
61
+ * // Hydration code for many()
62
+ * } catch (error) {
63
+ * if (error instanceof CouldNotFindManyCommentError) {
64
+ * console.error(`Many comment for key ${error.manyIndex} not found`)
65
+ * }
66
+ * }
67
+ * ```
68
+ *
69
+ * @since 1.0.0
70
+ * @category errors
71
+ */
72
+ export class CouldNotFindManyCommentError extends Error {
73
+ manyIndex;
74
+ constructor(manyIndex) {
75
+ super(`Could not find comment for many part ${manyIndex}`);
76
+ this.manyIndex = manyIndex;
77
+ }
78
+ }
79
+ /**
80
+ * Error thrown when a template hash cannot be found in the DOM during hydration.
81
+ *
82
+ * @example
83
+ * ```ts
84
+ * import { CouldNotFindTemplateHashError } from "@typed/template/errors"
85
+ *
86
+ * try {
87
+ * // Hydration code
88
+ * } catch (error) {
89
+ * if (error instanceof CouldNotFindTemplateHashError) {
90
+ * console.error(`Template hash ${error.hash} not found`)
91
+ * }
92
+ * }
93
+ * ```
94
+ *
95
+ * @since 1.0.0
96
+ * @category errors
97
+ */
98
+ export class CouldNotFindTemplateHashError extends Error {
99
+ hash;
100
+ constructor(hash) {
101
+ super(`Could not find template hash ${hash}`);
102
+ this.hash = hash;
103
+ }
104
+ }
105
+ /**
106
+ * Error thrown when the end marker of a template cannot be found during hydration.
107
+ *
108
+ * @example
109
+ * ```ts
110
+ * import { CouldNotFindTemplateEndError } from "@typed/template/errors"
111
+ *
112
+ * try {
113
+ * // Hydration code
114
+ * } catch (error) {
115
+ * if (error instanceof CouldNotFindTemplateEndError) {
116
+ * console.error(`End of template ${error.hash} not found`)
117
+ * }
118
+ * }
119
+ * ```
120
+ *
121
+ * @since 1.0.0
122
+ * @category errors
123
+ */
124
+ export class CouldNotFindTemplateEndError extends Error {
125
+ hash;
126
+ constructor(hash) {
127
+ super(`Could not find end of template for hash ${hash}`);
128
+ this.hash = hash;
129
+ }
130
+ }
131
+ const constructors = [
132
+ CouldNotFindCommentError,
133
+ CouldNotFindRootElement,
134
+ CouldNotFindManyCommentError,
135
+ CouldNotFindTemplateHashError,
136
+ CouldNotFindTemplateEndError,
137
+ ];
138
+ /**
139
+ * Checks if an error is a hydration error.
140
+ *
141
+ * @example
142
+ * ```ts
143
+ * import { isHydrationError } from "@typed/template/errors"
144
+ *
145
+ * try {
146
+ * // Hydration code
147
+ * } catch (error) {
148
+ * if (isHydrationError(error)) {
149
+ * console.error("Hydration failed:", error)
150
+ * }
151
+ * }
152
+ * ```
153
+ *
154
+ * @since 1.0.0
155
+ * @category guards
156
+ */
157
+ export function isHydrationError(e) {
158
+ return constructors.some((c) => e instanceof c);
159
+ }
@@ -0,0 +1,15 @@
1
+ export * as EventHandler from "./EventHandler.js";
2
+ export * from "./EventSource.js";
3
+ export * from "./Html.js";
4
+ export * from "./HtmlChunk.js";
5
+ export * from "./HydrateContext.js";
6
+ export * from "./many.js";
7
+ export * from "./Parser.js";
8
+ export * from "./Render.js";
9
+ export * from "./Renderable.js";
10
+ export * from "./RenderEvent.js";
11
+ export * from "./RenderQueue.js";
12
+ export * from "./RenderTemplate.js";
13
+ export * from "./Template.js";
14
+ export * from "./Wire.js";
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,14 @@
1
+ export * as EventHandler from "./EventHandler.js";
2
+ export * from "./EventSource.js";
3
+ export * from "./Html.js";
4
+ export * from "./HtmlChunk.js";
5
+ export * from "./HydrateContext.js";
6
+ export * from "./many.js";
7
+ export * from "./Parser.js";
8
+ export * from "./Render.js";
9
+ export * from "./Renderable.js";
10
+ export * from "./RenderEvent.js";
11
+ export * from "./RenderQueue.js";
12
+ export * from "./RenderTemplate.js";
13
+ export * from "./Template.js";
14
+ export * from "./Wire.js";
@@ -0,0 +1,11 @@
1
+ import * as Effect from "effect/Effect";
2
+ export type IndexRefCounter = {
3
+ release: (index: number) => void;
4
+ expect: (count: number) => boolean;
5
+ wait: Effect.Effect<void>;
6
+ };
7
+ /**
8
+ * @internal
9
+ */
10
+ export declare const makeRefCounter: Effect.Effect<IndexRefCounter>;
11
+ //# sourceMappingURL=IndexRefCounter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IndexRefCounter.d.ts","sourceRoot":"","sources":["../../src/internal/IndexRefCounter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAuCzD,CAAC"}
@@ -0,0 +1,42 @@
1
+ import * as Deferred from "effect/Deferred";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Option from "effect/Option";
4
+ /**
5
+ * @internal
6
+ */
7
+ export const makeRefCounter = Effect.map(Deferred.make(), (deferred) => {
8
+ let expected = Option.none();
9
+ const indexes = new Set();
10
+ function isDone() {
11
+ if (Option.isSome(expected)) {
12
+ return indexes.size === expected.value;
13
+ }
14
+ else {
15
+ return false;
16
+ }
17
+ }
18
+ function release(index) {
19
+ indexes.add(index);
20
+ if (isDone()) {
21
+ return Deferred.doneUnsafe(deferred, Effect.void);
22
+ }
23
+ else {
24
+ return false;
25
+ }
26
+ }
27
+ function expect(count) {
28
+ expected = Option.some(count);
29
+ if (isDone()) {
30
+ Deferred.doneUnsafe(deferred, Effect.void);
31
+ return false;
32
+ }
33
+ else {
34
+ return true;
35
+ }
36
+ }
37
+ return {
38
+ release,
39
+ expect,
40
+ wait: Deferred.await(deferred),
41
+ };
42
+ });
@@ -0,0 +1,6 @@
1
+ export interface ParentChildNodes {
2
+ readonly parentNode: Node | null;
3
+ readonly childNodes: ArrayLike<Node>;
4
+ }
5
+ export declare const findPath: (node: ParentChildNodes, path: ReadonlyArray<number>) => Node;
6
+ //# sourceMappingURL=ParentChildNodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParentChildNodes.d.ts","sourceRoot":"","sources":["../../src/internal/ParentChildNodes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;CACtC;AAED,eAAO,MAAM,QAAQ,GAAI,MAAM,gBAAgB,EAAE,MAAM,aAAa,CAAC,MAAM,CAAC,KAAG,IACN,CAAC"}
@@ -0,0 +1 @@
1
+ export const findPath = (node, path) => path.reduce(({ childNodes }, index) => childNodes[index], node);
@@ -0,0 +1,9 @@
1
+ export declare class PathStack {
2
+ path: Array<number>;
3
+ inc(): void;
4
+ push(): void;
5
+ pop(): void;
6
+ toChunk(): Array<number>;
7
+ previousChunk(): Array<number>;
8
+ }
9
+ //# sourceMappingURL=PathStack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PathStack.d.ts","sourceRoot":"","sources":["../../src/internal/PathStack.ts"],"names":[],"mappings":"AAAA,qBAAa,SAAS;IACpB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAO;IAE1B,GAAG,IAAI,IAAI;IAIX,IAAI,IAAI,IAAI;IAIZ,GAAG,IAAI,IAAI;IAIX,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;IAIxB,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC;CAG/B"}
@@ -0,0 +1,18 @@
1
+ export class PathStack {
2
+ path = [0];
3
+ inc() {
4
+ this.path[this.path.length - 1] += 1;
5
+ }
6
+ push() {
7
+ this.path.push(0);
8
+ }
9
+ pop() {
10
+ this.path.pop();
11
+ }
12
+ toChunk() {
13
+ return this.path.slice(0);
14
+ }
15
+ previousChunk() {
16
+ return this.path.slice(0, -1);
17
+ }
18
+ }
@@ -0,0 +1,3 @@
1
+ import type * as Template from "../Template.js";
2
+ export declare function buildTemplateFragment(document: Document, template: Template.Template): DocumentFragment;
3
+ //# sourceMappingURL=buildTemplateFragement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTemplateFragement.d.ts","sourceRoot":"","sources":["../../src/internal/buildTemplateFragement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAEhD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAC1B,gBAAgB,CAMlB"}