@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
@@ -2,23 +2,70 @@ import * as Chunk from "effect/Chunk";
2
2
  import { globalValue } from "effect/GlobalValue";
3
3
  import * as Option from "effect/Option";
4
4
  import * as Template from "../Template.js";
5
- import { SELF_CLOSING_TAGS, TEXT_ONLY_NODES_REGEX } from "../Token.js";
6
5
  import { getPart, getStrictPart, getTextUntilCloseBrace, getTextUntilPart, getWhitespace, PART_STRING } from "./chunks.js";
6
+ // TODO: Consider ways to surface useful errors and warnings.
7
+ // TODO: Profile for performance optimization
8
+ /**
9
+ * @since 1.0.0
10
+ */
11
+ export const TEXT_ONLY_NODES_REGEX = new Set([
12
+ "textarea",
13
+ "script",
14
+ "style",
15
+ "title",
16
+ "plaintext",
17
+ "xmp"
18
+ ]);
19
+ /**
20
+ * @since 1.0.0
21
+ */
22
+ export const SELF_CLOSING_TAGS = new Set([
23
+ "area",
24
+ "base",
25
+ "br",
26
+ "col",
27
+ "command",
28
+ "embed",
29
+ "hr",
30
+ "img",
31
+ "input",
32
+ "keygen",
33
+ "link",
34
+ "meta",
35
+ "param",
36
+ "source",
37
+ "track",
38
+ "wbr"
39
+ ]);
7
40
  export function parse(templateStrings) {
8
41
  return parser.parse(templateStrings);
9
42
  }
10
43
  const SPACE_REGEX = /\s/;
11
- const isPartToken = (input, pos) => input[pos] === "{" && input.slice(pos, pos + 8) === "{{__PART";
12
- const isPartEndToken = (input, pos) => input[pos] === "_" && input.slice(pos, pos + 4) === "__}}";
13
- const isElementOpenToken = (input, pos) => input[pos] === "<" && input[pos + 1] !== "/";
14
- const isElementCloseToken = (input, pos) => input[pos] === "<" && input[pos + 1] === "/";
15
- const isEqualsToken = (input, pos) => input[pos] === "=";
16
- const isQuoteToken = (input, pos) => input[pos] === `"`;
17
- const isSingleQuoteToken = (input, pos) => input[pos] === "'";
44
+ const PART_START = "{{__PART";
45
+ const PART_END = "__}}";
46
+ const chars = {
47
+ openBracket: "{",
48
+ closeBracket: "}",
49
+ underscore: "_",
50
+ equals: "=",
51
+ quote: `"`,
52
+ singleQuote: "'",
53
+ slash: "/",
54
+ greaterThan: ">",
55
+ lessThan: "<",
56
+ hypen: "-"
57
+ };
58
+ const isPartToken = (input, pos) => input[pos] === chars.openBracket && input.slice(pos, pos + 8) === PART_START;
59
+ const isPartEndToken = (input, pos) => input[pos] === chars.underscore && input.slice(pos, pos + 4) === PART_END;
60
+ const isElementOpenToken = (input, pos) => input[pos] === chars.lessThan && input[pos + 1] !== chars.slash;
61
+ const isElementCloseToken = (input, pos) => input[pos] === chars.lessThan && input[pos + 1] === chars.slash;
62
+ const isEqualsToken = (input, pos) => input[pos] === chars.equals;
63
+ const isQuoteToken = (input, pos) => input[pos] === chars.quote;
64
+ const isSingleQuoteToken = (input, pos) => input[pos] === chars.singleQuote;
18
65
  const isWhitespaceToken = (input, pos) => SPACE_REGEX.test(input[pos]);
19
- const isOpenTagEndToken = (input, pos) => input[pos] === ">";
20
- const isSelfClosingTagEndToken = (input, pos) => input[pos] === "/" && input[pos + 1] === ">";
21
- const isCommentEndToken = (input, pos) => input[pos] === "-" && input[pos + 1] === "-" && input[pos + 2] === ">";
66
+ const isOpenTagEndToken = (input, pos) => input[pos] === chars.greaterThan;
67
+ const isSelfClosingTagEndToken = (input, pos) => input[pos] === chars.slash && input[pos + 1] === chars.greaterThan;
68
+ const isCommentEndToken = (input, pos) => input[pos] === chars.hypen && input[pos + 1] === chars.hypen && input[pos + 2] === chars.greaterThan;
22
69
  const Continue = (a) => ["continue", a];
23
70
  const Break = (a) => ["break", Option.fromNullable(a)];
24
71
  const Skip = ["skip"];
