This commit consolidates scripts and categories under a unified 'Executable' concept. This simplifies the architecture and improves code readability. - Introduce subfolders within `src/domain` to segregate domain elements. - Update class and interface names by removing the 'I' prefix in alignment with new coding standards. - Replace 'Node' with 'Executable' to clarify usage; reserve 'Node' exclusively for the UI's tree component.
20 lines
811 B
TypeScript
20 lines
811 B
TypeScript
import type { CategoryFactory } from '@/application/Parser/Executable/CategoryParser';
|
|
import type { CategoryInitParameters } from '@/domain/Executables/Category/CollectionCategory';
|
|
import type { Category } from '@/domain/Executables/Category/Category';
|
|
import { CategoryStub } from './CategoryStub';
|
|
|
|
export function createCategoryFactorySpy(): {
|
|
readonly categoryFactorySpy: CategoryFactory;
|
|
getInitParameters: (category: Category) => CategoryInitParameters | undefined;
|
|
} {
|
|
const createdCategories = new Map<Category, CategoryInitParameters>();
|
|
return {
|
|
categoryFactorySpy: (parameters) => {
|
|
const category = new CategoryStub(55);
|
|
createdCategories.set(category, parameters);
|
|
return category;
|
|
},
|
|
getInitParameters: (category) => createdCategories.get(category),
|
|
};
|
|
}
|