@webex/common
Version:
Common utilities for Cisco Webex
77 lines (70 loc) • 1.94 kB
JavaScript
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.decode = decode;
exports.default = void 0;
exports.encode = encode;
exports.fromBase64url = fromBase64url;
exports.toBase64Url = toBase64Url;
exports.validate = validate;
var _urlsafeBase = _interopRequireDefault(require("urlsafe-base64"));
var _safeBuffer = require("safe-buffer");
var _isBuffer = _interopRequireDefault(require("./isBuffer"));
/*!
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
*/
/**
* Converts a string from a base64url-encoded string
* @param {string} str
* @returns {string}
*/
function fromBase64url(str) {
return _urlsafeBase.default.decode(str).toString();
}
/**
* Converts a string to a base64url-encoded string. It also accepts a buffer
* @param {string|buffer} str
* @returns {string}
*/
function toBase64Url(str) {
var buffer = str;
if (!(0, _isBuffer.default)(buffer)) {
buffer = _safeBuffer.Buffer.from(buffer);
}
return _urlsafeBase.default.encode(buffer);
}
/**
* Converts a string to a base64url-encoded string. It also accepts a buffer
* @param {string|buffer} str
* @returns {string}
*/
function encode(str) {
return toBase64Url(str);
}
/**
* Converts a string from a base64url-encoded string
* @param {string} str
* @returns {string}
*/
function decode(str) {
return fromBase64url(str);
}
/**
* Indicates if the provided string is, in fact, a base64 string
* @param {String} str
* @returns {Boolean}
*/
function validate(str) {
return _urlsafeBase.default.validate(str);
}
var _default = exports.default = {
fromBase64url: fromBase64url,
toBase64Url: toBase64Url,
encode: encode,
decode: decode,
validate: validate
};
//# sourceMappingURL=base64.js.map
;