From ac78c50d3108d3e706ad7c510af9f1125f9cd265 Mon Sep 17 00:00:00 2001 From: Gareth Jones Date: Sun, 7 Jul 2019 10:06:16 +1200 Subject: [PATCH] =?UTF-8?q?fix:=20=F0=9F=90=9B=20refactor=20`#writeFile`?= =?UTF-8?q?=20to=20be=20compatible=20w/=20`strictNullChecks`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/volume.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/volume.ts b/src/volume.ts index ed7be35c..878cc115 100644 --- a/src/volume.ts +++ b/src/volume.ts @@ -1255,18 +1255,20 @@ export class Volume { writeFile(id: TFileId, data: TData, options: IWriteFileOptions | string, callback: TCallback); writeFile(id: TFileId, data: TData, a: TCallback | IWriteFileOptions | string, b?: TCallback) { let options: IWriteFileOptions | string = a as IWriteFileOptions; - let callback: TCallback = b; + let callback: TCallback | undefined = b; if (typeof a === 'function') { options = writeFileDefaults; callback = a; } + const cb = validateCallback(callback); + const opts = getWriteFileOptions(options); const flagsNum = flagsToNumber(opts.flag); const modeNum = modeToNumber(opts.mode); const buf = dataToBuffer(data, opts.encoding); - this.wrapAsync(this.writeFileBase, [id, buf, flagsNum, modeNum], callback); + this.wrapAsync(this.writeFileBase, [id, buf, flagsNum, modeNum], cb); } private linkBase(filename1: string, filename2: string) {