Skip to content

Commit 31b841d

Browse files
committed
goodbye magic strings + fixes
1 parent 0f4fa4b commit 31b841d

File tree

3 files changed

+13
-10
lines changed

3 files changed

+13
-10
lines changed

packages/core/src/history.ts

+8-5
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ import { Page } from './types'
44
const isServer = typeof window === 'undefined'
55

66
export class History {
7+
public static rememberedState = 'rememberedState'
8+
public static scrollRegions = 'scrollRegions'
9+
710
public static remember(data: unknown, key: string): void {
811
History.replaceState({
912
...currentPage.get(),
@@ -16,16 +19,16 @@ export class History {
1619

1720
public static restore(key: string): unknown {
1821
if (!isServer) {
19-
return this.getState<{ [key: string]: any }>('rememberedState', {})?.[key]
22+
return History.getState<{ [key: string]: any }>(History.rememberedState, {})?.[key]
2023
}
2124
}
2225

2326
public static pushState(page: Page): void {
24-
window.history.pushState(this.pageData(page), '', page.url)
27+
window.history.pushState(History.pageData(page), '', page.url)
2528
}
2629

2730
public static replaceState(page: Page): void {
28-
window.history.replaceState(this.pageData(page), '', page.url)
31+
window.history.replaceState(History.pageData(page), '', page.url)
2932
}
3033

3134
protected static pageData(page: Page): Omit<Page, 'meta'> {
@@ -39,7 +42,7 @@ export class History {
3942
}
4043

4144
public static getState<T>(key: string, defaultValue?: T): T {
42-
return window.history.state[key] ?? defaultValue
45+
return window.history.state?.[key] ?? defaultValue
4346
}
4447

4548
public static deleteState(key: string) {
@@ -49,7 +52,7 @@ export class History {
4952
}
5053

5154
public static hasAnyState(): boolean {
52-
return !!this.getAllState()
55+
return !!History.getAllState()
5356
}
5457

5558
public static getAllState(): any {

packages/core/src/response.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -147,10 +147,10 @@ export class Response {
147147
protected setRememberedState(pageResponse: Page): void {
148148
if (
149149
this.requestParams.params.preserveState &&
150-
History.getState('rememberedState') &&
150+
History.getState(History.rememberedState) &&
151151
pageResponse.component === currentPage.get().component
152152
) {
153-
pageResponse.rememberedState = History.getState('rememberedState')
153+
pageResponse.rememberedState = History.getState(History.rememberedState)
154154
}
155155
}
156156

packages/core/src/router.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ export class Router {
265265

266266
protected clearRememberedStateOnReload(): void {
267267
if (navigationType.isReload()) {
268-
History.deleteState('rememberedState')
268+
History.deleteState(History.rememberedState)
269269
}
270270
}
271271

@@ -307,8 +307,8 @@ export class Router {
307307
SessionStorage.remove()
308308

309309
currentPage.setUrlHash(window.location.hash)
310-
currentPage.remember(History.getState<Page['rememberedState']>('rememberedState', {}))
311-
currentPage.scrollRegions(History.getState<Page['scrollRegions']>('scrollRegions', []))
310+
currentPage.remember(History.getState<Page['rememberedState']>(History.rememberedState, {}))
311+
currentPage.scrollRegions(History.getState<Page['scrollRegions']>(History.scrollRegions, []))
312312

313313
currentPage
314314
.set(currentPage.get(), {

0 commit comments

Comments
 (0)