summaryrefslogtreecommitdiff
path: root/alarm/node_modules/data-urls/lib/utils.js
blob: 213029fcec1fc485cdc9b909b91da73d81cedf3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
"use strict";
const { percentDecode } = require("whatwg-url");
const { atob } = require("abab");

exports.stripLeadingAndTrailingASCIIWhitespace = string => {
  return string.replace(/^[ \t\n\f\r]+/, "").replace(/[ \t\n\f\r]+$/, "");
};

exports.stringPercentDecode = input => {
  return percentDecode(Buffer.from(input, "utf-8"));
};

exports.isomorphicDecode = input => {
  return input.toString("binary");
};

exports.forgivingBase64Decode = data => {
  const asString = atob(data);
  if (asString === null) {
    return null;
  }
  return Buffer.from(asString, "binary");
};