seria
TypeScript icon, indicating that this package has built-in type declarations

0.1.9 • Public • Published

seria

npm CI

Seria is a serialization and deserialization library that goes beyond the conventional capabilities of JSON. It provides seamless handling for various data types, including those that JSON cannot handle directly.

This library is inspired on the new serialization capabilities react provides for server actions.

Installation

npm install seria
yarn add seria
pnpm add seria

Usage

Serialization and Deserialization

import * as seria from "seria";

const json = seria.stringify(value);
const value = seria.parse(json);

FormData Handling

Seria also supports encoding and decoding FormData:

import { encode, decode } from "seria/form-data";

const formData = encode(value);
const value = decode(formData);

Stream Handling

Seria provides stream-based serialization and deserialization:

import * as seria from "seria";

const stream = seria.stringifyToStream(value);
const result = await seria.parseFromStream(stream);

If you serialize a value that contains any Promise you need to serialize using a stream or use seria.stringifyAsync which resolve all the promises.

Supported Data Types

Types supported by seria in comparison with the standard JSON object.

Data Type seria.stringify/parse JSON.stringify/parse
string
number
boolean
null
undefined
Date
BigInt
Promise
Symbol
Set
Map
ArrayBuffer
Int8Array
Uint8Array
Uint8ClampedArray
Int16Array
Uint16Array
Int32Array
Uint32Array
Float32Array
Float64Array
BigInt64Array
BigUint64Array
DataView
File*
FormData*

File and FormData are supported on seria/form-data.

Package Sidebar

Install

npm i seria

Weekly Downloads

6

Version

0.1.9

License

MIT

Unpacked Size

530 kB

Total Files

94

Last publish

Collaborators

  • neociber94