lib0 0.2.116 → 1.0.0-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/package.json +160 -407
- package/{array.js → src/array.js} +6 -2
- package/{binary.js → src/binary.js} +29 -35
- package/{delta → src/delta}/delta.js +474 -410
- package/{environment.js → src/environment.js} +30 -16
- package/{hash → src/hash}/rabin.js +6 -6
- package/{schema.js → src/schema.js} +127 -58
- package/{string.js → src/string.js} +47 -26
- package/{testing.js → src/testing.js} +3 -1
- package/src/ts.js +46 -0
- package/{dist → types}/array.d.ts +1 -1
- package/types/array.d.ts.map +1 -0
- package/{dist → types}/binary.d.ts +31 -37
- package/types/binary.d.ts.map +1 -0
- package/types/broadcastchannel.d.ts.map +1 -0
- package/types/buffer.d.ts.map +1 -0
- package/types/cache.d.ts.map +1 -0
- package/types/component.d.ts.map +1 -0
- package/types/conditions.d.ts.map +1 -0
- package/types/decoding.d.ts.map +1 -0
- package/types/delta/delta.d.ts +87 -16
- package/types/delta/delta.d.ts.map +1 -1
- package/types/delta/t3.test.d.ts.map +1 -1
- package/types/diff.d.ts.map +1 -0
- package/types/dom.d.ts.map +1 -0
- package/types/encoding.d.ts.map +1 -0
- package/{environment.d.ts → types/environment.d.ts} +2 -0
- package/types/environment.d.ts.map +1 -0
- package/types/error.d.ts.map +1 -0
- package/types/eventloop.d.ts.map +1 -0
- package/{function.d.ts → types/function.d.ts} +1 -1
- package/types/function.d.ts.map +1 -0
- package/types/indexeddb.d.ts.map +1 -0
- package/types/indexeddbV2.d.ts.map +1 -0
- package/types/iterator.d.ts.map +1 -0
- package/types/json.d.ts.map +1 -0
- package/types/list.d.ts.map +1 -0
- package/types/logging.common.d.ts.map +1 -0
- package/types/logging.d.ts.map +1 -0
- package/types/logging.node.d.ts.map +1 -0
- package/types/map.d.ts.map +1 -0
- package/types/math.d.ts.map +1 -0
- package/types/metric.d.ts.map +1 -0
- package/types/mutex.d.ts.map +1 -0
- package/{number.d.ts → types/number.d.ts} +2 -2
- package/types/number.d.ts.map +1 -0
- package/types/object.d.ts.map +1 -0
- package/types/observable.d.ts.map +1 -0
- package/types/pair.d.ts.map +1 -0
- package/types/performance.d.ts.map +1 -0
- package/types/performance.node.d.ts.map +1 -0
- package/types/pledge.d.ts.map +1 -0
- package/types/prng.d.ts.map +1 -0
- package/types/promise.d.ts.map +1 -0
- package/types/queue.d.ts.map +1 -0
- package/types/random.d.ts.map +1 -0
- package/{schema.d.ts → types/schema.d.ts} +65 -59
- package/types/schema.d.ts.map +1 -0
- package/types/set.d.ts.map +1 -0
- package/types/sort.d.ts.map +1 -0
- package/types/statistics.d.ts.map +1 -0
- package/types/storage.d.ts.map +1 -0
- package/{string.d.ts → types/string.d.ts} +3 -8
- package/types/string.d.ts.map +1 -0
- package/types/symbol.d.ts.map +1 -0
- package/{testing.d.ts → types/testing.d.ts} +2 -1
- package/types/testing.d.ts.map +1 -0
- package/types/time.d.ts.map +1 -0
- package/types/trait/equality.d.ts.map +1 -1
- package/types/tree.d.ts.map +1 -0
- package/types/ts.d.ts +22 -0
- package/types/ts.d.ts.map +1 -0
- package/types/url.d.ts.map +1 -0
- package/types/webcrypto.d.ts.map +1 -0
- package/types/webcrypto.deno.d.ts.map +1 -0
- package/types/webcrypto.node.d.ts.map +1 -0
- package/types/webcrypto.react-native.d.ts.map +1 -0
- package/types/websocket.d.ts.map +1 -0
- package/.github/workflows/node.js.yml +0 -24
- package/.jsdoc.json +0 -18
- package/.vscode/launch.json +0 -17
- package/array.d.ts +0 -30
- package/array.d.ts.map +0 -1
- package/array.test.d.ts +0 -13
- package/array.test.d.ts.map +0 -1
- package/bin/0ecdsa-generate-keypair.d.ts +0 -3
- package/bin/0ecdsa-generate-keypair.d.ts.map +0 -1
- package/bin/0serve.d.ts +0 -3
- package/bin/0serve.d.ts.map +0 -1
- package/bin/gendocs.d.ts +0 -3
- package/bin/gendocs.d.ts.map +0 -1
- package/bin/gentesthtml.d.ts +0 -3
- package/bin/gentesthtml.d.ts.map +0 -1
- package/binary.d.ts +0 -87
- package/binary.d.ts.map +0 -1
- package/binary.test.d.ts +0 -4
- package/binary.test.d.ts.map +0 -1
- package/broadcastchannel.d.ts.map +0 -1
- package/broadcastchannel.test.d.ts +0 -3
- package/broadcastchannel.test.d.ts.map +0 -1
- package/buffer.d.ts.map +0 -1
- package/buffer.test.d.ts +0 -6
- package/buffer.test.d.ts.map +0 -1
- package/cache.d.ts.map +0 -1
- package/cache.test.d.ts +0 -3
- package/cache.test.d.ts.map +0 -1
- package/component.d.ts.map +0 -1
- package/conditions.d.ts.map +0 -1
- package/coverage/tmp/coverage-54474-1766470859038-0.json +0 -1
- package/crypto/aes-gcm.d.ts +0 -17
- package/crypto/aes-gcm.d.ts.map +0 -1
- package/crypto/common.d.ts +0 -3
- package/crypto/common.d.ts.map +0 -1
- package/crypto/ecdsa.d.ts +0 -17
- package/crypto/ecdsa.d.ts.map +0 -1
- package/crypto/jwt.d.ts +0 -10
- package/crypto/jwt.d.ts.map +0 -1
- package/crypto/rsa-oaep.d.ts +0 -13
- package/crypto/rsa-oaep.d.ts.map +0 -1
- package/crypto.test.d.ts +0 -9
- package/crypto.test.d.ts.map +0 -1
- package/decoding.d.ts.map +0 -1
- package/delta/binding.d.ts +0 -107
- package/delta/binding.d.ts.map +0 -1
- package/delta/binding.test.d.ts +0 -5
- package/delta/binding.test.d.ts.map +0 -1
- package/delta/delta-pitch.test.d.ts +0 -5
- package/delta/delta-pitch.test.d.ts.map +0 -1
- package/delta/delta.d.ts +0 -1008
- package/delta/delta.d.ts.map +0 -1
- package/delta/delta.test.d.ts +0 -28
- package/delta/delta.test.d.ts.map +0 -1
- package/delta/t3.test.d.ts +0 -19
- package/delta/t3.test.d.ts.map +0 -1
- package/deno.json +0 -12
- package/deno.lock +0 -122
- package/diff/patience.d.ts +0 -16
- package/diff/patience.d.ts.map +0 -1
- package/diff/patience.test.d.ts +0 -4
- package/diff/patience.test.d.ts.map +0 -1
- package/diff.d.ts.map +0 -1
- package/diff.test.d.ts +0 -6
- package/diff.test.d.ts.map +0 -1
- package/dist/aes-gcm.cjs +0 -171
- package/dist/aes-gcm.cjs.map +0 -1
- package/dist/array-78849c95.cjs +0 -260
- package/dist/array-78849c95.cjs.map +0 -1
- package/dist/array.cjs +0 -26
- package/dist/array.cjs.map +0 -1
- package/dist/array.d.ts.map +0 -1
- package/dist/array.test.d.ts +0 -13
- package/dist/array.test.d.ts.map +0 -1
- package/dist/bin/0ecdsa-generate-keypair.d.ts +0 -3
- package/dist/bin/0ecdsa-generate-keypair.d.ts.map +0 -1
- package/dist/bin/0serve.d.ts +0 -3
- package/dist/bin/0serve.d.ts.map +0 -1
- package/dist/bin/gendocs.d.ts +0 -3
- package/dist/bin/gendocs.d.ts.map +0 -1
- package/dist/bin/gentesthtml.d.ts +0 -3
- package/dist/bin/gentesthtml.d.ts.map +0 -1
- package/dist/binary-ac8e39e2.cjs +0 -229
- package/dist/binary-ac8e39e2.cjs.map +0 -1
- package/dist/binary.cjs +0 -74
- package/dist/binary.cjs.map +0 -1
- package/dist/binary.d.ts.map +0 -1
- package/dist/binary.test.d.ts +0 -4
- package/dist/binary.test.d.ts.map +0 -1
- package/dist/binding.cjs +0 -484
- package/dist/binding.cjs.map +0 -1
- package/dist/broadcastchannel-aca4f606.cjs +0 -128
- package/dist/broadcastchannel-aca4f606.cjs.map +0 -1
- package/dist/broadcastchannel.cjs +0 -29
- package/dist/broadcastchannel.cjs.map +0 -1
- package/dist/broadcastchannel.d.ts +0 -8
- package/dist/broadcastchannel.d.ts.map +0 -1
- package/dist/broadcastchannel.test.d.ts +0 -3
- package/dist/broadcastchannel.test.d.ts.map +0 -1
- package/dist/buffer-3e750729.cjs +0 -198
- package/dist/buffer-3e750729.cjs.map +0 -1
- package/dist/buffer.cjs +0 -38
- package/dist/buffer.cjs.map +0 -1
- package/dist/buffer.d.ts +0 -22
- package/dist/buffer.d.ts.map +0 -1
- package/dist/buffer.test.d.ts +0 -6
- package/dist/buffer.test.d.ts.map +0 -1
- package/dist/cache.cjs +0 -223
- package/dist/cache.cjs.map +0 -1
- package/dist/cache.d.ts +0 -52
- package/dist/cache.d.ts.map +0 -1
- package/dist/cache.test.d.ts +0 -3
- package/dist/cache.test.d.ts.map +0 -1
- package/dist/common.cjs +0 -47
- package/dist/common.cjs.map +0 -1
- package/dist/component.cjs +0 -437
- package/dist/component.cjs.map +0 -1
- package/dist/component.d.ts +0 -86
- package/dist/component.d.ts.map +0 -1
- package/dist/conditions-f5c0c102.cjs +0 -24
- package/dist/conditions-f5c0c102.cjs.map +0 -1
- package/dist/conditions.cjs +0 -10
- package/dist/conditions.cjs.map +0 -1
- package/dist/conditions.d.ts +0 -2
- package/dist/conditions.d.ts.map +0 -1
- package/dist/crypto/aes-gcm.d.ts +0 -17
- package/dist/crypto/aes-gcm.d.ts.map +0 -1
- package/dist/crypto/common.d.ts +0 -3
- package/dist/crypto/common.d.ts.map +0 -1
- package/dist/crypto/ecdsa.d.ts +0 -17
- package/dist/crypto/ecdsa.d.ts.map +0 -1
- package/dist/crypto/jwt.d.ts +0 -10
- package/dist/crypto/jwt.d.ts.map +0 -1
- package/dist/crypto/rsa-oaep.d.ts +0 -13
- package/dist/crypto/rsa-oaep.d.ts.map +0 -1
- package/dist/crypto.test.d.ts +0 -9
- package/dist/crypto.test.d.ts.map +0 -1
- package/dist/decoding-76e75827.cjs +0 -795
- package/dist/decoding-76e75827.cjs.map +0 -1
- package/dist/decoding.cjs +0 -55
- package/dist/decoding.cjs.map +0 -1
- package/dist/decoding.d.ts +0 -165
- package/dist/decoding.d.ts.map +0 -1
- package/dist/delta/binding.d.ts +0 -107
- package/dist/delta/binding.d.ts.map +0 -1
- package/dist/delta/binding.test.d.ts +0 -5
- package/dist/delta/binding.test.d.ts.map +0 -1
- package/dist/delta/delta-pitch.test.d.ts +0 -5
- package/dist/delta/delta-pitch.test.d.ts.map +0 -1
- package/dist/delta/delta.d.ts +0 -1008
- package/dist/delta/delta.d.ts.map +0 -1
- package/dist/delta/delta.test.d.ts +0 -28
- package/dist/delta/delta.test.d.ts.map +0 -1
- package/dist/delta/t3.test.d.ts +0 -19
- package/dist/delta/t3.test.d.ts.map +0 -1
- package/dist/delta.cjs +0 -2409
- package/dist/delta.cjs.map +0 -1
- package/dist/diff/patience.d.ts +0 -16
- package/dist/diff/patience.d.ts.map +0 -1
- package/dist/diff/patience.test.d.ts +0 -4
- package/dist/diff/patience.test.d.ts.map +0 -1
- package/dist/diff-9d236524.cjs +0 -162
- package/dist/diff-9d236524.cjs.map +0 -1
- package/dist/diff.cjs +0 -18
- package/dist/diff.cjs.map +0 -1
- package/dist/diff.d.ts +0 -36
- package/dist/diff.d.ts.map +0 -1
- package/dist/diff.test.d.ts +0 -6
- package/dist/diff.test.d.ts.map +0 -1
- package/dist/dom-7e625b09.cjs +0 -371
- package/dist/dom-7e625b09.cjs.map +0 -1
- package/dist/dom.cjs +0 -71
- package/dist/dom.cjs.map +0 -1
- package/dist/dom.d.ts.map +0 -1
- package/dist/ecdsa.cjs +0 -130
- package/dist/ecdsa.cjs.map +0 -1
- package/dist/encoding-1a745c43.cjs +0 -1025
- package/dist/encoding-1a745c43.cjs.map +0 -1
- package/dist/encoding.cjs +0 -54
- package/dist/encoding.cjs.map +0 -1
- package/dist/encoding.d.ts.map +0 -1
- package/dist/encoding.test.d.ts +0 -50
- package/dist/encoding.test.d.ts.map +0 -1
- package/dist/environment-1c97264d.cjs +0 -180
- package/dist/environment-1c97264d.cjs.map +0 -1
- package/dist/environment.cjs +0 -29
- package/dist/environment.cjs.map +0 -1
- package/dist/environment.d.ts +0 -19
- package/dist/environment.d.ts.map +0 -1
- package/dist/equality.cjs +0 -34
- package/dist/equality.cjs.map +0 -1
- package/dist/error-0c1f634f.cjs +0 -53
- package/dist/error-0c1f634f.cjs.map +0 -1
- package/dist/error.cjs +0 -13
- package/dist/error.cjs.map +0 -1
- package/dist/error.d.ts.map +0 -1
- package/dist/eventloop-a0168106.cjs +0 -151
- package/dist/eventloop-a0168106.cjs.map +0 -1
- package/dist/eventloop.cjs +0 -19
- package/dist/eventloop.cjs.map +0 -1
- package/dist/eventloop.d.ts.map +0 -1
- package/dist/eventloop.test.d.ts +0 -10
- package/dist/eventloop.test.d.ts.map +0 -1
- package/dist/fingerprint.cjs +0 -44
- package/dist/fingerprint.cjs.map +0 -1
- package/dist/function-314580f7.cjs +0 -223
- package/dist/function-314580f7.cjs.map +0 -1
- package/dist/function.cjs +0 -26
- package/dist/function.cjs.map +0 -1
- package/dist/function.d.ts +0 -19
- package/dist/function.d.ts.map +0 -1
- package/dist/function.test.d.ts +0 -5
- package/dist/function.test.d.ts.map +0 -1
- package/dist/hash/rabin-gf2-polynomial.d.ts +0 -45
- package/dist/hash/rabin-gf2-polynomial.d.ts.map +0 -1
- package/dist/hash/rabin-uncached.d.ts +0 -29
- package/dist/hash/rabin-uncached.d.ts.map +0 -1
- package/dist/hash/rabin.d.ts +0 -27
- package/dist/hash/rabin.d.ts.map +0 -1
- package/dist/hash/rabin.test.d.ts +0 -8
- package/dist/hash/rabin.test.d.ts.map +0 -1
- package/dist/hash/sha256.d.ts +0 -2
- package/dist/hash/sha256.d.ts.map +0 -1
- package/dist/hash/sha256.node.d.ts +0 -2
- package/dist/hash/sha256.node.d.ts.map +0 -1
- package/dist/hash/sha256.test.d.ts +0 -7
- package/dist/hash/sha256.test.d.ts.map +0 -1
- package/dist/index.cjs +0 -99
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts +0 -35
- package/dist/index.d.ts.map +0 -1
- package/dist/indexeddb-46d1e737.cjs +0 -311
- package/dist/indexeddb-46d1e737.cjs.map +0 -1
- package/dist/indexeddb.cjs +0 -37
- package/dist/indexeddb.cjs.map +0 -1
- package/dist/indexeddb.d.ts.map +0 -1
- package/dist/indexeddb.test.d.ts +0 -3
- package/dist/indexeddb.test.d.ts.map +0 -1
- package/dist/indexeddbV2.cjs +0 -288
- package/dist/indexeddbV2.cjs.map +0 -1
- package/dist/indexeddbV2.d.ts.map +0 -1
- package/dist/indexeddbV2.test.d.ts +0 -3
- package/dist/indexeddbV2.test.d.ts.map +0 -1
- package/dist/isomorphic.cjs +0 -17
- package/dist/isomorphic.cjs.map +0 -1
- package/dist/iterator-9fc627c1.cjs +0 -78
- package/dist/iterator-9fc627c1.cjs.map +0 -1
- package/dist/iterator.cjs +0 -13
- package/dist/iterator.cjs.map +0 -1
- package/dist/iterator.d.ts.map +0 -1
- package/dist/json-092190a1.cjs +0 -34
- package/dist/json-092190a1.cjs.map +0 -1
- package/dist/json.cjs +0 -11
- package/dist/json.cjs.map +0 -1
- package/dist/json.d.ts.map +0 -1
- package/dist/jwt.cjs +0 -96
- package/dist/jwt.cjs.map +0 -1
- package/dist/list.cjs +0 -266
- package/dist/list.cjs.map +0 -1
- package/dist/list.d.ts.map +0 -1
- package/dist/list.test.d.ts +0 -6
- package/dist/list.test.d.ts.map +0 -1
- package/dist/logging.cjs +0 -428
- package/dist/logging.cjs.map +0 -1
- package/dist/logging.common.cjs +0 -132
- package/dist/logging.common.cjs.map +0 -1
- package/dist/logging.common.d.ts.map +0 -1
- package/dist/logging.d.ts.map +0 -1
- package/dist/logging.node.cjs +0 -203
- package/dist/logging.node.cjs.map +0 -1
- package/dist/logging.node.d.ts.map +0 -1
- package/dist/logging.test.d.ts +0 -3
- package/dist/logging.test.d.ts.map +0 -1
- package/dist/map-24d263c0.cjs +0 -139
- package/dist/map-24d263c0.cjs.map +0 -1
- package/dist/map.cjs +0 -15
- package/dist/map.cjs.map +0 -1
- package/dist/map.d.ts.map +0 -1
- package/dist/map.test.d.ts +0 -4
- package/dist/map.test.d.ts.map +0 -1
- package/dist/math-96d5e8c4.cjs +0 -103
- package/dist/math-96d5e8c4.cjs.map +0 -1
- package/dist/math.cjs +0 -26
- package/dist/math.cjs.map +0 -1
- package/dist/math.d.ts.map +0 -1
- package/dist/math.test.d.ts +0 -3
- package/dist/math.test.d.ts.map +0 -1
- package/dist/metric.cjs +0 -83
- package/dist/metric.cjs.map +0 -1
- package/dist/metric.d.ts.map +0 -1
- package/dist/metric.test.d.ts +0 -3
- package/dist/metric.test.d.ts.map +0 -1
- package/dist/mutex-63f09c81.cjs +0 -54
- package/dist/mutex-63f09c81.cjs.map +0 -1
- package/dist/mutex.cjs +0 -10
- package/dist/mutex.cjs.map +0 -1
- package/dist/mutex.d.ts.map +0 -1
- package/dist/mutex.test.d.ts +0 -3
- package/dist/mutex.test.d.ts.map +0 -1
- package/dist/number-1fb57bba.cjs +0 -64
- package/dist/number-1fb57bba.cjs.map +0 -1
- package/dist/number.cjs +0 -20
- package/dist/number.cjs.map +0 -1
- package/dist/number.d.ts +0 -10
- package/dist/number.d.ts.map +0 -1
- package/dist/number.test.d.ts +0 -4
- package/dist/number.test.d.ts.map +0 -1
- package/dist/object-c0c9435b.cjs +0 -212
- package/dist/object-c0c9435b.cjs.map +0 -1
- package/dist/object.cjs +0 -27
- package/dist/object.cjs.map +0 -1
- package/dist/object.d.ts.map +0 -1
- package/dist/object.test.d.ts +0 -6
- package/dist/object.test.d.ts.map +0 -1
- package/dist/observable.cjs +0 -169
- package/dist/observable.cjs.map +0 -1
- package/dist/observable.d.ts.map +0 -1
- package/dist/observable.test.d.ts +0 -3
- package/dist/observable.test.d.ts.map +0 -1
- package/dist/pair-ab022bc3.cjs +0 -69
- package/dist/pair-ab022bc3.cjs.map +0 -1
- package/dist/pair.cjs +0 -14
- package/dist/pair.cjs.map +0 -1
- package/dist/pair.d.ts.map +0 -1
- package/dist/pair.test.d.ts +0 -3
- package/dist/pair.test.d.ts.map +0 -1
- package/dist/patience.cjs +0 -236
- package/dist/patience.cjs.map +0 -1
- package/dist/performance.cjs +0 -14
- package/dist/performance.cjs.map +0 -1
- package/dist/performance.d.ts.map +0 -1
- package/dist/performance.node.cjs +0 -36
- package/dist/performance.node.cjs.map +0 -1
- package/dist/performance.node.d.ts.map +0 -1
- package/dist/pledge.cjs +0 -308
- package/dist/pledge.cjs.map +0 -1
- package/dist/pledge.d.ts.map +0 -1
- package/dist/pledge.test.d.ts +0 -6
- package/dist/pledge.test.d.ts.map +0 -1
- package/dist/prng/Mt19937.d.ts +0 -29
- package/dist/prng/Mt19937.d.ts.map +0 -1
- package/dist/prng/Xoroshiro128plus.d.ts +0 -27
- package/dist/prng/Xoroshiro128plus.d.ts.map +0 -1
- package/dist/prng/Xorshift32.d.ts +0 -21
- package/dist/prng/Xorshift32.d.ts.map +0 -1
- package/dist/prng-37d48618.cjs +0 -387
- package/dist/prng-37d48618.cjs.map +0 -1
- package/dist/prng.cjs +0 -44
- package/dist/prng.cjs.map +0 -1
- package/dist/prng.d.ts.map +0 -1
- package/dist/prng.test.d.ts +0 -6
- package/dist/prng.test.d.ts.map +0 -1
- package/dist/promise-cda7b9bb.cjs +0 -145
- package/dist/promise-cda7b9bb.cjs.map +0 -1
- package/dist/promise.cjs +0 -22
- package/dist/promise.cjs.map +0 -1
- package/dist/promise.d.ts.map +0 -1
- package/dist/promise.test.d.ts +0 -5
- package/dist/promise.test.d.ts.map +0 -1
- package/dist/queue.cjs +0 -97
- package/dist/queue.cjs.map +0 -1
- package/dist/queue.d.ts.map +0 -1
- package/dist/queue.test.d.ts +0 -3
- package/dist/queue.test.d.ts.map +0 -1
- package/dist/rabin-gf2-polynomial.cjs +0 -440
- package/dist/rabin-gf2-polynomial.cjs.map +0 -1
- package/dist/rabin-uncached.cjs +0 -90
- package/dist/rabin-uncached.cjs.map +0 -1
- package/dist/rabin.cjs +0 -128
- package/dist/rabin.cjs.map +0 -1
- package/dist/random.cjs +0 -48
- package/dist/random.cjs.map +0 -1
- package/dist/random.d.ts.map +0 -1
- package/dist/random.test.d.ts +0 -7
- package/dist/random.test.d.ts.map +0 -1
- package/dist/rollup.config.d.ts +0 -13
- package/dist/rollup.config.d.ts.map +0 -1
- package/dist/rsa-oaep.cjs +0 -112
- package/dist/rsa-oaep.cjs.map +0 -1
- package/dist/schema.cjs +0 -1223
- package/dist/schema.cjs.map +0 -1
- package/dist/schema.d.ts +0 -595
- package/dist/schema.d.ts.map +0 -1
- package/dist/schema.test.d.ts +0 -15
- package/dist/schema.test.d.ts.map +0 -1
- package/dist/set-5b47859e.cjs +0 -45
- package/dist/set-5b47859e.cjs.map +0 -1
- package/dist/set.cjs +0 -13
- package/dist/set.cjs.map +0 -1
- package/dist/set.d.ts.map +0 -1
- package/dist/set.test.d.ts +0 -3
- package/dist/set.test.d.ts.map +0 -1
- package/dist/sha256.cjs +0 -183
- package/dist/sha256.cjs.map +0 -1
- package/dist/sha256.node.cjs +0 -17
- package/dist/sha256.node.cjs.map +0 -1
- package/dist/sort-812cc211.cjs +0 -103
- package/dist/sort-812cc211.cjs.map +0 -1
- package/dist/sort.cjs +0 -13
- package/dist/sort.cjs.map +0 -1
- package/dist/sort.d.ts.map +0 -1
- package/dist/sort.test.d.ts +0 -7
- package/dist/sort.test.d.ts.map +0 -1
- package/dist/statistics-65f6114b.cjs +0 -32
- package/dist/statistics-65f6114b.cjs.map +0 -1
- package/dist/statistics.cjs +0 -12
- package/dist/statistics.cjs.map +0 -1
- package/dist/statistics.d.ts.map +0 -1
- package/dist/statistics.test.d.ts +0 -3
- package/dist/statistics.test.d.ts.map +0 -1
- package/dist/storage.cjs +0 -81
- package/dist/storage.cjs.map +0 -1
- package/dist/storage.d.ts.map +0 -1
- package/dist/storage.test.d.ts +0 -3
- package/dist/storage.test.d.ts.map +0 -1
- package/dist/string-fddc5f8b.cjs +0 -209
- package/dist/string-fddc5f8b.cjs.map +0 -1
- package/dist/string.cjs +0 -32
- package/dist/string.cjs.map +0 -1
- package/dist/string.d.ts +0 -28
- package/dist/string.d.ts.map +0 -1
- package/dist/string.test.d.ts +0 -9
- package/dist/string.test.d.ts.map +0 -1
- package/dist/symbol-9c439012.cjs +0 -29
- package/dist/symbol-9c439012.cjs.map +0 -1
- package/dist/symbol.cjs +0 -11
- package/dist/symbol.cjs.map +0 -1
- package/dist/symbol.d.ts.map +0 -1
- package/dist/symbol.test.d.ts +0 -3
- package/dist/symbol.test.d.ts.map +0 -1
- package/dist/testing.cjs +0 -709
- package/dist/testing.cjs.map +0 -1
- package/dist/testing.d.ts +0 -64
- package/dist/testing.d.ts.map +0 -1
- package/dist/testing.test.d.ts +0 -9
- package/dist/testing.test.d.ts.map +0 -1
- package/dist/time-d8438852.cjs +0 -63
- package/dist/time-d8438852.cjs.map +0 -1
- package/dist/time.cjs +0 -14
- package/dist/time.cjs.map +0 -1
- package/dist/time.d.ts.map +0 -1
- package/dist/time.test.d.ts +0 -4
- package/dist/time.test.d.ts.map +0 -1
- package/dist/trait/equality.d.ts +0 -6
- package/dist/trait/equality.d.ts.map +0 -1
- package/dist/trait/fingerprint.d.ts +0 -13
- package/dist/trait/fingerprint.d.ts.map +0 -1
- package/dist/trait/traits.d.ts +0 -3
- package/dist/trait/traits.d.ts.map +0 -1
- package/dist/trait/traits.test.d.ts +0 -5
- package/dist/trait/traits.test.d.ts.map +0 -1
- package/dist/traits.cjs +0 -31
- package/dist/traits.cjs.map +0 -1
- package/dist/tree-9f3c8837.cjs +0 -557
- package/dist/tree-9f3c8837.cjs.map +0 -1
- package/dist/tree.cjs +0 -10
- package/dist/tree.cjs.map +0 -1
- package/dist/tree.d.ts.map +0 -1
- package/dist/tree.test.d.ts +0 -2
- package/dist/tree.test.d.ts.map +0 -1
- package/dist/url.cjs +0 -46
- package/dist/url.cjs.map +0 -1
- package/dist/url.d.ts.map +0 -1
- package/dist/url.test.d.ts +0 -3
- package/dist/url.test.d.ts.map +0 -1
- package/dist/webcrypto.cjs +0 -12
- package/dist/webcrypto.cjs.map +0 -1
- package/dist/webcrypto.d.ts.map +0 -1
- package/dist/webcrypto.deno.cjs +0 -12
- package/dist/webcrypto.deno.cjs.map +0 -1
- package/dist/webcrypto.deno.d.ts.map +0 -1
- package/dist/webcrypto.node.cjs +0 -12
- package/dist/webcrypto.node.cjs.map +0 -1
- package/dist/webcrypto.node.d.ts.map +0 -1
- package/dist/webcrypto.react-native.cjs +0 -20
- package/dist/webcrypto.react-native.cjs.map +0 -1
- package/dist/webcrypto.react-native.d.ts.map +0 -1
- package/dist/websocket-b073d0fc.cjs +0 -157
- package/dist/websocket-b073d0fc.cjs.map +0 -1
- package/dist/websocket.cjs +0 -17
- package/dist/websocket.cjs.map +0 -1
- package/dist/websocket.d.ts.map +0 -1
- package/dom.d.ts +0 -60
- package/dom.d.ts.map +0 -1
- package/encoding.d.ts +0 -235
- package/encoding.d.ts.map +0 -1
- package/encoding.test.d.ts +0 -50
- package/encoding.test.d.ts.map +0 -1
- package/environment.d.ts.map +0 -1
- package/error.d.ts +0 -5
- package/error.d.ts.map +0 -1
- package/eventloop.d.ts +0 -16
- package/eventloop.d.ts.map +0 -1
- package/eventloop.test.d.ts +0 -10
- package/eventloop.test.d.ts.map +0 -1
- package/function.d.ts.map +0 -1
- package/function.test.d.ts +0 -5
- package/function.test.d.ts.map +0 -1
- package/hash/rabin-gf2-polynomial.d.ts +0 -45
- package/hash/rabin-gf2-polynomial.d.ts.map +0 -1
- package/hash/rabin-uncached.d.ts +0 -29
- package/hash/rabin-uncached.d.ts.map +0 -1
- package/hash/rabin.d.ts +0 -27
- package/hash/rabin.d.ts.map +0 -1
- package/hash/rabin.test.d.ts +0 -8
- package/hash/rabin.test.d.ts.map +0 -1
- package/hash/sha256.d.ts +0 -2
- package/hash/sha256.d.ts.map +0 -1
- package/hash/sha256.node.d.ts +0 -2
- package/hash/sha256.node.d.ts.map +0 -1
- package/hash/sha256.test.d.ts +0 -7
- package/hash/sha256.test.d.ts.map +0 -1
- package/index.d.ts +0 -35
- package/index.d.ts.map +0 -1
- package/index.js +0 -82
- package/indexeddb.d.ts +0 -34
- package/indexeddb.d.ts.map +0 -1
- package/indexeddb.test.d.ts +0 -3
- package/indexeddb.test.d.ts.map +0 -1
- package/indexeddbV2.d.ts +0 -35
- package/indexeddbV2.d.ts.map +0 -1
- package/indexeddbV2.test.d.ts +0 -3
- package/indexeddbV2.test.d.ts.map +0 -1
- package/isomorphic.js +0 -10
- package/iterator.d.ts +0 -5
- package/iterator.d.ts.map +0 -1
- package/json.d.ts +0 -23
- package/json.d.ts.map +0 -1
- package/list.d.ts +0 -55
- package/list.d.ts.map +0 -1
- package/list.test.d.ts +0 -6
- package/list.test.d.ts.map +0 -1
- package/logging.common.d.ts +0 -12
- package/logging.common.d.ts.map +0 -1
- package/logging.d.ts +0 -55
- package/logging.d.ts.map +0 -1
- package/logging.node.d.ts +0 -14
- package/logging.node.d.ts.map +0 -1
- package/logging.test.d.ts +0 -3
- package/logging.test.d.ts.map +0 -1
- package/map.d.ts +0 -8
- package/map.d.ts.map +0 -1
- package/map.test.d.ts +0 -4
- package/map.test.d.ts.map +0 -1
- package/math.d.ts +0 -23
- package/math.d.ts.map +0 -1
- package/math.test.d.ts +0 -3
- package/math.test.d.ts.map +0 -1
- package/metric.d.ts +0 -25
- package/metric.d.ts.map +0 -1
- package/metric.test.d.ts +0 -3
- package/metric.test.d.ts.map +0 -1
- package/mutex.d.ts +0 -3
- package/mutex.d.ts.map +0 -1
- package/mutex.test.d.ts +0 -3
- package/mutex.test.d.ts.map +0 -1
- package/number.d.ts.map +0 -1
- package/number.test.d.ts +0 -4
- package/number.test.d.ts.map +0 -1
- package/object.d.ts +0 -72
- package/object.d.ts.map +0 -1
- package/object.test.d.ts +0 -6
- package/object.test.d.ts.map +0 -1
- package/observable.d.ts +0 -86
- package/observable.d.ts.map +0 -1
- package/observable.test.d.ts +0 -3
- package/observable.test.d.ts.map +0 -1
- package/pair.d.ts +0 -22
- package/pair.d.ts.map +0 -1
- package/pair.test.d.ts +0 -3
- package/pair.test.d.ts.map +0 -1
- package/performance.d.ts +0 -4
- package/performance.d.ts.map +0 -1
- package/performance.node.d.ts +0 -14
- package/performance.node.d.ts.map +0 -1
- package/pledge.d.ts +0 -68
- package/pledge.d.ts.map +0 -1
- package/pledge.test.d.ts +0 -6
- package/pledge.test.d.ts.map +0 -1
- package/prng/Mt19937.d.ts +0 -29
- package/prng/Mt19937.d.ts.map +0 -1
- package/prng/Xoroshiro128plus.d.ts +0 -27
- package/prng/Xoroshiro128plus.d.ts.map +0 -1
- package/prng/Xorshift32.d.ts +0 -21
- package/prng/Xorshift32.d.ts.map +0 -1
- package/prng.d.ts +0 -44
- package/prng.d.ts.map +0 -1
- package/prng.test.d.ts +0 -6
- package/prng.test.d.ts.map +0 -1
- package/promise.d.ts +0 -22
- package/promise.d.ts.map +0 -1
- package/promise.test.d.ts +0 -5
- package/promise.test.d.ts.map +0 -1
- package/queue.d.ts +0 -34
- package/queue.d.ts.map +0 -1
- package/queue.test.d.ts +0 -3
- package/queue.test.d.ts.map +0 -1
- package/random.d.ts +0 -6
- package/random.d.ts.map +0 -1
- package/random.test.d.ts +0 -7
- package/random.test.d.ts.map +0 -1
- package/rollup.config.d.ts +0 -13
- package/rollup.config.d.ts.map +0 -1
- package/schema.d.ts.map +0 -1
- package/schema.test.d.ts +0 -15
- package/schema.test.d.ts.map +0 -1
- package/set.d.ts +0 -5
- package/set.d.ts.map +0 -1
- package/set.test.d.ts +0 -3
- package/set.test.d.ts.map +0 -1
- package/sort.d.ts +0 -4
- package/sort.d.ts.map +0 -1
- package/sort.test.d.ts +0 -7
- package/sort.test.d.ts.map +0 -1
- package/statistics.d.ts +0 -3
- package/statistics.d.ts.map +0 -1
- package/statistics.test.d.ts +0 -3
- package/statistics.test.d.ts.map +0 -1
- package/storage.d.ts +0 -15
- package/storage.d.ts.map +0 -1
- package/storage.test.d.ts +0 -3
- package/storage.test.d.ts.map +0 -1
- package/string.d.ts.map +0 -1
- package/string.test.d.ts +0 -9
- package/string.test.d.ts.map +0 -1
- package/symbol.d.ts +0 -11
- package/symbol.d.ts.map +0 -1
- package/symbol.test.d.ts +0 -3
- package/symbol.test.d.ts.map +0 -1
- package/test.d.ts +0 -2
- package/test.d.ts.map +0 -1
- package/test.html +0 -168
- package/test.js +0 -104
- package/testing.d.ts.map +0 -1
- package/testing.test.d.ts +0 -9
- package/testing.test.d.ts.map +0 -1
- package/time.d.ts +0 -9
- package/time.d.ts.map +0 -1
- package/time.test.d.ts +0 -4
- package/time.test.d.ts.map +0 -1
- package/trait/equality.d.ts +0 -6
- package/trait/equality.d.ts.map +0 -1
- package/trait/fingerprint.d.ts +0 -13
- package/trait/fingerprint.d.ts.map +0 -1
- package/trait/traits.d.ts +0 -3
- package/trait/traits.d.ts.map +0 -1
- package/trait/traits.test.d.ts +0 -5
- package/trait/traits.test.d.ts.map +0 -1
- package/tree.d.ts +0 -96
- package/tree.d.ts.map +0 -1
- package/tree.test.d.ts +0 -2
- package/tree.test.d.ts.map +0 -1
- package/url.d.ts +0 -7
- package/url.d.ts.map +0 -1
- package/url.test.d.ts +0 -3
- package/url.test.d.ts.map +0 -1
- package/webcrypto.d.ts +0 -3
- package/webcrypto.d.ts.map +0 -1
- package/webcrypto.deno.d.ts +0 -3
- package/webcrypto.deno.d.ts.map +0 -1
- package/webcrypto.node.d.ts +0 -3
- package/webcrypto.node.d.ts.map +0 -1
- package/webcrypto.react-native.d.ts +0 -3
- package/webcrypto.react-native.d.ts.map +0 -1
- package/websocket.d.ts +0 -38
- package/websocket.d.ts.map +0 -1
- /package/{bin → src/bin}/0ecdsa-generate-keypair.js +0 -0
- /package/{bin → src/bin}/0serve.js +0 -0
- /package/{bin → src/bin}/gendocs.js +0 -0
- /package/{bin → src/bin}/gentesthtml.js +0 -0
- /package/{broadcastchannel.js → src/broadcastchannel.js} +0 -0
- /package/{buffer.js → src/buffer.js} +0 -0
- /package/{cache.js → src/cache.js} +0 -0
- /package/{component.js → src/component.js} +0 -0
- /package/{conditions.js → src/conditions.js} +0 -0
- /package/{crypto → src/crypto}/aes-gcm.js +0 -0
- /package/{crypto → src/crypto}/common.js +0 -0
- /package/{crypto → src/crypto}/ecdsa.js +0 -0
- /package/{crypto → src/crypto}/jwt.js +0 -0
- /package/{crypto → src/crypto}/rsa-oaep.js +0 -0
- /package/{decoding.js → src/decoding.js} +0 -0
- /package/{delta → src/delta}/binding.js +0 -0
- /package/{delta → src/delta}/readme.md +0 -0
- /package/{diff → src/diff}/patience.js +0 -0
- /package/{diff.js → src/diff.js} +0 -0
- /package/{dom.js → src/dom.js} +0 -0
- /package/{encoding.js → src/encoding.js} +0 -0
- /package/{error.js → src/error.js} +0 -0
- /package/{eventloop.js → src/eventloop.js} +0 -0
- /package/{function.js → src/function.js} +0 -0
- /package/{hash → src/hash}/rabin-gf2-polynomial.js +0 -0
- /package/{hash → src/hash}/rabin-uncached.js +0 -0
- /package/{hash → src/hash}/sha256.js +0 -0
- /package/{hash → src/hash}/sha256.node.js +0 -0
- /package/{indexeddb.js → src/indexeddb.js} +0 -0
- /package/{indexeddbV2.js → src/indexeddbV2.js} +0 -0
- /package/{iterator.js → src/iterator.js} +0 -0
- /package/{json.js → src/json.js} +0 -0
- /package/{list.js → src/list.js} +0 -0
- /package/{logging.common.js → src/logging.common.js} +0 -0
- /package/{logging.js → src/logging.js} +0 -0
- /package/{logging.node.js → src/logging.node.js} +0 -0
- /package/{map.js → src/map.js} +0 -0
- /package/{math.js → src/math.js} +0 -0
- /package/{metric.js → src/metric.js} +0 -0
- /package/{mutex.js → src/mutex.js} +0 -0
- /package/{number.js → src/number.js} +0 -0
- /package/{object.js → src/object.js} +0 -0
- /package/{observable.js → src/observable.js} +0 -0
- /package/{pair.js → src/pair.js} +0 -0
- /package/{performance.js → src/performance.js} +0 -0
- /package/{performance.node.js → src/performance.node.js} +0 -0
- /package/{pledge.js → src/pledge.js} +0 -0
- /package/{prng → src/prng}/Mt19937.js +0 -0
- /package/{prng → src/prng}/Xoroshiro128plus.js +0 -0
- /package/{prng → src/prng}/Xorshift32.js +0 -0
- /package/{prng.js → src/prng.js} +0 -0
- /package/{promise.js → src/promise.js} +0 -0
- /package/{queue.js → src/queue.js} +0 -0
- /package/{random.js → src/random.js} +0 -0
- /package/{set.js → src/set.js} +0 -0
- /package/{sort.js → src/sort.js} +0 -0
- /package/{statistics.js → src/statistics.js} +0 -0
- /package/{storage.js → src/storage.js} +0 -0
- /package/{symbol.js → src/symbol.js} +0 -0
- /package/{time.js → src/time.js} +0 -0
- /package/{trait → src/trait}/equality.js +0 -0
- /package/{trait → src/trait}/fingerprint.js +0 -0
- /package/{trait → src/trait}/traits.js +0 -0
- /package/{tree.js → src/tree.js} +0 -0
- /package/{url.js → src/url.js} +0 -0
- /package/{webcrypto.deno.js → src/webcrypto.deno.js} +0 -0
- /package/{webcrypto.js → src/webcrypto.js} +0 -0
- /package/{webcrypto.node.js → src/webcrypto.node.js} +0 -0
- /package/{webcrypto.react-native.js → src/webcrypto.react-native.js} +0 -0
- /package/{websocket.js → src/websocket.js} +0 -0
- /package/{broadcastchannel.d.ts → types/broadcastchannel.d.ts} +0 -0
- /package/{buffer.d.ts → types/buffer.d.ts} +0 -0
- /package/{cache.d.ts → types/cache.d.ts} +0 -0
- /package/{component.d.ts → types/component.d.ts} +0 -0
- /package/{conditions.d.ts → types/conditions.d.ts} +0 -0
- /package/{decoding.d.ts → types/decoding.d.ts} +0 -0
- /package/{diff.d.ts → types/diff.d.ts} +0 -0
- /package/{dist → types}/dom.d.ts +0 -0
- /package/{dist → types}/encoding.d.ts +0 -0
- /package/{dist → types}/error.d.ts +0 -0
- /package/{dist → types}/eventloop.d.ts +0 -0
- /package/{dist → types}/indexeddb.d.ts +0 -0
- /package/{dist → types}/indexeddbV2.d.ts +0 -0
- /package/{dist → types}/iterator.d.ts +0 -0
- /package/{dist → types}/json.d.ts +0 -0
- /package/{dist → types}/list.d.ts +0 -0
- /package/{dist → types}/logging.common.d.ts +0 -0
- /package/{dist → types}/logging.d.ts +0 -0
- /package/{dist → types}/logging.node.d.ts +0 -0
- /package/{dist → types}/map.d.ts +0 -0
- /package/{dist → types}/math.d.ts +0 -0
- /package/{dist → types}/metric.d.ts +0 -0
- /package/{dist → types}/mutex.d.ts +0 -0
- /package/{dist → types}/object.d.ts +0 -0
- /package/{dist → types}/observable.d.ts +0 -0
- /package/{dist → types}/pair.d.ts +0 -0
- /package/{dist → types}/performance.d.ts +0 -0
- /package/{dist → types}/performance.node.d.ts +0 -0
- /package/{dist → types}/pledge.d.ts +0 -0
- /package/{dist → types}/prng.d.ts +0 -0
- /package/{dist → types}/promise.d.ts +0 -0
- /package/{dist → types}/queue.d.ts +0 -0
- /package/{dist → types}/random.d.ts +0 -0
- /package/{dist → types}/set.d.ts +0 -0
- /package/{dist → types}/sort.d.ts +0 -0
- /package/{dist → types}/statistics.d.ts +0 -0
- /package/{dist → types}/storage.d.ts +0 -0
- /package/{dist → types}/symbol.d.ts +0 -0
- /package/{dist → types}/time.d.ts +0 -0
- /package/{dist → types}/tree.d.ts +0 -0
- /package/{dist → types}/url.d.ts +0 -0
- /package/{dist → types}/webcrypto.d.ts +0 -0
- /package/{dist → types}/webcrypto.deno.d.ts +0 -0
- /package/{dist → types}/webcrypto.node.d.ts +0 -0
- /package/{dist → types}/webcrypto.react-native.d.ts +0 -0
- /package/{dist → types}/websocket.d.ts +0 -0
package/dist/tree-9f3c8837.cjs
DELETED
|
@@ -1,557 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Red-black-tree implementation.
|
|
5
|
-
*
|
|
6
|
-
* @module tree
|
|
7
|
-
*/
|
|
8
|
-
// @ts-nocheck TODO: remove or refactor this file
|
|
9
|
-
|
|
10
|
-
const rotate = (tree, parent, newParent, n) => {
|
|
11
|
-
if (parent === null) {
|
|
12
|
-
tree.root = newParent;
|
|
13
|
-
newParent._parent = null;
|
|
14
|
-
} else if (parent.left === n) {
|
|
15
|
-
parent.left = newParent;
|
|
16
|
-
} else if (parent.right === n) {
|
|
17
|
-
parent.right = newParent;
|
|
18
|
-
} else {
|
|
19
|
-
throw new Error('The elements are wrongly connected!')
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* @template V
|
|
25
|
-
*/
|
|
26
|
-
class N {
|
|
27
|
-
/**
|
|
28
|
-
* A created node is always red!
|
|
29
|
-
*
|
|
30
|
-
* @param {V} val
|
|
31
|
-
*/
|
|
32
|
-
constructor (val) {
|
|
33
|
-
this.val = val;
|
|
34
|
-
this.color = true;
|
|
35
|
-
this._left = null;
|
|
36
|
-
this._right = null;
|
|
37
|
-
this._parent = null;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
isRed () { return this.color }
|
|
41
|
-
isBlack () { return !this.color }
|
|
42
|
-
redden () { this.color = true; return this }
|
|
43
|
-
blacken () { this.color = false; return this }
|
|
44
|
-
get grandparent () {
|
|
45
|
-
return this.parent.parent
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
get parent () {
|
|
49
|
-
return this._parent
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
get sibling () {
|
|
53
|
-
return (this === this.parent.left)
|
|
54
|
-
? this.parent.right
|
|
55
|
-
: this.parent.left
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
get left () {
|
|
59
|
-
return this._left
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
get right () {
|
|
63
|
-
return this._right
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
set left (n) {
|
|
67
|
-
if (n !== null) {
|
|
68
|
-
n._parent = this;
|
|
69
|
-
}
|
|
70
|
-
this._left = n;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
set right (n) {
|
|
74
|
-
if (n !== null) {
|
|
75
|
-
n._parent = this;
|
|
76
|
-
}
|
|
77
|
-
this._right = n;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
rotateLeft (tree) {
|
|
81
|
-
const parent = this.parent;
|
|
82
|
-
const newParent = this.right;
|
|
83
|
-
const newRight = this.right.left;
|
|
84
|
-
newParent.left = this;
|
|
85
|
-
this.right = newRight;
|
|
86
|
-
rotate(tree, parent, newParent, this);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
next () {
|
|
90
|
-
if (this.right !== null) {
|
|
91
|
-
// search the most left node in the right tree
|
|
92
|
-
let o = this.right;
|
|
93
|
-
while (o.left !== null) {
|
|
94
|
-
o = o.left;
|
|
95
|
-
}
|
|
96
|
-
return o
|
|
97
|
-
} else {
|
|
98
|
-
let p = this;
|
|
99
|
-
while (p.parent !== null && p !== p.parent.left) {
|
|
100
|
-
p = p.parent;
|
|
101
|
-
}
|
|
102
|
-
return p.parent
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
prev () {
|
|
107
|
-
if (this.left !== null) {
|
|
108
|
-
// search the most right node in the left tree
|
|
109
|
-
let o = this.left;
|
|
110
|
-
while (o.right !== null) {
|
|
111
|
-
o = o.right;
|
|
112
|
-
}
|
|
113
|
-
return o
|
|
114
|
-
} else {
|
|
115
|
-
let p = this;
|
|
116
|
-
while (p.parent !== null && p !== p.parent.right) {
|
|
117
|
-
p = p.parent;
|
|
118
|
-
}
|
|
119
|
-
return p.parent
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
rotateRight (tree) {
|
|
124
|
-
const parent = this.parent;
|
|
125
|
-
const newParent = this.left;
|
|
126
|
-
const newLeft = this.left.right;
|
|
127
|
-
newParent.right = this;
|
|
128
|
-
this.left = newLeft;
|
|
129
|
-
rotate(tree, parent, newParent, this);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
getUncle () {
|
|
133
|
-
// we can assume that grandparent exists when this is called!
|
|
134
|
-
if (this.parent === this.parent.parent.left) {
|
|
135
|
-
return this.parent.parent.right
|
|
136
|
-
} else {
|
|
137
|
-
return this.parent.parent.left
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
const isBlack = node =>
|
|
143
|
-
node !== null ? node.isBlack() : true;
|
|
144
|
-
|
|
145
|
-
const isRed = (node) =>
|
|
146
|
-
node !== null ? node.isRed() : false;
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* This is a Red Black Tree implementation
|
|
150
|
-
*
|
|
151
|
-
* @template K,V
|
|
152
|
-
*/
|
|
153
|
-
class Tree {
|
|
154
|
-
constructor () {
|
|
155
|
-
this.root = null;
|
|
156
|
-
this.length = 0;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* @param {K} id
|
|
161
|
-
*/
|
|
162
|
-
findNext (id) {
|
|
163
|
-
const nextID = id.clone();
|
|
164
|
-
nextID.clock += 1;
|
|
165
|
-
return this.findWithLowerBound(nextID)
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* @param {K} id
|
|
170
|
-
*/
|
|
171
|
-
findPrev (id) {
|
|
172
|
-
const prevID = id.clone();
|
|
173
|
-
prevID.clock -= 1;
|
|
174
|
-
return this.findWithUpperBound(prevID)
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* @param {K} from
|
|
179
|
-
*/
|
|
180
|
-
findNodeWithLowerBound (from) {
|
|
181
|
-
let o = this.root;
|
|
182
|
-
if (o === null) {
|
|
183
|
-
return null
|
|
184
|
-
} else {
|
|
185
|
-
while (true) {
|
|
186
|
-
if (from === null || (from.lessThan(o.val._id) && o.left !== null)) {
|
|
187
|
-
// o is included in the bound
|
|
188
|
-
// try to find an element that is closer to the bound
|
|
189
|
-
o = o.left;
|
|
190
|
-
} else if (from !== null && o.val._id.lessThan(from)) {
|
|
191
|
-
// o is not within the bound, maybe one of the right elements is..
|
|
192
|
-
if (o.right !== null) {
|
|
193
|
-
o = o.right;
|
|
194
|
-
} else {
|
|
195
|
-
// there is no right element. Search for the next bigger element,
|
|
196
|
-
// this should be within the bounds
|
|
197
|
-
return o.next()
|
|
198
|
-
}
|
|
199
|
-
} else {
|
|
200
|
-
return o
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
/**
|
|
207
|
-
* @param {K} to
|
|
208
|
-
*/
|
|
209
|
-
findNodeWithUpperBound (to) {
|
|
210
|
-
if (to === undefined) {
|
|
211
|
-
throw new Error('You must define from!')
|
|
212
|
-
}
|
|
213
|
-
let o = this.root;
|
|
214
|
-
if (o === null) {
|
|
215
|
-
return null
|
|
216
|
-
} else {
|
|
217
|
-
while (true) {
|
|
218
|
-
if ((to === null || o.val._id.lessThan(to)) && o.right !== null) {
|
|
219
|
-
// o is included in the bound
|
|
220
|
-
// try to find an element that is closer to the bound
|
|
221
|
-
o = o.right;
|
|
222
|
-
} else if (to !== null && to.lessThan(o.val._id)) {
|
|
223
|
-
// o is not within the bound, maybe one of the left elements is..
|
|
224
|
-
if (o.left !== null) {
|
|
225
|
-
o = o.left;
|
|
226
|
-
} else {
|
|
227
|
-
// there is no left element. Search for the prev smaller element,
|
|
228
|
-
// this should be within the bounds
|
|
229
|
-
return o.prev()
|
|
230
|
-
}
|
|
231
|
-
} else {
|
|
232
|
-
return o
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
/**
|
|
239
|
-
* @return {V}
|
|
240
|
-
*/
|
|
241
|
-
findSmallestNode () {
|
|
242
|
-
let o = this.root;
|
|
243
|
-
while (o != null && o.left != null) {
|
|
244
|
-
o = o.left;
|
|
245
|
-
}
|
|
246
|
-
return o
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
/**
|
|
250
|
-
* @param {K} from
|
|
251
|
-
* @return {V}
|
|
252
|
-
*/
|
|
253
|
-
findWithLowerBound (from) {
|
|
254
|
-
const n = this.findNodeWithLowerBound(from);
|
|
255
|
-
return n == null ? null : n.val
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
/**
|
|
259
|
-
* @param {K} to
|
|
260
|
-
* @return {V}
|
|
261
|
-
*/
|
|
262
|
-
findWithUpperBound (to) {
|
|
263
|
-
const n = this.findNodeWithUpperBound(to);
|
|
264
|
-
return n == null ? null : n.val
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
/**
|
|
268
|
-
* @param {K} from
|
|
269
|
-
* @param {V} from
|
|
270
|
-
* @param {function(V):void} f
|
|
271
|
-
*/
|
|
272
|
-
iterate (from, to, f) {
|
|
273
|
-
let o;
|
|
274
|
-
if (from === null) {
|
|
275
|
-
o = this.findSmallestNode();
|
|
276
|
-
} else {
|
|
277
|
-
o = this.findNodeWithLowerBound(from);
|
|
278
|
-
}
|
|
279
|
-
while (
|
|
280
|
-
o !== null &&
|
|
281
|
-
(
|
|
282
|
-
to === null || // eslint-disable-line no-unmodified-loop-condition
|
|
283
|
-
o.val._id.lessThan(to) ||
|
|
284
|
-
o.val._id.equals(to)
|
|
285
|
-
)
|
|
286
|
-
) {
|
|
287
|
-
f(o.val);
|
|
288
|
-
o = o.next();
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
/**
|
|
293
|
-
* @param {K} id
|
|
294
|
-
* @return {V|null}
|
|
295
|
-
*/
|
|
296
|
-
find (id) {
|
|
297
|
-
const n = this.findNode(id);
|
|
298
|
-
if (n !== null) {
|
|
299
|
-
return n.val
|
|
300
|
-
} else {
|
|
301
|
-
return null
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
/**
|
|
306
|
-
* @param {K} id
|
|
307
|
-
* @return {N<V>|null}
|
|
308
|
-
*/
|
|
309
|
-
findNode (id) {
|
|
310
|
-
let o = this.root;
|
|
311
|
-
if (o === null) {
|
|
312
|
-
return null
|
|
313
|
-
} else {
|
|
314
|
-
while (true) {
|
|
315
|
-
if (o === null) {
|
|
316
|
-
return null
|
|
317
|
-
}
|
|
318
|
-
if (id.lessThan(o.val._id)) {
|
|
319
|
-
o = o.left;
|
|
320
|
-
} else if (o.val._id.lessThan(id)) {
|
|
321
|
-
o = o.right;
|
|
322
|
-
} else {
|
|
323
|
-
return o
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
/**
|
|
330
|
-
* @param {K} id
|
|
331
|
-
*/
|
|
332
|
-
delete (id) {
|
|
333
|
-
let d = this.findNode(id);
|
|
334
|
-
if (d == null) {
|
|
335
|
-
// throw new Error('Element does not exist!')
|
|
336
|
-
return
|
|
337
|
-
}
|
|
338
|
-
this.length--;
|
|
339
|
-
if (d.left !== null && d.right !== null) {
|
|
340
|
-
// switch d with the greates element in the left subtree.
|
|
341
|
-
// o should have at most one child.
|
|
342
|
-
let o = d.left;
|
|
343
|
-
// find
|
|
344
|
-
while (o.right !== null) {
|
|
345
|
-
o = o.right;
|
|
346
|
-
}
|
|
347
|
-
// switch
|
|
348
|
-
d.val = o.val;
|
|
349
|
-
d = o;
|
|
350
|
-
}
|
|
351
|
-
// d has at most one child
|
|
352
|
-
// let n be the node that replaces d
|
|
353
|
-
let isFakeChild;
|
|
354
|
-
let child = d.left || d.right;
|
|
355
|
-
if (child === null) {
|
|
356
|
-
isFakeChild = true;
|
|
357
|
-
child = new N(null);
|
|
358
|
-
child.blacken();
|
|
359
|
-
d.right = child;
|
|
360
|
-
} else {
|
|
361
|
-
isFakeChild = false;
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
if (d.parent === null) {
|
|
365
|
-
if (!isFakeChild) {
|
|
366
|
-
this.root = child;
|
|
367
|
-
child.blacken();
|
|
368
|
-
child._parent = null;
|
|
369
|
-
} else {
|
|
370
|
-
this.root = null;
|
|
371
|
-
}
|
|
372
|
-
return
|
|
373
|
-
} else if (d.parent.left === d) {
|
|
374
|
-
d.parent.left = child;
|
|
375
|
-
} else if (d.parent.right === d) {
|
|
376
|
-
d.parent.right = child;
|
|
377
|
-
} else {
|
|
378
|
-
throw new Error('Impossible!')
|
|
379
|
-
}
|
|
380
|
-
if (d.isBlack()) {
|
|
381
|
-
if (child.isRed()) {
|
|
382
|
-
child.blacken();
|
|
383
|
-
} else {
|
|
384
|
-
this._fixDelete(child);
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
this.root.blacken();
|
|
388
|
-
if (isFakeChild) {
|
|
389
|
-
if (child.parent.left === child) {
|
|
390
|
-
child.parent.left = null;
|
|
391
|
-
} else if (child.parent.right === child) {
|
|
392
|
-
child.parent.right = null;
|
|
393
|
-
} else {
|
|
394
|
-
throw new Error('Impossible #3')
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
_fixDelete (n) {
|
|
400
|
-
if (n.parent === null) {
|
|
401
|
-
// this can only be called after the first iteration of fixDelete.
|
|
402
|
-
return
|
|
403
|
-
}
|
|
404
|
-
// d was already replaced by the child
|
|
405
|
-
// d is not the root
|
|
406
|
-
// d and child are black
|
|
407
|
-
let sibling = n.sibling;
|
|
408
|
-
if (isRed(sibling)) {
|
|
409
|
-
// make sibling the grandfather
|
|
410
|
-
n.parent.redden();
|
|
411
|
-
sibling.blacken();
|
|
412
|
-
if (n === n.parent.left) {
|
|
413
|
-
n.parent.rotateLeft(this);
|
|
414
|
-
} else if (n === n.parent.right) {
|
|
415
|
-
n.parent.rotateRight(this);
|
|
416
|
-
} else {
|
|
417
|
-
throw new Error('Impossible #2')
|
|
418
|
-
}
|
|
419
|
-
sibling = n.sibling;
|
|
420
|
-
}
|
|
421
|
-
// parent, sibling, and children of n are black
|
|
422
|
-
if (n.parent.isBlack() &&
|
|
423
|
-
sibling.isBlack() &&
|
|
424
|
-
isBlack(sibling.left) &&
|
|
425
|
-
isBlack(sibling.right)
|
|
426
|
-
) {
|
|
427
|
-
sibling.redden();
|
|
428
|
-
this._fixDelete(n.parent);
|
|
429
|
-
} else if (n.parent.isRed() &&
|
|
430
|
-
sibling.isBlack() &&
|
|
431
|
-
isBlack(sibling.left) &&
|
|
432
|
-
isBlack(sibling.right)
|
|
433
|
-
) {
|
|
434
|
-
sibling.redden();
|
|
435
|
-
n.parent.blacken();
|
|
436
|
-
} else {
|
|
437
|
-
if (n === n.parent.left &&
|
|
438
|
-
sibling.isBlack() &&
|
|
439
|
-
isRed(sibling.left) &&
|
|
440
|
-
isBlack(sibling.right)
|
|
441
|
-
) {
|
|
442
|
-
sibling.redden();
|
|
443
|
-
sibling.left.blacken();
|
|
444
|
-
sibling.rotateRight(this);
|
|
445
|
-
sibling = n.sibling;
|
|
446
|
-
} else if (n === n.parent.right &&
|
|
447
|
-
sibling.isBlack() &&
|
|
448
|
-
isRed(sibling.right) &&
|
|
449
|
-
isBlack(sibling.left)
|
|
450
|
-
) {
|
|
451
|
-
sibling.redden();
|
|
452
|
-
sibling.right.blacken();
|
|
453
|
-
sibling.rotateLeft(this);
|
|
454
|
-
sibling = n.sibling;
|
|
455
|
-
}
|
|
456
|
-
sibling.color = n.parent.color;
|
|
457
|
-
n.parent.blacken();
|
|
458
|
-
if (n === n.parent.left) {
|
|
459
|
-
sibling.right.blacken();
|
|
460
|
-
n.parent.rotateLeft(this);
|
|
461
|
-
} else {
|
|
462
|
-
sibling.left.blacken();
|
|
463
|
-
n.parent.rotateRight(this);
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
put (v) {
|
|
469
|
-
const node = new N(v);
|
|
470
|
-
if (this.root !== null) {
|
|
471
|
-
let p = this.root; // p abbrev. parent
|
|
472
|
-
while (true) {
|
|
473
|
-
if (node.val._id.lessThan(p.val._id)) {
|
|
474
|
-
if (p.left === null) {
|
|
475
|
-
p.left = node;
|
|
476
|
-
break
|
|
477
|
-
} else {
|
|
478
|
-
p = p.left;
|
|
479
|
-
}
|
|
480
|
-
} else if (p.val._id.lessThan(node.val._id)) {
|
|
481
|
-
if (p.right === null) {
|
|
482
|
-
p.right = node;
|
|
483
|
-
break
|
|
484
|
-
} else {
|
|
485
|
-
p = p.right;
|
|
486
|
-
}
|
|
487
|
-
} else {
|
|
488
|
-
p.val = node.val;
|
|
489
|
-
return p
|
|
490
|
-
}
|
|
491
|
-
}
|
|
492
|
-
this._fixInsert(node);
|
|
493
|
-
} else {
|
|
494
|
-
this.root = node;
|
|
495
|
-
}
|
|
496
|
-
this.length++;
|
|
497
|
-
this.root.blacken();
|
|
498
|
-
return node
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
_fixInsert (n) {
|
|
502
|
-
if (n.parent === null) {
|
|
503
|
-
n.blacken();
|
|
504
|
-
return
|
|
505
|
-
} else if (n.parent.isBlack()) {
|
|
506
|
-
return
|
|
507
|
-
}
|
|
508
|
-
const uncle = n.getUncle();
|
|
509
|
-
if (uncle !== null && uncle.isRed()) {
|
|
510
|
-
// Note: parent: red, uncle: red
|
|
511
|
-
n.parent.blacken();
|
|
512
|
-
uncle.blacken();
|
|
513
|
-
n.grandparent.redden();
|
|
514
|
-
this._fixInsert(n.grandparent);
|
|
515
|
-
} else {
|
|
516
|
-
// Note: parent: red, uncle: black or null
|
|
517
|
-
// Now we transform the tree in such a way that
|
|
518
|
-
// either of these holds:
|
|
519
|
-
// 1) grandparent.left.isRed
|
|
520
|
-
// and grandparent.left.left.isRed
|
|
521
|
-
// 2) grandparent.right.isRed
|
|
522
|
-
// and grandparent.right.right.isRed
|
|
523
|
-
if (n === n.parent.right && n.parent === n.grandparent.left) {
|
|
524
|
-
n.parent.rotateLeft(this);
|
|
525
|
-
// Since we rotated and want to use the previous
|
|
526
|
-
// cases, we need to set n in such a way that
|
|
527
|
-
// n.parent.isRed again
|
|
528
|
-
n = n.left;
|
|
529
|
-
} else if (n === n.parent.left && n.parent === n.grandparent.right) {
|
|
530
|
-
n.parent.rotateRight(this);
|
|
531
|
-
// see above
|
|
532
|
-
n = n.right;
|
|
533
|
-
}
|
|
534
|
-
// Case 1) or 2) hold from here on.
|
|
535
|
-
// Now traverse grandparent, make parent a black node
|
|
536
|
-
// on the highest level which holds two red nodes.
|
|
537
|
-
n.parent.blacken();
|
|
538
|
-
n.grandparent.redden();
|
|
539
|
-
if (n === n.parent.left) {
|
|
540
|
-
// Case 1
|
|
541
|
-
n.grandparent.rotateRight(this);
|
|
542
|
-
} else {
|
|
543
|
-
// Case 2
|
|
544
|
-
n.grandparent.rotateLeft(this);
|
|
545
|
-
}
|
|
546
|
-
}
|
|
547
|
-
}
|
|
548
|
-
}
|
|
549
|
-
|
|
550
|
-
var tree = /*#__PURE__*/Object.freeze({
|
|
551
|
-
__proto__: null,
|
|
552
|
-
Tree: Tree
|
|
553
|
-
});
|
|
554
|
-
|
|
555
|
-
exports.Tree = Tree;
|
|
556
|
-
exports.tree = tree;
|
|
557
|
-
//# sourceMappingURL=tree-9f3c8837.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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
DELETED
package/dist/tree.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tree.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
package/dist/tree.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../tree.js"],"names":[],"mappings":"AAiJA;;;;GAIG;AACH,kBAFa,CAAC,EAAC,CAAC;IAIZ,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,cAED,CAAS,IAAC,EAAD,CAAC,KAAE,IAAI,QAoB1B;IAED;;;OAGG;IACH,SAHW,CAAC,GACA,CAAC,GAAC,IAAI,CASjB;IAED;;;OAGG;IACH,aAHW,CAAC,GACA,CAAC,CAAC,CAAC,CAAC,GAAC,IAAI,CAoBpB;IAED;;OAEG;IACH,WAFW,CAAC,QAmEX;IAED,yBAmEC;IAED,iBA+BC;IAED,yBA8CC;CACF;AA7gBD;;GAEG;AACH,gBAFa,CAAC;IAGZ;;;;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,iBAKC;IAbD,gBAEC;IAaD,kBAKC;IAhBD,iBAEC;IAgBD,4BAOC;IAED,YAeC;IAED,YAeC;IAED,6BAOC;IAED,gBAOC;CACF"}
|
package/dist/tree.test.d.ts
DELETED
package/dist/tree.test.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tree.test.d.ts","sourceRoot":"","sources":["../tree.test.js"],"names":[],"mappings":""}
|
package/dist/url.cjs
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var object = require('./object-c0c9435b.cjs');
|
|
6
|
-
require('./equality.cjs');
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Utility module to work with urls.
|
|
10
|
-
*
|
|
11
|
-
* @module url
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Parse query parameters from an url.
|
|
16
|
-
*
|
|
17
|
-
* @param {string} url
|
|
18
|
-
* @return {Object<string,string>}
|
|
19
|
-
*/
|
|
20
|
-
const decodeQueryParams = url => {
|
|
21
|
-
/**
|
|
22
|
-
* @type {Object<string,string>}
|
|
23
|
-
*/
|
|
24
|
-
const query = {};
|
|
25
|
-
const urlQuerySplit = url.split('?');
|
|
26
|
-
const pairs = urlQuerySplit[urlQuerySplit.length - 1].split('&');
|
|
27
|
-
for (let i = 0; i < pairs.length; i++) {
|
|
28
|
-
const item = pairs[i];
|
|
29
|
-
if (item.length > 0) {
|
|
30
|
-
const pair = item.split('=');
|
|
31
|
-
query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || '');
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
return query
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* @param {Object<string,string>} params
|
|
39
|
-
* @return {string}
|
|
40
|
-
*/
|
|
41
|
-
const encodeQueryParams = params =>
|
|
42
|
-
object.map(params, (val, key) => `${encodeURIComponent(key)}=${encodeURIComponent(val)}`).join('&');
|
|
43
|
-
|
|
44
|
-
exports.decodeQueryParams = decodeQueryParams;
|
|
45
|
-
exports.encodeQueryParams = encodeQueryParams;
|
|
46
|
-
//# sourceMappingURL=url.cjs.map
|
package/dist/url.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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;;;;;"}
|
package/dist/url.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../url.js"],"names":[],"mappings":"AAcO,uCAHI,MAAM;;EAkBhB;AAMM;;IAFK,MAAM,CAGmF"}
|