Files
flights_web/src/features/schedule/index.ts
T
gnezim c67686463a Add schedule parity harness, integration tests, barrel, and MF expose (Phase 3E)
Registers schedule URL serializer in parity harness with 18-entry fixture
corpus and fast-check fuzz. 10 URL round-trip integration tests, 6 SEO/
JSON-LD integration tests. Updates barrel and MF expose from stub to real.
2026-04-15 09:31:19 +03:00

56 lines
2.0 KiB
TypeScript

// Public barrel for the schedule feature. See frozen-barrels.md.
// 3A — URL serializer/parser
export type { ScheduleParams } from "./url.js";
export {
parseScheduleUrl,
buildScheduleUrl,
parseScheduleRouteParams,
buildScheduleRouteParams,
} from "./url.js";
// 3A — Types
export type {
IScheduleRouteDirectionParams,
IScheduleFlightId,
IScheduleSearchRequest,
IScheduleResponse,
IScheduleDetailsResponse,
IScheduleCalendarParams,
IScheduleDaysResponse,
IScheduleRouteParams,
IScheduleDetailsParams,
} from "./types.js";
// Re-exported shared types
export type { IFlight, ISimpleFlight, IBoardResponse, IFlightLeg } from "./types.js";
// 3B — API functions
export { searchSchedule, getScheduleDetails, getScheduleCalendarDays } from "./api.js";
// 3B — React hooks
export { useScheduleSearch } from "./hooks/useScheduleSearch.js";
export type { UseScheduleSearchResult } from "./hooks/useScheduleSearch.js";
export { useScheduleDetails } from "./hooks/useScheduleDetails.js";
export type { UseScheduleDetailsResult, UseScheduleDetailsParams } from "./hooks/useScheduleDetails.js";
export { useScheduleCalendar } from "./hooks/useScheduleCalendar.js";
export type { UseScheduleCalendarResult } from "./hooks/useScheduleCalendar.js";
// 3D — SEO builder functions
export {
buildScheduleStartSeo,
buildScheduleSearchSeo,
buildScheduleDetailsSeo,
} from "./seo.js";
export type { TFunction, CityNames } from "./seo.js";
// 3D — JSON-LD builder functions
export { buildScheduleFlightJsonLd, buildScheduleFlightListJsonLd } from "./json-ld.js";
// 3C — Feature-specific page components
export { ScheduleStartPage } from "./components/ScheduleStartPage.js";
export { ScheduleSearchPage } from "./components/ScheduleSearchPage.js";
export type { ScheduleSearchPageProps } from "./components/ScheduleSearchPage.js";
export { ScheduleDetailsPage } from "./components/ScheduleDetailsPage.js";
export type { ScheduleDetailsPageProps } from "./components/ScheduleDetailsPage.js";