nope/lib/decorators/moduleDecorators.ts

52 lines
1.1 KiB
TypeScript
Raw Normal View History

2020-11-06 08:10:30 +00:00
/**
* @author Martin Karkowski
* @email m.karkowski@zema.de
* @create date 2020-11-06 08:52:45
* @modify date 2020-12-02 08:56:41
2020-11-06 08:10:30 +00:00
* @desc [description]
*/
import {
IFunctionOptions,
INopeModule,
2021-12-04 07:25:26 +00:00
IPropertyOptions,
} from "../types/nope/nopeModule.interface";
2020-11-05 17:01:38 +00:00
/**
* Decorator, used to export the Method.
* @param options
2020-11-05 17:01:38 +00:00
*/
export function exportMethod(options: IFunctionOptions) {
return function (
target: INopeModule,
methodName: string,
descriptor: PropertyDescriptor
) {
target._markedElements = target._markedElements || [];
target._markedElements.push({
accessor: methodName,
options,
2021-12-04 07:25:26 +00:00
type: "method",
});
};
2020-11-05 17:01:38 +00:00
}
/**
* Decorator, will create a POST and GET api for the Parameter.
* @param options
2020-11-05 17:01:38 +00:00
*/
export function exportProperty(options: IPropertyOptions) {
return function (
target: INopeModule,
propertyKey: string,
descriptor: PropertyDescriptor
) {
target._markedElements = target._markedElements || [];
target._markedElements.push({
accessor: propertyKey,
options,
2021-12-04 07:25:26 +00:00
type: "prop",
});
};
}