summaryrefslogtreecommitdiff
path: root/alarm/node_modules/data-urls/lib
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2023-01-10 14:54:04 +0100
committerMinteck <contact@minteck.org>2023-01-10 14:54:04 +0100
commit99c1d9af689e5325f3cf535c4007b3aeb8325229 (patch)
treee663b3c2ebdbd67c818ac0c5147f0ce1d2463cda /alarm/node_modules/data-urls/lib
parent9871b03912fc28ad38b4037ebf26a78aa937baba (diff)
downloadpluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.tar.gz
pluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.tar.bz2
pluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.zip
Update - This is an automated commit
Diffstat (limited to 'alarm/node_modules/data-urls/lib')
-rw-r--r--alarm/node_modules/data-urls/lib/parser.js74
-rw-r--r--alarm/node_modules/data-urls/lib/utils.js23
2 files changed, 0 insertions, 97 deletions
diff --git a/alarm/node_modules/data-urls/lib/parser.js b/alarm/node_modules/data-urls/lib/parser.js
deleted file mode 100644
index 37be0ef..0000000
--- a/alarm/node_modules/data-urls/lib/parser.js
+++ /dev/null
@@ -1,74 +0,0 @@
-"use strict";
-const MIMEType = require("whatwg-mimetype");
-const { parseURL, serializeURL } = require("whatwg-url");
-const {
- stripLeadingAndTrailingASCIIWhitespace,
- stringPercentDecode,
- isomorphicDecode,
- forgivingBase64Decode
-} = require("./utils.js");
-
-module.exports = stringInput => {
- const urlRecord = parseURL(stringInput);
-
- if (urlRecord === null) {
- return null;
- }
-
- return module.exports.fromURLRecord(urlRecord);
-};
-
-module.exports.fromURLRecord = urlRecord => {
- if (urlRecord.scheme !== "data") {
- return null;
- }
-
- const input = serializeURL(urlRecord, true).substring("data:".length);
-
- let position = 0;
-
- let mimeType = "";
- while (position < input.length && input[position] !== ",") {
- mimeType += input[position];
- ++position;
- }
- mimeType = stripLeadingAndTrailingASCIIWhitespace(mimeType);
-
- if (position === input.length) {
- return null;
- }
-
- ++position;
-
- const encodedBody = input.substring(position);
-
- let body = stringPercentDecode(encodedBody);
-
- // Can't use /i regexp flag because it isn't restricted to ASCII.
- const mimeTypeBase64MatchResult = /(.*); *[Bb][Aa][Ss][Ee]64$/.exec(mimeType);
- if (mimeTypeBase64MatchResult) {
- const stringBody = isomorphicDecode(body);
- body = forgivingBase64Decode(stringBody);
-
- if (body === null) {
- return null;
- }
- mimeType = mimeTypeBase64MatchResult[1];
- }
-
- if (mimeType.startsWith(";")) {
- mimeType = "text/plain" + mimeType;
- }
-
- let mimeTypeRecord;
- try {
- mimeTypeRecord = new MIMEType(mimeType);
- } catch (e) {
- mimeTypeRecord = new MIMEType("text/plain;charset=US-ASCII");
- }
-
- return {
- mimeType: mimeTypeRecord,
- body
- };
-};
diff --git a/alarm/node_modules/data-urls/lib/utils.js b/alarm/node_modules/data-urls/lib/utils.js
deleted file mode 100644
index 213029f..0000000
--- a/alarm/node_modules/data-urls/lib/utils.js
+++ /dev/null
@@ -1,23 +0,0 @@
-"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");
-};