summaryrefslogtreecommitdiff
path: root/std/fs/ensure_symlink.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/fs/ensure_symlink.ts')
-rw-r--r--std/fs/ensure_symlink.ts72
1 files changed, 0 insertions, 72 deletions
diff --git a/std/fs/ensure_symlink.ts b/std/fs/ensure_symlink.ts
deleted file mode 100644
index 63ef6f162..000000000
--- a/std/fs/ensure_symlink.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import * as path from "../path/mod.ts";
-import { ensureDir, ensureDirSync } from "./ensure_dir.ts";
-import { exists, existsSync } from "./exists.ts";
-import { getFileInfoType } from "./_util.ts";
-import { isWindows } from "../_util/os.ts";
-
-/**
- * Ensures that the link exists.
- * If the directory structure does not exist, it is created.
- *
- * @param src the source file path
- * @param dest the destination link path
- */
-export async function ensureSymlink(src: string, dest: string): Promise<void> {
- const srcStatInfo = await Deno.lstat(src);
- const srcFilePathType = getFileInfoType(srcStatInfo);
-
- if (await exists(dest)) {
- const destStatInfo = await Deno.lstat(dest);
- const destFilePathType = getFileInfoType(destStatInfo);
- if (destFilePathType !== "symlink") {
- throw new Error(
- `Ensure path exists, expected 'symlink', got '${destFilePathType}'`,
- );
- }
- return;
- }
-
- await ensureDir(path.dirname(dest));
-
- const options: Deno.SymlinkOptions | undefined = isWindows
- ? {
- type: srcFilePathType === "dir" ? "dir" : "file",
- }
- : undefined;
-
- await Deno.symlink(src, dest, options);
-}
-
-/**
- * Ensures that the link exists.
- * If the directory structure does not exist, it is created.
- *
- * @param src the source file path
- * @param dest the destination link path
- */
-export function ensureSymlinkSync(src: string, dest: string): void {
- const srcStatInfo = Deno.lstatSync(src);
- const srcFilePathType = getFileInfoType(srcStatInfo);
-
- if (existsSync(dest)) {
- const destStatInfo = Deno.lstatSync(dest);
- const destFilePathType = getFileInfoType(destStatInfo);
- if (destFilePathType !== "symlink") {
- throw new Error(
- `Ensure path exists, expected 'symlink', got '${destFilePathType}'`,
- );
- }
- return;
- }
-
- ensureDirSync(path.dirname(dest));
-
- const options: Deno.SymlinkOptions | undefined = isWindows
- ? {
- type: srcFilePathType === "dir" ? "dir" : "file",
- }
- : undefined;
-
- Deno.symlinkSync(src, dest, options);
-}