{"version":3,"sources":["../src/api/server-path.ts"],"sourcesContent":["import {\n  DEFAULT_FARM_API_BASE_PATH,\n  normalizeFarmAPIBasePath,\n  resolveFarmAPIRequestURL,\n  type ResolvedFarmAPIConfig,\n} from \"./config\";\n\n/** Return the same-origin path served by this Farm application. */\nexport function resolveFarmAPIServerBasePath(config: ResolvedFarmAPIConfig): string {\n  // Absolute API URLs belong to another origin and must not move local routes.\n  return config.baseURL.startsWith(\"/\") ? config.basePath : DEFAULT_FARM_API_BASE_PATH;\n}\n\n/** Translate a public local API pathname back to Farm's canonical `/api` route table. */\nexport function resolveFarmAPICanonicalPathname(\n  pathname: string,\n  serverBasePath = DEFAULT_FARM_API_BASE_PATH,\n): string {\n  const basePath = normalizeFarmAPIBasePath(serverBasePath);\n  if (basePath === DEFAULT_FARM_API_BASE_PATH) return pathname;\n\n  if (basePath === \"/\") {\n    return pathname === \"/\"\n      ? DEFAULT_FARM_API_BASE_PATH\n      : `${DEFAULT_FARM_API_BASE_PATH}${pathname.startsWith(\"/\") ? pathname : `/${pathname}`}`;\n  }\n\n  if (pathname === basePath) return DEFAULT_FARM_API_BASE_PATH;\n  if (pathname.startsWith(`${basePath}/`)) {\n    return `${DEFAULT_FARM_API_BASE_PATH}${pathname.slice(basePath.length)}`;\n  }\n  return pathname;\n}\n\n/** Resolve a canonical `/api` route to the path served by this application. */\nexport function resolveFarmAPIServerRoutePath(\n  routePath: string,\n  serverBasePath = DEFAULT_FARM_API_BASE_PATH,\n): string {\n  return resolveFarmAPIRequestURL(routePath, serverBasePath).pathname;\n}\n"],"mappings":";;;;;;;;;;AAQO,SAAS,6BAA6B,QAAuC;AAElF,SAAO,OAAO,QAAQ,WAAW,GAAG,IAAI,OAAO,WAAW;AAC5D;AAHgB;AAMT,SAAS,gCACd,UACA,iBAAiB,4BACT;AACR,QAAM,WAAW,yBAAyB,cAAc;AACxD,MAAI,aAAa,2BAA4B,QAAO;AAEpD,MAAI,aAAa,KAAK;AACpB,WAAO,aAAa,MAChB,6BACA,GAAG,0BAA0B,GAAG,SAAS,WAAW,GAAG,IAAI,WAAW,IAAI,QAAQ,EAAE;AAAA,EAC1F;AAEA,MAAI,aAAa,SAAU,QAAO;AAClC,MAAI,SAAS,WAAW,GAAG,QAAQ,GAAG,GAAG;AACvC,WAAO,GAAG,0BAA0B,GAAG,SAAS,MAAM,SAAS,MAAM,CAAC;AAAA,EACxE;AACA,SAAO;AACT;AAlBgB;AAqBT,SAAS,8BACd,WACA,iBAAiB,4BACT;AACR,SAAO,yBAAyB,WAAW,cAAc,EAAE;AAC7D;AALgB;","names":[]}