@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,254 +0,0 @@
1
- import type * as Cause from "effect/Cause"
2
- import * as Effect from "effect/Effect"
3
- import type { Scope } from "effect/Scope"
4
- import type { ElementSource } from "../../ElementSource.js"
5
- import type { EventHandler } from "../../EventHandler.js"
6
- import type * as Part from "../../Part.js"
7
- import { DEFAULT_PRIORITY } from "../../RenderQueue.js"
8
- import type * as SyncPart from "./SyncPart.js"
9
-
10
- const base = <T extends SyncPart.SyncPart["_tag"]>(tag: T) => (class Base {
11
- readonly _tag: T = tag
12
-
13
- constructor(
14
- readonly sync: Extract<SyncPart.SyncPart, { readonly _tag: T }>,
15
- readonly commit: (
16
- params: {
17
- previous: Extract<SyncPart.SyncPart, { readonly _tag: T }>["value"]
18
- value: Extract<SyncPart.SyncPart, { readonly _tag: T }>["value"]
19
- part: Extract<Part.Part, { readonly _tag: T }>
20
- },
21
- priority: number
22
- ) => Effect.Effect<void, never, Scope>
23
- ) {
24
- this.update = this.update.bind(this)
25
- }
26
-
27
- update(input: any, priority: number = DEFAULT_PRIORITY) {
28
- const current = this.sync.value
29
- if (this.sync.update(input)) {
30
- return this.commit(
31
- {
32
- previous: current,
33
- value: input,
34
- part: this as any
35
- } as any,
36
- priority
37
- )
38
- }
39
- return Effect.void
40
- }
41
-
42
- get value() {
43
- return this.sync.value as Extract<Part.Part, { readonly _tag: T }>["value"]
44
- }
45
- })
46
-
47
- export class AttributePartImpl extends base("attribute") implements Part.AttributePart {
48
- readonly name: string
49
- readonly index: number
50
-
51
- constructor(
52
- readonly sync: SyncPart.AttributeSyncPart,
53
- commit: (
54
- params: {
55
- previous: SyncPart.AttributeSyncPart["value"]
56
- value: SyncPart.AttributeSyncPart["value"]
57
- part: Part.AttributePart
58
- },
59
- priority: number
60
- ) => Effect.Effect<void, never, Scope>
61
- ) {
62
- super(sync, commit)
63
- this.name = sync.name
64
- this.index = sync.index
65
- }
66
- }
67
-
68
- export class BooleanPartImpl extends base("boolean") implements Part.BooleanPart {
69
- readonly name: string
70
- readonly index: number
71
-
72
- constructor(
73
- readonly sync: SyncPart.BooleanSyncPart,
74
- commit: (
75
- params: {
76
- previous: SyncPart.BooleanSyncPart["value"]
77
- value: SyncPart.BooleanSyncPart["value"]
78
- part: Part.BooleanPart
79
- },
80
- priority: number
81
- ) => Effect.Effect<void, never, Scope>
82
- ) {
83
- super(sync, commit)
84
- this.name = sync.name
85
- this.index = sync.index
86
- }
87
- }
88
-
89
- export class ClassNamePartImpl extends base("className") implements Part.ClassNamePart {
90
- readonly index: number
91
-
92
- constructor(
93
- readonly sync: SyncPart.ClassNameSyncPart,
94
- commit: (
95
- params: {
96
- previous: SyncPart.ClassNameSyncPart["value"]
97
- value: SyncPart.ClassNameSyncPart["value"]
98
- part: Part.ClassNamePart
99
- },
100
- priority: number
101
- ) => Effect.Effect<void, never, Scope>
102
- ) {
103
- super(sync, commit)
104
- this.index = sync.index
105
- }
106
- }
107
-
108
- export class CommentPartImpl extends base("comment") implements Part.CommentPart {
109
- readonly index: number
110
-
111
- constructor(
112
- readonly sync: SyncPart.CommentSyncPart,
113
- commit: (
114
- params: {
115
- previous: SyncPart.CommentSyncPart["value"]
116
- value: SyncPart.CommentSyncPart["value"]
117
- part: Part.CommentPart
118
- },
119
- priority: number
120
- ) => Effect.Effect<void, never, Scope>
121
- ) {
122
- super(sync, commit)
123
- this.index = sync.index
124
- }
125
- }
126
-
127
- export class DataPartImpl extends base("data") implements Part.DataPart {
128
- readonly index: number
129
-
130
- constructor(
131
- readonly sync: SyncPart.DataSyncPart,
132
- commit: (
133
- params: {
134
- previous: SyncPart.DataSyncPart["value"]
135
- value: SyncPart.DataSyncPart["value"]
136
- part: Part.DataPart
137
- },
138
- priority: number
139
- ) => Effect.Effect<void, never, Scope>
140
- ) {
141
- super(sync, commit)
142
- this.index = sync.index
143
- }
144
- }
145
-
146
- export class EventPartImpl implements Part.EventPart {
147
- readonly _tag = "event"
148
- readonly value: Part.EventPart["value"] = null
149
-
150
- constructor(
151
- readonly name: string,
152
- readonly index: number,
153
- readonly source: ElementSource<any>,
154
- readonly onCause: <E>(cause: Cause.Cause<E>) => Effect.Effect<unknown>,
155
- readonly addEventListener: <Ev extends Event>(handler: EventHandler<Ev>) => void
156
- ) {
157
- }
158
- }
159
-
160
- export class NodePartImpl extends base("node") implements Part.NodePart {
161
- readonly index: number
162
-
163
- constructor(
164
- readonly sync: SyncPart.NodeSyncPart,
165
- commit: (
166
- params: {
167
- previous: SyncPart.NodeSyncPart["value"]
168
- value: SyncPart.NodeSyncPart["value"]
169
- part: Part.NodePart
170
- },
171
- priority: number
172
- ) => Effect.Effect<void, never, Scope>
173
- ) {
174
- super(sync, commit)
175
- this.index = sync.index
176
- }
177
- }
178
-
179
- export class PropertyPartImpl extends base("property") implements Part.PropertyPart {
180
- readonly name: string
181
- readonly index: number
182
-
183
- constructor(
184
- readonly sync: SyncPart.PropertySyncPart,
185
- commit: (
186
- params: {
187
- previous: SyncPart.PropertySyncPart["value"]
188
- value: SyncPart.PropertySyncPart["value"]
189
- part: Part.PropertyPart
190
- },
191
- priority: number
192
- ) => Effect.Effect<void, never, Scope>
193
- ) {
194
- super(sync, commit)
195
- this.name = sync.name
196
- this.index = sync.index
197
- }
198
- }
199
-
200
- export class RefPartImpl implements Part.RefPart {
201
- readonly _tag = "ref"
202
-
203
- constructor(readonly value: ElementSource<any>, readonly index: number) {}
204
- }
205
-
206
- export class TextPartImpl extends base("text") implements Part.TextPart {
207
- readonly index: number
208
-
209
- constructor(
210
- readonly sync: SyncPart.TextSyncPart,
211
- commit: (
212
- params: {
213
- previous: SyncPart.TextSyncPart["value"]
214
- value: SyncPart.TextSyncPart["value"]
215
- part: Part.TextPart
216
- },
217
- priority: number
218
- ) => Effect.Effect<void, never, Scope>
219
- ) {
220
- super(sync, commit)
221
- this.index = sync.index
222
- }
223
- }
224
-
225
- export function syncPartToPart<T extends SyncPart.SyncPart>(
226
- part: SyncPart.SyncPart,
227
- commit: (
228
- params: {
229
- previous: SyncPart.TextSyncPart["value"]
230
- value: SyncPart.TextSyncPart["value"]
231
- part: Extract<Part.Part, { readonly _tag: T["_tag"] }>
232
- },
233
- priority: number
234
- ) => Effect.Effect<void, never, Scope>
235
- ): Extract<Part.Part, { readonly _tag: T["_tag"] }> {
236
- switch (part._tag) {
237
- case "attribute":
238
- return new AttributePartImpl(part, commit as any) as any
239
- case "boolean":
240
- return new BooleanPartImpl(part, commit as any) as any
241
- case "className":
242
- return new ClassNamePartImpl(part, commit as any) as any
243
- case "comment":
244
- return new CommentPartImpl(part, commit as any) as any
245
- case "data":
246
- return new DataPartImpl(part, commit as any) as any
247
- case "node":
248
- return new NodePartImpl(part, commit as any) as any
249
- case "property":
250
- return new PropertyPartImpl(part, commit as any) as any
251
- case "text":
252
- return new TextPartImpl(part, commit as any) as any
253
- }
254
- }
@@ -1,131 +0,0 @@
1
- import type { BrowserEntry } from "../../Entry.js"
2
- import type { RenderContext } from "../../RenderContext.js"
3
- import type * as Template from "../../Template.js"
4
- import { parse } from "../parser2.js"
5
-
6
- export function getBrowserEntry(
7
- document: Document,
8
- ctx: RenderContext,
9
- templateStrings: TemplateStringsArray
10
- ): BrowserEntry {
11
- const cached = ctx.templateCache.get(templateStrings)
12
-
13
- if (cached === undefined || cached._tag === "Server") {
14
- const template = parse(templateStrings)
15
- const content = buildTemplate(document, template)
16
- const entry: BrowserEntry = {
17
- _tag: "Browser",
18
- template,
19
- content
20
- }
21
-
22
- ctx.templateCache.set(templateStrings, entry)
23
-
24
- return entry
25
- } else {
26
- return cached
27
- }
28
- }
29
-
30
- export function buildTemplate(document: Document, { nodes }: Template.Template): DocumentFragment {
31
- const fragment = document.createDocumentFragment()
32
-
33
- for (let i = 0; i < nodes.length; ++i) {
34
- fragment.append(buildNode(document, nodes[i], false))
35
- }
36
-
37
- return fragment
38
- }
39
-
40
- function buildNode(document: Document, node: Template.Node, isSvgContext: boolean): globalThis.Node {
41
- switch (node._tag) {
42
- case "element":
43
- case "self-closing-element":
44
- case "text-only-element":
45
- return buildElement(document, node, isSvgContext)
46
- case "text":
47
- return document.createTextNode(node.value)
48
- case "comment":
49
- return document.createComment(node.value)
50
- case "sparse-comment":
51
- return document.createComment(`hole${node.nodes.map((n) => n._tag === "text" ? "" : n.index).join("")}`)
52
- // Create placeholders for these elements
53
- case "comment-part":
54
- case "node":
55
- return document.createComment(`hole${node.index}`)
56
- case "doctype":
57
- return document.implementation.createDocumentType(
58
- node.name,
59
- docTypeNameToPublicId(node.name),
60
- docTypeNameToSystemId(node.name)
61
- )
62
- }
63
- }
64
-
65
- function docTypeNameToPublicId(name: string): string {
66
- switch (name) {
67
- case "html":
68
- return "-//W3C//DTD HTML 4.01//EN"
69
- case "svg":
70
- return "-//W3C//DTD SVG 1.1//EN"
71
- case "math":
72
- return "-//W3C//DTD MathML 2.0//EN"
73
- default:
74
- return ""
75
- }
76
- }
77
-
78
- function docTypeNameToSystemId(name: string): string {
79
- switch (name) {
80
- // HTML5
81
- case "html":
82
- return "http://www.w3.org/TR/html4/strict.dtd"
83
- case "svg":
84
- return "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"
85
- case "math":
86
- return "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd"
87
- default:
88
- return ""
89
- }
90
- }
91
-
92
- const SVG_NAMESPACE = "http://www.w3.org/2000/svg"
93
-
94
- function buildElement(
95
- document: Document,
96
- node: Template.ElementNode | Template.SelfClosingElementNode | Template.TextOnlyElement,
97
- isSvgContext: boolean
98
- ): Element {
99
- const { _tag, attributes, tagName } = node
100
- const isSvg = isSvgContext ? tagName !== "foreignObject" : tagName === "svg"
101
- const element = isSvg
102
- ? document.createElementNS(SVG_NAMESPACE, tagName)
103
- : document.createElement(tagName)
104
-
105
- for (let i = 0; i < attributes.length; ++i) {
106
- const attr = attributes[i]
107
-
108
- // We only handle static attributes here, parts are handled elsewhere
109
- if (attr._tag === "attribute") {
110
- element.setAttribute(attr.name, attr.value)
111
- } else if (attr._tag === "boolean") {
112
- element.toggleAttribute(attr.name, true)
113
- }
114
- }
115
-
116
- if (_tag === "element") {
117
- element.append(...node.children.map((child) => buildNode(document, child, isSvg)))
118
- } else if (_tag === "text-only-element") {
119
- element.append(...node.children.map((child) => buildTextChild(document, child)))
120
- }
121
-
122
- return element
123
- }
124
-
125
- function buildTextChild(document: Document, node: Template.Text): globalThis.Node {
126
- if (node._tag === "text") {
127
- return document.createTextNode(node.value)
128
- }
129
-
130
- return document.createComment(`hole${node.index}`)
131
- }