mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-22 05:59:31 +08:00
* Expand Node 24 text-encoding support * Update codec diagnostics for encodeInto support
18 lines
1.3 KiB
TypeScript
18 lines
1.3 KiB
TypeScript
import { isAscii, isUtf8, transcode } from "node:buffer";
|
|
|
|
for (const input of [undefined, null, 1, "x", {}, [], new DataView(new ArrayBuffer(2))]) {
|
|
try { console.log(isAscii(input as Uint8Array)); }
|
|
catch (error) { if (error instanceof Error) console.log(error.name, (error as NodeJS.ErrnoException).code, error.message); }
|
|
try { console.log(isUtf8(input as Uint8Array)); }
|
|
catch (error) { if (error instanceof Error) console.log(error.name, (error as NodeJS.ErrnoException).code, error.message); }
|
|
try { console.log(transcode(input as Uint8Array, "utf8", "ascii")); }
|
|
catch (error) { if (error instanceof Error) console.log(error.name, (error as NodeJS.ErrnoException).code, error.message); }
|
|
}
|
|
for (const encoding of [undefined, null, "", "bad", "hex", "base64", 1, {}]) {
|
|
try { console.log(transcode(Buffer.from("abc"), encoding as string, "utf8").toString("hex")); }
|
|
catch (error) { if (error instanceof Error) console.log(error.name, (error as NodeJS.ErrnoException).code, error.message); }
|
|
try { console.log(transcode(Buffer.from("abc"), "utf8", encoding as string).toString("hex")); }
|
|
catch (error) { if (error instanceof Error) console.log(error.name, (error as NodeJS.ErrnoException).code, error.message); }
|
|
}
|
|
console.log(transcode(Buffer.alloc(0), "bad", "hex").length);
|