lib0 0.2.63 → 0.2.65
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/array.test.d.ts +6 -5
- package/array.test.d.ts.map +1 -1
- package/bin/gendocs.js +0 -1
- package/bin/gentesthtml.js +54 -0
- package/broadcastchannel.d.ts.map +1 -1
- package/broadcastchannel.js +4 -4
- package/buffer.d.ts.map +1 -1
- package/buffer.js +6 -4
- package/conditions.js +1 -1
- package/coverage/tmp/coverage-64278-1678297615727-0.json +1 -0
- package/crypto/aes-gcm.d.ts +10 -0
- package/crypto/aes-gcm.d.ts.map +1 -0
- package/crypto/aes-gcm.js +124 -0
- package/crypto/ecdsa.d.ts +13 -0
- package/crypto/ecdsa.d.ts.map +1 -0
- package/crypto/ecdsa.js +93 -0
- package/crypto/rsa-oaep.d.ts +13 -0
- package/crypto/rsa-oaep.d.ts.map +1 -0
- package/crypto/rsa-oaep.js +84 -0
- package/crypto.test.d.ts +2 -0
- package/crypto.test.d.ts.map +1 -1
- package/decoding.d.ts.map +1 -1
- package/decoding.js +7 -4
- package/deno.json +7 -0
- package/deno.lock +122 -0
- package/dist/{array-5347125b.cjs → array-a1682de6.cjs} +2 -2
- package/dist/{array-5347125b.cjs.map → array-a1682de6.cjs.map} +1 -1
- package/dist/array.cjs +2 -2
- package/dist/array.test.d.ts +6 -5
- package/dist/array.test.d.ts.map +1 -1
- package/dist/{broadcastchannel-61da4e94.cjs → broadcastchannel-4e5909e2.cjs} +8 -8
- package/dist/broadcastchannel-4e5909e2.cjs.map +1 -0
- package/dist/broadcastchannel.cjs +12 -12
- package/dist/broadcastchannel.d.ts.map +1 -1
- package/dist/{buffer-884e5a1d.cjs → buffer-9b566988.cjs} +20 -16
- package/dist/buffer-9b566988.cjs.map +1 -0
- package/dist/buffer.cjs +11 -11
- package/dist/buffer.d.ts.map +1 -1
- package/dist/cache.cjs +7 -7
- package/dist/component.cjs +9 -9
- package/dist/{conditions-fb475c70.cjs → conditions-f5c0c102.cjs} +2 -2
- package/dist/conditions-f5c0c102.cjs.map +1 -0
- package/dist/conditions.cjs +1 -1
- package/dist/crypto/aes-gcm.d.ts +10 -0
- package/dist/crypto/aes-gcm.d.ts.map +1 -0
- package/dist/crypto/ecdsa.d.ts +13 -0
- package/dist/crypto/ecdsa.d.ts.map +1 -0
- package/dist/crypto/rsa-oaep.d.ts +13 -0
- package/dist/crypto/rsa-oaep.d.ts.map +1 -0
- package/dist/crypto.test.d.ts +2 -0
- package/dist/crypto.test.d.ts.map +1 -1
- package/dist/decoding.cjs +11 -11
- package/dist/decoding.d.ts.map +1 -1
- package/dist/{diff-2cbda723.cjs → diff-55061848.cjs} +2 -2
- package/dist/{diff-2cbda723.cjs.map → diff-55061848.cjs.map} +1 -1
- package/dist/diff.cjs +5 -5
- package/dist/{dom-58958c04.cjs → dom-7ef10fba.cjs} +4 -32
- package/dist/dom-7ef10fba.cjs.map +1 -0
- package/dist/dom.cjs +2 -2
- package/dist/dom.d.ts.map +1 -1
- package/dist/encoding.cjs +11 -11
- package/dist/encoding.d.ts.map +1 -1
- package/dist/encoding.test.d.ts +2 -1
- package/dist/encoding.test.d.ts.map +1 -1
- package/dist/{environment-ad5e7386.cjs → environment-01c0e75b.cjs} +20 -19
- package/dist/environment-01c0e75b.cjs.map +1 -0
- package/dist/environment.cjs +8 -8
- package/dist/environment.d.ts.map +1 -1
- package/dist/{error-873c9cbf.cjs → error-8582d695.cjs} +4 -4
- package/dist/error-8582d695.cjs.map +1 -0
- package/dist/error.cjs +1 -1
- package/dist/error.d.ts.map +1 -1
- package/dist/{eventloop-c60b5658.cjs → eventloop-d0571621.cjs} +5 -5
- package/dist/eventloop-d0571621.cjs.map +1 -0
- package/dist/eventloop.cjs +1 -1
- package/dist/eventloop.d.ts.map +1 -1
- package/dist/eventloop.test.d.ts +6 -5
- package/dist/eventloop.test.d.ts.map +1 -1
- package/dist/{function-3695121b.cjs → function-35e8ddea.cjs} +6 -3
- package/dist/function-35e8ddea.cjs.map +1 -0
- package/dist/function.cjs +4 -4
- package/dist/function.d.ts.map +1 -1
- package/dist/function.test.d.ts +3 -1
- package/dist/function.test.d.ts.map +1 -1
- package/dist/index.cjs +22 -22
- package/dist/{indexeddb-7b2c0026.cjs → indexeddb-1f25af34.cjs} +7 -30
- package/dist/indexeddb-1f25af34.cjs.map +1 -0
- package/dist/indexeddb.cjs +4 -4
- package/dist/indexeddb.d.ts.map +1 -1
- package/dist/list.cjs +7 -6
- package/dist/list.cjs.map +1 -1
- package/dist/list.d.ts.map +1 -1
- package/dist/list.test.d.ts +2 -2
- package/dist/list.test.d.ts.map +1 -1
- package/dist/{logging-70fd0a99.cjs → logging-641c32f4.cjs} +55 -50
- package/dist/logging-641c32f4.cjs.map +1 -0
- package/dist/logging.cjs +12 -12
- package/dist/logging.d.ts.map +1 -1
- package/dist/{map-28a001c9.cjs → map-9a5915e4.cjs} +6 -5
- package/dist/map-9a5915e4.cjs.map +1 -0
- package/dist/map.cjs +1 -1
- package/dist/map.d.ts +1 -1
- package/dist/map.d.ts.map +1 -1
- package/dist/map.test.d.ts +1 -1
- package/dist/map.test.d.ts.map +1 -1
- package/dist/{number-e62129bc.cjs → number-f97e141a.cjs} +2 -2
- package/dist/number-f97e141a.cjs.map +1 -0
- package/dist/number.cjs +1 -1
- package/dist/{object-fe9c0021.cjs → object-aad630ed.cjs} +6 -3
- package/dist/object-aad630ed.cjs.map +1 -0
- package/dist/object.cjs +1 -1
- package/dist/object.d.ts +3 -3
- package/dist/object.d.ts.map +1 -1
- package/dist/object.test.d.ts.map +1 -1
- package/dist/observable.cjs +3 -3
- package/dist/{prng-397a85ab.cjs → prng-cd2451c9.cjs} +5 -4
- package/dist/prng-cd2451c9.cjs.map +1 -0
- package/dist/prng.cjs +12 -12
- package/dist/prng.d.ts.map +1 -1
- package/dist/{promise-1a9fe712.cjs → promise-a4f32c85.cjs} +3 -3
- package/dist/promise-a4f32c85.cjs.map +1 -0
- package/dist/promise.cjs +2 -2
- package/dist/random.test.d.ts +1 -0
- package/dist/random.test.d.ts.map +1 -1
- package/dist/rollup.config.d.ts +2 -28
- package/dist/{set-b596ef38.cjs → set-0f209abb.cjs} +4 -7
- package/dist/set-0f209abb.cjs.map +1 -0
- package/dist/set.cjs +1 -1
- package/dist/set.d.ts.map +1 -1
- package/dist/set.test.d.ts +1 -1
- package/dist/set.test.d.ts.map +1 -1
- package/dist/sort.test.d.ts +2 -1
- package/dist/sort.test.d.ts.map +1 -1
- package/dist/storage.cjs +6 -5
- package/dist/storage.cjs.map +1 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/{string-ad04f734.cjs → string-b1bee84b.cjs} +8 -7
- package/dist/string-b1bee84b.cjs.map +1 -0
- package/dist/string.cjs +1 -1
- package/dist/string.d.ts.map +1 -1
- package/dist/symbol.test.d.ts +3 -0
- package/dist/symbol.test.d.ts.map +1 -0
- package/dist/testing.cjs +57 -40
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.d.ts +2 -1
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.test.d.ts +1 -0
- package/dist/testing.test.d.ts.map +1 -1
- package/dist/{time-e00067da.cjs → time-bc2081b9.cjs} +2 -2
- package/dist/time-bc2081b9.cjs.map +1 -0
- package/dist/time.cjs +1 -1
- package/dist/{tree-b67c7947.cjs → tree-9f3c8837.cjs} +23 -22
- package/dist/tree-9f3c8837.cjs.map +1 -0
- package/dist/tree.cjs +1 -1
- package/dist/tree.d.ts.map +1 -1
- package/dist/url.cjs +2 -2
- package/dist/url.cjs.map +1 -1
- package/dist/webcrypto.deno.cjs +12 -0
- package/dist/webcrypto.deno.cjs.map +1 -0
- package/dist/webcrypto.deno.d.ts +3 -0
- package/dist/webcrypto.deno.d.ts.map +1 -0
- package/dist/{websocket-dd57e44f.cjs → websocket-85f1d597.cjs} +2 -2
- package/dist/{websocket-dd57e44f.cjs.map → websocket-85f1d597.cjs.map} +1 -1
- package/dist/websocket.cjs +5 -5
- package/dom.d.ts.map +1 -1
- package/dom.js +2 -30
- package/encoding.d.ts.map +1 -1
- package/encoding.js +2 -3
- package/encoding.test.d.ts +2 -1
- package/encoding.test.d.ts.map +1 -1
- package/environment.d.ts.map +1 -1
- package/environment.js +15 -14
- package/error.d.ts.map +1 -1
- package/error.js +3 -3
- package/eventloop.d.ts.map +1 -1
- package/eventloop.js +4 -4
- package/eventloop.test.d.ts +6 -5
- package/eventloop.test.d.ts.map +1 -1
- package/function.d.ts.map +1 -1
- package/function.js +3 -0
- package/function.test.d.ts +3 -1
- package/function.test.d.ts.map +1 -1
- package/indexeddb.d.ts.map +1 -1
- package/indexeddb.js +4 -27
- package/list.d.ts.map +1 -1
- package/list.js +2 -1
- package/list.test.d.ts +2 -2
- package/list.test.d.ts.map +1 -1
- package/logging.d.ts.map +1 -1
- package/logging.js +47 -42
- package/map.d.ts +1 -1
- package/map.d.ts.map +1 -1
- package/map.js +5 -4
- package/map.test.d.ts +1 -1
- package/map.test.d.ts.map +1 -1
- package/number.js +1 -1
- package/object.d.ts +3 -3
- package/object.d.ts.map +1 -1
- package/object.js +5 -2
- package/object.test.d.ts.map +1 -1
- package/package.json +33 -17
- package/prng.d.ts.map +1 -1
- package/prng.js +2 -1
- package/promise.js +1 -1
- package/random.test.d.ts +1 -0
- package/random.test.d.ts.map +1 -1
- package/rollup.config.d.ts +2 -28
- package/set.d.ts.map +1 -1
- package/set.js +3 -6
- package/set.test.d.ts +1 -1
- package/set.test.d.ts.map +1 -1
- package/sort.test.d.ts +2 -1
- package/sort.test.d.ts.map +1 -1
- package/storage.d.ts.map +1 -1
- package/storage.js +6 -5
- package/string.d.ts.map +1 -1
- package/string.js +7 -6
- package/symbol.test.d.ts +3 -0
- package/symbol.test.d.ts.map +1 -0
- package/test.html +150 -2
- package/test.js +5 -3
- package/testing.d.ts +2 -1
- package/testing.d.ts.map +1 -1
- package/testing.js +38 -22
- package/testing.test.d.ts +1 -0
- package/testing.test.d.ts.map +1 -1
- package/time.js +1 -1
- package/tree.d.ts.map +1 -1
- package/tree.js +22 -21
- package/url.js +1 -1
- package/webcrypto.deno.d.ts +3 -0
- package/webcrypto.deno.d.ts.map +1 -0
- package/webcrypto.deno.js +4 -0
- package/crypto.d.ts +0 -22
- package/crypto.d.ts.map +0 -1
- package/crypto.js +0 -185
- package/dist/broadcastchannel-61da4e94.cjs.map +0 -1
- package/dist/buffer-884e5a1d.cjs.map +0 -1
- package/dist/conditions-fb475c70.cjs.map +0 -1
- package/dist/crypto.cjs +0 -231
- package/dist/crypto.cjs.map +0 -1
- package/dist/crypto.d.ts +0 -22
- package/dist/crypto.d.ts.map +0 -1
- package/dist/dom-58958c04.cjs.map +0 -1
- package/dist/environment-ad5e7386.cjs.map +0 -1
- package/dist/error-873c9cbf.cjs.map +0 -1
- package/dist/eventloop-c60b5658.cjs.map +0 -1
- package/dist/function-3695121b.cjs.map +0 -1
- package/dist/indexeddb-7b2c0026.cjs.map +0 -1
- package/dist/logging-70fd0a99.cjs.map +0 -1
- package/dist/map-28a001c9.cjs.map +0 -1
- package/dist/number-e62129bc.cjs.map +0 -1
- package/dist/object-fe9c0021.cjs.map +0 -1
- package/dist/prng-397a85ab.cjs.map +0 -1
- package/dist/promise-1a9fe712.cjs.map +0 -1
- package/dist/set-b596ef38.cjs.map +0 -1
- package/dist/string-ad04f734.cjs.map +0 -1
- package/dist/time-e00067da.cjs.map +0 -1
- package/dist/tree-b67c7947.cjs.map +0 -1
|
@@ -51,7 +51,8 @@ class N {
|
|
|
51
51
|
|
|
52
52
|
get sibling () {
|
|
53
53
|
return (this === this.parent.left)
|
|
54
|
-
? this.parent.right
|
|
54
|
+
? this.parent.right
|
|
55
|
+
: this.parent.left
|
|
55
56
|
}
|
|
56
57
|
|
|
57
58
|
get left () {
|
|
@@ -88,13 +89,13 @@ class N {
|
|
|
88
89
|
next () {
|
|
89
90
|
if (this.right !== null) {
|
|
90
91
|
// search the most left node in the right tree
|
|
91
|
-
|
|
92
|
+
let o = this.right;
|
|
92
93
|
while (o.left !== null) {
|
|
93
94
|
o = o.left;
|
|
94
95
|
}
|
|
95
96
|
return o
|
|
96
97
|
} else {
|
|
97
|
-
|
|
98
|
+
let p = this;
|
|
98
99
|
while (p.parent !== null && p !== p.parent.left) {
|
|
99
100
|
p = p.parent;
|
|
100
101
|
}
|
|
@@ -105,13 +106,13 @@ class N {
|
|
|
105
106
|
prev () {
|
|
106
107
|
if (this.left !== null) {
|
|
107
108
|
// search the most right node in the left tree
|
|
108
|
-
|
|
109
|
+
let o = this.left;
|
|
109
110
|
while (o.right !== null) {
|
|
110
111
|
o = o.right;
|
|
111
112
|
}
|
|
112
113
|
return o
|
|
113
114
|
} else {
|
|
114
|
-
|
|
115
|
+
let p = this;
|
|
115
116
|
while (p.parent !== null && p !== p.parent.right) {
|
|
116
117
|
p = p.parent;
|
|
117
118
|
}
|
|
@@ -159,7 +160,7 @@ class Tree {
|
|
|
159
160
|
* @param {K} id
|
|
160
161
|
*/
|
|
161
162
|
findNext (id) {
|
|
162
|
-
|
|
163
|
+
const nextID = id.clone();
|
|
163
164
|
nextID.clock += 1;
|
|
164
165
|
return this.findWithLowerBound(nextID)
|
|
165
166
|
}
|
|
@@ -177,7 +178,7 @@ class Tree {
|
|
|
177
178
|
* @param {K} from
|
|
178
179
|
*/
|
|
179
180
|
findNodeWithLowerBound (from) {
|
|
180
|
-
|
|
181
|
+
let o = this.root;
|
|
181
182
|
if (o === null) {
|
|
182
183
|
return null
|
|
183
184
|
} else {
|
|
@@ -209,7 +210,7 @@ class Tree {
|
|
|
209
210
|
if (to === undefined) {
|
|
210
211
|
throw new Error('You must define from!')
|
|
211
212
|
}
|
|
212
|
-
|
|
213
|
+
let o = this.root;
|
|
213
214
|
if (o === null) {
|
|
214
215
|
return null
|
|
215
216
|
} else {
|
|
@@ -238,7 +239,7 @@ class Tree {
|
|
|
238
239
|
* @return {V}
|
|
239
240
|
*/
|
|
240
241
|
findSmallestNode () {
|
|
241
|
-
|
|
242
|
+
let o = this.root;
|
|
242
243
|
while (o != null && o.left != null) {
|
|
243
244
|
o = o.left;
|
|
244
245
|
}
|
|
@@ -250,7 +251,7 @@ class Tree {
|
|
|
250
251
|
* @return {V}
|
|
251
252
|
*/
|
|
252
253
|
findWithLowerBound (from) {
|
|
253
|
-
|
|
254
|
+
const n = this.findNodeWithLowerBound(from);
|
|
254
255
|
return n == null ? null : n.val
|
|
255
256
|
}
|
|
256
257
|
|
|
@@ -259,7 +260,7 @@ class Tree {
|
|
|
259
260
|
* @return {V}
|
|
260
261
|
*/
|
|
261
262
|
findWithUpperBound (to) {
|
|
262
|
-
|
|
263
|
+
const n = this.findNodeWithUpperBound(to);
|
|
263
264
|
return n == null ? null : n.val
|
|
264
265
|
}
|
|
265
266
|
|
|
@@ -269,7 +270,7 @@ class Tree {
|
|
|
269
270
|
* @param {function(V):void} f
|
|
270
271
|
*/
|
|
271
272
|
iterate (from, to, f) {
|
|
272
|
-
|
|
273
|
+
let o;
|
|
273
274
|
if (from === null) {
|
|
274
275
|
o = this.findSmallestNode();
|
|
275
276
|
} else {
|
|
@@ -306,7 +307,7 @@ class Tree {
|
|
|
306
307
|
* @return {N<V>|null}
|
|
307
308
|
*/
|
|
308
309
|
findNode (id) {
|
|
309
|
-
|
|
310
|
+
let o = this.root;
|
|
310
311
|
if (o === null) {
|
|
311
312
|
return null
|
|
312
313
|
} else {
|
|
@@ -329,7 +330,7 @@ class Tree {
|
|
|
329
330
|
* @param {K} id
|
|
330
331
|
*/
|
|
331
332
|
delete (id) {
|
|
332
|
-
|
|
333
|
+
let d = this.findNode(id);
|
|
333
334
|
if (d == null) {
|
|
334
335
|
// throw new Error('Element does not exist!')
|
|
335
336
|
return
|
|
@@ -338,7 +339,7 @@ class Tree {
|
|
|
338
339
|
if (d.left !== null && d.right !== null) {
|
|
339
340
|
// switch d with the greates element in the left subtree.
|
|
340
341
|
// o should have at most one child.
|
|
341
|
-
|
|
342
|
+
let o = d.left;
|
|
342
343
|
// find
|
|
343
344
|
while (o.right !== null) {
|
|
344
345
|
o = o.right;
|
|
@@ -349,8 +350,8 @@ class Tree {
|
|
|
349
350
|
}
|
|
350
351
|
// d has at most one child
|
|
351
352
|
// let n be the node that replaces d
|
|
352
|
-
|
|
353
|
-
|
|
353
|
+
let isFakeChild;
|
|
354
|
+
let child = d.left || d.right;
|
|
354
355
|
if (child === null) {
|
|
355
356
|
isFakeChild = true;
|
|
356
357
|
child = new N(null);
|
|
@@ -403,7 +404,7 @@ class Tree {
|
|
|
403
404
|
// d was already replaced by the child
|
|
404
405
|
// d is not the root
|
|
405
406
|
// d and child are black
|
|
406
|
-
|
|
407
|
+
let sibling = n.sibling;
|
|
407
408
|
if (isRed(sibling)) {
|
|
408
409
|
// make sibling the grandfather
|
|
409
410
|
n.parent.redden();
|
|
@@ -465,9 +466,9 @@ class Tree {
|
|
|
465
466
|
}
|
|
466
467
|
|
|
467
468
|
put (v) {
|
|
468
|
-
|
|
469
|
+
const node = new N(v);
|
|
469
470
|
if (this.root !== null) {
|
|
470
|
-
|
|
471
|
+
let p = this.root; // p abbrev. parent
|
|
471
472
|
while (true) {
|
|
472
473
|
if (node.val._id.lessThan(p.val._id)) {
|
|
473
474
|
if (p.left === null) {
|
|
@@ -504,7 +505,7 @@ class Tree {
|
|
|
504
505
|
} else if (n.parent.isBlack()) {
|
|
505
506
|
return
|
|
506
507
|
}
|
|
507
|
-
|
|
508
|
+
const uncle = n.getUncle();
|
|
508
509
|
if (uncle !== null && uncle.isRed()) {
|
|
509
510
|
// Note: parent: red, uncle: red
|
|
510
511
|
n.parent.blacken();
|
|
@@ -553,4 +554,4 @@ var tree = /*#__PURE__*/Object.freeze({
|
|
|
553
554
|
|
|
554
555
|
exports.Tree = Tree;
|
|
555
556
|
exports.tree = tree;
|
|
556
|
-
//# sourceMappingURL=tree-
|
|
557
|
+
//# sourceMappingURL=tree-9f3c8837.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-9f3c8837.cjs","sources":["../tree.js"],"sourcesContent":["/**\n * Red-black-tree implementation.\n *\n * @module tree\n */\n// @ts-nocheck TODO: remove or refactor this file\n\nconst rotate = (tree, parent, newParent, n) => {\n if (parent === null) {\n tree.root = newParent\n newParent._parent = null\n } else if (parent.left === n) {\n parent.left = newParent\n } else if (parent.right === n) {\n parent.right = newParent\n } else {\n throw new Error('The elements are wrongly connected!')\n }\n}\n\n/**\n * @template V\n */\nclass N {\n /**\n * A created node is always red!\n *\n * @param {V} val\n */\n constructor (val) {\n this.val = val\n this.color = true\n this._left = null\n this._right = null\n this._parent = null\n }\n\n isRed () { return this.color }\n isBlack () { return !this.color }\n redden () { this.color = true; return this }\n blacken () { this.color = false; return this }\n get grandparent () {\n return this.parent.parent\n }\n\n get parent () {\n return this._parent\n }\n\n get sibling () {\n return (this === this.parent.left)\n ? this.parent.right\n : this.parent.left\n }\n\n get left () {\n return this._left\n }\n\n get right () {\n return this._right\n }\n\n set left (n) {\n if (n !== null) {\n n._parent = this\n }\n this._left = n\n }\n\n set right (n) {\n if (n !== null) {\n n._parent = this\n }\n this._right = n\n }\n\n rotateLeft (tree) {\n const parent = this.parent\n const newParent = this.right\n const newRight = this.right.left\n newParent.left = this\n this.right = newRight\n rotate(tree, parent, newParent, this)\n }\n\n next () {\n if (this.right !== null) {\n // search the most left node in the right tree\n let o = this.right\n while (o.left !== null) {\n o = o.left\n }\n return o\n } else {\n let p = this\n while (p.parent !== null && p !== p.parent.left) {\n p = p.parent\n }\n return p.parent\n }\n }\n\n prev () {\n if (this.left !== null) {\n // search the most right node in the left tree\n let o = this.left\n while (o.right !== null) {\n o = o.right\n }\n return o\n } else {\n let p = this\n while (p.parent !== null && p !== p.parent.right) {\n p = p.parent\n }\n return p.parent\n }\n }\n\n rotateRight (tree) {\n const parent = this.parent\n const newParent = this.left\n const newLeft = this.left.right\n newParent.right = this\n this.left = newLeft\n rotate(tree, parent, newParent, this)\n }\n\n getUncle () {\n // we can assume that grandparent exists when this is called!\n if (this.parent === this.parent.parent.left) {\n return this.parent.parent.right\n } else {\n return this.parent.parent.left\n }\n }\n}\n\nconst isBlack = node =>\n node !== null ? node.isBlack() : true\n\nconst isRed = (node) =>\n node !== null ? node.isRed() : false\n\n/**\n * This is a Red Black Tree implementation\n *\n * @template K,V\n */\nexport class Tree {\n constructor () {\n this.root = null\n this.length = 0\n }\n\n /**\n * @param {K} id\n */\n findNext (id) {\n const nextID = id.clone()\n nextID.clock += 1\n return this.findWithLowerBound(nextID)\n }\n\n /**\n * @param {K} id\n */\n findPrev (id) {\n const prevID = id.clone()\n prevID.clock -= 1\n return this.findWithUpperBound(prevID)\n }\n\n /**\n * @param {K} from\n */\n findNodeWithLowerBound (from) {\n let o = this.root\n if (o === null) {\n return null\n } else {\n while (true) {\n if (from === null || (from.lessThan(o.val._id) && o.left !== null)) {\n // o is included in the bound\n // try to find an element that is closer to the bound\n o = o.left\n } else if (from !== null && o.val._id.lessThan(from)) {\n // o is not within the bound, maybe one of the right elements is..\n if (o.right !== null) {\n o = o.right\n } else {\n // there is no right element. Search for the next bigger element,\n // this should be within the bounds\n return o.next()\n }\n } else {\n return o\n }\n }\n }\n }\n\n /**\n * @param {K} to\n */\n findNodeWithUpperBound (to) {\n if (to === undefined) {\n throw new Error('You must define from!')\n }\n let o = this.root\n if (o === null) {\n return null\n } else {\n while (true) {\n if ((to === null || o.val._id.lessThan(to)) && o.right !== null) {\n // o is included in the bound\n // try to find an element that is closer to the bound\n o = o.right\n } else if (to !== null && to.lessThan(o.val._id)) {\n // o is not within the bound, maybe one of the left elements is..\n if (o.left !== null) {\n o = o.left\n } else {\n // there is no left element. Search for the prev smaller element,\n // this should be within the bounds\n return o.prev()\n }\n } else {\n return o\n }\n }\n }\n }\n\n /**\n * @return {V}\n */\n findSmallestNode () {\n let o = this.root\n while (o != null && o.left != null) {\n o = o.left\n }\n return o\n }\n\n /**\n * @param {K} from\n * @return {V}\n */\n findWithLowerBound (from) {\n const n = this.findNodeWithLowerBound(from)\n return n == null ? null : n.val\n }\n\n /**\n * @param {K} to\n * @return {V}\n */\n findWithUpperBound (to) {\n const n = this.findNodeWithUpperBound(to)\n return n == null ? null : n.val\n }\n\n /**\n * @param {K} from\n * @param {V} from\n * @param {function(V):void} f\n */\n iterate (from, to, f) {\n let o\n if (from === null) {\n o = this.findSmallestNode()\n } else {\n o = this.findNodeWithLowerBound(from)\n }\n while (\n o !== null &&\n (\n to === null || // eslint-disable-line no-unmodified-loop-condition\n o.val._id.lessThan(to) ||\n o.val._id.equals(to)\n )\n ) {\n f(o.val)\n o = o.next()\n }\n }\n\n /**\n * @param {K} id\n * @return {V|null}\n */\n find (id) {\n const n = this.findNode(id)\n if (n !== null) {\n return n.val\n } else {\n return null\n }\n }\n\n /**\n * @param {K} id\n * @return {N<V>|null}\n */\n findNode (id) {\n let o = this.root\n if (o === null) {\n return null\n } else {\n while (true) {\n if (o === null) {\n return null\n }\n if (id.lessThan(o.val._id)) {\n o = o.left\n } else if (o.val._id.lessThan(id)) {\n o = o.right\n } else {\n return o\n }\n }\n }\n }\n\n /**\n * @param {K} id\n */\n delete (id) {\n let d = this.findNode(id)\n if (d == null) {\n // throw new Error('Element does not exist!')\n return\n }\n this.length--\n if (d.left !== null && d.right !== null) {\n // switch d with the greates element in the left subtree.\n // o should have at most one child.\n let o = d.left\n // find\n while (o.right !== null) {\n o = o.right\n }\n // switch\n d.val = o.val\n d = o\n }\n // d has at most one child\n // let n be the node that replaces d\n let isFakeChild\n let child = d.left || d.right\n if (child === null) {\n isFakeChild = true\n child = new N(null)\n child.blacken()\n d.right = child\n } else {\n isFakeChild = false\n }\n\n if (d.parent === null) {\n if (!isFakeChild) {\n this.root = child\n child.blacken()\n child._parent = null\n } else {\n this.root = null\n }\n return\n } else if (d.parent.left === d) {\n d.parent.left = child\n } else if (d.parent.right === d) {\n d.parent.right = child\n } else {\n throw new Error('Impossible!')\n }\n if (d.isBlack()) {\n if (child.isRed()) {\n child.blacken()\n } else {\n this._fixDelete(child)\n }\n }\n this.root.blacken()\n if (isFakeChild) {\n if (child.parent.left === child) {\n child.parent.left = null\n } else if (child.parent.right === child) {\n child.parent.right = null\n } else {\n throw new Error('Impossible #3')\n }\n }\n }\n\n _fixDelete (n) {\n if (n.parent === null) {\n // this can only be called after the first iteration of fixDelete.\n return\n }\n // d was already replaced by the child\n // d is not the root\n // d and child are black\n let sibling = n.sibling\n if (isRed(sibling)) {\n // make sibling the grandfather\n n.parent.redden()\n sibling.blacken()\n if (n === n.parent.left) {\n n.parent.rotateLeft(this)\n } else if (n === n.parent.right) {\n n.parent.rotateRight(this)\n } else {\n throw new Error('Impossible #2')\n }\n sibling = n.sibling\n }\n // parent, sibling, and children of n are black\n if (n.parent.isBlack() &&\n sibling.isBlack() &&\n isBlack(sibling.left) &&\n isBlack(sibling.right)\n ) {\n sibling.redden()\n this._fixDelete(n.parent)\n } else if (n.parent.isRed() &&\n sibling.isBlack() &&\n isBlack(sibling.left) &&\n isBlack(sibling.right)\n ) {\n sibling.redden()\n n.parent.blacken()\n } else {\n if (n === n.parent.left &&\n sibling.isBlack() &&\n isRed(sibling.left) &&\n isBlack(sibling.right)\n ) {\n sibling.redden()\n sibling.left.blacken()\n sibling.rotateRight(this)\n sibling = n.sibling\n } else if (n === n.parent.right &&\n sibling.isBlack() &&\n isRed(sibling.right) &&\n isBlack(sibling.left)\n ) {\n sibling.redden()\n sibling.right.blacken()\n sibling.rotateLeft(this)\n sibling = n.sibling\n }\n sibling.color = n.parent.color\n n.parent.blacken()\n if (n === n.parent.left) {\n sibling.right.blacken()\n n.parent.rotateLeft(this)\n } else {\n sibling.left.blacken()\n n.parent.rotateRight(this)\n }\n }\n }\n\n put (v) {\n const node = new N(v)\n if (this.root !== null) {\n let p = this.root // p abbrev. parent\n while (true) {\n if (node.val._id.lessThan(p.val._id)) {\n if (p.left === null) {\n p.left = node\n break\n } else {\n p = p.left\n }\n } else if (p.val._id.lessThan(node.val._id)) {\n if (p.right === null) {\n p.right = node\n break\n } else {\n p = p.right\n }\n } else {\n p.val = node.val\n return p\n }\n }\n this._fixInsert(node)\n } else {\n this.root = node\n }\n this.length++\n this.root.blacken()\n return node\n }\n\n _fixInsert (n) {\n if (n.parent === null) {\n n.blacken()\n return\n } else if (n.parent.isBlack()) {\n return\n }\n const uncle = n.getUncle()\n if (uncle !== null && uncle.isRed()) {\n // Note: parent: red, uncle: red\n n.parent.blacken()\n uncle.blacken()\n n.grandparent.redden()\n this._fixInsert(n.grandparent)\n } else {\n // Note: parent: red, uncle: black or null\n // Now we transform the tree in such a way that\n // either of these holds:\n // 1) grandparent.left.isRed\n // and grandparent.left.left.isRed\n // 2) grandparent.right.isRed\n // and grandparent.right.right.isRed\n if (n === n.parent.right && n.parent === n.grandparent.left) {\n n.parent.rotateLeft(this)\n // Since we rotated and want to use the previous\n // cases, we need to set n in such a way that\n // n.parent.isRed again\n n = n.left\n } else if (n === n.parent.left && n.parent === n.grandparent.right) {\n n.parent.rotateRight(this)\n // see above\n n = n.right\n }\n // Case 1) or 2) hold from here on.\n // Now traverse grandparent, make parent a black node\n // on the highest level which holds two red nodes.\n n.parent.blacken()\n n.grandparent.redden()\n if (n === n.parent.left) {\n // Case 1\n n.grandparent.rotateRight(this)\n } else {\n // Case 2\n n.grandparent.rotateLeft(this)\n }\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
package/dist/tree.cjs
CHANGED
package/dist/tree.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../tree.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../tree.js"],"names":[],"mappings":"AAiJA;;;;GAIG;AACH;IAEI,UAAgB;IAChB,eAAe;IAGjB;;OAEG;IACH,aAFW,CAAC,KAMX;IAED;;OAEG;IACH,aAFW,CAAC,KAMX;IAED;;OAEG;IACH,6BAFW,CAAC,OA0BX;IAED;;OAEG;IACH,2BAFW,CAAC,OA6BX;IAED;;OAEG;IACH,oBAFY,CAAC,CAQZ;IAED;;;OAGG;IACH,yBAHW,CAAC,GACA,CAAC,CAKZ;IAED;;;OAGG;IACH,uBAHW,CAAC,GACA,CAAC,CAKZ;IAED;;;;OAIG;IACH,cAJW,CAAC,qBAEQ,CAAC,KAAE,IAAI,QAoB1B;IAED;;;OAGG;IACH,SAHW,CAAC,GACA,CAAC,GAAC,IAAI,CASjB;IAED;;;OAGG;IACH,aAHW,CAAC,GACA,EAAE,CAAC,CAAC,GAAC,IAAI,CAoBpB;IAED;;OAEG;IACH,WAFW,CAAC,QAmEX;IAED,yBAmEC;IAED,iBA+BC;IAED,yBA8CC;CACF;AA7gBD;;GAEG;AACH;IACE;;;;OAIG;IACH,iBAFW,CAAC,EAQX;IALC,OAAc;IACd,eAAiB;IACjB,WAAiB;IACjB,YAAkB;IAClB,aAAmB;IAGrB,iBAA8B;IAC9B,mBAAiC;IACjC,eAA4C;IAC5C,gBAA8C;IAC9C,uBAEC;IAED,kBAEC;IAED,mBAIC;IAUD,mBAKC;IAbD,gBAEC;IAaD,oBAKC;IAhBD,iBAEC;IAgBD,4BAOC;IAED,YAeC;IAED,YAeC;IAED,6BAOC;IAED,gBAOC;CACF"}
|
package/dist/url.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var object = require('./object-
|
|
5
|
+
var object = require('./object-aad630ed.cjs');
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Utility module to work with urls.
|
|
@@ -23,7 +23,7 @@ const decodeQueryParams = url => {
|
|
|
23
23
|
const query = {};
|
|
24
24
|
const urlQuerySplit = url.split('?');
|
|
25
25
|
const pairs = urlQuerySplit[urlQuerySplit.length - 1].split('&');
|
|
26
|
-
for (
|
|
26
|
+
for (let i = 0; i < pairs.length; i++) {
|
|
27
27
|
const item = pairs[i];
|
|
28
28
|
if (item.length > 0) {
|
|
29
29
|
const pair = item.split('=');
|
package/dist/url.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.cjs","sources":["../url.js"],"sourcesContent":["/**\n * Utility module to work with urls.\n *\n * @module url\n */\n\nimport * as object from './object.js'\n\n/**\n * Parse query parameters from an url.\n *\n * @param {string} url\n * @return {Object<string,string>}\n */\nexport const decodeQueryParams = url => {\n /**\n * @type {Object<string,string>}\n */\n const query = {}\n const urlQuerySplit = url.split('?')\n const pairs = urlQuerySplit[urlQuerySplit.length - 1].split('&')\n for (
|
|
1
|
+
{"version":3,"file":"url.cjs","sources":["../url.js"],"sourcesContent":["/**\n * Utility module to work with urls.\n *\n * @module url\n */\n\nimport * as object from './object.js'\n\n/**\n * Parse query parameters from an url.\n *\n * @param {string} url\n * @return {Object<string,string>}\n */\nexport const decodeQueryParams = url => {\n /**\n * @type {Object<string,string>}\n */\n const query = {}\n const urlQuerySplit = url.split('?')\n const pairs = urlQuerySplit[urlQuerySplit.length - 1].split('&')\n for (let i = 0; i < pairs.length; i++) {\n const item = pairs[i]\n if (item.length > 0) {\n const pair = item.split('=')\n query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || '')\n }\n }\n return query\n}\n\n/**\n * @param {Object<string,string>} params\n * @return {string}\n */\nexport const encodeQueryParams = params =>\n object.map(params, (val, key) => `${encodeURIComponent(key)}=${encodeURIComponent(val)}`).join('&')\n"],"names":["object.map"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,iBAAiB,GAAG,GAAG,IAAI;AACxC;AACA;AACA;AACA,EAAE,MAAM,KAAK,GAAG,GAAE;AAClB,EAAE,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAC;AACtC,EAAE,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAC;AAClE,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,IAAI,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,EAAC;AACzB,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AACzB,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAC;AAClC,MAAM,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAC;AAC5E,KAAK;AACL,GAAG;AACH,EAAE,OAAO,KAAK;AACd,EAAC;AACD;AACA;AACA;AACA;AACA;AACY,MAAC,iBAAiB,GAAG,MAAM;AACvC,EAAEA,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
// eslint-disable-next-line
|
|
6
|
+
const subtle = /** @type {any} */ (crypto).subtle;
|
|
7
|
+
// eslint-disable-next-line
|
|
8
|
+
const getRandomValues = /** @type {any} */ (crypto).getRandomValues.bind(crypto);
|
|
9
|
+
|
|
10
|
+
exports.getRandomValues = getRandomValues;
|
|
11
|
+
exports.subtle = subtle;
|
|
12
|
+
//# sourceMappingURL=webcrypto.deno.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webcrypto.deno.cjs","sources":["../webcrypto.deno.js"],"sourcesContent":["// eslint-disable-next-line\nexport const subtle = /** @type {any} */ (crypto).subtle\n// eslint-disable-next-line\nexport const getRandomValues = /** @type {any} */ (crypto).getRandomValues.bind(crypto)\n"],"names":[],"mappings":";;;;AAAA;AACY,MAAC,MAAM,sBAAsB,CAAC,MAAM,EAAE,OAAM;AACxD;AACY,MAAC,eAAe,sBAAsB,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webcrypto.deno.d.ts","sourceRoot":"","sources":["../webcrypto.deno.js"],"names":[],"mappings":"AACA,yBAAwD;AAExD,kCAAuF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var observable = require('./observable.cjs');
|
|
4
|
-
var time = require('./time-
|
|
4
|
+
var time = require('./time-bc2081b9.cjs');
|
|
5
5
|
var math = require('./math-08e068f9.cjs');
|
|
6
6
|
|
|
7
7
|
/* eslint-env browser */
|
|
@@ -153,4 +153,4 @@ var websocket = /*#__PURE__*/Object.freeze({
|
|
|
153
153
|
|
|
154
154
|
exports.WebsocketClient = WebsocketClient;
|
|
155
155
|
exports.websocket = websocket;
|
|
156
|
-
//# sourceMappingURL=websocket-
|
|
156
|
+
//# sourceMappingURL=websocket-85f1d597.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-
|
|
1
|
+
{"version":3,"file":"websocket-85f1d597.cjs","sources":["../websocket.js"],"sourcesContent":["/* eslint-env browser */\n\n/**\n * Tiny websocket connection handler.\n *\n * Implements exponential backoff reconnects, ping/pong, and a nice event system using [lib0/observable].\n *\n * @module websocket\n */\n\nimport { Observable } from './observable.js'\nimport * as time from './time.js'\nimport * as math from './math.js'\n\nconst reconnectTimeoutBase = 1200\nconst maxReconnectTimeout = 2500\n// @todo - this should depend on awareness.outdatedTime\nconst messageReconnectTimeout = 30000\n\n/**\n * @param {WebsocketClient} wsclient\n */\nconst setupWS = (wsclient) => {\n if (wsclient.shouldConnect && wsclient.ws === null) {\n const websocket = new WebSocket(wsclient.url)\n const binaryType = wsclient.binaryType\n /**\n * @type {any}\n */\n let pingTimeout = null\n if (binaryType) {\n websocket.binaryType = binaryType\n }\n wsclient.ws = websocket\n wsclient.connecting = true\n wsclient.connected = false\n websocket.onmessage = event => {\n wsclient.lastMessageReceived = time.getUnixTime()\n const data = event.data\n const message = typeof data === 'string' ? JSON.parse(data) : data\n if (message && message.type === 'pong') {\n clearTimeout(pingTimeout)\n pingTimeout = setTimeout(sendPing, messageReconnectTimeout / 2)\n }\n wsclient.emit('message', [message, wsclient])\n }\n /**\n * @param {any} error\n */\n const onclose = error => {\n if (wsclient.ws !== null) {\n wsclient.ws = null\n wsclient.connecting = false\n if (wsclient.connected) {\n wsclient.connected = false\n wsclient.emit('disconnect', [{ type: 'disconnect', error }, wsclient])\n } else {\n wsclient.unsuccessfulReconnects++\n }\n // Start with no reconnect timeout and increase timeout by\n // log10(wsUnsuccessfulReconnects).\n // The idea is to increase reconnect timeout slowly and have no reconnect\n // timeout at the beginning (log(1) = 0)\n setTimeout(setupWS, math.min(math.log10(wsclient.unsuccessfulReconnects + 1) * reconnectTimeoutBase, maxReconnectTimeout), wsclient)\n }\n clearTimeout(pingTimeout)\n }\n const sendPing = () => {\n if (wsclient.ws === websocket) {\n wsclient.send({\n type: 'ping'\n })\n }\n }\n websocket.onclose = () => onclose(null)\n websocket.onerror = error => onclose(error)\n websocket.onopen = () => {\n wsclient.lastMessageReceived = time.getUnixTime()\n wsclient.connecting = false\n wsclient.connected = true\n wsclient.unsuccessfulReconnects = 0\n wsclient.emit('connect', [{ type: 'connect' }, wsclient])\n // set ping\n pingTimeout = setTimeout(sendPing, messageReconnectTimeout / 2)\n }\n }\n}\n\n/**\n * @extends Observable<string>\n */\nexport class WebsocketClient extends Observable {\n /**\n * @param {string} url\n * @param {object} [opts]\n * @param {'arraybuffer' | 'blob' | null} [opts.binaryType] Set `ws.binaryType`\n */\n constructor (url, { binaryType } = {}) {\n super()\n this.url = url\n /**\n * @type {WebSocket?}\n */\n this.ws = null\n this.binaryType = binaryType || null\n this.connected = false\n this.connecting = false\n this.unsuccessfulReconnects = 0\n this.lastMessageReceived = 0\n /**\n * Whether to connect to other peers or not\n * @type {boolean}\n */\n this.shouldConnect = true\n this._checkInterval = setInterval(() => {\n if (this.connected && messageReconnectTimeout < time.getUnixTime() - this.lastMessageReceived) {\n // no message received in a long time - not even your own awareness\n // updates (which are updated every 15 seconds)\n /** @type {WebSocket} */ (this.ws).close()\n }\n }, messageReconnectTimeout / 2)\n setupWS(this)\n }\n\n /**\n * @param {any} message\n */\n send (message) {\n if (this.ws) {\n this.ws.send(JSON.stringify(message))\n }\n }\n\n destroy () {\n clearInterval(this._checkInterval)\n this.disconnect()\n super.destroy()\n }\n\n disconnect () {\n this.shouldConnect = false\n if (this.ws !== null) {\n this.ws.close()\n }\n }\n\n connect () {\n this.shouldConnect = true\n if (!this.connected && this.ws === null) {\n setupWS(this)\n }\n }\n}\n"],"names":["time.getUnixTime","math.min","math.log10","Observable"],"mappings":"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"}
|
package/dist/websocket.cjs
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
require('./observable.cjs');
|
|
6
|
-
require('./time-
|
|
6
|
+
require('./time-bc2081b9.cjs');
|
|
7
7
|
require('./math-08e068f9.cjs');
|
|
8
|
-
var websocket = require('./websocket-
|
|
9
|
-
require('./map-
|
|
10
|
-
require('./set-
|
|
11
|
-
require('./array-
|
|
8
|
+
var websocket = require('./websocket-85f1d597.cjs');
|
|
9
|
+
require('./map-9a5915e4.cjs');
|
|
10
|
+
require('./set-0f209abb.cjs');
|
|
11
|
+
require('./array-a1682de6.cjs');
|
|
12
12
|
require('./metric.cjs');
|
|
13
13
|
|
|
14
14
|
|
package/dom.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["dom.js"],"names":[],"mappings":"AAYA;;GAEG;AACH,kBAFU,QAAQ,CAE0E;
|
|
1
|
+
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["dom.js"],"names":[],"mappings":"AAYA;;GAEG;AACH,kBAFU,QAAQ,CAE0E;AAMrF,oCAHI,MAAM,GACL,WAAW,CAEqC;AAKrD,0CAFK,gBAAgB,CAE4C;AAMjE,qCAHI,MAAM,GACL,IAAI,CAE8C;AAE9D,kCAA6G;AAOtG,oCAJI,WAAW,QACX,MAAM,QACN,MAAM,WAE+E;AAOzF,kCAJI,OAAO,SACP,MAAM,KAAK,IAAI,CAAC,MAAM,EAAC,MAAM,GAAC,OAAO,CAAC,CAAC,GACtC,OAAO,CAclB;AAOM,qCAJI,OAAO,SACP,IAAI,MAAM,EAAE,MAAM,CAAC,GAClB,OAAO,CAKlB;AAMM,mCAHI,MAAM,IAAI,CAAC,GAAC,cAAc,GACzB,gBAAgB,CAQ3B;AAOM,+BAJI,OAAO,SACP,MAAM,IAAI,CAAC,GACV,OAAO,CAKlB;AAKM,2BAFI,WAAW,QAEiB;AAOhC,qCAJI,WAAW,QACX,MAAM,KACN,aAAa,QAEqD;AAOtE,wCAJI,WAAW,QACX,MAAM,KACN,aAAa,QAE2D;AAO5E,wCAJI,IAAI,aACJ,MAAM,KAAK,IAAI,CAAC,MAAM,EAAC,aAAa,CAAC,CAAC,GACrC,IAAI,CAKf;AAOM,2CAJI,IAAI,aACJ,MAAM,KAAK,IAAI,CAAC,MAAM,EAAC,aAAa,CAAC,CAAC,GACrC,IAAI,CAKf;AAQM,8BALI,MAAM,UACN,MAAM,KAAK,IAAI,CAAC,MAAM,EAAC,MAAM,CAAC,GAAC,KAAK,IAAI,CAAC,MAAM,EAAC,OAAO,CAAC,CAAC,aACzD,MAAM,IAAI,CAAC,GACV,OAAO,CAG0C;AAMtD,8BAHI,MAAM,UACN,MAAM,qBAOhB;AAvHM,2BAHI,MAAM,GACL,IAAI,CAE8C;AAkIvD,wCAFI,KAAK,IAAI,CAAC,MAAM,EAAC,MAAM,CAAC,UAEmC;AAM/D,0CAHI,MAAM,KAAK,IAAI,CAAC,MAAM,EAAC,MAAM,CAAC,CAAC,GAC9B,MAAM,CAE8D;AAMzE,oCAHI,IAAI,MAAM,EAAC,MAAM,CAAC,GACjB,MAAM,CAE0E;AASrF,kCAJI,WAAW,GAAC,UAAU,SACtB,MAAM,GACL,WAAW,GAAG,IAAI,CAEqC;AAO5D,qCAJI,WAAW,GAAC,UAAU,SACtB,MAAM,GACL,WAAW,WAAW,CAAC,CAEsC;AAMlE,mCAHI,MAAM,GACL,WAAW,CAEgE;AAYhF,oCAHI,MAAM,GACL,gBAAgB,CAE+D;AAMpF,mCAHI,MAAM,GACL,WAAW,CAEsE;AAMtF,mCAHI,WAAW,SACX,WAAW,GAAC,gBAAgB,QAE8B;AAQ9D,qCALI,WAAW,MACX,WAAW,OACX,IAAI,GAAC,IAAI,GACR,WAAW,CAEsD;AAOtE,oCAJI,IAAI,SACJ,IAAI,GACH,IAAI,CAEuD;AAEvE,kCAA4C;AAC5C,+BAAsC;AACtC,wCAAwD;AACxD,kCAA4C;AAC5C,mCAA8C;AAC9C,wCAAwD;AACxD,4CAAgE;AAMzD,oCAHI,GAAG,QACH,MAAM,WAEkD;AAM5D,mCAHI,IAAI,SACJ,WAAW,WAQrB"}
|
package/dom.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import * as pair from './pair.js'
|
|
10
10
|
import * as map from './map.js'
|
|
11
11
|
|
|
12
|
-
/*
|
|
12
|
+
/* c8 ignore start */
|
|
13
13
|
/**
|
|
14
14
|
* @type {Document}
|
|
15
15
|
*/
|
|
@@ -19,23 +19,19 @@ export const doc = /** @type {Document} */ (typeof document !== 'undefined' ? do
|
|
|
19
19
|
* @param {string} name
|
|
20
20
|
* @return {HTMLElement}
|
|
21
21
|
*/
|
|
22
|
-
/* istanbul ignore next */
|
|
23
22
|
export const createElement = name => doc.createElement(name)
|
|
24
23
|
|
|
25
24
|
/**
|
|
26
25
|
* @return {DocumentFragment}
|
|
27
26
|
*/
|
|
28
|
-
/* istanbul ignore next */
|
|
29
27
|
export const createDocumentFragment = () => doc.createDocumentFragment()
|
|
30
28
|
|
|
31
29
|
/**
|
|
32
30
|
* @param {string} text
|
|
33
31
|
* @return {Text}
|
|
34
32
|
*/
|
|
35
|
-
/* istanbul ignore next */
|
|
36
33
|
export const createTextNode = text => doc.createTextNode(text)
|
|
37
34
|
|
|
38
|
-
/* istanbul ignore next */
|
|
39
35
|
export const domParser = /** @type {DOMParser} */ (typeof DOMParser !== 'undefined' ? new DOMParser() : null)
|
|
40
36
|
|
|
41
37
|
/**
|
|
@@ -43,7 +39,6 @@ export const domParser = /** @type {DOMParser} */ (typeof DOMParser !== 'undefin
|
|
|
43
39
|
* @param {string} name
|
|
44
40
|
* @param {Object} opts
|
|
45
41
|
*/
|
|
46
|
-
/* istanbul ignore next */
|
|
47
42
|
export const emitCustomEvent = (el, name, opts) => el.dispatchEvent(new CustomEvent(name, opts))
|
|
48
43
|
|
|
49
44
|
/**
|
|
@@ -51,7 +46,6 @@ export const emitCustomEvent = (el, name, opts) => el.dispatchEvent(new CustomEv
|
|
|
51
46
|
* @param {Array<pair.Pair<string,string|boolean>>} attrs Array of key-value pairs
|
|
52
47
|
* @return {Element}
|
|
53
48
|
*/
|
|
54
|
-
/* istanbul ignore next */
|
|
55
49
|
export const setAttributes = (el, attrs) => {
|
|
56
50
|
pair.forEach(attrs, (key, value) => {
|
|
57
51
|
if (value === false) {
|
|
@@ -71,7 +65,6 @@ export const setAttributes = (el, attrs) => {
|
|
|
71
65
|
* @param {Map<string, string>} attrs Array of key-value pairs
|
|
72
66
|
* @return {Element}
|
|
73
67
|
*/
|
|
74
|
-
/* istanbul ignore next */
|
|
75
68
|
export const setAttributesMap = (el, attrs) => {
|
|
76
69
|
attrs.forEach((value, key) => { el.setAttribute(key, value) })
|
|
77
70
|
return el
|
|
@@ -81,7 +74,6 @@ export const setAttributesMap = (el, attrs) => {
|
|
|
81
74
|
* @param {Array<Node>|HTMLCollection} children
|
|
82
75
|
* @return {DocumentFragment}
|
|
83
76
|
*/
|
|
84
|
-
/* istanbul ignore next */
|
|
85
77
|
export const fragment = children => {
|
|
86
78
|
const fragment = createDocumentFragment()
|
|
87
79
|
for (let i = 0; i < children.length; i++) {
|
|
@@ -95,7 +87,6 @@ export const fragment = children => {
|
|
|
95
87
|
* @param {Array<Node>} nodes
|
|
96
88
|
* @return {Element}
|
|
97
89
|
*/
|
|
98
|
-
/* istanbul ignore next */
|
|
99
90
|
export const append = (parent, nodes) => {
|
|
100
91
|
appendChild(parent, fragment(nodes))
|
|
101
92
|
return parent
|
|
@@ -104,7 +95,6 @@ export const append = (parent, nodes) => {
|
|
|
104
95
|
/**
|
|
105
96
|
* @param {HTMLElement} el
|
|
106
97
|
*/
|
|
107
|
-
/* istanbul ignore next */
|
|
108
98
|
export const remove = el => el.remove()
|
|
109
99
|
|
|
110
100
|
/**
|
|
@@ -112,7 +102,6 @@ export const remove = el => el.remove()
|
|
|
112
102
|
* @param {string} name
|
|
113
103
|
* @param {EventListener} f
|
|
114
104
|
*/
|
|
115
|
-
/* istanbul ignore next */
|
|
116
105
|
export const addEventListener = (el, name, f) => el.addEventListener(name, f)
|
|
117
106
|
|
|
118
107
|
/**
|
|
@@ -120,7 +109,6 @@ export const addEventListener = (el, name, f) => el.addEventListener(name, f)
|
|
|
120
109
|
* @param {string} name
|
|
121
110
|
* @param {EventListener} f
|
|
122
111
|
*/
|
|
123
|
-
/* istanbul ignore next */
|
|
124
112
|
export const removeEventListener = (el, name, f) => el.removeEventListener(name, f)
|
|
125
113
|
|
|
126
114
|
/**
|
|
@@ -128,7 +116,6 @@ export const removeEventListener = (el, name, f) => el.removeEventListener(name,
|
|
|
128
116
|
* @param {Array<pair.Pair<string,EventListener>>} listeners
|
|
129
117
|
* @return {Node}
|
|
130
118
|
*/
|
|
131
|
-
/* istanbul ignore next */
|
|
132
119
|
export const addEventListeners = (node, listeners) => {
|
|
133
120
|
pair.forEach(listeners, (name, f) => addEventListener(node, name, f))
|
|
134
121
|
return node
|
|
@@ -139,7 +126,6 @@ export const addEventListeners = (node, listeners) => {
|
|
|
139
126
|
* @param {Array<pair.Pair<string,EventListener>>} listeners
|
|
140
127
|
* @return {Node}
|
|
141
128
|
*/
|
|
142
|
-
/* istanbul ignore next */
|
|
143
129
|
export const removeEventListeners = (node, listeners) => {
|
|
144
130
|
pair.forEach(listeners, (name, f) => removeEventListener(node, name, f))
|
|
145
131
|
return node
|
|
@@ -151,7 +137,6 @@ export const removeEventListeners = (node, listeners) => {
|
|
|
151
137
|
* @param {Array<Node>} children
|
|
152
138
|
* @return {Element}
|
|
153
139
|
*/
|
|
154
|
-
/* istanbul ignore next */
|
|
155
140
|
export const element = (name, attrs = [], children = []) =>
|
|
156
141
|
append(setAttributes(createElement(name), attrs), children)
|
|
157
142
|
|
|
@@ -159,7 +144,6 @@ export const element = (name, attrs = [], children = []) =>
|
|
|
159
144
|
* @param {number} width
|
|
160
145
|
* @param {number} height
|
|
161
146
|
*/
|
|
162
|
-
/* istanbul ignore next */
|
|
163
147
|
export const canvas = (width, height) => {
|
|
164
148
|
const c = /** @type {HTMLCanvasElement} */ (createElement('canvas'))
|
|
165
149
|
c.height = height
|
|
@@ -171,27 +155,23 @@ export const canvas = (width, height) => {
|
|
|
171
155
|
* @param {string} t
|
|
172
156
|
* @return {Text}
|
|
173
157
|
*/
|
|
174
|
-
/* istanbul ignore next */
|
|
175
158
|
export const text = createTextNode
|
|
176
159
|
|
|
177
160
|
/**
|
|
178
161
|
* @param {pair.Pair<string,string>} pair
|
|
179
162
|
*/
|
|
180
|
-
/* istanbul ignore next */
|
|
181
163
|
export const pairToStyleString = pair => `${pair.left}:${pair.right};`
|
|
182
164
|
|
|
183
165
|
/**
|
|
184
166
|
* @param {Array<pair.Pair<string,string>>} pairs
|
|
185
167
|
* @return {string}
|
|
186
168
|
*/
|
|
187
|
-
/* istanbul ignore next */
|
|
188
169
|
export const pairsToStyleString = pairs => pairs.map(pairToStyleString).join('')
|
|
189
170
|
|
|
190
171
|
/**
|
|
191
172
|
* @param {Map<string,string>} m
|
|
192
173
|
* @return {string}
|
|
193
174
|
*/
|
|
194
|
-
/* istanbul ignore next */
|
|
195
175
|
export const mapToStyleString = m => map.map(m, (value, key) => `${key}:${value};`).join('')
|
|
196
176
|
|
|
197
177
|
/**
|
|
@@ -201,7 +181,6 @@ export const mapToStyleString = m => map.map(m, (value, key) => `${key}:${value}
|
|
|
201
181
|
* @param {string} query
|
|
202
182
|
* @return {HTMLElement | null}
|
|
203
183
|
*/
|
|
204
|
-
/* istanbul ignore next */
|
|
205
184
|
export const querySelector = (el, query) => el.querySelector(query)
|
|
206
185
|
|
|
207
186
|
/**
|
|
@@ -209,42 +188,36 @@ export const querySelector = (el, query) => el.querySelector(query)
|
|
|
209
188
|
* @param {string} query
|
|
210
189
|
* @return {NodeListOf<HTMLElement>}
|
|
211
190
|
*/
|
|
212
|
-
/* istanbul ignore next */
|
|
213
191
|
export const querySelectorAll = (el, query) => el.querySelectorAll(query)
|
|
214
192
|
|
|
215
193
|
/**
|
|
216
194
|
* @param {string} id
|
|
217
195
|
* @return {HTMLElement}
|
|
218
196
|
*/
|
|
219
|
-
/* istanbul ignore next */
|
|
220
197
|
export const getElementById = id => /** @type {HTMLElement} */ (doc.getElementById(id))
|
|
221
198
|
|
|
222
199
|
/**
|
|
223
200
|
* @param {string} html
|
|
224
201
|
* @return {HTMLElement}
|
|
225
202
|
*/
|
|
226
|
-
/* istanbul ignore next */
|
|
227
203
|
const _parse = html => domParser.parseFromString(`<html><body>${html}</body></html>`, 'text/html').body
|
|
228
204
|
|
|
229
205
|
/**
|
|
230
206
|
* @param {string} html
|
|
231
207
|
* @return {DocumentFragment}
|
|
232
208
|
*/
|
|
233
|
-
/* istanbul ignore next */
|
|
234
209
|
export const parseFragment = html => fragment(/** @type {any} */ (_parse(html).childNodes))
|
|
235
210
|
|
|
236
211
|
/**
|
|
237
212
|
* @param {string} html
|
|
238
213
|
* @return {HTMLElement}
|
|
239
214
|
*/
|
|
240
|
-
/* istanbul ignore next */
|
|
241
215
|
export const parseElement = html => /** @type HTMLElement */ (_parse(html).firstElementChild)
|
|
242
216
|
|
|
243
217
|
/**
|
|
244
218
|
* @param {HTMLElement} oldEl
|
|
245
219
|
* @param {HTMLElement|DocumentFragment} newEl
|
|
246
220
|
*/
|
|
247
|
-
/* istanbul ignore next */
|
|
248
221
|
export const replaceWith = (oldEl, newEl) => oldEl.replaceWith(newEl)
|
|
249
222
|
|
|
250
223
|
/**
|
|
@@ -253,7 +226,6 @@ export const replaceWith = (oldEl, newEl) => oldEl.replaceWith(newEl)
|
|
|
253
226
|
* @param {Node|null} ref
|
|
254
227
|
* @return {HTMLElement}
|
|
255
228
|
*/
|
|
256
|
-
/* istanbul ignore next */
|
|
257
229
|
export const insertBefore = (parent, el, ref) => parent.insertBefore(el, ref)
|
|
258
230
|
|
|
259
231
|
/**
|
|
@@ -261,7 +233,6 @@ export const insertBefore = (parent, el, ref) => parent.insertBefore(el, ref)
|
|
|
261
233
|
* @param {Node} child
|
|
262
234
|
* @return {Node}
|
|
263
235
|
*/
|
|
264
|
-
/* istanbul ignore next */
|
|
265
236
|
export const appendChild = (parent, child) => parent.appendChild(child)
|
|
266
237
|
|
|
267
238
|
export const ELEMENT_NODE = doc.ELEMENT_NODE
|
|
@@ -289,3 +260,4 @@ export const isParentOf = (parent, child) => {
|
|
|
289
260
|
}
|
|
290
261
|
return p === parent
|
|
291
262
|
}
|
|
263
|
+
/* c8 ignore stop */
|
package/encoding.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["encoding.js"],"names":[],"mappings":"AAkCA;;GAEG;AACH;IAEI,aAAa;IACb,iBAA+B;IAC/B;;OAEG;IACH,MAFU,MAAM,UAAU,CAAC,CAEb;CAEjB;AAMM,iCAFK,OAAO,CAE6B;AASzC,gCAHI,OAAO,GACN,MAAM,CAQjB;AASM,sCAHI,OAAO,GACN,UAAU,CAYrB;AASM,mCAHI,OAAO,OACP,MAAM,QAShB;AASM,+BAHI,OAAO,OACP,MAAM,QAUhB;AAWM,6BAJI,OAAO,OACP,MAAM,OACN,MAAM,QAkBhB;AAnCM,oCAHI,OAAO,OACP,MAAM,QAUhB;AAWM,kCAJI,OAAO,OACP,MAAM,OACN,MAAM,QAkBhB;AA4BM,qCAHI,OAAO,OACP,MAAM,QAKhB;AASM,mCAJI,OAAO,OACP,MAAM,OACN,MAAM,QAKhB;AASM,qCAHI,OAAO,OACP,MAAM,QAOhB;AAUM,8CAHI,OAAO,OACP,MAAM,QAMhB;AAUM,mCAJI,OAAO,OACP,MAAM,OACN,MAAM,QAOhB;AASM,sCAHI,OAAO,OACP,MAAM,QAQhB;AAWM,qCAHI,OAAO,OACP,MAAM,QAgBhB;AAeM,+CAHI,OAAO,qBAejB;AASM,iDAHI,OAAO,qBAUjB;AA5BM,wCAHI,OAAO,qBAejB;AAuCM,4CAHI,OAAO,UACP,OAAO,QAEmF;AAS9F,yCAHI,OAAO,cACP,UAAU,QAmBpB;AASM,4CAHI,OAAO,cACP,UAAU,QAKpB;AAmBM,yCAJI,OAAO,OACP,MAAM,GACL,QAAQ,CAOnB;AAMM,sCAHI,OAAO,OACP,MAAM,QAEkF;AAM5F,sCAHI,OAAO,OACP,MAAM,QAEkF;AAM5F,uCAHI,OAAO,OACP,MAAM,OAEyG;AAMnH,wCAHI,OAAO,OACP,MAAM,OAE2G;AAmDrH,kCAHI,OAAO,QACP,SAAS,GAAC,IAAI,GAAC,MAAM,GAAC,MAAM,GAAC,OAAO,GAAC,MAAM;QAAQ,MAAM,GAAC,GAAG;IAAE,MAAM,GAAG,CAAC,GAAC,UAAU,QAgE9F;AAED;;GAEG;AAEH;;;;;;;;;;GAUG;AACH;IACE;;OAEG;IACH,2BAFoB,OAAO,QAAE,CAAC,KAAE,IAAI,EAcnC;IAVC;;OAEG;IACH,UAPkB,OAAO,QAAE,CAAC,KAAE,IAAI,CAOnB;IACf;;;OAGG;IACH,GAFU,CAAC,GAAC,IAAI,CAEH;IACb,cAAc;IAGhB;;OAEG;IACH,SAFW,CAAC,QAeX;CACF;AAED;;;;GAIG;AACH;IACE;;OAEG;IACH,mBAFW,MAAM,EAShB;IALC;;;OAGG;IACH,GAFU,MAAM,CAEF;IAGhB;;OAEG;IACH,SAFW,MAAM,QAKhB;CACF;AAED;;;;;;GAMG;AACH;IACE;;OAEG;IACH,mBAFW,MAAM,EAUhB;IANC;;;OAGG;IACH,GAFU,MAAM,CAEF;IACd,cAAc;IAGhB;;OAEG;IACH,SAFW,MAAM,QAehB;CACF;
|
|
1
|
+
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["encoding.js"],"names":[],"mappings":"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"}
|