index.js 542 B

123456789101112131415161718192021222324
  1. 'use strict';
  2. var base64url = module.exports;
  3. base64url.unescape = function unescape (str) {
  4. return (str + '==='.slice((str.length + 3) % 4))
  5. .replace(/\-/g, '+')
  6. .replace(/_/g, '/');
  7. };
  8. base64url.escape = function escape (str) {
  9. return str.replace(/\+/g, '-')
  10. .replace(/\//g, '_')
  11. .replace(/=/g, '');
  12. };
  13. base64url.encode = function encode (str) {
  14. return this.escape(new Buffer(str).toString('base64'));
  15. };
  16. base64url.decode = function decode (str) {
  17. return new Buffer(this.unescape(str), 'base64').toString();
  18. };