Files
privacy.sexy/tests/shared/Assertions/ExpectExists.ts
undergroundwires 949fac1a7c Refactor to enforce strictNullChecks
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.
2023-11-12 22:54:00 +01:00

15 lines
628 B
TypeScript

/**
* Asserts that the provided value is neither null nor undefined.
*
* This function is a more explicit alternative to `expect(value).to.exist` in test cases.
* It is particularly useful in situations where TypeScript's control flow analysis
* does not recognize standard assertions, ensuring that `value` is treated as
* non-nullable in the subsequent code. This can prevent potential type errors
* and enhance code safety and clarity.
*/
export function expectExists<T>(value: T): asserts value is NonNullable<T> {
if (value === null || value === undefined) {
throw new Error('Expected value to exist');
}
}