@e280/stz 0.0.0-16 → 0.0.0-18

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e280/stz",
3
- "version": "0.0.0-16",
3
+ "version": "0.0.0-18",
4
4
  "description": "everyday ts fns for everything",
5
5
  "license": "MIT",
6
6
  "author": "Chase Moskal <chasemoskal@gmail.com>",
@@ -4,7 +4,7 @@ import {Hex} from "../hex.js"
4
4
  import {Bytes} from "../bytes.js"
5
5
  import {Thumbprint} from "./thumbprint.js"
6
6
 
7
- const sampleThumbprint = "nodlyn.fasrep.habbud.ralwel::Avo7gFmdWMRHkwsD149mcaBoZdS69iXuJ"
7
+ const sampleThumbprint = "nodlyn.fasrep.habbud.ralwel.Avo7gFmdWMRHkwsD149mcaBoZdS69iXuJ"
8
8
  const sampleHex = "88e8c3fad1028fcf6ce5ac491578850f4d833336feca03b608265501c3019d59"
9
9
  const sampleBytes = Hex.bytes(sampleHex)
10
10
 
@@ -5,20 +5,21 @@ import {Bytename} from "./bytename.js"
5
5
 
6
6
  export type ThumbprintOptions = {
7
7
  delimiter: string
8
- sigilDelimiter: string
9
- sigilByteCount: number
8
+ sigilBytes: number
9
+ previewBytes: number
10
10
  }
11
11
 
12
12
  export type ThumbprintData = {
13
13
  bytes: Uint8Array
14
- sigil: string
15
- bulk: string
16
14
  thumbprint: string
15
+ preview: string
16
+ bulk: string
17
+ sigil: string
17
18
  }
18
19
 
19
20
  /**
20
21
  * Thumbprint is a friendly presentation format for arbitrary binary data.
21
- * - looks like "nodlyn.fasrep.habbud.ralwel::Avo7gFmdWMRHkwsD149mcaBoZdS69iXuJ"
22
+ * - looks like "nodlyn.fasrep.habbud.ralwel.Avo7gFmdWMRHkwsD149mcaBoZdS69iXuJ"
22
23
  * - the "sigil" is the first bytes that are shown in bytename format
23
24
  * - the "bulk" is the rest of the data in base58
24
25
  * - originally designed to be a nice way to present 256-bit ids
@@ -26,54 +27,58 @@ export type ThumbprintData = {
26
27
  */
