@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.
- package/README.md +33 -38
- package/package.json +2 -2
- package/s/count.ts +0 -6
- package/s/cycle.ts +0 -3
- package/s/data/bytename/bytename.ts +0 -3
- package/s/data/bytename/thumbprint.ts +0 -12
- package/s/data/bytes.ts +0 -3
- package/s/data/txt.ts +0 -9
- package/s/index.ts +5 -11
- package/s/maybe/validators/validator.ts +0 -3
- package/s/ok/fns/get.ts +0 -3
- package/s/ok/fns/need.ts +0 -3
- package/s/rand/index.ts +6 -0
- package/s/rand/rand.ts +78 -0
- package/s/rand/seed.ts +20 -0
- package/s/rand/types.ts +4 -0
- package/s/rand/u32ify.ts +6 -0
- package/s/time.ts +0 -3
- package/s/utensils/got.ts +6 -0
- package/s/utensils/map.ts +30 -0
- package/s/utensils/set.ts +13 -0
- package/x/count.d.ts +0 -4
- package/x/count.js +0 -4
- package/x/count.js.map +1 -1
- package/x/cycle.d.ts +0 -2
- package/x/cycle.js +0 -2
- package/x/cycle.js.map +1 -1
- package/x/data/bytename/bytename.d.ts +0 -9
- package/x/data/bytename/bytename.js +0 -2
- package/x/data/bytename/bytename.js.map +1 -1
- package/x/data/bytename/thumbprint.d.ts +0 -21
- package/x/data/bytename/thumbprint.js +0 -4
- package/x/data/bytename/thumbprint.js.map +1 -1
- package/x/data/bytes.d.ts +0 -5
- package/x/data/bytes.js +0 -2
- package/x/data/bytes.js.map +1 -1
- package/x/data/txt.d.ts +0 -4
- package/x/data/txt.js +0 -6
- package/x/data/txt.js.map +1 -1
- package/x/index.d.ts +4 -10
- package/x/index.js +4 -10
- package/x/index.js.map +1 -1
- package/x/maybe/validators/validator.d.ts +0 -2
- package/x/maybe/validators/validator.js +0 -2
- package/x/maybe/validators/validator.js.map +1 -1
- package/x/ok/fns/get.d.ts +0 -2
- package/x/ok/fns/get.js +0 -2
- package/x/ok/fns/get.js.map +1 -1
- package/x/ok/fns/need.d.ts +0 -2
- package/x/ok/fns/need.js +0 -2
- package/x/ok/fns/need.js.map +1 -1
- package/x/rand/index.d.ts +4 -0
- package/x/rand/index.js +5 -0
- package/x/rand/index.js.map +1 -0
- package/x/rand/rand.d.ts +26 -0
- package/x/rand/rand.js +67 -0
- package/x/rand/rand.js.map +1 -0
- package/x/rand/seed.d.ts +2 -0
- package/x/rand/seed.js +14 -0
- package/x/rand/seed.js.map +1 -0
- package/x/rand/types.d.ts +2 -0
- package/x/rand/types.js +2 -0
- package/x/rand/types.js.map +1 -0
- package/x/rand/u32ify.d.ts +2 -0
- package/x/rand/u32ify.js +5 -0
- package/x/rand/u32ify.js.map +1 -0
- package/x/time.d.ts +0 -19
- package/x/time.js +0 -2
- package/x/time.js.map +1 -1
- package/x/utensils/got.d.ts +1 -0
- package/x/utensils/got.js +6 -0
- package/x/utensils/got.js.map +1 -0
- package/x/utensils/map.d.ts +9 -0
- package/x/utensils/map.js +21 -0
- package/x/utensils/map.js.map +1 -0
- package/x/utensils/set.d.ts +6 -0
- package/x/utensils/set.js +11 -0
- package/x/utensils/set.js.map +1 -0
- package/s/data/legacy/base58.ts +0 -76
- package/s/data/legacy/base64.ts +0 -32
- package/s/data/legacy/base64url.ts +0 -37
- package/s/data/legacy/hex.ts +0 -46
- package/s/drill.ts +0 -23
- package/s/g/map.ts +0 -57
- package/s/g/pool.ts +0 -24
- package/s/g/set.ts +0 -29
- package/s/g/weak-map.ts +0 -38
- package/s/hat.ts +0 -18
- package/x/data/legacy/base58.d.ts +0 -10
- package/x/data/legacy/base58.js +0 -67
- package/x/data/legacy/base58.js.map +0 -1
- package/x/data/legacy/base64.d.ts +0 -10
- package/x/data/legacy/base64.js +0 -26
- package/x/data/legacy/base64.js.map +0 -1
- package/x/data/legacy/base64url.d.ts +0 -10
- package/x/data/legacy/base64url.js +0 -31
- package/x/data/legacy/base64url.js.map +0 -1
- package/x/data/legacy/hex.d.ts +0 -11
- package/x/data/legacy/hex.js +0 -39
- package/x/data/legacy/hex.js.map +0 -1
- package/x/drill.d.ts +0 -7
- package/x/drill.js +0 -15
- package/x/drill.js.map +0 -1
- package/x/g/map.d.ts +0 -17
- package/x/g/map.js +0 -46
- package/x/g/map.js.map +0 -1
- package/x/g/pool.d.ts +0 -12
- package/x/g/pool.js +0 -17
- package/x/g/pool.js.map +0 -1
- package/x/g/set.d.ts +0 -9
- package/x/g/set.js +0 -25
- package/x/g/set.js.map +0 -1
- package/x/g/weak-map.d.ts +0 -13
- package/x/g/weak-map.js +0 -31
- package/x/g/weak-map.js.map +0 -1
- package/x/hat.d.ts +0 -7
- package/x/hat.js +0 -17
- 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,
|
|
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 +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
|
|
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
package/x/ok/fns/get.js.map
CHANGED
|
@@ -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
|
|
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"}
|
package/x/ok/fns/need.d.ts
CHANGED
|
@@ -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
package/x/ok/fns/need.js.map
CHANGED
|
@@ -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
|
|
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"}
|
package/x/rand/index.js
ADDED
|
@@ -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"}
|
package/x/rand/rand.d.ts
ADDED
|
@@ -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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"}
|
package/x/rand/seed.d.ts
ADDED
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"}
|
package/x/rand/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../s/rand/types.ts"],"names":[],"mappings":""}
|
package/x/rand/u32ify.js
ADDED
|
@@ -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
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
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|
package/s/data/legacy/base58.ts
DELETED
|
@@ -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
|
-
|
package/s/data/legacy/base64.ts
DELETED
|
@@ -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
|
-
|
package/s/data/legacy/hex.ts
DELETED
|
@@ -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
|
-
|