diff options
Diffstat (limited to 'std/node/_fs/_fs_rename.ts')
-rw-r--r-- | std/node/_fs/_fs_rename.ts | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/std/node/_fs/_fs_rename.ts b/std/node/_fs/_fs_rename.ts new file mode 100644 index 000000000..ee7c00977 --- /dev/null +++ b/std/node/_fs/_fs_rename.ts @@ -0,0 +1,23 @@ +import { fromFileUrl } from "../path.ts"; + +export function rename( + oldPath: string | URL, + newPath: string | URL, + callback: (err?: Error) => void, +) { + oldPath = oldPath instanceof URL ? fromFileUrl(oldPath) : oldPath; + newPath = newPath instanceof URL ? fromFileUrl(newPath) : newPath; + + if (!callback) throw new Error("No callback function supplied"); + + Deno.rename(oldPath, newPath) + .then((_) => callback()) + .catch(callback); +} + +export function renameSync(oldPath: string | URL, newPath: string | URL) { + oldPath = oldPath instanceof URL ? fromFileUrl(oldPath) : oldPath; + newPath = newPath instanceof URL ? fromFileUrl(newPath) : newPath; + + Deno.renameSync(oldPath, newPath); +} |