reiso
Version:
101 lines (100 loc) • 2.78 kB
TypeScript
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);
}