const STATE_FILENAME = Deno.env.get("STATE_FILENAME") ?? "./state.json"; type State = { [offerSlug: string]: { canClaimOffer: boolean, cannotClaimReason?: string, claimBy: string } }; export async function loadState(): Promise { try { const data = await Deno.readTextFile(STATE_FILENAME); return JSON.parse(data) as State; } catch (err) { if (!(err instanceof Deno.errors.NotFound)) { throw err; } return {}; } } export async function saveState(state: State): Promise { const data = JSON.stringify(state); await Deno.writeTextFile(STATE_FILENAME, data); }