@e280/stz 0.2.36 → 0.3.0-next.1

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 (118) hide show
  1. package/README.md +33 -38
  2. package/package.json +2 -2
  3. package/s/count.ts +0 -6
  4. package/s/cycle.ts +0 -3
  5. package/s/data/bytename/bytename.ts +0 -3
  6. package/s/data/bytename/thumbprint.ts +0 -12
  7. package/s/data/bytes.ts +0 -3
  8. package/s/data/txt.ts +0 -9
  9. package/s/index.ts +5 -11
  10. package/s/maybe/validators/validator.ts +0 -3
  11. package/s/ok/fns/get.ts +0 -3
  12. package/s/ok/fns/need.ts +0 -3
  13. package/s/rand/index.ts +6 -0
  14. package/s/rand/rand.ts +78 -0
  15. package/s/rand/seed.ts +20 -0
  16. package/s/rand/types.ts +4 -0
  17. package/s/rand/u32ify.ts +6 -0
  18. package/s/time.ts +0 -3
  19. package/s/utensils/got.ts +6 -0
  20. package/s/utensils/map.ts +30 -0
  21. package/s/utensils/set.ts +13 -0
  22. package/x/count.d.ts +0 -4
  23. package/x/count.js +0 -4
  24. package/x/count.js.map +1 -1
  25. package/x/cycle.d.ts +0 -2
  26. package/x/cycle.js +0 -2
  27. package/x/cycle.js.map +1 -1
  28. package/x/data/bytename/bytename.d.ts +0 -9
  29. package/x/data/bytename/bytename.js +0 -2
  30. package/x/data/bytename/bytename.js.map +1 -1
  31. package/x/data/bytename/thumbprint.d.ts +0 -21
  32. package/x/data/bytename/thumbprint.js +0 -4
  33. package/x/data/bytename/thumbprint.js.map +1 -1
  34. package/x/data/bytes.d.ts +0 -5
  35. package/x/data/bytes.js +0 -2
  36. package/x/data/bytes.js.map +1 -1
  37. package/x/data/txt.d.ts +0 -4
  38. package/x/data/txt.js +0 -6
  39. package/x/data/txt.js.map +1 -1
  40. package/x/index.d.ts +4 -10
  41. package/x/index.js +4 -10
  42. package/x/index.js.map +1 -1
  43. package/x/maybe/validators/validator.d.ts +0 -2
  44. package/x/maybe/validators/validator.js +0 -2
  45. package/x/maybe/validators/validator.js.map +1 -1
  46. package/x/ok/fns/get.d.ts +0 -2
  47. package/x/ok/fns/get.js +0 -2
  48. package/x/ok/fns/get.js.map +1 -1
  49. package/x/ok/fns/need.d.ts +0 -2
  50. package/x/ok/fns/need.js +0 -2
  51. package/x/ok/fns/need.js.map +1 -1
  52. package/x/rand/index.d.ts +4 -0
  53. package/x/rand/index.js +5 -0
  54. package/x/rand/index.js.map +1 -0
  55. package/x/rand/rand.d.ts +26 -0
  56. package/x/rand/rand.js +67 -0
  57. package/x/rand/rand.js.map +1 -0
  58. package/x/rand/seed.d.ts +2 -0
  59. package/x/rand/seed.js +14 -0
  60. package/x/rand/seed.js.map +1 -0
  61. package/x/rand/types.d.ts +2 -0
  62. package/x/rand/types.js +2 -0
  63. package/x/rand/types.js.map +1 -0
  64. package/x/rand/u32ify.d.ts +2 -0
  65. package/x/rand/u32ify.js +5 -0
  66. package/x/rand/u32ify.js.map +1 -0
  67. package/x/time.d.ts +0 -19
  68. package/x/time.js +0 -2
  69. package/x/time.js.map +1 -1
  70. package/x/utensils/got.d.ts +1 -0
  71. package/x/utensils/got.js +6 -0
  72. package/x/utensils/got.js.map +1 -0
  73. package/x/utensils/map.d.ts +9 -0
  74. package/x/utensils/map.js +21 -0
  75. package/x/utensils/map.js.map +1 -0
  76. package/x/utensils/set.d.ts +6 -0
  77. package/x/utensils/set.js +11 -0
  78. package/x/utensils/set.js.map +1 -0
  79. package/s/data/legacy/base58.ts +0 -76
  80. package/s/data/legacy/base64.ts +0 -32
  81. package/s/data/legacy/base64url.ts +0 -37
  82. package/s/data/legacy/hex.ts +0 -46
  83. package/s/drill.ts +0 -23
  84. package/s/g/map.ts +0 -57
  85. package/s/g/pool.ts +0 -24
  86. package/s/g/set.ts +0 -29
  87. package/s/g/weak-map.ts +0 -38
  88. package/s/hat.ts +0 -18
  89. package/x/data/legacy/base58.d.ts +0 -10
  90. package/x/data/legacy/base58.js +0 -67
  91. package/x/data/legacy/base58.js.map +0 -1
  92. package/x/data/legacy/base64.d.ts +0 -10
  93. package/x/data/legacy/base64.js +0 -26
  94. package/x/data/legacy/base64.js.map +0 -1
  95. package/x/data/legacy/base64url.d.ts +0 -10
  96. package/x/data/legacy/base64url.js +0 -31
  97. package/x/data/legacy/base64url.js.map +0 -1
  98. package/x/data/legacy/hex.d.ts +0 -11
  99. package/x/data/legacy/hex.js +0 -39
  100. package/x/data/legacy/hex.js.map +0 -1
  101. package/x/drill.d.ts +0 -7
  102. package/x/drill.js +0 -15
  103. package/x/drill.js.map +0 -1
  104. package/x/g/map.d.ts +0 -17
  105. package/x/g/map.js +0 -46
  106. package/x/g/map.js.map +0 -1
  107. package/x/g/pool.d.ts +0 -12
  108. package/x/g/pool.js +0 -17
  109. package/x/g/pool.js.map +0 -1
  110. package/x/g/set.d.ts +0 -9
  111. package/x/g/set.js +0 -25
  112. package/x/g/set.js.map +0 -1
  113. package/x/g/weak-map.d.ts +0 -13
  114. package/x/g/weak-map.js +0 -31
  115. package/x/g/weak-map.js.map +0 -1
  116. package/x/hat.d.ts +0 -7
  117. package/x/hat.js +0 -17
  118. package/x/hat.js.map +0 -1
