Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View chris-kruining's full-sized avatar

Chris Kruining chris-kruining

  • Archipel academy
  • Nederland
View GitHub Profile
@chris-kruining
chris-kruining / binary.ts
Created February 8, 2024 09:08
Zod binary serialization/encoding POC
import { z, ZodDate, ZodNumber, ZodBoolean, ZodString, ZodObject, ZodDiscriminatedUnion, ZodEnum, ZodArray, ZodTypeAny, ZodLiteral } from "zod";
const textEncoder = new TextEncoder();
const textDecoder = new TextDecoder();
export async function serialize<T extends ZodTypeAny>(schema: T, data: z.infer<T>): Promise<ArrayBuffer> {
let accumulation = new Uint8Array();
for await (const k of _serialize(schema, data, '')) {
accumulation = concatTypedArrays(accumulation, k);