UNPKG

api-core

Version:

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

42 lines (41 loc) 1.58 kB
import { ApiEdgeQueryFilter, ApiEdgeQueryFilterType, ExportedApiEdgeQueryFilter } from "./ApiEdgeQueryFilter"; import { OneToOneRelation } from "../relations/OneToOneRelation"; import { Api } from "../Api"; import { ApiEdgeQueryParameter, ExportedApiEdgeQueryParameter } from "./ApiEdgeQueryParameter"; export interface ExportedApiEdgeQueryContext { id: string | null; fields: string[]; populatedRelations: string[]; pagination: { skip: number; limit: number; }; sortBy: [string, number][]; filters: ExportedApiEdgeQueryFilter[]; parameters: ExportedApiEdgeQueryParameter[]; } export declare class ApiEdgeQueryContext { id: string | null; fields: string[]; populatedRelations: OneToOneRelation[]; pagination: { skip: number; limit: number; }; sortBy: [string, number][]; filters: ApiEdgeQueryFilter[]; parameters: ApiEdgeQueryParameter[]; identity: any; method: string; clone: () => ApiEdgeQueryContext; toJSON: () => ExportedApiEdgeQueryContext; static fromJSON: (obj: ExportedApiEdgeQueryContext, api: Api) => Promise<ApiEdgeQueryContext>; constructor(id?: string | null, fields?: string[]); paginate: (skip: number, limit: number) => this; sort: (fieldName: string, ascending?: boolean) => this; populate(relation: OneToOneRelation): this; field(field: string): this; filter(field: string, type: ApiEdgeQueryFilterType, value: any): this; parameter(key: string): any; parameter(key: string, value: any): ApiEdgeQueryContext; }