style: format code with prettier
Local Build and Deploy / deploy (push) Successful in 49s

This commit is contained in:
openhands committed 2026-07-12 21:07:34 +02:00
1 parent e85e4d74ea
commit 2e4ed76121
378 files changed
+22404 -20686

No files matched your search

+30 -30
View File
@@ -1,58 +1,58 @@
import { resolveGamedataFile } from '@/lib/services/import/core/asset-paths'
import { resolveGamedataFile } from "@/lib/services/import/core/asset-paths";
import {
readGamedataJson,
withGamedataLock,
writeGamedataJsonAtomic,
} from '@/lib/services/import/core/gamedata-json'
import { siteSettings } from '@/lib/services/site-settings'
import type { EffectMapEntry } from '@/types/effects'
} from "@/lib/services/import/core/gamedata-json";
import { siteSettings } from "@/lib/services/site-settings";
import type { EffectMapEntry } from "@/types/effects";
interface EffectMapFile {
effects: EffectMapEntry[]
effects: EffectMapEntry[];
}
// Test seam: allows the suite to point the resolver at a temp file.
let pathOverride: string | null = null
let pathOverride: string | null = null;
export function __setEffectMapPathForTests(p: string | null): void {
pathOverride = p
pathOverride = p;
}
export async function getEffectMapPath(): Promise<string> {
if (pathOverride) return pathOverride
const url = await siteSettings.get('effectmap_url', '/nitro-assets/gamedata/EffectMap.json')
return resolveGamedataFile(url ?? '/nitro-assets/gamedata/EffectMap.json', 'EffectMap.json')
if (pathOverride) return pathOverride;
const url = await siteSettings.get("effectmap_url", "/nitro-assets/gamedata/EffectMap.json");
return resolveGamedataFile(url ?? "/nitro-assets/gamedata/EffectMap.json", "EffectMap.json");
}
export async function readEffectMap(): Promise<EffectMapFile> {
const file = await getEffectMapPath()
const data = await readGamedataJson<Partial<EffectMapFile>>(file)
return { effects: Array.isArray(data.effects) ? data.effects : [] }
const file = await getEffectMapPath();
const data = await readGamedataJson<Partial<EffectMapFile>>(file);
return { effects: Array.isArray(data.effects) ? data.effects : [] };
}
export async function listLocalEffects(): Promise<EffectMapEntry[]> {
return (await readEffectMap()).effects
return (await readEffectMap()).effects;
}
export async function mergeEffect(entry: EffectMapEntry): Promise<void> {
const file = await getEffectMapPath()
const file = await getEffectMapPath();
await withGamedataLock(file, async () => {
const data = await readGamedataJson<Partial<EffectMapFile>>(file)
const effects = Array.isArray(data.effects) ? data.effects : []
const idx = effects.findIndex((e) => e.id === entry.id)
if (idx >= 0) effects[idx] = entry
else effects.push(entry)
await writeGamedataJsonAtomic(file, { ...data, effects })
})
const data = await readGamedataJson<Partial<EffectMapFile>>(file);
const effects = Array.isArray(data.effects) ? data.effects : [];
const idx = effects.findIndex((e) => e.id === entry.id);
if (idx >= 0) effects[idx] = entry;
else effects.push(entry);
await writeGamedataJsonAtomic(file, { ...data, effects });
});
}
export async function removeEffect(idOrLib: string): Promise<boolean> {
const file = await getEffectMapPath()
const file = await getEffectMapPath();
return withGamedataLock(file, async () => {
const data = await readGamedataJson<Partial<EffectMapFile>>(file)
const effects = Array.isArray(data.effects) ? data.effects : []
const next = effects.filter((e) => e.id !== idOrLib && e.lib !== idOrLib)
const removed = next.length < effects.length
if (removed) await writeGamedataJsonAtomic(file, { ...data, effects: next })
return removed
})
const data = await readGamedataJson<Partial<EffectMapFile>>(file);
const effects = Array.isArray(data.effects) ? data.effects : [];
const next = effects.filter((e) => e.id !== idOrLib && e.lib !== idOrLib);
const removed = next.length < effects.length;
if (removed) await writeGamedataJsonAtomic(file, { ...data, effects: next });
return removed;
});
}