UNPKG

reiso

Version:
101 lines (100 loc) 2.78 kB
export declare type FieldType = Function | 'string' | 'integer' | 'boolean' | 'float' | 'id'; export declare const inputMetadataKey: unique symbol; export declare const subMetadataKey: unique symbol; export declare const typeMetadataKey: unique symbol; export declare class ModelArg { name: string; type: FieldType | FieldType[]; nullable: boolean; array: boolean; resolveType: (value: any) => FieldType; } export declare class ModelConstructor { args: ModelArg[]; name: string; } export declare class ModelField { name: string; type: FieldType | FieldType[]; substructure: boolean; array: boolean; quota: number | ((args: any[], context: any) => number); resolveType: (value: any) => FieldType; args: ModelArg[]; } export declare class ModelSub { name: string; type: FieldType | FieldType[]; array: boolean; subscribe: Function; value: Function; resolveType: (value: any) => FieldType; quota: number | ((args: any[], context: any) => number); args: ModelArg[]; } export declare class Model { id: string; target: any; quotaConstr: number | ((args: any[], context: any) => number); constr: ModelConstructor; fields: { [name: string]: ModelField; }; } export declare class ModelInputField { name: string; type: FieldType | FieldType[]; nullable: boolean; array: boolean; resolveType: (value: any) => FieldType; } export declare class ModelInput { id: string; fields: { [name: string]: ModelInputField; }; } export declare class MutationOption { name: string; } export declare class SubscriptionOption { name?: string; array?: boolean; resolveType?: (value: any) => FieldType; scope?: string; quota?: number | ((args: any[], context: any) => number); args?: ModelArg[]; } export declare class SubscriptionArgOption { nullable?: boolean; constr?: boolean; array?: boolean; resolveType?: (value: any) => FieldType; } export declare class StructureOption { quotaConstr?: number | ((args: any[], context: any) => number); } export declare class FieldOption { name?: string; quota?: number | ((args: any[], context: any) => number); substructure?: boolean; array?: boolean; resolveType?: (value: any) => FieldType; } export declare class ArgOption { nullable?: boolean; constr?: boolean; array?: boolean; resolveType?: (value: any) => FieldType; } export declare class InputFieldOption { name?: string; nullable?: boolean; array?: boolean; resolveType?: (value: any) => FieldType; } export declare class InputOption { } export declare class ConstructorOption { quota?: number | ((args: any[], context: any) => number); }