package/x/index.d.ts CHANGED
@@ -1,9 +1,5 @@
1
1
  export * from "./data/bytename/bytename.js";
2
2
  export * from "./data/bytename/thumbprint.js";
3
- export * from "./data/legacy/base58.js";
4
- export * from "./data/legacy/base64.js";
5
- export * from "./data/legacy/base64url.js";
6
- export * from "./data/legacy/hex.js";
7
3
  export * from "./data/base-x-codecs.js";
8
4
  export * from "./data/base-x.js";
9
5
  export * from "./data/bytes.js";
@@ -13,14 +9,14 @@ export * from "./debounce/microbounce.js";
13
9
  export * from "./debounce/types.js";
14
10
  export * from "./deep/index.js";
15
11
  export * from "./dig/dig.js";
16
- export * from "./g/map.js";
17
- export * from "./g/pool.js";
18
- export * from "./g/set.js";
19
- export * from "./g/weak-map.js";
20
12
  export * from "./queue/queue.js";
13
+ export * from "./rand/index.js";
21
14
  export * from "./ok/index.js";
22
15
  export * from "./toq/index.js";
23
16
  export * from "./maybe/index.js";
17
+ export * from "./utensils/got.js";
18
+ export * from "./utensils/map.js";
19
+ export * from "./utensils/set.js";
24
20
  export * from "./all.js";
25
21
  export * from "./assert.js";
26
22
  export * from "./coalesce.js";
@@ -35,11 +31,9 @@ export * from "./dedupe.js";
35
31
  export * from "./defer.js";
36
32
  export * from "./dispenser.js";
37
33
  export * from "./disposer.js";
38
- export * from "./drill.js";
39
34
  export * from "./error-string.js";
40
35
  export * from "./escape-regex.js";
41
36
  export * from "./ev.js";
42
- export * from "./hat.js";
43
37
  export * from "./id-counter.js";
44
38
  export * from "./is.js";
45
39
  export * from "./nap.js";
package/x/index.js CHANGED
@@ -1,9 +1,5 @@
1
1
  export * from "./data/bytename/bytename.js";
2
2
  export * from "./data/bytename/thumbprint.js";
