tutuca 0.13.2 → 0.13.3

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.
@@ -656,31 +656,14 @@ function parseBool(s, px) {
656
656
  const val = parseToken(tokens[0], px);
657
657
  return val !== null && kindOf(val) & G_BOOL ? val : null;
658
658
  }
659
- function parseText(s, px) {
660
- return _parseSingle(s, px, G_TEXT);
661
- }
662
- function parseComponent(s, px) {
663
- return _parseSingle(s, px, G_COMPONENT);
664
- }
665
- function parseSequence(s, px) {
666
- return _parseSingle(s, px, G_SEQUENCE);
667
- }
668
- function parseField(s, px) {
669
- return _parseSingle(s, px, G_FIELD);
670
- }
671
- function parseProvide(s, px) {
672
- return _parseSingle(s, px, G_PROVIDE);
673
- }
674
- function parseMacroAttr(s, px) {
675
- return _parseSingle(s, px, G_ALL);
676
- }
677
- function parseReceiveHandler(s, px) {
678
- return _parseHandler(s, px, "receive", true, true, false);
679
- }
680
- function parseAlterHandler(s, px) {
681
- const r = _parseHandler(s, px, "alter", false, false, true);
682
- return r === null ? null : r.handlerVal;
683
- }
659
+ var parseText = (s, px) => _parseSingle(s, px, G_TEXT);
660
+ var parseComponent = (s, px) => _parseSingle(s, px, G_COMPONENT);
661
+ var parseSequence = (s, px) => _parseSingle(s, px, G_SEQUENCE);
662
+ var parseField = (s, px) => _parseSingle(s, px, G_FIELD);
663
+ var parseProvide = (s, px) => _parseSingle(s, px, G_PROVIDE);
664
+ var parseMacroAttr = (s, px) => _parseSingle(s, px, G_ALL);
665
+ var parseReceiveHandler = (s, px) => _parseHandler(s, px, "receive", true, true, false);
666
+ var parseAlterHandler = (s, px) => _parseHandler(s, px, "alter", false, false, true)?.handlerVal ?? null;
684
667
  function _parseHandler(s, px, namespace, allowArgs, report, allowMethod) {
685
668
  const tokens = tokenizeValue(s.trim());
686
669
  const headTok = tokens[0] ?? "";
@@ -1369,19 +1352,9 @@ function childOpts(vnode, ns, opts) {
1369
1352
  const target = ns === SVG_NS && isForeignObject(vnode.tag) ? null : ns;
1370
1353
  return target === (opts.namespace ?? null) ? opts : { ...opts, namespace: target };
1371
1354
  }
1372
- var NEVER_ASSIGN = /* @__PURE__ */ new Set([
1373
- "width",
1374
- "height",
1375
- "href",
1376
- "list",
1377
- "form",
1378
- "tabIndex",
1379
- "download",
1380
- "rowSpan",
1381
- "colSpan",
1382
- "role",
1383
- "popover"
1384
- ]);
1355
+ var NEVER_ASSIGN = new Set(
1356
+ "width height href list form tabIndex download rowSpan colSpan role popover".split(" ")
1357
+ );
1385
1358
  var PROP_ATTR_NAME = { className: "class", htmlFor: "for" };
1386
1359
  function applyProperties(node, props) {
1387
1360
  const namespaced = isNamespaced(node);
@@ -1660,6 +1633,10 @@ function morphChildren(parentDom, oldChilds, newChilds, opts) {
1660
1633
  if (!used[i] && domNodes[i].parentNode === parentDom) parentDom.removeChild(domNodes[i]);
1661
1634
  }
1662
1635
  function render(vnode, container, options, prev) {
1636
+ if (vnode == null) {
1637
+ container.replaceChildren();
1638
+ return { vnode: null, dom: null };
1639
+ }
1663
1640
  const isFragment = vnode instanceof VFragment;
1664
1641
  if (prev && prev.vnode instanceof VFragment === isFragment) {
1665
1642
  const oldDom = isFragment ? container : prev.dom;
@@ -2797,9 +2774,22 @@ var CHECK_TYPE_LIST = Array.isArray;
2797
2774
  var CHECK_TYPE_OBJECT = isPlainObject;
2798
2775
  var CHECK_TYPE_MAP = (v) => v instanceof Map;
2799
2776
  var CHECK_TYPE_SET = (v) => v instanceof Set;
2777
+ var COERCE_NONE = (_v) => null;
2778
+ var COERCE_BOOL = (v) => !!v;
2779
+ var COERCE_STRING = (v) => v?.toString?.() ?? "";
2780
+ var COERCE_INT = (v) => Number.isFinite(v) ? Math.trunc(v) : null;
2781
+ var COERCE_LIST = (v) => Array.isArray(v) ? [...v] : null;
2782
+ var COERCE_OBJECT = (v) => isPlainObject(v) ? { ...v } : null;
2783
+ var COERCE_MAP = (v) => {
2784
+ if (v instanceof Map) return new Map(v);
2785
+ if (Array.isArray(v) || isPlainObject(v))
2786
+ return new Map(Array.isArray(v) ? v : Object.entries(v));
2787
+ return null;
2788
+ };
2789
+ var COERCE_SET = (v) => v instanceof Set || Array.isArray(v) ? new Set(v) : null;
2800
2790
  var FieldBool = class extends Field {
2801
2791
  constructor(name, defaultValue = false) {
2802
- super("bool", name, CHECK_TYPE_BOOL, (v) => !!v, defaultValue);
2792
+ super("bool", name, CHECK_TYPE_BOOL, COERCE_BOOL, defaultValue);
2803
2793
  }
2804
2794
  };
2805
2795
  var FieldAny = class extends Field {
@@ -2809,23 +2799,17 @@ var FieldAny = class extends Field {
2809
2799
  };
2810
2800
  var FieldString = class extends Field {
2811
2801
  constructor(name, defaultValue = "") {
2812
- super("text", name, CHECK_TYPE_STRING, (v) => v?.toString?.() ?? "", defaultValue);
2802
+ super("text", name, CHECK_TYPE_STRING, COERCE_STRING, defaultValue);
2813
2803
  }
2814
2804
  };
2815
2805
  var FieldInt = class extends Field {
2816
2806
  constructor(name, defaultValue = 0) {
2817
- super(
2818
- "int",
2819
- name,
2820
- CHECK_TYPE_INT,
2821
- (v) => Number.isFinite(v) ? Math.trunc(v) : null,
2822
- defaultValue
2823
- );
2807
+ super("int", name, CHECK_TYPE_INT, COERCE_INT, defaultValue);
2824
2808
  }
2825
2809
  };
2826
2810
  var FieldFloat = class extends Field {
2827
2811
  constructor(name, defaultValue = 0) {
2828
- super("float", name, CHECK_TYPE_FLOAT, (_) => null, defaultValue);
2812
+ super("float", name, CHECK_TYPE_FLOAT, COERCE_NONE, defaultValue);
2829
2813
  }
2830
2814
  };
2831
2815
  var metaOf = (v) => v?.constructor?.[COMPONENT] ?? v?.constructor?.getMetaClass?.();
@@ -2838,45 +2822,22 @@ var FieldComp = class extends Field {
2838
2822
  };
2839
2823
  var FieldList = class extends Field {
2840
2824
  constructor(name, defaultValue = []) {
2841
- super("list", name, CHECK_TYPE_LIST, (v) => Array.isArray(v) ? [...v] : null, defaultValue);
2825
+ super("list", name, CHECK_TYPE_LIST, COERCE_LIST, defaultValue);
2842
2826
  }
2843
2827
  };
2844
2828
  var FieldObject = class extends Field {
2845
2829
  constructor(name, defaultValue = {}) {
2846
- super(
2847
- "object",
2848
- name,
2849
- CHECK_TYPE_OBJECT,
2850
- (v) => isPlainObject(v) ? { ...v } : null,
2851
- defaultValue
2852
- );
2830
+ super("object", name, CHECK_TYPE_OBJECT, COERCE_OBJECT, defaultValue);
2853
2831
  }
2854
2832
  };
2855
2833
  var FieldMap = class extends Field {
2856
2834
  constructor(name, defaultValue = /* @__PURE__ */ new Map()) {
2857
- super(
2858
- "map",
2859
- name,
2860
- CHECK_TYPE_MAP,
2861
- (v) => {
2862
- if (v instanceof Map) return new Map(v);
2863
- if (Array.isArray(v) || isPlainObject(v))
2864
- return new Map(Array.isArray(v) ? v : Object.entries(v));
2865
- return null;
2866
- },
2867
- defaultValue
2868
- );
2835
+ super("map", name, CHECK_TYPE_MAP, COERCE_MAP, defaultValue);
2869
2836
  }
2870
2837
  };
2871
2838
  var FieldSet = class extends Field {
2872
2839
  constructor(name, defaultValue = /* @__PURE__ */ new Set()) {
2873
- super(
2874
- "set",
2875
- name,
2876
- CHECK_TYPE_SET,
2877
- (v) => v instanceof Set || Array.isArray(v) ? new Set(v) : null,
2878
- defaultValue
2879
- );
2840
+ super("set", name, CHECK_TYPE_SET, COERCE_SET, defaultValue);
2880
2841
  }
2881
2842
  };
2882
2843
  function mkCompField(field, scope, args) {
@@ -2974,8 +2935,7 @@ function classFromData(name, { fields = {}, methods, statics }) {
2974
2935
  const value = fields[field];
2975
2936
  const type = typeof value;
2976
2937
  if (type === "string") b.addField(field, value, FieldString);
2977
- else if (type === "number")
2978
- b.addField(field, value, Number.isInteger(value) ? FieldInt : FieldFloat);
2938
+ else if (type === "number") b.addField(field, value, FieldFloat);
2979
2939
  else if (type === "boolean") b.addField(field, value, FieldBool);
2980
2940
  else if (Array.isArray(value)) b.addField(field, [...value], FieldList);
2981
2941
  else if (value instanceof Set) b.addField(field, new Set(value), FieldSet);