@typed/template 0.2.0 → 0.3.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 (213) hide show
  1. package/dist/cjs/Directive.js +1 -1
  2. package/dist/cjs/Directive.js.map +1 -1
  3. package/dist/cjs/ElementRef.js +23 -13
  4. package/dist/cjs/ElementRef.js.map +1 -1
  5. package/dist/cjs/ElementSource.js +16 -18
  6. package/dist/cjs/ElementSource.js.map +1 -1
  7. package/dist/cjs/EventHandler.js +1 -1
  8. package/dist/cjs/EventHandler.js.map +1 -1
  9. package/dist/cjs/Html.js +31 -32
  10. package/dist/cjs/Html.js.map +1 -1
  11. package/dist/cjs/HtmlChunk.js +4 -1
  12. package/dist/cjs/HtmlChunk.js.map +1 -1
  13. package/dist/cjs/Hydrate.js +1 -1
  14. package/dist/cjs/Hydrate.js.map +1 -1
  15. package/dist/cjs/Many.js +14 -13
  16. package/dist/cjs/Many.js.map +1 -1
  17. package/dist/cjs/Parser.js +11 -323
  18. package/dist/cjs/Parser.js.map +1 -1
  19. package/dist/cjs/Placeholder.js +3 -3
  20. package/dist/cjs/Placeholder.js.map +1 -1
  21. package/dist/cjs/Platform.js +4 -4
  22. package/dist/cjs/Platform.js.map +1 -1
  23. package/dist/cjs/Render.js +1 -1
  24. package/dist/cjs/Render.js.map +1 -1
  25. package/dist/cjs/RenderContext.js +48 -27
  26. package/dist/cjs/RenderContext.js.map +1 -1
  27. package/dist/cjs/RenderTemplate.js +2 -17
  28. package/dist/cjs/RenderTemplate.js.map +1 -1
  29. package/dist/cjs/Template.js +27 -1
  30. package/dist/cjs/Template.js.map +1 -1
  31. package/dist/cjs/TemplateInstance.js +2 -2
  32. package/dist/cjs/TemplateInstance.js.map +1 -1
  33. package/dist/cjs/Test.js +20 -7
  34. package/dist/cjs/Test.js.map +1 -1
  35. package/dist/cjs/index.js +0 -12
  36. package/dist/cjs/index.js.map +1 -1
  37. package/dist/cjs/internal/EventSource.js +95 -0
  38. package/dist/cjs/internal/EventSource.js.map +1 -0
  39. package/dist/cjs/internal/browser.js +11 -11
  40. package/dist/cjs/internal/browser.js.map +1 -1
  41. package/dist/cjs/internal/hydrate.js +49 -50
  42. package/dist/cjs/internal/hydrate.js.map +1 -1
  43. package/dist/cjs/internal/indexRefCounter.js +49 -2
  44. package/dist/cjs/internal/indexRefCounter.js.map +1 -1
  45. package/dist/cjs/internal/parser.js +60 -17
  46. package/dist/cjs/internal/parser.js.map +1 -1
  47. package/dist/cjs/internal/parts.js +128 -28
  48. package/dist/cjs/internal/parts.js.map +1 -1
  49. package/dist/cjs/internal/render.js +486 -53
  50. package/dist/cjs/internal/render.js.map +1 -1
  51. package/dist/cjs/internal/server.js +5 -2
  52. package/dist/cjs/internal/server.js.map +1 -1
  53. package/dist/dts/Directive.d.ts.map +1 -1
  54. package/dist/dts/ElementRef.d.ts +4 -2
  55. package/dist/dts/ElementRef.d.ts.map +1 -1
  56. package/dist/dts/ElementSource.d.ts +10 -5
  57. package/dist/dts/ElementSource.d.ts.map +1 -1
  58. package/dist/dts/EventHandler.d.ts.map +1 -1
  59. package/dist/dts/Html.d.ts +1 -1
  60. package/dist/dts/Html.d.ts.map +1 -1
  61. package/dist/dts/HtmlChunk.d.ts.map +1 -1
  62. package/dist/dts/Many.d.ts +13 -11
  63. package/dist/dts/Many.d.ts.map +1 -1
  64. package/dist/dts/Parser.d.ts +3 -6
  65. package/dist/dts/Parser.d.ts.map +1 -1
  66. package/dist/dts/Part.d.ts +13 -3
  67. package/dist/dts/Part.d.ts.map +1 -1
  68. package/dist/dts/Placeholder.d.ts +2 -2
  69. package/dist/dts/Placeholder.d.ts.map +1 -1
  70. package/dist/dts/Render.d.ts +2 -1
  71. package/dist/dts/Render.d.ts.map +1 -1
  72. package/dist/dts/RenderContext.d.ts +5 -4
  73. package/dist/dts/RenderContext.d.ts.map +1 -1
  74. package/dist/dts/RenderTemplate.d.ts +2 -16
  75. package/dist/dts/RenderTemplate.d.ts.map +1 -1
  76. package/dist/dts/Renderable.d.ts +2 -2
  77. package/dist/dts/Renderable.d.ts.map +1 -1
  78. package/dist/dts/Template.d.ts +21 -3
  79. package/dist/dts/Template.d.ts.map +1 -1
  80. package/dist/dts/TemplateInstance.d.ts +3 -2
  81. package/dist/dts/TemplateInstance.d.ts.map +1 -1
  82. package/dist/dts/Test.d.ts +4 -6
  83. package/dist/dts/Test.d.ts.map +1 -1
  84. package/dist/dts/index.d.ts +0 -4
  85. package/dist/dts/index.d.ts.map +1 -1
  86. package/dist/dts/internal/EventSource.d.ts +12 -0
  87. package/dist/dts/internal/EventSource.d.ts.map +1 -0
  88. package/dist/dts/internal/browser.d.ts.map +1 -1
  89. package/dist/dts/internal/hydrate.d.ts +5 -5
  90. package/dist/dts/internal/hydrate.d.ts.map +1 -1
  91. package/dist/dts/internal/indexRefCounter.d.ts +5 -0
  92. package/dist/dts/internal/indexRefCounter.d.ts.map +1 -1
  93. package/dist/dts/internal/module-augmentation.d.ts +0 -4
  94. package/dist/dts/internal/module-augmentation.d.ts.map +1 -1
  95. package/dist/dts/internal/parser.d.ts +8 -0
  96. package/dist/dts/internal/parser.d.ts.map +1 -1
  97. package/dist/dts/internal/parts.d.ts +66 -56
  98. package/dist/dts/internal/parts.d.ts.map +1 -1
  99. package/dist/dts/internal/render.d.ts +7 -7
  100. package/dist/dts/internal/render.d.ts.map +1 -1
  101. package/dist/dts/internal/server.d.ts.map +1 -1
  102. package/dist/esm/Directive.js +1 -1
  103. package/dist/esm/Directive.js.map +1 -1
  104. package/dist/esm/ElementRef.js +12 -7
  105. package/dist/esm/ElementRef.js.map +1 -1
  106. package/dist/esm/ElementSource.js +16 -13
  107. package/dist/esm/ElementSource.js.map +1 -1
  108. package/dist/esm/EventHandler.js +1 -1
  109. package/dist/esm/EventHandler.js.map +1 -1
  110. package/dist/esm/Html.js +29 -24
  111. package/dist/esm/Html.js.map +1 -1
  112. package/dist/esm/HtmlChunk.js +6 -1
  113. package/dist/esm/HtmlChunk.js.map +1 -1
  114. package/dist/esm/Hydrate.js +1 -1
  115. package/dist/esm/Hydrate.js.map +1 -1
  116. package/dist/esm/Many.js +14 -10
  117. package/dist/esm/Many.js.map +1 -1
  118. package/dist/esm/Parser.js +6 -335
  119. package/dist/esm/Parser.js.map +1 -1
  120. package/dist/esm/Placeholder.js +2 -2
  121. package/dist/esm/Placeholder.js.map +1 -1
  122. package/dist/esm/Platform.js +2 -2
  123. package/dist/esm/Platform.js.map +1 -1
  124. package/dist/esm/Render.js +1 -1
  125. package/dist/esm/Render.js.map +1 -1
  126. package/dist/esm/RenderContext.js +38 -17
  127. package/dist/esm/RenderContext.js.map +1 -1
  128. package/dist/esm/RenderTemplate.js +2 -12
  129. package/dist/esm/RenderTemplate.js.map +1 -1
  130. package/dist/esm/Template.js +24 -0
  131. package/dist/esm/Template.js.map +1 -1
  132. package/dist/esm/TemplateInstance.js +2 -2
  133. package/dist/esm/TemplateInstance.js.map +1 -1
  134. package/dist/esm/Test.js +20 -7
  135. package/dist/esm/Test.js.map +1 -1
  136. package/dist/esm/index.js +0 -4
  137. package/dist/esm/index.js.map +1 -1
  138. package/dist/esm/internal/EventSource.js +91 -0
  139. package/dist/esm/internal/EventSource.js.map +1 -0
  140. package/dist/esm/internal/browser.js +12 -12
  141. package/dist/esm/internal/browser.js.map +1 -1
  142. package/dist/esm/internal/hydrate.js +45 -46
  143. package/dist/esm/internal/hydrate.js.map +1 -1
  144. package/dist/esm/internal/indexRefCounter.js +50 -2
  145. package/dist/esm/internal/indexRefCounter.js.map +1 -1
  146. package/dist/esm/internal/parser.js +84 -17
  147. package/dist/esm/internal/parser.js.map +1 -1
  148. package/dist/esm/internal/parts.js +110 -27
  149. package/dist/esm/internal/parts.js.map +1 -1
  150. package/dist/esm/internal/render.js +476 -58
  151. package/dist/esm/internal/render.js.map +1 -1
  152. package/dist/esm/internal/server.js +5 -4
  153. package/dist/esm/internal/server.js.map +1 -1
  154. package/package.json +10 -26
  155. package/src/Directive.ts +1 -1
  156. package/src/ElementRef.ts +18 -14
  157. package/src/ElementSource.ts +62 -47
  158. package/src/EventHandler.ts +1 -1
  159. package/src/Html.ts +58 -57
  160. package/src/HtmlChunk.ts +15 -1
  161. package/src/Hydrate.ts +1 -1
  162. package/src/Many.ts +53 -43
  163. package/src/Parser.ts +10 -453
  164. package/src/Part.ts +15 -3
  165. package/src/Placeholder.ts +4 -4
  166. package/src/Platform.ts +2 -2
  167. package/src/Render.ts +7 -2
  168. package/src/RenderContext.ts +47 -19
  169. package/src/RenderTemplate.ts +9 -54
  170. package/src/Renderable.ts +2 -1
  171. package/src/Template.ts +26 -0
  172. package/src/TemplateInstance.ts +9 -9
  173. package/src/Test.ts +40 -21
  174. package/src/index.ts +0 -4
  175. package/src/internal/EventSource.ts +153 -0
  176. package/src/internal/browser.ts +26 -25
  177. package/src/internal/hydrate.ts +68 -61
  178. package/src/internal/indexRefCounter.ts +63 -2
  179. package/src/internal/module-augmentation.ts +0 -4
  180. package/src/internal/parser.ts +92 -19
  181. package/src/internal/parts.ts +158 -73
  182. package/src/internal/render.ts +701 -89
  183. package/src/internal/server.ts +5 -3
  184. package/Token/package.json +0 -6
  185. package/Tokenizer/package.json +0 -6
  186. package/dist/cjs/Token.js +0 -270
  187. package/dist/cjs/Token.js.map +0 -1
  188. package/dist/cjs/Tokenizer.js +0 -18
  189. package/dist/cjs/Tokenizer.js.map +0 -1
  190. package/dist/cjs/internal/readAttribute.js +0 -34
  191. package/dist/cjs/internal/readAttribute.js.map +0 -1
  192. package/dist/cjs/internal/tokenizer.js +0 -264
  193. package/dist/cjs/internal/tokenizer.js.map +0 -1
  194. package/dist/dts/Token.d.ts +0 -202
  195. package/dist/dts/Token.d.ts.map +0 -1
  196. package/dist/dts/Tokenizer.d.ts +0 -6
  197. package/dist/dts/Tokenizer.d.ts.map +0 -1
  198. package/dist/dts/internal/readAttribute.d.ts +0 -9
  199. package/dist/dts/internal/readAttribute.d.ts.map +0 -1
  200. package/dist/dts/internal/tokenizer.d.ts +0 -3
  201. package/dist/dts/internal/tokenizer.d.ts.map +0 -1
  202. package/dist/esm/Token.js +0 -264
  203. package/dist/esm/Token.js.map +0 -1
  204. package/dist/esm/Tokenizer.js +0 -9
  205. package/dist/esm/Tokenizer.js.map +0 -1
  206. package/dist/esm/internal/readAttribute.js +0 -24
  207. package/dist/esm/internal/readAttribute.js.map +0 -1
  208. package/dist/esm/internal/tokenizer.js +0 -296
  209. package/dist/esm/internal/tokenizer.js.map +0 -1
  210. package/src/Token.ts +0 -269
  211. package/src/Tokenizer.ts +0 -10
  212. package/src/internal/readAttribute.ts +0 -28
  213. package/src/internal/tokenizer.ts +0 -338
