@e280/stz 0.2.9 → 0.2.11

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 (152) hide show
  1. package/README.md +108 -83
  2. package/package.json +3 -3
  3. package/s/data/base-x-codecs.ts +11 -0
  4. package/s/data/base-x.ts +2 -2
  5. package/s/data/bytename/bytename.test.ts +16 -16
  6. package/s/data/bytename/bytename.ts +19 -16
  7. package/s/data/bytename/thumbprint.test.ts +25 -25
  8. package/s/data/bytename/thumbprint.ts +54 -37
  9. package/s/data/bytes.ts +4 -1
  10. package/s/data/data.test.ts +19 -17
  11. package/s/data/{base58.ts → legacy/base58.ts} +3 -2
  12. package/s/data/{base64.ts → legacy/base64.ts} +3 -2
  13. package/s/data/{base64url.ts → legacy/base64url.ts} +3 -2
  14. package/s/data/{hex.ts → legacy/hex.ts} +3 -2
  15. package/s/data/nomen/grammar.ts +2 -2
  16. package/s/data/nomen/nomen.ts +2 -2
  17. package/s/data/txt.ts +6 -3
  18. package/s/deep/{parts/equal.test.ts → equal.test.ts} +33 -33
  19. package/s/deep/{parts/equal.ts → equal.ts} +2 -2
  20. package/s/deep/{parts/freeze.ts → freeze.ts} +2 -3
  21. package/s/deep/index.barrel.ts +5 -0
  22. package/s/deep/index.test.ts +10 -0
  23. package/s/deep/index.ts +3 -0
  24. package/s/g/map.ts +36 -0
  25. package/s/g/pool.ts +24 -0
  26. package/s/{set-g.ts → g/set.ts} +4 -1
  27. package/s/g/weak-map.ts +32 -0
  28. package/s/index.ts +15 -8
  29. package/s/tests.test.ts +5 -9
  30. package/s/time.ts +15 -12
  31. package/s/toq/index.ts +3 -0
  32. package/s/toq/toq.test.ts +46 -0
  33. package/s/toq/toq.ts +62 -0
  34. package/x/data/base-x-codecs.d.ts +8 -0
  35. package/x/data/base-x-codecs.js +9 -0
  36. package/x/data/base-x-codecs.js.map +1 -0
  37. package/x/data/base-x.js +2 -2
  38. package/x/data/bytename/bytename.d.ts +13 -4
  39. package/x/data/bytename/bytename.js +16 -14
  40. package/x/data/bytename/bytename.js.map +1 -1
  41. package/x/data/bytename/bytename.test.js +16 -16
  42. package/x/data/bytename/bytename.test.js.map +1 -1
  43. package/x/data/bytename/thumbprint.d.ts +32 -11
  44. package/x/data/bytename/thumbprint.js +44 -35
  45. package/x/data/bytename/thumbprint.js.map +1 -1
  46. package/x/data/bytename/thumbprint.test.js +25 -25
  47. package/x/data/bytename/thumbprint.test.js.map +1 -1
  48. package/x/data/bytes.d.ts +5 -0
  49. package/x/data/bytes.js +3 -1
  50. package/x/data/bytes.js.map +1 -1
  51. package/x/data/data.test.d.ts +37 -0
  52. package/x/data/data.test.js +18 -17
  53. package/x/data/data.test.js.map +1 -1
  54. package/x/data/{base58.d.ts → legacy/base58.d.ts} +1 -0
  55. package/x/data/{base58.js → legacy/base58.js} +3 -2
  56. package/x/data/legacy/base58.js.map +1 -0
  57. package/x/data/{base64.d.ts → legacy/base64.d.ts} +1 -0
  58. package/x/data/{base64.js → legacy/base64.js} +3 -2
  59. package/x/data/legacy/base64.js.map +1 -0
  60. package/x/data/{base64url.d.ts → legacy/base64url.d.ts} +1 -0
  61. package/x/data/{base64url.js → legacy/base64url.js} +3 -2
  62. package/x/data/legacy/base64url.js.map +1 -0
  63. package/x/data/{hex.d.ts → legacy/hex.d.ts} +1 -0
  64. package/x/data/{hex.js → legacy/hex.js} +3 -2
  65. package/x/data/legacy/hex.js.map +1 -0
  66. package/x/data/nomen/grammar.js +2 -2
  67. package/x/data/nomen/nomen.js +2 -2
  68. package/x/data/txt.d.ts +9 -0
  69. package/x/data/txt.js +5 -3
  70. package/x/data/txt.js.map +1 -1
  71. package/x/deep/clone.js.map +1 -0
  72. package/x/deep/clone.test.js.map +1 -0
  73. package/x/deep/equal.d.ts +1 -0
  74. package/x/deep/{parts/equal.js → equal.js} +2 -2
  75. package/x/deep/equal.js.map +1 -0
  76. package/x/deep/{parts/equal.test.js → equal.test.js} +33 -33
  77. package/x/deep/equal.test.js.map +1 -0
  78. package/x/deep/freeze.d.ts +1 -0
  79. package/x/deep/{parts/freeze.js → freeze.js} +2 -2
  80. package/x/deep/freeze.js.map +1 -0
  81. package/x/deep/index.barrel.d.ts +3 -0
  82. package/x/deep/index.barrel.js +4 -0
  83. package/x/deep/index.barrel.js.map +1 -0
  84. package/x/deep/index.d.ts +1 -0
  85. package/x/deep/index.js +2 -0
  86. package/x/deep/index.js.map +1 -0
  87. package/x/deep/{deep.test.d.ts → index.test.d.ts} +15 -1
  88. package/x/deep/index.test.js +8 -0
  89. package/x/deep/index.test.js.map +1 -0
  90. package/x/g/map.d.ts +10 -0
  91. package/x/g/map.js +30 -0
  92. package/x/g/map.js.map +1 -0
  93. package/x/g/pool.d.ts +12 -0
  94. package/x/g/pool.js +17 -0
  95. package/x/g/pool.js.map +1 -0
  96. package/x/{set-g.d.ts → g/set.d.ts} +3 -1
  97. package/x/{set-g.js → g/set.js} +4 -2
  98. package/x/g/set.js.map +1 -0
  99. package/x/g/weak-map.d.ts +9 -0
  100. package/x/g/weak-map.js +27 -0
  101. package/x/g/weak-map.js.map +1 -0
  102. package/x/index.d.ts +13 -8
  103. package/x/index.js +13 -8
  104. package/x/index.js.map +1 -1
  105. package/x/tests.test.js +5 -9
  106. package/x/tests.test.js.map +1 -1
  107. package/x/time.d.ts +19 -0
  108. package/x/time.js +14 -12
  109. package/x/time.js.map +1 -1
  110. package/x/toq/index.d.ts +1 -0
  111. package/x/toq/index.js +2 -0
  112. package/x/toq/index.js.map +1 -0
  113. package/x/toq/toq.d.ts +4 -0
  114. package/x/toq/toq.js +48 -0
  115. package/x/toq/toq.js.map +1 -0
  116. package/x/toq/toq.test.d.ts +9 -0
  117. package/x/toq/toq.test.js +40 -0
  118. package/x/toq/toq.test.js.map +1 -0
  119. package/s/data/bytename/index.ts +0 -4
  120. package/s/deep/deep.test.ts +0 -8
  121. package/s/deep/deep.ts +0 -11
  122. package/s/map-g.ts +0 -79
  123. package/x/clone/clone.js.map +0 -1
  124. package/x/clone/clone.test.js.map +0 -1
  125. package/x/data/base58.js.map +0 -1
  126. package/x/data/base64.js.map +0 -1
  127. package/x/data/base64url.js.map +0 -1
  128. package/x/data/bytename/index.d.ts +0 -2
  129. package/x/data/bytename/index.js +0 -3
  130. package/x/data/bytename/index.js.map +0 -1
  131. package/x/data/hex.js.map +0 -1
  132. package/x/deep/deep.d.ts +0 -7
  133. package/x/deep/deep.js +0 -9
  134. package/x/deep/deep.js.map +0 -1
  135. package/x/deep/deep.test.js +0 -6
  136. package/x/deep/deep.test.js.map +0 -1
  137. package/x/deep/parts/equal.d.ts +0 -1
  138. package/x/deep/parts/equal.js.map +0 -1
  139. package/x/deep/parts/equal.test.js.map +0 -1
  140. package/x/deep/parts/freeze.d.ts +0 -1
  141. package/x/deep/parts/freeze.js.map +0 -1
  142. package/x/map-g.d.ts +0 -24
  143. package/x/map-g.js +0 -65
  144. package/x/map-g.js.map +0 -1
  145. package/x/set-g.js.map +0 -1
  146. /package/s/{clone → deep}/clone.test.ts +0 -0
  147. /package/s/{clone → deep}/clone.ts +0 -0
  148. /package/x/{clone → deep}/clone.d.ts +0 -0
  149. /package/x/{clone → deep}/clone.js +0 -0
  150. /package/x/{clone → deep}/clone.test.d.ts +0 -0
  151. /package/x/{clone → deep}/clone.test.js +0 -0
  152. /package/x/deep/{parts/equal.test.d.ts → equal.test.d.ts} +0 -0
