api-core
Version:
Model-based dynamic multi-level APIs for any provider, plus multiple consumption channels
30 lines (22 loc) • 780 B
text/typescript
import {QueryStep, ApiQueryScope} from "../query/ApiQuery";
import {ApiEdgeQueryResponse} from "../edge/ApiEdgeQueryResponse";
export enum ApiActionTriggerKind {
OnInput,
BeforeOutput,
AfterOutput
}
export class ApiAction implements QueryStep {
name: string;
triggerKind: ApiActionTriggerKind = ApiActionTriggerKind.OnInput;
execute: (scope: ApiQueryScope) => Promise<ApiQueryScope>;
constructor(name: string,
execute: (scope: ApiQueryScope) => Promise<ApiQueryScope>,
triggerKind: ApiActionTriggerKind = ApiActionTriggerKind.OnInput) {
this.name = name;
this.execute = execute;
this.triggerKind = triggerKind;
}
inspect = () => {
return `api-action{${this.name}}`
}
}