struct-plus

0.0.2 • Public • Published

NodeJS module to work with buffers as with structures

Build Status Codacy Badge npm version

Usage

Declaration

To describe the structure you should use this syntax:

const { struct } = require('struct-plus');
const description = struct([type0, name0, arraySize0(optional)], [type1, name1, arraySize1(optional)],...);

Where type may be:
1.Scalar(int,float,double,char(n))
2.Another structure description
You can use built-in scalar types:

const { struct } = require('struct-plus');
const types = require('struct-plus/types');
const substruct = struct([types.int8, 'first'], [types.uint16, 'second'], [types.int48, 'array', 10]);
const description = struct([types.char(16), 'name'], [substruct, 'info']);
Assigning

Then you can use this description to allocate Buffer:

const { Struct } = require('struct-plus');
const instance = new Struct(description);

You can get Buffer of this instance using instance.buffer. To get access in JavaScript-readable format you should use instance.data:

instance.data.name = 'Alice';
instance.data.info.first = 42;
instance.data.info.array[7] = 0xABCDEF;

You can also use objects to set values(it behaves as Object.assign):

instance.data.info = { first: 77, second: 34 };

In this example first will be set to 77, second to 34, array will not be changed.

Readme

Keywords

Package Sidebar

Install

npm i struct-plus

Weekly Downloads

2

Version

0.0.2

License

MIT

Unpacked Size

13.1 kB

Total Files

8

Last publish

Collaborators

  • darthpigrum