@xmachines/play-router 3.0.0 → 5.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.
Files changed (85) hide show
  1. package/README.md +111 -116
  2. package/dist/base-route-map.d.ts +24 -13
  3. package/dist/base-route-map.d.ts.map +1 -1
  4. package/dist/base-route-map.js +116 -27
  5. package/dist/base-route-map.js.map +1 -1
  6. package/dist/build-tree.d.ts +16 -1
  7. package/dist/build-tree.d.ts.map +1 -1
  8. package/dist/build-tree.js +22 -4
  9. package/dist/build-tree.js.map +1 -1
  10. package/dist/create-route-map-from-tree.d.ts +13 -7
  11. package/dist/create-route-map-from-tree.d.ts.map +1 -1
  12. package/dist/create-route-map-from-tree.js +14 -6
  13. package/dist/create-route-map-from-tree.js.map +1 -1
  14. package/dist/errors.d.ts +2 -134
  15. package/dist/errors.d.ts.map +1 -1
  16. package/dist/errors.js +11 -151
  17. package/dist/errors.js.map +1 -1
  18. package/dist/find-route.d.ts +13 -1
  19. package/dist/find-route.d.ts.map +1 -1
  20. package/dist/find-route.js +33 -26
  21. package/dist/find-route.js.map +1 -1
  22. package/dist/index.d.ts +8 -18
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +6 -12
  25. package/dist/index.js.map +1 -1
  26. package/dist/provider-lifecycle.d.ts +18 -6
  27. package/dist/provider-lifecycle.d.ts.map +1 -1
  28. package/dist/provider-lifecycle.js +10 -5
  29. package/dist/provider-lifecycle.js.map +1 -1
  30. package/dist/router-bridge-base.d.ts +73 -38
  31. package/dist/router-bridge-base.d.ts.map +1 -1
  32. package/dist/router-bridge-base.js +304 -124
  33. package/dist/router-bridge-base.js.map +1 -1
  34. package/dist/router-sync.d.ts +3 -27
  35. package/dist/router-sync.d.ts.map +1 -1
  36. package/dist/router-sync.js +27 -45
  37. package/dist/router-sync.js.map +1 -1
  38. package/dist/types.d.ts +206 -102
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/xstate/create-route-map.d.ts +30 -0
  41. package/dist/xstate/create-route-map.d.ts.map +1 -0
  42. package/dist/{create-route-map.js → xstate/create-route-map.js} +11 -6
  43. package/dist/xstate/create-route-map.js.map +1 -0
  44. package/dist/{extract-routes.d.ts → xstate/extract-routes.d.ts} +4 -2
  45. package/dist/xstate/extract-routes.d.ts.map +1 -0
  46. package/dist/{extract-routes.js → xstate/extract-routes.js} +11 -6
  47. package/dist/xstate/extract-routes.js.map +1 -0
  48. package/dist/xstate/index.d.ts +35 -0
  49. package/dist/xstate/index.d.ts.map +1 -0
  50. package/dist/xstate/index.js +33 -0
  51. package/dist/xstate/index.js.map +1 -0
  52. package/dist/{machine-to-graph.d.ts → xstate/machine-to-graph.d.ts} +1 -1
  53. package/dist/xstate/machine-to-graph.d.ts.map +1 -0
  54. package/dist/{machine-to-graph.js → xstate/machine-to-graph.js} +2 -2
  55. package/dist/xstate/machine-to-graph.js.map +1 -0
  56. package/dist/xstate/machine-types.d.ts +42 -0
  57. package/dist/xstate/machine-types.d.ts.map +1 -0
  58. package/dist/xstate/machine-types.js +2 -0
  59. package/dist/xstate/machine-types.js.map +1 -0
  60. package/dist/{query.d.ts → xstate/query.d.ts} +6 -4
  61. package/dist/xstate/query.d.ts.map +1 -0
  62. package/dist/{query.js → xstate/query.js} +3 -2
  63. package/dist/xstate/query.js.map +1 -0
  64. package/package.json +30 -21
  65. package/dist/base-path.d.ts +0 -209
  66. package/dist/base-path.d.ts.map +0 -1
  67. package/dist/base-path.js +0 -418
  68. package/dist/base-path.js.map +0 -1
  69. package/dist/create-route-map.d.ts +0 -44
  70. package/dist/create-route-map.d.ts.map +0 -1
  71. package/dist/create-route-map.js.map +0 -1
  72. package/dist/extract-routes.d.ts.map +0 -1
  73. package/dist/extract-routes.js.map +0 -1
  74. package/dist/framework-params.d.ts +0 -144
  75. package/dist/framework-params.d.ts.map +0 -1
  76. package/dist/framework-params.js +0 -291
  77. package/dist/framework-params.js.map +0 -1
  78. package/dist/machine-to-graph.d.ts.map +0 -1
  79. package/dist/machine-to-graph.js.map +0 -1
  80. package/dist/query.d.ts.map +0 -1
  81. package/dist/query.js.map +0 -1
  82. package/dist/url-pattern-utils.d.ts +0 -93
  83. package/dist/url-pattern-utils.d.ts.map +0 -1
  84. package/dist/url-pattern-utils.js +0 -233
  85. package/dist/url-pattern-utils.js.map +0 -1
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * The class holds the logic that each router bridge shares, and that is 90% of the
5
5
  * code of every bridge:
