crypto-conditions
Version:
Implementation of crypto-conditions in JavaScript
59 lines (48 loc) • 1.57 kB
JavaScript
;
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass"));
/**
* @module util
*/
/**
* Utility class for encoding and decoding Base64Url.
*/
var Base64Url = /*#__PURE__*/function () {
function Base64Url() {
(0, _classCallCheck2.default)(this, Base64Url);
}
(0, _createClass2.default)(Base64Url, null, [{
key: "decode",
value:
/**
* Convert a base64url encoded string to a Buffer.
*
* @param {String} base64urlString base64url-encoded string
* @return {Buffer} Decoded data.
*/
function decode(base64urlString) {
var base64String = base64urlString.replace(/-/g, '+').replace(/_/g, '/');
return Buffer.from(base64String, 'base64');
}
/**
* Encode a buffer as base64url.
*
* @param {Buffer} buffer Data to encode.
* @return {String} base64url-encoded data.
*/
}, {
key: "encode",
value: function encode(buffer) {
return buffer.toString('base64').replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_');
}
}]);
return Base64Url;
}();
var _default = Base64Url;
exports.default = _default;