3
- export * from "./data/legacy/base58.js";
4
- export * from "./data/legacy/base64.js";
5
- export * from "./data/legacy/base64url.js";
6
- export * from "./data/legacy/hex.js";
7
3
  export * from "./data/base-x-codecs.js";
8
4
  export * from "./data/base-x.js";
9
5
  export * from "./data/bytes.js";
@@ -13,14 +9,14 @@ export * from "./debounce/microbounce.js";
13
9
  export * from "./debounce/types.js";
14
10
  export * from "./deep/index.js";
15
11
  export * from "./dig/dig.js";
16
- export * from "./g/map.js";
17
- export * from "./g/pool.js";
18
- export * from "./g/set.js";
19
- export * from "./g/weak-map.js";
20
12
  export * from "./queue/queue.js";
13
+ export * from "./rand/index.js";
21
14
  export * from "./ok/index.js";
22
15
  export * from "./toq/index.js";
23
16
  export * from "./maybe/index.js";
17
+ export * from "./utensils/got.js";
18
+ export * from "./utensils/map.js";
19
+ export * from "./utensils/set.js";
24
20
  export * from "./all.js";
25
21
  export * from "./assert.js";
26
22
  export * from "./coalesce.js";
@@ -35,11 +31,9 @@ export * from "./dedupe.js";
35
31
  export * from "./defer.js";
36
32
  export * from "./dispenser.js";
37
33
  export * from "./disposer.js";
38
- export * from "./drill.js";
39
34
  export * from "./error-string.js";
40
35
  export * from "./escape-regex.js";
41
36
  export * from "./ev.js";
42
- export * from "./hat.js";
43
37
  export * from "./id-counter.js";
44
38
  export * from "./is.js";
45
39
  export * from "./nap.js";
package/x/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAE7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AAEnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAE5B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAE/B,cAAc,kBAAkB,CAAA;AAEhC,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAEhC,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAE7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AAEnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAE5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAEhC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AAEjC,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
@@ -1,4 +1,2 @@
1
1
  import { Validator } from "../types.js";
2
2
  export declare function validator<X>(...validators: Validator<X>[]): Validator<X>;
3
- /** @deprecated renamed to `validator` */
4
- export declare const all: typeof validator;
@@ -16,6 +16,4 @@ export function validator(...validators) {
16
16
  : yay(x);
17
17
  };
18
18
  }
19
- /** @deprecated renamed to `validator` */
20
- export const all = validator;
21
19
  //# sourceMappingURL=validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../s/maybe/validators/validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAA;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAA;AAGjC,MAAM,UAAU,SAAS,CAAI,GAAG,UAA0B;IACzD,OAAO,CAAC,CAAC,EAAE;QACV,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,MAAM,KAAK,GAAa,EAAE,CAAA;QAE1B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;YAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBAChB,QAAQ,EAAE,CAAA;gBACV,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC9B,CAAC;QACF,CAAC;QAED,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACpB,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACf,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACV,CAAC,CAAA;AACF,CAAC;AAED,yCAAyC;AACzC,MAAM,CAAC,MAAM,GAAG,GAAG,SAAS,CAAA"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../s/maybe/validators/validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAA;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAA;AAGjC,MAAM,UAAU,SAAS,CAAI,GAAG,UAA0B;IACzD,OAAO,CAAC,CAAC,EAAE;QACV,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,MAAM,KAAK,GAAa,EAAE,CAAA;QAE1B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;YAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBAChB,QAAQ,EAAE,CAAA;gBACV,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC9B,CAAC;QACF,CAAC;QAED,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACpB,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACf,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACV,CAAC,CAAA;AACF,CAAC"}
package/x/ok/fns/get.d.ts CHANGED
@@ -3,5 +3,3 @@ import type { Result } from "../types/result.js";
3
3
  export declare function getOk<Value>(result: Result<Value, unknown>): Value | undefined;
4
4
  /** get error or undefined */
5
5
  export declare function getErr<E = unknown>(result: Result<unknown, E>): E | undefined;
6
- /** @deprecated renamed to `getOk` */
7
- export declare const grab: typeof getOk;
package/x/ok/fns/get.js CHANGED
@@ -10,6 +10,4 @@ export function getErr(result) {
10
10
  ? undefined
11
11
  : result.error;
12
12
  }
