summaryrefslogtreecommitdiff
path: root/std/node/_fs/_fs_stat.ts
diff options
context:
space:
mode:
authorLiam Murphy <43807659+Liamolucko@users.noreply.github.com>2021-01-26 23:34:40 +1100
committerGitHub <noreply@github.com>2021-01-26 13:34:40 +0100
commit06bd692e5c4a8f66960d3919e7087530b60c20dd (patch)
tree54da22655c71341c0e1e750d5197623e4fa0e286 /std/node/_fs/_fs_stat.ts
parentf9949a31707dcaa5a8786bfe4f84ed202be91607 (diff)
fix(std/node): Stop callbacks being called twice when callback throws error (#8867)
Diffstat (limited to 'std/node/_fs/_fs_stat.ts')
-rw-r--r--std/node/_fs/_fs_stat.ts14
1 files changed, 7 insertions, 7 deletions
diff --git a/std/node/_fs/_fs_stat.ts b/std/node/_fs/_fs_stat.ts
index 3ca2a9918..4f7903d16 100644
--- a/std/node/_fs/_fs_stat.ts
+++ b/std/node/_fs/_fs_stat.ts
@@ -234,11 +234,11 @@ export function CFISBIS(fileInfo: Deno.FileInfo, bigInt: boolean) {
}
export type statCallbackBigInt = (
- err: Error | undefined,
+ err: Error | null,
stat: BigIntStats,
) => void;
-export type statCallback = (err: Error | undefined, stat: Stats) => void;
+export type statCallback = (err: Error | null, stat: Stats) => void;
export function stat(path: string | URL, callback: statCallback): void;
export function stat(
@@ -260,8 +260,7 @@ export function stat(
(typeof optionsOrCallback === "function"
? optionsOrCallback
: maybeCallback) as (
- err: Error | undefined,
- stat: BigIntStats | Stats,
+ ...args: [Error] | [null, BigIntStats | Stats]
) => void;
const options = typeof optionsOrCallback === "object"
? optionsOrCallback
@@ -269,9 +268,10 @@ export function stat(
if (!callback) throw new Error("No callback function supplied");
- Deno.stat(path)
- .then((stat) => callback(undefined, CFISBIS(stat, options.bigint)))
- .catch((err) => callback(err, err));
+ Deno.stat(path).then(
+ (stat) => callback(null, CFISBIS(stat, options.bigint)),
+ (err) => callback(err),
+ );
}
export function statSync(path: string | URL): Stats;