@xmachines/play-router 3.0.0 → 4.0.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 +99 -115
- package/dist/base-route-map.d.ts +7 -1
- package/dist/base-route-map.d.ts.map +1 -1
- package/dist/base-route-map.js +25 -12
- package/dist/base-route-map.js.map +1 -1
- package/dist/build-tree.d.ts +16 -1
- package/dist/build-tree.d.ts.map +1 -1
- package/dist/build-tree.js +22 -4
- package/dist/build-tree.js.map +1 -1
- package/dist/create-route-map-from-tree.d.ts +12 -6
- package/dist/create-route-map-from-tree.d.ts.map +1 -1
- package/dist/create-route-map-from-tree.js +13 -5
- package/dist/create-route-map-from-tree.js.map +1 -1
- package/dist/errors.d.ts +2 -134
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +11 -151
- package/dist/errors.js.map +1 -1
- package/dist/find-route.d.ts.map +1 -1
- package/dist/find-route.js +14 -19
- package/dist/find-route.js.map +1 -1
- package/dist/index.d.ts +6 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -11
- package/dist/index.js.map +1 -1
- package/dist/provider-lifecycle.d.ts +10 -6
- package/dist/provider-lifecycle.d.ts.map +1 -1
- package/dist/provider-lifecycle.js +1 -1
- package/dist/provider-lifecycle.js.map +1 -1
- package/dist/router-bridge-base.d.ts +42 -23
- package/dist/router-bridge-base.d.ts.map +1 -1
- package/dist/router-bridge-base.js +249 -76
- package/dist/router-bridge-base.js.map +1 -1
- package/dist/router-sync.d.ts +1 -1
- package/dist/router-sync.d.ts.map +1 -1
- package/dist/router-sync.js +28 -13
- package/dist/router-sync.js.map +1 -1
- package/dist/types.d.ts +186 -87
- package/dist/types.d.ts.map +1 -1
- package/dist/{create-route-map.d.ts → xstate/create-route-map.d.ts} +6 -20
- package/dist/xstate/create-route-map.d.ts.map +1 -0
- package/dist/{create-route-map.js → xstate/create-route-map.js} +5 -3
- package/dist/xstate/create-route-map.js.map +1 -0
- package/dist/{extract-routes.d.ts → xstate/extract-routes.d.ts} +3 -2
- package/dist/xstate/extract-routes.d.ts.map +1 -0
- package/dist/{extract-routes.js → xstate/extract-routes.js} +8 -3
- package/dist/xstate/extract-routes.js.map +1 -0
- package/dist/xstate/index.d.ts +35 -0
- package/dist/xstate/index.d.ts.map +1 -0
- package/dist/xstate/index.js +33 -0
- package/dist/xstate/index.js.map +1 -0
- package/dist/{machine-to-graph.d.ts → xstate/machine-to-graph.d.ts} +1 -1
- package/dist/xstate/machine-to-graph.d.ts.map +1 -0
- package/dist/{machine-to-graph.js → xstate/machine-to-graph.js} +2 -2
- package/dist/xstate/machine-to-graph.js.map +1 -0
- package/dist/xstate/machine-types.d.ts +42 -0
- package/dist/xstate/machine-types.d.ts.map +1 -0
- package/dist/xstate/machine-types.js +2 -0
- package/dist/xstate/machine-types.js.map +1 -0
- package/dist/{query.d.ts → xstate/query.d.ts} +6 -4
- package/dist/xstate/query.d.ts.map +1 -0
- package/dist/{query.js → xstate/query.js} +3 -2
- package/dist/xstate/query.js.map +1 -0
- package/package.json +26 -20
- package/dist/base-path.d.ts +0 -209
- package/dist/base-path.d.ts.map +0 -1
- package/dist/base-path.js +0 -418
- package/dist/base-path.js.map +0 -1
- package/dist/create-route-map.d.ts.map +0 -1
- package/dist/create-route-map.js.map +0 -1
- package/dist/extract-routes.d.ts.map +0 -1
- package/dist/extract-routes.js.map +0 -1
- package/dist/framework-params.d.ts +0 -144
- package/dist/framework-params.d.ts.map +0 -1
- package/dist/framework-params.js +0 -291
- package/dist/framework-params.js.map +0 -1
- package/dist/machine-to-graph.d.ts.map +0 -1
- package/dist/machine-to-graph.js.map +0 -1
- package/dist/query.d.ts.map +0 -1
- package/dist/query.js.map +0 -1
- package/dist/url-pattern-utils.d.ts +0 -93
- package/dist/url-pattern-utils.d.ts.map +0 -1
- package/dist/url-pattern-utils.js +0 -233
- package/dist/url-pattern-utils.js.map +0 -1
|
@@ -42,11 +42,10 @@
|
|
|
42
42
|
*
|
|
43
43
|
* @see [Play RFC](../../docs/rfc/play.md) - invariant INV-04
|
|
44
44
|
*/
|
|
45
|
+
import { NO_BASE_PATH, firstMarkIndex, holdsUnsubstitutedParam, joinBasePath, parsePattern, resolveBasePath, stripBasePath, } from "@xmachines/play-url";
|
|
45
46
|
import { Signal, watchSignal } from "@xmachines/play-signals";
|
|
46
|
-
import { DuplicateBridgeError, RouterSyncError,
|
|
47
|
+
import { DuplicateBridgeError, RouterSyncError, InvalidRoutePatternError } from "./errors.js";
|
|
47
48
|
import { buildPlayRouteEvent, extractQuery, extractRouteParams, matchRouteMap, sanitizePathname, } from "./router-sync.js";
|
|
48
|
-
import { isParameterizedPattern } from "./url-pattern-utils.js";
|
|
49
|
-
import { NO_BASE_PATH, firstMarkIndex, joinBasePath, resolveBasePath, stripBasePath, } from "./base-path.js";
|
|
50
49
|
/**
|
|
51
50
|
* The registry of the actors with an active bridge connection, at the module level.
|
|
52
51
|
*
|
|
@@ -472,9 +471,9 @@ export class RouterBridgeBase {
|
|
|
472
471
|
// SvelteKit raises `lifecycle_outside_component` outside the initialization of
|
|
473
472
|
// a component, and a host reaches that by calling `connectRouter` from a module
|
|
474
473
|
// scope or a store
|
|
475
|
-
// - `performInitialSync()`, with
|
|
476
|
-
//
|
|
477
|
-
//
|
|
474
|
+
// - `performInitialSync()`, with an InvalidRoutePatternError for a route that
|
|
475
|
+
// URLPattern refuses, and a RouterSyncError for each other failure of the send
|
|
476
|
+
// to the actor
|
|
478
477
|
//
|
|
479
478
|
// The throw needs an action of the caller, and it therefore goes to the caller
|
|
480
479
|
// without a change.
|
|
@@ -486,7 +485,8 @@ export class RouterBridgeBase {
|
|
|
486
485
|
// - the signal watcher keeps pushing each actor route to the router
|
|
487
486
|
// - the activeBridges entry keeps the actor, so the NEXT connect() call of the
|
|
488
487
|
// caller for this actor throws a DuplicateBridgeError. A repair of the real
|
|
489
|
-
// cause, for example a
|
|
488
|
+
// cause, for example a correction of the route pattern, rescues that actor
|
|
489
|
+
// never.
|
|
490
490
|
try {
|
|
491
491
|
// The TC39 Signal watcher of the direction from the actor to the router.
|
|
492
492
|
this.routeWatcher = createRouteWatcher(this.actor.currentRoute, (route) => {
|
|
@@ -501,7 +501,8 @@ export class RouterBridgeBase {
|
|
|
501
501
|
// guard of its own, because `unwatchRouterChanges()` belongs to the adapter and
|
|
502
502
|
// it can throw: a Vue scope that stops, a Solid disposer, a SvelteKit teardown.
|
|
503
503
|
// That error must NOT replace the one the rollback exists to surface — a caller
|
|
504
|
-
// that receives it
|
|
504
|
+
// that receives it learns neither which route pattern URLPattern refused nor
|
|
505
|
+
// which event the actor refused.
|
|
505
506
|
try {
|
|
506
507
|
this.disconnect();
|
|
507
508
|
}
|
|
@@ -541,6 +542,18 @@ export class RouterBridgeBase {
|
|
|
541
542
|
*/
|
|
542
543
|
performInitialSync(initialRouterPath) {
|
|
543
544
|
const initialActorRoute = this.actor.currentRoute.get();
|
|
545
|
+
// ONE read of the query of the router, and a LAZY one. The read belongs to the
|
|
546
|
+
// adapter and it can walk the state of a router, so a second call can answer
|
|
547
|
+
// differently — and most branches below reach no query at all.
|
|
548
|
+
let search;
|
|
549
|
+
let searchRead = false;
|
|
550
|
+
const routerSearch = () => {
|
|
551
|
+
if (!searchRead) {
|
|
552
|
+
search = this.getInitialRouterSearch();
|
|
553
|
+
searchRead = true;
|
|
554
|
+
}
|
|
555
|
+
return search;
|
|
556
|
+
};
|
|
544
557
|
if (typeof initialRouterPath === "string") {
|
|
545
558
|
// `sanitizePathname` refuses a path of more than 2048 characters, and the RAW
|
|
546
559
|
// value is no substitute for the clean one: it still carries a query, a
|
|
@@ -575,8 +588,15 @@ export class RouterBridgeBase {
|
|
|
575
588
|
// The decision below IS the first synchronization, and it runs against a location
|
|
576
589
|
// under the mount, so nothing is owed any more.
|
|
577
590
|
this.hasSynchronizedUnderMount = true;
|
|
578
|
-
// Test if the actor is at the current location of the router already.
|
|
579
|
-
|
|
591
|
+
// Test if the actor is at the current location of the router already. The PATH
|
|
592
|
+
// and the QUERY are two answers of ONE lookup: the path decides whether a restore
|
|
593
|
+
// is possible at all, and the query decides whether the two sides are in step
|
|
594
|
+
// there. `routerSearch` runs behind the `&&`, so a branch that answers on the
|
|
595
|
+
// path alone reads no query.
|
|
596
|
+
const actorAtRouterPath = this.isActorAtPath(machinePath, initialActorRoute);
|
|
597
|
+
const actorAlreadyAtRouterLocation = actorAtRouterPath &&
|
|
598
|
+
initialActorRoute != null &&
|
|
599
|
+
sameQuery(initialActorRoute, routerSearch());
|
|
580
600
|
// The two are in step already, so nothing is synchronized — but the location has
|
|
581
601
|
// to be RECORDED, or the echo suppression starts disarmed. `setBasePath` clears
|
|
582
602
|
// `lastSyncedPath` on a move of the prefix, and this branch left it null: the
|
|
@@ -590,7 +610,7 @@ export class RouterBridgeBase {
|
|
|
590
610
|
// of one connection, and the record of the old prefix says nothing about this
|
|
591
611
|
// location.
|
|
592
612
|
if (actorAlreadyAtRouterLocation) {
|
|
593
|
-
this.lastSyncedPath = withSearch(machinePath,
|
|
613
|
+
this.lastSyncedPath = withSearch(machinePath, routerSearch());
|
|
594
614
|
}
|
|
595
615
|
else {
|
|
596
616
|
// The path of the router is different from the actor route. Is this a deep link, or
|
|
@@ -606,16 +626,33 @@ export class RouterBridgeBase {
|
|
|
606
626
|
//
|
|
607
627
|
// The detection: the URL of the router is the initial route of the machine, AND the
|
|
608
628
|
// actor is at a different route. This is then a restore.
|
|
629
|
+
//
|
|
630
|
+
// The branch reads the LOCATION test above, through the `else` that carries it,
|
|
631
|
+
// and not the path test alone: a fragment that the actor carries and the router
|
|
632
|
+
// reports never — `sanitizePathname` cuts it off — is a difference that only
|
|
633
|
+
// this push can place in the address bar. A query of the ACTOR is such a
|
|
634
|
+
// difference too, and issue #18 carries the decision about it.
|
|
635
|
+
//
|
|
636
|
+
// `carriesNoOwnSuffix` is what keeps the two apart. An actor that stands on the
|
|
637
|
+
// PATH of the router and carries no query and no fragment of its own restores
|
|
638
|
+
// NOTHING: the address bar already shows its place, and a push only rewrites the
|
|
639
|
+
// location that the user opened. The raw comparison against `initialRoute` cannot
|
|
640
|
+
// see that, because a stateId is never string-equal to a path — an actor at
|
|
641
|
+
// `"#home"` against a router at `"/?ref=nav"` read as a move, so the bridge
|
|
642
|
+
// pushed `"/"` over the query the user opened and sent no `play.route` that
|
|
643
|
+
// carried it. The router keeps the priority for such a location, which is the
|
|
644
|
+
// answer that the same bridge gives for the actor route `"/"`.
|
|
609
645
|
if (initialActorRoute &&
|
|
610
646
|
machinePath === this.actor.initialRoute &&
|
|
611
|
-
initialActorRoute !== this.actor.initialRoute
|
|
647
|
+
initialActorRoute !== this.actor.initialRoute &&
|
|
648
|
+
!(actorAtRouterPath && carriesNoOwnSuffix(initialActorRoute))) {
|
|
612
649
|
this.pushHoldingNavigation(initialActorRoute);
|
|
613
650
|
}
|
|
614
651
|
else {
|
|
615
|
-
// The search is read
|
|
616
|
-
//
|
|
617
|
-
//
|
|
618
|
-
this.syncActorFromRouter(initialRouterPath,
|
|
652
|
+
// The search is read through `routerSearch`, which reads it one time and only
|
|
653
|
+
// when a branch needs it: the read belongs to the adapter, and it can walk
|
|
654
|
+
// the state of a router.
|
|
655
|
+
this.syncActorFromRouter(initialRouterPath, routerSearch());
|
|
619
656
|
}
|
|
620
657
|
}
|
|
621
658
|
}
|
|
@@ -791,7 +828,7 @@ export class RouterBridgeBase {
|
|
|
791
828
|
const owesFirstSync = !this.hasSynchronizedUnderMount;
|
|
792
829
|
this.hasSynchronizedUnderMount = true;
|
|
793
830
|
const restoredRoute = this.actor.currentRoute.get();
|
|
794
|
-
// `
|
|
831
|
+
// `isActorAtPath` is the test that `performInitialSync` makes BEFORE it looks
|
|
795
832
|
// for a restore, and both branches of the owed synchronization below need it. The
|
|
796
833
|
// actor route can be a stateId, and a stateId is never string-equal to
|
|
797
834
|
// `initialRoute`, which is a path: an actor that sits at "#home" of the mount point
|
|
@@ -801,13 +838,23 @@ export class RouterBridgeBase {
|
|
|
801
838
|
//
|
|
802
839
|
// ONE call, because `getStateIdByPath` and `getPathByStateId` belong to the route
|
|
803
840
|
// map: a map of a consumer can answer differently on a second call, and the two
|
|
804
|
-
// branches would then disagree about the same location.
|
|
805
|
-
|
|
841
|
+
// branches would then disagree about the same location. The PATH and the QUERY are
|
|
842
|
+
// two answers of that one lookup, exactly as `performInitialSync` reads them.
|
|
843
|
+
const actorAtPath = owesFirstSync && this.isActorAtPath(machinePath, restoredRoute);
|
|
844
|
+
const actorAtLocation = actorAtPath && restoredRoute != null && sameQuery(restoredRoute, search);
|
|
845
|
+
// The RESTORE reads the LOCATION test, exactly as `performInitialSync` does, and it
|
|
846
|
+
// refuses the same empty restore: an actor that stands on the PATH of the location
|
|
847
|
+
// and carries no query and no fragment of its own has nothing to put in the address
|
|
848
|
+
// bar. Without that test an actor at `"#home"` met a host that came back to the
|
|
849
|
+
// mount point with a query, and the bridge pushed the mount point over it and
|
|
850
|
+
// returned `true` — so no `play.route` carried that location to the machine either,
|
|
851
|
+
// which is the fault that the comment above this block names.
|
|
806
852
|
if (owesFirstSync &&
|
|
807
853
|
restoredRoute &&
|
|
808
854
|
machinePath === this.actor.initialRoute &&
|
|
809
855
|
restoredRoute !== this.actor.initialRoute &&
|
|
810
|
-
!actorAtLocation
|
|
856
|
+
!actorAtLocation &&
|
|
857
|
+
!(actorAtPath && carriesNoOwnSuffix(restoredRoute))) {
|
|
811
858
|
return this.pushUnderMount(restoredRoute);
|
|
812
859
|
}
|
|
813
860
|
if (owesFirstSync) {
|
|
@@ -879,12 +926,12 @@ export class RouterBridgeBase {
|
|
|
879
926
|
if (this.isProcessingNavigation)
|
|
880
927
|
return true;
|
|
881
928
|
// The route has to resolve to a concrete path BEFORE the method reports that it
|
|
882
|
-
// handled the location. `pushResolvedRoute`
|
|
883
|
-
// and for a parameterized pattern, and it
|
|
884
|
-
//
|
|
885
|
-
//
|
|
886
|
-
//
|
|
887
|
-
// recognized
|
|
929
|
+
// handled the location. `pushResolvedRoute` navigates nowhere for an unknown stateId
|
|
930
|
+
// and for a parameterized pattern, and it records the RAW value in `lastActorRoute`
|
|
931
|
+
// alone: a `true` return then left the location in neither side — the URL kept the
|
|
932
|
+
// page of the host, and the actor heard no `play.route`. The record of the location
|
|
933
|
+
// that the address bar holds says nothing about it either, so no later return could
|
|
934
|
+
// be recognized. `reconcileLocationWithMount` guards the same case.
|
|
888
935
|
//
|
|
889
936
|
// The resolution travels with the route, so `resolveNavigationPath` runs one time:
|
|
890
937
|
// the method is `protected`, a subclass can override it, and a second call can
|
|
@@ -963,8 +1010,9 @@ export class RouterBridgeBase {
|
|
|
963
1010
|
* pattern, for a wildcard pattern, and for an unknown id, the method skips the push
|
|
964
1011
|
* completely: a push of the raw value writes a stateId, a `:param` pattern, or a
|
|
965
1012
|
* literal `*` into the browser URL. The method still writes the raw route to
|
|
966
|
-
*
|
|
967
|
-
*
|
|
1013
|
+
* lastActorRoute, and it leaves lastSyncedPath as it stands, because that field
|
|
1014
|
+
* records a LOCATION and no location changed. Therefore the dedup guard fires
|
|
1015
|
+
* correctly on the next identical value of the signal.
|
|
968
1016
|
*
|
|
969
1017
|
* @param route - The raw value of the actor route.
|
|
970
1018
|
* @param resolved - The concrete path of that route. The default resolves it here. A
|
|
@@ -1094,10 +1142,11 @@ export class RouterBridgeBase {
|
|
|
1094
1142
|
this.actor.send(nextRoute.event);
|
|
1095
1143
|
}
|
|
1096
1144
|
catch (error) {
|
|
1097
|
-
//
|
|
1098
|
-
//
|
|
1099
|
-
//
|
|
1100
|
-
|
|
1145
|
+
// An InvalidRoutePatternError needs an action of the DEVELOPER: a route of the
|
|
1146
|
+
// machine declares a pattern that URLPattern refuses, and no location can fix it.
|
|
1147
|
+
// It goes to the caller without a change, so that the caller can find it and read
|
|
1148
|
+
// the pattern that it names.
|
|
1149
|
+
if (error instanceof InvalidRoutePatternError) {
|
|
1101
1150
|
throw error;
|
|
1102
1151
|
}
|
|
1103
1152
|
throw new RouterSyncError("Failed to sync actor state from router location.", {
|
|
@@ -1112,16 +1161,14 @@ export class RouterBridgeBase {
|
|
|
1112
1161
|
/**
|
|
1113
1162
|
* Reads the path parameters of a URL, with the URLPattern API.
|
|
1114
1163
|
*
|
|
1115
|
-
* The
|
|
1116
|
-
*
|
|
1117
|
-
*
|
|
1118
|
-
* must therefore give a polyfill in an environment without the native URLPattern:
|
|
1119
|
-
* Node.js < 24, and an older browser.
|
|
1164
|
+
* The API is always present: `@xmachines/play-router` uses the native URLPattern of the
|
|
1165
|
+
* runtime, and it falls back to `urlpattern-polyfill`, which it carries as an ordinary
|
|
1166
|
+
* dependency. A consumer therefore loads nothing, whatever the runtime.
|
|
1120
1167
|
*
|
|
1121
1168
|
* @param pathname - The real URL path, for example '/profile/john'
|
|
1122
1169
|
* @param stateId - The stateId of the match, for the lookup of the route pattern
|
|
1123
1170
|
* @returns The path parameters of the read, or an empty object when nothing matches
|
|
1124
|
-
* @throws {
|
|
1171
|
+
* @throws {InvalidRoutePatternError} When URLPattern cannot compile the route pattern
|
|
1125
1172
|
*/
|
|
1126
1173
|
extractParams(pathname, stateId) {
|
|
1127
1174
|
const pattern = this.routeMap.getPathByStateId(stateId);
|
|
@@ -1140,6 +1187,9 @@ export class RouterBridgeBase {
|
|
|
1140
1187
|
* `/docs/*`, because no concrete value is available for a real URL
|
|
1141
1188
|
* - a string that is no path and no known stateId
|
|
1142
1189
|
*
|
|
1190
|
+
* A LITERAL route of the map comes back with each escape resolved: `/tags/c\+\+` gives
|
|
1191
|
+
* the path `/tags/c++`, which is the path that the route matches.
|
|
1192
|
+
*
|
|
1143
1193
|
* A lookup of a stateId tries the form `"#stateId"` and the bare form `"stateId"`,
|
|
1144
1194
|
* through `lookupPathByStateId`. Therefore a route map of your own that holds one
|
|
1145
1195
|
* form only still resolves the path.
|
|
@@ -1157,19 +1207,70 @@ export class RouterBridgeBase {
|
|
|
1157
1207
|
const path = mapped ?? (route.startsWith("/") ? route : null);
|
|
1158
1208
|
if (path === null)
|
|
1159
1209
|
return null;
|
|
1160
|
-
//
|
|
1161
|
-
//
|
|
1162
|
-
//
|
|
1163
|
-
//
|
|
1164
|
-
//
|
|
1165
|
-
//
|
|
1166
|
-
//
|
|
1167
|
-
|
|
1210
|
+
// A LITERAL route resolves to the one path that it matches, and the source of a
|
|
1211
|
+
// pattern is not always that path: `/tags/c\+\+` matches `/tags/c++`, and
|
|
1212
|
+
// `/i18n/{en}` matches `/i18n/en`. A bridge that pushed the source wrote the
|
|
1213
|
+
// backslashes and the braces into the address bar, where `getStateIdByPath` answered
|
|
1214
|
+
// that location never — so the URL stopped following the actor, and its next move to
|
|
1215
|
+
// the same route was suppressed as an echo of that push.
|
|
1216
|
+
//
|
|
1217
|
+
// The two branches above resolve DIFFERENT amounts, and the difference is what the
|
|
1218
|
+
// string is:
|
|
1219
|
+
//
|
|
1220
|
+
// - A route of the MAP is a pattern source, so every construct in it is grammar and
|
|
1221
|
+
// the parse resolves all of it.
|
|
1222
|
+
// - A route that the ACTOR built is a path already. `buildRouteUrl` of
|
|
1223
|
+
// `@xmachines/play-xstate` substitutes each `:param` of the template and leaves
|
|
1224
|
+
// every escape as the template wrote it, so a BACKSLASH still means an escape
|
|
1225
|
+
// there — and nothing else does. A brace in such a path is a real brace, and
|
|
1226
|
+
// `/i18n/{en}` from an actor is the location `/i18n/{en}`.
|
|
1227
|
+
//
|
|
1228
|
+
// A route of the map is a pattern source WHOLE, and its `?` is a modifier and never
|
|
1229
|
+
// a query. The parse therefore reads all of it, and its answer is complete: a `null`
|
|
1230
|
+
// literal path says that the pattern describes a SET of paths, so the bridge pushes
|
|
1231
|
+
// nothing. A fall to the concrete-path test below answered that question with the
|
|
1232
|
+
// characters of the string instead, and it let every pattern whose grammar carries
|
|
1233
|
+
// no ":" and no "*" through — `/docs/rfc(2119)`, `/books{/v2}?` and `/files/(\d+)`
|
|
1234
|
+
// all reached the address bar as they stand, where `getStateIdByPath` answers them
|
|
1235
|
+
// never.
|
|
1236
|
+
if (mapped != null)
|
|
1237
|
+
return parsePattern(path).literalPath;
|
|
1238
|
+
// A route of the ACTOR carries its query, because `context.query` travels in
|
|
1239
|
+
// `currentRoute`, and the PATHNAME half alone reaches the grammar for it. A query
|
|
1240
|
+
// holds a ":" and a "*" legally — a time in "?at=10:30", a URL in "?next=https://x",
|
|
1241
|
+
// a glob in "?q=a*" — and it holds the "?" that the grammar reads as a modifier. A
|
|
1242
|
+
// parse of the whole string called such a route malformed and resolved nothing of
|
|
1243
|
+
// it, so `/tags/c\+\+?ref=nav` went to the address bar with both backslashes; a
|
|
1244
|
+
// PATTERN test of the whole string called it a pattern, so `pushResolvedRoute` wrote
|
|
1245
|
+
// `lastSyncedPath` and navigated nowhere, and the dedup guard then suppressed the
|
|
1246
|
+
// next attempt at the same route as an echo. The suffix carries no grammar, and it
|
|
1247
|
+
// travels to the router unchanged.
|
|
1248
|
+
const mark = firstMarkIndex(path);
|
|
1249
|
+
const pathname = mark === -1 ? path : path.slice(0, mark);
|
|
1250
|
+
// A BACKSLASH is the one construct that reaches an actor route unresolved, and this
|
|
1251
|
+
// is where it resolves.
|
|
1252
|
+
if (pathname.includes("\\")) {
|
|
1253
|
+
const literal = parsePattern(pathname).literalPath;
|
|
1254
|
+
// The resolution FAILED, so this route resolves to no concrete path and the
|
|
1255
|
+
// bridge pushes nothing. A fall to the test below refused none of it — a backslash
|
|
1256
|
+
// is neither a ":" nor a "*" — so the SOURCE went to the address bar with its
|
|
1257
|
+
// backslashes, where `getStateIdByPath` answers that location never, and
|
|
1258
|
+
// `pushResolvedRoute` then recorded it and suppressed the next attempt at the same
|
|
1259
|
+
// route as an echo. `encodeURIComponent` leaves "(", ")", "!", "'" and "~" as they
|
|
1260
|
+
// stand, so a param value of `f(x)` under a template that carries an escape —
|
|
1261
|
+
// `/files/c\+\+/:name` — reaches this line and derives no literal path.
|
|
1262
|
+
return literal === null ? null : `${literal}${mark === -1 ? "" : path.slice(mark)}`;
|
|
1263
|
+
}
|
|
1264
|
+
// The test is `holdsUnsubstitutedParam` and NOT `isParameterizedPattern`, because
|
|
1265
|
+
// this string is a concrete path and not a pattern. Its own documentation gives the
|
|
1266
|
+
// reason: a real param value carries a character of the grammar often enough, and
|
|
1267
|
+
// the grammar reads a modifier in "/tags/c++" and a group in "/i18n/{en}".
|
|
1268
|
+
if (holdsUnsubstitutedParam(pathname))
|
|
1168
1269
|
return null;
|
|
1169
1270
|
return path;
|
|
1170
1271
|
}
|
|
1171
1272
|
/**
|
|
1172
|
-
* Tells you whether the actor already stands
|
|
1273
|
+
* Tells you whether the actor already stands on the PATH of a location of the router.
|
|
1173
1274
|
*
|
|
1174
1275
|
* The `currentRoute` of the actor can be a stateId, for example `"#app.home"`, while a
|
|
1175
1276
|
* location of the router is a URL path, for example `"/home"`. Therefore the method
|
|
@@ -1178,33 +1279,67 @@ export class RouterBridgeBase {
|
|
|
1178
1279
|
* `takeReturnUnderMount`, it reads a location that the HOST chose as a restore of the
|
|
1179
1280
|
* actor and writes over it.
|
|
1180
1281
|
*
|
|
1181
|
-
* The actor is
|
|
1282
|
+
* The actor is on the path in three cases: the stateId of the match IS the actor
|
|
1182
1283
|
* route, the path of the match IS the actor route, or the actor route is a stateId
|
|
1183
1284
|
* that resolves to the same registered path as the stateId of the match. Each lookup
|
|
1184
1285
|
* goes through {@link lookupPathByStateId}, which tries the form `"#stateId"` and also
|
|
1185
1286
|
* the bare form `"stateId"`. Therefore a route map with `"#about"` recognizes an actor
|
|
1186
1287
|
* route of `"about"`, and the opposite also works, and this is correct for a
|
|
1187
|
-
* structural map of your own that holds one form.
|
|
1188
|
-
*
|
|
1189
|
-
*
|
|
1190
|
-
*
|
|
1191
|
-
*
|
|
1192
|
-
*
|
|
1193
|
-
*
|
|
1194
|
-
*
|
|
1195
|
-
*
|
|
1196
|
-
*
|
|
1288
|
+
* structural map of your own that holds one form.
|
|
1289
|
+
*
|
|
1290
|
+
* An actor route with a concrete path, which starts with `"/"`, goes to a direct
|
|
1291
|
+
* comparison of the pathname against `machinePath`. That comparison runs BEFORE the
|
|
1292
|
+
* map, because a location the map does not hold is still a location the actor can
|
|
1293
|
+
* stand on.
|
|
1294
|
+
*
|
|
1295
|
+
* The QUERY is a question of its own, and {@link sameQuery} answers it. Each caller
|
|
1296
|
+
* asks BOTH, and the two answers do different work. "The two sides are in step" needs
|
|
1297
|
+
* the path AND the query, so a router that carries the only query is a deep link that
|
|
1298
|
+
* the actor has to follow — for a stateId route as much as for a path route. The
|
|
1299
|
+
* RESTORE needs the path, beside `carriesNoOwnSuffix`: an actor that stands here and
|
|
1300
|
+
* carries no query and no fragment of its own has nothing to put in the address bar,
|
|
1301
|
+
* and a push would only rewrite the location the user opened.
|
|
1302
|
+
*
|
|
1303
|
+
* A query that the ACTOR carries is a difference that this branch still reads as a
|
|
1304
|
+
* restore, so an actor at `/?ref=nav` wins against a router at `/?other=1`. `main`
|
|
1305
|
+
* answers the same way, and whether that is a deep link or a restore is a decision
|
|
1306
|
+
* about the rule: issue #18 carries it, and a test pins the behaviour.
|
|
1307
|
+
*
|
|
1308
|
+
* Each lookup runs ONE time, and a caller that needs both answers calls this method
|
|
1309
|
+
* one time too. `getPathByStateId` belongs to the route map: a map of a consumer can
|
|
1310
|
+
* answer differently on a second call, and `RouteMap` pays a cache lookup for each of
|
|
1311
|
+
* them.
|
|
1312
|
+
*
|
|
1313
|
+
* @param machinePath - The machine half of the location of the router, with no query.
|
|
1314
|
+
* @param actorRoute - The raw value of the actor route. It CAN carry a query.
|
|
1197
1315
|
*/
|
|
1198
|
-
|
|
1316
|
+
isActorAtPath(machinePath, actorRoute) {
|
|
1199
1317
|
if (actorRoute == null)
|
|
1200
1318
|
return false;
|
|
1201
|
-
// The
|
|
1202
|
-
//
|
|
1203
|
-
//
|
|
1204
|
-
//
|
|
1205
|
-
//
|
|
1206
|
-
//
|
|
1207
|
-
|
|
1319
|
+
// The PATHNAME half of the actor route.
|
|
1320
|
+
//
|
|
1321
|
+
// An actor route carries its QUERY, because `context.query` travels in
|
|
1322
|
+
// `currentRoute`, and `machinePath` carries none — `sanitizePathname` cut it off
|
|
1323
|
+
// before the caller stripped the prefix. The two are therefore never the identical
|
|
1324
|
+
// string for a route with a query, and a comparison of the whole strings reported an
|
|
1325
|
+
// actor standing exactly at this location as "somewhere else": `performInitialSync`
|
|
1326
|
+
// read that as a deep link and sent a `play.route` for the state the actor was in
|
|
1327
|
+
// already, so every entry action of that state ran a second time.
|
|
1328
|
+
const [actorPath] = splitLocation(actorRoute);
|
|
1329
|
+
// An ESCAPED literal route resolves on that same half, and its two forms are never
|
|
1330
|
+
// the identical string: the actor carries `/tags/c\+\+`, which is what the template
|
|
1331
|
+
// writes, and the router stands at `/tags/c++`, which is the path that the route
|
|
1332
|
+
// matches and the path that `resolveNavigationPath` pushes. The resolution reads the
|
|
1333
|
+
// PATHNAME, and not the whole string, for two reasons: a `?` is a modifier of the
|
|
1334
|
+
// grammar that makes `/tags/c\+\+?ref=nav` malformed, and a query would key the
|
|
1335
|
+
// bounded parse cache on a string that no route map holds.
|
|
1336
|
+
const literalPath = actorPath.includes("\\") ? parsePattern(actorPath).literalPath : null;
|
|
1337
|
+
// The pathname test answers with no map at all, and it has to run FIRST: the lookup
|
|
1338
|
+
// below returns nothing for a location that the map does not hold, and the early
|
|
1339
|
+
// return then reported an actor standing exactly at that location as "somewhere
|
|
1340
|
+
// else". The seed of the constructor hid this for as long as one field carried the
|
|
1341
|
+
// route of the actor AND the location.
|
|
1342
|
+
if (machinePath === (literalPath ?? actorPath))
|
|
1208
1343
|
return true;
|
|
1209
1344
|
const resolvedStateId = this.routeMap.getStateIdByPath(machinePath);
|
|
1210
1345
|
if (resolvedStateId === null || resolvedStateId === undefined)
|
|
@@ -1343,16 +1478,6 @@ export class RouterBridgeBase {
|
|
|
1343
1478
|
return undefined;
|
|
1344
1479
|
}
|
|
1345
1480
|
}
|
|
1346
|
-
/**
|
|
1347
|
-
* The pathname half of a location: everything in front of the first `?` or `#`.
|
|
1348
|
-
*
|
|
1349
|
-
* A pattern test reads this half alone, because a query and a fragment carry their own
|
|
1350
|
-
* characters and say nothing about the shape of the path.
|
|
1351
|
-
*/
|
|
1352
|
-
function pathnameOf(location) {
|
|
1353
|
-
const mark = firstMarkIndex(location);
|
|
1354
|
-
return mark === -1 ? location : location.slice(0, mark);
|
|
1355
|
-
}
|
|
1356
1481
|
/**
|
|
1357
1482
|
* Splits a location into its path, its query with no leading `?`, and its fragment
|
|
1358
1483
|
* with its leading `#`.
|
|
@@ -1380,6 +1505,54 @@ function splitLocation(location) {
|
|
|
1380
1505
|
return [withoutFragment, "", fragment];
|
|
1381
1506
|
return [withoutFragment.slice(0, mark), withoutFragment.slice(mark + 1), fragment];
|
|
1382
1507
|
}
|
|
1508
|
+
/**
|
|
1509
|
+
* True when the query of an actor route and the query of the router are the same query.
|
|
1510
|
+
*
|
|
1511
|
+
* `isActorAtPath` answers where the actor stands, and this function answers whether the
|
|
1512
|
+
* two sides agree about the query there. The order of the keys is not significant, which
|
|
1513
|
+
* is what `isEchoOfLastSync` says for the same pair of values.
|
|
1514
|
+
*
|
|
1515
|
+
* A query that DIFFERS answers `false`, and it must: the first synchronization gives the
|
|
1516
|
+
* router the priority, so a location with another query is a deep link that the actor has
|
|
1517
|
+
* to follow. An ABSENT query of the actor against a query of the router is such a
|
|
1518
|
+
* difference — without this, a deep link of `/settings?ref=nav` reached an actor that
|
|
1519
|
+
* stood at `/settings` never, and `context.query` stayed empty for the session while
|
|
1520
|
+
* `lastSyncedPath` recorded the query and suppressed every later report of it. A stateId
|
|
1521
|
+
* carries no query of its own, so it stands at a location with one never.
|
|
1522
|
+
*
|
|
1523
|
+
* @param actorRoute - The raw value of the actor route. It CAN carry a query.
|
|
1524
|
+
* @param search - The query of the router, or `undefined` when it has none.
|
|
1525
|
+
*/
|
|
1526
|
+
function sameQuery(actorRoute, search) {
|
|
1527
|
+
const [, actorQuery, fragment] = splitLocation(actorRoute);
|
|
1528
|
+
// A FRAGMENT is a difference, always. `sanitizePathname` cuts it off, so the router
|
|
1529
|
+
// reports one never and this comparison can confirm one never — and "unknown" must not
|
|
1530
|
+
// read as "the same". An actor that carries `/#intro` against a router at `/` is the
|
|
1531
|
+
// restore that puts the fragment in the address bar, and a `true` here swallowed it:
|
|
1532
|
+
// the bridge recorded the location, sent nothing, and the fragment reached the URL on
|
|
1533
|
+
// no later navigation either.
|
|
1534
|
+
if (fragment !== "")
|
|
1535
|
+
return false;
|
|
1536
|
+
return sortedQuery(actorQuery) === sortedQuery(search ?? "");
|
|
1537
|
+
}
|
|
1538
|
+
/**
|
|
1539
|
+
* True when an actor route carries no query and no fragment of its own.
|
|
1540
|
+
*
|
|
1541
|
+
* The RESTORE branch asks this beside {@link RouterBridgeBase.isActorAtPath}. An actor
|
|
1542
|
+
* that stands on the path of the router and answers `true` here restores nothing: the
|
|
1543
|
+
* address bar already shows its place, and a push writes the same path back and drops
|
|
1544
|
+
* whatever the router carried beside it.
|
|
1545
|
+
*
|
|
1546
|
+
* A stateId answers `true`, because a stateId carries no query and no fragment. The
|
|
1547
|
+
* leading `#` of `"#home"` is no fragment, which is what {@link splitLocation} says at
|
|
1548
|
+
* index 0.
|
|
1549
|
+
*
|
|
1550
|
+
* @param actorRoute - The raw value of the actor route.
|
|
1551
|
+
*/
|
|
1552
|
+
function carriesNoOwnSuffix(actorRoute) {
|
|
1553
|
+
const [, query, fragment] = splitLocation(actorRoute);
|
|
1554
|
+
return query === "" && fragment === "";
|
|
1555
|
+
}
|
|
1383
1556
|
/** Joins a pathname and a query into one location value. An empty query adds nothing. */
|
|
1384
1557
|
function withSearch(pathname, search) {
|
|
1385
1558
|
const query = (search ?? "").replace(/^\?/, "");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router-bridge-base.js","sourceRoot":"","sources":["../src/router-bridge-base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"router-bridge-base.js","sourceRoot":"","sources":["../src/router-bridge-base.ts"],"names":[],"mappings":"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"}
|
package/dist/router-sync.d.ts
CHANGED
|
@@ -67,7 +67,7 @@ export declare function sanitizePathname(pathname: string): string | null;
|
|
|
67
67
|
* @param pathname - The concrete URL pathname, for example `/profile/alice`
|
|
68
68
|
* @param pattern - The template of the URL pattern, for example `/profile/:username`
|
|
69
69
|
* @returns The record of the parameter values of the read, or `{}` for a static pattern.
|
|
70
|
-
* @throws {
|
|
70
|
+
* @throws {InvalidRoutePatternError} When URLPattern cannot compile the pattern.
|
|
71
71
|
*
|
|
72
72
|
* @example
|
|
73
73
|
* ```typescript
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router-sync.d.ts","sourceRoot":"","sources":["../src/router-sync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"router-sync.d.ts","sourceRoot":"","sources":["../src/router-sync.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,UAAU,CAAC;CACjD;AAED,MAAM,WAAW,gBAAgB;IAChC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1D,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACxD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,gBAAgB,EAC1B,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1E,UAAU,CAUZ;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUhE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyB5F;AAeD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBnE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,0BAA0B,GACjC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GAAG,IAAI,CAsBpD"}
|