@mxjp/binary 1.1.0 → 1.2.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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 Max J. Polster
3
+ Copyright (c) 2026 Max J. Polster
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/dist/base32.d.ts CHANGED
@@ -8,3 +8,4 @@ import { Bytes } from "./bytes.js";
8
8
  * @param pad True, to include padding. Default is false.
9
9
  */
10
10
  export declare function base32Encode(bytes: Bytes, pad?: boolean): string;
11
+ //# sourceMappingURL=base32.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base32.d.ts","sourceRoot":"","sources":["../src/base32.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,EAAE,MAAM,YAAY,CAAC;AAMjD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,UAAQ,GAAG,MAAM,CA0C9D"}
package/dist/base64.d.ts CHANGED
@@ -37,3 +37,4 @@ export declare function base64Decode(value: string): Uint8Array<ArrayBuffer>;
37
37
  * @param value The text to decode.
38
38
  */
39
39
  export declare function base64UrlDecode(value: string): Uint8Array<ArrayBuffer>;
40
+ //# sourceMappingURL=base64.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,EAAE,MAAM,YAAY,CAAC;AAiGjD,qBAAa,iBAAkB,SAAQ,WAAW;CAAG;AAErD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,UAAO,GAAG,MAAM,CAEjE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,UAAQ,GAAG,MAAM,CAErE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAEnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAEtE"}
package/dist/bytes.d.ts CHANGED
@@ -14,3 +14,4 @@ export declare function isUint8Array(value: unknown): value is Uint8Array<ArrayB
14
14
  * This is **not** a constant time comparison.
15
15
  */
16
16
  export declare function bytesEqual(a: Bytes, b: Bytes): boolean;
17
+ //# sourceMappingURL=bytes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../src/bytes.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,KAAK,GAAG,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;AAE1D,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,CAQlE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC,WAAW,CAAC,CAE7E;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO,CAYtD"}
@@ -43,6 +43,11 @@ export declare class Deserializer {
43
43
  * Deserialize bytes by copying.
44
44
  */
45
45
  copyBytes(byteLength: number): ArrayBuffer;
46
+ /**
47
+ * Deserialize a utf-8 encoded string.
48
+ */
49
+ utf8(byteLength: number): string;
46
50
  }
47
51
  export declare class DeserializerEndError extends Error {
48
52
  }
53
+ //# sourceMappingURL=deserializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAEA,qBAAa,YAAY;;gBAOZ,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO;IAc/F,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO;IAUjF,IAAI,cAAc,IAAI,MAAM,CAE3B;IAYD;;;;OAIG;IACH,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,YAAY;IAI1C,yCAAyC;IACzC,EAAE,IAAI,MAAM;IAIZ,0EAA0E;IAC1E,GAAG,IAAI,MAAM;IAIb,0EAA0E;IAC1E,GAAG,IAAI,MAAM;IAIb,0EAA0E;IAC1E,GAAG,IAAI,MAAM;IAQb,0EAA0E;IAC1E,MAAM,IAAI,MAAM;IAIhB,2FAA2F;IAC3F,GAAG,IAAI,MAAM;IAIb,2FAA2F;IAC3F,GAAG,IAAI,MAAM;IAIb;;;;;OAKG;IACH,IAAI,IAAI,OAAO;IAQf;;;;;;;OAOG;IACH,eAAe,CAAC,CAAC,SAAS,OAAO,UAAU,CAAC,WAAW,CAAC,GAAG,OAAO,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAQtI;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW;IAQ1C;;OAEG;IACH,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;CAGhC;AAED,qBAAa,oBAAqB,SAAQ,KAAK;CAAG"}
@@ -119,6 +119,12 @@ export class Deserializer {
119
119
  const byteOffset = this.#advanceBy(byteLength);
120
120
  return this.#buffer.slice(byteOffset, byteOffset + byteLength);
121
121
  }
122
+ /**
123
+ * Deserialize a utf-8 encoded string.
124
+ */
125
+ utf8(byteLength) {
126
+ return new TextDecoder().decode(this.unsafeViewBytes(byteLength, Uint8Array));
127
+ }
122
128
  }
