This commit upgrades TypeScript to the latest version 5.3 and introduces `verbatimModuleSyntax` in line with the official Vue guide recommendatinos (vuejs/docs#2592). By enforcing `import type` for type-only imports, this commit improves code clarity and supports tooling optimization, ensuring imports are only bundled when necessary for runtime. Changes: - Bump TypeScript to 5.3.3 across the project. - Adjust import statements to utilize `import type` where applicable, promoting cleaner and more efficient code.
35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
import type { FileReadWriteOperations } from '@/infrastructure/ReadbackFileWriter/NodeReadbackFileWriter';
|
|
import { StubWithObservableMethodCalls } from '@tests/unit/shared/Stubs/StubWithObservableMethodCalls';
|
|
|
|
export class FileReadWriteOperationsStub
|
|
extends StubWithObservableMethodCalls<FileReadWriteOperations>
|
|
implements FileReadWriteOperations {
|
|
private readonly writtenFiles: Record<string, string> = {};
|
|
|
|
public writeFile = (filePath: string, fileContents: string, encoding: NodeJS.BufferEncoding) => {
|
|
this.registerMethodCall({
|
|
methodName: 'writeFile',
|
|
args: [filePath, fileContents, encoding],
|
|
});
|
|
this.writtenFiles[filePath] = fileContents;
|
|
return Promise.resolve();
|
|
};
|
|
|
|
public access = (...args: Parameters<FileReadWriteOperations['access']>) => {
|
|
this.registerMethodCall({
|
|
methodName: 'access',
|
|
args: [...args],
|
|
});
|
|
return Promise.resolve();
|
|
};
|
|
|
|
public readFile = (filePath: string, encoding: NodeJS.BufferEncoding) => {
|
|
this.registerMethodCall({
|
|
methodName: 'readFile',
|
|
args: [filePath, encoding],
|
|
});
|
|
const fileContents = this.writtenFiles[filePath];
|
|
return Promise.resolve(fileContents);
|
|
};
|
|
}
|