Skip to content

Commit ffa7ac6

Browse files
committed
feat: use better type for Node adapters (fs.FilePath)
1 parent 97c9455 commit ffa7ac6

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

src/adapters/node/JSONFile.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1+
import { PathLike } from 'fs'
2+
13
import { Adapter, SyncAdapter } from '../../core/Low.js'
24
import { TextFile, TextFileSync } from './TextFile.js'
35

46
export class JSONFile<T> implements Adapter<T> {
57
#adapter: TextFile
68

7-
constructor(filename: string) {
9+
constructor(filename: PathLike) {
810
this.#adapter = new TextFile(filename)
911
}
1012

@@ -25,7 +27,7 @@ export class JSONFile<T> implements Adapter<T> {
2527
export class JSONFileSync<T> implements SyncAdapter<T> {
2628
#adapter: TextFileSync
2729

28-
constructor(filename: string) {
30+
constructor(filename: PathLike) {
2931
this.#adapter = new TextFileSync(filename)
3032
}
3133

src/adapters/node/TextFile.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import { Writer } from 'steno'
77
import { Adapter, SyncAdapter } from '../../core/Low.js'
88

99
export class TextFile implements Adapter<string> {
10-
#filename: string
10+
#filename: fs.PathLike
1111
#writer: Writer
1212

13-
constructor(filename: string) {
13+
constructor(filename: fs.PathLike) {
1414
this.#filename = filename
1515
this.#writer = new Writer(filename)
1616
}
@@ -36,15 +36,13 @@ export class TextFile implements Adapter<string> {
3636
}
3737

3838
export class TextFileSync implements SyncAdapter<string> {
39-
#tempFilename: string
40-
#filename: string
39+
#tempFilename: fs.PathLike
40+
#filename: fs.PathLike
4141

42-
constructor(filename: string) {
42+
constructor(filename: fs.PathLike) {
4343
this.#filename = filename
44-
this.#tempFilename = path.join(
45-
path.dirname(filename),
46-
`.${path.basename(filename)}.tmp`,
47-
)
44+
const f = filename.toString()
45+
this.#tempFilename = path.join(path.dirname(f), `.${path.basename(f)}.tmp`)
4846
}
4947

5048
read(): string | null {

0 commit comments

Comments
 (0)