@typed/router 0.31.0 → 1.0.0-beta.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.
Files changed (88) hide show
  1. package/README.md +111 -2
  2. package/dist/AST.d.ts +96 -0
  3. package/dist/AST.d.ts.map +1 -0
  4. package/dist/AST.js +32 -0
  5. package/dist/CurrentRoute.d.ts +18 -0
  6. package/dist/CurrentRoute.d.ts.map +1 -0
  7. package/dist/CurrentRoute.js +18 -0
  8. package/dist/Matcher.d.ts +191 -0
  9. package/dist/Matcher.d.ts.map +1 -0
  10. package/dist/Matcher.js +597 -0
  11. package/dist/Parser.d.ts +96 -0
  12. package/dist/Parser.d.ts.map +1 -0
  13. package/dist/Parser.js +1 -0
  14. package/dist/Path.d.ts +216 -0
  15. package/dist/Path.d.ts.map +1 -0
  16. package/dist/Path.js +248 -0
  17. package/dist/Route.d.ts +57 -0
  18. package/dist/Route.d.ts.map +1 -0
  19. package/dist/Route.js +151 -0
  20. package/dist/Router.d.ts +9 -0
  21. package/dist/Router.d.ts.map +1 -0
  22. package/dist/Router.js +8 -0
  23. package/dist/Uri.d.ts +115 -0
  24. package/dist/Uri.d.ts.map +1 -0
  25. package/dist/Uri.js +1 -0
  26. package/dist/index.d.ts +5 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +4 -0
  29. package/package.json +25 -69
  30. package/src/AST.ts +166 -0
  31. package/src/CurrentRoute.ts +30 -331
  32. package/src/Matcher.test.ts +476 -0
  33. package/src/Matcher.ts +1269 -328
  34. package/src/Parser.ts +282 -0
  35. package/src/Path.test.ts +318 -0
  36. package/src/Path.ts +691 -0
  37. package/src/Route.test.ts +268 -0
  38. package/src/Route.ts +316 -0
  39. package/src/Router.ts +31 -0
  40. package/src/Uri.ts +214 -0
  41. package/src/index.ts +4 -28
  42. package/tsconfig.json +6 -0
  43. package/CurrentRoute/package.json +0 -6
  44. package/LICENSE +0 -21
  45. package/MatchInput/package.json +0 -6
  46. package/Matcher/package.json +0 -6
  47. package/RouteGuard/package.json +0 -6
  48. package/RouteMatch/package.json +0 -6
  49. package/dist/cjs/CurrentRoute.js +0 -170
  50. package/dist/cjs/CurrentRoute.js.map +0 -1
  51. package/dist/cjs/MatchInput.js +0 -96
  52. package/dist/cjs/MatchInput.js.map +0 -1
  53. package/dist/cjs/Matcher.js +0 -138
  54. package/dist/cjs/Matcher.js.map +0 -1
  55. package/dist/cjs/RouteGuard.js +0 -78
  56. package/dist/cjs/RouteGuard.js.map +0 -1
  57. package/dist/cjs/RouteMatch.js +0 -49
  58. package/dist/cjs/RouteMatch.js.map +0 -1
  59. package/dist/cjs/index.js +0 -53
  60. package/dist/cjs/index.js.map +0 -1
  61. package/dist/dts/CurrentRoute.d.ts +0 -94
  62. package/dist/dts/CurrentRoute.d.ts.map +0 -1
  63. package/dist/dts/MatchInput.d.ts +0 -135
  64. package/dist/dts/MatchInput.d.ts.map +0 -1
  65. package/dist/dts/Matcher.d.ts +0 -121
  66. package/dist/dts/Matcher.d.ts.map +0 -1
  67. package/dist/dts/RouteGuard.d.ts +0 -94
  68. package/dist/dts/RouteGuard.d.ts.map +0 -1
  69. package/dist/dts/RouteMatch.d.ts +0 -50
  70. package/dist/dts/RouteMatch.d.ts.map +0 -1
  71. package/dist/dts/index.d.ts +0 -24
  72. package/dist/dts/index.d.ts.map +0 -1
  73. package/dist/esm/CurrentRoute.js +0 -152
  74. package/dist/esm/CurrentRoute.js.map +0 -1
  75. package/dist/esm/MatchInput.js +0 -79
  76. package/dist/esm/MatchInput.js.map +0 -1
  77. package/dist/esm/Matcher.js +0 -130
  78. package/dist/esm/Matcher.js.map +0 -1
  79. package/dist/esm/RouteGuard.js +0 -57
  80. package/dist/esm/RouteGuard.js.map +0 -1
  81. package/dist/esm/RouteMatch.js +0 -29
  82. package/dist/esm/RouteMatch.js.map +0 -1
  83. package/dist/esm/index.js +0 -24
  84. package/dist/esm/index.js.map +0 -1
  85. package/dist/esm/package.json +0 -4
  86. package/src/MatchInput.ts +0 -282
  87. package/src/RouteGuard.ts +0 -217
  88. package/src/RouteMatch.ts +0 -104
