diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-09-05 20:52:43 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-09-05 20:53:02 +0900 |
| commit | 82d3cf35c3c6b85b48c94dd6301c8bf718669b8d (patch) | |
| tree | c09c53a3ae1f51aba02902d4f32ffafdf7fb562a /frontend/app/states/play.ts | |
| parent | dd1c68425120fca008a3b10991c865ea586c7002 (diff) | |
| download | iosdc-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.ts | 24 |
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; } |
