diff --git a/test/testAnalyzer.ts b/test/testAnalyzer.ts new file mode 100644 index 0000000..5ed4384 --- /dev/null +++ b/test/testAnalyzer.ts @@ -0,0 +1,16 @@ +import { Project } from "ts-morph"; +import { analyzeClasses, createFileMapping } from "../lib/helpers/analyzeTypescriptFiles"; +import { transformClass } from "../lib/helpers/generateTemplate"; + +// Function to Determine new project files. +const project = new Project({ + tsConfigFilePath: "./tsconfigBackend.json", + addFilesFromTsConfig: false, +}); +project.addSourceFileAtPath("./test/testFile.ts"); +project.addSourceFileAtPath("./test/testExternalDescriptor.ts"); +project.addSourceFileAtPath("./test/testExternalDescriptorReference.ts"); +const testSourceFiles = project.getSourceFiles(); + +transformClass(testSourceFiles) +console.log(''); \ No newline at end of file diff --git a/test/testDecorators.ts b/test/testDecorators.ts index 2c3c1e3..9f1b44d 100644 --- a/test/testDecorators.ts +++ b/test/testDecorators.ts @@ -1,6 +1,6 @@ -import { eportApi, exportMethod, exportProperty } from "../lib/decorators"; +import { exportsElementsToDispatcher, exportMethodToDispatcher, exportPropertyToDispatcher } from "../lib/dispatcher/nopeDispatcherDecorators"; -@eportApi({ +@exportsElementsToDispatcher({ url: 'icemaker' }) export class Icemaker { @@ -8,17 +8,17 @@ export class Icemaker { toppings = []; sugar = 0; - @exportMethod() + @exportMethodToDispatcher() addTopping(topping) { this.toppings.push(topping); } - @exportMethod() + @exportMethodToDispatcher() addSugar() { this.sugar++; } - @exportProperty() + @exportPropertyToDispatcher() name: string; } diff --git a/test/testDispatcher.ts b/test/testDispatcher.ts index 8180f45..19655ad 100644 --- a/test/testDispatcher.ts +++ b/test/testDispatcher.ts @@ -1,12 +1,11 @@ -import { CallDispatcher } from "../lib/callDispatcher"; +import { nopeDispatcher } from "../lib/dispatcher/nopeDispatcher"; import { EventLayer } from "../lib/communication/eventLayer"; const communicationLayer = new EventLayer(); -const local = new CallDispatcher(communicationLayer); -const remote = new CallDispatcher(communicationLayer); +const local = new nopeDispatcher(communicationLayer); +const remote = new nopeDispatcher(communicationLayer); const _functionRemote = async (a: number, b: number, operation: (a: number, b: number) => number) => { - return await operation(a, b); } diff --git a/test/testExternalDescriptor.ts b/test/testExternalDescriptor.ts new file mode 100644 index 0000000..25f3d4b --- /dev/null +++ b/test/testExternalDescriptor.ts @@ -0,0 +1,10 @@ +import { IF02 } from "./testExternalDescriptorReference"; + +export interface IF01 { + name: string, + arrays: { + // Hat hier auch noch ein Tolles Kommentar + if02: IF02[], + num: number[] + } +} diff --git a/test/testExternalDescriptorReference.ts b/test/testExternalDescriptorReference.ts new file mode 100644 index 0000000..99dfe29 --- /dev/null +++ b/test/testExternalDescriptorReference.ts @@ -0,0 +1,4 @@ +export interface IF02 { + name: string, + num: number, +} \ No newline at end of file diff --git a/test/testFile.ts b/test/testFile.ts new file mode 100644 index 0000000..855672b --- /dev/null +++ b/test/testFile.ts @@ -0,0 +1,31 @@ +import { nopeObservable } from "../lib/observables/nopeObservable"; +import { exportsElementsToDispatcher, exportMethodToDispatcher, exportPropertyToDispatcher } from "../lib/dispatcher/nopeDispatcherDecorators"; +import { IF01 } from "./testExternalDescriptor"; +import { IF02 } from "./testExternalDescriptorReference"; + +exportsElementsToDispatcher('test-api') +export class CLWithInterface { + @exportPropertyToDispatcher + exportedAttributeSimple = new nopeObservable(false); + + @exportPropertyToDispatcher + exportedAttributeComplex = new nopeObservable<{ + element01: IF02, + num: number + }>({ + element01: { + name: '', + num: 0 + }, + num: 0 + }); + + @exportMethodToDispatcher() + async exportedFunction(a: number, b: number, operator: (a: number,b: number) => Promise){ + return await operator(a,b); + } + + exportedFunctionWithError(a: number, b: number, operator: (a: number,b: number) => Promise){ + return operator(a,b); + } +} \ No newline at end of file