@@ -1,342 +1,13 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import * as Chunk from "effect/Chunk";
5
- import { globalValue } from "effect/GlobalValue";
6
- import { templateHash } from "./internal/parser.js";
7
- import * as Template from "./Template.js";
8
- import { tokenize } from "./Tokenizer.js";
9
- const iterator = (iterable) => iterable[Symbol.iterator]();
10
- const dropLast = Chunk.dropRight(1);
11
- class ParserImpl {
12
- _template = [];
13
- _tokenStream;
14
- _lookahead;
15
- _stack;
16
- _parts;
17
- _skipWhitespace;
18
- parse(template, tokenStream = iterator(tokenize(template))) {
19
- this._template = template;
20
- this._tokenStream = tokenStream;
21
- this._lookahead = this.getNextToken();
22
- this._stack = Chunk.empty();
23
- this._parts = [];
24
- this._skipWhitespace = true;
25
- const ast = this.Template(templateHash(template));
26
- return ast;
27
- }
28
- Template(hash) {
29
- const template = new Template.Template(this.Children(), hash, this._parts);
30
- return template;
31
- }
32
- Node() {
33
- const token = this.findTokenOfType("opening-tag", "text", "comment", "comment-start", "part-token", "closing-tag");
34
- if (token._tag === "closing-tag")
35
- return null;
36
- if (token._tag === "text") {
37
- if (this._skipWhitespace && token.value.trim() === "")
38
- return null;
39
- return new Template.TextNode(token.value);
40
- }
41
- if (token._tag === "comment") {
42
- return new Template.CommentNode(token.value);
43
- }
44
- if (token._tag === "comment-start") {
45
- const node = this.Comment("");
46
- return node;
47
- }
48
- // Some annoyances here for generating the correct path for node parts
49
- if (token._tag === "part-token") {
50
- this._skipWhitespace = false;
51
- return this.addPartWithoutCurrent(new Template.NodePart(token.index));
52
- }
53
- this._skipWhitespace = true;
54
- if (token.isSelfClosing) {
55
- return this.SelfClosingElementNode(token.name);
56
- }
57
- else if (token.textOnly) {
58
- return this.TextOnlyElement(token.name);
59
- }
60
- else {
61
- return this.ElementNode(token.name);
62
- }
63
- }
64
- ElementNode(tagName) {
65
- const attrs = [];
66
- const children = [];
67
- const element = new Template.ElementNode(tagName, attrs, children);
68
- this.Attributes(attrs);
69
- this.Children(children);
70
- return element;
71
- }
72
- SelfClosingElementNode(tagName) {
73
- const attrs = [];
74
- const element = new Template.SelfClosingElementNode(tagName, attrs);
75
- this.Attributes(attrs);
76
- return element;
77
- }
78
- TextOnlyElement(tagName) {
79
- const attrs = [];
80
- const children = [];
81
- const element = new Template.TextOnlyElement(tagName, attrs, children);
82
- this.Attributes(attrs);
83
- this.TextChildren(children);
84
- return element;
85
- }
86
- Attributes(attributes = []) {
87
- while (this._lookahead !== null) {
88
- if (this._lookahead._tag === "opening-tag-end") {
89
- this._lookahead = this.getNextToken();
90
- break;
91
- }
92
- else {
93
- const attr = this.Attribute();
94
- if (attr) {
95
- attributes.push(attr);
96
- }
97
- else {
98
- break;
99
- }
100
- }
101
- }
102
- return attributes;
103
- }
104
- Attribute() {
105
- const token = this.findTokenOfType("attribute", "attribute-start", "boolean-attribute", "boolean-attribute-start", "className-attribute-start", "data-attribute-start", "event-attribute-start", "property-attribute-start", "ref-attribute-start", "text");
106
- switch (token._tag) {
107
- case "attribute":
108
- return new Template.AttributeNode(token.name, token.value);
109
- case "attribute-start":
110
- return this.SparseAttrNode(token.name);
111
- case "boolean-attribute":
112
- return new Template.BooleanNode(token.name);
113
- case "boolean-attribute-start":
114
- return this.BooleanNode(token.name);
115
- case "className-attribute-start":
116
- return this.SparseClassNameNode();
117
- case "data-attribute-start":
118
- return this.DataNode();
119
- case "event-attribute-start":
120
- return this.EventNode(token.name);
121
- case "property-attribute-start":
122
- return this.PropertyNode(token.name);
123
- case "ref-attribute-start":
124
- return this.RefNode();
125
- case "text":
126
- return null;
127
- }
128
- }
129
- SparseAttrNode(name) {
130
- const nodes = [];
131
- while (this._lookahead !== null) {
132
- const token = this.findTokenOfType("text", "part-token", "attribute-end");
133
- if (token._tag === "text") {
134
- if (token.value === "")
135
- continue;
136
- nodes.push(new Template.TextNode(token.value));
137
- }
138
- else if (token._tag === "part-token") {
139
- nodes.push(new Template.AttrPartNode(name, token.index));
140
- }
141
- else {
142
- if (nodes.length === 0) {
143
- return new Template.BooleanNode(name);
144
- }
145
- break;
146
- }
147
- }
148
- if (nodes.length === 1) {
149
- return this.addPart(nodes[0]);
150
- }
151
- if (nodes.length === 0) {
152
- return new Template.BooleanNode(name);
153
- }
154
- return this.addPart(new Template.SparseAttrNode(name, nodes));
155
- }
156
- BooleanNode(name) {
157
- // We know that the next token MUST be a part-token
158
- const part = this.predictNextToken("part-token");
159
- // We don't need to do anything with a boolean-attribute-end token, skip it
160
- this.skipIfNextToken("boolean-attribute-end");
161
- return this.addPart(new Template.BooleanPartNode(name, part.index));
162
- }
163
- SparseClassNameNode() {
164
- const nodes = [];
165
- while (this._lookahead !== null) {
166
- const token = this.findTokenOfType("text", "part-token", "className-attribute-end");
167
- if (token._tag === "text") {
168
- if (token.value.trim() === "")
169
- continue;
170
- nodes.push(new Template.TextNode(token.value));
171
- }
172
- else if (token._tag === "part-token") {
173
- nodes.push(new Template.ClassNamePartNode(token.index));
174
- }
175
- else {
176
- break;
177
- }
178
- }
179
- if (nodes.length === 0) {
180
- throw new SyntaxError("Expected at least one node in class name attribute");
181
- }
182
- if (nodes.length === 1) {
183
- return this.addPart(nodes[0]);
184
- }
185
- return this.addPart(new Template.SparseClassNameNode(nodes));
186
- }
187
- DataNode() {
188
- const part = this.predictNextToken("part-token");
189
- // We don't need to do anything with a data-attribute-end token, skip it
190
- this.skipIfNextToken("data-attribute-end");
191
- return this.addPart(new Template.DataPartNode(part.index));
192
- }
193
- EventNode(name) {
194
- const part = this.predictNextToken("part-token");
195
- // We don't need to do anything with a event-attribute-end token, skip it
196
- this.skipIfNextToken("event-attribute-end");
197
- return this.addPart(new Template.EventPartNode(name, part.index));
198
- }
199
- PropertyNode(name) {
200
- const part = this.predictNextToken("part-token");
201
- // We don't need to do anything with a property-attribute-end token, skip it
202
- this.skipIfNextToken("property-attribute-end");
203
- return this.addPart(new Template.PropertyPartNode(name, part.index));
204
- }
205
- RefNode() {
206
- const part = this.predictNextToken("part-token");
207
- // We don't need to do anything with a ref-attribute-end token, skip it
208
- this.skipIfNextToken("ref-attribute-end");
209
- return this.addPart(new Template.RefPartNode(part.index));
210
- }
211
- TextPartNode() {
212
- const token = this.predictNextToken("part-token");
213
- return this.addPart(new Template.TextPartNode(token.index));
214
- }
215
- Children(children = []) {
216
- let i = 0;
217
- while (this._lookahead) {
218
- if (this._lookahead._tag === "closing-tag") {
219
- this._lookahead = this.getNextToken();
220
- this._skipWhitespace = true;
221
- break;
222
- }
223
- else if (this._skipWhitespace &&
224
- this._lookahead._tag === "text" &&
225
- this._lookahead.value.trim() === "") {
226
- this._lookahead = this.getNextToken();
227
- }
228
- else {
229
- this._stack = Chunk.append(this._stack, i++);
230
- const child = this.Node();
231
- this._stack = Chunk.dropRight(this._stack, 1);
232
- if (child) {
233
- children.push(child);
234
- }
235
- else {
236
- break;
237
- }
238
- }
239
- }
240
- return children;
241
- }
242
- TextChildren(children = []) {
243
- while (this._lookahead !== null) {
244
- const token = this.findTokenOfType("text", "part-token", "closing-tag");
245
- if (token._tag === "text") {
246
- if (token.value)
247
- children.push(new Template.TextNode(token.value));
248
- }
249
- else if (token._tag === `part-token`) {
250
- children.push(this.addPart(new Template.TextPartNode(token.index)));
251
- }
252
- else {
253
- this._skipWhitespace = true;
254
- break;
255
- }
256
- }
257
- return children;
258
- }
259
- Comment(before) {
260
- const nodes = [];
261
- if (before) {
262
- nodes.push(new Template.TextNode(before));
263
- }
264
- while (this._lookahead !== null) {
265
- const token = this.findTokenOfType("part-token", "text", "comment-end");
266
- if (token._tag === "part-token") {
267
- nodes.push(new Template.CommentPartNode(token.index));
268
- }
269
- else if (token._tag === "text") {
270
- nodes.push(new Template.TextNode(token.value));
271
- }
272
- else {
273
- break;
274
- }
275
- }
276
- if (nodes.length === 1) {
277
- const node = nodes[0];
278
- if (node._tag === "comment-part") {
279
- return new Template.CommentPartNode(node.index);
280
- }
281
- else {
282
- return new Template.CommentNode(node.value);
283
- }
284
- }
285
- return this.addPart(new Template.SparseCommentNode(nodes));
286
- }
287
- findTokenOfType(...tokenTypes) {
288
- const token = this._lookahead;
289
- if (token === null) {
290
- throw new SyntaxError(`Unexpected end of template. Expected one of types ${tokenTypes.join(", ")}.`);
291
- }
292
- for (let i = 0; i < tokenTypes.length; i++) {
293
- if (token._tag === tokenTypes[i]) {
294
- this._lookahead = this.getNextToken();
295
- return token;
296
- }
297
- }
298
- throw new SyntaxError(`Unexpected token ${token._tag}. Expected one of types ${tokenTypes.join(", ")}.`);
299
- }
300
- predictNextToken(type) {
301
- const token = this._lookahead;
302
- if (token === null) {
303
- throw new SyntaxError(`Unexpected end of template. Expected ${type}.`);
304
- }
305
- if (token._tag !== type) {
306
- throw new SyntaxError(`Unexpected token ${token._tag}. Expected ${type}.`);
307
- }
308
- this._lookahead = this.getNextToken();
309
- return token;
310
- }
311
- skipIfNextToken(type) {
312
- const token = this._lookahead;
313
- if (token === null) {
314
- return false;
315
- }
316
- if (token._tag !== type) {
317
- return false;
318
- }
319
- this._lookahead = this.getNextToken();
320
- return true;
321
- }
322
- getNextToken() {
323
- const { done, value } = this._tokenStream.next();
324
- if (done) {
325
- return null;
326
- }
327
- return value;
328
- }
329
- addPart(part) {
330
- this._parts.push([part, this._stack]);
331
- return part;
332
- }
333
- addPartWithoutCurrent(part) {
334
- this._parts.push([part, dropLast(this._stack)]);
335
- return part;
336
- }
337
- }
4
+ export {
338
5
  /**
339
6
  * @since 1.0.0
340
7
  */
341
- export const parser = globalValue(Symbol.for("./Parser.js"), () => new ParserImpl());
8
+ parse,
9
+ /**
10
+ * @since 1.0.0
11
+ */
12
+ templateHash } from "./internal/parser.js";
342
13
  //# sourceMappingURL=Parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../src/Parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../src/Parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO;AACL;;GAEG;AACH,KAAK;AACL;;GAEG;AACH,YAAY,EACb,MAAM,sBAAsB,CAAA"}