6
- * - The TC39 Signal watcher of the direction from the actor to the router
6
+ * - The atom watcher of the direction from the actor to the router
7
7
  * - `lastSyncedPath`, for the echo suppression in the direction from the actor to the router
8
8
  * - The `isProcessingNavigation` flag, which stops a loop of a guard redirect in `syncActorFromRouter` only
9
9
  * - `syncRouterFromActor` and `syncActorFromRouter`, with the read of each URL parameter
@@ -42,24 +42,33 @@
42
42
  *
43
43
  * @see [Play RFC](../../docs/rfc/play.md) - invariant INV-04
44
44
  */
45
- import { Signal } from "@xmachines/play-signals";
45
+ import { type CompileOptions, type BasePathOptions } from "@xmachines/play-url";
46
+ import type { ReadonlyAtom } from "@xmachines/play-atom";
46
47
  import type { MountableRouterBridge, RoutableActor } from "./types.js";
47
- import { type BasePathOptions } from "./base-path.js";
48
48
  /**
49
- * The narrow interface of the TC39 Signal watcher. `RouterBridgeBase` uses it to
49
+ * What a bridge takes beside the actor and the route map.
50
+ *
51
+ * It is {@link BasePathOptions} with the caches of {@link CompileOptions} added: the parse
52
+ * cache AND the compiled cache. A base path and a cache are two different questions, and
53
+ * this type joins them at the ONE place that asks both: the constructor of a bridge.
54
+ */
55
+ export interface RouterBridgeOptions extends BasePathOptions, CompileOptions {
56
+ }
57
+ /**
58
+ * The narrow interface of the atom watcher. `RouterBridgeBase` uses it to
50
59
  * observe each change of `actor.currentRoute`.
51
60
  *
52
- * The interface hides the complete `Signal.subtle.Watcher` surface. It exposes the
61
+ * The interface hides the whole subscription surface of the atom. It exposes the
53
62
  * two operations that `RouterBridgeBase` needs:
54
- * - `watch(signal)` — it arms the watcher on one signal
63
+ * - `watch(atom)` — it starts the watch of one atom
55
64
  * - `unwatch()` — it stops the watch and frees the resources
56
65
  *
57
66
  * A framework adapter subclass touches this handle never. `RouterBridgeBase` makes
58
67
  * it and manages it internally.
59
68
  */
60
69
  export interface RouteWatcherHandle {
61
- /** Arms the watcher on the given signal. */
62
- watch(signal: Signal.Computed<string | null>): void;
70
+ /** Arms the watcher on the given atom. */
71
+ watch(atom: ReadonlyAtom<string | null>): void;
63
72
  /** Stops the observation and frees the watcher. */
64
73
  unwatch(): void;
65
74
  }
