Serialize and deserialize typed schemas without the need for redundant interfaces or an external DSL. Schemas themselves define what type they encode and decode, and the IDE knows it!
- Since value types are inferred from the schemas themselves, there is a single source-of-truth.
- No external DSL necessary to define the schemas, meaning you have instant feedback without the need to compile the interface definitions.
- It's platform independent (use it in Node.js as well as in in Browsers)
- While being made with TypeScript in mind, it also works in plain JavaScript.
The typed binary documentation is a great starting point for learning how to use the library.
# using npm
npm install typed-binary
# using pnpm
pnpm add typed-binary
# using yarn
yarn add typed-binary
To properly enable type inference, TypeScript 4.5 and up is required because of it's newly added Tail-Recursion Elimination on Conditional Types feature,
There are a handful of examples provided. To run any one of them make sure to clone the typed-binary repository first, then go into the examples/
directory. To setup the examples environment, run pnpm install
, which will fetch dependencies, build the parent project and link it to the 'examples' project.
Pick an example that peaks interest, and run pnpm example:exampleName
.