Glorious Binary Serialization and Deserialization 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.
eval()
or Function()
by defaultimport "sirdez/eval"
Performance Comparison with other tools in Node (ops/sec)
Expand for more details.
npm i sirdez
yarn add sirdez
import * as sd from "sirdez";
const sd = require("sirdez");
<script src="https://cdn.jsdelivr.net/npm/sirdez/dist/sirdez.umd.js"></script>
import * as sd from "https://cdn.jsdelivr.net/npm/sirdez/dist/sirdez.es.js";
const sd = await import(
"https://cdn.jsdelivr.net/npm/sirdez/dist/sirdez.es.js"
);
import * as sd from "https://deno.land/x/sirdez/mod.ts";
const sd = await import("https://deno.land/x/sirdez/mod.ts");
const person = sd.use(
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 });
type Person = sd.GetType<typeof person>;
const bob: Person = {
name: "Bob",
age: 23
};
msgpack
extension mechanism using classesmsgpack
becomes very slow for large arrays (help wanted for optimizing it! 🙏)Help and suggestions are welcomed!
Copyright 2022 Wei (weisrc).
This software is under the MIT license.
Please see LICENSE for more information.