Glorious Binary Serialization and Deserialization for TypeScript
Glorious SerDes for TypeScript
The library you can rely on,
For binary serialization and deserialization,
In Node, Deno, and the Web environment,
Which is simple and yet performant.
Features
- 99% tree-shakable
- Zero dependencies (small footprint)
- Full Node, Deno and browser support
- Performant
- Super extensible
- Easy to use
Installation
Expand for more details.
Node (Webpack, Babel, React, Svelte, Vue, Svelte…)In the terminal with NPM
npm i sirdez
Or with Yarn
yarn add sirdez
In the code with ES Modules
import * as sd from "sirdez";
or with CommonJS
const sd = require("sirdez");
In HTML with UMD
<script src="https://cdn.jsdelivr.net/npm/sirdez/dist/sirdez.umd.js"></script>
In an ES module script (statically)
import * as sd from "https://cdn.jsdelivr.net/npm/sirdez/dist/sirdez.es.js";
In an ES module script (dynamically)
const sd = await import(
"https://cdn.jsdelivr.net/npm/sirdez/dist/sirdez.es.js"
);
In code (statically)
import * as sd from "https://deno.land/x/sirdez/mod.ts";
In code (dynamically)
const sd = await import("https://deno.land/x/sirdez/mod.ts");
Usage
Simple snippet of code
const person = sd.struct({
name: sd.string(sd.utf8, sd.uint8),
age: sd.uint8
});
const bytes = person.toBytes({
name: "Bob",
age: 23
});
const samePerson = person.fromBytes(bytes);
console.log({ bytes, samePerson });
Using TypeScript utilities
type Person = sd.GetType<typeof person>;
const bob: Person = {
name: "Bob",
age: 23
};
Resources
Contribution
Help and suggestions are welcomed!