@real-router/svelte 0.7.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,7 @@
1
1
  import type { RouteContext } from "../types";
2
- import type { Params } from "@real-router/core";
3
- export declare const useRoute: <P extends Params = Params>() => RouteContext<P>;
2
+ import type { Params, State } from "@real-router/core";
3
+ export declare const useRoute: <P extends Params = Params>() => Omit<RouteContext<P>, "route"> & {
4
+ route: {
5
+ readonly current: State<P>;
6
+ };
7
+ };
@@ -1,2 +1,8 @@
1
1
  import { ROUTE_KEY, getContextOrThrow } from "../context";
2
- export const useRoute = () => getContextOrThrow(ROUTE_KEY, "useRoute");
2
+ export const useRoute = () => {
3
+ const ctx = getContextOrThrow(ROUTE_KEY, "useRoute");
4
+ if (!ctx.route.current) {
5
+ throw new Error("useRoute called with no active route. Did you forget to await router.start() before rendering, or is the router stopped/disposed?");
6
+ }
7
+ return ctx;
8
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@real-router/svelte",
3
- "version": "0.7.0",
3
+ "version": "0.8.1",
4
4
  "type": "module",
5
5
  "description": "Svelte 5 integration for Real-Router",
6
6
  "svelte": "./dist/index.js",
@@ -44,9 +44,9 @@
44
44
  "license": "MIT",
45
45
  "sideEffects": false,
46
46
  "dependencies": {
47
- "@real-router/core": "^0.50.2",
48
- "@real-router/route-utils": "^0.2.1",
49
- "@real-router/sources": "^0.7.2"
47
+ "@real-router/core": "^0.51.0",
48
+ "@real-router/route-utils": "^0.2.2",
49
+ "@real-router/sources": "^0.7.3"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@sveltejs/package": "2.5.7",
@@ -58,7 +58,7 @@
58
58
  "svelte": "5.54.0",
59
59
  "svelte-check": "4.4.5",
60
60
  "svelte-eslint-parser": "1.6.0",
61
- "@real-router/browser-plugin": "^0.16.0"
61
+ "@real-router/browser-plugin": "^0.16.1"
62
62
  },
63
63
  "peerDependencies": {
64
64
  "svelte": ">=5.7.0"
@@ -1,7 +1,21 @@
1
1
  import { ROUTE_KEY, getContextOrThrow } from "../context";
2
2
 
3
3
  import type { RouteContext } from "../types";
4
- import type { Params } from "@real-router/core";
4
+ import type { Params, State } from "@real-router/core";
5
5
 
6
- export const useRoute = <P extends Params = Params>(): RouteContext<P> =>
7
- getContextOrThrow<RouteContext>(ROUTE_KEY, "useRoute") as RouteContext<P>;
6
+ export const useRoute = <P extends Params = Params>(): Omit<
7
+ RouteContext<P>,
8
+ "route"
9
+ > & { route: { readonly current: State<P> } } => {
10
+ const ctx = getContextOrThrow<RouteContext>(ROUTE_KEY, "useRoute");
11
+
12
+ if (!ctx.route.current) {
13
+ throw new Error(
14
+ "useRoute called with no active route. Did you forget to await router.start() before rendering, or is the router stopped/disposed?",
15
+ );
16
+ }
17
+
18
+ return ctx as Omit<RouteContext<P>, "route"> & {
19
+ route: { readonly current: State<P> };
20
+ };
21
+ };