@unitflow/router 0.1.1 → 0.2.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/README.md +71 -22
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/public.d.ts +8 -4
- package/dist/public.d.ts.map +1 -1
- package/dist/public.js +7 -5
- package/dist/public.js.map +1 -1
- package/dist/react.d.ts +21 -6
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +42 -14
- package/dist/react.js.map +1 -1
- package/dist/route.d.ts +12 -0
- package/dist/route.d.ts.map +1 -0
- package/dist/route.js +12 -0
- package/dist/route.js.map +1 -0
- package/dist/router.d.ts +123 -13
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +124 -18
- package/dist/router.js.map +1 -1
- package/package.json +9 -9
- package/dist/router-group.d.ts +0 -2
- package/dist/router-group.d.ts.map +0 -1
- package/dist/router-group.js +0 -2
- package/dist/router-group.js.map +0 -1
package/dist/router.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Event, Model, Store } from "@unitflow/core";
|
|
2
|
-
import { Registry } from "@unitflow/core/registry";
|
|
2
|
+
import { InstanceScope, Registry } from "@unitflow/core/registry";
|
|
3
3
|
import * as Context from "effect/Context";
|
|
4
4
|
import * as Cause from "effect/Cause";
|
|
5
5
|
import * as Effect from "effect/Effect";
|
|
@@ -7,6 +7,7 @@ import * as Layer from "effect/Layer";
|
|
|
7
7
|
import * as Option from "effect/Option";
|
|
8
8
|
import { type Pipeable } from "effect/Pipeable";
|
|
9
9
|
import * as Schema from "effect/Schema";
|
|
10
|
+
import type * as Scope from "effect/Scope";
|
|
10
11
|
import type { ParseOptions } from "effect/SchemaAST";
|
|
11
12
|
declare const RouteTypeId: unique symbol;
|
|
12
13
|
declare const RouteGroupTypeId: unique symbol;
|
|
@@ -134,6 +135,19 @@ export interface Route<Id extends string, Path extends string, ParamsSchema exte
|
|
|
134
135
|
readonly path: Path;
|
|
135
136
|
readonly options: RouteOptions<Path, ParamsSchema, Search>;
|
|
136
137
|
readonly middlewares: ReadonlyArray<AnyMiddleware>;
|
|
138
|
+
/** `true` only for `Route.layout`'s implicit parent: contributes no path
|
|
139
|
+
* segment, can never be a leaf/exact match — distinct from `path: "/"`
|
|
140
|
+
* (which is a real, navigable root) even though both normalize to `"/"`. */
|
|
141
|
+
readonly pathless?: boolean;
|
|
142
|
+
/** The id of the route this one was explicitly attached under — via
|
|
143
|
+
* `Route.addChild` on the parent, or implicitly via `Route.layout`'s
|
|
144
|
+
* pathless grouping parent. `undefined` for a route with no declared
|
|
145
|
+
* parent: it matches only itself, never becomes an accidental ancestor of
|
|
146
|
+
* an unrelated route that happens to share a literal path prefix. */
|
|
147
|
+
readonly parentId?: string;
|
|
148
|
+
/** Children declared on this route via `Route.addChild`, not yet
|
|
149
|
+
* expanded into the flat list `Route.group(...)` compiles from. */
|
|
150
|
+
readonly children: ReadonlyArray<Route.Any>;
|
|
137
151
|
readonly "~types": {
|
|
138
152
|
readonly id: Id;
|
|
139
153
|
readonly path: Path;
|
|
@@ -157,9 +171,50 @@ export declare namespace Route {
|
|
|
157
171
|
type Provided<R extends Any> = R["~types"]["provided"];
|
|
158
172
|
type Error<R extends Any> = R["~types"]["error"];
|
|
159
173
|
type Services<R extends Any> = R["~types"]["services"];
|
|
174
|
+
/** The FULLY FLATTENED set of routes `Route.addChild` attached under `R`,
|
|
175
|
+
* at any depth — carried as a phantom `"~children"` marker INTERSECTED
|
|
176
|
+
* onto `R`'s type (not one of `Route<>`'s own type parameters, kept out
|
|
177
|
+
* of the core interface so `Route.Any` stays the simple type every other
|
|
178
|
+
* conditional type here already builds on). `WithChild` bakes a child's
|
|
179
|
+
* OWN already-flattened closure in at EACH `addChild` call (bottom-up),
|
|
180
|
+
* so reading this is a single non-recursive extraction, not a recursive
|
|
181
|
+
* walk — a recursive `Descendants<R>` was tried and blew up `tsc`
|
|
182
|
+
* (TS2589) once anything opaque (`Route.Any` itself, or a fully generic
|
|
183
|
+
* unresolved type parameter behind `AnyRouteGroup`) reached it. Plain
|
|
184
|
+
* routes never declare this property, so the check below fails structural
|
|
185
|
+
* assignability and falls through to `readonly []`. */
|
|
186
|
+
type Children<R> = R extends {
|
|
187
|
+
readonly "~children": infer C extends ReadonlyArray<Any>;
|
|
188
|
+
} ? C : readonly [];
|
|
189
|
+
/** Alias of {@link Children}: already the full flattened descendant set by
|
|
190
|
+
* construction (see `WithChild`), not computed by recursing here. */
|
|
191
|
+
type Descendants<R> = Children<R>[number];
|
|
160
192
|
}
|
|
161
193
|
export declare const isRoute: (value: unknown) => value is Route.Any;
|
|
162
194
|
export declare const route: <const Id extends string, const Path extends string, ParamsSchema extends AnyParamsSchema = undefined, Search extends AnySearchDefinition = undefined>(id: Id, options: RouteOptions<Path, ParamsSchema, Search>) => Route<Id, Path, ParamsSchema, Search>;
|
|
195
|
+
/** `PrefixedRoute` applied to every member of a tuple, preserving its
|
|
196
|
+
* length/order (a homomorphic mapped tuple type) — used to re-root a whole
|
|
197
|
+
* already-flattened subtree (a child's own previously-attached descendants)
|
|
198
|
+
* under a NEW ancestor's path, mirroring what `flattenRoute` does to the
|
|
199
|
+
* VALUE at runtime by threading the accumulated prefix down. */
|
|
200
|
+
type PrefixedTuple<T extends ReadonlyArray<Route.Any>, Prefix extends string> = {
|
|
201
|
+
readonly [K in keyof T]: PrefixedRoute<T[K], Prefix>;
|
|
202
|
+
};
|
|
203
|
+
type WithChild<R extends Route.Any, Child extends Route.Any> = Omit<R, "~children"> & {
|
|
204
|
+
readonly "~children": readonly [
|
|
205
|
+
...Route.Children<R>,
|
|
206
|
+
PrefixedRoute<Child, Route.Path<R>>,
|
|
207
|
+
...PrefixedTuple<Route.Children<Child>, Route.Path<R>>
|
|
208
|
+
];
|
|
209
|
+
};
|
|
210
|
+
/** Declares `child` as nested under `self`: `child`'s path is rewritten to
|
|
211
|
+
* join under `self`'s own path (reuses the same `joinPaths` composition
|
|
212
|
+
* `.prefix()` already uses), and `child.parentId` is set to `self.id`.
|
|
213
|
+
* Opt-in only — a route with no `addChild` calls has no children, so two
|
|
214
|
+
* routes whose paths happen to share a literal prefix never nest unless
|
|
215
|
+
* this was called explicitly. Chainable: `.pipe(Route.addChild(A),
|
|
216
|
+
* Route.addChild(B))`. */
|
|
217
|
+
export declare const addChild: <Child extends Route.Any>(child: Child) => <Self extends Route.Any>(self: Self) => WithChild<Self, Child>;
|
|
163
218
|
type PrefixedRoute<R extends Route.Any, Prefix extends string> = R extends Route<infer Id, infer Path, infer ParamsSchema, infer Search, infer Requires, infer Provided> ? Route<Id, JoinPath<Prefix, Path>, ParamsSchema, Search, Requires, Provided> : never;
|
|
164
219
|
type WithMiddleware<R extends Route.Any, M extends AnyMiddleware> = R extends Route<infer Id, infer Path, infer ParamsSchema, infer Search, infer Requires, infer Provided> ? Route<Id, Path, ParamsSchema, Search, Requires | Context.Service.Identifier<M>, [
|
|
165
220
|
ProvidesOf<M>
|
|
@@ -177,11 +232,34 @@ export interface RouteGroup<R extends Route.Any> extends Pipeable {
|
|
|
177
232
|
}
|
|
178
233
|
export type AnyRouteGroup = RouteGroup<Route.Any>;
|
|
179
234
|
export type RoutesOf<Group> = Group extends RouteGroup<infer R> ? R : never;
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
235
|
+
/** Builds a `RouteGroup` from top-level route arguments, widening each
|
|
236
|
+
* argument's type into itself PLUS every route `Route.addChild` attached
|
|
237
|
+
* under it (at any depth) — matching what `flattenRoute` does to the VALUE
|
|
238
|
+
* at runtime, so a route table built from one `.addChild`-composed parent
|
|
239
|
+
* exposes every descendant's id/path to `RoutePath`/`RouteIds` and friends,
|
|
240
|
+
* not just the parent passed in directly. */
|
|
241
|
+
export declare const group: <const Routes extends ReadonlyArray<Route.Any>>(...routes: Routes) => RouteGroup<Routes[number] | Route.Descendants<Routes[number]>>;
|
|
242
|
+
export declare const makeGroup: <const Routes extends ReadonlyArray<Route.Any>>(...routes: Routes) => RouteGroup<Routes[number] | Route.Descendants<Routes[number]>>;
|
|
243
|
+
export declare const add: <const Routes extends ReadonlyArray<Route.Any>>(...routes: Routes) => RouteGroup<Routes[number] | Route.Descendants<Routes[number]>>;
|
|
183
244
|
export declare const merge: <const Groups extends ReadonlyArray<AnyRouteGroup>>(...groups: Groups) => RouteGroup<RoutesOf<Groups[number]>>;
|
|
184
|
-
|
|
245
|
+
/** The members `Route.layout` wraps: `self`'s own type if it's a single
|
|
246
|
+
* `Route`, otherwise the group's member union — in both cases WITHOUT its
|
|
247
|
+
* `Route.Descendants` yet, `layout`'s own return type widens that in. */
|
|
248
|
+
type MembersOf<Self extends AnyRouteGroup | Route.Any> = Self extends Route.Any ? Self : RoutesOf<Self>;
|
|
249
|
+
/** Wraps `self` (a route, or a group of routes) under an implicit pathless
|
|
250
|
+
* parent with the given id — a shared rendering/guard-scope wrapper for
|
|
251
|
+
* *independent* siblings that aren't the same resource (unlike
|
|
252
|
+
* `Route.addChild`, which is for one route that genuinely owns a child's
|
|
253
|
+
* content). The parent contributes no path segment of its own. */
|
|
254
|
+
export declare const layout: <const Id extends string>(id: Id) => <Self extends AnyRouteGroup | Route.Any>(self: Self) => RouteGroup<Route<Id, "", undefined, undefined> | MembersOf<Self> | Route.Descendants<MembersOf<Self>>>;
|
|
255
|
+
/** Attaches a middleware TAG to `self` (a route, or every route currently in
|
|
256
|
+
* a group). With explicit parent-child hierarchy, attaching to a shared
|
|
257
|
+
* parent (`Route.layout`'s implicit parent, or any `Route.addChild` owner)
|
|
258
|
+
* is usually enough — `resolveMatches` walks the ancestor chain and runs an
|
|
259
|
+
* ancestor's middlewares for every descendant navigation, so a group-wide
|
|
260
|
+
* attach is only needed for independent routes with no shared parent. */
|
|
261
|
+
export declare const middleware: <M extends AnyMiddleware>(mw: M) => <Self extends AnyRouteGroup | Route.Any>(self: Self) => Self extends AnyRouteGroup ? RouteGroup<WithMiddleware<RoutesOf<Self>, M>> : WithMiddleware<Self & Route.Any, M>;
|
|
262
|
+
export declare const prefix: <const Prefix extends string>(path: Prefix) => <Group extends AnyRouteGroup>(routeGroup: Group) => RouteGroup<PrefixedRoute<RoutesOf<Group>, Prefix>>;
|
|
185
263
|
export declare const routes: <Group extends AnyRouteGroup>(routeGroup: Group) => ReadonlyArray<RoutesOf<Group>>;
|
|
186
264
|
export interface ParsedLocation {
|
|
187
265
|
readonly pathname: string;
|
|
@@ -334,9 +412,15 @@ export type RouteShapes<Group extends AnyRouteGroup> = {
|
|
|
334
412
|
/** The page-model map handed to `router.pages(...)`: keys are the router's
|
|
335
413
|
* route ids (a typo will not compile), values are the page models. Declared
|
|
336
414
|
* AFTER the models — never on the route — because a route referencing its
|
|
337
|
-
* model while the model reads `router.routes` is a type-inference cycle.
|
|
415
|
+
* model while the model reads `router.routes` is a type-inference cycle.
|
|
416
|
+
*
|
|
417
|
+
* Values are `Model.Singleton` on purpose: `makePages` leases each one with
|
|
418
|
+
* `Model.get(pageModel)`, no key. A keyed page model has nowhere to receive
|
|
419
|
+
* one here — page data is meant to be gated on the route's own ports
|
|
420
|
+
* (`params`/`search`/`opened`), not on the page model's key. Wrap a keyed
|
|
421
|
+
* model in a singleton that leases it with the fixed key it needs. */
|
|
338
422
|
export type PageMap<Group extends AnyRouteGroup> = {
|
|
339
|
-
readonly [Id in RouteIds<Group>]?: Model.
|
|
423
|
+
readonly [Id in RouteIds<Group>]?: Model.Singleton;
|
|
340
424
|
};
|
|
341
425
|
type PageServicesOfMap<Pages> = {
|
|
342
426
|
[K in keyof Pages]-?: Pages[K] extends Model.AnyService ? Context.Service.Identifier<Pages[K]> : never;
|
|
@@ -413,11 +497,25 @@ type SearchParamOptions<Search> = IsAny<Search> extends true ? {
|
|
|
413
497
|
} : {
|
|
414
498
|
readonly search: Search | true | ((current: RawSearch) => Search);
|
|
415
499
|
};
|
|
416
|
-
|
|
500
|
+
/** A raw href, not one of the router's registered route templates — no
|
|
501
|
+
* `params`/`search` to type-check against a schema that doesn't apply. The
|
|
502
|
+
* companion to the typed member below: together they let `navigate`/`Link`
|
|
503
|
+
* accept either a known route (typed, autocompleted) or an arbitrary string
|
|
504
|
+
* (e.g. a redirect target stashed as `?redirect=<href>`), matching the same
|
|
505
|
+
* "known union member or plain string" shape TanStack Router's own `to`
|
|
506
|
+
* typing uses. */
|
|
507
|
+
export interface RawToOptions {
|
|
508
|
+
readonly to: string & {};
|
|
509
|
+
readonly hash?: string | true;
|
|
510
|
+
readonly state?: unknown;
|
|
511
|
+
readonly params?: never;
|
|
512
|
+
readonly search?: never;
|
|
513
|
+
}
|
|
514
|
+
export type ToOptions<TRouter extends AnyRouter | AnyRouterController, To extends RoutePath<TRouter>> = ({
|
|
417
515
|
readonly to: To;
|
|
418
516
|
readonly hash?: string | true;
|
|
419
517
|
readonly state?: unknown;
|
|
420
|
-
} & PathParamOptions<PathParamsFor<TRouter, To>> & SearchParamOptions<SearchInputFor<TRouter, To
|
|
518
|
+
} & PathParamOptions<PathParamsFor<TRouter, To>> & SearchParamOptions<SearchInputFor<TRouter, To>>) | RawToOptions;
|
|
421
519
|
export type NavigateOptions<TRouter extends AnyRouter | AnyRouterController, To extends RoutePath<TRouter>> = ToOptions<TRouter, To> & {
|
|
422
520
|
readonly replace?: boolean;
|
|
423
521
|
readonly resetScroll?: boolean;
|
|
@@ -457,10 +555,22 @@ export interface RouterTargets<Id extends string, Group extends AnyRouteGroup> {
|
|
|
457
555
|
/** Builds an href string for a route target without navigating. */
|
|
458
556
|
readonly buildHref: <const To extends RoutePath<RouterController<Group>>>(options: ToOptions<RouterController<Group>, To>) => Effect.Effect<string, unknown, RouterModel<Id, Group> | Registry | RouterServicesForGroup<Group>>;
|
|
459
557
|
}
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
558
|
+
/** What `Router.make(...)` returns: one value instead of a `NavigationModel`/
|
|
559
|
+
* `RouteModel` pair the app had to name and compose separately. `model`
|
|
560
|
+
* (the engine — navigation, current location, `buildHref`/`buildLocation`)
|
|
561
|
+
* and `routeModel` (the keyed per-route unit) are the same two `Model.get`
|
|
562
|
+
* targets as before, just nested — `model`/`routeModel` are plain fields,
|
|
563
|
+
* not the identifiers of their own types (`RouterModel`/`RouteModel`),
|
|
564
|
+
* exactly like the existing `routes` value / `RouteModel<...>` type pairing
|
|
565
|
+
* already has. `layer` is `routeModel.layer` merged with `model.layer` —
|
|
566
|
+
* `routeModel`'s own `make` already leases `model`, so this is the same
|
|
567
|
+
* composition apps previously wrote by hand at the call site. */
|
|
568
|
+
export interface AppRouter<Id extends string, Group extends AnyRouteGroup> {
|
|
569
|
+
readonly model: RouterModel<Id, Group> & RouterTargets<Id, Group>;
|
|
570
|
+
readonly routeModel: RouteModel<Id, Group>;
|
|
571
|
+
readonly layer: Layer.Layer<RouterModel<Id, Group> | RouteModel<Id, Group>, never, Exclude<RouterServicesForGroup<Group> | History | Registry, InstanceScope | Scope.Scope>>;
|
|
572
|
+
}
|
|
573
|
+
export declare const make: <const Id extends string, const Group extends AnyRouteGroup>(id: Id, routeGroup: Group, options?: RouterOptions) => AppRouter<Id, Group>;
|
|
464
574
|
/** INTERNAL (used by RouterView): the pages model — one singleton owning
|
|
465
575
|
* the router and every mapped page model, the view tree's root. */
|
|
466
576
|
export declare const makePages: <M extends AnyRouter, const Pages extends PageMap<RouterGroupOf<M>>>(model: M, pageMap: Pages) => PagesModel<RouterIdOf<M>, RouterGroupOf<M>, Pages>;
|
package/dist/router.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
package/dist/router.js
CHANGED
|
@@ -44,8 +44,31 @@ export const route = (id, options) => ({
|
|
|
44
44
|
path: normalizePath(options.path),
|
|
45
45
|
options: { ...options, path: normalizePath(options.path) },
|
|
46
46
|
middlewares: [],
|
|
47
|
+
children: [],
|
|
47
48
|
"~types": undefined,
|
|
48
49
|
});
|
|
50
|
+
/** Declares `child` as nested under `self`: `child`'s path is rewritten to
|
|
51
|
+
* join under `self`'s own path (reuses the same `joinPaths` composition
|
|
52
|
+
* `.prefix()` already uses), and `child.parentId` is set to `self.id`.
|
|
53
|
+
* Opt-in only — a route with no `addChild` calls has no children, so two
|
|
54
|
+
* routes whose paths happen to share a literal prefix never nest unless
|
|
55
|
+
* this was called explicitly. Chainable: `.pipe(Route.addChild(A),
|
|
56
|
+
* Route.addChild(B))`. */
|
|
57
|
+
export const addChild = (child) => (self) => {
|
|
58
|
+
// Path-joining happens ONCE, bottom-up, in `flattenRoute` — not here.
|
|
59
|
+
// `child` may itself already have grandchildren attached (an earlier
|
|
60
|
+
// `.addChild` on `child`); if this function eagerly joined `self.path`
|
|
61
|
+
// into just `child`'s own path, those grandchildren's paths (already
|
|
62
|
+
// baked relative to `child`'s ORIGINAL, pre-attachment path) would never
|
|
63
|
+
// learn about `self`'s prefix. Deferring to `flattenRoute`, which
|
|
64
|
+
// threads the accumulated prefix down through the whole tree, keeps
|
|
65
|
+
// every depth correct regardless of attachment order.
|
|
66
|
+
const linkedChild = { ...child, parentId: self.id };
|
|
67
|
+
return {
|
|
68
|
+
...self,
|
|
69
|
+
children: [...self.children, linkedChild],
|
|
70
|
+
};
|
|
71
|
+
};
|
|
49
72
|
const prefixRoute = (current, prefix) => {
|
|
50
73
|
const path = joinPaths(prefix, current.path);
|
|
51
74
|
// Spread (not `route(...)`) so `middlewares` and the pipe method survive.
|
|
@@ -72,14 +95,72 @@ const RouteGroupProto = {
|
|
|
72
95
|
})));
|
|
73
96
|
},
|
|
74
97
|
};
|
|
98
|
+
/** Flattens a route declared with `.addChild(...)` into itself plus every
|
|
99
|
+
* declared descendant (recursively — a child may have its own children),
|
|
100
|
+
* each already carrying its `parentId`. A route with no children flattens
|
|
101
|
+
* to just itself. */
|
|
102
|
+
const flattenRoute = (current, prefix = "") => {
|
|
103
|
+
// Pathless (`Route.layout`) parents contribute no URL segment of their
|
|
104
|
+
// own — skip through them unchanged, threading the SAME prefix to their
|
|
105
|
+
// members, instead of joining against their placeholder `path: ""`.
|
|
106
|
+
if (current.pathless === true) {
|
|
107
|
+
return [
|
|
108
|
+
{ ...current, children: [] },
|
|
109
|
+
...current.children.flatMap((child) => flattenRoute(child, prefix)),
|
|
110
|
+
];
|
|
111
|
+
}
|
|
112
|
+
const path = joinPaths(prefix, current.path);
|
|
113
|
+
return [
|
|
114
|
+
{ ...current, path, options: { ...current.options, path }, children: [] },
|
|
115
|
+
...current.children.flatMap((child) => flattenRoute(child, path)),
|
|
116
|
+
];
|
|
117
|
+
};
|
|
118
|
+
/** Builds a `RouteGroup` from top-level route arguments, widening each
|
|
119
|
+
* argument's type into itself PLUS every route `Route.addChild` attached
|
|
120
|
+
* under it (at any depth) — matching what `flattenRoute` does to the VALUE
|
|
121
|
+
* at runtime, so a route table built from one `.addChild`-composed parent
|
|
122
|
+
* exposes every descendant's id/path to `RoutePath`/`RouteIds` and friends,
|
|
123
|
+
* not just the parent passed in directly. */
|
|
75
124
|
export const group = (...routes) => Object.assign(Object.create(PipeableProto), RouteGroupProto, {
|
|
76
125
|
[RouteGroupTypeId]: RouteGroupTypeId,
|
|
77
|
-
routes,
|
|
126
|
+
routes: routes.flatMap((current) => flattenRoute(current)),
|
|
78
127
|
});
|
|
79
128
|
export const makeGroup = group;
|
|
80
129
|
export const add = (...routes) => group(...routes);
|
|
81
130
|
export const merge = (...groups) => group(...groups.flatMap((current) => current.routes));
|
|
82
|
-
|
|
131
|
+
/** Wraps `self` (a route, or a group of routes) under an implicit pathless
|
|
132
|
+
* parent with the given id — a shared rendering/guard-scope wrapper for
|
|
133
|
+
* *independent* siblings that aren't the same resource (unlike
|
|
134
|
+
* `Route.addChild`, which is for one route that genuinely owns a child's
|
|
135
|
+
* content). The parent contributes no path segment of its own. */
|
|
136
|
+
export const layout = (id) => (self) => {
|
|
137
|
+
const members = isRoute(self) ? [self] : self.routes;
|
|
138
|
+
const parent = {
|
|
139
|
+
...PipeableProto,
|
|
140
|
+
[RouteTypeId]: RouteTypeId,
|
|
141
|
+
id,
|
|
142
|
+
path: "",
|
|
143
|
+
options: { path: "" },
|
|
144
|
+
middlewares: [],
|
|
145
|
+
children: [],
|
|
146
|
+
pathless: true,
|
|
147
|
+
// eslint-disable-next-line revizo/no-type-assertion
|
|
148
|
+
"~types": undefined,
|
|
149
|
+
};
|
|
150
|
+
const linkedMembers = members.map((member) => ({ ...member, parentId: id }));
|
|
151
|
+
// eslint-disable-next-line revizo/no-type-assertion
|
|
152
|
+
return group(parent, ...linkedMembers);
|
|
153
|
+
};
|
|
154
|
+
/** Attaches a middleware TAG to `self` (a route, or every route currently in
|
|
155
|
+
* a group). With explicit parent-child hierarchy, attaching to a shared
|
|
156
|
+
* parent (`Route.layout`'s implicit parent, or any `Route.addChild` owner)
|
|
157
|
+
* is usually enough — `resolveMatches` walks the ancestor chain and runs an
|
|
158
|
+
* ancestor's middlewares for every descendant navigation, so a group-wide
|
|
159
|
+
* attach is only needed for independent routes with no shared parent. */
|
|
160
|
+
export const middleware = (mw) => (self) => (isRoute(self)
|
|
161
|
+
? { ...self, middlewares: [...self.middlewares, mw] }
|
|
162
|
+
: self.middleware(mw));
|
|
163
|
+
export const prefix = (path) => (routeGroup) => routeGroup.prefix(path);
|
|
83
164
|
export const routes = (routeGroup) => routeGroup.routes;
|
|
84
165
|
/**
|
|
85
166
|
* The history capability, provided as a LAYER — `Router.make` declares
|
|
@@ -162,7 +243,11 @@ export const make = (id, routeGroup, options = {}) => {
|
|
|
162
243
|
buildLocation: (options) => Effect.flatMap(getController(router), (api) => api.buildLocationEffect(options)),
|
|
163
244
|
buildHref: (options) => Effect.flatMap(getController(router), (api) => api.buildHrefEffect(options)),
|
|
164
245
|
});
|
|
165
|
-
|
|
246
|
+
// `routes.layer`'s own `make` already leases `router` (`Model.get(router)`
|
|
247
|
+
// above) — merging `model.layer` in satisfies that requirement, the same
|
|
248
|
+
// composition an app previously wrote by hand at the call site.
|
|
249
|
+
const layer = routes.layer.pipe(Layer.provideMerge(model.layer));
|
|
250
|
+
return { model, routeModel: routes, layer };
|
|
166
251
|
};
|
|
167
252
|
/** INTERNAL (used by RouterView): the pages model — one singleton owning
|
|
168
253
|
* the router and every mapped page model, the view tree's root. */
|
|
@@ -188,6 +273,7 @@ const makeShape = (routeGroup, options) => Effect.gen(function* () {
|
|
|
188
273
|
const stringifySearch = options.stringifySearch ?? defaultStringifySearch;
|
|
189
274
|
const history = (yield* History).make({ parseSearch });
|
|
190
275
|
const compiled = routeGroup.routes.map(compileRoute).sort((a, b) => b.score - a.score);
|
|
276
|
+
const compiledById = new Map(compiled.map((current) => [current.route.id, current]));
|
|
191
277
|
const blockers = new Set();
|
|
192
278
|
let disposed = false;
|
|
193
279
|
let ignoreNextHistory = false;
|
|
@@ -237,11 +323,29 @@ const makeShape = (routeGroup, options) => Effect.gen(function* () {
|
|
|
237
323
|
const leaf = exactMatches[0];
|
|
238
324
|
if (leaf === undefined)
|
|
239
325
|
return yield* Effect.fail(new NotFoundError({}));
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
326
|
+
// Ancestors come from the explicitly declared `parentId` chain, not
|
|
327
|
+
// from filtering the whole route list by path — a route with no
|
|
328
|
+
// declared parent (including one at "/") is never an accidental
|
|
329
|
+
// ancestor of anything else, only of itself.
|
|
330
|
+
const chain = [];
|
|
331
|
+
let current = leaf.compiledRoute;
|
|
332
|
+
while (current !== undefined) {
|
|
333
|
+
chain.push(current);
|
|
334
|
+
const parentId = current.route.parentId;
|
|
335
|
+
current = parentId === undefined ? undefined : compiledById.get(parentId);
|
|
336
|
+
}
|
|
337
|
+
chain.reverse(); // root-first, guards run parent-first
|
|
338
|
+
// A pathless `Route.layout` ancestor has no slice of the pathname of
|
|
339
|
+
// its own — no params/search to decode, just middlewares to run and
|
|
340
|
+
// an id for the render tree to key on. A real ancestor's prefix
|
|
341
|
+
// should always match (its path is, by construction, a literal
|
|
342
|
+
// prefix of the leaf's own compiled path) — the null-filter is
|
|
343
|
+
// defensive, not expected to trigger.
|
|
344
|
+
const branch = chain
|
|
345
|
+
.map((compiledRoute) => compiledRoute.route.pathless === true
|
|
346
|
+
? { compiledRoute, match: [""] }
|
|
347
|
+
: { compiledRoute, match: compiledRoute.prefix.exec(pathname) })
|
|
348
|
+
.filter((item) => item.match !== null);
|
|
245
349
|
const matches = [];
|
|
246
350
|
// Guard results accumulate parent-first down the branch; a guard
|
|
247
351
|
// shared by several routes in the branch runs once per navigation.
|
|
@@ -327,8 +431,12 @@ const makeShape = (routeGroup, options) => Effect.gen(function* () {
|
|
|
327
431
|
};
|
|
328
432
|
const buildLocationEffect = (toOptions) => Effect.gen(function* () {
|
|
329
433
|
const foundRoute = routeGroup.routes.find((current) => current.path === toOptions.to);
|
|
434
|
+
const hash = toOptions.hash === true ? currentState.location.hash : toOptions.hash ?? "";
|
|
330
435
|
if (foundRoute === undefined) {
|
|
331
|
-
|
|
436
|
+
// Not one of the registered route templates — a raw href
|
|
437
|
+
// (`RawToOptions`): build the location straight from the string, no
|
|
438
|
+
// param/search schema to encode against.
|
|
439
|
+
return makeLocation(`${addBasepath(toOptions.to, options.basepath)}${hash === "" ? "" : `#${hash}`}`, parseSearch, toOptions.state);
|
|
332
440
|
}
|
|
333
441
|
const targetRoute = foundRoute;
|
|
334
442
|
const routeParams = yield* encodeParams(targetRoute, toOptions.params);
|
|
@@ -338,7 +446,6 @@ const makeShape = (routeGroup, options) => Effect.gen(function* () {
|
|
|
338
446
|
});
|
|
339
447
|
const rawSearch = yield* encodeSearch(targetRoute, toOptions.search);
|
|
340
448
|
const searchString = stringifySearch(rawSearch);
|
|
341
|
-
const hash = toOptions.hash === true ? currentState.location.hash : toOptions.hash ?? "";
|
|
342
449
|
return makeLocation(`${pathname}${searchString}${hash === "" ? "" : `#${hash}`}`, parseSearch, toOptions.state);
|
|
343
450
|
});
|
|
344
451
|
const buildLocation = (toOptions) => {
|
|
@@ -762,17 +869,16 @@ const stripBasepath = (path, basepath) => {
|
|
|
762
869
|
return path === normalized ? "/" : path.startsWith(`${normalized}/`) ? path.slice(normalized.length) : path;
|
|
763
870
|
};
|
|
764
871
|
const escapeRegex = (value) => value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
872
|
+
/** A regex that never matches anything — for `Route.layout`'s implicit
|
|
873
|
+
* parent, which has no real path and can never be a leaf/exact match. */
|
|
874
|
+
const NEVER_MATCH = /(?!)/;
|
|
765
875
|
const compileRoute = (current) => {
|
|
876
|
+
if (current.pathless === true) {
|
|
877
|
+
return { route: current, exact: NEVER_MATCH, prefix: NEVER_MATCH, paramNames: [], score: 0, length: 0 };
|
|
878
|
+
}
|
|
766
879
|
const path = normalizePath(current.path);
|
|
767
880
|
if (path === "/") {
|
|
768
|
-
return {
|
|
769
|
-
route: current,
|
|
770
|
-
exact: /^\/?$/,
|
|
771
|
-
prefix: /^\//,
|
|
772
|
-
paramNames: [],
|
|
773
|
-
score: 0,
|
|
774
|
-
length: 0,
|
|
775
|
-
};
|
|
881
|
+
return { route: current, exact: /^\/?$/, prefix: /^\//, paramNames: [], score: 0, length: 0 };
|
|
776
882
|
}
|
|
777
883
|
const segments = path.slice(1).split("/");
|
|
778
884
|
const paramNames = [];
|