Refactor to unify scripts/categories as Executable

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.
This commit is contained in:
undergroundwires
2024-06-12 12:36:40 +02:00
parent 8becc7dbc4
commit c138f74460
230 changed files with 1120 additions and 1039 deletions

View File

@@ -1,4 +1,8 @@
declare module '@/application/collections/*' {
export interface ExecutableDefinition extends DocumentableData {
}
export interface CollectionData {
readonly os: string;
readonly scripting: ScriptingDefinitionData;
@@ -6,12 +10,12 @@ declare module '@/application/collections/*' {
readonly functions?: ReadonlyArray<FunctionData>;
}
export interface CategoryData extends DocumentableData {
readonly children: ReadonlyArray<CategoryOrScriptData>;
export interface CategoryData extends ExecutableDefinition {
readonly children: ReadonlyArray<ExecutableData>;
readonly category: string;
}
export type CategoryOrScriptData = CategoryData | ScriptData;
export type ExecutableData = CategoryData | ScriptData;
export type DocumentationData = ReadonlyArray<string> | string | undefined;
export interface DocumentableData {
@@ -56,7 +60,7 @@ declare module '@/application/collections/*' {
export type FunctionCallsData = readonly FunctionCallData[] | FunctionCallData | undefined;
export type ScriptDefinition = DocumentableData & {
export type ScriptDefinition = ExecutableDefinition & {
readonly name: string;
readonly recommend?: string;
};