@typed/template 0.1.4 → 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 (234) hide show
  1. package/Directive/package.json +6 -0
  2. package/ElementRef/package.json +6 -0
  3. package/ElementSource/package.json +6 -0
  4. package/Entry/package.json +6 -0
  5. package/EventHandler/package.json +6 -0
  6. package/Html/package.json +6 -0
  7. package/HtmlChunk/package.json +6 -0
  8. package/Hydrate/package.json +6 -0
  9. package/Many/package.json +6 -0
  10. package/Meta/package.json +6 -0
  11. package/Parser/package.json +6 -0
  12. package/Part/package.json +6 -0
  13. package/Placeholder/package.json +6 -0
  14. package/Platform/package.json +6 -0
  15. package/Render/package.json +6 -0
  16. package/RenderContext/package.json +6 -0
  17. package/RenderEvent/package.json +6 -0
  18. package/RenderTemplate/package.json +6 -0
  19. package/Renderable/package.json +6 -0
  20. package/Template/package.json +6 -0
  21. package/TemplateInstance/package.json +6 -0
  22. package/Test/package.json +6 -0
  23. package/Vitest/package.json +6 -0
  24. package/dist/cjs/Directive.js +1 -1
  25. package/dist/cjs/Directive.js.map +1 -1
  26. package/dist/cjs/ElementRef.js +23 -13
  27. package/dist/cjs/ElementRef.js.map +1 -1
  28. package/dist/cjs/ElementSource.js +16 -18
  29. package/dist/cjs/ElementSource.js.map +1 -1
  30. package/dist/cjs/EventHandler.js +1 -1
  31. package/dist/cjs/EventHandler.js.map +1 -1
  32. package/dist/cjs/Html.js +31 -32
  33. package/dist/cjs/Html.js.map +1 -1
  34. package/dist/cjs/HtmlChunk.js +4 -1
  35. package/dist/cjs/HtmlChunk.js.map +1 -1
  36. package/dist/cjs/Hydrate.js +1 -1
  37. package/dist/cjs/Hydrate.js.map +1 -1
  38. package/dist/cjs/Many.js +14 -13
  39. package/dist/cjs/Many.js.map +1 -1
  40. package/dist/cjs/Parser.js +11 -323
  41. package/dist/cjs/Parser.js.map +1 -1
  42. package/dist/cjs/Placeholder.js +3 -3
  43. package/dist/cjs/Placeholder.js.map +1 -1
  44. package/dist/cjs/Platform.js +4 -4
  45. package/dist/cjs/Platform.js.map +1 -1
  46. package/dist/cjs/Render.js +1 -1
  47. package/dist/cjs/Render.js.map +1 -1
  48. package/dist/cjs/RenderContext.js +48 -27
  49. package/dist/cjs/RenderContext.js.map +1 -1
  50. package/dist/cjs/RenderTemplate.js +2 -17
  51. package/dist/cjs/RenderTemplate.js.map +1 -1
  52. package/dist/cjs/Template.js +27 -1
  53. package/dist/cjs/Template.js.map +1 -1
  54. package/dist/cjs/TemplateInstance.js +2 -2
  55. package/dist/cjs/TemplateInstance.js.map +1 -1
  56. package/dist/cjs/Test.js +20 -7
  57. package/dist/cjs/Test.js.map +1 -1
  58. package/dist/cjs/index.js +0 -12
  59. package/dist/cjs/index.js.map +1 -1
  60. package/dist/cjs/internal/EventSource.js +95 -0
  61. package/dist/cjs/internal/EventSource.js.map +1 -0
  62. package/dist/cjs/internal/browser.js +11 -11
  63. package/dist/cjs/internal/browser.js.map +1 -1
  64. package/dist/cjs/internal/hydrate.js +49 -50
  65. package/dist/cjs/internal/hydrate.js.map +1 -1
  66. package/dist/cjs/internal/indexRefCounter.js +49 -2
  67. package/dist/cjs/internal/indexRefCounter.js.map +1 -1
  68. package/dist/cjs/internal/parser.js +60 -17
  69. package/dist/cjs/internal/parser.js.map +1 -1
  70. package/dist/cjs/internal/parts.js +128 -28
  71. package/dist/cjs/internal/parts.js.map +1 -1
  72. package/dist/cjs/internal/render.js +486 -53
  73. package/dist/cjs/internal/render.js.map +1 -1
  74. package/dist/cjs/internal/server.js +5 -2
  75. package/dist/cjs/internal/server.js.map +1 -1
  76. package/dist/dts/Directive.d.ts.map +1 -1
  77. package/dist/dts/ElementRef.d.ts +4 -2
  78. package/dist/dts/ElementRef.d.ts.map +1 -1
  79. package/dist/dts/ElementSource.d.ts +10 -5
  80. package/dist/dts/ElementSource.d.ts.map +1 -1
  81. package/dist/dts/EventHandler.d.ts.map +1 -1
  82. package/dist/dts/Html.d.ts +1 -1
  83. package/dist/dts/Html.d.ts.map +1 -1
  84. package/dist/dts/HtmlChunk.d.ts.map +1 -1
  85. package/dist/dts/Many.d.ts +13 -11
  86. package/dist/dts/Many.d.ts.map +1 -1
  87. package/dist/dts/Parser.d.ts +3 -6
  88. package/dist/dts/Parser.d.ts.map +1 -1
  89. package/dist/dts/Part.d.ts +13 -3
  90. package/dist/dts/Part.d.ts.map +1 -1
  91. package/dist/dts/Placeholder.d.ts +2 -2
  92. package/dist/dts/Placeholder.d.ts.map +1 -1
  93. package/dist/dts/Render.d.ts +2 -1
  94. package/dist/dts/Render.d.ts.map +1 -1
  95. package/dist/dts/RenderContext.d.ts +5 -4
  96. package/dist/dts/RenderContext.d.ts.map +1 -1
  97. package/dist/dts/RenderTemplate.d.ts +2 -16
  98. package/dist/dts/RenderTemplate.d.ts.map +1 -1
  99. package/dist/dts/Renderable.d.ts +2 -2
  100. package/dist/dts/Renderable.d.ts.map +1 -1
  101. package/dist/dts/Template.d.ts +21 -3
  102. package/dist/dts/Template.d.ts.map +1 -1
  103. package/dist/dts/TemplateInstance.d.ts +3 -2
  104. package/dist/dts/TemplateInstance.d.ts.map +1 -1
  105. package/dist/dts/Test.d.ts +4 -6
  106. package/dist/dts/Test.d.ts.map +1 -1
  107. package/dist/dts/index.d.ts +0 -4
  108. package/dist/dts/index.d.ts.map +1 -1
  109. package/dist/dts/internal/EventSource.d.ts +12 -0
  110. package/dist/dts/internal/EventSource.d.ts.map +1 -0
  111. package/dist/dts/internal/browser.d.ts.map +1 -1
  112. package/dist/dts/internal/hydrate.d.ts +5 -5
  113. package/dist/dts/internal/hydrate.d.ts.map +1 -1
  114. package/dist/dts/internal/indexRefCounter.d.ts +5 -0
  115. package/dist/dts/internal/indexRefCounter.d.ts.map +1 -1
  116. package/dist/dts/internal/module-augmentation.d.ts +0 -4
  117. package/dist/dts/internal/module-augmentation.d.ts.map +1 -1
  118. package/dist/dts/internal/parser.d.ts +8 -0
  119. package/dist/dts/internal/parser.d.ts.map +1 -1
  120. package/dist/dts/internal/parts.d.ts +66 -56
  121. package/dist/dts/internal/parts.d.ts.map +1 -1
  122. package/dist/dts/internal/render.d.ts +7 -7
  123. package/dist/dts/internal/render.d.ts.map +1 -1
  124. package/dist/dts/internal/server.d.ts.map +1 -1
  125. package/dist/esm/Directive.js +1 -1
  126. package/dist/esm/Directive.js.map +1 -1
  127. package/dist/esm/ElementRef.js +12 -7
  128. package/dist/esm/ElementRef.js.map +1 -1
  129. package/dist/esm/ElementSource.js +16 -13
  130. package/dist/esm/ElementSource.js.map +1 -1
  131. package/dist/esm/EventHandler.js +1 -1
  132. package/dist/esm/EventHandler.js.map +1 -1
  133. package/dist/esm/Html.js +29 -24
  134. package/dist/esm/Html.js.map +1 -1
  135. package/dist/esm/HtmlChunk.js +6 -1
  136. package/dist/esm/HtmlChunk.js.map +1 -1
  137. package/dist/esm/Hydrate.js +1 -1
  138. package/dist/esm/Hydrate.js.map +1 -1
  139. package/dist/esm/Many.js +14 -10
  140. package/dist/esm/Many.js.map +1 -1
  141. package/dist/esm/Parser.js +6 -335
  142. package/dist/esm/Parser.js.map +1 -1
  143. package/dist/esm/Placeholder.js +2 -2
  144. package/dist/esm/Placeholder.js.map +1 -1
  145. package/dist/esm/Platform.js +2 -2
  146. package/dist/esm/Platform.js.map +1 -1
  147. package/dist/esm/Render.js +1 -1
  148. package/dist/esm/Render.js.map +1 -1
  149. package/dist/esm/RenderContext.js +38 -17
  150. package/dist/esm/RenderContext.js.map +1 -1
  151. package/dist/esm/RenderTemplate.js +2 -12
  152. package/dist/esm/RenderTemplate.js.map +1 -1
  153. package/dist/esm/Template.js +24 -0
  154. package/dist/esm/Template.js.map +1 -1
  155. package/dist/esm/TemplateInstance.js +2 -2
  156. package/dist/esm/TemplateInstance.js.map +1 -1
  157. package/dist/esm/Test.js +20 -7
  158. package/dist/esm/Test.js.map +1 -1
  159. package/dist/esm/index.js +0 -4
  160. package/dist/esm/index.js.map +1 -1
  161. package/dist/esm/internal/EventSource.js +91 -0
  162. package/dist/esm/internal/EventSource.js.map +1 -0
  163. package/dist/esm/internal/browser.js +12 -12
  164. package/dist/esm/internal/browser.js.map +1 -1
  165. package/dist/esm/internal/hydrate.js +45 -46
  166. package/dist/esm/internal/hydrate.js.map +1 -1
  167. package/dist/esm/internal/indexRefCounter.js +50 -2
  168. package/dist/esm/internal/indexRefCounter.js.map +1 -1
  169. package/dist/esm/internal/parser.js +84 -17
  170. package/dist/esm/internal/parser.js.map +1 -1
  171. package/dist/esm/internal/parts.js +110 -27
  172. package/dist/esm/internal/parts.js.map +1 -1
  173. package/dist/esm/internal/render.js +476 -58
  174. package/dist/esm/internal/render.js.map +1 -1
  175. package/dist/esm/internal/server.js +5 -4
  176. package/dist/esm/internal/server.js.map +1 -1
  177. package/package.json +10 -26
  178. package/src/Directive.ts +1 -1
  179. package/src/ElementRef.ts +18 -14
  180. package/src/ElementSource.ts +62 -47
  181. package/src/EventHandler.ts +1 -1
  182. package/src/Html.ts +58 -57
  183. package/src/HtmlChunk.ts +15 -1
  184. package/src/Hydrate.ts +1 -1
  185. package/src/Many.ts +53 -43
  186. package/src/Parser.ts +10 -453
  187. package/src/Part.ts +15 -3
  188. package/src/Placeholder.ts +4 -4
  189. package/src/Platform.ts +2 -2
  190. package/src/Render.ts +7 -2
  191. package/src/RenderContext.ts +49 -21
  192. package/src/RenderTemplate.ts +9 -54
  193. package/src/Renderable.ts +2 -1
  194. package/src/Template.ts +26 -0
  195. package/src/TemplateInstance.ts +9 -9
  196. package/src/Test.ts +40 -21
  197. package/src/index.ts +0 -4
  198. package/src/internal/EventSource.ts +153 -0
  199. package/src/internal/browser.ts +26 -25
  200. package/src/internal/hydrate.ts +68 -61
  201. package/src/internal/indexRefCounter.ts +63 -2
  202. package/src/internal/module-augmentation.ts +0 -4
  203. package/src/internal/parser.ts +92 -19
  204. package/src/internal/parts.ts +158 -73
  205. package/src/internal/render.ts +701 -89
  206. package/src/internal/server.ts +5 -3
  207. package/dist/cjs/Token.js +0 -270
  208. package/dist/cjs/Token.js.map +0 -1
  209. package/dist/cjs/Tokenizer.js +0 -18
  210. package/dist/cjs/Tokenizer.js.map +0 -1
  211. package/dist/cjs/internal/readAttribute.js +0 -34
  212. package/dist/cjs/internal/readAttribute.js.map +0 -1
  213. package/dist/cjs/internal/tokenizer.js +0 -264
  214. package/dist/cjs/internal/tokenizer.js.map +0 -1
  215. package/dist/dts/Token.d.ts +0 -202
  216. package/dist/dts/Token.d.ts.map +0 -1
  217. package/dist/dts/Tokenizer.d.ts +0 -6
  218. package/dist/dts/Tokenizer.d.ts.map +0 -1
  219. package/dist/dts/internal/readAttribute.d.ts +0 -9
  220. package/dist/dts/internal/readAttribute.d.ts.map +0 -1
  221. package/dist/dts/internal/tokenizer.d.ts +0 -3
  222. package/dist/dts/internal/tokenizer.d.ts.map +0 -1
  223. package/dist/esm/Token.js +0 -264
  224. package/dist/esm/Token.js.map +0 -1
  225. package/dist/esm/Tokenizer.js +0 -9
  226. package/dist/esm/Tokenizer.js.map +0 -1
  227. package/dist/esm/internal/readAttribute.js +0 -24
  228. package/dist/esm/internal/readAttribute.js.map +0 -1
  229. package/dist/esm/internal/tokenizer.js +0 -296
  230. package/dist/esm/internal/tokenizer.js.map +0 -1
  231. package/src/Token.ts +0 -269
  232. package/src/Tokenizer.ts +0 -10
  233. package/src/internal/readAttribute.ts +0 -28
  234. package/src/internal/tokenizer.ts +0 -338
