1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-11 10:07:54 -05:00
denoland-deno/ext/node/polyfills/_fs/_fs_realpath.ts
Bartek Iwańczuk 72fe9bb470
refactor: rename InternalModuleLoader to ExtModuleLoader, use ext: scheme for snapshotted modules (#18041)
This commit renames "deno_core::InternalModuleLoader" to
"ExtModuleLoader" and changes the specifiers used by the 
modules loaded from this loader to "ext:".

"internal:" scheme was really ambiguous and it's more characters than
"ext:", which should result in slightly smaller snapshot size.

Closes https://github.com/denoland/deno/issues/18020
2023-03-08 12:44:54 +01:00

35 lines
853 B
TypeScript

// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
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;