@e280/stz 0.0.0-2 → 0.0.0-20

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.
Files changed (115) hide show
  1. package/{readme.md → README.md} +42 -6
  2. package/package.json +8 -5
  3. package/s/clone/clone.test.ts +123 -123
  4. package/s/coalesce.ts +6 -0
  5. package/s/data/bytename/bytename.test.ts +49 -0
  6. package/s/data/{barname/barname.ts → bytename/bytename.ts} +38 -10
  7. package/s/data/bytename/index.ts +4 -0
  8. package/s/data/bytename/thumbprint.test.ts +53 -0
  9. package/s/data/bytename/thumbprint.ts +112 -0
  10. package/s/data/bytes.ts +10 -0
  11. package/s/deadline.ts +7 -4
  12. package/s/debounce/debounce.test.ts +73 -73
  13. package/s/deep/deep.test.ts +8 -8
  14. package/s/deep/parts/equal.test.ts +123 -124
  15. package/s/{defer-promise.ts → defer.ts} +2 -2
  16. package/s/drill.ts +20 -0
  17. package/s/id-counter.ts +9 -0
  18. package/s/index.ts +11 -2
  19. package/s/is.ts +10 -4
  20. package/s/loopy.ts +12 -0
  21. package/s/map-g.ts +2 -2
  22. package/s/nap.ts +1 -0
  23. package/s/pubsub.ts +20 -2
  24. package/s/tests.test.ts +17 -0
  25. package/x/clone/clone.test.d.ts +15 -1
  26. package/x/clone/clone.test.js +106 -124
  27. package/x/clone/clone.test.js.map +1 -1
  28. package/x/coalesce.d.ts +2 -0
  29. package/x/coalesce.js +5 -0
  30. package/x/coalesce.js.map +1 -0
  31. package/x/data/bytename/bytename.d.ts +19 -0
  32. package/x/data/{barname/barname.js → bytename/bytename.js} +27 -11
  33. package/x/data/bytename/bytename.js.map +1 -0
  34. package/x/data/bytename/bytename.test.d.ts +17 -0
  35. package/x/data/bytename/bytename.test.js +41 -0
  36. package/x/data/bytename/bytename.test.js.map +1 -0
  37. package/x/data/bytename/index.d.ts +2 -0
  38. package/x/data/bytename/index.js +3 -0
  39. package/x/data/bytename/index.js.map +1 -0
  40. package/x/data/bytename/thumbprint.d.ts +36 -0
  41. package/x/data/bytename/thumbprint.js +79 -0
  42. package/x/data/bytename/thumbprint.js.map +1 -0
  43. package/x/data/bytename/thumbprint.test.d.ts +24 -0
  44. package/x/data/bytename/thumbprint.test.js +45 -0
  45. package/x/data/bytename/thumbprint.test.js.map +1 -0
  46. package/x/data/bytename/utils/prefixes.js.map +1 -0
  47. package/x/data/bytename/utils/suffixes.js.map +1 -0
  48. package/x/data/bytes.d.ts +1 -0
  49. package/x/data/bytes.js +9 -0
  50. package/x/data/bytes.js.map +1 -1
  51. package/x/deadline.d.ts +3 -2
  52. package/x/deadline.js +8 -4
  53. package/x/deadline.js.map +1 -1
  54. package/x/debounce/debounce.test.d.ts +8 -1
  55. package/x/debounce/debounce.test.js +70 -74
  56. package/x/debounce/debounce.test.js.map +1 -1
  57. package/x/deep/deep.test.d.ts +21 -1
  58. package/x/deep/deep.test.js +5 -9
  59. package/x/deep/deep.test.js.map +1 -1
  60. package/x/deep/parts/equal.test.d.ts +19 -1
  61. package/x/deep/parts/equal.test.js +107 -125
  62. package/x/deep/parts/equal.test.js.map +1 -1
  63. package/x/{defer-promise.d.ts → defer.d.ts} +2 -2
  64. package/x/{defer-promise.js → defer.js} +2 -2
  65. package/x/defer.js.map +1 -0
  66. package/x/drill.d.ts +4 -0
  67. package/x/drill.js +12 -0
  68. package/x/drill.js.map +1 -0
  69. package/x/id-counter.d.ts +5 -0
  70. package/x/id-counter.js +10 -0
  71. package/x/id-counter.js.map +1 -0
  72. package/x/index.d.ts +9 -2
  73. package/x/index.js +9 -2
  74. package/x/index.js.map +1 -1
  75. package/x/is.d.ts +6 -4
  76. package/x/is.js +6 -4
  77. package/x/is.js.map +1 -1
  78. package/x/loopy.d.ts +2 -0
  79. package/x/loopy.js +10 -0
  80. package/x/loopy.js.map +1 -0
  81. package/x/map-g.d.ts +3 -3
  82. package/x/map-g.js +1 -1
  83. package/x/map-g.js.map +1 -1
  84. package/x/nap.d.ts +1 -0
  85. package/x/nap.js +1 -0
  86. package/x/nap.js.map +1 -1
  87. package/x/pubsub.d.ts +11 -0
  88. package/x/pubsub.js +4 -2
  89. package/x/pubsub.js.map +1 -1
  90. package/x/tests.test.js +14 -0
  91. package/x/tests.test.js.map +1 -0
  92. package/s/data/barname/badge.ts +0 -78
  93. package/s/data/barname/demo.ts +0 -49
  94. package/s/data/barname/index.ts +0 -4
  95. package/x/data/barname/badge.d.ts +0 -25
  96. package/x/data/barname/badge.js +0 -64
  97. package/x/data/barname/badge.js.map +0 -1
  98. package/x/data/barname/barname.d.ts +0 -7
  99. package/x/data/barname/barname.js.map +0 -1
  100. package/x/data/barname/demo.js +0 -45
  101. package/x/data/barname/demo.js.map +0 -1
  102. package/x/data/barname/index.d.ts +0 -2
  103. package/x/data/barname/index.js +0 -3
  104. package/x/data/barname/index.js.map +0 -1
  105. package/x/data/barname/utils/prefixes.js.map +0 -1
  106. package/x/data/barname/utils/suffixes.js.map +0 -1
  107. package/x/defer-promise.js.map +0 -1
  108. /package/{license → LICENSE} +0 -0
  109. /package/s/data/{barname → bytename}/utils/prefixes.ts +0 -0
  110. /package/s/data/{barname → bytename}/utils/suffixes.ts +0 -0
  111. /package/x/data/{barname → bytename}/utils/prefixes.d.ts +0 -0
  112. /package/x/data/{barname → bytename}/utils/prefixes.js +0 -0
  113. /package/x/data/{barname → bytename}/utils/suffixes.d.ts +0 -0
  114. /package/x/data/{barname → bytename}/utils/suffixes.js +0 -0
  115. /package/x/{data/barname/demo.d.ts → tests.test.d.ts} +0 -0
