mol_vary 0.0.50 → 0.0.51

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.
package/web.test.js CHANGED
@@ -1594,131 +1594,126 @@ var $;
1594
1594
  const { L1, L2, L4, L8, LA } = $mol_vary_len;
1595
1595
  const str = $mol_charset_encode;
1596
1596
  function check(vary, ideal, Vary = $mol_vary) {
1597
- const pack = Vary.pack([vary]);
1598
- $mol_assert_equal(Vary.take(pack), [vary]);
1597
+ const pack = Vary.pack(vary);
1598
+ $mol_assert_equal(Vary.take(pack), vary);
1599
1599
  $mol_assert_equal(pack, new Uint8Array(ideal));
1600
1600
  }
1601
1601
  $mol_test({
1602
1602
  "vary pack logical"($) {
1603
- check(null, [spec | none]);
1604
- check(true, [$mol_vary_spec.true]);
1605
- check(false, [$mol_vary_spec.fake]);
1606
- check(undefined, [spec | both]);
1603
+ check([null], [spec | none]);
1604
+ check([true], [$mol_vary_spec.true]);
1605
+ check([false], [$mol_vary_spec.fake]);
1606
+ check([undefined], [spec | both]);
1607
1607
  },
1608
1608
  "vary pack uint0"($) {
1609
- check(0, [0]);
1610
- check(27, [27]);
1609
+ check([0], [0]);
1610
+ check([27], [27]);
1611
1611
  },
1612
1612
  "vary pack uint1"($) {
1613
- check(28, [uint | L1, 28]);
1614
- check(255, [uint | L1, 255]);
1613
+ check([28], [uint | L1, 28]);
1614
+ check([255], [uint | L1, 255]);
1615
1615
  },
1616
1616
  "vary pack uint2"($) {
1617
- check(256, [uint | L2, 0, 1]);
1618
- check(256 ** 2 - 1, [uint | L2, 255, 255]);
1617
+ check([256], [uint | L2, 0, 1]);
1618
+ check([256 ** 2 - 1], [uint | L2, 255, 255]);
1619
1619
  },
1620
1620
  "vary pack uint4"($) {
1621
- check(256 ** 2, [uint | L4, 0, 0, 1, 0]);
1622
- check(256 ** 4 - 1, [uint | L4, 255, 255, 255, 255]);
1621
+ check([256 ** 2], [uint | L4, 0, 0, 1, 0]);
1622
+ check([256 ** 4 - 1], [uint | L4, 255, 255, 255, 255]);
1623
1623
  },
1624
1624
  "vary pack uint8"($) {
1625
- check(256 ** 4, [uint | L8, 0, 0, 0, 0, 1, 0, 0, 0]);
1626
- check(Number.MAX_SAFE_INTEGER, [uint | L8, 255, 255, 255, 255, 255, 255, 31, 0]);
1627
- check(256n ** 8n - 1n, [uint | L8, 255, 255, 255, 255, 255, 255, 255, 255]);
1628
- },
1629
- "vary pack with wrong size"($) {
1630
- $mol_assert_equal($mol_vary.take(new Uint8Array([])), []);
1631
- $mol_assert_equal($mol_vary.take(new Uint8Array([uint | 7])), [7]);
1632
- $mol_assert_equal($mol_vary.take(new Uint8Array([uint | 7, uint | 7])), [7, 7]);
1625
+ check([256 ** 4], [uint | L8, 0, 0, 0, 0, 1, 0, 0, 0]);
1626
+ check([Number.MAX_SAFE_INTEGER], [uint | L8, 255, 255, 255, 255, 255, 255, 31, 0]);
1627
+ check([256n ** 8n - 1n], [uint | L8, 255, 255, 255, 255, 255, 255, 255, 255]);
1633
1628
  },
1634
1629
  "vary pack sint0"($) {
1635
- check(-1, [-1]);
1636
- check(-27, [-27]);
1630
+ check([-1], [-1]);
1631
+ check([-27], [-27]);
1637
1632
  },
1638
1633
  "vary pack sint1"($) {
1639
- check(-28, [sint | -L1, -28]);
1640
- check(-256 / 2, [sint | -L1, 128]);
1634
+ check([-28,], [sint | -L1, -28]);
1635
+ check([-256 / 2], [sint | -L1, 128]);
1641
1636
  },
1642
1637
  "vary pack sint2"($) {
1643
- check(-256 / 2 - 1, [sint | -L2, 127, 255]);
1644
- check(-(256 ** 2) / 2, [sint | -L2, 0, 128]);
1638
+ check([-256 / 2 - 1], [sint | -L2, 127, 255]);
1639
+ check([-(256 ** 2) / 2], [sint | -L2, 0, 128]);
1645
1640
  },
1646
1641
  "vary pack sint4"($) {
1647
- check(-(256 ** 2) / 2 - 1, [sint | -L4, 255, 127, 255, 255]);
1648
- check(-(256 ** 4) / 2, [sint | -L4, 0, 0, 0, 128]);
1642
+ check([-(256 ** 2) / 2 - 1], [sint | -L4, 255, 127, 255, 255]);
1643
+ check([-(256 ** 4) / 2], [sint | -L4, 0, 0, 0, 128]);
1649
1644
  },
1650
1645
  "vary pack sint8"($) {
1651
- check(-(256 ** 4) / 2 - 1, [sint | -L8, 255, 255, 255, 127, 255, 255, 255, 255]);
1652
- check(Number.MIN_SAFE_INTEGER, [sint | -L8, 1, 0, 0, 0, 0, 0, 224, 255]);
1653
- check(-(256n ** 8n) / 2n, [sint | -L8, 0, 0, 0, 0, 0, 0, 0, 128]);
1646
+ check([-(256 ** 4) / 2 - 1], [sint | -L8, 255, 255, 255, 127, 255, 255, 255, 255]);
1647
+ check([Number.MIN_SAFE_INTEGER], [sint | -L8, 1, 0, 0, 0, 0, 0, 224, 255]);
1648
+ check([-(2n ** 63n)], [sint | -L8, 0, 0, 0, 0, 0, 0, 0, 128]);
1654
1649
  },
1655
1650
  "vary pack bigint"($) {
1656
- check(2n ** 64n, [sint | -LA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]);
1657
- check(2n ** 2104n, [sint | -LA, 255, ...Array.from({ length: 263 }, () => 0), 1]);
1658
- check(-1n - 2n ** 64n, [sint | -LA, 0, 255, 255, 255, 255, 255, 255, 255, 255, 254]);
1659
- check(-1n - 2n ** 2104n, [sint | -LA, 255, ...Array.from({ length: 263 }, () => 255), 254]);
1651
+ check([2n ** 64n], [sint | -LA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]);
1652
+ check([2n ** 2111n], [sint | -LA, 0, 1, ...Array.from({ length: 263 }, () => 0), 128, 0]);
1653
+ check([-1n - 2n ** 64n], [sint | -LA, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 254]);
1654
+ check([-1n - 2n ** 2111n], [sint | -LA, 0, 1, ...Array.from({ length: 263 }, () => 255), -129, 255]);
1660
1655
  },
1661
1656
  "vary pack float"($) {
1662
- check(1.5, [fp64, ...new Uint8Array(new Float64Array([1.5]).buffer)]);
1657
+ check([1.5], [fp64, ...new Uint8Array(new Float64Array([1.5]).buffer)]);
1663
1658
  },
1664
1659
  "vary pack list"($) {
1665
- check([1, 2, 3], [list | 3, 1, 2, 3]);
1666
- check([[], [1], [2, 3]], [list | 3, list | 0, list | 1, 1, list | 2, 2, 3]);
1660
+ check([[1, 2, 3]], [list | 3, 1, 2, 3]);
1661
+ check([[[], [1], [2, 3]]], [list | 3, list | 0, list | 1, 1, list | 2, 2, 3]);
1667
1662
  },
1668
1663
  "vary pack dedup list"($) {
1669
1664
  const pair = [1, 2];
1670
- check([pair, pair], [list | 2, list | 2, 1, 2, link | 0]);
1665
+ check([[pair, pair]], [list | 2, list | 2, 1, 2, link | 0]);
1671
1666
  const seven = [7];
1672
1667
  const box = [seven];
1673
- check([box, box, seven], [list | 3, list | 1, list | 1, 7, link | 1, link | 0]);
1668
+ check([[box, box, seven]], [list | 3, list | 1, list | 1, 7, link | 1, link | 0]);
1674
1669
  },
1675
1670
  "vary pack cyclic list"($) {
1676
1671
  const foo = [];
1677
1672
  foo.push([foo]);
1678
- $mol_assert_fail(() => $mol_vary.pack(foo), 'Cyclic refs');
1673
+ $mol_assert_fail(() => $mol_vary.pack([foo]), 'Cyclic refs');
1679
1674
  },
1680
1675
  "vary pack dedup uint"($) {
1681
- check([28, 28], [list | 2, uint | L1, 28, link | 0]);
1682
- check([2n ** 64n, 2n ** 64n], [list | 2, sint | -LA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, link | 0]);
1676
+ check([[28, 28]], [list | 2, uint | L1, 28, link | 0]);
1677
+ check([[2n ** 64n, 2n ** 64n]], [list | 2, sint | -LA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, link | 0]);
1683
1678
  },
1684
1679
  "vary pack dedup float"($) {
1685
- check([1.5, 1.5], [list | 2, fp64, ...new Uint8Array(new Float64Array([1.5]).buffer), link | 0]);
1680
+ check([[1.5, 1.5]], [list | 2, fp64, ...new Uint8Array(new Float64Array([1.5]).buffer), link | 0]);
1686
1681
  },
1687
1682
  "vary pack text"($) {
1688
- check('foo', [text | 3, ...str('foo')]);
1683
+ check(['foo'], [text | 3, ...str('foo')]);
1689
1684
  const long = 'abcdefghijklmnopqrstuvwxyzЖЫ';
1690
- check(long, [text | L1, 28, ...str(long)]);
1685
+ check([long], [text | L1, 28, ...str(long)]);
1691
1686
  },
1692
1687
  "vary pack dedup text"($) {
1693
- check(["f", "f"], [list | 2, text | 1, ...str('f'), link | 0]);
1688
+ check([["f", "f"]], [list | 2, text | 1, ...str('f'), link | 0]);
1694
1689
  },
1695
1690
  "vary pack blob"($) {
1696
- check(new Uint8Array([1, 255]), [blob | 2, uint | L1, 1, 255]);
1697
- check(new Int8Array([-128, 127]), [blob | 2, sint | ~L1, -128, 127]);
1698
- check(new Uint32Array([255]), [blob | 4, uint | L4, 255, 0, 0, 0]);
1699
- check(new Int32Array([-128]), [blob | 4, sint | ~L4, -128, 255, 255, 255]);
1700
- check(new BigUint64Array([255n]), [blob | 8, uint | L8, 255, 0, 0, 0, 0, 0, 0, 0]);
1701
- check(new BigInt64Array([-128n]), [blob | 8, sint | ~L8, -128, 255, 255, 255, 255, 255, 255, 255]);
1702
- check(new Float32Array([1.5]), [blob | 4, fp32, ...new Uint8Array(new Float32Array([1.5]).buffer)]);
1703
- check(new Float64Array([1.5]), [blob | 8, fp64, ...new Uint8Array(new Float64Array([1.5]).buffer)]);
1691
+ check([new Uint8Array([1, 255])], [blob | 2, uint | L1, 1, 255]);
1692
+ check([new Int8Array([-128, 127])], [blob | 2, sint | ~L1, -128, 127]);
1693
+ check([new Uint32Array([255])], [blob | 4, uint | L4, 255, 0, 0, 0]);
1694
+ check([new Int32Array([-128])], [blob | 4, sint | ~L4, -128, 255, 255, 255]);
1695
+ check([new BigUint64Array([255n])], [blob | 8, uint | L8, 255, 0, 0, 0, 0, 0, 0, 0]);
1696
+ check([new BigInt64Array([-128n])], [blob | 8, sint | ~L8, -128, 255, 255, 255, 255, 255, 255, 255]);
1697
+ check([new Float32Array([1.5])], [blob | 4, fp32, ...new Uint8Array(new Float32Array([1.5]).buffer)]);
1698
+ check([new Float64Array([1.5])], [blob | 8, fp64, ...new Uint8Array(new Float64Array([1.5]).buffer)]);
1704
1699
  },
1705
1700
  "vary pack dedup blob"($) {
1706
1701
  const part = new Uint8Array([1, 2]);
1707
- check([part, part], [list | 2, blob | 2, uint | L1, 1, 2, link | 0]);
1702
+ check([[part, part]], [list | 2, blob | 2, uint | L1, 1, 2, link | 0]);
1708
1703
  },
1709
1704
  "vary pack struct"($) {
1710
- check({ x: 1, y: 2 }, [tupl | 2, list | 2, text | 1, ...str('x'), text | 1, ...str('y'), 1, 2]);
1711
- check({ x: {}, y: { a: 1 } }, [tupl | 2, list | 2, text | 1, ...str('x'), text | 1, ...str('y'), tupl | 0, list | 0, tupl | 1, list | 1, text | 1, ...str('a'), 1]);
1705
+ check([{ x: 1, y: 2 }], [tupl | 2, list | 2, text | 1, ...str('x'), text | 1, ...str('y'), 1, 2]);
1706
+ check([{ x: {}, y: { a: 1 } }], [tupl | 2, list | 2, text | 1, ...str('x'), text | 1, ...str('y'), tupl | 0, list | 0, tupl | 1, list | 1, text | 1, ...str('a'), 1]);
1712
1707
  },
1713
1708
  "vary pack struct shape dedup"($) {
1714
- check([{}, { foo: 1 }, { foo: 2 }], [list | 3, tupl | 0, list | 0, tupl | 1, list | 1, text | 3, ...str('foo'), 1, tupl | 1, link | 3, 2]);
1715
- check({ x: 1, y: { x: 2, y: 3 } }, [tupl | 2, list | 2, text | 1, ...str('x'), text | 1, ...str('y'), 1, tupl | 2, link | 2, 2, 3]);
1709
+ check([[{}, { foo: 1 }, { foo: 2 }]], [list | 3, tupl | 0, list | 0, tupl | 1, list | 1, text | 3, ...str('foo'), 1, tupl | 1, link | 3, 2]);
1710
+ check([{ x: 1, y: { x: 2, y: 3 } }], [tupl | 2, list | 2, text | 1, ...str('x'), text | 1, ...str('y'), 1, tupl | 2, link | 2, 2, 3]);
1716
1711
  },
1717
1712
  "vary pack struct full dedup"($) {
1718
1713
  const item = { x: 1 };
1719
- check([item, item], [list | 2, tupl | 1, list | 1, text | 1, ...str('x'), 1, link | 2]);
1714
+ check([[item, item]], [list | 2, tupl | 1, list | 1, text | 1, ...str('x'), 1, link | 2]);
1720
1715
  const part = { x: 1, y: 2 };
1721
- check({ x: part, y: part }, [tupl | 2, list | 2, text | 1, ...str('x'), text | 1, ...str('y'), tupl | 2, link | 2, 1, 2, link | 3]);
1716
+ check([{ x: part, y: part }], [tupl | 2, list | 2, text | 1, ...str('x'), text | 1, ...str('y'), tupl | 2, link | 2, 1, 2, link | 3]);
1722
1717
  },
1723
1718
  "vary pack cyclic struct"($) {
1724
1719
  const foo = { bar: null };
@@ -1726,16 +1721,16 @@ var $;
1726
1721
  $mol_assert_fail(() => $mol_vary.pack([foo]), 'Cyclic refs');
1727
1722
  },
1728
1723
  "vary pack Map"($) {
1729
- check(new Map([['foo', 1], [2, 'bar']]), [tupl | 2, list | 2, text | 4, ...str('keys'), text | 4, ...str('vals'), list | 2, text | 3, ...str('foo'), 2, list | 2, 1, text | 3, ...str('bar')]);
1724
+ check([new Map([['foo', 1], [2, 'bar']])], [tupl | 2, list | 2, text | 4, ...str('keys'), text | 4, ...str('vals'), list | 2, text | 3, ...str('foo'), 2, list | 2, 1, text | 3, ...str('bar')]);
1730
1725
  },
1731
1726
  "vary pack Set"($) {
1732
- check(new Set([7, 'foo']), [tupl | 1, list | 1, text | 3, ...str('set'), list | 2, 7, text | 3, ...str('foo')]);
1727
+ check([new Set([7, 'foo'])], [tupl | 1, list | 1, text | 3, ...str('set'), list | 2, 7, text | 3, ...str('foo')]);
1733
1728
  },
1734
1729
  "vary pack Date"($) {
1735
1730
  const date1 = new Date('2025-01-02T03:04:05');
1736
- check(date1, [tupl | 1, list | 1, text | 9, ...str('unix_time'), uint | L4, ...new Uint8Array(new Uint32Array([date1.valueOf() / 1000]).buffer)]);
1731
+ check([date1], [tupl | 1, list | 1, text | 9, ...str('unix_time'), uint | L4, ...new Uint8Array(new Uint32Array([date1.valueOf() / 1000]).buffer)]);
1737
1732
  const date2 = new Date('2025-01-02T03:04:05.678');
1738
- check(date2, [tupl | 1, list | 1, text | 9, ...str('unix_time'), fp64, ...new Uint8Array(new Float64Array([date2.valueOf() / 1000]).buffer)]);
1733
+ check([date2], [tupl | 1, list | 1, text | 9, ...str('unix_time'), fp64, ...new Uint8Array(new Float64Array([date2.valueOf() / 1000]).buffer)]);
1739
1734
  },
1740
1735
  "vary pack DOM Element"($) {
1741
1736
  $mol_assert_equal($mol_dom_serialize($mol_jsx("div", null,
@@ -1766,10 +1761,16 @@ var $;
1766
1761
  lean: foo => [foo.a + foo.b, foo.a - foo.b],
1767
1762
  rich: ([summ, diff]) => new Foo((summ + diff) / 2, (summ - diff) / 2),
1768
1763
  });
1769
- check(new Foo(4, 2), [tupl | 2, list | 2, text | 4, ...str('summ'), text | 4, ...str('diff'), 6, 2], Vary);
1764
+ check([new Foo(4, 2)], [tupl | 2, list | 2, text | 4, ...str('summ'), text | 4, ...str('diff'), 6, 2], Vary);
1770
1765
  $mol_assert_equal($mol_vary.take($mol_vary.pack([new Foo(4, 2)])), [{ a: 4, b: 2 }]);
1771
1766
  $mol_assert_equal(Vary.take(Vary.pack([new Map([[1, 2]])])), [new Map([[1, 2]])]);
1772
1767
  },
1768
+ "vary pack sequences"($) {
1769
+ check([], []);
1770
+ check([7], [7]);
1771
+ check([3, 4], [3, 4]);
1772
+ check([['foo', 'foo'], ['bar', 'bar']], [list | 2, text | 3, ...str('foo'), link | 0, list | 2, text | 3, ...str('bar'), link | 0]);
1773
+ },
1773
1774
  });
1774
1775
  })($$ = $_1.$$ || ($_1.$$ = {}));
1775
1776
  })($ || ($ = {}));