dataproto

1.1.3 • Public • Published

DataReader, DataWriter

Read from and write to a data buffer, with static typing

import { DataReader, DataWriter } from 'dataproto'

const writer = new DataWriter()

writer.int(123)
writer.string('Hello world!')

const buffer = writer.build() // Uint8Array(17) [0, 0, 0, 123, 12, ...]

const reader = new DataReader(buffer)

console.assert(reader.int() == 123)
console.assert(reader.string() == 'Hello World!')

Schemas

This is meant for situations where the type to be written cannot be known ahead of time. For performance reasons, don't use this unless you have to.

import { DataReader, DataWriter } from 'dataproto'

const Schema = {a: String, b: [Int, 3]}

const writer = new DataWriter()

writer.write(Schema, {a: 'Hello', b: [1, 2, 3]})

// Save to a file
fs.writeFileSync('./someObject.dat', writer.build())

// Read file again
const reader = new DataReader(fs.readFileSync('./someObject.dat'))

console.log(reader.read(Schema)) // {a: 'Hello', b: [1, 2, 3]}

Readme

Keywords

none

Package Sidebar

Install

npm i dataproto

Weekly Downloads

5

Version

1.1.3

License

GPL3

Unpacked Size

13.9 kB

Total Files

3

Last publish

Collaborators

  • blobkat