This commit applies `strictNullChecks` to the entire codebase to improve maintainability and type safety. Key changes include: - Remove some explicit null-checks where unnecessary. - Add necessary null-checks. - Refactor static factory functions for a more functional approach. - Improve some test names and contexts for better debugging. - Add unit tests for any additional logic introduced. - Refactor `createPositionFromRegexFullMatch` to its own function as the logic is reused. - Prefer `find` prefix on functions that may return `undefined` and `get` prefix for those that always return a value.
31 lines
961 B
TypeScript
31 lines
961 B
TypeScript
import { IFileSystemOps } from '@/infrastructure/SystemOperations/ISystemOperations';
|
|
import { StubWithObservableMethodCalls } from './StubWithObservableMethodCalls';
|
|
|
|
export class FileSystemOpsStub
|
|
extends StubWithObservableMethodCalls<IFileSystemOps>
|
|
implements IFileSystemOps {
|
|
public setFilePermissions(filePath: string, mode: string | number): Promise<void> {
|
|
this.registerMethodCall({
|
|
methodName: 'setFilePermissions',
|
|
args: [filePath, mode],
|
|
});
|
|
return Promise.resolve();
|
|
}
|
|
|
|
public createDirectory(directoryPath: string, isRecursive?: boolean): Promise<void> {
|
|
this.registerMethodCall({
|
|
methodName: 'createDirectory',
|
|
args: [directoryPath, isRecursive],
|
|
});
|
|
return Promise.resolve();
|
|
}
|
|
|
|
public writeToFile(filePath: string, data: string): Promise<void> {
|
|
this.registerMethodCall({
|
|
methodName: 'writeToFile',
|
|
args: [filePath, data],
|
|
});
|
|
return Promise.resolve();
|
|
}
|
|
}
|