@@ -129,8 +176,15 @@ class ParserImpl {
129
176
  this.skipWhitespace();
130
177
  const nextChar = this.nextChar();
131
178
  if (nextChar === "!") { // Comment
132
- this.consumeAmount(3);
133
- return [this.parseComment()];
179
+ this.consumeAmount(1);
180
+ const nextChar = this.nextChar();
181
+ if (nextChar == "-") {
182
+ this.consumeAmount(2);
183
+ return [this.parseComment()];
184
+ }
185
+ else {
186
+ return [this.parseDocType()];
187
+ }
134
188
  }
135
189
  else if (nextChar === "/") { // Self-closing tag
136
190
  return this.selfClosingTagEnd();
@@ -217,6 +271,12 @@ class ParserImpl {
217
271
  }
218
272
  return this.addPart(new Template.SparseCommentNode(textAndParts));
219
273
  }
274
+ parseDocType() {
275
+ this.parseTextUntil((char) => char === chars.greaterThan);
276
+ this.consumeAmount(1);
277
+ this.skipWhitespace();
278
+ return new Template.DocType("html");
279
+ }
220
280
  parseTagName() {
221
281
  return this.parseTextUntilMany(tagNameMatches);
222
282
  }
@@ -229,6 +289,7 @@ class ParserImpl {
229
289
  case null:
230
290
  return Skip;
231
291
  case "whitespace":
292
+ this.skipWhitespace();
232
293
  return Continue([new Template.BooleanNode(name)]);
233
294
  case "equals": {
234
295
  this.consumeAmount(1);
@@ -280,9 +341,15 @@ class ParserImpl {
280
341
  return this.addPart(new Template.BooleanPartNode(name.slice(1), unsafeParsePartIndex(text)));
281
342
  case ".": {
282
343
  const property = name.slice(1);
283
- return this.addPart(property === "data"
284
- ? new Template.DataPartNode(unsafeParsePartIndex(text))
285
- : new Template.PropertyPartNode(property, unsafeParsePartIndex(text)));
344
+ if (property === "data") {
345
+ return this.addPart(new Template.DataPartNode(unsafeParsePartIndex(text)));
346
+ }
347
+ else if (property === "props" || property === "properties") {
348
+ return this.addPart(new Template.PropertiesPartNode(unsafeParsePartIndex(text)));
349
+ }
350
+ else {
351
+ return this.addPart(new Template.PropertyPartNode(property, unsafeParsePartIndex(text)));
352
+ }
286
353
  }
287
354
  case "@":
288
355
  return this.addPart(new Template.EventPartNode(name.slice(1), unsafeParsePartIndex(text)));
@@ -471,7 +538,7 @@ function parseTextAndParts(s, f) {
471
538
  }
472
539
  return out;
473
540
  }
474
- export const parser = globalValue(Symbol.for("../Parser2.js"), () => new ParserImpl());
541
+ export const parser = globalValue(Symbol.for("@typed/template/Parser2"), () => new ParserImpl());
475
542
  const digestSize = 2;
476
543
  const multiplier = 33;
477
544
  const fill = 5381;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/internal/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/internal/parser.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,12 @@
1
- import * as Fx from "@typed/fx/Fx";
2
- import { WithContext } from "@typed/fx/Sink";
3
1
  import { isText } from "@typed/wire";
2
+ import * as Data from "effect/Data";
4
3
  import * as Effect from "effect/Effect";
5
4
  import { equals } from "effect/Equal";
6
- import { strict } from "effect/Equivalence";
7
- import * as Fiber from "effect/Fiber";
5
+ import * as Equivalence from "effect/Equivalence";
8
6
  import * as ReadonlyArray from "effect/ReadonlyArray";
9
- import * as SynchronizedRef from "effect/SynchronizedRef";
10
7
  import { unescape } from "../HtmlChunk.js";
11
8
  import { findHoleComment } from "./utils.js";
12
- const strictEq = strict();
9
+ const strictEq = Equivalence.strict();
13
10
  const base = (tag) => class Base {
14
11
  index;
15
12
  commit;
@@ -29,7 +26,7 @@ const base = (tag) => class Base {
29
26
  if (this.eq(previous, value)) {
30
27
  return Effect.unit;
31
28
  }
32
- return Effect.tap(this.commit.call(this, {
29
+ return Effect.flatMap(this.commit.call(this, {
33
30
  previous,
34
31
  value,
35
32
  part: this
@@ -158,32 +155,22 @@ function diffDataSet(a, b) {
158
155
  removed
159
156
  };
160
157
  }
161
- export class EventPartImpl extends base("event") {
158
+ export class EventPartImpl {
162
159
  name;
160
+ index;
161
+ source;
163
162
  onCause;
164
- constructor(name, onCause, index, commit, value) {
165
- super(index, commit, value, strictEq);
163
+ addEventListener;
164
+ _tag = "event";
165
+ value = null;
166
+ constructor(name, index, source, onCause, addEventListener) {
166
167
  this.name = name;
168
+ this.index = index;
169
+ this.source = source;
167
170
  this.onCause = onCause;
168
- }
169
- static browser(name, index, ref, element, onCause) {
170
- return withSwitchFork((fork, ctx) => {
171
- const source = ref.query(element);
172
- return Effect.succeed(new EventPartImpl(name, onCause, index, ({ value }) => {
173
- return value
174
- ? Fx.run(source.events(name, value.options), WithContext(onCause, value.handler)).pipe(Effect.provide(ctx), fork)
175
- : fork(Effect.unit);
176
- }, null));
177
- });
171
+ this.addEventListener = addEventListener;
178
172
  }
179
173
  }
180
- function withScopedFork(f) {
181
- return Effect.scopeWith((scope) => f(Effect.forkIn(scope)));
182
- }
183
- // Ensures only a single fiber is executing
184
- function withSwitchFork(f) {
185
- return Effect.contextWithEffect((ctx) => withScopedFork((fork) => Effect.flatMap(SynchronizedRef.make(Fiber.unit), (ref) => f((effect) => SynchronizedRef.updateAndGetEffect(ref, (fiber) => Effect.flatMap(Fiber.interrupt(fiber), () => fork(effect))), ctx))));
186
- }
187
174
  export class NodePartImpl extends base("node") {
188
175
  }
189
176
  export class PropertyPartImpl extends base("property") {
@@ -215,6 +202,102 @@ export class TextPartImpl extends base("text") {
215
202
  : document.createTextNode("");
216
203
  return new TextPartImpl(index, ({ part, value }) => ctx.queue.add(part, () => text.nodeValue = value ?? null), text.nodeValue, strictEq);
217
204
  }
205
+ static fromText(text, index, ctx) {
206
+ return new TextPartImpl(index, ({ part, value }) => ctx.queue.add(part, () => text.nodeValue = value ?? null), text.nodeValue, strictEq);
207
+ }
208
+ static getOrCreateText(document, index, element) {
209
+ const comment = findHoleComment(element, index);
210
+ return comment.previousSibling && isText(comment.previousSibling)
211
+ ? comment.previousSibling.nodeValue
212
+ : document.createTextNode("");
213
+ }
214
+ }
215
+ export class PropertiesPartImpl extends base("properties") {
216
+ constructor(index, commit, value) {
217
+ super(index, commit, value, equals);
218
+ }
219
+ getValue(value) {
220
+ if (value == null)
221
+ return null;
222
+ return Data.struct(value);
223
+ }
224
+ static browser(index, element, ctx) {
225
+ return new PropertiesPartImpl(index, ({ part, previous, value }) => ctx.queue.add(part, () => {
226
+ const diff = diffProperties(previous, value);
227
+ if (diff) {
228
+ const { added, removed } = diff;
229
+ removed.forEach((nv) => removeNameValue(element, nv));
230
+ added.forEach((nv) => {
231
+ if ((nv.name[0] === "o" && nv.name[1] === "n") || nv.name[0] === "@")
232
+ return;
233
+ return addNameValue(element, nv);
234
+ });
235
+ }
236
+ }), {});
237
+ }
238
+ }
239
+ function removeNameValue(element, { name, type }) {
240
+ switch (type) {
241
+ case "attr":
242
+ case "bool":
243
+ return element.removeAttribute(name);
244
+ case "prop":
245
+ return delete element[name];
246
+ }
247
+ }
248
+ function addNameValue(element, { name, type, value }) {
249
+ switch (type) {
250
+ case "attr":
251
+ return value == null ? element.removeAttribute(name) : element.setAttribute(name, value);
252
+ case "bool":
253
+ return value == null ? element.removeAttribute(name) : element.toggleAttribute(name, value);
254
+ case "prop":
255
+ return value == null ? (delete element[name]) : element[name] = value;
256
+ }
257
+ }
258
+ function diffProperties(a, b) {
259
+ if (!a) {
260
+ if (b) {
261
+ return { added: Object.entries(b).flatMap(([k, v]) => fromKeyValue(k, v)), removed: [] };
262
+ }
263
+ else
264
+ return null;
265
+ }
266
+ else if (!b) {
267
+ return { added: [], removed: Object.entries(a).flatMap(([k, v]) => fromKeyValue(k, v)) };
268
+ }
269
+ else {
270
+ const { added, removed, unchanged } = diffStrings(Object.keys(a), Object.keys(b));
271
+ return {
272
+ added: added.concat(unchanged).flatMap((k) => fromKeyValue(k, b[k])),
273
+ removed: removed.flatMap((k) => fromKeyValue(k, a[k]))
274
+ };
275
+ }
276
+ }
277
+ function fromKeyValue(name, value) {
278
+ if (name[0] === ".") {
279
+ return value == null ? [] : [{
280
+ type: "prop",
281
+ name: name.slice(1),
282
+ value
283
+ }];
284
+ }
285
+ else if (typeof value === "boolean") {
286
+ return [{
287
+ type: "bool",
288
+ name,
289
+ value
290
+ }];
291
+ }
292
+ else {
293
+ if (name[0] === "o" || name[1] === "n")
294
+ return [];
295
+ return value == null ? [] : [{
296
+ type: "attr",
297
+ name,
298
+ value: String(value)
299
+ }];
300
+ }
218
301
  }
219
302
  const sparse = (tag) => class Base {
220
303
  commit;
@@ -1 +1 @@
1
- {"version":3,"file":"parts.js","sourceRoot":"","sources":["../../../src/internal/parts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parts.js","sourceRoot":"","sources":["../../../src/internal/parts.ts"],"names":[],"mappings":"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"}