@@ -3,329 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.parser = void 0;
7
- var Chunk = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Chunk"));
8
- var _GlobalValue = /*#__PURE__*/require("effect/GlobalValue");
9
- var _parser = /*#__PURE__*/require("./internal/parser.js");
10
- var Template = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Template.js"));
11
- var _Tokenizer = /*#__PURE__*/require("./Tokenizer.js");
12
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
- /**
15
- * @since 1.0.0
16
- */
17
-
18
- const iterator = iterable => iterable[Symbol.iterator]();
19
- const dropLast = /*#__PURE__*/Chunk.dropRight(1);
20
- class ParserImpl {
21
- _template = [];
22
- _tokenStream;
23
- _lookahead;
24
- _stack;
25
- _parts;
26
- _skipWhitespace;
27
- parse(template, tokenStream = iterator((0, _Tokenizer.tokenize)(template))) {
28
- this._template = template;
29
- this._tokenStream = tokenStream;
30
- this._lookahead = this.getNextToken();
31
- this._stack = Chunk.empty();
32
- this._parts = [];
33
- this._skipWhitespace = true;
34
- const ast = this.Template((0, _parser.templateHash)(template));
35
- return ast;
36
- }
37
- Template(hash) {
38
- const template = new Template.Template(this.Children(), hash, this._parts);
39
- return template;
40
- }
41
- Node() {
42
- const token = this.findTokenOfType("opening-tag", "text", "comment", "comment-start", "part-token", "closing-tag");
43
- if (token._tag === "closing-tag") return null;
44
- if (token._tag === "text") {
45
- if (this._skipWhitespace && token.value.trim() === "") return null;
46
- return new Template.TextNode(token.value);
47
- }
48
- if (token._tag === "comment") {
49
- return new Template.CommentNode(token.value);
50
- }
51
- if (token._tag === "comment-start") {
52
- const node = this.Comment("");
53
- return node;
54
- }
55
- // Some annoyances here for generating the correct path for node parts
56
- if (token._tag === "part-token") {
57
- this._skipWhitespace = false;
58
- return this.addPartWithoutCurrent(new Template.NodePart(token.index));
59
- }
60
- this._skipWhitespace = true;
61
- if (token.isSelfClosing) {
62
- return this.SelfClosingElementNode(token.name);
63
- } else if (token.textOnly) {
64
- return this.TextOnlyElement(token.name);
65
- } else {
66
- return this.ElementNode(token.name);
67
- }
68
- }
69
- ElementNode(tagName) {
70
- const attrs = [];
71
- const children = [];
72
- const element = new Template.ElementNode(tagName, attrs, children);
73
- this.Attributes(attrs);
74
- this.Children(children);
75
- return element;
76
- }
77
- SelfClosingElementNode(tagName) {
78
- const attrs = [];
79
- const element = new Template.SelfClosingElementNode(tagName, attrs);
80
- this.Attributes(attrs);
81
- return element;
82
- }
83
- TextOnlyElement(tagName) {
84
- const attrs = [];
85
- const children = [];
86
- const element = new Template.TextOnlyElement(tagName, attrs, children);
87
- this.Attributes(attrs);
88
- this.TextChildren(children);
89
- return element;
90
- }
91
- Attributes(attributes = []) {
92
- while (this._lookahead !== null) {
93
- if (this._lookahead._tag === "opening-tag-end") {
94
- this._lookahead = this.getNextToken();
95
- break;
96
- } else {
97
- const attr = this.Attribute();
98
- if (attr) {
99
- attributes.push(attr);
100
- } else {
101
- break;
102
- }
103
- }
104
- }
105
- return attributes;
106
- }
107
- Attribute() {
108
- 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");
109
- switch (token._tag) {
110
- case "attribute":
111
- return new Template.AttributeNode(token.name, token.value);
112
- case "attribute-start":
113
- return this.SparseAttrNode(token.name);
114
- case "boolean-attribute":
115
- return new Template.BooleanNode(token.name);
116
- case "boolean-attribute-start":
117
- return this.BooleanNode(token.name);
118
- case "className-attribute-start":
119
- return this.SparseClassNameNode();
120
- case "data-attribute-start":
121
- return this.DataNode();
122
- case "event-attribute-start":
123
- return this.EventNode(token.name);
124
- case "property-attribute-start":
125
- return this.PropertyNode(token.name);
126
- case "ref-attribute-start":
127
- return this.RefNode();
128
- case "text":
129
- return null;
130
- }
131
- }
132
- SparseAttrNode(name) {
133
- const nodes = [];
134
- while (this._lookahead !== null) {
135
- const token = this.findTokenOfType("text", "part-token", "attribute-end");
136
- if (token._tag === "text") {
137
- if (token.value === "") continue;
138
- nodes.push(new Template.TextNode(token.value));
139
- } else if (token._tag === "part-token") {
140
- nodes.push(new Template.AttrPartNode(name, token.index));
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() === "") continue;
169
- nodes.push(new Template.TextNode(token.value));
170
- } else if (token._tag === "part-token") {
171
- nodes.push(new Template.ClassNamePartNode(token.index));
172
- } else {
173
- break;
174
- }
175
- }
176
- if (nodes.length === 0) {
177
- throw new SyntaxError("Expected at least one node in class name attribute");
178
- }
179
- if (nodes.length === 1) {
180
- return this.addPart(nodes[0]);
181
- }
182
- return this.addPart(new Template.SparseClassNameNode(nodes));
183
- }
184
- DataNode() {
185
- const part = this.predictNextToken("part-token");
186
- // We don't need to do anything with a data-attribute-end token, skip it
187
- this.skipIfNextToken("data-attribute-end");
188
- return this.addPart(new Template.DataPartNode(part.index));
189
- }
190
- EventNode(name) {
191
- const part = this.predictNextToken("part-token");
192
- // We don't need to do anything with a event-attribute-end token, skip it
193
- this.skipIfNextToken("event-attribute-end");
194
- return this.addPart(new Template.EventPartNode(name, part.index));
6
+ Object.defineProperty(exports, "parse", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _parser.parse;
195
10
  }
196
- PropertyNode(name) {
197
- const part = this.predictNextToken("part-token");
198
- // We don't need to do anything with a property-attribute-end token, skip it
199
- this.skipIfNextToken("property-attribute-end");
200
- return this.addPart(new Template.PropertyPartNode(name, part.index));
201
- }
202
- RefNode() {
203
- const part = this.predictNextToken("part-token");
204
- // We don't need to do anything with a ref-attribute-end token, skip it
205
- this.skipIfNextToken("ref-attribute-end");
206
- return this.addPart(new Template.RefPartNode(part.index));
207
- }
208
- TextPartNode() {
209
- const token = this.predictNextToken("part-token");
210
- return this.addPart(new Template.TextPartNode(token.index));
211
- }
212
- Children(children = []) {
213
- let i = 0;
214
- while (this._lookahead) {
215
- if (this._lookahead._tag === "closing-tag") {
216
- this._lookahead = this.getNextToken();
217
- this._skipWhitespace = true;
218
- break;
219
- } else if (this._skipWhitespace && this._lookahead._tag === "text" && this._lookahead.value.trim() === "") {
220
- this._lookahead = this.getNextToken();
221
- } else {
222
- this._stack = Chunk.append(this._stack, i++);
223
- const child = this.Node();
224
- this._stack = Chunk.dropRight(this._stack, 1);
225
- if (child) {
226
- children.push(child);
227
- } else {
228
- break;
229
- }
230
- }
231
- }
232
- return children;
233
- }
234
- TextChildren(children = []) {
235
- while (this._lookahead !== null) {
236
- const token = this.findTokenOfType("text", "part-token", "closing-tag");
237
- if (token._tag === "text") {
238
- if (token.value) children.push(new Template.TextNode(token.value));
239
- } else if (token._tag === `part-token`) {
240
- children.push(this.addPart(new Template.TextPartNode(token.index)));
241
- } else {
242
- this._skipWhitespace = true;
243
- break;
244
- }
245
- }
246
- return children;
247
- }
248
- Comment(before) {
249
- const nodes = [];
250
- if (before) {
251
- nodes.push(new Template.TextNode(before));
252
- }
253
- while (this._lookahead !== null) {
254
- const token = this.findTokenOfType("part-token", "text", "comment-end");
255
- if (token._tag === "part-token") {
256
- nodes.push(new Template.CommentPartNode(token.index));
257
- } else if (token._tag === "text") {
258
- nodes.push(new Template.TextNode(token.value));
259
- } else {
260
- break;
261
- }
262
- }
263
- if (nodes.length === 1) {
264
- const node = nodes[0];
265
- if (node._tag === "comment-part") {
266
- return new Template.CommentPartNode(node.index);
267
- } else {
268
- return new Template.CommentNode(node.value);
269
- }
270
- }
271
- return this.addPart(new Template.SparseCommentNode(nodes));
272
- }
273
- findTokenOfType(...tokenTypes) {
274
- const token = this._lookahead;
275
- if (token === null) {
276
- throw new SyntaxError(`Unexpected end of template. Expected one of types ${tokenTypes.join(", ")}.`);
277
- }
278
- for (let i = 0; i < tokenTypes.length; i++) {
279
- if (token._tag === tokenTypes[i]) {
280
- this._lookahead = this.getNextToken();
281
- return token;
282
- }
283
- }
284
- throw new SyntaxError(`Unexpected token ${token._tag}. Expected one of types ${tokenTypes.join(", ")}.`);
285
- }
286
- predictNextToken(type) {
287
- const token = this._lookahead;
288
- if (token === null) {
289
- throw new SyntaxError(`Unexpected end of template. Expected ${type}.`);
290
- }
291
- if (token._tag !== type) {
292
- throw new SyntaxError(`Unexpected token ${token._tag}. Expected ${type}.`);
293
- }
294
- this._lookahead = this.getNextToken();
295
- return token;
296
- }
297
- skipIfNextToken(type) {
298
- const token = this._lookahead;
299
- if (token === null) {
300
- return false;
301
- }
302
- if (token._tag !== type) {
303
- return false;
304
- }
305
- this._lookahead = this.getNextToken();
306
- return true;
307
- }
308
- getNextToken() {
309
- const {
310
- done,
311
- value
312
- } = this._tokenStream.next();
313
- if (done) {
314
- return null;
315
- }
316
- return value;
317
- }
318
- addPart(part) {
319
- this._parts.push([part, this._stack]);
320
- return part;
321
- }
322
- addPartWithoutCurrent(part) {
323
- this._parts.push([part, dropLast(this._stack)]);
324
- return part;
11
+ });
12
+ Object.defineProperty(exports, "templateHash", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _parser.templateHash;
325
16
  }
