You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

18 lines
579 B

5 years ago
  1. /* -*- Mode: js; js-indent-level: 2; -*- */
  2. /*
  3. * Copyright 2011 Mozilla Foundation and contributors
  4. * Licensed under the New BSD license. See LICENSE or:
  5. * http://opensource.org/licenses/BSD-3-Clause
  6. */
  7. const intToCharMap = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
  8. /**
  9. * Encode an integer in the range of 0 to 63 to a single base 64 digit.
  10. */
  11. exports.encode = function(number) {
  12. if (0 <= number && number < intToCharMap.length) {
  13. return intToCharMap[number];
  14. }
  15. throw new TypeError("Must be between 0 and 63: " + number);
  16. };