diff options
author | Chris Knight <cknight1234@gmail.com> | 2020-03-12 14:12:27 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-12 10:12:27 -0400 |
commit | cabe63eb05f334bc9921dc8633b254b05519b434 (patch) | |
tree | 4e6ad72e742a2acca605c0cf253e1f97586ce9da /std/node/_fs/_fs_dirent.ts | |
parent | 3ed6ccc905394ed9c5d9cbcb8fa2426151780788 (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.ts | 41 |
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; + } +} |