13
- /** @deprecated renamed to `getOk` */
14
- export const grab = getOk;
15
13
  //# sourceMappingURL=get.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../s/ok/fns/get.ts"],"names":[],"mappings":"AAGA,6BAA6B;AAC7B,MAAM,UAAU,KAAK,CAAQ,MAA8B;IAC1D,OAAO,MAAM,CAAC,EAAE;QACf,CAAC,CAAC,MAAM,CAAC,KAAK;QACd,CAAC,CAAC,SAAS,CAAA;AACb,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,MAAM,CAAc,MAA0B;IAC7D,OAAO,MAAM,CAAC,EAAE;QACf,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;AAChB,CAAC;AAED,qCAAqC;AACrC,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAA"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../s/ok/fns/get.ts"],"names":[],"mappings":"AAGA,6BAA6B;AAC7B,MAAM,UAAU,KAAK,CAAQ,MAA8B;IAC1D,OAAO,MAAM,CAAC,EAAE;QACf,CAAC,CAAC,MAAM,CAAC,KAAK;QACd,CAAC,CAAC,SAAS,CAAA;AACb,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,MAAM,CAAc,MAA0B;IAC7D,OAAO,MAAM,CAAC,EAAE;QACf,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;AAChB,CAAC"}
@@ -3,5 +3,3 @@ import type { Result } from "../types/result.js";
3
3
  export declare function needOk<Value, E>(result: Result<Value, E>): Value;
4
4
  /** return error, otherwise throw error */
5
5
  export declare function needErr<E>(result: Result<unknown, E>): E;
6
- /** @deprecated renamed to `needOk` */
7
- export declare const need: typeof needOk;
package/x/ok/fns/need.js CHANGED
@@ -16,6 +16,4 @@ export function needErr(result) {
16
16
  throw new Error("didn't get needed error");
17
17
  return result.error;
18
18
  }
19
- /** @deprecated renamed to `needOk` */
20
- export const need = needOk;
21
19
  //# sourceMappingURL=need.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"need.js","sourceRoot":"","sources":["../../../s/ok/fns/need.ts"],"names":[],"mappings":"AAGA,6CAA6C;AAC7C,MAAM,UAAU,MAAM,CAAW,MAAwB;IACxD,IAAI,MAAM,CAAC,EAAE;QACZ,OAAO,MAAM,CAAC,KAAK,CAAA;IAEpB,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,CAAA;IAEtB,IAAI,KAAK,YAAY,KAAK;QACzB,MAAM,KAAK,CAAA;SAEP,IAAI,OAAO,KAAK,KAAK,QAAQ;QACjC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA;;QAGtB,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;AAC5B,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,OAAO,CAAI,MAA0B;IACpD,IAAI,MAAM,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IACzD,OAAO,MAAM,CAAC,KAAK,CAAA;AACpB,CAAC;AAED,sCAAsC;AACtC,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"need.js","sourceRoot":"","sources":["../../../s/ok/fns/need.ts"],"names":[],"mappings":"AAGA,6CAA6C;AAC7C,MAAM,UAAU,MAAM,CAAW,MAAwB;IACxD,IAAI,MAAM,CAAC,EAAE;QACZ,OAAO,MAAM,CAAC,KAAK,CAAA;IAEpB,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,CAAA;IAEtB,IAAI,KAAK,YAAY,KAAK;QACzB,MAAM,KAAK,CAAA;SAEP,IAAI,OAAO,KAAK,KAAK,QAAQ;QACjC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA;;QAGtB,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;AAC5B,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,OAAO,CAAI,MAA0B;IACpD,IAAI,MAAM,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IACzD,OAAO,MAAM,CAAC,KAAK,CAAA;AACpB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./rand.js";
