Skip to content

Commit f0e48d4

Browse files
committed
Only require what we use from the Storage interface
1 parent c68fdc8 commit f0e48d4

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

src/index.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ function shouldResumeField(field: HTMLInputElement | HTMLTextAreaElement): boole
55
return !!field.id && field.value !== field.defaultValue && field.form !== submittedForm
66
}
77

8-
type PersistOptions = {selector?: string; keyPrefix?: string; storage?: Storage}
8+
type PersistOptions = {
9+
selector?: string
10+
keyPrefix?: string
11+
storage?: Pick<Storage, 'getItem' | 'setItem'>
12+
}
913

1014
// Write all ids and values of the selected fields on the page into sessionStorage.
1115
export function persistResumableFields(id: string, options?: PersistOptions): void {
@@ -42,7 +46,7 @@ export function persistResumableFields(id: string, options?: PersistOptions): vo
4246
}
4347
}
4448

45-
type RestoreOptions = {keyPrefix?: string; storage?: Storage}
49+
type RestoreOptions = {keyPrefix?: string; storage?: Pick<Storage, 'getItem' | 'setItem' | 'removeItem'>}
4650

4751
export function restoreResumableFields(id: string, options?: RestoreOptions): void {
4852
const keyPrefix = options?.keyPrefix ?? 'session-resume:'

0 commit comments

Comments
 (0)