deno.land / std@0.166.0 / node / _fs / _fs_rm.ts

نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.import { validateRmOptions, validateRmOptionsSync,} from "../internal/fs/utils.mjs";import { denoErrorToNodeError } from "../internal/errors.ts";import { promisify } from "../internal/util.mjs";
type rmOptions = { force?: boolean; maxRetries?: number; recursive?: boolean; retryDelay?: number;};
type rmCallback = (err: Error | null) => void;
export function rm(path: string | URL, callback: rmCallback): void;export function rm( path: string | URL, options: rmOptions, callback: rmCallback,): void;export function rm( path: string | URL, optionsOrCallback: rmOptions | rmCallback, maybeCallback?: rmCallback,) { const callback = typeof optionsOrCallback === "function" ? optionsOrCallback : maybeCallback; const options = typeof optionsOrCallback === "object" ? optionsOrCallback : undefined;
if (!callback) throw new Error("No callback function supplied");
validateRmOptions( path, options, false, (err: Error | null, options: rmOptions) => { if (err) { return callback(err); } Deno.remove(path, { recursive: options?.recursive }) .then((_) => callback(null), (err: unknown) => { if (options?.force && err instanceof Deno.errors.NotFound) { callback(null); } else { callback( err instanceof Error ? denoErrorToNodeError(err, { syscall: "rm" }) : err, ); } }); }, );}
export const rmPromise = promisify(rm) as ( path: string | URL, options?: rmOptions,) => Promise<void>;
export function rmSync(path: string | URL, options?: rmOptions) { options = validateRmOptionsSync(path, options, false); try { Deno.removeSync(path, { recursive: options?.recursive }); } catch (err: unknown) { if (options?.force && err instanceof Deno.errors.NotFound) { return; } if (err instanceof Error) { throw denoErrorToNodeError(err, { syscall: "stat" }); } else { throw err; } }}
std

Version Info

Tagged at
a year ago