diff --git a/electron.vite.config.ts b/electron.vite.config.ts index afca3fa7..25daee0a 100644 --- a/electron.vite.config.ts +++ b/electron.vite.config.ts @@ -1,5 +1,5 @@ import { resolve } from 'node:path'; -import { mergeConfig, UserConfig } from 'vite'; +import { mergeConfig, type UserConfig } from 'vite'; import { defineConfig, externalizeDepsPlugin } from 'electron-vite'; import { getAliases, getClientEnvironmentVariables } from './vite-config-helper'; import { createVueConfig } from './vite.config'; diff --git a/package-lock.json b/package-lock.json index 776cb06d..f1c722bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -56,7 +56,7 @@ "svgexport": "^0.4.2", "terser": "^5.21.0", "tslib": "^2.6.2", - "typescript": "^5.2.2", + "typescript": "^5.3.3", "vite": "^4.4.11", "vitest": "^0.34.6", "vue-tsc": "^1.8.19", @@ -17774,9 +17774,9 @@ "dev": true }, "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "devOptional": true, "bin": { "tsc": "bin/tsc", @@ -32718,9 +32718,9 @@ "dev": true }, "typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "devOptional": true }, "uc.micro": { diff --git a/package.json b/package.json index fee47dc1..a463bf56 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "svgexport": "^0.4.2", "terser": "^5.21.0", "tslib": "^2.6.2", - "typescript": "^5.2.2", + "typescript": "^5.3.3", "vite": "^4.4.11", "vitest": "^0.34.6", "vue-tsc": "^1.8.19", diff --git a/src/application/ApplicationFactory.ts b/src/application/ApplicationFactory.ts index e9b7a60d..9c851a52 100644 --- a/src/application/ApplicationFactory.ts +++ b/src/application/ApplicationFactory.ts @@ -1,7 +1,7 @@ -import { IApplication } from '@/domain/IApplication'; +import type { IApplication } from '@/domain/IApplication'; import { AsyncLazy } from '@/infrastructure/Threading/AsyncLazy'; -import { IApplicationFactory } from './IApplicationFactory'; import { parseApplication } from './Parser/ApplicationParser'; +import type { IApplicationFactory } from './IApplicationFactory'; export type ApplicationGetterType = () => IApplication; const ApplicationGetter: ApplicationGetterType = parseApplication; diff --git a/src/application/Common/ScriptingLanguage/ScriptingLanguageFactory.ts b/src/application/Common/ScriptingLanguage/ScriptingLanguageFactory.ts index 28415239..c39be6a1 100644 --- a/src/application/Common/ScriptingLanguage/ScriptingLanguageFactory.ts +++ b/src/application/Common/ScriptingLanguage/ScriptingLanguageFactory.ts @@ -1,6 +1,6 @@ import { ScriptingLanguage } from '@/domain/ScriptingLanguage'; import { assertInRange } from '@/application/Common/Enum'; -import { IScriptingLanguageFactory } from './IScriptingLanguageFactory'; +import type { IScriptingLanguageFactory } from './IScriptingLanguageFactory'; type Getter = () => T; diff --git a/src/application/Common/Timing/BatchedDebounce.ts b/src/application/Common/Timing/BatchedDebounce.ts index 6eb69cd1..0484e801 100644 --- a/src/application/Common/Timing/BatchedDebounce.ts +++ b/src/application/Common/Timing/BatchedDebounce.ts @@ -1,5 +1,5 @@ import { PlatformTimer } from './PlatformTimer'; -import { TimeoutType, Timer } from './Timer'; +import type { TimeoutType, Timer } from './Timer'; export function batchedDebounce( callback: (batches: readonly T[]) => void, diff --git a/src/application/Common/Timing/PlatformTimer.ts b/src/application/Common/Timing/PlatformTimer.ts index 101d5203..e016c526 100644 --- a/src/application/Common/Timing/PlatformTimer.ts +++ b/src/application/Common/Timing/PlatformTimer.ts @@ -1,4 +1,4 @@ -import { Timer } from './Timer'; +import type { Timer } from './Timer'; export const PlatformTimer: Timer = { setTimeout: (callback, ms) => setTimeout(callback, ms), diff --git a/src/application/Common/Timing/Throttle.ts b/src/application/Common/Timing/Throttle.ts index 41a29adc..8fc575c2 100644 --- a/src/application/Common/Timing/Throttle.ts +++ b/src/application/Common/Timing/Throttle.ts @@ -1,5 +1,5 @@ -import { Timer, TimeoutType } from './Timer'; import { PlatformTimer } from './PlatformTimer'; +import type { Timer, TimeoutType } from './Timer'; export type CallbackType = (..._: readonly unknown[]) => void; diff --git a/src/application/Context/ApplicationContext.ts b/src/application/Context/ApplicationContext.ts index 284664f3..7829737f 100644 --- a/src/application/Context/ApplicationContext.ts +++ b/src/application/Context/ApplicationContext.ts @@ -1,11 +1,11 @@ -import { IApplication } from '@/domain/IApplication'; +import type { IApplication } from '@/domain/IApplication'; import { OperatingSystem } from '@/domain/OperatingSystem'; -import { ICategoryCollection } from '@/domain/ICategoryCollection'; +import type { ICategoryCollection } from '@/domain/ICategoryCollection'; import { EventSource } from '@/infrastructure/Events/EventSource'; import { assertInRange } from '@/application/Common/Enum'; import { CategoryCollectionState } from './State/CategoryCollectionState'; -import { ICategoryCollectionState } from './State/ICategoryCollectionState'; -import { IApplicationContext, IApplicationContextChangedEvent } from './IApplicationContext'; +import type { IApplicationContext, IApplicationContextChangedEvent } from './IApplicationContext'; +import type { ICategoryCollectionState } from './State/ICategoryCollectionState'; type StateMachine = Map; diff --git a/src/application/Context/ApplicationContextFactory.ts b/src/application/Context/ApplicationContextFactory.ts index 1675e8d9..99f4344f 100644 --- a/src/application/Context/ApplicationContextFactory.ts +++ b/src/application/Context/ApplicationContextFactory.ts @@ -1,10 +1,10 @@ -import { IApplicationContext } from '@/application/Context/IApplicationContext'; +import type { IApplicationContext } from '@/application/Context/IApplicationContext'; import { OperatingSystem } from '@/domain/OperatingSystem'; -import { IApplication } from '@/domain/IApplication'; +import type { IApplication } from '@/domain/IApplication'; import { CurrentEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironmentFactory'; -import { IApplicationFactory } from '../IApplicationFactory'; import { ApplicationFactory } from '../ApplicationFactory'; import { ApplicationContext } from './ApplicationContext'; +import type { IApplicationFactory } from '../IApplicationFactory'; export async function buildContext( factory: IApplicationFactory = ApplicationFactory.Current, diff --git a/src/application/Context/IApplicationContext.ts b/src/application/Context/IApplicationContext.ts index bd1b2c32..adabcf62 100644 --- a/src/application/Context/IApplicationContext.ts +++ b/src/application/Context/IApplicationContext.ts @@ -1,7 +1,7 @@ import { OperatingSystem } from '@/domain/OperatingSystem'; -import { IEventSource } from '@/infrastructure/Events/IEventSource'; -import { IApplication } from '@/domain/IApplication'; -import { ICategoryCollectionState, IReadOnlyCategoryCollectionState } from './State/ICategoryCollectionState'; +import type { IEventSource } from '@/infrastructure/Events/IEventSource'; +import type { IApplication } from '@/domain/IApplication'; +import type { ICategoryCollectionState, IReadOnlyCategoryCollectionState } from './State/ICategoryCollectionState'; export interface IReadOnlyApplicationContext { readonly app: IApplication; diff --git a/src/application/Context/State/CategoryCollectionState.ts b/src/application/Context/State/CategoryCollectionState.ts index c8a9936d..253a7133 100644 --- a/src/application/Context/State/CategoryCollectionState.ts +++ b/src/application/Context/State/CategoryCollectionState.ts @@ -1,12 +1,12 @@ -import { ICategoryCollection } from '@/domain/ICategoryCollection'; +import type { ICategoryCollection } from '@/domain/ICategoryCollection'; import { OperatingSystem } from '@/domain/OperatingSystem'; import { AdaptiveFilterContext } from './Filter/AdaptiveFilterContext'; -import { FilterContext } from './Filter/FilterContext'; import { ApplicationCode } from './Code/ApplicationCode'; -import { UserSelection } from './Selection/UserSelection'; -import { ICategoryCollectionState } from './ICategoryCollectionState'; -import { IApplicationCode } from './Code/IApplicationCode'; import { UserSelectionFacade } from './Selection/UserSelectionFacade'; +import type { FilterContext } from './Filter/FilterContext'; +import type { UserSelection } from './Selection/UserSelection'; +import type { ICategoryCollectionState } from './ICategoryCollectionState'; +import type { IApplicationCode } from './Code/IApplicationCode'; export class CategoryCollectionState implements ICategoryCollectionState { public readonly os: OperatingSystem; diff --git a/src/application/Context/State/Code/ApplicationCode.ts b/src/application/Context/State/Code/ApplicationCode.ts index a1c5d3f7..e376aadb 100644 --- a/src/application/Context/State/Code/ApplicationCode.ts +++ b/src/application/Context/State/Code/ApplicationCode.ts @@ -1,13 +1,13 @@ import { EventSource } from '@/infrastructure/Events/EventSource'; -import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; -import { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; -import { ReadonlyScriptSelection } from '@/application/Context/State/Selection/Script/ScriptSelection'; +import type { IScriptingDefinition } from '@/domain/IScriptingDefinition'; +import type { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; +import type { ReadonlyScriptSelection } from '@/application/Context/State/Selection/Script/ScriptSelection'; import { CodeChangedEvent } from './Event/CodeChangedEvent'; import { CodePosition } from './Position/CodePosition'; -import { ICodeChangedEvent } from './Event/ICodeChangedEvent'; import { UserScriptGenerator } from './Generation/UserScriptGenerator'; -import { IApplicationCode } from './IApplicationCode'; -import { IUserScriptGenerator } from './Generation/IUserScriptGenerator'; +import type { IUserScriptGenerator } from './Generation/IUserScriptGenerator'; +import type { ICodeChangedEvent } from './Event/ICodeChangedEvent'; +import type { IApplicationCode } from './IApplicationCode'; export class ApplicationCode implements IApplicationCode { public readonly changed = new EventSource(); diff --git a/src/application/Context/State/Code/Event/CodeChangedEvent.ts b/src/application/Context/State/Code/Event/CodeChangedEvent.ts index 0dbd6ca0..b15f0a53 100644 --- a/src/application/Context/State/Code/Event/CodeChangedEvent.ts +++ b/src/application/Context/State/Code/Event/CodeChangedEvent.ts @@ -1,7 +1,7 @@ -import { IScript } from '@/domain/IScript'; -import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition'; -import { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; -import { ICodeChangedEvent } from './ICodeChangedEvent'; +import type { IScript } from '@/domain/IScript'; +import type { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition'; +import type { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; +import type { ICodeChangedEvent } from './ICodeChangedEvent'; export class CodeChangedEvent implements ICodeChangedEvent { public readonly code: string; diff --git a/src/application/Context/State/Code/Event/ICodeChangedEvent.ts b/src/application/Context/State/Code/Event/ICodeChangedEvent.ts index ea05f0fb..612787f8 100644 --- a/src/application/Context/State/Code/Event/ICodeChangedEvent.ts +++ b/src/application/Context/State/Code/Event/ICodeChangedEvent.ts @@ -1,5 +1,5 @@ -import { IScript } from '@/domain/IScript'; -import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition'; +import type { IScript } from '@/domain/IScript'; +import type { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition'; export interface ICodeChangedEvent { readonly code: string; diff --git a/src/application/Context/State/Code/Generation/CodeBuilder.ts b/src/application/Context/State/Code/Generation/CodeBuilder.ts index 4264c876..55cc5be3 100644 --- a/src/application/Context/State/Code/Generation/CodeBuilder.ts +++ b/src/application/Context/State/Code/Generation/CodeBuilder.ts @@ -1,4 +1,4 @@ -import { ICodeBuilder } from './ICodeBuilder'; +import type { ICodeBuilder } from './ICodeBuilder'; const TotalFunctionSeparatorChars = 58; diff --git a/src/application/Context/State/Code/Generation/CodeBuilderFactory.ts b/src/application/Context/State/Code/Generation/CodeBuilderFactory.ts index 4cb50fdf..61fdbe4d 100644 --- a/src/application/Context/State/Code/Generation/CodeBuilderFactory.ts +++ b/src/application/Context/State/Code/Generation/CodeBuilderFactory.ts @@ -1,9 +1,9 @@ import { ScriptingLanguageFactory } from '@/application/Common/ScriptingLanguage/ScriptingLanguageFactory'; import { ScriptingLanguage } from '@/domain/ScriptingLanguage'; -import { ICodeBuilder } from './ICodeBuilder'; import { BatchBuilder } from './Languages/BatchBuilder'; import { ShellBuilder } from './Languages/ShellBuilder'; -import { ICodeBuilderFactory } from './ICodeBuilderFactory'; +import type { ICodeBuilder } from './ICodeBuilder'; +import type { ICodeBuilderFactory } from './ICodeBuilderFactory'; export class CodeBuilderFactory extends ScriptingLanguageFactory diff --git a/src/application/Context/State/Code/Generation/ICodeBuilderFactory.ts b/src/application/Context/State/Code/Generation/ICodeBuilderFactory.ts index de9f1696..f4c866e8 100644 --- a/src/application/Context/State/Code/Generation/ICodeBuilderFactory.ts +++ b/src/application/Context/State/Code/Generation/ICodeBuilderFactory.ts @@ -1,4 +1,4 @@ -import { IScriptingLanguageFactory } from '@/application/Common/ScriptingLanguage/IScriptingLanguageFactory'; -import { ICodeBuilder } from './ICodeBuilder'; +import type { IScriptingLanguageFactory } from '@/application/Common/ScriptingLanguage/IScriptingLanguageFactory'; +import type { ICodeBuilder } from './ICodeBuilder'; export type ICodeBuilderFactory = IScriptingLanguageFactory; diff --git a/src/application/Context/State/Code/Generation/IUserScript.ts b/src/application/Context/State/Code/Generation/IUserScript.ts index 0c1ef825..d85a89b4 100644 --- a/src/application/Context/State/Code/Generation/IUserScript.ts +++ b/src/application/Context/State/Code/Generation/IUserScript.ts @@ -1,5 +1,5 @@ -import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition'; -import { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; +import type { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition'; +import type { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; export interface IUserScript { readonly code: string; diff --git a/src/application/Context/State/Code/Generation/IUserScriptGenerator.ts b/src/application/Context/State/Code/Generation/IUserScriptGenerator.ts index 808672f9..4ea29133 100644 --- a/src/application/Context/State/Code/Generation/IUserScriptGenerator.ts +++ b/src/application/Context/State/Code/Generation/IUserScriptGenerator.ts @@ -1,6 +1,6 @@ -import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; -import { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; -import { IUserScript } from './IUserScript'; +import type { IScriptingDefinition } from '@/domain/IScriptingDefinition'; +import type { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; +import type { IUserScript } from './IUserScript'; export interface IUserScriptGenerator { buildCode( diff --git a/src/application/Context/State/Code/Generation/UserScriptGenerator.ts b/src/application/Context/State/Code/Generation/UserScriptGenerator.ts index 1cab63c3..042a20ef 100644 --- a/src/application/Context/State/Code/Generation/UserScriptGenerator.ts +++ b/src/application/Context/State/Code/Generation/UserScriptGenerator.ts @@ -1,12 +1,12 @@ -import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition'; -import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; -import { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; +import type { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition'; +import type { IScriptingDefinition } from '@/domain/IScriptingDefinition'; +import type { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; import { CodePosition } from '../Position/CodePosition'; -import { IUserScriptGenerator } from './IUserScriptGenerator'; -import { IUserScript } from './IUserScript'; -import { ICodeBuilder } from './ICodeBuilder'; -import { ICodeBuilderFactory } from './ICodeBuilderFactory'; import { CodeBuilderFactory } from './CodeBuilderFactory'; +import type { IUserScriptGenerator } from './IUserScriptGenerator'; +import type { IUserScript } from './IUserScript'; +import type { ICodeBuilder } from './ICodeBuilder'; +import type { ICodeBuilderFactory } from './ICodeBuilderFactory'; export class UserScriptGenerator implements IUserScriptGenerator { constructor(private readonly codeBuilderFactory: ICodeBuilderFactory = new CodeBuilderFactory()) { diff --git a/src/application/Context/State/Code/IApplicationCode.ts b/src/application/Context/State/Code/IApplicationCode.ts index 10b35d63..197f1716 100644 --- a/src/application/Context/State/Code/IApplicationCode.ts +++ b/src/application/Context/State/Code/IApplicationCode.ts @@ -1,5 +1,5 @@ -import { IEventSource } from '@/infrastructure/Events/IEventSource'; -import { ICodeChangedEvent } from './Event/ICodeChangedEvent'; +import type { IEventSource } from '@/infrastructure/Events/IEventSource'; +import type { ICodeChangedEvent } from './Event/ICodeChangedEvent'; export interface IApplicationCode { readonly changed: IEventSource; diff --git a/src/application/Context/State/Code/Position/CodePosition.ts b/src/application/Context/State/Code/Position/CodePosition.ts index aefabe63..978d229b 100644 --- a/src/application/Context/State/Code/Position/CodePosition.ts +++ b/src/application/Context/State/Code/Position/CodePosition.ts @@ -1,4 +1,4 @@ -import { ICodePosition } from './ICodePosition'; +import type { ICodePosition } from './ICodePosition'; export class CodePosition implements ICodePosition { public get totalLines(): number { diff --git a/src/application/Context/State/Filter/AdaptiveFilterContext.ts b/src/application/Context/State/Filter/AdaptiveFilterContext.ts index 1a498f61..902ec523 100644 --- a/src/application/Context/State/Filter/AdaptiveFilterContext.ts +++ b/src/application/Context/State/Filter/AdaptiveFilterContext.ts @@ -1,11 +1,11 @@ import { EventSource } from '@/infrastructure/Events/EventSource'; -import { ICategoryCollection } from '@/domain/ICategoryCollection'; -import { FilterResult } from './Result/FilterResult'; -import { FilterContext } from './FilterContext'; -import { FilterChangeDetails } from './Event/FilterChangeDetails'; +import type { ICategoryCollection } from '@/domain/ICategoryCollection'; import { FilterChange } from './Event/FilterChange'; -import { FilterStrategy } from './Strategy/FilterStrategy'; import { LinearFilterStrategy } from './Strategy/LinearFilterStrategy'; +import type { FilterResult } from './Result/FilterResult'; +import type { FilterContext } from './FilterContext'; +import type { FilterChangeDetails } from './Event/FilterChangeDetails'; +import type { FilterStrategy } from './Strategy/FilterStrategy'; export class AdaptiveFilterContext implements FilterContext { public readonly filterChanged = new EventSource(); diff --git a/src/application/Context/State/Filter/Event/FilterChange.ts b/src/application/Context/State/Filter/Event/FilterChange.ts index c4c0ffbd..e3b76594 100644 --- a/src/application/Context/State/Filter/Event/FilterChange.ts +++ b/src/application/Context/State/Filter/Event/FilterChange.ts @@ -1,6 +1,6 @@ -import { FilterResult } from '@/application/Context/State/Filter/Result/FilterResult'; +import type { FilterResult } from '@/application/Context/State/Filter/Result/FilterResult'; import { FilterActionType } from './FilterActionType'; -import { +import type { FilterChangeDetails, FilterChangeDetailsVisitor, ApplyFilterAction, ClearFilterAction, } from './FilterChangeDetails'; diff --git a/src/application/Context/State/Filter/FilterContext.ts b/src/application/Context/State/Filter/FilterContext.ts index 2c5f592f..19c8a4ff 100644 --- a/src/application/Context/State/Filter/FilterContext.ts +++ b/src/application/Context/State/Filter/FilterContext.ts @@ -1,6 +1,6 @@ -import { IEventSource } from '@/infrastructure/Events/IEventSource'; -import { FilterResult } from './Result/FilterResult'; -import { FilterChangeDetails } from './Event/FilterChangeDetails'; +import type { IEventSource } from '@/infrastructure/Events/IEventSource'; +import type { FilterResult } from './Result/FilterResult'; +import type { FilterChangeDetails } from './Event/FilterChangeDetails'; export interface ReadonlyFilterContext { readonly currentFilter: FilterResult | undefined; diff --git a/src/application/Context/State/Filter/Result/AppliedFilterResult.ts b/src/application/Context/State/Filter/Result/AppliedFilterResult.ts index a3aa2cb2..b7df728c 100644 --- a/src/application/Context/State/Filter/Result/AppliedFilterResult.ts +++ b/src/application/Context/State/Filter/Result/AppliedFilterResult.ts @@ -1,6 +1,6 @@ -import { IScript } from '@/domain/IScript'; -import { ICategory } from '@/domain/ICategory'; -import { FilterResult } from './FilterResult'; +import type { IScript } from '@/domain/IScript'; +import type { ICategory } from '@/domain/ICategory'; +import type { FilterResult } from './FilterResult'; export class AppliedFilterResult implements FilterResult { constructor( diff --git a/src/application/Context/State/Filter/Result/FilterResult.ts b/src/application/Context/State/Filter/Result/FilterResult.ts index d9613df1..a12a13b4 100644 --- a/src/application/Context/State/Filter/Result/FilterResult.ts +++ b/src/application/Context/State/Filter/Result/FilterResult.ts @@ -1,4 +1,4 @@ -import { IScript, ICategory } from '@/domain/ICategory'; +import type { IScript, ICategory } from '@/domain/ICategory'; export interface FilterResult { readonly categoryMatches: ReadonlyArray; diff --git a/src/application/Context/State/ICategoryCollectionState.ts b/src/application/Context/State/ICategoryCollectionState.ts index 3ae0e197..8a485679 100644 --- a/src/application/Context/State/ICategoryCollectionState.ts +++ b/src/application/Context/State/ICategoryCollectionState.ts @@ -1,8 +1,8 @@ -import { ICategoryCollection } from '@/domain/ICategoryCollection'; +import type { ICategoryCollection } from '@/domain/ICategoryCollection'; import { OperatingSystem } from '@/domain/OperatingSystem'; -import { ReadonlyFilterContext, FilterContext } from './Filter/FilterContext'; -import { ReadonlyUserSelection, UserSelection } from './Selection/UserSelection'; -import { IApplicationCode } from './Code/IApplicationCode'; +import type { IApplicationCode } from './Code/IApplicationCode'; +import type { ReadonlyFilterContext, FilterContext } from './Filter/FilterContext'; +import type { ReadonlyUserSelection, UserSelection } from './Selection/UserSelection'; export interface IReadOnlyCategoryCollectionState { readonly code: IApplicationCode; diff --git a/src/application/Context/State/Selection/Category/CategorySelection.ts b/src/application/Context/State/Selection/Category/CategorySelection.ts index 12fadc5f..1911dcd8 100644 --- a/src/application/Context/State/Selection/Category/CategorySelection.ts +++ b/src/application/Context/State/Selection/Category/CategorySelection.ts @@ -1,5 +1,5 @@ -import { ICategory } from '@/domain/ICategory'; -import { CategorySelectionChangeCommand } from './CategorySelectionChange'; +import type { ICategory } from '@/domain/ICategory'; +import type { CategorySelectionChangeCommand } from './CategorySelectionChange'; export interface ReadonlyCategorySelection { areAllScriptsSelected(category: ICategory): boolean; diff --git a/src/application/Context/State/Selection/Category/ScriptToCategorySelectionMapper.ts b/src/application/Context/State/Selection/Category/ScriptToCategorySelectionMapper.ts index 33667251..e06693b3 100644 --- a/src/application/Context/State/Selection/Category/ScriptToCategorySelectionMapper.ts +++ b/src/application/Context/State/Selection/Category/ScriptToCategorySelectionMapper.ts @@ -1,9 +1,9 @@ -import { ICategory } from '@/domain/ICategory'; -import { ICategoryCollection } from '@/domain/ICategoryCollection'; -import { ScriptSelection } from '../Script/ScriptSelection'; -import { ScriptSelectionChange } from '../Script/ScriptSelectionChange'; -import { CategorySelection } from './CategorySelection'; -import { CategorySelectionChange, CategorySelectionChangeCommand } from './CategorySelectionChange'; +import type { ICategory } from '@/domain/ICategory'; +import type { ICategoryCollection } from '@/domain/ICategoryCollection'; +import type { CategorySelectionChange, CategorySelectionChangeCommand } from './CategorySelectionChange'; +import type { CategorySelection } from './CategorySelection'; +import type { ScriptSelection } from '../Script/ScriptSelection'; +import type { ScriptSelectionChange } from '../Script/ScriptSelectionChange'; export class ScriptToCategorySelectionMapper implements CategorySelection { constructor( diff --git a/src/application/Context/State/Selection/Script/DebouncedScriptSelection.ts b/src/application/Context/State/Selection/Script/DebouncedScriptSelection.ts index 319c01c0..5ac98f7f 100644 --- a/src/application/Context/State/Selection/Script/DebouncedScriptSelection.ts +++ b/src/application/Context/State/Selection/Script/DebouncedScriptSelection.ts @@ -1,13 +1,13 @@ import { InMemoryRepository } from '@/infrastructure/Repository/InMemoryRepository'; -import { IScript } from '@/domain/IScript'; +import type { IScript } from '@/domain/IScript'; import { EventSource } from '@/infrastructure/Events/EventSource'; -import { ReadonlyRepository, Repository } from '@/application/Repository/Repository'; -import { ICategoryCollection } from '@/domain/ICategoryCollection'; +import type { ReadonlyRepository, Repository } from '@/application/Repository/Repository'; +import type { ICategoryCollection } from '@/domain/ICategoryCollection'; import { batchedDebounce } from '@/application/Common/Timing/BatchedDebounce'; -import { ScriptSelection } from './ScriptSelection'; -import { ScriptSelectionChange, ScriptSelectionChangeCommand } from './ScriptSelectionChange'; -import { SelectedScript } from './SelectedScript'; import { UserSelectedScript } from './UserSelectedScript'; +import type { ScriptSelection } from './ScriptSelection'; +import type { ScriptSelectionChange, ScriptSelectionChangeCommand } from './ScriptSelectionChange'; +import type { SelectedScript } from './SelectedScript'; const DEBOUNCE_DELAY_IN_MS = 100; diff --git a/src/application/Context/State/Selection/Script/ScriptSelection.ts b/src/application/Context/State/Selection/Script/ScriptSelection.ts index f3d202b4..e2b50f72 100644 --- a/src/application/Context/State/Selection/Script/ScriptSelection.ts +++ b/src/application/Context/State/Selection/Script/ScriptSelection.ts @@ -1,7 +1,7 @@ -import { IEventSource } from '@/infrastructure/Events/IEventSource'; -import { IScript } from '@/domain/IScript'; -import { SelectedScript } from './SelectedScript'; -import { ScriptSelectionChangeCommand } from './ScriptSelectionChange'; +import type { IEventSource } from '@/infrastructure/Events/IEventSource'; +import type { IScript } from '@/domain/IScript'; +import type { SelectedScript } from './SelectedScript'; +import type { ScriptSelectionChangeCommand } from './ScriptSelectionChange'; export interface ReadonlyScriptSelection { readonly changed: IEventSource; diff --git a/src/application/Context/State/Selection/Script/SelectedScript.ts b/src/application/Context/State/Selection/Script/SelectedScript.ts index ef1dd7f8..05e40087 100644 --- a/src/application/Context/State/Selection/Script/SelectedScript.ts +++ b/src/application/Context/State/Selection/Script/SelectedScript.ts @@ -1,5 +1,5 @@ -import { IEntity } from '@/infrastructure/Entity/IEntity'; -import { IScript } from '@/domain/IScript'; +import type { IEntity } from '@/infrastructure/Entity/IEntity'; +import type { IScript } from '@/domain/IScript'; type ScriptId = IScript['id']; diff --git a/src/application/Context/State/Selection/Script/UserSelectedScript.ts b/src/application/Context/State/Selection/Script/UserSelectedScript.ts index b0d70d4b..af40d00f 100644 --- a/src/application/Context/State/Selection/Script/UserSelectedScript.ts +++ b/src/application/Context/State/Selection/Script/UserSelectedScript.ts @@ -1,6 +1,6 @@ import { BaseEntity } from '@/infrastructure/Entity/BaseEntity'; -import { IScript } from '@/domain/IScript'; -import { SelectedScript } from './SelectedScript'; +import type { IScript } from '@/domain/IScript'; +import type { SelectedScript } from './SelectedScript'; type SelectedScriptId = SelectedScript['id']; diff --git a/src/application/Context/State/Selection/UserSelection.ts b/src/application/Context/State/Selection/UserSelection.ts index c7b01964..a7d2f71b 100644 --- a/src/application/Context/State/Selection/UserSelection.ts +++ b/src/application/Context/State/Selection/UserSelection.ts @@ -1,5 +1,5 @@ -import { CategorySelection, ReadonlyCategorySelection } from './Category/CategorySelection'; -import { ReadonlyScriptSelection, ScriptSelection } from './Script/ScriptSelection'; +import type { CategorySelection, ReadonlyCategorySelection } from './Category/CategorySelection'; +import type { ReadonlyScriptSelection, ScriptSelection } from './Script/ScriptSelection'; export interface ReadonlyUserSelection { readonly categories: ReadonlyCategorySelection; diff --git a/src/application/Context/State/Selection/UserSelectionFacade.ts b/src/application/Context/State/Selection/UserSelectionFacade.ts index ef6cbfdf..7667d983 100644 --- a/src/application/Context/State/Selection/UserSelectionFacade.ts +++ b/src/application/Context/State/Selection/UserSelectionFacade.ts @@ -1,10 +1,10 @@ -import { ICategoryCollection } from '@/domain/ICategoryCollection'; -import { CategorySelection } from './Category/CategorySelection'; +import type { ICategoryCollection } from '@/domain/ICategoryCollection'; import { ScriptToCategorySelectionMapper } from './Category/ScriptToCategorySelectionMapper'; import { DebouncedScriptSelection } from './Script/DebouncedScriptSelection'; -import { ScriptSelection } from './Script/ScriptSelection'; -import { UserSelection } from './UserSelection'; -import { SelectedScript } from './Script/SelectedScript'; +import type { CategorySelection } from './Category/CategorySelection'; +import type { ScriptSelection } from './Script/ScriptSelection'; +import type { UserSelection } from './UserSelection'; +import type { SelectedScript } from './Script/SelectedScript'; export class UserSelectionFacade implements UserSelection { public readonly categories: CategorySelection; diff --git a/src/application/IApplicationFactory.ts b/src/application/IApplicationFactory.ts index 25d3d71f..ed08ab0e 100644 --- a/src/application/IApplicationFactory.ts +++ b/src/application/IApplicationFactory.ts @@ -1,4 +1,4 @@ -import { IApplication } from '@/domain/IApplication'; +import type { IApplication } from '@/domain/IApplication'; export interface IApplicationFactory { getApp(): Promise; diff --git a/src/application/Parser/ApplicationParser.ts b/src/application/Parser/ApplicationParser.ts index ee21efee..5a9d0e60 100644 --- a/src/application/Parser/ApplicationParser.ts +++ b/src/application/Parser/ApplicationParser.ts @@ -1,13 +1,13 @@ import type { CollectionData } from '@/application/collections/'; -import { IApplication } from '@/domain/IApplication'; +import type { IApplication } from '@/domain/IApplication'; import type { ProjectDetails } from '@/domain/Project/ProjectDetails'; -import { ICategoryCollection } from '@/domain/ICategoryCollection'; +import type { ICategoryCollection } from '@/domain/ICategoryCollection'; import WindowsData from '@/application/collections/windows.yaml'; import MacOsData from '@/application/collections/macos.yaml'; import LinuxData from '@/application/collections/linux.yaml'; import { parseProjectDetails } from '@/application/Parser/ProjectDetailsParser'; import { Application } from '@/domain/Application'; -import { IAppMetadata } from '@/infrastructure/EnvironmentVariables/IAppMetadata'; +import type { IAppMetadata } from '@/infrastructure/EnvironmentVariables/IAppMetadata'; import { EnvironmentVariablesFactory } from '@/infrastructure/EnvironmentVariables/EnvironmentVariablesFactory'; import { parseCategoryCollection } from './CategoryCollectionParser'; diff --git a/src/application/Parser/CategoryCollectionParser.ts b/src/application/Parser/CategoryCollectionParser.ts index a61bc290..b6d1b1e6 100644 --- a/src/application/Parser/CategoryCollectionParser.ts +++ b/src/application/Parser/CategoryCollectionParser.ts @@ -1,6 +1,6 @@ import type { CollectionData } from '@/application/collections/'; import { OperatingSystem } from '@/domain/OperatingSystem'; -import { ICategoryCollection } from '@/domain/ICategoryCollection'; +import type { ICategoryCollection } from '@/domain/ICategoryCollection'; import { CategoryCollection } from '@/domain/CategoryCollection'; import type { ProjectDetails } from '@/domain/Project/ProjectDetails'; import { createEnumParser } from '../Common/Enum'; diff --git a/src/application/Parser/CategoryParser.ts b/src/application/Parser/CategoryParser.ts index c424a5f0..ccaff8e8 100644 --- a/src/application/Parser/CategoryParser.ts +++ b/src/application/Parser/CategoryParser.ts @@ -6,8 +6,8 @@ import { Category } from '@/domain/Category'; import { NodeValidator } from '@/application/Parser/NodeValidation/NodeValidator'; import { NodeType } from '@/application/Parser/NodeValidation/NodeType'; import { parseDocs } from './DocumentationParser'; -import { ICategoryCollectionParseContext } from './Script/ICategoryCollectionParseContext'; import { parseScript } from './Script/ScriptParser'; +import type { ICategoryCollectionParseContext } from './Script/ICategoryCollectionParseContext'; let categoryIdCounter = 0; diff --git a/src/application/Parser/NodeValidation/NodeDataError.ts b/src/application/Parser/NodeValidation/NodeDataError.ts index 21c3e371..970498f9 100644 --- a/src/application/Parser/NodeValidation/NodeDataError.ts +++ b/src/application/Parser/NodeValidation/NodeDataError.ts @@ -1,6 +1,6 @@ import { CustomError } from '@/application/Common/CustomError'; import { NodeType } from './NodeType'; -import { NodeData } from './NodeData'; +import type { NodeData } from './NodeData'; export class NodeDataError extends CustomError { constructor(message: string, public readonly context: INodeDataErrorContext) { diff --git a/src/application/Parser/NodeValidation/NodeValidator.ts b/src/application/Parser/NodeValidation/NodeValidator.ts index 3d06932c..37860210 100644 --- a/src/application/Parser/NodeValidation/NodeValidator.ts +++ b/src/application/Parser/NodeValidation/NodeValidator.ts @@ -1,6 +1,6 @@ import { isString } from '@/TypeHelpers'; -import { INodeDataErrorContext, NodeDataError } from './NodeDataError'; -import { NodeData } from './NodeData'; +import { type INodeDataErrorContext, NodeDataError } from './NodeDataError'; +import type { NodeData } from './NodeData'; export class NodeValidator { constructor(private readonly context: INodeDataErrorContext) { diff --git a/src/application/Parser/ProjectDetailsParser.ts b/src/application/Parser/ProjectDetailsParser.ts index 5c67bbc1..7aa1fd55 100644 --- a/src/application/Parser/ProjectDetailsParser.ts +++ b/src/application/Parser/ProjectDetailsParser.ts @@ -1,9 +1,9 @@ import type { ProjectDetails } from '@/domain/Project/ProjectDetails'; import { GitHubProjectDetails } from '@/domain/Project/GitHubProjectDetails'; -import { IAppMetadata } from '@/infrastructure/EnvironmentVariables/IAppMetadata'; +import type { IAppMetadata } from '@/infrastructure/EnvironmentVariables/IAppMetadata'; import { Version } from '@/domain/Version'; import { EnvironmentVariablesFactory } from '@/infrastructure/EnvironmentVariables/EnvironmentVariablesFactory'; -import { ConstructorArguments } from '@/TypeHelpers'; +import type { ConstructorArguments } from '@/TypeHelpers'; export function parseProjectDetails( diff --git a/src/application/Parser/Script/CategoryCollectionParseContext.ts b/src/application/Parser/Script/CategoryCollectionParseContext.ts index 68245e56..a3d4c043 100644 --- a/src/application/Parser/Script/CategoryCollectionParseContext.ts +++ b/src/application/Parser/Script/CategoryCollectionParseContext.ts @@ -1,11 +1,11 @@ import type { FunctionData } from '@/application/collections/'; -import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; -import { IScriptCompiler } from './Compiler/IScriptCompiler'; +import type { IScriptingDefinition } from '@/domain/IScriptingDefinition'; import { ScriptCompiler } from './Compiler/ScriptCompiler'; -import { ICategoryCollectionParseContext } from './ICategoryCollectionParseContext'; import { SyntaxFactory } from './Validation/Syntax/SyntaxFactory'; -import { ISyntaxFactory } from './Validation/Syntax/ISyntaxFactory'; -import { ILanguageSyntax } from './Validation/Syntax/ILanguageSyntax'; +import type { ILanguageSyntax } from './Validation/Syntax/ILanguageSyntax'; +import type { IScriptCompiler } from './Compiler/IScriptCompiler'; +import type { ICategoryCollectionParseContext } from './ICategoryCollectionParseContext'; +import type { ISyntaxFactory } from './Validation/Syntax/ISyntaxFactory'; export class CategoryCollectionParseContext implements ICategoryCollectionParseContext { public readonly compiler: IScriptCompiler; diff --git a/src/application/Parser/Script/Compiler/Expressions/Expression/Expression.ts b/src/application/Parser/Script/Compiler/Expressions/Expression/Expression.ts index 279f398d..6f89b260 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Expression/Expression.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Expression/Expression.ts @@ -1,10 +1,10 @@ import { FunctionParameterCollection } from '@/application/Parser/Script/Compiler/Function/Parameter/FunctionParameterCollection'; -import { IReadOnlyFunctionCallArgumentCollection } from '../../Function/Call/Argument/IFunctionCallArgumentCollection'; -import { IReadOnlyFunctionParameterCollection } from '../../Function/Parameter/IFunctionParameterCollection'; import { FunctionCallArgumentCollection } from '../../Function/Call/Argument/FunctionCallArgumentCollection'; -import { IExpression } from './IExpression'; +import { ExpressionEvaluationContext, type IExpressionEvaluationContext } from './ExpressionEvaluationContext'; import { ExpressionPosition } from './ExpressionPosition'; -import { ExpressionEvaluationContext, IExpressionEvaluationContext } from './ExpressionEvaluationContext'; +import type { IReadOnlyFunctionCallArgumentCollection } from '../../Function/Call/Argument/IFunctionCallArgumentCollection'; +import type { IReadOnlyFunctionParameterCollection } from '../../Function/Parameter/IFunctionParameterCollection'; +import type { IExpression } from './IExpression'; export type ExpressionEvaluator = (context: IExpressionEvaluationContext) => string; export class Expression implements IExpression { diff --git a/src/application/Parser/Script/Compiler/Expressions/Expression/ExpressionEvaluationContext.ts b/src/application/Parser/Script/Compiler/Expressions/Expression/ExpressionEvaluationContext.ts index 4685a49d..1efea82d 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Expression/ExpressionEvaluationContext.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Expression/ExpressionEvaluationContext.ts @@ -1,6 +1,6 @@ -import { IReadOnlyFunctionCallArgumentCollection } from '../../Function/Call/Argument/IFunctionCallArgumentCollection'; -import { IPipelineCompiler } from '../Pipes/IPipelineCompiler'; import { PipelineCompiler } from '../Pipes/PipelineCompiler'; +import type { IReadOnlyFunctionCallArgumentCollection } from '../../Function/Call/Argument/IFunctionCallArgumentCollection'; +import type { IPipelineCompiler } from '../Pipes/IPipelineCompiler'; export interface IExpressionEvaluationContext { readonly args: IReadOnlyFunctionCallArgumentCollection; diff --git a/src/application/Parser/Script/Compiler/Expressions/Expression/IExpression.ts b/src/application/Parser/Script/Compiler/Expressions/Expression/IExpression.ts index 97d624fe..d61be5f4 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Expression/IExpression.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Expression/IExpression.ts @@ -1,6 +1,6 @@ -import { IReadOnlyFunctionParameterCollection } from '../../Function/Parameter/IFunctionParameterCollection'; import { ExpressionPosition } from './ExpressionPosition'; -import { IExpressionEvaluationContext } from './ExpressionEvaluationContext'; +import type { IReadOnlyFunctionParameterCollection } from '../../Function/Parameter/IFunctionParameterCollection'; +import type { IExpressionEvaluationContext } from './ExpressionEvaluationContext'; export interface IExpression { readonly position: ExpressionPosition; diff --git a/src/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler.ts b/src/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler.ts index d2d6d444..30664af0 100644 --- a/src/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler.ts +++ b/src/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler.ts @@ -1,9 +1,9 @@ -import { IExpressionEvaluationContext, ExpressionEvaluationContext } from '@/application/Parser/Script/Compiler/Expressions/Expression/ExpressionEvaluationContext'; -import { IReadOnlyFunctionCallArgumentCollection } from '../Function/Call/Argument/IFunctionCallArgumentCollection'; -import { IExpressionsCompiler } from './IExpressionsCompiler'; -import { IExpression } from './Expression/IExpression'; -import { IExpressionParser } from './Parser/IExpressionParser'; +import { type IExpressionEvaluationContext, ExpressionEvaluationContext } from '@/application/Parser/Script/Compiler/Expressions/Expression/ExpressionEvaluationContext'; import { CompositeExpressionParser } from './Parser/CompositeExpressionParser'; +import type { IReadOnlyFunctionCallArgumentCollection } from '../Function/Call/Argument/IFunctionCallArgumentCollection'; +import type { IExpressionsCompiler } from './IExpressionsCompiler'; +import type { IExpression } from './Expression/IExpression'; +import type { IExpressionParser } from './Parser/IExpressionParser'; export class ExpressionsCompiler implements IExpressionsCompiler { public constructor( diff --git a/src/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler.ts b/src/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler.ts index 0c4e82a3..1faffdb5 100644 --- a/src/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler.ts +++ b/src/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler.ts @@ -1,4 +1,4 @@ -import { IReadOnlyFunctionCallArgumentCollection } from '../Function/Call/Argument/IFunctionCallArgumentCollection'; +import type { IReadOnlyFunctionCallArgumentCollection } from '../Function/Call/Argument/IFunctionCallArgumentCollection'; export interface IExpressionsCompiler { compileExpressions( diff --git a/src/application/Parser/Script/Compiler/Expressions/Parser/CompositeExpressionParser.ts b/src/application/Parser/Script/Compiler/Expressions/Parser/CompositeExpressionParser.ts index d564f33d..16b8663d 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Parser/CompositeExpressionParser.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Parser/CompositeExpressionParser.ts @@ -1,7 +1,7 @@ -import { IExpression } from '../Expression/IExpression'; import { ParameterSubstitutionParser } from '../SyntaxParsers/ParameterSubstitutionParser'; import { WithParser } from '../SyntaxParsers/WithParser'; -import { IExpressionParser } from './IExpressionParser'; +import type { IExpression } from '../Expression/IExpression'; +import type { IExpressionParser } from './IExpressionParser'; const Parsers = [ new ParameterSubstitutionParser(), diff --git a/src/application/Parser/Script/Compiler/Expressions/Parser/IExpressionParser.ts b/src/application/Parser/Script/Compiler/Expressions/Parser/IExpressionParser.ts index d836ebbb..c659ede7 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Parser/IExpressionParser.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Parser/IExpressionParser.ts @@ -1,4 +1,4 @@ -import { IExpression } from '../Expression/IExpression'; +import type { IExpression } from '../Expression/IExpression'; export interface IExpressionParser { findExpressions(code: string): IExpression[]; diff --git a/src/application/Parser/Script/Compiler/Expressions/Parser/Regex/RegexParser.ts b/src/application/Parser/Script/Compiler/Expressions/Parser/Regex/RegexParser.ts index 8745c44c..8a88c860 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Parser/Regex/RegexParser.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Parser/Regex/RegexParser.ts @@ -1,9 +1,9 @@ -import { IExpressionParser } from '../IExpressionParser'; -import { IExpression } from '../../Expression/IExpression'; -import { Expression, ExpressionEvaluator } from '../../Expression/Expression'; -import { IFunctionParameter } from '../../../Function/Parameter/IFunctionParameter'; +import { Expression, type ExpressionEvaluator } from '../../Expression/Expression'; import { FunctionParameterCollection } from '../../../Function/Parameter/FunctionParameterCollection'; import { createPositionFromRegexFullMatch } from '../../Expression/ExpressionPositionFactory'; +import type { IExpressionParser } from '../IExpressionParser'; +import type { IExpression } from '../../Expression/IExpression'; +import type { IFunctionParameter } from '../../../Function/Parameter/IFunctionParameter'; export abstract class RegexParser implements IExpressionParser { protected abstract readonly regex: RegExp; diff --git a/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeDefinitions/EscapeDoubleQuotes.ts b/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeDefinitions/EscapeDoubleQuotes.ts index 16c83a33..4f4aebee 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeDefinitions/EscapeDoubleQuotes.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeDefinitions/EscapeDoubleQuotes.ts @@ -1,4 +1,4 @@ -import { IPipe } from '../IPipe'; +import type { IPipe } from '../IPipe'; export class EscapeDoubleQuotes implements IPipe { public readonly name: string = 'escapeDoubleQuotes'; diff --git a/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeDefinitions/InlinePowerShell.ts b/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeDefinitions/InlinePowerShell.ts index ebe28437..bf2ce83c 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeDefinitions/InlinePowerShell.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeDefinitions/InlinePowerShell.ts @@ -1,4 +1,4 @@ -import { IPipe } from '../IPipe'; +import type { IPipe } from '../IPipe'; export class InlinePowerShell implements IPipe { public readonly name: string = 'inlinePowerShell'; diff --git a/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeFactory.ts b/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeFactory.ts index a96e8cff..7db84133 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeFactory.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeFactory.ts @@ -1,6 +1,6 @@ -import { IPipe } from './IPipe'; import { InlinePowerShell } from './PipeDefinitions/InlinePowerShell'; import { EscapeDoubleQuotes } from './PipeDefinitions/EscapeDoubleQuotes'; +import type { IPipe } from './IPipe'; const RegisteredPipes = [ new EscapeDoubleQuotes(), diff --git a/src/application/Parser/Script/Compiler/Expressions/Pipes/PipelineCompiler.ts b/src/application/Parser/Script/Compiler/Expressions/Pipes/PipelineCompiler.ts index 421e04d6..70be858f 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Pipes/PipelineCompiler.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Pipes/PipelineCompiler.ts @@ -1,5 +1,5 @@ -import { IPipeFactory, PipeFactory } from './PipeFactory'; -import { IPipelineCompiler } from './IPipelineCompiler'; +import { type IPipeFactory, PipeFactory } from './PipeFactory'; +import type { IPipelineCompiler } from './IPipelineCompiler'; export class PipelineCompiler implements IPipelineCompiler { constructor(private readonly factory: IPipeFactory = new PipeFactory()) { } diff --git a/src/application/Parser/Script/Compiler/Expressions/SyntaxParsers/ParameterSubstitutionParser.ts b/src/application/Parser/Script/Compiler/Expressions/SyntaxParsers/ParameterSubstitutionParser.ts index 2001452a..35264750 100644 --- a/src/application/Parser/Script/Compiler/Expressions/SyntaxParsers/ParameterSubstitutionParser.ts +++ b/src/application/Parser/Script/Compiler/Expressions/SyntaxParsers/ParameterSubstitutionParser.ts @@ -1,5 +1,5 @@ import { FunctionParameter } from '@/application/Parser/Script/Compiler/Function/Parameter/FunctionParameter'; -import { RegexParser, IPrimitiveExpression } from '../Parser/Regex/RegexParser'; +import { RegexParser, type IPrimitiveExpression } from '../Parser/Regex/RegexParser'; import { ExpressionRegexBuilder } from '../Parser/Regex/ExpressionRegexBuilder'; export class ParameterSubstitutionParser extends RegexParser { diff --git a/src/application/Parser/Script/Compiler/Expressions/SyntaxParsers/WithParser.ts b/src/application/Parser/Script/Compiler/Expressions/SyntaxParsers/WithParser.ts index e47151b9..be9490b4 100644 --- a/src/application/Parser/Script/Compiler/Expressions/SyntaxParsers/WithParser.ts +++ b/src/application/Parser/Script/Compiler/Expressions/SyntaxParsers/WithParser.ts @@ -1,11 +1,11 @@ // eslint-disable-next-line max-classes-per-file -import { IExpressionParser } from '@/application/Parser/Script/Compiler/Expressions/Parser/IExpressionParser'; +import type { IExpressionParser } from '@/application/Parser/Script/Compiler/Expressions/Parser/IExpressionParser'; import { FunctionParameterCollection } from '@/application/Parser/Script/Compiler/Function/Parameter/FunctionParameterCollection'; import { FunctionParameter } from '@/application/Parser/Script/Compiler/Function/Parameter/FunctionParameter'; -import { IExpression } from '../Expression/IExpression'; import { ExpressionPosition } from '../Expression/ExpressionPosition'; import { ExpressionRegexBuilder } from '../Parser/Regex/ExpressionRegexBuilder'; import { createPositionFromRegexFullMatch } from '../Expression/ExpressionPositionFactory'; +import type { IExpression } from '../Expression/IExpression'; export class WithParser implements IExpressionParser { public findExpressions(code: string): IExpression[] { diff --git a/src/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgument.ts b/src/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgument.ts index 5b37093b..cee4f790 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgument.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgument.ts @@ -1,5 +1,5 @@ import { ensureValidParameterName } from '../../Shared/ParameterNameValidator'; -import { IFunctionCallArgument } from './IFunctionCallArgument'; +import type { IFunctionCallArgument } from './IFunctionCallArgument'; export class FunctionCallArgument implements IFunctionCallArgument { constructor( diff --git a/src/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgumentCollection.ts b/src/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgumentCollection.ts index 47e4fd10..e9fffd5a 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgumentCollection.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgumentCollection.ts @@ -1,5 +1,5 @@ -import { IFunctionCallArgument } from './IFunctionCallArgument'; -import { IFunctionCallArgumentCollection } from './IFunctionCallArgumentCollection'; +import type { IFunctionCallArgument } from './IFunctionCallArgument'; +import type { IFunctionCallArgumentCollection } from './IFunctionCallArgumentCollection'; export class FunctionCallArgumentCollection implements IFunctionCallArgumentCollection { private readonly arguments = new Map(); diff --git a/src/application/Parser/Script/Compiler/Function/Call/Argument/IFunctionCallArgumentCollection.ts b/src/application/Parser/Script/Compiler/Function/Call/Argument/IFunctionCallArgumentCollection.ts index a5795b86..f3f76197 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Argument/IFunctionCallArgumentCollection.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Argument/IFunctionCallArgumentCollection.ts @@ -1,4 +1,4 @@ -import { IFunctionCallArgument } from './IFunctionCallArgument'; +import type { IFunctionCallArgument } from './IFunctionCallArgument'; export interface IReadOnlyFunctionCallArgumentCollection { getArgument(parameterName: string): IFunctionCallArgument; diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/CodeSegmentJoin/CodeSegmentMerger.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/CodeSegmentJoin/CodeSegmentMerger.ts index 139277d1..80799423 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/CodeSegmentJoin/CodeSegmentMerger.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/CodeSegmentJoin/CodeSegmentMerger.ts @@ -1,4 +1,4 @@ -import { CompiledCode } from '../CompiledCode'; +import type { CompiledCode } from '../CompiledCode'; export interface CodeSegmentMerger { mergeCodeParts(codeSegments: readonly CompiledCode[]): CompiledCode; diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/CodeSegmentJoin/NewlineCodeSegmentMerger.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/CodeSegmentJoin/NewlineCodeSegmentMerger.ts index 5f094978..74fa0b12 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/CodeSegmentJoin/NewlineCodeSegmentMerger.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/CodeSegmentJoin/NewlineCodeSegmentMerger.ts @@ -1,5 +1,5 @@ -import { CompiledCode } from '../CompiledCode'; -import { CodeSegmentMerger } from './CodeSegmentMerger'; +import type { CompiledCode } from '../CompiledCode'; +import type { CodeSegmentMerger } from './CodeSegmentMerger'; export class NewlineCodeSegmentMerger implements CodeSegmentMerger { public mergeCodeParts(codeSegments: readonly CompiledCode[]): CompiledCode { diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext.ts index 02be45ba..be771431 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext.ts @@ -1,5 +1,5 @@ -import { ISharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/ISharedFunctionCollection'; -import { FunctionCall } from '../FunctionCall'; +import type { ISharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/ISharedFunctionCollection'; +import type { FunctionCall } from '../FunctionCall'; import type { SingleCallCompiler } from './SingleCall/SingleCallCompiler'; export interface FunctionCallCompilationContext { diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompiler.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompiler.ts index 466a8f58..a0ba0969 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompiler.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompiler.ts @@ -1,6 +1,6 @@ -import { ISharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/ISharedFunctionCollection'; -import { FunctionCall } from '../FunctionCall'; -import { CompiledCode } from './CompiledCode'; +import type { ISharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/ISharedFunctionCollection'; +import type { CompiledCode } from './CompiledCode'; +import type { FunctionCall } from '../FunctionCall'; export interface FunctionCallCompiler { compileFunctionCalls( diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallSequenceCompiler.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallSequenceCompiler.ts index 12d0a8ec..25848a04 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallSequenceCompiler.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallSequenceCompiler.ts @@ -1,12 +1,12 @@ -import { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; -import { ISharedFunctionCollection } from '../../ISharedFunctionCollection'; -import { FunctionCallCompiler } from './FunctionCallCompiler'; -import { CompiledCode } from './CompiledCode'; -import { FunctionCallCompilationContext } from './FunctionCallCompilationContext'; -import { SingleCallCompiler } from './SingleCall/SingleCallCompiler'; -import { AdaptiveFunctionCallCompiler } from './SingleCall/AdaptiveFunctionCallCompiler'; -import { CodeSegmentMerger } from './CodeSegmentJoin/CodeSegmentMerger'; +import type { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; import { NewlineCodeSegmentMerger } from './CodeSegmentJoin/NewlineCodeSegmentMerger'; +import { AdaptiveFunctionCallCompiler } from './SingleCall/AdaptiveFunctionCallCompiler'; +import type { ISharedFunctionCollection } from '../../ISharedFunctionCollection'; +import type { FunctionCallCompiler } from './FunctionCallCompiler'; +import type { CompiledCode } from './CompiledCode'; +import type { FunctionCallCompilationContext } from './FunctionCallCompilationContext'; +import type { SingleCallCompiler } from './SingleCall/SingleCallCompiler'; +import type { CodeSegmentMerger } from './CodeSegmentJoin/CodeSegmentMerger'; export class FunctionCallSequenceCompiler implements FunctionCallCompiler { public static readonly instance: FunctionCallCompiler = new FunctionCallSequenceCompiler(); diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/AdaptiveFunctionCallCompiler.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/AdaptiveFunctionCallCompiler.ts index 8e2a2c9a..e479001d 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/AdaptiveFunctionCallCompiler.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/AdaptiveFunctionCallCompiler.ts @@ -1,12 +1,12 @@ -import { FunctionCall } from '../../FunctionCall'; -import { CompiledCode } from '../CompiledCode'; -import { FunctionCallCompilationContext } from '../FunctionCallCompilationContext'; -import { IReadOnlyFunctionCallArgumentCollection } from '../../Argument/IFunctionCallArgumentCollection'; -import { ISharedFunction } from '../../../ISharedFunction'; -import { SingleCallCompiler } from './SingleCallCompiler'; -import { SingleCallCompilerStrategy } from './SingleCallCompilerStrategy'; import { InlineFunctionCallCompiler } from './Strategies/InlineFunctionCallCompiler'; import { NestedFunctionCallCompiler } from './Strategies/NestedFunctionCallCompiler'; +import type { FunctionCall } from '../../FunctionCall'; +import type { CompiledCode } from '../CompiledCode'; +import type { FunctionCallCompilationContext } from '../FunctionCallCompilationContext'; +import type { IReadOnlyFunctionCallArgumentCollection } from '../../Argument/IFunctionCallArgumentCollection'; +import type { ISharedFunction } from '../../../ISharedFunction'; +import type { SingleCallCompiler } from './SingleCallCompiler'; +import type { SingleCallCompilerStrategy } from './SingleCallCompilerStrategy'; export class AdaptiveFunctionCallCompiler implements SingleCallCompiler { public constructor( diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/SingleCallCompiler.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/SingleCallCompiler.ts index 6b7727a9..4de474e7 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/SingleCallCompiler.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/SingleCallCompiler.ts @@ -1,6 +1,6 @@ -import { FunctionCall } from '../../FunctionCall'; -import { CompiledCode } from '../CompiledCode'; -import { FunctionCallCompilationContext } from '../FunctionCallCompilationContext'; +import type { FunctionCallCompilationContext } from '../FunctionCallCompilationContext'; +import type { FunctionCall } from '../../FunctionCall'; +import type { CompiledCode } from '../CompiledCode'; export interface SingleCallCompiler { compileSingleCall( diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/SingleCallCompilerStrategy.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/SingleCallCompilerStrategy.ts index 47127c24..5eab1dfa 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/SingleCallCompilerStrategy.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/SingleCallCompilerStrategy.ts @@ -1,7 +1,7 @@ -import { ISharedFunction } from '@/application/Parser/Script/Compiler/Function/ISharedFunction'; -import { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; -import { CompiledCode } from '../CompiledCode'; -import { FunctionCallCompilationContext } from '../FunctionCallCompilationContext'; +import type { ISharedFunction } from '@/application/Parser/Script/Compiler/Function/ISharedFunction'; +import type { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; +import type { CompiledCode } from '../CompiledCode'; +import type { FunctionCallCompilationContext } from '../FunctionCallCompilationContext'; export interface SingleCallCompilerStrategy { canCompile(func: ISharedFunction): boolean; diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/Argument/ArgumentCompiler.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/Argument/ArgumentCompiler.ts index 4f309fb1..deafbd5f 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/Argument/ArgumentCompiler.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/Argument/ArgumentCompiler.ts @@ -1,5 +1,5 @@ -import { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; -import { FunctionCallCompilationContext } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext'; +import type { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; +import type { FunctionCallCompilationContext } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext'; export interface ArgumentCompiler { createCompiledNestedCall( diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/Argument/NestedFunctionArgumentCompiler.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/Argument/NestedFunctionArgumentCompiler.ts index 58882618..3a70dd49 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/Argument/NestedFunctionArgumentCompiler.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/Argument/NestedFunctionArgumentCompiler.ts @@ -1,12 +1,12 @@ -import { IReadOnlyFunctionCallArgumentCollection } from '@/application/Parser/Script/Compiler/Function/Call/Argument/IFunctionCallArgumentCollection'; +import type { IReadOnlyFunctionCallArgumentCollection } from '@/application/Parser/Script/Compiler/Function/Call/Argument/IFunctionCallArgumentCollection'; import { FunctionCallArgument } from '@/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgument'; import { FunctionCallArgumentCollection } from '@/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgumentCollection'; import { ExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler'; -import { IExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler'; -import { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; -import { FunctionCallCompilationContext } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext'; +import type { IExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler'; +import type { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; +import type { FunctionCallCompilationContext } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext'; import { ParsedFunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/ParsedFunctionCall'; -import { ArgumentCompiler } from './ArgumentCompiler'; +import type { ArgumentCompiler } from './ArgumentCompiler'; export class NestedFunctionArgumentCompiler implements ArgumentCompiler { constructor( diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/InlineFunctionCallCompiler.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/InlineFunctionCallCompiler.ts index 442833ca..051184f5 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/InlineFunctionCallCompiler.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/InlineFunctionCallCompiler.ts @@ -1,9 +1,9 @@ import { ExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler'; -import { IExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler'; -import { FunctionBodyType, ISharedFunction } from '@/application/Parser/Script/Compiler/Function/ISharedFunction'; -import { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; -import { CompiledCode } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/CompiledCode'; -import { SingleCallCompilerStrategy } from '../SingleCallCompilerStrategy'; +import type { IExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler'; +import { FunctionBodyType, type ISharedFunction } from '@/application/Parser/Script/Compiler/Function/ISharedFunction'; +import type { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; +import type { CompiledCode } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/CompiledCode'; +import type { SingleCallCompilerStrategy } from '../SingleCallCompilerStrategy'; export class InlineFunctionCallCompiler implements SingleCallCompilerStrategy { public constructor( diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/NestedFunctionCallCompiler.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/NestedFunctionCallCompiler.ts index c1042235..8680f9a0 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/NestedFunctionCallCompiler.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/NestedFunctionCallCompiler.ts @@ -1,10 +1,10 @@ -import { CallFunctionBody, FunctionBodyType, ISharedFunction } from '@/application/Parser/Script/Compiler/Function/ISharedFunction'; -import { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; -import { FunctionCallCompilationContext } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext'; -import { CompiledCode } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/CompiledCode'; -import { SingleCallCompilerStrategy } from '../SingleCallCompilerStrategy'; -import { ArgumentCompiler } from './Argument/ArgumentCompiler'; +import { type CallFunctionBody, FunctionBodyType, type ISharedFunction } from '@/application/Parser/Script/Compiler/Function/ISharedFunction'; +import type { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; +import type { FunctionCallCompilationContext } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext'; +import type { CompiledCode } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/CompiledCode'; import { NestedFunctionArgumentCompiler } from './Argument/NestedFunctionArgumentCompiler'; +import type { SingleCallCompilerStrategy } from '../SingleCallCompilerStrategy'; +import type { ArgumentCompiler } from './Argument/ArgumentCompiler'; export class NestedFunctionCallCompiler implements SingleCallCompilerStrategy { public constructor( diff --git a/src/application/Parser/Script/Compiler/Function/Call/FunctionCall.ts b/src/application/Parser/Script/Compiler/Function/Call/FunctionCall.ts index 0a81c52a..9a1ac232 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/FunctionCall.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/FunctionCall.ts @@ -1,4 +1,4 @@ -import { IReadOnlyFunctionCallArgumentCollection } from './Argument/IFunctionCallArgumentCollection'; +import type { IReadOnlyFunctionCallArgumentCollection } from './Argument/IFunctionCallArgumentCollection'; export interface FunctionCall { readonly functionName: string; diff --git a/src/application/Parser/Script/Compiler/Function/Call/FunctionCallParser.ts b/src/application/Parser/Script/Compiler/Function/Call/FunctionCallParser.ts index 2e613041..fbd66585 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/FunctionCallParser.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/FunctionCallParser.ts @@ -1,9 +1,9 @@ import type { FunctionCallData, FunctionCallsData, FunctionCallParametersData } from '@/application/collections/'; import { isArray, isPlainObject } from '@/TypeHelpers'; -import { FunctionCall } from './FunctionCall'; import { FunctionCallArgumentCollection } from './Argument/FunctionCallArgumentCollection'; import { FunctionCallArgument } from './Argument/FunctionCallArgument'; import { ParsedFunctionCall } from './ParsedFunctionCall'; +import type { FunctionCall } from './FunctionCall'; export function parseFunctionCalls(calls: FunctionCallsData): FunctionCall[] { const sequence = getCallSequence(calls); diff --git a/src/application/Parser/Script/Compiler/Function/Call/ParsedFunctionCall.ts b/src/application/Parser/Script/Compiler/Function/Call/ParsedFunctionCall.ts index e4c7a423..989b2bcf 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/ParsedFunctionCall.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/ParsedFunctionCall.ts @@ -1,5 +1,5 @@ -import { IReadOnlyFunctionCallArgumentCollection } from './Argument/IFunctionCallArgumentCollection'; -import { FunctionCall } from './FunctionCall'; +import type { FunctionCall } from './FunctionCall'; +import type { IReadOnlyFunctionCallArgumentCollection } from './Argument/IFunctionCallArgumentCollection'; export class ParsedFunctionCall implements FunctionCall { constructor( diff --git a/src/application/Parser/Script/Compiler/Function/ISharedFunction.ts b/src/application/Parser/Script/Compiler/Function/ISharedFunction.ts index 2d9d1536..0fdb7b92 100644 --- a/src/application/Parser/Script/Compiler/Function/ISharedFunction.ts +++ b/src/application/Parser/Script/Compiler/Function/ISharedFunction.ts @@ -1,5 +1,5 @@ -import { IReadOnlyFunctionParameterCollection } from './Parameter/IFunctionParameterCollection'; -import { FunctionCall } from './Call/FunctionCall'; +import type { IReadOnlyFunctionParameterCollection } from './Parameter/IFunctionParameterCollection'; +import type { FunctionCall } from './Call/FunctionCall'; export interface ISharedFunction { readonly name: string; diff --git a/src/application/Parser/Script/Compiler/Function/ISharedFunctionCollection.ts b/src/application/Parser/Script/Compiler/Function/ISharedFunctionCollection.ts index d68ef504..dd2a19c4 100644 --- a/src/application/Parser/Script/Compiler/Function/ISharedFunctionCollection.ts +++ b/src/application/Parser/Script/Compiler/Function/ISharedFunctionCollection.ts @@ -1,4 +1,4 @@ -import { ISharedFunction } from './ISharedFunction'; +import type { ISharedFunction } from './ISharedFunction'; export interface ISharedFunctionCollection { getFunctionByName(name: string): ISharedFunction; diff --git a/src/application/Parser/Script/Compiler/Function/ISharedFunctionsParser.ts b/src/application/Parser/Script/Compiler/Function/ISharedFunctionsParser.ts index 56a01b45..30e3ecc9 100644 --- a/src/application/Parser/Script/Compiler/Function/ISharedFunctionsParser.ts +++ b/src/application/Parser/Script/Compiler/Function/ISharedFunctionsParser.ts @@ -1,6 +1,6 @@ import type { FunctionData } from '@/application/collections/'; -import { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; -import { ISharedFunctionCollection } from './ISharedFunctionCollection'; +import type { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; +import type { ISharedFunctionCollection } from './ISharedFunctionCollection'; export interface ISharedFunctionsParser { parseFunctions( diff --git a/src/application/Parser/Script/Compiler/Function/Parameter/FunctionParameter.ts b/src/application/Parser/Script/Compiler/Function/Parameter/FunctionParameter.ts index c0230f5f..a2775c81 100644 --- a/src/application/Parser/Script/Compiler/Function/Parameter/FunctionParameter.ts +++ b/src/application/Parser/Script/Compiler/Function/Parameter/FunctionParameter.ts @@ -1,5 +1,5 @@ import { ensureValidParameterName } from '../Shared/ParameterNameValidator'; -import { IFunctionParameter } from './IFunctionParameter'; +import type { IFunctionParameter } from './IFunctionParameter'; export class FunctionParameter implements IFunctionParameter { constructor( diff --git a/src/application/Parser/Script/Compiler/Function/Parameter/FunctionParameterCollection.ts b/src/application/Parser/Script/Compiler/Function/Parameter/FunctionParameterCollection.ts index d740d1af..ce3b9e5c 100644 --- a/src/application/Parser/Script/Compiler/Function/Parameter/FunctionParameterCollection.ts +++ b/src/application/Parser/Script/Compiler/Function/Parameter/FunctionParameterCollection.ts @@ -1,5 +1,5 @@ -import { IFunctionParameterCollection } from './IFunctionParameterCollection'; -import { IFunctionParameter } from './IFunctionParameter'; +import type { IFunctionParameterCollection } from './IFunctionParameterCollection'; +import type { IFunctionParameter } from './IFunctionParameter'; export class FunctionParameterCollection implements IFunctionParameterCollection { private parameters = new Array(); diff --git a/src/application/Parser/Script/Compiler/Function/Parameter/IFunctionParameterCollection.ts b/src/application/Parser/Script/Compiler/Function/Parameter/IFunctionParameterCollection.ts index bdd33ae4..c024d0ed 100644 --- a/src/application/Parser/Script/Compiler/Function/Parameter/IFunctionParameterCollection.ts +++ b/src/application/Parser/Script/Compiler/Function/Parameter/IFunctionParameterCollection.ts @@ -1,4 +1,4 @@ -import { IFunctionParameter } from './IFunctionParameter'; +import type { IFunctionParameter } from './IFunctionParameter'; export interface IReadOnlyFunctionParameterCollection { readonly all: readonly IFunctionParameter[]; diff --git a/src/application/Parser/Script/Compiler/Function/SharedFunction.ts b/src/application/Parser/Script/Compiler/Function/SharedFunction.ts index 753b5ab5..29261ab8 100644 --- a/src/application/Parser/Script/Compiler/Function/SharedFunction.ts +++ b/src/application/Parser/Script/Compiler/Function/SharedFunction.ts @@ -1,9 +1,8 @@ -import { FunctionCall } from './Call/FunctionCall'; - import { - FunctionBodyType, IFunctionCode, ISharedFunction, SharedFunctionBody, + FunctionBodyType, type IFunctionCode, type ISharedFunction, type SharedFunctionBody, } from './ISharedFunction'; -import { IReadOnlyFunctionParameterCollection } from './Parameter/IFunctionParameterCollection'; +import type { FunctionCall } from './Call/FunctionCall'; +import type { IReadOnlyFunctionParameterCollection } from './Parameter/IFunctionParameterCollection'; export function createCallerFunction( name: string, diff --git a/src/application/Parser/Script/Compiler/Function/SharedFunctionCollection.ts b/src/application/Parser/Script/Compiler/Function/SharedFunctionCollection.ts index 653e796e..c2f6d9b8 100644 --- a/src/application/Parser/Script/Compiler/Function/SharedFunctionCollection.ts +++ b/src/application/Parser/Script/Compiler/Function/SharedFunctionCollection.ts @@ -1,5 +1,5 @@ -import { ISharedFunction } from './ISharedFunction'; -import { ISharedFunctionCollection } from './ISharedFunctionCollection'; +import type { ISharedFunction } from './ISharedFunction'; +import type { ISharedFunctionCollection } from './ISharedFunctionCollection'; export class SharedFunctionCollection implements ISharedFunctionCollection { private readonly functionsByName = new Map(); diff --git a/src/application/Parser/Script/Compiler/Function/SharedFunctionsParser.ts b/src/application/Parser/Script/Compiler/Function/SharedFunctionsParser.ts index 4a9af7cc..60f8d425 100644 --- a/src/application/Parser/Script/Compiler/Function/SharedFunctionsParser.ts +++ b/src/application/Parser/Script/Compiler/Function/SharedFunctionsParser.ts @@ -1,21 +1,21 @@ import type { FunctionData, CodeInstruction, CodeFunctionData, CallFunctionData, CallInstruction, } from '@/application/collections/'; -import { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; +import type { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; import { CodeValidator } from '@/application/Parser/Script/Validation/CodeValidator'; import { NoEmptyLines } from '@/application/Parser/Script/Validation/Rules/NoEmptyLines'; import { NoDuplicatedLines } from '@/application/Parser/Script/Validation/Rules/NoDuplicatedLines'; -import { ICodeValidator } from '@/application/Parser/Script/Validation/ICodeValidator'; +import type { ICodeValidator } from '@/application/Parser/Script/Validation/ICodeValidator'; import { isArray, isNullOrUndefined, isPlainObject } from '@/TypeHelpers'; import { createFunctionWithInlineCode, createCallerFunction } from './SharedFunction'; import { SharedFunctionCollection } from './SharedFunctionCollection'; -import { ISharedFunctionCollection } from './ISharedFunctionCollection'; -import { ISharedFunctionsParser } from './ISharedFunctionsParser'; import { FunctionParameter } from './Parameter/FunctionParameter'; import { FunctionParameterCollection } from './Parameter/FunctionParameterCollection'; -import { IReadOnlyFunctionParameterCollection } from './Parameter/IFunctionParameterCollection'; -import { ISharedFunction } from './ISharedFunction'; import { parseFunctionCalls } from './Call/FunctionCallParser'; +import type { ISharedFunctionCollection } from './ISharedFunctionCollection'; +import type { ISharedFunctionsParser } from './ISharedFunctionsParser'; +import type { IReadOnlyFunctionParameterCollection } from './Parameter/IFunctionParameterCollection'; +import type { ISharedFunction } from './ISharedFunction'; export class SharedFunctionsParser implements ISharedFunctionsParser { public static readonly instance: ISharedFunctionsParser = new SharedFunctionsParser(); diff --git a/src/application/Parser/Script/Compiler/IScriptCompiler.ts b/src/application/Parser/Script/Compiler/IScriptCompiler.ts index e90a8801..9db2d593 100644 --- a/src/application/Parser/Script/Compiler/IScriptCompiler.ts +++ b/src/application/Parser/Script/Compiler/IScriptCompiler.ts @@ -1,5 +1,5 @@ import type { ScriptData } from '@/application/collections/'; -import { IScriptCode } from '@/domain/IScriptCode'; +import type { IScriptCode } from '@/domain/IScriptCode'; export interface IScriptCompiler { canCompile(script: ScriptData): boolean; diff --git a/src/application/Parser/Script/Compiler/ScriptCompiler.ts b/src/application/Parser/Script/Compiler/ScriptCompiler.ts index e333a72b..2e516118 100644 --- a/src/application/Parser/Script/Compiler/ScriptCompiler.ts +++ b/src/application/Parser/Script/Compiler/ScriptCompiler.ts @@ -1,18 +1,18 @@ import type { FunctionData, ScriptData, CallInstruction } from '@/application/collections/'; -import { IScriptCode } from '@/domain/IScriptCode'; +import type { IScriptCode } from '@/domain/IScriptCode'; import { ScriptCode } from '@/domain/ScriptCode'; -import { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; +import type { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; import { CodeValidator } from '@/application/Parser/Script/Validation/CodeValidator'; import { NoEmptyLines } from '@/application/Parser/Script/Validation/Rules/NoEmptyLines'; -import { ICodeValidator } from '@/application/Parser/Script/Validation/ICodeValidator'; -import { IScriptCompiler } from './IScriptCompiler'; -import { ISharedFunctionCollection } from './Function/ISharedFunctionCollection'; -import { FunctionCallSequenceCompiler } from './Function/Call/Compiler/FunctionCallSequenceCompiler'; -import { FunctionCallCompiler } from './Function/Call/Compiler/FunctionCallCompiler'; -import { ISharedFunctionsParser } from './Function/ISharedFunctionsParser'; +import type { ICodeValidator } from '@/application/Parser/Script/Validation/ICodeValidator'; import { SharedFunctionsParser } from './Function/SharedFunctionsParser'; +import { FunctionCallSequenceCompiler } from './Function/Call/Compiler/FunctionCallSequenceCompiler'; import { parseFunctionCalls } from './Function/Call/FunctionCallParser'; -import { CompiledCode } from './Function/Call/Compiler/CompiledCode'; +import type { CompiledCode } from './Function/Call/Compiler/CompiledCode'; +import type { IScriptCompiler } from './IScriptCompiler'; +import type { ISharedFunctionCollection } from './Function/ISharedFunctionCollection'; +import type { FunctionCallCompiler } from './Function/Call/Compiler/FunctionCallCompiler'; +import type { ISharedFunctionsParser } from './Function/ISharedFunctionsParser'; export class ScriptCompiler implements IScriptCompiler { private readonly functions: ISharedFunctionCollection; diff --git a/src/application/Parser/Script/ICategoryCollectionParseContext.ts b/src/application/Parser/Script/ICategoryCollectionParseContext.ts index 0bac0f65..d841ce76 100644 --- a/src/application/Parser/Script/ICategoryCollectionParseContext.ts +++ b/src/application/Parser/Script/ICategoryCollectionParseContext.ts @@ -1,5 +1,5 @@ -import { IScriptCompiler } from './Compiler/IScriptCompiler'; -import { ILanguageSyntax } from './Validation/Syntax/ILanguageSyntax'; +import type { IScriptCompiler } from './Compiler/IScriptCompiler'; +import type { ILanguageSyntax } from './Validation/Syntax/ILanguageSyntax'; export interface ICategoryCollectionParseContext { readonly compiler: IScriptCompiler; diff --git a/src/application/Parser/Script/ScriptParser.ts b/src/application/Parser/Script/ScriptParser.ts index adb3d20f..9db5c64b 100644 --- a/src/application/Parser/Script/ScriptParser.ts +++ b/src/application/Parser/Script/ScriptParser.ts @@ -1,18 +1,18 @@ import type { ScriptData, CodeScriptData, CallScriptData } from '@/application/collections/'; import { NoEmptyLines } from '@/application/Parser/Script/Validation/Rules/NoEmptyLines'; -import { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; +import type { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; import { Script } from '@/domain/Script'; import { RecommendationLevel } from '@/domain/RecommendationLevel'; -import { IScriptCode } from '@/domain/IScriptCode'; +import type { IScriptCode } from '@/domain/IScriptCode'; import { ScriptCode } from '@/domain/ScriptCode'; -import { ICodeValidator } from '@/application/Parser/Script/Validation/ICodeValidator'; +import type { ICodeValidator } from '@/application/Parser/Script/Validation/ICodeValidator'; import { parseDocs } from '../DocumentationParser'; -import { createEnumParser, IEnumParser } from '../../Common/Enum'; +import { createEnumParser, type IEnumParser } from '../../Common/Enum'; import { NodeType } from '../NodeValidation/NodeType'; import { NodeValidator } from '../NodeValidation/NodeValidator'; -import { ICategoryCollectionParseContext } from './ICategoryCollectionParseContext'; import { CodeValidator } from './Validation/CodeValidator'; import { NoDuplicatedLines } from './Validation/Rules/NoDuplicatedLines'; +import type { ICategoryCollectionParseContext } from './ICategoryCollectionParseContext'; export function parseScript( data: ScriptData, diff --git a/src/application/Parser/Script/Validation/CodeValidator.ts b/src/application/Parser/Script/Validation/CodeValidator.ts index 42f3e22d..f3778ab3 100644 --- a/src/application/Parser/Script/Validation/CodeValidator.ts +++ b/src/application/Parser/Script/Validation/CodeValidator.ts @@ -1,6 +1,6 @@ -import { ICodeValidationRule, IInvalidCodeLine } from './ICodeValidationRule'; -import { ICodeValidator } from './ICodeValidator'; -import { ICodeLine } from './ICodeLine'; +import type { ICodeLine } from './ICodeLine'; +import type { ICodeValidationRule, IInvalidCodeLine } from './ICodeValidationRule'; +import type { ICodeValidator } from './ICodeValidator'; export class CodeValidator implements ICodeValidator { public static readonly instance: ICodeValidator = new CodeValidator(); diff --git a/src/application/Parser/Script/Validation/ICodeValidationRule.ts b/src/application/Parser/Script/Validation/ICodeValidationRule.ts index 97843afe..02d3658f 100644 --- a/src/application/Parser/Script/Validation/ICodeValidationRule.ts +++ b/src/application/Parser/Script/Validation/ICodeValidationRule.ts @@ -1,4 +1,4 @@ -import { ICodeLine } from './ICodeLine'; +import type { ICodeLine } from './ICodeLine'; export interface IInvalidCodeLine { readonly index: number; diff --git a/src/application/Parser/Script/Validation/ICodeValidator.ts b/src/application/Parser/Script/Validation/ICodeValidator.ts index 95996739..296f2c30 100644 --- a/src/application/Parser/Script/Validation/ICodeValidator.ts +++ b/src/application/Parser/Script/Validation/ICodeValidator.ts @@ -1,4 +1,4 @@ -import { ICodeValidationRule } from './ICodeValidationRule'; +import type { ICodeValidationRule } from './ICodeValidationRule'; export interface ICodeValidator { throwIfInvalid( diff --git a/src/application/Parser/Script/Validation/Rules/NoDuplicatedLines.ts b/src/application/Parser/Script/Validation/Rules/NoDuplicatedLines.ts index 0d0ce03d..2fa9b06e 100644 --- a/src/application/Parser/Script/Validation/Rules/NoDuplicatedLines.ts +++ b/src/application/Parser/Script/Validation/Rules/NoDuplicatedLines.ts @@ -1,6 +1,6 @@ -import { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; -import { ICodeLine } from '../ICodeLine'; -import { ICodeValidationRule, IInvalidCodeLine } from '../ICodeValidationRule'; +import type { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; +import type { ICodeLine } from '../ICodeLine'; +import type { ICodeValidationRule, IInvalidCodeLine } from '../ICodeValidationRule'; export class NoDuplicatedLines implements ICodeValidationRule { constructor(private readonly syntax: ILanguageSyntax) { } diff --git a/src/application/Parser/Script/Validation/Rules/NoEmptyLines.ts b/src/application/Parser/Script/Validation/Rules/NoEmptyLines.ts index 9d823a1f..4b0861ad 100644 --- a/src/application/Parser/Script/Validation/Rules/NoEmptyLines.ts +++ b/src/application/Parser/Script/Validation/Rules/NoEmptyLines.ts @@ -1,5 +1,5 @@ -import { ICodeLine } from '../ICodeLine'; -import { ICodeValidationRule, IInvalidCodeLine } from '../ICodeValidationRule'; +import type { ICodeValidationRule, IInvalidCodeLine } from '../ICodeValidationRule'; +import type { ICodeLine } from '../ICodeLine'; export class NoEmptyLines implements ICodeValidationRule { public analyze(lines: readonly ICodeLine[]): IInvalidCodeLine[] { diff --git a/src/application/Parser/Script/Validation/Syntax/BatchFileSyntax.ts b/src/application/Parser/Script/Validation/Syntax/BatchFileSyntax.ts index e4c9e7f4..f7913efc 100644 --- a/src/application/Parser/Script/Validation/Syntax/BatchFileSyntax.ts +++ b/src/application/Parser/Script/Validation/Syntax/BatchFileSyntax.ts @@ -1,4 +1,4 @@ -import { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; +import type { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; const BatchFileCommonCodeParts = ['(', ')', 'else', '||']; const PowerShellCommonCodeParts = ['{', '}']; diff --git a/src/application/Parser/Script/Validation/Syntax/ISyntaxFactory.ts b/src/application/Parser/Script/Validation/Syntax/ISyntaxFactory.ts index 292b980d..e3c6bda0 100644 --- a/src/application/Parser/Script/Validation/Syntax/ISyntaxFactory.ts +++ b/src/application/Parser/Script/Validation/Syntax/ISyntaxFactory.ts @@ -1,4 +1,4 @@ -import { IScriptingLanguageFactory } from '@/application/Common/ScriptingLanguage/IScriptingLanguageFactory'; -import { ILanguageSyntax } from './ILanguageSyntax'; +import type { IScriptingLanguageFactory } from '@/application/Common/ScriptingLanguage/IScriptingLanguageFactory'; +import type { ILanguageSyntax } from './ILanguageSyntax'; export type ISyntaxFactory = IScriptingLanguageFactory; diff --git a/src/application/Parser/Script/Validation/Syntax/ShellScriptSyntax.ts b/src/application/Parser/Script/Validation/Syntax/ShellScriptSyntax.ts index 7fa82968..892ffb31 100644 --- a/src/application/Parser/Script/Validation/Syntax/ShellScriptSyntax.ts +++ b/src/application/Parser/Script/Validation/Syntax/ShellScriptSyntax.ts @@ -1,4 +1,4 @@ -import { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; +import type { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; export class ShellScriptSyntax implements ILanguageSyntax { public readonly commentDelimiters = ['#']; diff --git a/src/application/Parser/Script/Validation/Syntax/SyntaxFactory.ts b/src/application/Parser/Script/Validation/Syntax/SyntaxFactory.ts index bf1f37d8..5d981251 100644 --- a/src/application/Parser/Script/Validation/Syntax/SyntaxFactory.ts +++ b/src/application/Parser/Script/Validation/Syntax/SyntaxFactory.ts @@ -1,9 +1,9 @@ import { ScriptingLanguage } from '@/domain/ScriptingLanguage'; import { ScriptingLanguageFactory } from '@/application/Common/ScriptingLanguage/ScriptingLanguageFactory'; -import { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; +import type { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; import { BatchFileSyntax } from './BatchFileSyntax'; import { ShellScriptSyntax } from './ShellScriptSyntax'; -import { ISyntaxFactory } from './ISyntaxFactory'; +import type { ISyntaxFactory } from './ISyntaxFactory'; export class SyntaxFactory extends ScriptingLanguageFactory diff --git a/src/application/Parser/ScriptingDefinition/CodeSubstituter.ts b/src/application/Parser/ScriptingDefinition/CodeSubstituter.ts index 518202c1..82ef3010 100644 --- a/src/application/Parser/ScriptingDefinition/CodeSubstituter.ts +++ b/src/application/Parser/ScriptingDefinition/CodeSubstituter.ts @@ -1,11 +1,11 @@ -import { IExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler'; +import type { IExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler'; import { ParameterSubstitutionParser } from '@/application/Parser/Script/Compiler/Expressions/SyntaxParsers/ParameterSubstitutionParser'; import { CompositeExpressionParser } from '@/application/Parser/Script/Compiler/Expressions/Parser/CompositeExpressionParser'; import { ExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler'; import type { ProjectDetails } from '@/domain/Project/ProjectDetails'; import { FunctionCallArgumentCollection } from '@/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgumentCollection'; import { FunctionCallArgument } from '@/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgument'; -import { ICodeSubstituter } from './ICodeSubstituter'; +import type { ICodeSubstituter } from './ICodeSubstituter'; export class CodeSubstituter implements ICodeSubstituter { constructor( diff --git a/src/application/Parser/ScriptingDefinition/ScriptingDefinitionParser.ts b/src/application/Parser/ScriptingDefinition/ScriptingDefinitionParser.ts index 6a9c2bb5..e8fb465b 100644 --- a/src/application/Parser/ScriptingDefinition/ScriptingDefinitionParser.ts +++ b/src/application/Parser/ScriptingDefinition/ScriptingDefinitionParser.ts @@ -1,11 +1,11 @@ import type { ScriptingDefinitionData } from '@/application/collections/'; -import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; +import type { IScriptingDefinition } from '@/domain/IScriptingDefinition'; import { ScriptingDefinition } from '@/domain/ScriptingDefinition'; import { ScriptingLanguage } from '@/domain/ScriptingLanguage'; import type { ProjectDetails } from '@/domain/Project/ProjectDetails'; import { createEnumParser } from '../../Common/Enum'; -import { ICodeSubstituter } from './ICodeSubstituter'; import { CodeSubstituter } from './CodeSubstituter'; +import type { ICodeSubstituter } from './ICodeSubstituter'; export class ScriptingDefinitionParser { constructor( diff --git a/src/application/Repository/Repository.ts b/src/application/Repository/Repository.ts index dd364978..6232598a 100644 --- a/src/application/Repository/Repository.ts +++ b/src/application/Repository/Repository.ts @@ -1,4 +1,4 @@ -import { IEntity } from '@/infrastructure/Entity/IEntity'; +import type { IEntity } from '@/infrastructure/Entity/IEntity'; export interface ReadonlyRepository> { readonly length: number; diff --git a/src/domain/Application.ts b/src/domain/Application.ts index e6171523..2fc1230d 100644 --- a/src/domain/Application.ts +++ b/src/domain/Application.ts @@ -1,7 +1,7 @@ -import { IApplication } from './IApplication'; -import { ICategoryCollection } from './ICategoryCollection'; -import { ProjectDetails } from './Project/ProjectDetails'; import { OperatingSystem } from './OperatingSystem'; +import type { IApplication } from './IApplication'; +import type { ICategoryCollection } from './ICategoryCollection'; +import type { ProjectDetails } from './Project/ProjectDetails'; export class Application implements IApplication { constructor( diff --git a/src/domain/Category.ts b/src/domain/Category.ts index 2ce6c9d7..38e68b1f 100644 --- a/src/domain/Category.ts +++ b/src/domain/Category.ts @@ -1,6 +1,6 @@ import { BaseEntity } from '../infrastructure/Entity/BaseEntity'; -import { IScript } from './IScript'; -import { ICategory } from './ICategory'; +import type { ICategory } from './ICategory'; +import type { IScript } from './IScript'; export class Category extends BaseEntity implements ICategory { private allSubScripts?: ReadonlyArray = undefined; diff --git a/src/domain/CategoryCollection.ts b/src/domain/CategoryCollection.ts index 83f3b362..ff50d139 100644 --- a/src/domain/CategoryCollection.ts +++ b/src/domain/CategoryCollection.ts @@ -1,11 +1,11 @@ import { getEnumValues, assertInRange } from '@/application/Common/Enum'; -import { IEntity } from '../infrastructure/Entity/IEntity'; -import { ICategory } from './ICategory'; -import { IScript } from './IScript'; import { RecommendationLevel } from './RecommendationLevel'; import { OperatingSystem } from './OperatingSystem'; -import { IScriptingDefinition } from './IScriptingDefinition'; -import { ICategoryCollection } from './ICategoryCollection'; +import type { IEntity } from '../infrastructure/Entity/IEntity'; +import type { ICategory } from './ICategory'; +import type { IScript } from './IScript'; +import type { IScriptingDefinition } from './IScriptingDefinition'; +import type { ICategoryCollection } from './ICategoryCollection'; export class CategoryCollection implements ICategoryCollection { public get totalScripts(): number { return this.queryable.allScripts.length; } diff --git a/src/domain/IApplication.ts b/src/domain/IApplication.ts index 308f9278..0cdf6503 100644 --- a/src/domain/IApplication.ts +++ b/src/domain/IApplication.ts @@ -1,6 +1,6 @@ -import { ICategoryCollection } from './ICategoryCollection'; -import { ProjectDetails } from './Project/ProjectDetails'; -import { OperatingSystem } from './OperatingSystem'; +import type { ICategoryCollection } from './ICategoryCollection'; +import type { ProjectDetails } from './Project/ProjectDetails'; +import type { OperatingSystem } from './OperatingSystem'; export interface IApplication { readonly projectDetails: ProjectDetails; diff --git a/src/domain/ICategory.ts b/src/domain/ICategory.ts index 2413cd09..4cfefe9d 100644 --- a/src/domain/ICategory.ts +++ b/src/domain/ICategory.ts @@ -1,6 +1,6 @@ -import { IEntity } from '../infrastructure/Entity/IEntity'; -import { IScript } from './IScript'; -import { IDocumentable } from './IDocumentable'; +import type { IEntity } from '../infrastructure/Entity/IEntity'; +import type { IScript } from './IScript'; +import type { IDocumentable } from './IDocumentable'; export interface ICategory extends IEntity, IDocumentable { readonly id: number; @@ -11,5 +11,5 @@ export interface ICategory extends IEntity, IDocumentable { getAllScriptsRecursively(): ReadonlyArray; } -export { IEntity } from '../infrastructure/Entity/IEntity'; -export { IScript } from './IScript'; +export type { IEntity } from '../infrastructure/Entity/IEntity'; +export type { IScript } from './IScript'; diff --git a/src/domain/ICategoryCollection.ts b/src/domain/ICategoryCollection.ts index 913d8b00..dd05ebb8 100644 --- a/src/domain/ICategoryCollection.ts +++ b/src/domain/ICategoryCollection.ts @@ -1,8 +1,8 @@ -import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; +import type { IScriptingDefinition } from '@/domain/IScriptingDefinition'; import { OperatingSystem } from '@/domain/OperatingSystem'; import { RecommendationLevel } from '@/domain/RecommendationLevel'; -import { IScript } from '@/domain/IScript'; -import { ICategory } from '@/domain/ICategory'; +import type { IScript } from '@/domain/IScript'; +import type { ICategory } from '@/domain/ICategory'; export interface ICategoryCollection { readonly scripting: IScriptingDefinition; diff --git a/src/domain/IScript.ts b/src/domain/IScript.ts index a02fcc06..5ee1634c 100644 --- a/src/domain/IScript.ts +++ b/src/domain/IScript.ts @@ -1,7 +1,7 @@ -import { IEntity } from '../infrastructure/Entity/IEntity'; -import { IDocumentable } from './IDocumentable'; import { RecommendationLevel } from './RecommendationLevel'; -import { IScriptCode } from './IScriptCode'; +import type { IEntity } from '../infrastructure/Entity/IEntity'; +import type { IDocumentable } from './IDocumentable'; +import type { IScriptCode } from './IScriptCode'; export interface IScript extends IEntity, IDocumentable { readonly name: string; diff --git a/src/domain/Script.ts b/src/domain/Script.ts index a852effc..79ba3cfb 100644 --- a/src/domain/Script.ts +++ b/src/domain/Script.ts @@ -1,7 +1,7 @@ import { BaseEntity } from '@/infrastructure/Entity/BaseEntity'; -import { IScript } from './IScript'; import { RecommendationLevel } from './RecommendationLevel'; -import { IScriptCode } from './IScriptCode'; +import type { IScript } from './IScript'; +import type { IScriptCode } from './IScriptCode'; export class Script extends BaseEntity implements IScript { constructor( diff --git a/src/domain/ScriptCode.ts b/src/domain/ScriptCode.ts index 51eb56bd..08924eb8 100644 --- a/src/domain/ScriptCode.ts +++ b/src/domain/ScriptCode.ts @@ -1,4 +1,4 @@ -import { IScriptCode } from './IScriptCode'; +import type { IScriptCode } from './IScriptCode'; export class ScriptCode implements IScriptCode { constructor( diff --git a/src/domain/ScriptingDefinition.ts b/src/domain/ScriptingDefinition.ts index fe425c25..47a996fb 100644 --- a/src/domain/ScriptingDefinition.ts +++ b/src/domain/ScriptingDefinition.ts @@ -1,5 +1,5 @@ import { ScriptingLanguage } from './ScriptingLanguage'; -import { IScriptingDefinition } from './IScriptingDefinition'; +import type { IScriptingDefinition } from './IScriptingDefinition'; export class ScriptingDefinition implements IScriptingDefinition { public readonly fileExtension: string; diff --git a/src/infrastructure/CodeRunner/Creation/Directory/PersistentDirectoryProvider.ts b/src/infrastructure/CodeRunner/Creation/Directory/PersistentDirectoryProvider.ts index 023015c8..8b2b1e44 100644 --- a/src/infrastructure/CodeRunner/Creation/Directory/PersistentDirectoryProvider.ts +++ b/src/infrastructure/CodeRunner/Creation/Directory/PersistentDirectoryProvider.ts @@ -1,9 +1,9 @@ -import { Logger } from '@/application/Common/Log/Logger'; +import type { Logger } from '@/application/Common/Log/Logger'; import { ElectronLogger } from '@/infrastructure/Log/ElectronLogger'; -import { CodeRunError, CodeRunErrorType } from '@/application/CodeRunner/CodeRunner'; -import { SystemOperations } from '../../System/SystemOperations'; +import type { CodeRunError, CodeRunErrorType } from '@/application/CodeRunner/CodeRunner'; import { NodeElectronSystemOperations } from '../../System/NodeElectronSystemOperations'; -import { ScriptDirectoryOutcome, ScriptDirectoryProvider } from './ScriptDirectoryProvider'; +import type { SystemOperations } from '../../System/SystemOperations'; +import type { ScriptDirectoryOutcome, ScriptDirectoryProvider } from './ScriptDirectoryProvider'; export const ExecutionSubdirectory = 'runs'; diff --git a/src/infrastructure/CodeRunner/Creation/Directory/ScriptDirectoryProvider.ts b/src/infrastructure/CodeRunner/Creation/Directory/ScriptDirectoryProvider.ts index 5a09f305..c15980ea 100644 --- a/src/infrastructure/CodeRunner/Creation/Directory/ScriptDirectoryProvider.ts +++ b/src/infrastructure/CodeRunner/Creation/Directory/ScriptDirectoryProvider.ts @@ -1,4 +1,4 @@ -import { CodeRunError } from '@/application/CodeRunner/CodeRunner'; +import type { CodeRunError } from '@/application/CodeRunner/CodeRunner'; export interface ScriptDirectoryProvider { provideScriptDirectory(): Promise; diff --git a/src/infrastructure/CodeRunner/Creation/Filename/FilenameGenerator.ts b/src/infrastructure/CodeRunner/Creation/Filename/FilenameGenerator.ts index b03f173c..f95202f1 100644 --- a/src/infrastructure/CodeRunner/Creation/Filename/FilenameGenerator.ts +++ b/src/infrastructure/CodeRunner/Creation/Filename/FilenameGenerator.ts @@ -1,4 +1,4 @@ -import { ScriptFilenameParts } from '../ScriptFileCreator'; +import type { ScriptFilenameParts } from '../ScriptFileCreator'; export interface FilenameGenerator { generateFilename(scriptFilenameParts: ScriptFilenameParts): string; diff --git a/src/infrastructure/CodeRunner/Creation/Filename/TimestampedFilenameGenerator.ts b/src/infrastructure/CodeRunner/Creation/Filename/TimestampedFilenameGenerator.ts index c7626c31..b876424f 100644 --- a/src/infrastructure/CodeRunner/Creation/Filename/TimestampedFilenameGenerator.ts +++ b/src/infrastructure/CodeRunner/Creation/Filename/TimestampedFilenameGenerator.ts @@ -1,5 +1,5 @@ -import { ScriptFilenameParts } from '../ScriptFileCreator'; -import { FilenameGenerator } from './FilenameGenerator'; +import type { FilenameGenerator } from './FilenameGenerator'; +import type { ScriptFilenameParts } from '../ScriptFileCreator'; export class TimestampedFilenameGenerator implements FilenameGenerator { public generateFilename( diff --git a/src/infrastructure/CodeRunner/Creation/ScriptFileCreationOrchestrator.ts b/src/infrastructure/CodeRunner/Creation/ScriptFileCreationOrchestrator.ts index abad6da6..d2bd469c 100644 --- a/src/infrastructure/CodeRunner/Creation/ScriptFileCreationOrchestrator.ts +++ b/src/infrastructure/CodeRunner/Creation/ScriptFileCreationOrchestrator.ts @@ -1,15 +1,15 @@ import { ElectronLogger } from '@/infrastructure/Log/ElectronLogger'; -import { Logger } from '@/application/Common/Log/Logger'; -import { CodeRunError, CodeRunErrorType } from '@/application/CodeRunner/CodeRunner'; -import { FileReadbackVerificationErrors, ReadbackFileWriter } from '@/infrastructure/ReadbackFileWriter/ReadbackFileWriter'; +import type { Logger } from '@/application/Common/Log/Logger'; +import type { CodeRunError, CodeRunErrorType } from '@/application/CodeRunner/CodeRunner'; +import { FileReadbackVerificationErrors, type ReadbackFileWriter } from '@/infrastructure/ReadbackFileWriter/ReadbackFileWriter'; import { NodeReadbackFileWriter } from '@/infrastructure/ReadbackFileWriter/NodeReadbackFileWriter'; -import { SystemOperations } from '../System/SystemOperations'; import { NodeElectronSystemOperations } from '../System/NodeElectronSystemOperations'; -import { FilenameGenerator } from './Filename/FilenameGenerator'; -import { ScriptFilenameParts, ScriptFileCreator, ScriptFileCreationOutcome } from './ScriptFileCreator'; import { TimestampedFilenameGenerator } from './Filename/TimestampedFilenameGenerator'; -import { ScriptDirectoryProvider } from './Directory/ScriptDirectoryProvider'; import { PersistentDirectoryProvider } from './Directory/PersistentDirectoryProvider'; +import type { SystemOperations } from '../System/SystemOperations'; +import type { FilenameGenerator } from './Filename/FilenameGenerator'; +import type { ScriptFilenameParts, ScriptFileCreator, ScriptFileCreationOutcome } from './ScriptFileCreator'; +import type { ScriptDirectoryProvider } from './Directory/ScriptDirectoryProvider'; export class ScriptFileCreationOrchestrator implements ScriptFileCreator { constructor( diff --git a/src/infrastructure/CodeRunner/Creation/ScriptFileCreator.ts b/src/infrastructure/CodeRunner/Creation/ScriptFileCreator.ts index 3ab60422..5d5af30f 100644 --- a/src/infrastructure/CodeRunner/Creation/ScriptFileCreator.ts +++ b/src/infrastructure/CodeRunner/Creation/ScriptFileCreator.ts @@ -1,4 +1,4 @@ -import { CodeRunError } from '@/application/CodeRunner/CodeRunner'; +import type { CodeRunError } from '@/application/CodeRunner/CodeRunner'; export interface ScriptFileCreator { createScriptFile( diff --git a/src/infrastructure/CodeRunner/Execution/ScriptFileExecutor.ts b/src/infrastructure/CodeRunner/Execution/ScriptFileExecutor.ts index b2de5f01..e44019a2 100644 --- a/src/infrastructure/CodeRunner/Execution/ScriptFileExecutor.ts +++ b/src/infrastructure/CodeRunner/Execution/ScriptFileExecutor.ts @@ -1,4 +1,4 @@ -import { CodeRunError } from '@/application/CodeRunner/CodeRunner'; +import type { CodeRunError } from '@/application/CodeRunner/CodeRunner'; export interface ScriptFileExecutor { executeScriptFile(filePath: string): Promise; diff --git a/src/infrastructure/CodeRunner/Execution/VisibleTerminalScriptFileExecutor.ts b/src/infrastructure/CodeRunner/Execution/VisibleTerminalScriptFileExecutor.ts index 882bbe90..2289ec6c 100644 --- a/src/infrastructure/CodeRunner/Execution/VisibleTerminalScriptFileExecutor.ts +++ b/src/infrastructure/CodeRunner/Execution/VisibleTerminalScriptFileExecutor.ts @@ -1,13 +1,13 @@ import { OperatingSystem } from '@/domain/OperatingSystem'; -import { CommandOps, SystemOperations } from '@/infrastructure/CodeRunner/System/SystemOperations'; -import { Logger } from '@/application/Common/Log/Logger'; +import type { CommandOps, SystemOperations } from '@/infrastructure/CodeRunner/System/SystemOperations'; +import type { Logger } from '@/application/Common/Log/Logger'; import { ElectronLogger } from '@/infrastructure/Log/ElectronLogger'; -import { RuntimeEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironment'; +import type { RuntimeEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironment'; import { NodeElectronSystemOperations } from '@/infrastructure/CodeRunner/System/NodeElectronSystemOperations'; import { CurrentEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironmentFactory'; -import { CodeRunErrorType } from '@/application/CodeRunner/CodeRunner'; +import type { CodeRunErrorType } from '@/application/CodeRunner/CodeRunner'; import { isString } from '@/TypeHelpers'; -import { FailedScriptFileExecution, ScriptFileExecutionOutcome, ScriptFileExecutor } from './ScriptFileExecutor'; +import type { FailedScriptFileExecution, ScriptFileExecutionOutcome, ScriptFileExecutor } from './ScriptFileExecutor'; export class VisibleTerminalScriptExecutor implements ScriptFileExecutor { constructor( diff --git a/src/infrastructure/CodeRunner/ScriptFileCodeRunner.ts b/src/infrastructure/CodeRunner/ScriptFileCodeRunner.ts index f330d29d..20965bbc 100644 --- a/src/infrastructure/CodeRunner/ScriptFileCodeRunner.ts +++ b/src/infrastructure/CodeRunner/ScriptFileCodeRunner.ts @@ -1,13 +1,13 @@ -import { Logger } from '@/application/Common/Log/Logger'; +import type { Logger } from '@/application/Common/Log/Logger'; import { ScriptFilename } from '@/application/CodeRunner/ScriptFilename'; -import { +import type { CodeRunError, CodeRunOutcome, CodeRunner, FailedCodeRun, } from '@/application/CodeRunner/CodeRunner'; import { ElectronLogger } from '../Log/ElectronLogger'; -import { ScriptFileExecutor } from './Execution/ScriptFileExecutor'; -import { ScriptFileCreator } from './Creation/ScriptFileCreator'; -import { ScriptFileCreationOrchestrator } from './Creation/ScriptFileCreationOrchestrator'; import { VisibleTerminalScriptExecutor } from './Execution/VisibleTerminalScriptFileExecutor'; +import { ScriptFileCreationOrchestrator } from './Creation/ScriptFileCreationOrchestrator'; +import type { ScriptFileExecutor } from './Execution/ScriptFileExecutor'; +import type { ScriptFileCreator } from './Creation/ScriptFileCreator'; export class ScriptFileCodeRunner implements CodeRunner { constructor( diff --git a/src/infrastructure/CodeRunner/System/NodeElectronSystemOperations.ts b/src/infrastructure/CodeRunner/System/NodeElectronSystemOperations.ts index e3eea4c3..6892c1ed 100644 --- a/src/infrastructure/CodeRunner/System/NodeElectronSystemOperations.ts +++ b/src/infrastructure/CodeRunner/System/NodeElectronSystemOperations.ts @@ -2,7 +2,7 @@ import { join } from 'node:path'; import { chmod, mkdir } from 'node:fs/promises'; import { exec } from 'node:child_process'; import { app } from 'electron/main'; -import { +import type { CommandOps, FileSystemOps, LocationOps, OperatingSystemOps, SystemOperations, } from './SystemOperations'; diff --git a/src/infrastructure/Dialog/Browser/BrowserDialog.ts b/src/infrastructure/Dialog/Browser/BrowserDialog.ts index d08de04d..bbb2dcc7 100644 --- a/src/infrastructure/Dialog/Browser/BrowserDialog.ts +++ b/src/infrastructure/Dialog/Browser/BrowserDialog.ts @@ -1,6 +1,6 @@ -import { Dialog, FileType, SaveFileOutcome } from '@/presentation/common/Dialog'; +import type { Dialog, FileType, SaveFileOutcome } from '@/presentation/common/Dialog'; import { FileSaverDialog } from './FileSaverDialog'; -import { BrowserSaveFileDialog } from './BrowserSaveFileDialog'; +import type { BrowserSaveFileDialog } from './BrowserSaveFileDialog'; export class BrowserDialog implements Dialog { constructor( diff --git a/src/infrastructure/Dialog/Browser/BrowserSaveFileDialog.ts b/src/infrastructure/Dialog/Browser/BrowserSaveFileDialog.ts index c32d9dbb..c899f323 100644 --- a/src/infrastructure/Dialog/Browser/BrowserSaveFileDialog.ts +++ b/src/infrastructure/Dialog/Browser/BrowserSaveFileDialog.ts @@ -1,4 +1,4 @@ -import { FileType, SaveFileOutcome } from '@/presentation/common/Dialog'; +import type { FileType, SaveFileOutcome } from '@/presentation/common/Dialog'; export interface BrowserSaveFileDialog { saveFile( diff --git a/src/infrastructure/Dialog/Browser/FileSaverDialog.ts b/src/infrastructure/Dialog/Browser/FileSaverDialog.ts index 6c4078dd..b29e565d 100644 --- a/src/infrastructure/Dialog/Browser/FileSaverDialog.ts +++ b/src/infrastructure/Dialog/Browser/FileSaverDialog.ts @@ -1,6 +1,6 @@ import fileSaver from 'file-saver'; -import { FileType, SaveFileOutcome } from '@/presentation/common/Dialog'; -import { BrowserSaveFileDialog } from './BrowserSaveFileDialog'; +import { FileType, type SaveFileOutcome } from '@/presentation/common/Dialog'; +import type { BrowserSaveFileDialog } from './BrowserSaveFileDialog'; export type SaveAsFunction = (data: Blob, filename?: string) => void; diff --git a/src/infrastructure/Dialog/Electron/ElectronDialog.ts b/src/infrastructure/Dialog/Electron/ElectronDialog.ts index c5922f8e..08d7b2b5 100644 --- a/src/infrastructure/Dialog/Electron/ElectronDialog.ts +++ b/src/infrastructure/Dialog/Electron/ElectronDialog.ts @@ -1,7 +1,7 @@ import { dialog } from 'electron/main'; -import { Dialog, FileType, SaveFileOutcome } from '@/presentation/common/Dialog'; +import type { Dialog, FileType, SaveFileOutcome } from '@/presentation/common/Dialog'; import { NodeElectronSaveFileDialog } from './NodeElectronSaveFileDialog'; -import { ElectronSaveFileDialog } from './ElectronSaveFileDialog'; +import type { ElectronSaveFileDialog } from './ElectronSaveFileDialog'; export class ElectronDialog implements Dialog { constructor( diff --git a/src/infrastructure/Dialog/Electron/ElectronSaveFileDialog.ts b/src/infrastructure/Dialog/Electron/ElectronSaveFileDialog.ts index 905b84f1..fb81c272 100644 --- a/src/infrastructure/Dialog/Electron/ElectronSaveFileDialog.ts +++ b/src/infrastructure/Dialog/Electron/ElectronSaveFileDialog.ts @@ -1,4 +1,4 @@ -import { FileType, SaveFileOutcome } from '@/presentation/common/Dialog'; +import type { FileType, SaveFileOutcome } from '@/presentation/common/Dialog'; export interface ElectronSaveFileDialog { saveFile( diff --git a/src/infrastructure/Dialog/Electron/NodeElectronSaveFileDialog.ts b/src/infrastructure/Dialog/Electron/NodeElectronSaveFileDialog.ts index 9ff98087..5cb91799 100644 --- a/src/infrastructure/Dialog/Electron/NodeElectronSaveFileDialog.ts +++ b/src/infrastructure/Dialog/Electron/NodeElectronSaveFileDialog.ts @@ -1,13 +1,13 @@ import { join } from 'node:path'; import { app, dialog } from 'electron/main'; -import { Logger } from '@/application/Common/Log/Logger'; +import type { Logger } from '@/application/Common/Log/Logger'; import { ElectronLogger } from '@/infrastructure/Log/ElectronLogger'; import { - FileType, SaveFileError, SaveFileErrorType, SaveFileOutcome, + FileType, type SaveFileError, type SaveFileErrorType, type SaveFileOutcome, } from '@/presentation/common/Dialog'; -import { FileReadbackVerificationErrors, ReadbackFileWriter } from '@/infrastructure/ReadbackFileWriter/ReadbackFileWriter'; +import { FileReadbackVerificationErrors, type ReadbackFileWriter } from '@/infrastructure/ReadbackFileWriter/ReadbackFileWriter'; import { NodeReadbackFileWriter } from '@/infrastructure/ReadbackFileWriter/NodeReadbackFileWriter'; -import { ElectronSaveFileDialog } from './ElectronSaveFileDialog'; +import type { ElectronSaveFileDialog } from './ElectronSaveFileDialog'; export class NodeElectronSaveFileDialog implements ElectronSaveFileDialog { constructor( @@ -16,7 +16,7 @@ export class NodeElectronSaveFileDialog implements ElectronSaveFileDialog { getUserDownloadsPath: () => app.getPath('downloads'), showSaveDialog: dialog.showSaveDialog.bind(dialog), }, - private readonly node: NodeFileOperations = { join }, + private readonly node: NodePathOperations = { join }, private readonly fileWriter: ReadbackFileWriter = new NodeReadbackFileWriter(), ) { } @@ -136,7 +136,7 @@ export interface ElectronFileDialogOperations { showSaveDialog(options: Electron.SaveDialogOptions): Promise; } -export interface NodeFileOperations { +export interface NodePathOperations { readonly join: typeof join; } diff --git a/src/infrastructure/Dialog/LoggingDialogDecorator.ts b/src/infrastructure/Dialog/LoggingDialogDecorator.ts index 580be3ca..66ec5d4a 100644 --- a/src/infrastructure/Dialog/LoggingDialogDecorator.ts +++ b/src/infrastructure/Dialog/LoggingDialogDecorator.ts @@ -1,5 +1,5 @@ -import { Logger } from '@/application/Common/Log/Logger'; -import { Dialog, FileType } from '@/presentation/common/Dialog'; +import type { Logger } from '@/application/Common/Log/Logger'; +import type { Dialog, FileType } from '@/presentation/common/Dialog'; export function decorateWithLogging( dialog: Dialog, diff --git a/src/infrastructure/Entity/BaseEntity.ts b/src/infrastructure/Entity/BaseEntity.ts index 5c3958cf..caa212aa 100644 --- a/src/infrastructure/Entity/BaseEntity.ts +++ b/src/infrastructure/Entity/BaseEntity.ts @@ -1,5 +1,5 @@ import { isNumber } from '@/TypeHelpers'; -import { IEntity } from './IEntity'; +import type { IEntity } from './IEntity'; export abstract class BaseEntity implements IEntity { protected constructor(public id: TId) { diff --git a/src/infrastructure/EnvironmentVariables/EnvironmentVariablesFactory.ts b/src/infrastructure/EnvironmentVariables/EnvironmentVariablesFactory.ts index 9d333623..2579f897 100644 --- a/src/infrastructure/EnvironmentVariables/EnvironmentVariablesFactory.ts +++ b/src/infrastructure/EnvironmentVariables/EnvironmentVariablesFactory.ts @@ -1,7 +1,7 @@ -import { IEnvironmentVariablesFactory } from './IEnvironmentVariablesFactory'; import { validateEnvironmentVariables } from './EnvironmentVariablesValidator'; import { ViteEnvironmentVariables } from './Vite/ViteEnvironmentVariables'; -import { IEnvironmentVariables } from './IEnvironmentVariables'; +import type { IEnvironmentVariablesFactory } from './IEnvironmentVariablesFactory'; +import type { IEnvironmentVariables } from './IEnvironmentVariables'; export class EnvironmentVariablesFactory implements IEnvironmentVariablesFactory { public static readonly Current = new EnvironmentVariablesFactory(); diff --git a/src/infrastructure/EnvironmentVariables/EnvironmentVariablesValidator.ts b/src/infrastructure/EnvironmentVariables/EnvironmentVariablesValidator.ts index 4b20ae17..9e03ca87 100644 --- a/src/infrastructure/EnvironmentVariables/EnvironmentVariablesValidator.ts +++ b/src/infrastructure/EnvironmentVariables/EnvironmentVariablesValidator.ts @@ -1,5 +1,5 @@ import { isBoolean, isFunction } from '@/TypeHelpers'; -import { IEnvironmentVariables } from './IEnvironmentVariables'; +import type { IEnvironmentVariables } from './IEnvironmentVariables'; /* Validation is externalized to keep the environment objects simple */ export function validateEnvironmentVariables(environment: IEnvironmentVariables): void { diff --git a/src/infrastructure/EnvironmentVariables/IEnvironmentVariables.ts b/src/infrastructure/EnvironmentVariables/IEnvironmentVariables.ts index 0255655f..139abf9c 100644 --- a/src/infrastructure/EnvironmentVariables/IEnvironmentVariables.ts +++ b/src/infrastructure/EnvironmentVariables/IEnvironmentVariables.ts @@ -1,4 +1,4 @@ -import { IAppMetadata } from './IAppMetadata'; +import type { IAppMetadata } from './IAppMetadata'; /** * Designed to decouple the process of retrieving environment variables diff --git a/src/infrastructure/EnvironmentVariables/IEnvironmentVariablesFactory.ts b/src/infrastructure/EnvironmentVariables/IEnvironmentVariablesFactory.ts index 26d1e569..058ab07e 100644 --- a/src/infrastructure/EnvironmentVariables/IEnvironmentVariablesFactory.ts +++ b/src/infrastructure/EnvironmentVariables/IEnvironmentVariablesFactory.ts @@ -1,4 +1,4 @@ -import { IEnvironmentVariables } from './IEnvironmentVariables'; +import type { IEnvironmentVariables } from './IEnvironmentVariables'; export interface IEnvironmentVariablesFactory { readonly instance: IEnvironmentVariables; diff --git a/src/infrastructure/EnvironmentVariables/Vite/ViteEnvironmentVariables.ts b/src/infrastructure/EnvironmentVariables/Vite/ViteEnvironmentVariables.ts index 2d3f5b70..686b35b4 100644 --- a/src/infrastructure/EnvironmentVariables/Vite/ViteEnvironmentVariables.ts +++ b/src/infrastructure/EnvironmentVariables/Vite/ViteEnvironmentVariables.ts @@ -1,4 +1,4 @@ -import { IEnvironmentVariables } from '../IEnvironmentVariables'; +import type { IEnvironmentVariables } from '../IEnvironmentVariables'; /** * Provides the application's environment variables. diff --git a/src/infrastructure/Events/EventSource.ts b/src/infrastructure/Events/EventSource.ts index b302d784..0c23b1bf 100644 --- a/src/infrastructure/Events/EventSource.ts +++ b/src/infrastructure/Events/EventSource.ts @@ -1,4 +1,4 @@ -import { EventHandler, IEventSource, IEventSubscription } from './IEventSource'; +import type { EventHandler, IEventSource, IEventSubscription } from './IEventSource'; export class EventSource implements IEventSource { private handlers = new Map>(); diff --git a/src/infrastructure/Events/EventSubscriptionCollection.ts b/src/infrastructure/Events/EventSubscriptionCollection.ts index 0d299f08..35e49ce4 100644 --- a/src/infrastructure/Events/EventSubscriptionCollection.ts +++ b/src/infrastructure/Events/EventSubscriptionCollection.ts @@ -1,5 +1,5 @@ -import { IEventSubscriptionCollection } from './IEventSubscriptionCollection'; -import { IEventSubscription } from './IEventSource'; +import type { IEventSubscriptionCollection } from './IEventSubscriptionCollection'; +import type { IEventSubscription } from './IEventSource'; export class EventSubscriptionCollection implements IEventSubscriptionCollection { private readonly subscriptions = new Array(); diff --git a/src/infrastructure/Events/IEventSubscriptionCollection.ts b/src/infrastructure/Events/IEventSubscriptionCollection.ts index 1836cc4e..4fa0a2af 100644 --- a/src/infrastructure/Events/IEventSubscriptionCollection.ts +++ b/src/infrastructure/Events/IEventSubscriptionCollection.ts @@ -1,4 +1,4 @@ -import { IEventSubscription } from '@/infrastructure/Events/IEventSource'; +import type { IEventSubscription } from '@/infrastructure/Events/IEventSource'; export interface IEventSubscriptionCollection { readonly subscriptionCount: number; diff --git a/src/infrastructure/Log/ConsoleLogger.ts b/src/infrastructure/Log/ConsoleLogger.ts index 3a417671..2dc20497 100644 --- a/src/infrastructure/Log/ConsoleLogger.ts +++ b/src/infrastructure/Log/ConsoleLogger.ts @@ -1,4 +1,4 @@ -import { Logger } from '@/application/Common/Log/Logger'; +import type { Logger } from '@/application/Common/Log/Logger'; export class ConsoleLogger implements Logger { constructor(private readonly consoleProxy: ConsoleLogFunctions = globalThis.console) { diff --git a/src/infrastructure/Log/ElectronLogger.ts b/src/infrastructure/Log/ElectronLogger.ts index c25f68e9..4b1e10f3 100644 --- a/src/infrastructure/Log/ElectronLogger.ts +++ b/src/infrastructure/Log/ElectronLogger.ts @@ -1,5 +1,5 @@ import log from 'electron-log/main'; -import { Logger } from '@/application/Common/Log/Logger'; +import type { Logger } from '@/application/Common/Log/Logger'; import type { LogFunctions } from 'electron-log'; export function createElectronLogger(logger: LogFunctions = log): Logger { diff --git a/src/infrastructure/Log/NoopLogger.ts b/src/infrastructure/Log/NoopLogger.ts index e9c6e858..8954de9b 100644 --- a/src/infrastructure/Log/NoopLogger.ts +++ b/src/infrastructure/Log/NoopLogger.ts @@ -1,4 +1,4 @@ -import { Logger } from '@/application/Common/Log/Logger'; +import type { Logger } from '@/application/Common/Log/Logger'; export class NoopLogger implements Logger { public info(): void { /* NOOP */ } diff --git a/src/infrastructure/Log/WindowInjectedLogger.ts b/src/infrastructure/Log/WindowInjectedLogger.ts index cf4e172a..64b90743 100644 --- a/src/infrastructure/Log/WindowInjectedLogger.ts +++ b/src/infrastructure/Log/WindowInjectedLogger.ts @@ -1,5 +1,5 @@ -import { Logger } from '@/application/Common/Log/Logger'; -import { WindowVariables } from '../WindowVariables/WindowVariables'; +import type { Logger } from '@/application/Common/Log/Logger'; +import type { WindowVariables } from '../WindowVariables/WindowVariables'; export class WindowInjectedLogger implements Logger { private readonly logger: Logger; diff --git a/src/infrastructure/ReadbackFileWriter/NodeReadbackFileWriter.ts b/src/infrastructure/ReadbackFileWriter/NodeReadbackFileWriter.ts index ea5042ed..36ca12b6 100644 --- a/src/infrastructure/ReadbackFileWriter/NodeReadbackFileWriter.ts +++ b/src/infrastructure/ReadbackFileWriter/NodeReadbackFileWriter.ts @@ -1,8 +1,8 @@ import { writeFile, access, readFile } from 'node:fs/promises'; import { constants } from 'node:fs'; -import { Logger } from '@/application/Common/Log/Logger'; +import type { Logger } from '@/application/Common/Log/Logger'; import { ElectronLogger } from '../Log/ElectronLogger'; -import { +import type { FailedFileWrite, ReadbackFileWriter, FileWriteErrorType, FileWriteOutcome, SuccessfulFileWrite, } from './ReadbackFileWriter'; diff --git a/src/infrastructure/Repository/InMemoryRepository.ts b/src/infrastructure/Repository/InMemoryRepository.ts index 597fadb8..b0051673 100644 --- a/src/infrastructure/Repository/InMemoryRepository.ts +++ b/src/infrastructure/Repository/InMemoryRepository.ts @@ -1,5 +1,5 @@ -import { IEntity } from '../Entity/IEntity'; -import { Repository } from '../../application/Repository/Repository'; +import type { Repository } from '../../application/Repository/Repository'; +import type { IEntity } from '../Entity/IEntity'; export class InMemoryRepository> implements Repository { diff --git a/src/infrastructure/RuntimeEnvironment/Browser/BrowserOs/BrowserConditions.ts b/src/infrastructure/RuntimeEnvironment/Browser/BrowserOs/BrowserConditions.ts index 68276b72..d6adb56f 100644 --- a/src/infrastructure/RuntimeEnvironment/Browser/BrowserOs/BrowserConditions.ts +++ b/src/infrastructure/RuntimeEnvironment/Browser/BrowserOs/BrowserConditions.ts @@ -1,5 +1,5 @@ import { OperatingSystem } from '@/domain/OperatingSystem'; -import { BrowserCondition, TouchSupportExpectation } from './BrowserCondition'; +import { type BrowserCondition, TouchSupportExpectation } from './BrowserCondition'; // They include "Android", "iPhone" in their user agents. const WindowsMobileIdentifiers: readonly string[] = [ diff --git a/src/infrastructure/RuntimeEnvironment/Browser/BrowserOs/ConditionBasedOsDetector.ts b/src/infrastructure/RuntimeEnvironment/Browser/BrowserOs/ConditionBasedOsDetector.ts index f7f28261..102c1fa8 100644 --- a/src/infrastructure/RuntimeEnvironment/Browser/BrowserOs/ConditionBasedOsDetector.ts +++ b/src/infrastructure/RuntimeEnvironment/Browser/BrowserOs/ConditionBasedOsDetector.ts @@ -1,8 +1,8 @@ import { OperatingSystem } from '@/domain/OperatingSystem'; import { assertInRange } from '@/application/Common/Enum'; -import { BrowserEnvironment, BrowserOsDetector } from './BrowserOsDetector'; -import { BrowserCondition, TouchSupportExpectation } from './BrowserCondition'; +import { type BrowserCondition, TouchSupportExpectation } from './BrowserCondition'; import { BrowserConditions } from './BrowserConditions'; +import type { BrowserEnvironment, BrowserOsDetector } from './BrowserOsDetector'; export class ConditionBasedOsDetector implements BrowserOsDetector { constructor(private readonly conditions: readonly BrowserCondition[] = BrowserConditions) { diff --git a/src/infrastructure/RuntimeEnvironment/Browser/BrowserRuntimeEnvironment.ts b/src/infrastructure/RuntimeEnvironment/Browser/BrowserRuntimeEnvironment.ts index ba8c28f9..b954dc7f 100644 --- a/src/infrastructure/RuntimeEnvironment/Browser/BrowserRuntimeEnvironment.ts +++ b/src/infrastructure/RuntimeEnvironment/Browser/BrowserRuntimeEnvironment.ts @@ -1,10 +1,10 @@ import { OperatingSystem } from '@/domain/OperatingSystem'; -import { IEnvironmentVariables } from '@/infrastructure/EnvironmentVariables/IEnvironmentVariables'; +import type { IEnvironmentVariables } from '@/infrastructure/EnvironmentVariables/IEnvironmentVariables'; import { EnvironmentVariablesFactory } from '@/infrastructure/EnvironmentVariables/EnvironmentVariablesFactory'; -import { RuntimeEnvironment } from '../RuntimeEnvironment'; import { ConditionBasedOsDetector } from './BrowserOs/ConditionBasedOsDetector'; -import { BrowserEnvironment, BrowserOsDetector } from './BrowserOs/BrowserOsDetector'; import { isTouchEnabledDevice } from './TouchSupportDetection'; +import type { RuntimeEnvironment } from '../RuntimeEnvironment'; +import type { BrowserEnvironment, BrowserOsDetector } from './BrowserOs/BrowserOsDetector'; export class BrowserRuntimeEnvironment implements RuntimeEnvironment { public readonly isRunningAsDesktopApplication: boolean; diff --git a/src/infrastructure/RuntimeEnvironment/Electron/ContextIsolatedElectronDetector.ts b/src/infrastructure/RuntimeEnvironment/Electron/ContextIsolatedElectronDetector.ts index 8566573b..408a105c 100644 --- a/src/infrastructure/RuntimeEnvironment/Electron/ContextIsolatedElectronDetector.ts +++ b/src/infrastructure/RuntimeEnvironment/Electron/ContextIsolatedElectronDetector.ts @@ -1,4 +1,4 @@ -import { ElectronEnvironmentDetector, ElectronProcessType } from './ElectronEnvironmentDetector'; +import type { ElectronEnvironmentDetector, ElectronProcessType } from './ElectronEnvironmentDetector'; export class ContextIsolatedElectronDetector implements ElectronEnvironmentDetector { constructor( diff --git a/src/infrastructure/RuntimeEnvironment/Node/NodeRuntimeEnvironment.ts b/src/infrastructure/RuntimeEnvironment/Node/NodeRuntimeEnvironment.ts index fc7742b2..f2df038b 100644 --- a/src/infrastructure/RuntimeEnvironment/Node/NodeRuntimeEnvironment.ts +++ b/src/infrastructure/RuntimeEnvironment/Node/NodeRuntimeEnvironment.ts @@ -1,6 +1,6 @@ import { OperatingSystem } from '@/domain/OperatingSystem'; -import { RuntimeEnvironment } from '../RuntimeEnvironment'; import { convertPlatformToOs } from './NodeOsMapper'; +import type { RuntimeEnvironment } from '../RuntimeEnvironment'; export class NodeRuntimeEnvironment implements RuntimeEnvironment { public readonly isRunningAsDesktopApplication: boolean; diff --git a/src/infrastructure/RuntimeEnvironment/RuntimeEnvironmentFactory.ts b/src/infrastructure/RuntimeEnvironment/RuntimeEnvironmentFactory.ts index c27d96c7..4e8434ee 100644 --- a/src/infrastructure/RuntimeEnvironment/RuntimeEnvironmentFactory.ts +++ b/src/infrastructure/RuntimeEnvironment/RuntimeEnvironmentFactory.ts @@ -1,8 +1,8 @@ -import { ElectronEnvironmentDetector } from './Electron/ElectronEnvironmentDetector'; import { BrowserRuntimeEnvironment } from './Browser/BrowserRuntimeEnvironment'; import { NodeRuntimeEnvironment } from './Node/NodeRuntimeEnvironment'; -import { RuntimeEnvironment } from './RuntimeEnvironment'; import { ContextIsolatedElectronDetector } from './Electron/ContextIsolatedElectronDetector'; +import type { RuntimeEnvironment } from './RuntimeEnvironment'; +import type { ElectronEnvironmentDetector } from './Electron/ElectronEnvironmentDetector'; export const CurrentEnvironment = determineAndCreateRuntimeEnvironment(globalThis.window); diff --git a/src/infrastructure/RuntimeSanity/Common/FactoryValidator.ts b/src/infrastructure/RuntimeSanity/Common/FactoryValidator.ts index 1372e81a..8207d3b1 100644 --- a/src/infrastructure/RuntimeSanity/Common/FactoryValidator.ts +++ b/src/infrastructure/RuntimeSanity/Common/FactoryValidator.ts @@ -1,5 +1,5 @@ -import { ISanityCheckOptions } from './ISanityCheckOptions'; -import { ISanityValidator } from './ISanityValidator'; +import type { ISanityValidator } from './ISanityValidator'; +import type { ISanityCheckOptions } from './ISanityCheckOptions'; export type FactoryFunction = () => T; diff --git a/src/infrastructure/RuntimeSanity/Common/ISanityValidator.ts b/src/infrastructure/RuntimeSanity/Common/ISanityValidator.ts index d5fa7bac..6de0c05b 100644 --- a/src/infrastructure/RuntimeSanity/Common/ISanityValidator.ts +++ b/src/infrastructure/RuntimeSanity/Common/ISanityValidator.ts @@ -1,4 +1,4 @@ -import { ISanityCheckOptions } from './ISanityCheckOptions'; +import type { ISanityCheckOptions } from './ISanityCheckOptions'; export interface ISanityValidator { readonly name: string; diff --git a/src/infrastructure/RuntimeSanity/SanityChecks.ts b/src/infrastructure/RuntimeSanity/SanityChecks.ts index 9019ae15..cc46ec2d 100644 --- a/src/infrastructure/RuntimeSanity/SanityChecks.ts +++ b/src/infrastructure/RuntimeSanity/SanityChecks.ts @@ -1,6 +1,6 @@ -import { ISanityCheckOptions } from './Common/ISanityCheckOptions'; -import { ISanityValidator } from './Common/ISanityValidator'; import { EnvironmentVariablesValidator } from './Validators/EnvironmentVariablesValidator'; +import type { ISanityCheckOptions } from './Common/ISanityCheckOptions'; +import type { ISanityValidator } from './Common/ISanityValidator'; const DefaultSanityValidators: ISanityValidator[] = [ new EnvironmentVariablesValidator(), diff --git a/src/infrastructure/RuntimeSanity/Validators/EnvironmentVariablesValidator.ts b/src/infrastructure/RuntimeSanity/Validators/EnvironmentVariablesValidator.ts index 072324ae..8c61d267 100644 --- a/src/infrastructure/RuntimeSanity/Validators/EnvironmentVariablesValidator.ts +++ b/src/infrastructure/RuntimeSanity/Validators/EnvironmentVariablesValidator.ts @@ -1,7 +1,7 @@ -import { IEnvironmentVariables } from '@/infrastructure/EnvironmentVariables/IEnvironmentVariables'; +import type { IEnvironmentVariables } from '@/infrastructure/EnvironmentVariables/IEnvironmentVariables'; import { EnvironmentVariablesFactory } from '@/infrastructure/EnvironmentVariables/EnvironmentVariablesFactory'; -import { ISanityCheckOptions } from '../Common/ISanityCheckOptions'; -import { FactoryValidator, FactoryFunction } from '../Common/FactoryValidator'; +import { FactoryValidator, type FactoryFunction } from '../Common/FactoryValidator'; +import type { ISanityCheckOptions } from '../Common/ISanityCheckOptions'; export class EnvironmentVariablesValidator extends FactoryValidator { constructor( diff --git a/src/infrastructure/RuntimeSanity/Validators/WindowVariablesValidator.ts b/src/infrastructure/RuntimeSanity/Validators/WindowVariablesValidator.ts index 553cbddb..3de64bf0 100644 --- a/src/infrastructure/RuntimeSanity/Validators/WindowVariablesValidator.ts +++ b/src/infrastructure/RuntimeSanity/Validators/WindowVariablesValidator.ts @@ -1,6 +1,6 @@ -import { WindowVariables } from '@/infrastructure/WindowVariables/WindowVariables'; -import { ISanityCheckOptions } from '../Common/ISanityCheckOptions'; -import { FactoryValidator, FactoryFunction } from '../Common/FactoryValidator'; +import type { WindowVariables } from '@/infrastructure/WindowVariables/WindowVariables'; +import { FactoryValidator, type FactoryFunction } from '../Common/FactoryValidator'; +import type { ISanityCheckOptions } from '../Common/ISanityCheckOptions'; export class WindowVariablesValidator extends FactoryValidator { constructor(factory: FactoryFunction = () => window) { diff --git a/src/infrastructure/ScriptDiagnostics/ScriptEnvironmentDiagnosticsCollector.ts b/src/infrastructure/ScriptDiagnostics/ScriptEnvironmentDiagnosticsCollector.ts index 1436cc1d..d77cec7b 100644 --- a/src/infrastructure/ScriptDiagnostics/ScriptEnvironmentDiagnosticsCollector.ts +++ b/src/infrastructure/ScriptDiagnostics/ScriptEnvironmentDiagnosticsCollector.ts @@ -1,8 +1,8 @@ -import { ScriptDiagnosticData, ScriptDiagnosticsCollector } from '@/application/ScriptDiagnostics/ScriptDiagnosticsCollector'; -import { RuntimeEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironment'; +import type { ScriptDiagnosticData, ScriptDiagnosticsCollector } from '@/application/ScriptDiagnostics/ScriptDiagnosticsCollector'; +import type { RuntimeEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironment'; import { CurrentEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironmentFactory'; import { PersistentDirectoryProvider } from '@/infrastructure/CodeRunner/Creation/Directory/PersistentDirectoryProvider'; -import { ScriptDirectoryProvider } from '../CodeRunner/Creation/Directory/ScriptDirectoryProvider'; +import type { ScriptDirectoryProvider } from '../CodeRunner/Creation/Directory/ScriptDirectoryProvider'; export class ScriptEnvironmentDiagnosticsCollector implements ScriptDiagnosticsCollector { constructor( diff --git a/src/infrastructure/WindowVariables/WindowVariables.ts b/src/infrastructure/WindowVariables/WindowVariables.ts index dde89a68..7b6e2a17 100644 --- a/src/infrastructure/WindowVariables/WindowVariables.ts +++ b/src/infrastructure/WindowVariables/WindowVariables.ts @@ -1,8 +1,8 @@ import { OperatingSystem } from '@/domain/OperatingSystem'; -import { Logger } from '@/application/Common/Log/Logger'; -import { CodeRunner } from '@/application/CodeRunner/CodeRunner'; -import { Dialog } from '@/presentation/common/Dialog'; -import { ScriptDiagnosticsCollector } from '@/application/ScriptDiagnostics/ScriptDiagnosticsCollector'; +import type { Logger } from '@/application/Common/Log/Logger'; +import type { CodeRunner } from '@/application/CodeRunner/CodeRunner'; +import type { Dialog } from '@/presentation/common/Dialog'; +import type { ScriptDiagnosticsCollector } from '@/application/ScriptDiagnostics/ScriptDiagnosticsCollector'; /* Primary entry point for platform-specific injections */ export interface WindowVariables { diff --git a/src/infrastructure/WindowVariables/WindowVariablesValidator.ts b/src/infrastructure/WindowVariables/WindowVariablesValidator.ts index f8d3584a..8f7cb12d 100644 --- a/src/infrastructure/WindowVariables/WindowVariablesValidator.ts +++ b/src/infrastructure/WindowVariables/WindowVariablesValidator.ts @@ -1,10 +1,10 @@ import { ContextIsolatedElectronDetector } from '@/infrastructure/RuntimeEnvironment/Electron/ContextIsolatedElectronDetector'; -import { ElectronEnvironmentDetector } from '@/infrastructure/RuntimeEnvironment/Electron/ElectronEnvironmentDetector'; +import type { ElectronEnvironmentDetector } from '@/infrastructure/RuntimeEnvironment/Electron/ElectronEnvironmentDetector'; import { OperatingSystem } from '@/domain/OperatingSystem'; import { - PropertyKeys, isBoolean, isFunction, isNumber, isPlainObject, + type PropertyKeys, isBoolean, isFunction, isNumber, isPlainObject, } from '@/TypeHelpers'; -import { WindowVariables } from './WindowVariables'; +import type { WindowVariables } from './WindowVariables'; /** * Checks for consistency in runtime environment properties injected by Electron preloader. diff --git a/src/presentation/bootstrapping/ApplicationBootstrapper.ts b/src/presentation/bootstrapping/ApplicationBootstrapper.ts index e08c2ffa..90447a81 100644 --- a/src/presentation/bootstrapping/ApplicationBootstrapper.ts +++ b/src/presentation/bootstrapping/ApplicationBootstrapper.ts @@ -1,8 +1,8 @@ -import { Bootstrapper } from './Bootstrapper'; import { RuntimeSanityValidator } from './Modules/RuntimeSanityValidator'; import { AppInitializationLogger } from './Modules/AppInitializationLogger'; import { DependencyBootstrapper } from './Modules/DependencyBootstrapper'; import { MobileSafariActivePseudoClassEnabler } from './Modules/MobileSafariActivePseudoClassEnabler'; +import type { Bootstrapper } from './Bootstrapper'; import type { App } from 'vue'; export class ApplicationBootstrapper implements Bootstrapper { diff --git a/src/presentation/bootstrapping/DependencyProvider.ts b/src/presentation/bootstrapping/DependencyProvider.ts index c474e240..1231e6c3 100644 --- a/src/presentation/bootstrapping/DependencyProvider.ts +++ b/src/presentation/bootstrapping/DependencyProvider.ts @@ -1,15 +1,15 @@ -import { InjectionKey, provide, inject } from 'vue'; +import { type InjectionKey, provide, inject } from 'vue'; import { useCollectionState } from '@/presentation/components/Shared/Hooks/UseCollectionState'; import { useApplication } from '@/presentation/components/Shared/Hooks/UseApplication'; import { useAutoUnsubscribedEvents } from '@/presentation/components/Shared/Hooks/UseAutoUnsubscribedEvents'; import { useClipboard } from '@/presentation/components/Shared/Hooks/Clipboard/UseClipboard'; import { useCurrentCode } from '@/presentation/components/Shared/Hooks/UseCurrentCode'; -import { IApplicationContext } from '@/application/Context/IApplicationContext'; +import type { IApplicationContext } from '@/application/Context/IApplicationContext'; import { - AnyLifetimeInjectionKey, InjectionKeySelector, InjectionKeys, SingletonKey, - TransientKey, injectKey, + type AnyLifetimeInjectionKey, type InjectionKeySelector, InjectionKeys, type SingletonKey, + type TransientKey, injectKey, } from '@/presentation/injectionSymbols'; -import { PropertyKeys } from '@/TypeHelpers'; +import type { PropertyKeys } from '@/TypeHelpers'; import { useUserSelectionState } from '@/presentation/components/Shared/Hooks/UseUserSelectionState'; import { useLogger } from '@/presentation/components/Shared/Hooks/Log/UseLogger'; import { useCodeRunner } from '@/presentation/components/Shared/Hooks/UseCodeRunner'; diff --git a/src/presentation/bootstrapping/Modules/AppInitializationLogger.ts b/src/presentation/bootstrapping/Modules/AppInitializationLogger.ts index b58debb0..4ec091bb 100644 --- a/src/presentation/bootstrapping/Modules/AppInitializationLogger.ts +++ b/src/presentation/bootstrapping/Modules/AppInitializationLogger.ts @@ -1,6 +1,6 @@ -import { Logger } from '@/application/Common/Log/Logger'; +import type { Logger } from '@/application/Common/Log/Logger'; import { ClientLoggerFactory } from '@/presentation/components/Shared/Hooks/Log/ClientLoggerFactory'; -import { Bootstrapper } from '../Bootstrapper'; +import type { Bootstrapper } from '../Bootstrapper'; export class AppInitializationLogger implements Bootstrapper { constructor( diff --git a/src/presentation/bootstrapping/Modules/DependencyBootstrapper.ts b/src/presentation/bootstrapping/Modules/DependencyBootstrapper.ts index 79e38693..1da0a95a 100644 --- a/src/presentation/bootstrapping/Modules/DependencyBootstrapper.ts +++ b/src/presentation/bootstrapping/Modules/DependencyBootstrapper.ts @@ -1,7 +1,7 @@ import { inject, type App } from 'vue'; import { buildContext } from '@/application/Context/ApplicationContextFactory'; import { provideDependencies } from '@/presentation/bootstrapping/DependencyProvider'; -import { Bootstrapper } from '../Bootstrapper'; +import type { Bootstrapper } from '../Bootstrapper'; export class DependencyBootstrapper implements Bootstrapper { constructor( diff --git a/src/presentation/bootstrapping/Modules/MobileSafariActivePseudoClassEnabler.ts b/src/presentation/bootstrapping/Modules/MobileSafariActivePseudoClassEnabler.ts index c2ce4768..84f9a33b 100644 --- a/src/presentation/bootstrapping/Modules/MobileSafariActivePseudoClassEnabler.ts +++ b/src/presentation/bootstrapping/Modules/MobileSafariActivePseudoClassEnabler.ts @@ -1,7 +1,7 @@ import { OperatingSystem } from '@/domain/OperatingSystem'; -import { RuntimeEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironment'; +import type { RuntimeEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironment'; import { CurrentEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironmentFactory'; -import { Bootstrapper } from '../Bootstrapper'; +import type { Bootstrapper } from '../Bootstrapper'; export class MobileSafariActivePseudoClassEnabler implements Bootstrapper { constructor( diff --git a/src/presentation/bootstrapping/Modules/RuntimeSanityValidator.ts b/src/presentation/bootstrapping/Modules/RuntimeSanityValidator.ts index dc9d26aa..3a6adde6 100644 --- a/src/presentation/bootstrapping/Modules/RuntimeSanityValidator.ts +++ b/src/presentation/bootstrapping/Modules/RuntimeSanityValidator.ts @@ -1,5 +1,5 @@ import { validateRuntimeSanity } from '@/infrastructure/RuntimeSanity/SanityChecks'; -import { Bootstrapper } from '../Bootstrapper'; +import type { Bootstrapper } from '../Bootstrapper'; export class RuntimeSanityValidator implements Bootstrapper { constructor(private readonly validator = validateRuntimeSanity) { diff --git a/src/presentation/components/App.vue b/src/presentation/components/App.vue index 5371b458..93e3b97c 100644 --- a/src/presentation/components/App.vue +++ b/src/presentation/components/App.vue @@ -15,7 +15,7 @@