Mirror: The spec-compliant minimum of client-side GraphQL.
1import type * as GraphQL from 'graphql'; 2 3import type { Kind, OperationTypeNode } from './kind'; 4import type { Or, Location } from './types'; 5 6import type { 7 TypeSystemDefinitionNode, 8 TypeSystemExtensionNode, 9 SchemaDefinitionNode, 10 OperationTypeDefinitionNode, 11 ScalarTypeDefinitionNode, 12 ObjectTypeDefinitionNode, 13 FieldDefinitionNode, 14 InputValueDefinitionNode, 15 InterfaceTypeDefinitionNode, 16 UnionTypeDefinitionNode, 17 EnumTypeDefinitionNode, 18 EnumValueDefinitionNode, 19 InputObjectTypeDefinitionNode, 20 DirectiveDefinitionNode, 21 SchemaExtensionNode, 22 ScalarTypeExtensionNode, 23 ObjectTypeExtensionNode, 24 InterfaceTypeExtensionNode, 25 UnionTypeExtensionNode, 26 EnumTypeExtensionNode, 27 InputObjectTypeExtensionNode, 28} from './schemaAst'; 29 30export type ASTNode = Or< 31 GraphQL.ASTNode, 32 | NameNode 33 | DocumentNode 34 | OperationDefinitionNode 35 | VariableDefinitionNode 36 | VariableNode 37 | SelectionSetNode 38 | FieldNode 39 | ArgumentNode 40 | FragmentSpreadNode 41 | InlineFragmentNode 42 | FragmentDefinitionNode 43 | IntValueNode 44 | FloatValueNode 45 | StringValueNode 46 | BooleanValueNode 47 | NullValueNode 48 | EnumValueNode 49 | ListValueNode 50 | ObjectValueNode 51 | ObjectFieldNode 52 | DirectiveNode 53 | NamedTypeNode 54 | ListTypeNode 55 | NonNullTypeNode 56 | SchemaDefinitionNode 57 | OperationTypeDefinitionNode 58 | ScalarTypeDefinitionNode 59 | ObjectTypeDefinitionNode 60 | FieldDefinitionNode 61 | InputValueDefinitionNode 62 | InterfaceTypeDefinitionNode 63 | UnionTypeDefinitionNode 64 | EnumTypeDefinitionNode 65 | EnumValueDefinitionNode 66 | InputObjectTypeDefinitionNode 67 | DirectiveDefinitionNode 68 | SchemaExtensionNode 69 | ScalarTypeExtensionNode 70 | ObjectTypeExtensionNode 71 | InterfaceTypeExtensionNode 72 | UnionTypeExtensionNode 73 | EnumTypeExtensionNode 74 | InputObjectTypeExtensionNode 75>; 76 77export type NameNode = Or< 78 GraphQL.NameNode, 79 { 80 readonly kind: Kind.NAME; 81 readonly value: string; 82 readonly loc?: Location; 83 } 84>; 85 86export type DocumentNode = Or< 87 GraphQL.DocumentNode, 88 { 89 readonly kind: Kind.DOCUMENT; 90 readonly definitions: ReadonlyArray<DefinitionNode>; 91 readonly loc?: Location; 92 } 93>; 94 95export type DefinitionNode = Or< 96 GraphQL.DefinitionNode, 97 ExecutableDefinitionNode | TypeSystemDefinitionNode | TypeSystemExtensionNode 98>; 99 100export type ExecutableDefinitionNode = Or< 101 GraphQL.ExecutableDefinitionNode, 102 OperationDefinitionNode | FragmentDefinitionNode 103>; 104 105export type OperationDefinitionNode = Or< 106 GraphQL.OperationDefinitionNode, 107 { 108 readonly kind: Kind.OPERATION_DEFINITION; 109 readonly operation: OperationTypeNode; 110 readonly name?: NameNode; 111 readonly variableDefinitions?: ReadonlyArray<VariableDefinitionNode>; 112 readonly directives?: ReadonlyArray<DirectiveNode>; 113 readonly selectionSet: SelectionSetNode; 114 readonly loc?: Location; 115 } 116>; 117 118export type VariableDefinitionNode = Or< 119 GraphQL.VariableDefinitionNode, 120 { 121 readonly kind: Kind.VARIABLE_DEFINITION; 122 readonly variable: VariableNode; 123 readonly type: TypeNode; 124 readonly defaultValue?: ConstValueNode; 125 readonly directives?: ReadonlyArray<ConstDirectiveNode>; 126 readonly loc?: Location; 127 } 128>; 129 130export type VariableNode = Or< 131 GraphQL.VariableNode, 132 { 133 readonly kind: Kind.VARIABLE; 134 readonly name: NameNode; 135 readonly loc?: Location; 136 } 137>; 138 139export type SelectionSetNode = Or< 140 GraphQL.SelectionSetNode, 141 { 142 readonly kind: Kind.SELECTION_SET; 143 readonly selections: ReadonlyArray<SelectionNode>; 144 readonly loc?: Location; 145 } 146>; 147 148export declare type SelectionNode = Or< 149 GraphQL.SelectionNode, 150 FieldNode | FragmentSpreadNode | InlineFragmentNode 151>; 152 153export type FieldNode = Or< 154 GraphQL.FieldNode, 155 { 156 readonly kind: Kind.FIELD; 157 readonly alias?: NameNode; 158 readonly name: NameNode; 159 readonly arguments?: ReadonlyArray<ArgumentNode>; 160 readonly directives?: ReadonlyArray<DirectiveNode>; 161 readonly selectionSet?: SelectionSetNode; 162 readonly loc?: Location; 163 } 164>; 165 166export type ArgumentNode = Or< 167 GraphQL.ArgumentNode, 168 { 169 readonly kind: Kind.ARGUMENT; 170 readonly name: NameNode; 171 readonly value: ValueNode; 172 readonly loc?: Location; 173 } 174>; 175 176export type ConstArgumentNode = Or< 177 GraphQL.ConstArgumentNode, 178 { 179 readonly kind: Kind.ARGUMENT; 180 readonly name: NameNode; 181 readonly value: ConstValueNode; 182 readonly loc?: Location; 183 } 184>; 185 186export type FragmentSpreadNode = Or< 187 GraphQL.FragmentSpreadNode, 188 { 189 readonly kind: Kind.FRAGMENT_SPREAD; 190 readonly name: NameNode; 191 readonly directives?: ReadonlyArray<DirectiveNode>; 192 readonly loc?: Location; 193 } 194>; 195 196export type InlineFragmentNode = Or< 197 GraphQL.InlineFragmentNode, 198 { 199 readonly kind: Kind.INLINE_FRAGMENT; 200 readonly typeCondition?: NamedTypeNode; 201 readonly directives?: ReadonlyArray<DirectiveNode>; 202 readonly selectionSet: SelectionSetNode; 203 readonly loc?: Location; 204 } 205>; 206 207export type FragmentDefinitionNode = Or< 208 GraphQL.FragmentDefinitionNode, 209 { 210 readonly kind: Kind.FRAGMENT_DEFINITION; 211 readonly name: NameNode; 212 readonly typeCondition: NamedTypeNode; 213 readonly directives?: ReadonlyArray<DirectiveNode>; 214 readonly selectionSet: SelectionSetNode; 215 readonly loc?: Location; 216 } 217>; 218 219export type ValueNode = Or< 220 GraphQL.ValueNode, 221 | VariableNode 222 | IntValueNode 223 | FloatValueNode 224 | StringValueNode 225 | BooleanValueNode 226 | NullValueNode 227 | EnumValueNode 228 | ListValueNode 229 | ObjectValueNode 230>; 231 232export type ConstValueNode = Or< 233 GraphQL.ConstValueNode, 234 | IntValueNode 235 | FloatValueNode 236 | StringValueNode 237 | BooleanValueNode 238 | NullValueNode 239 | EnumValueNode 240 | ConstListValueNode 241 | ConstObjectValueNode 242>; 243 244export type IntValueNode = Or< 245 GraphQL.IntValueNode, 246 { 247 readonly kind: Kind.INT; 248 readonly value: string; 249 readonly loc?: Location; 250 } 251>; 252 253export type FloatValueNode = Or< 254 GraphQL.FloatValueNode, 255 { 256 readonly kind: Kind.FLOAT; 257 readonly value: string; 258 readonly loc?: Location; 259 } 260>; 261 262export type StringValueNode = Or< 263 GraphQL.FloatValueNode, 264 { 265 readonly kind: Kind.STRING; 266 readonly value: string; 267 readonly block?: boolean; 268 readonly loc?: Location; 269 } 270>; 271 272export type BooleanValueNode = Or< 273 GraphQL.BooleanValueNode, 274 { 275 readonly kind: Kind.BOOLEAN; 276 readonly value: boolean; 277 readonly loc?: Location; 278 } 279>; 280 281export type NullValueNode = Or< 282 GraphQL.NullValueNode, 283 { 284 readonly kind: Kind.NULL; 285 readonly loc?: Location; 286 } 287>; 288 289export type EnumValueNode = Or< 290 GraphQL.EnumValueNode, 291 { 292 readonly kind: Kind.ENUM; 293 readonly value: string; 294 readonly loc?: Location; 295 } 296>; 297 298export type ListValueNode = Or< 299 GraphQL.ListValueNode, 300 { 301 readonly kind: Kind.LIST; 302 readonly values: ReadonlyArray<ValueNode>; 303 readonly loc?: Location; 304 } 305>; 306 307export type ConstListValueNode = Or< 308 GraphQL.ConstListValueNode, 309 { 310 readonly kind: Kind.LIST; 311 readonly values: ReadonlyArray<ConstValueNode>; 312 readonly loc?: Location; 313 } 314>; 315 316export type ObjectValueNode = Or< 317 GraphQL.ObjectValueNode, 318 { 319 readonly kind: Kind.OBJECT; 320 readonly fields: ReadonlyArray<ObjectFieldNode>; 321 readonly loc?: Location; 322 } 323>; 324 325export type ConstObjectValueNode = Or< 326 GraphQL.ConstObjectValueNode, 327 { 328 readonly kind: Kind.OBJECT; 329 readonly fields: ReadonlyArray<ConstObjectFieldNode>; 330 readonly loc?: Location; 331 } 332>; 333 334export type ObjectFieldNode = Or< 335 GraphQL.ObjectFieldNode, 336 { 337 readonly kind: Kind.OBJECT_FIELD; 338 readonly name: NameNode; 339 readonly value: ValueNode; 340 readonly loc?: Location; 341 } 342>; 343 344export type ConstObjectFieldNode = Or< 345 GraphQL.ConstObjectFieldNode, 346 { 347 readonly kind: Kind.OBJECT_FIELD; 348 readonly name: NameNode; 349 readonly value: ConstValueNode; 350 readonly loc?: Location; 351 } 352>; 353 354export type DirectiveNode = Or< 355 GraphQL.DirectiveNode, 356 { 357 readonly kind: Kind.DIRECTIVE; 358 readonly name: NameNode; 359 readonly arguments?: ReadonlyArray<ArgumentNode>; 360 readonly loc?: Location; 361 } 362>; 363 364export type ConstDirectiveNode = Or< 365 GraphQL.ConstDirectiveNode, 366 { 367 readonly kind: Kind.DIRECTIVE; 368 readonly name: NameNode; 369 readonly arguments?: ReadonlyArray<ConstArgumentNode>; 370 readonly loc?: Location; 371 } 372>; 373 374export type TypeNode = Or<GraphQL.TypeNode, NamedTypeNode | ListTypeNode | NonNullTypeNode>; 375 376export type NamedTypeNode = Or< 377 GraphQL.NamedTypeNode, 378 { 379 readonly kind: Kind.NAMED_TYPE; 380 readonly name: NameNode; 381 readonly loc?: Location; 382 } 383>; 384 385export type ListTypeNode = Or< 386 GraphQL.ListTypeNode, 387 { 388 readonly kind: Kind.LIST_TYPE; 389 readonly type: TypeNode; 390 readonly loc?: Location; 391 } 392>; 393 394export type NonNullTypeNode = Or< 395 GraphQL.NonNullTypeNode, 396 { 397 readonly kind: Kind.NON_NULL_TYPE; 398 readonly type: NamedTypeNode | ListTypeNode; 399 readonly loc?: Location; 400 } 401>;