Skip to content

Commit e05050f

Browse files
committed
refactor providers
1 parent 0a66f31 commit e05050f

File tree

5 files changed

+60
-67
lines changed

5 files changed

+60
-67
lines changed

packages/browser/src/provider/BaseProvider.ts

Lines changed: 0 additions & 26 deletions
This file was deleted.

packages/browser/src/provider/StorageProvider.ts

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,37 @@
1-
import { BaseProvider } from './BaseProvider.js'
21
import type { Steno } from '../types.js'
32

4-
export class StorageProvider<T> extends BaseProvider<T> {
3+
export class StorageProvider<T> {
54
#adapter: Steno.BrowserAdapter<T>
65

76
constructor(adapter: Steno.BrowserAdapter<T>) {
8-
super(adapter)
97
this.#adapter = adapter
108
}
119

10+
get data(): T | null {
11+
return this.#adapter.data
12+
}
13+
14+
set data(data: T | null) {
15+
this.#adapter.data = data
16+
}
17+
18+
get initialData(): T | null {
19+
return this.#adapter.initialData
20+
}
21+
22+
set initialData(data: T | undefined | null) {
23+
if (!data) return
24+
this.#adapter.initialData = data
25+
}
26+
1227
read(): T | null {
1328
this.#adapter.read()
1429

15-
if (!this.data) {
30+
if (!this.#adapter.data) {
1631
this.reset()
1732
}
1833

19-
return this.data
34+
return this.#adapter.data
2035
}
2136

2237
write(): void {

packages/node/src/provider/AsyncProvider.ts

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,37 @@
11
import { AsyncAdapter } from '../index.js'
2-
import { BaseProvider } from './BaseProvider.js'
32

4-
export class AsyncProvider<T> extends BaseProvider<T> {
3+
export class AsyncProvider<T> {
54
#adapter: AsyncAdapter<T>
65

76
constructor(adapter: AsyncAdapter<T>) {
8-
super(adapter)
97
this.#adapter = adapter
108
}
119

10+
get data(): T | null {
11+
return this.#adapter.data
12+
}
13+
14+
set data(data: T | null) {
15+
this.#adapter.data = data
16+
}
17+
18+
get initialData(): T | null {
19+
return this.#adapter.initialData
20+
}
21+
22+
set initialData(data: T | undefined | null) {
23+
if (!data) return
24+
this.#adapter.initialData = data
25+
}
26+
1227
async read(): Promise<T | null> {
1328
await this.#adapter.read()
1429

15-
if (!this.data) {
30+
if (!this.#adapter.data) {
1631
await this.reset()
1732
}
1833

19-
return this.data
34+
return this.#adapter.data
2035
}
2136

2237
async write(): Promise<void> {

packages/node/src/provider/BaseProvider.ts

Lines changed: 0 additions & 26 deletions
This file was deleted.

packages/node/src/provider/SyncProvider.ts

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,37 @@
11
import { SyncAdapter } from '../index.js'
2-
import { BaseProvider } from './BaseProvider.js'
32

4-
export class SyncProvider<T> extends BaseProvider<T> {
3+
export class SyncProvider<T> {
54
#adapter: SyncAdapter<T>
65

76
constructor(adapter: SyncAdapter<T>) {
8-
super(adapter)
97
this.#adapter = adapter
108
}
119

10+
get data(): T | null {
11+
return this.data
12+
}
13+
14+
set data(data: T | null) {
15+
this.#adapter.data = data
16+
}
17+
18+
get initialData(): T | null {
19+
return this.#adapter.initialData
20+
}
21+
22+
set initialData(data: T | undefined | null) {
23+
if (!data) return
24+
this.#adapter.initialData = data
25+
}
26+
1227
read(): T | null {
1328
this.#adapter.read()
1429

15-
if (!this.data) {
30+
if (!this.#adapter.data) {
1631
this.reset()
1732
}
1833

19-
return this.data
34+
return this.#adapter.data
2035
}
2136

2237
write(): void {

0 commit comments

Comments
 (0)