summaryrefslogtreecommitdiff
path: root/ext/node/polyfills/internal/fs
diff options
context:
space:
mode:
Diffstat (limited to 'ext/node/polyfills/internal/fs')
-rw-r--r--ext/node/polyfills/internal/fs/handle.ts31
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,
+};