@typed/template 0.1.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 (285) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +5 -0
  3. package/dist/cjs/Directive.js +76 -0
  4. package/dist/cjs/Directive.js.map +1 -0
  5. package/dist/cjs/ElementRef.js +83 -0
  6. package/dist/cjs/ElementRef.js.map +1 -0
  7. package/dist/cjs/ElementSource.js +244 -0
  8. package/dist/cjs/ElementSource.js.map +1 -0
  9. package/dist/cjs/Entry.js +6 -0
  10. package/dist/cjs/Entry.js.map +1 -0
  11. package/dist/cjs/EventHandler.js +65 -0
  12. package/dist/cjs/EventHandler.js.map +1 -0
  13. package/dist/cjs/Html.js +169 -0
  14. package/dist/cjs/Html.js.map +1 -0
  15. package/dist/cjs/HtmlChunk.js +257 -0
  16. package/dist/cjs/HtmlChunk.js.map +1 -0
  17. package/dist/cjs/Hydrate.js +49 -0
  18. package/dist/cjs/Hydrate.js.map +1 -0
  19. package/dist/cjs/Many.js +45 -0
  20. package/dist/cjs/Many.js.map +1 -0
  21. package/dist/cjs/Meta.js +37 -0
  22. package/dist/cjs/Meta.js.map +1 -0
  23. package/dist/cjs/Parser.js +331 -0
  24. package/dist/cjs/Parser.js.map +1 -0
  25. package/dist/cjs/Part.js +6 -0
  26. package/dist/cjs/Part.js.map +1 -0
  27. package/dist/cjs/Placeholder.js +38 -0
  28. package/dist/cjs/Placeholder.js.map +1 -0
  29. package/dist/cjs/Platform.js +64 -0
  30. package/dist/cjs/Platform.js.map +1 -0
  31. package/dist/cjs/Render.js +39 -0
  32. package/dist/cjs/Render.js.map +1 -0
  33. package/dist/cjs/RenderContext.js +130 -0
  34. package/dist/cjs/RenderContext.js.map +1 -0
  35. package/dist/cjs/RenderEvent.js +44 -0
  36. package/dist/cjs/RenderEvent.js.map +1 -0
  37. package/dist/cjs/RenderTemplate.js +41 -0
  38. package/dist/cjs/RenderTemplate.js.map +1 -0
  39. package/dist/cjs/Renderable.js +6 -0
  40. package/dist/cjs/Renderable.js.map +1 -0
  41. package/dist/cjs/Template.js +266 -0
  42. package/dist/cjs/Template.js.map +1 -0
  43. package/dist/cjs/TemplateInstance.js +51 -0
  44. package/dist/cjs/TemplateInstance.js.map +1 -0
  45. package/dist/cjs/Test.js +90 -0
  46. package/dist/cjs/Test.js.map +1 -0
  47. package/dist/cjs/Token.js +270 -0
  48. package/dist/cjs/Token.js.map +1 -0
  49. package/dist/cjs/Tokenizer.js +18 -0
  50. package/dist/cjs/Tokenizer.js.map +1 -0
  51. package/dist/cjs/Vitest.js +44 -0
  52. package/dist/cjs/Vitest.js.map +1 -0
  53. package/dist/cjs/index.js +147 -0
  54. package/dist/cjs/index.js.map +1 -0
  55. package/dist/cjs/internal/HydrateContext.js +13 -0
  56. package/dist/cjs/internal/HydrateContext.js.map +1 -0
  57. package/dist/cjs/internal/browser.js +109 -0
  58. package/dist/cjs/internal/browser.js.map +1 -0
  59. package/dist/cjs/internal/chunks.js +54 -0
  60. package/dist/cjs/internal/chunks.js.map +1 -0
  61. package/dist/cjs/internal/errors.js +23 -0
  62. package/dist/cjs/internal/errors.js.map +1 -0
  63. package/dist/cjs/internal/hydrate.js +197 -0
  64. package/dist/cjs/internal/hydrate.js.map +1 -0
  65. package/dist/cjs/internal/indexRefCounter.js +32 -0
  66. package/dist/cjs/internal/indexRefCounter.js.map +1 -0
  67. package/dist/cjs/internal/module-augmentation.js +6 -0
  68. package/dist/cjs/internal/module-augmentation.js.map +1 -0
  69. package/dist/cjs/internal/parser.js +492 -0
  70. package/dist/cjs/internal/parser.js.map +1 -0
  71. package/dist/cjs/internal/parts.js +350 -0
  72. package/dist/cjs/internal/parts.js.map +1 -0
  73. package/dist/cjs/internal/readAttribute.js +34 -0
  74. package/dist/cjs/internal/readAttribute.js.map +1 -0
  75. package/dist/cjs/internal/render.js +332 -0
  76. package/dist/cjs/internal/render.js.map +1 -0
  77. package/dist/cjs/internal/server.js +219 -0
  78. package/dist/cjs/internal/server.js.map +1 -0
  79. package/dist/cjs/internal/tokenizer.js +264 -0
  80. package/dist/cjs/internal/tokenizer.js.map +1 -0
  81. package/dist/cjs/internal/utils.js +68 -0
  82. package/dist/cjs/internal/utils.js.map +1 -0
  83. package/dist/dts/Directive.d.ts +70 -0
  84. package/dist/dts/Directive.d.ts.map +1 -0
  85. package/dist/dts/ElementRef.d.ts +40 -0
  86. package/dist/dts/ElementRef.d.ts.map +1 -0
  87. package/dist/dts/ElementSource.d.ts +72 -0
  88. package/dist/dts/ElementSource.d.ts.map +1 -0
  89. package/dist/dts/Entry.d.ts +26 -0
  90. package/dist/dts/Entry.d.ts.map +1 -0
  91. package/dist/dts/EventHandler.d.ts +61 -0
  92. package/dist/dts/EventHandler.d.ts.map +1 -0
  93. package/dist/dts/Html.d.ts +17 -0
  94. package/dist/dts/Html.d.ts.map +1 -0
  95. package/dist/dts/HtmlChunk.d.ts +56 -0
  96. package/dist/dts/HtmlChunk.d.ts.map +1 -0
  97. package/dist/dts/Hydrate.d.ts +20 -0
  98. package/dist/dts/Hydrate.d.ts.map +1 -0
  99. package/dist/dts/Many.d.ts +32 -0
  100. package/dist/dts/Many.d.ts.map +1 -0
  101. package/dist/dts/Meta.d.ts +24 -0
  102. package/dist/dts/Meta.d.ts.map +1 -0
  103. package/dist/dts/Parser.d.ts +16 -0
  104. package/dist/dts/Parser.d.ts.map +1 -0
  105. package/dist/dts/Part.d.ts +147 -0
  106. package/dist/dts/Part.d.ts.map +1 -0
  107. package/dist/dts/Placeholder.d.ts +51 -0
  108. package/dist/dts/Placeholder.d.ts.map +1 -0
  109. package/dist/dts/Platform.d.ts +23 -0
  110. package/dist/dts/Platform.d.ts.map +1 -0
  111. package/dist/dts/Render.d.ts +23 -0
  112. package/dist/dts/Render.d.ts.map +1 -0
  113. package/dist/dts/RenderContext.d.ts +88 -0
  114. package/dist/dts/RenderContext.d.ts.map +1 -0
  115. package/dist/dts/RenderEvent.d.ts +37 -0
  116. package/dist/dts/RenderEvent.d.ts.map +1 -0
  117. package/dist/dts/RenderTemplate.d.ts +38 -0
  118. package/dist/dts/RenderTemplate.d.ts.map +1 -0
  119. package/dist/dts/Renderable.d.ts +28 -0
  120. package/dist/dts/Renderable.d.ts.map +1 -0
  121. package/dist/dts/Template.d.ts +218 -0
  122. package/dist/dts/Template.d.ts.map +1 -0
  123. package/dist/dts/TemplateInstance.d.ts +32 -0
  124. package/dist/dts/TemplateInstance.d.ts.map +1 -0
  125. package/dist/dts/Test.d.ts +58 -0
  126. package/dist/dts/Test.d.ts.map +1 -0
  127. package/dist/dts/Token.d.ts +202 -0
  128. package/dist/dts/Token.d.ts.map +1 -0
  129. package/dist/dts/Tokenizer.d.ts +6 -0
  130. package/dist/dts/Tokenizer.d.ts.map +1 -0
  131. package/dist/dts/Vitest.d.ts +28 -0
  132. package/dist/dts/Vitest.d.ts.map +1 -0
  133. package/dist/dts/index.d.ts +65 -0
  134. package/dist/dts/index.d.ts.map +1 -0
  135. package/dist/dts/internal/HydrateContext.d.ts +2 -0
  136. package/dist/dts/internal/HydrateContext.d.ts.map +1 -0
  137. package/dist/dts/internal/browser.d.ts +8 -0
  138. package/dist/dts/internal/browser.d.ts.map +1 -0
  139. package/dist/dts/internal/chunks.d.ts +22 -0
  140. package/dist/dts/internal/chunks.d.ts.map +1 -0
  141. package/dist/dts/internal/errors.d.ts +9 -0
  142. package/dist/dts/internal/errors.d.ts.map +1 -0
  143. package/dist/dts/internal/hydrate.d.ts +37 -0
  144. package/dist/dts/internal/hydrate.d.ts.map +1 -0
  145. package/dist/dts/internal/indexRefCounter.d.ts +6 -0
  146. package/dist/dts/internal/indexRefCounter.d.ts.map +1 -0
  147. package/dist/dts/internal/module-augmentation.d.ts +36 -0
  148. package/dist/dts/internal/module-augmentation.d.ts.map +1 -0
  149. package/dist/dts/internal/parser.d.ts +12 -0
  150. package/dist/dts/internal/parser.d.ts.map +1 -0
  151. package/dist/dts/internal/parts.d.ts +304 -0
  152. package/dist/dts/internal/parts.d.ts.map +1 -0
  153. package/dist/dts/internal/readAttribute.d.ts +9 -0
  154. package/dist/dts/internal/readAttribute.d.ts.map +1 -0
  155. package/dist/dts/internal/render.d.ts +30 -0
  156. package/dist/dts/internal/render.d.ts.map +1 -0
  157. package/dist/dts/internal/server.d.ts +31 -0
  158. package/dist/dts/internal/server.d.ts.map +1 -0
  159. package/dist/dts/internal/tokenizer.d.ts +3 -0
  160. package/dist/dts/internal/tokenizer.d.ts.map +1 -0
  161. package/dist/dts/internal/utils.d.ts +15 -0
  162. package/dist/dts/internal/utils.d.ts.map +1 -0
  163. package/dist/esm/Directive.js +64 -0
  164. package/dist/esm/Directive.js.map +1 -0
  165. package/dist/esm/ElementRef.js +72 -0
  166. package/dist/esm/ElementRef.js.map +1 -0
  167. package/dist/esm/ElementSource.js +237 -0
  168. package/dist/esm/ElementSource.js.map +1 -0
  169. package/dist/esm/Entry.js +2 -0
  170. package/dist/esm/Entry.js.map +1 -0
  171. package/dist/esm/EventHandler.js +52 -0
  172. package/dist/esm/EventHandler.js.map +1 -0
  173. package/dist/esm/Html.js +167 -0
  174. package/dist/esm/Html.js.map +1 -0
  175. package/dist/esm/HtmlChunk.js +274 -0
  176. package/dist/esm/HtmlChunk.js.map +1 -0
  177. package/dist/esm/Hydrate.js +37 -0
  178. package/dist/esm/Hydrate.js.map +1 -0
  179. package/dist/esm/Many.js +33 -0
  180. package/dist/esm/Many.js.map +1 -0
  181. package/dist/esm/Meta.js +29 -0
  182. package/dist/esm/Meta.js.map +1 -0
  183. package/dist/esm/Parser.js +342 -0
  184. package/dist/esm/Parser.js.map +1 -0
  185. package/dist/esm/Part.js +5 -0
  186. package/dist/esm/Part.js.map +1 -0
  187. package/dist/esm/Placeholder.js +30 -0
  188. package/dist/esm/Placeholder.js.map +1 -0
  189. package/dist/esm/Platform.js +41 -0
  190. package/dist/esm/Platform.js.map +1 -0
  191. package/dist/esm/Render.js +27 -0
  192. package/dist/esm/Render.js.map +1 -0
  193. package/dist/esm/RenderContext.js +113 -0
  194. package/dist/esm/RenderContext.js.map +1 -0
  195. package/dist/esm/RenderEvent.js +36 -0
  196. package/dist/esm/RenderEvent.js.map +1 -0
  197. package/dist/esm/RenderTemplate.js +26 -0
  198. package/dist/esm/RenderTemplate.js.map +1 -0
  199. package/dist/esm/Renderable.js +2 -0
  200. package/dist/esm/Renderable.js.map +1 -0
  201. package/dist/esm/Template.js +239 -0
  202. package/dist/esm/Template.js.map +1 -0
  203. package/dist/esm/TemplateInstance.js +43 -0
  204. package/dist/esm/TemplateInstance.js.map +1 -0
  205. package/dist/esm/Test.js +68 -0
  206. package/dist/esm/Test.js.map +1 -0
  207. package/dist/esm/Token.js +264 -0
  208. package/dist/esm/Token.js.map +1 -0
  209. package/dist/esm/Tokenizer.js +9 -0
  210. package/dist/esm/Tokenizer.js.map +1 -0
  211. package/dist/esm/Vitest.js +29 -0
  212. package/dist/esm/Vitest.js.map +1 -0
  213. package/dist/esm/index.js +65 -0
  214. package/dist/esm/index.js.map +1 -0
  215. package/dist/esm/internal/HydrateContext.js +7 -0
  216. package/dist/esm/internal/HydrateContext.js.map +1 -0
  217. package/dist/esm/internal/browser.js +102 -0
  218. package/dist/esm/internal/browser.js.map +1 -0
  219. package/dist/esm/internal/chunks.js +47 -0
  220. package/dist/esm/internal/chunks.js.map +1 -0
  221. package/dist/esm/internal/errors.js +15 -0
  222. package/dist/esm/internal/errors.js.map +1 -0
  223. package/dist/esm/internal/hydrate.js +165 -0
  224. package/dist/esm/internal/hydrate.js.map +1 -0
  225. package/dist/esm/internal/indexRefCounter.js +24 -0
  226. package/dist/esm/internal/indexRefCounter.js.map +1 -0
  227. package/dist/esm/internal/module-augmentation.js +2 -0
  228. package/dist/esm/internal/module-augmentation.js.map +1 -0
  229. package/dist/esm/internal/parser.js +493 -0
  230. package/dist/esm/internal/parser.js.map +1 -0
  231. package/dist/esm/internal/parts.js +291 -0
  232. package/dist/esm/internal/parts.js.map +1 -0
  233. package/dist/esm/internal/readAttribute.js +24 -0
  234. package/dist/esm/internal/readAttribute.js.map +1 -0
  235. package/dist/esm/internal/render.js +329 -0
  236. package/dist/esm/internal/render.js.map +1 -0
  237. package/dist/esm/internal/server.js +174 -0
  238. package/dist/esm/internal/server.js.map +1 -0
  239. package/dist/esm/internal/tokenizer.js +296 -0
  240. package/dist/esm/internal/tokenizer.js.map +1 -0
  241. package/dist/esm/internal/utils.js +52 -0
  242. package/dist/esm/internal/utils.js.map +1 -0
  243. package/dist/esm/package.json +4 -0
  244. package/package.json +242 -0
  245. package/src/Directive.ts +114 -0
  246. package/src/ElementRef.ts +123 -0
  247. package/src/ElementSource.ts +417 -0
  248. package/src/Entry.ts +28 -0
  249. package/src/EventHandler.ts +104 -0
  250. package/src/Html.ts +258 -0
  251. package/src/HtmlChunk.ts +346 -0
  252. package/src/Hydrate.ts +53 -0
  253. package/src/Many.ts +128 -0
  254. package/src/Meta.ts +32 -0
  255. package/src/Parser.ts +457 -0
  256. package/src/Part.ts +186 -0
  257. package/src/Placeholder.ts +70 -0
  258. package/src/Platform.ts +71 -0
  259. package/src/Render.ts +45 -0
  260. package/src/RenderContext.ts +221 -0
  261. package/src/RenderEvent.ts +67 -0
  262. package/src/RenderTemplate.ts +88 -0
  263. package/src/Renderable.ts +34 -0
  264. package/src/Template.ts +284 -0
  265. package/src/TemplateInstance.ts +83 -0
  266. package/src/Test.ts +151 -0
  267. package/src/Token.ts +269 -0
  268. package/src/Tokenizer.ts +10 -0
  269. package/src/Vitest.ts +61 -0
  270. package/src/index.ts +66 -0
  271. package/src/internal/HydrateContext.ts +23 -0
  272. package/src/internal/browser.ts +132 -0
  273. package/src/internal/chunks.ts +73 -0
  274. package/src/internal/errors.ts +11 -0
  275. package/src/internal/external.d.ts +11 -0
  276. package/src/internal/hydrate.ts +262 -0
  277. package/src/internal/indexRefCounter.ts +33 -0
  278. package/src/internal/module-augmentation.ts +48 -0
  279. package/src/internal/parser.ts +637 -0
  280. package/src/internal/parts.ts +527 -0
  281. package/src/internal/readAttribute.ts +28 -0
  282. package/src/internal/render.ts +529 -0
  283. package/src/internal/server.ts +293 -0
  284. package/src/internal/tokenizer.ts +338 -0
  285. package/src/internal/utils.ts +73 -0
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { type EventWithTarget } from "@typed/dom/EventTarget";
5
+ import { type Effect } from "effect/Effect";
6
+ import type { Placeholder } from "./Placeholder";
7
+ /**
8
+ * @since 1.0.0
9
+ */
10
+ export declare const EventHandlerTypeId: unique symbol;
11
+ /**
12
+ * @since 1.0.0
13
+ */
14
+ export type EventHandlerTypeId = typeof EventHandlerTypeId;
15
+ /**
16
+ * @since 1.0.0
17
+ */
18
+ export interface EventHandler<R, E, Ev extends Event = Event> extends Placeholder<R, E, null> {
19
+ readonly [EventHandlerTypeId]: EventHandlerTypeId;
20
+ readonly handler: (event: Ev) => Effect<R, E, unknown>;
21
+ readonly options: AddEventListenerOptions | undefined;
22
+ }
23
+ /**
24
+ * @since 1.0.0
25
+ */
26
+ export type Context<T> = T extends EventHandler<infer R, infer _E, infer _Ev> ? R : never;
27
+ /**
28
+ * @since 1.0.0
29
+ */
30
+ export type Error<T> = T extends EventHandler<infer _R, infer E, infer _Ev> ? E : never;
31
+ /**
32
+ * @since 1.0.0
33
+ */
34
+ export type EventOf<T> = T extends EventHandler<infer _R, infer _E, infer Ev> ? Ev : never;
35
+ /**
36
+ * @since 1.0.0
37
+ */
38
+ export declare function make<R, E, Ev extends Event>(handler: (event: Ev) => Effect<R, E, unknown>, options?: AddEventListenerOptions): EventHandler<R, E, Ev>;
39
+ /**
40
+ * @since 1.0.0
41
+ */
42
+ export declare function preventDefault<R, E, Ev extends Event>(handler: (event: Ev) => Effect<R, E, unknown>, options?: AddEventListenerOptions): EventHandler<R, E, Ev>;
43
+ /**
44
+ * @since 1.0.0
45
+ */
46
+ export declare function stopPropagation<R, E, Ev extends Event>(handler: (event: Ev) => Effect<R, E, unknown>, options?: AddEventListenerOptions): EventHandler<R, E, Ev>;
47
+ /**
48
+ * @since 1.0.0
49
+ */
50
+ export declare function stopImmediatePropagation<R, E, Ev extends Event>(handler: (event: Ev) => Effect<R, E, unknown>, options?: AddEventListenerOptions): EventHandler<R, E, Ev>;
51
+ /**
52
+ * @since 1.0.0
53
+ */
54
+ export declare function target<T extends HTMLElement>(): <R, E, Ev extends Event>(handler: (event: EventWithTarget<T, Ev>) => Effect<R, E, unknown>, options?: AddEventListenerOptions) => EventHandler<R, E, EventWithTarget<T, Ev>>;
55
+ /**
56
+ * @since 1.0.0
57
+ */
58
+ export declare function keys<Keys extends ReadonlyArray<string>>(...keys: Keys): <R, E>(handler: (event: KeyboardEvent & {
59
+ key: Keys[number];
60
+ }) => Effect<R, E, unknown>, options?: AddEventListenerOptions) => EventHandler<R, E, KeyboardEvent>;
61
+ //# sourceMappingURL=EventHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventHandler.d.ts","sourceRoot":"","sources":["../../src/EventHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Fx from "@typed/fx/Fx";
5
+ import { Effect } from "effect";
6
+ import { RenderContext } from "./RenderContext";
7
+ import type { RenderEvent } from "./RenderEvent";
8
+ import { RenderTemplate } from "./RenderTemplate";
9
+ /**
10
+ * @since 1.0.0
11
+ */
12
+ export declare function renderToHtml<R, E>(fx: Fx.Fx<R, E, RenderEvent>): Fx.Fx<Exclude<R, RenderTemplate> | RenderContext, E, string>;
13
+ /**
14
+ * @since 1.0.0
15
+ */
16
+ export declare function renderToHtmlString<R, E>(fx: Fx.Fx<R, E, RenderEvent>): Effect.Effect<Exclude<R, RenderTemplate> | RenderContext, E, string>;
17
+ //# sourceMappingURL=Html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Html.d.ts","sourceRoot":"","sources":["../../src/Html.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,cAAc,CAAA;AAIlC,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AAavC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAKjD;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAC/B,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,GAC3B,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,MAAM,CAAC,CAW9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EACrC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,GAC3B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,MAAM,CAAC,CAEtE"}
@@ -0,0 +1,56 @@
1
+ import type { PartNode, SparseAttrNode, SparseClassNameNode, Template } from "./Template";
2
+ /**
3
+ * @since 1.0.0
4
+ */
5
+ export type HtmlChunk = TextChunk | PartChunk | SparsePartChunk;
6
+ /**
7
+ * @since 1.0.0
8
+ */
9
+ export declare class TextChunk {
10
+ readonly value: string;
11
+ readonly _tag = "text";
12
+ constructor(value: string);
13
+ }
14
+ /**
15
+ * @since 1.0.0
16
+ */
17
+ export declare class PartChunk {
18
+ readonly node: PartNode;
19
+ readonly render: (value: unknown) => string;
20
+ readonly _tag = "part";
21
+ constructor(node: PartNode, render: (value: unknown) => string);
22
+ }
23
+ /**
24
+ * @since 1.0.0
25
+ */
26
+ export declare class SparsePartChunk {
27
+ readonly node: SparseAttrNode | SparseClassNameNode;
28
+ readonly render: (value: AttrValue) => string;
29
+ readonly _tag = "sparse-part";
30
+ constructor(node: SparseAttrNode | SparseClassNameNode, render: (value: AttrValue) => string);
31
+ }
32
+ /**
33
+ * @since 1.0.0
34
+ */
35
+ export type AttrValue = string | null | undefined | ReadonlyArray<AttrValue>;
36
+ /**
37
+ * @since 1.0.0
38
+ */
39
+ export declare function templateToHtmlChunks({ hash, nodes }: Template): readonly HtmlChunk[];
40
+ /**
41
+ * @since 1.0.0
42
+ */
43
+ export declare function escape(s: unknown): string;
44
+ /**
45
+ * @since 1.0.0
46
+ */
47
+ export declare function unescape(s: string): any;
48
+ /**
49
+ * @since 1.0.0
50
+ */
51
+ export declare function escapeHtml(str: string): string;
52
+ /**
53
+ * @since 1.0.0
54
+ */
55
+ export declare function unescapeHtml(html: string): string;
56
+ //# sourceMappingURL=HtmlChunk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HtmlChunk.d.ts","sourceRoot":"","sources":["../../src/HtmlChunk.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAIV,QAAQ,EAER,cAAc,EACd,mBAAmB,EACnB,QAAQ,EAGT,MAAM,YAAY,CAAA;AAEnB;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,eAAe,CAAA;AAE/D;;GAEG;AACH,qBAAa,SAAS;IAER,QAAQ,CAAC,KAAK,EAAE,MAAM;IADlC,QAAQ,CAAC,IAAI,UAAS;gBACD,KAAK,EAAE,MAAM;CACnC;AAED;;GAEG;AACH,qBAAa,SAAS;IAIlB,QAAQ,CAAC,IAAI,EAAE,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM;IAJ7C,QAAQ,CAAC,IAAI,UAAS;gBAGX,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM;CAE9C;AAED;;GAEG;AACH,qBAAa,eAAe;IAIxB,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,mBAAmB;IACnD,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM;IAJ/C,QAAQ,CAAC,IAAI,iBAAgB;gBAGlB,IAAI,EAAE,cAAc,GAAG,mBAAmB,EAC1C,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM;CAEhD;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;AAK5E;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,wBAE7D;AAkLD;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,UAShC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,OAYjC;AAaD;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA4C9C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,UAMxC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { Document } from "@typed/dom/Document";
5
+ import { RootElement } from "@typed/dom/RootElement";
6
+ import * as Fx from "@typed/fx/Fx";
7
+ import * as Layer from "effect/Layer";
8
+ import type { ToRendered } from "./Render";
9
+ import { RenderContext } from "./RenderContext";
10
+ import { type RenderEvent } from "./RenderEvent";
11
+ import { RenderTemplate } from "./RenderTemplate";
12
+ /**
13
+ * @since 1.0.0
14
+ */
15
+ export declare function hydrate<R, E, T extends RenderEvent | null>(rendered: Fx.Fx<R, E, T>): Fx.Fx<Exclude<R, RenderTemplate> | Document | RenderContext | RootElement, E, ToRendered<T>>;
16
+ /**
17
+ * @since 1.0.0
18
+ */
19
+ export declare function hydrateLayer<R, E, T extends RenderEvent | null>(rendered: Fx.Fx<R, E, T>): Layer.Layer<RenderContext | Document | RootElement | Exclude<Exclude<R, RenderTemplate>, import("effect/Scope").Scope>, never, never>;
20
+ //# sourceMappingURL=Hydrate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hydrate.d.ts","sourceRoot":"","sources":["../../src/Hydrate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,cAAc,CAAA;AAElC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,WAAW,GAAG,IAAI,EACxD,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACvB,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAoB9F;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,WAAW,GAAG,IAAI,EAC7D,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,yIAGzB"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type * as AsyncData from "@typed/async-data/AsyncData";
5
+ import type * as Computed from "@typed/fx/Computed";
6
+ import * as Fx from "@typed/fx/Fx";
7
+ import * as RefAsyncData from "@typed/fx/RefAsyncData";
8
+ import * as RefSubject from "@typed/fx/RefSubject";
9
+ import { RenderContext } from "./RenderContext";
10
+ import { type RenderEvent } from "./RenderEvent";
11
+ /**
12
+ * @since 1.0.0
13
+ */
14
+ export declare function many<R, E, A, B, R2, E2>(values: Fx.Fx<R, E, ReadonlyArray<A>>, getKey: (a: A) => B, f: (a: RefSubject.RefSubject<never, never, A>, key: B) => Fx.Fx<R2, E2, RenderEvent>): Fx.Fx<R | R2 | RenderContext, E | E2, RenderEvent | ReadonlyArray<RenderEvent>>;
15
+ /**
16
+ * @since 1.0.0
17
+ */
18
+ export declare const manyAsyncData: {
19
+ <E1, A, B, NoData extends Fx.FxInput<any, any, any>, Loading extends Fx.FxInput<any, any, any>, Failure extends Fx.FxInput<any, any, any>, Success extends Fx.FxInput<any, any, any>>(getKey: (a: A) => B, matchers: {
20
+ NoData: () => NoData;
21
+ Loading: (data: RefAsyncData.LoadingComputed) => Loading;
22
+ Failure: (data: Computed.Computed<never, never, E1>, computed: RefAsyncData.FailureComputed<E1>) => Failure;
23
+ Success: (value: Computed.Computed<never, never, A>, computed: RefAsyncData.SuccessComputed) => Success;
24
+ }): <R, E>(fx: Fx.Fx<R, E, AsyncData.AsyncData<E1, ReadonlyArray<A>>>) => Fx.Fx<R | Fx.Fx.Context<NoData | Loading | Failure | Success>, E | Fx.Fx.Error<NoData | Loading | Failure | Success>, Fx.Fx.Success<NoData | Loading | Failure | Success>>;
25
+ <R, E, E1, A, B, NoData extends Fx.Fx<any, any, any>, Loading extends Fx.Fx<any, any, any>, Failure extends Fx.Fx<any, any, any>, Success extends Fx.Fx<any, any, any>>(fx: Fx.Fx<R, E, AsyncData.AsyncData<E1, ReadonlyArray<A>>>, getKey: (a: A) => B, matchers: {
26
+ NoData: () => NoData;
27
+ Loading: (data: RefAsyncData.LoadingComputed) => Loading;
28
+ Failure: (data: Computed.Computed<never, never, E1>, computed: RefAsyncData.FailureComputed<E1>) => Failure;
29
+ Success: (value: Computed.Computed<never, never, A>, computed: RefAsyncData.SuccessComputed) => Success;
30
+ }): Fx.Fx<R | Fx.Fx.Context<NoData | Loading | Failure | Success>, E | Fx.Fx.Error<NoData | Loading | Failure | Success>, Fx.Fx.Success<NoData | Loading | Failure | Success>>;
31
+ };
32
+ //# sourceMappingURL=Many.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Many.d.ts","sourceRoot":"","sources":["../../src/Many.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ /**
5
+ * @since 1.0.0
6
+ */
7
+ export declare const TYPED_START = "<!--typed-start-->";
8
+ /**
9
+ * @since 1.0.0
10
+ */
11
+ export declare const TYPED_END = "<!--typed-end-->";
12
+ /**
13
+ * @since 1.0.0
14
+ */
15
+ export declare const TYPED_HASH: (hash: string) => string;
16
+ /**
17
+ * @since 1.0.0
18
+ */
19
+ export declare const TEXT_START = "<!--text-->";
20
+ /**
21
+ * @since 1.0.0
22
+ */
23
+ export declare const TYPED_HOLE: (index: number) => string;
24
+ //# sourceMappingURL=Meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Meta.d.ts","sourceRoot":"","sources":["../../src/Meta.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH;;GAEG;AACH,eAAO,MAAM,WAAW,uBAAuB,CAAA;AAC/C;;GAEG;AACH,eAAO,MAAM,SAAS,qBAAqB,CAAA;AAE3C;;GAEG;AACH,eAAO,MAAM,UAAU,SAAU,MAAM,WAA2B,CAAA;AAIlE;;GAEG;AACH,eAAO,MAAM,UAAU,gBAAgB,CAAA;AAIvC;;GAEG;AACH,eAAO,MAAM,UAAU,UAAW,MAAM,WAA0B,CAAA"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Template from "./Template";
5
+ import type { Token } from "./Token";
6
+ /**
7
+ * @since 1.0.0
8
+ */
9
+ export interface Parser {
10
+ parse(template: ReadonlyArray<string>, tokenStream?: Iterator<Token>): Template.Template;
11
+ }
12
+ /**
13
+ * @since 1.0.0
14
+ */
15
+ export declare const parser: Parser;
16
+ //# sourceMappingURL=Parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Parser.d.ts","sourceRoot":"","sources":["../../src/Parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGpC;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAA;CACzF;AAqbD;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,MAAoE,CAAA"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type { Cause } from "effect/Cause";
5
+ import type { Effect } from "effect/Effect";
6
+ import type { Scope } from "effect/Scope";
7
+ import type { ElementSource } from "./ElementSource";
8
+ import type { EventHandler } from "./EventHandler";
9
+ /**
10
+ * @since 1.0.0
11
+ */
12
+ export type Part = AttributePart | BooleanPart | ClassNamePart | CommentPart | DataPart | EventPart | NodePart | PropertyPart | RefPart | TextPart;
13
+ /**
14
+ * @since 1.0.0
15
+ */
16
+ export interface AttributePart {
17
+ readonly _tag: "attribute";
18
+ readonly name: string;
19
+ readonly value: string | null | undefined;
20
+ readonly index: number;
21
+ readonly update: (value: this["value"]) => Effect<Scope, never, void>;
22
+ }
23
+ /**
24
+ * @since 1.0.0
25
+ */
26
+ export interface BooleanPart {
27
+ readonly _tag: "boolean";
28
+ readonly name: string;
29
+ readonly value: boolean | null | undefined;
30
+ readonly index: number;
31
+ readonly update: (value: this["value"]) => Effect<Scope, never, void>;
32
+ }
33
+ /**
34
+ * @since 1.0.0
35
+ */
36
+ export interface ClassNamePart {
37
+ readonly _tag: "className";
38
+ readonly value: ReadonlyArray<string> | null | undefined;
39
+ readonly index: number;
40
+ readonly update: (value: this["value"]) => Effect<Scope, never, void>;
41
+ }
42
+ /**
43
+ * @since 1.0.0
44
+ */
45
+ export interface DataPart {
46
+ readonly _tag: "data";
47
+ readonly value: Readonly<Record<string, string | undefined>> | null | undefined;
48
+ readonly index: number;
49
+ readonly update: (value: this["value"]) => Effect<Scope, never, void>;
50
+ }
51
+ /**
52
+ * @since 1.0.0
53
+ */
54
+ export interface EventPart {
55
+ readonly _tag: "event";
56
+ readonly name: string;
57
+ readonly value: EventHandler<unknown, never> | null | undefined;
58
+ readonly index: number;
59
+ readonly onCause: (cause: Cause<unknown>) => Effect<never, never, unknown>;
60
+ readonly update: <R = never>(value: EventHandler<R, never> | null | undefined) => Effect<R | Scope, never, void>;
61
+ }
62
+ /**
63
+ * @since 1.0.0
64
+ */
65
+ export interface PropertyPart {
66
+ readonly _tag: "property";
67
+ readonly name: string;
68
+ readonly value: unknown;
69
+ readonly index: number;
70
+ readonly update: (value: this["value"]) => Effect<Scope, never, void>;
71
+ }
72
+ /**
73
+ * @since 1.0.0
74
+ */
75
+ export interface RefPart<T extends HTMLElement | SVGElement = HTMLElement | SVGElement> {
76
+ readonly _tag: "ref";
77
+ readonly value: ElementSource<T>;
78
+ readonly index: number;
79
+ }
80
+ /**
81
+ * @since 1.0.0
82
+ */
83
+ export interface CommentPart {
84
+ readonly _tag: "comment";
85
+ readonly value: string | null | undefined;
86
+ readonly index: number;
87
+ readonly update: (value: this["value"]) => Effect<Scope, never, void>;
88
+ }
89
+ /**
90
+ * @since 1.0.0
91
+ */
92
+ export interface TextPart {
93
+ readonly _tag: "text";
94
+ readonly value: string | null | undefined;
95
+ readonly index: number;
96
+ readonly update: (value: this["value"]) => Effect<Scope, never, void>;
97
+ }
98
+ /**
99
+ * @since 1.0.0
100
+ */
101
+ export interface NodePart {
102
+ readonly _tag: "node";
103
+ readonly value: unknown;
104
+ readonly index: number;
105
+ readonly update: (value: this["value"]) => Effect<Scope, never, void>;
106
+ }
107
+ /**
108
+ * @since 1.0.0
109
+ */
110
+ export type SparsePart = SparseAttributePart | SparseClassNamePart | SparseCommentPart;
111
+ /**
112
+ * @since 1.0.0
113
+ */
114
+ export interface SparseAttributePart {
115
+ readonly _tag: "sparse/attribute";
116
+ readonly name: string;
117
+ readonly parts: ReadonlyArray<AttributePart | StaticText>;
118
+ readonly update: (value: ReadonlyArray<string>) => Effect<Scope, never, void>;
119
+ }
120
+ /**
121
+ * @since 1.0.0
122
+ */
123
+ export interface SparseClassNamePart {
124
+ readonly _tag: "sparse/className";
125
+ readonly parts: ReadonlyArray<ClassNamePart | StaticText>;
126
+ readonly update: (value: ReadonlyArray<string>) => Effect<Scope, never, void>;
127
+ }
128
+ /**
129
+ * @since 1.0.0
130
+ */
131
+ export interface SparseCommentPart {
132
+ readonly _tag: "sparse/comment";
133
+ readonly parts: ReadonlyArray<CommentPart | StaticText>;
134
+ readonly update: (value: ReadonlyArray<string>) => Effect<Scope, never, void>;
135
+ }
136
+ /**
137
+ * @since 1.0.0
138
+ */
139
+ export interface StaticText {
140
+ readonly _tag: "static/text";
141
+ readonly value: string;
142
+ }
143
+ /**
144
+ * @since 1.0.0
145
+ */
146
+ export type Parts = ReadonlyArray<Part | SparsePart>;
147
+ //# sourceMappingURL=Part.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Part.d.ts","sourceRoot":"","sources":["../../src/Part.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import "./internal/module-augmentation";
5
+ import * as RefSubject from "@typed/fx/RefSubject";
6
+ import type { Scope } from "effect";
7
+ import { Effect } from "effect";
8
+ /**
9
+ * @since 1.0.0
10
+ */
11
+ export declare const PlaceholderTypeId: unique symbol;
12
+ /**
13
+ * @since 1.0.0
14
+ */
15
+ export type PlaceholderTypeId = typeof PlaceholderTypeId;
16
+ /**
17
+ * @since 1.0.0
18
+ */
19
+ export interface Placeholder<out R = never, out E = never, out A = unknown> {
20
+ readonly [PlaceholderTypeId]: {
21
+ readonly _R: (_: never) => R;
22
+ readonly _E: (_: never) => E;
23
+ readonly _A: (_: never) => A;
24
+ };
25
+ }
26
+ /**
27
+ * @since 1.0.0
28
+ */
29
+ export declare namespace Placeholder {
30
+ /**
31
+ * @since 1.0.0
32
+ */
33
+ type Any<A = any> = Placeholder<any, any, A> | Placeholder<any, never, A> | Placeholder<never, never, A> | Placeholder<never, any, A>;
34
+ /**
35
+ * @since 1.0.0
36
+ */
37
+ type Context<T> = [T] extends [never] ? never : T extends Placeholder<infer R, infer _E, infer _A> ? R : never;
38
+ /**
39
+ * @since 1.0.0
40
+ */
41
+ type Error<T> = [T] extends [never] ? never : T extends Placeholder<infer _R, infer E, infer _A> ? E : never;
42
+ /**
43
+ * @since 1.0.0
44
+ */
45
+ type Success<T> = [T] extends [never] ? never : T extends Placeholder<infer _R, infer _E, infer A> ? A : never;
46
+ /**
47
+ * @since 1.0.0
48
+ */
49
+ function asRef<R = never, E = never, A = never>(placeholder: Placeholder<R, E, A>): Effect.Effect<R | Scope.Scope, never, RefSubject.RefSubject<never, E, A>>;
50
+ }
51
+ //# sourceMappingURL=Placeholder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Placeholder.d.ts","sourceRoot":"","sources":["../../src/Placeholder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,gCAAgC,CAAA;AAGvC,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;GAEG;AACH,eAAO,MAAM,iBAAiB,eAA6B,CAAA;AAC3D;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAA;AAExD;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO;IACxE,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE;QAC5B,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;QAC5B,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;QAC5B,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;KAC7B,CAAA;CACF;AAED;;GAEG;AACH,yBAAiB,WAAW,CAAC;IAC3B;;OAEG;IACH,KAAY,GAAG,CAAC,CAAC,GAAG,GAAG,IACnB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GACxB,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,GAC1B,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,GAC5B,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;IAE9B;;OAEG;IACH,KAAY,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACrH;;OAEG;IACH,KAAY,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,SAAS,WAAW,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACnH;;OAEG;IACH,KAAY,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,SAAS,WAAW,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IAErH;;OAEG;IACH,SAAgB,KAAK,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EACnD,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAChC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAM3E;CACF"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type { ServerRequest } from "@effect/platform/Http/ServerRequest";
5
+ import * as HttpServer from "@effect/platform/HttpServer";
6
+ import type * as Fx from "@typed/fx/Fx";
7
+ import { Effect } from "effect";
8
+ import type * as RenderContext from "./RenderContext";
9
+ import type { RenderEvent } from "./RenderEvent";
10
+ import type { RenderTemplate } from "./RenderTemplate";
11
+ /**
12
+ * @since 1.0.0
13
+ */
14
+ export declare function htmlResponse<R, E>(fx: Fx.Fx<R, E, RenderEvent>, options?: HttpServer.response.Options): Effect.Effect<RenderContext.RenderContext | Exclude<R, RenderTemplate>, E, HttpServer.response.ServerResponse>;
15
+ /**
16
+ * @since 1.0.0
17
+ */
18
+ export declare function htmlResponseString(html: string, options?: HttpServer.response.Options): HttpServer.response.ServerResponse;
19
+ /**
20
+ * @since 1.0.0
21
+ */
22
+ export declare function getUrlFromServerRequest(request: ServerRequest): URL;
23
+ //# sourceMappingURL=Platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Platform.d.ts","sourceRoot":"","sources":["../../src/Platform.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACxE,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AACzD,OAAO,KAAK,KAAK,EAAE,MAAM,cAAc,CAAA;AAEvC,OAAO,EAAE,MAAM,EAAkB,MAAM,QAAQ,CAAA;AAE/C,OAAO,KAAK,KAAK,aAAa,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAMtD;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAC/B,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,EAC5B,OAAO,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,GACpC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,GAAG,OAAO,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAWhH;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,GACpC,UAAU,CAAC,QAAQ,CAAC,cAAc,CASpC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,aAAa,GAAG,GAAG,CAYnE"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { Document } from "@typed/dom/Document";
5
+ import { RootElement } from "@typed/dom/RootElement";
6
+ import * as Fx from "@typed/fx/Fx";
7
+ import { type Rendered } from "@typed/wire";
8
+ import { RenderContext } from "./RenderContext";
9
+ import { type RenderEvent } from "./RenderEvent";
10
+ import { RenderTemplate } from "./RenderTemplate";
11
+ /**
12
+ * @since 1.0.0
13
+ */
14
+ export type ToRendered<T extends RenderEvent | null> = T extends null ? Rendered | null : Rendered;
15
+ /**
16
+ * @since 1.0.0
17
+ */
18
+ export declare function render<R, E, T extends RenderEvent | null>(rendered: Fx.Fx<R, E, T>): Fx.Fx<Exclude<R, RenderTemplate> | Document | RenderContext | RootElement, E, ToRendered<T>>;
19
+ /**
20
+ * @since 1.0.0
21
+ */
22
+ export declare function renderLayer<R, E, T extends RenderEvent | null>(rendered: Fx.Fx<R, E, T>): import("effect/Layer").Layer<RenderContext | Document | RootElement | Exclude<Exclude<R, RenderTemplate>, import("effect/Scope").Scope>, never, never>;
23
+ //# sourceMappingURL=Render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Render.d.ts","sourceRoot":"","sources":["../../src/Render.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,WAAW,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,QAAQ,GAAG,IAAI,GAAG,QAAQ,CAAA;AAElG;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,WAAW,GAAG,IAAI,EACvD,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACvB,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAU9F;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,WAAW,GAAG,IAAI,EAC5D,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,0JAGzB"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * The context in which templates are rendered within
3
+ * @since 1.0.0
4
+ */
5
+ import * as Context from "@typed/context";
6
+ import { type DomServices, type DomServicesElementParams } from "@typed/dom/DomServices";
7
+ import { GlobalThis } from "@typed/dom/GlobalThis";
8
+ import { Window } from "@typed/dom/Window";
9
+ import type { Environment } from "@typed/environment";
10
+ import { CurrentEnvironment } from "@typed/environment";
11
+ import type { Rendered } from "@typed/wire";
12
+ import { Effect, Layer, Option } from "effect";
13
+ import * as Scope from "effect/Scope";
14
+ import type { Entry } from "./Entry";
15
+ import type { Part, SparsePart } from "./Part";
16
+ /**
17
+ * The context in which templates are rendered within
18
+ * @since 1.0.0
19
+ */
20
+ export interface RenderContext {
21
+ /**
22
+ * The current environment we are rendering within
23
+ */
24
+ readonly environment: Environment;
25
+ /**
26
+ * Cache for root Node's being rendered into.
27
+ */
28
+ readonly renderCache: WeakMap<object, Rendered | null>;
29
+ /**
30
+ * Cache for individual templates.
31
+ */
32
+ readonly templateCache: WeakMap<TemplateStringsArray, Entry>;
33
+ /**
34
+ * Queue for work to be batched
35
+ */
36
+ readonly queue: RenderQueue;
37
+ }
38
+ /**
39
+ * The context in which templates are rendered within
40
+ * @since 1.0.0
41
+ */
42
+ export declare const RenderContext: Context.Tagged<RenderContext, RenderContext>;
43
+ /**
44
+ * @since 1.0.0
45
+ */
46
+ export interface RenderQueue {
47
+ readonly add: (part: Part | SparsePart, task: () => void) => Effect.Effect<Scope.Scope, never, void>;
48
+ }
49
+ /**
50
+ * @since 1.0.0
51
+ */
52
+ export type RenderContextOptions = IdleRequestOptions & {
53
+ readonly environment: Environment;
54
+ readonly scope: Scope.Scope;
55
+ };
56
+ /**
57
+ * @since 1.0.0
58
+ */
59
+ export declare function make({ ...options }: Omit<RenderContextOptions, "scope">, skipRenderScheduling?: boolean): Effect.Effect<Scope.Scope, never, RenderContext>;
60
+ /**
61
+ * @since 1.0.0
62
+ */
63
+ export declare function unsafeMake({ environment, scope, ...options }: RenderContextOptions, skipRenderScheduling?: boolean): RenderContext;
64
+ /**
65
+ * @since 1.0.0
66
+ */
67
+ export declare function getRenderCache<T>(renderCache: RenderContext["renderCache"], key: object): Option.Option<T>;
68
+ /**
69
+ * @since 1.0.0
70
+ */
71
+ export declare function getTemplateCache(templateCache: RenderContext["templateCache"], key: TemplateStringsArray): Option.Option<Entry>;
72
+ /**
73
+ * @since 1.0.0
74
+ */
75
+ export declare const browser: (window: Window & GlobalThis, options?: DomServicesElementParams & {
76
+ readonly skipRenderScheduling?: boolean;
77
+ }) => Layer.Layer<never, never, RenderContext | CurrentEnvironment | DomServices>;
78
+ /**
79
+ * @since 1.0.0
80
+ */
81
+ export declare const server: Layer.Layer<never, never, RenderContext | CurrentEnvironment>;
82
+ declare const static_: Layer.Layer<never, never, RenderContext | CurrentEnvironment>;
83
+ export {
84
+ /**
85
+ * @since 1.0.0
86
+ */
87
+ static_ as static };
88
+ //# sourceMappingURL=RenderContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderContext.d.ts","sourceRoot":"","sources":["../../src/RenderContext.ts"],"names":[],"mappings":"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"}