Skip to content

little-core-labs/base64-wasm

Repository files navigation

base64-wasm

A Base64 implementation for WebAssembly (WASM) written in ZZ that implements an Abstract Encoding interface.

Installation

Node

$ npm install base64-wasm

WAPM

$ wapm install jwerle/base64-wasm

Usage

const b64 = require('base64-wasm')

// wait for module to be ready if loading in a browser environment
b64.ready((err) => {
  const message = Buffer.from('hello world')
  const encoded = b64.encode(message)

  console.log(encoded.toString()) // aGVsbG8gd29ybGQ=

  const decoded = b64.decode(encoded)

  console.log(decoded.toString()) // hello world
})

API

buffer = encode(input[, buffer[, offset]])

Base64 encode an input optionally into buffer at an optionally specified offset.

buffer = decode(input[, buffer[, offset]])

Base64 decode an input optionally into buffer at an optionally specified offset.

promise = ready(callback)

Returns a promise that resolves or rejects when the WebAssembly exports are loading. In some cases, this may happen synchronously when this module is loaded.

await b64.ready()

Limits

Initial Memory

By default, this module allocates 2 pages of memory for the WebAssembly module. That is 2 * 64 * 1024 bytes.

Maximum Memory

This module allows at most 256 pages of memory. That is 256 * 64 * 1024 bytes.

License

MIT

About

A Base64 implementation for WebAssembly (WASM) written in ZZ

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published