blob: 4568748ba765e242419e382149e691ebc140c8e8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
// TODO(petamoriken): enable prefer-primordials for node polyfills
// deno-lint-ignore-file prefer-primordials
import { promisify } from "ext:deno_node/internal/util.mjs";
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),
(err) => callback!(err),
);
}
realpath.native = realpath;
export const realpathPromise = promisify(realpath) as (
path: string,
options?: Options,
) => Promise<string>;
export function realpathSync(path: string): string {
return Deno.realPathSync(path);
}
realpathSync.native = realpathSync;
|