@@ -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.bytes(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
@@ -1,3 +1,4 @@
1
1
  export declare const Bytes: {
2
+ eq(a: Uint8Array, b: Uint8Array): boolean;
2
3
  random(count: number): Uint8Array<ArrayBuffer>;
3
4
  };
package/x/data/bytes.js CHANGED
@@ -1,4 +1,13 @@
1
1
  export const Bytes = {
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
  },
@@ -1 +1 @@
1
- {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../s/data/bytes.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,KAAK,GAAG;IACpB,MAAM,CAAC,KAAa;QACnB,OAAO,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IACrD,CAAC;CACD,CAAA"}
1
+ {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../s/data/bytes.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,KAAK,GAAG;IACpB,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,CAAA"}
package/x/deadline.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export declare class DeadlineError extends Error {
2
+ milliseconds: number;
2
3
  name: string;
3
- constructor(milliseconds: number);
4
+ constructor(milliseconds: number, message: string);
4
5
  }
5
6
  /** set a deadline for a fn to do something, will reject with a `DeadlineError` if it takes too long */
6
- export declare function deadline<R>(milliseconds: number, fn: () => Promise<R>): Promise<R>;
7
+ export declare function deadline<R>(milliseconds: number, message: string, fn: () => Promise<R>): Promise<R>;
package/x/deadline.js CHANGED
@@ -1,13 +1,17 @@
1
1
  export class DeadlineError extends Error {
2
+ milliseconds;
2
3
  name = this.constructor.name;
3
- constructor(milliseconds) {
4
- super(`deadline exceeded (${milliseconds.toLocaleString()} ms)`);
4
+ constructor(milliseconds, message) {
5
+ super(`${message}, timed out in ${(milliseconds / 1000).toFixed(1)} seconds`);
6
+ this.milliseconds = milliseconds;
5
7
  }
6
8
  }
7
9
  /** set a deadline for a fn to do something, will reject with a `DeadlineError` if it takes too long */
8
- export function deadline(milliseconds, fn) {
10
+ export function deadline(milliseconds, message, fn) {
11
+ if (milliseconds <= 0 || milliseconds === Infinity)
12
+ return fn();
9
13
  return new Promise((resolve, reject) => {
10
- const id = setTimeout(() => reject(new DeadlineError(milliseconds)), milliseconds);
14
+ const id = setTimeout(() => reject(new DeadlineError(milliseconds, message)), milliseconds);
11
15
  fn()
12
16
  .then(resolve)
13
17
  .catch(reject)
package/x/deadline.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"deadline.js","sourceRoot":"","sources":["../s/deadline.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,aAAc,SAAQ,KAAK;IACvC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC5B,YAAY,YAAoB;QAC/B,KAAK,CAAC,sBAAsB,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;IACjE,CAAC;CACD;AAED,uGAAuG;AACvG,MAAM,UAAU,QAAQ,CAAI,YAAoB,EAAE,EAAoB;IACrE,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAEzC,MAAM,EAAE,GAAG,UAAU,CACpB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC,EAC7C,YAAY,CACZ,CAAA;QAED,EAAE,EAAE;aACF,IAAI,CAAC,OAAO,CAAC;aACb,KAAK,CAAC,MAAM,CAAC;aACb,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"deadline.js","sourceRoot":"","sources":["../s/deadline.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,aAAc,SAAQ,KAAK;IAEpB;IADnB,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC5B,YAAmB,YAAoB,EAAE,OAAe;QACvD,KAAK,CAAC,GAAG,OAAO,kBAAkB,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QAD3D,iBAAY,GAAZ,YAAY,CAAQ;IAEvC,CAAC;CACD;AAED,uGAAuG;AACvG,MAAM,UAAU,QAAQ,CAAI,YAAoB,EAAE,OAAe,EAAE,EAAoB;IACtF,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,KAAK,QAAQ;QACjD,OAAO,EAAE,EAAE,CAAA;IAEZ,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAEzC,MAAM,EAAE,GAAG,UAAU,CACpB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,EACtD,YAAY,CACZ,CAAA;QAED,EAAE,EAAE;aACF,IAAI,CAAC,OAAO,CAAC;aACb,KAAK,CAAC,MAAM,CAAC;aACb,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACH,CAAC"}
@@ -1 +1,8 @@
1
- export {};
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
- export {};
2
- //
3
- // import {nap} from "../nap.js"
4
- // import {Suite, expect} from "cynic"
5
- // import {debounce as debounce} from "./debounce.js"
6
- //
7
- // export default <Suite>{
8
- // async "reduces many calls into one"() {
9
- // let count = 0
10
- // const increment = debounce(100, () => {
11
- // count += 1
12
- // })
13
- // increment()
14
- // increment()
15
- // increment()
16
- // await nap(200)
17
- // expect(count).equals(1)
18
- // },
19
- // async "timer gets reset on each call"() {
20
- // let count = 0
21
- // const increment = debounce(100, () => {
22
- // count += 1
23
- // })
24
- // increment()
25
- // await nap(50)
26
- // increment()
27
- // await nap(50)
28
- // increment()
29
- // await nap(50)
30
- // increment()
31
- // await nap(50)
32
- // increment()
33
- // expect(count).equals(0)
34
- // await nap(101)
35
- // expect(count).equals(1)
36
- // },
37
- // async "provides a promise that resolves when done"() {
38
- // let count = 0
39
- // const increment = debounce(100, () => {
40
- // count += 1
41
- // })
42
- // let done = false
43
- // increment()
44
- // .then(() => done = true)
45
- // await nap(50)
46
- // increment()
47
- // await nap(50)
48
- // increment()
49
- // await nap(50)
50
- // increment()
51
- // await nap(50)
52
- // increment()
53
- // expect(done).equals(false)
54
- // await nap(201)
55
- // expect(done).equals(true)
56
- // },
57
- // async "can wait multiple rounds"() {
58
- // let count = 0
59
- // const increment = debounce(100, () => {
60
- // count += 1
61
- // })
62
- // await increment()
63
- // expect(count).equals(1)
64
- // await increment()
65
- // expect(count).equals(2)
66
- // },
67
- // async "errors are passed into promise chain"() {
68
- // const err = debounce(1, () => {
69
- // throw new Error()
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":";AAAA,EAAE;AACF,gCAAgC;AAChC,sCAAsC;AACtC,qDAAqD;AACrD,EAAE;AACF,0BAA0B;AAC1B,2CAA2C;AAC3C,kBAAkB;AAClB,4CAA4C;AAC5C,gBAAgB;AAChB,OAAO;AACP,gBAAgB;AAChB,gBAAgB;AAChB,gBAAgB;AAChB,mBAAmB;AACnB,4BAA4B;AAC5B,MAAM;AACN,6CAA6C;AAC7C,kBAAkB;AAClB,4CAA4C;AAC5C,gBAAgB;AAChB,OAAO;AACP,gBAAgB;AAChB,kBAAkB;AAClB,gBAAgB;AAChB,kBAAkB;AAClB,gBAAgB;AAChB,kBAAkB;AAClB,gBAAgB;AAChB,kBAAkB;AAClB,gBAAgB;AAChB,4BAA4B;AAC5B,mBAAmB;AACnB,4BAA4B;AAC5B,MAAM;AACN,0DAA0D;AAC1D,kBAAkB;AAClB,4CAA4C;AAC5C,gBAAgB;AAChB,OAAO;AACP,qBAAqB;AACrB,gBAAgB;AAChB,8BAA8B;AAC9B,kBAAkB;AAClB,gBAAgB;AAChB,kBAAkB;AAClB,gBAAgB;AAChB,kBAAkB;AAClB,gBAAgB;AAChB,kBAAkB;AAClB,gBAAgB;AAChB,+BAA+B;AAC/B,mBAAmB;AACnB,8BAA8B;AAC9B,MAAM;AACN,wCAAwC;AACxC,kBAAkB;AAClB,4CAA4C;AAC5C,gBAAgB;AAChB,OAAO;AACP,sBAAsB;AACtB,4BAA4B;AAC5B,sBAAsB;AACtB,4BAA4B;AAC5B,MAAM;AACN,oDAAoD;AACpD,oCAAoC;AACpC,uBAAuB;AACvB,OAAO;AACP,4CAA4C;AAC5C,MAAM;AACN,IAAI;AACJ,EAAE"}
1
+ {"version":3,"file":"debounce.test.js","sourceRoot":"","sources":["../../s/debounce/debounce.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1,21 @@
1
- export {};
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;
@@ -1,10 +1,6 @@
1
- export {};
2
- //
3
- // import {Suite} from "cynic"
4
- // import deepEqual from "./parts/equal.test.js"
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
@@ -1 +1 @@
1
- {"version":3,"file":"deep.test.js","sourceRoot":"","sources":["../../s/deep/deep.test.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,8BAA8B;AAC9B,gDAAgD;AAChD,EAAE;AACF,0BAA0B;AAC1B,cAAc;AACd,IAAI;AACJ,EAAE"}
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
- export {};
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;