123
129
  export class DeserializerEndError extends Error {
124
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,OAAO,YAAY;IACxB,aAAa,CAAU;IACvB,OAAO,CAAc;IACrB,WAAW,CAAS;IACpB,QAAQ,CAAS;IACjB,KAAK,CAAW;IAEhB,YAAY,MAAmB,EAAE,UAAkB,EAAE,UAAkB,EAAE,YAAsB;QAC9F,IAAI,CAAC,aAAa,GAAG,YAAY,IAAI,IAAI,CAAC;QAC1C,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;YACjJ,MAAM,IAAI,SAAS,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACvF,MAAM,IAAI,UAAU,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAA6C,EAAE,YAAsB;QAChF,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACrE,CAAC;aAAM,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,SAAS,EAAE,CAAC;QACvB,CAAC;IACF,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;IACzC,CAAC;IAED,UAAU,CAAC,UAAkB;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,oBAAoB,EAAE,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,OAAO,UAAU,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,YAAsB;QAC1B,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;IAClH,CAAC;IAED,yCAAyC;IACzC,EAAE;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,0EAA0E;IAC1E,GAAG;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACrE,CAAC;IAED,0EAA0E;IAC1E,GAAG;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACrE,CAAC;IAED,0EAA0E;IAC1E,GAAG;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,UAAU,EAAE,CAAC;QACxB,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,0EAA0E;IAC1E,MAAM;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACxE,CAAC;IAED,2FAA2F;IAC3F,GAAG;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACtE,CAAC;IAED,2FAA2F;IAC3F,GAAG;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACH,IAAI;QACH,QAAQ,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;YACnB,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC;YACxB,KAAK,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC;YACvB,OAAO,CAAC,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QACjC,CAAC;IACF,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CAA0E,UAAkB,EAAE,IAAO;QACnH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,IAAe,KAAK,UAAU,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9F,MAAM,IAAI,SAAS,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC/C,OAAO,IAAK,IAA0B,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAoB,CAAC;IACjG,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,UAAkB;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,SAAS,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC;IAChE,CAAC;CACD;AAED,MAAM,OAAO,oBAAqB,SAAQ,KAAK;CAAG"}
1
+ {"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,3 +3,4 @@ export * from "./base64.js";
3
3
  export * from "./bytes.js";
4
4
  export * from "./deserializer.js";
5
5
  export * from "./serializer.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
@@ -59,3 +59,4 @@ export interface SerializePrefixFn {
59
59
  export interface SerializeFn<T> {
60
60
  (value: T, serializer: Serializer): void;
61
61
  }
62
+ //# sourceMappingURL=serializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AAEA,qBAAa,UAAU;;gBAKV,YAAY,CAAC,EAAE,OAAO;IASlC,IAAI,UAAU,IAAI,MAAM,CAEvB;IAOD,uCAAuC;IACvC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAYvB,sEAAsE;IACtE,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAYxB,sEAAsE;IACtE,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAYxB,sEAAsE;IACtE,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAYxB,sEAAsE;IACtE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAY3B,uFAAuF;IACvF,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IASxB,uFAAuF;IACvF,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IASxB;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAO1B;;;;;OAKG;IACH,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI;IAShE;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI;IAO/D;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI;IAMlG;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI5D;;OAEG;IACH,SAAS,IAAI,WAAW;CAgBxB;AAiBD,MAAM,WAAW,iBAAiB;IACjC,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC7B,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;CACzC"}
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  },
8
8
  "license": "MIT",
9
9
  "type": "module",
10
- "version": "1.1.0",
10
+ "version": "1.2.1",
11
11
  "main": "./dist/index.js",
12
12
  "exports": {
13
13
  ".": "./dist/index.js"
@@ -26,7 +26,7 @@
26
26
  "@mxjp/binary": "file:.",
27
27
  "@mxjp/parallel": "^1.0.2",
28
28
  "@types/node": "^24.6.2",
29
- "tinybench": "^5.0.1",
30
- "typescript": "^5.9.3"
29
+ "tinybench": "^6.0.1",
30
+ "typescript": "^6.0.3"
31
31
  }
32
32
  }
package/readme.md ADDED
@@ -0,0 +1,2 @@
1
+ # @mxjp/binary
2
+ Utilities for binary serialization & encoding that are hard to use wrongly.
@@ -133,6 +133,13 @@ export class Deserializer {
133
133
  const byteOffset = this.#advanceBy(byteLength);
134
134
  return this.#buffer.slice(byteOffset, byteOffset + byteLength);
135
135
  }
136
+
137
+ /**
138
+ * Deserialize a utf-8 encoded string.
139
+ */
140
+ utf8(byteLength: number): string {
141
+ return new TextDecoder().decode(this.unsafeViewBytes(byteLength, Uint8Array));
142
+ }
136
143
  }
137
144
 
138
145
  export class DeserializerEndError extends Error {}