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.
24 lines
620 B
TypeScript
24 lines
620 B
TypeScript
import { it } from 'vitest';
|
|
import { FunctionKeys } from '@/TypeHelpers';
|
|
import { ILogger } from '@/infrastructure/Log/ILogger';
|
|
|
|
type TestParameters = [string, number, { some: string }];
|
|
|
|
export function itEachLoggingMethod(
|
|
handler: (
|
|
functionName: keyof ILogger,
|
|
testParameters: TestParameters,
|
|
) => void,
|
|
) {
|
|
const testParameters: TestParameters = ['test', 123, { some: 'object' }];
|
|
const loggerMethods: Array<FunctionKeys<ILogger>> = [
|
|
'info',
|
|
];
|
|
loggerMethods
|
|
.forEach((functionKey) => {
|
|
it(functionKey, () => {
|
|
handler(functionKey, testParameters);
|
|
});
|
|
});
|
|
}
|