UNPKG

api-core

Version:

Model-based dynamic multi-level APIs for any provider, plus multiple consumption channels

108 lines (107 loc) 4.14 kB
/// <reference types="node" /> import { ApiQuery, ApiQueryScope, QueryStep } from "./ApiQuery"; import { ApiEdgeQuery } from "../edge/ApiEdgeQuery"; import { ApiEdgeQueryContext } from "../edge/ApiEdgeQueryContext"; import { ApiEdgeRelation } from "../relations/ApiEdgeRelation"; import { ApiRequest, PathSegment } from "../request/ApiRequest"; import { ApiEdgeQueryResponse } from "../edge/ApiEdgeQueryResponse"; import { Api } from "../Api"; import { ApiEdgeMethod } from "../edge/ApiEdgeMethod"; import { ApiEdgeDefinition } from "../edge/ApiEdgeDefinition"; export declare class EmbedQueryQueryStep implements QueryStep { query: ApiQuery; request: ApiRequest; segment: PathSegment; sourceField: string; targetField: string; idField: string; forceArray: boolean; isMultiMulti: boolean; constructor(query: ApiQuery, segment: PathSegment, request: ApiRequest); execute: (scope: ApiQueryScope) => Promise<ApiQueryScope>; inspect: () => string; } export declare class QueryEdgeQueryStep implements QueryStep { query: ApiEdgeQuery; constructor(query: ApiEdgeQuery); execute: (scope: ApiQueryScope) => Promise<ApiQueryScope>; inspect: () => string; } export declare class CallMethodQueryStep implements QueryStep { method: ApiEdgeMethod; edge: ApiEdgeDefinition; constructor(method: ApiEdgeMethod, edge: ApiEdgeDefinition); execute: (scope: ApiQueryScope) => Promise<ApiQueryScope>; inspect: () => string; } export declare class RelateQueryStep implements QueryStep { relation: ApiEdgeRelation; constructor(relation: ApiEdgeRelation); execute: (scope: ApiQueryScope) => Promise<ApiQueryScope>; inspect: () => string; } export declare class RelateBackwardsQueryStep implements QueryStep { relation: ApiEdgeRelation; constructor(relation: ApiEdgeRelation); execute: (scope: ApiQueryScope) => Promise<ApiQueryScope>; inspect: () => string; } export declare class RelateChangeQueryStep implements QueryStep { relation: ApiEdgeRelation; constructor(relation: ApiEdgeRelation); execute: (scope: ApiQueryScope) => Promise<ApiQueryScope>; inspect: () => string; } export declare class RelateBackwardsChangeQueryStep implements QueryStep { relation: ApiEdgeRelation; constructor(relation: ApiEdgeRelation); execute: (scope: ApiQueryScope) => Promise<ApiQueryScope>; inspect: () => string; } export declare class SetResponseQueryStep implements QueryStep { response: ApiEdgeQueryResponse; constructor(response: ApiEdgeQueryResponse); execute: (scope: ApiQueryScope) => Promise<ApiQueryScope>; inspect: () => string; } export declare class SetBodyQueryStep implements QueryStep { body: any; stream: NodeJS.ReadableStream | null; constructor(body: any, stream?: NodeJS.ReadableStream | null); execute: (scope: ApiQueryScope) => Promise<ApiQueryScope>; inspect: () => string; } export declare class ProvideIdQueryStep implements QueryStep { fieldName: string; constructor(fieldName?: string); execute: (scope: ApiQueryScope) => Promise<ApiQueryScope>; inspect: () => string; } export declare class ExtendContextQueryStep implements QueryStep { context: ApiEdgeQueryContext; constructor(context: ApiEdgeQueryContext); execute: (scope: ApiQueryScope) => Promise<ApiQueryScope>; inspect: () => string; } export declare class ExtendContextLiveQueryStep implements QueryStep { apply: (context: ApiEdgeQueryContext) => void | any; constructor(func: (context: ApiEdgeQueryContext) => void | any); execute: (scope: ApiQueryScope) => Promise<ApiQueryScope>; inspect: () => string; } export declare class ApiQueryBuilder { api: Api; constructor(api: Api); private addQueryActions; private addMethodActions; private addMethodCallStep; private addQueryStep; private static buildProvideIdStep; private buildCheckStep; private buildReadStep; private buildEmbedSteps; private buildReadQuery; private buildChangeQuery; private buildCreateQuery; build: (request: ApiRequest) => ApiQuery; }