@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,331 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
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");
10
+ var Template = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Template"));
11
+ var _Tokenizer = /*#__PURE__*/require("./Tokenizer");
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));
195
+ }
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;
325
+ }
326
+ }
327
+ /**
328
+ * @since 1.0.0
329
+ */
330
+ const parser = exports.parser = /*#__PURE__*/(0, _GlobalValue.globalValue)( /*#__PURE__*/Symbol.for("./Parser"), () => new ParserImpl());
331
+ //# sourceMappingURL=Parser.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=Part.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Part.js","names":[],"sources":["../../src/Part.ts"],"sourcesContent":[null],"mappings":""}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PlaceholderTypeId = exports.Placeholder = void 0;
7
+ require("./internal/module-augmentation");
8
+ var _Fx = /*#__PURE__*/require("@typed/fx/Fx");
9
+ var RefSubject = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/fx/RefSubject"));
10
+ var _effect = /*#__PURE__*/require("effect");
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
+ 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
+ /**
14
+ * @since 1.0.0
15
+ */
16
+
17
+ /**
18
+ * @since 1.0.0
19
+ */
20
+ const PlaceholderTypeId = exports.PlaceholderTypeId = /*#__PURE__*/Symbol.for("./Placholder");
21
+ /**
22
+ * @since 1.0.0
23
+ */
24
+ var Placeholder;
25
+ (function (Placeholder) {
26
+ /**
27
+ * @since 1.0.0
28
+ */
29
+ function asRef(placeholder) {
30
+ if ((0, _Fx.isFx)(placeholder) || _effect.Effect.isEffect(placeholder)) {
31
+ return RefSubject.make(placeholder);
32
+ } else {
33
+ return RefSubject.of(placeholder);
34
+ }
35
+ }
36
+ Placeholder.asRef = asRef;
37
+ })(Placeholder || (exports.Placeholder = Placeholder = {}));
38
+ //# sourceMappingURL=Placeholder.js.map
@@ -0,0 +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,cAAc,CAAC;AAiB3D;;;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"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getUrlFromServerRequest = getUrlFromServerRequest;
7
+ exports.htmlResponse = htmlResponse;
8
+ exports.htmlResponseString = htmlResponseString;
9
+ var Headers = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Headers"));
10
+ var HttpServer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/HttpServer"));
11
+ var _Stream = /*#__PURE__*/require("@typed/fx/Stream");
12
+ var _effect = /*#__PURE__*/require("effect");
13
+ var _Html = /*#__PURE__*/require("./Html");
14
+ 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); }
15
+ 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; }
16
+ /**
17
+ * @since 1.0.0
18
+ */
19
+
20
+ const HTML_CONTENT_TYPE = "text/html";
21
+ const CAMEL_CASE_CONTENT_TYPE = {
22
+ contentType: HTML_CONTENT_TYPE
23
+ };
24
+ const HYPHENATED_CONTENT_TYPE = {
25
+ "content-type": HTML_CONTENT_TYPE
26
+ };
27
+ /**
28
+ * @since 1.0.0
29
+ */
30
+ function htmlResponse(fx, options) {
31
+ return _effect.Effect.contextWithEffect(ctx => HttpServer.response.stream(_effect.Stream.provideContext(_effect.Stream.encodeText((0, _Stream.toStream)((0, _Html.renderToHtml)(fx))), ctx), {
32
+ ...CAMEL_CASE_CONTENT_TYPE,
33
+ ...options,
34
+ headers: {
35
+ ...HYPHENATED_CONTENT_TYPE,
36
+ ...options?.headers
37
+ }
38
+ }));
39
+ }
40
+ /**
41
+ * @since 1.0.0
42
+ */
43
+ function htmlResponseString(html, options) {
44
+ return HttpServer.response.raw(html, {
45
+ ...CAMEL_CASE_CONTENT_TYPE,
46
+ ...options,
47
+ headers: {
48
+ ...HYPHENATED_CONTENT_TYPE,
49
+ ...options?.headers
50
+ }
51
+ });
52
+ }
53
+ /**
54
+ * @since 1.0.0
55
+ */
56
+ function getUrlFromServerRequest(request) {
57
+ const {
58
+ headers
59
+ } = request;
60
+ const host = Headers.get(headers, "x-forwarded-host").pipe(_effect.Option.orElse(() => Headers.get(headers, "host")), _effect.Option.getOrElse(() => "localhost"));
61
+ const protocol = Headers.get(headers, "x-forwarded-proto").pipe(_effect.Option.orElse(() => Headers.get(headers, "protocol")), _effect.Option.getOrElse(() => "http"));
62
+ return new URL(request.url, `${protocol}://${host}`);
63
+ }
64
+ //# sourceMappingURL=Platform.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.render = render;
7
+ exports.renderLayer = renderLayer;
8
+ var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/context"));
9
+ var _Document = /*#__PURE__*/require("@typed/dom/Document");
10
+ var _RootElement = /*#__PURE__*/require("@typed/dom/RootElement");
11
+ var Fx = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/fx/Fx"));
12
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
13
+ var _render = /*#__PURE__*/require("./internal/render");
14
+ var _RenderContext = /*#__PURE__*/require("./RenderContext");
15
+ var _RenderTemplate = /*#__PURE__*/require("./RenderTemplate");
16
+ 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); }
17
+ 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; }
18
+ /**
19
+ * @since 1.0.0
20
+ */
21
+
22
+ /**
23
+ * @since 1.0.0
24
+ */
25
+ function render(rendered) {
26
+ return Fx.fromFxEffect(Effect.contextWith(context => {
27
+ const [document, ctx, {
28
+ rootElement
29
+ }] = Context.getMany(context, _Document.Document, _RenderContext.RenderContext, _RootElement.RootElement);
30
+ return Fx.provideService(Fx.mapEffect(rendered, what => (0, _render.attachRoot)(ctx.renderCache, rootElement, what)), _RenderTemplate.RenderTemplate, (0, _render.renderTemplate)(document, ctx));
31
+ }));
32
+ }
33
+ /**
34
+ * @since 1.0.0
35
+ */
36
+ function renderLayer(rendered) {
37
+ return Fx.drainLayer(Fx.switchMapCause(render(rendered), Effect.logError));
38
+ }
39
+ //# sourceMappingURL=Render.js.map
@@ -0,0 +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;AAAiD,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;AAbjD;;;;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"}