bufferutility v3.0.4
Basic installation and usage
You can install this package by using your preferred node package manager (NPM, PNPM, Yarn, etc) or bun
npm install bufferutility # NPM
pnpm add bufferutility # PNPM
yarn add bufferutility # Yarn
bun add bufferutility # BunYou can then start using the package by requiring it from your application as such:
import { BufferUtility } from 'bufferutility';Common Usage
Create a new BufferUtility
import { BufferUtility } from 'bufferutility';
const buffer = new BufferUtility();
console.log(buffer);
// <BufferUtility>
buffer[0] = 0xfa; // or buffer.writeByte(0xfa, 0);
console.log(buffer);
// <BufferUtility fa>
console.log(buffer[0]); // or console.log(buffer.readByte(0));
// 250Create a BufferUtility with different modules
BufferUtility actually have 3 modules you can use
Uint8ArrayModule(compatible with Node and Bun): It use an Uint8Array to store the data (default module).NodeBufferModule(compatible with Node): It use a NodeJS Buffer to store the data.FileSystemModule(compatible with Node and Bun): It use a file to store the data (permit "infinite" size).
// Uint8Array module
import { BufferUtility, Uint8ArrayModule } from 'bufferutility';
const Uint8Buffer = new BufferUtility([], {
module: Uint8ArrayModule
});
Uint8Buffer.writeByte(15);
console.log(Uint8Buffer.buffer) // Uint8Array(1) [ 15 ]
// Node Buffer module
import { BufferUtility, NodeBufferModule } from 'bufferutility';
const NodeBuffer = new BufferUtility([], {
module: NodeBufferModule
});
NodeBuffer.writeByte(15);
console.log(NodeBuffer.buffer) // <Buffer 0f>
// File System module
import { BufferUtility, FileSystemModule } from 'bufferutility';
const FSBuffer = new BufferUtility("file.txt", {
module: FileSystemModule
});
FSBuffer.writeString("data");
import { readFileSync } from 'fs';
console.log(readFileSync("file.txt", "utf8")) // data
// FSBuffer.buffer return the file descriptorFunction: BufferUtility
isBufferUtility(obj)
obj:<Object>- Returns :
<boolean>
Returns true if obj is a BufferUtility, false otherwise.
const buf1 = new BufferUtility("a BufferUtility");
const buf2 = Buffer.from("a Node Buffer");
console.log(BufferUtility.isBufferUtility(buf1));
// true
console.log(BufferUtility.isBufferUtility(buf2));
// falsebyteLength(string, encoding)
See https://nodejs.org/api/buffer.html#buffer_static_method_buffer_bytelength_string_encoding
Class: BufferUtility
new BufferUtility([data, opts])
data:<String>|<Array>|<Buffer>|<Uint8Array>|<Number>A property determinate the value of the BufferUtility. Default:undefined(empty)opts:<Object>Set of configurable options to set on the Buffer. Can have the following fields:module:<Module>The module used by the Buffer. Default:<Uint8ArrayModule>.maxArrayLength:<Number>The max length an ArrayBuffer can take. Default:buffer.kMaxLength.returnAsBigIntIfOverflow:<Boolean>Return a BigInt for read functions if value is under Number.MIN_SAFE_INTEGER or greater than Number.MAX_SAFE_INTEGER. Default:true.returnAsBigInt:<Boolean>Always return a BigInt for read functions (overridereturnAsBigIntIfOverflow). Default:false.offset:<Number>The forced start offset of the buffer source. Default:0.length:<Number>The forced length of the buffer source. Default:buf.length.
- Returns :
<BufferUtility>
Create a new BufferUtility instance from data and opts properties
const buf1 = new BufferUtility(); // Empty buf
const buf2 = new BufferUtility("test"); // Buf with test in bytes
const buf3 = new BufferUtility(64); // Alloc 64 bytes
const buf4 = new BufferUtility([54, 76]); // Buf with bytes 54 and 76More documentation
More documentation on this readme will come soon, they are approximately the same as the version 2. You can check them here https://github.com/pharuxtan/BufferUtility/blob/v2/README.md#bufferutility
read7BitEncodedInt/read7BitEncodedInt64/write7BitEncodedInt/write7BitEncodedInt64 is replaced by readULEB128/writeULEB128/readSLEB128/writeSLEB128
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago