{"version":3,"file":"redirects.cjs","sources":["../../src/redirects.ts"],"sourcesContent":["import type {\n  AnyRedirect,\n  Redirect,\n  RegisteredRouter,\n  ResolvedRedirect,\n} from '@tanstack/router-core'\n\nexport function redirect<\n  TRouter extends RegisteredRouter,\n  const TTo extends string | undefined,\n  const TFrom extends string = string,\n  const TMaskFrom extends string = TFrom,\n  const TMaskTo extends string = '',\n>(\n  opts: Redirect<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>,\n): Redirect<TRouter, TFrom, TTo, TMaskFrom, TMaskTo> {\n  ;(opts as any).isRedirect = true\n  opts.statusCode = opts.statusCode || opts.code || 307\n  opts.headers = opts.headers || {}\n  if (!opts.reloadDocument) {\n    opts.reloadDocument = false\n    try {\n      new URL(`${opts.href}`)\n      opts.reloadDocument = true\n    } catch {}\n  }\n\n  if (opts.throw) {\n    throw opts\n  }\n\n  return opts\n}\n\nexport function isRedirect(obj: any): obj is AnyRedirect {\n  return !!obj?.isRedirect\n}\n\nexport function isResolvedRedirect(obj: any): obj is ResolvedRedirect {\n  return !!obj?.isRedirect && obj.href\n}\n"],"names":[],"mappings":";;AAOO,SAAS,SAOd,MACmD;AACjD,OAAa,aAAa;AAC5B,OAAK,aAAa,KAAK,cAAc,KAAK,QAAQ;AAC7C,OAAA,UAAU,KAAK,WAAW,CAAC;AAC5B,MAAA,CAAC,KAAK,gBAAgB;AACxB,SAAK,iBAAiB;AAClB,QAAA;AACF,UAAI,IAAI,GAAG,KAAK,IAAI,EAAE;AACtB,WAAK,iBAAiB;AAAA,IAAA,QAChB;AAAA,IAAA;AAAA,EAAC;AAGX,MAAI,KAAK,OAAO;AACR,UAAA;AAAA,EAAA;AAGD,SAAA;AACT;AAEO,SAAS,WAAW,KAA8B;AAChD,SAAA,CAAC,EAAC,2BAAK;AAChB;AAEO,SAAS,mBAAmB,KAAmC;AACpE,SAAO,CAAC,EAAC,2BAAK,eAAc,IAAI;AAClC;;;;"}