2
+ export * from "./seed.js";
3
+ export * from "./types.js";
4
+ export * from "./u32ify.js";
@@ -0,0 +1,5 @@
1
+ export * from "./rand.js";
2
+ export * from "./seed.js";
3
+ export * from "./types.js";
4
+ export * from "./u32ify.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../s/rand/index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { Random } from "./types.js";
2
+ /** facility for doing common random things, like picking a random item from an array. */
3
+ export declare class Rand {
4
+ random: Random;
5
+ constructor(random?: Random);
6
+ /** random positive unsigned 32-bit integer. */
7
+ u32(): number;
8
+ /** randomly returns true given a probability fraction. */
9
+ roll(chance?: number): boolean;
10
+ /** random number between two numbers. */
11
+ range(min: number, max: number): number;
12
+ /** random integer from min to max (inclusive). */
13
+ integerRange(min: number, max: number): number;
14
+ /** random array index given an array length. */
15
+ index(length: number): number;
16
+ /** randomly choose one item from the provided array. */
17
+ pick<T>(array: T[]): T;
18
+ /** randomly select a given number of array items. */
19
+ select<T>(count: number, array: T[]): T[];
20
+ /** remove a random item from the array, and return it. */
21
+ yoink<T>(array: T[]): T;
22
+ /** randomly remove the given number of items from the array. */
23
+ extract<T>(count: number, array: T[]): T[];
24
+ /** randomly shuffle an array in-place using fisher-yates. */
25
+ shuffle<T>(array: T[]): T[];
26
+ }
package/x/rand/rand.js ADDED
@@ -0,0 +1,67 @@
1
+ import { u32ify } from "./u32ify.js";
2
+ /** facility for doing common random things, like picking a random item from an array. */
3
+ export class Rand {
4
+ random;
5
+ constructor(random = Math.random) {
6
+ this.random = random;
7
+ }
8
+ /** random positive unsigned 32-bit integer. */
9
+ u32() {
10
+ return u32ify(this.random());
11
+ }
12
+ /** randomly returns true given a probability fraction. */
13
+ roll(chance = 0.5) {
14
+ return this.random() < chance;
15
+ }
16
+ /** random number between two numbers. */
17
+ range(min, max) {
18
+ return min + (this.random() * (max - min));
19
+ }
20
+ /** random integer from min to max (inclusive). */
21
+ integerRange(min, max) {
22
+ return min + Math.floor(this.random() * (max - min + 1));
23
+ }
24
+ /** random array index given an array length. */
25
+ index(length) {
26
+ return Math.floor(this.random() * length);
27
+ }
28
+ /** randomly choose one item from the provided array. */
29
+ pick(array) {
30
+ return array[this.index(array.length)];
31
+ }
32
+ /** randomly select a given number of array items. */
33
+ select(count, array) {
34
+ const copy = [...array];
35
+ if (count >= array.length)
36
+ return copy;
37
+ const selection = [];
38
+ for (let i = 0; i < count; i++)
39
+ selection.push(this.yoink(copy));
40
+ return selection;
41
+ }
42
+ /** remove a random item from the array, and return it. */
43
+ yoink(array) {
44
+ const index = this.index(array.length);
45
+ const [item] = array.splice(index, 1);
46
+ return item;
47
+ }
48
+ /** randomly remove the given number of items from the array. */
49
+ extract(count, array) {
50
+ const selection = [];
51
+ for (let i = 0; i < count; i++) {
52
+ if (array.length === 0)
53
+ return selection;
54
+ selection.push(this.yoink(array));
55
+ }
56
+ return selection;
57
+ }
58
+ /** randomly shuffle an array in-place using fisher-yates. */
59
+ shuffle(array) {
60
+ for (let i = array.length - 1; i > 0; i--) {
61
+ const j = Math.floor(this.random() * (i + 1));
62
+ [array[i], array[j]] = [array[j], array[i]];
63
+ }
64
+ return array;
65
+ }
66
+ }
67
+ //# sourceMappingURL=rand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rand.js","sourceRoot":"","sources":["../../s/rand/rand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Random } from "./types.js";
2
+ export declare function seed(u32?: number): Random;
package/x/rand/seed.js ADDED
@@ -0,0 +1,14 @@
1
+ import { u32ify } from "./u32ify.js";
2
+ const m = 2147483647;
3
+ const a = 48271;
4
+ export function seed(u32 = u32ify(Math.random())) {
5
+ u32 = (u32 ^ 0x6D2B79F5) + 0x1E35A7BD;
6
+ u32 = ((u32 >>> 0) % m) || 1;
7
+ function random() {
8
+ u32 = (a * u32) % m;
9
+ return u32 / m;
10
+ }
11
+ random();
12
+ return random;
13
+ }
14
+ //# sourceMappingURL=seed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../s/rand/seed.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAElC,MAAM,CAAC,GAAG,UAAU,CAAA;AACpB,MAAM,CAAC,GAAG,KAAK,CAAA;AAEf,MAAM,UAAU,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC/C,GAAG,GAAG,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,UAAU,CAAA;IACrC,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;IAE5B,SAAS,MAAM;QACd,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QACnB,OAAO,GAAG,GAAG,CAAC,CAAA;IACf,CAAC;IAED,MAAM,EAAE,CAAA;IACR,OAAO,MAAM,CAAA;AACd,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** fn that returns random number fraction between 0 and 1. */
2
+ export type Random = () => number;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../s/rand/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ /** convert a fraction number (between 0 and 1) into an unsigned 32-bit integer. */
2
+ export declare function u32ify(fraction: number): number;
@@ -0,0 +1,5 @@
1
+ /** convert a fraction number (between 0 and 1) into an unsigned 32-bit integer. */
2
+ export function u32ify(fraction) {
3
+ return Math.floor(fraction * 0x100000000);
4
+ }
5
+ //# sourceMappingURL=u32ify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"u32ify.js","sourceRoot":"","sources":["../../s/rand/u32ify.ts"],"names":[],"mappings":"AACA,mFAAmF;AACnF,MAAM,UAAU,MAAM,CAAC,QAAgB;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAA;AAC1C,CAAC"}
package/x/time.d.ts CHANGED
@@ -16,22 +16,3 @@ export declare const time: {
16
16
  days: (n: number) => number;
17
17
  };
