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.
This commit is contained in:
undergroundwires
2023-11-12 22:54:00 +01:00
parent 7ab16ecccb
commit 949fac1a7c
294 changed files with 2477 additions and 2738 deletions

View File

@@ -48,8 +48,12 @@ export default defineComponent({
const firstElement = shallowRef<HTMLElement>();
function onResize(displacementX: number): void {
const leftWidth = firstElement.value.offsetWidth + displacementX;
firstElement.value.style.width = `${leftWidth}px`;
const element = firstElement.value;
if (!element) {
throw new Error('The element reference ref is not correctly assigned to a DOM element.');
}
const leftWidth = element.offsetWidth + displacementX;
element.style.width = `${leftWidth}px`;
}
return {

View File

@@ -29,7 +29,10 @@ export default defineComponent({
const cursorCssValue = 'ew-resize';
let initialX: number | undefined;
const resize = (event) => {
const resize = (event: MouseEvent) => {
if (initialX === undefined) {
throw new Error('Resize action started without an initial X coordinate.');
}
const displacementX = event.clientX - initialX;
emit('resized', displacementX);
initialX = event.clientX;