diff --git a/Writer/File.ts b/Writer/File.ts index 207e4eb..76db2f5 100644 --- a/Writer/File.ts +++ b/Writer/File.ts @@ -37,10 +37,10 @@ export class File extends Writer { return result } protected override async writeImplementation(buffer: Enumerator): Promise { - let result = true - const content = buffer.reduce((r, item) => r + item, "") + let result: boolean + const content = Buffer.from(buffer.reduce((r, item) => r + item, "")) try { - const r = await fs.write(this.descriptor, content, null, "utf8") + const r = await fs.write(this.descriptor, content) result = r.bytesWritten == content.length } catch { result = false diff --git a/fs.browser.ts b/fs.browser.ts index dc13d43..e7b4455 100644 --- a/fs.browser.ts +++ b/fs.browser.ts @@ -1,15 +1,46 @@ +import * as fs from "node:fs" + async function close(fd: number): Promise {} async function fsync(fd: number): Promise {} async function open(path: string, flags: string | number, mode?: string | number | undefined | null): Promise { return 0 } + +async function write>( + fd: number, + buffer?: TBuffer, + offset?: number, + length?: number, + position?: number | null +): Promise<{ + bytesWritten: number + buffer: TBuffer +}> +async function write( + fd: number, + buffer?: TBuffer, + options?: fs.WriteOptions +): Promise<{ + bytesWritten: number + buffer: TBuffer +}> +async function write( + fd: number, + string: string, + position?: number | null, + encoding?: BufferEncoding | null +): Promise<{ + bytesWritten: number + buffer: string +}> async function write( fd: number, - buffer: Buffer | string, - offset: number | undefined | null, - encoding: "utf8" -): Promise<{ bytesWritten: number }> { - return { bytesWritten: 0 } + buffer?: Buffer | string, + offset?: fs.WriteOptions | number | undefined | null, + length?: BufferEncoding | number | undefined | null, + position?: number | null +): Promise<{ bytesWritten: number; buffer: Buffer | string }> { + return { bytesWritten: 0, buffer: Buffer.alloc(0) } } function lstatSync(