326
- }
327
- /**
328
- * @since 1.0.0
329
- */
330
- const parser = exports.parser = /*#__PURE__*/(0, _GlobalValue.globalValue)( /*#__PURE__*/Symbol.for("./Parser.js"), () => new ParserImpl());
17
+ });
18
+ var _parser = /*#__PURE__*/require("./internal/parser.js");
331
19
  //# sourceMappingURL=Parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Parser.js","names":["Chunk","_interopRequireWildcard","require","_GlobalValue","_parser","Template","_Tokenizer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","iterator","iterable","Symbol","dropLast","dropRight","ParserImpl","_template","_tokenStream","_lookahead","_stack","_parts","_skipWhitespace","parse","template","tokenStream","tokenize","getNextToken","empty","ast","templateHash","hash","Children","Node","token","findTokenOfType","_tag","value","trim","TextNode","CommentNode","node","Comment","addPartWithoutCurrent","NodePart","index","isSelfClosing","SelfClosingElementNode","name","textOnly","TextOnlyElement","ElementNode","tagName","attrs","children","element","Attributes","TextChildren","attributes","attr","Attribute","push","AttributeNode","SparseAttrNode","BooleanNode","SparseClassNameNode","DataNode","EventNode","PropertyNode","RefNode","nodes","AttrPartNode","length","addPart","part","predictNextToken","skipIfNextToken","BooleanPartNode","ClassNamePartNode","SyntaxError","DataPartNode","EventPartNode","PropertyPartNode","RefPartNode","TextPartNode","append","child","before","CommentPartNode","SparseCommentNode","tokenTypes","join","type","done","next","parser","exports","globalValue","for"],"sources":["../../src/Parser.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"Parser.js","names":["_parser","require"],"sources":["../../src/Parser.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;AAIA,IAAAA,OAAA,gBAAAC,OAAA"}
