From 06bd692e5c4a8f66960d3919e7087530b60c20dd Mon Sep 17 00:00:00 2001 From: Liam Murphy <43807659+Liamolucko@users.noreply.github.com> Date: Tue, 26 Jan 2021 23:34:40 +1100 Subject: fix(std/node): Stop callbacks being called twice when callback throws error (#8867) --- std/node/_fs/_fs_readdir.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'std/node/_fs/_fs_readdir.ts') diff --git a/std/node/_fs/_fs_readdir.ts b/std/node/_fs/_fs_readdir.ts index 9034eccf8..e36bf5ecf 100644 --- a/std/node/_fs/_fs_readdir.ts +++ b/std/node/_fs/_fs_readdir.ts @@ -11,13 +11,12 @@ type readDirOptions = { withFileTypes?: boolean; }; -type readDirCallback = (err: Error | undefined, files: string[]) => void; +type readDirCallback = (err: Error | null, files: string[]) => void; -type readDirCallbackDirent = (err: Error | undefined, files: Dirent[]) => void; +type readDirCallbackDirent = (err: Error | null, files: Dirent[]) => void; type readDirBoth = ( - err: Error | undefined, - files: string[] | Dirent[] | Array, + ...args: [Error] | [null, string[] | Dirent[] | Array] ) => void; export function readdir( @@ -62,7 +61,7 @@ export function readdir( asyncIterableToCallback(Deno.readDir(path), (val, done) => { if (typeof path !== "string") return; if (done) { - callback(undefined, result); + callback(null, result); return; } if (options?.withFileTypes) { @@ -70,7 +69,7 @@ export function readdir( } else result.push(decode(val.name)); }); } catch (error) { - callback(error, result); + callback(error); } } -- cgit v1.2.3