summaryrefslogtreecommitdiffstats
path: root/docusaurus/src/functions
diff options
context:
space:
mode:
Diffstat (limited to 'docusaurus/src/functions')
-rw-r--r--docusaurus/src/functions/submitMathInputForm.ts23
-rw-r--r--docusaurus/src/functions/submitMathInputForm.tsx23
-rw-r--r--docusaurus/src/functions/typescriptNever.ts10
3 files changed, 33 insertions, 23 deletions
diff --git a/docusaurus/src/functions/submitMathInputForm.ts b/docusaurus/src/functions/submitMathInputForm.ts
new file mode 100644
index 0000000..cf3294b
--- /dev/null
+++ b/docusaurus/src/functions/submitMathInputForm.ts
@@ -0,0 +1,23 @@
+/* SPDX-License-Identifier: AGPL-3.0-or-later */
+
+import React from "react";
+
+export default (event: React.FormEvent<HTMLFormElement>): void => {
+ event.preventDefault();
+ const htmlFormElement = event.currentTarget;
+ const formData = new FormData(htmlFormElement);
+ const i = formData.get("i");
+
+ const url = new URL("/input/", window.location.href);
+
+ if (typeof i === "string") {
+ url.searchParams.set("i", i);
+ } else if (i instanceof File) {
+ console.warn({ i });
+ } else {
+ const typescriptExhaustivenessCheck: never = i;
+ console.warn({ typescriptExhaustivenessCheck });
+ }
+
+ window.location.assign(url);
+};
diff --git a/docusaurus/src/functions/submitMathInputForm.tsx b/docusaurus/src/functions/submitMathInputForm.tsx
deleted file mode 100644
index a90894e..0000000
--- a/docusaurus/src/functions/submitMathInputForm.tsx
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * @license
- * SPDX-License-Identifier: AGPL-3.0-or-later
- * This file is part of Wolfree.
- * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- */
-
-import { FormEventHandler } from "react";
-
-const submitMathInputForm: FormEventHandler<HTMLFormElement> = (event) => {
- event.preventDefault();
- const form = event.currentTarget;
- const formData = new FormData(form);
-
- const i = formData.get("i") || "";
- if (i instanceof File) return;
-
- const url = new URL("/input/", window.location.href);
- url.searchParams.set("i", i);
- window.location.href = url.href;
-};
-
-export default submitMathInputForm;
diff --git a/docusaurus/src/functions/typescriptNever.ts b/docusaurus/src/functions/typescriptNever.ts
new file mode 100644
index 0000000..42becd5
--- /dev/null
+++ b/docusaurus/src/functions/typescriptNever.ts
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: AGPL-3.0-or-later */
+
+export default (typescriptNeverValue: never): never => {
+ console.warn({ typescriptNeverValue });
+
+ return typescriptNeverValue;
+};
+
+// How do I check that a switch block is exhaustive in TypeScript? - Stack Overflow
+// https://stackoverflow.com/questions/39419170/how-do-i-check-that-a-switch-block-is-exhaustive-in-typescript