// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. import { sendSync, sendAsync } from "./dispatch_json.ts"; import * as dispatch from "./dispatch.ts"; import * as util from "./util.ts"; import { build } from "./build.ts"; /** Synchronously creates `newname` as a symbolic link to `oldname`. The type * argument can be set to `dir` or `file` and is only available on Windows * (ignored on other platforms). * * Deno.symlinkSync("old/name", "new/name"); */ export function symlinkSync( oldname: string, newname: string, type?: string ): void { if (build.os === "win" && type) { return util.notImplemented(); } sendSync(dispatch.OP_SYMLINK, { oldname, newname }); } /** Creates `newname` as a symbolic link to `oldname`. The type argument can be * set to `dir` or `file` and is only available on Windows (ignored on other * platforms). * * await Deno.symlink("old/name", "new/name"); */ export async function symlink( oldname: string, newname: string, type?: string ): Promise { if (build.os === "win" && type) { return util.notImplemented(); } await sendAsync(dispatch.OP_SYMLINK, { oldname, newname }); }