Release Helper Tools 0.2.0
Verify / verify (push) Canceled after 0s

This commit is contained in:
2026-09-02 01:01:56 +02:00
parent 5fffd48642
commit 6c763fcb5a
30 changed files with 2022 additions and 51 deletions
+17 -2
View File
@@ -5,7 +5,7 @@ Helper Tools is a local-first browser workbench and the source of the
bounded building blocks for common developer calculations without network
requests, telemetry, persistence, or server processing.
Version 0.1.0 includes:
The reusable package includes:
- strict Base64, Base64URL, hexadecimal, UTF-8, UTF-16 and Latin-1 conversion;
- URL component and form encoding, Unicode scalar/grapheme inspection, case,
@@ -16,7 +16,13 @@ Version 0.1.0 includes:
- timestamp and bounded duration parsing and formatting;
- hardened JSON parsing, deterministic JSON and bounded CSV conversion; and
- secure random bytes/integers plus explicitly non-cryptographic seeded random
primitives for repeatable tests and samples.
primitives for repeatable tests and samples;
- checked offset arithmetic and a bounded typed byte cursor for binary parsers;
- deterministic byte-size formatting, collision-free multi-file download plans,
and explicit Blob URL lease pools;
- cancellable disposable-worker jobs with progress and hard deadlines; and
- incremental CRC-32, Adler-32 and FNV-1a processing plus bounded,
cancellable byte-source reads for Web Crypto digests.
## Browser app
@@ -38,8 +44,11 @@ exported from one stable root:
```ts
import {
ByteCursor,
bytesToBase64Url,
createIncrementalChecksum,
digestHex,
formatBytes,
parseCidr,
safeJsonParse,
} from "@add-ideas/toolbox-helpers";
@@ -48,6 +57,12 @@ const token = bytesToBase64Url(new Uint8Array([1, 2, 3]));
const hash = await digestHex(new TextEncoder().encode("local"));
const network = parseCidr("2001:db8::1/64");
const data = safeJsonParse('{"enabled":true}');
const size = formatBytes(1_572_864); // 1.50 MiB
const cursor = new ByteCursor(new Uint8Array([0, 1, 0, 2]));
const first = cursor.readUint16();
const checksum = createIncrementalChecksum("CRC-32").update(
new Uint8Array([1, 2, 3]),
);
```
See [`docs/API.md`](docs/API.md) for the export groups and their security