@e280/stz 0.0.0-3 → 0.0.0-30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +170 -0
- package/package.json +14 -7
- package/s/clone/clone.test.ts +123 -123
- package/s/coalesce.ts +1 -0
- package/s/data/base-x.ts +170 -0
- package/s/data/base58.ts +15 -5
- package/s/data/base64.ts +15 -6
- package/s/data/base64url.ts +15 -6
- package/s/data/bytename/bytename.test.ts +49 -0
- package/s/data/{barname/barname.ts → bytename/bytename.ts} +38 -10
- package/s/data/bytename/index.ts +4 -0
- package/s/data/bytename/thumbprint.test.ts +53 -0
- package/s/data/bytename/thumbprint.ts +112 -0
- package/s/data/bytes.ts +12 -2
- package/s/data/data.test.ts +98 -0
- package/s/data/hex.ts +15 -5
- package/s/data/txt.ts +14 -4
- package/s/deadline.ts +1 -0
- package/s/debounce/debounce.test.ts +73 -73
- package/s/deep/deep.test.ts +8 -8
- package/s/deep/parts/equal.test.ts +123 -124
- package/s/{defer-promise.ts → defer.ts} +2 -2
- package/s/drill.ts +2 -4
- package/s/ev.ts +20 -0
- package/s/id-counter.ts +9 -0
- package/s/index.ts +16 -2
- package/s/is.ts +10 -4
- package/s/loopy.ts +12 -0
- package/s/map-g.ts +2 -2
- package/s/nap.ts +1 -0
- package/s/once.ts +14 -0
- package/s/pubsub.ts +24 -6
- package/s/queue/queue.test.ts +67 -0
- package/s/queue/queue.ts +21 -0
- package/s/repeat.ts +25 -0
- package/s/tests.test.ts +21 -0
- package/s/time.ts +22 -0
- package/x/clone/clone.test.d.ts +15 -1
- package/x/clone/clone.test.js +106 -124
- package/x/clone/clone.test.js.map +1 -1
- package/x/coalesce.d.ts +1 -0
- package/x/coalesce.js +1 -0
- package/x/coalesce.js.map +1 -1
- package/x/data/base-x.d.ts +47 -0
- package/x/data/base-x.js +147 -0
- package/x/data/base-x.js.map +1 -0
- package/x/data/base58.d.ts +5 -1
- package/x/data/base58.js +13 -5
- package/x/data/base58.js.map +1 -1
- package/x/data/base64.d.ts +7 -3
- package/x/data/base64.js +13 -5
- package/x/data/base64.js.map +1 -1
- package/x/data/base64url.d.ts +5 -1
- package/x/data/base64url.js +13 -5
- package/x/data/base64url.js.map +1 -1
- package/x/data/bytename/bytename.d.ts +19 -0
- package/x/data/{barname/barname.js → bytename/bytename.js} +27 -11
- package/x/data/bytename/bytename.js.map +1 -0
- package/x/data/bytename/bytename.test.d.ts +17 -0
- package/x/data/bytename/bytename.test.js +41 -0
- package/x/data/bytename/bytename.test.js.map +1 -0
- package/x/data/bytename/index.d.ts +2 -0
- package/x/data/bytename/index.js +3 -0
- package/x/data/bytename/index.js.map +1 -0
- package/x/data/bytename/thumbprint.d.ts +36 -0
- package/x/data/bytename/thumbprint.js +79 -0
- package/x/data/bytename/thumbprint.js.map +1 -0
- package/x/data/bytename/thumbprint.test.d.ts +24 -0
- package/x/data/bytename/thumbprint.test.js +45 -0
- package/x/data/bytename/thumbprint.test.js.map +1 -0
- package/x/data/bytename/utils/prefixes.js.map +1 -0
- package/x/data/bytename/utils/suffixes.js.map +1 -0
- package/x/data/bytes.d.ts +3 -2
- package/x/data/bytes.js +11 -2
- package/x/data/bytes.js.map +1 -1
- package/x/data/data.test.d.ts +69 -0
- package/x/data/data.test.js +77 -0
- package/x/data/data.test.js.map +1 -0
- package/x/data/hex.d.ts +8 -4
- package/x/data/hex.js +13 -5
- package/x/data/hex.js.map +1 -1
- package/x/data/txt.d.ts +6 -2
- package/x/data/txt.js +12 -4
- package/x/data/txt.js.map +1 -1
- package/x/debounce/debounce.test.d.ts +8 -1
- package/x/debounce/debounce.test.js +70 -74
- package/x/debounce/debounce.test.js.map +1 -1
- package/x/deep/deep.test.d.ts +21 -1
- package/x/deep/deep.test.js +5 -9
- package/x/deep/deep.test.js.map +1 -1
- package/x/deep/parts/equal.test.d.ts +19 -1
- package/x/deep/parts/equal.test.js +107 -125
- package/x/deep/parts/equal.test.js.map +1 -1
- package/x/{defer-promise.d.ts → defer.d.ts} +2 -2
- package/x/{defer-promise.js → defer.js} +2 -2
- package/x/defer.js.map +1 -0
- package/x/drill.d.ts +1 -3
- package/x/drill.js +2 -4
- package/x/drill.js.map +1 -1
- package/x/ev.d.ts +6 -0
- package/x/ev.js +10 -0
- package/x/ev.js.map +1 -0
- package/x/id-counter.d.ts +5 -0
- package/x/id-counter.js +10 -0
- package/x/id-counter.js.map +1 -0
- package/x/index.d.ts +13 -2
- package/x/index.js +13 -2
- package/x/index.js.map +1 -1
- package/x/is.d.ts +6 -4
- package/x/is.js +6 -4
- package/x/is.js.map +1 -1
- package/x/loopy.d.ts +2 -0
- package/x/loopy.js +10 -0
- package/x/loopy.js.map +1 -0
- package/x/map-g.d.ts +3 -3
- package/x/map-g.js +1 -1
- package/x/map-g.js.map +1 -1
- package/x/nap.d.ts +1 -0
- package/x/nap.js +1 -0
- package/x/nap.js.map +1 -1
- package/x/once.d.ts +1 -0
- package/x/once.js +12 -0
- package/x/once.js.map +1 -0
- package/x/pubsub.d.ts +12 -1
- package/x/pubsub.js +7 -5
- package/x/pubsub.js.map +1 -1
- package/x/queue/queue.d.ts +4 -0
- package/x/queue/queue.js +14 -0
- package/x/queue/queue.js.map +1 -0
- package/x/queue/queue.test.d.ts +8 -0
- package/x/queue/queue.test.js +57 -0
- package/x/queue/queue.test.js.map +1 -0
- package/x/repeat.d.ts +5 -0
- package/x/repeat.js +23 -0
- package/x/repeat.js.map +1 -0
- package/x/tests.test.js +18 -0
- package/x/tests.test.js.map +1 -0
- package/x/time.d.ts +18 -0
- package/x/time.js +19 -0
- package/x/time.js.map +1 -0
- package/readme.md +0 -85
- package/s/data/anka.ts +0 -66
- package/s/data/barname/badge.ts +0 -78
- package/s/data/barname/demo.ts +0 -49
- package/s/data/barname/index.ts +0 -4
- package/x/data/anka.d.ts +0 -5
- package/x/data/anka.js +0 -53
- package/x/data/anka.js.map +0 -1
- package/x/data/barname/badge.d.ts +0 -25
- package/x/data/barname/badge.js +0 -64
- package/x/data/barname/badge.js.map +0 -1
- package/x/data/barname/barname.d.ts +0 -7
- package/x/data/barname/barname.js.map +0 -1
- package/x/data/barname/demo.js +0 -45
- package/x/data/barname/demo.js.map +0 -1
- package/x/data/barname/index.d.ts +0 -2
- package/x/data/barname/index.js +0 -3
- package/x/data/barname/index.js.map +0 -1
- package/x/data/barname/utils/prefixes.js.map +0 -1
- package/x/data/barname/utils/suffixes.js.map +0 -1
- package/x/defer-promise.js.map +0 -1
- /package/{license → LICENSE} +0 -0
- /package/s/data/{barname → bytename}/utils/prefixes.ts +0 -0
- /package/s/data/{barname → bytename}/utils/suffixes.ts +0 -0
- /package/x/data/{barname → bytename}/utils/prefixes.d.ts +0 -0
- /package/x/data/{barname → bytename}/utils/prefixes.js +0 -0
- /package/x/data/{barname → bytename}/utils/suffixes.d.ts +0 -0
- /package/x/data/{barname → bytename}/utils/suffixes.js +0 -0
- /package/x/{data/barname/demo.d.ts → tests.test.d.ts} +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Science } from "@e280/science";
|
|
2
|
+
declare const _default: {
|
|
3
|
+
"bytes->string->bytes": Science.Test;
|
|
4
|
+
"zero bytes": Science.Test;
|
|
5
|
+
"one byte": Science.Test;
|
|
6
|
+
partially: {
|
|
7
|
+
normal: Science.Test;
|
|
8
|
+
nothing: Science.Test;
|
|
9
|
+
"no-bulk": Science.Test;
|
|
10
|
+
"one-byte": Science.Test;
|
|
11
|
+
"three-byte": Science.Test;
|
|
12
|
+
"one-byte-sigil": Science.Test;
|
|
13
|
+
};
|
|
14
|
+
tolerance: {
|
|
15
|
+
normal: Science.Test;
|
|
16
|
+
coolio: Science.Test;
|
|
17
|
+
spaces: Science.Test;
|
|
18
|
+
dots: Science.Test;
|
|
19
|
+
"one-space": Science.Test;
|
|
20
|
+
"one-newline": Science.Test;
|
|
21
|
+
whitespace: Science.Test;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export default _default;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Science, test, expect } from "@e280/science";
|
|
2
|
+
import { Hex } from "../hex.js";
|
|
3
|
+
import { Bytes } from "../bytes.js";
|
|
4
|
+
import { Thumbprint } from "./thumbprint.js";
|
|
5
|
+
const sampleThumbprint = "nodlyn.fasrep.habbud.ralwel.Avo7gFmdWMRHkwsD149mcaBoZdS69iXuJ";
|
|
6
|
+
const sampleHex = "88e8c3fad1028fcf6ce5ac491578850f4d833336feca03b608265501c3019d59";
|
|
7
|
+
const sampleBytes = Hex.toBytes(sampleHex);
|
|
8
|
+
function good(bytes) {
|
|
9
|
+
expect(Bytes.eq(bytes, sampleBytes)).ok();
|
|
10
|
+
}
|
|
11
|
+
export default Science.suite({
|
|
12
|
+
"bytes->string->bytes": test(async () => {
|
|
13
|
+
const text = Thumbprint.fromBytes(sampleBytes);
|
|
14
|
+
expect(text).is(sampleThumbprint);
|
|
15
|
+
good(Thumbprint.toBytes(text));
|
|
16
|
+
}),
|
|
17
|
+
"zero bytes": test(async () => {
|
|
18
|
+
const text = Thumbprint.fromBytes(new Uint8Array([]));
|
|
19
|
+
expect(text).is("");
|
|
20
|
+
expect(Bytes.eq(Thumbprint.toBytes(text), new Uint8Array([]))).ok();
|
|
21
|
+
}),
|
|
22
|
+
"one byte": test(async () => {
|
|
23
|
+
const text = Thumbprint.fromBytes(new Uint8Array([0x00]));
|
|
24
|
+
expect(text).is("doz");
|
|
25
|
+
expect(Bytes.eq(Thumbprint.toBytes(text), new Uint8Array([0x00]))).ok();
|
|
26
|
+
}),
|
|
27
|
+
"partially": Science.suite({
|
|
28
|
+
"normal": test(async () => expect(Thumbprint.toBytes(sampleThumbprint).length).ok()),
|
|
29
|
+
"nothing": test(async () => expect(Thumbprint.toBytes("").length).is(0)),
|
|
30
|
+
"no-bulk": test(async () => expect(Thumbprint.toBytes("nodlyn.fasrep").length).ok()),
|
|
31
|
+
"one-byte": test(async () => expect(Thumbprint.toBytes("nod").length).is(1)),
|
|
32
|
+
"three-byte": test(async () => expect(Thumbprint.toBytes("nodlynfas").length).is(3)),
|
|
33
|
+
"one-byte-sigil": test(async () => expect(Thumbprint.toBytes("nod::39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k").length).ok()),
|
|
34
|
+
}),
|
|
35
|
+
"tolerance": Science.suite({
|
|
36
|
+
"normal": test(async () => good(Thumbprint.toBytes("nodlyn.fasrep::39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k"))),
|
|
37
|
+
"coolio": test(async () => good(Thumbprint.toBytes("nodlyn.fasrep..39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k"))),
|
|
38
|
+
"spaces": test(async () => good(Thumbprint.toBytes("nodlyn fasrep 39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k"))),
|
|
39
|
+
"dots": test(async () => good(Thumbprint.toBytes("nodlyn.fasrep.39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k"))),
|
|
40
|
+
"one-space": test(async () => good(Thumbprint.toBytes("nodlynfasrep 39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k"))),
|
|
41
|
+
"one-newline": test(async () => good(Thumbprint.toBytes("nodlynfasrep\n39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k"))),
|
|
42
|
+
"whitespace": test(async () => good(Thumbprint.toBytes("\t\n nodlyn\n fasrep \n\n\t\n 39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k\n\t"))),
|
|
43
|
+
}),
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=thumbprint.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thumbprint.test.js","sourceRoot":"","sources":["../../../s/data/bytename/thumbprint.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prefixes.js","sourceRoot":"","sources":["../../../../s/data/bytename/utils/prefixes.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACvB,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;CAC/F,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suffixes.js","sourceRoot":"","sources":["../../../../s/data/bytename/utils/suffixes.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACvB,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;IAC/F,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;CAC/F,CAAA"}
|
package/x/data/bytes.d.ts
CHANGED
package/x/data/bytes.js
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
|
-
export const Bytes = {
|
|
1
|
+
export const Bytes = Object.freeze({
|
|
2
|
+
eq(a, b) {
|
|
3
|
+
if (a.length !== b.length)
|
|
4
|
+
return false;
|
|
5
|
+
for (let i = 0; i <= a.length; i++) {
|
|
6
|
+
if (a.at(i) !== b.at(i))
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
return true;
|
|
10
|
+
},
|
|
2
11
|
random(count) {
|
|
3
12
|
return crypto.getRandomValues(new Uint8Array(count));
|
|
4
13
|
},
|
|
5
|
-
};
|
|
14
|
+
});
|
|
6
15
|
//# sourceMappingURL=bytes.js.map
|
package/x/data/bytes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../s/data/bytes.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,KAAK,GAAG;
|
|
1
|
+
{"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../s/data/bytes.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,EAAE,CAAC,CAAa,EAAE,CAAa;QAC9B,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YACxB,OAAO,KAAK,CAAA;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtB,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,MAAM,CAAC,KAAa;QACnB,OAAO,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IACrD,CAAC;CACD,CAAC,CAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Science } from "@e280/science";
|
|
2
|
+
declare const _default: {
|
|
3
|
+
Base58: () => Promise<void>;
|
|
4
|
+
Base64: () => Promise<void>;
|
|
5
|
+
Base64url: () => Promise<void>;
|
|
6
|
+
Hex: () => Promise<void>;
|
|
7
|
+
Txt: Science.Test;
|
|
8
|
+
BaseX: {
|
|
9
|
+
lexicons: {
|
|
10
|
+
readonly base2: {
|
|
11
|
+
bytes: () => Promise<void>;
|
|
12
|
+
numbers: {
|
|
13
|
+
positive: () => Promise<void>;
|
|
14
|
+
negative: () => Promise<void>;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
readonly hex: {
|
|
18
|
+
bytes: () => Promise<void>;
|
|
19
|
+
numbers: {
|
|
20
|
+
positive: () => Promise<void>;
|
|
21
|
+
negative: () => Promise<void>;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
readonly base36: {
|
|
25
|
+
bytes: () => Promise<void>;
|
|
26
|
+
numbers: {
|
|
27
|
+
positive: () => Promise<void>;
|
|
28
|
+
negative: () => Promise<void>;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
readonly base58: {
|
|
32
|
+
bytes: () => Promise<void>;
|
|
33
|
+
numbers: {
|
|
34
|
+
positive: () => Promise<void>;
|
|
35
|
+
negative: () => Promise<void>;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
readonly base62: {
|
|
39
|
+
bytes: () => Promise<void>;
|
|
40
|
+
numbers: {
|
|
41
|
+
positive: () => Promise<void>;
|
|
42
|
+
negative: () => Promise<void>;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
readonly base64url: {
|
|
46
|
+
bytes: () => Promise<void>;
|
|
47
|
+
numbers: {
|
|
48
|
+
positive: () => Promise<void>;
|
|
49
|
+
negative: () => Promise<void>;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
readonly base64: {
|
|
53
|
+
bytes: () => Promise<void>;
|
|
54
|
+
numbers: {
|
|
55
|
+
positive: () => Promise<void>;
|
|
56
|
+
negative: () => Promise<void>;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
compat: {
|
|
61
|
+
Hex: () => Promise<void>;
|
|
62
|
+
Base64: () => Promise<void>;
|
|
63
|
+
Base64url: () => Promise<void>;
|
|
64
|
+
};
|
|
65
|
+
"base64 has padding": Science.Test;
|
|
66
|
+
"antagonistic base64 positive integer": Science.Test;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
export default _default;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Science, test, expect } from "@e280/science";
|
|
2
|
+
import { ob } from "../ob.js";
|
|
3
|
+
import { Txt } from "./txt.js";
|
|
4
|
+
import { Hex } from "./hex.js";
|
|
5
|
+
import { Bytes } from "./bytes.js";
|
|
6
|
+
import { BaseX } from "./base-x.js";
|
|
7
|
+
import { Base58 } from "./base58.js";
|
|
8
|
+
import { Base64 } from "./base64.js";
|
|
9
|
+
import { Base64url } from "./base64url.js";
|
|
10
|
+
const sampleBytes = Hex.toBytes("9960cd633a46acfe8307d8a400e842da0d930a75fb8188e0f5da264e4b6b4e5b");
|
|
11
|
+
function testBytes(util) {
|
|
12
|
+
return async () => {
|
|
13
|
+
const string = util.fromBytes(sampleBytes);
|
|
14
|
+
const recreated = util.toBytes(string);
|
|
15
|
+
expect(Bytes.eq(sampleBytes, recreated)).ok();
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function testNumbers(util) {
|
|
19
|
+
return {
|
|
20
|
+
positive: async () => {
|
|
21
|
+
const original = 123456789;
|
|
22
|
+
const string = util.fromInteger(original);
|
|
23
|
+
const recreated = util.toInteger(string);
|
|
24
|
+
expect(original).is(recreated);
|
|
25
|
+
expect(util.toInteger("")).is(0);
|
|
26
|
+
},
|
|
27
|
+
negative: async () => {
|
|
28
|
+
const original = -123456789;
|
|
29
|
+
const string = util.fromInteger(original);
|
|
30
|
+
const recreated = util.toInteger(string);
|
|
31
|
+
expect(original).is(recreated);
|
|
32
|
+
expect(util.toInteger("")).is(0);
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function testBoth(util) {
|
|
37
|
+
return {
|
|
38
|
+
bytes: testBytes(util),
|
|
39
|
+
numbers: testNumbers(util),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function testCompat(alpha, bravo) {
|
|
43
|
+
return async () => {
|
|
44
|
+
expect(alpha.fromBytes(sampleBytes))
|
|
45
|
+
.is(bravo.fromBytes(sampleBytes));
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export default Science.suite({
|
|
49
|
+
"Base58": testBytes(Base58),
|
|
50
|
+
"Base64": testBytes(Base64),
|
|
51
|
+
"Base64url": testBytes(Base64url),
|
|
52
|
+
"Hex": testBytes(Hex),
|
|
53
|
+
"Txt": test(async () => {
|
|
54
|
+
const original = `build or die. 💻>☠️ 命火工`;
|
|
55
|
+
const bytes = Txt.toBytes(original);
|
|
56
|
+
const recreated = Txt.fromBytes(bytes);
|
|
57
|
+
expect(original).is(recreated);
|
|
58
|
+
}),
|
|
59
|
+
"BaseX": Science.suite({
|
|
60
|
+
lexicons: Science.suite(ob(BaseX.lexicons).map(lex => testBoth(new BaseX(lex)))),
|
|
61
|
+
compat: Science.suite({
|
|
62
|
+
"Hex": testCompat(Hex, new BaseX(BaseX.lexicons.hex)),
|
|
63
|
+
"Base64": testCompat(Base64, new BaseX(BaseX.lexicons.base64)),
|
|
64
|
+
"Base64url": testCompat(Base64url, new BaseX(BaseX.lexicons.base64url)),
|
|
65
|
+
}),
|
|
66
|
+
"base64 has padding": test(async () => {
|
|
67
|
+
const s = new BaseX(BaseX.lexicons.base64).fromBytes(sampleBytes);
|
|
68
|
+
expect(s.endsWith("=")).ok();
|
|
69
|
+
}),
|
|
70
|
+
"antagonistic base64 positive integer": test(async () => {
|
|
71
|
+
const base64url = new BaseX(BaseX.lexicons.base64url);
|
|
72
|
+
expect(base64url.toInteger(base64url.fromInteger(62))).is(62);
|
|
73
|
+
expect(base64url.toInteger(base64url.fromInteger(4030))).is(4030);
|
|
74
|
+
}),
|
|
75
|
+
}),
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=data.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.test.js","sourceRoot":"","sources":["../../s/data/data.test.ts"],"names":[],"mappings":"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"}
|
package/x/data/hex.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
export declare const Hex: {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export declare const Hex: Readonly<{
|
|
2
|
+
fromBytes(bytes: Uint8Array): string;
|
|
3
|
+
toBytes(string: string): Uint8Array<ArrayBuffer>;
|
|
4
4
|
/** generate a random hex string. byteCount defaults to 32. */
|
|
5
5
|
random(byteCount?: number): string;
|
|
6
|
-
|
|
6
|
+
/** @deprecated renamed to `fromBytes` */
|
|
7
|
+
string(bytes: Uint8Array): string;
|
|
8
|
+
/** @deprecated renamed to `toBytes` */
|
|
9
|
+
bytes(string: string): Uint8Array<ArrayBuffer>;
|
|
10
|
+
}>;
|
package/x/data/hex.js
CHANGED
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
|
|
9
9
|
*/
|
|
10
10
|
import { Bytes } from "./bytes.js";
|
|
11
|
-
export const Hex = {
|
|
12
|
-
|
|
11
|
+
export const Hex = Object.freeze({
|
|
12
|
+
fromBytes(bytes) {
|
|
13
13
|
return [...bytes]
|
|
14
14
|
.map(byte => byte.toString(16).padStart(2, "0"))
|
|
15
15
|
.join("");
|
|
16
16
|
},
|
|
17
|
-
|
|
17
|
+
toBytes(string) {
|
|
18
18
|
if (string.length % 2 !== 0)
|
|
19
19
|
throw new Error("must have even number of hex characters");
|
|
20
20
|
const bytes = new Uint8Array(string.length / 2);
|
|
@@ -24,7 +24,15 @@ export const Hex = {
|
|
|
24
24
|
},
|
|
25
25
|
/** generate a random hex string. byteCount defaults to 32. */
|
|
26
26
|
random(byteCount = 32) {
|
|
27
|
-
return this.
|
|
27
|
+
return this.fromBytes(Bytes.random(byteCount));
|
|
28
|
+
},
|
|
29
|
+
/** @deprecated renamed to `fromBytes` */
|
|
30
|
+
string(bytes) {
|
|
31
|
+
return Hex.fromBytes(bytes);
|
|
32
|
+
},
|
|
33
|
+
/** @deprecated renamed to `toBytes` */
|
|
34
|
+
bytes(string) {
|
|
35
|
+
return Hex.toBytes(string);
|
|
28
36
|
},
|
|
29
|
-
};
|
|
37
|
+
});
|
|
30
38
|
//# sourceMappingURL=hex.js.map
|
package/x/data/hex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hex.js","sourceRoot":"","sources":["../../s/data/hex.ts"],"names":[],"mappings":"AACA;;;;;;;;EAQE;AAEF,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAA;AAEhC,MAAM,CAAC,MAAM,GAAG,GAAG
|
|
1
|
+
{"version":3,"file":"hex.js","sourceRoot":"","sources":["../../s/data/hex.ts"],"names":[],"mappings":"AACA;;;;;;;;EAQE;AAEF,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAA;AAEhC,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,SAAS,CAAC,KAAiB;QAC1B,OAAO,CAAC,GAAG,KAAK,CAAC;aACf,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aAC/C,IAAI,CAAC,EAAE,CAAC,CAAA;IACX,CAAC;IAED,OAAO,CAAC,MAAc;QACrB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC3D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;YACxC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACpD,OAAO,KAAK,CAAA;IACb,CAAC;IAED,8DAA8D;IAC9D,MAAM,CAAC,SAAS,GAAG,EAAE;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED,yCAAyC;IACzC,MAAM,CAAC,KAAiB;QACvB,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,MAAc;QACnB,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;CACD,CAAC,CAAA"}
|
package/x/data/txt.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
export declare const Txt: {
|
|
1
|
+
export declare const Txt: Readonly<{
|
|
2
|
+
fromBytes(bytes: Uint8Array): string;
|
|
3
|
+
toBytes(string: string): Uint8Array<ArrayBufferLike>;
|
|
4
|
+
/** @deprecated renamed to `fromBytes` */
|
|
2
5
|
string(bytes: Uint8Array): string;
|
|
6
|
+
/** @deprecated renamed to `toBytes` */
|
|
3
7
|
bytes(string: string): Uint8Array<ArrayBufferLike>;
|
|
4
|
-
}
|
|
8
|
+
}>;
|
package/x/data/txt.js
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
export const Txt = {
|
|
2
|
-
|
|
1
|
+
export const Txt = Object.freeze({
|
|
2
|
+
fromBytes(bytes) {
|
|
3
3
|
return new TextDecoder().decode(bytes);
|
|
4
4
|
},
|
|
5
|
-
|
|
5
|
+
toBytes(string) {
|
|
6
6
|
return new TextEncoder().encode(string);
|
|
7
7
|
},
|
|
8
|
-
|
|
8
|
+
/** @deprecated renamed to `fromBytes` */
|
|
9
|
+
string(bytes) {
|
|
10
|
+
return Txt.fromBytes(bytes);
|
|
11
|
+
},
|
|
12
|
+
/** @deprecated renamed to `toBytes` */
|
|
13
|
+
bytes(string) {
|
|
14
|
+
return Txt.toBytes(string);
|
|
15
|
+
},
|
|
16
|
+
});
|
|
9
17
|
//# sourceMappingURL=txt.js.map
|
package/x/data/txt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txt.js","sourceRoot":"","sources":["../../s/data/txt.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,GAAG,GAAG
|
|
1
|
+
{"version":3,"file":"txt.js","sourceRoot":"","sources":["../../s/data/txt.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,SAAS,CAAC,KAAiB;QAC1B,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,CAAC,MAAc;QACrB,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACxC,CAAC;IAED,yCAAyC;IACzC,MAAM,CAAC,KAAiB;QACvB,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,MAAc;QACnB,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;CACD,CAAC,CAAA"}
|
|
@@ -1 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
declare const _default: {
|
|
2
|
+
"reduces many calls into one"(): Promise<void>;
|
|
3
|
+
"timer gets reset on each call"(): Promise<void>;
|
|
4
|
+
"provides a promise that resolves when done"(): Promise<void>;
|
|
5
|
+
"can wait multiple rounds"(): Promise<void>;
|
|
6
|
+
"errors are passed into promise chain"(): Promise<void>;
|
|
7
|
+
};
|
|
8
|
+
export default _default;
|
|
@@ -1,75 +1,71 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
// await expect(async() => err()).throws()
|
|
72
|
-
// },
|
|
73
|
-
// }
|
|
74
|
-
//
|
|
1
|
+
import { nap } from "../nap.js";
|
|
2
|
+
import { Science, expect } from "@e280/science";
|
|
3
|
+
import { debounce as debounce } from "./debounce.js";
|
|
4
|
+
export default Science.suite({
|
|
5
|
+
async "reduces many calls into one"() {
|
|
6
|
+
let count = 0;
|
|
7
|
+
const increment = debounce(100, () => {
|
|
8
|
+
count += 1;
|
|
9
|
+
});
|
|
10
|
+
increment();
|
|
11
|
+
increment();
|
|
12
|
+
increment();
|
|
13
|
+
await nap(200);
|
|
14
|
+
expect(count).is(1);
|
|
15
|
+
},
|
|
16
|
+
async "timer gets reset on each call"() {
|
|
17
|
+
let count = 0;
|
|
18
|
+
const increment = debounce(100, () => {
|
|
19
|
+
count += 1;
|
|
20
|
+
});
|
|
21
|
+
increment();
|
|
22
|
+
await nap(50);
|
|
23
|
+
increment();
|
|
24
|
+
await nap(50);
|
|
25
|
+
increment();
|
|
26
|
+
await nap(50);
|
|
27
|
+
increment();
|
|
28
|
+
await nap(50);
|
|
29
|
+
increment();
|
|
30
|
+
expect(count).is(0);
|
|
31
|
+
await nap(101);
|
|
32
|
+
expect(count).is(1);
|
|
33
|
+
},
|
|
34
|
+
async "provides a promise that resolves when done"() {
|
|
35
|
+
let count = 0;
|
|
36
|
+
const increment = debounce(100, () => {
|
|
37
|
+
count += 1;
|
|
38
|
+
});
|
|
39
|
+
let done = false;
|
|
40
|
+
increment()
|
|
41
|
+
.then(() => done = true);
|
|
42
|
+
await nap(50);
|
|
43
|
+
increment();
|
|
44
|
+
await nap(50);
|
|
45
|
+
increment();
|
|
46
|
+
await nap(50);
|
|
47
|
+
increment();
|
|
48
|
+
await nap(50);
|
|
49
|
+
increment();
|
|
50
|
+
expect(done).is(false);
|
|
51
|
+
await nap(201);
|
|
52
|
+
expect(done).is(true);
|
|
53
|
+
},
|
|
54
|
+
async "can wait multiple rounds"() {
|
|
55
|
+
let count = 0;
|
|
56
|
+
const increment = debounce(100, () => {
|
|
57
|
+
count += 1;
|
|
58
|
+
});
|
|
59
|
+
await increment();
|
|
60
|
+
expect(count).is(1);
|
|
61
|
+
await increment();
|
|
62
|
+
expect(count).is(2);
|
|
63
|
+
},
|
|
64
|
+
async "errors are passed into promise chain"() {
|
|
65
|
+
const err = debounce(1, () => {
|
|
66
|
+
throw new Error();
|
|
67
|
+
});
|
|
68
|
+
await expect(async () => err()).throwsAsync();
|
|
69
|
+
},
|
|
70
|
+
});
|
|
75
71
|
//# sourceMappingURL=debounce.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debounce.test.js","sourceRoot":"","sources":["../../s/debounce/debounce.test.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"debounce.test.js","sourceRoot":"","sources":["../../s/debounce/debounce.test.ts"],"names":[],"mappings":"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"}
|
package/x/deep/deep.test.d.ts
CHANGED
|
@@ -1 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
declare const _default: {
|
|
2
|
+
deepEqual: {
|
|
3
|
+
"compare primitive types"(): Promise<void>;
|
|
4
|
+
"compare arrays"(): Promise<void>;
|
|
5
|
+
"compare plain objects"(): Promise<void>;
|
|
6
|
+
"compare nested objects"(): Promise<void>;
|
|
7
|
+
"compare array of objects"(): Promise<void>;
|
|
8
|
+
"compare null and undefined"(): Promise<void>;
|
|
9
|
+
"compare with nested arrays"(): Promise<void>;
|
|
10
|
+
"circularity is forbidden"(): Promise<void>;
|
|
11
|
+
"duplicate references are allowed"(): Promise<void>;
|
|
12
|
+
"maps and sets": {
|
|
13
|
+
"compare maps"(): Promise<void>;
|
|
14
|
+
"compare sets"(): Promise<void>;
|
|
15
|
+
"compare nested maps and sets"(): Promise<void>;
|
|
16
|
+
"compare complex structures"(): Promise<void>;
|
|
17
|
+
"compare edge cases"(): Promise<void>;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export default _default;
|
package/x/deep/deep.test.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
// export default <Suite>{
|
|
7
|
-
// deepEqual,
|
|
8
|
-
// }
|
|
9
|
-
//
|
|
1
|
+
import { Science } from "@e280/science";
|
|
2
|
+
import deepEqual from "./parts/equal.test.js";
|
|
3
|
+
export default Science.suite({
|
|
4
|
+
deepEqual,
|
|
5
|
+
});
|
|
10
6
|
//# sourceMappingURL=deep.test.js.map
|
package/x/deep/deep.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep.test.js","sourceRoot":"","sources":["../../s/deep/deep.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deep.test.js","sourceRoot":"","sources":["../../s/deep/deep.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AACrC,OAAO,SAAS,MAAM,uBAAuB,CAAA;AAE7C,eAAe,OAAO,CAAC,KAAK,CAAC;IAC5B,SAAS;CACT,CAAC,CAAA"}
|
|
@@ -1 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
declare const _default: {
|
|
2
|
+
"compare primitive types"(): Promise<void>;
|
|
3
|
+
"compare arrays"(): Promise<void>;
|
|
4
|
+
"compare plain objects"(): Promise<void>;
|
|
5
|
+
"compare nested objects"(): Promise<void>;
|
|
6
|
+
"compare array of objects"(): Promise<void>;
|
|
7
|
+
"compare null and undefined"(): Promise<void>;
|
|
8
|
+
"compare with nested arrays"(): Promise<void>;
|
|
9
|
+
"circularity is forbidden"(): Promise<void>;
|
|
10
|
+
"duplicate references are allowed"(): Promise<void>;
|
|
11
|
+
"maps and sets": {
|
|
12
|
+
"compare maps"(): Promise<void>;
|
|
13
|
+
"compare sets"(): Promise<void>;
|
|
14
|
+
"compare nested maps and sets"(): Promise<void>;
|
|
15
|
+
"compare complex structures"(): Promise<void>;
|
|
16
|
+
"compare edge cases"(): Promise<void>;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export default _default;
|