diff --git a/src/volume.ts b/src/volume.ts index ef0b96a1..4819cb5d 100644 --- a/src/volume.ts +++ b/src/volume.ts @@ -1591,16 +1591,17 @@ export class Volume { access(path: TFilePath, callback: TCallback); access(path: TFilePath, mode: number, callback: TCallback); access(path: TFilePath, a: TCallback | number, b?: TCallback) { - let mode: number = a as number; - let callback: TCallback = b; + let mode: number = F_OK; + let callback: TCallback; - if (typeof mode === 'function') { - mode = F_OK; - callback = a as TCallback; + if (typeof a !== 'function') { + mode = a | 0; // cast to number + callback = validateCallback(b); + } else { + callback = a; } const filename = pathToFilename(path); - mode = mode | 0; this.wrapAsync(this.accessBase, [filename, mode], callback); }