@0no-co/graphql.web 0.1.1 → 0.1.2

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.
@@ -114,7 +114,7 @@ function blockString(e) {
114
114
  if (d !== t) {
115
115
  r += "\n";
116
116
  }
117
- r += a[d].slice(n);
117
+ r += a[d].slice(n).replace(/\\"""/g, '"""');
118
118
  }
119
119
  return r;
120
120
  }
@@ -147,13 +147,13 @@ var s = /\$[_\w][_\d\w]*/y;
147
147
 
148
148
  var d = /[-]?\d+/y;
149
149
 
150
- var p = /[-]?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/y;
150
+ var p = /(?:[-]?\d+)?(?:\.\d+)(?:[eE][+-]?\d+)?/y;
151
151
 
152
152
  var u = /\\/g;
153
153
 
154
- var l = /"""(?:[\s\S]+(?="""))?"""/y;
154
+ var v = /"""(?:[\s\S]+(?="""))?"""/y;
155
155
 
156
- var v = /"(?:[^"\r\n]+)?"/y;
156
+ var l = /"(?:[^"\r\n]+)?"/y;
157
157
 
158
158
  function value(i) {
159
159
  var n;
@@ -190,13 +190,13 @@ function value(i) {
190
190
  kind: exports.Kind.ENUM,
191
191
  value: c
192
192
  };
193
- } else if (c = advance(l)) {
193
+ } else if (c = advance(v)) {
194
194
  n = {
195
195
  kind: exports.Kind.STRING,
196
196
  value: blockString(c.slice(3, -3)),
197
197
  block: !0
198
198
  };
199
- } else if (c = advance(v)) {
199
+ } else if (c = advance(l)) {
200
200
  n = {
201
201
  kind: exports.Kind.STRING,
202
202
  value: u.test(c) ? JSON.parse(c) : c.slice(1, -1),
@@ -392,25 +392,27 @@ function fragmentSpread() {
392
392
  ignored();
393
393
  if (advance(f)) {
394
394
  ignored();
395
- var e;
396
- if (e = name()) {
395
+ var e = r;
396
+ var i;
397
+ if ((i = name()) && "on" !== i.value) {
397
398
  return {
398
399
  kind: exports.Kind.FRAGMENT_SPREAD,
399
- name: e,
400
+ name: i,
400
401
  directives: directives(!1)
401
402
  };
402
403
  } else {
403
- var r = typeCondition();
404
- var i = directives(!1);
405
- var n = selectionSet();
406
- if (!n) {
404
+ r = e;
405
+ var n = typeCondition();
406
+ var t = directives(!1);
407
+ var o = selectionSet();
408
+ if (!o) {
407
409
  throw error(exports.Kind.INLINE_FRAGMENT);
408
410
  }
409
411
  return {
410
412
  kind: exports.Kind.INLINE_FRAGMENT,
411
- typeCondition: r,
412
- directives: i,
413
- selectionSet: n
413
+ typeCondition: n,
414
+ directives: t,
415
+ selectionSet: o
414
416
  };
415
417
  }
416
418
  }
@@ -549,6 +551,8 @@ function printBlockString(e) {
549
551
 
550
552
  var hasItems = e => !(!e || !e.length);
551
553
 
554
+ var T = 80;
555
+
552
556
  exports.BREAK = I;
553
557
 
554
558
  exports.GraphQLError = GraphQLError;
@@ -623,7 +627,9 @@ exports.print = function print(e) {
623
627
  case exports.Kind.FIELD:
624
628
  r = (e.alias ? print(e.alias) + ": " : "") + e.name.value;
625
629
  if (hasItems(e.arguments)) {
626
- r += "(" + e.arguments.map(print).join(", ") + ")";
630
+ var i = e.arguments.map(print);
631
+ var n = r + "(" + i.join(", ") + ")";
632
+ r = n.length > T ? r + "(\n " + i.join("\n").replace(/\n/g, "\n ") + "\n)" : n;
627
633
  }
628
634
  if (hasItems(e.directives)) {
629
635
  r += " " + e.directives.map(print).join(" ");
@@ -738,38 +744,38 @@ exports.visit = function visit(e, r) {
738
744
  var u = {
739
745
  ...e
740
746
  };
741
- for (var l in e) {
742
- n.push(l);
743
- var v = e[l];
744
- if (Array.isArray(v)) {
747
+ for (var v in e) {
748
+ n.push(v);
749
+ var l = e[v];
750
+ if (Array.isArray(l)) {
745
751
  var c = [];
746
- for (var f = 0; f < v.length; f++) {
747
- if (null != v[f] && "string" == typeof v[f].kind) {
752
+ for (var f = 0; f < l.length; f++) {
753
+ if (null != l[f] && "string" == typeof l[f].kind) {
748
754
  i.push(e);
749
755
  n.push(f);
750
- p = traverse(v[f], f, v);
756
+ p = traverse(l[f], f, l);
751
757
  n.pop();
752
758
  i.pop();
753
759
  if (void 0 === p) {
754
- c.push(v[f]);
760
+ c.push(l[f]);
755
761
  } else if (null === p) {
756
762
  a = !0;
757
763
  } else {
758
- a = a || p !== v[f];
764
+ a = a || p !== l[f];
759
765
  c.push(p);
760
766
  }
761
767
  }
762
768
  }
763
- v = c;
764
- } else if (null != v && "string" == typeof v.kind) {
765
- if (void 0 !== (p = traverse(v, l, e))) {
766
- a = a || v !== p;
767
- v = p;
769
+ l = c;
770
+ } else if (null != l && "string" == typeof l.kind) {
771
+ if (void 0 !== (p = traverse(l, v, e))) {
772
+ a = a || l !== p;
773
+ l = p;
768
774
  }
769
775
  }
770
776
  n.pop();
771
777
  if (a) {
772
- u[l] = v;
778
+ u[v] = l;
773
779
  }
774
780
  }
775
781
  if (o) {
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.web.js","sources":["../src/ast.ts","../src/kind.ts","../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts"],"sourcesContent":["import type { Kind } from './kind';\n\nexport interface Location {\n readonly start: number;\n readonly end: number;\n readonly source: Source;\n}\n\nexport interface Source {\n body: string;\n name: string;\n locationOffset: {\n line: number;\n column: number;\n };\n}\n\nexport declare type ASTNode =\n | NameNode\n | DocumentNode\n | OperationDefinitionNode\n | VariableDefinitionNode\n | VariableNode\n | SelectionSetNode\n | FieldNode\n | ArgumentNode\n | FragmentSpreadNode\n | InlineFragmentNode\n | FragmentDefinitionNode\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ListValueNode\n | ObjectValueNode\n | ObjectFieldNode\n | DirectiveNode\n | NamedTypeNode\n | ListTypeNode\n | NonNullTypeNode;\n\nexport interface NameNode {\n readonly kind: Kind.NAME;\n readonly value: string;\n}\n\nexport interface DocumentNode {\n readonly kind: Kind.DOCUMENT;\n readonly definitions: ReadonlyArray<ExecutableDefinitionNode>;\n readonly loc?: Location;\n}\n\nexport type DefinitionNode =\n | OperationDefinitionNode\n | FragmentDefinitionNode;\nexport type ExecutableDefinitionNode =\n | OperationDefinitionNode\n | FragmentDefinitionNode;\n\nexport interface OperationDefinitionNode {\n readonly kind: Kind.OPERATION_DEFINITION;\n readonly operation: OperationTypeNode;\n readonly name?: NameNode;\n readonly variableDefinitions?: ReadonlyArray<VariableDefinitionNode>;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport const enum OperationTypeNode {\n QUERY = 'query',\n MUTATION = 'mutation',\n SUBSCRIPTION = 'subscription',\n}\n\nexport interface VariableDefinitionNode {\n readonly kind: Kind.VARIABLE_DEFINITION;\n readonly variable: VariableNode;\n readonly type: TypeNode;\n readonly defaultValue?: ConstValueNode;\n readonly directives?: ReadonlyArray<ConstDirectiveNode>;\n}\n\nexport interface VariableNode {\n readonly kind: Kind.VARIABLE;\n readonly name: NameNode;\n}\n\nexport interface SelectionSetNode {\n kind: Kind.SELECTION_SET;\n selections: ReadonlyArray<SelectionNode>;\n}\n\nexport declare type SelectionNode =\n | FieldNode\n | FragmentSpreadNode\n | InlineFragmentNode;\n\nexport interface FieldNode {\n readonly kind: Kind.FIELD;\n readonly alias?: NameNode;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ArgumentNode>;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet?: SelectionSetNode;\n}\n\nexport interface ArgumentNode {\n readonly kind: Kind.ARGUMENT;\n readonly name: NameNode;\n readonly value: ValueNode;\n}\n\nexport interface ConstArgumentNode {\n readonly kind: Kind.ARGUMENT;\n readonly name: NameNode;\n readonly value: ConstValueNode;\n}\n\nexport interface FragmentSpreadNode {\n readonly kind: Kind.FRAGMENT_SPREAD;\n readonly name: NameNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n}\n\nexport interface InlineFragmentNode {\n readonly kind: Kind.INLINE_FRAGMENT;\n readonly typeCondition?: NamedTypeNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport interface FragmentDefinitionNode {\n readonly kind: Kind.FRAGMENT_DEFINITION;\n readonly name: NameNode;\n readonly typeCondition: NamedTypeNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport type ValueNode =\n | VariableNode\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ListValueNode\n | ObjectValueNode;\n\nexport type ConstValueNode =\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ConstListValueNode\n | ConstObjectValueNode;\n\nexport interface IntValueNode {\n readonly kind: Kind.INT;\n readonly value: string;\n}\n\nexport interface FloatValueNode {\n readonly kind: Kind.FLOAT;\n readonly value: string;\n}\nexport interface StringValueNode {\n readonly kind: Kind.STRING;\n readonly value: string;\n readonly block?: boolean;\n}\n\nexport interface BooleanValueNode {\n readonly kind: Kind.BOOLEAN;\n readonly value: boolean;\n}\n\nexport interface NullValueNode {\n readonly kind: Kind.NULL;\n}\n\nexport interface EnumValueNode {\n readonly kind: Kind.ENUM;\n readonly value: string;\n}\n\nexport interface ListValueNode {\n readonly kind: Kind.LIST;\n readonly values: ReadonlyArray<ValueNode>;\n}\n\nexport interface ConstListValueNode {\n readonly kind: Kind.LIST;\n readonly values: ReadonlyArray<ConstValueNode>;\n}\n\nexport interface ObjectValueNode {\n readonly kind: Kind.OBJECT;\n readonly fields: ReadonlyArray<ObjectFieldNode>;\n}\n\nexport interface ConstObjectValueNode {\n readonly kind: Kind.OBJECT;\n readonly fields: ReadonlyArray<ConstObjectFieldNode>;\n}\n\nexport interface ObjectFieldNode {\n readonly kind: Kind.OBJECT_FIELD;\n readonly name: NameNode;\n readonly value: ValueNode;\n}\n\nexport interface ConstObjectFieldNode {\n readonly kind: Kind.OBJECT_FIELD;\n readonly name: NameNode;\n readonly value: ConstValueNode;\n}\n\nexport interface DirectiveNode {\n readonly kind: Kind.DIRECTIVE;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ArgumentNode>;\n}\n\nexport interface ConstDirectiveNode {\n readonly kind: Kind.DIRECTIVE;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ConstArgumentNode>;\n}\n\nexport declare type TypeNode = NamedTypeNode | ListTypeNode | NonNullTypeNode;\n\nexport interface NamedTypeNode {\n readonly kind: Kind.NAMED_TYPE;\n readonly name: NameNode;\n}\n\nexport interface ListTypeNode {\n readonly kind: Kind.LIST_TYPE;\n readonly type: TypeNode;\n}\n\nexport interface NonNullTypeNode {\n readonly kind: Kind.NON_NULL_TYPE;\n readonly type: NamedTypeNode | ListTypeNode;\n}\n","export enum Kind {\n /** Name */\n NAME = 'Name',\n /** Document */\n DOCUMENT = 'Document',\n OPERATION_DEFINITION = 'OperationDefinition',\n VARIABLE_DEFINITION = 'VariableDefinition',\n SELECTION_SET = 'SelectionSet',\n FIELD = 'Field',\n ARGUMENT = 'Argument',\n /** Fragments */\n FRAGMENT_SPREAD = 'FragmentSpread',\n INLINE_FRAGMENT = 'InlineFragment',\n FRAGMENT_DEFINITION = 'FragmentDefinition',\n /** Values */\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 /** Directives */\n DIRECTIVE = 'Directive',\n /** Types */\n NAMED_TYPE = 'NamedType',\n LIST_TYPE = 'ListType',\n NON_NULL_TYPE = 'NonNullType',\n}\n","import { Maybe, Extensions } from './types';\nimport { ASTNode, Source } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<ASTNode> | 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() {\n return { ...this };\n }\n\n toString() {\n return this.message;\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 } from './kind';\nimport { GraphQLError } from './error';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: Kind) {\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 let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = -1;\n const lines = string.split('\\n');\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);\n }\n return out;\n}\n\nconst ignoredRe = /(?:[\\s,]*|#[^\\n\\r]*)*/y;\nfunction ignored() {\n ignoredRe.lastIndex = idx;\n ignoredRe.test(input);\n idx = ignoredRe.lastIndex;\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: Kind.NAME,\n value: match,\n };\n }\n}\n\nconst nullRe = /null/y;\nconst boolRe = /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 (advance(nullRe)) {\n out = { kind: Kind.NULL };\n } else if (match = advance(boolRe)) {\n out = {\n kind: Kind.BOOLEAN,\n value: match === 'true',\n };\n } else if (!constant && (match = advance(variableRe))) {\n out = {\n kind: Kind.VARIABLE,\n name: {\n kind: Kind.NAME,\n value: match.slice(1),\n },\n };\n } else if (match = advance(floatRe)) {\n out = {\n kind: Kind.FLOAT,\n value: match,\n };\n } else if (match = advance(intRe)) {\n out = {\n kind: Kind.INT,\n value: match,\n };\n } else if (match = advance(nameRe)) {\n out = {\n kind: Kind.ENUM,\n value: match,\n };\n } else if (match = advance(blockStringRe)) {\n out = {\n kind: Kind.STRING,\n value: blockString(match.slice(3, -3)),\n block: true,\n };\n } else if (match = advance(stringRe)) {\n out = {\n kind: Kind.STRING,\n value: complexStringRe.test(match)\n ? JSON.parse(match) as string\n : 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))\n values.push(match);\n if (input.charCodeAt(idx++) !== 93 /*']'*/)\n throw error(Kind.LIST);\n ignored();\n return {\n kind: 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 /*':'*/)\n throw error(Kind.OBJECT_FIELD);\n ignored();\n const _value = value(constant);\n if (!_value)\n throw error(Kind.OBJECT_FIELD);\n fields.push({\n kind: Kind.OBJECT_FIELD,\n name: _name,\n value: _value,\n });\n }\n if (input.charCodeAt(idx++) !== 125 /*'}'*/)\n throw error(Kind.OBJECT);\n ignored();\n return {\n kind: 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 /*':'*/)\n throw error(Kind.ARGUMENT);\n ignored();\n const _value = value(constant);\n if (!_value)\n throw error(Kind.ARGUMENT);\n args.push({\n kind: Kind.ARGUMENT,\n name: _name,\n value: _value,\n });\n }\n if (!args.length || input.charCodeAt(idx++) !== 41 /*')'*/)\n throw error(Kind.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)\n throw error(Kind.DIRECTIVE);\n ignored();\n directives.push({\n kind: Kind.DIRECTIVE,\n name: _name,\n arguments: arguments_(constant),\n });\n }\n return directives;\n}\n\nfunction field(): ast.FieldNode | undefined {\n ignored();\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)\n throw error(Kind.FIELD);\n ignored();\n }\n return {\n kind: 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 /*']'*/)\n throw error(Kind.LIST_TYPE);\n match = {\n kind: Kind.LIST_TYPE,\n type: _type,\n };\n } else if (match = name()) {\n match = {\n kind: Kind.NAMED_TYPE,\n name: match,\n };\n } else {\n throw error(Kind.NAMED_TYPE);\n }\n\n ignored();\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n return {\n kind: 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)\n throw error(Kind.NAMED_TYPE);\n ignored();\n return {\n kind: Kind.NAMED_TYPE,\n name: _name,\n };\n }\n}\n\nconst fragmentSpreadRe = /\\.\\.\\./y;\n\nfunction fragmentSpread(): ast.FragmentSpreadNode | ast.InlineFragmentNode | undefined {\n ignored();\n if (advance(fragmentSpreadRe)) {\n ignored();\n let _name: ast.NameNode | undefined;\n if (_name = name()) {\n return {\n kind: Kind.FRAGMENT_SPREAD,\n name: _name,\n directives: directives(false),\n };\n } else {\n const _typeCondition = typeCondition();\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet)\n throw error(Kind.INLINE_FRAGMENT);\n return {\n kind: 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())\n selections.push(match);\n if (!selections.length || input.charCodeAt(idx++) !== 125 /*'}'*/)\n throw error(Kind.SELECTION_SET);\n ignored();\n return {\n kind: 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 /*':'*/)\n throw error(Kind.VARIABLE_DEFINITION);\n const _type = type();\n if (!_type)\n throw error(Kind.VARIABLE_DEFINITION);\n let _defaultValue: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n if (!_defaultValue)\n throw error(Kind.VARIABLE_DEFINITION);\n }\n ignored();\n vars.push({\n kind: Kind.VARIABLE_DEFINITION,\n variable: {\n kind: Kind.VARIABLE,\n name: {\n kind: 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 /*')'*/)\n throw error(Kind.VARIABLE_DEFINITION);\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)\n throw error(Kind.FRAGMENT_DEFINITION);\n ignored();\n const _typeCondition = typeCondition();\n if (!_typeCondition)\n throw error(Kind.FRAGMENT_DEFINITION);\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet)\n throw error(Kind.FRAGMENT_DEFINITION);\n return {\n kind: 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: Kind.OPERATION_DEFINITION,\n operation: (_operation || 'query') as ast.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.DefinitionNode | void;\n ignored();\n const definitions: ast.DefinitionNode[] = [];\n while (match = fragmentDefinition() || operationDefinition())\n definitions.push(match);\n if (idx !== input.length)\n throw error(Kind.DOCUMENT);\n return {\n kind: Kind.DOCUMENT,\n definitions,\n };\n}\n\nexport function parse(string: string): ast.DocumentNode {\n input = string;\n idx = 0;\n return document();\n}\n\nexport function parseValue(string: string): ast.ValueNode | undefined {\n input = string;\n idx = 0;\n ignored();\n return value(false);\n}\n\nexport function parseType(string: string): ast.TypeNode | undefined {\n input = 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 = visitor[node.kind] && visitor[node.kind].enter || visitor[node.kind];\n const resultEnter =\n 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 = visitor[node.kind] && visitor[node.kind].leave;\n const resultLeave =\n 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']]?:\n | ASTVisitFn<NodeT>\n | 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 { Kind } from './kind';\nimport { 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>(\n array: ReadonlyArray<T> | undefined | null\n): array is ReadonlyArray<T> => !!(array && array.length);\n\nexport function print(node: ASTNode): string {\n let out: string;\n switch (node.kind) {\n case Kind.OPERATION_DEFINITION:\n if (node.operation === 'query' && !node.name && !hasItems(node.variableDefinitions) && !hasItems(node.directives)) {\n return print(node.selectionSet);\n }\n out = node.operation;\n if (node.name)\n out += ' ' + node.name.value;\n if (hasItems(node.variableDefinitions)) {\n if (!node.name) out += ' ';\n out += '(' + node.variableDefinitions.map(print).join(', ') + ')';\n }\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n\n case Kind.VARIABLE_DEFINITION:\n out = print(node.variable) +\n ': ' +\n print(node.type);\n if (node.defaultValue)\n out += ' = ' + print(node.defaultValue);\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out;\n\n case Kind.FIELD:\n out = (node.alias ? print(node.alias) + ': ' : '') + node.name.value\n if (hasItems(node.arguments))\n out += '(' + node.arguments.map(print).join(', ') + ')';\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return node.selectionSet\n ? out + ' ' + print(node.selectionSet)\n : out;\n\n case Kind.STRING:\n return node.block\n ? printBlockString(node.value)\n : printString(node.value);\n\n case Kind.BOOLEAN:\n return '' + node.value;\n\n case Kind.NULL:\n return 'null';\n\n case Kind.INT:\n case Kind.FLOAT:\n case Kind.ENUM:\n case Kind.NAME:\n return node.value;\n\n case Kind.LIST:\n return '[' + node.values.map(print).join(', ') + ']';\n\n case Kind.OBJECT:\n return '{' + node.fields.map(print).join(', ') + '}';\n\n case Kind.OBJECT_FIELD:\n return node.name.value + ': ' + print(node.value);\n\n case Kind.VARIABLE:\n return '$' + node.name.value;\n\n case Kind.DOCUMENT:\n return hasItems(node.definitions)\n ? node.definitions.map(print).join('\\n\\n')\n : '';\n\n case Kind.SELECTION_SET:\n return '{\\n ' +\n node.selections.map(print).join('\\n').replace(/\\n/g, '\\n ') +\n '\\n}';\n\n case Kind.ARGUMENT:\n return node.name.value + ': ' + print(node.value);\n\n case Kind.FRAGMENT_SPREAD:\n out = '...' + node.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out;\n\n case Kind.INLINE_FRAGMENT:\n out = '...';\n if (node.typeCondition)\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n\n case Kind.FRAGMENT_DEFINITION:\n out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n \n case Kind.DIRECTIVE:\n out = '@' + node.name.value;\n if (hasItems(node.arguments))\n out += '(' + node.arguments.map(print).join(', ') + ')';\n return out;\n\n case Kind.NAMED_TYPE:\n return node.name.value;\n\n case Kind.LIST_TYPE:\n return '[' + print(node.type) + ']';\n\n case Kind.NON_NULL_TYPE:\n return print(node.type) + '!';\n }\n}\n"],"names":["OperationTypeNode","Kind","GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","const","originalExtensions","toJSON","toString","let","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","lines","split","i","length","ignoredRe","ignored","nameRe","match","NAME","value","nullRe","boolRe","variableRe","intRe","floatRe","complexStringRe","blockStringRe","stringRe","constant","NULL","BOOLEAN","VARIABLE","FLOAT","INT","ENUM","STRING","block","JSON","parse","list","charCodeAt","values","push","LIST","object","fields","_name","OBJECT_FIELD","_value","OBJECT","arguments_","args","ARGUMENT","directives","DIRECTIVE","arguments","field","_alias","FIELD","alias","selectionSet","type","_type","LIST_TYPE","NAMED_TYPE","NON_NULL_TYPE","typeConditionRe","typeCondition","fragmentSpreadRe","fragmentSpread","FRAGMENT_SPREAD","_typeCondition","_directives","_selectionSet","INLINE_FRAGMENT","selections","SELECTION_SET","fragmentDefinitionRe","fragmentDefinition","FRAGMENT_DEFINITION","operationDefinitionRe","operationDefinition","_operation","_variableDefinitions","variableDefinitions","vars","VARIABLE_DEFINITION","_defaultValue","variable","defaultValue","OPERATION_DEFINITION","operation","BREAK","printString","stringify","printBlockString","replace","hasItems","array","document","definitions","DOCUMENT","parseType","parseValue","print","node","map","join","visit","visitor","ancestors","result","traverse","key","parent","hasEdited","enter","resultEnter","call","copy","nodeKey","newValue","index","pop","undefined","leave","resultLeave"],"mappings":"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"}
1
+ {"version":3,"file":"graphql.web.js","sources":["../src/ast.ts","../src/kind.ts","../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts"],"sourcesContent":["import type { Kind } from './kind';\n\nexport interface Location {\n readonly start: number;\n readonly end: number;\n readonly source: Source;\n}\n\nexport interface Source {\n body: string;\n name: string;\n locationOffset: {\n line: number;\n column: number;\n };\n}\n\nexport declare type ASTNode =\n | NameNode\n | DocumentNode\n | OperationDefinitionNode\n | VariableDefinitionNode\n | VariableNode\n | SelectionSetNode\n | FieldNode\n | ArgumentNode\n | FragmentSpreadNode\n | InlineFragmentNode\n | FragmentDefinitionNode\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ListValueNode\n | ObjectValueNode\n | ObjectFieldNode\n | DirectiveNode\n | NamedTypeNode\n | ListTypeNode\n | NonNullTypeNode;\n\nexport interface NameNode {\n readonly kind: Kind.NAME;\n readonly value: string;\n}\n\nexport interface DocumentNode {\n readonly kind: Kind.DOCUMENT;\n readonly definitions: ReadonlyArray<ExecutableDefinitionNode>;\n readonly loc?: Location;\n}\n\nexport type DefinitionNode =\n | OperationDefinitionNode\n | FragmentDefinitionNode;\nexport type ExecutableDefinitionNode =\n | OperationDefinitionNode\n | FragmentDefinitionNode;\n\nexport interface OperationDefinitionNode {\n readonly kind: Kind.OPERATION_DEFINITION;\n readonly operation: OperationTypeNode;\n readonly name?: NameNode;\n readonly variableDefinitions?: ReadonlyArray<VariableDefinitionNode>;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport const enum OperationTypeNode {\n QUERY = 'query',\n MUTATION = 'mutation',\n SUBSCRIPTION = 'subscription',\n}\n\nexport interface VariableDefinitionNode {\n readonly kind: Kind.VARIABLE_DEFINITION;\n readonly variable: VariableNode;\n readonly type: TypeNode;\n readonly defaultValue?: ConstValueNode;\n readonly directives?: ReadonlyArray<ConstDirectiveNode>;\n}\n\nexport interface VariableNode {\n readonly kind: Kind.VARIABLE;\n readonly name: NameNode;\n}\n\nexport interface SelectionSetNode {\n kind: Kind.SELECTION_SET;\n selections: ReadonlyArray<SelectionNode>;\n}\n\nexport declare type SelectionNode =\n | FieldNode\n | FragmentSpreadNode\n | InlineFragmentNode;\n\nexport interface FieldNode {\n readonly kind: Kind.FIELD;\n readonly alias?: NameNode;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ArgumentNode>;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet?: SelectionSetNode;\n}\n\nexport interface ArgumentNode {\n readonly kind: Kind.ARGUMENT;\n readonly name: NameNode;\n readonly value: ValueNode;\n}\n\nexport interface ConstArgumentNode {\n readonly kind: Kind.ARGUMENT;\n readonly name: NameNode;\n readonly value: ConstValueNode;\n}\n\nexport interface FragmentSpreadNode {\n readonly kind: Kind.FRAGMENT_SPREAD;\n readonly name: NameNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n}\n\nexport interface InlineFragmentNode {\n readonly kind: Kind.INLINE_FRAGMENT;\n readonly typeCondition?: NamedTypeNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport interface FragmentDefinitionNode {\n readonly kind: Kind.FRAGMENT_DEFINITION;\n readonly name: NameNode;\n readonly typeCondition: NamedTypeNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport type ValueNode =\n | VariableNode\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ListValueNode\n | ObjectValueNode;\n\nexport type ConstValueNode =\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ConstListValueNode\n | ConstObjectValueNode;\n\nexport interface IntValueNode {\n readonly kind: Kind.INT;\n readonly value: string;\n}\n\nexport interface FloatValueNode {\n readonly kind: Kind.FLOAT;\n readonly value: string;\n}\nexport interface StringValueNode {\n readonly kind: Kind.STRING;\n readonly value: string;\n readonly block?: boolean;\n}\n\nexport interface BooleanValueNode {\n readonly kind: Kind.BOOLEAN;\n readonly value: boolean;\n}\n\nexport interface NullValueNode {\n readonly kind: Kind.NULL;\n}\n\nexport interface EnumValueNode {\n readonly kind: Kind.ENUM;\n readonly value: string;\n}\n\nexport interface ListValueNode {\n readonly kind: Kind.LIST;\n readonly values: ReadonlyArray<ValueNode>;\n}\n\nexport interface ConstListValueNode {\n readonly kind: Kind.LIST;\n readonly values: ReadonlyArray<ConstValueNode>;\n}\n\nexport interface ObjectValueNode {\n readonly kind: Kind.OBJECT;\n readonly fields: ReadonlyArray<ObjectFieldNode>;\n}\n\nexport interface ConstObjectValueNode {\n readonly kind: Kind.OBJECT;\n readonly fields: ReadonlyArray<ConstObjectFieldNode>;\n}\n\nexport interface ObjectFieldNode {\n readonly kind: Kind.OBJECT_FIELD;\n readonly name: NameNode;\n readonly value: ValueNode;\n}\n\nexport interface ConstObjectFieldNode {\n readonly kind: Kind.OBJECT_FIELD;\n readonly name: NameNode;\n readonly value: ConstValueNode;\n}\n\nexport interface DirectiveNode {\n readonly kind: Kind.DIRECTIVE;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ArgumentNode>;\n}\n\nexport interface ConstDirectiveNode {\n readonly kind: Kind.DIRECTIVE;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ConstArgumentNode>;\n}\n\nexport declare type TypeNode = NamedTypeNode | ListTypeNode | NonNullTypeNode;\n\nexport interface NamedTypeNode {\n readonly kind: Kind.NAMED_TYPE;\n readonly name: NameNode;\n}\n\nexport interface ListTypeNode {\n readonly kind: Kind.LIST_TYPE;\n readonly type: TypeNode;\n}\n\nexport interface NonNullTypeNode {\n readonly kind: Kind.NON_NULL_TYPE;\n readonly type: NamedTypeNode | ListTypeNode;\n}\n","export enum Kind {\n /** Name */\n NAME = 'Name',\n /** Document */\n DOCUMENT = 'Document',\n OPERATION_DEFINITION = 'OperationDefinition',\n VARIABLE_DEFINITION = 'VariableDefinition',\n SELECTION_SET = 'SelectionSet',\n FIELD = 'Field',\n ARGUMENT = 'Argument',\n /** Fragments */\n FRAGMENT_SPREAD = 'FragmentSpread',\n INLINE_FRAGMENT = 'InlineFragment',\n FRAGMENT_DEFINITION = 'FragmentDefinition',\n /** Values */\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 /** Directives */\n DIRECTIVE = 'Directive',\n /** Types */\n NAMED_TYPE = 'NamedType',\n LIST_TYPE = 'ListType',\n NON_NULL_TYPE = 'NonNullType',\n}\n","import { Maybe, Extensions } from './types';\nimport { ASTNode, Source } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<ASTNode> | 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() {\n return { ...this };\n }\n\n toString() {\n return this.message;\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 } from './kind';\nimport { GraphQLError } from './error';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: Kind) {\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 let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = -1;\n const lines = string.split('\\n');\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\nconst ignoredRe = /(?:[\\s,]*|#[^\\n\\r]*)*/y;\nfunction ignored() {\n ignoredRe.lastIndex = idx;\n ignoredRe.test(input);\n idx = ignoredRe.lastIndex;\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: Kind.NAME,\n value: match,\n };\n }\n}\n\nconst nullRe = /null/y;\nconst boolRe = /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 (advance(nullRe)) {\n out = { kind: Kind.NULL };\n } else if (match = advance(boolRe)) {\n out = {\n kind: Kind.BOOLEAN,\n value: match === 'true',\n };\n } else if (!constant && (match = advance(variableRe))) {\n out = {\n kind: Kind.VARIABLE,\n name: {\n kind: Kind.NAME,\n value: match.slice(1),\n },\n };\n } else if (match = advance(floatRe)) {\n out = {\n kind: Kind.FLOAT,\n value: match,\n };\n } else if (match = advance(intRe)) {\n out = {\n kind: Kind.INT,\n value: match,\n };\n } else if (match = advance(nameRe)) {\n out = {\n kind: Kind.ENUM,\n value: match,\n };\n } else if (match = advance(blockStringRe)) {\n out = {\n kind: Kind.STRING,\n value: blockString(match.slice(3, -3)),\n block: true,\n };\n } else if (match = advance(stringRe)) {\n out = {\n kind: Kind.STRING,\n value: complexStringRe.test(match)\n ? JSON.parse(match) as string\n : 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))\n values.push(match);\n if (input.charCodeAt(idx++) !== 93 /*']'*/)\n throw error(Kind.LIST);\n ignored();\n return {\n kind: 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 /*':'*/)\n throw error(Kind.OBJECT_FIELD);\n ignored();\n const _value = value(constant);\n if (!_value)\n throw error(Kind.OBJECT_FIELD);\n fields.push({\n kind: Kind.OBJECT_FIELD,\n name: _name,\n value: _value,\n });\n }\n if (input.charCodeAt(idx++) !== 125 /*'}'*/)\n throw error(Kind.OBJECT);\n ignored();\n return {\n kind: 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 /*':'*/)\n throw error(Kind.ARGUMENT);\n ignored();\n const _value = value(constant);\n if (!_value)\n throw error(Kind.ARGUMENT);\n args.push({\n kind: Kind.ARGUMENT,\n name: _name,\n value: _value,\n });\n }\n if (!args.length || input.charCodeAt(idx++) !== 41 /*')'*/)\n throw error(Kind.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)\n throw error(Kind.DIRECTIVE);\n ignored();\n directives.push({\n kind: Kind.DIRECTIVE,\n name: _name,\n arguments: arguments_(constant),\n });\n }\n return directives;\n}\n\nfunction field(): ast.FieldNode | undefined {\n ignored();\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)\n throw error(Kind.FIELD);\n ignored();\n }\n return {\n kind: 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 /*']'*/)\n throw error(Kind.LIST_TYPE);\n match = {\n kind: Kind.LIST_TYPE,\n type: _type,\n };\n } else if (match = name()) {\n match = {\n kind: Kind.NAMED_TYPE,\n name: match,\n };\n } else {\n throw error(Kind.NAMED_TYPE);\n }\n\n ignored();\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n return {\n kind: 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)\n throw error(Kind.NAMED_TYPE);\n ignored();\n return {\n kind: Kind.NAMED_TYPE,\n name: _name,\n };\n }\n}\n\nconst fragmentSpreadRe = /\\.\\.\\./y;\n\nfunction fragmentSpread(): ast.FragmentSpreadNode | ast.InlineFragmentNode | undefined {\n ignored();\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: 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)\n throw error(Kind.INLINE_FRAGMENT);\n return {\n kind: 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())\n selections.push(match);\n if (!selections.length || input.charCodeAt(idx++) !== 125 /*'}'*/)\n throw error(Kind.SELECTION_SET);\n ignored();\n return {\n kind: 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 /*':'*/)\n throw error(Kind.VARIABLE_DEFINITION);\n const _type = type();\n if (!_type)\n throw error(Kind.VARIABLE_DEFINITION);\n let _defaultValue: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n if (!_defaultValue)\n throw error(Kind.VARIABLE_DEFINITION);\n }\n ignored();\n vars.push({\n kind: Kind.VARIABLE_DEFINITION,\n variable: {\n kind: Kind.VARIABLE,\n name: {\n kind: 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 /*')'*/)\n throw error(Kind.VARIABLE_DEFINITION);\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)\n throw error(Kind.FRAGMENT_DEFINITION);\n ignored();\n const _typeCondition = typeCondition();\n if (!_typeCondition)\n throw error(Kind.FRAGMENT_DEFINITION);\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet)\n throw error(Kind.FRAGMENT_DEFINITION);\n return {\n kind: 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: Kind.OPERATION_DEFINITION,\n operation: (_operation || 'query') as ast.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.DefinitionNode | void;\n ignored();\n const definitions: ast.DefinitionNode[] = [];\n while (match = fragmentDefinition() || operationDefinition())\n definitions.push(match);\n if (idx !== input.length)\n throw error(Kind.DOCUMENT);\n return {\n kind: Kind.DOCUMENT,\n definitions,\n };\n}\n\nexport function parse(string: string): ast.DocumentNode {\n input = string;\n idx = 0;\n return document();\n}\n\nexport function parseValue(string: string): ast.ValueNode | undefined {\n input = string;\n idx = 0;\n ignored();\n return value(false);\n}\n\nexport function parseType(string: string): ast.TypeNode | undefined {\n input = 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 = visitor[node.kind] && visitor[node.kind].enter || visitor[node.kind];\n const resultEnter =\n 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 = visitor[node.kind] && visitor[node.kind].leave;\n const resultLeave =\n 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']]?:\n | ASTVisitFn<NodeT>\n | 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 { Kind } from './kind';\nimport { 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>(\n array: ReadonlyArray<T> | undefined | null\n): array is ReadonlyArray<T> => !!(array && array.length);\n\nconst MAX_LINE_LENGTH = 80;\n\nexport function print(node: ASTNode): string {\n let out: string;\n switch (node.kind) {\n case Kind.OPERATION_DEFINITION:\n if (node.operation === 'query' && !node.name && !hasItems(node.variableDefinitions) && !hasItems(node.directives)) {\n return print(node.selectionSet);\n }\n out = node.operation;\n if (node.name)\n out += ' ' + node.name.value;\n if (hasItems(node.variableDefinitions)) {\n if (!node.name) out += ' ';\n out += '(' + node.variableDefinitions.map(print).join(', ') + ')';\n }\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n\n case Kind.VARIABLE_DEFINITION:\n out = print(node.variable) +\n ': ' +\n print(node.type);\n if (node.defaultValue)\n out += ' = ' + print(node.defaultValue);\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out;\n\n case Kind.FIELD:\n out = (node.alias ? print(node.alias) + ': ' : '') + node.name.value\n if (hasItems(node.arguments)) {\n const args = node.arguments.map(print);\n const argsLine = out + '(' + args.join(', ') + ')';\n out = argsLine.length > MAX_LINE_LENGTH\n ? out + '(\\n ' + args.join('\\n').replace(/\\n/g, '\\n ') + '\\n)'\n : argsLine;\n }\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return node.selectionSet\n ? out + ' ' + print(node.selectionSet)\n : out;\n\n case Kind.STRING:\n return node.block\n ? printBlockString(node.value)\n : printString(node.value);\n\n case Kind.BOOLEAN:\n return '' + node.value;\n\n case Kind.NULL:\n return 'null';\n\n case Kind.INT:\n case Kind.FLOAT:\n case Kind.ENUM:\n case Kind.NAME:\n return node.value;\n\n case Kind.LIST:\n return '[' + node.values.map(print).join(', ') + ']';\n\n case Kind.OBJECT:\n return '{' + node.fields.map(print).join(', ') + '}';\n\n case Kind.OBJECT_FIELD:\n return node.name.value + ': ' + print(node.value);\n\n case Kind.VARIABLE:\n return '$' + node.name.value;\n\n case Kind.DOCUMENT:\n return hasItems(node.definitions)\n ? node.definitions.map(print).join('\\n\\n')\n : '';\n\n case Kind.SELECTION_SET:\n return '{\\n ' +\n node.selections.map(print).join('\\n').replace(/\\n/g, '\\n ') +\n '\\n}';\n\n case Kind.ARGUMENT:\n return node.name.value + ': ' + print(node.value);\n\n case Kind.FRAGMENT_SPREAD:\n out = '...' + node.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out;\n\n case Kind.INLINE_FRAGMENT:\n out = '...';\n if (node.typeCondition)\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n\n case Kind.FRAGMENT_DEFINITION:\n out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n \n case Kind.DIRECTIVE:\n out = '@' + node.name.value;\n if (hasItems(node.arguments))\n out += '(' + node.arguments.map(print).join(', ') + ')';\n return out;\n\n case Kind.NAMED_TYPE:\n return node.name.value;\n\n case Kind.LIST_TYPE:\n return '[' + print(node.type) + ']';\n\n case Kind.NON_NULL_TYPE:\n return print(node.type) + '!';\n }\n}\n"],"names":["OperationTypeNode","Kind","GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","const","originalExtensions","toJSON","toString","let","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","lines","split","i","length","replace","ignoredRe","ignored","nameRe","match","NAME","value","nullRe","boolRe","variableRe","intRe","floatRe","complexStringRe","blockStringRe","stringRe","constant","NULL","BOOLEAN","VARIABLE","FLOAT","INT","ENUM","STRING","block","JSON","parse","list","charCodeAt","values","push","LIST","object","fields","_name","OBJECT_FIELD","_value","OBJECT","arguments_","args","ARGUMENT","directives","DIRECTIVE","arguments","field","_alias","FIELD","alias","selectionSet","type","_type","LIST_TYPE","NAMED_TYPE","NON_NULL_TYPE","typeConditionRe","typeCondition","fragmentSpreadRe","fragmentSpread","_idx","FRAGMENT_SPREAD","_typeCondition","_directives","_selectionSet","INLINE_FRAGMENT","selections","SELECTION_SET","fragmentDefinitionRe","fragmentDefinition","FRAGMENT_DEFINITION","operationDefinitionRe","operationDefinition","_operation","_variableDefinitions","variableDefinitions","vars","VARIABLE_DEFINITION","_defaultValue","variable","defaultValue","OPERATION_DEFINITION","operation","BREAK","printString","stringify","printBlockString","hasItems","array","MAX_LINE_LENGTH","document","definitions","DOCUMENT","parseType","parseValue","print","node","map","join","argsLine","visit","visitor","ancestors","result","traverse","key","parent","hasEdited","enter","resultEnter","call","copy","nodeKey","newValue","index","pop","undefined","leave","resultLeave"],"mappings":"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"}
@@ -106,11 +106,11 @@ function blockString(e) {
106
106
  a = s;
107
107
  }
108
108
  }
109
- for (var d = n; d <= a; d++) {
110
- if (d !== n) {
109
+ for (var u = n; u <= a; u++) {
110
+ if (u !== n) {
111
111
  r += "\n";
112
112
  }
113
- r += o[d].slice(i);
113
+ r += o[u].slice(i).replace(/\\"""/g, '"""');
114
114
  }
115
115
  return r;
116
116
  }
@@ -137,13 +137,13 @@ function name() {
137
137
 
138
138
  var s = /null/y;
139
139
 
140
- var d = /true|false/y;
140
+ var u = /true|false/y;
141
141
 
142
- var u = /\$[_\w][_\d\w]*/y;
142
+ var d = /\$[_\w][_\d\w]*/y;
143
143
 
144
144
  var v = /[-]?\d+/y;
145
145
 
146
- var l = /[-]?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/y;
146
+ var l = /(?:[-]?\d+)?(?:\.\d+)(?:[eE][+-]?\d+)?/y;
147
147
 
148
148
  var c = /\\/g;
149
149
 
@@ -158,12 +158,12 @@ function value(e) {
158
158
  t = {
159
159
  kind: r.NULL
160
160
  };
161
- } else if (a = advance(d)) {
161
+ } else if (a = advance(u)) {
162
162
  t = {
163
163
  kind: r.BOOLEAN,
164
164
  value: "true" === a
165
165
  };
166
- } else if (!e && (a = advance(u))) {
166
+ } else if (!e && (a = advance(d))) {
167
167
  t = {
168
168
  kind: r.VARIABLE,
169
169
  name: {
@@ -388,25 +388,27 @@ function fragmentSpread() {
388
388
  ignored();
389
389
  if (advance(I)) {
390
390
  ignored();
391
- var e;
392
- if (e = name()) {
391
+ var e = n;
392
+ var i;
393
+ if ((i = name()) && "on" !== i.value) {
393
394
  return {
394
395
  kind: r.FRAGMENT_SPREAD,
395
- name: e,
396
+ name: i,
396
397
  directives: directives(!1)
397
398
  };
398
399
  } else {
399
- var i = typeCondition();
400
- var n = directives(!1);
401
- var t = selectionSet();
402
- if (!t) {
400
+ n = e;
401
+ var t = typeCondition();
402
+ var a = directives(!1);
403
+ var o = selectionSet();
404
+ if (!o) {
403
405
  throw error(r.INLINE_FRAGMENT);
404
406
  }
405
407
  return {
406
408
  kind: r.INLINE_FRAGMENT,
407
- typeCondition: i,
408
- directives: n,
409
- selectionSet: t
409
+ typeCondition: t,
410
+ directives: a,
411
+ selectionSet: o
410
412
  };
411
413
  }
412
414
  }
@@ -479,7 +481,7 @@ function operationDefinition() {
479
481
  if (40 === i.charCodeAt(n)) {
480
482
  n++;
481
483
  ignored();
482
- while (e = advance(u)) {
484
+ while (e = advance(d)) {
483
485
  ignored();
484
486
  if (58 !== i.charCodeAt(n++)) {
485
487
  throw error(r.VARIABLE_DEFINITION);
@@ -566,7 +568,7 @@ function parseType(e) {
566
568
  return type();
567
569
  }
568
570
 
569
- var A = {};
571
+ var g = {};
570
572
 
571
573
  function visit(e, r) {
572
574
  var i = [];
@@ -575,21 +577,21 @@ function visit(e, r) {
575
577
  var t = function traverse(e, t, a) {
576
578
  var o = !1;
577
579
  var s = r[e.kind] && r[e.kind].enter || r[e.kind];
578
- var d = s && s.call(r, e, t, a, n, i);
579
- if (!1 === d) {
580
+ var u = s && s.call(r, e, t, a, n, i);
581
+ if (!1 === u) {
580
582
  return e;
581
- } else if (null === d) {
583
+ } else if (null === u) {
582
584
  return null;
583
- } else if (d === A) {
584
- throw A;
585
- } else if (d && "string" == typeof d.kind) {
586
- o = d !== e;
587
- e = d;
585
+ } else if (u === g) {
586
+ throw g;
587
+ } else if (u && "string" == typeof u.kind) {
588
+ o = u !== e;
589
+ e = u;
588
590
  }
589
591
  if (a) {
590
592
  i.push(a);
591
593
  }
592
- var u;
594
+ var d;
593
595
  var v = {
594
596
  ...e
595
597
  };
@@ -602,24 +604,24 @@ function visit(e, r) {
602
604
  if (null != c[E] && "string" == typeof c[E].kind) {
603
605
  i.push(e);
604
606
  n.push(E);
605
- u = traverse(c[E], E, c);
607
+ d = traverse(c[E], E, c);
606
608
  n.pop();
607
609
  i.pop();
608
- if (void 0 === u) {
610
+ if (void 0 === d) {
609
611
  f.push(c[E]);
610
- } else if (null === u) {
612
+ } else if (null === d) {
611
613
  o = !0;
612
614
  } else {
613
- o = o || u !== c[E];
614
- f.push(u);
615
+ o = o || d !== c[E];
616
+ f.push(d);
615
617
  }
616
618
  }
617
619
  }
618
620
  c = f;
619
621
  } else if (null != c && "string" == typeof c.kind) {
620
- if (void 0 !== (u = traverse(c, l, e))) {
621
- o = o || c !== u;
622
- c = u;
622
+ if (void 0 !== (d = traverse(c, l, e))) {
623
+ o = o || c !== d;
624
+ c = d;
623
625
  }
624
626
  }
625
627
  n.pop();
@@ -632,19 +634,19 @@ function visit(e, r) {
632
634
  }
633
635
  var p = r[e.kind] && r[e.kind].leave;
634
636
  var I = p && p.call(r, e, t, a, n, i);
635
- if (I === A) {
636
- throw A;
637
+ if (I === g) {
638
+ throw g;
637
639
  } else if (void 0 !== I) {
638
640
  return I;
639
- } else if (void 0 !== d) {
640
- return o ? v : d;
641
+ } else if (void 0 !== u) {
642
+ return o ? v : u;
641
643
  } else {
642
644
  return o ? v : e;
643
645
  }
644
646
  }(e);
645
647
  return void 0 !== t && !1 !== t ? t : e;
646
648
  } catch (r) {
647
- if (r !== A) {
649
+ if (r !== g) {
648
650
  throw r;
649
651
  }
650
652
  return e;
@@ -661,6 +663,8 @@ function printBlockString(e) {
661
663
 
662
664
  var hasItems = e => !(!e || !e.length);
663
665
 
666
+ var A = 80;
667
+
664
668
  function print(e) {
665
669
  var i;
666
670
  switch (e.kind) {
@@ -696,7 +700,9 @@ function print(e) {
696
700
  case r.FIELD:
697
701
  i = (e.alias ? print(e.alias) + ": " : "") + e.name.value;
698
702
  if (hasItems(e.arguments)) {
699
- i += "(" + e.arguments.map(print).join(", ") + ")";
703
+ var n = e.arguments.map(print);
704
+ var t = i + "(" + n.join(", ") + ")";
705
+ i = t.length > A ? i + "(\n " + n.join("\n").replace(/\n/g, "\n ") + "\n)" : t;
700
706
  }
701
707
  if (hasItems(e.directives)) {
702
708
  i += " " + e.directives.map(print).join(" ");
@@ -782,5 +788,5 @@ function print(e) {
782
788
  }
783
789
  }
784
790
 
785
- export { A as BREAK, GraphQLError, r as Kind, e as OperationTypeNode, blockString, parse, parseType, parseValue, print, printBlockString, printString, visit };
791
+ export { g as BREAK, GraphQLError, r as Kind, e as OperationTypeNode, blockString, parse, parseType, parseValue, print, printBlockString, printString, visit };
786
792
  //# sourceMappingURL=graphql.web.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.web.mjs","sources":["../src/ast.ts","../src/kind.ts","../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts"],"sourcesContent":["import type { Kind } from './kind';\n\nexport interface Location {\n readonly start: number;\n readonly end: number;\n readonly source: Source;\n}\n\nexport interface Source {\n body: string;\n name: string;\n locationOffset: {\n line: number;\n column: number;\n };\n}\n\nexport declare type ASTNode =\n | NameNode\n | DocumentNode\n | OperationDefinitionNode\n | VariableDefinitionNode\n | VariableNode\n | SelectionSetNode\n | FieldNode\n | ArgumentNode\n | FragmentSpreadNode\n | InlineFragmentNode\n | FragmentDefinitionNode\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ListValueNode\n | ObjectValueNode\n | ObjectFieldNode\n | DirectiveNode\n | NamedTypeNode\n | ListTypeNode\n | NonNullTypeNode;\n\nexport interface NameNode {\n readonly kind: Kind.NAME;\n readonly value: string;\n}\n\nexport interface DocumentNode {\n readonly kind: Kind.DOCUMENT;\n readonly definitions: ReadonlyArray<ExecutableDefinitionNode>;\n readonly loc?: Location;\n}\n\nexport type DefinitionNode =\n | OperationDefinitionNode\n | FragmentDefinitionNode;\nexport type ExecutableDefinitionNode =\n | OperationDefinitionNode\n | FragmentDefinitionNode;\n\nexport interface OperationDefinitionNode {\n readonly kind: Kind.OPERATION_DEFINITION;\n readonly operation: OperationTypeNode;\n readonly name?: NameNode;\n readonly variableDefinitions?: ReadonlyArray<VariableDefinitionNode>;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport const enum OperationTypeNode {\n QUERY = 'query',\n MUTATION = 'mutation',\n SUBSCRIPTION = 'subscription',\n}\n\nexport interface VariableDefinitionNode {\n readonly kind: Kind.VARIABLE_DEFINITION;\n readonly variable: VariableNode;\n readonly type: TypeNode;\n readonly defaultValue?: ConstValueNode;\n readonly directives?: ReadonlyArray<ConstDirectiveNode>;\n}\n\nexport interface VariableNode {\n readonly kind: Kind.VARIABLE;\n readonly name: NameNode;\n}\n\nexport interface SelectionSetNode {\n kind: Kind.SELECTION_SET;\n selections: ReadonlyArray<SelectionNode>;\n}\n\nexport declare type SelectionNode =\n | FieldNode\n | FragmentSpreadNode\n | InlineFragmentNode;\n\nexport interface FieldNode {\n readonly kind: Kind.FIELD;\n readonly alias?: NameNode;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ArgumentNode>;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet?: SelectionSetNode;\n}\n\nexport interface ArgumentNode {\n readonly kind: Kind.ARGUMENT;\n readonly name: NameNode;\n readonly value: ValueNode;\n}\n\nexport interface ConstArgumentNode {\n readonly kind: Kind.ARGUMENT;\n readonly name: NameNode;\n readonly value: ConstValueNode;\n}\n\nexport interface FragmentSpreadNode {\n readonly kind: Kind.FRAGMENT_SPREAD;\n readonly name: NameNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n}\n\nexport interface InlineFragmentNode {\n readonly kind: Kind.INLINE_FRAGMENT;\n readonly typeCondition?: NamedTypeNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport interface FragmentDefinitionNode {\n readonly kind: Kind.FRAGMENT_DEFINITION;\n readonly name: NameNode;\n readonly typeCondition: NamedTypeNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport type ValueNode =\n | VariableNode\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ListValueNode\n | ObjectValueNode;\n\nexport type ConstValueNode =\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ConstListValueNode\n | ConstObjectValueNode;\n\nexport interface IntValueNode {\n readonly kind: Kind.INT;\n readonly value: string;\n}\n\nexport interface FloatValueNode {\n readonly kind: Kind.FLOAT;\n readonly value: string;\n}\nexport interface StringValueNode {\n readonly kind: Kind.STRING;\n readonly value: string;\n readonly block?: boolean;\n}\n\nexport interface BooleanValueNode {\n readonly kind: Kind.BOOLEAN;\n readonly value: boolean;\n}\n\nexport interface NullValueNode {\n readonly kind: Kind.NULL;\n}\n\nexport interface EnumValueNode {\n readonly kind: Kind.ENUM;\n readonly value: string;\n}\n\nexport interface ListValueNode {\n readonly kind: Kind.LIST;\n readonly values: ReadonlyArray<ValueNode>;\n}\n\nexport interface ConstListValueNode {\n readonly kind: Kind.LIST;\n readonly values: ReadonlyArray<ConstValueNode>;\n}\n\nexport interface ObjectValueNode {\n readonly kind: Kind.OBJECT;\n readonly fields: ReadonlyArray<ObjectFieldNode>;\n}\n\nexport interface ConstObjectValueNode {\n readonly kind: Kind.OBJECT;\n readonly fields: ReadonlyArray<ConstObjectFieldNode>;\n}\n\nexport interface ObjectFieldNode {\n readonly kind: Kind.OBJECT_FIELD;\n readonly name: NameNode;\n readonly value: ValueNode;\n}\n\nexport interface ConstObjectFieldNode {\n readonly kind: Kind.OBJECT_FIELD;\n readonly name: NameNode;\n readonly value: ConstValueNode;\n}\n\nexport interface DirectiveNode {\n readonly kind: Kind.DIRECTIVE;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ArgumentNode>;\n}\n\nexport interface ConstDirectiveNode {\n readonly kind: Kind.DIRECTIVE;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ConstArgumentNode>;\n}\n\nexport declare type TypeNode = NamedTypeNode | ListTypeNode | NonNullTypeNode;\n\nexport interface NamedTypeNode {\n readonly kind: Kind.NAMED_TYPE;\n readonly name: NameNode;\n}\n\nexport interface ListTypeNode {\n readonly kind: Kind.LIST_TYPE;\n readonly type: TypeNode;\n}\n\nexport interface NonNullTypeNode {\n readonly kind: Kind.NON_NULL_TYPE;\n readonly type: NamedTypeNode | ListTypeNode;\n}\n","export enum Kind {\n /** Name */\n NAME = 'Name',\n /** Document */\n DOCUMENT = 'Document',\n OPERATION_DEFINITION = 'OperationDefinition',\n VARIABLE_DEFINITION = 'VariableDefinition',\n SELECTION_SET = 'SelectionSet',\n FIELD = 'Field',\n ARGUMENT = 'Argument',\n /** Fragments */\n FRAGMENT_SPREAD = 'FragmentSpread',\n INLINE_FRAGMENT = 'InlineFragment',\n FRAGMENT_DEFINITION = 'FragmentDefinition',\n /** Values */\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 /** Directives */\n DIRECTIVE = 'Directive',\n /** Types */\n NAMED_TYPE = 'NamedType',\n LIST_TYPE = 'ListType',\n NON_NULL_TYPE = 'NonNullType',\n}\n","import { Maybe, Extensions } from './types';\nimport { ASTNode, Source } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<ASTNode> | 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() {\n return { ...this };\n }\n\n toString() {\n return this.message;\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 } from './kind';\nimport { GraphQLError } from './error';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: Kind) {\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 let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = -1;\n const lines = string.split('\\n');\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);\n }\n return out;\n}\n\nconst ignoredRe = /(?:[\\s,]*|#[^\\n\\r]*)*/y;\nfunction ignored() {\n ignoredRe.lastIndex = idx;\n ignoredRe.test(input);\n idx = ignoredRe.lastIndex;\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: Kind.NAME,\n value: match,\n };\n }\n}\n\nconst nullRe = /null/y;\nconst boolRe = /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 (advance(nullRe)) {\n out = { kind: Kind.NULL };\n } else if (match = advance(boolRe)) {\n out = {\n kind: Kind.BOOLEAN,\n value: match === 'true',\n };\n } else if (!constant && (match = advance(variableRe))) {\n out = {\n kind: Kind.VARIABLE,\n name: {\n kind: Kind.NAME,\n value: match.slice(1),\n },\n };\n } else if (match = advance(floatRe)) {\n out = {\n kind: Kind.FLOAT,\n value: match,\n };\n } else if (match = advance(intRe)) {\n out = {\n kind: Kind.INT,\n value: match,\n };\n } else if (match = advance(nameRe)) {\n out = {\n kind: Kind.ENUM,\n value: match,\n };\n } else if (match = advance(blockStringRe)) {\n out = {\n kind: Kind.STRING,\n value: blockString(match.slice(3, -3)),\n block: true,\n };\n } else if (match = advance(stringRe)) {\n out = {\n kind: Kind.STRING,\n value: complexStringRe.test(match)\n ? JSON.parse(match) as string\n : 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))\n values.push(match);\n if (input.charCodeAt(idx++) !== 93 /*']'*/)\n throw error(Kind.LIST);\n ignored();\n return {\n kind: 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 /*':'*/)\n throw error(Kind.OBJECT_FIELD);\n ignored();\n const _value = value(constant);\n if (!_value)\n throw error(Kind.OBJECT_FIELD);\n fields.push({\n kind: Kind.OBJECT_FIELD,\n name: _name,\n value: _value,\n });\n }\n if (input.charCodeAt(idx++) !== 125 /*'}'*/)\n throw error(Kind.OBJECT);\n ignored();\n return {\n kind: 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 /*':'*/)\n throw error(Kind.ARGUMENT);\n ignored();\n const _value = value(constant);\n if (!_value)\n throw error(Kind.ARGUMENT);\n args.push({\n kind: Kind.ARGUMENT,\n name: _name,\n value: _value,\n });\n }\n if (!args.length || input.charCodeAt(idx++) !== 41 /*')'*/)\n throw error(Kind.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)\n throw error(Kind.DIRECTIVE);\n ignored();\n directives.push({\n kind: Kind.DIRECTIVE,\n name: _name,\n arguments: arguments_(constant),\n });\n }\n return directives;\n}\n\nfunction field(): ast.FieldNode | undefined {\n ignored();\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)\n throw error(Kind.FIELD);\n ignored();\n }\n return {\n kind: 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 /*']'*/)\n throw error(Kind.LIST_TYPE);\n match = {\n kind: Kind.LIST_TYPE,\n type: _type,\n };\n } else if (match = name()) {\n match = {\n kind: Kind.NAMED_TYPE,\n name: match,\n };\n } else {\n throw error(Kind.NAMED_TYPE);\n }\n\n ignored();\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n return {\n kind: 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)\n throw error(Kind.NAMED_TYPE);\n ignored();\n return {\n kind: Kind.NAMED_TYPE,\n name: _name,\n };\n }\n}\n\nconst fragmentSpreadRe = /\\.\\.\\./y;\n\nfunction fragmentSpread(): ast.FragmentSpreadNode | ast.InlineFragmentNode | undefined {\n ignored();\n if (advance(fragmentSpreadRe)) {\n ignored();\n let _name: ast.NameNode | undefined;\n if (_name = name()) {\n return {\n kind: Kind.FRAGMENT_SPREAD,\n name: _name,\n directives: directives(false),\n };\n } else {\n const _typeCondition = typeCondition();\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet)\n throw error(Kind.INLINE_FRAGMENT);\n return {\n kind: 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())\n selections.push(match);\n if (!selections.length || input.charCodeAt(idx++) !== 125 /*'}'*/)\n throw error(Kind.SELECTION_SET);\n ignored();\n return {\n kind: 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 /*':'*/)\n throw error(Kind.VARIABLE_DEFINITION);\n const _type = type();\n if (!_type)\n throw error(Kind.VARIABLE_DEFINITION);\n let _defaultValue: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n if (!_defaultValue)\n throw error(Kind.VARIABLE_DEFINITION);\n }\n ignored();\n vars.push({\n kind: Kind.VARIABLE_DEFINITION,\n variable: {\n kind: Kind.VARIABLE,\n name: {\n kind: 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 /*')'*/)\n throw error(Kind.VARIABLE_DEFINITION);\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)\n throw error(Kind.FRAGMENT_DEFINITION);\n ignored();\n const _typeCondition = typeCondition();\n if (!_typeCondition)\n throw error(Kind.FRAGMENT_DEFINITION);\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet)\n throw error(Kind.FRAGMENT_DEFINITION);\n return {\n kind: 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: Kind.OPERATION_DEFINITION,\n operation: (_operation || 'query') as ast.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.DefinitionNode | void;\n ignored();\n const definitions: ast.DefinitionNode[] = [];\n while (match = fragmentDefinition() || operationDefinition())\n definitions.push(match);\n if (idx !== input.length)\n throw error(Kind.DOCUMENT);\n return {\n kind: Kind.DOCUMENT,\n definitions,\n };\n}\n\nexport function parse(string: string): ast.DocumentNode {\n input = string;\n idx = 0;\n return document();\n}\n\nexport function parseValue(string: string): ast.ValueNode | undefined {\n input = string;\n idx = 0;\n ignored();\n return value(false);\n}\n\nexport function parseType(string: string): ast.TypeNode | undefined {\n input = 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 = visitor[node.kind] && visitor[node.kind].enter || visitor[node.kind];\n const resultEnter =\n 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 = visitor[node.kind] && visitor[node.kind].leave;\n const resultLeave =\n 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']]?:\n | ASTVisitFn<NodeT>\n | 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 { Kind } from './kind';\nimport { 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>(\n array: ReadonlyArray<T> | undefined | null\n): array is ReadonlyArray<T> => !!(array && array.length);\n\nexport function print(node: ASTNode): string {\n let out: string;\n switch (node.kind) {\n case Kind.OPERATION_DEFINITION:\n if (node.operation === 'query' && !node.name && !hasItems(node.variableDefinitions) && !hasItems(node.directives)) {\n return print(node.selectionSet);\n }\n out = node.operation;\n if (node.name)\n out += ' ' + node.name.value;\n if (hasItems(node.variableDefinitions)) {\n if (!node.name) out += ' ';\n out += '(' + node.variableDefinitions.map(print).join(', ') + ')';\n }\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n\n case Kind.VARIABLE_DEFINITION:\n out = print(node.variable) +\n ': ' +\n print(node.type);\n if (node.defaultValue)\n out += ' = ' + print(node.defaultValue);\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out;\n\n case Kind.FIELD:\n out = (node.alias ? print(node.alias) + ': ' : '') + node.name.value\n if (hasItems(node.arguments))\n out += '(' + node.arguments.map(print).join(', ') + ')';\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return node.selectionSet\n ? out + ' ' + print(node.selectionSet)\n : out;\n\n case Kind.STRING:\n return node.block\n ? printBlockString(node.value)\n : printString(node.value);\n\n case Kind.BOOLEAN:\n return '' + node.value;\n\n case Kind.NULL:\n return 'null';\n\n case Kind.INT:\n case Kind.FLOAT:\n case Kind.ENUM:\n case Kind.NAME:\n return node.value;\n\n case Kind.LIST:\n return '[' + node.values.map(print).join(', ') + ']';\n\n case Kind.OBJECT:\n return '{' + node.fields.map(print).join(', ') + '}';\n\n case Kind.OBJECT_FIELD:\n return node.name.value + ': ' + print(node.value);\n\n case Kind.VARIABLE:\n return '$' + node.name.value;\n\n case Kind.DOCUMENT:\n return hasItems(node.definitions)\n ? node.definitions.map(print).join('\\n\\n')\n : '';\n\n case Kind.SELECTION_SET:\n return '{\\n ' +\n node.selections.map(print).join('\\n').replace(/\\n/g, '\\n ') +\n '\\n}';\n\n case Kind.ARGUMENT:\n return node.name.value + ': ' + print(node.value);\n\n case Kind.FRAGMENT_SPREAD:\n out = '...' + node.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out;\n\n case Kind.INLINE_FRAGMENT:\n out = '...';\n if (node.typeCondition)\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n\n case Kind.FRAGMENT_DEFINITION:\n out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n \n case Kind.DIRECTIVE:\n out = '@' + node.name.value;\n if (hasItems(node.arguments))\n out += '(' + node.arguments.map(print).join(', ') + ')';\n return out;\n\n case Kind.NAMED_TYPE:\n return node.name.value;\n\n case Kind.LIST_TYPE:\n return '[' + print(node.type) + ']';\n\n case Kind.NON_NULL_TYPE:\n return print(node.type) + '!';\n }\n}\n"],"names":["OperationTypeNode","Kind","GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","const","originalExtensions","toJSON","toString","let","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","lines","split","i","length","ignoredRe","ignored","nameRe","match","NAME","value","nullRe","boolRe","variableRe","intRe","floatRe","complexStringRe","blockStringRe","stringRe","constant","NULL","BOOLEAN","VARIABLE","FLOAT","INT","ENUM","STRING","block","JSON","parse","list","charCodeAt","values","push","LIST","object","fields","_name","OBJECT_FIELD","_value","OBJECT","arguments_","args","ARGUMENT","directives","DIRECTIVE","arguments","field","_alias","FIELD","alias","selectionSet","type","_type","LIST_TYPE","NAMED_TYPE","NON_NULL_TYPE","typeConditionRe","typeCondition","fragmentSpreadRe","fragmentSpread","FRAGMENT_SPREAD","_typeCondition","_directives","_selectionSet","INLINE_FRAGMENT","selections","SELECTION_SET","fragmentDefinitionRe","fragmentDefinition","FRAGMENT_DEFINITION","operationDefinitionRe","operationDefinition","_operation","_variableDefinitions","variableDefinitions","vars","VARIABLE_DEFINITION","_defaultValue","variable","defaultValue","OPERATION_DEFINITION","operation","document","definitions","DOCUMENT","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","replace","hasItems","array","print","map","join"],"mappings":"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"}
1
+ {"version":3,"file":"graphql.web.mjs","sources":["../src/ast.ts","../src/kind.ts","../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts"],"sourcesContent":["import type { Kind } from './kind';\n\nexport interface Location {\n readonly start: number;\n readonly end: number;\n readonly source: Source;\n}\n\nexport interface Source {\n body: string;\n name: string;\n locationOffset: {\n line: number;\n column: number;\n };\n}\n\nexport declare type ASTNode =\n | NameNode\n | DocumentNode\n | OperationDefinitionNode\n | VariableDefinitionNode\n | VariableNode\n | SelectionSetNode\n | FieldNode\n | ArgumentNode\n | FragmentSpreadNode\n | InlineFragmentNode\n | FragmentDefinitionNode\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ListValueNode\n | ObjectValueNode\n | ObjectFieldNode\n | DirectiveNode\n | NamedTypeNode\n | ListTypeNode\n | NonNullTypeNode;\n\nexport interface NameNode {\n readonly kind: Kind.NAME;\n readonly value: string;\n}\n\nexport interface DocumentNode {\n readonly kind: Kind.DOCUMENT;\n readonly definitions: ReadonlyArray<ExecutableDefinitionNode>;\n readonly loc?: Location;\n}\n\nexport type DefinitionNode =\n | OperationDefinitionNode\n | FragmentDefinitionNode;\nexport type ExecutableDefinitionNode =\n | OperationDefinitionNode\n | FragmentDefinitionNode;\n\nexport interface OperationDefinitionNode {\n readonly kind: Kind.OPERATION_DEFINITION;\n readonly operation: OperationTypeNode;\n readonly name?: NameNode;\n readonly variableDefinitions?: ReadonlyArray<VariableDefinitionNode>;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport const enum OperationTypeNode {\n QUERY = 'query',\n MUTATION = 'mutation',\n SUBSCRIPTION = 'subscription',\n}\n\nexport interface VariableDefinitionNode {\n readonly kind: Kind.VARIABLE_DEFINITION;\n readonly variable: VariableNode;\n readonly type: TypeNode;\n readonly defaultValue?: ConstValueNode;\n readonly directives?: ReadonlyArray<ConstDirectiveNode>;\n}\n\nexport interface VariableNode {\n readonly kind: Kind.VARIABLE;\n readonly name: NameNode;\n}\n\nexport interface SelectionSetNode {\n kind: Kind.SELECTION_SET;\n selections: ReadonlyArray<SelectionNode>;\n}\n\nexport declare type SelectionNode =\n | FieldNode\n | FragmentSpreadNode\n | InlineFragmentNode;\n\nexport interface FieldNode {\n readonly kind: Kind.FIELD;\n readonly alias?: NameNode;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ArgumentNode>;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet?: SelectionSetNode;\n}\n\nexport interface ArgumentNode {\n readonly kind: Kind.ARGUMENT;\n readonly name: NameNode;\n readonly value: ValueNode;\n}\n\nexport interface ConstArgumentNode {\n readonly kind: Kind.ARGUMENT;\n readonly name: NameNode;\n readonly value: ConstValueNode;\n}\n\nexport interface FragmentSpreadNode {\n readonly kind: Kind.FRAGMENT_SPREAD;\n readonly name: NameNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n}\n\nexport interface InlineFragmentNode {\n readonly kind: Kind.INLINE_FRAGMENT;\n readonly typeCondition?: NamedTypeNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport interface FragmentDefinitionNode {\n readonly kind: Kind.FRAGMENT_DEFINITION;\n readonly name: NameNode;\n readonly typeCondition: NamedTypeNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport type ValueNode =\n | VariableNode\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ListValueNode\n | ObjectValueNode;\n\nexport type ConstValueNode =\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ConstListValueNode\n | ConstObjectValueNode;\n\nexport interface IntValueNode {\n readonly kind: Kind.INT;\n readonly value: string;\n}\n\nexport interface FloatValueNode {\n readonly kind: Kind.FLOAT;\n readonly value: string;\n}\nexport interface StringValueNode {\n readonly kind: Kind.STRING;\n readonly value: string;\n readonly block?: boolean;\n}\n\nexport interface BooleanValueNode {\n readonly kind: Kind.BOOLEAN;\n readonly value: boolean;\n}\n\nexport interface NullValueNode {\n readonly kind: Kind.NULL;\n}\n\nexport interface EnumValueNode {\n readonly kind: Kind.ENUM;\n readonly value: string;\n}\n\nexport interface ListValueNode {\n readonly kind: Kind.LIST;\n readonly values: ReadonlyArray<ValueNode>;\n}\n\nexport interface ConstListValueNode {\n readonly kind: Kind.LIST;\n readonly values: ReadonlyArray<ConstValueNode>;\n}\n\nexport interface ObjectValueNode {\n readonly kind: Kind.OBJECT;\n readonly fields: ReadonlyArray<ObjectFieldNode>;\n}\n\nexport interface ConstObjectValueNode {\n readonly kind: Kind.OBJECT;\n readonly fields: ReadonlyArray<ConstObjectFieldNode>;\n}\n\nexport interface ObjectFieldNode {\n readonly kind: Kind.OBJECT_FIELD;\n readonly name: NameNode;\n readonly value: ValueNode;\n}\n\nexport interface ConstObjectFieldNode {\n readonly kind: Kind.OBJECT_FIELD;\n readonly name: NameNode;\n readonly value: ConstValueNode;\n}\n\nexport interface DirectiveNode {\n readonly kind: Kind.DIRECTIVE;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ArgumentNode>;\n}\n\nexport interface ConstDirectiveNode {\n readonly kind: Kind.DIRECTIVE;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ConstArgumentNode>;\n}\n\nexport declare type TypeNode = NamedTypeNode | ListTypeNode | NonNullTypeNode;\n\nexport interface NamedTypeNode {\n readonly kind: Kind.NAMED_TYPE;\n readonly name: NameNode;\n}\n\nexport interface ListTypeNode {\n readonly kind: Kind.LIST_TYPE;\n readonly type: TypeNode;\n}\n\nexport interface NonNullTypeNode {\n readonly kind: Kind.NON_NULL_TYPE;\n readonly type: NamedTypeNode | ListTypeNode;\n}\n","export enum Kind {\n /** Name */\n NAME = 'Name',\n /** Document */\n DOCUMENT = 'Document',\n OPERATION_DEFINITION = 'OperationDefinition',\n VARIABLE_DEFINITION = 'VariableDefinition',\n SELECTION_SET = 'SelectionSet',\n FIELD = 'Field',\n ARGUMENT = 'Argument',\n /** Fragments */\n FRAGMENT_SPREAD = 'FragmentSpread',\n INLINE_FRAGMENT = 'InlineFragment',\n FRAGMENT_DEFINITION = 'FragmentDefinition',\n /** Values */\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 /** Directives */\n DIRECTIVE = 'Directive',\n /** Types */\n NAMED_TYPE = 'NamedType',\n LIST_TYPE = 'ListType',\n NON_NULL_TYPE = 'NonNullType',\n}\n","import { Maybe, Extensions } from './types';\nimport { ASTNode, Source } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<ASTNode> | 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() {\n return { ...this };\n }\n\n toString() {\n return this.message;\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 } from './kind';\nimport { GraphQLError } from './error';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: Kind) {\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 let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = -1;\n const lines = string.split('\\n');\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\nconst ignoredRe = /(?:[\\s,]*|#[^\\n\\r]*)*/y;\nfunction ignored() {\n ignoredRe.lastIndex = idx;\n ignoredRe.test(input);\n idx = ignoredRe.lastIndex;\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: Kind.NAME,\n value: match,\n };\n }\n}\n\nconst nullRe = /null/y;\nconst boolRe = /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 (advance(nullRe)) {\n out = { kind: Kind.NULL };\n } else if (match = advance(boolRe)) {\n out = {\n kind: Kind.BOOLEAN,\n value: match === 'true',\n };\n } else if (!constant && (match = advance(variableRe))) {\n out = {\n kind: Kind.VARIABLE,\n name: {\n kind: Kind.NAME,\n value: match.slice(1),\n },\n };\n } else if (match = advance(floatRe)) {\n out = {\n kind: Kind.FLOAT,\n value: match,\n };\n } else if (match = advance(intRe)) {\n out = {\n kind: Kind.INT,\n value: match,\n };\n } else if (match = advance(nameRe)) {\n out = {\n kind: Kind.ENUM,\n value: match,\n };\n } else if (match = advance(blockStringRe)) {\n out = {\n kind: Kind.STRING,\n value: blockString(match.slice(3, -3)),\n block: true,\n };\n } else if (match = advance(stringRe)) {\n out = {\n kind: Kind.STRING,\n value: complexStringRe.test(match)\n ? JSON.parse(match) as string\n : 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))\n values.push(match);\n if (input.charCodeAt(idx++) !== 93 /*']'*/)\n throw error(Kind.LIST);\n ignored();\n return {\n kind: 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 /*':'*/)\n throw error(Kind.OBJECT_FIELD);\n ignored();\n const _value = value(constant);\n if (!_value)\n throw error(Kind.OBJECT_FIELD);\n fields.push({\n kind: Kind.OBJECT_FIELD,\n name: _name,\n value: _value,\n });\n }\n if (input.charCodeAt(idx++) !== 125 /*'}'*/)\n throw error(Kind.OBJECT);\n ignored();\n return {\n kind: 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 /*':'*/)\n throw error(Kind.ARGUMENT);\n ignored();\n const _value = value(constant);\n if (!_value)\n throw error(Kind.ARGUMENT);\n args.push({\n kind: Kind.ARGUMENT,\n name: _name,\n value: _value,\n });\n }\n if (!args.length || input.charCodeAt(idx++) !== 41 /*')'*/)\n throw error(Kind.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)\n throw error(Kind.DIRECTIVE);\n ignored();\n directives.push({\n kind: Kind.DIRECTIVE,\n name: _name,\n arguments: arguments_(constant),\n });\n }\n return directives;\n}\n\nfunction field(): ast.FieldNode | undefined {\n ignored();\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)\n throw error(Kind.FIELD);\n ignored();\n }\n return {\n kind: 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 /*']'*/)\n throw error(Kind.LIST_TYPE);\n match = {\n kind: Kind.LIST_TYPE,\n type: _type,\n };\n } else if (match = name()) {\n match = {\n kind: Kind.NAMED_TYPE,\n name: match,\n };\n } else {\n throw error(Kind.NAMED_TYPE);\n }\n\n ignored();\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n return {\n kind: 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)\n throw error(Kind.NAMED_TYPE);\n ignored();\n return {\n kind: Kind.NAMED_TYPE,\n name: _name,\n };\n }\n}\n\nconst fragmentSpreadRe = /\\.\\.\\./y;\n\nfunction fragmentSpread(): ast.FragmentSpreadNode | ast.InlineFragmentNode | undefined {\n ignored();\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: 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)\n throw error(Kind.INLINE_FRAGMENT);\n return {\n kind: 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())\n selections.push(match);\n if (!selections.length || input.charCodeAt(idx++) !== 125 /*'}'*/)\n throw error(Kind.SELECTION_SET);\n ignored();\n return {\n kind: 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 /*':'*/)\n throw error(Kind.VARIABLE_DEFINITION);\n const _type = type();\n if (!_type)\n throw error(Kind.VARIABLE_DEFINITION);\n let _defaultValue: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n if (!_defaultValue)\n throw error(Kind.VARIABLE_DEFINITION);\n }\n ignored();\n vars.push({\n kind: Kind.VARIABLE_DEFINITION,\n variable: {\n kind: Kind.VARIABLE,\n name: {\n kind: 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 /*')'*/)\n throw error(Kind.VARIABLE_DEFINITION);\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)\n throw error(Kind.FRAGMENT_DEFINITION);\n ignored();\n const _typeCondition = typeCondition();\n if (!_typeCondition)\n throw error(Kind.FRAGMENT_DEFINITION);\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet)\n throw error(Kind.FRAGMENT_DEFINITION);\n return {\n kind: 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: Kind.OPERATION_DEFINITION,\n operation: (_operation || 'query') as ast.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.DefinitionNode | void;\n ignored();\n const definitions: ast.DefinitionNode[] = [];\n while (match = fragmentDefinition() || operationDefinition())\n definitions.push(match);\n if (idx !== input.length)\n throw error(Kind.DOCUMENT);\n return {\n kind: Kind.DOCUMENT,\n definitions,\n };\n}\n\nexport function parse(string: string): ast.DocumentNode {\n input = string;\n idx = 0;\n return document();\n}\n\nexport function parseValue(string: string): ast.ValueNode | undefined {\n input = string;\n idx = 0;\n ignored();\n return value(false);\n}\n\nexport function parseType(string: string): ast.TypeNode | undefined {\n input = 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 = visitor[node.kind] && visitor[node.kind].enter || visitor[node.kind];\n const resultEnter =\n 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 = visitor[node.kind] && visitor[node.kind].leave;\n const resultLeave =\n 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']]?:\n | ASTVisitFn<NodeT>\n | 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 { Kind } from './kind';\nimport { 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>(\n array: ReadonlyArray<T> | undefined | null\n): array is ReadonlyArray<T> => !!(array && array.length);\n\nconst MAX_LINE_LENGTH = 80;\n\nexport function print(node: ASTNode): string {\n let out: string;\n switch (node.kind) {\n case Kind.OPERATION_DEFINITION:\n if (node.operation === 'query' && !node.name && !hasItems(node.variableDefinitions) && !hasItems(node.directives)) {\n return print(node.selectionSet);\n }\n out = node.operation;\n if (node.name)\n out += ' ' + node.name.value;\n if (hasItems(node.variableDefinitions)) {\n if (!node.name) out += ' ';\n out += '(' + node.variableDefinitions.map(print).join(', ') + ')';\n }\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n\n case Kind.VARIABLE_DEFINITION:\n out = print(node.variable) +\n ': ' +\n print(node.type);\n if (node.defaultValue)\n out += ' = ' + print(node.defaultValue);\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out;\n\n case Kind.FIELD:\n out = (node.alias ? print(node.alias) + ': ' : '') + node.name.value\n if (hasItems(node.arguments)) {\n const args = node.arguments.map(print);\n const argsLine = out + '(' + args.join(', ') + ')';\n out = argsLine.length > MAX_LINE_LENGTH\n ? out + '(\\n ' + args.join('\\n').replace(/\\n/g, '\\n ') + '\\n)'\n : argsLine;\n }\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return node.selectionSet\n ? out + ' ' + print(node.selectionSet)\n : out;\n\n case Kind.STRING:\n return node.block\n ? printBlockString(node.value)\n : printString(node.value);\n\n case Kind.BOOLEAN:\n return '' + node.value;\n\n case Kind.NULL:\n return 'null';\n\n case Kind.INT:\n case Kind.FLOAT:\n case Kind.ENUM:\n case Kind.NAME:\n return node.value;\n\n case Kind.LIST:\n return '[' + node.values.map(print).join(', ') + ']';\n\n case Kind.OBJECT:\n return '{' + node.fields.map(print).join(', ') + '}';\n\n case Kind.OBJECT_FIELD:\n return node.name.value + ': ' + print(node.value);\n\n case Kind.VARIABLE:\n return '$' + node.name.value;\n\n case Kind.DOCUMENT:\n return hasItems(node.definitions)\n ? node.definitions.map(print).join('\\n\\n')\n : '';\n\n case Kind.SELECTION_SET:\n return '{\\n ' +\n node.selections.map(print).join('\\n').replace(/\\n/g, '\\n ') +\n '\\n}';\n\n case Kind.ARGUMENT:\n return node.name.value + ': ' + print(node.value);\n\n case Kind.FRAGMENT_SPREAD:\n out = '...' + node.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out;\n\n case Kind.INLINE_FRAGMENT:\n out = '...';\n if (node.typeCondition)\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n\n case Kind.FRAGMENT_DEFINITION:\n out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n \n case Kind.DIRECTIVE:\n out = '@' + node.name.value;\n if (hasItems(node.arguments))\n out += '(' + node.arguments.map(print).join(', ') + ')';\n return out;\n\n case Kind.NAMED_TYPE:\n return node.name.value;\n\n case Kind.LIST_TYPE:\n return '[' + print(node.type) + ']';\n\n case Kind.NON_NULL_TYPE:\n return print(node.type) + '!';\n }\n}\n"],"names":["OperationTypeNode","Kind","GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","const","originalExtensions","toJSON","toString","let","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","lines","split","i","length","replace","ignoredRe","ignored","nameRe","match","NAME","value","nullRe","boolRe","variableRe","intRe","floatRe","complexStringRe","blockStringRe","stringRe","constant","NULL","BOOLEAN","VARIABLE","FLOAT","INT","ENUM","STRING","block","JSON","parse","list","charCodeAt","values","push","LIST","object","fields","_name","OBJECT_FIELD","_value","OBJECT","arguments_","args","ARGUMENT","directives","DIRECTIVE","arguments","field","_alias","FIELD","alias","selectionSet","type","_type","LIST_TYPE","NAMED_TYPE","NON_NULL_TYPE","typeConditionRe","typeCondition","fragmentSpreadRe","fragmentSpread","_idx","FRAGMENT_SPREAD","_typeCondition","_directives","_selectionSet","INLINE_FRAGMENT","selections","SELECTION_SET","fragmentDefinitionRe","fragmentDefinition","FRAGMENT_DEFINITION","operationDefinitionRe","operationDefinition","_operation","_variableDefinitions","variableDefinitions","vars","VARIABLE_DEFINITION","_defaultValue","variable","defaultValue","OPERATION_DEFINITION","operation","document","definitions","DOCUMENT","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","MAX_LINE_LENGTH","print","map","join","argsLine"],"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.1",
4
+ "version": "0.1.2",
5
5
  "author": "0no.co <hi@0no.co>",
6
6
  "source": "./src/index.ts",
7
7
  "main": "./dist/graphql.web",
@@ -85,7 +85,7 @@
85
85
  "access": "public"
86
86
  },
87
87
  "scripts": {
88
- "test": "vitest run",
88
+ "test": "vitest",
89
89
  "check": "tsc",
90
90
  "lint": "eslint --ext=js,ts .",
91
91
  "build": "rollup -c scripts/rollup.config.mjs",