@@ -91,19 +100,19 @@ export declare abstract class RouterBridgeBase implements MountableRouterBridge
91
100
  /**
92
101
  * The raw value of `actor.currentRoute` that this bridge accounted for already.
93
102
  *
94
- * The field answers ONE question: "did the bridge see this value of the signal
103
+ * The field answers ONE question: "did the bridge see this value of the atom
95
104
  * before?". It is therefore a string, and not a location — a route that resolves to
96
105
  * no URL, such as an unknown stateId or a parameterized pattern, still stops a
97
106
  * second attempt at the same value.
98
107
  *
99
108
  * The constructor and `connect()` seed it, so that the first fire of the watcher of
100
- * the signal pushes nothing for a route that moved nowhere.
109
+ * the atom pushes nothing for a route that moved nowhere.
101
110
  */
102
111
  protected lastActorRoute: string | null;
103
112
  /**
104
113
  * The flag guards `syncActorFromRouter` against a re-entrant call from a guard
105
114
  * redirect of the actor itself. Such a call has this sequence: the bridge sends to
106
- * the actor, the signal fires, the bridge pushes to the router, and a second
115
+ * the actor, the atom fires, the bridge pushes to the router, and a second
107
116
  * `syncActorFromRouter` call starts before the first one returns.
108
117
  *
109
118
  * The flag is NOT the echo suppression of the direction from the actor to the
@@ -175,6 +184,13 @@ export declare abstract class RouterBridgeBase implements MountableRouterBridge
175
184
  * the echo suppression therefore keeps comparing like with like.
176
185
  */
177
186
  private mount;
187
+ /**
188
+ * The caches that every parse and every compilation of this bridge reads.
189
+ *
190
+ * `resolveNavigationPath` and `isActorAtPath` parse a CONCRETE location, and an
191
+ * application writes one for each value that it puts in a param.
192
+ */
193
+ protected readonly compileOptions: CompileOptions;
178
194
  /**
179
195
  * @param actor - A `RoutableActor`, with `currentRoute`, `initialRoute`, and `send`.
180
196
  * @param routeMap - The route map of both directions, for the resolution between a
@@ -187,7 +203,7 @@ export declare abstract class RouterBridgeBase implements MountableRouterBridge
187
203
  constructor(actor: RoutableActor, routeMap: {
188
204
  getStateIdByPath(path: string): string | null | undefined;
189
205
  getPathByStateId(id: string): string | null | undefined;
190
- }, options?: BasePathOptions);
206
+ }, options?: RouterBridgeOptions);
191
207
  /**
192
208
  * The resolved URL prefix that the machine of this bridge is mounted under, or `""`
193
209
  * when the machine owns the complete router.
@@ -297,7 +313,7 @@ export declare abstract class RouterBridgeBase implements MountableRouterBridge
297
313
  /**
298
314
  * Connects the router bridge to the Actor.
299
315
  *
300
- * The method installs the TC39 Signal watcher of the direction from the actor to the
316
+ * The method installs the atom watcher of the direction from the actor to the
301
317
  * router. It then starts the watch of the router changes, which each framework does
302
318
  * in its own way.
303
319
  *
@@ -341,12 +357,12 @@ export declare abstract class RouterBridgeBase implements MountableRouterBridge
341
357
  /**
342
358
  * Disconnects the router bridge from the Actor.
343
359
  *
344
- * The method stops the watch of the signal, and it removes the router listener of the
360
+ * The method stops the watch of the atom, and it removes the router listener of the
345
361
  * framework.
346
362
  */
347
363
  disconnect(): void;