@@ -4,11 +4,11 @@
4
4
  import "./internal/module-augmentation.js";
5
5
  import { isFx } from "@typed/fx/Fx";
6
6
  import * as RefSubject from "@typed/fx/RefSubject";
7
- import { Effect } from "effect";
7
+ import * as Effect from "effect/Effect";
8
8
  /**
9
9
  * @since 1.0.0
10
10
  */
11
- export const PlaceholderTypeId = Symbol.for("./Placholder.js");
11
+ export const PlaceholderTypeId = Symbol.for("@typed/template/Placholder");
12
12
  /**
13
13
  * @since 1.0.0
14
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Placeholder.js","sourceRoot":"","sources":["../../src/Placeholder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,mCAAmC,CAAA;AAE1C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;AAiB9D;;GAEG;AACH,MAAM,KAAW,WAAW,CAmC3B;AAnCD,WAAiB,WAAW;IAuB1B;;OAEG;IACH,SAAgB,KAAK,CACnB,WAAiC;QAEjC,IAAI,IAAI,CAAU,WAAW,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/D,OAAO,UAAU,CAAC,IAAI,CAAC,WAA0B,CAAC,CAAA;QACpD,CAAC;aAAM,CAAC;YACN,OAAO,UAAU,CAAC,EAAE,CAAC,WAAgB,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;IARe,iBAAK,QAQpB,CAAA;AACH,CAAC,EAnCgB,WAAW,KAAX,WAAW,QAmC3B"}
1
+ {"version":3,"file":"Placeholder.js","sourceRoot":"","sources":["../../src/Placeholder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,mCAAmC,CAAA;AAE1C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AAiBzE;;GAEG;AACH,MAAM,KAAW,WAAW,CAmC3B;AAnCD,WAAiB,WAAW;IAuB1B;;OAEG;IACH,SAAgB,KAAK,CACnB,WAAiC;QAEjC,IAAI,IAAI,CAAU,WAAW,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/D,OAAO,UAAU,CAAC,IAAI,CAAC,WAA0B,CAAC,CAAA;QACpD,CAAC;aAAM,CAAC;YACN,OAAO,UAAU,CAAC,EAAE,CAAO,WAAgB,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;IARe,iBAAK,QAQpB,CAAA;AACH,CAAC,EAnCgB,WAAW,KAAX,WAAW,QAmC3B"}
@@ -16,7 +16,7 @@ export function htmlResponse(fx, options) {
16
16
  return Effect.contextWithEffect((ctx) => HttpServer.response.stream(Stream.provideContext(Stream.encodeText(toStream(renderToHtml(fx))), ctx), {
17
17
  ...CAMEL_CASE_CONTENT_TYPE,
18
18
  ...options,
19
- headers: { ...HYPHENATED_CONTENT_TYPE, ...options?.headers }
19
+ headers: Headers.unsafeFromRecord({ ...HYPHENATED_CONTENT_TYPE, ...options?.headers })
20
20
  }));
21
21
  }
22
22
  /**
@@ -26,7 +26,7 @@ export function htmlResponseString(html, options) {
26
26
  return HttpServer.response.raw(html, {
27
27
  ...CAMEL_CASE_CONTENT_TYPE,
28
28
  ...options,
29
- headers: { ...HYPHENATED_CONTENT_TYPE, ...options?.headers }
29
+ headers: Headers.unsafeFromRecord({ ...HYPHENATED_CONTENT_TYPE, ...options?.headers })
30
30
  });
31
31
  }
32
32
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Platform.js","sourceRoot":"","sources":["../../src/Platform.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,OAAO,MAAM,+BAA+B,CAAA;AAExD,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAKxC,MAAM,iBAAiB,GAAG,WAAW,CAAA;AACrC,MAAM,uBAAuB,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAA;AAClE,MAAM,uBAAuB,GAAG,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAA;AAErE;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,EAA4B,EAC5B,OAAqC;IAErC,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,EAAE,CACtC,UAAU,CAAC,QAAQ,CAAC,MAAM,CACxB,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EACzE;QACE,GAAG,uBAAuB;QAC1B,GAAG,OAAO;QACV,OAAO,EAAE,EAAE,GAAG,uBAAuB,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE;KAC7D,CACF,CACF,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,OAAqC;IAErC,OAAO,UAAU,CAAC,QAAQ,CAAC,GAAG,CAC5B,IAAI,EACJ;QACE,GAAG,uBAAuB;QAC1B,GAAG,OAAO;QACV,OAAO,EAAE,EAAE,GAAG,uBAAuB,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE;KAC7D,CACF,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAsB;IAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;IAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,IAAI,CACxD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EACjD,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CACpC,CAAA;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAC7D,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,EACrD,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAC/B,CAAA;IAED,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,QAAQ,MAAM,IAAI,EAAE,CAAC,CAAA;AACtD,CAAC"}
1
+ {"version":3,"file":"Platform.js","sourceRoot":"","sources":["../../src/Platform.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,OAAO,MAAM,+BAA+B,CAAA;AAExD,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAKxC,MAAM,iBAAiB,GAAG,WAAW,CAAA;AACrC,MAAM,uBAAuB,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAA;AAClE,MAAM,uBAAuB,GAAG,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAA;AAErE;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,EAA4B,EAC5B,OAAqC;IAErC,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,EAAE,CACtC,UAAU,CAAC,QAAQ,CAAC,MAAM,CACxB,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EACzE;QACE,GAAG,uBAAuB;QAC1B,GAAG,OAAO;QACV,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,GAAG,uBAAuB,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC;KACvF,CACF,CACF,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,OAAqC;IAErC,OAAO,UAAU,CAAC,QAAQ,CAAC,GAAG,CAC5B,IAAI,EACJ;QACE,GAAG,uBAAuB;QAC1B,GAAG,OAAO;QACV,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,GAAG,uBAAuB,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC;KACvF,CACF,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAsB;IAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;IAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,IAAI,CACxD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EACjD,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CACpC,CAAA;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAC7D,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,EACrD,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAC/B,CAAA;IAED,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,QAAQ,MAAM,IAAI,EAAE,CAAC,CAAA;AACtD,CAAC"}
@@ -22,6 +22,6 @@ export function render(rendered) {
22
22
  * @since 1.0.0
23
23
  */
