aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/data-urls/lib/utils.js
blob: 8f5a4245c607558afc02a4f6df3208eac22c7d78 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
"use strict";

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

exports.isomorphicDecode = input => {
  return Array.from(input, byte => String.fromCodePoint(byte)).join("");
};

exports.forgivingBase64Decode = data => {
  let asString;
  try {
    asString = atob(data);
  } catch {
    return null;
  }

  return Uint8Array.from(asString, c => c.codePointAt(0));
};