export interface ExecutionResult { errors?: Array; data?: TData | null; } export interface ArgMap { [arg: string]: [keyType, string] | [keyType] | undefined; } export type CompressedField = [ type: keyType, args?: ArgMap ]; export interface CompressedFieldMap { [field: string]: CompressedField | undefined; } export type CompressedType = CompressedFieldMap; export interface CompressedTypeMap { scalars: Array; types: { [type: string]: CompressedType | undefined; }; } export type Field = { type: keyType; args?: ArgMap; }; export interface FieldMap { [field: string]: Field | undefined; } export type Type = FieldMap; export interface TypeMap { scalars: Array; types: { [type: string]: Type | undefined; }; } export interface LinkedArgMap { [arg: string]: [LinkedType, string] | undefined; } export interface LinkedField { type: LinkedType; args?: LinkedArgMap; } export interface LinkedFieldMap { [field: string]: LinkedField | undefined; } export interface LinkedType { name: string; fields?: LinkedFieldMap; scalar?: string[]; } export interface LinkedTypeMap { [type: string]: LinkedType | undefined; }