bfs-buffer
TypeScript icon, indicating that this package has built-in type declarations

0.1.7 • Public • Published

BrowserFS Buffer v0.1.7

An emulation of NodeJS's Buffer module. Used in BrowserFS.

Features

  • Space-efficient binary representation across browsers.
    • ArrayBuffer in modern browsers
    • CanvasPixelArray in older browsers that do not support typed arrays, but support the canvas.
    • Array of 32-bit ints in older browsers without the above.
  • Supports the entirety of the NodeJS Buffer API! (including string encoding)
    • ...with a few exceptions, due to browser limitations (see below).
  • Well-tested! Passes all of Node's Buffer tests.
    • The unit tests are located in the BrowserFS repository.

Use with Browserify

This module can be used with Browserify in place of its default Buffer module!

Here's the relevant configuration:

{
    builtins:
    {
        "buffer": require.resolve('bfs-buffer')
    },
    insertGlobalVars: {
        "Buffer": function() { return "require('bfs-buffer').Buffer" }
    }
}

Limitations

  • Does not support array indexing. e.g. you cannot do buff[0] = 3.
    • Browsers do not let you implement custom arrays, and merely setting the prototype of Buffer to Uint8Array, as in the official Node implementation of Buffer, is not portable across browsers.

Dependencies (0)

    Dev Dependencies (1)

    Package Sidebar

    Install

    npm i bfs-buffer

    Weekly Downloads

    16

    Version

    0.1.7

    License

    MIT

    Last publish

    Collaborators

    • jvilk