@real-router/solid 0.8.0 → 0.9.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.
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.js +3 -8
- package/dist/esm/index.d.mts +3 -1
- package/dist/esm/index.mjs +3 -8
- package/dist/types/hooks/useRoute.d.ts +4 -2
- package/dist/types/hooks/useRoute.d.ts.map +1 -1
- package/dist/types/hooks/useRouteEnter.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/hooks/useRoute.tsx +11 -3
- package/src/hooks/useRouteEnter.tsx +0 -8
package/dist/cjs/index.d.ts
CHANGED
|
@@ -90,7 +90,9 @@ declare const useNavigator: () => Navigator;
|
|
|
90
90
|
|
|
91
91
|
declare const useRouteUtils: () => RouteUtils;
|
|
92
92
|
|
|
93
|
-
declare const useRoute: <P extends Params = Params>() => Accessor<RouteState<P
|
|
93
|
+
declare const useRoute: <P extends Params = Params>() => Accessor<Omit<RouteState<P>, "route"> & {
|
|
94
|
+
route: State<P>;
|
|
95
|
+
}>;
|
|
94
96
|
|
|
95
97
|
declare function useRouteNode(nodeName: string): Accessor<RouteState>;
|
|
96
98
|
|
package/dist/cjs/index.js
CHANGED
|
@@ -802,6 +802,9 @@ const useRoute = () => {
|
|
|
802
802
|
if (!routeSignal) {
|
|
803
803
|
throw new Error("useRoute must be used within a RouterProvider");
|
|
804
804
|
}
|
|
805
|
+
if (!routeSignal().route) {
|
|
806
|
+
throw new Error("useRoute called with no active route. Did you forget to await router.start() before rendering, or is the router stopped/disposed?");
|
|
807
|
+
}
|
|
805
808
|
return routeSignal;
|
|
806
809
|
};
|
|
807
810
|
|
|
@@ -994,9 +997,6 @@ function useRouteEnter(handler, options) {
|
|
|
994
997
|
|
|
995
998
|
// Early-exit guards, top-down:
|
|
996
999
|
//
|
|
997
|
-
// - **Defensive**: `route` may be undefined during SSR or
|
|
998
|
-
// pre-start hydration. Not testable from vitest (tests start
|
|
999
|
-
// the router before render), so v8-ignored.
|
|
1000
1000
|
// - **Skip-initial**: `state.transition.from` is undefined only
|
|
1001
1001
|
// for the very first state committed by `router.start()`.
|
|
1002
1002
|
// - **Skip-same-route**: query-only navigations have
|
|
@@ -1007,11 +1007,6 @@ function useRouteEnter(handler, options) {
|
|
|
1007
1007
|
// run once per dependency change); `!previousRoute` is unreachable
|
|
1008
1008
|
// once `transition.from` is set (the two are populated together by
|
|
1009
1009
|
// core). Both kept for parity with React; v8-ignored.
|
|
1010
|
-
/* v8 ignore start */
|
|
1011
|
-
if (!route) {
|
|
1012
|
-
return;
|
|
1013
|
-
}
|
|
1014
|
-
/* v8 ignore stop */
|
|
1015
1010
|
if (!route.transition.from) {
|
|
1016
1011
|
return;
|
|
1017
1012
|
}
|
package/dist/esm/index.d.mts
CHANGED
|
@@ -90,7 +90,9 @@ declare const useNavigator: () => Navigator;
|
|
|
90
90
|
|
|
91
91
|
declare const useRouteUtils: () => RouteUtils;
|
|
92
92
|
|
|
93
|
-
declare const useRoute: <P extends Params = Params>() => Accessor<RouteState<P
|
|
93
|
+
declare const useRoute: <P extends Params = Params>() => Accessor<Omit<RouteState<P>, "route"> & {
|
|
94
|
+
route: State<P>;
|
|
95
|
+
}>;
|
|
94
96
|
|
|
95
97
|
declare function useRouteNode(nodeName: string): Accessor<RouteState>;
|
|
96
98
|
|
package/dist/esm/index.mjs
CHANGED
|
@@ -800,6 +800,9 @@ const useRoute = () => {
|
|
|
800
800
|
if (!routeSignal) {
|
|
801
801
|
throw new Error("useRoute must be used within a RouterProvider");
|
|
802
802
|
}
|
|
803
|
+
if (!routeSignal().route) {
|
|
804
|
+
throw new Error("useRoute called with no active route. Did you forget to await router.start() before rendering, or is the router stopped/disposed?");
|
|
805
|
+
}
|
|
803
806
|
return routeSignal;
|
|
804
807
|
};
|
|
805
808
|
|
|
@@ -992,9 +995,6 @@ function useRouteEnter(handler, options) {
|
|
|
992
995
|
|
|
993
996
|
// Early-exit guards, top-down:
|
|
994
997
|
//
|
|
995
|
-
// - **Defensive**: `route` may be undefined during SSR or
|
|
996
|
-
// pre-start hydration. Not testable from vitest (tests start
|
|
997
|
-
// the router before render), so v8-ignored.
|
|
998
998
|
// - **Skip-initial**: `state.transition.from` is undefined only
|
|
999
999
|
// for the very first state committed by `router.start()`.
|
|
1000
1000
|
// - **Skip-same-route**: query-only navigations have
|
|
@@ -1005,11 +1005,6 @@ function useRouteEnter(handler, options) {
|
|
|
1005
1005
|
// run once per dependency change); `!previousRoute` is unreachable
|
|
1006
1006
|
// once `transition.from` is set (the two are populated together by
|
|
1007
1007
|
// core). Both kept for parity with React; v8-ignored.
|
|
1008
|
-
/* v8 ignore start */
|
|
1009
|
-
if (!route) {
|
|
1010
|
-
return;
|
|
1011
|
-
}
|
|
1012
|
-
/* v8 ignore stop */
|
|
1013
1008
|
if (!route.transition.from) {
|
|
1014
1009
|
return;
|
|
1015
1010
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { RouteState } from "../types";
|
|
2
|
-
import type { Params } from "@real-router/core";
|
|
2
|
+
import type { Params, State } from "@real-router/core";
|
|
3
3
|
import type { Accessor } from "solid-js";
|
|
4
|
-
export declare const useRoute: <P extends Params = Params>() => Accessor<RouteState<P
|
|
4
|
+
export declare const useRoute: <P extends Params = Params>() => Accessor<Omit<RouteState<P>, "route"> & {
|
|
5
|
+
route: State<P>;
|
|
6
|
+
}>;
|
|
5
7
|
//# sourceMappingURL=useRoute.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRoute.d.ts","sourceRoot":"","sources":["../../../src/hooks/useRoute.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"useRoute.d.ts","sourceRoot":"","sources":["../../../src/hooks/useRoute.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,OAAK,QAAQ,CAC7D,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;CAAE,CAiBnD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRouteEnter.d.ts","sourceRoot":"","sources":["../../../src/hooks/useRouteEnter.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,KAAK,EAAE,KAAK,CAAC;IACb,oEAAoE;IACpE,aAAa,EAAE,KAAK,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAErE,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,IAAI,
|
|
1
|
+
{"version":3,"file":"useRouteEnter.d.ts","sourceRoot":"","sources":["../../../src/hooks/useRouteEnter.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,KAAK,EAAE,KAAK,CAAC;IACb,oEAAoE;IACpE,aAAa,EAAE,KAAK,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAErE,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,IAAI,CAmCN"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@real-router/solid",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"description": "Solid.js integration for Real-Router",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -51,9 +51,9 @@
|
|
|
51
51
|
"license": "MIT",
|
|
52
52
|
"sideEffects": false,
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@real-router/core": "^0.
|
|
55
|
-
"@real-router/route-utils": "^0.2.
|
|
56
|
-
"@real-router/sources": "^0.7.
|
|
54
|
+
"@real-router/core": "^0.51.0",
|
|
55
|
+
"@real-router/route-utils": "^0.2.2",
|
|
56
|
+
"@real-router/sources": "^0.7.3"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@babel/core": "7.29.0",
|
|
@@ -66,12 +66,12 @@
|
|
|
66
66
|
"@testing-library/user-event": "14.6.1",
|
|
67
67
|
"babel-preset-solid": "1.9.3",
|
|
68
68
|
"rimraf": "6.1.3",
|
|
69
|
-
"rollup": "4.60.
|
|
69
|
+
"rollup": "4.60.2",
|
|
70
70
|
"rollup-plugin-dts": "6.4.1",
|
|
71
71
|
"solid-js": "1.9.12",
|
|
72
72
|
"vite-plugin-solid": "2.11.11",
|
|
73
73
|
"vitest": "4.1.0",
|
|
74
|
-
"@real-router/browser-plugin": "^0.16.
|
|
74
|
+
"@real-router/browser-plugin": "^0.16.1"
|
|
75
75
|
},
|
|
76
76
|
"peerDependencies": {
|
|
77
77
|
"solid-js": ">=1.7.0"
|
package/src/hooks/useRoute.tsx
CHANGED
|
@@ -3,11 +3,11 @@ import { useContext } from "solid-js";
|
|
|
3
3
|
import { RouteContext } from "../context";
|
|
4
4
|
|
|
5
5
|
import type { RouteState } from "../types";
|
|
6
|
-
import type { Params } from "@real-router/core";
|
|
6
|
+
import type { Params, State } from "@real-router/core";
|
|
7
7
|
import type { Accessor } from "solid-js";
|
|
8
8
|
|
|
9
9
|
export const useRoute = <P extends Params = Params>(): Accessor<
|
|
10
|
-
RouteState<P>
|
|
10
|
+
Omit<RouteState<P>, "route"> & { route: State<P> }
|
|
11
11
|
> => {
|
|
12
12
|
const routeSignal = useContext(RouteContext);
|
|
13
13
|
|
|
@@ -15,5 +15,13 @@ export const useRoute = <P extends Params = Params>(): Accessor<
|
|
|
15
15
|
throw new Error("useRoute must be used within a RouterProvider");
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
if (!routeSignal().route) {
|
|
19
|
+
throw new Error(
|
|
20
|
+
"useRoute called with no active route. Did you forget to await router.start() before rendering, or is the router stopped/disposed?",
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return routeSignal as Accessor<
|
|
25
|
+
Omit<RouteState<P>, "route"> & { route: State<P> }
|
|
26
|
+
>;
|
|
19
27
|
};
|
|
@@ -93,9 +93,6 @@ export function useRouteEnter(
|
|
|
93
93
|
|
|
94
94
|
// Early-exit guards, top-down:
|
|
95
95
|
//
|
|
96
|
-
// - **Defensive**: `route` may be undefined during SSR or
|
|
97
|
-
// pre-start hydration. Not testable from vitest (tests start
|
|
98
|
-
// the router before render), so v8-ignored.
|
|
99
96
|
// - **Skip-initial**: `state.transition.from` is undefined only
|
|
100
97
|
// for the very first state committed by `router.start()`.
|
|
101
98
|
// - **Skip-same-route**: query-only navigations have
|
|
@@ -106,11 +103,6 @@ export function useRouteEnter(
|
|
|
106
103
|
// run once per dependency change); `!previousRoute` is unreachable
|
|
107
104
|
// once `transition.from` is set (the two are populated together by
|
|
108
105
|
// core). Both kept for parity with React; v8-ignored.
|
|
109
|
-
/* v8 ignore start */
|
|
110
|
-
if (!route) {
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
/* v8 ignore stop */
|
|
114
106
|
if (!route.transition.from) {
|
|
115
107
|
return;
|
|
116
108
|
}
|