Hhertz/node_modules/matrix-bot-sdk/lib/b64.js
2025-07-31 23:47:20 +03:00

64 lines
2.1 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.decodeUnpaddedUrlSafeBase64 = exports.decodeUnpaddedBase64 = exports.decodeBase64 = exports.encodeUnpaddedUrlSafeBase64 = exports.encodeUnpaddedBase64 = exports.encodeBase64 = void 0;
/**
* Encodes Base64.
* @category Utilities
* @param {ArrayBuffer | Uint8Array} b The buffer to encode.
* @returns {string} The Base64 string.
*/
function encodeBase64(b) {
return Buffer.from(b).toString('base64');
}
exports.encodeBase64 = encodeBase64;
/**
* Encodes Unpadded Base64.
* @category Utilities
* @param {ArrayBuffer | Uint8Array} b The buffer to encode.
* @returns {string} The Base64 string.
*/
function encodeUnpaddedBase64(b) {
return encodeBase64(b).replace(/=+/g, '');
}
exports.encodeUnpaddedBase64 = encodeUnpaddedBase64;
/**
* Encodes URL-Safe Unpadded Base64.
* @category Utilities
* @param {ArrayBuffer | Uint8Array} b The buffer to encode.
* @returns {string} The Base64 string.
*/
function encodeUnpaddedUrlSafeBase64(b) {
return encodeUnpaddedBase64(b).replace(/\+/g, '-').replace(/\//g, '_');
}
exports.encodeUnpaddedUrlSafeBase64 = encodeUnpaddedUrlSafeBase64;
/**
* Decodes Base64.
* @category Utilities
* @param {string} s The Base64 string.
* @returns {Uint8Array} The encoded data as a buffer.
*/
function decodeBase64(s) {
return Buffer.from(s, 'base64');
}
exports.decodeBase64 = decodeBase64;
/**
* Decodes Unpadded Base64.
* @category Utilities
* @param {string} s The Base64 string.
* @returns {Uint8Array} The encoded data as a buffer.
*/
function decodeUnpaddedBase64(s) {
return decodeBase64(s); // yay, it's the same
}
exports.decodeUnpaddedBase64 = decodeUnpaddedBase64;
/**
* Decodes URL-Safe Unpadded Base64.
* @category Utilities
* @param {string} s The Base64 string.
* @returns {Uint8Array} The encoded data as a buffer.
*/
function decodeUnpaddedUrlSafeBase64(s) {
return decodeUnpaddedBase64(s.replace(/-/g, '+').replace(/_/g, '/'));
}
exports.decodeUnpaddedUrlSafeBase64 = decodeUnpaddedUrlSafeBase64;
//# sourceMappingURL=b64.js.map