lib0 0.2.112 → 0.2.115-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.
- package/README.md +1 -1
- package/broadcastchannel.js +1 -1
- package/buffer.d.ts +3 -3
- package/buffer.d.ts.map +1 -1
- package/buffer.js +1 -1
- package/coverage/tmp/coverage-27667-1761218530660-0.json +1 -0
- package/coverage/tmp/{coverage-20055-1752683207886-0.json → coverage-27668-1761218485882-0.json} +1 -1
- package/crypto/aes-gcm.d.ts +4 -4
- package/crypto/aes-gcm.d.ts.map +1 -1
- package/crypto/aes-gcm.js +6 -6
- package/crypto/common.d.ts +1 -1
- package/crypto/common.d.ts.map +1 -1
- package/crypto/common.js +1 -1
- package/crypto/ecdsa.d.ts +2 -2
- package/crypto/ecdsa.d.ts.map +1 -1
- package/crypto/ecdsa.js +4 -4
- package/crypto/rsa-oaep.d.ts +2 -2
- package/crypto/rsa-oaep.d.ts.map +1 -1
- package/crypto/rsa-oaep.js +3 -3
- package/decoding.d.ts +27 -14
- package/decoding.d.ts.map +1 -1
- package/decoding.js +12 -8
- package/delta/abstract-array.d.ts +166 -0
- package/delta/abstract-array.d.ts.map +1 -0
- package/delta/abstract-array.js +421 -0
- package/delta/abstract.d.ts +69 -0
- package/delta/abstract.d.ts.map +1 -0
- package/delta/abstract.js +102 -0
- package/delta/array.d.ts +23 -0
- package/delta/array.d.ts.map +1 -0
- package/delta/array.js +45 -0
- package/delta/array.test.d.ts +2 -0
- package/delta/array.test.d.ts.map +1 -0
- package/delta/binding.d.ts +105 -0
- package/delta/binding.d.ts.map +1 -0
- package/delta/binding.js +369 -0
- package/delta/binding.test.d.ts +5 -0
- package/delta/binding.test.d.ts.map +1 -0
- package/delta/d2.d.ts +705 -0
- package/delta/d2.d.ts.map +1 -0
- package/delta/d2.js +1309 -0
- package/delta/d2.test.d.ts +15 -0
- package/delta/d2.test.d.ts.map +1 -0
- package/delta/index.d.ts +14 -0
- package/delta/index.d.ts.map +1 -0
- package/delta/index.js +79 -0
- package/delta/map.d.ts +230 -0
- package/delta/map.d.ts.map +1 -0
- package/delta/map.js +304 -0
- package/delta/node.d.ts +119 -0
- package/delta/node.d.ts.map +1 -0
- package/delta/node.js +183 -0
- package/delta/node.test.d.ts +4 -0
- package/delta/node.test.d.ts.map +1 -0
- package/delta/ops.d.ts +466 -0
- package/delta/ops.d.ts.map +1 -0
- package/delta/ops.js +544 -0
- package/delta/readme.md +129 -0
- package/delta/text.d.ts +43 -0
- package/delta/text.d.ts.map +1 -0
- package/delta/text.js +54 -0
- package/delta/text.test.d.ts +6 -0
- package/delta/text.test.d.ts.map +1 -0
- package/delta/transformer.d.ts +164 -0
- package/delta/transformer.d.ts.map +1 -0
- package/delta/transformer.js +888 -0
- package/delta/transformer.test.d.ts +13 -0
- package/delta/transformer.test.d.ts.map +1 -0
- package/delta/value.d.ts +84 -0
- package/delta/value.d.ts.map +1 -0
- package/delta/value.js +168 -0
- package/dist/abstract-array.cjs +433 -0
- package/dist/abstract-array.cjs.map +1 -0
- package/dist/abstract.cjs +122 -0
- package/dist/abstract.cjs.map +1 -0
- package/dist/aes-gcm.cjs +12 -12
- package/dist/aes-gcm.cjs.map +1 -1
- package/dist/array.cjs +60 -17
- package/dist/array.cjs.map +1 -1
- package/dist/array2.cjs +26 -0
- package/dist/array2.cjs.map +1 -0
- package/dist/binding.cjs +398 -0
- package/dist/binding.cjs.map +1 -0
- package/dist/{broadcastchannel-2c4b0a1c.cjs → broadcastchannel-b4eaea6e.cjs} +4 -4
- package/dist/broadcastchannel-b4eaea6e.cjs.map +1 -0
- package/dist/broadcastchannel.cjs +12 -12
- package/dist/{buffer-a74f7330.cjs → buffer-adc4e6ea.cjs} +7 -7
- package/dist/buffer-adc4e6ea.cjs.map +1 -0
- package/dist/buffer.cjs +11 -11
- package/dist/buffer.d.ts +3 -3
- package/dist/buffer.d.ts.map +1 -1
- package/dist/cache.cjs +6 -6
- package/dist/common.cjs +1 -1
- package/dist/common.cjs.map +1 -1
- package/dist/component.cjs +14 -9
- package/dist/component.cjs.map +1 -1
- package/dist/crypto/aes-gcm.d.ts +4 -4
- package/dist/crypto/aes-gcm.d.ts.map +1 -1
- package/dist/crypto/common.d.ts +1 -1
- package/dist/crypto/common.d.ts.map +1 -1
- package/dist/crypto/ecdsa.d.ts +2 -2
- package/dist/crypto/ecdsa.d.ts.map +1 -1
- package/dist/crypto/rsa-oaep.d.ts +2 -2
- package/dist/crypto/rsa-oaep.d.ts.map +1 -1
- package/dist/d2.cjs +1347 -0
- package/dist/d2.cjs.map +1 -0
- package/dist/{decoding-2b136346.cjs → decoding-50b9ce38.cjs} +18 -14
- package/dist/decoding-50b9ce38.cjs.map +1 -0
- package/dist/decoding.cjs +6 -6
- package/dist/decoding.d.ts +27 -14
- package/dist/decoding.d.ts.map +1 -1
- package/dist/delta/abstract-array.d.ts +166 -0
- package/dist/delta/abstract-array.d.ts.map +1 -0
- package/dist/delta/abstract.d.ts +69 -0
- package/dist/delta/abstract.d.ts.map +1 -0
- package/dist/delta/array.d.ts +23 -0
- package/dist/delta/array.d.ts.map +1 -0
- package/dist/delta/array.test.d.ts +2 -0
- package/dist/delta/array.test.d.ts.map +1 -0
- package/dist/delta/binding.d.ts +105 -0
- package/dist/delta/binding.d.ts.map +1 -0
- package/dist/delta/binding.test.d.ts +5 -0
- package/dist/delta/binding.test.d.ts.map +1 -0
- package/dist/delta/d2.d.ts +705 -0
- package/dist/delta/d2.d.ts.map +1 -0
- package/dist/delta/d2.test.d.ts +15 -0
- package/dist/delta/d2.test.d.ts.map +1 -0
- package/dist/delta/index.d.ts +14 -0
- package/dist/delta/index.d.ts.map +1 -0
- package/dist/delta/map.d.ts +230 -0
- package/dist/delta/map.d.ts.map +1 -0
- package/dist/delta/node.d.ts +119 -0
- package/dist/delta/node.d.ts.map +1 -0
- package/dist/delta/node.test.d.ts +4 -0
- package/dist/delta/node.test.d.ts.map +1 -0
- package/dist/delta/ops.d.ts +466 -0
- package/dist/delta/ops.d.ts.map +1 -0
- package/dist/delta/text.d.ts +43 -0
- package/dist/delta/text.d.ts.map +1 -0
- package/dist/delta/text.test.d.ts +6 -0
- package/dist/delta/text.test.d.ts.map +1 -0
- package/dist/delta/transformer.d.ts +164 -0
- package/dist/delta/transformer.d.ts.map +1 -0
- package/dist/delta/transformer.test.d.ts +13 -0
- package/dist/delta/transformer.test.d.ts.map +1 -0
- package/dist/delta/value.d.ts +84 -0
- package/dist/delta/value.d.ts.map +1 -0
- package/dist/{diff-77c4cf8e.cjs → diff-f0776c15.cjs} +2 -2
- package/dist/{diff-77c4cf8e.cjs.map → diff-f0776c15.cjs.map} +1 -1
- package/dist/diff.cjs +3 -3
- package/dist/{dom-16daf1a0.cjs → dom-2b123630.cjs} +31 -2
- package/dist/dom-2b123630.cjs.map +1 -0
- package/dist/dom.cjs +17 -2
- package/dist/dom.cjs.map +1 -1
- package/dist/dom.d.ts +17 -0
- package/dist/dom.d.ts.map +1 -1
- package/dist/ecdsa.cjs +4 -4
- package/dist/ecdsa.cjs.map +1 -1
- package/dist/{encoding-1acb59c4.cjs → encoding-7f85922c.cjs} +5 -5
- package/dist/encoding-7f85922c.cjs.map +1 -0
- package/dist/encoding.cjs +4 -4
- package/dist/encoding.d.ts +6 -6
- package/dist/encoding.d.ts.map +1 -1
- package/dist/{environment-2de08e0e.cjs → environment-90227ead.cjs} +4 -4
- package/dist/{environment-2de08e0e.cjs.map → environment-90227ead.cjs.map} +1 -1
- package/dist/environment.cjs +5 -5
- package/dist/{error-8582d695.cjs → error-0c1f634f.cjs} +10 -2
- package/dist/error-0c1f634f.cjs.map +1 -0
- package/dist/error.cjs +2 -1
- package/dist/error.cjs.map +1 -1
- package/dist/error.d.ts +1 -0
- package/dist/error.d.ts.map +1 -1
- package/dist/{eventloop-b299a889.cjs → eventloop-a0168106.cjs} +2 -2
- package/dist/{eventloop-b299a889.cjs.map → eventloop-a0168106.cjs.map} +1 -1
- package/dist/eventloop.cjs +3 -3
- package/dist/{function-09b8292c.cjs → function-e7d18feb.cjs} +2 -2
- package/dist/{function-09b8292c.cjs.map → function-e7d18feb.cjs.map} +1 -1
- package/dist/function.cjs +2 -2
- package/dist/index.cjs +23 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index2.cjs +71 -0
- package/dist/index2.cjs.map +1 -0
- package/dist/{indexeddb-0cbb4d6f.cjs → indexeddb-46d1e737.cjs} +3 -3
- package/dist/{indexeddb-0cbb4d6f.cjs.map → indexeddb-46d1e737.cjs.map} +1 -1
- package/dist/indexeddb.cjs +5 -5
- package/dist/indexeddbV2.cjs +2 -1
- package/dist/indexeddbV2.cjs.map +1 -1
- package/dist/jwt.cjs +12 -12
- package/dist/list.cjs +39 -12
- package/dist/list.cjs.map +1 -1
- package/dist/list.d.ts +13 -3
- package/dist/list.d.ts.map +1 -1
- package/dist/logging.cjs +11 -9
- package/dist/logging.cjs.map +1 -1
- package/dist/logging.common.cjs +7 -7
- package/dist/logging.node.cjs +7 -7
- package/dist/{map-0dabcc55.cjs → map-24d263c0.cjs} +7 -1
- package/dist/map-24d263c0.cjs.map +1 -0
- package/dist/map.cjs +314 -7
- package/dist/map.cjs.map +1 -1
- package/dist/map.d.ts +1 -0
- package/dist/map.d.ts.map +1 -1
- package/dist/map2.cjs +15 -0
- package/dist/map2.cjs.map +1 -0
- package/dist/{math-08e068f9.cjs → math-96d5e8c4.cjs} +4 -2
- package/dist/math-96d5e8c4.cjs.map +1 -0
- package/dist/math.cjs +1 -1
- package/dist/math.d.ts.map +1 -1
- package/dist/metric.cjs +1 -1
- package/dist/node.cjs +206 -0
- package/dist/node.cjs.map +1 -0
- package/dist/{number-466d8922.cjs → number-1fb57bba.cjs} +2 -2
- package/dist/{number-466d8922.cjs.map → number-1fb57bba.cjs.map} +1 -1
- package/dist/number.cjs +2 -2
- package/dist/{object-491858d1.cjs → object-18980796.cjs} +12 -2
- package/dist/object-18980796.cjs.map +1 -0
- package/dist/object.cjs +3 -1
- package/dist/object.cjs.map +1 -1
- package/dist/object.d.ts +3 -0
- package/dist/object.d.ts.map +1 -1
- package/dist/observable.cjs +1 -1
- package/dist/ops.cjs +575 -0
- package/dist/ops.cjs.map +1 -0
- package/dist/patience.cjs +2 -2
- package/dist/performance.node.cjs +4 -4
- package/dist/pledge.cjs +2 -1
- package/dist/pledge.cjs.map +1 -1
- package/dist/{prng-24dfe0bf.cjs → prng-004c76e8.cjs} +5 -5
- package/dist/{prng-24dfe0bf.cjs.map → prng-004c76e8.cjs.map} +1 -1
- package/dist/prng.cjs +12 -12
- package/dist/prng.d.ts +1 -1
- package/dist/prng.d.ts.map +1 -1
- package/dist/{promise-7d13a97c.cjs → promise-cda7b9bb.cjs} +2 -2
- package/dist/{promise-7d13a97c.cjs.map → promise-cda7b9bb.cjs.map} +1 -1
- package/dist/promise.cjs +3 -3
- package/dist/rabin-gf2-polynomial.cjs +11 -11
- package/dist/rabin-uncached.cjs +11 -11
- package/dist/rabin.cjs +11 -11
- package/dist/random.cjs +1 -1
- package/dist/rsa-oaep.cjs +3 -3
- package/dist/rsa-oaep.cjs.map +1 -1
- package/dist/schema.cjs +572 -167
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.d.ts +326 -122
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.test.d.ts +5 -0
- package/dist/schema.test.d.ts.map +1 -1
- package/dist/{sort-b8702761.cjs → sort-812cc211.cjs} +2 -2
- package/dist/{sort-b8702761.cjs.map → sort-812cc211.cjs.map} +1 -1
- package/dist/sort.cjs +2 -2
- package/dist/{statistics-c2316dca.cjs → statistics-65f6114b.cjs} +2 -2
- package/dist/{statistics-c2316dca.cjs.map → statistics-65f6114b.cjs.map} +1 -1
- package/dist/statistics.cjs +2 -2
- package/dist/{string-b2827a90.cjs → string-fddc5f8b.cjs} +3 -3
- package/dist/string-fddc5f8b.cjs.map +1 -0
- package/dist/string.cjs +1 -1
- package/dist/string.d.ts +3 -3
- package/dist/string.d.ts.map +1 -1
- package/dist/testing.cjs +16 -16
- package/dist/text.cjs +79 -0
- package/dist/text.cjs.map +1 -0
- package/dist/{time-bc2081b9.cjs → time-d8438852.cjs} +2 -2
- package/dist/{time-bc2081b9.cjs.map → time-d8438852.cjs.map} +1 -1
- package/dist/time.cjs +2 -2
- package/dist/traits.cjs +22 -0
- package/dist/traits.cjs.map +1 -1
- package/dist/traits.d.ts +1 -0
- package/dist/traits.d.ts.map +1 -1
- package/dist/traits.test.d.ts.map +1 -1
- package/dist/transformer.cjs +930 -0
- package/dist/transformer.cjs.map +1 -0
- package/dist/url.cjs +2 -1
- package/dist/url.cjs.map +1 -1
- package/dist/value.cjs +187 -0
- package/dist/value.cjs.map +1 -0
- package/dist/webcrypto.d.ts +1 -1
- package/dist/webcrypto.d.ts.map +1 -1
- package/dist/{websocket-40a601d4.cjs → websocket-b073d0fc.cjs} +3 -3
- package/dist/{websocket-40a601d4.cjs.map → websocket-b073d0fc.cjs.map} +1 -1
- package/dist/websocket.cjs +4 -4
- package/dom.d.ts +17 -0
- package/dom.d.ts.map +1 -1
- package/dom.js +21 -0
- package/encoding.d.ts +6 -6
- package/encoding.d.ts.map +1 -1
- package/encoding.js +1 -1
- package/error.d.ts +1 -0
- package/error.d.ts.map +1 -1
- package/error.js +6 -0
- package/list.d.ts +13 -3
- package/list.d.ts.map +1 -1
- package/list.js +36 -8
- package/map.d.ts +1 -0
- package/map.d.ts.map +1 -1
- package/map.js +6 -0
- package/math.d.ts.map +1 -1
- package/math.js +3 -1
- package/object.d.ts +3 -0
- package/object.d.ts.map +1 -1
- package/object.js +9 -1
- package/package.json +9 -3
- package/prng.d.ts +1 -1
- package/prng.d.ts.map +1 -1
- package/prng.js +1 -1
- package/schema.d.ts +326 -122
- package/schema.d.ts.map +1 -1
- package/schema.js +513 -141
- package/schema.test.d.ts +5 -0
- package/schema.test.d.ts.map +1 -1
- package/string.d.ts +3 -3
- package/string.d.ts.map +1 -1
- package/string.js +2 -2
- package/test.html +1 -0
- package/test.js +13 -1
- package/traits.d.ts +1 -0
- package/traits.d.ts.map +1 -1
- package/traits.js +21 -0
- package/traits.test.d.ts.map +1 -1
- package/webcrypto.d.ts +1 -1
- package/webcrypto.d.ts.map +1 -1
- package/coverage/tmp/coverage-20054-1752683240888-0.json +0 -1
- package/dist/broadcastchannel-2c4b0a1c.cjs.map +0 -1
- package/dist/buffer-a74f7330.cjs.map +0 -1
- package/dist/decoding-2b136346.cjs.map +0 -1
- package/dist/dom-16daf1a0.cjs.map +0 -1
- package/dist/encoding-1acb59c4.cjs.map +0 -1
- package/dist/error-8582d695.cjs.map +0 -1
- package/dist/map-0dabcc55.cjs.map +0 -1
- package/dist/math-08e068f9.cjs.map +0 -1
- package/dist/object-491858d1.cjs.map +0 -1
- package/dist/string-b2827a90.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binding.cjs","sources":["../delta/binding.js"],"sourcesContent":["/* global MutationObserver */\nimport { ObservableV2 } from '../observable.js'\nimport * as delta from './index.js'\nimport * as dt from './transformer.js' // eslint-disable-line\nimport * as dom from '../dom.js'\nimport * as set from '../set.js'\nimport * as map from '../map.js'\nimport * as error from '../error.js'\nimport * as math from '../math.js'\nimport * as mux from '../mutex.js'\nimport * as s from '../schema.js'\n\n/**\n * @template T\n * @typedef {import('../schema.js').Schema<T>} Schema\n */\n\n/**\n * @template {delta.AbstractDelta} DeltaA\n * @template {delta.AbstractDelta} DeltaB\n */\nexport class Binding {\n /**\n * @param {RDT<DeltaA>} a\n * @param {RDT<DeltaB>} b\n * @param {dt.Template<any,DeltaA,DeltaB>} template\n */\n constructor (a, b, template) {\n /**\n * @type {dt.Transformer<any,DeltaA,DeltaB>}\n */\n this.t = template.init()\n this.a = a\n this.b = b\n this._mux = mux.createMutex()\n this._achanged = this.a.on('change', d => this._mux(() => {\n const tres = this.t.applyA(d)\n if (tres.a) {\n a.update(tres.a)\n }\n if (tres.b) {\n b.update(tres.b)\n }\n }))\n this._bchanged = this.b.on('change', d => this._mux(() => {\n const tres = this.t.applyB(d)\n if (tres.b) {\n this.b.update(tres.b)\n }\n if (tres.a) {\n a.update(tres.a)\n }\n }))\n }\n\n destroy = () => {\n this.a.off('destroy', this.destroy)\n this.b.off('destroy', this.destroy)\n this.a.off('change', this._achanged)\n this.b.off('change', this._bchanged)\n }\n}\n\n/**\n * Abstract Interface for a delta-based Replicated Data Type.\n *\n * @template {delta.AbstractDelta} Delta\n * @typedef {ObservableV2<{ 'change': (delta: Delta) => void, 'destroy': (rdt:RDT<Delta>)=>void }> & { update: (delta: Delta) => any, destroy: () => void }} RDT\n */\n\n/**\n * @template {delta.AbstractDelta} DeltaA\n * @template {dt.Template<any,DeltaA,any>} Transformer\n * @param {RDT<DeltaA>} a\n * @param {RDT<Transformer extends dt.Template<any,DeltaA,infer DeltaB> ? DeltaB : never>} b\n * @param {dt.Template<any,DeltaA,any>} template\n */\nexport const bind = (a, b, template) => new Binding(a, b, template)\n\n/**\n * @template {delta.AbstractDelta} Delta\n * @implements RDT<Delta>\n * @extends {ObservableV2<{ change: (delta: Delta) => void, 'destroy': (rdt:DeltaRDT<Delta>)=>void }>}\n */\nclass DeltaRDT extends ObservableV2 {\n /**\n * @param {Schema<Delta>} $delta\n */\n constructor ($delta) {\n super()\n this.$delta = $delta\n /**\n * @type {Delta?}\n */\n this.state = null\n this._mux = mux.createMutex()\n }\n\n /**\n * @param {Delta} delta\n */\n update = delta => delta.isEmpty() || this._mux(() => {\n if (this.state != null) {\n this.state.apply(delta)\n } else {\n this.state = delta\n }\n this.emit('change', [delta])\n })\n\n destroy () {\n this.emit('destroy', [this])\n super.destroy()\n }\n}\n\n/**\n * @template {delta.AbstractDelta} Delta\n * @param {Schema<Delta>} $delta\n */\nexport const deltaRDT = $delta => new DeltaRDT($delta)\n\n/**\n * @param {Node} domNode\n */\nconst domToDelta = domNode => {\n if (dom.$element.check(domNode)) {\n const d = delta.node(domNode.nodeName.toLowerCase())\n for (let i = 0; i < domNode.attributes.length; i++) {\n const attr = /** @type {Attr} */ (domNode.attributes.item(i))\n d.attributes.set(attr.nodeName, attr.value)\n }\n domNode.childNodes.forEach(child => {\n d.children.insert(dom.$text.check(child) ? child.textContent : [domToDelta(child)])\n })\n return d\n }\n error.unexpectedCase()\n}\n\n/**\n * @param {DomDelta} d\n */\nconst deltaToDom = d => {\n if (delta.$nodeAny.check(d)) {\n const n = dom.element(d.name)\n d.attributes.forEach(change => {\n if (delta.$insertOp.check(change)) {\n n.setAttribute(change.key, change.value)\n }\n })\n d.children.forEach(child => {\n if (delta.$insertOp.check(child)) {\n n.append(...child.insert.map(deltaToDom))\n } else if (delta.$textOp.check(child)) {\n n.append(dom.text(child.insert))\n }\n })\n return n\n }\n error.unexpectedCase()\n}\n\n/**\n * @param {Element} el\n * @param {delta.Node<string,any,any,any>} d\n */\nconst applyDeltaToDom = (el, d) => {\n d.attributes.forEach(change => {\n if (delta.$deleteOp.check(change)) {\n el.removeAttribute(change.key)\n } else {\n el.setAttribute(change.key, change.value)\n }\n })\n let childIndex = 0\n let childOffset = 0\n d.children.forEach(change => {\n let child = el.childNodes[childIndex] || null\n if (delta.$deleteOp.check(change)) {\n let len = change.length\n while (len > 0) {\n if (dom.$element.check(child)) {\n child.remove()\n len--\n } else if (dom.$text.check(child)) {\n const childLen = child.length\n if (childOffset === 0 && childLen <= len) {\n child.remove()\n len -= childLen\n } else {\n const spliceLen = math.min(len, childLen - childOffset)\n child.deleteData(childOffset, spliceLen)\n if (child.length <= childOffset) {\n childOffset = 0\n childIndex++\n }\n }\n }\n }\n } else if (delta.$insertOp.check(change)) {\n if (childOffset > 0) {\n const tchild = dom.$text.cast(child)\n child = tchild.splitText(childOffset)\n childIndex++\n childOffset = 0\n }\n el.insertBefore(dom.fragment(change.insert.map(deltaToDom)), child)\n } else if (delta.$modifyOp.check(change)) {\n applyDeltaToDom(dom.$element.cast(child), change.modify)\n } else if (delta.$textOp.check(change)) {\n el.insertBefore(dom.text(change.insert), child)\n } else {\n error.unexpectedCase()\n }\n })\n}\n\nexport const $domDelta = delta.$node(s.$string, s.$record(s.$string, s.$string), s.$never, { recursive: true, withText: true })\n\n/**\n * @param {Element} observedNode\n * @param {MutationRecord[]} mutations\n * @param {any} origin assign this origin to the generated delta\n */\nconst _mutationsToDelta = (observedNode, mutations, origin) => {\n /**\n * @typedef {{ removedBefore: Map<Node?,number>, added: Set<Node>, modified: number, d: delta.Node }} ChangedNodeInfo\n */\n /**\n * Compute all deltas without recursion.\n *\n * 1. mark all changed parents in parentsChanged\n * 2. fill out necessary information for each changed parent ()\n */\n //\n /**\n * @type {Map<Node,ChangedNodeInfo>}\n */\n const changedNodes = map.create()\n /**\n * @param {Node} node\n * @return {ChangedNodeInfo}\n */\n const getChangedNodeInfo = node => map.setIfUndefined(changedNodes, node, () => ({ removedBefore: map.create(), added: set.create(), modified: 0, d: delta.node(node.nodeName.toLowerCase()) }))\n const observedNodeInfo = getChangedNodeInfo(observedNode)\n mutations.forEach(mutation => {\n const target = /** @type {HTMLElement} */ (mutation.target)\n const parent = target.parentNode\n const attrName = /** @type {string} */ (mutation.attributeName)\n const newVal = target.getAttribute(attrName)\n const info = getChangedNodeInfo(target)\n const d = info.d\n // go up the tree and mark that a child has been modified\n for (let changedParent = parent; changedParent != null && getChangedNodeInfo(changedParent).modified++ > 1 && changedParent !== observedNode; changedParent = changedParent.parentNode) {\n // nop\n }\n switch (mutation.type) {\n case 'attributes': {\n const attrs = /** @type {delta.Node<any,any,any>} */ (d).attributes\n if (newVal == null) {\n attrs.delete(attrName)\n } else {\n attrs.set(/** @type {string} */ (attrName), newVal)\n }\n break\n }\n case 'characterData': {\n error.methodUnimplemented()\n break\n }\n case 'childList': {\n const targetInfo = getChangedNodeInfo(target)\n mutation.addedNodes.forEach(node => {\n targetInfo.added.add(node)\n })\n const removed = mutation.removedNodes.length\n if (removed > 0) {\n // @todo this can't work because next can be null\n targetInfo.removedBefore.set(mutation.nextSibling, removed)\n }\n break\n }\n }\n })\n changedNodes.forEach((info, node) => {\n const numOfChildChanges = info.modified + info.removedBefore.size + info.added.size\n const d = /** @type {delta.Node<any,any,any>} */ (info.d)\n if (numOfChildChanges > 0) {\n node.childNodes.forEach(nchild => {\n if (info.removedBefore.has(nchild)) { // can happen separately\n d.children.delete(/** @type {number} */ (info.removedBefore.get(nchild)))\n }\n if (info.added.has(nchild)) {\n d.children.insert(dom.$text.check(nchild) ? nchild.textContent : [domToDelta(nchild)])\n } else if (changedNodes.has(nchild)) {\n d.children.modify(getChangedNodeInfo(nchild).d)\n }\n })\n // remove items to the end, if necessary\n d.children.delete(info.removedBefore.get(null) ?? 0)\n }\n d.done()\n })\n observedNodeInfo.d.origin = origin\n return observedNodeInfo.d\n}\n\n/**\n * @typedef {delta.RecursiveNode<string, { [key:string]: string }, never, true>} DomDelta\n */\n\n/**\n * @template {DomDelta} [D=DomDelta]\n * @implements RDT<D>\n * @extends {ObservableV2<{ change: (delta: D)=>void, destroy: (rdt:DomRDT<D>)=>void }>}>}\n */\nclass DomRDT extends ObservableV2 {\n /**\n * @param {Element} observedNode\n */\n constructor (observedNode) {\n super()\n this.observedNode = observedNode\n this._mux = mux.createMutex()\n this.observer = new MutationObserver(this._mutationHandler)\n this.observer.observe(observedNode, {\n subtree: true,\n childList: true,\n attributes: true,\n characterDataOldValue: true\n })\n }\n\n /**\n * @param {MutationRecord[]} mutations\n */\n _mutationHandler = mutations =>\n mutations.length > 0 && this._mux(() => {\n this.emit('change', [/** @type {D} */(_mutationsToDelta(this.observedNode, mutations, this))])\n })\n\n /**\n * @param {D} delta\n */\n update = delta => {\n if (delta.origin !== this) {\n // @todo the retrieved changes must be transformed agains the updated changes. need a proper\n // transaction system\n this._mutationHandler(this.observer.takeRecords())\n this._mux(() => {\n applyDeltaToDom(this.observedNode, delta)\n const mutations = this.observer.takeRecords()\n this.emit('change', [/** @type {D} */(_mutationsToDelta(this.observedNode, mutations, delta.origin))])\n })\n }\n }\n\n destroy () {\n this.emit('destroy', [this])\n super.destroy()\n this.observer.disconnect()\n }\n}\n\n/**\n * @param {Element} dom\n */\nexport const domRDT = dom => new DomRDT(dom)\n"],"names":["mux.createMutex","ObservableV2","dom.$element","delta.node","dom.$text","error.unexpectedCase","delta.$nodeAny","dom.element","delta.$insertOp","delta.$textOp","dom.text","delta.$deleteOp","math.min","dom.fragment","delta.$modifyOp","delta.$node","s.$string","s.$record","s.$never","map.create","node","map.setIfUndefined","set.create","error.methodUnimplemented"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var map = require('./map-
|
|
3
|
+
var map = require('./map-24d263c0.cjs');
|
|
4
4
|
var set = require('./set-5b47859e.cjs');
|
|
5
|
-
var buffer = require('./buffer-
|
|
5
|
+
var buffer = require('./buffer-adc4e6ea.cjs');
|
|
6
6
|
var storage = require('./storage.cjs');
|
|
7
7
|
|
|
8
8
|
/* eslint-env browser */
|
|
@@ -26,7 +26,7 @@ class LocalStoragePolyfill {
|
|
|
26
26
|
constructor (room) {
|
|
27
27
|
this.room = room;
|
|
28
28
|
/**
|
|
29
|
-
* @type {null|function({data:
|
|
29
|
+
* @type {null|function({data:Uint8Array}):void}
|
|
30
30
|
*/
|
|
31
31
|
this.onmessage = null;
|
|
32
32
|
/**
|
|
@@ -125,4 +125,4 @@ exports.broadcastchannel = broadcastchannel;
|
|
|
125
125
|
exports.publish = publish;
|
|
126
126
|
exports.subscribe = subscribe;
|
|
127
127
|
exports.unsubscribe = unsubscribe;
|
|
128
|
-
//# sourceMappingURL=broadcastchannel-
|
|
128
|
+
//# sourceMappingURL=broadcastchannel-b4eaea6e.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcastchannel-b4eaea6e.cjs","sources":["../broadcastchannel.js"],"sourcesContent":["/* eslint-env browser */\n\n/**\n * Helpers for cross-tab communication using broadcastchannel with LocalStorage fallback.\n *\n * ```js\n * // In browser window A:\n * broadcastchannel.subscribe('my events', data => console.log(data))\n * broadcastchannel.publish('my events', 'Hello world!') // => A: 'Hello world!' fires synchronously in same tab\n *\n * // In browser window B:\n * broadcastchannel.publish('my events', 'hello from tab B') // => A: 'hello from tab B'\n * ```\n *\n * @module broadcastchannel\n */\n\n// @todo before next major: use Uint8Array instead as buffer object\n\nimport * as map from './map.js'\nimport * as set from './set.js'\nimport * as buffer from './buffer.js'\nimport * as storage from './storage.js'\n\n/**\n * @typedef {Object} Channel\n * @property {Set<function(any, any):any>} Channel.subs\n * @property {any} Channel.bc\n */\n\n/**\n * @type {Map<string, Channel>}\n */\nconst channels = new Map()\n\n/* c8 ignore start */\nclass LocalStoragePolyfill {\n /**\n * @param {string} room\n */\n constructor (room) {\n this.room = room\n /**\n * @type {null|function({data:Uint8Array}):void}\n */\n this.onmessage = null\n /**\n * @param {any} e\n */\n this._onChange = e => e.key === room && this.onmessage !== null && this.onmessage({ data: buffer.fromBase64(e.newValue || '') })\n storage.onChange(this._onChange)\n }\n\n /**\n * @param {ArrayBuffer} buf\n */\n postMessage (buf) {\n storage.varStorage.setItem(this.room, buffer.toBase64(buffer.createUint8ArrayFromArrayBuffer(buf)))\n }\n\n close () {\n storage.offChange(this._onChange)\n }\n}\n/* c8 ignore stop */\n\n// Use BroadcastChannel or Polyfill\n/* c8 ignore next */\nconst BC = typeof BroadcastChannel === 'undefined' ? LocalStoragePolyfill : BroadcastChannel\n\n/**\n * @param {string} room\n * @return {Channel}\n */\nconst getChannel = room =>\n map.setIfUndefined(channels, room, () => {\n const subs = set.create()\n const bc = new BC(room)\n /**\n * @param {{data:ArrayBuffer}} e\n */\n /* c8 ignore next */\n bc.onmessage = e => subs.forEach(sub => sub(e.data, 'broadcastchannel'))\n return {\n bc, subs\n }\n })\n\n/**\n * Subscribe to global `publish` events.\n *\n * @function\n * @param {string} room\n * @param {function(any, any):any} f\n */\nexport const subscribe = (room, f) => {\n getChannel(room).subs.add(f)\n return f\n}\n\n/**\n * Unsubscribe from `publish` global events.\n *\n * @function\n * @param {string} room\n * @param {function(any, any):any} f\n */\nexport const unsubscribe = (room, f) => {\n const channel = getChannel(room)\n const unsubscribed = channel.subs.delete(f)\n if (unsubscribed && channel.subs.size === 0) {\n channel.bc.close()\n channels.delete(room)\n }\n return unsubscribed\n}\n\n/**\n * Publish data to all subscribers (including subscribers on this tab)\n *\n * @function\n * @param {string} room\n * @param {any} data\n * @param {any} [origin]\n */\nexport const publish = (room, data, origin = null) => {\n const c = getChannel(room)\n c.bc.postMessage(data)\n c.subs.forEach(sub => sub(data, origin))\n}\n"],"names":["buffer.fromBase64","storage.onChange","storage.varStorage","buffer.toBase64","buffer.createUint8ArrayFromArrayBuffer","storage.offChange","map.setIfUndefined","set.create"],"mappings":"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"}
|
|
@@ -2,24 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('./map-
|
|
5
|
+
require('./map-24d263c0.cjs');
|
|
6
6
|
require('./set-5b47859e.cjs');
|
|
7
|
-
require('./buffer-
|
|
7
|
+
require('./buffer-adc4e6ea.cjs');
|
|
8
8
|
require('./storage.cjs');
|
|
9
|
-
var broadcastchannel = require('./broadcastchannel-
|
|
10
|
-
require('./string-
|
|
9
|
+
var broadcastchannel = require('./broadcastchannel-b4eaea6e.cjs');
|
|
10
|
+
require('./string-fddc5f8b.cjs');
|
|
11
11
|
require('./array-78849c95.cjs');
|
|
12
|
-
require('./environment-
|
|
12
|
+
require('./environment-90227ead.cjs');
|
|
13
13
|
require('./conditions-f5c0c102.cjs');
|
|
14
|
-
require('./function-
|
|
15
|
-
require('./object-
|
|
14
|
+
require('./function-e7d18feb.cjs');
|
|
15
|
+
require('./object-18980796.cjs');
|
|
16
16
|
require('./traits.cjs');
|
|
17
|
-
require('./math-
|
|
18
|
-
require('./encoding-
|
|
19
|
-
require('./number-
|
|
17
|
+
require('./math-96d5e8c4.cjs');
|
|
18
|
+
require('./encoding-7f85922c.cjs');
|
|
19
|
+
require('./number-1fb57bba.cjs');
|
|
20
20
|
require('./binary-ac8e39e2.cjs');
|
|
21
|
-
require('./decoding-
|
|
22
|
-
require('./error-
|
|
21
|
+
require('./decoding-50b9ce38.cjs');
|
|
22
|
+
require('./error-0c1f634f.cjs');
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var string = require('./string-
|
|
4
|
-
var environment = require('./environment-
|
|
3
|
+
var string = require('./string-fddc5f8b.cjs');
|
|
4
|
+
var environment = require('./environment-90227ead.cjs');
|
|
5
5
|
var array = require('./array-78849c95.cjs');
|
|
6
|
-
var math = require('./math-
|
|
7
|
-
var encoding = require('./encoding-
|
|
8
|
-
var decoding = require('./decoding-
|
|
6
|
+
var math = require('./math-96d5e8c4.cjs');
|
|
7
|
+
var encoding = require('./encoding-7f85922c.cjs');
|
|
8
|
+
var decoding = require('./decoding-50b9ce38.cjs');
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Utility functions to work with buffers (Uint8Array).
|
|
@@ -58,7 +58,7 @@ const toBase64Node = bytes => Buffer.from(bytes.buffer, bytes.byteOffset, bytes.
|
|
|
58
58
|
/* c8 ignore start */
|
|
59
59
|
/**
|
|
60
60
|
* @param {string} s
|
|
61
|
-
* @return {Uint8Array}
|
|
61
|
+
* @return {Uint8Array<ArrayBuffer>}
|
|
62
62
|
*/
|
|
63
63
|
const fromBase64Browser = s => {
|
|
64
64
|
// eslint-disable-next-line no-undef
|
|
@@ -195,4 +195,4 @@ exports.shiftNBitsLeft = shiftNBitsLeft;
|
|
|
195
195
|
exports.toBase64 = toBase64;
|
|
196
196
|
exports.toBase64UrlEncoded = toBase64UrlEncoded;
|
|
197
197
|
exports.toHexString = toHexString;
|
|
198
|
-
//# sourceMappingURL=buffer-
|
|
198
|
+
//# sourceMappingURL=buffer-adc4e6ea.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffer-adc4e6ea.cjs","sources":["../buffer.js"],"sourcesContent":["/**\n * Utility functions to work with buffers (Uint8Array).\n *\n * @module buffer\n */\n\nimport * as string from './string.js'\nimport * as env from './environment.js'\nimport * as array from './array.js'\nimport * as math from './math.js'\nimport * as encoding from './encoding.js'\nimport * as decoding from './decoding.js'\n\n/**\n * @param {number} len\n */\nexport const createUint8ArrayFromLen = len => new Uint8Array(len)\n\n/**\n * Create Uint8Array with initial content from buffer\n *\n * @param {ArrayBuffer} buffer\n * @param {number} byteOffset\n * @param {number} length\n */\nexport const createUint8ArrayViewFromArrayBuffer = (buffer, byteOffset, length) => new Uint8Array(buffer, byteOffset, length)\n\n/**\n * Create Uint8Array with initial content from buffer\n *\n * @param {ArrayBuffer} buffer\n */\nexport const createUint8ArrayFromArrayBuffer = buffer => new Uint8Array(buffer)\n\n/* c8 ignore start */\n/**\n * @param {Uint8Array} bytes\n * @return {string}\n */\nconst toBase64Browser = bytes => {\n let s = ''\n for (let i = 0; i < bytes.byteLength; i++) {\n s += string.fromCharCode(bytes[i])\n }\n // eslint-disable-next-line no-undef\n return btoa(s)\n}\n/* c8 ignore stop */\n\n/**\n * @param {Uint8Array} bytes\n * @return {string}\n */\nconst toBase64Node = bytes => Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength).toString('base64')\n\n/* c8 ignore start */\n/**\n * @param {string} s\n * @return {Uint8Array<ArrayBuffer>}\n */\nconst fromBase64Browser = s => {\n // eslint-disable-next-line no-undef\n const a = atob(s)\n const bytes = createUint8ArrayFromLen(a.length)\n for (let i = 0; i < a.length; i++) {\n bytes[i] = a.charCodeAt(i)\n }\n return bytes\n}\n/* c8 ignore stop */\n\n/**\n * @param {string} s\n */\nconst fromBase64Node = s => {\n const buf = Buffer.from(s, 'base64')\n return createUint8ArrayViewFromArrayBuffer(buf.buffer, buf.byteOffset, buf.byteLength)\n}\n\n/* c8 ignore next */\nexport const toBase64 = env.isBrowser ? toBase64Browser : toBase64Node\n\n/* c8 ignore next */\nexport const fromBase64 = env.isBrowser ? fromBase64Browser : fromBase64Node\n\n/**\n * Implements base64url - see https://datatracker.ietf.org/doc/html/rfc4648#section-5\n * @param {Uint8Array} buf\n */\nexport const toBase64UrlEncoded = buf => toBase64(buf).replaceAll('+', '-').replaceAll('/', '_').replaceAll('=', '')\n\n/**\n * @param {string} base64\n */\nexport const fromBase64UrlEncoded = base64 => fromBase64(base64.replaceAll('-', '+').replaceAll('_', '/'))\n\n/**\n * Base64 is always a more efficient choice. This exists for utility purposes only.\n *\n * @param {Uint8Array} buf\n */\nexport const toHexString = buf => array.map(buf, b => b.toString(16).padStart(2, '0')).join('')\n\n/**\n * Note: This function expects that the hex doesn't start with 0x..\n *\n * @param {string} hex\n */\nexport const fromHexString = hex => {\n const hlen = hex.length\n const buf = new Uint8Array(math.ceil(hlen / 2))\n for (let i = 0; i < hlen; i += 2) {\n buf[buf.length - i / 2 - 1] = Number.parseInt(hex.slice(hlen - i - 2, hlen - i), 16)\n }\n return buf\n}\n\n/**\n * Copy the content of an Uint8Array view to a new ArrayBuffer.\n *\n * @param {Uint8Array} uint8Array\n * @return {Uint8Array}\n */\nexport const copyUint8Array = uint8Array => {\n const newBuf = createUint8ArrayFromLen(uint8Array.byteLength)\n newBuf.set(uint8Array)\n return newBuf\n}\n\n/**\n * Encode anything as a UInt8Array. It's a pun on typescripts's `any` type.\n * See encoding.writeAny for more information.\n *\n * @param {any} data\n * @return {Uint8Array}\n */\nexport const encodeAny = data =>\n encoding.encode(encoder => encoding.writeAny(encoder, data))\n\n/**\n * Decode an any-encoded value.\n *\n * @param {Uint8Array} buf\n * @return {any}\n */\nexport const decodeAny = buf => decoding.readAny(decoding.createDecoder(buf))\n\n/**\n * Shift Byte Array {N} bits to the left. Does not expand byte array.\n *\n * @param {Uint8Array} bs\n * @param {number} N should be in the range of [0-7]\n */\nexport const shiftNBitsLeft = (bs, N) => {\n if (N === 0) return bs\n bs = new Uint8Array(bs)\n bs[0] <<= N\n for (let i = 1; i < bs.length; i++) {\n bs[i - 1] |= bs[i] >>> (8 - N)\n bs[i] <<= N\n }\n return bs\n}\n"],"names":["string.fromCharCode","env.isBrowser","array.map","math.ceil","encoding.encode","encoding.writeAny","decoding.readAny","decoding.createDecoder"],"mappings":"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"}
|
package/dist/buffer.cjs
CHANGED
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('./string-
|
|
6
|
-
require('./environment-
|
|
5
|
+
require('./string-fddc5f8b.cjs');
|
|
6
|
+
require('./environment-90227ead.cjs');
|
|
7
7
|
require('./array-78849c95.cjs');
|
|
8
|
-
require('./math-
|
|
9
|
-
require('./encoding-
|
|
10
|
-
require('./decoding-
|
|
11
|
-
var buffer = require('./buffer-
|
|
12
|
-
require('./map-
|
|
8
|
+
require('./math-96d5e8c4.cjs');
|
|
9
|
+
require('./encoding-7f85922c.cjs');
|
|
10
|
+
require('./decoding-50b9ce38.cjs');
|
|
11
|
+
var buffer = require('./buffer-adc4e6ea.cjs');
|
|
12
|
+
require('./map-24d263c0.cjs');
|
|
13
13
|
require('./conditions-f5c0c102.cjs');
|
|
14
14
|
require('./storage.cjs');
|
|
15
|
-
require('./function-
|
|
16
|
-
require('./object-
|
|
15
|
+
require('./function-e7d18feb.cjs');
|
|
16
|
+
require('./object-18980796.cjs');
|
|
17
17
|
require('./traits.cjs');
|
|
18
18
|
require('./set-5b47859e.cjs');
|
|
19
|
-
require('./number-
|
|
19
|
+
require('./number-1fb57bba.cjs');
|
|
20
20
|
require('./binary-ac8e39e2.cjs');
|
|
21
|
-
require('./error-
|
|
21
|
+
require('./error-0c1f634f.cjs');
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
package/dist/buffer.d.ts
CHANGED
|
@@ -8,11 +8,11 @@ export function createUint8ArrayFromArrayBuffer(buffer: ArrayBuffer): Uint8Array
|
|
|
8
8
|
export function toBase64(bytes: Uint8Array): string;
|
|
9
9
|
/**
|
|
10
10
|
* @param {string} s
|
|
11
|
-
* @return {Uint8Array}
|
|
11
|
+
* @return {Uint8Array<ArrayBuffer>}
|
|
12
12
|
*/
|
|
13
|
-
export function fromBase64(s: string): Uint8Array
|
|
13
|
+
export function fromBase64(s: string): Uint8Array<ArrayBuffer>;
|
|
14
14
|
export function toBase64UrlEncoded(buf: Uint8Array): string;
|
|
15
|
-
export function fromBase64UrlEncoded(base64: string): Uint8Array<
|
|
15
|
+
export function fromBase64UrlEncoded(base64: string): Uint8Array<ArrayBuffer>;
|
|
16
16
|
export function toHexString(buf: Uint8Array): string;
|
|
17
17
|
export function fromHexString(hex: string): Uint8Array<ArrayBuffer>;
|
|
18
18
|
export function copyUint8Array(uint8Array: Uint8Array): Uint8Array;
|
package/dist/buffer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../buffer.js"],"names":[],"mappings":"AAgBO,6CAFI,MAAM,2BAEgD;AAS1D,4DAJI,WAAW,cACX,MAAM,UACN,MAAM,2BAE4G;AAOtH,wDAFI,WAAW,2BAEyD;AAG/E;;;GAGG;AACH,gCAHW,UAAU,GACT,MAAM,CASjB;AAUD;;;GAGG;AACH,8BAHW,MAAM,GACL,UAAU,
|
|
1
|
+
{"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../buffer.js"],"names":[],"mappings":"AAgBO,6CAFI,MAAM,2BAEgD;AAS1D,4DAJI,WAAW,cACX,MAAM,UACN,MAAM,2BAE4G;AAOtH,wDAFI,WAAW,2BAEyD;AAG/E;;;GAGG;AACH,gCAHW,UAAU,GACT,MAAM,CASjB;AAUD;;;GAGG;AACH,8BAHW,MAAM,GACL,UAAU,CAAC,WAAW,CAAC,CAUlC;AAqBM,wCAFI,UAAU,UAE+F;AAK7G,6CAFI,MAAM,2BAEyF;AAOnG,iCAFI,UAAU,UAE0E;AAOxF,mCAFI,MAAM,2BAShB;AAQM,2CAHI,UAAU,GACT,UAAU,CAMrB;AASM,gCAHI,GAAG,GACF,UAAU,CAGwC;AAQvD,+BAHI,UAAU,GACT,GAAG,CAE8D;AAQtE,mCAHI,UAAU,KACV,MAAM,+BAWhB"}
|
package/dist/cache.cjs
CHANGED
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var list = require('./list.cjs');
|
|
6
|
-
var map = require('./map-
|
|
7
|
-
var time = require('./time-
|
|
8
|
-
require('./function-
|
|
6
|
+
var map = require('./map-24d263c0.cjs');
|
|
7
|
+
var time = require('./time-d8438852.cjs');
|
|
8
|
+
require('./function-e7d18feb.cjs');
|
|
9
9
|
require('./array-78849c95.cjs');
|
|
10
10
|
require('./set-5b47859e.cjs');
|
|
11
|
-
require('./object-
|
|
11
|
+
require('./object-18980796.cjs');
|
|
12
12
|
require('./traits.cjs');
|
|
13
|
-
require('./error-
|
|
13
|
+
require('./error-0c1f634f.cjs');
|
|
14
14
|
require('./metric.cjs');
|
|
15
|
-
require('./math-
|
|
15
|
+
require('./math-96d5e8c4.cjs');
|
|
16
16
|
|
|
17
17
|
/* eslint-env browser */
|
|
18
18
|
|
package/dist/common.cjs
CHANGED
|
@@ -37,7 +37,7 @@ const exportKeyJwk = async key => {
|
|
|
37
37
|
* Only suited for exporting public keys.
|
|
38
38
|
*
|
|
39
39
|
* @param {CryptoKey} key
|
|
40
|
-
* @return {Promise<Uint8Array
|
|
40
|
+
* @return {Promise<Uint8Array<ArrayBuffer>>}
|
|
41
41
|
*/
|
|
42
42
|
const exportKeyRaw = key =>
|
|
43
43
|
webcrypto__namespace.subtle.exportKey('raw', key).then(key => new Uint8Array(key));
|
package/dist/common.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.cjs","sources":["../crypto/common.js"],"sourcesContent":["import * as webcrypto from 'lib0/webcrypto'\n\n/**\n * @param {CryptoKey} key\n */\nexport const exportKeyJwk = async key => {\n const jwk = await webcrypto.subtle.exportKey('jwk', key)\n jwk.key_ops = key.usages\n return jwk\n}\n\n/**\n * Only suited for exporting public keys.\n *\n * @param {CryptoKey} key\n * @return {Promise<Uint8Array
|
|
1
|
+
{"version":3,"file":"common.cjs","sources":["../crypto/common.js"],"sourcesContent":["import * as webcrypto from 'lib0/webcrypto'\n\n/**\n * @param {CryptoKey} key\n */\nexport const exportKeyJwk = async key => {\n const jwk = await webcrypto.subtle.exportKey('jwk', key)\n jwk.key_ops = key.usages\n return jwk\n}\n\n/**\n * Only suited for exporting public keys.\n *\n * @param {CryptoKey} key\n * @return {Promise<Uint8Array<ArrayBuffer>>}\n */\nexport const exportKeyRaw = key =>\n webcrypto.subtle.exportKey('raw', key).then(key => new Uint8Array(key))\n"],"names":["webcrypto"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACY,MAAC,YAAY,GAAG,MAAM,GAAG,IAAI;AACzC,EAAE,MAAM,GAAG,GAAG,MAAMA,oBAAS,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAC;AAC1D,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAM;AAC1B,EAAE,OAAO,GAAG;AACZ,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,YAAY,GAAG,GAAG;AAC/B,EAAEA,oBAAS,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC;;;;;"}
|
package/dist/component.cjs
CHANGED
|
@@ -2,20 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var dom = require('./dom-
|
|
6
|
-
var diff = require('./diff-
|
|
7
|
-
var object = require('./object-
|
|
5
|
+
var dom = require('./dom-2b123630.cjs');
|
|
6
|
+
var diff = require('./diff-f0776c15.cjs');
|
|
7
|
+
var object = require('./object-18980796.cjs');
|
|
8
8
|
var json = require('./json-092190a1.cjs');
|
|
9
|
-
var string = require('./string-
|
|
9
|
+
var string = require('./string-fddc5f8b.cjs');
|
|
10
10
|
var array = require('./array-78849c95.cjs');
|
|
11
|
-
var number = require('./number-
|
|
12
|
-
var _function = require('./function-
|
|
11
|
+
var number = require('./number-1fb57bba.cjs');
|
|
12
|
+
var _function = require('./function-e7d18feb.cjs');
|
|
13
13
|
require('./pair-ab022bc3.cjs');
|
|
14
|
-
require('./map-
|
|
14
|
+
require('./map-24d263c0.cjs');
|
|
15
|
+
require('./schema.cjs');
|
|
16
|
+
require('./error-0c1f634f.cjs');
|
|
17
|
+
require('./environment-90227ead.cjs');
|
|
18
|
+
require('./conditions-f5c0c102.cjs');
|
|
19
|
+
require('./storage.cjs');
|
|
20
|
+
require('./traits.cjs');
|
|
15
21
|
require('./set-5b47859e.cjs');
|
|
16
|
-
require('./math-
|
|
22
|
+
require('./math-96d5e8c4.cjs');
|
|
17
23
|
require('./binary-ac8e39e2.cjs');
|
|
18
|
-
require('./traits.cjs');
|
|
19
24
|
|
|
20
25
|
/* eslint-env browser */
|
|
21
26
|
|
package/dist/component.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.cjs","sources":["../component.js"],"sourcesContent":["/* eslint-env browser */\n\n/**\n * Web components.\n *\n * @module component\n */\n\nimport * as dom from './dom.js'\nimport * as diff from './diff.js'\nimport * as object from './object.js'\nimport * as json from './json.js'\nimport * as string from './string.js'\nimport * as array from './array.js'\nimport * as number from './number.js'\nimport * as func from './function.js'\n\n/**\n * @type {CustomElementRegistry}\n */\nexport const registry = customElements\n\n/**\n * @param {string} name\n * @param {any} constr\n * @param {ElementDefinitionOptions} [opts]\n */\nexport const define = (name, constr, opts) => registry.define(name, constr, opts)\n\n/**\n * @param {string} name\n * @return {Promise<CustomElementConstructor>}\n */\nexport const whenDefined = name => registry.whenDefined(name)\n\nconst upgradedEventName = 'upgraded'\nconst connectedEventName = 'connected'\nconst disconnectedEventName = 'disconnected'\n\n/**\n * @template S\n */\nexport class Lib0Component extends HTMLElement {\n /**\n * @param {S} [state]\n */\n constructor (state) {\n super()\n /**\n * @type {S|null}\n */\n this.state = /** @type {any} */ (state)\n /**\n * @type {any}\n */\n this._internal = {}\n }\n\n /**\n * @param {S} _state\n * @param {boolean} [_forceStateUpdate] Force that the state is rerendered even if state didn't change\n */\n setState (_state, _forceStateUpdate = true) {}\n\n /**\n * @param {any} _stateUpdate\n */\n updateState (_stateUpdate) { }\n}\n\n/**\n * @param {any} val\n * @param {\"json\"|\"string\"|\"number\"} type\n * @return {string}\n */\nconst encodeAttrVal = (val, type) => {\n if (type === 'json') {\n val = json.stringify(val)\n }\n return val + ''\n}\n\n/**\n * @param {any} val\n * @param {\"json\"|\"string\"|\"number\"|\"bool\"} type\n * @return {any}\n */\nconst parseAttrVal = (val, type) => {\n switch (type) {\n case 'json':\n return json.parse(val)\n case 'number':\n return Number.parseFloat(val)\n case 'string':\n return val\n case 'bool':\n return val != null\n default:\n return null\n }\n}\n\n/**\n * @template S\n * @typedef {Object} CONF\n * @property {string?} [CONF.template] Template for the shadow dom.\n * @property {string} [CONF.style] shadow dom style. Is only used when\n * `CONF.template` is defined\n * @property {S} [CONF.state] Initial component state.\n * @property {function(S,S|null,Lib0Component<S>):void} [CONF.onStateChange] Called when\n * the state changes.\n * @property {Object<string,function(any, any):Object>} [CONF.childStates] maps from\n * CSS-selector to transformer function. The first element that matches the\n * CSS-selector receives state updates via the transformer function.\n * @property {Object<string,\"json\"|\"number\"|\"string\"|\"bool\">} [CONF.attrs]\n * attrs-keys and state-keys should be camelCase, but the DOM uses kebap-case. I.e.\n * `attrs = { myAttr: 4 }` is represeted as `<my-elem my-attr=\"4\" />` in the DOM\n * @property {Object<string, function(CustomEvent, Lib0Component<any>):boolean|void>} [CONF.listeners] Maps from dom-event-name\n * to event listener.\n * @property {function(S, S, Lib0Component<S>):Object<string,string>} [CONF.slots] Fill slots\n * automatically when state changes. Maps from slot-name to slot-html.\n */\n\n/**\n * @template T\n * @param {string} name\n * @param {CONF<T>} cnf\n * @return {typeof Lib0Component}\n */\nexport const createComponent = (name, { template, style = '', state: defaultState, onStateChange = () => {}, childStates = { }, attrs = {}, listeners = {}, slots = () => ({}) }) => {\n /**\n * Maps from camelCase attribute name to kebap-case attribute name.\n * @type {Object<string,string>}\n */\n const normalizedAttrs = {}\n for (const key in attrs) {\n normalizedAttrs[string.fromCamelCase(key, '-')] = key\n }\n const templateElement = template\n ? /** @type {HTMLTemplateElement} */ (dom.parseElement(`\n <template>\n <style>${style}</style>\n ${template}\n </template>\n `))\n : null\n\n class _Lib0Component extends HTMLElement {\n /**\n * @param {T} [state]\n */\n constructor (state) {\n super()\n /**\n * @type {Array<{d:Lib0Component<T>, s:function(any, any):Object}>}\n */\n this._childStates = []\n /**\n * @type {Object<string,string>}\n */\n this._slots = {}\n this._init = false\n /**\n * @type {any}\n */\n this._internal = {}\n /**\n * @type {any}\n */\n this.state = state || null\n this.connected = false\n // init shadow dom\n if (templateElement) {\n const shadow = /** @type {ShadowRoot} */ (this.attachShadow({ mode: 'open' }))\n shadow.appendChild(templateElement.content.cloneNode(true))\n // fill child states\n for (const key in childStates) {\n this._childStates.push({\n d: /** @type {Lib0Component<T>} */ (dom.querySelector(/** @type {any} */ (shadow), key)),\n s: childStates[key]\n })\n }\n }\n dom.emitCustomEvent(this, upgradedEventName, { bubbles: true })\n }\n\n connectedCallback () {\n this.connected = true\n if (!this._init) {\n this._init = true\n const shadow = this.shadowRoot\n if (shadow) {\n dom.addEventListener(shadow, upgradedEventName, event => {\n this.setState(this.state, true)\n event.stopPropagation()\n })\n }\n /**\n * @type {Object<string, any>}\n */\n const startState = this.state || object.assign({}, defaultState)\n if (attrs) {\n for (const key in attrs) {\n const normalizedKey = string.fromCamelCase(key, '-')\n const val = parseAttrVal(this.getAttribute(normalizedKey), attrs[key])\n if (val) {\n startState[key] = val\n }\n }\n }\n // add event listeners\n for (const key in listeners) {\n dom.addEventListener(shadow || this, key, event => {\n if (listeners[key](/** @type {CustomEvent} */ (event), this) !== false) {\n event.stopPropagation()\n event.preventDefault()\n return false\n }\n })\n }\n // first setState call\n this.state = null\n this.setState(startState)\n }\n dom.emitCustomEvent(/** @type {any} */ (this.shadowRoot || this), connectedEventName, { bubbles: true })\n }\n\n disconnectedCallback () {\n this.connected = false\n dom.emitCustomEvent(/** @type {any} */ (this.shadowRoot || this), disconnectedEventName, { bubbles: true })\n this.setState(null)\n }\n\n static get observedAttributes () {\n return object.keys(normalizedAttrs)\n }\n\n /**\n * @param {string} name\n * @param {string} oldVal\n * @param {string} newVal\n *\n * @private\n */\n attributeChangedCallback (name, oldVal, newVal) {\n const curState = /** @type {any} */ (this.state)\n const camelAttrName = normalizedAttrs[name]\n const type = attrs[camelAttrName]\n const parsedVal = parseAttrVal(newVal, type)\n if (curState && (type !== 'json' || json.stringify(curState[camelAttrName]) !== newVal) && curState[camelAttrName] !== parsedVal && !number.isNaN(parsedVal)) {\n this.updateState({ [camelAttrName]: parsedVal })\n }\n }\n\n /**\n * @param {any} stateUpdate\n */\n updateState (stateUpdate) {\n this.setState(object.assign({}, this.state, stateUpdate))\n }\n\n /**\n * @param {any} state\n */\n setState (state, forceStateUpdates = false) {\n const prevState = this.state\n this.state = state\n if (this._init && (!func.equalityFlat(state, prevState) || forceStateUpdates)) {\n // fill slots\n if (state) {\n const slotElems = slots(state, prevState, this)\n for (const key in slotElems) {\n const slotContent = slotElems[key]\n if (this._slots[key] !== slotContent) {\n this._slots[key] = slotContent\n const currentSlots = /** @type {Array<any>} */ (key !== 'default' ? array.from(dom.querySelectorAll(this, `[slot=\"${key}\"]`)) : array.from(this.childNodes).filter(/** @param {any} child */ child => !dom.checkNodeType(child, dom.ELEMENT_NODE) || !child.hasAttribute('slot')))\n currentSlots.slice(1).map(dom.remove)\n const nextSlot = dom.parseFragment(slotContent)\n if (key !== 'default') {\n array.from(nextSlot.children).forEach(c => c.setAttribute('slot', key))\n }\n if (currentSlots.length > 0) {\n dom.replaceWith(currentSlots[0], nextSlot)\n } else {\n dom.appendChild(this, nextSlot)\n }\n }\n }\n }\n onStateChange(state, prevState, this)\n if (state != null) {\n this._childStates.forEach(cnf => {\n const d = cnf.d\n if (d.updateState) {\n d.updateState(cnf.s(state, this))\n }\n })\n }\n for (const key in attrs) {\n const normalizedKey = string.fromCamelCase(key, '-')\n if (state == null) {\n this.removeAttribute(normalizedKey)\n } else {\n const stateVal = state[key]\n const attrsType = attrs[key]\n if (!prevState || prevState[key] !== stateVal) {\n if (attrsType === 'bool') {\n if (stateVal) {\n this.setAttribute(normalizedKey, '')\n } else {\n this.removeAttribute(normalizedKey)\n }\n } else if (stateVal == null && (attrsType === 'string' || attrsType === 'number')) {\n this.removeAttribute(normalizedKey)\n } else {\n this.setAttribute(normalizedKey, encodeAttrVal(stateVal, attrsType))\n }\n }\n }\n }\n }\n }\n }\n define(name, _Lib0Component)\n // @ts-ignore\n return _Lib0Component\n}\n\n/**\n * @param {function} definer function that defines a component when executed\n */\nexport const createComponentDefiner = definer => {\n /**\n * @type {any}\n */\n let defined = null\n return () => {\n if (!defined) {\n defined = definer()\n }\n return defined\n }\n}\n\nexport const defineListComponent = createComponentDefiner(() => {\n const ListItem = createComponent('lib0-list-item', {\n template: '<slot name=\"content\"></slot>',\n slots: state => ({\n content: `<div>${state}</div>`\n })\n })\n return createComponent('lib0-list', {\n state: { list: /** @type {Array<string>} */ ([]), Item: ListItem },\n onStateChange: (state, prevState, component) => {\n if (state == null) {\n return\n }\n const { list = /** @type {Array<any>} */ ([]), Item = ListItem } = state\n // @todo deep compare here by providing another parameter to simpleDiffArray\n let { index, remove, insert } = diff.simpleDiffArray(prevState ? prevState.list : [], list, func.equalityFlat)\n if (remove === 0 && insert.length === 0) {\n return\n }\n let child = /** @type {Lib0Component<any>} */ (component.firstChild)\n while (index-- > 0) {\n child = /** @type {Lib0Component<any>} */ (child.nextElementSibling)\n }\n let insertStart = 0\n while (insertStart < insert.length && remove-- > 0) {\n // update existing state\n child.setState(insert[insertStart++])\n child = /** @type {Lib0Component<any>} */ (child.nextElementSibling)\n }\n while (remove-- > 0) {\n // remove remaining\n const prevChild = child\n child = /** @type {Lib0Component<any>} */ (child.nextElementSibling)\n component.removeChild(prevChild)\n }\n // insert remaining\n component.insertBefore(dom.fragment(insert.slice(insertStart).map(/** @param {any} insState */ insState => {\n const el = new Item()\n el.setState(insState)\n return el\n })), child)\n }\n })\n})\n\nexport const defineLazyLoadingComponent = createComponentDefiner(() => createComponent('lib0-lazy', {\n state: /** @type {{component:null|String,import:null|function():Promise<any>,state:null|object}} */ ({\n component: null, import: null, state: null\n }),\n attrs: {\n component: 'string'\n },\n onStateChange: ({ component, state, import: getImport }, prevState, componentEl) => {\n if (component !== null) {\n if (getImport) {\n getImport()\n }\n if (!prevState || component !== prevState.component) {\n const el = /** @type {any} */ (dom.createElement(component))\n componentEl.innerHTML = ''\n componentEl.insertBefore(el, null)\n }\n const el = /** @type {any} */ (componentEl.firstElementChild)\n // @todo generalize setting state and check if setState is defined\n if (el.setState) {\n el.setState(state)\n }\n }\n }\n}))\n"],"names":["json.stringify","json.parse","string.fromCamelCase","dom.parseElement","dom.querySelector","dom.emitCustomEvent","dom.addEventListener","object.assign","object.keys","number.isNaN","func.equalityFlat","array.from","dom.querySelectorAll","dom.checkNodeType","dom.ELEMENT_NODE","dom.remove","dom.parseFragment","dom.replaceWith","dom.appendChild","diff.simpleDiffArray","dom.fragment","dom.createElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"component.cjs","sources":["../component.js"],"sourcesContent":["/* eslint-env browser */\n\n/**\n * Web components.\n *\n * @module component\n */\n\nimport * as dom from './dom.js'\nimport * as diff from './diff.js'\nimport * as object from './object.js'\nimport * as json from './json.js'\nimport * as string from './string.js'\nimport * as array from './array.js'\nimport * as number from './number.js'\nimport * as func from './function.js'\n\n/**\n * @type {CustomElementRegistry}\n */\nexport const registry = customElements\n\n/**\n * @param {string} name\n * @param {any} constr\n * @param {ElementDefinitionOptions} [opts]\n */\nexport const define = (name, constr, opts) => registry.define(name, constr, opts)\n\n/**\n * @param {string} name\n * @return {Promise<CustomElementConstructor>}\n */\nexport const whenDefined = name => registry.whenDefined(name)\n\nconst upgradedEventName = 'upgraded'\nconst connectedEventName = 'connected'\nconst disconnectedEventName = 'disconnected'\n\n/**\n * @template S\n */\nexport class Lib0Component extends HTMLElement {\n /**\n * @param {S} [state]\n */\n constructor (state) {\n super()\n /**\n * @type {S|null}\n */\n this.state = /** @type {any} */ (state)\n /**\n * @type {any}\n */\n this._internal = {}\n }\n\n /**\n * @param {S} _state\n * @param {boolean} [_forceStateUpdate] Force that the state is rerendered even if state didn't change\n */\n setState (_state, _forceStateUpdate = true) {}\n\n /**\n * @param {any} _stateUpdate\n */\n updateState (_stateUpdate) { }\n}\n\n/**\n * @param {any} val\n * @param {\"json\"|\"string\"|\"number\"} type\n * @return {string}\n */\nconst encodeAttrVal = (val, type) => {\n if (type === 'json') {\n val = json.stringify(val)\n }\n return val + ''\n}\n\n/**\n * @param {any} val\n * @param {\"json\"|\"string\"|\"number\"|\"bool\"} type\n * @return {any}\n */\nconst parseAttrVal = (val, type) => {\n switch (type) {\n case 'json':\n return json.parse(val)\n case 'number':\n return Number.parseFloat(val)\n case 'string':\n return val\n case 'bool':\n return val != null\n default:\n return null\n }\n}\n\n/**\n * @template S\n * @typedef {Object} CONF\n * @property {string?} [CONF.template] Template for the shadow dom.\n * @property {string} [CONF.style] shadow dom style. Is only used when\n * `CONF.template` is defined\n * @property {S} [CONF.state] Initial component state.\n * @property {function(S,S|null,Lib0Component<S>):void} [CONF.onStateChange] Called when\n * the state changes.\n * @property {Object<string,function(any, any):Object>} [CONF.childStates] maps from\n * CSS-selector to transformer function. The first element that matches the\n * CSS-selector receives state updates via the transformer function.\n * @property {Object<string,\"json\"|\"number\"|\"string\"|\"bool\">} [CONF.attrs]\n * attrs-keys and state-keys should be camelCase, but the DOM uses kebap-case. I.e.\n * `attrs = { myAttr: 4 }` is represeted as `<my-elem my-attr=\"4\" />` in the DOM\n * @property {Object<string, function(CustomEvent, Lib0Component<any>):boolean|void>} [CONF.listeners] Maps from dom-event-name\n * to event listener.\n * @property {function(S, S, Lib0Component<S>):Object<string,string>} [CONF.slots] Fill slots\n * automatically when state changes. Maps from slot-name to slot-html.\n */\n\n/**\n * @template T\n * @param {string} name\n * @param {CONF<T>} cnf\n * @return {typeof Lib0Component}\n */\nexport const createComponent = (name, { template, style = '', state: defaultState, onStateChange = () => {}, childStates = { }, attrs = {}, listeners = {}, slots = () => ({}) }) => {\n /**\n * Maps from camelCase attribute name to kebap-case attribute name.\n * @type {Object<string,string>}\n */\n const normalizedAttrs = {}\n for (const key in attrs) {\n normalizedAttrs[string.fromCamelCase(key, '-')] = key\n }\n const templateElement = template\n ? /** @type {HTMLTemplateElement} */ (dom.parseElement(`\n <template>\n <style>${style}</style>\n ${template}\n </template>\n `))\n : null\n\n class _Lib0Component extends HTMLElement {\n /**\n * @param {T} [state]\n */\n constructor (state) {\n super()\n /**\n * @type {Array<{d:Lib0Component<T>, s:function(any, any):Object}>}\n */\n this._childStates = []\n /**\n * @type {Object<string,string>}\n */\n this._slots = {}\n this._init = false\n /**\n * @type {any}\n */\n this._internal = {}\n /**\n * @type {any}\n */\n this.state = state || null\n this.connected = false\n // init shadow dom\n if (templateElement) {\n const shadow = /** @type {ShadowRoot} */ (this.attachShadow({ mode: 'open' }))\n shadow.appendChild(templateElement.content.cloneNode(true))\n // fill child states\n for (const key in childStates) {\n this._childStates.push({\n d: /** @type {Lib0Component<T>} */ (dom.querySelector(/** @type {any} */ (shadow), key)),\n s: childStates[key]\n })\n }\n }\n dom.emitCustomEvent(this, upgradedEventName, { bubbles: true })\n }\n\n connectedCallback () {\n this.connected = true\n if (!this._init) {\n this._init = true\n const shadow = this.shadowRoot\n if (shadow) {\n dom.addEventListener(shadow, upgradedEventName, event => {\n this.setState(this.state, true)\n event.stopPropagation()\n })\n }\n /**\n * @type {Object<string, any>}\n */\n const startState = this.state || object.assign({}, defaultState)\n if (attrs) {\n for (const key in attrs) {\n const normalizedKey = string.fromCamelCase(key, '-')\n const val = parseAttrVal(this.getAttribute(normalizedKey), attrs[key])\n if (val) {\n startState[key] = val\n }\n }\n }\n // add event listeners\n for (const key in listeners) {\n dom.addEventListener(shadow || this, key, event => {\n if (listeners[key](/** @type {CustomEvent} */ (event), this) !== false) {\n event.stopPropagation()\n event.preventDefault()\n return false\n }\n })\n }\n // first setState call\n this.state = null\n this.setState(startState)\n }\n dom.emitCustomEvent(/** @type {any} */ (this.shadowRoot || this), connectedEventName, { bubbles: true })\n }\n\n disconnectedCallback () {\n this.connected = false\n dom.emitCustomEvent(/** @type {any} */ (this.shadowRoot || this), disconnectedEventName, { bubbles: true })\n this.setState(null)\n }\n\n static get observedAttributes () {\n return object.keys(normalizedAttrs)\n }\n\n /**\n * @param {string} name\n * @param {string} oldVal\n * @param {string} newVal\n *\n * @private\n */\n attributeChangedCallback (name, oldVal, newVal) {\n const curState = /** @type {any} */ (this.state)\n const camelAttrName = normalizedAttrs[name]\n const type = attrs[camelAttrName]\n const parsedVal = parseAttrVal(newVal, type)\n if (curState && (type !== 'json' || json.stringify(curState[camelAttrName]) !== newVal) && curState[camelAttrName] !== parsedVal && !number.isNaN(parsedVal)) {\n this.updateState({ [camelAttrName]: parsedVal })\n }\n }\n\n /**\n * @param {any} stateUpdate\n */\n updateState (stateUpdate) {\n this.setState(object.assign({}, this.state, stateUpdate))\n }\n\n /**\n * @param {any} state\n */\n setState (state, forceStateUpdates = false) {\n const prevState = this.state\n this.state = state\n if (this._init && (!func.equalityFlat(state, prevState) || forceStateUpdates)) {\n // fill slots\n if (state) {\n const slotElems = slots(state, prevState, this)\n for (const key in slotElems) {\n const slotContent = slotElems[key]\n if (this._slots[key] !== slotContent) {\n this._slots[key] = slotContent\n const currentSlots = /** @type {Array<any>} */ (key !== 'default' ? array.from(dom.querySelectorAll(this, `[slot=\"${key}\"]`)) : array.from(this.childNodes).filter(/** @param {any} child */ child => !dom.checkNodeType(child, dom.ELEMENT_NODE) || !child.hasAttribute('slot')))\n currentSlots.slice(1).map(dom.remove)\n const nextSlot = dom.parseFragment(slotContent)\n if (key !== 'default') {\n array.from(nextSlot.children).forEach(c => c.setAttribute('slot', key))\n }\n if (currentSlots.length > 0) {\n dom.replaceWith(currentSlots[0], nextSlot)\n } else {\n dom.appendChild(this, nextSlot)\n }\n }\n }\n }\n onStateChange(state, prevState, this)\n if (state != null) {\n this._childStates.forEach(cnf => {\n const d = cnf.d\n if (d.updateState) {\n d.updateState(cnf.s(state, this))\n }\n })\n }\n for (const key in attrs) {\n const normalizedKey = string.fromCamelCase(key, '-')\n if (state == null) {\n this.removeAttribute(normalizedKey)\n } else {\n const stateVal = state[key]\n const attrsType = attrs[key]\n if (!prevState || prevState[key] !== stateVal) {\n if (attrsType === 'bool') {\n if (stateVal) {\n this.setAttribute(normalizedKey, '')\n } else {\n this.removeAttribute(normalizedKey)\n }\n } else if (stateVal == null && (attrsType === 'string' || attrsType === 'number')) {\n this.removeAttribute(normalizedKey)\n } else {\n this.setAttribute(normalizedKey, encodeAttrVal(stateVal, attrsType))\n }\n }\n }\n }\n }\n }\n }\n define(name, _Lib0Component)\n // @ts-ignore\n return _Lib0Component\n}\n\n/**\n * @param {function} definer function that defines a component when executed\n */\nexport const createComponentDefiner = definer => {\n /**\n * @type {any}\n */\n let defined = null\n return () => {\n if (!defined) {\n defined = definer()\n }\n return defined\n }\n}\n\nexport const defineListComponent = createComponentDefiner(() => {\n const ListItem = createComponent('lib0-list-item', {\n template: '<slot name=\"content\"></slot>',\n slots: state => ({\n content: `<div>${state}</div>`\n })\n })\n return createComponent('lib0-list', {\n state: { list: /** @type {Array<string>} */ ([]), Item: ListItem },\n onStateChange: (state, prevState, component) => {\n if (state == null) {\n return\n }\n const { list = /** @type {Array<any>} */ ([]), Item = ListItem } = state\n // @todo deep compare here by providing another parameter to simpleDiffArray\n let { index, remove, insert } = diff.simpleDiffArray(prevState ? prevState.list : [], list, func.equalityFlat)\n if (remove === 0 && insert.length === 0) {\n return\n }\n let child = /** @type {Lib0Component<any>} */ (component.firstChild)\n while (index-- > 0) {\n child = /** @type {Lib0Component<any>} */ (child.nextElementSibling)\n }\n let insertStart = 0\n while (insertStart < insert.length && remove-- > 0) {\n // update existing state\n child.setState(insert[insertStart++])\n child = /** @type {Lib0Component<any>} */ (child.nextElementSibling)\n }\n while (remove-- > 0) {\n // remove remaining\n const prevChild = child\n child = /** @type {Lib0Component<any>} */ (child.nextElementSibling)\n component.removeChild(prevChild)\n }\n // insert remaining\n component.insertBefore(dom.fragment(insert.slice(insertStart).map(/** @param {any} insState */ insState => {\n const el = new Item()\n el.setState(insState)\n return el\n })), child)\n }\n })\n})\n\nexport const defineLazyLoadingComponent = createComponentDefiner(() => createComponent('lib0-lazy', {\n state: /** @type {{component:null|String,import:null|function():Promise<any>,state:null|object}} */ ({\n component: null, import: null, state: null\n }),\n attrs: {\n component: 'string'\n },\n onStateChange: ({ component, state, import: getImport }, prevState, componentEl) => {\n if (component !== null) {\n if (getImport) {\n getImport()\n }\n if (!prevState || component !== prevState.component) {\n const el = /** @type {any} */ (dom.createElement(component))\n componentEl.innerHTML = ''\n componentEl.insertBefore(el, null)\n }\n const el = /** @type {any} */ (componentEl.firstElementChild)\n // @todo generalize setting state and check if setState is defined\n if (el.setState) {\n el.setState(state)\n }\n }\n }\n}))\n"],"names":["json.stringify","json.parse","string.fromCamelCase","dom.parseElement","dom.querySelector","dom.emitCustomEvent","dom.addEventListener","object.assign","object.keys","number.isNaN","func.equalityFlat","array.from","dom.querySelectorAll","dom.checkNodeType","dom.ELEMENT_NODE","dom.remove","dom.parseFragment","dom.replaceWith","dom.appendChild","diff.simpleDiffArray","dom.fragment","dom.createElement"],"mappings":"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"}
|
package/dist/crypto/aes-gcm.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export function encrypt(key: CryptoKey, data: Uint8Array): Promise<Uint8Array<
|
|
2
|
-
export function decrypt(key: CryptoKey, data: Uint8Array): PromiseLike<Uint8Array>;
|
|
1
|
+
export function encrypt(key: CryptoKey, data: Uint8Array<ArrayBuffer>): Promise<Uint8Array<ArrayBuffer>>;
|
|
2
|
+
export function decrypt(key: CryptoKey, data: Uint8Array<ArrayBuffer>): PromiseLike<Uint8Array>;
|
|
3
3
|
export function importKeyJwk(jwk: any, { usages, extractable }?: {
|
|
4
4
|
usages?: Usages | undefined;
|
|
5
5
|
extractable?: boolean | undefined;
|
|
6
6
|
}): Promise<CryptoKey>;
|
|
7
|
-
export function importKeyRaw(raw: Uint8Array
|
|
7
|
+
export function importKeyRaw(raw: Uint8Array<ArrayBuffer>, { usages, extractable }?: {
|
|
8
8
|
usages?: Usages | undefined;
|
|
9
9
|
extractable?: boolean | undefined;
|
|
10
10
|
}): Promise<CryptoKey>;
|
|
11
|
-
export function deriveKey(secret: Uint8Array | string, salt: Uint8Array | string, { extractable, usages }?: {
|
|
11
|
+
export function deriveKey(secret: Uint8Array<ArrayBuffer> | string, salt: Uint8Array<ArrayBuffer> | string, { extractable, usages }?: {
|
|
12
12
|
extractable?: boolean | undefined;
|
|
13
13
|
usages?: Usages | undefined;
|
|
14
14
|
}): Promise<CryptoKey>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aes-gcm.d.ts","sourceRoot":"","sources":["../../crypto/aes-gcm.js"],"names":[],"mappings":"AAuBO,6BAHI,SAAS,QACT,UAAU,
|
|
1
|
+
{"version":3,"file":"aes-gcm.d.ts","sourceRoot":"","sources":["../../crypto/aes-gcm.js"],"names":[],"mappings":"AAuBO,6BAHI,SAAS,QACT,UAAU,CAAC,WAAW,CAAC,oCAkBjC;AAWM,6BAJI,SAAS,QACT,UAAU,CAAC,WAAW,CAAC,GACtB,WAAW,CAAC,UAAU,CAAC,CAclC;AAaM,kCALI,GAAG,4BAEX;IAAsB,MAAM;IACL,WAAW;CAAC,sBAQrC;AAUM,kCALI,UAAU,CAAC,WAAW,CAAC,4BAE/B;IAAsB,MAAM;IACL,WAAW;CAAC,sBAG0D;AAmBzF,kCANI,UAAU,CAAC,WAAW,CAAC,GAAC,MAAM,QAC9B,UAAU,CAAC,WAAW,CAAC,GAAC,MAAM,4BAEtC;IAAuB,WAAW;IACZ,MAAM;CAAC,sBAsB7B;qBAxHU,KAAK,CAAC,SAAS,GAAC,SAAS,CAAC"}
|
package/dist/crypto/common.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../crypto/common.js"],"names":[],"mappings":"AAKO,kCAFI,SAAS,uBAMnB;AAQM,kCAHI,SAAS,GACR,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../crypto/common.js"],"names":[],"mappings":"AAKO,kCAFI,SAAS,uBAMnB;AAQM,kCAHI,SAAS,GACR,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAG6B"}
|
package/dist/crypto/ecdsa.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export function sign(key: CryptoKey, data: Uint8Array): PromiseLike<Uint8Array
|
|
2
|
-
export function verify(key: CryptoKey, signature: Uint8Array
|
|
1
|
+
export function sign(key: CryptoKey, data: Uint8Array<ArrayBuffer>): PromiseLike<Uint8Array<ArrayBuffer>>;
|
|
2
|
+
export function verify(key: CryptoKey, signature: Uint8Array<ArrayBuffer>, data: Uint8Array<ArrayBuffer>): PromiseLike<boolean>;
|
|
3
3
|
export function generateKeyPair({ extractable, usages }?: {
|
|
4
4
|
extractable?: boolean | undefined;
|
|
5
5
|
usages?: Usages | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../crypto/ecdsa.js"],"names":[],"mappings":"AA8BO,0BAJI,SAAS,QACT,UAAU,
|
|
1
|
+
{"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../crypto/ecdsa.js"],"names":[],"mappings":"AA8BO,0BAJI,SAAS,QACT,UAAU,CAAC,WAAW,CAAC,GACtB,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAOA;AAYzC,4BALI,SAAS,aACT,UAAU,CAAC,WAAW,CAAC,QACvB,UAAU,CAAC,WAAW,CAAC,GACtB,WAAW,CAAC,OAAO,CAAC,CAQ7B;AAaI,0DAHJ;IAAuB,WAAW;IACZ,MAAM;CAAC,0BAO7B;AAQI,kCALI,GAAG,4BAEX;IAAuB,WAAW;IACZ,MAAM;CAAC,sBAQ/B;AAUM,kCALI,GAAG,4BAEX;IAAuB,WAAW;IACZ,MAAM;CAAC,sBAGkD;qBAxFrE,KAAK,CAAC,MAAM,GAAC,QAAQ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { exportKeyJwk } from "./common.js";
|
|
2
|
-
export function encrypt(key: CryptoKey, data: Uint8Array): PromiseLike<Uint8Array
|
|
3
|
-
export function decrypt(key: CryptoKey, data: Uint8Array): PromiseLike<Uint8Array>;
|
|
2
|
+
export function encrypt(key: CryptoKey, data: Uint8Array<ArrayBuffer>): PromiseLike<Uint8Array<ArrayBuffer>>;
|
|
3
|
+
export function decrypt(key: CryptoKey, data: Uint8Array<ArrayBuffer>): PromiseLike<Uint8Array>;
|
|
4
4
|
export function generateKeyPair({ extractable, usages }?: {
|
|
5
5
|
extractable?: boolean | undefined;
|
|
6
6
|
usages?: Usages | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rsa-oaep.d.ts","sourceRoot":"","sources":["../../crypto/rsa-oaep.js"],"names":[],"mappings":";AAuBO,6BAJI,SAAS,QACT,UAAU,
|
|
1
|
+
{"version":3,"file":"rsa-oaep.d.ts","sourceRoot":"","sources":["../../crypto/rsa-oaep.js"],"names":[],"mappings":";AAuBO,6BAJI,SAAS,QACT,UAAU,CAAC,WAAW,CAAC,GACtB,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CASZ;AAW7B,6BAJI,SAAS,QACT,UAAU,CAAC,WAAW,CAAC,GACtB,WAAW,CAAC,UAAU,CAAC,CASG;AAQ/B,0DAJJ;IAAuB,WAAW;IACZ,MAAM;CAC5B,GAAS,OAAO,CAAC,aAAa,CAAC,CAY/B;AAQI,kCALI,GAAG,4BAEX;IAAuB,WAAW;IACZ,MAAM;CAAC,sBAQ/B;qBAxEY,KAAK,CAAC,SAAS,GAAC,SAAS,CAAC"}
|