348
364
  /**
349
- * Writes the location of the router when the route signal of the actor changes.
365
+ * Writes the location of the router when the route atom of the actor changes.
350
366
  *
351
367
  * The method resolves the actor route to a concrete URL path, then it calls
352
368
  * navigateRouter() for the navigation of the framework. When it cannot resolve the
@@ -441,8 +457,9 @@ export declare abstract class RouterBridgeBase implements MountableRouterBridge
441
457
  * pattern, for a wildcard pattern, and for an unknown id, the method skips the push
442
458
  * completely: a push of the raw value writes a stateId, a `:param` pattern, or a
443
459
  * literal `*` into the browser URL. The method still writes the raw route to
444
- * lastSyncedPath. Therefore the dedup guard fires correctly on the next identical
445
- * value of the signal.
460
+ * lastActorRoute, and it leaves lastSyncedPath as it stands, because that field
461
+ * records a LOCATION and no location changed. Therefore the dedup guard fires
462
+ * correctly on the next identical value of the atom.
446
463
  *
447
464
  * @param route - The raw value of the actor route.
448
465
  * @param resolved - The concrete path of that route. The default resolves it here. A
@@ -470,16 +487,14 @@ export declare abstract class RouterBridgeBase implements MountableRouterBridge
470
487
  /**
471
488
  * Reads the path parameters of a URL, with the URLPattern API.
472
489
  *
473
- * The method reads `globalThis.URLPattern` at run time, because this library imports
474
- * no polyfill. When `URLPattern` is absent and the route of the match holds a
475
- * parameterized segment, the method throws a `URLPatternUnavailableError`. A caller
476
- * must therefore give a polyfill in an environment without the native URLPattern:
477
- * Node.js < 24, and an older browser.
490
+ * The API is always present: `@xmachines/play-router` uses the native URLPattern of the
491
+ * runtime, and it falls back to `urlpattern-polyfill`, which it carries as an ordinary
492
+ * dependency. A consumer therefore loads nothing, whatever the runtime.
478
493
  *
479
494
  * @param pathname - The real URL path, for example '/profile/john'
480
495
  * @param stateId - The stateId of the match, for the lookup of the route pattern
481
496
  * @returns The path parameters of the read, or an empty object when nothing matches
482
- * @throws {URLPatternUnavailableError} When URLPattern is absent and the route holds a parameter
497
+ * @throws {InvalidRoutePatternError} When URLPattern cannot compile the route pattern
483
498
  */
484
499
  protected extractParams(pathname: string, stateId: string): Record<string, string>;
485
500
  /**
@@ -493,6 +508,9 @@ export declare abstract class RouterBridgeBase implements MountableRouterBridge
493
508
  * `/docs/*`, because no concrete value is available for a real URL
494
509
  * - a string that is no path and no known stateId
495
510
  *
511
+ * A LITERAL route of the map comes back with each escape resolved: `/tags/c\+\+` gives
512
+ * the path `/tags/c++`, which is the path that the route matches.
513
+ *
496
514
  * A lookup of a stateId tries the form `"#stateId"` and the bare form `"stateId"`,
497
515
  * through `lookupPathByStateId`. Therefore a route map of your own that holds one
498
516
  * form only still resolves the path.
@@ -507,7 +525,7 @@ export declare abstract class RouterBridgeBase implements MountableRouterBridge
507
525
  */
508
526
  protected resolveNavigationPath(route: string): string | null;
