UNPKG

@terabits/grapi

Version:

Grapi Schema Generator For GraphQL Server

31 lines (30 loc) 1.67 kB
import { Operator, Where, WhereOperator } from '..'; import { RelationShip, RelationType } from '../dataModel/relation/types'; import { FilterListObject } from '../dataModel/type'; export interface RelationWhereConfig { foreignKey: string; filter: FilterListObject; source: string; target: string; ship: RelationShip; list: boolean; type: RelationType; } export interface RelationWhere { sourceKey: string; targetKey: string; relation: RelationWhereConfig; filters: Where; } export declare const iterateWhere: (where: Where, callback: (field: string, op: Operator, value: any) => void) => void; export declare const iterateRelationsWhere: (where: Record<string, RelationWhere>, callback: (relationWhere: RelationWhere) => Promise<boolean>) => Promise<boolean>; export declare const iterateWhereFilter: (where: (Record<string, RelationWhere> | Array<Record<string, RelationWhere>>), callback: (relationWhere: (Record<string, RelationWhere> | Array<Record<string, RelationWhere>>), operator: Operator | WhereOperator) => Promise<void>) => Promise<void>; export declare const iterateWhereRelationsFilter: (relationFilter: Record<string, RelationWhere>, callback: (relationWhere: RelationWhere) => Promise<void>) => Promise<void>; export declare const iterateBaseFilter: (where: Record<string, any>) => Where; export declare const getRelationItemKeyId: (item: any, relation: RelationWhereConfig) => { itemId: string; key: string; }; export declare const iterateFilters: (where: Where) => Where; export declare const createFilter: (where: Where) => any; export declare const filter: (rows: any[], where: Where) => any;