18
18
  };
19
- /** @deprecated renamed to `time` */
20
- export declare const Time: {
21
- seconds: (n: number) => number;
22
- minutes: (n: number) => number;
23
- hours: (n: number) => number;
24
- days: (n: number) => number;
25
- future: {
26
- seconds: (n: number) => number;
27
- minutes: (n: number) => number;
28
- hours: (n: number) => number;
29
- days: (n: number) => number;
30
- };
31
- past: {
32
- seconds: (n: number) => number;
33
- minutes: (n: number) => number;
34
- hours: (n: number) => number;
35
- days: (n: number) => number;
36
- };
37
- };
package/x/time.js CHANGED
@@ -16,6 +16,4 @@ export const time = {
16
16
  days: (n) => (Date.now() - time.days(n)),
17
17
  },
18
18
  };
19
- /** @deprecated renamed to `time` */
20
- export const Time = time;
21
19
  //# sourceMappingURL=time.js.map
package/x/time.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"time.js","sourceRoot":"","sources":["../s/time.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,IAAI,GAAG;IACnB,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEzC,MAAM,EAAE;QACP,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtD,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtD,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAChD;IAED,IAAI,EAAE;QACL,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtD,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtD,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAChD;CACD,CAAA;AAED,oCAAoC;AACpC,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../s/time.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,IAAI,GAAG;IACnB,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEzC,MAAM,EAAE;QACP,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtD,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtD,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAChD;IAED,IAAI,EAAE;QACL,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtD,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtD,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAChD;CACD,CAAA"}
@@ -0,0 +1 @@
1
+ export declare function got<X>(thing: X | undefined | null): X;
@@ -0,0 +1,6 @@
1
+ export function got(thing) {
2
+ if (thing === undefined || thing === null)
3
+ throw new Error(`got failed`);
4
+ return thing;
5
+ }
6
+ //# sourceMappingURL=got.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"got.js","sourceRoot":"","sources":["../../s/utensils/got.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,GAAG,CAAI,KAA2B;IACjD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;IACxE,OAAO,KAAK,CAAA;AACb,CAAC"}
@@ -0,0 +1,9 @@
1
+ type MapLike<K, V> = {
2
+ has(key: K): boolean;
3
+ get(key: K): V | undefined;
4
+ set(key: K, value: V): unknown;
5
+ };
6
+ export declare function need<K, V>(map: Pick<MapLike<K, V>, "has" | "get">, key: K): V;
7
+ export declare function guarantee<K, V>(map: MapLike<K, V>, key: K, make: () => V): V;
8
+ export declare function inserts<K, V, M extends Pick<MapLike<K, V>, "set">>(map: M, entries: Iterable<[K, V]>): M;
9
+ export {};
@@ -0,0 +1,21 @@
1
+ export function need(map, key) {
2
+ if (map.has(key))
3
+ return map.get(key);
4
+ else
5
+ throw new Error("needed key not found");
6
+ }
7
+ export function guarantee(map, key, make) {
8
+ if (map.has(key))
9
+ return map.get(key);
10
+ else {
11
+ const value = make();
12
+ map.set(key, value);
13
+ return value;
14
+ }
15
+ }
16
+ export function inserts(map, entries) {
17
+ for (const [key, value] of entries)
18
+ map.set(key, value);
19
+ return map;
20
+ }
21
+ //# sourceMappingURL=map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../s/utensils/map.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,IAAI,CAAO,GAAuC,EAAE,GAAM;IACzE,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QACf,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAM,CAAA;;QAExB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,SAAS,CAAO,GAAkB,EAAE,GAAM,EAAE,IAAa;IACxE,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QACf,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAA;SAChB,CAAC;QACL,MAAM,KAAK,GAAG,IAAI,EAAE,CAAA;QACpB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACnB,OAAO,KAAK,CAAA;IACb,CAAC;AACF,CAAC;AAED,MAAM,UAAU,OAAO,CAA6C,GAAM,EAAE,OAAyB;IACpG,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO;QACjC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACpB,OAAO,GAAG,CAAA;AACX,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare function adds<V, S extends {
2
+ add(value: V): void;
3
+ }>(set: S, values: Iterable<V>): S;
4
+ export declare function deletes<V, S extends {
5
+ delete(value: V): void;
6
+ }>(set: S, values: Iterable<V>): S;
@@ -0,0 +1,11 @@
1
+ export function adds(set, values) {
2
+ for (const value of values)
3
+ set.add(value);
4
+ return set;
5
+ }
6
+ export function deletes(set, values) {
7
+ for (const value of values)
8
+ set.delete(value);
9
+ return set;
10
+ }
11
+ //# sourceMappingURL=set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../s/utensils/set.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,IAAI,CAAqC,GAAM,EAAE,MAAmB;IACnF,KAAK,MAAM,KAAK,IAAI,MAAM;QACzB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACf,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,UAAU,OAAO,CAAwC,GAAM,EAAE,MAAmB;IACzF,KAAK,MAAM,KAAK,IAAI,MAAM;QACzB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAClB,OAAO,GAAG,CAAA;AACX,CAAC"}
@@ -1,76 +0,0 @@
1
-
2
- /*
3
-
4
- 256-bit base58 ids look like this:
5
-
6
- 9X1D9rdkDgRdykzmogNcxfopRc7TnbS869ow1E2ehCFS
7
- AmRKyNfq6jhhsd9qda1Y6rAVS2NLUqyTUvfcB2wUiiAC
8
- 8skYcqBAXsejDcJzsZMo19PErt43DHP3bykaXBtMvdu
9
-
10
- */
11
-
12
- import {Hex} from "./hex.js"
13
- import {bytes} from "../bytes.js"
14
-
15
- const base = 58
16
- const characters = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
17
-
18
- /** @deprecated use `base58` instead */
19
- export const Base58 = Object.freeze({
20
- fromBytes(bytes: Uint8Array) {
21
- let intVal = BigInt("0x" + Hex.fromBytes(bytes))
22
- let encoded = ""
23
-
24
- while (intVal > 0) {
25
- const remainder = intVal % BigInt(base)
26
- intVal = intVal / BigInt(base)
27
- encoded = characters[Number(remainder)] + encoded
28
- }
29
-
30
- for (const byte of bytes) {
31
- if (byte === 0) encoded = characters[0] + encoded
32
- else break
33
- }
34
-
35
- return encoded
36
- },
37
-
38
- toBytes(string: string) {
39
- let intVal = BigInt(0)
40
-
41
- for (const char of string) {
42
- const index = characters.indexOf(char)
43
- if (index === -1) throw new Error(`Invalid character '${char}' in base58 string`)
44
- intVal = intVal * BigInt(base) + BigInt(index)
45
- }
46
-
47
- let hex = intVal.toString(16)
48
- if (hex.length % 2 !== 0) hex = "0" + hex
49
- const bytes = Hex.toBytes(hex)
50
-
51
- let leadingZeroes = 0
52
- for (const char of string) {
53
- if (char === characters[0]) leadingZeroes++
54
- else break
55
- }
56
-
57
- const decoded = new Uint8Array(leadingZeroes + bytes.length)
58
- decoded.set(bytes, leadingZeroes)
59
- return decoded
60
- },
61
-
62
- random(count = 32) {
63
- return this.fromBytes(bytes.random(count))
64
- },
65
-
66
- /** @deprecated renamed to `fromBytes` */
67
- string(bytes: Uint8Array) {
68
- return Base58.fromBytes(bytes)
69
- },
70
-
71
- /** @deprecated renamed to `toBytes` */
72
- bytes(string: string) {
73
- return Base58.toBytes(string)
74
- },
75
- })
76
-
@@ -1,32 +0,0 @@
1
-
2
- import {bytes} from "../bytes.js"
3
-
4
- /** @deprecated use `base64` instead */
5
- export const Base64 = Object.freeze({
6
- fromBytes(bytes: Uint8Array) {
7
- return (typeof btoa === "function")
8
- ? btoa(String.fromCharCode(...bytes))
9
- : Buffer.from(bytes).toString("base64")
10
- },
11
-
12
- toBytes(string: string) {
13
- return (typeof atob === "function")
14
- ? Uint8Array.from(atob(string), char => char.charCodeAt(0))
15
- : Uint8Array.from(Buffer.from(string, "base64"))
16
- },
17
-
18
- random(count = 32) {
19
- return this.fromBytes(bytes.random(count))
20
- },
21
-
22
- /** @deprecated rename to "fromBytes" */
23
- string(bytes: Uint8Array) {
24
- return Base64.fromBytes(bytes)
25
- },
26
-
27
- /** @deprecated rename to "toBytes" */
28
- bytes(string: string) {
29
- return Base64.toBytes(string)
30
- },
31
- })
32
-
@@ -1,37 +0,0 @@
1
-
2
- import {bytes} from "../bytes.js"
3
- import {Base64} from "./base64.js"
4
-
5
- /** @deprecated use `base64url` instead */
6
- export const Base64url = {
7
- fromBytes(bytes: Uint8Array) {
8
- return Base64.fromBytes(bytes)
9
- .replace(/\+/g, "-")
10
- .replace(/\//g, "_")
11
- .replace(/=+$/g, "")
12
- },
13
-
14
- toBytes(string: string) {
15
- let b64 = string
16
- .replace(/-/g, "+")
17
- .replace(/_/g, "/")
18
- if (b64.length % 4 !== 0)
19
- b64 = b64.padEnd(b64.length + (4 - b64.length % 4) % 4, "=")
20
- return Base64.toBytes(b64)
21
- },
22
-
23
- random(count = 32) {
24
- return this.fromBytes(bytes.random(count))
25
- },
26
-
27
- /** @deprecated renamed to "fromBytes" */
28
- string(bytes: Uint8Array) {
29
- return Base64url.fromBytes(bytes)
30
- },
31
-
32
- /** @deprecated renamed to "toBytes" */
33
- bytes(string: string) {
34
- return Base64url.toBytes(string)
35
- },
36
- }
37
-
@@ -1,46 +0,0 @@
1
-
2
- /*
3
-
4
- 256-bit hex ids look like this:
5
-
6
- 8ff8dfbc7c994c5439d2dd327b9898aa6796f97fb396e262985f03f868707e32
7
- 6b99284a2c4a1c5f101502bd009f9fb592ca4427e4375155e411ddd07ed9da6b
8
- 2eb73fb00a2b9e38c855b5aa353b530d820a3a2dcea5013b7e4e277ddfe9d0ad
9
-
10
- */
11
-
12
- import {bytes} from "../bytes.js"
13
-
14
- /** @deprecated use `hex` instead */
15
- export const Hex = Object.freeze({
16
- fromBytes(bytes: Uint8Array) {
17
- return [...bytes]
18
- .map(byte => byte.toString(16).padStart(2, "0"))
19
- .join("")
20
- },
21
-
22
- toBytes(string: string) {
23
- if (string.length % 2 !== 0)
24
- throw new Error("must have even number of hex characters")
25
- const bytes = new Uint8Array(string.length / 2)
26
- for (let i = 0; i < string.length; i += 2)
27
- bytes[i / 2] = parseInt(string.slice(i, i + 2), 16)
28
- return bytes
29
- },
30
-
31
- /** generate a random hex string. byteCount defaults to 32. */
32
- random(byteCount = 32) {
33
- return this.fromBytes(bytes.random(byteCount))
34
- },
35
-
36
- /** @deprecated renamed to `fromBytes` */
37
- string(bytes: Uint8Array) {
38
- return Hex.fromBytes(bytes)
39
- },
40
-
41
- /** @deprecated renamed to `toBytes` */
42
- bytes(string: string) {
43
- return Hex.toBytes(string)
44
- },
45
- })
46
-