@0no-co/graphql.web 0.1.5 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -31,6 +31,20 @@ spec-compliant or compatible with GraphQL.js’ implementation.
31
31
  > project](https://github.com/0no-co/graphql-web-lite) is maintained to be
32
32
  > a full shim/alias for the `graphql` package.
33
33
 
34
+ ### Overview
35
+
36
+ `@0no-co/graphql.web` aims to provide a minimal set of exports to implement
37
+ client-side GraphQL utilities, mostly including parsing, printing, and visiting
38
+ the GraphQL AST, and the `GraphQLError` class.
39
+
40
+ Currently, `graphql.web` compresses to under 4kB and doesn’t regress on
41
+ GraphQL.js’ performance when parsing, printing, or visiting the AST.
42
+
43
+ For all primary APIs we aim to hit 100% test coverage and match the output,
44
+ types, and API compatibility of GraphQL.js, including — as far as possible
45
+ — TypeScript type compatibility of the AST types with the currently stable
46
+ version of GraphQL.js.
47
+
34
48
  ### API
35
49
 
36
50
  Currently, only a select few exports are provided — namely, the ones listed here
@@ -424,7 +424,6 @@ declare class GraphQLError extends Error {
424
424
  get [Symbol.toStringTag](): string;
425
425
  }
426
426
 
427
- declare function blockString(string: string): string;
428
427
  type ParseOptions = {
429
428
  [option: string]: any;
430
429
  };
@@ -462,4 +461,4 @@ declare function print(node: ASTNode): string;
462
461
  declare function valueFromASTUntyped(node: ValueNode, variables?: Maybe<Record<string, any>>): unknown;
463
462
  declare function valueFromTypeNode(node: ValueNode, type: TypeNode, variables?: Maybe<Record<string, any>>): unknown;
464
463
 
465
- export { ASTNode, ASTReducer, ASTVisitFn, ASTVisitor, ArgumentNode, BREAK, BooleanValueNode, ConstArgumentNode, ConstDirectiveNode, ConstListValueNode, ConstObjectFieldNode, ConstObjectValueNode, ConstValueNode, DefinitionNode, DirectiveDefinitionNode, DirectiveNode, DocumentNode, EnumTypeDefinitionNode, EnumTypeExtensionNode, EnumValueDefinitionNode, EnumValueNode, ExecutableDefinitionNode, FieldDefinitionNode, FieldNode, FloatValueNode, FragmentDefinitionNode, FragmentSpreadNode, GraphQLError, InlineFragmentNode, InputObjectTypeDefinitionNode, InputObjectTypeExtensionNode, InputValueDefinitionNode, IntValueNode, InterfaceTypeDefinitionNode, InterfaceTypeExtensionNode, Kind, ListTypeNode, ListValueNode, Location, NameNode, NamedTypeNode, NonNullTypeNode, NullValueNode, ObjectFieldNode, ObjectTypeDefinitionNode, ObjectTypeExtensionNode, ObjectValueNode, OperationDefinitionNode, OperationTypeDefinitionNode, OperationTypeNode, ScalarTypeDefinitionNode, ScalarTypeExtensionNode, SchemaDefinitionNode, SchemaExtensionNode, SelectionNode, SelectionSetNode, Source, StringValueNode, TypeDefinitionNode, TypeExtensionNode, TypeNode, TypeSystemDefinitionNode, TypeSystemExtensionNode, UnionTypeDefinitionNode, UnionTypeExtensionNode, ValueNode, VariableDefinitionNode, VariableNode, blockString, parse, parseType, parseValue, print, printBlockString, printString, valueFromASTUntyped, valueFromTypeNode, visit };
464
+ export { ASTNode, ASTReducer, ASTVisitFn, ASTVisitor, ArgumentNode, BREAK, BooleanValueNode, ConstArgumentNode, ConstDirectiveNode, ConstListValueNode, ConstObjectFieldNode, ConstObjectValueNode, ConstValueNode, DefinitionNode, DirectiveDefinitionNode, DirectiveNode, DocumentNode, EnumTypeDefinitionNode, EnumTypeExtensionNode, EnumValueDefinitionNode, EnumValueNode, ExecutableDefinitionNode, FieldDefinitionNode, FieldNode, FloatValueNode, FragmentDefinitionNode, FragmentSpreadNode, GraphQLError, InlineFragmentNode, InputObjectTypeDefinitionNode, InputObjectTypeExtensionNode, InputValueDefinitionNode, IntValueNode, InterfaceTypeDefinitionNode, InterfaceTypeExtensionNode, Kind, ListTypeNode, ListValueNode, Location, NameNode, NamedTypeNode, NonNullTypeNode, NullValueNode, ObjectFieldNode, ObjectTypeDefinitionNode, ObjectTypeExtensionNode, ObjectValueNode, OperationDefinitionNode, OperationTypeDefinitionNode, OperationTypeNode, ScalarTypeDefinitionNode, ScalarTypeExtensionNode, SchemaDefinitionNode, SchemaExtensionNode, SelectionNode, SelectionSetNode, Source, StringValueNode, TypeDefinitionNode, TypeExtensionNode, TypeNode, TypeSystemDefinitionNode, TypeSystemExtensionNode, UnionTypeDefinitionNode, UnionTypeExtensionNode, ValueNode, VariableDefinitionNode, VariableNode, parse, parseType, parseValue, print, printBlockString, printString, valueFromASTUntyped, valueFromTypeNode, visit };
@@ -33,7 +33,8 @@ class GraphQLError extends Error {
33
33
  }
34
34
  toJSON() {
35
35
  return {
36
- ...this
36
+ ...this,
37
+ message: this.message
37
38
  };
38
39
  }
39
40
  toString() {
@@ -111,15 +112,15 @@ var t = /null|true|false/y;
111
112
 
112
113
  var a = /\$[_\w][_\d\w]*/y;
113
114
 
114
- var o = /[-]?\d+/y;
115
+ var o = /-?\d+/y;
115
116
 
116
- var l = /(?:[-]?\d+)?(?:\.\d+)(?:[eE][+-]?\d+)?/y;
117
+ var l = /(?:\.\d+)?(?:[eE][+-]?\d+)?/y;
117
118
 
118
119
  var u = /\\/g;
119
120
 
120
- var d = /"""(?:[\s\S]+(?="""))?"""/y;
121
+ var v = /"""(?:[\s\S]+(?="""))?"""/y;
121
122
 
122
- var v = /"(?:[^"\r\n]+)?"/y;
123
+ var d = /"(?:[^"\r\n]+)?"/y;
123
124
 
124
125
  function value(i) {
125
126
  var s;
@@ -139,28 +140,31 @@ function value(i) {
139
140
  value: c.slice(1)
140
141
  }
141
142
  };
