import { isly } from "isly" export type Route = Route.Account | Route.Service export namespace Route { export type Account = { type: "account"; id: string } export namespace Account { export const type = isly.object({ type: isly.string("account"), id: isly.string() }) } export type Service = { type: "service"; service: string; configuration: string } export namespace Service { export const type = isly.object({ type: isly.string("service"), service: isly.string(), configuration: isly.string(), }) } export const type = isly.union(Account.type, Service.type) export function fromLegacy(route: string | Route): Route { return typeof route == "string" ? { type: "account", id: route } : route } }