@auth0/cose
Version:
COSE library for node.js
26 lines (25 loc) • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.decodeBase64URL = exports.encodeBase64URL = exports.encodeBase64 = exports.decodeBase64 = void 0;
const buffer_1 = require("buffer");
const buffer_utils_js_1 = require("../../lib/buffer_utils.js");
let encode;
function normalize(input) {
let encoded = input;
if (encoded instanceof Uint8Array) {
encoded = buffer_utils_js_1.decoder.decode(encoded);
}
return encoded;
}
if (buffer_1.Buffer.isEncoding('base64url')) {
exports.encodeBase64URL = encode = (input) => buffer_1.Buffer.from(input).toString('base64url');
}
else {
exports.encodeBase64URL = encode = (input) => buffer_1.Buffer.from(input).toString('base64').replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_');
}
const decodeBase64 = (input) => buffer_1.Buffer.from(input, 'base64');
exports.decodeBase64 = decodeBase64;
const encodeBase64 = (input) => buffer_1.Buffer.from(input).toString('base64');
exports.encodeBase64 = encodeBase64;
const decodeBase64URL = (input) => buffer_1.Buffer.from(normalize(input), 'base64');
exports.decodeBase64URL = decodeBase64URL;