deno.land / std@0.166.0 / node / _fs / _fs_symlink.ts
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.import { CallbackWithError } from "./_fs_common.ts";import { fromFileUrl } from "../path.ts";import { promisify } from "../internal/util.mjs";
type SymlinkType = "file" | "dir";
export function symlink( target: string | URL, path: string | URL, typeOrCallback: SymlinkType | CallbackWithError, maybeCallback?: CallbackWithError,) { target = target instanceof URL ? fromFileUrl(target) : target; path = path instanceof URL ? fromFileUrl(path) : path;
const type: SymlinkType = typeof typeOrCallback === "string" ? typeOrCallback : "file";
const callback: CallbackWithError = typeof typeOrCallback === "function" ? typeOrCallback : (maybeCallback as CallbackWithError);
if (!callback) throw new Error("No callback function supplied");
Deno.symlink(target, path, { type }).then(() => callback(null), callback);}
export const symlinkPromise = promisify(symlink) as ( target: string | URL, path: string | URL, type?: SymlinkType,) => Promise<void>;
export function symlinkSync( target: string | URL, path: string | URL, type?: SymlinkType,) { target = target instanceof URL ? fromFileUrl(target) : target; path = path instanceof URL ? fromFileUrl(path) : path; type = type || "file";
Deno.symlinkSync(target, path, { type });}
Version Info