509
527
  /**
510
- * Tells you whether the actor already stands at a location of the router.
528
+ * Tells you whether the actor already stands on the PATH of a location of the router.
511
529
  *
512
530
  * The `currentRoute` of the actor can be a stateId, for example `"#app.home"`, while a
513
531
  * location of the router is a URL path, for example `"/home"`. Therefore the method
@@ -516,24 +534,41 @@ export declare abstract class RouterBridgeBase implements MountableRouterBridge
516
534
  * `takeReturnUnderMount`, it reads a location that the HOST chose as a restore of the
517
535
  * actor and writes over it.
518
536
  *
519
- * The actor is at the location in three cases: the stateId of the match IS the actor
537
+ * The actor is on the path in three cases: the stateId of the match IS the actor
520
538
  * route, the path of the match IS the actor route, or the actor route is a stateId
521
539
  * that resolves to the same registered path as the stateId of the match. Each lookup
522
540
  * goes through {@link lookupPathByStateId}, which tries the form `"#stateId"` and also
523
541
  * the bare form `"stateId"`. Therefore a route map with `"#about"` recognizes an actor
524
542
  * route of `"about"`, and the opposite also works, and this is correct for a
525
- * structural map of your own that holds one form. An actor route with a concrete path,
526
- * which starts with `"/"`, goes to a direct comparison with the path of the router
527
- * only.
543
+ * structural map of your own that holds one form.
544
+ *
545
+ * An actor route with a concrete path, which starts with `"/"`, goes to a direct
546
+ * comparison of the pathname against `machinePath`. That comparison runs BEFORE the
547
+ * map, because a location the map does not hold is still a location the actor can
548
+ * stand on.
549
+ *
550
+ * The QUERY is a question of its own, and {@link sameQuery} answers it. Each caller
551
+ * asks BOTH, and the two answers do different work. "The two sides are in step" needs
552
+ * the path AND the query, so a router that carries the only query is a deep link that
553
+ * the actor has to follow — for a stateId route as much as for a path route. The
554
+ * RESTORE needs the path, beside `carriesNoOwnSuffix`: an actor that stands here and
555
+ * carries no query and no fragment of its own has nothing to put in the address bar,
556
+ * and a push would only rewrite the location the user opened.
557
+ *
558
+ * A query that the ACTOR carries is a difference that this branch still reads as a
559
+ * restore, so an actor at `/?ref=nav` wins against a router at `/?other=1`. `main`
560
+ * answers the same way, and whether that is a deep link or a restore is a decision
561
+ * about the rule: issue #18 carries it, and a test pins the behaviour.
528
562
  *
529
- * Each lookup runs ONE time. `getPathByStateId` belongs to the route map: a map of a
530
- * consumer can answer differently on a second call, and `RouteMap` pays a cache lookup
531
- * for each of them.
563
+ * Each lookup runs ONE time, and a caller that needs both answers calls this method
564
+ * one time too. `getPathByStateId` belongs to the route map: a map of a consumer can
565
+ * answer differently on a second call, and `RouteMap` pays a cache lookup for each of
566
+ * them.
532
567
  *
533
- * @param machinePath - The machine half of the location of the router.
534
- * @param actorRoute - The raw value of the actor route.
568
+ * @param machinePath - The machine half of the location of the router, with no query.
569
+ * @param actorRoute - The raw value of the actor route. It CAN carry a query.
535
570
  */
536
- private isActorAtLocation;
571
+ private isActorAtPath;
537
572
  /**
538
573
  * Returns the path of the route map for a value of an actor route, and it tries both
539
574
  * forms of a stateId.
@@ -565,10 +600,10 @@ export declare abstract class RouterBridgeBase implements MountableRouterBridge
565
600
  * callback reports the pathname and the search SEPARATELY, and `sanitizePathname`
566
601
  * removes the query. A comparison of the pathname alone therefore misses for every
567
602
  * route with a query, and the push of this bridge comes back as a `play.route` event
568
- * of its own navigation. That echo is not only wasted work: it writes to the signal
569
- * graph from inside the watcher callback of the actor route, and the watcher then
570
- * arms itself again on a computed that is dirty already, which ends the direction
571
- * from the actor to the router for the rest of the session.
603
+ * of its own navigation. That echo is not only wasted work: the bridge sends a
604
+ * `play.route` for a location that the actor stands on already, so every entry action
605
+ * of that state runs a second time, and a guard that refuses the repeat moves the
606
+ * actor to a state that no user asked for.
572
607
  *
573
608
  * The query is compared as a MAP, and not as a string: a framework can re-serialize
574
609
  * a search string in another order, and `URLSearchParams` also accepts the form with
@@ -1 +1 @@
1
- {"version":3,"file":"router-bridge-base.d.ts","sourceRoot":"","sources":["../src/router-bridge-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router-bridge-base.d.ts","sourceRoot":"","sources":["../src/router-bridge-base.ts"],"names":[],"mappings":"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"}