diff options
Diffstat (limited to 'ext/node/polyfills/internal/fs')
-rw-r--r-- | ext/node/polyfills/internal/fs/handle.ts | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/ext/node/polyfills/internal/fs/handle.ts b/ext/node/polyfills/internal/fs/handle.ts new file mode 100644 index 000000000..a369a4a4d --- /dev/null +++ b/ext/node/polyfills/internal/fs/handle.ts @@ -0,0 +1,31 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +import { EventEmitter } from "ext:deno_node/events.ts"; +import { Buffer } from "ext:deno_node/buffer.ts"; +import { promises } from "ext:deno_node/fs.ts"; +import { + BinaryOptionsArgument, + FileOptionsArgument, + TextOptionsArgument, +} from "ext:deno_node/_fs/_fs_common.ts"; + +export class FileHandle extends EventEmitter { + #rid: number; + constructor(rid: number) { + super(); + this.rid = rid; + } + + get fd() { + return this.rid; + } + + readFile( + opt?: TextOptionsArgument | BinaryOptionsArgument | FileOptionsArgument, + ): Promise<string | Buffer> { + return promises.readFile(this, opt); + } +} + +export default { + FileHandle, +}; |