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.
23 lines
772 B
TypeScript
23 lines
772 B
TypeScript
import { parseProjectInformation } from '@/application/Parser/ProjectInformationParser';
|
|
import { IAppMetadata } from '@/infrastructure/EnvironmentVariables/IAppMetadata';
|
|
import { IProjectInformation } from '@/domain/IProjectInformation';
|
|
import { ProjectInformationStub } from './ProjectInformationStub';
|
|
|
|
export class ProjectInformationParserStub {
|
|
public readonly arguments = new Array<IAppMetadata | undefined>();
|
|
|
|
private returnValue: IProjectInformation = new ProjectInformationStub();
|
|
|
|
public withReturnValue(value: IProjectInformation): this {
|
|
this.returnValue = value;
|
|
return this;
|
|
}
|
|
|
|
public getStub(): typeof parseProjectInformation {
|
|
return (metadata) => {
|
|
this.arguments.push(metadata);
|
|
return this.returnValue;
|
|
};
|
|
}
|
|
}
|