0.0.1-beta.2 • Published 2 years ago

sprut-buffer-structure v0.0.1-beta.2

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago
> npm i sprut-buffer-structure

Sprut-buffer-structure

Инструмент тестируется и будет дописываться или переписываться.

На данный момент значения переводятся в буфферы математическими расчётами.

В будущем, для типичных размеров типа, это может измениться.


Создаётся для собственных нужд и используется как зависимость в собственных пакетах. Будет использоваться для перевода объектов или примитивов в буфферы и шаринга между процессами данного буфера, с возможностью перевести обратно в те же структуры внутри процессов. Также для пересылки буферов по сетевым сокетам в обход JSON.parse, JSON.stringify и HTTP и подобных ему протоколов. Делается с мыслями о том, что это будет быстрее работать.


Инструмент для перевода текстовых данных заданной и динамической длины, численных значений заданной длины, массивов и объектов в буферы. Также может использоваться для перевода чисел в другие системы счиления с заданным основанием. Перевод в байти происходит с заданием основания 256.


Оглавление

Использование генератора класса сообщений:

const { MessageClass, MessageTypesAlias } = require('sprut-buffer-structure');

const SomeBufferMessage = MessageClass<number, string>(
    {
        dataTypes: [
            VarTypes.Number(2),
            VarTypes.String(MessageTypesAlias.dynamic),
        ],
        dynamicLengthLabelBytes: 2
    }
);

let msg = new SomeBufferMessage(100, '10');
console.log(msg.toBuffer()); // <Buffer 00 64 00 02 31 30>
console.log(msg.toBuffer().byteLength); // 6

Использование утилитных методов:

...

Описаны не все особенности. Некоторое из неописанного, возможно, будет выпилено.