TypeScript implementation of Relish binary serialization format.
This API documentation covers three packages:
@grounds/core - Low-level T[L]V encoding and decoding
@grounds/schema - TypeBox integration for schema-driven serialization
@grounds/stream - Streaming utilities for encoding and decoding
Use the sidebar to browse exports by package. Each package's exports are organized into semantic groups:
All packages use neverthrow for error handling, returning Result<T, E> types instead of throwing exceptions. Use .match(), .andThen(), or .map() to handle success and error cases.
import { encode, U32 } from "@grounds/core";
encode(U32(42)).match(
(bytes) => console.log("Success:", bytes),
(error) => console.error("Error:", error.message),
);