@e280/stz 0.2.29 → 0.2.30
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 +2 -2
- package/s/data/base-x.ts +26 -9
- package/s/data/data.test.ts +5 -4
- package/x/data/base-x.d.ts +1 -0
- package/x/data/base-x.js +26 -8
- package/x/data/base-x.js.map +1 -1
- package/x/data/data.test.js +5 -3
- package/x/data/data.test.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@e280/stz",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.30",
|
|
4
4
|
"description": "everyday ts fns for everything",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Chase Moskal <chasemoskal@gmail.com>",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@e280/science": "^0.1.10",
|
|
26
|
-
"@types/node": "^25.5.
|
|
26
|
+
"@types/node": "^25.5.2",
|
|
27
27
|
"typescript": "^6.0.2"
|
|
28
28
|
},
|
|
29
29
|
"keywords": [
|
package/s/data/base-x.ts
CHANGED
|
@@ -75,22 +75,26 @@ export class BaseX {
|
|
|
75
75
|
// Radix mode fallback
|
|
76
76
|
let num = 0n
|
|
77
77
|
const base = BigInt(this.lexicon.characters.length)
|
|
78
|
-
let negative = false
|
|
79
78
|
if (s.startsWith(this.negativePrefix)) {
|
|
80
79
|
s = s.slice(this.negativePrefix.length)
|
|
81
|
-
negative = true
|
|
82
80
|
}
|
|
81
|
+
const zeroCharacter = this.lexicon.characters[0]
|
|
82
|
+
let leadingZeroBytes = 0
|
|
83
|
+
while (s[leadingZeroBytes] === zeroCharacter)
|
|
84
|
+
leadingZeroBytes++
|
|
85
|
+
s = s.slice(leadingZeroBytes)
|
|
83
86
|
for (const char of s) {
|
|
84
87
|
const val = this.lookup[char]
|
|
85
88
|
if (val === undefined) throw new Error(`Invalid character: ${char}`)
|
|
86
89
|
num = num * base + BigInt(val)
|
|
87
90
|
}
|
|
88
|
-
const out
|
|
91
|
+
const out = new Uint8Array(leadingZeroBytes + (num === 0n ? 0 : this.countBytes(num)))
|
|
92
|
+
let writeIndex = out.length
|
|
89
93
|
while (num > 0n) {
|
|
90
|
-
out
|
|
94
|
+
out[--writeIndex] = Number(num % 256n)
|
|
91
95
|
num = num / 256n
|
|
92
96
|
}
|
|
93
|
-
return
|
|
97
|
+
return out
|
|
94
98
|
}
|
|
95
99
|
|
|
96
100
|
fromBytes(bytes: Uint8Array): string {
|
|
@@ -128,11 +132,16 @@ export class BaseX {
|
|
|
128
132
|
}
|
|
129
133
|
|
|
130
134
|
// Radix mode fallback
|
|
135
|
+
if (bytes.length === 0) return ""
|
|
136
|
+
const zeroCharacter = this.lexicon.characters[0]
|
|
137
|
+
let leadingZeroBytes = 0
|
|
138
|
+
while (bytes[leadingZeroBytes] === 0)
|
|
139
|
+
leadingZeroBytes++
|
|
131
140
|
let num = 0n
|
|
132
|
-
for (const byte of bytes)
|
|
141
|
+
for (const byte of bytes.slice(leadingZeroBytes))
|
|
133
142
|
num = (num << 8n) + BigInt(byte)
|
|
134
143
|
|
|
135
|
-
if (num === 0n) return
|
|
144
|
+
if (num === 0n) return zeroCharacter.repeat(leadingZeroBytes)
|
|
136
145
|
|
|
137
146
|
const base = BigInt(this.lexicon.characters.length)
|
|
138
147
|
let out = ""
|
|
@@ -140,7 +149,7 @@ export class BaseX {
|
|
|
140
149
|
out = this.lexicon.characters[Number(num % base)] + out
|
|
141
150
|
num = num / base
|
|
142
151
|
}
|
|
143
|
-
return out
|
|
152
|
+
return zeroCharacter.repeat(leadingZeroBytes) + out
|
|
144
153
|
}
|
|
145
154
|
|
|
146
155
|
toInteger(s: string) {
|
|
@@ -177,5 +186,13 @@ export class BaseX {
|
|
|
177
186
|
random(count = 32) {
|
|
178
187
|
return this.fromBytes(bytes.random(count))
|
|
179
188
|
}
|
|
180
|
-
}
|
|
181
189
|
|
|
190
|
+
private countBytes(num: bigint) {
|
|
191
|
+
let count = 0
|
|
192
|
+
while (num > 0n) {
|
|
193
|
+
count++
|
|
194
|
+
num = num / 256n
|
|
195
|
+
}
|
|
196
|
+
return count
|
|
197
|
+
}
|
|
198
|
+
}
|
package/s/data/data.test.ts
CHANGED
|
@@ -9,6 +9,7 @@ import bytename from "./bytename/bytename.test.js"
|
|
|
9
9
|
import thumbprint from "./bytename/thumbprint.test.js"
|
|
10
10
|
|
|
11
11
|
const sampleBytes = hex.toBytes("9960cd633a46acfe8307d8a400e842da0d930a75fb8188e0f5da264e4b6b4e5b")
|
|
12
|
+
const sampleBytesWithLeadingZeros = hex.toBytes("0000cd633a46acfe8307d8a400e842da0d930a75fb8188e0f5da264e4b6b4e5b")
|
|
12
13
|
|
|
13
14
|
type ByteUtil = {
|
|
14
15
|
toBytes: (string: string) => Uint8Array
|
|
@@ -22,9 +23,10 @@ type NumberUtil = {
|
|
|
22
23
|
|
|
23
24
|
function testBytes(util: ByteUtil) {
|
|
24
25
|
return async() => {
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
expect(bytes.eq(
|
|
26
|
+
const roundtrip = (original: Uint8Array) => util.toBytes(util.fromBytes(original))
|
|
27
|
+
expect(bytes.eq(sampleBytes, roundtrip(sampleBytes))).ok()
|
|
28
|
+
expect(bytes.eq(sampleBytesWithLeadingZeros, roundtrip(sampleBytesWithLeadingZeros))).ok()
|
|
29
|
+
expect(bytes.eq(new Uint8Array([]), roundtrip(new Uint8Array([])))).ok()
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
32
|
|
|
@@ -111,4 +113,3 @@ export default Science.suite({
|
|
|
111
113
|
}),
|
|
112
114
|
}),
|
|
113
115
|
})
|
|
114
|
-
|
package/x/data/base-x.d.ts
CHANGED
package/x/data/base-x.js
CHANGED
|
@@ -54,23 +54,27 @@ export class BaseX {
|
|
|
54
54
|
// Radix mode fallback
|
|
55
55
|
let num = 0n;
|
|
56
56
|
const base = BigInt(this.lexicon.characters.length);
|
|
57
|
-
let negative = false;
|
|
58
57
|
if (s.startsWith(this.negativePrefix)) {
|
|
59
58
|
s = s.slice(this.negativePrefix.length);
|
|
60
|
-
negative = true;
|
|
61
59
|
}
|
|
60
|
+
const zeroCharacter = this.lexicon.characters[0];
|
|
61
|
+
let leadingZeroBytes = 0;
|
|
62
|
+
while (s[leadingZeroBytes] === zeroCharacter)
|
|
63
|
+
leadingZeroBytes++;
|
|
64
|
+
s = s.slice(leadingZeroBytes);
|
|
62
65
|
for (const char of s) {
|
|
63
66
|
const val = this.lookup[char];
|
|
64
67
|
if (val === undefined)
|
|
65
68
|
throw new Error(`Invalid character: ${char}`);
|
|
66
69
|
num = num * base + BigInt(val);
|
|
67
70
|
}
|
|
68
|
-
const out =
|
|
71
|
+
const out = new Uint8Array(leadingZeroBytes + (num === 0n ? 0 : this.countBytes(num)));
|
|
72
|
+
let writeIndex = out.length;
|
|
69
73
|
while (num > 0n) {
|
|
70
|
-
out
|
|
74
|
+
out[--writeIndex] = Number(num % 256n);
|
|
71
75
|
num = num / 256n;
|
|
72
76
|
}
|
|
73
|
-
return
|
|
77
|
+
return out;
|
|
74
78
|
}
|
|
75
79
|
fromBytes(bytes) {
|
|
76
80
|
const bitsPerChar = Math.log2(this.lexicon.characters.length);
|
|
@@ -101,18 +105,24 @@ export class BaseX {
|
|
|
101
105
|
return out;
|
|
102
106
|
}
|
|
103
107
|
// Radix mode fallback
|
|
108
|
+
if (bytes.length === 0)
|
|
109
|
+
return "";
|
|
110
|
+
const zeroCharacter = this.lexicon.characters[0];
|
|
111
|
+
let leadingZeroBytes = 0;
|
|
112
|
+
while (bytes[leadingZeroBytes] === 0)
|
|
113
|
+
leadingZeroBytes++;
|
|
104
114
|
let num = 0n;
|
|
105
|
-
for (const byte of bytes)
|
|
115
|
+
for (const byte of bytes.slice(leadingZeroBytes))
|
|
106
116
|
num = (num << 8n) + BigInt(byte);
|
|
107
117
|
if (num === 0n)
|
|
108
|
-
return
|
|
118
|
+
return zeroCharacter.repeat(leadingZeroBytes);
|
|
109
119
|
const base = BigInt(this.lexicon.characters.length);
|
|
110
120
|
let out = "";
|
|
111
121
|
while (num > 0n) {
|
|
112
122
|
out = this.lexicon.characters[Number(num % base)] + out;
|
|
113
123
|
num = num / base;
|
|
114
124
|
}
|
|
115
|
-
return out;
|
|
125
|
+
return zeroCharacter.repeat(leadingZeroBytes) + out;
|
|
116
126
|
}
|
|
117
127
|
toInteger(s) {
|
|
118
128
|
if (!s)
|
|
@@ -149,5 +159,13 @@ export class BaseX {
|
|
|
149
159
|
random(count = 32) {
|
|
150
160
|
return this.fromBytes(bytes.random(count));
|
|
151
161
|
}
|
|
162
|
+
countBytes(num) {
|
|
163
|
+
let count = 0;
|
|
164
|
+
while (num > 0n) {
|
|
165
|
+
count++;
|
|
166
|
+
num = num / 256n;
|
|
167
|
+
}
|
|
168
|
+
return count;
|
|
169
|
+
}
|
|
152
170
|
}
|
|
153
171
|
//# sourceMappingURL=base-x.js.map
|
package/x/data/base-x.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-x.js","sourceRoot":"","sources":["../../s/data/base-x.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"base-x.js","sourceRoot":"","sources":["../../s/data/base-x.ts"],"names":[],"mappings":"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"}
|
package/x/data/data.test.js
CHANGED
|
@@ -7,11 +7,13 @@ import { base58, base64, base64url, hex } from "./base-x-codecs.js";
|
|
|
7
7
|
import bytename from "./bytename/bytename.test.js";
|
|
8
8
|
import thumbprint from "./bytename/thumbprint.test.js";
|
|
9
9
|
const sampleBytes = hex.toBytes("9960cd633a46acfe8307d8a400e842da0d930a75fb8188e0f5da264e4b6b4e5b");
|
|
10
|
+
const sampleBytesWithLeadingZeros = hex.toBytes("0000cd633a46acfe8307d8a400e842da0d930a75fb8188e0f5da264e4b6b4e5b");
|
|
10
11
|
function testBytes(util) {
|
|
11
12
|
return async () => {
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
expect(bytes.eq(
|
|
13
|
+
const roundtrip = (original) => util.toBytes(util.fromBytes(original));
|
|
14
|
+
expect(bytes.eq(sampleBytes, roundtrip(sampleBytes))).ok();
|
|
15
|
+
expect(bytes.eq(sampleBytesWithLeadingZeros, roundtrip(sampleBytesWithLeadingZeros))).ok();
|
|
16
|
+
expect(bytes.eq(new Uint8Array([]), roundtrip(new Uint8Array([])))).ok();
|
|
15
17
|
};
|
|
16
18
|
}
|
|
17
19
|
function testNumbers(util) {
|
package/x/data/data.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.test.js","sourceRoot":"","sources":["../../s/data/data.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,eAAe,CAAA;AACnD,OAAO,EAAC,EAAE,EAAC,MAAM,UAAU,CAAA;AAC3B,OAAO,EAAC,GAAG,EAAC,MAAM,UAAU,CAAA;AAC5B,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAA;AAChC,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAC,MAAM,oBAAoB,CAAA;AACjE,OAAO,QAAQ,MAAM,6BAA6B,CAAA;AAClD,OAAO,UAAU,MAAM,+BAA+B,CAAA;AAEtD,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"data.test.js","sourceRoot":"","sources":["../../s/data/data.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,eAAe,CAAA;AACnD,OAAO,EAAC,EAAE,EAAC,MAAM,UAAU,CAAA;AAC3B,OAAO,EAAC,GAAG,EAAC,MAAM,UAAU,CAAA;AAC5B,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAA;AAChC,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAC,MAAM,oBAAoB,CAAA;AACjE,OAAO,QAAQ,MAAM,6BAA6B,CAAA;AAClD,OAAO,UAAU,MAAM,+BAA+B,CAAA;AAEtD,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAA;AACnG,MAAM,2BAA2B,GAAG,GAAG,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAA;AAYnH,SAAS,SAAS,CAAC,IAAc;IAChC,OAAO,KAAK,IAAG,EAAE;QAChB,MAAM,SAAS,GAAG,CAAC,QAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;QAClF,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QAC1D,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,2BAA2B,EAAE,SAAS,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QAC1F,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACzE,CAAC,CAAA;AACF,CAAC;AAED,SAAS,WAAW,CAAC,IAAgB;IACpC,OAAO;QACN,QAAQ,EAAE,KAAK,IAAG,EAAE;YACnB,MAAM,QAAQ,GAAG,SAAS,CAAA;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACxC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;YAC9B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC;QACD,QAAQ,EAAE,KAAK,IAAG,EAAE;YACnB,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAA;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACxC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;YAC9B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC;KACD,CAAA;AACF,CAAC;AAED,SAAS,QAAQ,CAAC,IAA2B;IAC5C,OAAO;QACN,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC;QACtB,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC;KAC1B,CAAA;AACF,CAAC;AAED,SAAS,UAAU,CAAC,KAAe,EAAE,KAAe;IACnD,OAAO,KAAK,IAAG,EAAE;QAChB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;aAClC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAA;IACnC,CAAC,CAAA;AACF,CAAC;AAED,eAAe,OAAO,CAAC,KAAK,CAAC;IAC5B,QAAQ;IACR,UAAU;IAEV,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC;IAC3B,WAAW,EAAE,SAAS,CAAC,SAAS,CAAC;IACjC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC;IAErB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;QACrB,MAAM,QAAQ,GAAG,yBAAyB,CAAA;QAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACnC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACtC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IAC/B,CAAC,CAAC;IAEF,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;QACtB,QAAQ,EAAE,OAAO,CAAC,KAAK,CACtB,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CACvD;QAED,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC;YACrB,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACrD,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9D,WAAW,EAAE,UAAU,CAAC,SAAS,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SACvE,CAAC;QAEF,oBAAoB,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YACpC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YACjE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QAC7B,CAAC,CAAC;QAEF,sCAAsC,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YACtD,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YACrD,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC7D,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QAClE,CAAC,CAAC;QAEF,uBAAuB,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YACvC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACjC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;YACzB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC,CAAC;QAEF,kCAAkC,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YAClD,MAAM,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;YACpD,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,EAAE,EAAE,CAAA;QAClC,CAAC,CAAC;KACF,CAAC;CACF,CAAC,CAAA"}
|