@real-router/svelte 0.3.0 → 0.4.0
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/components/RouterErrorBoundary.svelte +7 -15
- package/dist/composables/useRoute.svelte.d.ts +2 -1
- package/dist/composables/useRouterTransition.svelte.js +2 -2
- package/dist/types.d.ts +2 -2
- package/package.json +3 -3
- package/src/components/RouterErrorBoundary.svelte +7 -15
- package/src/composables/useRoute.svelte.ts +3 -2
- package/src/composables/useRouterTransition.svelte.ts +2 -3
- package/src/types.ts +2 -2
- package/dist/composables/useRouterError.svelte.d.ts +0 -4
- package/dist/composables/useRouterError.svelte.js +0 -13
- package/src/composables/useRouterError.svelte.ts +0 -21
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
+
import { createDismissableError } from "@real-router/sources";
|
|
2
3
|
import { untrack } from "svelte";
|
|
3
4
|
|
|
4
|
-
import {
|
|
5
|
+
import { useRouter } from "../composables/useRouter.svelte";
|
|
6
|
+
import { createReactiveSource } from "../createReactiveSource.svelte";
|
|
5
7
|
|
|
6
8
|
import type { RouterError, State } from "@real-router/core";
|
|
7
9
|
import type { Snippet } from "svelte";
|
|
@@ -18,18 +20,8 @@
|
|
|
18
20
|
|
|
19
21
|
let { children, fallback, onError }: Props = $props();
|
|
20
22
|
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const visibleError = $derived(
|
|
25
|
-
snapshot.current.version > dismissedVersion
|
|
26
|
-
? snapshot.current.error
|
|
27
|
-
: null,
|
|
28
|
-
);
|
|
29
|
-
|
|
30
|
-
function resetError(): void {
|
|
31
|
-
dismissedVersion = snapshot.current.version;
|
|
32
|
-
}
|
|
23
|
+
const router = useRouter();
|
|
24
|
+
const snapshot = createReactiveSource(createDismissableError(router));
|
|
33
25
|
|
|
34
26
|
$effect(() => {
|
|
35
27
|
const snap = snapshot.current;
|
|
@@ -50,6 +42,6 @@
|
|
|
50
42
|
</script>
|
|
51
43
|
|
|
52
44
|
{@render children?.()}
|
|
53
|
-
{#if
|
|
54
|
-
{@render fallback(
|
|
45
|
+
{#if snapshot.current.error}
|
|
46
|
+
{@render fallback(snapshot.current.error, snapshot.current.resetError)}
|
|
55
47
|
{/if}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getTransitionSource } from "@real-router/sources";
|
|
2
2
|
import { createReactiveSource } from "../createReactiveSource.svelte";
|
|
3
3
|
import { useRouter } from "./useRouter.svelte";
|
|
4
4
|
export function useRouterTransition() {
|
|
5
5
|
const router = useRouter();
|
|
6
|
-
const source =
|
|
6
|
+
const source = getTransitionSource(router);
|
|
7
7
|
return createReactiveSource(source);
|
|
8
8
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { NavigationOptions, Navigator, Params, State } from "@real-router/core";
|
|
2
|
-
export interface RouteContext {
|
|
2
|
+
export interface RouteContext<P extends Params = Params> {
|
|
3
3
|
readonly navigator: Navigator;
|
|
4
4
|
readonly route: {
|
|
5
|
-
readonly current: State | undefined;
|
|
5
|
+
readonly current: State<P> | undefined;
|
|
6
6
|
};
|
|
7
7
|
readonly previousRoute: {
|
|
8
8
|
readonly current: State | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@real-router/svelte",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Svelte 5 integration for Real-Router",
|
|
6
6
|
"svelte": "./dist/index.js",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@real-router/core": "^0.48.0",
|
|
48
48
|
"@real-router/route-utils": "^0.2.1",
|
|
49
|
-
"@real-router/sources": "^0.
|
|
49
|
+
"@real-router/sources": "^0.7.0"
|
|
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.
|
|
61
|
+
"@real-router/browser-plugin": "^0.13.0"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
64
|
"svelte": ">=5.7.0"
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
+
import { createDismissableError } from "@real-router/sources";
|
|
2
3
|
import { untrack } from "svelte";
|
|
3
4
|
|
|
4
|
-
import {
|
|
5
|
+
import { useRouter } from "../composables/useRouter.svelte";
|
|
6
|
+
import { createReactiveSource } from "../createReactiveSource.svelte";
|
|
5
7
|
|
|
6
8
|
import type { RouterError, State } from "@real-router/core";
|
|
7
9
|
import type { Snippet } from "svelte";
|
|
@@ -18,18 +20,8 @@
|
|
|
18
20
|
|
|
19
21
|
let { children, fallback, onError }: Props = $props();
|
|
20
22
|
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const visibleError = $derived(
|
|
25
|
-
snapshot.current.version > dismissedVersion
|
|
26
|
-
? snapshot.current.error
|
|
27
|
-
: null,
|
|
28
|
-
);
|
|
29
|
-
|
|
30
|
-
function resetError(): void {
|
|
31
|
-
dismissedVersion = snapshot.current.version;
|
|
32
|
-
}
|
|
23
|
+
const router = useRouter();
|
|
24
|
+
const snapshot = createReactiveSource(createDismissableError(router));
|
|
33
25
|
|
|
34
26
|
$effect(() => {
|
|
35
27
|
const snap = snapshot.current;
|
|
@@ -50,6 +42,6 @@
|
|
|
50
42
|
</script>
|
|
51
43
|
|
|
52
44
|
{@render children?.()}
|
|
53
|
-
{#if
|
|
54
|
-
{@render fallback(
|
|
45
|
+
{#if snapshot.current.error}
|
|
46
|
+
{@render fallback(snapshot.current.error, snapshot.current.resetError)}
|
|
55
47
|
{/if}
|
|
@@ -1,6 +1,7 @@
|
|
|
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
5
|
|
|
5
|
-
export const useRoute = (): RouteContext =>
|
|
6
|
-
getContextOrThrow<RouteContext>(ROUTE_KEY, "useRoute")
|
|
6
|
+
export const useRoute = <P extends Params = Params>(): RouteContext<P> =>
|
|
7
|
+
getContextOrThrow<RouteContext>(ROUTE_KEY, "useRoute") as RouteContext<P>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getTransitionSource } from "@real-router/sources";
|
|
2
2
|
|
|
3
3
|
import { createReactiveSource } from "../createReactiveSource.svelte";
|
|
4
4
|
import { useRouter } from "./useRouter.svelte";
|
|
@@ -9,8 +9,7 @@ export function useRouterTransition(): {
|
|
|
9
9
|
readonly current: RouterTransitionSnapshot;
|
|
10
10
|
} {
|
|
11
11
|
const router = useRouter();
|
|
12
|
-
|
|
13
|
-
const source = createTransitionSource(router);
|
|
12
|
+
const source = getTransitionSource(router);
|
|
14
13
|
|
|
15
14
|
return createReactiveSource(source);
|
|
16
15
|
}
|
package/src/types.ts
CHANGED
|
@@ -5,9 +5,9 @@ import type {
|
|
|
5
5
|
State,
|
|
6
6
|
} from "@real-router/core";
|
|
7
7
|
|
|
8
|
-
export interface RouteContext {
|
|
8
|
+
export interface RouteContext<P extends Params = Params> {
|
|
9
9
|
readonly navigator: Navigator;
|
|
10
|
-
readonly route: { readonly current: State | undefined };
|
|
10
|
+
readonly route: { readonly current: State<P> | undefined };
|
|
11
11
|
readonly previousRoute: { readonly current: State | undefined };
|
|
12
12
|
}
|
|
13
13
|
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { createErrorSource } from "@real-router/sources";
|
|
2
|
-
import { createReactiveSource } from "../createReactiveSource.svelte";
|
|
3
|
-
import { useRouter } from "./useRouter.svelte";
|
|
4
|
-
const cache = new WeakMap();
|
|
5
|
-
export function useRouterError() {
|
|
6
|
-
const router = useRouter();
|
|
7
|
-
let source = cache.get(router);
|
|
8
|
-
if (!source) {
|
|
9
|
-
source = createErrorSource(router);
|
|
10
|
-
cache.set(router, source);
|
|
11
|
-
}
|
|
12
|
-
return createReactiveSource(source);
|
|
13
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { createErrorSource } from "@real-router/sources";
|
|
2
|
-
|
|
3
|
-
import { createReactiveSource } from "../createReactiveSource.svelte";
|
|
4
|
-
import { useRouter } from "./useRouter.svelte";
|
|
5
|
-
|
|
6
|
-
import type { Router } from "@real-router/core";
|
|
7
|
-
import type { RouterErrorSnapshot, RouterSource } from "@real-router/sources";
|
|
8
|
-
|
|
9
|
-
const cache = new WeakMap<Router, RouterSource<RouterErrorSnapshot>>();
|
|
10
|
-
|
|
11
|
-
export function useRouterError(): { readonly current: RouterErrorSnapshot } {
|
|
12
|
-
const router = useRouter();
|
|
13
|
-
|
|
14
|
-
let source = cache.get(router);
|
|
15
|
-
if (!source) {
|
|
16
|
-
source = createErrorSource(router);
|
|
17
|
-
cache.set(router, source);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
return createReactiveSource(source);
|
|
21
|
-
}
|