UNPKG

shyft

Version:

Model driven GraphQL API framework

50 lines (49 loc) 1.9 kB
import { PubSub } from 'graphql-subscriptions'; import { Entity } from '../entity/Entity'; export declare const pubsub: PubSub; export declare const SUBSCRIPTION_TYPE_CREATE = "onCreate"; export declare const SUBSCRIPTION_TYPE_UPDATE = "onUpdate"; export declare const SUBSCRIPTION_TYPE_DELETE = "onDelete"; export declare const subscriptionTypes: string[]; export declare const defaultEntitySubscription: ({ name: string; type: string; description: (typeName: string) => string; hasAttributes: boolean; } | { name: string; description: (typeName: string) => string; type: string; hasAttributes?: undefined; })[]; export declare type SubscriptionSetup = { name?: string; type?: string; description?: string; attributes?: string[]; delimiter?: string; wildCard?: string; pattern?: string; preProcessor?: (entity?: Entity, id?: string | number, source?: any, input?: any, typeName?: string, entitySubscription?: Subscription, context?: any, info?: any) => Promise<string | null> | string | null; postProcessor?: (entity?: Entity, source?: any, input?: any, typeName?: string, entitySubscription?: Subscription, context?: any, info?: any) => Promise<object | null> | object | null; }; export declare class Subscription { name: string; type: string; description: string; attributes: string[]; delimiter?: string; wildCard?: string; pattern?: string; preProcessor: Function; postProcessor: Function; isTypeCreate?: boolean; isTypeDelete?: boolean; needsInstance?: boolean; ignoreRequired?: boolean; isTypeUpdate?: boolean; constructor(setup?: SubscriptionSetup); toString(): string; } export declare const isSubscription: (obj: unknown) => obj is Subscription; export declare const processEntitySubscriptions: (entity: Entity, subscriptions: Subscription[]) => Subscription[];