/** * @typedef {"none" | "NotFoundSplat"} RouteCodecId */ /** @param {Readonly<{routeId: string, moduleId: string, paramsCodec: RouteCodecId, searchCodec: RouteCodecId}>} value */ const runtime = (value) => Object.freeze(value); export const PLATFORM_ROUTE_RUNTIME_CONTRACT = Object.freeze({ APP_HOME: runtime({ routeId: "APP_HOME", moduleId: "home-page", paramsCodec: "none", searchCodec: "none", }), EXAMPLES_UI: runtime({ routeId: "EXAMPLES_UI", moduleId: "ui-gallery-page", paramsCodec: "none", searchCodec: "none", }), EXAMPLES_STATES: runtime({ routeId: "EXAMPLES_STATES", moduleId: "state-gallery-page", paramsCodec: "none", searchCodec: "none", }), EXAMPLES_AUTH: runtime({ routeId: "EXAMPLES_AUTH", moduleId: "auth-example-page", paramsCodec: "none", searchCodec: "none", }), NOT_FOUND: runtime({ routeId: "NOT_FOUND", moduleId: "not-found-page", paramsCodec: "NotFoundSplat", searchCodec: "none", }), });