24
24
  export function renderLayer(rendered) {
25
- return Fx.drainLayer(Fx.switchMapCause(render(rendered), Effect.logError));
25
+ return Fx.drainLayer(Fx.switchMapCause(render(rendered), (e) => Fx.fromEffect(Effect.logError(e))));
26
26
  }
27
27
  //# sourceMappingURL=Render.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Render.js","sourceRoot":"","sources":["../../src/Render.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,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,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAOpD;;GAEG;AACH,MAAM,UAAU,MAAM,CACpB,QAAwB;IAExB,OAAO,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE;QACpD,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,CAAA;QAEvG,OAAO,EAAE,CAAC,cAAc,CACtB,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,EAChF,cAAc,EACd,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAC9B,CAAA;IACH,CAAC,CAAC,CAAC,CAAA;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,QAAwB;IAExB,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;AAC5E,CAAC"}
1
+ {"version":3,"file":"Render.js","sourceRoot":"","sources":["../../src/Render.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,cAAc,CAAA;AAGlC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAOpD;;GAEG;AACH,MAAM,UAAU,MAAM,CACpB,QAAwB;IAExB,OAAO,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE;QACpD,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,CAAA;QAEvG,OAAO,EAAE,CAAC,cAAc,CACtB,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,EAChF,cAAc,EACd,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAC9B,CAAA;IACH,CAAC,CAAC,CAAC,CAAA;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,QAAwB;IAMxB,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACrG,CAAC"}
@@ -8,7 +8,9 @@ import { GlobalThis } from "@typed/dom/GlobalThis";
8
8
  import { Window } from "@typed/dom/Window";
9
9
  import { CurrentEnvironment } from "@typed/environment";
10
10
  import * as Idle from "@typed/fx/Idle";
11
- import { Effect, Layer, Option } from "effect";
11
+ import * as Effect from "effect/Effect";
12
+ import * as Layer from "effect/Layer";
13
+ import * as Option from "effect/Option";
12
14
  import * as Scope from "effect/Scope";
13
15
  /**
14
16
  * The context in which templates are rendered within
@@ -48,7 +50,7 @@ const buildWithCurrentEnvironment = (environment, skipRenderScheduling) => Layer
48
50
  /**
49
51
  * @since 1.0.0
50
52
  */
51
- export const browser = (window, options) => Layer.provideMerge(Layer.mergeAll(buildWithCurrentEnvironment("browser", options?.skipRenderScheduling), domServices(options)), Layer.mergeAll(Window.layer(window), GlobalThis.layer(window)));
53
+ export const dom = (window, options) => Layer.provideMerge(Layer.mergeAll(buildWithCurrentEnvironment("dom", options?.skipRenderScheduling), domServices(options)), Layer.mergeAll(Window.layer(window), GlobalThis.layer(window)));
52
54
  /**
53
55
  * @since 1.0.0
54
56
  */
@@ -65,11 +67,13 @@ class RenderQueueImpl {
65
67
  skipRenderScheduling;
66
68
  queue = new Map();
67
69
  scheduled = false;
70
+ run;
68
71
  constructor(scope, options, skipRenderScheduling = false) {
69
72
  this.scope = scope;
70
73
  this.options = options;
71
74
  this.skipRenderScheduling = skipRenderScheduling;
72
75
  this.add.bind(this);
76
+ this.run = typeof requestAnimationFrame === "undefined" ? this.runIdle : this.runAnimationFrame;
73
77
  }
74
78
  add(part, task) {
75
79
  if (this.skipRenderScheduling)
@@ -91,23 +95,40 @@ class RenderQueueImpl {
91
95
  this.scheduled = true;
92
96
  return this.run.pipe(Scope.extend(this.scope), Effect.forkIn(this.scope));
93
97
  });
94
- run = Effect.suspend(() => Effect.flatMap(Idle.whenIdle(this.options), (deadline) => Effect.suspend(() => {
95
- const iterator = this.queue.entries();
96
- while (Idle.shouldContinue(deadline)) {
97
- const result = iterator.next();
98
- if (result.done)
99
- break;
100
- else {
101
- const [part, task] = result.value;
102
- this.queue.delete(part);
103
- task();
98
+ runIdle = Effect.suspend(() => {
99
+ return Effect.flatMap(Idle.whenIdle(this.options), (deadline) => Effect.suspend(() => {
100
+ const iterator = this.queue.entries();
101
+ while (Idle.shouldContinue(deadline) && this.runTask(iterator)) {
102
+ // Continue
104
103
  }
105
- }
106
- if (this.queue.size > 0) {
107
- return this.run;
104
+ // If we have more work to do, schedule another run
105
+ if (this.queue.size > 0) {
106
+ return this.runIdle;
107
+ }
108
+ this.scheduled = false;
109
+ return Effect.unit;
110
+ }));
111
+ });
112
+ runAnimationFrame = Effect.zipRight(Effect.asyncOption((cb) => {
113
+ const id = requestAnimationFrame(() => cb(Effect.unit));
114
+ return Option.some(Effect.sync(() => cancelAnimationFrame(id)));
115
+ }), Effect.sync(() => {
116
+ const iterator = this.queue.entries();
117
+ while (this.runTask(iterator)) {
118
+ // Continue
108
119
  }
109
120
  this.scheduled = false;
110
- return Effect.unit;
111
- })));
121
+ }));
122
+ runTask = (iterator) => {
123
+ const result = iterator.next();
124
+ if (result.done)
125
+ return false;
126
+ else {
127
+ const [part, task] = result.value;
128
+ this.queue.delete(part);
129
+ task();
130
+ return true;
131
+ }
132
+ };
112
133
  }
113
134
  //# sourceMappingURL=RenderContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderContext.js","sourceRoot":"","sources":["../../src/RenderContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderContext.js","sourceRoot":"","sources":["../../src/RenderContext.ts"],"names":[],"mappings":"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"}
@@ -6,21 +6,11 @@ import * as Fx from "@typed/fx/Fx";
6
6
  /**
7
7
  * @since 1.0.0
8
8
  */
9
- export const RenderTemplate = Context.Tagged("./RenderTemplate.js");
9
+ export const RenderTemplate = Context.Tagged("@typed/template/RenderTemplate");
10
10
  /**
11
11
  * @since 1.0.0
12
12
  */
13
13
  export function html(template, ...values) {
14
- const instance = RenderTemplate.withEffect((render) => render(template, values));
15
- return Object.assign(Fx.fromFxEffect(instance), { instance });
16
- }
17
- /**
18
- * @since 1.0.0
19
- */
20
- export function as(ref) {
21
- return function html(template, ...values) {
22
- const instance = RenderTemplate.withEffect((render) => render(template, values, ref));
23
- return Object.assign(Fx.fromFxEffect(instance), { instance });
24
- };
14
+ return Fx.fromFxEffect(RenderTemplate.with((render) => render(template, values)));
25
15
  }
26
16
  //# sourceMappingURL=RenderTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderTemplate.js","sourceRoot":"","sources":["../../src/RenderTemplate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAA;AA4BlC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAmD,OAAO,CAAC,MAAM,CAI1F,qBAAqB,CACtB,CAAA;AAsBD;;GAEG;AACH,MAAM,UAAU,IAAI,CAClB,QAA8B,EAC9B,GAAG,MAAc;IAEjB,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;IAEhF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,EAAE,CAAgC,GAAkB;IAClE,OAAO,SAAS,IAAI,CAClB,QAA8B,EAC9B,GAAG,MAAc;QAEjB,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;QAErF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC/D,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"RenderTemplate.js","sourceRoot":"","sources":["../../src/RenderTemplate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAA;AAoBlC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAmD,OAAO,CAAC,MAAM,CAI1F,gCAAgC,CACjC,CAAA;AACD;;GAEG;AACH,MAAM,UAAU,IAAI,CAClB,QAA8B,EAC9B,GAAG,MAAc;IAEjB,OAAO,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;AACnF,CAAC"}
@@ -64,6 +64,20 @@ export class TextOnlyElement {
64
64
  this.children = children;
65
65
  }
66
66
  }
67
+ /**
68
+ * @since 1.0.0
69
+ */
70
+ export class DocType {
71
+ name;
72
+ publicType;
73
+ systemId;
74
+ _tag = "doctype";
75
+ constructor(name, publicType, systemId) {
76
+ this.name = name;
77
+ this.publicType = publicType;
78
+ this.systemId = systemId;
79
+ }
80
+ }
67
81
  /**
68
82
  * @since 1.0.0
69
83
  */
@@ -176,6 +190,16 @@ export class PropertyPartNode {
176
190
  this.index = index;
177
191
  }
178
192
  }
193
+ /**
194
+ * @since 1.0.0
195
+ */
196
+ export class PropertiesPartNode {
197
+ index;
198
+ _tag = "properties";
199
+ constructor(index) {
200
+ this.index = index;
201
+ }
202
+ }
179
203
  /**
180
204
  * @since 1.0.0
181
205
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Template.js","sourceRoot":"","sources":["../../src/Template.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,OAAO,QAAQ;IAIR;IACA;IAEA;IANF,IAAI,GAAG,UAAU,CAAA;IAE1B,YACW,KAA0B,EAC1B,IAAY;IACrB,2FAA2F;IAClF,KAAqF;QAHrF,UAAK,GAAL,KAAK,CAAqB;QAC1B,SAAI,GAAJ,IAAI,CAAQ;QAEZ,UAAK,GAAL,KAAK,CAAgF;IAC7F,CAAC;CACL;AAsCD;;GAEG;AACH,MAAM,OAAO,WAAW;IAGX;IACA;IACA;IAJF,IAAI,GAAG,SAAS,CAAA;IACzB,YACW,OAAe,EACf,UAA4B,EAC5B,QAAqB;QAFrB,YAAO,GAAP,OAAO,CAAQ;QACf,eAAU,GAAV,UAAU,CAAkB;QAC5B,aAAQ,GAAR,QAAQ,CAAa;IAC7B,CAAC;CACL;AAED;;GAEG;AACH,MAAM,OAAO,QAAQ;IAEE;IADZ,IAAI,GAAG,MAAM,CAAA;IACtB,YAAqB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAGtB;IACA;IAHF,IAAI,GAAG,sBAAsB,CAAA;IACtC,YACW,OAAe,EACf,UAA4B;QAD5B,YAAO,GAAP,OAAO,CAAQ;QACf,eAAU,GAAV,UAAU,CAAkB;IACpC,CAAC;CACL;AAED;;GAEG;AACH,MAAM,OAAO,eAAe;IAGf;IACA;IACA;IAJF,IAAI,GAAG,mBAAmB,CAAA;IACnC,YACW,OAAe,EACf,UAA4B,EAC5B,QAAqB;QAFrB,YAAO,GAAP,OAAO,CAAQ;QACf,eAAU,GAAV,UAAU,CAAkB;QAC5B,aAAQ,GAAR,QAAQ,CAAa;IAC7B,CAAC;CACL;AAkBD;;GAEG;AACH,MAAM,OAAO,aAAa;IAGb;IACA;IAHF,IAAI,GAAG,WAAoB,CAAA;IACpC,YACW,IAAY,EACZ,KAAa;QADb,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAQ;IACrB,CAAC;CACL;AAED;;GAEG;AACH,MAAM,OAAO,YAAY;IAGZ;IACA;IAHF,IAAI,GAAG,MAAe,CAAA;IAC/B,YACW,IAAY,EACZ,KAAa;QADb,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAQ;IACrB,CAAC;CACL;AAED;;GAEG;AACH,MAAM,OAAO,cAAc;IAGd;IACA;IAHF,IAAI,GAAG,aAAsB,CAAA;IACtC,YACW,IAAY,EACZ,KAAqC;QADrC,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAgC;IAC7C,CAAC;CACL;AAED;;GAEG;AACH,MAAM,OAAO,WAAW;IAED;IADZ,IAAI,GAAG,SAAkB,CAAA;IAClC,YAAqB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,OAAO,eAAe;IAGf;IACA;IAHF,IAAI,GAAG,cAAuB,CAAA;IACvC,YACW,IAAY,EACZ,KAAa;QADb,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAQ;IACrB,CAAC;CACL;AAOD;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAEP;IADZ,IAAI,GAAG,gBAAyB,CAAA;IACzC,YAAqB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAGT;IAFZ,IAAI,GAAG,mBAA4B,CAAA;IAE5C,YAAqB,KAA2B;QAA3B,UAAK,GAAL,KAAK,CAAsB;IAAG,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,OAAO,YAAY;IAGF;IAFZ,IAAI,GAAG,MAAe,CAAA;IAE/B,YAAqB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,OAAO,aAAa;IAIb;IACA;IAJF,IAAI,GAAG,OAAgB,CAAA;IAEhC,YACW,IAAY,EACZ,KAAa;QADb,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAQ;IACrB,CAAC;CACL;AAED;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAIhB;IACA;IAJF,IAAI,GAAG,UAAmB,CAAA;IAEnC,YACW,IAAY,EACZ,KAAa;QADb,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAQ;IACrB,CAAC;CACL;AAED;;GAEG;AACH,MAAM,OAAO,WAAW;IAGD;IAFZ,IAAI,GAAG,KAAc,CAAA;IAE9B,YAAqB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;CACvC;AAOD;;GAEG;AACH,MAAM,OAAO,QAAQ;IAGE;IAFZ,IAAI,GAAG,MAAe,CAAA;IAE/B,YAAqB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,OAAO,YAAY;IAGF;IAFZ,IAAI,GAAG,WAAoB,CAAA;IAEpC,YAAqB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;CACvC;AAOD;;GAEG;AACH,MAAM,OAAO,WAAW;IAGD;IAFZ,IAAI,GAAG,SAAkB,CAAA;IAElC,YAAqB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,OAAO,eAAe;IAGL;IAFZ,IAAI,GAAG,cAAuB,CAAA;IAEvC,YAAqB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAGP;IAFZ,IAAI,GAAG,gBAAyB,CAAA;IAEzC,YAAqB,KAAwC;QAAxC,UAAK,GAAL,KAAK,CAAmC;IAAG,CAAC;CAClE"}
1
+ {"version":3,"file":"Template.js","sourceRoot":"","sources":["../../src/Template.ts"],"names":[],"mappings":"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"}