diff options
Diffstat (limited to 'cli/js/symlink.ts')
-rw-r--r-- | cli/js/symlink.ts | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/cli/js/symlink.ts b/cli/js/symlink.ts new file mode 100644 index 000000000..21ebb2f59 --- /dev/null +++ b/cli/js/symlink.ts @@ -0,0 +1,39 @@ +// Copyright 2018-2019 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<void> { + if (build.os === "win" && type) { + return util.notImplemented(); + } + await sendAsync(dispatch.OP_SYMLINK, { oldname, newname }); +} |