@equinor/fusion-framework-module-navigation 7.0.4 → 7.0.5

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 (141) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/esm/NavigateEvent.js +24 -0
  3. package/dist/esm/NavigateEvent.js.map +1 -0
  4. package/dist/esm/NavigatedEvent.js +20 -0
  5. package/dist/esm/NavigatedEvent.js.map +1 -0
  6. package/dist/esm/NavigationConfigurator.js +13 -1
  7. package/dist/esm/NavigationConfigurator.js.map +1 -1
  8. package/dist/esm/NavigationProvider.js +8 -2
  9. package/dist/esm/NavigationProvider.js.map +1 -1
  10. package/dist/esm/enable-navigation.js +1 -0
  11. package/dist/esm/enable-navigation.js.map +1 -1
  12. package/dist/esm/index.js +2 -1
  13. package/dist/esm/index.js.map +1 -1
  14. package/dist/esm/lib/BaseHistory.js +9 -0
  15. package/dist/esm/lib/BaseHistory.js.map +1 -1
  16. package/dist/esm/lib/BrowserHistory.js +1 -0
  17. package/dist/esm/lib/BrowserHistory.js.map +1 -1
  18. package/dist/esm/lib/BrowserHistoryHashStack.js +1 -0
  19. package/dist/esm/lib/BrowserHistoryHashStack.js.map +1 -1
  20. package/dist/esm/lib/BrowserHistoryStack.js +15 -0
  21. package/dist/esm/lib/BrowserHistoryStack.js.map +1 -1
  22. package/dist/esm/lib/MemoryHistory.js +4 -1
  23. package/dist/esm/lib/MemoryHistory.js.map +1 -1
  24. package/dist/esm/lib/{MemoryStack.js → MemoryHistoryStack.js} +12 -1
  25. package/dist/esm/lib/MemoryHistoryStack.js.map +1 -0
  26. package/dist/esm/lib/ProxyHistory.js +1 -0
  27. package/dist/esm/lib/ProxyHistory.js.map +1 -1
  28. package/dist/esm/lib/create-history.js +1 -0
  29. package/dist/esm/lib/create-history.js.map +1 -1
  30. package/dist/esm/lib/index.js +1 -1
  31. package/dist/esm/lib/index.js.map +1 -1
  32. package/dist/esm/lib/state/{history.actions.js → actions.js} +1 -1
  33. package/dist/esm/lib/state/actions.js.map +1 -0
  34. package/dist/esm/lib/state/check-blockers.js +36 -0
  35. package/dist/esm/lib/state/check-blockers.js.map +1 -0
  36. package/dist/esm/lib/state/create-flow.js +27 -0
  37. package/dist/esm/lib/state/create-flow.js.map +1 -0
  38. package/dist/esm/lib/state/{history.reducer.js → create-history-reducer.js} +5 -2
  39. package/dist/esm/lib/state/create-history-reducer.js.map +1 -0
  40. package/dist/esm/lib/state/create-store.js +26 -0
  41. package/dist/esm/lib/state/create-store.js.map +1 -0
  42. package/dist/esm/lib/state/flow-creators.js +7 -0
  43. package/dist/esm/lib/state/flow-creators.js.map +1 -0
  44. package/dist/esm/lib/state/go.js +12 -0
  45. package/dist/esm/lib/state/go.js.map +1 -0
  46. package/dist/esm/lib/state/history.state.js +1 -39
  47. package/dist/esm/lib/state/history.state.js.map +1 -1
  48. package/dist/esm/lib/state/index.js +3 -3
  49. package/dist/esm/lib/state/index.js.map +1 -1
  50. package/dist/esm/lib/state/navigate.js +43 -0
  51. package/dist/esm/lib/state/navigate.js.map +1 -0
  52. package/dist/esm/lib/state/pop.js +14 -0
  53. package/dist/esm/lib/state/pop.js.map +1 -0
  54. package/dist/esm/lib/state/validate-current-location.js +26 -0
  55. package/dist/esm/lib/state/validate-current-location.js.map +1 -0
  56. package/dist/esm/lib/utils/index.js +2 -2
  57. package/dist/esm/lib/utils/index.js.map +1 -1
  58. package/dist/esm/lib/utils/resolve-browser-location.js +1 -52
  59. package/dist/esm/lib/utils/resolve-browser-location.js.map +1 -1
  60. package/dist/esm/lib/utils/resolve-hash-location.js +20 -0
  61. package/dist/esm/lib/utils/resolve-hash-location.js.map +1 -0
  62. package/dist/esm/lib/utils/resolve-window-location.js +18 -0
  63. package/dist/esm/lib/utils/resolve-window-location.js.map +1 -0
  64. package/dist/esm/version.js +1 -1
  65. package/dist/tsconfig.tsbuildinfo +1 -1
  66. package/dist/types/NavigateEvent.d.ts +36 -0
  67. package/dist/types/NavigatedEvent.d.ts +28 -0
  68. package/dist/types/NavigationConfigurator.d.ts +3 -0
  69. package/dist/types/NavigationProvider.d.ts +3 -0
  70. package/dist/types/index.d.ts +2 -1
  71. package/dist/types/lib/BaseHistory.d.ts +8 -0
  72. package/dist/types/lib/BrowserHistoryHashStack.d.ts +1 -0
  73. package/dist/types/lib/BrowserHistoryStack.d.ts +14 -0
  74. package/dist/types/lib/MemoryHistory.d.ts +3 -0
  75. package/dist/types/lib/{MemoryStack.d.ts → MemoryHistoryStack.d.ts} +6 -0
  76. package/dist/types/lib/ProxyHistory.d.ts +1 -1
  77. package/dist/types/lib/index.d.ts +1 -1
  78. package/dist/types/lib/state/check-blockers.d.ts +3 -0
  79. package/dist/types/lib/state/create-flow.d.ts +10 -0
  80. package/dist/types/lib/state/{history.reducer.d.ts → create-history-reducer.d.ts} +32 -32
  81. package/dist/types/lib/state/create-store.d.ts +17 -0
  82. package/dist/types/lib/state/flow-creators.d.ts +7 -0
  83. package/dist/types/lib/state/go.d.ts +3 -0
  84. package/dist/types/lib/state/history.state.d.ts +2 -23
  85. package/dist/types/lib/state/index.d.ts +4 -3
  86. package/dist/types/lib/state/navigate.d.ts +9 -0
  87. package/dist/types/lib/state/pop.d.ts +3 -0
  88. package/dist/types/lib/state/validate-current-location.d.ts +3 -0
  89. package/dist/types/lib/types.d.ts +1 -1
  90. package/dist/types/lib/utils/index.d.ts +2 -2
  91. package/dist/types/lib/utils/resolve-browser-location.d.ts +1 -42
  92. package/dist/types/lib/utils/resolve-hash-location.d.ts +10 -0
  93. package/dist/types/lib/utils/resolve-window-location.d.ts +10 -0
  94. package/dist/types/version.d.ts +1 -1
  95. package/package.json +8 -8
  96. package/src/NavigateEvent.ts +47 -0
  97. package/src/NavigatedEvent.ts +35 -0
  98. package/src/NavigationConfigurator.ts +13 -3
  99. package/src/NavigationProvider.interface.ts +1 -1
  100. package/src/NavigationProvider.ts +8 -2
  101. package/src/enable-navigation.ts +1 -0
  102. package/src/index.ts +2 -6
  103. package/src/lib/BaseHistory.ts +9 -0
  104. package/src/lib/BrowserHistory.ts +1 -0
  105. package/src/lib/BrowserHistoryHashStack.ts +1 -0
  106. package/src/lib/BrowserHistoryStack.ts +15 -0
  107. package/src/lib/MemoryHistory.ts +4 -1
  108. package/src/lib/{MemoryStack.ts → MemoryHistoryStack.ts} +11 -0
  109. package/src/lib/ProxyHistory.ts +2 -1
  110. package/src/lib/create-history.ts +1 -0
  111. package/src/lib/index.ts +1 -1
  112. package/src/lib/state/check-blockers.ts +52 -0
  113. package/src/lib/state/create-flow.ts +36 -0
  114. package/src/lib/state/{history.reducer.ts → create-history-reducer.ts} +4 -1
  115. package/src/lib/state/create-store.ts +39 -0
  116. package/src/lib/state/flow-creators.ts +7 -0
  117. package/src/lib/state/go.ts +20 -0
  118. package/src/lib/state/history.state.ts +2 -56
  119. package/src/lib/state/index.ts +4 -3
  120. package/src/lib/state/navigate.ts +58 -0
  121. package/src/lib/state/pop.ts +24 -0
  122. package/src/lib/state/validate-current-location.ts +33 -0
  123. package/src/lib/types.ts +1 -1
  124. package/src/lib/utils/index.ts +2 -2
  125. package/src/lib/utils/resolve-browser-location.ts +1 -60
  126. package/src/lib/utils/resolve-hash-location.ts +26 -0
  127. package/src/lib/utils/resolve-window-location.ts +24 -0
  128. package/src/version.ts +1 -1
  129. package/dist/esm/events.js +0 -40
  130. package/dist/esm/events.js.map +0 -1
  131. package/dist/esm/lib/MemoryStack.js.map +0 -1
  132. package/dist/esm/lib/state/history.actions.js.map +0 -1
  133. package/dist/esm/lib/state/history.flows.js +0 -207
  134. package/dist/esm/lib/state/history.flows.js.map +0 -1
  135. package/dist/esm/lib/state/history.reducer.js.map +0 -1
  136. package/dist/types/events.d.ts +0 -65
  137. package/dist/types/lib/state/history.flows.d.ts +0 -97
  138. package/src/events.ts +0 -82
  139. package/src/lib/state/history.flows.ts +0 -274
  140. /package/dist/types/lib/state/{history.actions.d.ts → actions.d.ts} +0 -0
  141. /package/src/lib/state/{history.actions.ts → actions.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Change Log
2
2
 
3
+ ## 7.0.5
4
+
5
+ ### Patch Changes
6
+
7
+ - 80c3e4a: Internal: add a required fusion-lint intent comment explaining an `as unknown as History` cast in `NavigationProvider`. No behavior change.
8
+ - 80c3e4a: Internal: added a tracking issue reference to the `@remix-run/router` removal TODO comment per fusion-lint's `no-todo-without-issue` rule; no public API changes.
9
+ - 80c3e4a: Internal: renamed 3 source files to comply with the `filename-convention` lint rule (`history.reducer.ts` → `create-history-reducer.ts`, and the two `adapter.ts` files in telemetry → `ApplicationInsightsAdapter.ts`/`ConsoleAdapter.ts`). No public API changes.
10
+ - 80c3e4a: Internal: renamed 45 source files across these packages to comply with the `filename-convention` lint rule (e.g. `AIConfigurator.ts` → `AiConfigurator.ts`, `BookmarkProvider.actions.ts` → `bookmark-actions.ts`, `errors/app-build-error.ts` → `errors/AppBuildError.ts`, `plugins/api/plugin.ts` → `plugins/api/ApiPlugin.ts`, `errors.ts` → `UnsupportedApiVersion.ts`, etc.). Also added `enable-signalr.ts` to the `filename-convention` exclude list since the suggested rename would incorrectly split the "SignalR" brand name. No public API changes.
11
+ - 80c3e4a: Internal: added missing intent comments ahead of non-obvious control flow, RxJS `.pipe()` chains, iterator calls, and multi-source object merges to comply with the `require-intent-comment` and `require-tsdoc` lint rules. Also removed dead duplicate files left over from an earlier refactor in `navigation` (`events.ts`, `navigated-event.ts`, `history.flows.ts` — all fully superseded by their split replacements) and renamed `bookmarks/schemas.ts` to `bookmarks/bookmark.schemas.ts` in `services` to match the `*.schemas.ts` filename convention. No public API changes.
12
+
3
13
  ## 7.0.4
4
14
 
5
15
  ### Patch Changes
@@ -0,0 +1,24 @@
1
+ import { FrameworkEvent } from '@equinor/fusion-framework-module-event';
2
+ /**
3
+ * Event emitted before navigation occurs.
4
+ * Can be canceled by calling `preventDefault()` to block the navigation.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * eventProvider.addEventListener('onNavigate', (event) => {
9
+ * if (hasUnsavedChanges) {
10
+ * event.preventDefault();
11
+ * }
12
+ * });
13
+ * ```
14
+ */
15
+ export class NavigateEvent extends FrameworkEvent {
16
+ /** @param detail - Navigation target details. @param source - Provider dispatching the event. */
17
+ constructor(detail, source) {
18
+ super('onNavigate', {
19
+ detail,
20
+ source,
21
+ });
22
+ }
23
+ }
24
+ //# sourceMappingURL=NavigateEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigateEvent.js","sourceRoot":"","sources":["../../src/NavigateEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA2B,MAAM,wCAAwC,CAAC;AAajG;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,aAAc,SAAQ,cAElC;IACC,iGAAiG;IACjG,YAAY,MAA2B,EAAE,MAA2B;QAClE,KAAK,CAAC,YAAY,EAAE;YAClB,MAAM;YACN,MAAM;SACP,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ import { FrameworkEvent } from '@equinor/fusion-framework-module-event';
2
+ /**
3
+ * Event emitted after navigation completes.
4
+ * Contains the navigation action type and both current and previous locations.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * eventProvider.addEventListener('onNavigated', (event) => {
9
+ * const { action, current, previous } = event.detail;
10
+ * console.log(`${action}: ${previous.location.pathname} -> ${current.location.pathname}`);
11
+ * });
12
+ * ```
13
+ */
14
+ export class NavigatedEvent extends FrameworkEvent {
15
+ /** @param detail - Completed navigation details. @param source - Provider dispatching the event. */
16
+ constructor(detail, source) {
17
+ super('onNavigated', { detail, source });
18
+ }
19
+ }
20
+ //# sourceMappingURL=NavigatedEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigatedEvent.js","sourceRoot":"","sources":["../../src/NavigatedEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA2B,MAAM,wCAAwC,CAAC;AAejG;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,cAAe,SAAQ,cAEnC;IACC,oGAAoG;IACpG,YAAY,MAA4B,EAAE,MAA2B;QACnE,KAAK,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;CACF"}
@@ -43,19 +43,23 @@ const parseNavigationConfig = (config) => {
43
43
  * Extends BaseConfigBuilder to provide fluent configuration API with Zod validation.
44
44
  */
45
45
  export class NavigationConfigurator extends BaseConfigBuilder {
46
+ /** Creates a navigation configurator with default history and event providers. */
46
47
  constructor() {
47
48
  super();
48
49
  this.setEventProvider(async (args) => {
50
+ // Only resolve the optional provider when the event module participates in this framework.
49
51
  if (args.hasModule('event')) {
50
52
  return await args.requireInstance('event');
51
53
  }
52
54
  });
53
55
  this.setHistory(async (args) => {
54
56
  const history = args.ref?.navigation?.history;
57
+ // Wrap supplied history so the module owns only the proxy lifecycle.
55
58
  if (history) {
56
59
  // Wrap the provided history in a ProxyHistory to ensure the module can manage its own teardowns without affecting the original instance.
57
60
  return new ProxyHistory(history);
58
61
  }
62
+ // Prefer browser history when a DOM is available, otherwise use memory history for SSR.
59
63
  if (typeof window !== 'undefined') {
60
64
  return createHistory('browser');
61
65
  }
@@ -66,8 +70,10 @@ export class NavigationConfigurator extends BaseConfigBuilder {
66
70
  }
67
71
  /**
68
72
  * @deprecated Use `setBasename()` method instead
73
+ * @param value - Deprecated basename value to configure.
69
74
  */
70
75
  set basename(value) {
76
+ // Warn only during development so deprecated setters remain silent in production.
71
77
  if (process.env.NODE_ENV === 'development') {
72
78
  console.warn('NavigationConfigurator.basename', 'use setBasename() method instead');
73
79
  }
@@ -75,8 +81,10 @@ export class NavigationConfigurator extends BaseConfigBuilder {
75
81
  }
76
82
  /**
77
83
  * @deprecated Use `setHistory()` method instead
84
+ * @param value - Deprecated history value to configure.
78
85
  */
79
86
  set history(value) {
87
+ // Warn only during development so deprecated setters remain silent in production.
80
88
  if (process.env.NODE_ENV === 'development') {
81
89
  console.warn('NavigationConfigurator.history', 'use setHistory() method instead');
82
90
  }
@@ -114,10 +122,14 @@ export class NavigationConfigurator extends BaseConfigBuilder {
114
122
  ? historyOrCallback
115
123
  : // Normalize a direct instance to a callback for consistent handling.
116
124
  async () => historyOrCallback;
125
+ // Proxying isolates teardown ownership when callers provide an existing history instance.
117
126
  if (proxy) {
118
127
  // Wrap each emitted history in a ProxyHistory so dispose only tears down
119
128
  // proxy-owned listeners/blockers, never the underlying history itself.
120
- this._set('history', (args) => from(resolve(args)).pipe(map((history) => (history ? new ProxyHistory(history) : undefined))));
129
+ this._set('history', (args) => from(resolve(args))
130
+ // Transform each resolved history into an independently disposable proxy.
131
+ .pipe(map((history) => (history ? new ProxyHistory(history) : undefined))));
132
+ // Direct histories are already owned by the navigation module and can be used unchanged.
121
133
  }
122
134
  else {
123
135
  this._set('history', resolve);
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationConfigurator.js","sourceRoot":"","sources":["../../src/NavigationConfigurator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NavigationConfigurator.js","sourceRoot":"","sources":["../../src/NavigationConfigurator.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- // TODO: Remove @remix-run/router dependency once all apps have migrated to @equinor/fusion-framework-react-router
1
+ // TODO(#5158): Remove @remix-run/router dependency once all apps have migrated to @equinor/fusion-framework-react-router
2
2
  import { createRouter } from '@remix-run/router';
3
3
  import { filter, pairwise, shareReplay } from 'rxjs/operators';
4
4
  import { BaseModuleProvider, } from '@equinor/fusion-framework-module/provider';
5
5
  import { TelemetryLevel, TelemetryScope, } from '@equinor/fusion-framework-module-telemetry';
6
- import { NavigatedEvent } from './events';
6
+ import { NavigatedEvent } from './NavigatedEvent';
7
7
  import { pathToString } from './lib/utils';
8
8
  /**
9
9
  * Normalizes a pathname by:
@@ -46,6 +46,7 @@ export class NavigationProvider extends BaseModuleProvider {
46
46
  #event;
47
47
  /**
48
48
  * Observable stream of navigation state updates.
49
+ * @returns Observable of navigation updates.
49
50
  *
50
51
  * Emits localized paths (with basename removed) and filters to only
51
52
  * paths within the basename scope. Late subscribers receive the last
@@ -64,6 +65,7 @@ export class NavigationProvider extends BaseModuleProvider {
64
65
  }
65
66
  /**
66
67
  * @deprecated Use `history` instead
68
+ * @returns The underlying `History` instance.
67
69
  */
68
70
  get navigator() {
69
71
  this.#telemetry?.trackException({
@@ -76,6 +78,7 @@ export class NavigationProvider extends BaseModuleProvider {
76
78
  }
77
79
  /**
78
80
  * Gets the underlying history instance.
81
+ * @returns The {@link History} instance used for navigation
79
82
  *
80
83
  * @returns The {@link History} instance used for navigation
81
84
  */
@@ -186,6 +189,9 @@ export class NavigationProvider extends BaseModuleProvider {
186
189
  level: TelemetryLevel.Warning,
187
190
  scope: ['navigation', 'deprecated', TelemetryScope.Application],
188
191
  });
192
+ // `this.#history` is typed as the framework's minimal history interface, but Remix Router
193
+ // requires its own richer `History` type — the two are runtime-compatible, so cast through
194
+ // `unknown`.
189
195
  const router = createRouter({
190
196
  basename: this.#basename,
191
197
  history: this.#history,
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationProvider.js","sourceRoot":"","sources":["../../src/NavigationProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NavigationProvider.js","sourceRoot":"","sources":["../../src/NavigationProvider.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,7 @@ configurator, basenameOrOptions) => {
39
39
  configurator.addConfig({
40
40
  module,
41
41
  configure(config, ref) {
42
+ // A string shortcut sets the basename directly; otherwise defer to the caller's configure callback.
42
43
  if (typeof basenameOrOptions === 'string') {
43
44
  config.setBasename(basenameOrOptions);
44
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"enable-navigation.js","sourceRoot":"","sources":["../../src/enable-navigation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAyB,MAAM,UAAU,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;AAC9B,sFAAsF;AACtF,YAA4C,EAC5C,iBAIK,EACC,EAAE;IACR,YAAY,CAAC,SAAS,CAAC;QACrB,MAAM;QACN,SAAS,CAAC,MAAM,EAAE,GAAG;YACnB,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;gBAC1C,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,WAAW,IAAI,iBAAiB,EAAE,CAAC;gBACrF,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"enable-navigation.js","sourceRoot":"","sources":["../../src/enable-navigation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAyB,MAAM,UAAU,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;AAC9B,sFAAsF;AACtF,YAA4C,EAC5C,iBAIK,EACC,EAAE;IACR,YAAY,CAAC,SAAS,CAAC;QACrB,MAAM;QACN,SAAS,CAAC,MAAM,EAAE,GAAG;YACnB,oGAAoG;YACpG,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;gBAC1C,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,WAAW,IAAI,iBAAiB,EAAE,CAAC;gBACrF,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
package/dist/esm/index.js CHANGED
@@ -26,5 +26,6 @@ export { module, moduleKey } from './module';
26
26
  export { enableNavigation } from './enable-navigation';
27
27
  export { NavigationProvider } from './NavigationProvider';
28
28
  export { createHistory } from './lib/create-history';
29
- export { NavigateEvent, NavigatedEvent, } from './events';
29
+ export { NavigateEvent } from './NavigateEvent';
30
+ export { NavigatedEvent } from './NavigatedEvent';
30
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAoB,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EACL,aAAa,EACb,cAAc,GAGf,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAoB,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,aAAa,EAA4B,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAA6B,MAAM,kBAAkB,CAAC"}
@@ -32,12 +32,14 @@ export class BaseHistory {
32
32
  /**
33
33
  * Observable stream of navigation state changes.
34
34
  * Emits on all navigation events (push, replace, pop).
35
+ * @returns Observable of the current navigation update.
35
36
  */
36
37
  get state$() {
37
38
  return this.#state.subject.select((state) => state.current);
38
39
  }
39
40
  /**
40
41
  * Observable stream of navigation actions.
42
+ * @returns Observable of navigation actions.
41
43
  */
42
44
  get action$() {
43
45
  return this.#state.subject.action$;
@@ -50,6 +52,7 @@ export class BaseHistory {
50
52
  get hasBlockers() {
51
53
  return this.#state.subject.value.blockers.length > 0;
52
54
  }
55
+ /** @param state - Reactive history state backing this implementation. */
53
56
  constructor(state) {
54
57
  this.#state = state;
55
58
  }
@@ -92,12 +95,16 @@ export class BaseHistory {
92
95
  }
93
96
  /**
94
97
  * Pushes a new location onto the history stack.
98
+ * @param to - Target path or partial path object.
99
+ * @param state - Optional state associated with the new location.
95
100
  */
96
101
  push(to, state) {
97
102
  this.navigate(to, { state });
98
103
  }
99
104
  /**
100
105
  * Replaces the current location in the history stack.
106
+ * @param to - Target path or partial path object.
107
+ * @param state - Optional state associated with the replacement location.
101
108
  */
102
109
  replace(to, state) {
103
110
  this.navigate(to, { replace: true, state });
@@ -151,6 +158,7 @@ export class BaseHistory {
151
158
  };
152
159
  return this._addTeardown(removeBlocker, { executeOnRemove: true });
153
160
  }
161
+ /** Triggers a POP action for the current history location. */
154
162
  pop() {
155
163
  this.#state.subject.next(this.#state.actions.pop());
156
164
  }
@@ -185,6 +193,7 @@ export class BaseHistory {
185
193
  _addTeardown(teardown, options) {
186
194
  this.#teardowns.add(teardown);
187
195
  return () => {
196
+ // Execute teardown callbacks immediately when callers explicitly request removal side effects.
188
197
  if (options?.executeOnRemove) {
189
198
  typeof teardown === 'function' ? teardown() : teardown.unsubscribe();
190
199
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseHistory.js","sourceRoot":"","sources":["../../../src/lib/BaseHistory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseHistory.js","sourceRoot":"","sources":["../../../src/lib/BaseHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAIxC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAWjC;;;;;;GAMG;AACH,MAAM,OAAgB,WAAW;IAC/B,4BAA4B;IAC5B,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;IAEhC,iBAAiB;IACjB,MAAM,CAAe;IAErB;;;;OAIG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,yEAAyE;IACzE,YAAsB,KAAmB;QACvC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAC,EAAM;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACI,SAAS,CAAC,EAAM;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,EAAM;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,EAAM,EAAE,OAAwB;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,EAAM,EAAE,KAAe;QACjC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACI,OAAO,CAAC,EAAM,EAAE,KAAe;QACpC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACI,EAAE,CAAC,KAAa;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;;OAUG;IACI,MAAM,CAAC,QAA4B;QACxC,uEAAuE;QACvE,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;aACrC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;aAChC,IAAI,CACH,MAAM,CAAC,CAAC,MAAM,EAA0C,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,CACzF;aACA,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YACpB,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEL,+CAA+C;QAC/C,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAEhC,8BAA8B;QAC9B,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,WAAW,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAA0B;QACrC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,8DAA8D;IACvD,GAAG;QACR,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACI,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACO,SAAS,CAAC,MAAe;QACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;;OAUG;IACO,YAAY,CACpB,QAAqC,EACrC,OAAsC;QAEtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE;YACV,+FAA+F;YAC/F,IAAI,OAAO,EAAE,eAAe,EAAE,CAAC;gBAC7B,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACvE,CAAC;YACD,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACO,eAAe,CAAC,QAAqC;QAC7D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;CACF"}
@@ -38,6 +38,7 @@ export class BrowserHistory extends BaseHistory {
38
38
  // Use provided stack or default to BrowserHistoryStack
39
39
  const Stack = options.stack ?? BrowserHistoryStack;
40
40
  const browserWindow = options.window ?? document.defaultView;
41
+ // Fail fast without a window since the browser stack depends on the DOM history API.
41
42
  if (!browserWindow) {
42
43
  throw new Error('Window is required');
43
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserHistory.js","sourceRoot":"","sources":["../../../src/lib/BrowserHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,MAAM,EAA6C,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAErE;;;GAGG;AACH,MAAM,cAAc,GAAG,CAAC,KAAwB,EAAE,EAAE;IAClD,KAAK,CAAC,cAAc,EAAE,CAAC;IACvB,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;AACzB,CAAC,CAAC;AAqBF;;;;;;GAMG;AACH,MAAM,OAAO,cAAe,SAAQ,WAAW;IAC7C,OAAO,CAAS;IAChB;;;;;;;;;;OAUG;IACH,YAAY,UAAiC,EAAE;QAC7C,uDAAuD;QACvD,MAAM,KAAK,GAAqB,OAAO,CAAC,KAAK,IAAI,mBAAmB,CAAC;QACrE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,WAAW,CAAC;QAC7D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,gDAAgD;QAChD,MAAM,KAAK,GAAG,WAAW,CACvB,IAAI,KAAK,CAAC,aAAa,CAAC,EACxB,oBAAoB,CAAC;YACnB,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,MAAM,CAAC,GAAG;YAClB,QAAQ,EAAE,qBAAqB,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC;SACtE,CAAC,CACH,CAAC;QACF,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;QAE7B,qDAAqD;QACrD,kEAAkE;QAClE,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,YAAY,uBAAuB,CAAC;QACrE,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;QAE5D,gEAAgE;QAChE,kDAAkD;QAClD,IAAI,CAAC,YAAY,CACf,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC;aAChC,IAAI,CACH,GAAG,CAAC,GAAG,EAAE;YACP,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;YACrC,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,CACH;aACA,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACxC,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACa,KAAK,CAAC,OAA0B;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,qDAAqD;QACrD,2DAA2D;QAC3D,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,GAAG,EAAE;YACV,OAAO,EAAE,CAAC;YACV,qDAAqD;YACrD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"BrowserHistory.js","sourceRoot":"","sources":["../../../src/lib/BrowserHistory.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ import { resolveHashLocation, resolvePath, pathToString } from './utils';
16
16
  export class BrowserHistoryHashStack extends BrowserHistoryStack {
17
17
  /**
18
18
  * Gets the current location from window.location.hash.
19
+ * @returns The current hash-derived navigation location.
19
20
  */
20
21
  get current() {
21
22
  return resolveHashLocation(this._window);
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserHistoryHashStack.js","sourceRoot":"","sources":["../../../src/lib/BrowserHistoryHashStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEzE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,uBAAwB,SAAQ,mBAAmB;IAC9D;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACa,SAAS,CAAC,EAAM;QAC9B,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;QACtE,iDAAiD;QACjD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC;QAEpB,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"BrowserHistoryHashStack.js","sourceRoot":"","sources":["../../../src/lib/BrowserHistoryHashStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEzE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,uBAAwB,SAAQ,mBAAmB;IAC9D;;;OAGG;IACH,IAAW,OAAO;QAChB,OAAO,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACa,SAAS,CAAC,EAAM;QAC9B,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;QACtE,iDAAiD;QACjD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC;QAEpB,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
@@ -22,34 +22,41 @@ export class BrowserHistoryStack {
22
22
  }
23
23
  /**
24
24
  * Gets the origin of the history stack.
25
+ * @returns The browser origin used as the URL base.
25
26
  */
26
27
  get origin() {
27
28
  return this._window.location.origin;
28
29
  }
29
30
  /**
30
31
  * Gets the current location.
32
+ * @returns The current browser location converted to a navigation location.
31
33
  */
32
34
  get current() {
33
35
  return resolveWindowLocation(this._window);
34
36
  }
35
37
  /**
36
38
  * Pushes a new entry onto the history stack.
39
+ * @param location - Location to append to browser history.
37
40
  */
38
41
  push(location) {
39
42
  this.navigate(location, 'PUSH');
40
43
  }
41
44
  /**
42
45
  * Replaces the current entry in the history stack.
46
+ * @param location - Location to replace in browser history.
43
47
  */
44
48
  replace(location) {
45
49
  this.navigate(location, 'REPLACE');
46
50
  }
47
51
  /**
48
52
  * Navigates to a location with the specified action.
53
+ * @param location - Location to navigate to.
54
+ * @param action - Native history action to perform.
49
55
  */
50
56
  navigate(location, action) {
51
57
  const relativePath = this._createRelativePath(location);
52
58
  const state = { value: location.state, key: location.key };
59
+ // Select the native operation matching the requested navigation action.
53
60
  if (action === 'PUSH') {
54
61
  this._window.history.pushState(state, '', relativePath);
55
62
  }
@@ -59,16 +66,24 @@ export class BrowserHistoryStack {
59
66
  }
60
67
  /**
61
68
  * Navigates backward or forward in the history stack.
69
+ * @param delta - Number of entries to move backward or forward.
62
70
  */
63
71
  go(delta) {
64
72
  this._window.history.go(delta);
65
73
  }
66
74
  /**
67
75
  * Creates a URL object for a given path.
76
+ * @param to - Target path or partial path object.
77
+ * @returns URL resolved against the browser origin.
68
78
  */
69
79
  createURL(to) {
70
80
  return new URL(pathToString(resolvePath(to)), this.origin);
71
81
  }
82
+ /**
83
+ * Creates the relative URL path used by native browser history.
84
+ * @param to - Target path or partial path object.
85
+ * @returns Relative URL path for browser history.
86
+ */
72
87
  _createRelativePath(to) {
73
88
  return pathToString(this.createURL(to));
74
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserHistoryStack.js","sourceRoot":"","sources":["../../../src/lib/BrowserHistoryStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAG3E;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,mBAAmB;IAIQ;IAHtC;;OAEG;IACH,YAAsC,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAEzD;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,IAAI,CAAC,QAAkB;QAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,OAAO,CAAC,QAAkB;QAC/B,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,QAAkB,EAAE,MAA0B;QAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC3D,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;OAEG;IACI,EAAE,CAAC,KAAa;QACrB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,EAAM;QACrB,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAES,mBAAmB,CAAC,EAAM;QAClC,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF"}
1
+ {"version":3,"file":"BrowserHistoryStack.js","sourceRoot":"","sources":["../../../src/lib/BrowserHistoryStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAG3E;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,mBAAmB;IAIQ,OAAO;IAH7C;;OAEG;IACH,YAAsC,OAAe;uBAAf,OAAO;IAAW,CAAC;IAEzD;;;OAGG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,IAAW,OAAO;QAChB,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACI,IAAI,CAAC,QAAkB;QAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,QAAkB;QAC/B,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,QAAkB,EAAE,MAA0B;QAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC3D,wEAAwE;QACxE,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,EAAE,CAAC,KAAa;QACrB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,EAAM;QACrB,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACO,mBAAmB,CAAC,EAAM;QAClC,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  import { Action } from './types';
2
2
  import { pathToString, resolvePath } from './utils';
3
- import { MemoryHistoryStack } from './MemoryStack';
3
+ import { MemoryHistoryStack } from './MemoryHistoryStack';
4
4
  import { BaseHistory } from './BaseHistory';
5
5
  import { createHistoryReducer, createStore } from './state';
6
6
  /**
@@ -28,6 +28,7 @@ const defaultInitialLocation = {
28
28
  * - **Node.js** — any environment without browser history APIs
29
29
  */
30
30
  export class MemoryHistory extends BaseHistory {
31
+ /** @param options - Optional initial location and history entries. */
31
32
  constructor(options) {
32
33
  const { initialLocation, initialHistory } = options ?? {};
33
34
  const initial = initialLocation ?? defaultInitialLocation;
@@ -45,6 +46,8 @@ export class MemoryHistory extends BaseHistory {
45
46
  }
46
47
  /**
47
48
  * Creates a URL object for a given path using memory:// origin.
49
+ * @param to - Target path or partial path object.
50
+ * @returns URL resolved against memory://.
48
51
  */
49
52
  createURL(to) {
50
53
  const path = pathToString(resolvePath(to));
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryHistory.js","sourceRoot":"","sources":["../../../src/lib/MemoryHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,MAAM,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE5D;;GAEG;AACH,MAAM,sBAAsB,GAAqB;IAC/C,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,MAAM,CAAC,GAAG;IAClB,QAAQ,EAAE;QACR,QAAQ,EAAE,GAAG;QACb,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,IAAI;QACX,aAAa,EAAE,SAAS;KACzB;CACF,CAAC;AAYF;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,YAAmB,OAA8B;QAC/C,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,eAAe,IAAI,sBAAsB,CAAC;QAE1D,0CAA0C;QAC1C,MAAM,YAAY,GAAkB;YAClC,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,cAAc,IAAI,CAAC,OAAO,CAAC;YACpC,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,kCAAkC;QAClC,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzF,0CAA0C;QAC1C,MAAM,KAAK,GAAG,WAAW,CACvB,KAAK,EACL,oBAAoB,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAC9D,CAAC;QAEF,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,EAAM;QACrB,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACpC,CAAC;CACF"}
1
+ {"version":3,"file":"MemoryHistory.js","sourceRoot":"","sources":["../../../src/lib/MemoryHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,MAAM,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE5D;;GAEG;AACH,MAAM,sBAAsB,GAAqB;IAC/C,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,MAAM,CAAC,GAAG;IAClB,QAAQ,EAAE;QACR,QAAQ,EAAE,GAAG;QACb,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,IAAI;QACX,aAAa,EAAE,SAAS;KACzB;CACF,CAAC;AAYF;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,sEAAsE;IACtE,YAAmB,OAA8B;QAC/C,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,eAAe,IAAI,sBAAsB,CAAC;QAE1D,0CAA0C;QAC1C,MAAM,YAAY,GAAkB;YAClC,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,cAAc,IAAI,CAAC,OAAO,CAAC;YACpC,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,kCAAkC;QAClC,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzF,0CAA0C;QAC1C,MAAM,KAAK,GAAG,WAAW,CACvB,KAAK,EACL,oBAAoB,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAC9D,CAAC;QAEF,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,EAAM;QACrB,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACpC,CAAC;CACF"}
@@ -11,12 +11,14 @@ export class MemoryHistoryStack {
11
11
  /**
12
12
  * Gets the origin of the history stack.
13
13
  * Always returns 'memory://' for in-memory storage.
14
+ * @returns The fixed origin used for in-memory URLs.
14
15
  */
15
16
  get origin() {
16
17
  return 'memory://';
17
18
  }
18
19
  /**
19
20
  * Gets the current location.
21
+ * @returns The current in-memory navigation location.
20
22
  */
21
23
  get current() {
22
24
  return this.#current;
@@ -41,6 +43,7 @@ export class MemoryHistoryStack {
41
43
  * Pushes a new entry onto the history stack.
42
44
  *
43
45
  * Only updates the current location. History entries are managed by the reducer.
46
+ * @param location - Location to make current.
44
47
  */
45
48
  push(location) {
46
49
  this.#current = location;
@@ -49,6 +52,7 @@ export class MemoryHistoryStack {
49
52
  * Replaces the current entry in the history stack.
50
53
  *
51
54
  * Only updates the current location. History entries are managed by the reducer.
55
+ * @param location - Location to make current.
52
56
  */
53
57
  replace(location) {
54
58
  this.#current = location;
@@ -66,9 +70,12 @@ export class MemoryHistoryStack {
66
70
  const { history, current } = state;
67
71
  const currentLocation = current.location ?? this.#current;
68
72
  // Find current location in history by key
73
+ // Locate the current entry so relative navigation can preserve stack boundaries.
69
74
  const currentIndex = history.findIndex((entry) => entry.location.key === currentLocation.key);
70
75
  // If current location not found, use last entry
76
+ // Fall back to the newest entry when the stack cannot identify the current location.
71
77
  if (currentIndex === -1) {
78
+ // Restore the latest known entry when the history cannot locate the current key.
72
79
  if (history.length > 0) {
73
80
  this.#current = history[history.length - 1].location;
74
81
  }
@@ -76,8 +83,10 @@ export class MemoryHistoryStack {
76
83
  }
77
84
  // Calculate target index and clamp to valid range
78
85
  const newIndex = currentIndex + delta;
86
+ // Clamp the destination to the available history range.
79
87
  if (newIndex < 0) {
80
88
  this.#current = state.history[0].location;
89
+ // Use the oldest entry when navigation moves beyond the end of the stack.
81
90
  }
82
91
  else if (newIndex >= state.history.length) {
83
92
  this.#current = state.history[state.history.length - 1].location;
@@ -90,10 +99,12 @@ export class MemoryHistoryStack {
90
99
  * Creates a URL object for a given path.
91
100
  *
92
101
  * All URLs use the 'memory://' origin since this is in-memory storage.
102
+ * @param to - Target path or partial path object.
103
+ * @returns URL resolved against memory://.
93
104
  */
94
105
  createURL(to) {
95
106
  const path = resolvePath(to);
96
107
  return new URL(pathToString(path), this.origin);
97
108
  }
98
109
  }
99
- //# sourceMappingURL=MemoryStack.js.map
110
+ //# sourceMappingURL=MemoryHistoryStack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryHistoryStack.js","sourceRoot":"","sources":["../../../src/lib/MemoryHistoryStack.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;IAC7B,QAAQ,CAAW;IAEnB;;;;OAIG;IACH,IAAI,MAAM;QACR,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,YAAY,OAAwC;QAClD,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,eAAe,IAAI;YAC1C,QAAQ,EAAE,GAAG;YACb,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,EAAE;YACP,aAAa,EAAE,SAAS;SACzB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,QAAkB;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,QAAkB;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;;;;;OAQG;IACH,EAAE,CAAC,KAAa,EAAE,KAA8B;QAC9C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QACnC,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QAC1D,0CAA0C;QAC1C,iFAAiF;QACjF,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,eAAe,CAAC,GAAG,CAAC,CAAC;QAE9F,gDAAgD;QAChD,qFAAqF;QACrF,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,iFAAiF;YACjF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;YACvD,CAAC;YACD,OAAO;QACT,CAAC;QAED,kDAAkD;QAClD,MAAM,QAAQ,GAAG,YAAY,GAAG,KAAK,CAAC;QACtC,wDAAwD;QACxD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC1C,0EAA0E;QAC5E,CAAC;aAAM,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC5C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,EAAM;QACd,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QAC7B,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;CACF"}
@@ -81,6 +81,7 @@ export class ProxyHistory {
81
81
  * instance; otherwise this is a no-op.
82
82
  */
83
83
  pop() {
84
+ // Only BaseHistory implementations expose pop(); anything else is a no-op.
84
85
  if ('pop' in this.#target && typeof this.#target.pop === 'function') {
85
86
  this.#target.pop();
86
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyHistory.js","sourceRoot":"","sources":["../../../src/lib/ProxyHistory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProxyHistory.js","sourceRoot":"","sources":["../../../src/lib/ProxyHistory.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ import { BrowserHistoryHashStack } from './BrowserHistoryHashStack';
23
23
  * ```
24
24
  */
25
25
  export const createHistory = (type, ...args) => {
26
+ // Dispatch to the history implementation matching the requested type.
26
27
  switch (type) {
27
28
  case 'memory':
28
29
  return new MemoryHistory(...args);
@@ -1 +1 @@
1
- {"version":3,"file":"create-history.js","sourceRoot":"","sources":["../../../src/lib/create-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6B,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAA8B,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAQpE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAO,EACP,GAAG,IAAmC,EACP,EAAE;IACjC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,IAAI,aAAa,CAAC,GAAI,IAA+B,CAE3D,CAAC;QACJ,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAyC,CAAC;YAChE,OAAO,IAAI,cAAc,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAEnE,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAyC,CAAC;YAChE,OAAO,IAAI,cAAc,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAEvE,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"create-history.js","sourceRoot":"","sources":["../../../src/lib/create-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6B,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAA8B,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAQpE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAO,EACP,GAAG,IAAmC,EACP,EAAE;IACjC,sEAAsE;IACtE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,IAAI,aAAa,CAAC,GAAI,IAA+B,CAE3D,CAAC;QACJ,KAAK,SAAS,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAyC,CAAC;YAChE,OAAO,IAAI,cAAc,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAEnE,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAyC,CAAC;YAChE,OAAO,IAAI,cAAc,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAEvE,CAAC;QACJ,CAAC;QACD,SAAS,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
@@ -15,5 +15,5 @@ export { ProxyHistory } from './ProxyHistory';
15
15
  // History stacks
16
16
  export { BrowserHistoryStack } from './BrowserHistoryStack';
17
17
  export { BrowserHistoryHashStack as HashHistoryStack } from './BrowserHistoryHashStack';
18
- export { MemoryHistoryStack } from './MemoryStack';
18
+ export { MemoryHistoryStack } from './MemoryHistoryStack';
19
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,0BAA0B;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,iBAAiB;AACjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,0BAA0B;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,iBAAiB;AACjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}