site-panzai/node_modules/bare-buffer/lib/base64.js
2026-11-13 13:57:04 +01:00

25 lines
741 B
JavaScript

const binding = require('../binding')
const checked = require('./checked')
exports.byteLength = function byteLength(string) {
let len = string.length
if (string.charCodeAt(len - 1) === 0x3d) len--
if (len > 1 && string.charCodeAt(len - 1) === 0x3d) len--
return (len * 3) >>> 2
}
exports.toString = function toString(buffer, start = 0, end = buffer.byteLength) {
return binding.toStringBase64(buffer.buffer, buffer.byteOffset + start, end - start)
}
exports.write = function write(buffer, string, start = 0, end = buffer.byteLength) {
const written = checked(
binding.writeBase64(buffer.buffer, buffer.byteOffset + start, end - start, string)
)
if (written < 0) throw new Error('Invalid input')
return written
}