{"version":3,"file":"createRoute.js","names":[],"sources":["esm/router/createRoute.js"],"sourcesContent":["import { useActiveParams, useParams } from \"../hooks\";\nfunction createRoute() {\n  return {\n    useParams: () => useParams(),\n    useActiveParams: () => useActiveParams(),\n    /**\n     * Creates a typed loader function for this route.\n     * The loader receives LoaderProps with typed params.\n     *\n     * @example\n     * const route = createRoute<'(site)/docs/[slug]'>()\n     * export const loader = route.createLoader(({ params }) => {\n     *   // params is typed as { slug: string }\n     *   return { doc: getDoc(params.slug) }\n     * })\n     */\n    createLoader: (fn) => fn\n  };\n}\nconst defaults = createRoute();\nconst getProxy = () => new Proxy(\n  {},\n  {\n    get(target, key) {\n      if (Reflect.has(defaults, key)) {\n        return Reflect.get(defaults, key);\n      }\n      return getProxy();\n    }\n  }\n);\nconst postIdRoute = createRoute();\nconst route = getProxy();\nexport {\n  createRoute,\n  route\n};\n//# sourceMappingURL=createRoute.js.map\n"],"mappings":";;;AACA,SAAS,cAAc;CACrB,OAAO;EACL,iBAAiB,UAAU;EAC3B,uBAAuB,gBAAgB;;;;;;;;;;;;EAYvC,eAAe,OAAO;CACxB;AACF;AACA,MAAM,WAAW,YAAY;AAC7B,MAAM,iBAAiB,IAAI,MACzB,CAAC,GACD,EACE,IAAI,QAAQ,KAAK;CACf,IAAI,QAAQ,IAAI,UAAU,GAAG,GAAG;EAC9B,OAAO,QAAQ,IAAI,UAAU,GAAG;CAClC;CACA,OAAO,SAAS;AAClB,EACF,CACF;AACA,MAAM,cAAc,YAAY;AAChC,MAAM,QAAQ,SAAS"}