27
28
  export const Thumbprint = {
28
29
  defaults: (<ThumbprintOptions>{
29
- delimiter: "::",
30
- sigilDelimiter: ".",
31
- sigilByteCount: 8,
30
+ delimiter: ".",
31
+ sigilBytes: 4,
32
+ previewBytes: 8,
32
33
  }),
33
34
 
34
- parse(thumbprint: string): ThumbprintData {
35
+ toBytes(thumbprint: string) {
35
36
  thumbprint = thumbprint.trim()
36
- const parts = thumbprint.split(/[^a-zA-Z0-9]+/m)
37
+ const beans = thumbprint.split(/[^a-zA-Z0-9]+/m)
37
38
  .filter(Boolean)
38
39
  .map(s => s.trim())
39
40
 
40
- if (parts.length < 2) {
41
- const sigil = parts.join(".")
42
- const bytes = Bytename.toBytes(sigil)
43
- return {bytes, sigil, bulk: "", thumbprint}
44
- }
41
+ if (beans.length < 2)
42
+ return Bytename.toBytes(beans.join(""))
43
+
44
+ const bulk = beans.pop()!
45
+ const preview = beans.join("")
45
46
 
46
- const bulk = parts.pop()!
47
- const sigil = parts.join(".")
48
- const bytes = new Uint8Array([
49
- ...Bytename.toBytes(sigil),
47
+ return new Uint8Array([
48
+ ...Bytename.toBytes(preview),
50
49
  ...Base58.bytes(bulk),
51
50
  ])
51
+ },
52
52
 
53
- return {bytes, sigil, bulk, thumbprint}
53
+ parse(thumbprint: string, options?: Partial<ThumbprintOptions>): ThumbprintData {
54
+ const bytes = Thumbprint.toBytes(thumbprint)
55
+ return Thumbprint.build.fromBytes(bytes, options)
54
56
  },
55
57
 
56
58
  build: {
57
59
  fromBytes(bytes: Uint8Array, options: Partial<ThumbprintOptions> = {}): ThumbprintData {
58
- const {sigilByteCount, sigilDelimiter, delimiter}
60
+ const {delimiter, previewBytes, sigilBytes}
59
61
  = {...Thumbprint.defaults, ...options}
60
62
 
61
- const sigil = (bytes.length > 0)
62
- ? Bytename.fromBytes(bytes.slice(0, sigilByteCount), {
63
- wordSeparator: sigilDelimiter,
64
- groupSeparator: sigilDelimiter,
63
+ const yoink = (b: number) => (bytes.length > 0)
64
+ ? Bytename.fromBytes(bytes.slice(0, b), {
65
+ wordSeparator: delimiter,
66
+ groupSeparator: delimiter,
65
67
  })
66
68
  : ""
67
69
 
68
- const bulk = (bytes.length > sigilByteCount)
69
- ? Base58.string(bytes.slice(sigilByteCount))
70
+ const sigil = yoink(sigilBytes)
71
+ const preview = yoink(previewBytes)
72
+
73
+ const bulk = (bytes.length > previewBytes)
74
+ ? Base58.string(bytes.slice(previewBytes))
70
75
  : ""
71
76
 
72
- const thumbprint = [sigil, bulk]
77
+ const thumbprint = [preview, bulk]
73
78
  .filter(s => s.length > 0)
74
79
  .join(delimiter)
75
80
 
76
- return {bytes, sigil, bulk, thumbprint}
81
+ return {bytes, thumbprint, preview, bulk, sigil}
77
82
  },
78
83
 
79
84
  fromHex(hex: string, options?: Partial<ThumbprintOptions>) {
@@ -82,10 +87,6 @@ export const Thumbprint = {
82
87
  },
83
88
  },
84
89
 
85
- toBytes(thumbprint: string) {
86
- return Thumbprint.parse(thumbprint).bytes
87
- },
88
-
89
90
  toHex(thumbprint: string) {
90
91
  const bytes = Thumbprint.toBytes(thumbprint)
91
92
  return Hex.string(bytes)
@@ -1,17 +1,18 @@
1
1
  export type ThumbprintOptions = {
2
2
  delimiter: string;
3
- sigilDelimiter: string;
4
- sigilByteCount: number;
3
+ sigilBytes: number;
4
+ previewBytes: number;
5
5
  };
6
6
  export type ThumbprintData = {
7
7
  bytes: Uint8Array;
8
- sigil: string;
9
- bulk: string;
10
8
  thumbprint: string;
9
+ preview: string;
10
+ bulk: string;
11
+ sigil: string;
11
12
  };
12
13
  /**
13
14
  * Thumbprint is a friendly presentation format for arbitrary binary data.
14
- * - looks like "nodlyn.fasrep.habbud.ralwel::Avo7gFmdWMRHkwsD149mcaBoZdS69iXuJ"
15
+ * - looks like "nodlyn.fasrep.habbud.ralwel.Avo7gFmdWMRHkwsD149mcaBoZdS69iXuJ"
15
16
  * - the "sigil" is the first bytes that are shown in bytename format
16
17
  * - the "bulk" is the rest of the data in base58
17
18
  * - originally designed to be a nice way to present 256-bit ids
@@ -19,12 +20,12 @@ export type ThumbprintData = {
19
20
  */
20
21
  export declare const Thumbprint: {
21
22
  defaults: ThumbprintOptions;
22
- parse(thumbprint: string): ThumbprintData;
23
+ toBytes(thumbprint: string): Uint8Array<ArrayBuffer>;
24
+ parse(thumbprint: string, options?: Partial<ThumbprintOptions>): ThumbprintData;
23
25
  build: {
24
26
  fromBytes(bytes: Uint8Array, options?: Partial<ThumbprintOptions>): ThumbprintData;
25
27
  fromHex(hex: string, options?: Partial<ThumbprintOptions>): ThumbprintData;
26
28
  };
27
- toBytes(thumbprint: string): Uint8Array<ArrayBufferLike>;
28
29
  toHex(thumbprint: string): string;
29
30
  fromBytes(bytes: Uint8Array, options?: Partial<ThumbprintOptions>): string;
30
31
  fromHex(hex: string, options?: Partial<ThumbprintOptions>): string;
@@ -3,7 +3,7 @@ import { Base58 } from "../base58.js";
3
3
  import { Bytename } from "./bytename.js";
4
4
  /**
5
5
  * Thumbprint is a friendly presentation format for arbitrary binary data.
6
- * - looks like "nodlyn.fasrep.habbud.ralwel::Avo7gFmdWMRHkwsD149mcaBoZdS69iXuJ"
6
+ * - looks like "nodlyn.fasrep.habbud.ralwel.Avo7gFmdWMRHkwsD149mcaBoZdS69iXuJ"
7
7
  * - the "sigil" is the first bytes that are shown in bytename format
8
8
  * - the "bulk" is the rest of the data in base58
9
9
  * - originally designed to be a nice way to present 256-bit ids
@@ -11,53 +11,52 @@ import { Bytename } from "./bytename.js";
11
11
  */
12
12
  export const Thumbprint = {
13
13
  defaults: {
14
- delimiter: "::",
15
- sigilDelimiter: ".",
16
- sigilByteCount: 8,
14
+ delimiter: ".",
15
+ sigilBytes: 4,
16
+ previewBytes: 8,
17
17
  },
18
- parse(thumbprint) {
18
+ toBytes(thumbprint) {
19
19
  thumbprint = thumbprint.trim();
20
- const parts = thumbprint.split(/[^a-zA-Z0-9]+/m)
20
+ const beans = thumbprint.split(/[^a-zA-Z0-9]+/m)
21
21
  .filter(Boolean)
22
22
  .map(s => s.trim());
23
- if (parts.length < 2) {
24
- const sigil = parts.join(".");
25
- const bytes = Bytename.toBytes(sigil);
26
- return { bytes, sigil, bulk: "", thumbprint };
27
- }
28
- const bulk = parts.pop();
29
- const sigil = parts.join(".");
30
- const bytes = new Uint8Array([
31
- ...Bytename.toBytes(sigil),
23
+ if (beans.length < 2)
24
+ return Bytename.toBytes(beans.join(""));
25
+ const bulk = beans.pop();
26
+ const preview = beans.join("");
27
+ return new Uint8Array([
28
+ ...Bytename.toBytes(preview),
32
29
  ...Base58.bytes(bulk),
33
30
  ]);
34
- return { bytes, sigil, bulk, thumbprint };
31
+ },
32
+ parse(thumbprint, options) {
33
+ const bytes = Thumbprint.toBytes(thumbprint);
34
+ return Thumbprint.build.fromBytes(bytes, options);
35
35
  },
36
36
  build: {
37
37
  fromBytes(bytes, options = {}) {
38
- const { sigilByteCount, sigilDelimiter, delimiter } = { ...Thumbprint.defaults, ...options };
39
- const sigil = (bytes.length > 0)
40
- ? Bytename.fromBytes(bytes.slice(0, sigilByteCount), {
41
- wordSeparator: sigilDelimiter,
42
- groupSeparator: sigilDelimiter,
38
+ const { delimiter, previewBytes, sigilBytes } = { ...Thumbprint.defaults, ...options };
39
+ const yoink = (b) => (bytes.length > 0)
40
+ ? Bytename.fromBytes(bytes.slice(0, b), {
41
+ wordSeparator: delimiter,
42
+ groupSeparator: delimiter,
43
43
  })
44
44
  : "";
45
- const bulk = (bytes.length > sigilByteCount)
46
- ? Base58.string(bytes.slice(sigilByteCount))
45
+ const sigil = yoink(sigilBytes);
46
+ const preview = yoink(previewBytes);
47
+ const bulk = (bytes.length > previewBytes)
48
+ ? Base58.string(bytes.slice(previewBytes))
47
49
  : "";
48
- const thumbprint = [sigil, bulk]
50
+ const thumbprint = [preview, bulk]
49
51
  .filter(s => s.length > 0)
50
52
  .join(delimiter);
51
- return { bytes, sigil, bulk, thumbprint };
53
+ return { bytes, thumbprint, preview, bulk, sigil };
52
54
  },
53
55
  fromHex(hex, options) {
54
56
  const bytes = Hex.bytes(hex);
55
57
  return Thumbprint.build.fromBytes(bytes, options);
56
58
  },
57
59
  },
58
- toBytes(thumbprint) {
59
- return Thumbprint.parse(thumbprint).bytes;
60
- },
61
60
  toHex(thumbprint) {
62
61
  const bytes = Thumbprint.toBytes(thumbprint);
63
62
  return Hex.string(bytes);
@@ -1 +1 @@
1
- {"version":3,"file":"thumbprint.js","sourceRoot":"","sources":["../../../s/data/bytename/thumbprint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thumbprint.js","sourceRoot":"","sources":["../../../s/data/bytename/thumbprint.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { Science, test, expect } from "@e280/science";
2
2
  import { Hex } from "../hex.js";
3
3
  import { Bytes } from "../bytes.js";
4
4
  import { Thumbprint } from "./thumbprint.js";
5
- const sampleThumbprint = "nodlyn.fasrep.habbud.ralwel::Avo7gFmdWMRHkwsD149mcaBoZdS69iXuJ";
5
+ const sampleThumbprint = "nodlyn.fasrep.habbud.ralwel.Avo7gFmdWMRHkwsD149mcaBoZdS69iXuJ";
6
6
  const sampleHex = "88e8c3fad1028fcf6ce5ac491578850f4d833336feca03b608265501c3019d59";
7
7
  const sampleBytes = Hex.bytes(sampleHex);
8
8
  function good(bytes) {
@@ -1 +1 @@
1
- {"version":3,"file":"thumbprint.test.js","sourceRoot":"","sources":["../../../s/data/bytename/thumbprint.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thumbprint.test.js","sourceRoot":"","sources":["../../../s/data/bytename/thumbprint.test.ts"],"names":[],"mappings":"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"}