@e280/stz 0.2.20 → 0.2.22

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 CHANGED
@@ -340,6 +340,7 @@ import {hex, base58, base64} from "@e280/stz"
340
340
 
341
341
  #### hex
342
342
  > all BaseX utilities have these methods
343
+ - `hex(u8array)` — encode bytes to string *(alias for hex.FromBytes)*
343
344
  - `hex.fromBytes(u8array)` — encode bytes to string
344
345
  - `hex.toBytes(str)` — decode string to bytes
345
346
  - `hex.toInteger(string)` — decode string as js integer
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e280/stz",
3
- "version": "0.2.20",
3
+ "version": "0.2.22",
4
4
  "description": "everyday ts fns for everything",
5
5
  "license": "MIT",
6
6
  "author": "Chase Moskal <chasemoskal@gmail.com>",
@@ -21,8 +21,8 @@
21
21
  "count": "find s -path '*/_archive' -prune -o -name '*.ts' -exec wc -l {} +"
22
22
  },
23
23
  "devDependencies": {
24
- "@e280/science": "^0.1.7",
25
- "@types/node": "^25.3.0",
24
+ "@e280/science": "^0.1.8",
25
+ "@types/node": "^25.3.5",
26
26
  "typescript": "^5.9.3"
27
27
  },
28
28
  "keywords": [
package/s/data/base-x.ts CHANGED
@@ -4,16 +4,21 @@ import {bytes} from "./bytes.js"
4
4
  export type Lexicon = {
5
5
  characters: string
6
6
  negativePrefix?: string
7
+ caseInsensitive?: boolean
7
8
  padding?: {
8
9
  character: string
9
10
  size: number
10
11
  }
11
12
  }
12
13
 
14
+ export interface BaseX {
15
+ (bytes: Uint8Array): string
16
+ }
17
+
13
18
  export class BaseX {
14
19
  static lexicons = Object.freeze({
15
20
  base2: {characters: "01"},
16
- hex: {characters: "0123456789abcdef"},
21
+ hex: {characters: "0123456789abcdef", caseInsensitive: true},
17
22
  base36: {characters: "0123456789abcdefghijklmnopqrstuvwxyz"},
18
23
  base58: {characters: "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"},
19
24
  base62: {characters: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"},
@@ -35,9 +40,15 @@ export class BaseX {
35
40
  [...lexicon.characters].map((char, i) => [char, i])
36
41
  )
37
42
  this.negativePrefix = lexicon.negativePrefix ?? "-"
43
+
44
+ const fn = this.fromBytes.bind(this)
45
+ Object.setPrototypeOf(fn, new.target.prototype)
46
+ Object.assign(fn, this)
47
+ return fn as BaseX
38
48
  }
39
49
 
40
50
  toBytes(s: string): Uint8Array {
51
+ if (this.lexicon.caseInsensitive) s = s.toLowerCase()
41
52
  const bitsPerChar = Math.log2(this.lexicon.characters.length)
42
53
  if (Number.isInteger(bitsPerChar)) {
43
54
  // Bitstream mode (for power-of-2 lexicons)
@@ -65,36 +65,50 @@ export default Science.suite({
65
65
  bytename,
66
66
  thumbprint,
67
67
 
68
- "Base58": testBytes(base58),
69
- "Base64": testBytes(base64),
70
- "Base64url": testBytes(base64url),
71
- "Hex": testBytes(hex),
68
+ "base58": testBytes(base58),
69
+ "base64": testBytes(base64),
70
+ "base64url": testBytes(base64url),
71
+ "hex": testBytes(hex),
72
72
 
73
- "Txt": test(async() => {
73
+ "txt": test(async() => {
74
74
  const original = `build or die. 💻>☠️ 命火工`
75
75
  const bytes = txt.toBytes(original)
76
76
  const recreated = txt.fromBytes(bytes)
77
77
  expect(original).is(recreated)
78
78
  }),
79
79
 
80
- "BaseX": Science.suite({
80
+ "baseX": Science.suite({
81
81
  lexicons: Science.suite(
82
82
  ob(BaseX.lexicons).map(lex => testBoth(new BaseX(lex)))
83
83
  ),
84
+
84
85
  compat: Science.suite({
85
- "Hex": testCompat(hex, new BaseX(BaseX.lexicons.hex)),
86
- "Base64": testCompat(base64, new BaseX(BaseX.lexicons.base64)),
87
- "Base64url": testCompat(base64url, new BaseX(BaseX.lexicons.base64url)),
86
+ "hex": testCompat(hex, new BaseX(BaseX.lexicons.hex)),
87
+ "base64": testCompat(base64, new BaseX(BaseX.lexicons.base64)),
88
+ "base64url": testCompat(base64url, new BaseX(BaseX.lexicons.base64url)),
88
89
  }),
90
+
89
91
  "base64 has padding": test(async() => {
90
92
  const s = new BaseX(BaseX.lexicons.base64).fromBytes(sampleBytes)
91
93
  expect(s.endsWith("=")).ok()
92
94
  }),
95
+
93
96
  "antagonistic base64 positive integer": test(async() => {
94
97
  const base64url = new BaseX(BaseX.lexicons.base64url)
95
98
  expect(base64url.toInteger(base64url.fromInteger(62))).is(62)
96
99
  expect(base64url.toInteger(base64url.fromInteger(4030))).is(4030)
97
100
  }),
101
+
102
+ "hex accepts uppercase": test(async() => {
103
+ const bytes = hex.toBytes("BEEF")
104
+ expect(bytes[0]).is(0xBE)
105
+ expect(bytes[1]).is(0xEF)
106
+ }),
107
+
108
+ "instances are directly invocable": test(async() => {
109
+ expect(hex(new Uint8Array([0xBE, 0xEF]))).is("beef")
110
+ expect(hex instanceof BaseX).ok()
111
+ }),
98
112
  }),
99
113
  })
100
114
 
@@ -1,11 +1,15 @@
1
1
  export type Lexicon = {
2
2
  characters: string;
3
3
  negativePrefix?: string;
4
+ caseInsensitive?: boolean;
4
5
  padding?: {
5
6
  character: string;
6
7
  size: number;
7
8
  };
8
9
  };
10
+ export interface BaseX {
11
+ (bytes: Uint8Array): string;
12
+ }
9
13
  export declare class BaseX {
10
14
  lexicon: Lexicon;
11
15
  static lexicons: Readonly<{
@@ -14,6 +18,7 @@ export declare class BaseX {
14
18
  };
15
19
  hex: {
16
20
  characters: string;
21
+ caseInsensitive: boolean;
17
22
  };
18
23
  base36: {
19
24
  characters: string;
package/x/data/base-x.js CHANGED
@@ -3,7 +3,7 @@ export class BaseX {
3
3
  lexicon;
4
4
  static lexicons = Object.freeze({
5
5
  base2: { characters: "01" },
6
- hex: { characters: "0123456789abcdef" },
6
+ hex: { characters: "0123456789abcdef", caseInsensitive: true },
7
7
  base36: { characters: "0123456789abcdefghijklmnopqrstuvwxyz" },
8
8
  base58: { characters: "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" },
9
9
  base62: { characters: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" },
@@ -22,8 +22,14 @@ export class BaseX {
22
22
  this.lexicon = lexicon;
23
23
  this.lookup = Object.fromEntries([...lexicon.characters].map((char, i) => [char, i]));
24
24
  this.negativePrefix = lexicon.negativePrefix ?? "-";
25
+ const fn = this.fromBytes.bind(this);
26
+ Object.setPrototypeOf(fn, new.target.prototype);
27
+ Object.assign(fn, this);
28
+ return fn;
25
29
  }
26
30
  toBytes(s) {
31
+ if (this.lexicon.caseInsensitive)
32
+ s = s.toLowerCase();
27
33
  const bitsPerChar = Math.log2(this.lexicon.characters.length);
28
34
  if (Number.isInteger(bitsPerChar)) {
29
35
  // Bitstream mode (for power-of-2 lexicons)
@@ -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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"}
@@ -37,12 +37,12 @@ declare const _default: {
37
37
  whitespace: Science.Test;
38
38
  };
39
39
  };
40
- Base58: () => Promise<void>;
41
- Base64: () => Promise<void>;
42
- Base64url: () => Promise<void>;
43
- Hex: () => Promise<void>;
44
- Txt: Science.Test;
45
- BaseX: {
40
+ base58: () => Promise<void>;
41
+ base64: () => Promise<void>;
42
+ base64url: () => Promise<void>;
43
+ hex: () => Promise<void>;
44
+ txt: Science.Test;
45
+ baseX: {
46
46
  lexicons: {
47
47
  readonly base2: {
48
48
  bytes: () => Promise<void>;
@@ -95,12 +95,14 @@ declare const _default: {
95
95
  };
96
96
  };
97
97
  compat: {
98
- Hex: () => Promise<void>;
99
- Base64: () => Promise<void>;
100
- Base64url: () => Promise<void>;
98
+ hex: () => Promise<void>;
99
+ base64: () => Promise<void>;
100
+ base64url: () => Promise<void>;
101
101
  };
102
102
  "base64 has padding": Science.Test;
103
103
  "antagonistic base64 positive integer": Science.Test;
104
+ "hex accepts uppercase": Science.Test;
105
+ "instances are directly invocable": Science.Test;
104
106
  };
105
107
  };
106
108
  export default _default;
@@ -47,22 +47,22 @@ function testCompat(alpha, bravo) {
47
47
  export default Science.suite({
48
48
  bytename,
49
49
  thumbprint,
50
- "Base58": testBytes(base58),
51
- "Base64": testBytes(base64),
52
- "Base64url": testBytes(base64url),
53
- "Hex": testBytes(hex),
54
- "Txt": test(async () => {
50
+ "base58": testBytes(base58),
51
+ "base64": testBytes(base64),
52
+ "base64url": testBytes(base64url),
53
+ "hex": testBytes(hex),
54
+ "txt": test(async () => {
55
55
  const original = `build or die. 💻>☠️ 命火工`;
56
56
  const bytes = txt.toBytes(original);
57
57
  const recreated = txt.fromBytes(bytes);
58
58
  expect(original).is(recreated);
59
59
  }),
60
- "BaseX": Science.suite({
60
+ "baseX": Science.suite({
61
61
  lexicons: Science.suite(ob(BaseX.lexicons).map(lex => testBoth(new BaseX(lex)))),
62
62
  compat: Science.suite({
63
- "Hex": testCompat(hex, new BaseX(BaseX.lexicons.hex)),
64
- "Base64": testCompat(base64, new BaseX(BaseX.lexicons.base64)),
65
- "Base64url": testCompat(base64url, new BaseX(BaseX.lexicons.base64url)),
63
+ "hex": testCompat(hex, new BaseX(BaseX.lexicons.hex)),
64
+ "base64": testCompat(base64, new BaseX(BaseX.lexicons.base64)),
65
+ "base64url": testCompat(base64url, new BaseX(BaseX.lexicons.base64url)),
66
66
  }),
67
67
  "base64 has padding": test(async () => {
68
68
  const s = new BaseX(BaseX.lexicons.base64).fromBytes(sampleBytes);
@@ -73,6 +73,15 @@ export default Science.suite({
73
73
  expect(base64url.toInteger(base64url.fromInteger(62))).is(62);
74
74
  expect(base64url.toInteger(base64url.fromInteger(4030))).is(4030);
75
75
  }),
76
+ "hex accepts uppercase": test(async () => {
77
+ const bytes = hex.toBytes("BEEF");
78
+ expect(bytes[0]).is(0xBE);
79
+ expect(bytes[1]).is(0xEF);
80
+ }),
81
+ "instances are directly invocable": test(async () => {
82
+ expect(hex(new Uint8Array([0xBE, 0xEF]))).is("beef");
83
+ expect(hex instanceof BaseX).ok();
84
+ }),
76
85
  }),
77
86
  });
78
87
  //# sourceMappingURL=data.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data.test.js","sourceRoot":"","sources":["../../s/data/data.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data.test.js","sourceRoot":"","sources":["../../s/data/data.test.ts"],"names":[],"mappings":"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"}