summaryrefslogtreecommitdiff
path: root/std/node/_fs/_fs_dirent.ts
diff options
context:
space:
mode:
authorChris Knight <cknight1234@gmail.com>2020-03-12 14:12:27 +0000
committerGitHub <noreply@github.com>2020-03-12 10:12:27 -0400
commitcabe63eb05f334bc9921dc8633b254b05519b434 (patch)
tree4e6ad72e742a2acca605c0cf253e1f97586ce9da /std/node/_fs/_fs_dirent.ts
parent3ed6ccc905394ed9c5d9cbcb8fa2426151780788 (diff)
fix: Node polyfill fsAppend rework (#4322)
* My original implementation of `fs.appendFile` used an async API, which, though it would work fine as a polyfill, wasn't an exact match with the Node API. This PR reworks that API to mimic the Node API fully as a synchronous void function with an async internal implementation. * Refactor move of other internal fs `dirent` and `dir` classes to the _fs internal directory.
Diffstat (limited to 'std/node/_fs/_fs_dirent.ts')
-rw-r--r--std/node/_fs/_fs_dirent.ts41
1 files changed, 41 insertions, 0 deletions
diff --git a/std/node/_fs/_fs_dirent.ts b/std/node/_fs/_fs_dirent.ts
new file mode 100644
index 000000000..38cd23d88
--- /dev/null
+++ b/std/node/_fs/_fs_dirent.ts
@@ -0,0 +1,41 @@
+import { notImplemented } from "../_utils.ts";
+
+export default class Dirent {
+ constructor(private entry: Deno.FileInfo) {}
+
+ isBlockDevice(): boolean {
+ return this.entry.blocks != null;
+ }
+
+ isCharacterDevice(): boolean {
+ return this.entry.blocks == null;
+ }
+
+ isDirectory(): boolean {
+ return this.entry.isDirectory();
+ }
+
+ isFIFO(): boolean {
+ notImplemented(
+ "Deno does not yet support identification of FIFO named pipes"
+ );
+ return false;
+ }
+
+ isFile(): boolean {
+ return this.entry.isFile();
+ }
+
+ isSocket(): boolean {
+ notImplemented("Deno does not yet support identification of sockets");
+ return false;
+ }
+
+ isSymbolicLink(): boolean {
+ return this.entry.isSymlink();
+ }
+
+ get name(): string | null {
+ return this.entry.name;
+ }
+}