@tanstack/solid-router
Version:
Modern and scalable routing for Solid applications
110 lines (109 loc) • 3.66 kB
JavaScript
const require_runtime = require("./_virtual/_rolldown/runtime.cjs");
const require_useRouter = require("./useRouter.cjs");
const require_useMatch = require("./useMatch.cjs");
const require_useLoaderData = require("./useLoaderData.cjs");
const require_useLoaderDeps = require("./useLoaderDeps.cjs");
const require_useParams = require("./useParams.cjs");
const require_useSearch = require("./useSearch.cjs");
const require_useNavigate = require("./useNavigate.cjs");
const require_useRouteContext = require("./useRouteContext.cjs");
const require_route = require("./route.cjs");
let tiny_warning = require("tiny-warning");
tiny_warning = require_runtime.__toESM(tiny_warning);
//#region src/fileRoute.ts
function createFileRoute(path) {
if (typeof path === "object") return new FileRoute(path, { silent: true }).createRoute(path);
return new FileRoute(path, { silent: true }).createRoute;
}
/**
@deprecated It's no longer recommended to use the `FileRoute` class directly.
Instead, use `createFileRoute('/path/to/file')(options)` to create a file route.
*/
var FileRoute = class {
constructor(path, _opts) {
this.path = path;
this.createRoute = (options) => {
if (process.env.NODE_ENV !== "production") (0, tiny_warning.default)(this.silent, "FileRoute is deprecated and will be removed in the next major version. Use the createFileRoute(path)(options) function instead.");
const route = require_route.createRoute(options);
route.isRoot = false;
return route;
};
this.silent = _opts?.silent;
}
};
/**
@deprecated It's recommended not to split loaders into separate files.
Instead, place the loader function in the the main route file, inside the
`createFileRoute('/path/to/file)(options)` options.
*/
function FileRouteLoader(_path) {
if (process.env.NODE_ENV !== "production") (0, tiny_warning.default)(false, `FileRouteLoader is deprecated and will be removed in the next major version. Please place the loader function in the the main route file, inside the \`createFileRoute('/path/to/file')(options)\` options`);
return (loaderFn) => loaderFn;
}
var LazyRoute = class {
constructor(opts) {
this.useMatch = (opts) => {
return require_useMatch.useMatch({
select: opts?.select,
from: this.options.id
});
};
this.useRouteContext = (opts) => {
return require_useRouteContext.useRouteContext({
...opts,
from: this.options.id
});
};
this.useSearch = (opts) => {
return require_useSearch.useSearch({
select: opts?.select,
from: this.options.id
});
};
this.useParams = (opts) => {
return require_useParams.useParams({
select: opts?.select,
from: this.options.id
});
};
this.useLoaderDeps = (opts) => {
return require_useLoaderDeps.useLoaderDeps({
...opts,
from: this.options.id
});
};
this.useLoaderData = (opts) => {
return require_useLoaderData.useLoaderData({
...opts,
from: this.options.id
});
};
this.useNavigate = () => {
return require_useNavigate.useNavigate({ from: require_useRouter.useRouter().routesById[this.options.id].fullPath });
};
this.options = opts;
}
};
function createLazyRoute(id) {
return (opts) => {
return new LazyRoute({
id,
...opts
});
};
}
function createLazyFileRoute(id) {
if (typeof id === "object") return new LazyRoute(id);
return (opts) => new LazyRoute({
id,
...opts
});
}
//#endregion
exports.FileRoute = FileRoute;
exports.FileRouteLoader = FileRouteLoader;
exports.LazyRoute = LazyRoute;
exports.createFileRoute = createFileRoute;
exports.createLazyFileRoute = createLazyFileRoute;
exports.createLazyRoute = createLazyRoute;
//# sourceMappingURL=fileRoute.cjs.map