From 119a94513974c1c71655a46748fceec50a18fac3 Mon Sep 17 00:00:00 2001 From: gjsjohnmurray Date: Mon, 30 Sep 2024 12:59:00 +0100 Subject: [PATCH] Handle stricter 1.94 type checking wrt Buffer vs Uint8Array --- src/commands/compile.ts | 6 ++++-- src/providers/FileSystemProvider/FileSystemProvider.ts | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/commands/compile.ts b/src/commands/compile.ts index 6ede2aee..1016c37b 100644 --- a/src/commands/compile.ts +++ b/src/commands/compile.ts @@ -69,7 +69,9 @@ export async function checkChangedOnServer(file: CurrentTextFile | CurrentBinary ? false : (content as string[]).every((line, index) => line.trim() == (fileContent[index] || "").trim()); } else { - sameContent = force ? false : Buffer.compare(content as Buffer, file.content) === 0; + sameContent = force + ? false + : Buffer.compare(content as unknown as Uint8Array, file.content as unknown as Uint8Array) === 0; } const mtime = force || sameContent ? serverTime : Math.max((await vscode.workspace.fs.stat(file.uri)).mtime, serverTime); @@ -243,7 +245,7 @@ export async function loadChanges(files: (CurrentTextFile | CurrentBinaryFile)[] const content = await api.getDoc(file.name).then((data) => data.result.content); await vscode.workspace.fs.writeFile( file.uri, - Buffer.isBuffer(content) ? content : new TextEncoder().encode(content.join("\n")) + Buffer.isBuffer(content) ? (content as unknown as Uint8Array) : new TextEncoder().encode(content.join("\n")) ); } else if (filesystemSchemas.includes(file.uri.scheme)) { fileSystemProvider.fireFileChanged(file.uri); diff --git a/src/providers/FileSystemProvider/FileSystemProvider.ts b/src/providers/FileSystemProvider/FileSystemProvider.ts index a9a8ed55..67a85af5 100644 --- a/src/providers/FileSystemProvider/FileSystemProvider.ts +++ b/src/providers/FileSystemProvider/FileSystemProvider.ts @@ -398,7 +398,7 @@ export class FileSystemProvider implements vscode.FileSystemProvider { public writeFile( uri: vscode.Uri, - content: Buffer, + content: Uint8Array, options: { create: boolean; overwrite: boolean; @@ -452,7 +452,7 @@ export class FileSystemProvider implements vscode.FileSystemProvider { } // File doesn't exist on the server, and we are allowed to create it. // Create content (typically a stub, unless the write-phase of a copy operation). - const newContent = generateFileContent(uri, fileName, content); + const newContent = generateFileContent(uri, fileName, content as unknown as Buffer); // Write it to the server return api