@@ -0,0 +1,32 @@
1
+
2
+ /** extended weak map with handy methods like `require` and `guarantee` */
3
+ export class GWeakMap<K extends WeakKey, V> extends WeakMap<K, V> {
4
+ static require<K extends WeakKey, V>(map: WeakMap<K, V>, key: K) {
5
+ if (map.has(key))
6
+ return map.get(key) as V
7
+ else
8
+ throw new Error(`required key not found`)
9
+ }
10
+
11
+ static guarantee<K extends WeakKey, V>(map: WeakMap<K, V>, key: K, make: () => V) {
12
+ if (map.has(key))
13
+ return map.get(key)!
14
+ else {
15
+ const value = make()
16
+ map.set(key, value)
17
+ return value
18
+ }
19
+ }
20
+
21
+ require(key: K) {
22
+ return GWeakMap.require(this, key)
23
+ }
24
+
25
+ guarantee(key: K, make: () => V) {
26
+ return GWeakMap.guarantee(this, key, make)
27
+ }
28
+ }
29
+
30
+ /** @deprecated renamed to `GWeakMap` */
31
+ export const WeakMapG = GWeakMap
32
+
package/s/index.ts CHANGED
@@ -1,20 +1,29 @@
1
1
 
2
- export * from "./data/bytename/index.js"
2
+ export * from "./data/bytename/bytename.js"
3
+ export * from "./data/bytename/thumbprint.js"
4
+ export * from "./data/legacy/base58.js"
5
+ export * from "./data/legacy/base64.js"
6
+ export * from "./data/legacy/base64url.js"
7
+ export * from "./data/legacy/hex.js"
8
+ export * from "./data/base-x-codecs.js"
3
9
  export * from "./data/base-x.js"
