shyft
Version:
Model driven GraphQL API framework
35 lines (34 loc) • 1.09 kB
TypeScript
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;