@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
@@ -1,76 +0,0 @@
1
- import { compact, FxEffectBase } from "@typed/fx/Fx";
2
- import * as RefSubject from "@typed/fx/RefSubject";
3
- import * as Effect from "effect/Effect";
4
- import { dual } from "effect/Function";
5
- import * as Option from "effect/Option";
6
- import { hasProperty } from "effect/Predicate";
7
- import { ElementSource, getElements } from "./ElementSource.js";
8
- import { adjustTime } from "./internal/utils.js";
9
- export const ElementRefTypeId = Symbol.for("@typed/template/ElementRef");
10
- const strictEqual = Option.getEquivalence((a, b) => a === b);
11
- /**
12
- * @since 1.0.0
13
- */
14
- export function make() {
15
- return Effect.map(RefSubject.of(Option.none(), { eq: strictEqual }), (ref) => new ElementRefImpl(ref));
16
- }
17
- /**
18
- * @since 1.0.0
19
- */
20
- export function of(rendered) {
21
- return Effect.map(RefSubject.of(Option.some(rendered), { eq: strictEqual }), (ref) => new ElementRefImpl(ref));
22
- }
23
- // @ts-expect-error does not implement Placeholder
24
- class ElementRefImpl extends FxEffectBase {
25
- ref;
26
- [ElementRefTypeId];
27
- source;
28
- query;
29
- events;
30
- elements;
31
- version;
32
- dispatchEvent;
33
- constructor(ref) {
34
- super();
35
- this.ref = ref;
36
- this[ElementRefTypeId] = ref;
37
- this.source = ElementSource(RefSubject.compact(ref));
38
- this.query = this.source.query;
39
- this.events = this.source.events;
40
- this.elements = this.source.elements;
41
- this.dispatchEvent = this.source.dispatchEvent;
42
- this.version = ref.version;
43
- }
44
- toFx() {
45
- return compact(this.ref);
46
- }
47
- toEffect() {
48
- return Effect.flatten(this.ref);
49
- }
50
- }
51
- /**
52
- * @since 1.0.0
53
- */
54
- export const set = dual(2, function set(elementRef, value) {
55
- return Effect.as(RefSubject.set(elementRef[ElementRefTypeId], Option.some(value)), value);
56
- });
57
- /**
58
- * @since 1.0.0
59
- */
60
- export function dispatchEvent(ref, event) {
61
- return ref.pipe(Effect.flatMap((rendered) => {
62
- const elements = getElements(rendered);
63
- if (elements.length === 0)
64
- return Option.none();
65
- // TODO: How should we manage multiple elements?
66
- return Effect.sync(() => elements[0].dispatchEvent(event));
67
- }),
68
- // Allow changes to take place
69
- Effect.zipRight(adjustTime(1)),
70
- // Allow additional fibers to start
71
- Effect.zipRight(adjustTime(1)));
72
- }
73
- export function isElementRef(value) {
74
- return hasProperty(value, ElementRefTypeId);
75
- }
76
- //# sourceMappingURL=ElementRef.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ElementRef.js","sourceRoot":"","sources":["../../src/ElementRef.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;AAIlD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AAkBxE,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAE5D;;GAEG;AACH,MAAM,UAAU,IAAI;IAClB,OAAO,MAAM,CAAC,GAAG,CACf,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAK,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EACpD,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,GAAG,CAAyB,CACzD,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,EAAE,CAAqB,QAAW;IAChD,OAAO,MAAM,CAAC,GAAG,CACf,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAC5D,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,GAAG,CAAyB,CACzD,CAAA;AACH,CAAC;AAED,kDAAkD;AAClD,MAAM,cAAmC,SAAQ,YAAqE;IAgB/F;IAbZ,CAAC,gBAAgB,CAAC,CAAyC;IAE5D,MAAM,CAGb;IAEQ,KAAK,CAAwB;IAC7B,MAAM,CAAyB;IAC/B,QAAQ,CAA2B;IACnC,OAAO,CAA0B;IACjC,aAAa,CAAgC;IAEtD,YAAqB,GAA4C;QAC/D,KAAK,EAAE,CAAA;QADY,QAAG,GAAH,GAAG,CAAyC;QAE/D,IAAI,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAA;QACpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAA;QAC9C,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;IAC5B,CAAC;IAED,IAAI;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAED,QAAQ;QACN,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAGZ,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,CAAqB,UAAyB,EAAE,KAAQ;IAC9E,OAAO,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AAC3F,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,UAAU,aAAa,CAAqB,GAAkB,EAAE,KAAY;IAChF,OAAO,GAAG,CAAC,IAAI,CACb,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;QACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAA;QAC/C,gDAAgD;QAChD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5D,CAAC,CAAC;IACF,8BAA8B;IAC9B,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,mCAAmC;IACnC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAC/B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;AAC7C,CAAC"}
@@ -1,240 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import { addEventListener } from "@typed/dom/EventTarget";
5
- import * as Fx from "@typed/fx/Fx";
6
- import { FxEffectBase } from "@typed/fx/Fx";
7
- import * as Versioned from "@typed/fx/Versioned";
8
- import { isWire } from "@typed/wire";
9
- import * as Effect from "effect/Effect";
10
- import { pipe } from "effect/Function";
11
- import { adjustTime } from "./internal/utils.js";
12
- import * as RefSubject from "@typed/fx/RefSubject";
13
- /**
14
- * @since 1.0.0
15
- */
16
- export function ElementSource(rootElement) {
17
- return new ElementSourceImpl(rootElement);
18
- }
19
- /**
20
- * @since 1.0.0
21
- */
22
- export function fromElement(rootElement) {
23
- return ElementSourceImpl.fromElement(rootElement);
24
- }
25
- /**
26
- * @since 1.0.0
27
- */
28
- export const ROOT_CSS_SELECTOR = `:root`;
29
- /**
30
- * @since 1.0.0
31
- */
32
- export function getElements(element) {
33
- if (Array.isArray(element))
34
- return element.flatMap(getElements);
35
- if (isWire(element)) {
36
- return Array.from(element.valueOf().children);
37
- }
38
- if (isElement(element))
39
- return [element];
40
- if (isDocumentFragment(element)) {
41
- return Array.from(element.children);
42
- }
43
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
44
- if (element.parentElement)
45
- return [element.parentElement];
46
- return [];
47
- }
48
- function findMostSpecificElement(cssSelectors) {
49
- return function (element) {
50
- const elements = getElements(element);
51
- for (let i = 0; i < cssSelectors.length; ++i) {
52
- const cssSelector = dropLast(i, cssSelectors).join(" ");
53
- for (let j = 0; j < elements.length; ++j) {
54
- const node = elements[j].querySelector(cssSelector);
55
- if (node)
56
- return node;
57
- }
58
- }
59
- return element;
60
- };
61
- }
62
- function findMatchingElements(cssSelectors) {
63
- if (cssSelectors.length === 0)
64
- return getElements;
65
- const cssSelector = cssSelectors.join(" ");
66
- return function (element) {
67
- const elements = getElements(element);
68
- const nodes = elements.flatMap((element) => Array.from(element.querySelectorAll(cssSelector)));
69
- const matchedElements = elements.filter((element) => element.matches(cssSelector));
70
- if (matchedElements.length > 0)
71
- return [...matchedElements, ...nodes];
72
- return nodes;
73
- };
74
- }
75
- function dropLast(i, cssSelectors) {
76
- return cssSelectors.slice(0, cssSelectors.length - i);
77
- }
78
- function makeEventStream(cssSelectors, eventName, options = {}) {
79
- return function (element) {
80
- const { capture } = options;
81
- const cssSelector = cssSelectors.join(" ");
82
- const lastTwoCssSelectors = cssSelectors.slice(-2).join("");
83
- const elements = getElements(element);
84
- const event$ = Fx.mergeAll(elements.map((element) => Fx.filter(Fx.make((sink) => Effect.scoped(Effect.zipRight(addEventListener(element, {
85
- eventName,
86
- handler: (ev) => sink.onSuccess(ev)
87
- }), Effect.never))), (event) => ensureMatches(cssSelector, element, event, capture) ||
88
- ensureMatches(lastTwoCssSelectors, element, event, capture))));
89
- if (capture) {
90
- return pipe(event$, Fx.map(findCurrentTarget(cssSelector, element)));
91
- }
92
- return event$;
93
- };
94
- }
95
- function makeElementEventStream(currentTarget, eventName, options = {}) {
96
- return function (rendered) {
97
- const { capture } = options;
98
- const elements = getElements(rendered);
99
- const event$ = Fx.mergeAll(elements.map((element) => Fx.filter(Fx.make((sink) => Effect.scoped(Effect.zipRight(addEventListener(element, {
100
- eventName,
101
- handler: (ev) => sink.onSuccess(ev)
102
- }), Effect.never))), (event) => event.target ? currentTarget.contains(event.target) : false)));
103
- if (capture) {
104
- return event$.pipe(Fx.map((ev) => cloneEvent(ev, currentTarget)));
105
- }
106
- return event$;
107
- };
108
- }
109
- function findCurrentTarget(cssSelector, element) {
110
- const elements = getElements(element);
111
- const length = elements.length;
112
- return function (event) {
113
- for (let i = 0; i < length; ++i) {
114
- const element = elements[i];
115
- const isCurrentTarget = !cssSelector || element.matches(cssSelector);
116
- if (isCurrentTarget)
117
- return cloneEvent(event, element);
118
- const nodes = element.querySelectorAll(cssSelector);
119
- for (let i = 0; i < nodes.length; ++i) {
120
- const node = nodes[i];
121
- const containsEventTarget = node.contains(event.target);
122
- if (containsEventTarget)
123
- return cloneEvent(event, node);
124
- }
125
- }
126
- return event;
127
- };
128
- }
129
- const EVENT_PROPERTY_TO_REPLACE = "currentTarget";
130
- function cloneEvent(event, currentTarget) {
131
- return new Proxy(event, {
132
- get(target, property) {
133
- return property === EVENT_PROPERTY_TO_REPLACE ? currentTarget : target[property];
134
- }
135
- });
136
- }
137
- function ensureMatches(cssSelector, element, ev, capture = false) {
138
- let target = ev.target;
139
- if (!cssSelector)
140
- return (capture && element.contains(target)) || target === element;
141
- for (; target && target !== element; target = target.parentElement) {
142
- if (target.matches(cssSelector))
143
- return true;
144
- }
145
- return element.matches(cssSelector);
146
- }
147
- function isDocumentFragment(element) {
148
- return element.nodeType === element.DOCUMENT_FRAGMENT_NODE;
149
- }
150
- function isElement(element) {
151
- return element.nodeType === element.ELEMENT_NODE;
152
- }
153
- /**
154
- * @internal
155
- * @since 1.0.0
156
- */
157
- // @ts-expect-error Doesn't implement Placeholder
158
- export class ElementSourceImpl extends FxEffectBase {
159
- rootElement;
160
- selector;
161
- bubbleMap = new Map();
162
- captureMap = new Map();
163
- elements;
164
- version;
165
- constructor(rootElement, selector = CssSelectors([])) {
166
- super();
167
- this.rootElement = rootElement;
168
- this.selector = selector;
169
- this.query = this.query.bind(this);
170
- this.events = this.events.bind(this);
171
- this.elements = this.selector._tag === "css" ?
172
- RefSubject.map(this.rootElement, findMatchingElements(this.selector.selectors)) :
173
- RefSubject.filterMapEffect(Versioned.of(this.selector.element), (x) => Effect.succeedSome([x]));
174
- this.version = this.elements.version;
175
- }
176
- static fromElement(rootElement) {
177
- return new ElementSourceImpl(RefSubject.filterMapEffect(Versioned.of(rootElement), Effect.succeedSome));
178
- }
179
- toEffect() {
180
- return this.elements;
181
- }
182
- toFx() {
183
- return this.elements;
184
- }
185
- query(selector) {
186
- if (selector === ROOT_CSS_SELECTOR) {
187
- return this;
188
- }
189
- else if (typeof selector === "string") {
190
- if (this.selector._tag === "css") {
191
- return new ElementSourceImpl(this.rootElement, CssSelectors([...this.selector.selectors, selector]));
192
- }
193
- else {
194
- return ElementSourceImpl.fromElement(this.selector.element).query(selector);
195
- }
196
- }
197
- else {
198
- return new ElementSourceImpl(this.rootElement, ElementSelector(selector));
199
- }
200
- }
201
- events(type, options) {
202
- const capture = options?.capture === true;
203
- const map = capture ? this.captureMap : this.bubbleMap;
204
- let current = map.get(type);
205
- if (current === undefined) {
206
- if (this.selector._tag === "css") {
207
- current = RefSubject.map(this.rootElement, findMostSpecificElement(this.selector.selectors)).pipe(Fx.switchMap(makeEventStream(this.selector.selectors, type, options)), Fx.multicast);
208
- }
209
- else {
210
- current = this.rootElement.pipe(Fx.switchMap(makeElementEventStream(this.selector.element, type, options)), Fx.multicast);
211
- }
212
- map.set(type, current);
213
- }
214
- return current;
215
- }
216
- dispatchEvent(event, wait) {
217
- return Effect.zipRight(Effect.flatMap(this.elements, (elements) => Effect.sync(() => elements.length > 0 ? elements[0].dispatchEvent(event) : null)),
218
- // Allow time to move forward
219
- adjustTime(wait));
220
- }
221
- }
222
- /**
223
- * @since 1.0.0
224
- */
225
- export function CssSelectors(selectors) {
226
- return {
227
- _tag: "css",
228
- selectors
229
- };
230
- }
231
- /**
232
- * @since 1.0.0
233
- */
234
- export function ElementSelector(element) {
235
- return {
236
- _tag: "element",
237
- element
238
- };
239
- }
240
- //# sourceMappingURL=ElementSource.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ElementSource.js","sourceRoot":"","sources":["../../src/ElementSource.ts"],"names":[],"mappings":"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"}
package/dist/esm/Entry.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Entry.js","sourceRoot":"","sources":["../../src/Entry.ts"],"names":[],"mappings":""}
@@ -1,68 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import { isUsingKeyModifier } from "@typed/dom/EventTarget";
5
- import * as Effect from "effect/Effect";
6
- /**
7
- * @since 1.0.0
8
- */
9
- export const EventHandlerTypeId = Symbol.for("@typed/template/EventHandler");
10
- /**
11
- * @since 1.0.0
12
- */
13
- export function make(handler, options) {
14
- return {
15
- [EventHandlerTypeId]: EventHandlerTypeId,
16
- handler,
17
- options
18
- };
19
- }
20
- /**
21
- * @since 1.0.0
22
- */
23
- export function preventDefault(handler, options) {
24
- return make((ev) => (ev.preventDefault(), handler(ev)), options);
25
- }
26
- /**
27
- * @since 1.0.0
28
- */
29
- export function stopPropagation(handler, options) {
30
- return make((ev) => (ev.stopPropagation(), handler(ev)), options);
31
- }
32
- /**
33
- * @since 1.0.0
34
- */
35
- export function stopImmediatePropagation(handler, options) {
36
- return make((ev) => (ev.stopImmediatePropagation(), handler(ev)), options);
37
- }
38
- function handleEventOptions(eventOptions, ev) {
39
- if (eventOptions.preventDefault)
40
- ev.preventDefault();
41
- if (eventOptions.stopPropagation)
42
- ev.stopPropagation();
43
- if (eventOptions.stopImmediatePropagation)
44
- ev.stopImmediatePropagation();
45
- return true;
46
- }
47
- /**
48
- * @since 1.0.0
49
- */
50
- export function target(eventOptions) {
51
- return (handler, options) => {
52
- return make(eventOptions ?
53
- (ev) => {
54
- handleEventOptions(eventOptions, ev);
55
- return handler(ev);
56
- } :
57
- handler, options);
58
- };
59
- }
60
- /**
61
- * @since 1.0.0
62
- */
63
- export function keys(...keys) {
64
- return (handler, options) => make((ev) => !isUsingKeyModifier(ev) && keys.includes(ev.key)
65
- ? (options && handleEventOptions(options, ev), handler(ev))
66
- : Effect.void, options);
67
- }
68
- //# sourceMappingURL=EventHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EventHandler.js","sourceRoot":"","sources":["../../src/EventHandler.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAwB,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACjF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;AA4B5E;;GAEG;AACH,MAAM,UAAU,IAAI,CAClB,OAAoD,EACpD,OAAiC;IAEjC,OAAO;QACL,CAAC,kBAAkB,CAAC,EAAE,kBAAkB;QACxC,OAAO;QACP,OAAO;KACD,CAAA;AACV,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAoD,EACpD,OAAiC;IAEjC,OAAO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAoD,EACpD,OAAiC;IAEjC,OAAO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,eAAe,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAoD,EACpD,OAAiC;IAEjC,OAAO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,wBAAwB,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AAC5E,CAAC;AAWD,SAAS,kBAAkB,CACzB,YAA0B,EAC1B,EAAM;IAEN,IAAI,YAAY,CAAC,cAAc;QAAE,EAAE,CAAC,cAAc,EAAE,CAAA;IACpD,IAAI,YAAY,CAAC,eAAe;QAAE,EAAE,CAAC,eAAe,EAAE,CAAA;IACtD,IAAI,YAAY,CAAC,wBAAwB;QAAE,EAAE,CAAC,wBAAwB,EAAE,CAAA;IAExE,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAwB,YAI7C;IACC,OAAO,CACL,OAAwE,EACxE,OAAiC,EACW,EAAE;QAC9C,OAAO,IAAI,CACT,YAAY,CAAC,CAAC;YACZ,CAAC,EAAE,EAAE,EAAE;gBACL,kBAAkB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;gBACpC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAA;YACpB,CAAC,CAAC,CAAC;YACH,OAAO,EACT,OAAO,CACR,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,IAAI,CAAqC,GAAG,IAAU;IACpE,OAAO,CACL,OAAuF,EACvF,OAAgD,EACb,EAAE,CACrC,IAAI,CACF,CAAC,EAAiB,EAAE,EAAE,CACpB,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC;QAC9C,CAAC,CAAC,CAAC,OAAO,IAAI,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,EAAS,CAAC,CAAC;QAClE,CAAC,CAAC,MAAM,CAAC,IAAI,EACjB,OAAO,CACR,CAAA;AACL,CAAC"}
package/dist/esm/Html.js DELETED
@@ -1,230 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import * as Fx from "@typed/fx/Fx";
5
- import * as Sink from "@typed/fx/Sink";
6
- import { FxTypeId } from "@typed/fx/TypeId";
7
- import { join } from "effect/Array";
8
- import * as Effect from "effect/Effect";
9
- import * as Layer from "effect/Layer";
10
- import * as Option from "effect/Option";
11
- import { isDirective } from "./Directive.js";
12
- import { templateToHtmlChunks } from "./HtmlChunk.js";
13
- import { parse } from "./internal/parser2.js";
14
- import { partNodeToPart } from "./internal/server.js";
15
- import { isNullOrUndefined } from "./internal/v2/helpers.js";
16
- import { TEXT_START, TYPED_HOLE_END, TYPED_HOLE_START } from "./Meta.js";
17
- import * as RenderContext from "./RenderContext.js";
18
- import { HtmlRenderEvent, isHtmlRenderEvent } from "./RenderEvent.js";
19
- import * as RenderQueue from "./RenderQueue.js";
20
- import { RenderTemplate } from "./RenderTemplate.js";
21
- const toHtml = (r) => r === null ? "" : r.html;
22
- /**
23
- * @since 1.0.0
24
- */
25
- export const serverLayer = Layer.provideMerge(RenderTemplate.layer(RenderContext.RenderContext.with(renderHtmlTemplate)), RenderContext.server).pipe(Layer.provideMerge(RenderQueue.sync));
26
- /**
27
- * @since 1.0.0
28
- */
29
- export const staticLayer = Layer.provideMerge(RenderTemplate.layer(RenderContext.RenderContext.with(renderHtmlTemplate)), RenderContext.static).pipe(Layer.provideMerge(RenderQueue.sync));
30
- /**
31
- * @since 1.0.0
32
- */
33
- export function renderToHtml(fx) {
34
- return Fx.map(fx, toHtml);
35
- }
36
- /**
37
- * @since 1.0.0
38
- */
39
- export function renderToHtmlString(fx) {
40
- return Effect.map(Fx.toReadonlyArray(renderToHtml(fx)), join(""));
41
- }
42
- /**
43
- * @since 1.0.0
44
- */
45
- export function renderHtmlTemplate(ctx) {
46
- return (templateStrings, values) => {
47
- const isStatic = ctx.environment === "static" || ctx.environment === "test:static";
48
- const entry = getServerEntry(templateStrings, ctx.templateCache, isStatic);
49
- if (values.length === 0) {
50
- return Fx.succeed(HtmlRenderEvent(entry.chunks[0].value, true));
51
- }
52
- else {
53
- const lastIndex = entry.chunks.length - 1;
54
- return Fx.mergeOrdered(entry.chunks.map((chunk, i) => renderChunk(chunk, values, isStatic, i === lastIndex))).pipe(Fx.filter((x) => x.html.length > 0), Fx.dropAfter((x) => x.done));
55
- }
56
- };
57
- }
58
- function renderChunk(chunk, values, isStatic, done) {
59
- if (chunk._tag === "text") {
60
- return Fx.succeed(HtmlRenderEvent(chunk.value, done));
61
- }
62
- else if (chunk._tag === "part") {
63
- return renderPart(chunk, values, isStatic, done);
64
- }
65
- else {
66
- return renderSparsePart(chunk, values, done);
67
- }
68
- }
69
- function renderNode(renderable, isStatic, done) {
70
- switch (typeof renderable) {
71
- case "string":
72
- case "number":
73
- case "boolean":
74
- case "bigint":
75
- return Fx.succeed(HtmlRenderEvent((isStatic ? "" : TEXT_START) + renderable.toString(), done));
76
- case "undefined":
77
- case "object":
78
- return renderObject(renderable, isStatic, done);
79
- default:
80
- return Fx.empty;
81
- }
82
- }
83
- function renderObject(renderable, isStatic, done) {
84
- if (isNullOrUndefined(renderable)) {
85
- return isStatic ? Fx.empty : Fx.succeed(HtmlRenderEvent(TEXT_START, done));
86
- }
87
- else if (Array.isArray(renderable)) {
88
- const lastIndex = renderable.length - 1;
89
- return Fx.mergeOrdered(renderable.map((r, i) => renderNode(r, isStatic, done && i === lastIndex)));
90
- }
91
- else if (Effect.isEffect(renderable)) {
92
- return Fx.fromFxEffect(Effect.map(renderable, (r) => renderNode(r, isStatic, done)));
93
- }
94
- else if (Fx.isFx(renderable)) {
95
- return takeOneIfNotRenderEvent(renderable, isStatic, done);
96
- }
97
- else if (isHtmlRenderEvent(renderable)) {
98
- if (done) {
99
- return Fx.succeed(renderable);
100
- }
101
- else {
102
- return Fx.succeed(HtmlRenderEvent(renderable.html, done));
103
- }
104
- }
105
- else {
106
- return Fx.empty;
107
- }
108
- }
109
- function renderPart(chunk, values, isStatic, done) {
110
- const { node, render } = chunk;
111
- const renderable = values[node.index];
112
- // Refs and events are not rendered into HTML
113
- if (isDirective(renderable)) {
114
- return Fx.make((sink) => {
115
- const part = partNodeToPart(node, (value) => sink.onSuccess(HtmlRenderEvent(render(value), done)));
116
- return Effect.catchAllCause(renderable(part), sink.onFailure);
117
- });
118
- }
119
- else if (node._tag === "node") {
120
- if (isStatic)
121
- return renderNode(renderable, isStatic, done);
122
- let first = true;
123
- return Fx.continueWith(Fx.map(renderNode(renderable, isStatic, true), (x) => {
124
- if (x.done) {
125
- const y = HtmlRenderEvent((first ? TYPED_HOLE_START(node.index) : "") +
126
- x.html +
127
- TYPED_HOLE_END(node.index), done);
128
- first = false;
129
- return y;
130
- }
131
- else {
132
- if (first) {
133
- first = false;
134
- return HtmlRenderEvent(TYPED_HOLE_START(node.index) + x.html, false);
135
- }
136
- return x;
137
- }
138
- }), () => first
139
- ? Fx.succeed(HtmlRenderEvent(TYPED_HOLE_START(node.index) + TYPED_HOLE_END(node.index), done))
140
- : Fx.empty);
141
- }
142
- else if (node._tag === "properties") {
143
- if (renderable == null)
144
- return Fx.empty;
145
- return Fx.mergeAll(Object.entries(renderable).map(([key, renderable]) => {
146
- return Fx.filterMap(Fx.take(unwrapRenderable(renderable), 1), (value) => {
147
- const s = render({ [key]: value });
148
- return s ? Option.some(HtmlRenderEvent(s, done)) : Option.none();
149
- });
150
- }));
151
- }
152
- else {
153
- if (renderable === null) {
154
- return Fx.succeed(HtmlRenderEvent(render(renderable), done));
155
- }
156
- const html = Fx.filterMap(Fx.take(unwrapRenderable(renderable), 1), (value) => {
157
- const s = render(value);
158
- return s ? Option.some(HtmlRenderEvent(s, done)) : Option.none();
159
- });
160
- return html;
161
- }
162
- }
163
- function renderSparsePart(chunk, values, done) {
164
- const { node, render } = chunk;
165
- return Fx.map(Fx.take(Fx.tuple(node.nodes.map((node) => {
166
- if (node._tag === "text")
167
- return Fx.succeed(node.value);
168
- const renderable = values[node.index];
169
- if (isDirective(renderable)) {
170
- return Fx.make((sink) => Effect.catchAllCause(renderable(partNodeToPart(node, (value) => sink.onSuccess(value))), sink.onFailure));
171
- }
172
- return unwrapRenderable(renderable);
173
- })), 1), (value) => HtmlRenderEvent(render(value), done));
174
- }
175
- function takeOneIfNotRenderEvent(fx, isStatic, done) {
176
- return Fx.make((sink) => Effect.uninterruptible(Sink.withEarlyExit(sink, (sink) => fx.run(Sink.make(sink.onFailure, (event) => {
177
- if (isHtmlRenderEvent(event)) {
178
- if (done) {
179
- return sink.onSuccess(event);
180
- }
181
- else {
182
- return sink.onSuccess(HtmlRenderEvent(event.html, false));
183
- }
184
- }
185
- if (isNullOrUndefined(event)) {
186
- return sink.earlyExit;
187
- }
188
- return Effect.zipRight(sink.onSuccess(HtmlRenderEvent((isStatic ? "" : TEXT_START) + String(event), done)), sink.earlyExit);
189
- })))));
190
- }
191
- function getServerEntry(templateStrings, templateCache, isStatic) {
192
- const cached = templateCache.get(templateStrings);
193
- if (cached === undefined || cached._tag === "Browser") {
194
- const template = parse(templateStrings);
195
- const entry = {
196
- _tag: "Server",
197
- template,
198
- chunks: templateToHtmlChunks(template, isStatic)
199
- };
200
- templateCache.set(templateStrings, entry);
201
- return entry;
202
- }
203
- else {
204
- return cached;
205
- }
206
- }
207
- function unwrapRenderable(renderable) {
208
- switch (typeof renderable) {
209
- case "undefined":
210
- case "object": {
211
- if (isNullOrUndefined(renderable)) {
212
- return Fx.null;
213
- }
214
- else if (Array.isArray(renderable)) {
215
- return Fx.mergeOrdered(renderable.map((r) => takeOneIfNotRenderEvent(unwrapRenderable(r), true, false)));
216
- }
217
- else if (Effect.EffectTypeId in renderable) {
218
- return Fx.fromFxEffect(Effect.map(renderable, (unwrapRenderable)));
219
- }
220
- else if (FxTypeId in renderable) {
221
- return renderable;
222
- }
223
- else
224
- return Fx.succeed(renderable);
225
- }
226
- default:
227
- return Fx.succeed(renderable);
228
- }
229
- }
230
- //# sourceMappingURL=Html.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Html.js","sourceRoot":"","sources":["../../src/Html.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAG5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAGxE,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAErE,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,MAAM,GAAG,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAqB,CAAC,IAAI,CAAA;AAEvF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAKpB,KAAK,CAAC,YAAY,CACpB,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAC1E,aAAa,CAAC,MAAM,CACrB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;AAE5C;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAKpB,KAAK,CAAC,YAAY,CACpB,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAC1E,aAAa,CAAC,MAAM,CACrB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;AAE5C;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,EAAmC;IAEnC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,EAAmC;IAEnC,OAAO,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAgC;IACjE,OAAO,CACL,eAAqC,EACrC,MAAc,EAMd,EAAE;QACF,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,KAAK,QAAQ,IAAI,GAAG,CAAC,WAAW,KAAK,aAAa,CAAA;QAClF,MAAM,KAAK,GAAG,cAAc,CAAC,eAAe,EAAE,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAE1E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC,OAAO,CACf,eAAe,CAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAC5D,CAAA;QACH,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;YACzC,OAAO,EAAE,CAAC,YAAY,CACpB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAC5B,WAAW,CAGT,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC,CAC5C,CACF,CAAC,IAAI,CACJ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EACnC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAC5B,CAAA;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAClB,KAAgB,EAChB,MAA2C,EAC3C,QAAiB,EACjB,IAAa;IAEb,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IACvD,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjC,OAAO,UAAU,CAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IACxD,CAAC;SAAM,CAAC;QACN,OAAO,gBAAgB,CAAO,KAAK,EAAE,MAAM,EAAE,IAAI,CAIhD,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CACjB,UAAgC,EAChC,QAAiB,EACjB,IAAa;IAEb,QAAQ,OAAO,UAAU,EAAE,CAAC;QAC1B,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC,OAAO,CACf,eAAe,CACb,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,EACpD,IAAI,CACL,CACF,CAAA;QACH,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;QACjD;YACE,OAAO,EAAE,CAAC,KAAK,CAAA;IACnB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,UAAqC,EACrC,QAAiB,EACjB,IAAa;IAEb,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAA;IAC5E,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;QACvC,OAAO,EAAE,CAAC,YAAY,CACpB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CACpE,CAAA;IACV,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,CAAC,YAAY,CACpB,MAAM,CAAC,GAAG,CAAC,UAA6C,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CACtG,CAAA;IACH,CAAC;SAAM,IAAI,EAAE,CAAC,IAAI,CAAoB,UAAU,CAAC,EAAE,CAAC;QAClD,OAAO,uBAAuB,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC5D,CAAC;SAAM,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QACzC,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAC/B,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC,KAAK,CAAA;IACjB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CACjB,KAAgB,EAChB,MAA2C,EAC3C,QAAiB,EACjB,IAAa;IAEb,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IAC9B,MAAM,UAAU,GAAyB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAE3D,6CAA6C;IAC7C,IAAI,WAAW,CAAO,UAAU,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,CAAC,IAAI,CACZ,CAAC,IAAmC,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;YAElG,OAAO,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAC/D,CAAC,CACF,CAAA;IACH,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAChC,IAAI,QAAQ;YAAE,OAAO,UAAU,CAAO,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;QACjE,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,OAAO,EAAE,CAAC,YAAY,CACpB,EAAE,CAAC,GAAG,CAAC,UAAU,CAAO,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YACzD,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACX,MAAM,CAAC,GAAG,eAAe,CACvB,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzC,CAAC,CAAC,IAAI;oBACN,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAC5B,IAAI,CACL,CAAA;gBACD,KAAK,GAAG,KAAK,CAAA;gBACb,OAAO,CAAC,CAAA;YACV,CAAC;iBAAM,CAAC;gBACN,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,GAAG,KAAK,CAAA;oBACb,OAAO,eAAe,CACpB,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EACrC,KAAK,CACN,CAAA;gBACH,CAAC;gBACD,OAAO,CAAC,CAAA;YACV,CAAC;QACH,CAAC,CAAC,EACF,GAAG,EAAE,CACH,KAAK;YACH,CAAC,CAAC,EAAE,CAAC,OAAO,CACV,eAAe,CACb,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EACzD,IAAI,CACL,CACF;YACD,CAAC,CAAC,EAAE,CAAC,KAAK,CACf,CAAA;IACH,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACtC,IAAI,UAAU,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC,KAAK,CAAA;QAEvC,OAAO,EAAE,CAAC,QAAQ,CAChB,MAAM,CAAC,OAAO,CAAC,UAAkD,CAAC,CAAC,GAAG,CACpE,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE;YACpB,OAAO,EAAE,CAAC,SAAS,CACjB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAO,UAAU,CAAC,EAAE,CAAC,CAAC,EAC9C,CAAC,KAAK,EAAE,EAAE;gBACR,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;gBAElC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YAClE,CAAC,CACF,CAAA;QACH,CAAC,CACF,CACF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;QAC9D,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CACvB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAO,UAAU,CAAC,EAAE,CAAC,CAAC,EAC9C,CAAC,KAAK,EAAE,EAAE;YACR,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YAEvB,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAClE,CAAC,CACF,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAsB,EACtB,MAA2C,EAC3C,IAAa;IAEb,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IAE9B,OAAO,EAAE,CAAC,GAAG,CACX,EAAE,CAAC,IAAI,CACL,EAAE,CAAC,KAAK,CACN,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEvD,MAAM,UAAU,GAA0B,MAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEpE,IAAI,WAAW,CAAO,UAAU,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,CAAC,IAAI,CAAgB,CAAC,IAA2B,EAAE,EAAE,CAC5D,MAAM,CAAC,aAAa,CAClB,UAAU,CACR,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CACvD,EACD,IAAI,CAAC,SAAS,CACf,CACF,CAAA;QACH,CAAC;QAED,OAAO,gBAAgB,CAAO,UAAU,CAAC,CAAA;IAC3C,CAAC,CAAC,CACH,EACD,CAAC,CACF,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAChD,CAAA;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,EAAkB,EAClB,QAAiB,EACjB,IAAa;IAEb,OAAO,EAAE,CAAC,IAAI,CAAwB,CAAC,IAAI,EAAE,EAAE,CAC7C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CACvD,EAAE,CAAC,GAAG,CACJ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QAClC,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAC9B,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;YAC3D,CAAC;QACH,CAAC;QAED,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CACpB,IAAI,CAAC,SAAS,CACZ,eAAe,CACb,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,EAC5C,IAAI,CACL,CACF,EACD,IAAI,CAAC,SAAS,CACf,CAAA;IACH,CAAC,CAAC,CACH,CAAC,CAAC,CACN,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CACrB,eAAqC,EACrC,aAA2D,EAC3D,QAAiB;IAEjB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAEjD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,CAAA;QACvC,MAAM,KAAK,GAAgB;YACzB,IAAI,EAAE,QAAQ;YACd,QAAQ;YACR,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC;SACjD,CAAA;QAED,aAAa,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;QAEzC,OAAO,KAAK,CAAA;IACd,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAA;IACf,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,UAAgC;IAEhC,QAAQ,OAAO,UAAU,EAAE,CAAC;QAC1B,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClC,OAAO,EAAE,CAAC,IAAI,CAAA;YAChB,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrC,OAAO,EAAE,CAAC,YAAY,CACpB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAC1E,CAAA;YACV,CAAC;iBAAM,IAAI,MAAM,CAAC,YAAY,IAAI,UAAU,EAAE,CAAC;gBAC7C,OAAO,EAAE,CAAC,YAAY,CACpB,MAAM,CAAC,GAAG,CAAC,UAAiB,EAAE,CAAA,gBAA0B,CAAA,CAAC,CAC1D,CAAA;YACH,CAAC;iBAAM,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;gBAClC,OAAO,UAAiB,CAAA;YAC1B,CAAC;;gBAAM,OAAO,EAAE,CAAC,OAAO,CAAC,UAAiB,CAAC,CAAA;QAC7C,CAAC;QACD;YACE,OAAO,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACjC,CAAC;AACH,CAAC"}