# Buffer for Array Buffer for Array (B4A) provides a set of functions for bridging the gap between the Node.js `Buffer` class and the `Uint8Array` class. A browser compatibility layer is also included, making it possible to use B4A in both Node.js and browsers without having to worry about whether you're dealing with buffers or typed arrays. ## Installation ```sh npm install b4a ``` ## API #### `b4a.isBuffer(value)` See https://nodejs.org/api/buffer.html#static-method-bufferisbufferobj This will also return `true` when passed a `Uint8Array`. #### `b4a.isEncoding(encoding)` See https://nodejs.org/api/buffer.html#static-method-bufferisencodingencoding #### `b4a.alloc(size[, fill[, encoding]])` See https://nodejs.org/api/buffer.html#static-method-bufferallocsize-fill-encoding #### `b4a.allocUnsafe(size)` See https://nodejs.org/api/buffer.html#static-method-bufferallocunsafesize #### `b4a.allocUnsafeSlow(size)` See https://nodejs.org/api/buffer.html#static-method-bufferallocunsafeslowsize #### `b4a.byteLength(string)` See https://nodejs.org/api/buffer.html#static-method-bufferbytelengthstring-encoding #### `b4a.compare(buf1, buf2)` See https://nodejs.org/api/buffer.html#static-method-buffercomparebuf1-buf2 #### `b4a.concat(buffers[, totalLength])` See https://nodejs.org/api/buffer.html#static-method-bufferconcatlist-totallength #### `b4a.copy(source, target[, targetStart[, sourceStart[, sourceEnd]]])` See https://nodejs.org/api/buffer.html#bufcopytarget-targetstart-sourcestart-sourceend #### `b4a.equals(buf1, buf2)` See https://nodejs.org/api/buffer.html#bufequalsotherbuffer #### `b4a.fill(buffer, value[, offset[, end]][, encoding])` See https://nodejs.org/api/buffer.html#buffillvalue-offset-end-encoding #### `b4a.from(array)` See https://nodejs.org/api/buffer.html#static-method-bufferfromarray #### `b4a.from(arrayBuffer[, byteOffset[, length]])` See https://nodejs.org/api/buffer.html#static-method-bufferfromarraybuffer-byteoffset-length #### `b4a.from(buffer)` See https://nodejs.org/api/buffer.html#static-method-bufferfrombuffer #### `b4a.from(string[, encoding])` See https://nodejs.org/api/buffer.html#static-method-bufferfromstring-encoding #### `b4a.includes(buffer, value[, byteOffset][, encoding])` See https://nodejs.org/api/buffer.html#bufincludesvalue-byteoffset-encoding #### `b4a.indexOf(buffer, value[, byteOffset][, encoding])` See https://nodejs.org/api/buffer.html#bufindexofvalue-byteoffset-encoding #### `b4a.lastIndexOf(buffer, value[, byteOffset][, encoding])` See https://nodejs.org/api/buffer.html#buflastindexofvalue-byteoffset-encoding #### `b4a.swap16(buffer)` See https://nodejs.org/api/buffer.html#bufswap16 #### `b4a.swap32(buffer)` See https://nodejs.org/api/buffer.html#bufswap32 #### `b4a.swap64(buffer)` See https://nodejs.org/api/buffer.html#bufswap64 #### `b4a.toBuffer(buffer)` Convert a buffer to its canonical representation. In Node.js, the canonical representation is a `Buffer`. In the browser, the canonical representation is a `Uint8Array`. #### `b4a.toString(buffer, [encoding[, start[, end]]])` See https://nodejs.org/api/buffer.html#buftostringencoding-start-end #### `b4a.write(buffer, string[, offset[, length]][, encoding])` See https://nodejs.org/api/buffer.html#bufwritestring-offset-length-encoding #### `b4a.writeDoubleLE(buffer, value[, offset])` See https://nodejs.org/api/buffer.html#bufwritedoublelevalue-offset #### `b4a.writeFloatLE(buffer, value[, offset])` See https://nodejs.org/api/buffer.html#bufwritefloatlevalue-offset #### `b4a.writeUInt32LE(buffer, value[, offset])` https://nodejs.org/api/buffer.html#bufwriteuint32levalue-offset #### `b4a.writeInt32LE(buffer, value[, offset])` See https://nodejs.org/api/buffer.html#bufwriteint32levalue-offset #### `b4a.readDoubleLE(buffer[, offset])` See https://nodejs.org/api/buffer.html#bufreaddoubleleoffset #### `b4a.readFloatLE(buffer[, offset])` See https://nodejs.org/api/buffer.html#bufreadfloatleoffset #### `b4a.readUInt32LE(buffer[, offset])` See https://nodejs.org/api/buffer.html#bufreaduint32leoffset #### `b4a.readInt32LE(buffer[, offset])` See https://nodejs.org/api/buffer.html#bufreadint32leoffset ## License Apache 2.0