@typed/router 0.24.0 → 0.26.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.
@@ -1 +1 @@
1
- {"version":3,"file":"Matcher.js","names":["_environment","require","Fx","_interopRequireWildcard","Guard","Match","RefSubject","Navigation","Route","Effect","Option","_CurrentRoute","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","RouteMatcherImpl","guards","constructor","match","bind","to","notFound","redirect","pathOrRoute","guard","f","route","getRoute","arguments","length","getGuard","ref","scoped","map","fromFxEffect","CurrentEnvironment","with","env","onNotFound","CurrentEntry","matcher","value","take","CurrentPath","when","middleware","withCurrentRoute","filterMapErrorEffect","getOrElse","isRedirectError","as","forkScoped","handleRedirect","none","succeedSome","params","mapEffect","makeHref","s","fail","redirectToPath","path","compose","asGuard","fromPath","empty","exports"],"sources":["../../src/Matcher.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"Matcher.js","names":["_environment","require","Fx","_interopRequireWildcard","Guard","Match","RefSubject","Navigation","Route","Effect","Option","_CurrentRoute","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","RouteMatcherImpl","guards","constructor","match","bind","to","notFound","redirect","pathOrRoute","guard","f","route","getRoute","arguments","length","getGuard","ref","scoped","map","fromFxEffect","CurrentEnvironment","with","env","onNotFound","CurrentEntry","matcher","value","take","CurrentPath","when","middleware","withCurrentRoute","filterMapErrorEffect","getOrElse","isRedirectError","as","forkScoped","handleRedirect","none","succeedSome","params","mapEffect","makeHref","s","fail","redirectToPath","path","compose","asGuard","fromPath","empty","exports"],"sources":["../../src/Matcher.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -32,22 +32,22 @@ export declare function layer<const P extends string>(route: P | Route.Route<P>,
32
32
  /**
33
33
  * @since 1.0.0
34
34
  */
35
- export declare const CurrentParams: RefSubject.Filtered<Navigation | CurrentRoute, never, Readonly<Record<string, string>>>;
35
+ export declare const CurrentParams: RefSubject.Filtered<Readonly<Record<string, string>>, never, Navigation | CurrentRoute>;
36
36
  /**
37
37
  * @since 1.0.0
38
38
  */
39
39
  export declare const withCurrentRoute: {
40
- <P extends string>(route: Route.Route<P>): <R, E, A>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, CurrentRoute>>;
41
- <R, E, A, P extends string>(effect: Effect.Effect<A, E, R>, route: Route.Route<P>): Effect.Effect<A, E, Exclude<R, CurrentRoute>>;
40
+ <P extends string>(route: Route.Route<P>): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, CurrentRoute>>;
41
+ <A, E, R, P extends string>(effect: Effect.Effect<A, E, R>, route: Route.Route<P>): Effect.Effect<A, E, Exclude<R, CurrentRoute>>;
42
42
  };
43
43
  /**
44
44
  * @since 1.0.0
45
45
  */
46
- export declare function makeHref<const P extends string>(pathOrRoute: Route.Route<P> | P, ...params: [keyof ParamsOf<P>] extends [never] ? [{}?] : [ParamsOf<P>]): RefSubject.Filtered<Navigation | CurrentRoute, never, string>;
46
+ export declare function makeHref<const P extends string>(pathOrRoute: Route.Route<P> | P, ...params: [keyof ParamsOf<P>] extends [never] ? [{}?] : [ParamsOf<P>]): RefSubject.Filtered<string, never, Navigation | CurrentRoute>;
47
47
  /**
48
48
  * @since 1.0.0
49
49
  */
50
- export declare function isActive<const P extends string>(pathOrRoute: Route.Route<P> | P, ...params: [keyof ParamsOf<P>] extends [never] ? [{}?] : [ParamsOf<P>]): RefSubject.Computed<Navigation | CurrentRoute, never, boolean>;
50
+ export declare function isActive<const P extends string>(pathOrRoute: Route.Route<P> | P, ...params: [keyof ParamsOf<P>] extends [never] ? [{}?] : [ParamsOf<P>]): RefSubject.Computed<boolean, never, Navigation | CurrentRoute>;
51
51
  /**
52
52
  * @since 1.0.0
53
53
  */
@@ -59,9 +59,9 @@ export declare const server: (base?: string) => Layer.Layer<CurrentRoute>;
59
59
  /**
60
60
  * @since 1.0.0
61
61
  */
62
- export declare const CurrentSearchParams: RefSubject.Computed<Navigation, never, Readonly<Record<string, string>>>;
62
+ export declare const CurrentSearchParams: RefSubject.Computed<Readonly<Record<string, string>>, never, Navigation>;
63
63
  /**
64
64
  * @since 1.0.0
65
65
  */
66
- export declare const CurrentState: RefSubject.Computed<Navigation, never, unknown>;
66
+ export declare const CurrentState: RefSubject.Computed<unknown, never, Navigation>;
67
67
  //# sourceMappingURL=CurrentRoute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CurrentRoute.d.ts","sourceRoot":"","sources":["../../src/CurrentRoute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CurrentRoute.d.ts","sourceRoot":"","sources":["../../src/CurrentRoute.ts"],"names":[],"mappings":"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"}
@@ -13,17 +13,26 @@ import type { CurrentRoute } from "./CurrentRoute.js";
13
13
  /**
14
14
  * @since 1.0.0
15
15
  */
16
- export interface RouteMatcher<R, E, A> {
16
+ export interface RouteMatcher<A, E, R> {
17
+ readonly guards: ReadonlyArray<RouteGuard<any, any, A, E, R, E, R>>;
17
18
  readonly match: {
18
- <const P extends string, R2, E2, B>(route: Route.Route<P> | P, f: (ref: RefSubject.RefSubject<never, never, Path.ParamsOf<P>>) => Fx.Fx<R2, E2, B>): RouteMatcher<R | Exclude<R2, Scope.Scope>, E | E2, A | B>;
19
- <const P extends string, R2, E2, B, R3, E3, C>(route: Route.Route<P> | P, guard: Guard.Guard<Path.ParamsOf<P>, R2, E2, B>, f: (ref: RefSubject.RefSubject<never, never, B>) => Fx.Fx<R3, E3, C>): RouteMatcher<R | Exclude<R2, Scope.Scope> | Exclude<R3, Scope.Scope>, E | E2 | E3, A | C>;
19
+ <const P extends string, B, E2, R2>(route: Route.Route<P> | P, f: (ref: RefSubject.RefSubject<Path.ParamsOf<P>>) => Fx.Fx<B, E2, R2>): RouteMatcher<R | Exclude<R2, Scope.Scope>, E | E2, A | B>;
20
+ <const P extends string, B, E2, R2, C, E3, R3>(route: Route.Route<P> | P, guard: Guard.Guard<Path.ParamsOf<P>, B, E2, R2>, f: (ref: RefSubject.RefSubject<B>) => Fx.Fx<C, E3, R3>): RouteMatcher<R | Exclude<R2, Scope.Scope> | Exclude<R3, Scope.Scope>, E | E2 | E3, A | C>;
20
21
  };
21
22
  readonly to: {
22
- <const P extends string, B>(route: Route.Route<P> | P, f: (params: Path.ParamsOf<P>) => B): RouteMatcher<R, E, A | B>;
23
- <const P extends string, R2, E2, B, R3, E3, C>(route: Route.Route<P> | P, guard: Guard.Guard<Path.ParamsOf<P>, R2, E2, B>, f: (b: B) => C): RouteMatcher<R | Exclude<R2, Scope.Scope> | Exclude<R3, Scope.Scope>, E | E2 | E3, A | C>;
23
+ <const P extends string, B>(route: Route.Route<P> | P, f: (params: Path.ParamsOf<P>) => B): RouteMatcher<A | B, E, R>;
24
+ <const P extends string, B, E2, R2, C, E3, R3>(route: Route.Route<P> | P, guard: Guard.Guard<Path.ParamsOf<P>, B, E2, R2>, f: (b: B) => C): RouteMatcher<A | C, E | E2 | E3, R | Exclude<R2, Scope.Scope> | Exclude<R3, Scope.Scope>>;
24
25
  };
25
- readonly notFound: <R2, E2, B>(f: (destination: typeof Navigation.CurrentEntry) => Fx.Fx<R2, E2, B>) => Fx.Fx<Navigation.Navigation | CurrentEnvironment | R | R2 | Scope.Scope, Exclude<E | E2, Navigation.RedirectError>, A | B>;
26
- readonly redirect: <const P extends string>(route: Route.Route<P> | P, ...[params]: [keyof Path.ParamsOf<P>] extends [never] ? [{}?] : [Path.ParamsOf<P>]) => Fx.Fx<Navigation.Navigation | CurrentRoute | CurrentEnvironment | R | Scope.Scope, Exclude<E, Navigation.RedirectError>, A>;
26
+ readonly notFound: <B, E2, R2>(f: (destination: typeof Navigation.CurrentEntry) => Fx.Fx<B, E2, R2>) => Fx.Fx<A | B, Exclude<E | E2, Navigation.RedirectError>, Navigation.Navigation | CurrentEnvironment | R | R2 | Scope.Scope>;
27
+ readonly redirect: <const P extends string>(route: Route.Route<P> | P, ...[params]: [keyof Path.ParamsOf<P>] extends [never] ? [{}?] : [Path.ParamsOf<P>]) => Fx.Fx<A, Exclude<E, Navigation.RedirectError>, Navigation.Navigation | CurrentRoute | CurrentEnvironment | R | Scope.Scope>;
28
+ }
29
+ /**
30
+ * @since 1.0.0
31
+ */
32
+ export interface RouteGuard<P extends string, A, O, E = never, R = never, E2 = never, R2 = never> {
33
+ readonly route: Route.Route<P>;
34
+ readonly guard: Guard.Guard<string, A, E, R>;
35
+ readonly match: (ref: RefSubject.RefSubject<A>) => Fx.Fx<O, E2, R2>;
27
36
  }
28
37
  /**
29
38
  * @since 1.0.0
@@ -37,14 +46,14 @@ export declare const
37
46
  * @since 1.0.0
38
47
  */
39
48
  match: {
40
- <const P extends string, R2, E2, B>(route: P | Route.Route<P>, f: (ref: RefSubject.RefSubject<never, never, Path.PartsToParams<Path.PathToParts<P>, {}> extends infer T ? { readonly [K in keyof T]: Path.PartsToParams<Path.PathToParts<P>, {}>[K]; } : never>) => Fx.Fx<R2, E2, B>): RouteMatcher<Exclude<R2, Scope.Scope>, E2, B>;
41
- <const P_1 extends string, R2_1, E2_1, B_1, R3, E3, C>(route: P_1 | Route.Route<P_1>, guard: Guard.Guard<Path.PartsToParams<Path.PathToParts<P_1>, {}> extends infer T_1 ? { readonly [K_1 in keyof T_1]: Path.PartsToParams<Path.PathToParts<P_1>, {}>[K_1]; } : never, R2_1, E2_1, B_1>, f: (ref: RefSubject.RefSubject<never, never, B_1>) => Fx.Fx<R3, E3, C>): RouteMatcher<Exclude<R2_1, Scope.Scope> | Exclude<R3, Scope.Scope>, E2_1 | E3, C>;
49
+ <const P extends string, B, E2, R2>(route: P | Route.Route<P>, f: (ref: RefSubject.RefSubject<Path.PartsToParams<Path.PathToParts<P>, {}> extends infer T ? { readonly [K in keyof T]: Path.PartsToParams<Path.PathToParts<P>, {}>[K]; } : never, never, never>) => Fx.Fx<B, E2, R2>): RouteMatcher<Exclude<R2, Scope.Scope>, E2, B>;
50
+ <const P_1 extends string, B_1, E2_1, R2_1, C, E3, R3>(route: P_1 | Route.Route<P_1>, guard: Guard.Guard<Path.PartsToParams<Path.PathToParts<P_1>, {}> extends infer T_1 ? { readonly [K_1 in keyof T_1]: Path.PartsToParams<Path.PathToParts<P_1>, {}>[K_1]; } : never, B_1, E2_1, R2_1>, f: (ref: RefSubject.RefSubject<B_1, never, never>) => Fx.Fx<C, E3, R3>): RouteMatcher<Exclude<R2_1, Scope.Scope> | Exclude<R3, Scope.Scope>, E2_1 | E3, C>;
42
51
  },
43
52
  /**
44
53
  * @since 1.0.0
45
54
  */
46
55
  to: {
47
- <const P extends string, B>(route: P | Route.Route<P>, f: (params: Path.PartsToParams<Path.PathToParts<P>, {}> extends infer T ? { readonly [K in keyof T]: Path.PartsToParams<Path.PathToParts<P>, {}>[K]; } : never) => B): RouteMatcher<never, never, B>;
48
- <const P_1 extends string, R2, E2, B_1, R3, E3, C>(route: P_1 | Route.Route<P_1>, guard: Guard.Guard<Path.PartsToParams<Path.PathToParts<P_1>, {}> extends infer T_1 ? { readonly [K_1 in keyof T_1]: Path.PartsToParams<Path.PathToParts<P_1>, {}>[K_1]; } : never, R2, E2, B_1>, f: (b: B_1) => C): RouteMatcher<Exclude<R2, Scope.Scope> | Exclude<R3, Scope.Scope>, E2 | E3, C>;
56
+ <const P extends string, B>(route: P | Route.Route<P>, f: (params: Path.PartsToParams<Path.PathToParts<P>, {}> extends infer T ? { readonly [K in keyof T]: Path.PartsToParams<Path.PathToParts<P>, {}>[K]; } : never) => B): RouteMatcher<B, never, never>;
57
+ <const P_1 extends string, B_1, E2, R2, C, E3, R3>(route: P_1 | Route.Route<P_1>, guard: Guard.Guard<Path.PartsToParams<Path.PathToParts<P_1>, {}> extends infer T_1 ? { readonly [K_1 in keyof T_1]: Path.PartsToParams<Path.PathToParts<P_1>, {}>[K_1]; } : never, B_1, E2, R2>, f: (b: B_1) => C): RouteMatcher<C, E2 | E3, Exclude<R2, Scope.Scope> | Exclude<R3, Scope.Scope>>;
49
58
  };
50
59
  //# sourceMappingURL=Matcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Matcher.d.ts","sourceRoot":"","sources":["../../src/Matcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Matcher.d.ts","sourceRoot":"","sources":["../../src/Matcher.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAA;AAExC,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAGnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAEnE,QAAQ,CAAC,KAAK,EAAE;QACd,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAChC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EACzB,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GACpE,YAAY,CAAC,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;QAE5D,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAC3C,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EACzB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAC/C,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GACrD,YAAY,CAAC,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;KAC7F,CAAA;IAED,QAAQ,CAAC,EAAE,EAAE;QACX,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EACxB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EACzB,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GACjC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAE5B,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAC3C,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EACzB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAC/C,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GACb,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;KAC7F,CAAA;IAED,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAC3B,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,UAAU,CAAC,YAAY,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,KACjE,EAAE,CAAC,EAAE,CACR,CAAC,GAAG,CAAC,EACL,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,aAAa,CAAC,EACzC,UAAU,CAAC,UAAU,GAAG,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAClE,CAAA;IAED,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EACxC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EACzB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAC/E,EAAE,CAAC,EAAE,CACR,CAAC,EACD,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,EACpC,UAAU,CAAC,UAAU,GAAG,YAAY,GAAG,kBAAkB,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAC5E,CAAA;CACF;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAK;IAC9F,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5C,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;CACpE;AA2HD;;GAEG;AACH,wBAAgB,KAAK,IAAI,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAEzD;AAED;;GAEG;AACH,eAAO;AACL;;GAEG;AACH,KAAK;;;;AACL;;GAEG;AACH,EAAE;;;CACO,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Matcher.js","sourceRoot":"","sources":["../../src/Matcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Matcher.js","sourceRoot":"","sources":["../../src/Matcher.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typed/router",
3
- "version": "0.24.0",
3
+ "version": "0.26.0",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -11,13 +11,13 @@
11
11
  "author": "Typed contributors",
12
12
  "dependencies": {
13
13
  "effect": "^2.3.6",
14
- "@typed/context": "0.24.0",
15
- "@typed/dom": "12.0.0",
16
- "@typed/environment": "0.6.0",
17
- "@typed/fx": "1.23.0",
18
- "@typed/navigation": "0.11.0",
14
+ "@typed/context": "0.24.1",
15
+ "@typed/dom": "12.0.1",
16
+ "@typed/environment": "0.6.1",
17
+ "@typed/fx": "1.24.1",
18
+ "@typed/navigation": "0.12.1",
19
19
  "@typed/path": "0.9.0",
20
- "@typed/route": "3.2.0"
20
+ "@typed/route": "3.2.2"
21
21
  },
22
22
  "main": "./dist/cjs/index.js",
23
23
  "module": "./dist/esm/index.js",
@@ -59,7 +59,7 @@ function getRoute<P extends string>(route: P | Route.Route<P>): Route.Route<P> {
59
59
  /**
60
60
  * @since 1.0.0
61
61
  */
62
- export const CurrentParams: RefSubject.Filtered<Navigation | CurrentRoute, never, Readonly<Record<string, string>>> =
62
+ export const CurrentParams: RefSubject.Filtered<Readonly<Record<string, string>>, never, Navigation | CurrentRoute> =
63
63
  RefSubject
64
64
  .filterMapEffect(CurrentPath, (path) => CurrentRoute.with(({ route }) => route.match(path)))
65
65
 
@@ -69,13 +69,13 @@ export const CurrentParams: RefSubject.Filtered<Navigation | CurrentRoute, never
69
69
  export const withCurrentRoute: {
70
70
  <P extends string>(
71
71
  route: Route.Route<P>
72
- ): <R, E, A>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, CurrentRoute>>
72
+ ): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, CurrentRoute>>
73
73
 
74
- <R, E, A, P extends string>(
74
+ <A, E, R, P extends string>(
75
75
  effect: Effect.Effect<A, E, R>,
76
76
  route: Route.Route<P>
77
77
  ): Effect.Effect<A, E, Exclude<R, CurrentRoute>>
78
- } = dual(2, <R, E, A, P extends string>(
78
+ } = dual(2, <A, E, R, P extends string>(
79
79
  effect: Effect.Effect<A, E, R>,
80
80
  route: Route.Route<P>
81
81
  ): Effect.Effect<A, E, Exclude<R, CurrentRoute>> =>
@@ -111,7 +111,7 @@ const makeHref_ = <P extends string, P2 extends string>(
111
111
  export function makeHref<const P extends string>(
112
112
  pathOrRoute: Route.Route<P> | P,
113
113
  ...params: [keyof ParamsOf<P>] extends [never] ? [{}?] : [ParamsOf<P>]
114
- ): RefSubject.Filtered<Navigation | CurrentRoute, never, string> {
114
+ ): RefSubject.Filtered<string, never, Navigation | CurrentRoute> {
115
115
  const route = typeof pathOrRoute === "string" ? Route.fromPath(pathOrRoute) : pathOrRoute
116
116
 
117
117
  return RefSubject.filterMapEffect(
@@ -143,7 +143,7 @@ const isActive_ = <P extends string, P2 extends string>(
143
143
  export function isActive<const P extends string>(
144
144
  pathOrRoute: Route.Route<P> | P,
145
145
  ...params: [keyof ParamsOf<P>] extends [never] ? [{}?] : [ParamsOf<P>]
146
- ): RefSubject.Computed<Navigation | CurrentRoute, never, boolean> {
146
+ ): RefSubject.Computed<boolean, never, Navigation | CurrentRoute> {
147
147
  const route = typeof pathOrRoute === "string" ? Route.fromPath(pathOrRoute) : pathOrRoute
148
148
 
149
149
  return RefSubject.mapEffect(
@@ -181,7 +181,7 @@ const getSearchParams = (destination: Destination): Readonly<Record<string, stri
181
181
  /**
182
182
  * @since 1.0.0
183
183
  */
184
- export const CurrentSearchParams: RefSubject.Computed<Navigation, never, Readonly<Record<string, string>>> = RefSubject
184
+ export const CurrentSearchParams: RefSubject.Computed<Readonly<Record<string, string>>, never, Navigation> = RefSubject
185
185
  .map(CurrentEntry, getSearchParams)
186
186
 
187
187
  /**
package/src/Matcher.ts CHANGED
@@ -16,25 +16,22 @@ import * as Option from "effect/Option"
16
16
  import type { CurrentRoute } from "./CurrentRoute.js"
17
17
  import { makeHref, withCurrentRoute } from "./CurrentRoute.js"
18
18
 
19
- // TODO: Form component
20
- // TODO: view transitions - opt-in via link/form component
21
- // TODO: scroll restoration
22
- // TODO: Utilize scroll events on Window to capture scroll positions and elements
23
-
24
19
  /**
25
20
  * @since 1.0.0
26
21
  */
27
- export interface RouteMatcher<R, E, A> {
22
+ export interface RouteMatcher<A, E, R> {
23
+ readonly guards: ReadonlyArray<RouteGuard<any, any, A, E, R, E, R>>
24
+
28
25
  readonly match: {
29
- <const P extends string, R2, E2, B>(
26
+ <const P extends string, B, E2, R2>(
30
27
  route: Route.Route<P> | P,
31
- f: (ref: RefSubject.RefSubject<never, never, Path.ParamsOf<P>>) => Fx.Fx<R2, E2, B>
28
+ f: (ref: RefSubject.RefSubject<Path.ParamsOf<P>>) => Fx.Fx<B, E2, R2>
32
29
  ): RouteMatcher<R | Exclude<R2, Scope.Scope>, E | E2, A | B>
33
30
 
34
- <const P extends string, R2, E2, B, R3, E3, C>(
31
+ <const P extends string, B, E2, R2, C, E3, R3>(
35
32
  route: Route.Route<P> | P,
36
- guard: Guard.Guard<Path.ParamsOf<P>, R2, E2, B>,
37
- f: (ref: RefSubject.RefSubject<never, never, B>) => Fx.Fx<R3, E3, C>
33
+ guard: Guard.Guard<Path.ParamsOf<P>, B, E2, R2>,
34
+ f: (ref: RefSubject.RefSubject<B>) => Fx.Fx<C, E3, R3>
38
35
  ): RouteMatcher<R | Exclude<R2, Scope.Scope> | Exclude<R3, Scope.Scope>, E | E2 | E3, A | C>
39
36
  }
40
37
 
@@ -42,63 +39,66 @@ export interface RouteMatcher<R, E, A> {
42
39
  <const P extends string, B>(
43
40
  route: Route.Route<P> | P,
44
41
  f: (params: Path.ParamsOf<P>) => B
45
- ): RouteMatcher<R, E, A | B>
42
+ ): RouteMatcher<A | B, E, R>
46
43
 
47
- <const P extends string, R2, E2, B, R3, E3, C>(
44
+ <const P extends string, B, E2, R2, C, E3, R3>(
48
45
  route: Route.Route<P> | P,
49
- guard: Guard.Guard<Path.ParamsOf<P>, R2, E2, B>,
46
+ guard: Guard.Guard<Path.ParamsOf<P>, B, E2, R2>,
50
47
  f: (b: B) => C
51
- ): RouteMatcher<R | Exclude<R2, Scope.Scope> | Exclude<R3, Scope.Scope>, E | E2 | E3, A | C>
48
+ ): RouteMatcher<A | C, E | E2 | E3, R | Exclude<R2, Scope.Scope> | Exclude<R3, Scope.Scope>>
52
49
  }
53
50
 
54
- readonly notFound: <R2, E2, B>(
55
- f: (destination: typeof Navigation.CurrentEntry) => Fx.Fx<R2, E2, B>
51
+ readonly notFound: <B, E2, R2>(
52
+ f: (destination: typeof Navigation.CurrentEntry) => Fx.Fx<B, E2, R2>
56
53
  ) => Fx.Fx<
57
- Navigation.Navigation | CurrentEnvironment | R | R2 | Scope.Scope,
54
+ A | B,
58
55
  Exclude<E | E2, Navigation.RedirectError>,
59
- A | B
56
+ Navigation.Navigation | CurrentEnvironment | R | R2 | Scope.Scope
60
57
  >
61
58
 
62
59
  readonly redirect: <const P extends string>(
63
60
  route: Route.Route<P> | P,
64
61
  ...[params]: [keyof Path.ParamsOf<P>] extends [never] ? [{}?] : [Path.ParamsOf<P>]
65
62
  ) => Fx.Fx<
66
- Navigation.Navigation | CurrentRoute | CurrentEnvironment | R | Scope.Scope,
63
+ A,
67
64
  Exclude<E, Navigation.RedirectError>,
68
- A
65
+ Navigation.Navigation | CurrentRoute | CurrentEnvironment | R | Scope.Scope
69
66
  >
70
67
  }
71
68
 
72
- interface RouteGuard {
73
- readonly route: Route.Route<any>
74
- readonly guard: Guard.Guard<string, any, any, any>
75
- readonly match: (ref: RefSubject.RefSubject<never, never, any>) => Fx.Fx<any, any, any>
69
+ /**
70
+ * @since 1.0.0
71
+ */
72
+ export interface RouteGuard<P extends string, A, O, E = never, R = never, E2 = never, R2 = never> {
73
+ readonly route: Route.Route<P>
74
+ readonly guard: Guard.Guard<string, A, E, R>
75
+ readonly match: (ref: RefSubject.RefSubject<A>) => Fx.Fx<O, E2, R2>
76
76
  }
77
77
 
78
- class RouteMatcherImpl<R, E, A> implements RouteMatcher<R, E, A> {
79
- constructor(readonly guards: ReadonlyArray<RouteGuard>) {
78
+ class RouteMatcherImpl<A, E, R> implements RouteMatcher<A, E, R> {
79
+ constructor(readonly guards: ReadonlyArray<RouteGuard<any, any, any, any, any, any, any>>) {
80
80
  this.match = this.match.bind(this)
81
81
  this.to = this.to.bind(this)
82
82
  this.notFound = this.notFound.bind(this)
83
83
  this.redirect = this.redirect.bind(this)
84
84
  }
85
85
 
86
- match<const P extends string, R2, E2, B>(
86
+ match<const P extends string, B, E2, R2>(
87
87
  route: Route.Route<P> | P,
88
- f: (ref: RefSubject.RefSubject<never, never, Path.ParamsOf<P>>) => Fx.Fx<R2, E2, B>
88
+ f: (ref: RefSubject.RefSubject<Path.ParamsOf<P>>) => Fx.Fx<B, E2, R2>
89
89
  ): RouteMatcher<R | Exclude<R2, Scope.Scope>, E | E2, A | B>
90
- match<const P extends string, R2, E2, B, R3, E3, C>(
90
+ match<const P extends string, B, E2, R2, C, E3, R3>(
91
91
  route: Route.Route<P> | P,
92
- guard: Guard.Guard<Path.ParamsOf<P>, R2, E2, B>,
93
- f: (ref: RefSubject.RefSubject<never, never, B>) => Fx.Fx<R3, E3, C>
92
+ guard: Guard.Guard<Path.ParamsOf<P>, B, E2, R2>,
93
+ f: (ref: RefSubject.RefSubject<B>) => Fx.Fx<C, E3, R3>
94
94
  ): RouteMatcher<R | Exclude<R2 | R3, Scope.Scope>, E | E2 | E3, A | C>
95
95
 
96
- match<const P extends string, R2, E2, B, R3, E3, C>(
96
+ match<const P extends string, B, E2, R2, C, E3, R3>(
97
97
  pathOrRoute: Route.Route<P> | P,
98
98
  guard:
99
- | Guard.Guard<Path.ParamsOf<P>, R2, E2, B>
100
- | ((ref: RefSubject.RefSubject<never, never, B>) => Fx.Fx<R3, E3, C>),
101
- f?: (ref: RefSubject.RefSubject<never, never, B>) => Fx.Fx<R3, E3, C>
99
+ | Guard.Guard<Path.ParamsOf<P>, B, E2, R2>
100
+ | ((ref: RefSubject.RefSubject<B>) => Fx.Fx<C, E3, R3>),
101
+ f?: (ref: RefSubject.RefSubject<B>) => Fx.Fx<C, E3, R3>
102
102
  ): RouteMatcher<R | R2 | R3, E | E2 | E3, A | C> {
103
103
  const route = getRoute(pathOrRoute)
104
104
 
@@ -117,20 +117,20 @@ class RouteMatcherImpl<R, E, A> implements RouteMatcher<R, E, A> {
117
117
  }
118
118
  }
119
119
 
120
- to<const P extends string, R2, E2, B>(
120
+ to<const P extends string, B, E2, R2>(
121
121
  route: Route.Route<P> | P,
122
122
  f: (params: Path.ParamsOf<P>) => B
123
123
  ): RouteMatcher<R | R2, E | E2, A | B>
124
124
 
125
- to<const P extends string, R2, E2, B, R3, E3, C>(
125
+ to<const P extends string, B, E2, R2, C, E3, R3>(
126
126
  route: Route.Route<P> | P,
127
- guard: Guard.Guard<Path.ParamsOf<P>, R2, E2, B>,
127
+ guard: Guard.Guard<Path.ParamsOf<P>, B, E2, R2>,
128
128
  f: (b: B) => C
129
129
  ): RouteMatcher<R | R2 | R3, E | E2 | E3, A | C>
130
130
 
131
- to<const P extends string, R2, E2, B, R3, E3, C>(
131
+ to<const P extends string, B, E2, R2, C, E3, R3>(
132
132
  route: Route.Route<P> | P,
133
- guard: Guard.Guard<Path.ParamsOf<P>, R2, E2, B> | ((b: B) => C),
133
+ guard: Guard.Guard<Path.ParamsOf<P>, B, E2, R2> | ((b: B) => C),
134
134
  f?: (b: B) => C
135
135
  ): RouteMatcher<R | Exclude<R2 | R3, Scope.Scope>, E | E2 | E3, A | C> {
136
136
  if (arguments.length === 2) {
@@ -140,16 +140,16 @@ class RouteMatcherImpl<R, E, A> implements RouteMatcher<R, E, A> {
140
140
  }
141
141
  }
142
142
 
143
- notFound<R2, E2, B>(
144
- f: (destination: RefSubject.Computed<Navigation.Navigation, never, Navigation.Destination>) => Fx.Fx<R2, E2, B>
143
+ notFound<B, E2, R2>(
144
+ f: (destination: RefSubject.Computed<Navigation.Destination, never, Navigation.Navigation>) => Fx.Fx<B, E2, R2>
145
145
  ): Fx.Fx<
146
- R | R2 | CurrentEnvironment | Navigation.Navigation | Scope.Scope,
146
+ A | B,
147
147
  Exclude<E | E2, Navigation.RedirectError>,
148
- A | B
148
+ R | R2 | CurrentEnvironment | Navigation.Navigation | Scope.Scope
149
149
  > {
150
150
  return Fx.fromFxEffect(CurrentEnvironment.with((env) => {
151
151
  const onNotFound = Fx.scoped(f(Navigation.CurrentEntry))
152
- let matcher: Match.ValueMatcher<R | R2 | Navigation.Navigation | Scope.Scope, E | E2, string, A | B> = Match
152
+ let matcher: Match.ValueMatcher<string, A | B, E | E2, R | R2 | Navigation.Navigation | Scope.Scope> = Match
153
153
  .value(
154
154
  // Only if we're rendering in a DOM-based environment should we allow for routing to last indefinitely
155
155
  env === "server" || env === "static" ? Fx.take(Navigation.CurrentPath, 1) : Navigation.CurrentPath
@@ -171,9 +171,9 @@ class RouteMatcherImpl<R, E, A> implements RouteMatcher<R, E, A> {
171
171
  route: P | Route.Route<P>,
172
172
  ...params: [keyof Path.ParamsOf<P>] extends [never] ? [{}?] : [Path.ParamsOf<P>]
173
173
  ): Fx.Fx<
174
- R | Navigation.Navigation | CurrentEnvironment | CurrentRoute | Scope.Scope,
174
+ A,
175
175
  Exclude<E, Navigation.RedirectError>,
176
- A
176
+ R | Navigation.Navigation | CurrentEnvironment | CurrentRoute | Scope.Scope
177
177
  > {
178
178
  return this.notFound(() =>
179
179
  RefSubject.mapEffect(makeHref(route, ...params), (s) => Effect.fail(Navigation.redirectToPath(s)))
@@ -181,9 +181,9 @@ class RouteMatcherImpl<R, E, A> implements RouteMatcher<R, E, A> {
181
181
  }
182
182
  }
183
183
 
184
- function getGuard<const P extends string, R2, E2, B>(
184
+ function getGuard<const P extends string, B, E2, R2>(
185
185
  path: Route.Route<P>,
186
- guard?: Guard.Guard<Path.ParamsOf<P>, R2, E2, B>
186
+ guard?: Guard.Guard<Path.ParamsOf<P>, B, E2, R2>
187
187
  ) {
188
188
  if (guard) {
189
189
  return Guard.compose(Route.asGuard(getRoute(path)), guard)