Skip to content

NodeJS module to work with buffers as with structures

License

Notifications You must be signed in to change notification settings

DarthPigrum/struct-plus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

NodeJS module to work with buffers as with structures

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published