4
- export * from "./data/base58.js"
5
- export * from "./data/base64.js"
6
- export * from "./data/base64url.js"
7
10
  export * from "./data/bytes.js"
8
- export * from "./data/hex.js"
9
11
  export * from "./data/txt.js"
10
12
 
11
13
  export * from "./debounce/debounce.js"
12
14
  export * from "./debounce/types.js"
13
15
 
14
- export * from "./deep/deep.js"
16
+ export * from "./deep/index.js"
17
+
18
+ export * from "./g/map.js"
19
+ export * from "./g/pool.js"
20
+ export * from "./g/set.js"
21
+ export * from "./g/weak-map.js"
15
22
 
16
23
  export * from "./queue/queue.js"
17
24
 
25
+ export * from "./toq/index.js"
26
+
18
27
  export * from "./coalesce.js"
19
28
  export * from "./collect.js"
20
29
  export * from "./concurrent.js"
@@ -32,7 +41,6 @@ export * from "./ev.js"
32
41
  export * from "./hat.js"
33
42
  export * from "./id-counter.js"
34
43
  export * from "./is.js"
35
- export * from "./map-g.js"
36
44
  export * from "./nap.js"
37
45
  export * from "./ob.js"
38
46
  export * from "./once.js"
@@ -40,7 +48,6 @@ export * from "./pipe.js"
40
48
  export * from "./provide.js"
41
49
  export * from "./pubsub.js"
42
50
  export * from "./scope.js"
43
- export * from "./set-g.js"
44
51
  export * from "./templating.js"
45
52
  export * from "./time.js"
46
53
  export * from "./trash.js"
package/s/tests.test.ts CHANGED
@@ -1,21 +1,17 @@
1
1
 
2
2
  import {Science} from "@e280/science"
3
3
 
