mirror of
https://github.com/denoland/deno.git
synced 2024-10-31 09:14:20 -04:00
1b6f831875
Following JS ops were moved to separate files in cli/js/ops directory: - compiler - dispatch_json - dispatch_minimal - errors - fetch - fs_events - os - random - repl - resources - runtime_compiler - runtime - tty
33 lines
1.2 KiB
TypeScript
33 lines
1.2 KiB
TypeScript
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
|
|
import { sendSync, sendAsync } from "./ops/dispatch_json.ts";
|
|
|
|
export interface RemoveOptions {
|
|
/** Defaults to `false`. If set to `true`, path will be removed even if
|
|
* it's a non-empty directory. */
|
|
recursive?: boolean;
|
|
}
|
|
|
|
/** Synchronously removes the named file or directory. Throws error if
|
|
* permission denied, path not found, or path is a non-empty directory and
|
|
* the `recursive` option isn't set to `true`.
|
|
*
|
|
* Deno.removeSync("/path/to/dir/or/file", { recursive: false });
|
|
*
|
|
* Requires `allow-write` permission. */
|
|
export function removeSync(path: string, options: RemoveOptions = {}): void {
|
|
sendSync("op_remove", { path, recursive: !!options.recursive });
|
|
}
|
|
|
|
/** Removes the named file or directory. Throws error if permission denied,
|
|
* path not found, or path is a non-empty directory and the `recursive`
|
|
* option isn't set to `true`.
|
|
*
|
|
* await Deno.remove("/path/to/dir/or/file", { recursive: false });
|
|
*
|
|
* Requires `allow-write` permission. */
|
|
export async function remove(
|
|
path: string,
|
|
options: RemoveOptions = {}
|
|
): Promise<void> {
|
|
await sendAsync("op_remove", { path, recursive: !!options.recursive });
|
|
}
|