aboutsummaryrefslogtreecommitdiffhomepage
path: root/frontend/app/states/play.ts
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-09-05 20:52:43 +0900
committernsfisis <nsfisis@gmail.com>2025-09-05 20:53:02 +0900
commit82d3cf35c3c6b85b48c94dd6301c8bf718669b8d (patch)
treec09c53a3ae1f51aba02902d4f32ffafdf7fb562a /frontend/app/states/play.ts
parentdd1c68425120fca008a3b10991c865ea586c7002 (diff)
downloadiosdc-japan-2025-albatross-82d3cf35c3c6b85b48c94dd6301c8bf718669b8d.tar.gz
iosdc-japan-2025-albatross-82d3cf35c3c6b85b48c94dd6301c8bf718669b8d.tar.zst
iosdc-japan-2025-albatross-82d3cf35c3c6b85b48c94dd6301c8bf718669b8d.zip
feat(frontend): support swift language
Diffstat (limited to 'frontend/app/states/play.ts')
-rw-r--r--frontend/app/states/play.ts24
1 files changed, 18 insertions, 6 deletions
diff --git a/frontend/app/states/play.ts b/frontend/app/states/play.ts
index 79b25c7..22d338c 100644
--- a/frontend/app/states/play.ts
+++ b/frontend/app/states/play.ts
@@ -1,5 +1,6 @@
import { atom } from "jotai";
import type { components } from "../api/schema";
+import type { SupportedLanguage } from "../types/SupportedLanguage";
const gameStartedAtAtom = atom<number | null>(null);
export const setGameStartedAtAtom = atom(null, (_, set, value: number | null) =>
@@ -101,12 +102,23 @@ export const setLatestGameStateAtom = atom(
},
);
-export function calcCodeSize(code: string): number {
- const trimmed = code
- .replace(/\s+/g, "")
- .replace(/^<\?php/, "")
- .replace(/^<\?/, "")
- .replace(/\?>$/, "");
+function cleanCode(code: string, language: SupportedLanguage) {
+ if (language === "php") {
+ return code
+ .replace(/\s+/g, "")
+ .replace(/^<\?php/, "")
+ .replace(/^<\?/, "")
+ .replace(/\?>$/, "");
+ } else {
+ return code.replace(/\s+/g, "");
+ }
+}
+
+export function calcCodeSize(
+ code: string,
+ language: SupportedLanguage,
+): number {
+ const trimmed = cleanCode(code, language);
const utf8Encoded = new TextEncoder().encode(trimmed);
return utf8Encoded.length;
}