refactor folders to move "/state" (IApplicationState) inside "/context" (IApplicationContext)

This commit is contained in:
undergroundwires
2020-12-28 22:11:23 +01:00
parent f7557bcc0f
commit 34672414c3
64 changed files with 106 additions and 107 deletions

View File

@@ -31,7 +31,7 @@
- **Stateless**, extends `Vue` - **Stateless**, extends `Vue`
- **Stateful**, extends [`StatefulVue`](./src/presentation/StatefulVue.ts) - **Stateful**, extends [`StatefulVue`](./src/presentation/StatefulVue.ts)
- The source of truth for the state lies in application layer (`./src/application/`) and must be updated from the views if they're mutating the state - The source of truth for the state lies in application layer (`./src/application/`) and must be updated from the views if they're mutating the state
- They mutate or/and react to changes in [application state](src/application/State/ApplicationState.ts). - They mutate or/and react to changes in [application state](src/application/Context/State/ApplicationState.ts).
- You can react by getting the state and listening to it and update the view accordingly in [`mounted()`](https://vuejs.org/v2/api/#mounted) method. - You can react by getting the state and listening to it and update the view accordingly in [`mounted()`](https://vuejs.org/v2/api/#mounted) method.
## License ## License

View File

@@ -66,7 +66,7 @@
- Event driven as in components simply listens to events from the state and act accordingly. - Event driven as in components simply listens to events from the state and act accordingly.
- **Application Layer** - **Application Layer**
- Keeps the application state - Keeps the application state
- The [state](src/application/State/ApplicationState.ts) is a mutable singleton & event producer. - The [state](src/application/Context/State/ApplicationState.ts) is a mutable singleton & event producer.
- The application is defined & controlled in a [single YAML file](src/application/application.yaml) (see [Data-driven programming](https://en.wikipedia.org/wiki/Data-driven_programming)) - The application is defined & controlled in a [single YAML file](src/application/application.yaml) (see [Data-driven programming](https://en.wikipedia.org/wiki/Data-driven_programming))
![DDD + vue.js](img/architecture/app-ddd.png) ![DDD + vue.js](img/architecture/app-ddd.png)

View File

@@ -1,7 +1,7 @@
import { IApplicationContext } from './IApplicationContext'; import { IApplicationContext } from './IApplicationContext';
import { IApplication } from '@/domain/IApplication'; import { IApplication } from '@/domain/IApplication';
import { IApplicationState } from './IApplicationState'; import { IApplicationState } from './State/IApplicationState';
import { ApplicationState } from './ApplicationState'; import { ApplicationState } from './State/ApplicationState';
import applicationFile from 'js-yaml-loader!@/application/application.yaml'; import applicationFile from 'js-yaml-loader!@/application/application.yaml';
import { parseApplication } from '../Parser/ApplicationParser'; import { parseApplication } from '../Parser/ApplicationParser';

View File

@@ -1,5 +1,5 @@
import { ApplicationContext } from './ApplicationContext'; import { ApplicationContext } from './ApplicationContext';
import { IApplicationContext } from '@/application/State/IApplicationContext'; import { IApplicationContext } from '@/application/Context/IApplicationContext';
import applicationFile from 'js-yaml-loader!@/application/application.yaml'; import applicationFile from 'js-yaml-loader!@/application/application.yaml';
import { parseApplication } from '@/application/Parser/ApplicationParser'; import { parseApplication } from '@/application/Parser/ApplicationParser';

View File

@@ -1,5 +1,5 @@
import { IApplication } from '@/domain/IApplication'; import { IApplication } from '@/domain/IApplication';
import { IApplicationState } from './IApplicationState'; import { IApplicationState } from './State/IApplicationState';
export interface IApplicationContext { export interface IApplicationContext {
readonly app: IApplication; readonly app: IApplication;

View File

@@ -1,8 +1,8 @@
import { CodeChangedEvent } from './Event/CodeChangedEvent'; import { CodeChangedEvent } from './Event/CodeChangedEvent';
import { CodePosition } from './Position/CodePosition'; import { CodePosition } from './Position/CodePosition';
import { ICodeChangedEvent } from './Event/ICodeChangedEvent'; import { ICodeChangedEvent } from './Event/ICodeChangedEvent';
import { SelectedScript } from '@/application/State/Selection/SelectedScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
import { IUserSelection } from '@/application/State/Selection/IUserSelection'; import { IUserSelection } from '@/application/Context/State/Selection/IUserSelection';
import { UserScriptGenerator } from './Generation/UserScriptGenerator'; import { UserScriptGenerator } from './Generation/UserScriptGenerator';
import { Signal } from '@/infrastructure/Events/Signal'; import { Signal } from '@/infrastructure/Events/Signal';
import { IApplicationCode } from './IApplicationCode'; import { IApplicationCode } from './IApplicationCode';

View File

@@ -1,7 +1,7 @@
import { ICodeChangedEvent } from './ICodeChangedEvent'; import { ICodeChangedEvent } from './ICodeChangedEvent';
import { SelectedScript } from '../../Selection/SelectedScript'; import { SelectedScript } from '../../Selection/SelectedScript';
import { IScript } from '@/domain/IScript'; import { IScript } from '@/domain/IScript';
import { ICodePosition } from '@/application/State/Code/Position/ICodePosition'; import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition';
export class CodeChangedEvent implements ICodeChangedEvent { export class CodeChangedEvent implements ICodeChangedEvent {
public readonly code: string; public readonly code: string;

View File

@@ -1,5 +1,5 @@
import { IScript } from '@/domain/IScript'; import { IScript } from '@/domain/IScript';
import { ICodePosition } from '@/application/State/Code/Position/ICodePosition'; import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition';
export interface ICodeChangedEvent { export interface ICodeChangedEvent {
readonly code: string; readonly code: string;

View File

@@ -0,0 +1,7 @@
import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition';
export interface IUserScript {
code: string;
scriptPositions: Map<SelectedScript, ICodePosition>;
}

View File

@@ -1,4 +1,4 @@
import { SelectedScript } from '@/application/State/Selection/SelectedScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
import { IUserScript } from './IUserScript'; import { IUserScript } from './IUserScript';
import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; import { IScriptingDefinition } from '@/domain/IScriptingDefinition';

View File

@@ -1,7 +1,7 @@
import { SelectedScript } from '@/application/State/Selection/SelectedScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
import { IUserScriptGenerator } from './IUserScriptGenerator'; import { IUserScriptGenerator } from './IUserScriptGenerator';
import { CodeBuilder } from './CodeBuilder'; import { CodeBuilder } from './CodeBuilder';
import { ICodePosition } from '@/application/State/Code/Position/ICodePosition'; import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition';
import { CodePosition } from '../Position/CodePosition'; import { CodePosition } from '../Position/CodePosition';
import { IUserScript } from './IUserScript'; import { IUserScript } from './IUserScript';
import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; import { IScriptingDefinition } from '@/domain/IScriptingDefinition';

View File

@@ -1,7 +1,7 @@
import { Category } from '@/domain/Category'; import { Category } from '@/domain/Category';
import { Application } from '@/domain/Application'; import { Application } from '@/domain/Application';
import { IApplication } from '@/domain/IApplication'; import { IApplication } from '@/domain/IApplication';
import { YamlApplication } from 'js-yaml-loader!./../application.yaml'; import { YamlApplication } from 'js-yaml-loader!@/application.yaml';
import { parseCategory } from './CategoryParser'; import { parseCategory } from './CategoryParser';
import { parseProjectInformation } from './ProjectInformationParser'; import { parseProjectInformation } from './ProjectInformationParser';
import { ScriptCompiler } from './Compiler/ScriptCompiler'; import { ScriptCompiler } from './Compiler/ScriptCompiler';

View File

@@ -1,4 +1,4 @@
import { YamlCategory, YamlScript } from 'js-yaml-loader!./application.yaml'; import { YamlCategory, YamlScript } from 'js-yaml-loader!@/application.yaml';
import { Script } from '@/domain/Script'; import { Script } from '@/domain/Script';
import { Category } from '@/domain/Category'; import { Category } from '@/domain/Category';
import { parseDocUrls } from './DocumentationParser'; import { parseDocUrls } from './DocumentationParser';

View File

@@ -1,5 +1,5 @@
import { IScriptCode } from '@/domain/IScriptCode'; import { IScriptCode } from '@/domain/IScriptCode';
import { YamlScript } from 'js-yaml-loader!./application.yaml'; import { YamlScript } from 'js-yaml-loader!@/application.yaml';
export interface IScriptCompiler { export interface IScriptCompiler {
canCompile(script: YamlScript): boolean; canCompile(script: YamlScript): boolean;

View File

@@ -1,7 +1,7 @@
import { generateIlCode, IILCode } from './ILCode'; import { generateIlCode, IILCode } from './ILCode';
import { IScriptCode } from '@/domain/IScriptCode'; import { IScriptCode } from '@/domain/IScriptCode';
import { ScriptCode } from '@/domain/ScriptCode'; import { ScriptCode } from '@/domain/ScriptCode';
import { YamlScript, YamlFunction, FunctionCall, ScriptFunctionCall, FunctionCallParameters } from 'js-yaml-loader!./application.yaml'; import { YamlScript, YamlFunction, FunctionCall, ScriptFunctionCall, FunctionCallParameters } from 'js-yaml-loader!@/application.yaml';
import { IScriptCompiler } from './IScriptCompiler'; import { IScriptCompiler } from './IScriptCompiler';
interface ICompiledCode { interface ICompiledCode {

View File

@@ -1,5 +1,5 @@
import { Script } from '@/domain/Script'; import { Script } from '@/domain/Script';
import { YamlScript } from 'js-yaml-loader!./application.yaml'; import { YamlScript } from 'js-yaml-loader!@/application.yaml';
import { parseDocUrls } from './DocumentationParser'; import { parseDocUrls } from './DocumentationParser';
import { RecommendationLevel } from '@/domain/RecommendationLevel'; import { RecommendationLevel } from '@/domain/RecommendationLevel';
import { IScriptCompiler } from './Compiler/IScriptCompiler'; import { IScriptCompiler } from './Compiler/IScriptCompiler';

View File

@@ -1,5 +1,5 @@
import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; import { IScriptingDefinition } from '@/domain/IScriptingDefinition';
import { YamlScriptingDefinition } from 'js-yaml-loader!./application.yaml'; import { YamlScriptingDefinition } from 'js-yaml-loader!@/application.yaml';
import { ScriptingDefinition } from '@/domain/ScriptingDefinition'; import { ScriptingDefinition } from '@/domain/ScriptingDefinition';
import { ScriptingLanguage } from '@/domain/ScriptingLanguage'; import { ScriptingLanguage } from '@/domain/ScriptingLanguage';
import { IProjectInformation } from '@/domain/IProjectInformation'; import { IProjectInformation } from '@/domain/IProjectInformation';

View File

@@ -1,7 +0,0 @@
import { SelectedScript } from '@/application/State/Selection/SelectedScript';
import { ICodePosition } from '@/application/State/Code/Position/ICodePosition';
export interface IUserScript {
code: string;
scriptPositions: Map<SelectedScript, ICodePosition>;
}

View File

@@ -19,12 +19,12 @@
import { StatefulVue } from '@/presentation/StatefulVue'; import { StatefulVue } from '@/presentation/StatefulVue';
import { IScript } from '@/domain/IScript'; import { IScript } from '@/domain/IScript';
import { ICategory } from '@/domain/ICategory'; import { ICategory } from '@/domain/ICategory';
import { IApplicationState } from '@/application/State/IApplicationState'; import { IApplicationState } from '@/application/Context/State/IApplicationState';
import { IFilterResult } from '@/application/State/Filter/IFilterResult'; import { IFilterResult } from '@/application/Context/State/Filter/IFilterResult';
import { parseAllCategories, parseSingleCategory, getScriptNodeId, getCategoryNodeId, getCategoryId, getScriptId } from './ScriptNodeParser'; import { parseAllCategories, parseSingleCategory, getScriptNodeId, getCategoryNodeId, getCategoryId, getScriptId } from './ScriptNodeParser';
import SelectableTree from './SelectableTree/SelectableTree.vue'; import SelectableTree from './SelectableTree/SelectableTree.vue';
import { INode, NodeType } from './SelectableTree/Node/INode'; import { INode, NodeType } from './SelectableTree/Node/INode';
import { SelectedScript } from '@/application/State/Selection/SelectedScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
import { INodeSelectedEvent } from './SelectableTree/INodeSelectedEvent'; import { INodeSelectedEvent } from './SelectableTree/INodeSelectedEvent';
@Component({ @Component({

View File

@@ -17,7 +17,7 @@
import { IReverter } from './Reverter/IReverter'; import { IReverter } from './Reverter/IReverter';
import { StatefulVue } from '@/presentation/StatefulVue'; import { StatefulVue } from '@/presentation/StatefulVue';
import { INode } from './INode'; import { INode } from './INode';
import { SelectedScript } from '@/application/State/Selection/SelectedScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
import { getReverter } from './Reverter/ReverterFactory'; import { getReverter } from './Reverter/ReverterFactory';
@Component @Component

View File

@@ -1,9 +1,9 @@
import { IReverter } from './IReverter'; import { IReverter } from './IReverter';
import { getCategoryId } from '../../../ScriptNodeParser'; import { getCategoryId } from '../../../ScriptNodeParser';
import { SelectedScript } from '@/application/State/Selection/SelectedScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
import { IApplication } from '@/domain/IApplication'; import { IApplication } from '@/domain/IApplication';
import { ScriptReverter } from './ScriptReverter'; import { ScriptReverter } from './ScriptReverter';
import { IUserSelection } from '@/application/State/Selection/IUserSelection'; import { IUserSelection } from '@/application/Context/State/Selection/IUserSelection';
export class CategoryReverter implements IReverter { export class CategoryReverter implements IReverter {
private readonly categoryId: number; private readonly categoryId: number;

View File

@@ -1,5 +1,5 @@
import { SelectedScript } from '@/application/State/Selection/SelectedScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
import { IUserSelection } from '@/application/State/IApplicationState'; import { IUserSelection } from '@/application/Context/State/IApplicationState';
export interface IReverter { export interface IReverter {
getState(selectedScripts: ReadonlyArray<SelectedScript>): boolean; getState(selectedScripts: ReadonlyArray<SelectedScript>): boolean;

View File

@@ -1,7 +1,7 @@
import { IReverter } from './IReverter'; import { IReverter } from './IReverter';
import { getScriptId } from '../../../ScriptNodeParser'; import { getScriptId } from '../../../ScriptNodeParser';
import { SelectedScript } from '@/application/State/Selection/SelectedScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
import { IUserSelection } from '@/application/State/IApplicationState'; import { IUserSelection } from '@/application/Context/State/IApplicationState';
export class ScriptReverter implements IReverter { export class ScriptReverter implements IReverter {
private readonly scriptId: string; private readonly scriptId: string;

View File

@@ -45,11 +45,10 @@
import { Component } from 'vue-property-decorator'; import { Component } from 'vue-property-decorator';
import { StatefulVue } from '@/presentation/StatefulVue'; import { StatefulVue } from '@/presentation/StatefulVue';
import SelectableOption from './SelectableOption.vue'; import SelectableOption from './SelectableOption.vue';
import { IApplicationState } from '@/application/State/IApplicationState';
import { IScript } from '@/domain/IScript'; import { IScript } from '@/domain/IScript';
import { SelectedScript } from '@/application/State/Selection/SelectedScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
import { RecommendationLevel } from '@/domain/RecommendationLevel'; import { RecommendationLevel } from '@/domain/RecommendationLevel';
import { IApplicationContext } from '../../../application/State/IApplicationContext'; import { IApplicationContext } from '@/application/Context/IApplicationContext';
enum SelectionState { enum SelectionState {
Standard, Standard,

View File

@@ -40,7 +40,7 @@
import { Component } from 'vue-property-decorator'; import { Component } from 'vue-property-decorator';
import { StatefulVue } from '@/presentation/StatefulVue'; import { StatefulVue } from '@/presentation/StatefulVue';
import { Grouping } from './Grouping/Grouping'; import { Grouping } from './Grouping/Grouping';
import { IFilterResult } from '@/application/State/Filter/IFilterResult'; import { IFilterResult } from '@/application/Context/State/Filter/IFilterResult';
import TheGrouper from '@/presentation/Scripts/Grouping/TheGrouper.vue'; import TheGrouper from '@/presentation/Scripts/Grouping/TheGrouper.vue';
import TheSelector from '@/presentation/Scripts/Selector/TheSelector.vue'; import TheSelector from '@/presentation/Scripts/Selector/TheSelector.vue';
import ScriptsTree from '@/presentation/Scripts/ScriptsTree/ScriptsTree.vue'; import ScriptsTree from '@/presentation/Scripts/ScriptsTree/ScriptsTree.vue';

View File

@@ -1,7 +1,7 @@
import { Vue } from 'vue-property-decorator'; import { Vue } from 'vue-property-decorator';
import { AsyncLazy } from '@/infrastructure/Threading/AsyncLazy'; import { AsyncLazy } from '@/infrastructure/Threading/AsyncLazy';
import { IApplicationContext } from '@/application/State/IApplicationContext'; import { IApplicationContext } from '@/application/Context/IApplicationContext';
import { buildContext } from '@/application/State/ApplicationContextProvider'; import { buildContext } from '@/application/Context/ApplicationContextProvider';
export abstract class StatefulVue extends Vue { export abstract class StatefulVue extends Vue {
private static instance = new AsyncLazy<IApplicationContext>( private static instance = new AsyncLazy<IApplicationContext>(

View File

@@ -7,8 +7,8 @@ import { Component, Prop } from 'vue-property-decorator';
import { StatefulVue } from './StatefulVue'; import { StatefulVue } from './StatefulVue';
import ace from 'ace-builds'; import ace from 'ace-builds';
import 'ace-builds/webpack-resolver'; import 'ace-builds/webpack-resolver';
import { CodeBuilder } from '@/application/State/Code/Generation/CodeBuilder'; import { CodeBuilder } from '@/application/Context/State/Code/Generation/CodeBuilder';
import { ICodeChangedEvent } from '@/application/State/Code/Event/ICodeChangedEvent'; import { ICodeChangedEvent } from '@/application/Context/State/Code/Event/ICodeChangedEvent';
import { IScript } from '@/domain/IScript'; import { IScript } from '@/domain/IScript';
import { ScriptingLanguage } from '@/domain/ScriptingLanguage'; import { ScriptingLanguage } from '@/domain/ScriptingLanguage';

View File

@@ -21,9 +21,9 @@ import { SaveFileDialog, FileType } from '@/infrastructure/SaveFileDialog';
import { Clipboard } from '@/infrastructure/Clipboard'; import { Clipboard } from '@/infrastructure/Clipboard';
import IconButton from './IconButton.vue'; import IconButton from './IconButton.vue';
import { Environment } from '@/application/Environment/Environment'; import { Environment } from '@/application/Environment/Environment';
import { IApplicationCode } from '../application/State/IApplicationState'; import { IApplicationCode } from '@/application/Context/State/IApplicationState';
import { ScriptingLanguage } from '@/domain/ScriptingLanguage'; import { ScriptingLanguage } from '@/domain/ScriptingLanguage';
import { IApplicationContext } from '@/application/State/IApplicationContext'; import { IApplicationContext } from '@/application/Context/IApplicationContext';
@Component({ @Component({
components: { components: {
@@ -64,7 +64,7 @@ function saveCode(context: IApplicationContext) {
const fileName = `privacy-script.${context.app.scripting.fileExtension}`; const fileName = `privacy-script.${context.app.scripting.fileExtension}`;
const content = context.state.code.current; const content = context.state.code.current;
const type = getType(context.app.scripting.language); const type = getType(context.app.scripting.language);
SaveFileDialog.saveFile(content, fileName, FileType.BatchFile); SaveFileDialog.saveFile(content, fileName, type);
} }
function getType(language: ScriptingLanguage) { function getType(language: ScriptingLanguage) {

View File

@@ -13,7 +13,7 @@
import { Component, Watch } from 'vue-property-decorator'; import { Component, Watch } from 'vue-property-decorator';
import { StatefulVue } from './StatefulVue'; import { StatefulVue } from './StatefulVue';
import { NonCollapsing } from '@/presentation/Scripts/Cards/NonCollapsingDirective'; import { NonCollapsing } from '@/presentation/Scripts/Cards/NonCollapsingDirective';
import { IUserFilter } from '@/application/State/IApplicationState'; import { IUserFilter } from '@/application/Context/State/IApplicationState';
@Component( { @Component( {
directives: { NonCollapsing }, directives: { NonCollapsing },

View File

@@ -1,11 +1,11 @@
import { UserSelection } from '@/application/State/Selection/UserSelection'; import { UserSelection } from '@/application/Context/State/Selection/UserSelection';
import { ApplicationCode } from '@/application/State/Code/ApplicationCode'; import { ApplicationCode } from '@/application/Context/State/Code/ApplicationCode';
import { ScriptStub } from './../../stubs/ScriptStub'; import { ScriptStub } from '../../../stubs/ScriptStub';
import { CategoryStub } from './../../stubs/CategoryStub'; import { CategoryStub } from '../../../stubs/CategoryStub';
import { ApplicationStub } from './../../stubs/ApplicationStub'; import { ApplicationStub } from '../../../stubs/ApplicationStub';
import 'mocha'; import 'mocha';
import { expect } from 'chai'; import { expect } from 'chai';
import { ApplicationState } from '@/application/State/ApplicationState'; import { ApplicationState } from '@/application/Context/State/ApplicationState';
import { IScript } from '@/domain/IScript'; import { IScript } from '@/domain/IScript';
describe('ApplicationState', () => { describe('ApplicationState', () => {

View File

@@ -1,18 +1,18 @@
import 'mocha'; import 'mocha';
import { expect } from 'chai'; import { expect } from 'chai';
import { CategoryStub } from './../../../stubs/CategoryStub'; import { CategoryStub } from '../../../../stubs/CategoryStub';
import { ScriptStub } from './../../../stubs/ScriptStub'; import { ScriptStub } from '../../../../stubs/ScriptStub';
import { ApplicationStub } from './../../../stubs/ApplicationStub'; import { ApplicationStub } from '../../../../stubs/ApplicationStub';
import { UserSelection } from '@/application/State/Selection/UserSelection'; import { UserSelection } from '@/application/Context/State/Selection/UserSelection';
import { ApplicationCode } from '@/application/State/Code/ApplicationCode'; import { ApplicationCode } from '@/application/Context/State/Code/ApplicationCode';
import { SelectedScript } from '@/application/State/Selection/SelectedScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
import { ICodeChangedEvent } from '@/application/State/Code/Event/ICodeChangedEvent'; import { ICodeChangedEvent } from '@/application/Context/State/Code/Event/ICodeChangedEvent';
import { IUserScriptGenerator } from '@/application/State/Code/Generation/IUserScriptGenerator'; import { IUserScriptGenerator } from '@/application/Context/State/Code/Generation/IUserScriptGenerator';
import { CodePosition } from '@/application/State/Code/Position/CodePosition'; import { CodePosition } from '@/application/Context/State/Code/Position/CodePosition';
import { ICodePosition } from '@/application/State/Code/Position/ICodePosition'; import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition';
import { ScriptingDefinitionStub } from './../../../stubs/ScriptingDefinitionStub'; import { ScriptingDefinitionStub } from '../../../../stubs/ScriptingDefinitionStub';
import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; import { IScriptingDefinition } from '@/domain/IScriptingDefinition';
import { IUserScript } from '@/application/State/Code/Generation/IUserScript'; import { IUserScript } from '@/application/Context/State/Code/Generation/IUserScript';
// TODO: Test scriptingDefinition: IScriptingDefinition logic // TODO: Test scriptingDefinition: IScriptingDefinition logic

View File

@@ -1,11 +1,11 @@
import 'mocha'; import 'mocha';
import { expect } from 'chai'; import { expect } from 'chai';
import { CodeChangedEvent } from '@/application/State/Code/Event/CodeChangedEvent'; import { CodeChangedEvent } from '@/application/Context/State/Code/Event/CodeChangedEvent';
import { SelectedScript } from '@/application/State/Selection/SelectedScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
import { ICodePosition } from '@/application/State/Code/Position/ICodePosition'; import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition';
import { CodePosition } from '@/application/State/Code/Position/CodePosition'; import { CodePosition } from '@/application/Context/State/Code/Position/CodePosition';
import { SelectedScriptStub } from '../../../../stubs/SelectedScriptStub'; import { SelectedScriptStub } from '../../../../../stubs/SelectedScriptStub';
import { ScriptStub } from '../../../../stubs/ScriptStub'; import { ScriptStub } from '../../../../../stubs/ScriptStub';
describe('CodeChangedEvent', () => { describe('CodeChangedEvent', () => {
describe('ctor', () => { describe('ctor', () => {

View File

@@ -1,6 +1,6 @@
import 'mocha'; import 'mocha';
import { expect } from 'chai'; import { expect } from 'chai';
import { CodeBuilder } from '@/application/State/Code/Generation/CodeBuilder'; import { CodeBuilder } from '@/application/Context/State/Code/Generation/CodeBuilder';
describe('CodeBuilder', () => { describe('CodeBuilder', () => {
describe('appendLine', () => { describe('appendLine', () => {

View File

@@ -1,10 +1,10 @@
import 'mocha'; import 'mocha';
import { expect } from 'chai'; import { expect } from 'chai';
import { UserScriptGenerator } from '@/application/State/Code/Generation/UserScriptGenerator'; import { UserScriptGenerator } from '@/application/Context/State/Code/Generation/UserScriptGenerator';
import { SelectedScript } from '@/application/State/Selection/SelectedScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
import { CodeBuilder } from '@/application/State/Code/Generation/CodeBuilder'; import { CodeBuilder } from '@/application/Context/State/Code/Generation/CodeBuilder';
import { ScriptStub } from '../../../../stubs/ScriptStub'; import { ScriptStub } from '../../../../../stubs/ScriptStub';
import { ScriptingDefinitionStub } from '../../../../stubs/ScriptingDefinitionStub'; import { ScriptingDefinitionStub } from '../../../../../stubs/ScriptingDefinitionStub';
describe('UserScriptGenerator', () => { describe('UserScriptGenerator', () => {
describe('scriptingDefinition', () => { describe('scriptingDefinition', () => {

View File

@@ -1,4 +1,4 @@
import { CodePosition } from '@/application/State/Code/Position/CodePosition'; import { CodePosition } from '@/application/Context/State/Code/Position/CodePosition';
import 'mocha'; import 'mocha';
import { expect } from 'chai'; import { expect } from 'chai';

View File

@@ -1,6 +1,6 @@
import { CategoryStub } from './../../../stubs/CategoryStub'; import { CategoryStub } from '../../../../stubs/CategoryStub';
import { ScriptStub } from './../../../stubs/ScriptStub'; import { ScriptStub } from '../../../../stubs/ScriptStub';
import { FilterResult } from '@/application/State/Filter/FilterResult'; import { FilterResult } from '@/application/Context/State/Filter/FilterResult';
import 'mocha'; import 'mocha';
import { expect } from 'chai'; import { expect } from 'chai';

View File

@@ -1,8 +1,8 @@
import { CategoryStub } from './../../../stubs/CategoryStub'; import { CategoryStub } from '../../../../stubs/CategoryStub';
import { ScriptStub } from './../../../stubs/ScriptStub'; import { ScriptStub } from '../../../../stubs/ScriptStub';
import { IFilterResult } from '@/application/State/Filter/IFilterResult'; import { IFilterResult } from '@/application/Context/State/Filter/IFilterResult';
import { ApplicationStub } from './../../../stubs/ApplicationStub'; import { ApplicationStub } from '../../../../stubs/ApplicationStub';
import { UserFilter } from '@/application/State/Filter/UserFilter'; import { UserFilter } from '@/application/Context/State/Filter/UserFilter';
import 'mocha'; import 'mocha';
import { expect } from 'chai'; import { expect } from 'chai';

View File

@@ -1,5 +1,5 @@
import { ScriptStub } from './../../../stubs/ScriptStub'; import { ScriptStub } from '../../../../stubs/ScriptStub';
import { SelectedScript } from '@/application/State/Selection/SelectedScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
import 'mocha'; import 'mocha';
import { expect } from 'chai'; import { expect } from 'chai';

View File

@@ -1,12 +1,12 @@
import 'mocha'; import 'mocha';
import { expect } from 'chai'; import { expect } from 'chai';
import { IScript } from '@/domain/IScript'; import { IScript } from '@/domain/IScript';
import { SelectedScriptStub } from '../../../stubs/SelectedScriptStub'; import { SelectedScriptStub } from '../../../../stubs/SelectedScriptStub';
import { ScriptStub } from '../../../stubs/ScriptStub'; import { ScriptStub } from '../../../../stubs/ScriptStub';
import { SelectedScript } from '@/application/State/Selection/SelectedScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
import { CategoryStub } from '../../../stubs/CategoryStub'; import { CategoryStub } from '../../../../stubs/CategoryStub';
import { ApplicationStub } from '../../../stubs/ApplicationStub'; import { ApplicationStub } from '../../../../stubs/ApplicationStub';
import { UserSelection } from '@/application/State/Selection/UserSelection'; import { UserSelection } from '@/application/Context/State/Selection/UserSelection';
describe('UserSelection', () => { describe('UserSelection', () => {
describe('ctor', () => { describe('ctor', () => {

View File

@@ -1,7 +1,7 @@
import 'mocha'; import 'mocha';
import { expect } from 'chai'; import { expect } from 'chai';
import { parseCategory } from '@/application/Parser/CategoryParser'; import { parseCategory } from '@/application/Parser/CategoryParser';
import { YamlCategory, CategoryOrScript, YamlScript } from 'js-yaml-loader!./application.yaml'; import { YamlCategory, CategoryOrScript, YamlScript } from 'js-yaml-loader!@/application.yaml';
import { parseScript } from '@/application/Parser/ScriptParser'; import { parseScript } from '@/application/Parser/ScriptParser';
import { parseDocUrls } from '@/application/Parser/DocumentationParser'; import { parseDocUrls } from '@/application/Parser/DocumentationParser';
import { ScriptCompilerStub } from '../../stubs/ScriptCompilerStub'; import { ScriptCompilerStub } from '../../stubs/ScriptCompilerStub';

View File

@@ -2,7 +2,7 @@ import 'mocha';
import { expect } from 'chai'; import { expect } from 'chai';
import { ScriptCompiler } from '@/application/Parser/Compiler/ScriptCompiler'; import { ScriptCompiler } from '@/application/Parser/Compiler/ScriptCompiler';
import { YamlScriptStub } from '../../../stubs/YamlScriptStub'; import { YamlScriptStub } from '../../../stubs/YamlScriptStub';
import { YamlFunction, YamlScript, FunctionCall, ScriptFunctionCall, FunctionCallParameters } from 'js-yaml-loader!./application.yaml'; import { YamlFunction, YamlScript, FunctionCall, ScriptFunctionCall, FunctionCallParameters } from 'js-yaml-loader!@/application.yaml';
import { IScriptCode } from '@/domain/IScriptCode'; import { IScriptCode } from '@/domain/IScriptCode';
import { IScriptCompiler } from '@/application/Parser/Compiler/IScriptCompiler'; import { IScriptCompiler } from '@/application/Parser/Compiler/IScriptCompiler';

View File

@@ -1,6 +1,6 @@
import 'mocha'; import 'mocha';
import { expect } from 'chai'; import { expect } from 'chai';
import { YamlDocumentable } from 'js-yaml-loader!./application.yaml'; import { YamlDocumentable } from 'js-yaml-loader!@/application.yaml';
import { parseDocUrls } from '@/application/Parser/DocumentationParser'; import { parseDocUrls } from '@/application/Parser/DocumentationParser';
describe('DocumentationParser', () => { describe('DocumentationParser', () => {

View File

@@ -1,6 +1,6 @@
import 'mocha'; import 'mocha';
import { expect } from 'chai'; import { expect } from 'chai';
import { YamlScriptingDefinition } from 'js-yaml-loader!./application.yaml'; import { YamlScriptingDefinition } from 'js-yaml-loader!@/application.yaml';
import { ScriptingLanguage } from '@/domain/ScriptingLanguage'; import { ScriptingLanguage } from '@/domain/ScriptingLanguage';
import { parseScriptingDefinition } from '@/application/Parser/ScriptingDefinitionParser'; import { parseScriptingDefinition } from '@/application/Parser/ScriptingDefinitionParser';
import { ProjectInformationStub } from './../../stubs/ProjectInformationStub'; import { ProjectInformationStub } from './../../stubs/ProjectInformationStub';

View File

@@ -5,8 +5,8 @@ import { CategoryReverter } from '@/presentation/Scripts/ScriptsTree/SelectableT
import { getCategoryNodeId } from '@/presentation/Scripts/ScriptsTree/ScriptNodeParser'; import { getCategoryNodeId } from '@/presentation/Scripts/ScriptsTree/ScriptNodeParser';
import { CategoryStub } from '../../../../../../stubs/CategoryStub'; import { CategoryStub } from '../../../../../../stubs/CategoryStub';
import { ApplicationStub } from '../../../../../../stubs/ApplicationStub'; import { ApplicationStub } from '../../../../../../stubs/ApplicationStub';
import { SelectedScript } from '@/application/State/Selection/SelectedScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
import { UserSelection } from '@/application/State/Selection/UserSelection'; import { UserSelection } from '@/application/Context/State/Selection/UserSelection';
describe('CategoryReverter', () => { describe('CategoryReverter', () => {
describe('getState', () => { describe('getState', () => {

View File

@@ -4,8 +4,8 @@ import { ScriptReverter } from '@/presentation/Scripts/ScriptsTree/SelectableTre
import { SelectedScriptStub } from '../../../../../../stubs/SelectedScriptStub'; import { SelectedScriptStub } from '../../../../../../stubs/SelectedScriptStub';
import { getScriptNodeId } from '@/presentation/Scripts/ScriptsTree/ScriptNodeParser'; import { getScriptNodeId } from '@/presentation/Scripts/ScriptsTree/ScriptNodeParser';
import { ScriptStub } from '../../../../../../stubs/ScriptStub'; import { ScriptStub } from '../../../../../../stubs/ScriptStub';
import { UserSelection } from '@/application/State/Selection/UserSelection'; import { UserSelection } from '@/application/Context/State/Selection/UserSelection';
import { SelectedScript } from '@/application/State/Selection/SelectedScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
import { ApplicationStub } from '../../../../../../stubs/ApplicationStub'; import { ApplicationStub } from '../../../../../../stubs/ApplicationStub';
import { CategoryStub } from '../../../../../../stubs/CategoryStub'; import { CategoryStub } from '../../../../../../stubs/CategoryStub';

View File

@@ -1,6 +1,6 @@
import { IScriptCompiler } from '@/application/Parser/Compiler/IScriptCompiler'; import { IScriptCompiler } from '@/application/Parser/Compiler/IScriptCompiler';
import { IScriptCode } from '@/domain/IScriptCode'; import { IScriptCode } from '@/domain/IScriptCode';
import { YamlScript } from 'js-yaml-loader!./application.yaml'; import { YamlScript } from 'js-yaml-loader!@/application.yaml';
export class ScriptCompilerStub implements IScriptCompiler { export class ScriptCompilerStub implements IScriptCompiler {
public compilables = new Map<YamlScript, IScriptCode>(); public compilables = new Map<YamlScript, IScriptCode>();

View File

@@ -1,7 +1,7 @@
import { BaseEntity } from '@/infrastructure/Entity/BaseEntity'; import { BaseEntity } from '@/infrastructure/Entity/BaseEntity';
import { IScript } from '@/domain/IScript'; import { IScript } from '@/domain/IScript';
import { RecommendationLevel } from '@/domain/RecommendationLevel'; import { RecommendationLevel } from '@/domain/RecommendationLevel';
import { SelectedScript } from '@/application/State/Selection/SelectedScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
export class ScriptStub extends BaseEntity<string> implements IScript { export class ScriptStub extends BaseEntity<string> implements IScript {
public name = `name${this.id}`; public name = `name${this.id}`;

View File

@@ -1,4 +1,4 @@
import { SelectedScript } from '@/application/State/Selection/SelectedScript'; import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
import { ScriptStub } from './ScriptStub'; import { ScriptStub } from './ScriptStub';
export class SelectedScriptStub extends SelectedScript { export class SelectedScriptStub extends SelectedScript {

View File

@@ -1,5 +1,5 @@
import { RecommendationLevel } from '@/domain/RecommendationLevel'; import { RecommendationLevel } from '@/domain/RecommendationLevel';
import { ScriptFunctionCall, YamlScript } from 'js-yaml-loader!./application.yaml'; import { ScriptFunctionCall, YamlScript } from 'js-yaml-loader!@/application.yaml';
export class YamlScriptStub implements YamlScript { export class YamlScriptStub implements YamlScript {
public static createWithCode(): YamlScriptStub { public static createWithCode(): YamlScriptStub {