summaryrefslogtreecommitdiff
path: root/std/node/_fs/_fs_realpath.ts
diff options
context:
space:
mode:
authorX <git@iamje.com>2020-11-03 02:11:42 +0800
committerGitHub <noreply@github.com>2020-11-02 19:11:42 +0100
commit6d63391a380976ee4c5577d8efe449afede66f36 (patch)
tree7429ce425ea07b125dbd7ba6addd7cd7f69a09c2 /std/node/_fs/_fs_realpath.ts
parent397fec63d1bacabd2b8e48bd30a1727003a7a72b (diff)
feat(std/node/fs): add realpath and realpathSync (#8169)
Diffstat (limited to 'std/node/_fs/_fs_realpath.ts')
-rw-r--r--std/node/_fs/_fs_realpath.ts22
1 files changed, 22 insertions, 0 deletions
diff --git a/std/node/_fs/_fs_realpath.ts b/std/node/_fs/_fs_realpath.ts
new file mode 100644
index 000000000..586a87cfc
--- /dev/null
+++ b/std/node/_fs/_fs_realpath.ts
@@ -0,0 +1,22 @@
+type Options = { encoding: string };
+type Callback = (err: Error | null, path?: string) => void;
+
+export function realpath(
+ path: string,
+ options?: Options | Callback,
+ callback?: Callback,
+) {
+ if (typeof options === "function") {
+ callback = options;
+ }
+ if (!callback) {
+ throw new Error("No callback function supplied");
+ }
+ Deno.realPath(path)
+ .then((path) => callback!(null, path))
+ .catch((err) => callback!(err));
+}
+
+export function realpathSync(path: string): string {
+ return Deno.realPathSync(path);
+}