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.
16 lines
551 B
TypeScript
16 lines
551 B
TypeScript
import { IEntity } from '../infrastructure/Entity/IEntity';
|
|
import { IScript } from './IScript';
|
|
import { IDocumentable } from './IDocumentable';
|
|
|
|
export interface ICategory extends IEntity<number>, IDocumentable {
|
|
readonly id: number;
|
|
readonly name: string;
|
|
readonly subCategories: ReadonlyArray<ICategory>;
|
|
readonly scripts: ReadonlyArray<IScript>;
|
|
includes(script: IScript): boolean;
|
|
getAllScriptsRecursively(): ReadonlyArray<IScript>;
|
|
}
|
|
|
|
export { IEntity } from '../infrastructure/Entity/IEntity';
|
|
export { IScript } from './IScript';
|