@typed/router 0.25.0 → 0.26.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/Matcher.js.map +1 -1
- package/dist/dts/Matcher.d.ts +9 -0
- package/dist/dts/Matcher.d.ts.map +1 -1
- package/dist/esm/Matcher.js.map +1 -1
- package/package.json +4 -4
- package/src/Matcher.ts +10 -10
package/dist/cjs/Matcher.js.map
CHANGED
|
@@ -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":";;;;;;;AAIA,IAAAA,YAAA,gBAAAC,OAAA;AACA,IAAAC,EAAA,gBAAAC,uBAAA,eAAAF,OAAA;AACA,IAAAG,KAAA,gBAAAD,uBAAA,eAAAF,OAAA;AACA,IAAAI,KAAA,gBAAAF,uBAAA,eAAAF,OAAA;AACA,IAAAK,UAAA,gBAAAH,uBAAA,eAAAF,OAAA;AACA,IAAAM,UAAA,gBAAAJ,uBAAA,eAAAF,OAAA;AAEA,IAAAO,KAAA,gBAAAL,uBAAA,eAAAF,OAAA;AAEA,IAAAQ,MAAA,gBAAAN,uBAAA,eAAAF,OAAA;AACA,IAAAS,MAAA,gBAAAP,uBAAA,eAAAF,OAAA;AAEA,IAAAU,aAAA,gBAAAV,OAAA;AAA8D,SAAAW,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAhB9D;;;;AA6EA,MAAMY,gBAAgB;EACCC,MAAA;EAArBC,YAAqBD,
|
|
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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"}
|
package/dist/dts/Matcher.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ import type { CurrentRoute } from "./CurrentRoute.js";
|
|
|
14
14
|
* @since 1.0.0
|
|
15
15
|
*/
|
|
16
16
|
export interface RouteMatcher<A, E, R> {
|
|
17
|
+
readonly guards: ReadonlyArray<RouteGuard<any, any, A, E, R, E, R>>;
|
|
17
18
|
readonly match: {
|
|
18
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>;
|
|
19
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>;
|
|
@@ -25,6 +26,14 @@ export interface RouteMatcher<A, E, R> {
|
|
|
25
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>;
|
|
26
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>;
|
|
27
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>;
|
|
36
|
+
}
|
|
28
37
|
/**
|
|
29
38
|
* @since 1.0.0
|
|
30
39
|
*/
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"Matcher.d.ts","sourceRoot":"","sources":["../../src/Matcher.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Matcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Matcher.js","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;AACxC,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAA;AACxC,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AA6D9D,MAAM,gBAAgB;IACC;IAArB,YAAqB,
|
|
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.
|
|
3
|
+
"version": "0.26.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
"@typed/context": "0.24.1",
|
|
15
15
|
"@typed/dom": "12.0.1",
|
|
16
16
|
"@typed/environment": "0.6.1",
|
|
17
|
-
"@typed/fx": "1.
|
|
18
|
-
"@typed/navigation": "0.12.
|
|
17
|
+
"@typed/fx": "1.25.0",
|
|
18
|
+
"@typed/navigation": "0.12.2",
|
|
19
19
|
"@typed/path": "0.9.0",
|
|
20
|
-
"@typed/route": "3.2.
|
|
20
|
+
"@typed/route": "3.2.3"
|
|
21
21
|
},
|
|
22
22
|
"main": "./dist/cjs/index.js",
|
|
23
23
|
"module": "./dist/esm/index.js",
|
package/src/Matcher.ts
CHANGED
|
@@ -16,15 +16,12 @@ 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
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
26
|
<const P extends string, B, E2, R2>(
|
|
30
27
|
route: Route.Route<P> | P,
|
|
@@ -69,14 +66,17 @@ export interface RouteMatcher<A, E, R> {
|
|
|
69
66
|
>
|
|
70
67
|
}
|
|
71
68
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
78
|
class RouteMatcherImpl<A, E, R> implements RouteMatcher<A, E, R> {
|
|
79
|
-
constructor(readonly guards: ReadonlyArray<RouteGuard
|
|
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)
|