142
- } else if (c = advance(l)) {
143
- s = {
144
- kind: "FloatValue",
145
- value: c
146
- };
147
143
  } else if (c = advance(o)) {
148
- s = {
149
- kind: "IntValue",
150
- value: c
151
- };
144
+ var f = c;
145
+ if (c = advance(l)) {
146
+ s = {
147
+ kind: "FloatValue",
148
+ value: f + c
149
+ };
150
+ } else {
151
+ s = {
152
+ kind: "IntValue",
153
+ value: f
154
+ };
155
+ }
152
156
  } else if (c = advance(n)) {
153
157
  s = {
154
158
  kind: "EnumValue",
155
159
  value: c
156
160
  };
157
- } else if (c = advance(d)) {
161
+ } else if (c = advance(v)) {
158
162
  s = {
159
163
  kind: "StringValue",
160
164
  value: blockString(c.slice(3, -3)),
161
165
  block: !0
162
166
  };
163
- } else if (c = advance(v)) {
167
+ } else if (c = advance(d)) {
164
168
  s = {
165
169
  kind: "StringValue",
166
170
  value: u.test(c) ? JSON.parse(c) : c.slice(1, -1),
@@ -453,9 +457,6 @@ function operationDefinition() {
453
457
  throw error("VariableDefinition");
454
458
  }
455
459
  var t = type();
456
- if (!t) {
457
- throw error("VariableDefinition");
458
- }
459
460
  var o = void 0;
460
461
  if (61 === e.charCodeAt(r)) {
461
462
  r++;
@@ -683,24 +684,19 @@ exports.OperationTypeNode = {
683
684
  SUBSCRIPTION: "subscription"
684
685
  };
685
686
 
686
- exports.blockString = blockString;
687
-
688
687
  exports.parse = function parse(i, n) {
689
688
  e = "string" == typeof i.body ? i.body : i;
690
689
  r = 0;
691
690
  return function document() {
692
- var i;
691
+ var e;
693
692
  ignored();
694
- var n = [];
695
- while (i = fragmentDefinition() || operationDefinition()) {
696
- n.push(i);
697
- }
698
- if (r !== e.length) {
699
- throw error("Document");
693
+ var r = [];
694
+ while (e = fragmentDefinition() || operationDefinition()) {
695
+ r.push(e);
700
696
  }
701
697
  return {
702
698
  kind: "Document",
703
- definitions: n
699
+ definitions: r
704
700
  };
705
701
  }();
706
702
  };
@@ -708,11 +704,7 @@ exports.parse = function parse(i, n) {
708
704
  exports.parseType = function parseType(i, n) {
709
705
  e = "string" == typeof i.body ? i.body : i;
710
706
  r = 0;
711
- var t = type();
712
- if (!t) {
713
- throw error("TypeNode");
714
- }
715
- return t;
707
+ return type();
716
708
  };
717
709
 
718
710
  exports.parseValue = function parseValue(i, n) {
@@ -789,8 +781,8 @@ exports.visit = function visit(e, r) {
789
781
  if (a) {
790
782
  i.push(a);
791
783
  }
792
- var d;
793
- var v = {
784
+ var v;
785
+ var d = {
794
786
  ...e
795
787
  };
796
788
  for (var s in e) {
@@ -802,29 +794,27 @@ exports.visit = function visit(e, r) {
802
794
  if (null != c[p] && "string" == typeof c[p].kind) {
803
795
  i.push(e);
804
796
  n.push(p);
805
- d = traverse(c[p], p, c);
797
+ v = traverse(c[p], p, c);
806
798
  n.pop();
807
799
  i.pop();
808
- if (void 0 === d) {
809
- f.push(c[p]);
810
- } else if (null === d) {
800
+ if (null == v) {
811
801
  o = !0;
812
802
  } else {
813
- o = o || d !== c[p];
814
- f.push(d);
803
+ o = o || v !== c[p];
804
+ f.push(v);
815
805
  }
816
806
  }
817
807
  }
818
808
  c = f;
819
809
  } else if (null != c && "string" == typeof c.kind) {
820
- if (void 0 !== (d = traverse(c, s, e))) {
821
- o = o || c !== d;
822
- c = d;
810
+ if (void 0 !== (v = traverse(c, s, e))) {
811
+ o = o || c !== v;
812
+ c = v;
823
813
  }
824
814
  }
825
815
  n.pop();
826
816
  if (o) {
827
- v[s] = c;
817
+ d[s] = c;
828
818
  }
829
819
  }
830
820
  if (a) {
@@ -837,9 +827,9 @@ exports.visit = function visit(e, r) {
837
827
  } else if (void 0 !== h) {
838
828
  return h;
839
829
  } else if (void 0 !== u) {
840
- return o ? v : u;
830
+ return o ? d : u;
841
831
  } else {
842
- return o ? v : e;
832
+ return o ? d : e;
843
833
  }
844
834
  }(e);
845
835
  return void 0 !== t && !1 !== t ? t : e;
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.web.js","sources":["../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts","../src/values.ts","../src/kind.js"],"sourcesContent":["import { Maybe, Extensions, Source } from './types';\nimport { ASTNode } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: ReadonlyArray<any> | undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<any> | undefined;\n readonly source: Source | undefined;\n readonly positions: ReadonlyArray<number> | undefined;\n readonly originalError: Error | undefined;\n readonly extensions: Extensions;\n\n constructor(\n message: string,\n nodes?: ReadonlyArray<ASTNode> | ASTNode | null,\n source?: Maybe<Source>,\n positions?: Maybe<ReadonlyArray<number>>,\n path?: Maybe<ReadonlyArray<string | number>>,\n originalError?: Maybe<Error>,\n extensions?: Maybe<Extensions>\n ) {\n super(message);\n\n this.name = 'GraphQLError';\n this.message = message;\n\n if (path) this.path = path;\n if (nodes) this.nodes = (Array.isArray(nodes) ? nodes : [nodes]) as ASTNode[];\n if (source) this.source = source;\n if (positions) this.positions = positions;\n if (originalError) this.originalError = originalError;\n\n let _extensions = extensions;\n if (!_extensions && originalError) {\n const originalExtensions = (originalError as any).extensions;\n if (originalExtensions && typeof originalExtensions === 'object') {\n _extensions = originalExtensions;\n }\n }\n\n this.extensions = _extensions || {};\n }\n\n toJSON(): any {\n return { ...this };\n }\n\n toString() {\n return this.message;\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLError';\n }\n}\n","/**\n * This is a spec-compliant implementation of a GraphQL query language parser,\n * up-to-date with the October 2021 Edition. Unlike the reference implementation\n * in graphql.js it will only parse the query language, but not the schema\n * language.\n */\nimport { Kind, OperationTypeNode } from './kind';\nimport { GraphQLError } from './error';\nimport { Source } from './types';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: string) {\n return new GraphQLError(`Syntax Error: Unexpected token at ${idx} in ${kind}`);\n}\n\nfunction advance(pattern: RegExp) {\n pattern.lastIndex = idx;\n if (pattern.test(input)) {\n const match = input.slice(idx, (idx = pattern.lastIndex));\n return match;\n }\n}\n\nconst leadingRe = / +(?=[^\\s])/y;\nexport function blockString(string: string) {\n const lines = string.split('\\n');\n let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = lines.length - 1;\n for (let i = 0; i < lines.length; i++) {\n leadingRe.lastIndex = 0;\n if (leadingRe.test(lines[i])) {\n if (i && (!commonIndent || leadingRe.lastIndex < commonIndent))\n commonIndent = leadingRe.lastIndex;\n firstNonEmptyLine = firstNonEmptyLine || i;\n lastNonEmptyLine = i;\n }\n }\n for (let i = firstNonEmptyLine; i <= lastNonEmptyLine; i++) {\n if (i !== firstNonEmptyLine) out += '\\n';\n out += lines[i].slice(commonIndent).replace(/\\\\\"\"\"/g, '\"\"\"');\n }\n return out;\n}\n\n// Note: This is equivalent to: /(?:[\\s,]*|#[^\\n\\r]*)*/y\nfunction ignored() {\n for (\n let char = input.charCodeAt(idx++) | 0;\n char === 9 /*'\\t'*/ ||\n char === 10 /*'\\n'*/ ||\n char === 13 /*'\\r'*/ ||\n char === 32 /*' '*/ ||\n char === 35 /*'#'*/ ||\n char === 44 /*','*/ ||\n char === 65279 /*'\\ufeff'*/;\n char = input.charCodeAt(idx++) | 0\n ) {\n if (char === 35 /*'#'*/) while ((char = input.charCodeAt(idx++)) !== 10 && char !== 13);\n }\n idx--;\n}\n\nconst nameRe = /[_\\w][_\\d\\w]*/y;\nfunction name(): ast.NameNode | undefined {\n let match: string | undefined;\n if ((match = advance(nameRe))) {\n return {\n kind: 'Name' as Kind.NAME,\n value: match,\n };\n }\n}\n\nconst constRe = /null|true|false/y;\nconst variableRe = /\\$[_\\w][_\\d\\w]*/y;\nconst intRe = /[-]?\\d+/y;\nconst floatRe = /(?:[-]?\\d+)?(?:\\.\\d+)(?:[eE][+-]?\\d+)?/y;\nconst complexStringRe = /\\\\/g;\nconst blockStringRe = /\"\"\"(?:[\\s\\S]+(?=\"\"\"))?\"\"\"/y;\nconst stringRe = /\"(?:[^\"\\r\\n]+)?\"/y;\n\nfunction value(constant: true): ast.ConstValueNode;\nfunction value(constant: boolean): ast.ValueNode;\n\nfunction value(constant: boolean): ast.ValueNode | undefined {\n let out: ast.ValueNode | undefined;\n let match: string | undefined;\n if ((match = advance(constRe))) {\n out =\n match === 'null'\n ? {\n kind: 'NullValue' as Kind.NULL,\n }\n : {\n kind: 'BooleanValue' as Kind.BOOLEAN,\n value: match === 'true',\n };\n } else if (!constant && (match = advance(variableRe))) {\n out = {\n kind: 'Variable' as Kind.VARIABLE,\n name: {\n kind: 'Name' as Kind.NAME,\n value: match.slice(1),\n },\n };\n } else if ((match = advance(floatRe))) {\n out = {\n kind: 'FloatValue' as Kind.FLOAT,\n value: match,\n };\n } else if ((match = advance(intRe))) {\n out = {\n kind: 'IntValue' as Kind.INT,\n value: match,\n };\n } else if ((match = advance(nameRe))) {\n out = {\n kind: 'EnumValue' as Kind.ENUM,\n value: match,\n };\n } else if ((match = advance(blockStringRe))) {\n out = {\n kind: 'StringValue' as Kind.STRING,\n value: blockString(match.slice(3, -3)),\n block: true,\n };\n } else if ((match = advance(stringRe))) {\n out = {\n kind: 'StringValue' as Kind.STRING,\n value: complexStringRe.test(match) ? (JSON.parse(match) as string) : match.slice(1, -1),\n block: false,\n };\n } else if ((out = list(constant) || object(constant))) {\n return out;\n }\n\n ignored();\n return out;\n}\n\nfunction list(constant: boolean): ast.ListValueNode | undefined {\n let match: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const values: ast.ValueNode[] = [];\n while ((match = value(constant))) values.push(match);\n if (input.charCodeAt(idx++) !== 93 /*']'*/) throw error('ListValue');\n ignored();\n return {\n kind: 'ListValue' as Kind.LIST,\n values,\n };\n }\n}\n\nfunction object(constant: boolean): ast.ObjectValueNode | undefined {\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const fields: ast.ObjectFieldNode[] = [];\n let _name: ast.NameNode | undefined;\n while ((_name = name())) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('ObjectField' as Kind.OBJECT_FIELD);\n ignored();\n const _value = value(constant);\n if (!_value) throw error('ObjectField');\n fields.push({\n kind: 'ObjectField' as Kind.OBJECT_FIELD,\n name: _name,\n value: _value,\n });\n }\n if (input.charCodeAt(idx++) !== 125 /*'}'*/) throw error('ObjectValue');\n ignored();\n return {\n kind: 'ObjectValue' as Kind.OBJECT,\n fields,\n };\n }\n}\n\nfunction arguments_(constant: boolean): ast.ArgumentNode[] {\n const args: ast.ArgumentNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n let _name: ast.NameNode | undefined;\n while ((_name = name())) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('Argument');\n ignored();\n const _value = value(constant);\n if (!_value) throw error('Argument');\n args.push({\n kind: 'Argument' as Kind.ARGUMENT,\n name: _name,\n value: _value,\n });\n }\n if (!args.length || input.charCodeAt(idx++) !== 41 /*')'*/) throw error('Argument');\n ignored();\n }\n return args;\n}\n\nfunction directives(constant: true): ast.ConstDirectiveNode[];\nfunction directives(constant: boolean): ast.DirectiveNode[];\n\nfunction directives(constant: boolean): ast.DirectiveNode[] {\n const directives: ast.DirectiveNode[] = [];\n ignored();\n while (input.charCodeAt(idx) === 64 /*'@'*/) {\n idx++;\n const _name = name();\n if (!_name) throw error('Directive');\n ignored();\n directives.push({\n kind: 'Directive' as Kind.DIRECTIVE,\n name: _name,\n arguments: arguments_(constant),\n });\n }\n return directives;\n}\n\nfunction field(): ast.FieldNode | undefined {\n let _name = name();\n if (_name) {\n ignored();\n let _alias: ast.NameNode | undefined;\n if (input.charCodeAt(idx) === 58 /*':'*/) {\n idx++;\n ignored();\n _alias = _name;\n _name = name();\n if (!_name) throw error('Field');\n ignored();\n }\n return {\n kind: 'Field' as Kind.FIELD,\n alias: _alias,\n name: _name,\n arguments: arguments_(false),\n directives: directives(false),\n selectionSet: selectionSet(),\n };\n }\n}\n\nfunction type(): ast.TypeNode | undefined {\n let match: ast.NameNode | ast.TypeNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const _type = type();\n if (!_type || input.charCodeAt(idx++) !== 93 /*']'*/) throw error('ListType');\n match = {\n kind: 'ListType' as Kind.LIST_TYPE,\n type: _type,\n };\n } else if ((match = name())) {\n match = {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: match,\n };\n } else {\n throw error('NamedType');\n }\n\n ignored();\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n return {\n kind: 'NonNullType' as Kind.NON_NULL_TYPE,\n type: match,\n };\n } else {\n return match;\n }\n}\n\nconst typeConditionRe = /on/y;\nfunction typeCondition(): ast.NamedTypeNode | undefined {\n if (advance(typeConditionRe)) {\n ignored();\n const _name = name();\n if (!_name) throw error('NamedType');\n ignored();\n return {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: _name,\n };\n }\n}\n\nconst fragmentSpreadRe = /\\.\\.\\./y;\n\nfunction fragmentSpread(): ast.FragmentSpreadNode | ast.InlineFragmentNode | undefined {\n if (advance(fragmentSpreadRe)) {\n ignored();\n const _idx = idx;\n let _name: ast.NameNode | undefined;\n if ((_name = name()) && _name.value !== 'on') {\n return {\n kind: 'FragmentSpread' as Kind.FRAGMENT_SPREAD,\n name: _name,\n directives: directives(false),\n };\n } else {\n idx = _idx;\n const _typeCondition = typeCondition();\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet) throw error('InlineFragment');\n return {\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n }\n}\n\nfunction selectionSet(): ast.SelectionSetNode | undefined {\n let match: ast.SelectionNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const selections: ast.SelectionNode[] = [];\n while ((match = fragmentSpread() || field())) selections.push(match);\n if (!selections.length || input.charCodeAt(idx++) !== 125 /*'}'*/) throw error('SelectionSet');\n ignored();\n return {\n kind: 'SelectionSet' as Kind.SELECTION_SET,\n selections,\n };\n }\n}\n\nfunction variableDefinitions(): ast.VariableDefinitionNode[] {\n let match: string | undefined;\n const vars: ast.VariableDefinitionNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n while ((match = advance(variableRe))) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('VariableDefinition');\n const _type = type();\n if (!_type) throw error('VariableDefinition');\n let _defaultValue: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n if (!_defaultValue) throw error('VariableDefinition');\n }\n ignored();\n vars.push({\n kind: 'VariableDefinition' as Kind.VARIABLE_DEFINITION,\n variable: {\n kind: 'Variable' as Kind.VARIABLE,\n name: {\n kind: 'Name' as Kind.NAME,\n value: match.slice(1),\n },\n },\n type: _type,\n defaultValue: _defaultValue as ast.ConstValueNode,\n directives: directives(true),\n });\n }\n if (input.charCodeAt(idx++) !== 41 /*')'*/) throw error('VariableDefinition');\n ignored();\n }\n return vars;\n}\n\nconst fragmentDefinitionRe = /fragment/y;\nfunction fragmentDefinition(): ast.FragmentDefinitionNode | undefined {\n if (advance(fragmentDefinitionRe)) {\n ignored();\n const _name = name();\n if (!_name) throw error('FragmentDefinition');\n ignored();\n const _typeCondition = typeCondition();\n if (!_typeCondition) throw error('FragmentDefinition');\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet) throw error('FragmentDefinition');\n return {\n kind: 'FragmentDefinition' as Kind.FRAGMENT_DEFINITION,\n name: _name,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nconst operationDefinitionRe = /query|mutation|subscription/y;\nfunction operationDefinition(): ast.OperationDefinitionNode | undefined {\n let _operation: string | undefined;\n let _name: ast.NameNode | undefined;\n let _variableDefinitions: ast.VariableDefinitionNode[] = [];\n let _directives: ast.DirectiveNode[] = [];\n if ((_operation = advance(operationDefinitionRe))) {\n ignored();\n _name = name();\n _variableDefinitions = variableDefinitions();\n _directives = directives(false);\n }\n const _selectionSet = selectionSet();\n if (_selectionSet) {\n return {\n kind: 'OperationDefinition' as Kind.OPERATION_DEFINITION,\n operation: (_operation || 'query') as OperationTypeNode,\n name: _name,\n variableDefinitions: _variableDefinitions,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nfunction document(): ast.DocumentNode {\n let match: ast.ExecutableDefinitionNode | void;\n ignored();\n const definitions: ast.ExecutableDefinitionNode[] = [];\n while ((match = fragmentDefinition() || operationDefinition())) definitions.push(match);\n if (idx !== input.length) throw error('Document');\n return {\n kind: 'Document' as Kind.DOCUMENT,\n definitions,\n };\n}\n\ntype ParseOptions = {\n [option: string]: any;\n};\n\nexport function parse(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.DocumentNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n return document();\n}\n\nexport function parseValue(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.ValueNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n ignored();\n const _value = value(false);\n if (!_value) throw error('ValueNode');\n return _value;\n}\n\nexport function parseType(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.TypeNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n const _type = type();\n if (!_type) throw error('TypeNode');\n return _type;\n}\n","import { ASTNode } from './ast';\n\nexport const BREAK = {};\n\nexport function visit<N extends ASTNode>(root: N, visitor: ASTVisitor): N;\nexport function visit<R>(root: ASTNode, visitor: ASTReducer<R>): R;\n\nexport function visit(node: ASTNode, visitor: ASTVisitor | ASTReducer<any>) {\n const ancestors: Array<ASTNode | ReadonlyArray<ASTNode>> = [];\n const path: Array<string | number> = [];\n\n function traverse(\n node: ASTNode,\n key?: string | number | undefined,\n parent?: ASTNode | ReadonlyArray<ASTNode> | undefined\n ) {\n let hasEdited = false;\n\n const enter =\n (visitor[node.kind] && visitor[node.kind].enter) ||\n visitor[node.kind] ||\n (visitor as EnterLeaveVisitor<ASTNode>).enter;\n const resultEnter = enter && enter.call(visitor, node, key, parent, path, ancestors);\n if (resultEnter === false) {\n return node;\n } else if (resultEnter === null) {\n return null;\n } else if (resultEnter === BREAK) {\n throw BREAK;\n } else if (resultEnter && typeof resultEnter.kind === 'string') {\n hasEdited = resultEnter !== node;\n node = resultEnter;\n }\n\n if (parent) ancestors.push(parent);\n\n let result: any;\n const copy = { ...node };\n for (const nodeKey in node) {\n path.push(nodeKey);\n let value = node[nodeKey];\n if (Array.isArray(value)) {\n const newValue: any[] = [];\n for (let index = 0; index < value.length; index++) {\n if (value[index] != null && typeof value[index].kind === 'string') {\n ancestors.push(node);\n path.push(index);\n result = traverse(value[index], index, value);\n path.pop();\n ancestors.pop();\n if (result === undefined) {\n newValue.push(value[index]);\n } else if (result === null) {\n hasEdited = true;\n } else {\n hasEdited = hasEdited || result !== value[index];\n newValue.push(result);\n }\n }\n }\n value = newValue;\n } else if (value != null && typeof value.kind === 'string') {\n result = traverse(value, nodeKey, node);\n if (result !== undefined) {\n hasEdited = hasEdited || value !== result;\n value = result;\n }\n }\n\n path.pop();\n if (hasEdited) copy[nodeKey] = value;\n }\n\n if (parent) ancestors.pop();\n const leave =\n (visitor[node.kind] && visitor[node.kind].leave) ||\n (visitor as EnterLeaveVisitor<ASTNode>).leave;\n const resultLeave = leave && leave.call(visitor, node, key, parent, path, ancestors);\n if (resultLeave === BREAK) {\n throw BREAK;\n } else if (resultLeave !== undefined) {\n return resultLeave;\n } else if (resultEnter !== undefined) {\n return hasEdited ? copy : resultEnter;\n } else {\n return hasEdited ? copy : node;\n }\n }\n\n try {\n const result = traverse(node);\n return result !== undefined && result !== false ? result : node;\n } catch (error) {\n if (error !== BREAK) throw error;\n return node;\n }\n}\n\nexport type ASTVisitor = EnterLeaveVisitor<ASTNode> | KindVisitor;\n\ntype KindVisitor = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: ASTVisitFn<NodeT> | EnterLeaveVisitor<NodeT>;\n};\n\ninterface EnterLeaveVisitor<TVisitedNode extends ASTNode> {\n readonly enter?: ASTVisitFn<TVisitedNode> | undefined;\n readonly leave?: ASTVisitFn<TVisitedNode> | undefined;\n}\n\nexport type ASTVisitFn<Node extends ASTNode> = (\n node: Node,\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => any;\n\nexport type ASTReducer<R> = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: {\n readonly enter?: ASTVisitFn<NodeT>;\n readonly leave: ASTReducerFn<NodeT, R>;\n };\n};\n\ntype ASTReducerFn<TReducedNode extends ASTNode, R> = (\n node: { [K in keyof TReducedNode]: ReducedField<TReducedNode[K], R> },\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => R;\n\ntype ReducedField<T, R> = T extends null | undefined\n ? T\n : T extends ReadonlyArray<any>\n ? ReadonlyArray<R>\n : R;\n","import { ASTNode } from './ast';\n\nexport function printString(string: string) {\n return JSON.stringify(string);\n}\n\nexport function printBlockString(string: string) {\n return '\"\"\"\\n' + string.replace(/\"\"\"/g, '\\\\\"\"\"') + '\\n\"\"\"';\n}\n\nconst hasItems = <T>(array: ReadonlyArray<T> | undefined | null): array is ReadonlyArray<T> =>\n !!(array && array.length);\n\nconst MAX_LINE_LENGTH = 80;\n\nconst nodes: {\n [NodeT in ASTNode as NodeT['kind']]?: (node: NodeT) => string;\n} = {\n OperationDefinition(node) {\n if (\n node.operation === 'query' &&\n !node.name &&\n !hasItems(node.variableDefinitions) &&\n !hasItems(node.directives)\n ) {\n return nodes.SelectionSet!(node.selectionSet);\n }\n let out: string = node.operation;\n if (node.name) out += ' ' + node.name.value;\n if (hasItems(node.variableDefinitions)) {\n if (!node.name) out += ' ';\n out += '(' + node.variableDefinitions.map(nodes.VariableDefinition!).join(', ') + ')';\n }\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + nodes.SelectionSet!(node.selectionSet);\n },\n VariableDefinition(node) {\n let out = nodes.Variable!(node.variable) + ': ' + print(node.type);\n if (node.defaultValue) out += ' = ' + print(node.defaultValue);\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out;\n },\n Field(node) {\n let out = (node.alias ? node.alias.value + ': ' : '') + node.name.value;\n if (hasItems(node.arguments)) {\n const args = node.arguments.map(nodes.Argument!);\n const argsLine = out + '(' + args.join(', ') + ')';\n out =\n argsLine.length > MAX_LINE_LENGTH\n ? out + '(\\n ' + args.join('\\n').replace(/\\n/g, '\\n ') + '\\n)'\n : argsLine;\n }\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return node.selectionSet ? out + ' ' + nodes.SelectionSet!(node.selectionSet) : out;\n },\n StringValue(node) {\n return node.block ? printBlockString(node.value) : printString(node.value);\n },\n BooleanValue(node) {\n return '' + node.value;\n },\n NullValue(_node) {\n return 'null';\n },\n IntValue(node) {\n return node.value;\n },\n FloatValue(node) {\n return node.value;\n },\n EnumValue(node) {\n return node.value;\n },\n Name(node) {\n return node.value;\n },\n Variable(node) {\n return '$' + node.name.value;\n },\n ListValue(node) {\n return '[' + node.values.map(print).join(', ') + ']';\n },\n ObjectValue(node) {\n return '{' + node.fields.map(nodes.ObjectField!).join(', ') + '}';\n },\n ObjectField(node) {\n return node.name.value + ': ' + print(node.value);\n },\n Document(node) {\n return hasItems(node.definitions) ? node.definitions.map(print).join('\\n\\n') : '';\n },\n SelectionSet(node) {\n return '{\\n ' + node.selections.map(print).join('\\n').replace(/\\n/g, '\\n ') + '\\n}';\n },\n Argument(node) {\n return node.name.value + ': ' + print(node.value);\n },\n FragmentSpread(node) {\n let out = '...' + node.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out;\n },\n InlineFragment(node) {\n let out = '...';\n if (node.typeCondition) out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + print(node.selectionSet);\n },\n FragmentDefinition(node) {\n let out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + print(node.selectionSet);\n },\n Directive(node) {\n let out = '@' + node.name.value;\n if (hasItems(node.arguments)) out += '(' + node.arguments.map(nodes.Argument!).join(', ') + ')';\n return out;\n },\n NamedType(node) {\n return node.name.value;\n },\n ListType(node) {\n return '[' + print(node.type) + ']';\n },\n NonNullType(node) {\n return print(node.type) + '!';\n },\n};\n\nexport function print(node: ASTNode): string {\n return nodes[node.kind] ? nodes[node.kind]!(node as any) : '';\n}\n","import { TypeNode, ValueNode } from './ast';\nimport { Maybe } from './types';\n\nexport function valueFromASTUntyped(\n node: ValueNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n switch (node.kind) {\n case 'NullValue':\n return null;\n case 'IntValue':\n return parseInt(node.value, 10);\n case 'FloatValue':\n return parseFloat(node.value);\n case 'StringValue':\n case 'EnumValue':\n case 'BooleanValue':\n return node.value;\n case 'ListValue': {\n const values: unknown[] = [];\n for (const value of node.values) values.push(valueFromASTUntyped(value, variables));\n return values;\n }\n case 'ObjectValue': {\n const obj = Object.create(null);\n for (const field of node.fields)\n obj[field.name.value] = valueFromASTUntyped(field.value, variables);\n return obj;\n }\n case 'Variable':\n return variables && variables[node.name.value];\n }\n}\n\nexport function valueFromTypeNode(\n node: ValueNode,\n type: TypeNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n if (node.kind === 'Variable') {\n const variableName = node.name.value;\n return variables ? valueFromTypeNode(variables[variableName], type, variables) : undefined;\n } else if (type.kind === 'NonNullType') {\n return node.kind !== 'NullValue' ? valueFromTypeNode(node, type, variables) : undefined;\n } else if (node.kind === 'NullValue') {\n return null;\n } else if (type.kind === 'ListType') {\n if (node.kind === 'ListValue') {\n const values: unknown[] = [];\n for (const value of node.values) {\n const coerced = valueFromTypeNode(value, type.type, variables);\n if (coerced === undefined) {\n return undefined;\n } else {\n values.push(coerced);\n }\n }\n return values;\n }\n } else if (type.kind === 'NamedType') {\n switch (type.name.value) {\n case 'Int':\n case 'Float':\n case 'String':\n case 'Bool':\n return type.name.value + 'Value' === node.kind\n ? valueFromASTUntyped(node, variables)\n : undefined;\n default:\n return valueFromASTUntyped(node, variables);\n }\n }\n}\n","export const Kind = {\n NAME: 'Name',\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n DIRECTIVE: 'Directive',\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n\n /*\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n SCHEMA_EXTENSION: 'SchemaExtension',\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension',\n */\n};\n\nexport const OperationTypeNode = {\n QUERY: 'query',\n MUTATION: 'mutation',\n SUBSCRIPTION: 'subscription',\n};\n"],"names":["GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","let","_extensions","const","originalExtensions","toJSON","toString","toStringTag","Symbol","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","lines","split","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","length","i","replace","ignored","char","charCodeAt","nameRe","match","value","constRe","variableRe","intRe","floatRe","complexStringRe","blockStringRe","stringRe","constant","block","JSON","parse","list","values","push","object","fields","_name","_value","arguments_","args","directives","arguments","field","_alias","alias","selectionSet","type","_type","typeConditionRe","typeCondition","fragmentSpreadRe","fragmentSpread","_idx","_typeCondition","_directives","_selectionSet","selections","fragmentDefinitionRe","fragmentDefinition","operationDefinitionRe","operationDefinition","_operation","_variableDefinitions","variableDefinitions","vars","_defaultValue","variable","defaultValue","operation","BREAK","printString","stringify","printBlockString","hasItems","array","OperationDefinition","node","SelectionSet","map","VariableDefinition","join","Directive","Variable","print","Field","Argument","argsLine","StringValue","BooleanValue","NullValue","_node","IntValue","FloatValue","EnumValue","Name","ListValue","ObjectValue","ObjectField","Document","definitions","FragmentSpread","InlineFragment","FragmentDefinition","NamedType","ListType","NonNullType","valueFromASTUntyped","variables","parseInt","parseFloat","obj","Object","create","i$1","list$1","NAME","DOCUMENT","OPERATION_DEFINITION","VARIABLE_DEFINITION","SELECTION_SET","FIELD","ARGUMENT","FRAGMENT_SPREAD","INLINE_FRAGMENT","FRAGMENT_DEFINITION","VARIABLE","INT","FLOAT","STRING","BOOLEAN","NULL","ENUM","LIST","OBJECT","OBJECT_FIELD","DIRECTIVE","NAMED_TYPE","LIST_TYPE","NON_NULL_TYPE","QUERY","MUTATION","SUBSCRIPTION","_options","body","document","parseType","parseValue","valueFromTypeNode","undefined","coerced","visit","visitor","ancestors","result","traverse","key","parent","hasEdited","enter","resultEnter","call","copy","nodeKey","newValue","index","pop","leave","resultLeave"],"mappings":"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"}
1
+ {"version":3,"file":"graphql.web.js","sources":["../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts","../src/values.ts","../src/kind.js"],"sourcesContent":["import { Maybe, Extensions, Source } from './types';\nimport { ASTNode } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: ReadonlyArray<any> | undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<any> | undefined;\n readonly source: Source | undefined;\n readonly positions: ReadonlyArray<number> | undefined;\n readonly originalError: Error | undefined;\n readonly extensions: Extensions;\n\n constructor(\n message: string,\n nodes?: ReadonlyArray<ASTNode> | ASTNode | null,\n source?: Maybe<Source>,\n positions?: Maybe<ReadonlyArray<number>>,\n path?: Maybe<ReadonlyArray<string | number>>,\n originalError?: Maybe<Error>,\n extensions?: Maybe<Extensions>\n ) {\n super(message);\n\n this.name = 'GraphQLError';\n this.message = message;\n\n if (path) this.path = path;\n if (nodes) this.nodes = (Array.isArray(nodes) ? nodes : [nodes]) as ASTNode[];\n if (source) this.source = source;\n if (positions) this.positions = positions;\n if (originalError) this.originalError = originalError;\n\n let _extensions = extensions;\n if (!_extensions && originalError) {\n const originalExtensions = (originalError as any).extensions;\n if (originalExtensions && typeof originalExtensions === 'object') {\n _extensions = originalExtensions;\n }\n }\n\n this.extensions = _extensions || {};\n }\n\n toJSON(): any {\n return { ...this, message: this.message };\n }\n\n toString() {\n return this.message;\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLError';\n }\n}\n","/**\n * This is a spec-compliant implementation of a GraphQL query language parser,\n * up-to-date with the October 2021 Edition. Unlike the reference implementation\n * in graphql.js it will only parse the query language, but not the schema\n * language.\n */\nimport { Kind, OperationTypeNode } from './kind';\nimport { GraphQLError } from './error';\nimport { Source } from './types';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: string) {\n return new GraphQLError(`Syntax Error: Unexpected token at ${idx} in ${kind}`);\n}\n\nfunction advance(pattern: RegExp) {\n pattern.lastIndex = idx;\n if (pattern.test(input)) {\n const match = input.slice(idx, (idx = pattern.lastIndex));\n return match;\n }\n}\n\nconst leadingRe = / +(?=[^\\s])/y;\nfunction blockString(string: string) {\n const lines = string.split('\\n');\n let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = lines.length - 1;\n for (let i = 0; i < lines.length; i++) {\n leadingRe.lastIndex = 0;\n if (leadingRe.test(lines[i])) {\n if (i && (!commonIndent || leadingRe.lastIndex < commonIndent))\n commonIndent = leadingRe.lastIndex;\n firstNonEmptyLine = firstNonEmptyLine || i;\n lastNonEmptyLine = i;\n }\n }\n for (let i = firstNonEmptyLine; i <= lastNonEmptyLine; i++) {\n if (i !== firstNonEmptyLine) out += '\\n';\n out += lines[i].slice(commonIndent).replace(/\\\\\"\"\"/g, '\"\"\"');\n }\n return out;\n}\n\n// Note: This is equivalent to: /(?:[\\s,]*|#[^\\n\\r]*)*/y\nfunction ignored() {\n for (\n let char = input.charCodeAt(idx++) | 0;\n char === 9 /*'\\t'*/ ||\n char === 10 /*'\\n'*/ ||\n char === 13 /*'\\r'*/ ||\n char === 32 /*' '*/ ||\n char === 35 /*'#'*/ ||\n char === 44 /*','*/ ||\n char === 65279 /*'\\ufeff'*/;\n char = input.charCodeAt(idx++) | 0\n ) {\n if (char === 35 /*'#'*/) while ((char = input.charCodeAt(idx++)) !== 10 && char !== 13);\n }\n idx--;\n}\n\nconst nameRe = /[_\\w][_\\d\\w]*/y;\nfunction name(): ast.NameNode | undefined {\n let match: string | undefined;\n if ((match = advance(nameRe))) {\n return {\n kind: 'Name' as Kind.NAME,\n value: match,\n };\n }\n}\n\nconst constRe = /null|true|false/y;\nconst variableRe = /\\$[_\\w][_\\d\\w]*/y;\nconst intRe = /-?\\d+/y;\nconst floatPartRe = /(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/y;\nconst complexStringRe = /\\\\/g;\nconst blockStringRe = /\"\"\"(?:[\\s\\S]+(?=\"\"\"))?\"\"\"/y;\nconst stringRe = /\"(?:[^\"\\r\\n]+)?\"/y;\n\nfunction value(constant: true): ast.ConstValueNode;\nfunction value(constant: boolean): ast.ValueNode;\n\nfunction value(constant: boolean): ast.ValueNode | undefined {\n let out: ast.ValueNode | undefined;\n let match: string | undefined;\n if ((match = advance(constRe))) {\n out =\n match === 'null'\n ? {\n kind: 'NullValue' as Kind.NULL,\n }\n : {\n kind: 'BooleanValue' as Kind.BOOLEAN,\n value: match === 'true',\n };\n } else if (!constant && (match = advance(variableRe))) {\n out = {\n kind: 'Variable' as Kind.VARIABLE,\n name: {\n kind: 'Name' as Kind.NAME,\n value: match.slice(1),\n },\n };\n } else if ((match = advance(intRe))) {\n const intPart = match;\n if ((match = advance(floatPartRe))) {\n out = {\n kind: 'FloatValue' as Kind.FLOAT,\n value: intPart + match,\n };\n } else {\n out = {\n kind: 'IntValue' as Kind.INT,\n value: intPart,\n };\n }\n } else if ((match = advance(nameRe))) {\n out = {\n kind: 'EnumValue' as Kind.ENUM,\n value: match,\n };\n } else if ((match = advance(blockStringRe))) {\n out = {\n kind: 'StringValue' as Kind.STRING,\n value: blockString(match.slice(3, -3)),\n block: true,\n };\n } else if ((match = advance(stringRe))) {\n out = {\n kind: 'StringValue' as Kind.STRING,\n value: complexStringRe.test(match) ? (JSON.parse(match) as string) : match.slice(1, -1),\n block: false,\n };\n } else if ((out = list(constant) || object(constant))) {\n return out;\n }\n\n ignored();\n return out;\n}\n\nfunction list(constant: boolean): ast.ListValueNode | undefined {\n let match: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const values: ast.ValueNode[] = [];\n while ((match = value(constant))) values.push(match);\n if (input.charCodeAt(idx++) !== 93 /*']'*/) throw error('ListValue');\n ignored();\n return {\n kind: 'ListValue' as Kind.LIST,\n values,\n };\n }\n}\n\nfunction object(constant: boolean): ast.ObjectValueNode | undefined {\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const fields: ast.ObjectFieldNode[] = [];\n let _name: ast.NameNode | undefined;\n while ((_name = name())) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('ObjectField' as Kind.OBJECT_FIELD);\n ignored();\n const _value = value(constant);\n if (!_value) throw error('ObjectField');\n fields.push({\n kind: 'ObjectField' as Kind.OBJECT_FIELD,\n name: _name,\n value: _value,\n });\n }\n if (input.charCodeAt(idx++) !== 125 /*'}'*/) throw error('ObjectValue');\n ignored();\n return {\n kind: 'ObjectValue' as Kind.OBJECT,\n fields,\n };\n }\n}\n\nfunction arguments_(constant: boolean): ast.ArgumentNode[] {\n const args: ast.ArgumentNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n let _name: ast.NameNode | undefined;\n while ((_name = name())) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('Argument');\n ignored();\n const _value = value(constant);\n if (!_value) throw error('Argument');\n args.push({\n kind: 'Argument' as Kind.ARGUMENT,\n name: _name,\n value: _value,\n });\n }\n if (!args.length || input.charCodeAt(idx++) !== 41 /*')'*/) throw error('Argument');\n ignored();\n }\n return args;\n}\n\nfunction directives(constant: true): ast.ConstDirectiveNode[];\nfunction directives(constant: boolean): ast.DirectiveNode[];\n\nfunction directives(constant: boolean): ast.DirectiveNode[] {\n const directives: ast.DirectiveNode[] = [];\n ignored();\n while (input.charCodeAt(idx) === 64 /*'@'*/) {\n idx++;\n const _name = name();\n if (!_name) throw error('Directive');\n ignored();\n directives.push({\n kind: 'Directive' as Kind.DIRECTIVE,\n name: _name,\n arguments: arguments_(constant),\n });\n }\n return directives;\n}\n\nfunction field(): ast.FieldNode | undefined {\n let _name = name();\n if (_name) {\n ignored();\n let _alias: ast.NameNode | undefined;\n if (input.charCodeAt(idx) === 58 /*':'*/) {\n idx++;\n ignored();\n _alias = _name;\n _name = name();\n if (!_name) throw error('Field');\n ignored();\n }\n return {\n kind: 'Field' as Kind.FIELD,\n alias: _alias,\n name: _name,\n arguments: arguments_(false),\n directives: directives(false),\n selectionSet: selectionSet(),\n };\n }\n}\n\nfunction type(): ast.TypeNode {\n let match: ast.NameNode | ast.TypeNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const _type = type();\n if (!_type || input.charCodeAt(idx++) !== 93 /*']'*/) throw error('ListType');\n match = {\n kind: 'ListType' as Kind.LIST_TYPE,\n type: _type,\n };\n } else if ((match = name())) {\n match = {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: match,\n };\n } else {\n throw error('NamedType');\n }\n\n ignored();\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n return {\n kind: 'NonNullType' as Kind.NON_NULL_TYPE,\n type: match,\n };\n } else {\n return match;\n }\n}\n\nconst typeConditionRe = /on/y;\nfunction typeCondition(): ast.NamedTypeNode | undefined {\n if (advance(typeConditionRe)) {\n ignored();\n const _name = name();\n if (!_name) throw error('NamedType');\n ignored();\n return {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: _name,\n };\n }\n}\n\nconst fragmentSpreadRe = /\\.\\.\\./y;\n\nfunction fragmentSpread(): ast.FragmentSpreadNode | ast.InlineFragmentNode | undefined {\n if (advance(fragmentSpreadRe)) {\n ignored();\n const _idx = idx;\n let _name: ast.NameNode | undefined;\n if ((_name = name()) && _name.value !== 'on') {\n return {\n kind: 'FragmentSpread' as Kind.FRAGMENT_SPREAD,\n name: _name,\n directives: directives(false),\n };\n } else {\n idx = _idx;\n const _typeCondition = typeCondition();\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet) throw error('InlineFragment');\n return {\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n }\n}\n\nfunction selectionSet(): ast.SelectionSetNode | undefined {\n let match: ast.SelectionNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const selections: ast.SelectionNode[] = [];\n while ((match = fragmentSpread() || field())) selections.push(match);\n if (!selections.length || input.charCodeAt(idx++) !== 125 /*'}'*/) throw error('SelectionSet');\n ignored();\n return {\n kind: 'SelectionSet' as Kind.SELECTION_SET,\n selections,\n };\n }\n}\n\nfunction variableDefinitions(): ast.VariableDefinitionNode[] {\n let match: string | undefined;\n const vars: ast.VariableDefinitionNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n while ((match = advance(variableRe))) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('VariableDefinition');\n const _type = type();\n let _defaultValue: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n if (!_defaultValue) throw error('VariableDefinition');\n }\n ignored();\n vars.push({\n kind: 'VariableDefinition' as Kind.VARIABLE_DEFINITION,\n variable: {\n kind: 'Variable' as Kind.VARIABLE,\n name: {\n kind: 'Name' as Kind.NAME,\n value: match.slice(1),\n },\n },\n type: _type,\n defaultValue: _defaultValue as ast.ConstValueNode,\n directives: directives(true),\n });\n }\n if (input.charCodeAt(idx++) !== 41 /*')'*/) throw error('VariableDefinition');\n ignored();\n }\n return vars;\n}\n\nconst fragmentDefinitionRe = /fragment/y;\nfunction fragmentDefinition(): ast.FragmentDefinitionNode | undefined {\n if (advance(fragmentDefinitionRe)) {\n ignored();\n const _name = name();\n if (!_name) throw error('FragmentDefinition');\n ignored();\n const _typeCondition = typeCondition();\n if (!_typeCondition) throw error('FragmentDefinition');\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet) throw error('FragmentDefinition');\n return {\n kind: 'FragmentDefinition' as Kind.FRAGMENT_DEFINITION,\n name: _name,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nconst operationDefinitionRe = /query|mutation|subscription/y;\nfunction operationDefinition(): ast.OperationDefinitionNode | undefined {\n let _operation: string | undefined;\n let _name: ast.NameNode | undefined;\n let _variableDefinitions: ast.VariableDefinitionNode[] = [];\n let _directives: ast.DirectiveNode[] = [];\n if ((_operation = advance(operationDefinitionRe))) {\n ignored();\n _name = name();\n _variableDefinitions = variableDefinitions();\n _directives = directives(false);\n }\n const _selectionSet = selectionSet();\n if (_selectionSet) {\n return {\n kind: 'OperationDefinition' as Kind.OPERATION_DEFINITION,\n operation: (_operation || 'query') as OperationTypeNode,\n name: _name,\n variableDefinitions: _variableDefinitions,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nfunction document(): ast.DocumentNode {\n let match: ast.ExecutableDefinitionNode | void;\n ignored();\n const definitions: ast.ExecutableDefinitionNode[] = [];\n while ((match = fragmentDefinition() || operationDefinition())) definitions.push(match);\n return {\n kind: 'Document' as Kind.DOCUMENT,\n definitions,\n };\n}\n\ntype ParseOptions = {\n [option: string]: any;\n};\n\nexport function parse(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.DocumentNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n return document();\n}\n\nexport function parseValue(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.ValueNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n ignored();\n const _value = value(false);\n if (!_value) throw error('ValueNode');\n return _value;\n}\n\nexport function parseType(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.TypeNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n return type();\n}\n","import { ASTNode } from './ast';\n\nexport const BREAK = {};\n\nexport function visit<N extends ASTNode>(root: N, visitor: ASTVisitor): N;\nexport function visit<R>(root: ASTNode, visitor: ASTReducer<R>): R;\n\nexport function visit(node: ASTNode, visitor: ASTVisitor | ASTReducer<any>) {\n const ancestors: Array<ASTNode | ReadonlyArray<ASTNode>> = [];\n const path: Array<string | number> = [];\n\n function traverse(\n node: ASTNode,\n key?: string | number | undefined,\n parent?: ASTNode | ReadonlyArray<ASTNode> | undefined\n ) {\n let hasEdited = false;\n\n const enter =\n (visitor[node.kind] && visitor[node.kind].enter) ||\n visitor[node.kind] ||\n (visitor as EnterLeaveVisitor<ASTNode>).enter;\n const resultEnter = enter && enter.call(visitor, node, key, parent, path, ancestors);\n if (resultEnter === false) {\n return node;\n } else if (resultEnter === null) {\n return null;\n } else if (resultEnter === BREAK) {\n throw BREAK;\n } else if (resultEnter && typeof resultEnter.kind === 'string') {\n hasEdited = resultEnter !== node;\n node = resultEnter;\n }\n\n if (parent) ancestors.push(parent);\n\n let result: any;\n const copy = { ...node };\n for (const nodeKey in node) {\n path.push(nodeKey);\n let value = node[nodeKey];\n if (Array.isArray(value)) {\n const newValue: any[] = [];\n for (let index = 0; index < value.length; index++) {\n if (value[index] != null && typeof value[index].kind === 'string') {\n ancestors.push(node);\n path.push(index);\n result = traverse(value[index], index, value);\n path.pop();\n ancestors.pop();\n if (result == null) {\n hasEdited = true;\n } else {\n hasEdited = hasEdited || result !== value[index];\n newValue.push(result);\n }\n }\n }\n value = newValue;\n } else if (value != null && typeof value.kind === 'string') {\n result = traverse(value, nodeKey, node);\n if (result !== undefined) {\n hasEdited = hasEdited || value !== result;\n value = result;\n }\n }\n\n path.pop();\n if (hasEdited) copy[nodeKey] = value;\n }\n\n if (parent) ancestors.pop();\n const leave =\n (visitor[node.kind] && visitor[node.kind].leave) ||\n (visitor as EnterLeaveVisitor<ASTNode>).leave;\n const resultLeave = leave && leave.call(visitor, node, key, parent, path, ancestors);\n if (resultLeave === BREAK) {\n throw BREAK;\n } else if (resultLeave !== undefined) {\n return resultLeave;\n } else if (resultEnter !== undefined) {\n return hasEdited ? copy : resultEnter;\n } else {\n return hasEdited ? copy : node;\n }\n }\n\n try {\n const result = traverse(node);\n return result !== undefined && result !== false ? result : node;\n } catch (error) {\n if (error !== BREAK) throw error;\n return node;\n }\n}\n\nexport type ASTVisitor = EnterLeaveVisitor<ASTNode> | KindVisitor;\n\ntype KindVisitor = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: ASTVisitFn<NodeT> | EnterLeaveVisitor<NodeT>;\n};\n\ninterface EnterLeaveVisitor<TVisitedNode extends ASTNode> {\n readonly enter?: ASTVisitFn<TVisitedNode> | undefined;\n readonly leave?: ASTVisitFn<TVisitedNode> | undefined;\n}\n\nexport type ASTVisitFn<Node extends ASTNode> = (\n node: Node,\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => any;\n\nexport type ASTReducer<R> = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: {\n readonly enter?: ASTVisitFn<NodeT>;\n readonly leave: ASTReducerFn<NodeT, R>;\n };\n};\n\ntype ASTReducerFn<TReducedNode extends ASTNode, R> = (\n node: { [K in keyof TReducedNode]: ReducedField<TReducedNode[K], R> },\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => R;\n\ntype ReducedField<T, R> = T extends null | undefined\n ? T\n : T extends ReadonlyArray<any>\n ? ReadonlyArray<R>\n : R;\n","import { ASTNode } from './ast';\n\nexport function printString(string: string) {\n return JSON.stringify(string);\n}\n\nexport function printBlockString(string: string) {\n return '\"\"\"\\n' + string.replace(/\"\"\"/g, '\\\\\"\"\"') + '\\n\"\"\"';\n}\n\nconst hasItems = <T>(array: ReadonlyArray<T> | undefined | null): array is ReadonlyArray<T> =>\n !!(array && array.length);\n\nconst MAX_LINE_LENGTH = 80;\n\nconst nodes: {\n [NodeT in ASTNode as NodeT['kind']]?: (node: NodeT) => string;\n} = {\n OperationDefinition(node) {\n if (\n node.operation === 'query' &&\n !node.name &&\n !hasItems(node.variableDefinitions) &&\n !hasItems(node.directives)\n ) {\n return nodes.SelectionSet!(node.selectionSet);\n }\n let out: string = node.operation;\n if (node.name) out += ' ' + node.name.value;\n if (hasItems(node.variableDefinitions)) {\n if (!node.name) out += ' ';\n out += '(' + node.variableDefinitions.map(nodes.VariableDefinition!).join(', ') + ')';\n }\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + nodes.SelectionSet!(node.selectionSet);\n },\n VariableDefinition(node) {\n let out = nodes.Variable!(node.variable) + ': ' + print(node.type);\n if (node.defaultValue) out += ' = ' + print(node.defaultValue);\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out;\n },\n Field(node) {\n let out = (node.alias ? node.alias.value + ': ' : '') + node.name.value;\n if (hasItems(node.arguments)) {\n const args = node.arguments.map(nodes.Argument!);\n const argsLine = out + '(' + args.join(', ') + ')';\n out =\n argsLine.length > MAX_LINE_LENGTH\n ? out + '(\\n ' + args.join('\\n').replace(/\\n/g, '\\n ') + '\\n)'\n : argsLine;\n }\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return node.selectionSet ? out + ' ' + nodes.SelectionSet!(node.selectionSet) : out;\n },\n StringValue(node) {\n return node.block ? printBlockString(node.value) : printString(node.value);\n },\n BooleanValue(node) {\n return '' + node.value;\n },\n NullValue(_node) {\n return 'null';\n },\n IntValue(node) {\n return node.value;\n },\n FloatValue(node) {\n return node.value;\n },\n EnumValue(node) {\n return node.value;\n },\n Name(node) {\n return node.value;\n },\n Variable(node) {\n return '$' + node.name.value;\n },\n ListValue(node) {\n return '[' + node.values.map(print).join(', ') + ']';\n },\n ObjectValue(node) {\n return '{' + node.fields.map(nodes.ObjectField!).join(', ') + '}';\n },\n ObjectField(node) {\n return node.name.value + ': ' + print(node.value);\n },\n Document(node) {\n return hasItems(node.definitions) ? node.definitions.map(print).join('\\n\\n') : '';\n },\n SelectionSet(node) {\n return '{\\n ' + node.selections.map(print).join('\\n').replace(/\\n/g, '\\n ') + '\\n}';\n },\n Argument(node) {\n return node.name.value + ': ' + print(node.value);\n },\n FragmentSpread(node) {\n let out = '...' + node.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out;\n },\n InlineFragment(node) {\n let out = '...';\n if (node.typeCondition) out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + print(node.selectionSet);\n },\n FragmentDefinition(node) {\n let out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + print(node.selectionSet);\n },\n Directive(node) {\n let out = '@' + node.name.value;\n if (hasItems(node.arguments)) out += '(' + node.arguments.map(nodes.Argument!).join(', ') + ')';\n return out;\n },\n NamedType(node) {\n return node.name.value;\n },\n ListType(node) {\n return '[' + print(node.type) + ']';\n },\n NonNullType(node) {\n return print(node.type) + '!';\n },\n};\n\nexport function print(node: ASTNode): string {\n return nodes[node.kind] ? nodes[node.kind]!(node as any) : '';\n}\n","import { TypeNode, ValueNode } from './ast';\nimport { Maybe } from './types';\n\nexport function valueFromASTUntyped(\n node: ValueNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n switch (node.kind) {\n case 'NullValue':\n return null;\n case 'IntValue':\n return parseInt(node.value, 10);\n case 'FloatValue':\n return parseFloat(node.value);\n case 'StringValue':\n case 'EnumValue':\n case 'BooleanValue':\n return node.value;\n case 'ListValue': {\n const values: unknown[] = [];\n for (const value of node.values) values.push(valueFromASTUntyped(value, variables));\n return values;\n }\n case 'ObjectValue': {\n const obj = Object.create(null);\n for (const field of node.fields)\n obj[field.name.value] = valueFromASTUntyped(field.value, variables);\n return obj;\n }\n case 'Variable':\n return variables && variables[node.name.value];\n }\n}\n\nexport function valueFromTypeNode(\n node: ValueNode,\n type: TypeNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n if (node.kind === 'Variable') {\n const variableName = node.name.value;\n return variables ? valueFromTypeNode(variables[variableName], type, variables) : undefined;\n } else if (type.kind === 'NonNullType') {\n return node.kind !== 'NullValue' ? valueFromTypeNode(node, type, variables) : undefined;\n } else if (node.kind === 'NullValue') {\n return null;\n } else if (type.kind === 'ListType') {\n if (node.kind === 'ListValue') {\n const values: unknown[] = [];\n for (const value of node.values) {\n const coerced = valueFromTypeNode(value, type.type, variables);\n if (coerced === undefined) {\n return undefined;\n } else {\n values.push(coerced);\n }\n }\n return values;\n }\n } else if (type.kind === 'NamedType') {\n switch (type.name.value) {\n case 'Int':\n case 'Float':\n case 'String':\n case 'Bool':\n return type.name.value + 'Value' === node.kind\n ? valueFromASTUntyped(node, variables)\n : undefined;\n default:\n return valueFromASTUntyped(node, variables);\n }\n }\n}\n","export const Kind = {\n NAME: 'Name',\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n DIRECTIVE: 'Directive',\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n\n /*\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n SCHEMA_EXTENSION: 'SchemaExtension',\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension',\n */\n};\n\nexport const OperationTypeNode = {\n QUERY: 'query',\n MUTATION: 'mutation',\n SUBSCRIPTION: 'subscription',\n};\n"],"names":["GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","let","_extensions","const","originalExtensions","toJSON","toString","toStringTag","Symbol","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","lines","split","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","length","i","replace","ignored","char","charCodeAt","nameRe","match","value","constRe","variableRe","intRe","floatPartRe","complexStringRe","blockStringRe","stringRe","constant","intPart","block","JSON","parse","list","values","push","object","fields","_name","_value","arguments_","args","directives","arguments","field","_alias","alias","selectionSet","type","_type","typeConditionRe","typeCondition","fragmentSpreadRe","fragmentSpread","_idx","_typeCondition","_directives","_selectionSet","selections","fragmentDefinitionRe","fragmentDefinition","operationDefinitionRe","operationDefinition","_operation","_variableDefinitions","variableDefinitions","vars","_defaultValue","variable","defaultValue","operation","BREAK","printString","stringify","printBlockString","hasItems","array","OperationDefinition","node","SelectionSet","map","VariableDefinition","join","Directive","Variable","print","Field","Argument","argsLine","StringValue","BooleanValue","NullValue","_node","IntValue","FloatValue","EnumValue","Name","ListValue","ObjectValue","ObjectField","Document","definitions","FragmentSpread","InlineFragment","FragmentDefinition","NamedType","ListType","NonNullType","valueFromASTUntyped","variables","parseInt","parseFloat","obj","Object","create","i$1","list$1","NAME","DOCUMENT","OPERATION_DEFINITION","VARIABLE_DEFINITION","SELECTION_SET","FIELD","ARGUMENT","FRAGMENT_SPREAD","INLINE_FRAGMENT","FRAGMENT_DEFINITION","VARIABLE","INT","FLOAT","STRING","BOOLEAN","NULL","ENUM","LIST","OBJECT","OBJECT_FIELD","DIRECTIVE","NAMED_TYPE","LIST_TYPE","NON_NULL_TYPE","QUERY","MUTATION","SUBSCRIPTION","_options","body","document","parseType","parseValue","valueFromTypeNode","undefined","coerced","visit","visitor","ancestors","result","traverse","key","parent","hasEdited","enter","resultEnter","call","copy","nodeKey","newValue","index","pop","leave","resultLeave"],"mappings":"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"}
@@ -62,7 +62,8 @@ class GraphQLError extends Error {
62
62
  }
63
63
  toJSON() {
64
64
  return {
65
- ...this
65
+ ...this,
66
+ message: this.message
66
67
  };
67
68
  }
68
69
  toString() {
@@ -140,9 +141,9 @@ var o = /null|true|false/y;
140
141
 
141
142
  var l = /\$[_\w][_\d\w]*/y;
142
143
 
143
- var u = /[-]?\d+/y;
144
+ var u = /-?\d+/y;
144
145
 
145
- var v = /(?:[-]?\d+)?(?:\.\d+)(?:[eE][+-]?\d+)?/y;
146
+ var v = /(?:\.\d+)?(?:[eE][+-]?\d+)?/y;
146
147
 
147
148
  var d = /\\/g;
148
149
 
@@ -168,16 +169,19 @@ function value(e) {
168
169
  value: a.slice(1)
169
170
  }
170
171
  };
171
- } else if (a = advance(v)) {
172
- r = {
173
- kind: "FloatValue",
174
- value: a
175
- };
176
172
  } else if (a = advance(u)) {
177
- r = {
178
- kind: "IntValue",
179
- value: a
180
- };
173
+ var f = a;
174
+ if (a = advance(v)) {
175
+ r = {
176
+ kind: "FloatValue",
177
+ value: f + a
178
+ };
179
+ } else {
180
+ r = {
181
+ kind: "IntValue",
182
+ value: f
183
+ };
184
+ }
181
185
  } else if (a = advance(t)) {
182
186
  r = {
183
187
  kind: "EnumValue",
@@ -482,9 +486,6 @@ function operationDefinition() {
482
486
  throw error("VariableDefinition");
483
487
  }
484
488
  var a = type();
485
- if (!a) {
486
- throw error("VariableDefinition");
487
- }
488
489
  var t = void 0;
489
490
  if (61 === i.charCodeAt(n)) {
490
491
  n++;
@@ -540,9 +541,6 @@ function parse(e, r) {
540
541
  while (e = fragmentDefinition() || operationDefinition()) {
541
542
  r.push(e);
542
543
  }
543
- if (n !== i.length) {
544
- throw error("Document");
545
- }
546
544
  return {
547
545
  kind: "Document",
548
546
  definitions: r
@@ -564,11 +562,7 @@ function parseValue(e, r) {
564
562
  function parseType(e, r) {
565
563
  i = "string" == typeof e.body ? e.body : e;
566
564
  n = 0;
567
- var a = type();
568
- if (!a) {
569
- throw error("TypeNode");
570
- }
571
- return a;
565
+ return type();
572
566
  }
573
567
 
574
568
  var h = {};
@@ -610,9 +604,7 @@ function visit(e, r) {
610
604
  v = traverse(c[p], p, c);
611
605
  n.pop();
612
606
  i.pop();
613
- if (void 0 === v) {
614
- f.push(c[p]);
615
- } else if (null === v) {
607
+ if (null == v) {
616
608
  o = !0;
617
609
  } else {
618
610
  o = o || v !== c[p];
@@ -833,5 +825,5 @@ function valueFromTypeNode(e, r, i) {
833
825
  }
834
826
  }
835
827
 
836
- export { h as BREAK, GraphQLError, e as Kind, r as OperationTypeNode, blockString, parse, parseType, parseValue, print, printBlockString, printString, valueFromASTUntyped, valueFromTypeNode, visit };
828
+ export { h as BREAK, GraphQLError, e as Kind, r as OperationTypeNode, parse, parseType, parseValue, print, printBlockString, printString, valueFromASTUntyped, valueFromTypeNode, visit };
837
829
  //# sourceMappingURL=graphql.web.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.web.mjs","sources":["../src/kind.js","../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts","../src/values.ts"],"sourcesContent":["export const Kind = {\n NAME: 'Name',\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n DIRECTIVE: 'Directive',\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n\n /*\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n SCHEMA_EXTENSION: 'SchemaExtension',\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension',\n */\n};\n\nexport const OperationTypeNode = {\n QUERY: 'query',\n MUTATION: 'mutation',\n SUBSCRIPTION: 'subscription',\n};\n","import { Maybe, Extensions, Source } from './types';\nimport { ASTNode } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: ReadonlyArray<any> | undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<any> | undefined;\n readonly source: Source | undefined;\n readonly positions: ReadonlyArray<number> | undefined;\n readonly originalError: Error | undefined;\n readonly extensions: Extensions;\n\n constructor(\n message: string,\n nodes?: ReadonlyArray<ASTNode> | ASTNode | null,\n source?: Maybe<Source>,\n positions?: Maybe<ReadonlyArray<number>>,\n path?: Maybe<ReadonlyArray<string | number>>,\n originalError?: Maybe<Error>,\n extensions?: Maybe<Extensions>\n ) {\n super(message);\n\n this.name = 'GraphQLError';\n this.message = message;\n\n if (path) this.path = path;\n if (nodes) this.nodes = (Array.isArray(nodes) ? nodes : [nodes]) as ASTNode[];\n if (source) this.source = source;\n if (positions) this.positions = positions;\n if (originalError) this.originalError = originalError;\n\n let _extensions = extensions;\n if (!_extensions && originalError) {\n const originalExtensions = (originalError as any).extensions;\n if (originalExtensions && typeof originalExtensions === 'object') {\n _extensions = originalExtensions;\n }\n }\n\n this.extensions = _extensions || {};\n }\n\n toJSON(): any {\n return { ...this };\n }\n\n toString() {\n return this.message;\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLError';\n }\n}\n","/**\n * This is a spec-compliant implementation of a GraphQL query language parser,\n * up-to-date with the October 2021 Edition. Unlike the reference implementation\n * in graphql.js it will only parse the query language, but not the schema\n * language.\n */\nimport { Kind, OperationTypeNode } from './kind';\nimport { GraphQLError } from './error';\nimport { Source } from './types';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: string) {\n return new GraphQLError(`Syntax Error: Unexpected token at ${idx} in ${kind}`);\n}\n\nfunction advance(pattern: RegExp) {\n pattern.lastIndex = idx;\n if (pattern.test(input)) {\n const match = input.slice(idx, (idx = pattern.lastIndex));\n return match;\n }\n}\n\nconst leadingRe = / +(?=[^\\s])/y;\nexport function blockString(string: string) {\n const lines = string.split('\\n');\n let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = lines.length - 1;\n for (let i = 0; i < lines.length; i++) {\n leadingRe.lastIndex = 0;\n if (leadingRe.test(lines[i])) {\n if (i && (!commonIndent || leadingRe.lastIndex < commonIndent))\n commonIndent = leadingRe.lastIndex;\n firstNonEmptyLine = firstNonEmptyLine || i;\n lastNonEmptyLine = i;\n }\n }\n for (let i = firstNonEmptyLine; i <= lastNonEmptyLine; i++) {\n if (i !== firstNonEmptyLine) out += '\\n';\n out += lines[i].slice(commonIndent).replace(/\\\\\"\"\"/g, '\"\"\"');\n }\n return out;\n}\n\n// Note: This is equivalent to: /(?:[\\s,]*|#[^\\n\\r]*)*/y\nfunction ignored() {\n for (\n let char = input.charCodeAt(idx++) | 0;\n char === 9 /*'\\t'*/ ||\n char === 10 /*'\\n'*/ ||\n char === 13 /*'\\r'*/ ||\n char === 32 /*' '*/ ||\n char === 35 /*'#'*/ ||\n char === 44 /*','*/ ||\n char === 65279 /*'\\ufeff'*/;\n char = input.charCodeAt(idx++) | 0\n ) {\n if (char === 35 /*'#'*/) while ((char = input.charCodeAt(idx++)) !== 10 && char !== 13);\n }\n idx--;\n}\n\nconst nameRe = /[_\\w][_\\d\\w]*/y;\nfunction name(): ast.NameNode | undefined {\n let match: string | undefined;\n if ((match = advance(nameRe))) {\n return {\n kind: 'Name' as Kind.NAME,\n value: match,\n };\n }\n}\n\nconst constRe = /null|true|false/y;\nconst variableRe = /\\$[_\\w][_\\d\\w]*/y;\nconst intRe = /[-]?\\d+/y;\nconst floatRe = /(?:[-]?\\d+)?(?:\\.\\d+)(?:[eE][+-]?\\d+)?/y;\nconst complexStringRe = /\\\\/g;\nconst blockStringRe = /\"\"\"(?:[\\s\\S]+(?=\"\"\"))?\"\"\"/y;\nconst stringRe = /\"(?:[^\"\\r\\n]+)?\"/y;\n\nfunction value(constant: true): ast.ConstValueNode;\nfunction value(constant: boolean): ast.ValueNode;\n\nfunction value(constant: boolean): ast.ValueNode | undefined {\n let out: ast.ValueNode | undefined;\n let match: string | undefined;\n if ((match = advance(constRe))) {\n out =\n match === 'null'\n ? {\n kind: 'NullValue' as Kind.NULL,\n }\n : {\n kind: 'BooleanValue' as Kind.BOOLEAN,\n value: match === 'true',\n };\n } else if (!constant && (match = advance(variableRe))) {\n out = {\n kind: 'Variable' as Kind.VARIABLE,\n name: {\n kind: 'Name' as Kind.NAME,\n value: match.slice(1),\n },\n };\n } else if ((match = advance(floatRe))) {\n out = {\n kind: 'FloatValue' as Kind.FLOAT,\n value: match,\n };\n } else if ((match = advance(intRe))) {\n out = {\n kind: 'IntValue' as Kind.INT,\n value: match,\n };\n } else if ((match = advance(nameRe))) {\n out = {\n kind: 'EnumValue' as Kind.ENUM,\n value: match,\n };\n } else if ((match = advance(blockStringRe))) {\n out = {\n kind: 'StringValue' as Kind.STRING,\n value: blockString(match.slice(3, -3)),\n block: true,\n };\n } else if ((match = advance(stringRe))) {\n out = {\n kind: 'StringValue' as Kind.STRING,\n value: complexStringRe.test(match) ? (JSON.parse(match) as string) : match.slice(1, -1),\n block: false,\n };\n } else if ((out = list(constant) || object(constant))) {\n return out;\n }\n\n ignored();\n return out;\n}\n\nfunction list(constant: boolean): ast.ListValueNode | undefined {\n let match: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const values: ast.ValueNode[] = [];\n while ((match = value(constant))) values.push(match);\n if (input.charCodeAt(idx++) !== 93 /*']'*/) throw error('ListValue');\n ignored();\n return {\n kind: 'ListValue' as Kind.LIST,\n values,\n };\n }\n}\n\nfunction object(constant: boolean): ast.ObjectValueNode | undefined {\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const fields: ast.ObjectFieldNode[] = [];\n let _name: ast.NameNode | undefined;\n while ((_name = name())) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('ObjectField' as Kind.OBJECT_FIELD);\n ignored();\n const _value = value(constant);\n if (!_value) throw error('ObjectField');\n fields.push({\n kind: 'ObjectField' as Kind.OBJECT_FIELD,\n name: _name,\n value: _value,\n });\n }\n if (input.charCodeAt(idx++) !== 125 /*'}'*/) throw error('ObjectValue');\n ignored();\n return {\n kind: 'ObjectValue' as Kind.OBJECT,\n fields,\n };\n }\n}\n\nfunction arguments_(constant: boolean): ast.ArgumentNode[] {\n const args: ast.ArgumentNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n let _name: ast.NameNode | undefined;\n while ((_name = name())) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('Argument');\n ignored();\n const _value = value(constant);\n if (!_value) throw error('Argument');\n args.push({\n kind: 'Argument' as Kind.ARGUMENT,\n name: _name,\n value: _value,\n });\n }\n if (!args.length || input.charCodeAt(idx++) !== 41 /*')'*/) throw error('Argument');\n ignored();\n }\n return args;\n}\n\nfunction directives(constant: true): ast.ConstDirectiveNode[];\nfunction directives(constant: boolean): ast.DirectiveNode[];\n\nfunction directives(constant: boolean): ast.DirectiveNode[] {\n const directives: ast.DirectiveNode[] = [];\n ignored();\n while (input.charCodeAt(idx) === 64 /*'@'*/) {\n idx++;\n const _name = name();\n if (!_name) throw error('Directive');\n ignored();\n directives.push({\n kind: 'Directive' as Kind.DIRECTIVE,\n name: _name,\n arguments: arguments_(constant),\n });\n }\n return directives;\n}\n\nfunction field(): ast.FieldNode | undefined {\n let _name = name();\n if (_name) {\n ignored();\n let _alias: ast.NameNode | undefined;\n if (input.charCodeAt(idx) === 58 /*':'*/) {\n idx++;\n ignored();\n _alias = _name;\n _name = name();\n if (!_name) throw error('Field');\n ignored();\n }\n return {\n kind: 'Field' as Kind.FIELD,\n alias: _alias,\n name: _name,\n arguments: arguments_(false),\n directives: directives(false),\n selectionSet: selectionSet(),\n };\n }\n}\n\nfunction type(): ast.TypeNode | undefined {\n let match: ast.NameNode | ast.TypeNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const _type = type();\n if (!_type || input.charCodeAt(idx++) !== 93 /*']'*/) throw error('ListType');\n match = {\n kind: 'ListType' as Kind.LIST_TYPE,\n type: _type,\n };\n } else if ((match = name())) {\n match = {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: match,\n };\n } else {\n throw error('NamedType');\n }\n\n ignored();\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n return {\n kind: 'NonNullType' as Kind.NON_NULL_TYPE,\n type: match,\n };\n } else {\n return match;\n }\n}\n\nconst typeConditionRe = /on/y;\nfunction typeCondition(): ast.NamedTypeNode | undefined {\n if (advance(typeConditionRe)) {\n ignored();\n const _name = name();\n if (!_name) throw error('NamedType');\n ignored();\n return {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: _name,\n };\n }\n}\n\nconst fragmentSpreadRe = /\\.\\.\\./y;\n\nfunction fragmentSpread(): ast.FragmentSpreadNode | ast.InlineFragmentNode | undefined {\n if (advance(fragmentSpreadRe)) {\n ignored();\n const _idx = idx;\n let _name: ast.NameNode | undefined;\n if ((_name = name()) && _name.value !== 'on') {\n return {\n kind: 'FragmentSpread' as Kind.FRAGMENT_SPREAD,\n name: _name,\n directives: directives(false),\n };\n } else {\n idx = _idx;\n const _typeCondition = typeCondition();\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet) throw error('InlineFragment');\n return {\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n }\n}\n\nfunction selectionSet(): ast.SelectionSetNode | undefined {\n let match: ast.SelectionNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const selections: ast.SelectionNode[] = [];\n while ((match = fragmentSpread() || field())) selections.push(match);\n if (!selections.length || input.charCodeAt(idx++) !== 125 /*'}'*/) throw error('SelectionSet');\n ignored();\n return {\n kind: 'SelectionSet' as Kind.SELECTION_SET,\n selections,\n };\n }\n}\n\nfunction variableDefinitions(): ast.VariableDefinitionNode[] {\n let match: string | undefined;\n const vars: ast.VariableDefinitionNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n while ((match = advance(variableRe))) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('VariableDefinition');\n const _type = type();\n if (!_type) throw error('VariableDefinition');\n let _defaultValue: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n if (!_defaultValue) throw error('VariableDefinition');\n }\n ignored();\n vars.push({\n kind: 'VariableDefinition' as Kind.VARIABLE_DEFINITION,\n variable: {\n kind: 'Variable' as Kind.VARIABLE,\n name: {\n kind: 'Name' as Kind.NAME,\n value: match.slice(1),\n },\n },\n type: _type,\n defaultValue: _defaultValue as ast.ConstValueNode,\n directives: directives(true),\n });\n }\n if (input.charCodeAt(idx++) !== 41 /*')'*/) throw error('VariableDefinition');\n ignored();\n }\n return vars;\n}\n\nconst fragmentDefinitionRe = /fragment/y;\nfunction fragmentDefinition(): ast.FragmentDefinitionNode | undefined {\n if (advance(fragmentDefinitionRe)) {\n ignored();\n const _name = name();\n if (!_name) throw error('FragmentDefinition');\n ignored();\n const _typeCondition = typeCondition();\n if (!_typeCondition) throw error('FragmentDefinition');\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet) throw error('FragmentDefinition');\n return {\n kind: 'FragmentDefinition' as Kind.FRAGMENT_DEFINITION,\n name: _name,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nconst operationDefinitionRe = /query|mutation|subscription/y;\nfunction operationDefinition(): ast.OperationDefinitionNode | undefined {\n let _operation: string | undefined;\n let _name: ast.NameNode | undefined;\n let _variableDefinitions: ast.VariableDefinitionNode[] = [];\n let _directives: ast.DirectiveNode[] = [];\n if ((_operation = advance(operationDefinitionRe))) {\n ignored();\n _name = name();\n _variableDefinitions = variableDefinitions();\n _directives = directives(false);\n }\n const _selectionSet = selectionSet();\n if (_selectionSet) {\n return {\n kind: 'OperationDefinition' as Kind.OPERATION_DEFINITION,\n operation: (_operation || 'query') as OperationTypeNode,\n name: _name,\n variableDefinitions: _variableDefinitions,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nfunction document(): ast.DocumentNode {\n let match: ast.ExecutableDefinitionNode | void;\n ignored();\n const definitions: ast.ExecutableDefinitionNode[] = [];\n while ((match = fragmentDefinition() || operationDefinition())) definitions.push(match);\n if (idx !== input.length) throw error('Document');\n return {\n kind: 'Document' as Kind.DOCUMENT,\n definitions,\n };\n}\n\ntype ParseOptions = {\n [option: string]: any;\n};\n\nexport function parse(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.DocumentNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n return document();\n}\n\nexport function parseValue(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.ValueNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n ignored();\n const _value = value(false);\n if (!_value) throw error('ValueNode');\n return _value;\n}\n\nexport function parseType(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.TypeNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n const _type = type();\n if (!_type) throw error('TypeNode');\n return _type;\n}\n","import { ASTNode } from './ast';\n\nexport const BREAK = {};\n\nexport function visit<N extends ASTNode>(root: N, visitor: ASTVisitor): N;\nexport function visit<R>(root: ASTNode, visitor: ASTReducer<R>): R;\n\nexport function visit(node: ASTNode, visitor: ASTVisitor | ASTReducer<any>) {\n const ancestors: Array<ASTNode | ReadonlyArray<ASTNode>> = [];\n const path: Array<string | number> = [];\n\n function traverse(\n node: ASTNode,\n key?: string | number | undefined,\n parent?: ASTNode | ReadonlyArray<ASTNode> | undefined\n ) {\n let hasEdited = false;\n\n const enter =\n (visitor[node.kind] && visitor[node.kind].enter) ||\n visitor[node.kind] ||\n (visitor as EnterLeaveVisitor<ASTNode>).enter;\n const resultEnter = enter && enter.call(visitor, node, key, parent, path, ancestors);\n if (resultEnter === false) {\n return node;\n } else if (resultEnter === null) {\n return null;\n } else if (resultEnter === BREAK) {\n throw BREAK;\n } else if (resultEnter && typeof resultEnter.kind === 'string') {\n hasEdited = resultEnter !== node;\n node = resultEnter;\n }\n\n if (parent) ancestors.push(parent);\n\n let result: any;\n const copy = { ...node };\n for (const nodeKey in node) {\n path.push(nodeKey);\n let value = node[nodeKey];\n if (Array.isArray(value)) {\n const newValue: any[] = [];\n for (let index = 0; index < value.length; index++) {\n if (value[index] != null && typeof value[index].kind === 'string') {\n ancestors.push(node);\n path.push(index);\n result = traverse(value[index], index, value);\n path.pop();\n ancestors.pop();\n if (result === undefined) {\n newValue.push(value[index]);\n } else if (result === null) {\n hasEdited = true;\n } else {\n hasEdited = hasEdited || result !== value[index];\n newValue.push(result);\n }\n }\n }\n value = newValue;\n } else if (value != null && typeof value.kind === 'string') {\n result = traverse(value, nodeKey, node);\n if (result !== undefined) {\n hasEdited = hasEdited || value !== result;\n value = result;\n }\n }\n\n path.pop();\n if (hasEdited) copy[nodeKey] = value;\n }\n\n if (parent) ancestors.pop();\n const leave =\n (visitor[node.kind] && visitor[node.kind].leave) ||\n (visitor as EnterLeaveVisitor<ASTNode>).leave;\n const resultLeave = leave && leave.call(visitor, node, key, parent, path, ancestors);\n if (resultLeave === BREAK) {\n throw BREAK;\n } else if (resultLeave !== undefined) {\n return resultLeave;\n } else if (resultEnter !== undefined) {\n return hasEdited ? copy : resultEnter;\n } else {\n return hasEdited ? copy : node;\n }\n }\n\n try {\n const result = traverse(node);\n return result !== undefined && result !== false ? result : node;\n } catch (error) {\n if (error !== BREAK) throw error;\n return node;\n }\n}\n\nexport type ASTVisitor = EnterLeaveVisitor<ASTNode> | KindVisitor;\n\ntype KindVisitor = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: ASTVisitFn<NodeT> | EnterLeaveVisitor<NodeT>;\n};\n\ninterface EnterLeaveVisitor<TVisitedNode extends ASTNode> {\n readonly enter?: ASTVisitFn<TVisitedNode> | undefined;\n readonly leave?: ASTVisitFn<TVisitedNode> | undefined;\n}\n\nexport type ASTVisitFn<Node extends ASTNode> = (\n node: Node,\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => any;\n\nexport type ASTReducer<R> = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: {\n readonly enter?: ASTVisitFn<NodeT>;\n readonly leave: ASTReducerFn<NodeT, R>;\n };\n};\n\ntype ASTReducerFn<TReducedNode extends ASTNode, R> = (\n node: { [K in keyof TReducedNode]: ReducedField<TReducedNode[K], R> },\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => R;\n\ntype ReducedField<T, R> = T extends null | undefined\n ? T\n : T extends ReadonlyArray<any>\n ? ReadonlyArray<R>\n : R;\n","import { ASTNode } from './ast';\n\nexport function printString(string: string) {\n return JSON.stringify(string);\n}\n\nexport function printBlockString(string: string) {\n return '\"\"\"\\n' + string.replace(/\"\"\"/g, '\\\\\"\"\"') + '\\n\"\"\"';\n}\n\nconst hasItems = <T>(array: ReadonlyArray<T> | undefined | null): array is ReadonlyArray<T> =>\n !!(array && array.length);\n\nconst MAX_LINE_LENGTH = 80;\n\nconst nodes: {\n [NodeT in ASTNode as NodeT['kind']]?: (node: NodeT) => string;\n} = {\n OperationDefinition(node) {\n if (\n node.operation === 'query' &&\n !node.name &&\n !hasItems(node.variableDefinitions) &&\n !hasItems(node.directives)\n ) {\n return nodes.SelectionSet!(node.selectionSet);\n }\n let out: string = node.operation;\n if (node.name) out += ' ' + node.name.value;\n if (hasItems(node.variableDefinitions)) {\n if (!node.name) out += ' ';\n out += '(' + node.variableDefinitions.map(nodes.VariableDefinition!).join(', ') + ')';\n }\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + nodes.SelectionSet!(node.selectionSet);\n },\n VariableDefinition(node) {\n let out = nodes.Variable!(node.variable) + ': ' + print(node.type);\n if (node.defaultValue) out += ' = ' + print(node.defaultValue);\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out;\n },\n Field(node) {\n let out = (node.alias ? node.alias.value + ': ' : '') + node.name.value;\n if (hasItems(node.arguments)) {\n const args = node.arguments.map(nodes.Argument!);\n const argsLine = out + '(' + args.join(', ') + ')';\n out =\n argsLine.length > MAX_LINE_LENGTH\n ? out + '(\\n ' + args.join('\\n').replace(/\\n/g, '\\n ') + '\\n)'\n : argsLine;\n }\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return node.selectionSet ? out + ' ' + nodes.SelectionSet!(node.selectionSet) : out;\n },\n StringValue(node) {\n return node.block ? printBlockString(node.value) : printString(node.value);\n },\n BooleanValue(node) {\n return '' + node.value;\n },\n NullValue(_node) {\n return 'null';\n },\n IntValue(node) {\n return node.value;\n },\n FloatValue(node) {\n return node.value;\n },\n EnumValue(node) {\n return node.value;\n },\n Name(node) {\n return node.value;\n },\n Variable(node) {\n return '$' + node.name.value;\n },\n ListValue(node) {\n return '[' + node.values.map(print).join(', ') + ']';\n },\n ObjectValue(node) {\n return '{' + node.fields.map(nodes.ObjectField!).join(', ') + '}';\n },\n ObjectField(node) {\n return node.name.value + ': ' + print(node.value);\n },\n Document(node) {\n return hasItems(node.definitions) ? node.definitions.map(print).join('\\n\\n') : '';\n },\n SelectionSet(node) {\n return '{\\n ' + node.selections.map(print).join('\\n').replace(/\\n/g, '\\n ') + '\\n}';\n },\n Argument(node) {\n return node.name.value + ': ' + print(node.value);\n },\n FragmentSpread(node) {\n let out = '...' + node.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out;\n },\n InlineFragment(node) {\n let out = '...';\n if (node.typeCondition) out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + print(node.selectionSet);\n },\n FragmentDefinition(node) {\n let out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + print(node.selectionSet);\n },\n Directive(node) {\n let out = '@' + node.name.value;\n if (hasItems(node.arguments)) out += '(' + node.arguments.map(nodes.Argument!).join(', ') + ')';\n return out;\n },\n NamedType(node) {\n return node.name.value;\n },\n ListType(node) {\n return '[' + print(node.type) + ']';\n },\n NonNullType(node) {\n return print(node.type) + '!';\n },\n};\n\nexport function print(node: ASTNode): string {\n return nodes[node.kind] ? nodes[node.kind]!(node as any) : '';\n}\n","import { TypeNode, ValueNode } from './ast';\nimport { Maybe } from './types';\n\nexport function valueFromASTUntyped(\n node: ValueNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n switch (node.kind) {\n case 'NullValue':\n return null;\n case 'IntValue':\n return parseInt(node.value, 10);\n case 'FloatValue':\n return parseFloat(node.value);\n case 'StringValue':\n case 'EnumValue':\n case 'BooleanValue':\n return node.value;\n case 'ListValue': {\n const values: unknown[] = [];\n for (const value of node.values) values.push(valueFromASTUntyped(value, variables));\n return values;\n }\n case 'ObjectValue': {\n const obj = Object.create(null);\n for (const field of node.fields)\n obj[field.name.value] = valueFromASTUntyped(field.value, variables);\n return obj;\n }\n case 'Variable':\n return variables && variables[node.name.value];\n }\n}\n\nexport function valueFromTypeNode(\n node: ValueNode,\n type: TypeNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n if (node.kind === 'Variable') {\n const variableName = node.name.value;\n return variables ? valueFromTypeNode(variables[variableName], type, variables) : undefined;\n } else if (type.kind === 'NonNullType') {\n return node.kind !== 'NullValue' ? valueFromTypeNode(node, type, variables) : undefined;\n } else if (node.kind === 'NullValue') {\n return null;\n } else if (type.kind === 'ListType') {\n if (node.kind === 'ListValue') {\n const values: unknown[] = [];\n for (const value of node.values) {\n const coerced = valueFromTypeNode(value, type.type, variables);\n if (coerced === undefined) {\n return undefined;\n } else {\n values.push(coerced);\n }\n }\n return values;\n }\n } else if (type.kind === 'NamedType') {\n switch (type.name.value) {\n case 'Int':\n case 'Float':\n case 'String':\n case 'Bool':\n return type.name.value + 'Value' === node.kind\n ? valueFromASTUntyped(node, variables)\n : undefined;\n default:\n return valueFromASTUntyped(node, variables);\n }\n }\n}\n"],"names":["Kind","NAME","DOCUMENT","OPERATION_DEFINITION","VARIABLE_DEFINITION","SELECTION_SET","FIELD","ARGUMENT","FRAGMENT_SPREAD","INLINE_FRAGMENT","FRAGMENT_DEFINITION","VARIABLE","INT","FLOAT","STRING","BOOLEAN","NULL","ENUM","LIST","OBJECT","OBJECT_FIELD","DIRECTIVE","NAMED_TYPE","LIST_TYPE","NON_NULL_TYPE","OperationTypeNode","QUERY","MUTATION","SUBSCRIPTION","GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","let","_extensions","const","originalExtensions","toJSON","toString","toStringTag","Symbol","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","lines","split","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","length","i","replace","ignored","char","charCodeAt","nameRe","match","value","constRe","variableRe","intRe","floatRe","complexStringRe","blockStringRe","stringRe","constant","block","JSON","parse","list","values","push","object","fields","_name","_value","arguments_","args","directives","arguments","field","_alias","alias","selectionSet","type","_type","typeConditionRe","typeCondition","fragmentSpreadRe","fragmentSpread","_idx","_typeCondition","_directives","_selectionSet","selections","fragmentDefinitionRe","fragmentDefinition","operationDefinitionRe","operationDefinition","_operation","_variableDefinitions","variableDefinitions","vars","_defaultValue","variable","defaultValue","operation","_options","body","document","definitions","parseValue","parseType","BREAK","visit","node","visitor","ancestors","result","traverse","key","parent","hasEdited","enter","resultEnter","call","copy","nodeKey","newValue","index","pop","undefined","leave","resultLeave","printString","stringify","printBlockString","hasItems","array","OperationDefinition","SelectionSet","map","VariableDefinition","join","Directive","Variable","print","Field","Argument","argsLine","StringValue","BooleanValue","NullValue","_node","IntValue","FloatValue","EnumValue","Name","ListValue","ObjectValue","ObjectField","Document","FragmentSpread","InlineFragment","FragmentDefinition","NamedType","ListType","NonNullType","valueFromASTUntyped","variables","parseInt","parseFloat","obj","Object","create","i$1","list$1","valueFromTypeNode","coerced"],"mappings":"AAAA,IAAAA,IAAA;EACAC,MAAA;EACAC,UAAA;EACAC,sBAAA;EACAC,qBAAA;EACAC,eAAA;EACAC,OAAA;EACAC,UAAA;EACAC,iBAAA;EACAC,iBAAA;EACAC,qBAAA;EACAC,UAAA;EACAC,KAAA;EACAC,OAAA;EACAC,QAAA;EACAC,SAAA;EACAC,MAAA;EACAC,MAAA;EACAC,MAAA;EACAC,QAAA;EACAC,cAAA;EACAC,WAAA;EACAC,YAAA;EACAC,WAAA;EACAC,eAAA;;;AAyBA,IAAAC,IAAA;EACAC,OAAA;EACAC,UAAA;EACAC,cAAA;;;ACjDA,MAAAC,qBAAAC;EASAC,YACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC;IAEAC,MAAAP;IAEAQ,KAAAC,OAAA;IACAD,KAAAR,UAAAA;IAEA,IAAAI;MAAAI,KAAAJ,OAAAA;;IACA,IAAAH;MAAAO,KAAAP,QAAAS,MAAAC,QAAAV,KAAAA,IAAA,EAAAA;;IACA,IAAAC;MAAAM,KAAAN,SAAAA;;IACA,IAAAC;MAAAK,KAAAL,YAAAA;;IACA,IAAAE;MAAAG,KAAAH,gBAAAA;;IAEAO,IAAAC,IAAAP;IACA,KAAAO,KAAAR,GAAA;MACAS,IAAAC,IAAA,EAAAT;MACA,IAAAS,KAAA,mBAAAA;QACAF,IAAAE;;AAEA;IAEAP,KAAAF,aAAAO,KAAA;AACA;EAEAG;IACA,OAAA;SAAAR;;AACA;EAEAS;IACA,OAAAT,KAAAR;AACA;EAEAkB,KAAAC,OAAAD;IACA,OAAA;AACA;;;AC1CAN,IAAAQ;;AACAR,IAAAS;;AAEA,SAAAC,MAAAC;EACA,OAAA,IAAA1B,aAAA,qCAAAwB,QAAAE;AACA;;AAEA,SAAAC,QAAAC;EACAA,EAAAC,YAAAL;EACA,IAAAI,EAAAE,KAAAP,IAAA;IAEA,OADAA,EAAAQ,MAAAP,GAAAA,IAAAI,EAAAC;AAEA;AACA;;AAEAZ,IAAAe,IAAA;;AACA,SAAAC,YAAAC;EACAjB,IAAAkB,IAAAD,EAAAE,MAAA;EACArB,IAAAsB,IAAA;EACAtB,IAAAuB,IAAA;EACAvB,IAAAwB,IAAA;EACAxB,IAAAyB,IAAAL,EAAAM,SAAA;EACA,KAAA1B,IAAA2B,IAAA,GAAAA,IAAAP,EAAAM,QAAAC,KAAA;IACAV,EAAAH,YAAA;IACA,IAAAG,EAAAF,KAAAK,EAAAO,KAAA;MACA,IAAAA,OAAAJ,KAAAN,EAAAH,YAAAS;QACAA,IAAAN,EAAAH;;MACAU,IAAAA,KAAAG;MACAF,IAAAE;AACA;AACA;EACA,KAAA3B,IAAA2B,IAAAH,GAAAG,KAAAF,GAAAE,KAAA;IACA,IAAAA,MAAAH;MAAAF,KAAA;;IACAA,KAAAF,EAAAO,GAAAX,MAAAO,GAAAK,QAAA,UAAA;AACA;EACA,OAAAN;AACA;;AAGA,SAAAO;EACA,KACA7B,IAAA8B,IAAA,IAAAtB,EAAAuB,WAAAtB,MACA,MAAAqB,KACA,OAAAA,KACA,OAAAA,KACA,OAAAA,KACA,OAAAA,KACA,OAAAA,KACA,UAAAA,GACAA,IAAA,IAAAtB,EAAAuB,WAAAtB;IAEA,IAAA,OAAAqB;MAAA,OAAA,QAAAA,IAAAtB,EAAAuB,WAAAtB,SAAA,OAAAqB;;;EAEArB;AACA;;AAEAP,IAAA8B,IAAA;;AACA,SAAAnC;EACAG,IAAAiC;EACA,IAAAA,IAAArB,QAAAoB;IACA,OAAA;MACArB,MAAA;MACAuB,OAAAD;;;AAGA;;AAEA/B,IAAAiC,IAAA;;AACAjC,IAAAkC,IAAA;;AACAlC,IAAAmC,IAAA;;AACAnC,IAAAoC,IAAA;;AACApC,IAAAqC,IAAA;;AACArC,IAAAsC,IAAA;;AACAtC,IAAAuC,IAAA;;AAKA,SAAAP,MAAAQ;EACA1C,IAAAsB;EACAtB,IAAAiC;EACA,IAAAA,IAAArB,QAAAuB;IACAb,IACA,WAAAW,IACA;MACAtB,MAAA;QAEA;MACAA,MAAA;MACAuB,OAAA,WAAAD;;SAEA,KAAAS,MAAAT,IAAArB,QAAAwB;IACAd,IAAA;MACAX,MAAA;MACAd,MAAA;QACAc,MAAA;QACAuB,OAAAD,EAAAjB,MAAA;;;SAGA,IAAAiB,IAAArB,QAAA0B;IACAhB,IAAA;MACAX,MAAA;MACAuB,OAAAD;;SAEA,IAAAA,IAAArB,QAAAyB;IACAf,IAAA;MACAX,MAAA;MACAuB,OAAAD;;SAEA,IAAAA,IAAArB,QAAAoB;IACAV,IAAA;MACAX,MAAA;MACAuB,OAAAD;;SAEA,IAAAA,IAAArB,QAAA4B;IACAlB,IAAA;MACAX,MAAA;MACAuB,OAAAhB,YAAAe,EAAAjB,MAAA,IAAA;MACA2B,QAAA;;SAEA,IAAAV,IAAArB,QAAA6B;IACAnB,IAAA;MACAX,MAAA;MACAuB,OAAAK,EAAAxB,KAAAkB,KAAAW,KAAAC,MAAAZ,KAAAA,EAAAjB,MAAA,IAAA;MACA2B,QAAA;;SAEA,IAAArB,IAQA,SAAAwB,KAAAJ;IACA1C,IAAAiC;IACA,IAAA,OAAAzB,EAAAuB,WAAAtB,IAAA;MACAA;MACAoB;MACA3B,IAAA6C,IAAA;MACA,OAAAd,IAAAC,MAAAQ;QAAAK,EAAAC,KAAAf;;MACA,IAAA,OAAAzB,EAAAuB,WAAAtB;QAAA,MAAAC,MAAA;;MACAmB;MACA,OAAA;QACAlB,MAAA;QACAoC;;AAEA;AACA,GAtBAD,CAAAJ,MAwBA,SAAAO,OAAAP;IACA,IAAA,QAAAlC,EAAAuB,WAAAtB,IAAA;MACAA;MACAoB;MACA3B,IAAAgD,IAAA;MACAlD,IAAAmD;MACA,OAAAA,IAAAtD,QAAA;QACAgC;QACA,IAAA,OAAArB,EAAAuB,WAAAtB;UAAA,MAAAC,MAAA;;QACAmB;QACA3B,IAAAkD,IAAAlB,MAAAQ;QACA,KAAAU;UAAA,MAAA1C,MAAA;;QACAwC,EAAAF,KAAA;UACArC,MAAA;UACAd,MAAAsD;UACAjB,OAAAkB;;AAEA;MACA,IAAA,QAAA5C,EAAAuB,WAAAtB;QAAA,MAAAC,MAAA;;MACAmB;MACA,OAAA;QACAlB,MAAA;QACAuC;;AAEA;AACA,GAjDAD,CAAAP;IACA,OAAApB;;EAGAO;EACA,OAAAP;AACA;;AA6CA,SAAA+B,WAAAX;EACAxC,IAAAoD,IAAA;EACAzB;EACA,IAAA,OAAArB,EAAAuB,WAAAtB,IAAA;IACAA;IACAoB;IACA7B,IAAAmD;IACA,OAAAA,IAAAtD,QAAA;MACAgC;MACA,IAAA,OAAArB,EAAAuB,WAAAtB;QAAA,MAAAC,MAAA;;MACAmB;MACA3B,IAAAkD,IAAAlB,MAAAQ;MACA,KAAAU;QAAA,MAAA1C,MAAA;;MACA4C,EAAAN,KAAA;QACArC,MAAA;QACAd,MAAAsD;QACAjB,OAAAkB;;AAEA;IACA,KAAAE,EAAA5B,UAAA,OAAAlB,EAAAuB,WAAAtB;MAAA,MAAAC,MAAA;;IACAmB;AACA;EACA,OAAAyB;AACA;;AAKA,SAAAC,WAAAb;EACAxC,IAAAqD,IAAA;EACA1B;EACA,OAAA,OAAArB,EAAAuB,WAAAtB,IAAA;IACAA;IACAP,IAAAiD,IAAAtD;IACA,KAAAsD;MAAA,MAAAzC,MAAA;;IACAmB;IACA0B,EAAAP,KAAA;MACArC,MAAA;MACAd,MAAAsD;MACAK,WAAAH,WAAAX;;AAEA;EACA,OAAAa;AACA;;AAEA,SAAAE;EACAzD,IAAAmD,IAAAtD;EACA,IAAAsD,GAAA;IACAtB;IACA7B,IAAA0D;IACA,IAAA,OAAAlD,EAAAuB,WAAAtB,IAAA;MACAA;MACAoB;MACA6B,IAAAP;MAEA,MADAA,IAAAtD;QACA,MAAAa,MAAA;;MACAmB;AACA;IACA,OAAA;MACAlB,MAAA;MACAgD,OAAAD;MACA7D,MAAAsD;MACAK,WAAAH,YAAA;MACAE,YAAAA,YAAA;MACAK,cAAAA;;AAEA;AACA;;AAEA,SAAAC;EACA7D,IAAAiC;EACAJ;EACA,IAAA,OAAArB,EAAAuB,WAAAtB,IAAA;IACAA;IACAoB;IACA3B,IAAA4D,IAAAD;IACA,KAAAC,KAAA,OAAAtD,EAAAuB,WAAAtB;MAAA,MAAAC,MAAA;;IACAuB,IAAA;MACAtB,MAAA;MACAkD,MAAAC;;AAEA,SAAA,IAAA7B,IAAApC;IACAoC,IAAA;MACAtB,MAAA;MACAd,MAAAoC;;;IAGA,MAAAvB,MAAA;;EAGAmB;EACA,IAAA,OAAArB,EAAAuB,WAAAtB,IAAA;IACAA;IACAoB;IACA,OAAA;MACAlB,MAAA;MACAkD,MAAA5B;;AAEA;IACA,OAAAA;;AAEA;;AAEA/B,IAAA6D,IAAA;;AACA,SAAAC;EACA,IAAApD,QAAAmD,IAAA;IACAlC;IACA3B,IAAAiD,IAAAtD;IACA,KAAAsD;MAAA,MAAAzC,MAAA;;IACAmB;IACA,OAAA;MACAlB,MAAA;MACAd,MAAAsD;;AAEA;AACA;;AAEAjD,IAAA+D,IAAA;;AAEA,SAAAC;EACA,IAAAtD,QAAAqD,IAAA;IACApC;IACA3B,IAAAiE,IAAA1D;IACAT,IAAAmD;IACA,KAAAA,IAAAtD,WAAA,SAAAsD,EAAAjB;MACA,OAAA;QACAvB,MAAA;QACAd,MAAAsD;QACAI,YAAAA,YAAA;;WAEA;MACA9C,IAAA0D;MACAjE,IAAAkE,IAAAJ;MACA9D,IAAAmE,IAAAd,YAAA;MACArD,IAAAoE,IAAAV;MACA,KAAAU;QAAA,MAAA5D,MAAA;;MACA,OAAA;QACAC,MAAA;QACAqD,eAAAI;QACAb,YAAAc;QACAT,cAAAU;;AAEA;AACA;AACA;;AAEA,SAAAV;EACA5D,IAAAiC;EACAJ;EACA,IAAA,QAAArB,EAAAuB,WAAAtB,IAAA;IACAA;IACAoB;IACA3B,IAAAqE,IAAA;IACA,OAAAtC,IAAAiC,oBAAAT;MAAAc,EAAAvB,KAAAf;;IACA,KAAAsC,EAAA7C,UAAA,QAAAlB,EAAAuB,WAAAtB;MAAA,MAAAC,MAAA;;IACAmB;IACA,OAAA;MACAlB,MAAA;MACA4D;;AAEA;AACA;;AA0CArE,IAAAsE,IAAA;;AACA,SAAAC;EACA,IAAA7D,QAAA4D,IAAA;IACA3C;IACA3B,IAAAiD,IAAAtD;IACA,KAAAsD;MAAA,MAAAzC,MAAA;;IACAmB;IACA3B,IAAAkE,IAAAJ;IACA,KAAAI;MAAA,MAAA1D,MAAA;;IACAR,IAAAmE,IAAAd,YAAA;IACArD,IAAAoE,IAAAV;IACA,KAAAU;MAAA,MAAA5D,MAAA;;IACA,OAAA;MACAC,MAAA;MACAd,MAAAsD;MACAa,eAAAI;MACAb,YAAAc;MACAT,cAAAU;;AAEA;AACA;;AAEApE,IAAAwE,IAAA;;AACA,SAAAC;EACA3E,IAAA4E;EACA5E,IAAAmD;EACAnD,IAAA6E,IAAA;EACA7E,IAAAqE,IAAA;EACA,IAAAO,IAAAhE,QAAA8D,IAAA;IACA7C;IACAsB,IAAAtD;IACAgF,IAvEA,SAAAC;MACA9E,IAAAiC;MACA/B,IAAA6E,IAAA;MACAlD;MACA,IAAA,OAAArB,EAAAuB,WAAAtB,IAAA;QACAA;QACAoB;QACA,OAAAI,IAAArB,QAAAwB,IAAA;UACAP;UACA,IAAA,OAAArB,EAAAuB,WAAAtB;YAAA,MAAAC,MAAA;;UACAR,IAAA4D,IAAAD;UACA,KAAAC;YAAA,MAAApD,MAAA;;UACAV,IAAAgF,SAAA;UACA,IAAA,OAAAxE,EAAAuB,WAAAtB,IAAA;YACAA;YACAoB;YAEA,MADAmD,IAAA9C,OAAA;cACA,MAAAxB,MAAA;;AACA;UACAmB;UACAkD,EAAA/B,KAAA;YACArC,MAAA;YACAsE,UAAA;cACAtE,MAAA;cACAd,MAAA;gBACAc,MAAA;gBACAuB,OAAAD,EAAAjB,MAAA;;;YAGA6C,MAAAC;YACAoB,cAAAF;YACAzB,YAAAA,YAAA;;AAEA;QACA,IAAA,OAAA/C,EAAAuB,WAAAtB;UAAA,MAAAC,MAAA;;QACAmB;AACA;MACA,OAAAkD;AACA,KAiCAD;IACAT,IAAAd,YAAA;AACA;EACArD,IAAAoE,IAAAV;EACA,IAAAU;IACA,OAAA;MACA3D,MAAA;MACAwE,WAAAP,KAAA;MACA/E,MAAAsD;MACA2B,qBAAAD;MACAtB,YAAAc;MACAT,cAAAU;;;AAGA;;AAkBA,SAAAzB,MACA1B,GACAiE;EAEA5E,IAAA,mBAAAW,EAAAkE,OAAAlE,EAAAkE,OAAAlE;EACAV,IAAA;EACA,OAtBA,SAAA6E;IACAtF,IAAAiC;IACAJ;IACA3B,IAAAqF,IAAA;IACA,OAAAtD,IAAAwC,wBAAAE;MAAAY,EAAAvC,KAAAf;;IACA,IAAAxB,MAAAD,EAAAkB;MAAA,MAAAhB,MAAA;;IACA,OAAA;MACAC,MAAA;MACA4E;;AAEA,GAYAD;AACA;;AAEA,SAAAE,WACArE,GACAiE;EAEA5E,IAAA,mBAAAW,EAAAkE,OAAAlE,EAAAkE,OAAAlE;EACAV,IAAA;EACAoB;EACA3B,IAAAkD,IAAAlB,OAAA;EACA,KAAAkB;IAAA,MAAA1C,MAAA;;EACA,OAAA0C;AACA;;AAEA,SAAAqC,UACAtE,GACAiE;EAEA5E,IAAA,mBAAAW,EAAAkE,OAAAlE,EAAAkE,OAAAlE;EACAV,IAAA;EACAP,IAAA4D,IAAAD;EACA,KAAAC;IAAA,MAAApD,MAAA;;EACA,OAAAoD;AACA;;ACleA,IAAA4B,IAAA,CAAA;;AAKA,SAAAC,MAAAC,GAAAC;EACA3F,IAAA4F,IAAA;EACA5F,IAAAV,IAAA;EAgFA;IACAU,IAAA6F,IA/EA,SAAAC,SACAJ,GACAK,GACAC;MAEAlG,IAAAmG,KAAA;MAEAjG,IAAAkG,IACAP,EAAAD,EAAAjF,SAAAkF,EAAAD,EAAAjF,MAAAyF,SACAP,EAAAD,EAAAjF,SACA,EAAAyF;MACAlG,IAAAmG,IAAAD,KAAAA,EAAAE,KAAAT,GAAAD,GAAAK,GAAAC,GAAA1G,GAAAsG;MACA,KAAA,MAAAO;QACA,OAAAT;aACA,IAAA,SAAAS;QACA,OAAA;aACA,IAAAA,MAAAX;QACA,MAAAA;aACA,IAAAW,KAAA,mBAAAA,EAAA1F,MAAA;QACAwF,IAAAE,MAAAT;QACAA,IAAAS;AACA;MAEA,IAAAH;QAAAJ,EAAA9C,KAAAkD;;MAEAlG,IAAA+F;MACA7F,IAAAqG,IAAA;WAAAX;;MACA,KAAA1F,IAAAsG,KAAAZ,GAAA;QACApG,EAAAwD,KAAAwD;QACAxG,IAAAkC,IAAA0D,EAAAY;QACA,IAAA1G,MAAAC,QAAAmC,IAAA;UACAhC,IAAAuG,IAAA;UACA,KAAAzG,IAAA0G,IAAA,GAAAA,IAAAxE,EAAAR,QAAAgF;YACA,IAAA,QAAAxE,EAAAwE,MAAA,mBAAAxE,EAAAwE,GAAA/F,MAAA;cACAmF,EAAA9C,KAAA4C;cACApG,EAAAwD,KAAA0D;cACAX,IAAAC,SAAA9D,EAAAwE,IAAAA,GAAAxE;cACA1C,EAAAmH;cACAb,EAAAa;cACA,SAAAC,MAAAb;gBACAU,EAAAzD,KAAAd,EAAAwE;qBACA,IAAA,SAAAX;gBACAI,KAAA;qBACA;gBACAA,IAAAA,KAAAJ,MAAA7D,EAAAwE;gBACAD,EAAAzD,KAAA+C;AACA;AACA;;UAEA7D,IAAAuE;AACA,eAAA,IAAA,QAAAvE,KAAA,mBAAAA,EAAAvB;UAEA,SAAAiG,OADAb,IAAAC,SAAA9D,GAAAsE,GAAAZ,KACA;YACAO,IAAAA,KAAAjE,MAAA6D;YACA7D,IAAA6D;AACA;;QAGAvG,EAAAmH;QACA,IAAAR;UAAAI,EAAAC,KAAAtE;;AACA;MAEA,IAAAgE;QAAAJ,EAAAa;;MACAzG,IAAA2G,IACAhB,EAAAD,EAAAjF,SAAAkF,EAAAD,EAAAjF,MAAAkG,SACA,EAAAA;MACA3G,IAAA4G,IAAAD,KAAAA,EAAAP,KAAAT,GAAAD,GAAAK,GAAAC,GAAA1G,GAAAsG;MACA,IAAAgB,MAAApB;QACA,MAAAA;aACA,SAAAkB,MAAAE;QACA,OAAAA;aACA,SAAAF,MAAAP;QACA,OAAAF,IAAAI,IAAAF;;QAEA,OAAAF,IAAAI,IAAAX;;AAEA,KAGAI,CAAAJ;IACA,YAAAgB,MAAAb,MAAA,MAAAA,IAAAA,IAAAH;AACA,IAAA,OAAAlF;IACA,IAAAA,MAAAgF;MAAA,MAAAhF;;IACA,OAAAkF;AACA;AACA;;AC9FA,SAAAmB,YAAA5F;EACA,OAAAyB,KAAAoE,UAAA7F;AACA;;AAEA,SAAA8F,iBAAA9F;EACA,OAAA,UAAAA,EAAAS,QAAA,QAAA,WAAA;AACA;;AAEA1B,IAAAgH,WAAAC,QACAA,MAAAA,EAAAzF;;AAIAxB,IAAAb,IAEA;EACA+H,oBAAAxB;IACA,IACA,YAAAA,EAAAT,cACAS,EAAA/F,SACAqH,SAAAtB,EAAAd,yBACAoC,SAAAtB,EAAArC;MAEA,OAAAlE,EAAAgI,aAAAzB,EAAAhC;;IAEA5D,IAAAsB,IAAAsE,EAAAT;IACA,IAAAS,EAAA/F;MAAAyB,KAAA,MAAAsE,EAAA/F,KAAAqC;;IACA,IAAAgF,SAAAtB,EAAAd,sBAAA;MACA,KAAAc,EAAA/F;QAAAyB,KAAA;;MACAA,KAAA,MAAAsE,EAAAd,oBAAAwC,IAAAjI,EAAAkI,oBAAAC,KAAA,QAAA;AACA;IACA,IAAAN,SAAAtB,EAAArC;MAAAjC,KAAA,MAAAsE,EAAArC,WAAA+D,IAAAjI,EAAAoI,WAAAD,KAAA;;IACA,OAAAlG,IAAA,MAAAjC,EAAAgI,aAAAzB,EAAAhC;AACA;EACA2D,mBAAA3B;IACA5F,IAAAsB,IAAAjC,EAAAqI,SAAA9B,EAAAX,YAAA,OAAA0C,MAAA/B,EAAA/B;IACA,IAAA+B,EAAAV;MAAA5D,KAAA,QAAAqG,MAAA/B,EAAAV;;IACA,IAAAgC,SAAAtB,EAAArC;MAAAjC,KAAA,MAAAsE,EAAArC,WAAA+D,IAAAjI,EAAAoI,WAAAD,KAAA;;IACA,OAAAlG;AACA;EACAsG,MAAAhC;IACA5F,IAAAsB,KAAAsE,EAAAjC,QAAAiC,EAAAjC,MAAAzB,QAAA,OAAA,MAAA0D,EAAA/F,KAAAqC;IACA,IAAAgF,SAAAtB,EAAApC,YAAA;MACAtD,IAAAoD,IAAAsC,EAAApC,UAAA8D,IAAAjI,EAAAwI;MACA3H,IAAA4H,IAAAxG,IAAA,MAAAgC,EAAAkE,KAAA,QAAA;MACAlG,IACAwG,EAAApG,SAnCA,KAoCAJ,IAAA,UAAAgC,EAAAkE,KAAA,MAAA5F,QAAA,OAAA,UAAA,QACAkG;AACA;IACA,IAAAZ,SAAAtB,EAAArC;MAAAjC,KAAA,MAAAsE,EAAArC,WAAA+D,IAAAjI,EAAAoI,WAAAD,KAAA;;IACA,OAAA5B,EAAAhC,eAAAtC,IAAA,MAAAjC,EAAAgI,aAAAzB,EAAAhC,gBAAAtC;AACA;EACAyG,aAAAnC,KACAA,EAAAjD,QAAAsE,iBAAArB,EAAA1D,SAAA6E,YAAAnB,EAAA1D;EAEA8F,cAAApC,KACA,KAAAA,EAAA1D;EAEA+F,WAAAC,KACA;EAEAC,UAAAvC,KACAA,EAAA1D;EAEAkG,YAAAxC,KACAA,EAAA1D;EAEAmG,WAAAzC,KACAA,EAAA1D;EAEAoG,MAAA1C,KACAA,EAAA1D;EAEAwF,UAAA9B,KACA,MAAAA,EAAA/F,KAAAqC;EAEAqG,WAAA3C,KACA,MAAAA,EAAA7C,OAAAuE,IAAAK,OAAAH,KAAA,QAAA;EAEAgB,aAAA5C,KACA,MAAAA,EAAA1C,OAAAoE,IAAAjI,EAAAoJ,aAAAjB,KAAA,QAAA;EAEAiB,aAAA7C,KACAA,EAAA/F,KAAAqC,QAAA,OAAAyF,MAAA/B,EAAA1D;EAEAwG,UAAA9C,KACAsB,SAAAtB,EAAAL,eAAAK,EAAAL,YAAA+B,IAAAK,OAAAH,KAAA,UAAA;EAEAH,cAAAzB,KACA,UAAAA,EAAArB,WAAA+C,IAAAK,OAAAH,KAAA,MAAA5F,QAAA,OAAA,UAAA;EAEAiG,UAAAjC,KACAA,EAAA/F,KAAAqC,QAAA,OAAAyF,MAAA/B,EAAA1D;EAEAyG,eAAA/C;IACA5F,IAAAsB,IAAA,QAAAsE,EAAA/F,KAAAqC;IACA,IAAAgF,SAAAtB,EAAArC;MAAAjC,KAAA,MAAAsE,EAAArC,WAAA+D,IAAAjI,EAAAoI,WAAAD,KAAA;;IACA,OAAAlG;AACA;EACAsH,eAAAhD;IACA5F,IAAAsB,IAAA;IACA,IAAAsE,EAAA5B;MAAA1C,KAAA,SAAAsE,EAAA5B,cAAAnE,KAAAqC;;IACA,IAAAgF,SAAAtB,EAAArC;MAAAjC,KAAA,MAAAsE,EAAArC,WAAA+D,IAAAjI,EAAAoI,WAAAD,KAAA;;IACA,OAAAlG,IAAA,MAAAqG,MAAA/B,EAAAhC;AACA;EACAiF,mBAAAjD;IACA5F,IAAAsB,IAAA,cAAAsE,EAAA/F,KAAAqC;IACAZ,KAAA,SAAAsE,EAAA5B,cAAAnE,KAAAqC;IACA,IAAAgF,SAAAtB,EAAArC;MAAAjC,KAAA,MAAAsE,EAAArC,WAAA+D,IAAAjI,EAAAoI,WAAAD,KAAA;;IACA,OAAAlG,IAAA,MAAAqG,MAAA/B,EAAAhC;AACA;EACA6D,UAAA7B;IACA5F,IAAAsB,IAAA,MAAAsE,EAAA/F,KAAAqC;IACA,IAAAgF,SAAAtB,EAAApC;MAAAlC,KAAA,MAAAsE,EAAApC,UAAA8D,IAAAjI,EAAAwI,UAAAL,KAAA,QAAA;;IACA,OAAAlG;AACA;EACAwH,WAAAlD,KACAA,EAAA/F,KAAAqC;EAEA6G,UAAAnD,KACA,MAAA+B,MAAA/B,EAAA/B,QAAA;EAEAmF,aAAApD,KACA+B,MAAA/B,EAAA/B,QAAA;;;AAIA,SAAA8D,MAAA/B;EACA,OAAAvG,EAAAuG,EAAAjF,QAAAtB,EAAAuG,EAAAjF,MAAAiF,KAAA;AACA;;ACjIA,SAAAqD,oBACArD,GACAsD;EAEA,QAAAtD,EAAAjF;GACA,KAAA;IACA,OAAA;;GACA,KAAA;IACA,OAAAwI,SAAAvD,EAAA1D,OAAA;;GACA,KAAA;IACA,OAAAkH,WAAAxD,EAAA1D;;GACA,KAAA;GACA,KAAA;GACA,KAAA;IACA,OAAA0D,EAAA1D;;GACA,KAAA;IACAhC,IAAA6C,IAAA;IACA,KAAA,IAAApB,IAAA,GAAAmB,IAAA8C,EAAA7C,QAAApB,IAAAmB,EAAApB,QAAAC,KAAA,GAAA;MAAAoB,EAAAC,KAAAiG,oBAAAnG,EAAAnB,IAAAuH;AAAA;IACA,OAAAnG;;GAEA,KAAA;IACA7C,IAAAmJ,IAAAC,OAAAC,OAAA;IACA,KAAA,IAAAC,IAAA,GAAAC,IAAA7D,EAAA1C,QAAAsG,IAAAC,EAAA/H,QAAA8H,KAAA,GACA;MADAtJ,IAAAuD,IAAAgG,EAAAD;MACAH,EAAA5F,EAAA5D,KAAAqC,SAAA+G,oBAAAxF,EAAAvB,OAAAgH;AAAA;IACA,OAAAG;;GAEA,KAAA;IACA,OAAAH,KAAAA,EAAAtD,EAAA/F,KAAAqC;;AAEA;;AAEA,SAAAwH,kBACA9D,GACA/B,GACAqF;EAEA,IAAA,eAAAtD,EAAAjF,MAAA;IAEA,OAAAuI,IAAAQ,kBAAAR,EADAtD,EAAA/F,KAAAqC,QACA2B,GAAAqF,UAAAtC;AACA,SAAA,IAAA,kBAAA/C,EAAAlD;IACA,OAAA,gBAAAiF,EAAAjF,OAAA+I,kBAAA9D,GAAA/B,GAAAqF,UAAAtC;SACA,IAAA,gBAAAhB,EAAAjF;IACA,OAAA;SACA,IAAA,eAAAkD,EAAAlD;IACA,IAAA,gBAAAiF,EAAAjF,MAAA;MACAT,IAAA6C,IAAA;MACA,KAAA,IAAApB,IAAA,GAAAmB,IAAA8C,EAAA7C,QAAApB,IAAAmB,EAAApB,QAAAC,KAAA,GAAA;QACAzB,IAAAyJ,IAAAD,kBADA5G,EAAAnB,IACAkC,EAAAA,MAAAqF;QACA,SAAAtC,MAAA+C;UACA;;UAEA5G,EAAAC,KAAA2G;;AAEA;MACA,OAAA5G;AACA;SACA,IAAA,gBAAAc,EAAAlD;IACA,QAAAkD,EAAAhE,KAAAqC;KACA,KAAA;KACA,KAAA;KACA,KAAA;KACA,KAAA;MACA,OAAA2B,EAAAhE,KAAAqC,QAAA,YAAA0D,EAAAjF,OACAsI,oBAAArD,GAAAsD,UACAtC;;KACA;MACA,OAAAqC,oBAAArD,GAAAsD;;;AAGA;;"}
1
+ {"version":3,"file":"graphql.web.mjs","sources":["../src/kind.js","../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts","../src/values.ts"],"sourcesContent":["export const Kind = {\n NAME: 'Name',\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n DIRECTIVE: 'Directive',\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n\n /*\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n SCHEMA_EXTENSION: 'SchemaExtension',\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension',\n */\n};\n\nexport const OperationTypeNode = {\n QUERY: 'query',\n MUTATION: 'mutation',\n SUBSCRIPTION: 'subscription',\n};\n","import { Maybe, Extensions, Source } from './types';\nimport { ASTNode } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: ReadonlyArray<any> | undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<any> | undefined;\n readonly source: Source | undefined;\n readonly positions: ReadonlyArray<number> | undefined;\n readonly originalError: Error | undefined;\n readonly extensions: Extensions;\n\n constructor(\n message: string,\n nodes?: ReadonlyArray<ASTNode> | ASTNode | null,\n source?: Maybe<Source>,\n positions?: Maybe<ReadonlyArray<number>>,\n path?: Maybe<ReadonlyArray<string | number>>,\n originalError?: Maybe<Error>,\n extensions?: Maybe<Extensions>\n ) {\n super(message);\n\n this.name = 'GraphQLError';\n this.message = message;\n\n if (path) this.path = path;\n if (nodes) this.nodes = (Array.isArray(nodes) ? nodes : [nodes]) as ASTNode[];\n if (source) this.source = source;\n if (positions) this.positions = positions;\n if (originalError) this.originalError = originalError;\n\n let _extensions = extensions;\n if (!_extensions && originalError) {\n const originalExtensions = (originalError as any).extensions;\n if (originalExtensions && typeof originalExtensions === 'object') {\n _extensions = originalExtensions;\n }\n }\n\n this.extensions = _extensions || {};\n }\n\n toJSON(): any {\n return { ...this, message: this.message };\n }\n\n toString() {\n return this.message;\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLError';\n }\n}\n","/**\n * This is a spec-compliant implementation of a GraphQL query language parser,\n * up-to-date with the October 2021 Edition. Unlike the reference implementation\n * in graphql.js it will only parse the query language, but not the schema\n * language.\n */\nimport { Kind, OperationTypeNode } from './kind';\nimport { GraphQLError } from './error';\nimport { Source } from './types';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: string) {\n return new GraphQLError(`Syntax Error: Unexpected token at ${idx} in ${kind}`);\n}\n\nfunction advance(pattern: RegExp) {\n pattern.lastIndex = idx;\n if (pattern.test(input)) {\n const match = input.slice(idx, (idx = pattern.lastIndex));\n return match;\n }\n}\n\nconst leadingRe = / +(?=[^\\s])/y;\nfunction blockString(string: string) {\n const lines = string.split('\\n');\n let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = lines.length - 1;\n for (let i = 0; i < lines.length; i++) {\n leadingRe.lastIndex = 0;\n if (leadingRe.test(lines[i])) {\n if (i && (!commonIndent || leadingRe.lastIndex < commonIndent))\n commonIndent = leadingRe.lastIndex;\n firstNonEmptyLine = firstNonEmptyLine || i;\n lastNonEmptyLine = i;\n }\n }\n for (let i = firstNonEmptyLine; i <= lastNonEmptyLine; i++) {\n if (i !== firstNonEmptyLine) out += '\\n';\n out += lines[i].slice(commonIndent).replace(/\\\\\"\"\"/g, '\"\"\"');\n }\n return out;\n}\n\n// Note: This is equivalent to: /(?:[\\s,]*|#[^\\n\\r]*)*/y\nfunction ignored() {\n for (\n let char = input.charCodeAt(idx++) | 0;\n char === 9 /*'\\t'*/ ||\n char === 10 /*'\\n'*/ ||\n char === 13 /*'\\r'*/ ||\n char === 32 /*' '*/ ||\n char === 35 /*'#'*/ ||\n char === 44 /*','*/ ||\n char === 65279 /*'\\ufeff'*/;\n char = input.charCodeAt(idx++) | 0\n ) {\n if (char === 35 /*'#'*/) while ((char = input.charCodeAt(idx++)) !== 10 && char !== 13);\n }\n idx--;\n}\n\nconst nameRe = /[_\\w][_\\d\\w]*/y;\nfunction name(): ast.NameNode | undefined {\n let match: string | undefined;\n if ((match = advance(nameRe))) {\n return {\n kind: 'Name' as Kind.NAME,\n value: match,\n };\n }\n}\n\nconst constRe = /null|true|false/y;\nconst variableRe = /\\$[_\\w][_\\d\\w]*/y;\nconst intRe = /-?\\d+/y;\nconst floatPartRe = /(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/y;\nconst complexStringRe = /\\\\/g;\nconst blockStringRe = /\"\"\"(?:[\\s\\S]+(?=\"\"\"))?\"\"\"/y;\nconst stringRe = /\"(?:[^\"\\r\\n]+)?\"/y;\n\nfunction value(constant: true): ast.ConstValueNode;\nfunction value(constant: boolean): ast.ValueNode;\n\nfunction value(constant: boolean): ast.ValueNode | undefined {\n let out: ast.ValueNode | undefined;\n let match: string | undefined;\n if ((match = advance(constRe))) {\n out =\n match === 'null'\n ? {\n kind: 'NullValue' as Kind.NULL,\n }\n : {\n kind: 'BooleanValue' as Kind.BOOLEAN,\n value: match === 'true',\n };\n } else if (!constant && (match = advance(variableRe))) {\n out = {\n kind: 'Variable' as Kind.VARIABLE,\n name: {\n kind: 'Name' as Kind.NAME,\n value: match.slice(1),\n },\n };\n } else if ((match = advance(intRe))) {\n const intPart = match;\n if ((match = advance(floatPartRe))) {\n out = {\n kind: 'FloatValue' as Kind.FLOAT,\n value: intPart + match,\n };\n } else {\n out = {\n kind: 'IntValue' as Kind.INT,\n value: intPart,\n };\n }\n } else if ((match = advance(nameRe))) {\n out = {\n kind: 'EnumValue' as Kind.ENUM,\n value: match,\n };\n } else if ((match = advance(blockStringRe))) {\n out = {\n kind: 'StringValue' as Kind.STRING,\n value: blockString(match.slice(3, -3)),\n block: true,\n };\n } else if ((match = advance(stringRe))) {\n out = {\n kind: 'StringValue' as Kind.STRING,\n value: complexStringRe.test(match) ? (JSON.parse(match) as string) : match.slice(1, -1),\n block: false,\n };\n } else if ((out = list(constant) || object(constant))) {\n return out;\n }\n\n ignored();\n return out;\n}\n\nfunction list(constant: boolean): ast.ListValueNode | undefined {\n let match: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const values: ast.ValueNode[] = [];\n while ((match = value(constant))) values.push(match);\n if (input.charCodeAt(idx++) !== 93 /*']'*/) throw error('ListValue');\n ignored();\n return {\n kind: 'ListValue' as Kind.LIST,\n values,\n };\n }\n}\n\nfunction object(constant: boolean): ast.ObjectValueNode | undefined {\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const fields: ast.ObjectFieldNode[] = [];\n let _name: ast.NameNode | undefined;\n while ((_name = name())) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('ObjectField' as Kind.OBJECT_FIELD);\n ignored();\n const _value = value(constant);\n if (!_value) throw error('ObjectField');\n fields.push({\n kind: 'ObjectField' as Kind.OBJECT_FIELD,\n name: _name,\n value: _value,\n });\n }\n if (input.charCodeAt(idx++) !== 125 /*'}'*/) throw error('ObjectValue');\n ignored();\n return {\n kind: 'ObjectValue' as Kind.OBJECT,\n fields,\n };\n }\n}\n\nfunction arguments_(constant: boolean): ast.ArgumentNode[] {\n const args: ast.ArgumentNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n let _name: ast.NameNode | undefined;\n while ((_name = name())) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('Argument');\n ignored();\n const _value = value(constant);\n if (!_value) throw error('Argument');\n args.push({\n kind: 'Argument' as Kind.ARGUMENT,\n name: _name,\n value: _value,\n });\n }\n if (!args.length || input.charCodeAt(idx++) !== 41 /*')'*/) throw error('Argument');\n ignored();\n }\n return args;\n}\n\nfunction directives(constant: true): ast.ConstDirectiveNode[];\nfunction directives(constant: boolean): ast.DirectiveNode[];\n\nfunction directives(constant: boolean): ast.DirectiveNode[] {\n const directives: ast.DirectiveNode[] = [];\n ignored();\n while (input.charCodeAt(idx) === 64 /*'@'*/) {\n idx++;\n const _name = name();\n if (!_name) throw error('Directive');\n ignored();\n directives.push({\n kind: 'Directive' as Kind.DIRECTIVE,\n name: _name,\n arguments: arguments_(constant),\n });\n }\n return directives;\n}\n\nfunction field(): ast.FieldNode | undefined {\n let _name = name();\n if (_name) {\n ignored();\n let _alias: ast.NameNode | undefined;\n if (input.charCodeAt(idx) === 58 /*':'*/) {\n idx++;\n ignored();\n _alias = _name;\n _name = name();\n if (!_name) throw error('Field');\n ignored();\n }\n return {\n kind: 'Field' as Kind.FIELD,\n alias: _alias,\n name: _name,\n arguments: arguments_(false),\n directives: directives(false),\n selectionSet: selectionSet(),\n };\n }\n}\n\nfunction type(): ast.TypeNode {\n let match: ast.NameNode | ast.TypeNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const _type = type();\n if (!_type || input.charCodeAt(idx++) !== 93 /*']'*/) throw error('ListType');\n match = {\n kind: 'ListType' as Kind.LIST_TYPE,\n type: _type,\n };\n } else if ((match = name())) {\n match = {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: match,\n };\n } else {\n throw error('NamedType');\n }\n\n ignored();\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n return {\n kind: 'NonNullType' as Kind.NON_NULL_TYPE,\n type: match,\n };\n } else {\n return match;\n }\n}\n\nconst typeConditionRe = /on/y;\nfunction typeCondition(): ast.NamedTypeNode | undefined {\n if (advance(typeConditionRe)) {\n ignored();\n const _name = name();\n if (!_name) throw error('NamedType');\n ignored();\n return {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: _name,\n };\n }\n}\n\nconst fragmentSpreadRe = /\\.\\.\\./y;\n\nfunction fragmentSpread(): ast.FragmentSpreadNode | ast.InlineFragmentNode | undefined {\n if (advance(fragmentSpreadRe)) {\n ignored();\n const _idx = idx;\n let _name: ast.NameNode | undefined;\n if ((_name = name()) && _name.value !== 'on') {\n return {\n kind: 'FragmentSpread' as Kind.FRAGMENT_SPREAD,\n name: _name,\n directives: directives(false),\n };\n } else {\n idx = _idx;\n const _typeCondition = typeCondition();\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet) throw error('InlineFragment');\n return {\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n }\n}\n\nfunction selectionSet(): ast.SelectionSetNode | undefined {\n let match: ast.SelectionNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const selections: ast.SelectionNode[] = [];\n while ((match = fragmentSpread() || field())) selections.push(match);\n if (!selections.length || input.charCodeAt(idx++) !== 125 /*'}'*/) throw error('SelectionSet');\n ignored();\n return {\n kind: 'SelectionSet' as Kind.SELECTION_SET,\n selections,\n };\n }\n}\n\nfunction variableDefinitions(): ast.VariableDefinitionNode[] {\n let match: string | undefined;\n const vars: ast.VariableDefinitionNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n while ((match = advance(variableRe))) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('VariableDefinition');\n const _type = type();\n let _defaultValue: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n if (!_defaultValue) throw error('VariableDefinition');\n }\n ignored();\n vars.push({\n kind: 'VariableDefinition' as Kind.VARIABLE_DEFINITION,\n variable: {\n kind: 'Variable' as Kind.VARIABLE,\n name: {\n kind: 'Name' as Kind.NAME,\n value: match.slice(1),\n },\n },\n type: _type,\n defaultValue: _defaultValue as ast.ConstValueNode,\n directives: directives(true),\n });\n }\n if (input.charCodeAt(idx++) !== 41 /*')'*/) throw error('VariableDefinition');\n ignored();\n }\n return vars;\n}\n\nconst fragmentDefinitionRe = /fragment/y;\nfunction fragmentDefinition(): ast.FragmentDefinitionNode | undefined {\n if (advance(fragmentDefinitionRe)) {\n ignored();\n const _name = name();\n if (!_name) throw error('FragmentDefinition');\n ignored();\n const _typeCondition = typeCondition();\n if (!_typeCondition) throw error('FragmentDefinition');\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet) throw error('FragmentDefinition');\n return {\n kind: 'FragmentDefinition' as Kind.FRAGMENT_DEFINITION,\n name: _name,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nconst operationDefinitionRe = /query|mutation|subscription/y;\nfunction operationDefinition(): ast.OperationDefinitionNode | undefined {\n let _operation: string | undefined;\n let _name: ast.NameNode | undefined;\n let _variableDefinitions: ast.VariableDefinitionNode[] = [];\n let _directives: ast.DirectiveNode[] = [];\n if ((_operation = advance(operationDefinitionRe))) {\n ignored();\n _name = name();\n _variableDefinitions = variableDefinitions();\n _directives = directives(false);\n }\n const _selectionSet = selectionSet();\n if (_selectionSet) {\n return {\n kind: 'OperationDefinition' as Kind.OPERATION_DEFINITION,\n operation: (_operation || 'query') as OperationTypeNode,\n name: _name,\n variableDefinitions: _variableDefinitions,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nfunction document(): ast.DocumentNode {\n let match: ast.ExecutableDefinitionNode | void;\n ignored();\n const definitions: ast.ExecutableDefinitionNode[] = [];\n while ((match = fragmentDefinition() || operationDefinition())) definitions.push(match);\n return {\n kind: 'Document' as Kind.DOCUMENT,\n definitions,\n };\n}\n\ntype ParseOptions = {\n [option: string]: any;\n};\n\nexport function parse(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.DocumentNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n return document();\n}\n\nexport function parseValue(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.ValueNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n ignored();\n const _value = value(false);\n if (!_value) throw error('ValueNode');\n return _value;\n}\n\nexport function parseType(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.TypeNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n return type();\n}\n","import { ASTNode } from './ast';\n\nexport const BREAK = {};\n\nexport function visit<N extends ASTNode>(root: N, visitor: ASTVisitor): N;\nexport function visit<R>(root: ASTNode, visitor: ASTReducer<R>): R;\n\nexport function visit(node: ASTNode, visitor: ASTVisitor | ASTReducer<any>) {\n const ancestors: Array<ASTNode | ReadonlyArray<ASTNode>> = [];\n const path: Array<string | number> = [];\n\n function traverse(\n node: ASTNode,\n key?: string | number | undefined,\n parent?: ASTNode | ReadonlyArray<ASTNode> | undefined\n ) {\n let hasEdited = false;\n\n const enter =\n (visitor[node.kind] && visitor[node.kind].enter) ||\n visitor[node.kind] ||\n (visitor as EnterLeaveVisitor<ASTNode>).enter;\n const resultEnter = enter && enter.call(visitor, node, key, parent, path, ancestors);\n if (resultEnter === false) {\n return node;\n } else if (resultEnter === null) {\n return null;\n } else if (resultEnter === BREAK) {\n throw BREAK;\n } else if (resultEnter && typeof resultEnter.kind === 'string') {\n hasEdited = resultEnter !== node;\n node = resultEnter;\n }\n\n if (parent) ancestors.push(parent);\n\n let result: any;\n const copy = { ...node };\n for (const nodeKey in node) {\n path.push(nodeKey);\n let value = node[nodeKey];\n if (Array.isArray(value)) {\n const newValue: any[] = [];\n for (let index = 0; index < value.length; index++) {\n if (value[index] != null && typeof value[index].kind === 'string') {\n ancestors.push(node);\n path.push(index);\n result = traverse(value[index], index, value);\n path.pop();\n ancestors.pop();\n if (result == null) {\n hasEdited = true;\n } else {\n hasEdited = hasEdited || result !== value[index];\n newValue.push(result);\n }\n }\n }\n value = newValue;\n } else if (value != null && typeof value.kind === 'string') {\n result = traverse(value, nodeKey, node);\n if (result !== undefined) {\n hasEdited = hasEdited || value !== result;\n value = result;\n }\n }\n\n path.pop();\n if (hasEdited) copy[nodeKey] = value;\n }\n\n if (parent) ancestors.pop();\n const leave =\n (visitor[node.kind] && visitor[node.kind].leave) ||\n (visitor as EnterLeaveVisitor<ASTNode>).leave;\n const resultLeave = leave && leave.call(visitor, node, key, parent, path, ancestors);\n if (resultLeave === BREAK) {\n throw BREAK;\n } else if (resultLeave !== undefined) {\n return resultLeave;\n } else if (resultEnter !== undefined) {\n return hasEdited ? copy : resultEnter;\n } else {\n return hasEdited ? copy : node;\n }\n }\n\n try {\n const result = traverse(node);\n return result !== undefined && result !== false ? result : node;\n } catch (error) {\n if (error !== BREAK) throw error;\n return node;\n }\n}\n\nexport type ASTVisitor = EnterLeaveVisitor<ASTNode> | KindVisitor;\n\ntype KindVisitor = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: ASTVisitFn<NodeT> | EnterLeaveVisitor<NodeT>;\n};\n\ninterface EnterLeaveVisitor<TVisitedNode extends ASTNode> {\n readonly enter?: ASTVisitFn<TVisitedNode> | undefined;\n readonly leave?: ASTVisitFn<TVisitedNode> | undefined;\n}\n\nexport type ASTVisitFn<Node extends ASTNode> = (\n node: Node,\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => any;\n\nexport type ASTReducer<R> = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: {\n readonly enter?: ASTVisitFn<NodeT>;\n readonly leave: ASTReducerFn<NodeT, R>;\n };\n};\n\ntype ASTReducerFn<TReducedNode extends ASTNode, R> = (\n node: { [K in keyof TReducedNode]: ReducedField<TReducedNode[K], R> },\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => R;\n\ntype ReducedField<T, R> = T extends null | undefined\n ? T\n : T extends ReadonlyArray<any>\n ? ReadonlyArray<R>\n : R;\n","import { ASTNode } from './ast';\n\nexport function printString(string: string) {\n return JSON.stringify(string);\n}\n\nexport function printBlockString(string: string) {\n return '\"\"\"\\n' + string.replace(/\"\"\"/g, '\\\\\"\"\"') + '\\n\"\"\"';\n}\n\nconst hasItems = <T>(array: ReadonlyArray<T> | undefined | null): array is ReadonlyArray<T> =>\n !!(array && array.length);\n\nconst MAX_LINE_LENGTH = 80;\n\nconst nodes: {\n [NodeT in ASTNode as NodeT['kind']]?: (node: NodeT) => string;\n} = {\n OperationDefinition(node) {\n if (\n node.operation === 'query' &&\n !node.name &&\n !hasItems(node.variableDefinitions) &&\n !hasItems(node.directives)\n ) {\n return nodes.SelectionSet!(node.selectionSet);\n }\n let out: string = node.operation;\n if (node.name) out += ' ' + node.name.value;\n if (hasItems(node.variableDefinitions)) {\n if (!node.name) out += ' ';\n out += '(' + node.variableDefinitions.map(nodes.VariableDefinition!).join(', ') + ')';\n }\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + nodes.SelectionSet!(node.selectionSet);\n },\n VariableDefinition(node) {\n let out = nodes.Variable!(node.variable) + ': ' + print(node.type);\n if (node.defaultValue) out += ' = ' + print(node.defaultValue);\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out;\n },\n Field(node) {\n let out = (node.alias ? node.alias.value + ': ' : '') + node.name.value;\n if (hasItems(node.arguments)) {\n const args = node.arguments.map(nodes.Argument!);\n const argsLine = out + '(' + args.join(', ') + ')';\n out =\n argsLine.length > MAX_LINE_LENGTH\n ? out + '(\\n ' + args.join('\\n').replace(/\\n/g, '\\n ') + '\\n)'\n : argsLine;\n }\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return node.selectionSet ? out + ' ' + nodes.SelectionSet!(node.selectionSet) : out;\n },\n StringValue(node) {\n return node.block ? printBlockString(node.value) : printString(node.value);\n },\n BooleanValue(node) {\n return '' + node.value;\n },\n NullValue(_node) {\n return 'null';\n },\n IntValue(node) {\n return node.value;\n },\n FloatValue(node) {\n return node.value;\n },\n EnumValue(node) {\n return node.value;\n },\n Name(node) {\n return node.value;\n },\n Variable(node) {\n return '$' + node.name.value;\n },\n ListValue(node) {\n return '[' + node.values.map(print).join(', ') + ']';\n },\n ObjectValue(node) {\n return '{' + node.fields.map(nodes.ObjectField!).join(', ') + '}';\n },\n ObjectField(node) {\n return node.name.value + ': ' + print(node.value);\n },\n Document(node) {\n return hasItems(node.definitions) ? node.definitions.map(print).join('\\n\\n') : '';\n },\n SelectionSet(node) {\n return '{\\n ' + node.selections.map(print).join('\\n').replace(/\\n/g, '\\n ') + '\\n}';\n },\n Argument(node) {\n return node.name.value + ': ' + print(node.value);\n },\n FragmentSpread(node) {\n let out = '...' + node.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out;\n },\n InlineFragment(node) {\n let out = '...';\n if (node.typeCondition) out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + print(node.selectionSet);\n },\n FragmentDefinition(node) {\n let out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + print(node.selectionSet);\n },\n Directive(node) {\n let out = '@' + node.name.value;\n if (hasItems(node.arguments)) out += '(' + node.arguments.map(nodes.Argument!).join(', ') + ')';\n return out;\n },\n NamedType(node) {\n return node.name.value;\n },\n ListType(node) {\n return '[' + print(node.type) + ']';\n },\n NonNullType(node) {\n return print(node.type) + '!';\n },\n};\n\nexport function print(node: ASTNode): string {\n return nodes[node.kind] ? nodes[node.kind]!(node as any) : '';\n}\n","import { TypeNode, ValueNode } from './ast';\nimport { Maybe } from './types';\n\nexport function valueFromASTUntyped(\n node: ValueNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n switch (node.kind) {\n case 'NullValue':\n return null;\n case 'IntValue':\n return parseInt(node.value, 10);\n case 'FloatValue':\n return parseFloat(node.value);\n case 'StringValue':\n case 'EnumValue':\n case 'BooleanValue':\n return node.value;\n case 'ListValue': {\n const values: unknown[] = [];\n for (const value of node.values) values.push(valueFromASTUntyped(value, variables));\n return values;\n }\n case 'ObjectValue': {\n const obj = Object.create(null);\n for (const field of node.fields)\n obj[field.name.value] = valueFromASTUntyped(field.value, variables);\n return obj;\n }\n case 'Variable':\n return variables && variables[node.name.value];\n }\n}\n\nexport function valueFromTypeNode(\n node: ValueNode,\n type: TypeNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n if (node.kind === 'Variable') {\n const variableName = node.name.value;\n return variables ? valueFromTypeNode(variables[variableName], type, variables) : undefined;\n } else if (type.kind === 'NonNullType') {\n return node.kind !== 'NullValue' ? valueFromTypeNode(node, type, variables) : undefined;\n } else if (node.kind === 'NullValue') {\n return null;\n } else if (type.kind === 'ListType') {\n if (node.kind === 'ListValue') {\n const values: unknown[] = [];\n for (const value of node.values) {\n const coerced = valueFromTypeNode(value, type.type, variables);\n if (coerced === undefined) {\n return undefined;\n } else {\n values.push(coerced);\n }\n }\n return values;\n }\n } else if (type.kind === 'NamedType') {\n switch (type.name.value) {\n case 'Int':\n case 'Float':\n case 'String':\n case 'Bool':\n return type.name.value + 'Value' === node.kind\n ? valueFromASTUntyped(node, variables)\n : undefined;\n default:\n return valueFromASTUntyped(node, variables);\n }\n }\n}\n"],"names":["Kind","NAME","DOCUMENT","OPERATION_DEFINITION","VARIABLE_DEFINITION","SELECTION_SET","FIELD","ARGUMENT","FRAGMENT_SPREAD","INLINE_FRAGMENT","FRAGMENT_DEFINITION","VARIABLE","INT","FLOAT","STRING","BOOLEAN","NULL","ENUM","LIST","OBJECT","OBJECT_FIELD","DIRECTIVE","NAMED_TYPE","LIST_TYPE","NON_NULL_TYPE","OperationTypeNode","QUERY","MUTATION","SUBSCRIPTION","GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","let","_extensions","const","originalExtensions","toJSON","toString","toStringTag","Symbol","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","lines","split","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","length","i","replace","ignored","char","charCodeAt","nameRe","match","value","constRe","variableRe","intRe","floatPartRe","complexStringRe","blockStringRe","stringRe","constant","intPart","block","JSON","parse","list","values","push","object","fields","_name","_value","arguments_","args","directives","arguments","field","_alias","alias","selectionSet","type","_type","typeConditionRe","typeCondition","fragmentSpreadRe","fragmentSpread","_idx","_typeCondition","_directives","_selectionSet","selections","fragmentDefinitionRe","fragmentDefinition","operationDefinitionRe","operationDefinition","_operation","_variableDefinitions","variableDefinitions","vars","_defaultValue","variable","defaultValue","operation","_options","body","document","definitions","parseValue","parseType","BREAK","visit","node","visitor","ancestors","result","traverse","key","parent","hasEdited","enter","resultEnter","call","copy","nodeKey","newValue","index","pop","undefined","leave","resultLeave","printString","stringify","printBlockString","hasItems","array","OperationDefinition","SelectionSet","map","VariableDefinition","join","Directive","Variable","print","Field","Argument","argsLine","StringValue","BooleanValue","NullValue","_node","IntValue","FloatValue","EnumValue","Name","ListValue","ObjectValue","ObjectField","Document","FragmentSpread","InlineFragment","FragmentDefinition","NamedType","ListType","NonNullType","valueFromASTUntyped","variables","parseInt","parseFloat","obj","Object","create","i$1","list$1","valueFromTypeNode","coerced"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@0no-co/graphql.web",
3
3
  "description": "A spec-compliant client-side GraphQL implementation",
4
- "version": "0.1.5",
4
+ "version": "0.1.6",
5
5
  "author": "0no.co <hi@0no.co>",
6
6
  "source": "./src/index.ts",
7
7
  "main": "./dist/graphql.web",
@@ -64,6 +64,7 @@
64
64
  "@rollup/plugin-terser": "^0.4.0",
65
65
  "@typescript-eslint/eslint-plugin": "^5.55.0",
66
66
  "@typescript-eslint/parser": "^5.55.0",
67
+ "@vitest/coverage-c8": "^0.29.7",
67
68
  "dotenv": "^16.0.3",
68
69
  "eslint": "^8.36.0",
69
70
  "eslint-config-prettier": "^8.7.0",
@@ -80,13 +81,13 @@
80
81
  "rollup-plugin-dts": "^5.3.0",
81
82
  "terser": "^5.16.6",
82
83
  "typescript": "^5.0.2",
83
- "vitest": "^0.29.3"
84
+ "vitest": "^0.29.7"
84
85
  },
85
86
  "publishConfig": {
86
87
  "access": "public"
87
88
  },
88
89
  "scripts": {
89
- "test": "vitest run",
90
+ "test": "vitest",
90
91
  "check": "tsc",
91
92
  "lint": "eslint --ext=js,ts .",
92
93
  "build": "rollup -c scripts/rollup.config.mjs",