UNPKG

@waiting/base64

Version:

Base64 encoding/decoding in pure JS on both modern Browsers and Node.js. Also supports URL-safe base64

35 lines (30 loc) 957 B
import { ErrMsg } from './config' import { isArrayBuffer, isUint8Array, parseDecodeInputBase64, parseEncodeInputString, } from './helper' export function nodeEncode(input) { const str = parseEncodeInputString(input) const ret = Buffer.from(str).toString('base64') return ret } export function nodeDecode(base64, outputEncoding) { const str = parseDecodeInputBase64(base64) const ret = Buffer.from(str, 'base64').toString(outputEncoding) return ret } /** Encode to base64, source from ArrayBuffer or Uint8Array */ export function fromBuffer(buf) { let inst if (!buf) { throw new TypeError(ErrMsg.fromArrayBufferInvalidParam) } else if (isUint8Array(buf)) { inst = Buffer.from(buf) } else if (isArrayBuffer(buf)) { inst = Buffer.from(buf) } else { throw new TypeError(ErrMsg.fromArrayBufferInvalidParam) } const ret = inst.toString('base64') return ret }