Files
SixFlagsSuperCalendar/lib/scrapers/types.ts
T
josh 4652a92c29 refactor: hardcode API IDs and coaster lists, remove Playwright discovery
Embed Six Flags API IDs directly in the park registry and snapshot
coaster lists from park-meta.json into a TypeScript module. This
eliminates the Playwright-based discovery script, RCDB scraper, and
runtime dependency on park-meta.json — preparing for the backend
API transition.

- Add apiId field to Park type and all 24 park entries
- Create lib/coaster-data.ts with hardcoded coaster lists
- Update page components to use park.apiId and new getCoasterSet()
- Remove scripts/discover.ts, lib/scrapers/rcdb.ts, lib/park-meta.ts
- Remove data/park-meta.json from shared volume
- Remove playwright devDependency and discover npm script
- Simplify scripts/scrape.ts (no RCDB, no discovery checks)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-23 21:25:53 -04:00

40 lines
722 B
TypeScript

export interface Park {
id: string;
apiId: number;
name: string;
shortName: string;
chain: "sixflags" | string;
slug: string;
region: "Northeast" | "Southeast" | "Midwest" | "Texas & South" | "West & International";
location: {
lat: number;
lng: number;
city: string;
state: string;
};
timezone: string;
website: string;
}
export interface DayStatus {
day: number;
isOpen: boolean;
hoursLabel?: string;
}
export interface MonthCalendar {
parkId: string;
year: number;
month: number;
days: DayStatus[];
}
export interface ScraperAdapter {
readonly chain: string;
getMonthCalendar(
park: Park,
year: number,
month: number
): Promise<MonthCalendar>;
}