aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/data-urls/lib/parser.js
diff options
context:
space:
mode:
authorAdam Mathes <adam@adammathes.com>2026-02-14 14:46:37 -0800
committerAdam Mathes <adam@adammathes.com>2026-02-14 14:46:37 -0800
commitafa87af01c79a9baa539f2992d32154d2a4739bd (patch)
tree92c7416db734270a2fee1d72ee9cc119379ff8e1 /vanilla/node_modules/data-urls/lib/parser.js
parent3b927e84d200402281f68181cd4253bc77e5528d (diff)
downloadneko-afa87af01c79a9baa539f2992d32154d2a4739bd.tar.gz
neko-afa87af01c79a9baa539f2992d32154d2a4739bd.tar.bz2
neko-afa87af01c79a9baa539f2992d32154d2a4739bd.zip
task: delete vanilla js prototype\n\n- Removed vanilla/ directory and web/dist/vanilla directory\n- Updated Makefile, Dockerfile, and CI workflow to remove vanilla references\n- Cleaned up web/web.go to remove vanilla embed and routes\n- Verified build and tests pass\n\nCloses NK-2tcnmq
Diffstat (limited to 'vanilla/node_modules/data-urls/lib/parser.js')
-rw-r--r--vanilla/node_modules/data-urls/lib/parser.js69
1 files changed, 0 insertions, 69 deletions
diff --git a/vanilla/node_modules/data-urls/lib/parser.js b/vanilla/node_modules/data-urls/lib/parser.js
deleted file mode 100644
index f3f708f..0000000
--- a/vanilla/node_modules/data-urls/lib/parser.js
+++ /dev/null
@@ -1,69 +0,0 @@
-"use strict";
-const { MIMEType } = require("whatwg-mimetype");
-const { parseURL, serializeURL, percentDecodeString } = require("whatwg-url");
-const { stripLeadingAndTrailingASCIIWhitespace, 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 = percentDecodeString(encodedBody);
-
- // Can't use /i regexp flag because it isn't restricted to ASCII.
- const mimeTypeBase64MatchResult = /(.*); *[Bb][Aa][Ss][Ee]64$/u.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 {
- mimeTypeRecord = new MIMEType("text/plain;charset=US-ASCII");
- }
-
- return {
- mimeType: mimeTypeRecord,
- body
- };
-};