Skip to content

larswaechter/bufferlo.js

Repository files navigation

bufferlo.js

A TypeScript library built for the Node Buffer class.

NPM

Tests Linter

Introduction

bufferlo.js is TypeScript library that simplifies the work with Node's Buffer class. It uses a Buffer instance under the hood and provides multiple methods to interact with this buffer.

What is a Buffer? (Source)

The Buffer class in Node.js is designed to handle raw binary data. Each buffer corresponds to some raw memory allocated outside V8. Buffers act somewhat like arrays of integers, but aren't resizable and have a whole bunch of methods specifically for binary data. The integers in a buffer each represent a byte and so are limited to values from 0 to 255 inclusive.

💻 Installation

Install via npm:

npm i --save bufferlo.js

🔨 Usage

How to import bufferlo.js and how to use it. You can find all methods in the docs.

// ES6: import Bufferlo from 'bufferlo.js';
const Bufferlo = require('bufferlo.js');

const bf = new Bufferlo();
bf.alloc(3);

bf.append('a');
bf.append('b');
bf.available(); // 1 byte
bf.toDecimal(); // 097098000

bf.write('xyz');
bf.fit('a'); // false
bf.available(); // 0 bytes

bf.extend(5);
bf.length; // 8 bytes
bf.available(); // 5 bytes

bf.openFile('./dummy.txt');
bf.writeToFileSync(); // writes 'xyz' to dummy.txt

bf.buffer; // Access the raw `Buffer` instance

📚 Documentation

You can find the complete documentation including all available methods here. Otherwise check out the tests for a bunch of examples.

🧩 Contributing

See CONTRIBUTING.md

🔑 License

bufferlo.js is released under MIT license.