UNPKG

shyft

Version:

Model driven GraphQL API framework

35 lines (34 loc) 1.09 kB
import { Source } from 'graphql'; import { Entity, ShadowEntity, ViewEntity } from '../..'; import { Context } from '../context/Context'; import { ComplexDataType } from './ComplexDataType'; export declare type DataTypeValidateType = (params: { value?: unknown; source?: Source; context?: Context; }) => void | Promise<void>; export declare type DataTypeSetup = { name?: string; description?: string; mock?: () => any; validate?: DataTypeValidateType; enforceRequired?: boolean; defaultValue?: () => any; enforceIndex?: boolean; }; export declare type DataTypeFunction = (params: { setup: DataTypeSetup; entity?: Entity | ShadowEntity | ViewEntity; }) => DataType | ComplexDataType; export declare class DataType { name: string; description: string; mock?: () => any; validate?: DataTypeValidateType; enforceRequired?: boolean; defaultValue?: () => any; enforceIndex?: boolean; constructor(setup?: DataTypeSetup); toString(): string; } export declare const isDataType: (obj: unknown) => obj is DataType;