nope/test/testFile.ts
2020-08-24 13:35:32 +02:00

78 lines
2.0 KiB
TypeScript

import { exportMethodToDispatcher, exportPropertyToDispatcher, exportsElementsToDispatcher } from "../lib/dispatcher/nopeDispatcherDecorators";
import { nopeObservable } from "../lib/observables/nopeObservable";
import { exportMethodToOpenAPI, exportsElementsToOpenAPI } from "../lib/openapi/nopeOpenAPIDecorators";
import { IF01 } from "./testExternalDescriptor";
import { IF02 } from "./testExternalDescriptorReference";
export interface IF00 {
// Test property
hello: 'world'
}
@exportsElementsToOpenAPI({
uri: 'test'
})
@exportsElementsToDispatcher({
uri: 'test'
})
export class CLWithInterface {
@exportPropertyToDispatcher
exportedAttributeSimple = new nopeObservable<boolean>(false);
@exportPropertyToDispatcher
exportedAttributeComplex = new nopeObservable<{
element01: IF00,
num: number
}>({
element01: {
hello: "world"
},
num: 0
});
/**
*
* Function which will add two Nodes.
* @param a Parameter a
* @param b Parameter b
*/
@exportMethodToOpenAPI()
@exportMethodToDispatcher({
url: 'exportedFunction'
})
async exportedFunctionShouldNotBeHosted(/* COMMENT */ a: number, b: IF00, operator: (a: number, b: IF01) => Promise<{
test: IF02,
x: string
}>) {
// Comment etc.
return await operator(a, b);
}
@exportMethodToOpenAPI()
@exportMethodToDispatcher({
url: 'exportedFunction'
})
async exportedFunctionShouldBeHosted(/* COMMENT */ a: number, b?: number) {
// Comment etc.
return a + b || 0;
}
/**
* Function which will add two Nodes.
* @param a Parameter a
* @param b Parameter b
*/
@exportMethodToDispatcher({
url: 'exportedStringFunction'
})
async exportedStringFunction(a: string, b: string) {
// Comment etc.
return "";
}
exportedFunctionWithError(a: number, b: number, operator: (a: number, b: number) => Promise<number>) {
return operator(a, b);
}
}