4
- import clone from "./clone/clone.test.js"
5
- import thumbprint from "./data/bytename/thumbprint.test.js"
6
- import debounce from "./debounce/debounce.test.js"
7
- import bytename from "./data/bytename/bytename.test.js"
8
- import deep from "./deep/deep.test.js"
9
4
  import data from "./data/data.test.js"
5
+ import debounce from "./debounce/debounce.test.js"
6
+ import deep from "./deep/index.test.js"
10
7
  import queue from "./queue/queue.test.js"
8
+ import toq from "./toq/toq.test.js"
11
9
 
12
10
  await Science.run({
13
- clone,
14
- bytename,
15
- thumbprint,
11
+ data,
16
12
  debounce,
17
13
  deep,
18
- data,
19
14
  queue,
15
+ toq,
20
16
  })
21
17
 
package/s/time.ts CHANGED
@@ -1,22 +1,25 @@
1
1
 
2
- export const Time = {
2
+ export const time = {
3
3
  seconds: (n: number) => (n * 1000),
4
- minutes: (n: number) => (n * Time.seconds(60)),
5
- hours: (n: number) => (n * Time.minutes(60)),
6
- days: (n: number) => (n * Time.hours(24)),
4
+ minutes: (n: number) => (n * time.seconds(60)),
5
+ hours: (n: number) => (n * time.minutes(60)),
6
+ days: (n: number) => (n * time.hours(24)),
7
7
 
8
8
  future: {
9
- seconds: (n: number) => (Date.now() + Time.seconds(n)),
10
- minutes: (n: number) => (Date.now() + Time.minutes(n)),
11
- hours: (n: number) => (Date.now() + Time.hours(n)),
12
- days: (n: number) => (Date.now() + Time.days(n)),
9
+ seconds: (n: number) => (Date.now() + time.seconds(n)),
10
+ minutes: (n: number) => (Date.now() + time.minutes(n)),
11
+ hours: (n: number) => (Date.now() + time.hours(n)),
12
+ days: (n: number) => (Date.now() + time.days(n)),
13
13
  },
14
14
 
15
15
  past: {
16
- seconds: (n: number) => (Date.now() - Time.seconds(n)),
17
- minutes: (n: number) => (Date.now() - Time.minutes(n)),
18
- hours: (n: number) => (Date.now() - Time.hours(n)),
19
- days: (n: number) => (Date.now() - Time.days(n)),
16
+ seconds: (n: number) => (Date.now() - time.seconds(n)),
17
+ minutes: (n: number) => (Date.now() - time.minutes(n)),
18
+ hours: (n: number) => (Date.now() - time.hours(n)),
19
+ days: (n: number) => (Date.now() - time.days(n)),
20
20
  },
21
21
  }
22
22
 
23
+ /** @deprecated renamed to `time` */
24
+ export const Time = time
25
+
package/s/toq/index.ts ADDED
@@ -0,0 +1,3 @@
1
+
2
+ export * as toq from "./toq.js"
3
+
@@ -0,0 +1,46 @@
1
+
2
+ import {expect, Science, test} from "@e280/science"
3
+ import {toq} from "./index.js"
4
+ import {txt} from "../data/txt.js"
5
+ import {deep} from "../deep/index.js"
6
+
7
+ export default Science.suite({
8
+ "roundtrip one file": test(async() => {
9
+ const a: toq.Entry[] = [["hello.txt", txt.toBytes("hello world")]]
10
+ const b = [...toq.unpack(toq.pack(a))]
11
+ expect(deep.equal(a, b)).ok()
12
+ }),
13
+
14
+ "roundtrip two files": test(async() => {
15
+ const a: toq.Entry[] = [
16
+ ["hello.txt", txt.toBytes("hello world")],
17
+ ["data.binary", new Uint8Array([0xDE, 0xAD, 0xBE, 0xEF])],
18
+ ]
19
+ const b = [...toq.unpack(toq.pack(a))]
20
+ expect(deep.equal(a, b)).ok()
21
+ }),
22
+
23
+ "wrong magic bytes cause failure": test(async() => {
24
+ const good = toq.pack([["hello.txt", txt.toBytes("hello world")]])
25
+ const bad = new Uint8Array([...good])
26
+ bad.set([0xDE, 0xAD, 0xBE, 0xEF], 0)
27
+ expect(toq.is(good)).is(true)
28
+ expect(toq.is(bad)).is(false)
29
+ expect(() => [...toq.unpack(bad)]).throws()
30
+ }),
31
+
32
+ "from map": test(async() => {
33
+ const files = new Map<string, Uint8Array>()
34
+ files.set("hello.txt", txt.toBytes("hello world"))
35
+ files.set("deadbeef.data", new Uint8Array([0xDE, 0xAD, 0xBE, 0xEF]))
36
+ const archive = toq.pack(files)
37
+ expect(toq.is(archive)).ok()
38
+ }),
39
+
40
+ "to map": test(async() => {
41
+ const archive = toq.pack([["hello.txt", txt.toBytes("hello world")]])
42
+ const files = new Map(toq.unpack(archive))
43
+ expect(files.has("hello.txt")).ok()
44
+ }),
45
+ })
46
+
package/s/toq/toq.ts ADDED
@@ -0,0 +1,62 @@
1
+
2
+ import {txt} from "../data/txt.js"
3
+ import {bytes} from "../data/bytes.js"
4
+
5
+ export type Entry = [name: string, data: Uint8Array]
6
+
7
+ const u32len = 4
8
+ const magic = txt.toBytes("TOQ\x01")
9
+
10
+ function u32(n: number) {
11
+ const view = new DataView(new ArrayBuffer(u32len))
12
+ view.setUint32(0, n, true)
13
+ return new Uint8Array(view.buffer)
14
+ }
15
+
16
+ export function pack(items: Iterable<Entry>) {
17
+ return new Uint8Array([
18
+ ...magic,
19
+ ...[...items].flatMap(([name, data]) => {
20
+ const nameBytes = new TextEncoder().encode(name)
21
+ if (nameBytes.length > 255) throw new Error("name cannot exceed 255 bytes")
22
+ return [
23
+ nameBytes.length,
24
+ ...nameBytes,
25
+ ...u32(data.length),
26
+ ...data,
27
+ ]
28
+ })
29
+ ])
30
+ }
31
+
32
+ export function* unpack(file: Uint8Array) {
33
+ if (!is(file)) throw new Error("file is not a toq archive")
34
+
35
+ const view = new DataView(file.buffer, file.byteOffset, file.byteLength)
36
+ let cursor = magic.length
37
+
38
+ while (cursor < file.length) {
39
+ const nameLen = file[cursor]
40
+ cursor += 1
41
+
42
+ const name = txt.fromBytes(file.slice(cursor, cursor + nameLen))
43
+ cursor += nameLen
44
+
45
+ const dataLen = view.getUint32(cursor, true)
46
+ cursor += u32len
47
+
48
+ if ((cursor + dataLen) > file.length) throw new Error("corrupt toq archive")
49
+ const data = file.slice(cursor, cursor + dataLen)
50
+ cursor += dataLen
51
+
52
+ yield [name, data] as Entry
53
+ }
54
+ }
55
+
56
+ export function is(file: Uint8Array) {
57
+ return bytes.eq(
58
+ file.slice(0, magic.length),
59
+ magic,
60
+ )
61
+ }
62
+
@@ -0,0 +1,8 @@
1
+ import { BaseX } from "./base-x.js";
2
+ export declare const hex: BaseX;
3
+ export declare const base2: BaseX;
4
+ export declare const base36: BaseX;
5
+ export declare const base58: BaseX;
6
+ export declare const base62: BaseX;
7
+ export declare const base64: BaseX;
8
+ export declare const base64url: BaseX;
@@ -0,0 +1,9 @@
1
+ import { BaseX } from "./base-x.js";
2
+ export const hex = new BaseX(BaseX.lexicons.hex);
3
+ export const base2 = new BaseX(BaseX.lexicons.base2);
4
+ export const base36 = new BaseX(BaseX.lexicons.base36);
5
+ export const base58 = new BaseX(BaseX.lexicons.base58);
6
+ export const base62 = new BaseX(BaseX.lexicons.base62);
7
+ export const base64 = new BaseX(BaseX.lexicons.base64);
8
+ export const base64url = new BaseX(BaseX.lexicons.base64url);
9
+ //# sourceMappingURL=base-x-codecs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-x-codecs.js","sourceRoot":"","sources":["../../s/data/base-x-codecs.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAChD,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AACpD,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AACtD,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AACtD,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AACtD,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AACtD,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA"}
package/x/data/base-x.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Bytes } from "./bytes.js";
1
+ import { bytes } from "./bytes.js";
2
2
  export class BaseX {
3
3
  lexicon;
4
4
  static lexicons = Object.freeze({
@@ -141,7 +141,7 @@ export class BaseX {
141
141
  return negative ? `${this.negativePrefix}${out}` : out;
142
142
  }
143
143
  random(count = 32) {
144
- return this.fromBytes(Bytes.random(count));
144
+ return this.fromBytes(bytes.random(count));
145
145
  }
146
146
  }
147
147
  //# sourceMappingURL=base-x.js.map
@@ -9,11 +9,20 @@ export type BytenameOptions = {
9
9
  * - each byte maps to a three-letter triplet
10
10
  * - all delimiters are just sugar, parser doesn't care
11
11
  */
12
+ export declare const bytename: {
13
+ defaults: BytenameOptions;
14
+ random(byteCount: number, options?: Partial<BytenameOptions>): string;
15
+ fromBytes(b: Uint8Array, options?: Partial<BytenameOptions>): string;
16
+ toBytes(bname: string): Uint8Array<ArrayBuffer>;
17
+ toHex(bname: string): string;
18
+ fromHex(h: string, options?: Partial<BytenameOptions>): string;
19
+ };
20
+ /** @deprecated renamed to `bytename` */
12
21
  export declare const Bytename: {
13
22
  defaults: BytenameOptions;
14
23
  random(byteCount: number, options?: Partial<BytenameOptions>): string;
15
- fromBytes(bytes: Uint8Array, options?: Partial<BytenameOptions>): string;
16
- toBytes(bytename: string): Uint8Array<ArrayBuffer>;
17
- toHex(bytename: string): string;
18
- fromHex(hex: string, options?: Partial<BytenameOptions>): string;
24
+ fromBytes(b: Uint8Array, options?: Partial<BytenameOptions>): string;
25
+ toBytes(bname: string): Uint8Array<ArrayBuffer>;
26
+ toHex(bname: string): string;
27
+ fromHex(h: string, options?: Partial<BytenameOptions>): string;
19
28
  };
@@ -1,5 +1,5 @@
1
- import { Hex } from "../hex.js";
2
- import { Bytes } from "../bytes.js";
1
+ import { bytes } from "../bytes.js";
2
+ import { hex } from "../base-x-codecs.js";
3
3
  import { prefixes } from "./utils/prefixes.js";
4
4
  import { suffixes } from "./utils/suffixes.js";
5
5
  /**
@@ -8,21 +8,21 @@ import { suffixes } from "./utils/suffixes.js";
8
8
  * - each byte maps to a three-letter triplet
9
9
  * - all delimiters are just sugar, parser doesn't care
10
10
  */
11
- export const Bytename = {
11
+ export const bytename = {
12
12
  defaults: {
13
13
  groupSize: 4,
14
14
  wordSeparator: ".",
15
15
  groupSeparator: " ",
16
16
  },
17
17
  random(byteCount, options) {
18
- const bytes = Bytes.random(byteCount);
19
- return this.fromBytes(bytes, options);
18
+ const b = bytes.random(byteCount);
19
+ return this.fromBytes(b, options);
20
20
  },
21
- fromBytes(bytes, options = {}) {
22
- const { groupSize = Bytename.defaults.groupSize, wordSeparator = Bytename.defaults.wordSeparator, groupSeparator = Bytename.defaults.groupSeparator, } = options;
21
+ fromBytes(b, options = {}) {
22
+ const { groupSize = bytename.defaults.groupSize, wordSeparator = bytename.defaults.wordSeparator, groupSeparator = bytename.defaults.groupSeparator, } = options;
23
23
  const words = [];
24
24
  let currentWord = [];
25
- bytes.forEach((byte, index) => {
25
+ b.forEach((byte, index) => {
26
26
  const source = ((index % 2) === 0) ? prefixes : suffixes;
27
27
  currentWord.push(source[byte]);
28
28
  if (currentWord.length === 2) {
@@ -37,8 +37,8 @@ export const Bytename = {
37
37
  grouped.push(words.slice(i, i + groupSize).join(wordSeparator));
38
38
  return grouped.join(groupSeparator);
39
39
  },
40
- toBytes(bytename) {
41
- const letters = bytename
40
+ toBytes(bname) {
41
+ const letters = bname
42
42
  .toLowerCase()
43
43
  .replace(/[^a-z]/g, ""); // strip everything except letters
44
44
  const count = letters.length / 3;
@@ -55,11 +55,13 @@ export const Bytename = {
55
55
  return number;
56
56
  }));
57
57
  },
58
- toHex(bytename) {
59
- return Hex.fromBytes(Bytename.toBytes(bytename));
58
+ toHex(bname) {
59
+ return hex.fromBytes(bytename.toBytes(bname));
60
60
  },
61
- fromHex(hex, options) {
62
- return Bytename.fromBytes(Hex.toBytes(hex), options);
61
+ fromHex(h, options) {
62
+ return bytename.fromBytes(hex.toBytes(h), options);
63
63
  },
64
64
  };
65
+ /** @deprecated renamed to `bytename` */
66
+ export const Bytename = bytename;
65
67
  //# sourceMappingURL=bytename.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bytename.js","sourceRoot":"","sources":["../../../s/data/bytename/bytename.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bytename.js","sourceRoot":"","sources":["../../../s/data/bytename/bytename.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,27 @@
1
- import { Bytes } from "../bytes.js";
2
- import { Bytename } from "./bytename.js";
1
+ import { bytes } from "../bytes.js";
2
+ import { bytename } from "./bytename.js";
3
3
  import { Science, test, expect } from "@e280/science";
4
4
  const deadbeef = new Uint8Array([0xDE, 0xAD, 0xBE, 0xEF]);
5
- function good(bytes) {
6
- expect(Bytes.eq(bytes, deadbeef)).ok();
5
+ function good(b) {
6
+ expect(bytes.eq(b, deadbeef)).ok();
7
7
  }
8
8
  export default Science.suite({
9
9
  "bytes->string->bytes": test(async () => {
10
- const text = Bytename.fromBytes(deadbeef);
10
+ const text = bytename.fromBytes(deadbeef);
11
11
  expect(text).is("ribmug.hilmun");
12
- good(Bytename.toBytes(text));
12
+ good(bytename.toBytes(text));
13
13
  }),
14
14
  "zero bytes": test(async () => {
15
- const text = Bytename.fromBytes(new Uint8Array([]));
15
+ const text = bytename.fromBytes(new Uint8Array([]));
16
16
  expect(text).is("");
17
17
  }),
18
18
  "one byte": test(async () => {
19
- const text = Bytename.fromBytes(new Uint8Array([0x00]));
19
+ const text = bytename.fromBytes(new Uint8Array([0x00]));
20
20
  expect(text).is("doz");
21
21
  }),
22
22
  "groupings": test(async () => {
23
23
  const bytes = new Uint8Array([...deadbeef, ...deadbeef]);
24
- const text = Bytename.fromBytes(bytes, {
24
+ const text = bytename.fromBytes(bytes, {
25
25
  groupSize: 2,
26
26
  groupSeparator: " ",
27
27
  wordSeparator: ".",
@@ -29,13 +29,13 @@ export default Science.suite({
29
29
  expect(text).is("ribmug.hilmun ribmug.hilmun");
30
30
  }),
31
31
  "wordsep": Science.suite({
32
- "underscore": test(async () => good(Bytename.toBytes("ribmug_hilmun"))),
33
- "uppercase": test(async () => good(Bytename.toBytes("RIBMUG_HILMUN"))),
34
- "dots": test(async () => good(Bytename.toBytes("ribmug.hilmun"))),
35
- "crushed": test(async () => good(Bytename.toBytes("ribmughilmun"))),
36
- "space": test(async () => good(Bytename.toBytes("ribmug hilmun"))),
37
- "spaces": test(async () => good(Bytename.toBytes("ribmug hilmun"))),
38
- "whitespace": test(async () => good(Bytename.toBytes("\n ribmug \n \t \n hilmun \n"))),
32
+ "underscore": test(async () => good(bytename.toBytes("ribmug_hilmun"))),
33
+ "uppercase": test(async () => good(bytename.toBytes("RIBMUG_HILMUN"))),
34
+ "dots": test(async () => good(bytename.toBytes("ribmug.hilmun"))),
35
+ "crushed": test(async () => good(bytename.toBytes("ribmughilmun"))),
36
+ "space": test(async () => good(bytename.toBytes("ribmug hilmun"))),
37
+ "spaces": test(async () => good(bytename.toBytes("ribmug hilmun"))),
38
+ "whitespace": test(async () => good(bytename.toBytes("\n ribmug \n \t \n hilmun \n"))),
39
39
  }),
40
40
  });
41
41
  //# sourceMappingURL=bytename.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bytename.test.js","sourceRoot":"","sources":["../../../s/data/bytename/bytename.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bytename.test.js","sourceRoot":"","sources":["../../../s/data/bytename/bytename.test.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,15 @@ export type ThumbprintOptions = {
4
4
  previewBytes: number;
5
5
  };
6
6
  export type ThumbprintData = {
7
- bytes: Uint8Array;
8
- thumbprint: string;
7
+ raw: Uint8Array;
8
+ full: string;
9
9
  preview: string;
10
10
  bulk: string;
11
11
  sigil: string;
12
+ /** @deprecated renamed to `raw` */
13
+ readonly bytes: Uint8Array;
14
+ /** @deprecated renamed to `full` */
15
+ readonly thumbprint: string;
12
16
  };
13
17
  /**
14
18
  * Thumbprint is a friendly presentation format for arbitrary binary data.
@@ -18,19 +22,36 @@ export type ThumbprintData = {
18
22
  * - the sigil: "nodlyn.fasrep" (shorter part of the bytename)
19
23
  * - originally designed to be a nice way to present 256-bit ids, but can actually represent any number of bytes
20
24
  */
25
+ export declare const thumbprint: {
26
+ defaults: ThumbprintOptions;
27
+ toBytes(tstring: string): Uint8Array<ArrayBuffer>;
28
+ parse(tstring: string, options?: Partial<ThumbprintOptions>): ThumbprintData;
29
+ build: {
30
+ fromBytes(raw: Uint8Array, options?: Partial<ThumbprintOptions>): ThumbprintData;
31
+ fromHex(hstring: string, options?: Partial<ThumbprintOptions>): ThumbprintData;
32
+ };
33
+ toHex(tstring: string): string;
34
+ fromBytes(b: Uint8Array, options?: Partial<ThumbprintOptions>): string;
35
+ fromHex(h: string, options?: Partial<ThumbprintOptions>): string;
36
+ sigil: {
37
+ fromHex(h: string, options?: Partial<ThumbprintOptions>): string;
38
+ fromBytes(b: Uint8Array, options?: Partial<ThumbprintOptions>): string;
39
+ };
40
+ };
41
+ /** @deprecated renamed to `thumbprint` */
21
42
  export declare const Thumbprint: {
22
43
  defaults: ThumbprintOptions;
23
- toBytes(thumbprint: string): Uint8Array<ArrayBuffer>;
24
- parse(thumbprint: string, options?: Partial<ThumbprintOptions>): ThumbprintData;
44
+ toBytes(tstring: string): Uint8Array<ArrayBuffer>;
45
+ parse(tstring: string, options?: Partial<ThumbprintOptions>): ThumbprintData;
25
46
  build: {
26
- fromBytes(bytes: Uint8Array, options?: Partial<ThumbprintOptions>): ThumbprintData;
27
- fromHex(hex: string, options?: Partial<ThumbprintOptions>): ThumbprintData;
47
+ fromBytes(raw: Uint8Array, options?: Partial<ThumbprintOptions>): ThumbprintData;
48
+ fromHex(hstring: string, options?: Partial<ThumbprintOptions>): ThumbprintData;
28
49
  };
29
- toHex(thumbprint: string): string;
30
- fromBytes(bytes: Uint8Array, options?: Partial<ThumbprintOptions>): string;
31
- fromHex(hex: string, options?: Partial<ThumbprintOptions>): string;
50
+ toHex(tstring: string): string;
51
+ fromBytes(b: Uint8Array, options?: Partial<ThumbprintOptions>): string;
52
+ fromHex(h: string, options?: Partial<ThumbprintOptions>): string;
32
53
  sigil: {
33
- fromHex(hex: string, options?: Partial<ThumbprintOptions>): string;
34
- fromBytes(bytes: Uint8Array, options?: Partial<ThumbprintOptions>): string;
54
+ fromHex(h: string, options?: Partial<ThumbprintOptions>): string;
55
+ fromBytes(b: Uint8Array, options?: Partial<ThumbprintOptions>): string;
35
56
  };
36
57
  };