@typed/router 0.29.0 → 0.30.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/cjs/CurrentRoute.js +52 -25
- package/dist/cjs/CurrentRoute.js.map +1 -1
- package/dist/cjs/MatchInput.js.map +1 -1
- package/dist/cjs/RouteGuard.js.map +1 -1
- package/dist/dts/CurrentRoute.d.ts +30 -8
- package/dist/dts/CurrentRoute.d.ts.map +1 -1
- package/dist/dts/MatchInput.d.ts +1 -1
- package/dist/dts/MatchInput.d.ts.map +1 -1
- package/dist/esm/CurrentRoute.js +53 -23
- package/dist/esm/CurrentRoute.js.map +1 -1
- package/dist/esm/MatchInput.js.map +1 -1
- package/dist/esm/RouteGuard.js.map +1 -1
- package/package.json +11 -11
- package/src/CurrentRoute.ts +147 -58
- package/src/MatchInput.ts +2 -2
- package/src/RouteGuard.ts +1 -1
package/dist/cjs/CurrentRoute.js
CHANGED
|
@@ -9,11 +9,11 @@ exports.isActive = isActive;
|
|
|
9
9
|
exports.layer = layer;
|
|
10
10
|
exports.makeCurrentRoute = makeCurrentRoute;
|
|
11
11
|
exports.makeHref = makeHref;
|
|
12
|
-
exports.withCurrentRoute = exports.server = void 0;
|
|
12
|
+
exports.withCurrentRoute = exports.server = exports.navigate = void 0;
|
|
13
13
|
var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/context"));
|
|
14
14
|
var Document = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/dom/Document"));
|
|
15
15
|
var RefSubject = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/fx/RefSubject"));
|
|
16
|
-
var
|
|
16
|
+
var Navigation = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/navigation"));
|
|
17
17
|
var Route = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/route"));
|
|
18
18
|
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
|
|
19
19
|
var _Function = /*#__PURE__*/require("effect/Function");
|
|
@@ -46,15 +46,17 @@ function layer(route, parent = Option.none()) {
|
|
|
46
46
|
/**
|
|
47
47
|
* @since 1.0.0
|
|
48
48
|
*/
|
|
49
|
-
const CurrentParams = exports.CurrentParams = /*#__PURE__*/RefSubject.filteredFromTag(
|
|
49
|
+
const CurrentParams = exports.CurrentParams = /*#__PURE__*/RefSubject.filteredFromTag(Navigation.Navigation, nav => RefSubject.filterMapEffect(nav.currentEntry, e => CurrentRoute.with(({
|
|
50
50
|
route
|
|
51
|
-
}) => route.match(
|
|
51
|
+
}) => route.match(Navigation.getCurrentPathFromUrl(e.url)))));
|
|
52
52
|
/**
|
|
53
53
|
* @since 1.0.0
|
|
54
54
|
*/
|
|
55
55
|
const withCurrentRoute = exports.withCurrentRoute = /*#__PURE__*/(0, _Function.dual)(2, (effect, route) => Effect.contextWithEffect(ctx => {
|
|
56
56
|
const parent = Context.getOption(ctx, CurrentRoute);
|
|
57
|
-
if (Option.isNone(parent))
|
|
57
|
+
if (Option.isNone(parent)) {
|
|
58
|
+
return (0, _Function.pipe)(effect, CurrentRoute.provide(makeCurrentRoute(route)));
|
|
59
|
+
}
|
|
58
60
|
return (0, _Function.pipe)(effect, CurrentRoute.provide(makeCurrentRoute(parent.value.route.concat(route), parent)));
|
|
59
61
|
}));
|
|
60
62
|
const makeHref_ = (currentPath, currentRoute, route, params = {}) => {
|
|
@@ -67,11 +69,8 @@ const makeHref_ = (currentPath, currentRoute, route, params = {}) => {
|
|
|
67
69
|
};
|
|
68
70
|
return Option.some(fullRoute.interpolate(fullParams));
|
|
69
71
|
};
|
|
70
|
-
/**
|
|
71
|
-
* @since 1.0.0
|
|
72
|
-
*/
|
|
73
72
|
function makeHref(route, ...[params]) {
|
|
74
|
-
return RefSubject.filterMapEffect(
|
|
73
|
+
return RefSubject.filterMapEffect(Navigation.CurrentPath, currentPath => Effect.map(CurrentRoute, currentRoute => makeHref_(currentPath, currentRoute.route, route, params)));
|
|
75
74
|
}
|
|
76
75
|
const isActive_ = (currentPath, currentRoute, route, params = {}) => {
|
|
77
76
|
const currentMatch = currentRoute.match(currentPath);
|
|
@@ -81,27 +80,46 @@ const isActive_ = (currentPath, currentRoute, route, params = {}) => {
|
|
|
81
80
|
...currentMatch.value,
|
|
82
81
|
...params
|
|
83
82
|
};
|
|
84
|
-
const
|
|
85
|
-
const
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
return true;
|
|
89
|
-
} else if (route.routeOptions.end) {
|
|
90
|
-
return false;
|
|
91
|
-
} else {
|
|
92
|
-
return currentPathWithoutSearch.startsWith(fullPathWithoutSearch);
|
|
93
|
-
}
|
|
83
|
+
const href = fullRoute.interpolate(fullParams);
|
|
84
|
+
const [currentPathname, currentQuery] = splitByQuery(currentPath);
|
|
85
|
+
const [hrefPathname, hrefQuery] = splitByQuery(href);
|
|
86
|
+
return (fullRoute.routeOptions.end ? currentPathname === hrefPathname : currentPathname.startsWith(hrefPathname)) && compareQueries(currentQuery, hrefQuery);
|
|
94
87
|
};
|
|
88
|
+
function compareQueries(currentQuery, hrefQuery) {
|
|
89
|
+
// if hrefQuery is empty, it means that the href is a pathname only
|
|
90
|
+
if (!hrefQuery) return true;
|
|
91
|
+
// if currentQuery is empty, there is no match at this point
|
|
92
|
+
if (!currentQuery) return false;
|
|
93
|
+
// if the queries are equal, there is a match
|
|
94
|
+
if (currentQuery === hrefQuery) return true;
|
|
95
|
+
const currentQueryParams = new URLSearchParams(currentQuery);
|
|
96
|
+
const hrefQueryParams = new URLSearchParams(hrefQuery);
|
|
97
|
+
for (const key of hrefQueryParams.keys()) {
|
|
98
|
+
const a = currentQueryParams.getAll(key).sort();
|
|
99
|
+
const b = hrefQueryParams.getAll(key).sort();
|
|
100
|
+
if (a.length !== b.length || !b.every((bx, i) => a[i] === bx)) return false;
|
|
101
|
+
}
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
function splitByQuery(path) {
|
|
105
|
+
const queryIndex = path.indexOf("?");
|
|
106
|
+
if (queryIndex > -1) {
|
|
107
|
+
const pathname = path.slice(0, queryIndex);
|
|
108
|
+
const query = path.slice(queryIndex + 1).trim();
|
|
109
|
+
return [pathname, query];
|
|
110
|
+
}
|
|
111
|
+
return [path, ""];
|
|
112
|
+
}
|
|
95
113
|
function isActive(route, ...[params]) {
|
|
96
|
-
return RefSubject.mapEffect(
|
|
114
|
+
return RefSubject.mapEffect(Navigation.CurrentPath, currentPath => CurrentRoute.with(currentRoute => isActive_(currentPath, currentRoute.route, route, params)));
|
|
97
115
|
}
|
|
98
116
|
/**
|
|
99
117
|
* @since 1.0.0
|
|
100
118
|
*/
|
|
101
119
|
function decode(route) {
|
|
102
|
-
return RefSubject.filteredFromTag(
|
|
120
|
+
return RefSubject.filteredFromTag(Navigation.Navigation, nav => RefSubject.filterMapEffect(nav.currentEntry, e => Effect.flatMap(CurrentRoute, ({
|
|
103
121
|
route: parent
|
|
104
|
-
}) => Effect.optionFromOptional(Route.decode(parent.concat(route),
|
|
122
|
+
}) => Effect.optionFromOptional(Route.decode(parent.concat(route), Navigation.getCurrentPathFromUrl(e.url))))));
|
|
105
123
|
}
|
|
106
124
|
/**
|
|
107
125
|
* @since 1.0.0
|
|
@@ -131,13 +149,22 @@ const server = (base = "/") => CurrentRoute.layer({
|
|
|
131
149
|
parent: Option.none()
|
|
132
150
|
});
|
|
133
151
|
exports.server = server;
|
|
134
|
-
const getSearchParams = destination =>
|
|
152
|
+
const getSearchParams = destination => destination.url.searchParams;
|
|
153
|
+
/**
|
|
154
|
+
* @since 1.0.0
|
|
155
|
+
*/
|
|
156
|
+
const CurrentSearchParams = exports.CurrentSearchParams = /*#__PURE__*/RefSubject.map(Navigation.CurrentEntry, getSearchParams);
|
|
135
157
|
/**
|
|
136
158
|
* @since 1.0.0
|
|
137
159
|
*/
|
|
138
|
-
const
|
|
160
|
+
const CurrentState = exports.CurrentState = /*#__PURE__*/RefSubject.computedFromTag(Navigation.Navigation, n => RefSubject.map(n.currentEntry, e => e.state));
|
|
139
161
|
/**
|
|
140
162
|
* @since 1.0.0
|
|
141
163
|
*/
|
|
142
|
-
const
|
|
164
|
+
const navigate = (route, ...[options]) => Effect.gen(function* (_) {
|
|
165
|
+
const params = options?.params ?? {};
|
|
166
|
+
const path = options?.relative === false ? route.interpolate(params) : yield* _(makeHref(route, params));
|
|
167
|
+
return yield* _(Navigation.navigate(path));
|
|
168
|
+
});
|
|
169
|
+
exports.navigate = navigate;
|
|
143
170
|
//# sourceMappingURL=CurrentRoute.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CurrentRoute.js","names":["Context","_interopRequireWildcard","require","Document","RefSubject","
|
|
1
|
+
{"version":3,"file":"CurrentRoute.js","names":["Context","_interopRequireWildcard","require","Document","RefSubject","Navigation","Route","Effect","_Function","Option","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","CurrentRoute","exports","Tagged","makeCurrentRoute","route","parent","none","layer","CurrentParams","filteredFromTag","nav","filterMapEffect","currentEntry","with","match","getCurrentPathFromUrl","url","withCurrentRoute","dual","effect","contextWithEffect","ctx","getOption","isNone","pipe","provide","value","concat","makeHref_","currentPath","currentRoute","params","currentMatch","fullRoute","fullParams","some","interpolate","makeHref","CurrentPath","map","isActive_","href","currentPathname","currentQuery","splitByQuery","hrefPathname","hrefQuery","routeOptions","end","startsWith","compareQueries","currentQueryParams","URLSearchParams","hrefQueryParams","key","keys","getAll","sort","b","length","every","bx","path","queryIndex","indexOf","pathname","slice","query","trim","isActive","mapEffect","decode","flatMap","optionFromOptional","browser","gen","document","base","querySelector","baseHref","getBasePathname","parse","URL","server","getSearchParams","destination","searchParams","CurrentSearchParams","CurrentEntry","CurrentState","computedFromTag","state","navigate","options","_","relative"],"sources":["../../src/CurrentRoute.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MatchInput.js","names":["Route","_interopRequireWildcard","require","_Function","RouteGuard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","asRouteGuard","input","isRoute","fromRoute","map","exports","dual","f","mapEffect","filter","filterMap","flatMap","guard","concat","left","right","getRoute","route","getSchema","schema","getPathSchema","pathSchema","getQuerySchema","querySchema","getPath","path"],"sources":["../../src/MatchInput.ts"],"sourcesContent":[null],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MatchInput.js","names":["Route","_interopRequireWildcard","require","_Function","RouteGuard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","asRouteGuard","input","isRoute","fromRoute","map","exports","dual","f","mapEffect","filter","filterMap","flatMap","guard","concat","left","right","getRoute","route","getSchema","schema","getPathSchema","pathSchema","getQuerySchema","querySchema","getPath","path"],"sources":["../../src/MatchInput.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteGuard.js","names":["Guard","_interopRequireWildcard","require","Route","Effect","_Function","Option","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","route","guard","fromRoute","flow","decode_","optionFromOptional","map","exports","dual","self","f","mapEffect","filter","filterMap","flatMap","compose","concat","other","input","Do","pipe","bind","options","all","b"],"sources":["../../src/RouteGuard.ts"],"sourcesContent":[null],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RouteGuard.js","names":["Guard","_interopRequireWildcard","require","Route","Effect","_Function","Option","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","route","guard","fromRoute","flow","decode_","optionFromOptional","map","exports","dual","self","f","mapEffect","filter","filterMap","flatMap","compose","concat","other","input","Do","pipe","bind","options","all","b"],"sources":["../../src/RouteGuard.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -5,8 +5,9 @@ import * as Context from "@typed/context";
|
|
|
5
5
|
import * as Document from "@typed/dom/Document";
|
|
6
6
|
import type * as Fx from "@typed/fx";
|
|
7
7
|
import * as RefSubject from "@typed/fx/RefSubject";
|
|
8
|
-
import
|
|
8
|
+
import * as Navigation from "@typed/navigation";
|
|
9
9
|
import * as Route from "@typed/route";
|
|
10
|
+
import type { Cause } from "effect";
|
|
10
11
|
import * as Effect from "effect/Effect";
|
|
11
12
|
import type * as Layer from "effect/Layer";
|
|
12
13
|
import * as Option from "effect/Option";
|
|
@@ -32,7 +33,7 @@ export declare function layer<R extends Route.Route.Any>(route: R, parent?: Opti
|
|
|
32
33
|
/**
|
|
33
34
|
* @since 1.0.0
|
|
34
35
|
*/
|
|
35
|
-
export declare const CurrentParams: RefSubject.Filtered<Readonly<Record<string, string | ReadonlyArray<string>>>, never, Navigation | CurrentRoute>;
|
|
36
|
+
export declare const CurrentParams: RefSubject.Filtered<Readonly<Record<string, string | ReadonlyArray<string>>>, never, Navigation.Navigation | CurrentRoute>;
|
|
36
37
|
/**
|
|
37
38
|
* @since 1.0.0
|
|
38
39
|
*/
|
|
@@ -43,16 +44,17 @@ export declare const withCurrentRoute: {
|
|
|
43
44
|
/**
|
|
44
45
|
* @since 1.0.0
|
|
45
46
|
*/
|
|
46
|
-
export declare function makeHref<const R extends Route.Route.Any>(route: R, ...[params]: Route.Route.ParamsList<R>): RefSubject.Filtered<string, never, Navigation | CurrentRoute>;
|
|
47
|
+
export declare function makeHref<const R extends Route.Route.Any>(route: R, ...[params]: Route.Route.ParamsList<R>): RefSubject.Filtered<string, never, Navigation.Navigation | CurrentRoute>;
|
|
48
|
+
export declare function makeHref<const R extends Route.Route.Any>(route: R, params: Route.Route.Params<R>): RefSubject.Filtered<string, never, Navigation.Navigation | CurrentRoute>;
|
|
47
49
|
/**
|
|
48
50
|
* @since 1.0.0
|
|
49
51
|
*/
|
|
50
|
-
export declare function isActive<R extends Route.Route.Any>(route: R, ...[params]: Route.Route.ParamsList<R>): RefSubject.Computed<boolean, never, Navigation | CurrentRoute>;
|
|
51
|
-
export declare function isActive<R extends Route.Route.Any>(route: R, params: Route.Route.Params<R>): RefSubject.Computed<boolean, never, Navigation | CurrentRoute>;
|
|
52
|
+
export declare function isActive<R extends Route.Route.Any>(route: R, ...[params]: Route.Route.ParamsList<R>): RefSubject.Computed<boolean, never, Navigation.Navigation | CurrentRoute>;
|
|
53
|
+
export declare function isActive<R extends Route.Route.Any>(route: R, params: Route.Route.Params<R>): RefSubject.Computed<boolean, never, Navigation.Navigation | CurrentRoute>;
|
|
52
54
|
/**
|
|
53
55
|
* @since 1.0.0
|
|
54
56
|
*/
|
|
55
|
-
export declare function decode<R extends Route.Route.Any>(route: R): Fx.RefSubject.Filtered<Route.Route.Type<R>, Route.RouteDecodeError<R>, Navigation | CurrentRoute | Route.Route.Context<R>>;
|
|
57
|
+
export declare function decode<R extends Route.Route.Any>(route: R): Fx.RefSubject.Filtered<Route.Route.Type<R>, Route.RouteDecodeError<R>, Navigation.Navigation | CurrentRoute | Route.Route.Context<R>>;
|
|
56
58
|
/**
|
|
57
59
|
* @since 1.0.0
|
|
58
60
|
*/
|
|
@@ -64,9 +66,29 @@ export declare const server: (base?: string) => Layer.Layer<CurrentRoute>;
|
|
|
64
66
|
/**
|
|
65
67
|
* @since 1.0.0
|
|
66
68
|
*/
|
|
67
|
-
export declare const CurrentSearchParams: RefSubject.Computed<
|
|
69
|
+
export declare const CurrentSearchParams: RefSubject.Computed<URLSearchParams, never, Navigation.Navigation>;
|
|
68
70
|
/**
|
|
69
71
|
* @since 1.0.0
|
|
70
72
|
*/
|
|
71
|
-
export declare const CurrentState: Fx.RefSubject.Computed<unknown, never, Navigation>;
|
|
73
|
+
export declare const CurrentState: Fx.RefSubject.Computed<unknown, never, Navigation.Navigation>;
|
|
74
|
+
/**
|
|
75
|
+
* @since 1.0.0
|
|
76
|
+
*/
|
|
77
|
+
export type NavigateOptions<R extends Route.Route.Any> = Route.Route.ParamsAreOptional<R> extends true ? [
|
|
78
|
+
options?: Navigation.NavigateOptions & {
|
|
79
|
+
readonly params?: Route.Route.Params<R> | undefined;
|
|
80
|
+
} & {
|
|
81
|
+
readonly relative?: boolean;
|
|
82
|
+
}
|
|
83
|
+
] : [
|
|
84
|
+
options: Navigation.NavigateOptions & {
|
|
85
|
+
readonly params: Route.Route.Params<R>;
|
|
86
|
+
} & {
|
|
87
|
+
readonly relative?: boolean;
|
|
88
|
+
}
|
|
89
|
+
];
|
|
90
|
+
/**
|
|
91
|
+
* @since 1.0.0
|
|
92
|
+
*/
|
|
93
|
+
export declare const navigate: <R extends Route.Route.Any>(route: R, ...[options]: NavigateOptions<R>) => Effect.Effect<Navigation.Destination, Navigation.NavigationError | Cause.NoSuchElementException, Navigation.Navigation | CurrentRoute>;
|
|
72
94
|
//# sourceMappingURL=CurrentRoute.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CurrentRoute.d.ts","sourceRoot":"","sources":["../../src/CurrentRoute.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,KAAK,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"CurrentRoute.d.ts","sourceRoot":"","sources":["../../src/CurrentRoute.ts"],"names":[],"mappings":"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"}
|
package/dist/dts/MatchInput.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MatchInput.d.ts","sourceRoot":"","sources":["../../src/MatchInput.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,KAAK,KAAK,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,MAAM,MAAM,UAAU,CACpB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAC3B,CAAC,GAAG,KAAK,EACT,CAAC,GAAG,KAAK,EACT,CAAC,GAAG,KAAK,IACP,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAEzE;;GAEG;AACH,yBAAiB,UAAU,CAAC;IAC1B;;OAEG;IACH,KAAY,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IAE7F;;OAEG;IACH,KAAY,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAC9E,CAAC,SAAS,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAChH,KAAK,CAAA;IAET;;OAEG;IACH,KAAY,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"MatchInput.d.ts","sourceRoot":"","sources":["../../src/MatchInput.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/CurrentRoute.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import * as Context from "@typed/context";
|
|
5
5
|
import * as Document from "@typed/dom/Document";
|
|
6
6
|
import * as RefSubject from "@typed/fx/RefSubject";
|
|
7
|
-
import
|
|
7
|
+
import * as Navigation from "@typed/navigation";
|
|
8
8
|
import * as Route from "@typed/route";
|
|
9
9
|
import * as Effect from "effect/Effect";
|
|
10
10
|
import { dual, pipe } from "effect/Function";
|
|
@@ -31,15 +31,15 @@ export function layer(route, parent = Option.none()) {
|
|
|
31
31
|
/**
|
|
32
32
|
* @since 1.0.0
|
|
33
33
|
*/
|
|
34
|
-
export const CurrentParams = RefSubject
|
|
35
|
-
.filteredFromTag(Navigation, (nav) => RefSubject.filterMapEffect(nav.currentEntry, (e) => CurrentRoute.with(({ route }) => route.match(getCurrentPathFromUrl(e.url)))));
|
|
34
|
+
export const CurrentParams = RefSubject.filteredFromTag(Navigation.Navigation, (nav) => RefSubject.filterMapEffect(nav.currentEntry, (e) => CurrentRoute.with(({ route }) => route.match(Navigation.getCurrentPathFromUrl(e.url)))));
|
|
36
35
|
/**
|
|
37
36
|
* @since 1.0.0
|
|
38
37
|
*/
|
|
39
38
|
export const withCurrentRoute = dual(2, (effect, route) => Effect.contextWithEffect((ctx) => {
|
|
40
39
|
const parent = Context.getOption(ctx, CurrentRoute);
|
|
41
|
-
if (Option.isNone(parent))
|
|
40
|
+
if (Option.isNone(parent)) {
|
|
42
41
|
return pipe(effect, CurrentRoute.provide(makeCurrentRoute(route)));
|
|
42
|
+
}
|
|
43
43
|
return pipe(effect, CurrentRoute.provide(makeCurrentRoute(parent.value.route.concat(route), parent)));
|
|
44
44
|
}));
|
|
45
45
|
const makeHref_ = (currentPath, currentRoute, route, params = {}) => {
|
|
@@ -50,11 +50,8 @@ const makeHref_ = (currentPath, currentRoute, route, params = {}) => {
|
|
|
50
50
|
const fullParams = { ...currentMatch.value, ...params };
|
|
51
51
|
return Option.some(fullRoute.interpolate(fullParams));
|
|
52
52
|
};
|
|
53
|
-
/**
|
|
54
|
-
* @since 1.0.0
|
|
55
|
-
*/
|
|
56
53
|
export function makeHref(route, ...[params]) {
|
|
57
|
-
return RefSubject.filterMapEffect(CurrentPath, (currentPath) => Effect.map(CurrentRoute, (currentRoute) => makeHref_(currentPath, currentRoute.route, route, params)));
|
|
54
|
+
return RefSubject.filterMapEffect(Navigation.CurrentPath, (currentPath) => Effect.map(CurrentRoute, (currentRoute) => makeHref_(currentPath, currentRoute.route, route, params)));
|
|
58
55
|
}
|
|
59
56
|
const isActive_ = (currentPath, currentRoute, route, params = {}) => {
|
|
60
57
|
const currentMatch = currentRoute.match(currentPath);
|
|
@@ -62,27 +59,51 @@ const isActive_ = (currentPath, currentRoute, route, params = {}) => {
|
|
|
62
59
|
return false;
|
|
63
60
|
const fullRoute = currentRoute.concat(route);
|
|
64
61
|
const fullParams = { ...currentMatch.value, ...params };
|
|
65
|
-
const
|
|
66
|
-
const
|
|
67
|
-
const
|
|
68
|
-
|
|
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)
|
|
69
73
|
return true;
|
|
70
|
-
|
|
71
|
-
|
|
74
|
+
// if currentQuery is empty, there is no match at this point
|
|
75
|
+
if (!currentQuery)
|
|
72
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;
|
|
73
87
|
}
|
|
74
|
-
|
|
75
|
-
|
|
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];
|
|
76
96
|
}
|
|
77
|
-
|
|
97
|
+
return [path, ""];
|
|
98
|
+
}
|
|
78
99
|
export function isActive(route, ...[params]) {
|
|
79
|
-
return RefSubject.mapEffect(CurrentPath, (currentPath) => CurrentRoute.with((currentRoute) => isActive_(currentPath, currentRoute.route, route, params)));
|
|
100
|
+
return RefSubject.mapEffect(Navigation.CurrentPath, (currentPath) => CurrentRoute.with((currentRoute) => isActive_(currentPath, currentRoute.route, route, params)));
|
|
80
101
|
}
|
|
81
102
|
/**
|
|
82
103
|
* @since 1.0.0
|
|
83
104
|
*/
|
|
84
105
|
export function decode(route) {
|
|
85
|
-
return RefSubject.filteredFromTag(Navigation, (nav) => RefSubject.filterMapEffect(nav.currentEntry, (e) => Effect.flatMap(CurrentRoute, ({ route: parent }) => Effect.optionFromOptional(Route.decode(parent.concat(route), getCurrentPathFromUrl(e.url))))));
|
|
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))))));
|
|
86
107
|
}
|
|
87
108
|
/**
|
|
88
109
|
* @since 1.0.0
|
|
@@ -109,14 +130,23 @@ function getBasePathname(base) {
|
|
|
109
130
|
* @since 1.0.0
|
|
110
131
|
*/
|
|
111
132
|
export const server = (base = "/") => CurrentRoute.layer({ route: Route.parse(base), parent: Option.none() });
|
|
112
|
-
const getSearchParams = (destination) =>
|
|
133
|
+
const getSearchParams = (destination) => destination.url.searchParams;
|
|
134
|
+
/**
|
|
135
|
+
* @since 1.0.0
|
|
136
|
+
*/
|
|
137
|
+
export const CurrentSearchParams = RefSubject.map(Navigation.CurrentEntry, getSearchParams);
|
|
113
138
|
/**
|
|
114
139
|
* @since 1.0.0
|
|
115
140
|
*/
|
|
116
|
-
export const
|
|
117
|
-
.map(CurrentEntry, getSearchParams);
|
|
141
|
+
export const CurrentState = RefSubject.computedFromTag(Navigation.Navigation, (n) => RefSubject.map(n.currentEntry, (e) => e.state));
|
|
118
142
|
/**
|
|
119
143
|
* @since 1.0.0
|
|
120
144
|
*/
|
|
121
|
-
export const
|
|
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
|
+
});
|
|
122
152
|
//# sourceMappingURL=CurrentRoute.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CurrentRoute.js","sourceRoot":"","sources":["../../src/CurrentRoute.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAE/C,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"CurrentRoute.js","sourceRoot":"","sources":["../../src/CurrentRoute.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteGuard.js","sourceRoot":"","sources":["../../src/RouteGuard.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAkDvC;;GAEG;AACH,MAAM,UAAU,IAAI,CAClB,KAAQ,EACR,KAAqC;IAErC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,KAAQ;IAER,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GASZ,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,CACtB,IAAO,EACP,CAA2C;IAE3C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAQ,CAAA;AAC1D,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GASlB,IAAI,CAAC,CAAC,EAAE,SAAS,SAAS,CAC5B,IAAO,EACP,CAAkE;IAElE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAQ,CAAA;AAChE,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAGf,IAAI,CAAC,CAAC,EAAE,SAAS,MAAM,CACzB,IAAO,EACP,CAAiD;IAEjD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAQ,CAAA;AAC7D,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GASlB,IAAI,CAAC,CAAC,EAAE,SAAS,SAAS,CAC5B,IAAO,EACP,CAA0D;IAE1D,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAQ,CAAA;AAChE,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAShB,IAAI,CAAC,CAAC,EAAE,SAAS,OAAO,CAC1B,IAAO,EACP,KAAoD;IAEpD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAQ,CAAA;AAClE,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAmBf,IAAI,CAAC,CAAC,EAAE,SAAS,MAAM,CACzB,IAAO,EACP,KAAQ;IAOR,OAAO,IAAI,CAMT,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"RouteGuard.js","sourceRoot":"","sources":["../../src/RouteGuard.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.30.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -10,16 +10,16 @@
|
|
|
10
10
|
"sideEffects": [],
|
|
11
11
|
"author": "Typed contributors",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@effect/schema": "^0.67.
|
|
14
|
-
"effect": "^3.
|
|
15
|
-
"@typed/context": "0.
|
|
16
|
-
"@typed/dom": "
|
|
17
|
-
"@typed/environment": "0.
|
|
18
|
-
"@typed/fx": "1.
|
|
19
|
-
"@typed/guard": "0.
|
|
20
|
-
"@typed/navigation": "0.
|
|
21
|
-
"@typed/path": "0.
|
|
22
|
-
"@typed/route": "
|
|
13
|
+
"@effect/schema": "^0.67.14",
|
|
14
|
+
"effect": "^3.2.5",
|
|
15
|
+
"@typed/context": "0.28.0",
|
|
16
|
+
"@typed/dom": "16.0.0",
|
|
17
|
+
"@typed/environment": "0.9.0",
|
|
18
|
+
"@typed/fx": "1.30.0",
|
|
19
|
+
"@typed/guard": "0.4.0",
|
|
20
|
+
"@typed/navigation": "0.16.0",
|
|
21
|
+
"@typed/path": "0.13.0",
|
|
22
|
+
"@typed/route": "7.0.0"
|
|
23
23
|
},
|
|
24
24
|
"main": "./dist/cjs/index.js",
|
|
25
25
|
"module": "./dist/esm/index.js",
|
package/src/CurrentRoute.ts
CHANGED
|
@@ -6,9 +6,9 @@ import * as Context from "@typed/context"
|
|
|
6
6
|
import * as Document from "@typed/dom/Document"
|
|
7
7
|
import type * as Fx from "@typed/fx"
|
|
8
8
|
import * as RefSubject from "@typed/fx/RefSubject"
|
|
9
|
-
import
|
|
10
|
-
import { CurrentEntry, CurrentPath, getCurrentPathFromUrl, Navigation } from "@typed/navigation"
|
|
9
|
+
import * as Navigation from "@typed/navigation"
|
|
11
10
|
import * as Route from "@typed/route"
|
|
11
|
+
import type { Cause } from "effect"
|
|
12
12
|
import * as Effect from "effect/Effect"
|
|
13
13
|
import { dual, pipe } from "effect/Function"
|
|
14
14
|
import type * as Layer from "effect/Layer"
|
|
@@ -56,16 +56,15 @@ export function layer<R extends Route.Route.Any>(
|
|
|
56
56
|
export const CurrentParams: RefSubject.Filtered<
|
|
57
57
|
Readonly<Record<string, string | ReadonlyArray<string>>>,
|
|
58
58
|
never,
|
|
59
|
-
Navigation | CurrentRoute
|
|
60
|
-
> = RefSubject
|
|
61
|
-
.
|
|
62
|
-
|
|
63
|
-
(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
)
|
|
59
|
+
Navigation.Navigation | CurrentRoute
|
|
60
|
+
> = RefSubject.filteredFromTag(
|
|
61
|
+
Navigation.Navigation,
|
|
62
|
+
(nav) =>
|
|
63
|
+
RefSubject.filterMapEffect(
|
|
64
|
+
nav.currentEntry,
|
|
65
|
+
(e) => CurrentRoute.with(({ route }) => route.match(Navigation.getCurrentPathFromUrl(e.url)))
|
|
66
|
+
)
|
|
67
|
+
)
|
|
69
68
|
|
|
70
69
|
/**
|
|
71
70
|
* @since 1.0.0
|
|
@@ -73,26 +72,35 @@ export const CurrentParams: RefSubject.Filtered<
|
|
|
73
72
|
export const withCurrentRoute: {
|
|
74
73
|
<R extends Route.Route.Any>(
|
|
75
74
|
route: R
|
|
76
|
-
): <A, E, R>(
|
|
75
|
+
): <A, E, R>(
|
|
76
|
+
effect: Effect.Effect<A, E, R>
|
|
77
|
+
) => Effect.Effect<A, E, Exclude<R, CurrentRoute>>
|
|
77
78
|
|
|
78
79
|
<A, E, R, R_ extends Route.Route.Any>(
|
|
79
80
|
effect: Effect.Effect<A, E, R>,
|
|
80
81
|
route: R_
|
|
81
82
|
): Effect.Effect<A, E, Exclude<R, CurrentRoute>>
|
|
82
|
-
} = dual(
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
83
|
+
} = dual(
|
|
84
|
+
2,
|
|
85
|
+
<A, E, R, R_ extends Route.Route.Any>(
|
|
86
|
+
effect: Effect.Effect<A, E, R>,
|
|
87
|
+
route: R_
|
|
88
|
+
): Effect.Effect<A, E, Exclude<R, CurrentRoute>> =>
|
|
89
|
+
Effect.contextWithEffect((ctx) => {
|
|
90
|
+
const parent = Context.getOption(ctx, CurrentRoute)
|
|
91
|
+
|
|
92
|
+
if (Option.isNone(parent)) {
|
|
93
|
+
return pipe(effect, CurrentRoute.provide(makeCurrentRoute(route)))
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
return pipe(
|
|
97
|
+
effect,
|
|
98
|
+
CurrentRoute.provide(
|
|
99
|
+
makeCurrentRoute(parent.value.route.concat(route), parent)
|
|
100
|
+
)
|
|
101
|
+
)
|
|
102
|
+
})
|
|
103
|
+
)
|
|
96
104
|
|
|
97
105
|
const makeHref_ = (
|
|
98
106
|
currentPath: string,
|
|
@@ -115,15 +123,21 @@ const makeHref_ = (
|
|
|
115
123
|
export function makeHref<const R extends Route.Route.Any>(
|
|
116
124
|
route: R,
|
|
117
125
|
...[params]: Route.Route.ParamsList<R>
|
|
118
|
-
): RefSubject.Filtered<string, never, Navigation | CurrentRoute>
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
126
|
+
): RefSubject.Filtered<string, never, Navigation.Navigation | CurrentRoute>
|
|
127
|
+
export function makeHref<const R extends Route.Route.Any>(
|
|
128
|
+
route: R,
|
|
129
|
+
params: Route.Route.Params<R>
|
|
130
|
+
): RefSubject.Filtered<string, never, Navigation.Navigation | CurrentRoute>
|
|
131
|
+
|
|
132
|
+
export function makeHref<const R extends Route.Route.Any>(
|
|
133
|
+
route: R,
|
|
134
|
+
...[params]: Route.Route.ParamsList<R>
|
|
135
|
+
): RefSubject.Filtered<string, never, Navigation.Navigation | CurrentRoute> {
|
|
136
|
+
return RefSubject.filterMapEffect(Navigation.CurrentPath, (currentPath) =>
|
|
137
|
+
Effect.map(
|
|
138
|
+
CurrentRoute,
|
|
139
|
+
(currentRoute): Option.Option<string> => makeHref_(currentPath, currentRoute.route, route, params)
|
|
140
|
+
))
|
|
127
141
|
}
|
|
128
142
|
|
|
129
143
|
const isActive_ = (
|
|
@@ -137,17 +151,48 @@ const isActive_ = (
|
|
|
137
151
|
|
|
138
152
|
const fullRoute = currentRoute.concat(route)
|
|
139
153
|
const fullParams = { ...currentMatch.value, ...params }
|
|
140
|
-
const
|
|
141
|
-
const
|
|
142
|
-
const
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
154
|
+
const href: string = fullRoute.interpolate(fullParams as any)
|
|
155
|
+
const [currentPathname, currentQuery] = splitByQuery(currentPath)
|
|
156
|
+
const [hrefPathname, hrefQuery] = splitByQuery(href)
|
|
157
|
+
|
|
158
|
+
return (
|
|
159
|
+
(fullRoute.routeOptions.end
|
|
160
|
+
? currentPathname === hrefPathname
|
|
161
|
+
: currentPathname.startsWith(hrefPathname)) &&
|
|
162
|
+
compareQueries(currentQuery, hrefQuery)
|
|
163
|
+
)
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
function compareQueries(currentQuery: string, hrefQuery: string) {
|
|
167
|
+
// if hrefQuery is empty, it means that the href is a pathname only
|
|
168
|
+
if (!hrefQuery) return true
|
|
169
|
+
// if currentQuery is empty, there is no match at this point
|
|
170
|
+
if (!currentQuery) return false
|
|
171
|
+
// if the queries are equal, there is a match
|
|
172
|
+
if (currentQuery === hrefQuery) return true
|
|
173
|
+
|
|
174
|
+
const currentQueryParams = new URLSearchParams(currentQuery)
|
|
175
|
+
const hrefQueryParams = new URLSearchParams(hrefQuery)
|
|
176
|
+
|
|
177
|
+
for (const key of hrefQueryParams.keys()) {
|
|
178
|
+
const a = currentQueryParams.getAll(key).sort()
|
|
179
|
+
const b = hrefQueryParams.getAll(key).sort()
|
|
180
|
+
|
|
181
|
+
if (a.length !== b.length || !b.every((bx, i) => a[i] === bx)) return false
|
|
150
182
|
}
|
|
183
|
+
|
|
184
|
+
return true
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
function splitByQuery(path: string) {
|
|
188
|
+
const queryIndex = path.indexOf("?")
|
|
189
|
+
if (queryIndex > -1) {
|
|
190
|
+
const pathname = path.slice(0, queryIndex)
|
|
191
|
+
const query = path.slice(queryIndex + 1).trim()
|
|
192
|
+
return [pathname, query] as const
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
return [path, ""] as const
|
|
151
196
|
}
|
|
152
197
|
|
|
153
198
|
/**
|
|
@@ -156,17 +201,17 @@ const isActive_ = (
|
|
|
156
201
|
export function isActive<R extends Route.Route.Any>(
|
|
157
202
|
route: R,
|
|
158
203
|
...[params]: Route.Route.ParamsList<R>
|
|
159
|
-
): RefSubject.Computed<boolean, never, Navigation | CurrentRoute>
|
|
204
|
+
): RefSubject.Computed<boolean, never, Navigation.Navigation | CurrentRoute>
|
|
160
205
|
export function isActive<R extends Route.Route.Any>(
|
|
161
206
|
route: R,
|
|
162
207
|
params: Route.Route.Params<R>
|
|
163
|
-
): RefSubject.Computed<boolean, never, Navigation | CurrentRoute>
|
|
208
|
+
): RefSubject.Computed<boolean, never, Navigation.Navigation | CurrentRoute>
|
|
164
209
|
export function isActive<R extends Route.Route.Any>(
|
|
165
210
|
route: R,
|
|
166
211
|
...[params]: Route.Route.ParamsList<R>
|
|
167
|
-
): RefSubject.Computed<boolean, never, Navigation | CurrentRoute> {
|
|
212
|
+
): RefSubject.Computed<boolean, never, Navigation.Navigation | CurrentRoute> {
|
|
168
213
|
return RefSubject.mapEffect(
|
|
169
|
-
CurrentPath,
|
|
214
|
+
Navigation.CurrentPath,
|
|
170
215
|
(currentPath) =>
|
|
171
216
|
CurrentRoute.with((currentRoute): boolean => isActive_(currentPath, currentRoute.route, route, params))
|
|
172
217
|
)
|
|
@@ -180,16 +225,21 @@ export function decode<R extends Route.Route.Any>(
|
|
|
180
225
|
): Fx.RefSubject.Filtered<
|
|
181
226
|
Route.Route.Type<R>,
|
|
182
227
|
Route.RouteDecodeError<R>,
|
|
183
|
-
Navigation | CurrentRoute | Route.Route.Context<R>
|
|
228
|
+
Navigation.Navigation | CurrentRoute | Route.Route.Context<R>
|
|
184
229
|
> {
|
|
185
230
|
return RefSubject.filteredFromTag(
|
|
186
|
-
Navigation,
|
|
231
|
+
Navigation.Navigation,
|
|
187
232
|
(nav) =>
|
|
188
233
|
RefSubject.filterMapEffect(
|
|
189
234
|
nav.currentEntry,
|
|
190
235
|
(e) =>
|
|
191
236
|
Effect.flatMap(CurrentRoute, ({ route: parent }) =>
|
|
192
|
-
Effect.optionFromOptional(
|
|
237
|
+
Effect.optionFromOptional(
|
|
238
|
+
Route.decode(
|
|
239
|
+
parent.concat(route) as R,
|
|
240
|
+
Navigation.getCurrentPathFromUrl(e.url)
|
|
241
|
+
)
|
|
242
|
+
))
|
|
193
243
|
)
|
|
194
244
|
)
|
|
195
245
|
}
|
|
@@ -225,19 +275,58 @@ function getBasePathname(base: string): string {
|
|
|
225
275
|
export const server = (base: string = "/"): Layer.Layer<CurrentRoute> =>
|
|
226
276
|
CurrentRoute.layer({ route: Route.parse(base), parent: Option.none() })
|
|
227
277
|
|
|
228
|
-
const getSearchParams = (destination: Destination)
|
|
229
|
-
Object.fromEntries(destination.url.searchParams)
|
|
278
|
+
const getSearchParams = (destination: Navigation.Destination) => destination.url.searchParams
|
|
230
279
|
|
|
231
280
|
/**
|
|
232
281
|
* @since 1.0.0
|
|
233
282
|
*/
|
|
234
|
-
export const CurrentSearchParams: RefSubject.Computed<
|
|
235
|
-
|
|
283
|
+
export const CurrentSearchParams: RefSubject.Computed<
|
|
284
|
+
URLSearchParams,
|
|
285
|
+
never,
|
|
286
|
+
Navigation.Navigation
|
|
287
|
+
> = RefSubject.map(Navigation.CurrentEntry, getSearchParams)
|
|
236
288
|
|
|
237
289
|
/**
|
|
238
290
|
* @since 1.0.0
|
|
239
291
|
*/
|
|
240
292
|
export const CurrentState = RefSubject.computedFromTag(
|
|
241
|
-
Navigation,
|
|
293
|
+
Navigation.Navigation,
|
|
242
294
|
(n) => RefSubject.map(n.currentEntry, (e) => e.state)
|
|
243
295
|
)
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* @since 1.0.0
|
|
299
|
+
*/
|
|
300
|
+
export type NavigateOptions<R extends Route.Route.Any> = Route.Route.ParamsAreOptional<R> extends true ? [
|
|
301
|
+
options?: Navigation.NavigateOptions & {
|
|
302
|
+
readonly params?: Route.Route.Params<R> | undefined
|
|
303
|
+
} & {
|
|
304
|
+
readonly relative?: boolean
|
|
305
|
+
}
|
|
306
|
+
]
|
|
307
|
+
: [
|
|
308
|
+
options: Navigation.NavigateOptions & {
|
|
309
|
+
readonly params: Route.Route.Params<R>
|
|
310
|
+
} & {
|
|
311
|
+
readonly relative?: boolean
|
|
312
|
+
}
|
|
313
|
+
]
|
|
314
|
+
|
|
315
|
+
/**
|
|
316
|
+
* @since 1.0.0
|
|
317
|
+
*/
|
|
318
|
+
export const navigate = <R extends Route.Route.Any>(
|
|
319
|
+
route: R,
|
|
320
|
+
...[options]: NavigateOptions<R>
|
|
321
|
+
): Effect.Effect<
|
|
322
|
+
Navigation.Destination,
|
|
323
|
+
Navigation.NavigationError | Cause.NoSuchElementException,
|
|
324
|
+
Navigation.Navigation | CurrentRoute
|
|
325
|
+
> =>
|
|
326
|
+
Effect.gen(function*(_) {
|
|
327
|
+
const params = options?.params ?? ({} as Route.Route.Params<R>)
|
|
328
|
+
const path = options?.relative === false
|
|
329
|
+
? route.interpolate(params)
|
|
330
|
+
: yield* _(makeHref<R>(route, params))
|
|
331
|
+
return yield* _(Navigation.navigate(path))
|
|
332
|
+
})
|
package/src/MatchInput.ts
CHANGED
|
@@ -41,7 +41,7 @@ export namespace MatchInput {
|
|
|
41
41
|
/**
|
|
42
42
|
* @since 1.0.0
|
|
43
43
|
*/
|
|
44
|
-
export type Path<T> = Route.Route.Path<Route<T>>
|
|
44
|
+
export type Path<T> = _Path.PathJoin<[Route.Route.Path<Route<T>>]>
|
|
45
45
|
|
|
46
46
|
/**
|
|
47
47
|
* @since 1.0.0
|
|
@@ -278,5 +278,5 @@ export function getQuerySchema<I extends MatchInput.Any>(input: I): MatchInput.Q
|
|
|
278
278
|
* @since 1.0.0
|
|
279
279
|
*/
|
|
280
280
|
export function getPath<I extends MatchInput.Any>(input: I): MatchInput.Path<I> {
|
|
281
|
-
return asRouteGuard<I>(input).route.path
|
|
281
|
+
return asRouteGuard<I>(input).route.path as MatchInput.Path<I>
|
|
282
282
|
}
|
package/src/RouteGuard.ts
CHANGED
|
@@ -201,7 +201,7 @@ export const concat: {
|
|
|
201
201
|
RouteGuard.Error<L> | RouteGuard.Error<R>,
|
|
202
202
|
RouteGuard.Context<L> | RouteGuard.Context<R>
|
|
203
203
|
>(
|
|
204
|
-
Route.concat(self.route, other.route) as
|
|
204
|
+
Route.concat(self.route, other.route) as any,
|
|
205
205
|
(input) =>
|
|
206
206
|
Effect.Do.pipe(
|
|
207
207
|
Effect.bind("a", () => self.guard(input)),
|