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.
30 lines
637 B
TypeScript
30 lines
637 B
TypeScript
import { expect } from 'vitest';
|
|
import { expectExists } from '@tests/shared/Assertions/ExpectExists';
|
|
|
|
export async function expectThrowsAsync(
|
|
method: () => Promise<unknown>,
|
|
errorMessage: string,
|
|
) {
|
|
let error: Error | undefined;
|
|
try {
|
|
await method();
|
|
} catch (err) {
|
|
error = err;
|
|
}
|
|
expectExists(error);
|
|
expect(error).to.be.an(Error.name);
|
|
expect(error.message).to.equal(errorMessage);
|
|
}
|
|
|
|
export async function expectDoesNotThrowAsync(
|
|
method: () => Promise<unknown>,
|
|
) {
|
|
let error: Error | undefined;
|
|
try {
|
|
await method();
|
|
} catch (err) {
|
|
error = err;
|
|
}
|
|
expect(error).toBeUndefined();
|
|
}
|