JSPM

base45-ts

1.0.3
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 347
  • Score
    100M100P100Q93914F

type-safe base45 encoder and decoder

Package Exports

  • base45-ts

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (base45-ts) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

npm

base45 typescript implementation

Simple typescript base45 (charset of Qr codes, alphanumeric mode) encoder/decoder.

This library exports an ES module, together with the required type annotations.

Example

import * as b45 from "base45-ts";

const buffer : Uint8Array = new TextEncoder().encode('Hello!')
const e : string = b45.encode(buffer);
console.log(e); // Will output %69 VD92EX0"

const d = b45.decode('%69 VD92EX0')
console.log(d); // will output 'Uint8Array(7) [72, 101, 108, 108, 111, 33, 33]'

const d = b45.decodeToUtf8String('%69 VD92EX0')
console.log(d); // will output 'Hello!'

Exported functions

decode

decode(utf8StringArg: string): Uint8Array

Decode a base45-encoded string

Parameters

  • utf8StringArg, string: A base45-encoded string

Returns

An Uint8Array containing the decoded data

decodeToUtf8String

decodeToUtf8String(utf8StringArg: string): string

Same as decode, but returns a string instead of a typed array. If the base45-encoded data was not valid UTF-8, throws an error.

Parameters

  • utf8StringArg, string: base45-encoded string representing an utf8 string

Returns

the decoded string

encode

encode(byteArrayArg: Uint8Array | number[]): string

Encode binary data to base45

Parameters

  • byteArrayArg: Uint8Array | number[] An array of bytes to encode

Returns

a base45-encoded string

Development

This library doesn't have any dependency.

  • Build the code with npm run build
  • Test with npm test