api-core
Version:
Model-based dynamic multi-level APIs for any provider, plus multiple consumption channels
26 lines (25 loc) • 811 B
TypeScript
/// <reference types="node" />
import { ApiEdgeQueryContext } from "../edge/ApiEdgeQueryContext";
import { ApiEdgeQueryResponse } from "../edge/ApiEdgeQueryResponse";
import { ApiRequest } from "../request/ApiRequest";
export interface ApiQueryScope {
context: ApiEdgeQueryContext;
body: any | null;
stream?: NodeJS.ReadableStream | null;
identity: any | null;
response: ApiEdgeQueryResponse | null;
query: ApiQuery;
request: ApiRequest;
step: number;
}
export interface QueryStep {
execute(scope: ApiQueryScope): Promise<ApiQueryScope>;
}
export declare class ApiQuery {
readonly id: string;
request: ApiRequest;
steps: QueryStep[];
constructor();
unshift: (step: QueryStep) => ApiQuery;
execute: (identity?: any) => Promise<ApiEdgeQueryResponse>;
}