@@ -1,121 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import * as Fx from "@typed/fx/Fx";
5
- import type * as RefSubject from "@typed/fx/RefSubject";
6
- import type { Navigation } from "@typed/navigation";
7
- import { RedirectError } from "@typed/navigation";
8
- import type * as Route from "@typed/route";
9
- import * as Effect from "effect/Effect";
10
- import { type Pipeable } from "effect/Pipeable";
11
- import type * as Scope from "effect/Scope";
12
- import type { CurrentRoute } from "./CurrentRoute.js";
13
- import type { MatchInput } from "./MatchInput.js";
14
- import * as RouteMatch from "./RouteMatch.js";
15
- /**
16
- * @since 1.0.0
17
- */
18
- export declare const RouteMatcherTypeId: unique symbol;
19
- /**
20
- * @since 1.0.0
21
- */
22
- export type RouteMatcherTypeId = typeof RouteMatcherTypeId;
23
- /**
24
- * @since 1.0.0
25
- */
26
- export interface RouteMatcher<Matches extends RouteMatch.RouteMatch.Any> extends Pipeable {
27
- readonly [RouteMatcherTypeId]: RouteMatcherTypeId;
28
- readonly matches: ReadonlyArray<Matches>;
29
- readonly add: <I extends RouteMatch.RouteMatch.Any>(match: I) => RouteMatcher<Matches | I>;
30
- readonly match: <I extends MatchInput.Any, A, E, R>(input: I, match: (ref: RefSubject.RefSubject<MatchInput.Success<I>>) => Fx.Fx<A, E, R>) => RouteMatcher<Matches | RouteMatch.RouteMatch<MatchInput.Route<I>, MatchInput.Success<I>, MatchInput.Error<I>, MatchInput.Context<I>, A, E, R>>;
31
- readonly switch: <I extends MatchInput.Any, A, E, R>(input: I, match: (ref: MatchInput.Success<I>) => Fx.Fx<A, E, R>) => RouteMatcher<Matches | RouteMatch.RouteMatch<MatchInput.Route<I>, MatchInput.Success<I>, MatchInput.Error<I>, MatchInput.Context<I>, A, E, R | Scope.Scope>>;
32
- readonly effect: <I extends MatchInput.Any, A, E, R>(input: I, match: (ref: MatchInput.Success<I>) => Effect.Effect<A, E, R>) => RouteMatcher<Matches | RouteMatch.RouteMatch<MatchInput.Route<I>, MatchInput.Success<I>, MatchInput.Error<I>, MatchInput.Context<I>, A, E, R | Scope.Scope>>;
33
- readonly to: <I extends MatchInput.Any, B>(input: I, f: (value: MatchInput.Success<I>) => B) => RouteMatcher<Matches | RouteMatch.RouteMatch<MatchInput.Route<I>, MatchInput.Success<I>, MatchInput.Error<I>, MatchInput.Context<I>, B, never, Scope.Scope>>;
34
- }
35
- /**
36
- * @since 1.0.0
37
- */
38
- export declare namespace RouteMatcher {
39
- /**
40
- * @since 1.0.0
41
- */
42
- type Any = RouteMatcher<RouteMatch.RouteMatch.Any>;
43
- /**
44
- * @since 1.0.0
45
- */
46
- type Context<T> = T extends RouteMatcher<infer Matches> ? RouteMatch.RouteMatch.Context<Matches> : never;
47
- }
48
- /**
49
- * @since 1.0.0
50
- */
51
- export declare function make<Matches extends RouteMatch.RouteMatch.Any>(matches: ReadonlyArray<Matches>): RouteMatcher<Matches>;
52
- /**
53
- * @since 1.0.0
54
- */
55
- export declare const empty: RouteMatcher<never>;
56
- declare const effect: <I extends MatchInput.Any, A, E, R>(input: I, match: (ref: MatchInput.Success<I>) => Effect.Effect<A, E, R>) => RouteMatcher<RouteMatch.RouteMatch<MatchInput.Route<I>, MatchInput.Success<I>, MatchInput.Error<I>, MatchInput.Context<I>, A, E, Scope.Scope | R>>, match: <I extends MatchInput.Any, A, E, R>(input: I, match: (ref: RefSubject.RefSubject<MatchInput.Success<I>, never, never>) => Fx.Fx<A, E, R>) => RouteMatcher<RouteMatch.RouteMatch<MatchInput.Route<I>, MatchInput.Success<I>, MatchInput.Error<I>, MatchInput.Context<I>, A, E, R>>, switch_: <I extends MatchInput.Any, A, E, R>(input: I, match: (ref: MatchInput.Success<I>) => Fx.Fx<A, E, R>) => RouteMatcher<RouteMatch.RouteMatch<MatchInput.Route<I>, MatchInput.Success<I>, MatchInput.Error<I>, MatchInput.Context<I>, A, E, Scope.Scope | R>>, to: <I extends MatchInput.Any, B>(input: I, f: (value: MatchInput.Success<I>) => B) => RouteMatcher<RouteMatch.RouteMatch<MatchInput.Route<I>, MatchInput.Success<I>, MatchInput.Error<I>, MatchInput.Context<I>, B, never, Scope.Scope>>;
57
- export {
58
- /**
59
- * @since 1.0.0
60
- */
61
- effect,
62
- /**
63
- * @since 1.0.0
64
- */
65
- match,
66
- /**
67
- * @since 1.0.0
68
- */
69
- switch_ as switch,
70
- /**
71
- * @since 1.0.0
72
- */
73
- to };
74
- /**
75
- * @since 1.0.0
76
- */
77
- export declare const catchRedirectError: <A, E, R>(fx: Fx.Fx<A, E | RedirectError, R>) => Fx.Fx<A, Exclude<E, RedirectError>, R | Scope.Scope | Navigation>;
78
- /**
79
- * @since 1.0.0
80
- */
81
- export declare const notFound: {
82
- <A, E, R>(onNotFound: Fx.Fx<A, E, R>): <Matches extends RouteMatch.RouteMatch.Any>(router: RouteMatcher<Matches>) => Fx.Fx<A | RouteMatch.RouteMatch.Success<Matches>, Exclude<E | RouteMatch.RouteMatch.Error<Matches>, RedirectError>, Scope.Scope | Navigation | R | RouteMatch.RouteMatch.Context<Matches>>;
83
- <Matches extends RouteMatch.RouteMatch.Any, A, E, R>(router: RouteMatcher<Matches>, onNotFound: Fx.Fx<A, E, R>): Fx.Fx<A | RouteMatch.RouteMatch.Success<Matches>, Exclude<E | RouteMatch.RouteMatch.Error<Matches>, RedirectError>, Scope.Scope | Navigation | R | RouteMatch.RouteMatch.Context<Matches>>;
84
- };
85
- /**
86
- * @since 1.0.0
87
- */
88
- export declare const notFoundWith: {
89
- <A, E, R>(onNotFound: Effect.Effect<A, E, R>): <Matches extends RouteMatch.RouteMatch.Any>(router: RouteMatcher<Matches>) => Fx.Fx<A | RouteMatch.RouteMatch.Success<Matches>, Exclude<E | RouteMatch.RouteMatch.Error<Matches>, RedirectError>, R | Navigation | RouteMatch.RouteMatch.Context<Matches> | Scope.Scope>;
90
- <Matches extends RouteMatch.RouteMatch.Any, A, E, R>(router: RouteMatcher<Matches>, onNotFound: Effect.Effect<A, E, R>): Fx.Fx<A | RouteMatch.RouteMatch.Success<Matches>, Exclude<E | RouteMatch.RouteMatch.Error<Matches>, RedirectError>, R | Navigation | RouteMatch.RouteMatch.Context<Matches> | Scope.Scope>;
91
- };
92
- /**
93
- * @since 1.0.0
94
- */
95
- export declare function isRouteMatcher<M extends RouteMatch.RouteMatch.Any = RouteMatch.RouteMatch.Any>(value: unknown): value is RouteMatcher<M>;
96
- /**
97
- * @since 1.0.0
98
- */
99
- export declare const redirectWith: {
100
- <E, R>(effect: Effect.Effect<string, E, R>): <Matches extends RouteMatch.RouteMatch.Any>(router: RouteMatcher<Matches>) => Fx.Fx<RouteMatch.RouteMatch.Success<Matches>, Exclude<E | RouteMatch.RouteMatch.Error<Matches>, RedirectError>, Navigation | Scope.Scope | R | RouteMatch.RouteMatch.Context<Matches>>;
101
- <Matches extends RouteMatch.RouteMatch.Any, E, R>(router: RouteMatcher<Matches>, effect: Effect.Effect<string, E, R>): Fx.Fx<RouteMatch.RouteMatch.Success<Matches>, Exclude<E | RouteMatch.RouteMatch.Error<Matches>, RedirectError>, Navigation | Scope.Scope | R | RouteMatch.RouteMatch.Context<Matches>>;
102
- };
103
- /**
104
- * @since 1.0.0
105
- */
106
- export declare const redirectTo: {
107
- <R extends Route.Route.Any>(route: R, ...params: Route.Route.ParamsList<R>): <Matches extends RouteMatch.RouteMatch.Any>(router: RouteMatcher<Matches>) => Fx.Fx<RouteMatch.RouteMatch.Success<Matches>, RedirectRouteMatchError<R> | Exclude<RouteMatch.RouteMatch.Error<Matches>, RedirectError>, Scope.Scope | Navigation | CurrentRoute | RouteMatch.RouteMatch.Context<Matches>>;
108
- <Matches extends RouteMatch.RouteMatch.Any, R extends Route.Route.Any>(router: RouteMatcher<Matches>, route: R, ...params: Route.Route.ParamsList<R>): Fx.Fx<RouteMatch.RouteMatch.Success<Matches>, RedirectRouteMatchError<R> | Exclude<RouteMatch.RouteMatch.Error<Matches>, RedirectError>, Scope.Scope | Navigation | CurrentRoute | RouteMatch.RouteMatch.Context<Matches>>;
109
- };
110
- declare const RedirectRouteMatchError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
111
- readonly _tag: "RedirectRouteMatchError";
112
- } & Readonly<A>;
113
- /**
114
- * @since 1.0.0
115
- */
116
- export declare class RedirectRouteMatchError<R extends Route.Route.Any> extends RedirectRouteMatchError_base {
117
- readonly route: R;
118
- readonly params: Route.Route.Params<R>;
119
- constructor(route: R, params: Route.Route.Params<R>);
120
- }
121
- //# sourceMappingURL=Matcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Matcher.d.ts","sourceRoot":"","sources":["../../src/Matcher.ts"],"names":[],"mappings":"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"}
@@ -1,94 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import * as Guard from "@typed/guard";
5
- import * as Route from "@typed/route";
6
- import * as Effect from "effect/Effect";
7
- import * as Option from "effect/Option";
8
- /**
9
- * @since 1.0.0
10
- */
11
- export interface RouteGuard<R extends Route.Route.Any, B, E2, R2> {
12
- readonly route: R;
13
- readonly guard: Guard.Guard<string, B, E2, R2>;
14
- }
15
- /**
16
- * @since 1.0.0
17
- */
18
- export declare namespace RouteGuard {
19
- /**
20
- * @since 1.0.0
21
- */
22
- type Any = RouteGuard<Route.Route.Any, any, any, any>;
23
- /**
24
- * @since 1.0.0
25
- */
26
- type Route<T> = T extends RouteGuard<infer _R, infer _B, infer _E2, infer _R2> ? T["route"] : never;
27
- /**
28
- * @since 1.0.0
29
- */
30
- type Context<T> = T extends RouteGuard<infer _R, infer _B, infer _E2, infer R2> ? R2 : never;
31
- /**
32
- * @since 1.0.0
33
- */
34
- type Error<T> = T extends RouteGuard<infer _R, infer _B, infer E2, infer _R2> ? E2 : never;
35
- /**
36
- * @since 1.0.0
37
- */
38
- type Success<T> = T extends RouteGuard<infer _R, infer B, infer _E2, infer _R2> ? B : never;
39
- /**
40
- * @since 1.0.0
41
- */
42
- type UpdateSuccess<R extends RouteGuard.Any, B> = RouteGuard<Route<R>, B, Route.RouteDecodeError<R["route"]>, Route.Route.Context<Route<R>>>;
43
- }
44
- /**
45
- * @since 1.0.0
46
- */
47
- export declare function make<R extends Route.Route.Any, B, E2, R2>(route: R, guard: Guard.Guard<string, B, E2, R2>): RouteGuard<R, B, E2, R2>;
48
- /**
49
- * @since 1.0.0
50
- */
51
- export declare function fromRoute<R extends Route.Route.Any>(route: R): RouteGuard<R, Route.Route.Type<R>, Route.RouteDecodeError<R>, Route.Route.Context<R>>;
52
- /**
53
- * @since 1.0.0
54
- */
55
- export declare const map: {
56
- <R extends RouteGuard.Any, C>(f: (b: NoInfer<RouteGuard.Success<R>>) => C): (self: R) => RouteGuard<RouteGuard.Route<R>, C, RouteGuard.Error<R>, RouteGuard.Context<R>>;
57
- <R extends RouteGuard.Any, C>(self: R, f: (b: NoInfer<RouteGuard.Success<R>>) => C): RouteGuard<RouteGuard.Route<R>, C, RouteGuard.Error<R>, RouteGuard.Context<R>>;
58
- };
59
- /**
60
- * @since 1.0.0
61
- */
62
- export declare const mapEffect: {
63
- <R extends RouteGuard.Any, C, E3, R3>(f: (b: NoInfer<RouteGuard.Success<R>>) => Effect.Effect<C, E3, R3>): (self: R) => RouteGuard<RouteGuard.Route<R>, C, E3 | RouteGuard.Error<R>, R3 | RouteGuard.Context<R>>;
64
- <R extends RouteGuard.Any, C, E3, R3>(self: R, f: (b: NoInfer<RouteGuard.Success<R>>) => Effect.Effect<C, E3, R3>): RouteGuard<RouteGuard.Route<R>, C, E3 | RouteGuard.Error<R>, R3 | RouteGuard.Context<R>>;
65
- };
66
- /**
67
- * @since 1.0.0
68
- */
69
- export declare const filter: {
70
- <R extends RouteGuard.Any>(f: (b: NoInfer<RouteGuard.Success<R>>) => boolean): (self: R) => R;
71
- <R extends RouteGuard.Any>(self: R, f: (b: NoInfer<RouteGuard.Success<R>>) => boolean): R;
72
- };
73
- /**
74
- * @since 1.0.0
75
- */
76
- export declare const filterMap: {
77
- <R extends RouteGuard.Any, C>(f: (b: NoInfer<RouteGuard.Success<R>>) => Option.Option<C>): (self: R) => RouteGuard<RouteGuard.Route<R>, C, RouteGuard.Error<R>, RouteGuard.Context<R>>;
78
- <R extends RouteGuard.Any, C>(self: R, f: (b: NoInfer<RouteGuard.Success<R>>) => Option.Option<C>): RouteGuard<RouteGuard.Route<R>, C, RouteGuard.Error<R>, RouteGuard.Context<R>>;
79
- };
80
- /**
81
- * @since 1.0.0
82
- */
83
- export declare const flatMap: {
84
- <R extends RouteGuard.Any, C, E3, R3>(guard: Guard.Guard<RouteGuard.Success<R>, C, E3, R3>): (self: R) => RouteGuard<RouteGuard.Route<R>, C, E3 | RouteGuard.Error<R>, R3 | RouteGuard.Context<R>>;
85
- <R extends RouteGuard.Any, C, E3, R3>(self: R, guard: Guard.Guard<RouteGuard.Success<R>, C, E3, R3>): RouteGuard<RouteGuard.Route<R>, C, E3 | RouteGuard.Error<R>, R3 | RouteGuard.Context<R>>;
86
- };
87
- /**
88
- * @since 1.0.0
89
- */
90
- export declare const concat: {
91
- <R extends RouteGuard.Any>(other: R): <L extends RouteGuard.Any>(self: L) => RouteGuard<Route.Route.Concat<RouteGuard.Route<L>, RouteGuard.Route<R>>, RouteGuard.Success<L> & RouteGuard.Success<R>, RouteGuard.Error<L> | RouteGuard.Error<R>, RouteGuard.Context<L> | RouteGuard.Context<R>>;
92
- <L extends RouteGuard.Any, R extends RouteGuard.Any>(self: L, other: R): RouteGuard<Route.Route.Concat<RouteGuard.Route<L>, RouteGuard.Route<R>>, RouteGuard.Success<L> & RouteGuard.Success<R>, RouteGuard.Error<L> | RouteGuard.Error<R>, RouteGuard.Context<L> | RouteGuard.Context<R>>;
93
- };
94
- //# sourceMappingURL=RouteGuard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RouteGuard.d.ts","sourceRoot":"","sources":["../../src/RouteGuard.ts"],"names":[],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import { type Fx } from "@typed/fx/Fx";
5
- import type { RefSubject } from "@typed/fx/RefSubject";
6
- import type { Guard } from "@typed/guard";
7
- import type * as Route from "@typed/route";
8
- import { type CurrentRoute } from "./CurrentRoute.js";
9
- import type { MatchInput } from "./MatchInput.js";
10
- import * as RouteGuard from "./RouteGuard.js";
11
- /**
12
- * @since 1.0.0
13
- */
14
- export interface RouteMatch<R extends Route.Route.Any, B, E2, R2, C, E3, R3> extends RouteGuard.RouteGuard<R, B, E2, R2> {
15
- readonly match: (ref: RefSubject<B>) => Fx<C, E3, R3>;
16
- }
17
- /**
18
- * @since 1.0.0
19
- */
20
- export declare namespace RouteMatch {
21
- /**
22
- * @since 1.0.0
23
- */
24
- type Any<O = any> = RouteMatch<Route.Route.Any, any, any, any, O, any, any>;
25
- /**
26
- * @since 1.0.0
27
- */
28
- type Context<T> = T extends RouteMatch<infer _R, infer _B, infer _E2, infer _R2, infer _C, infer _E3, infer _R3> ? _R2 | _R3 : never;
29
- /**
30
- * @since 1.0.0
31
- */
32
- type Error<T> = T extends RouteMatch<infer _R, infer _B, infer E2, infer _R2, infer _C, infer E3, infer _R3> ? E2 | E3 : never;
33
- /**
34
- * @since 1.0.0
35
- */
36
- type Success<T> = T extends RouteMatch<infer _R, infer _B, infer _E2, infer _R2, infer C, infer _E3, infer _R3> ? C : never;
37
- }
38
- /**
39
- * @since 1.0.0
40
- */
41
- export declare function make<R extends Route.Route.Any, B, E2, R2, C, E3, R3>(route: R, guard: Guard<string, B, E2, R2>, match: (ref: RefSubject<B>) => Fx<C, E3, R3>): RouteMatch<R, B, E2, R2, C, E3, Exclude<R3, CurrentRoute>>;
42
- /**
43
- * @since 1.0.0
44
- */
45
- export declare function fromRoute<R extends Route.Route.Any, C, E3, R3>(route: R, match: (ref: RefSubject<Route.Route.Type<R>>) => Fx<C, E3, R3>): RouteMatch<R, Route.Route.Type<R>, Route.RouteDecodeError<R>, Route.Route.Context<R>, C, E3, Exclude<R3, CurrentRoute>>;
46
- /**
47
- * @since 1.0.0
48
- */
49
- export declare function fromInput<I extends MatchInput.Any, A, E, R>(input: I, match: (ref: RefSubject<MatchInput.Success<I>>) => Fx<A, E, R>): RouteMatch<MatchInput.Route<I>, MatchInput.Success<I>, MatchInput.Error<I>, MatchInput.Context<I>, A, E, Exclude<R, CurrentRoute>>;
50
- //# sourceMappingURL=RouteMatch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RouteMatch.d.ts","sourceRoot":"","sources":["../../src/RouteMatch.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- /**
5
- * @since 1.0.0
6
- */
7
- export * from "./CurrentRoute.js";
8
- /**
9
- * @since 1.0.0
10
- */
11
- export * from "./Matcher.js";
12
- /**
13
- * @since 1.0.0
14
- */
15
- export * from "./MatchInput.js";
16
- /**
17
- * @since 1.0.0
18
- */
19
- export * as RouteGuard from "./RouteGuard.js";
20
- /**
21
- * @since 1.0.0
22
- */
23
- export * as RouteMatch from "./RouteMatch.js";
24
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,cAAc,mBAAmB,CAAA;AAEjC;;GAEG;AACH,cAAc,cAAc,CAAA;AAE5B;;GAEG;AACH,cAAc,iBAAiB,CAAA;AAE/B;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA"}
@@ -1,152 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import * as Context from "@typed/context";
5
- import * as Document from "@typed/dom/Document";
6
- import * as RefSubject from "@typed/fx/RefSubject";
7
- import * as Navigation from "@typed/navigation";
8
- import * as Route from "@typed/route";
9
- import * as Effect from "effect/Effect";
10
- import { dual, pipe } from "effect/Function";
11
- import * as Option from "effect/Option";
12
- /**
13
- * @since 1.0.0
14
- */
15
- export const CurrentRoute = Context.Tagged("@typed/router/CurrentRoute");
16
- /**
17
- * @since 1.0.0
18
- */
19
- export function makeCurrentRoute(route, parent = Option.none()) {
20
- return {
21
- route,
22
- parent
23
- };
24
- }
25
- /**
26
- * @since 1.0.0
27
- */
28
- export function layer(route, parent = Option.none()) {
29
- return CurrentRoute.layer(makeCurrentRoute(route, parent));
30
- }
31
- /**
32
- * @since 1.0.0
33
- */
34
- export const CurrentParams = RefSubject.filteredFromTag(Navigation.Navigation, (nav) => RefSubject.filterMapEffect(nav.currentEntry, (e) => CurrentRoute.with(({ route }) => route.match(Navigation.getCurrentPathFromUrl(e.url)))));
35
- /**
36
- * @since 1.0.0
37
- */
38
- export const withCurrentRoute = dual(2, (effect, route) => Effect.contextWithEffect((ctx) => {
39
- const parent = Context.getOption(ctx, CurrentRoute);
40
- if (Option.isNone(parent)) {
41
- return pipe(effect, CurrentRoute.provide(makeCurrentRoute(route)));
42
- }
43
- return pipe(effect, CurrentRoute.provide(makeCurrentRoute(parent.value.route.concat(route), parent)));
44
- }));
45
- const makeHref_ = (currentPath, currentRoute, route, params = {}) => {
46
- const currentMatch = currentRoute.match(currentPath);
47
- if (Option.isNone(currentMatch))
48
- return Option.none();
49
- const fullRoute = currentRoute.concat(route);
50
- const fullParams = { ...currentMatch.value, ...params };
51
- return Option.some(fullRoute.interpolate(fullParams));
52
- };
53
- export function makeHref(route, ...[params]) {
54
- return RefSubject.filterMapEffect(Navigation.CurrentPath, (currentPath) => Effect.map(CurrentRoute, (currentRoute) => makeHref_(currentPath, currentRoute.route, route, params)));
55
- }
56
- const isActive_ = (currentPath, currentRoute, route, params = {}) => {
57
- const currentMatch = currentRoute.match(currentPath);
58
- if (Option.isNone(currentMatch))
59
- return false;
60
- const fullRoute = currentRoute.concat(route);
61
- const fullParams = { ...currentMatch.value, ...params };
62
- const href = fullRoute.interpolate(fullParams);
63
- const [currentPathname, currentQuery] = splitByQuery(currentPath);
64
- const [hrefPathname, hrefQuery] = splitByQuery(href);
65
- return ((fullRoute.routeOptions.end
66
- ? currentPathname === hrefPathname
67
- : currentPathname.startsWith(hrefPathname)) &&
68
- compareQueries(currentQuery, hrefQuery));
69
- };
70
- function compareQueries(currentQuery, hrefQuery) {
71
- // if hrefQuery is empty, it means that the href is a pathname only
72
- if (!hrefQuery)
73
- return true;
74
- // if currentQuery is empty, there is no match at this point
75
- if (!currentQuery)
76
- return false;
77
- // if the queries are equal, there is a match
78
- if (currentQuery === hrefQuery)
79
- return true;
80
- const currentQueryParams = new URLSearchParams(currentQuery);
81
- const hrefQueryParams = new URLSearchParams(hrefQuery);
82
- for (const key of hrefQueryParams.keys()) {
83
- const a = currentQueryParams.getAll(key).sort();
84
- const b = hrefQueryParams.getAll(key).sort();
85
- if (a.length !== b.length || !b.every((bx, i) => a[i] === bx))
86
- return false;
87
- }
88
- return true;
89
- }
90
- function splitByQuery(path) {
91
- const queryIndex = path.indexOf("?");
92
- if (queryIndex > -1) {
93
- const pathname = path.slice(0, queryIndex);
94
- const query = path.slice(queryIndex + 1).trim();
95
- return [pathname, query];
96
- }
97
- return [path, ""];
98
- }
99
- export function isActive(route, ...[params]) {
100
- return RefSubject.mapEffect(Navigation.CurrentPath, (currentPath) => CurrentRoute.with((currentRoute) => isActive_(currentPath, currentRoute.route, route, params)));
101
- }
102
- /**
103
- * @since 1.0.0
104
- */
105
- export function decode(route) {
106
- return RefSubject.filteredFromTag(Navigation.Navigation, (nav) => RefSubject.filterMapEffect(nav.currentEntry, (e) => Effect.flatMap(CurrentRoute, ({ route: parent }) => Effect.optionFromOptional(Route.decode(parent.concat(route), Navigation.getCurrentPathFromUrl(e.url))))));
107
- }
108
- /**
109
- * @since 1.0.0
110
- */
111
- export const browser = CurrentRoute.layer(Effect.gen(function* () {
112
- const document = yield* Document.Document;
113
- const base = document.querySelector("base");
114
- const baseHref = base ? getBasePathname(base.href) : "/";
115
- return {
116
- route: Route.parse(baseHref),
117
- parent: Option.none()
118
- };
119
- }));
120
- function getBasePathname(base) {
121
- try {
122
- const url = new URL(base);
123
- return url.pathname;
124
- }
125
- catch {
126
- return base;
127
- }
128
- }
129
- /**
130
- * @since 1.0.0
131
- */
132
- export const server = (base = "/") => CurrentRoute.layer({ route: Route.parse(base), parent: Option.none() });
133
- const getSearchParams = (destination) => destination.url.searchParams;
134
- /**
135
- * @since 1.0.0
136
- */
137
- export const CurrentSearchParams = RefSubject.map(Navigation.CurrentEntry, getSearchParams);
138
- /**
139
- * @since 1.0.0
140
- */
141
- export const CurrentState = RefSubject.computedFromTag(Navigation.Navigation, (n) => RefSubject.map(n.currentEntry, (e) => e.state));
142
- /**
143
- * @since 1.0.0
144
- */
145
- export const navigate = (route, ...[options]) => Effect.gen(function* (_) {
146
- const params = options?.params ?? {};
147
- const path = options?.relative === false
148
- ? route.interpolate(params)
149
- : yield* _(makeHref(route, params));
150
- return yield* _(Navigation.navigate(path));
151
- });
152
- //# sourceMappingURL=CurrentRoute.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CurrentRoute.js","sourceRoot":"","sources":["../../src/CurrentRoute.ts"],"names":[],"mappings":"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"}
@@ -1,79 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import * as Route from "@typed/route";
5
- import { dual } from "effect/Function";
6
- import * as RouteGuard from "./RouteGuard.js";
7
- /**
8
- * @since 1.0.0
9
- */
10
- export function asRouteGuard(input) {
11
- return Route.isRoute(input) ? RouteGuard.fromRoute(input) : input;
12
- }
13
- /**
14
- * @since 1.0.0
15
- */
16
- export const map = dual(2, function map(input, f) {
17
- return RouteGuard.map(asRouteGuard(input), f);
18
- });
19
- /**
20
- * @since 1.0.0
21
- */
22
- export const mapEffect = dual(2, function mapEffect(input, f) {
23
- return RouteGuard.mapEffect(asRouteGuard(input), f);
24
- });
25
- /**
26
- * @since 1.0.0
27
- */
28
- export const filter = dual(2, function filter(input, f) {
29
- return RouteGuard.filter(asRouteGuard(input), f);
30
- });
31
- /**
32
- * @since 1.0.0
33
- */
34
- export const filterMap = dual(2, function filterMap(input, f) {
35
- return RouteGuard.filterMap(asRouteGuard(input), f);
36
- });
37
- /**
38
- * @since 1.0.0
39
- */
40
- export const flatMap = dual(2, function flatMap(input, guard) {
41
- return RouteGuard.flatMap(asRouteGuard(input), guard);
42
- });
43
- /**
44
- * @since 1.0.0
45
- */
46
- export function concat(left, right) {
47
- return RouteGuard.concat(asRouteGuard(left), asRouteGuard(right));
48
- }
49
- /**
50
- * @since 1.0.0
51
- */
52
- export function getRoute(input) {
53
- return asRouteGuard(input).route;
54
- }
55
- /**
56
- * @since 1.0.0
57
- */
58
- export function getSchema(input) {
59
- return asRouteGuard(input).route.schema;
60
- }
61
- /**
62
- * @since 1.0.0
63
- */
64
- export function getPathSchema(input) {
65
- return asRouteGuard(input).route.pathSchema;
66
- }
67
- /**
68
- * @since 1.0.0
69
- */
70
- export function getQuerySchema(input) {
71
- return asRouteGuard(input).route.querySchema;
72
- }
73
- /**
74
- * @since 1.0.0
75
- */
76
- export function getPath(input) {
77
- return asRouteGuard(input).route.path;
78
- }
79
- //# sourceMappingURL=MatchInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MatchInput.js","sourceRoot":"","sources":["../../src/MatchInput.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AA+F7C;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAQ;IAER,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAQ,CAAC,CAAC,CAAC,KAAK,CAAA;AAC1E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GASZ,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,CACtB,KAAQ,EACR,CAAkC;IAElC,OAAO,UAAU,CAAC,GAAG,CAGnB,YAAY,CAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AAC9B,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GASlB,IAAI,CAAC,CAAC,EAAE,SAAS,SAAS,CAC5B,KAAQ,EACR,CAAyD;IAEzD,OAAO,UAAU,CAAC,SAAS,CAKzB,YAAY,CAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AAC9B,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAWf,IAAI,CAAC,CAAC,EAAE,SAAS,MAAM,CACzB,KAAQ,EACR,CAAwC;IAExC,OAAO,UAAU,CAAC,MAAM,CAEtB,YAAY,CAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AAC9B,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GASlB,IAAI,CAAC,CAAC,EAAE,SAAS,SAAS,CAC5B,KAAQ,EACR,CAAiD;IAEjD,OAAO,UAAU,CAAC,SAAS,CAGzB,YAAY,CAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AAC9B,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAShB,IAAI,CAAC,CAAC,EAAE,SAAS,OAAO,CAC1B,KAAQ,EACR,KAA8C;IAE9C,OAAO,UAAU,CAAC,OAAO,CAKvB,YAAY,CAAI,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;AAClC,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,UAAU,MAAM,CACpB,IAAO,EACP,KAAQ;IAOR,OAAO,UAAU,CAAC,MAAM,CAGtB,YAAY,CAAI,IAAI,CAAC,EAAE,YAAY,CAAI,KAAK,CAAC,CAAC,CAAA;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAA2B,KAAQ;IACzD,OAAO,YAAY,CAAI,KAAK,CAAC,CAAC,KAAK,CAAA;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAA2B,KAAQ;IAC1D,OAAO,YAAY,CAAI,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAA2B,KAAQ;IAC9D,OAAO,YAAY,CAAI,KAAK,CAAC,CAAC,KAAK,CAAC,UAAsC,CAAA;AAC5E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAA2B,KAAQ;IAC/D,OAAO,YAAY,CAAI,KAAK,CAAC,CAAC,KAAK,CAAC,WAAwC,CAAA;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAA2B,KAAQ;IACxD,OAAO,YAAY,CAAI,KAAK,CAAC,CAAC,KAAK,CAAC,IAA0B,CAAA;AAChE,CAAC"}