typed-binary
v4.2.0
Published
Describe binary structures with full TypeScript support. Encode and decode into pure JavaScript objects.
Downloads
1,764
Maintainers
Readme
Describe binary structures with full TypeScript support.
Why Typed Binary?
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.
Documentation
The typed binary documentation is a great starting point for learning how to use the library.
Installation
# 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,
Running examples
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
.