@@ -7,7 +7,7 @@ exports.PlaceholderTypeId = exports.Placeholder = void 0;
7
7
  require("./internal/module-augmentation.js");
8
8
  var _Fx = /*#__PURE__*/require("@typed/fx/Fx");
9
9
  var RefSubject = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/fx/RefSubject"));
10
- var _effect = /*#__PURE__*/require("effect");
10
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
11
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
12
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
13
  /**
@@ -17,7 +17,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
17
17
  /**
18
18
  * @since 1.0.0
19
19
  */
20
- const PlaceholderTypeId = exports.PlaceholderTypeId = /*#__PURE__*/Symbol.for("./Placholder.js");
20
+ const PlaceholderTypeId = exports.PlaceholderTypeId = /*#__PURE__*/Symbol.for("@typed/template/Placholder");
21
21
  /**
22
22
  * @since 1.0.0
23
23
  */
@@ -27,7 +27,7 @@ var Placeholder;
27
27
  * @since 1.0.0
28
28
  */
29
29
  function asRef(placeholder) {
30
- if ((0, _Fx.isFx)(placeholder) || _effect.Effect.isEffect(placeholder)) {
30
+ if ((0, _Fx.isFx)(placeholder) || Effect.isEffect(placeholder)) {
31
31
  return RefSubject.make(placeholder);
32
32
  } else {
33
33
  return RefSubject.of(placeholder);
@@ -1 +1 @@
1
- {"version":3,"file":"Placeholder.js","names":["require","_Fx","RefSubject","_interopRequireWildcard","_effect","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","PlaceholderTypeId","exports","Symbol","for","Placeholder","asRef","placeholder","isFx","Effect","isEffect","make","of"],"sources":["../../src/Placeholder.ts"],"sourcesContent":[null],"mappings":";;;;;;AAIAA,OAAA;AAEA,IAAAC,GAAA,gBAAAD,OAAA;AACA,IAAAE,UAAA,gBAAAC,uBAAA,eAAAH,OAAA;AAEA,IAAAI,OAAA,gBAAAJ,OAAA;AAA+B,SAAAK,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAT/B;;;;AAWA;;;AAGO,MAAMY,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,gBAAGE,MAAM,CAACC,GAAG,CAAC,iBAAiB,CAAC;AAiB9D;;;AAGM,IAAWC,WAAW;AAA5B,WAAiBA,WAAW;EAuB1B;;;EAGA,SAAgBC,KAAKA,CACnBC,WAAiC;IAEjC,IAAI,IAAAC,QAAI,EAAUD,WAAW,CAAC,IAAIE,cAAM,CAACC,QAAQ,CAACH,WAAW,CAAC,EAAE;MAC9D,OAAO9B,UAAU,CAACkC,IAAI,CAACJ,WAA0B,CAAC;IACpD,CAAC,MAAM;MACL,OAAO9B,UAAU,CAACmC,EAAE,CAACL,WAAgB,CAAC;IACxC;EACF;EARgBF,WAAA,CAAAC,KAAK,GAAAA,KAQpB;AACH,CAAC,EAnCgBD,WAAW,KAAAH,OAAA,CAAAG,WAAA,GAAXA,WAAW"}
1
+ {"version":3,"file":"Placeholder.js","names":["require","_Fx","RefSubject","_interopRequireWildcard","Effect","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","PlaceholderTypeId","exports","Symbol","for","Placeholder","asRef","placeholder","isFx","isEffect","make","of"],"sources":["../../src/Placeholder.ts"],"sourcesContent":[null],"mappings":";;;;;;AAIAA,OAAA;AAEA,IAAAC,GAAA,gBAAAD,OAAA;AACA,IAAAE,UAAA,gBAAAC,uBAAA,eAAAH,OAAA;AACA,IAAAI,MAAA,gBAAAD,uBAAA,eAAAH,OAAA;AAAuC,SAAAK,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AARvC;;;;AAWA;;;AAGO,MAAMY,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,gBAAGE,MAAM,CAACC,GAAG,CAAC,4BAA4B,CAAC;AAiBzE;;;AAGM,IAAWC,WAAW;AAA5B,WAAiBA,WAAW;EAuB1B;;;EAGA,SAAgBC,KAAKA,CACnBC,WAAiC;IAEjC,IAAI,IAAAC,QAAI,EAAUD,WAAW,CAAC,IAAI5B,MAAM,CAAC8B,QAAQ,CAACF,WAAW,CAAC,EAAE;MAC9D,OAAO9B,UAAU,CAACiC,IAAI,CAACH,WAA0B,CAAC;IACpD,CAAC,MAAM;MACL,OAAO9B,UAAU,CAACkC,EAAE,CAAOJ,WAAgB,CAAC;IAC9C;EACF;EARgBF,WAAA,CAAAC,KAAK,GAAAA,KAQpB;AACH,CAAC,EAnCgBD,WAAW,KAAAH,OAAA,CAAAG,WAAA,GAAXA,WAAW"}
@@ -31,10 +31,10 @@ function htmlResponse(fx, options) {
31
31
  return _effect.Effect.contextWithEffect(ctx => HttpServer.response.stream(_effect.Stream.provideContext(_effect.Stream.encodeText((0, _Stream.toStream)((0, _Html.renderToHtml)(fx))), ctx), {
32
32
  ...CAMEL_CASE_CONTENT_TYPE,
33
33
  ...options,
34
- headers: {
34
+ headers: Headers.unsafeFromRecord({
35
35
  ...HYPHENATED_CONTENT_TYPE,
36
36
  ...options?.headers
37
- }
37
+ })
38
38
  }));
39
39
  }
40
40
  /**
@@ -44,10 +44,10 @@ function htmlResponseString(html, options) {
44
44
  return HttpServer.response.raw(html, {
45
45
  ...CAMEL_CASE_CONTENT_TYPE,
46
46
  ...options,
47
- headers: {
47
+ headers: Headers.unsafeFromRecord({
48
48
  ...HYPHENATED_CONTENT_TYPE,
49
49
  ...options?.headers
50
- }
50
+ })
51
51
  });
52
52
  }
53
53
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Platform.js","names":["Headers","_interopRequireWildcard","require","HttpServer","_Stream","_effect","_Html","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","HTML_CONTENT_TYPE","CAMEL_CASE_CONTENT_TYPE","contentType","HYPHENATED_CONTENT_TYPE","htmlResponse","fx","options","Effect","contextWithEffect","ctx","response","stream","Stream","provideContext","encodeText","toStream","renderToHtml","headers","htmlResponseString","html","raw","getUrlFromServerRequest","request","host","pipe","Option","orElse","getOrElse","protocol","URL","url"],"sources":["../../src/Platform.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"Platform.js","names":["Headers","_interopRequireWildcard","require","HttpServer","_Stream","_effect","_Html","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","HTML_CONTENT_TYPE","CAMEL_CASE_CONTENT_TYPE","contentType","HYPHENATED_CONTENT_TYPE","htmlResponse","fx","options","Effect","contextWithEffect","ctx","response","stream","Stream","provideContext","encodeText","toStream","renderToHtml","headers","unsafeFromRecord","htmlResponseString","html","raw","getUrlFromServerRequest","request","host","pipe","Option","orElse","getOrElse","protocol","URL","url"],"sources":["../../src/Platform.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -34,6 +34,6 @@ function render(rendered) {
34
34
  * @since 1.0.0
35
35
  */
36
36
  function renderLayer(rendered) {
37
- return Fx.drainLayer(Fx.switchMapCause(render(rendered), Effect.logError));
37
+ return Fx.drainLayer(Fx.switchMapCause(render(rendered), e => Fx.fromEffect(Effect.logError(e))));
38
38
  }
39
39
  //# sourceMappingURL=Render.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Render.js","names":["Context","_interopRequireWildcard","require","_Document","_RootElement","Fx","Effect","_render","_RenderContext","_RenderTemplate","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","render","rendered","fromFxEffect","contextWith","context","document","ctx","rootElement","getMany","Document","RenderContext","RootElement","provideService","mapEffect","what","attachRoot","renderCache","RenderTemplate","renderTemplate","renderLayer","drainLayer","switchMapCause","logError"],"sources":["../../src/Render.ts"],"sourcesContent":[null],"mappings":";;;;;;;AAIA,IAAAA,OAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,SAAA,gBAAAD,OAAA;AACA,IAAAE,YAAA,gBAAAF,OAAA;AACA,IAAAG,EAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AAEA,IAAAI,MAAA,gBAAAL,uBAAA,eAAAC,OAAA;AACA,IAAAK,OAAA,gBAAAL,OAAA;AACA,IAAAM,cAAA,gBAAAN,OAAA;AAEA,IAAAO,eAAA,gBAAAP,OAAA;AAAoD,SAAAQ,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAbpD;;;;AAoBA;;;AAGM,SAAUY,MAAMA,CACpBC,QAAwB;EAExB,OAAO3B,EAAE,CAAC4B,YAAY,CAAC3B,MAAM,CAAC4B,WAAW,CAAEC,OAAO,IAAI;IACpD,MAAM,CAACC,QAAQ,EAAEC,GAAG,EAAE;MAAEC;IAAW,CAAE,CAAC,GAAGtC,OAAO,CAACuC,OAAO,CAACJ,OAAO,EAAEK,kBAAQ,EAAEC,4BAAa,EAAEC,wBAAW,CAAC;IAEvG,OAAOrC,EAAE,CAACsC,cAAc,CACtBtC,EAAE,CAACuC,SAAS,CAACZ,QAAQ,EAAGa,IAAI,IAAK,IAAAC,kBAAU,EAACT,GAAG,CAACU,WAAW,EAAET,WAAW,EAAEO,IAAI,CAAC,CAAC,EAChFG,8BAAc,EACd,IAAAC,sBAAc,EAACb,QAAQ,EAAEC,GAAG,CAAC,CAC9B;EACH,CAAC,CAAC,CAAC;AACL;AAEA;;;AAGM,SAAUa,WAAWA,CACzBlB,QAAwB;EAExB,OAAO3B,EAAE,CAAC8C,UAAU,CAAC9C,EAAE,CAAC+C,cAAc,CAACrB,MAAM,CAACC,QAAQ,CAAC,EAAE1B,MAAM,CAAC+C,QAAQ,CAAC,CAAC;AAC5E"}
1
+ {"version":3,"file":"Render.js","names":["Context","_interopRequireWildcard","require","_Document","_RootElement","Fx","Effect","_render","_RenderContext","_RenderTemplate","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","render","rendered","fromFxEffect","contextWith","context","document","ctx","rootElement","getMany","Document","RenderContext","RootElement","provideService","mapEffect","what","attachRoot","renderCache","RenderTemplate","renderTemplate","renderLayer","drainLayer","switchMapCause","fromEffect","logError"],"sources":["../../src/Render.ts"],"sourcesContent":[null],"mappings":";;;;;;;AAIA,IAAAA,OAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,SAAA,gBAAAD,OAAA;AACA,IAAAE,YAAA,gBAAAF,OAAA;AACA,IAAAG,EAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AAGA,IAAAI,MAAA,gBAAAL,uBAAA,eAAAC,OAAA;AACA,IAAAK,OAAA,gBAAAL,OAAA;AACA,IAAAM,cAAA,gBAAAN,OAAA;AAEA,IAAAO,eAAA,gBAAAP,OAAA;AAAoD,SAAAQ,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAdpD;;;;AAqBA;;;AAGM,SAAUY,MAAMA,CACpBC,QAAwB;EAExB,OAAO3B,EAAE,CAAC4B,YAAY,CAAC3B,MAAM,CAAC4B,WAAW,CAAEC,OAAO,IAAI;IACpD,MAAM,CAACC,QAAQ,EAAEC,GAAG,EAAE;MAAEC;IAAW,CAAE,CAAC,GAAGtC,OAAO,CAACuC,OAAO,CAACJ,OAAO,EAAEK,kBAAQ,EAAEC,4BAAa,EAAEC,wBAAW,CAAC;IAEvG,OAAOrC,EAAE,CAACsC,cAAc,CACtBtC,EAAE,CAACuC,SAAS,CAACZ,QAAQ,EAAGa,IAAI,IAAK,IAAAC,kBAAU,EAACT,GAAG,CAACU,WAAW,EAAET,WAAW,EAAEO,IAAI,CAAC,CAAC,EAChFG,8BAAc,EACd,IAAAC,sBAAc,EAACb,QAAQ,EAAEC,GAAG,CAAC,CAC9B;EACH,CAAC,CAAC,CAAC;AACL;AAEA;;;AAGM,SAAUa,WAAWA,CACzBlB,QAAwB;EAMxB,OAAO3B,EAAE,CAAC8C,UAAU,CAAC9C,EAAE,CAAC+C,cAAc,CAACrB,MAAM,CAACC,QAAQ,CAAC,EAAGrB,CAAC,IAAKN,EAAE,CAACgD,UAAU,CAAC/C,MAAM,CAACgD,QAAQ,CAAC3C,CAAC,CAAC,CAAC,CAAC,CAAC;AACrG"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.browser = exports.RenderContext = void 0;
6
+ exports.dom = exports.RenderContext = void 0;
7
7
  exports.getRenderCache = getRenderCache;
8
8
  exports.getTemplateCache = getTemplateCache;
9
9
  exports.make = make;
@@ -15,7 +15,9 @@ var _GlobalThis = /*#__PURE__*/require("@typed/dom/GlobalThis");
15
15
  var _Window = /*#__PURE__*/require("@typed/dom/Window");
16
16
  var _environment = /*#__PURE__*/require("@typed/environment");
17
17
  var Idle = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/fx/Idle"));
18
- var _effect = /*#__PURE__*/require("effect");
18
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
19
+ var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
20
+ var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
19
21
  var Scope = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Scope"));
20
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -35,7 +37,7 @@ const RenderContext = exports.RenderContext = /*#__PURE__*/Context.Tagged("./Ren
35
37
  function make({
36
38
  ...options
37
39
  }, skipRenderScheduling) {
38
- return _effect.Effect.scopeWith(scope => _effect.Effect.succeed(unsafeMake({
40
+ return Effect.scopeWith(scope => Effect.succeed(unsafeMake({
39
41
  ...options,
40
42
  scope
41
43
  }, skipRenderScheduling)));
@@ -59,25 +61,25 @@ function unsafeMake({
59
61
  * @since 1.0.0
60
62
  */
61
63
  function getRenderCache(renderCache, key) {
62
- return renderCache.has(key) ? _effect.Option.some(renderCache.get(key)) : _effect.Option.none();
64
+ return renderCache.has(key) ? Option.some(renderCache.get(key)) : Option.none();
63
65
  }
64
66
  /**
65
67
  * @since 1.0.0
66
68
  */
67
69
  function getTemplateCache(templateCache, key) {
68
- return _effect.Option.fromNullable(templateCache.get(key));
70
+ return Option.fromNullable(templateCache.get(key));
69
71
  }
70
- const buildWithCurrentEnvironment = (environment, skipRenderScheduling) => _effect.Layer.mergeAll(RenderContext.scoped(make({
72
+ const buildWithCurrentEnvironment = (environment, skipRenderScheduling) => Layer.mergeAll(RenderContext.scoped(make({
71
73
  environment
72
74
  }, skipRenderScheduling)), _environment.CurrentEnvironment.layer(environment));
73
75
  /**
74
76
  * @since 1.0.0
75
77
  */
76
- const browser = (window, options) => _effect.Layer.provideMerge(_effect.Layer.mergeAll(_Window.Window.layer(window), _GlobalThis.GlobalThis.layer(window)), _effect.Layer.mergeAll(buildWithCurrentEnvironment("browser", options?.skipRenderScheduling), (0, _DomServices.domServices)(options)));
78
+ const dom = (window, options) => Layer.provideMerge(Layer.mergeAll(buildWithCurrentEnvironment("dom", options?.skipRenderScheduling), (0, _DomServices.domServices)(options)), Layer.mergeAll(_Window.Window.layer(window), _GlobalThis.GlobalThis.layer(window)));
77
79
  /**
78
80
  * @since 1.0.0
79
81
  */
80
- exports.browser = browser;
82
+ exports.dom = dom;
81
83
  const server = exports.server = /*#__PURE__*/buildWithCurrentEnvironment("server");
82
84
  const static_ = exports.static = /*#__PURE__*/buildWithCurrentEnvironment("static");
83
85
  class RenderQueueImpl {
@@ -86,17 +88,19 @@ class RenderQueueImpl {
86
88
  skipRenderScheduling;
87
89
  queue = new Map();
88
90
  scheduled = false;
91
+ run;
89
92
  constructor(scope, options, skipRenderScheduling = false) {
90
93
  this.scope = scope;
91
94
  this.options = options;
92
95
  this.skipRenderScheduling = skipRenderScheduling;
93
96
  this.add.bind(this);
97
+ this.run = typeof requestAnimationFrame === "undefined" ? this.runIdle : this.runAnimationFrame;
94
98
  }
95
99
  add(part, task) {
96
- if (this.skipRenderScheduling) return _effect.Effect.sync(task);
97
- return _effect.Effect.suspend(() => {
100
+ if (this.skipRenderScheduling) return Effect.sync(task);
101
+ return Effect.suspend(() => {
98
102
  this.queue.set(part, task);
99
- return _effect.Effect.zipRight(_effect.Effect.addFinalizer(() => _effect.Effect.sync(() => {
103
+ return Effect.zipRight(Effect.addFinalizer(() => Effect.sync(() => {
100
104
  const currentTask = this.queue.get(part);
101
105
  // If the current task is still the same we'll delete it from the queue
102
106
  if (currentTask === task) {
@@ -105,26 +109,43 @@ class RenderQueueImpl {
105
109
  })), this.scheduleNextRun);
106
110
  });
107
111
  }
108
- scheduleNextRun = _effect.Effect.suspend(() => {
109
- if (this.queue.size === 0 || this.scheduled) return _effect.Effect.unit;
112
+ scheduleNextRun = Effect.suspend(() => {
113
+ if (this.queue.size === 0 || this.scheduled) return Effect.unit;
110
114
  this.scheduled = true;
111
- return this.run.pipe(Scope.extend(this.scope), _effect.Effect.forkIn(this.scope));
115
+ return this.run.pipe(Scope.extend(this.scope), Effect.forkIn(this.scope));
112
116
  });
113
- run = _effect.Effect.suspend(() => _effect.Effect.flatMap(Idle.whenIdle(this.options), deadline => _effect.Effect.suspend(() => {
114
- const iterator = this.queue.entries();
115
- while (Idle.shouldContinue(deadline)) {
116
- const result = iterator.next();
117
- if (result.done) break;else {
118
- const [part, task] = result.value;
119
- this.queue.delete(part);
120
- task();
117
+ runIdle = Effect.suspend(() => {
118
+ return Effect.flatMap(Idle.whenIdle(this.options), deadline => Effect.suspend(() => {
119
+ const iterator = this.queue.entries();
120
+ while (Idle.shouldContinue(deadline) && this.runTask(iterator)) {
121
+ // Continue
121
122
  }
122
- }
123
- if (this.queue.size > 0) {
124
- return this.run;
123
+ // If we have more work to do, schedule another run
124
+ if (this.queue.size > 0) {
125
+ return this.runIdle;
126
+ }
127
+ this.scheduled = false;
128
+ return Effect.unit;
129
+ }));
130
+ });
131
+ runAnimationFrame = Effect.zipRight(Effect.asyncOption(cb => {
132
+ const id = requestAnimationFrame(() => cb(Effect.unit));
133
+ return Option.some(Effect.sync(() => cancelAnimationFrame(id)));
134
+ }), Effect.sync(() => {
135
+ const iterator = this.queue.entries();
136
+ while (this.runTask(iterator)) {
137
+ // Continue
125
138
  }
126
139
  this.scheduled = false;
127
- return _effect.Effect.unit;
128
- })));
140
+ }));
141
+ runTask = iterator => {
142
+ const result = iterator.next();
143
+ if (result.done) return false;else {
144
+ const [part, task] = result.value;
145
+ this.queue.delete(part);
146
+ task();
147
+ return true;
148
+ }
149
+ };
129
150
  }
130
151
  //# sourceMappingURL=RenderContext.js.map