@0no-co/graphql.web 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/graphql.web.js +84 -91
- package/dist/graphql.web.js.map +1 -1
- package/dist/graphql.web.mjs +62 -69
- package/dist/graphql.web.mjs.map +1 -1
- package/package.json +1 -1
package/dist/graphql.web.js
CHANGED
|
@@ -164,15 +164,15 @@ function value(i) {
|
|
|
164
164
|
block: !0
|
|
165
165
|
};
|
|
166
166
|
} else {
|
|
167
|
-
var
|
|
168
|
-
var
|
|
167
|
+
var s = r;
|
|
168
|
+
var u;
|
|
169
169
|
r++;
|
|
170
170
|
var c = !1;
|
|
171
|
-
for (
|
|
172
|
-
if (34 !==
|
|
171
|
+
for (u = 0 | e.charCodeAt(r++); 92 === u && (r++, c = !0) || 10 !== u && 13 !== u && 34 !== u && u; u = 0 | e.charCodeAt(r++)) {}
|
|
172
|
+
if (34 !== u) {
|
|
173
173
|
throw error("StringValue");
|
|
174
174
|
}
|
|
175
|
-
return a = e.slice(
|
|
175
|
+
return a = e.slice(s, r), ignored(), {
|
|
176
176
|
kind: "StringValue",
|
|
177
177
|
value: c ? JSON.parse(a) : a.slice(1, -1),
|
|
178
178
|
block: !1
|
|
@@ -444,6 +444,51 @@ function fragmentDefinition() {
|
|
|
444
444
|
};
|
|
445
445
|
}
|
|
446
446
|
|
|
447
|
+
function definitions() {
|
|
448
|
+
var i = [];
|
|
449
|
+
do {
|
|
450
|
+
if (123 === e.charCodeAt(r)) {
|
|
451
|
+
r++, ignored(), i.push({
|
|
452
|
+
kind: "OperationDefinition",
|
|
453
|
+
operation: "query",
|
|
454
|
+
name: void 0,
|
|
455
|
+
variableDefinitions: void 0,
|
|
456
|
+
directives: void 0,
|
|
457
|
+
selectionSet: selectionSet()
|
|
458
|
+
});
|
|
459
|
+
} else {
|
|
460
|
+
var n = name();
|
|
461
|
+
switch (n) {
|
|
462
|
+
case "fragment":
|
|
463
|
+
i.push(fragmentDefinition());
|
|
464
|
+
break;
|
|
465
|
+
|
|
466
|
+
case "query":
|
|
467
|
+
case "mutation":
|
|
468
|
+
case "subscription":
|
|
469
|
+
var t;
|
|
470
|
+
var a = void 0;
|
|
471
|
+
if (40 !== (t = e.charCodeAt(r)) && 64 !== t && 123 !== t) {
|
|
472
|
+
a = nameNode();
|
|
473
|
+
}
|
|
474
|
+
i.push({
|
|
475
|
+
kind: "OperationDefinition",
|
|
476
|
+
operation: n,
|
|
477
|
+
name: a,
|
|
478
|
+
variableDefinitions: variableDefinitions(),
|
|
479
|
+
directives: directives(!1),
|
|
480
|
+
selectionSet: selectionSetStart()
|
|
481
|
+
});
|
|
482
|
+
break;
|
|
483
|
+
|
|
484
|
+
default:
|
|
485
|
+
throw error("Document");
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
} while (r < e.length);
|
|
489
|
+
return i;
|
|
490
|
+
}
|
|
491
|
+
|
|
447
492
|
var a = {};
|
|
448
493
|
|
|
449
494
|
function mapJoin(e, r, i) {
|
|
@@ -653,83 +698,31 @@ exports.BREAK = a, exports.GraphQLError = GraphQLError, exports.Kind = {
|
|
|
653
698
|
}, exports.isSelectionNode = function isSelectionNode(e) {
|
|
654
699
|
return "Field" === e.kind || "FragmentSpread" === e.kind || "InlineFragment" === e.kind;
|
|
655
700
|
}, exports.parse = function parse(i, n) {
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
case "query":
|
|
677
|
-
case "mutation":
|
|
678
|
-
case "subscription":
|
|
679
|
-
var a;
|
|
680
|
-
var o = void 0;
|
|
681
|
-
if (40 !== (a = e.charCodeAt(r)) && 64 !== a && 123 !== a) {
|
|
682
|
-
o = nameNode();
|
|
701
|
+
if (e = i.body ? i.body : i, r = 0, ignored(), n && n.noLocation) {
|
|
702
|
+
return {
|
|
703
|
+
kind: "Document",
|
|
704
|
+
definitions: definitions()
|
|
705
|
+
};
|
|
706
|
+
} else {
|
|
707
|
+
return {
|
|
708
|
+
kind: "Document",
|
|
709
|
+
definitions: definitions(),
|
|
710
|
+
loc: {
|
|
711
|
+
start: 0,
|
|
712
|
+
end: e.length,
|
|
713
|
+
startToken: void 0,
|
|
714
|
+
endToken: void 0,
|
|
715
|
+
source: {
|
|
716
|
+
body: e,
|
|
717
|
+
name: "graphql.web",
|
|
718
|
+
locationOffset: {
|
|
719
|
+
line: 1,
|
|
720
|
+
column: 1
|
|
683
721
|
}
|
|
684
|
-
n.push({
|
|
685
|
-
kind: "OperationDefinition",
|
|
686
|
-
operation: t,
|
|
687
|
-
name: o,
|
|
688
|
-
variableDefinitions: variableDefinitions(),
|
|
689
|
-
directives: directives(!1),
|
|
690
|
-
selectionSet: selectionSetStart()
|
|
691
|
-
});
|
|
692
|
-
break;
|
|
693
|
-
|
|
694
|
-
default:
|
|
695
|
-
throw error("Document");
|
|
696
722
|
}
|
|
697
723
|
}
|
|
698
|
-
} while (r < e.length);
|
|
699
|
-
if (!i) {
|
|
700
|
-
var l;
|
|
701
|
-
return {
|
|
702
|
-
kind: "Document",
|
|
703
|
-
definitions: n,
|
|
704
|
-
set loc(e) {
|
|
705
|
-
l = e;
|
|
706
|
-
},
|
|
707
|
-
get loc() {
|
|
708
|
-
if (!l) {
|
|
709
|
-
l = {
|
|
710
|
-
start: 0,
|
|
711
|
-
end: e.length,
|
|
712
|
-
startToken: void 0,
|
|
713
|
-
endToken: void 0,
|
|
714
|
-
source: {
|
|
715
|
-
body: e,
|
|
716
|
-
name: "graphql.web",
|
|
717
|
-
locationOffset: {
|
|
718
|
-
line: 1,
|
|
719
|
-
column: 1
|
|
720
|
-
}
|
|
721
|
-
}
|
|
722
|
-
};
|
|
723
|
-
}
|
|
724
|
-
return l;
|
|
725
|
-
}
|
|
726
|
-
};
|
|
727
|
-
}
|
|
728
|
-
return {
|
|
729
|
-
kind: "Document",
|
|
730
|
-
definitions: n
|
|
731
724
|
};
|
|
732
|
-
}
|
|
725
|
+
}
|
|
733
726
|
}, exports.parseType = function parseType(i, n) {
|
|
734
727
|
return e = i.body ? i.body : i, r = 0, type();
|
|
735
728
|
}, exports.parseValue = function parseValue(i, n) {
|
|
@@ -776,20 +769,20 @@ exports.valueFromASTUntyped = valueFromASTUntyped, exports.valueFromTypeNode = f
|
|
|
776
769
|
var t = function traverse(e, t, o) {
|
|
777
770
|
var l = !1;
|
|
778
771
|
var d = r[e.kind] && r[e.kind].enter || r[e.kind] || r.enter;
|
|
779
|
-
var
|
|
780
|
-
if (!1 ===
|
|
772
|
+
var s = d && d.call(r, e, t, o, n, i);
|
|
773
|
+
if (!1 === s) {
|
|
781
774
|
return e;
|
|
782
|
-
} else if (null ===
|
|
775
|
+
} else if (null === s) {
|
|
783
776
|
return null;
|
|
784
|
-
} else if (
|
|
777
|
+
} else if (s === a) {
|
|
785
778
|
throw a;
|
|
786
|
-
} else if (
|
|
787
|
-
l =
|
|
779
|
+
} else if (s && "string" == typeof s.kind) {
|
|
780
|
+
l = s !== e, e = s;
|
|
788
781
|
}
|
|
789
782
|
if (o) {
|
|
790
783
|
i.push(o);
|
|
791
784
|
}
|
|
792
|
-
var
|
|
785
|
+
var u;
|
|
793
786
|
var c = {
|
|
794
787
|
...e
|
|
795
788
|
};
|
|
@@ -800,17 +793,17 @@ exports.valueFromASTUntyped = valueFromASTUntyped, exports.valueFromTypeNode = f
|
|
|
800
793
|
var p = [];
|
|
801
794
|
for (var m = 0; m < f.length; m++) {
|
|
802
795
|
if (null != f[m] && "string" == typeof f[m].kind) {
|
|
803
|
-
if (i.push(e), n.push(m),
|
|
796
|
+
if (i.push(e), n.push(m), u = traverse(f[m], m, f), n.pop(), i.pop(), null == u) {
|
|
804
797
|
l = !0;
|
|
805
798
|
} else {
|
|
806
|
-
l = l ||
|
|
799
|
+
l = l || u !== f[m], p.push(u);
|
|
807
800
|
}
|
|
808
801
|
}
|
|
809
802
|
}
|
|
810
803
|
f = p;
|
|
811
804
|
} else if (null != f && "string" == typeof f.kind) {
|
|
812
|
-
if (void 0 !== (
|
|
813
|
-
l = l || f !==
|
|
805
|
+
if (void 0 !== (u = traverse(f, v, e))) {
|
|
806
|
+
l = l || f !== u, f = u;
|
|
814
807
|
}
|
|
815
808
|
}
|
|
816
809
|
if (n.pop(), l) {
|
|
@@ -826,8 +819,8 @@ exports.valueFromASTUntyped = valueFromASTUntyped, exports.valueFromTypeNode = f
|
|
|
826
819
|
throw a;
|
|
827
820
|
} else if (void 0 !== g) {
|
|
828
821
|
return g;
|
|
829
|
-
} else if (void 0 !==
|
|
830
|
-
return l ? c :
|
|
822
|
+
} else if (void 0 !== s) {
|
|
823
|
+
return l ? c : s;
|
|
831
824
|
} else {
|
|
832
825
|
return l ? c : e;
|
|
833
826
|
}
|
package/dist/graphql.web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.web.js","sources":["../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts","../src/values.ts","../src/kind.js","../src/helpers.ts"],"sourcesContent":["import type { Maybe, Extensions, Source } from './types';\nimport type { ASTNode } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: ReadonlyArray<any> | undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<any> | undefined;\n readonly source: Source | undefined;\n readonly positions: ReadonlyArray<number> | undefined;\n readonly originalError: Error | undefined;\n readonly extensions: Extensions;\n\n constructor(\n message: string,\n nodes?: ReadonlyArray<ASTNode> | ASTNode | null,\n source?: Maybe<Source>,\n positions?: Maybe<ReadonlyArray<number>>,\n path?: Maybe<ReadonlyArray<string | number>>,\n originalError?: Maybe<Error>,\n extensions?: Maybe<Extensions>\n ) {\n super(message);\n\n this.name = 'GraphQLError';\n this.message = message;\n\n if (path) this.path = path;\n if (nodes) this.nodes = (Array.isArray(nodes) ? nodes : [nodes]) as ASTNode[];\n if (source) this.source = source;\n if (positions) this.positions = positions;\n if (originalError) this.originalError = originalError;\n\n let _extensions = extensions;\n if (!_extensions && originalError) {\n const originalExtensions = (originalError as any).extensions;\n if (originalExtensions && typeof originalExtensions === 'object') {\n _extensions = originalExtensions;\n }\n }\n\n this.extensions = _extensions || {};\n }\n\n toJSON(): any {\n return { ...this, message: this.message };\n }\n\n toString(): string {\n return this.message;\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLError';\n }\n}\n","/**\n * This is a spec-compliant implementation of a GraphQL query language parser,\n * up-to-date with the October 2021 Edition. Unlike the reference implementation\n * in graphql.js it will only parse the query language, but not the schema\n * language.\n */\nimport type { Kind, OperationTypeNode } from './kind';\nimport { GraphQLError } from './error';\nimport type { Location, Source } from './types';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: string) {\n return new GraphQLError(`Syntax Error: Unexpected token at ${idx} in ${kind}`);\n}\n\nfunction advance(pattern: RegExp) {\n pattern.lastIndex = idx;\n if (pattern.test(input)) {\n const match = input.slice(idx, (idx = pattern.lastIndex));\n return match;\n }\n}\n\nconst leadingRe = / +(?=[^\\s])/y;\nfunction blockString(string: string) {\n const lines = string.split('\\n');\n let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = lines.length - 1;\n for (let i = 0; i < lines.length; i++) {\n leadingRe.lastIndex = 0;\n if (leadingRe.test(lines[i])) {\n if (i && (!commonIndent || leadingRe.lastIndex < commonIndent))\n commonIndent = leadingRe.lastIndex;\n firstNonEmptyLine = firstNonEmptyLine || i;\n lastNonEmptyLine = i;\n }\n }\n for (let i = firstNonEmptyLine; i <= lastNonEmptyLine; i++) {\n if (i !== firstNonEmptyLine) out += '\\n';\n out += lines[i].slice(commonIndent).replace(/\\\\\"\"\"/g, '\"\"\"');\n }\n return out;\n}\n\n// Note: This is equivalent to: /(?:[\\s,]*|#[^\\n\\r]*)*/y\nfunction ignored() {\n for (\n let char = input.charCodeAt(idx++) | 0;\n char === 9 /*'\\t'*/ ||\n char === 10 /*'\\n'*/ ||\n char === 13 /*'\\r'*/ ||\n char === 32 /*' '*/ ||\n char === 35 /*'#'*/ ||\n char === 44 /*','*/ ||\n char === 65279 /*'\\ufeff'*/;\n char = input.charCodeAt(idx++) | 0\n ) {\n if (char === 35 /*'#'*/) while ((char = input.charCodeAt(idx++)) !== 10 && char !== 13);\n }\n idx--;\n}\n\nfunction name(): string {\n const start = idx;\n for (\n let char = input.charCodeAt(idx++) | 0;\n (char >= 48 /*'0'*/ && char <= 57) /*'9'*/ ||\n (char >= 65 /*'A'*/ && char <= 90) /*'Z'*/ ||\n char === 95 /*'_'*/ ||\n (char >= 97 /*'a'*/ && char <= 122) /*'z'*/;\n char = input.charCodeAt(idx++) | 0\n );\n if (start === idx - 1) throw error('Name');\n const value = input.slice(start, --idx);\n ignored();\n return value;\n}\n\nfunction nameNode(): ast.NameNode {\n return {\n kind: 'Name' as Kind.NAME,\n value: name(),\n };\n}\n\nconst restBlockStringRe = /(?:\"\"\"|(?:[\\s\\S]*?[^\\\\])\"\"\")/y;\nconst floatPartRe = /(?:(?:\\.\\d+)?[eE][+-]?\\d+|\\.\\d+)/y;\n\nfunction value(constant: true): ast.ConstValueNode;\nfunction value(constant: boolean): ast.ValueNode;\n\nfunction value(constant: boolean): ast.ValueNode {\n let match: string | undefined;\n switch (input.charCodeAt(idx)) {\n case 91: // '['\n idx++;\n ignored();\n const values: ast.ValueNode[] = [];\n while (input.charCodeAt(idx) !== 93 /*']'*/) values.push(value(constant));\n idx++;\n ignored();\n return {\n kind: 'ListValue' as Kind.LIST,\n values,\n };\n\n case 123: // '{'\n idx++;\n ignored();\n const fields: ast.ObjectFieldNode[] = [];\n while (input.charCodeAt(idx) !== 125 /*'}'*/) {\n const name = nameNode();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('ObjectField');\n ignored();\n fields.push({\n kind: 'ObjectField' as Kind.OBJECT_FIELD,\n name,\n value: value(constant),\n });\n }\n idx++;\n ignored();\n return {\n kind: 'ObjectValue' as Kind.OBJECT,\n fields,\n };\n\n case 36: // '$'\n if (constant) throw error('Variable');\n idx++;\n return {\n kind: 'Variable' as Kind.VARIABLE,\n name: nameNode(),\n };\n\n case 34: // '\"'\n if (input.charCodeAt(idx + 1) === 34 && input.charCodeAt(idx + 2) === 34) {\n idx += 3;\n if ((match = advance(restBlockStringRe)) == null) throw error('StringValue');\n ignored();\n return {\n kind: 'StringValue' as Kind.STRING,\n value: blockString(match.slice(0, -3)),\n block: true,\n };\n } else {\n const start = idx;\n idx++;\n let char: number;\n let isComplex = false;\n for (\n char = input.charCodeAt(idx++) | 0;\n (char === 92 /*'\\\\'*/ && (idx++, (isComplex = true))) ||\n (char !== 10 /*'\\n'*/ && char !== 13 /*'\\r'*/ && char !== 34 /*'\"'*/ && char);\n char = input.charCodeAt(idx++) | 0\n );\n if (char !== 34) throw error('StringValue');\n match = input.slice(start, idx);\n ignored();\n return {\n kind: 'StringValue' as Kind.STRING,\n value: isComplex ? (JSON.parse(match) as string) : match.slice(1, -1),\n block: false,\n };\n }\n\n case 45: // '-'\n case 48: // '0'\n case 49: // '1'\n case 50: // '2'\n case 51: // '3'\n case 52: // '4'\n case 53: // '5'\n case 54: // '6'\n case 55: // '7'\n case 56: // '8'\n case 57: // '9'\n const start = idx++;\n let char: number;\n while ((char = input.charCodeAt(idx++) | 0) >= 48 /*'0'*/ && char <= 57 /*'9'*/);\n const intPart = input.slice(start, --idx);\n if (\n (char = input.charCodeAt(idx)) === 46 /*'.'*/ ||\n char === 69 /*'E'*/ ||\n char === 101 /*'e'*/\n ) {\n if ((match = advance(floatPartRe)) == null) throw error('FloatValue');\n ignored();\n return {\n kind: 'FloatValue' as Kind.FLOAT,\n value: intPart + match,\n };\n } else {\n ignored();\n return {\n kind: 'IntValue' as Kind.INT,\n value: intPart,\n };\n }\n\n case 110: // 'n'\n if (\n input.charCodeAt(idx + 1) === 117 &&\n input.charCodeAt(idx + 2) === 108 &&\n input.charCodeAt(idx + 3) === 108\n ) {\n idx += 4;\n ignored();\n return { kind: 'NullValue' as Kind.NULL };\n } else break;\n\n case 116: // 't'\n if (\n input.charCodeAt(idx + 1) === 114 &&\n input.charCodeAt(idx + 2) === 117 &&\n input.charCodeAt(idx + 3) === 101\n ) {\n idx += 4;\n ignored();\n return { kind: 'BooleanValue' as Kind.BOOLEAN, value: true };\n } else break;\n\n case 102: // 'f'\n if (\n input.charCodeAt(idx + 1) === 97 &&\n input.charCodeAt(idx + 2) === 108 &&\n input.charCodeAt(idx + 3) === 115 &&\n input.charCodeAt(idx + 4) === 101\n ) {\n idx += 5;\n ignored();\n return { kind: 'BooleanValue' as Kind.BOOLEAN, value: false };\n } else break;\n }\n\n return {\n kind: 'EnumValue' as Kind.ENUM,\n value: name(),\n };\n}\n\nfunction arguments_(constant: boolean): ast.ArgumentNode[] | undefined {\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n const args: ast.ArgumentNode[] = [];\n idx++;\n ignored();\n do {\n const name = nameNode();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('Argument');\n ignored();\n args.push({\n kind: 'Argument' as Kind.ARGUMENT,\n name,\n value: value(constant),\n });\n } while (input.charCodeAt(idx) !== 41 /*')'*/);\n idx++;\n ignored();\n return args;\n }\n}\n\nfunction directives(constant: true): ast.ConstDirectiveNode[] | undefined;\nfunction directives(constant: boolean): ast.DirectiveNode[] | undefined;\n\nfunction directives(constant: boolean): ast.DirectiveNode[] | undefined {\n if (input.charCodeAt(idx) === 64 /*'@'*/) {\n const directives: ast.DirectiveNode[] = [];\n do {\n idx++;\n directives.push({\n kind: 'Directive' as Kind.DIRECTIVE,\n name: nameNode(),\n arguments: arguments_(constant),\n });\n } while (input.charCodeAt(idx) === 64 /*'@'*/);\n return directives;\n }\n}\n\nfunction type(): ast.TypeNode {\n let lists = 0;\n while (input.charCodeAt(idx) === 91 /*'['*/) {\n lists++;\n idx++;\n ignored();\n }\n let type: ast.TypeNode = {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: nameNode(),\n };\n do {\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n type = {\n kind: 'NonNullType' as Kind.NON_NULL_TYPE,\n type: type as ast.NamedTypeNode | ast.ListTypeNode,\n } satisfies ast.NonNullTypeNode;\n }\n if (lists) {\n if (input.charCodeAt(idx++) !== 93 /*']'*/) throw error('NamedType');\n ignored();\n type = {\n kind: 'ListType' as Kind.LIST_TYPE,\n type: type as ast.NamedTypeNode | ast.ListTypeNode,\n } satisfies ast.ListTypeNode;\n }\n } while (lists--);\n return type;\n}\n\nfunction selectionSetStart(): ast.SelectionSetNode {\n if (input.charCodeAt(idx++) !== 123 /*'{'*/) throw error('SelectionSet');\n ignored();\n return selectionSet();\n}\n\nfunction selectionSet(): ast.SelectionSetNode {\n const selections: ast.SelectionNode[] = [];\n do {\n if (input.charCodeAt(idx) === 46 /*'.'*/) {\n if (input.charCodeAt(++idx) !== 46 /*'.'*/ || input.charCodeAt(++idx) !== 46 /*'.'*/)\n throw error('SelectionSet');\n idx++;\n ignored();\n switch (input.charCodeAt(idx)) {\n case 64 /*'@'*/:\n selections.push({\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: undefined,\n directives: directives(false),\n selectionSet: selectionSetStart(),\n });\n break;\n\n case 111 /*'o'*/:\n if (input.charCodeAt(idx + 1) === 110 /*'n'*/) {\n idx += 2;\n ignored();\n selections.push({\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: nameNode(),\n },\n directives: directives(false),\n selectionSet: selectionSetStart(),\n });\n } else {\n selections.push({\n kind: 'FragmentSpread' as Kind.FRAGMENT_SPREAD,\n name: nameNode(),\n directives: directives(false),\n });\n }\n break;\n\n case 123 /*'{'*/:\n idx++;\n ignored();\n selections.push({\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: undefined,\n directives: undefined,\n selectionSet: selectionSet(),\n });\n break;\n\n default:\n selections.push({\n kind: 'FragmentSpread' as Kind.FRAGMENT_SPREAD,\n name: nameNode(),\n directives: directives(false),\n });\n }\n } else {\n let name = nameNode();\n let alias: ast.NameNode | undefined;\n if (input.charCodeAt(idx) === 58 /*':'*/) {\n idx++;\n ignored();\n alias = name;\n name = nameNode();\n }\n const _arguments = arguments_(false);\n const _directives = directives(false);\n let _selectionSet: ast.SelectionSetNode | undefined;\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n _selectionSet = selectionSet();\n }\n selections.push({\n kind: 'Field' as Kind.FIELD,\n alias,\n name,\n arguments: _arguments,\n directives: _directives,\n selectionSet: _selectionSet,\n });\n }\n } while (input.charCodeAt(idx) !== 125 /*'}'*/);\n idx++;\n ignored();\n return {\n kind: 'SelectionSet' as Kind.SELECTION_SET,\n selections,\n };\n}\n\nfunction variableDefinitions(): ast.VariableDefinitionNode[] | undefined {\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n const vars: ast.VariableDefinitionNode[] = [];\n idx++;\n ignored();\n do {\n if (input.charCodeAt(idx++) !== 36 /*'$'*/) throw error('Variable');\n const name = nameNode();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('VariableDefinition');\n ignored();\n const _type = type();\n let _defaultValue: ast.ConstValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n }\n ignored();\n vars.push({\n kind: 'VariableDefinition' as Kind.VARIABLE_DEFINITION,\n variable: {\n kind: 'Variable' as Kind.VARIABLE,\n name,\n },\n type: _type,\n defaultValue: _defaultValue,\n directives: directives(true),\n });\n } while (input.charCodeAt(idx) !== 41 /*')'*/);\n idx++;\n ignored();\n return vars;\n }\n}\n\nfunction fragmentDefinition(): ast.FragmentDefinitionNode {\n const name = nameNode();\n if (input.charCodeAt(idx++) !== 111 /*'o'*/ || input.charCodeAt(idx++) !== 110 /*'n'*/)\n throw error('FragmentDefinition');\n ignored();\n return {\n kind: 'FragmentDefinition' as Kind.FRAGMENT_DEFINITION,\n name,\n typeCondition: {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: nameNode(),\n },\n directives: directives(false),\n selectionSet: selectionSetStart(),\n };\n}\n\nfunction document(input: string, noLoc: boolean): ast.DocumentNode {\n ignored();\n const definitions: ast.ExecutableDefinitionNode[] = [];\n do {\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n definitions.push({\n kind: 'OperationDefinition' as Kind.OPERATION_DEFINITION,\n operation: 'query' as OperationTypeNode.QUERY,\n name: undefined,\n variableDefinitions: undefined,\n directives: undefined,\n selectionSet: selectionSetStart(),\n });\n } else {\n const definition = name();\n switch (definition) {\n case 'fragment':\n definitions.push(fragmentDefinition());\n break;\n case 'query':\n case 'mutation':\n case 'subscription':\n let char: number;\n let name: ast.NameNode | undefined;\n if (\n (char = input.charCodeAt(idx)) !== 40 /*'('*/ &&\n char !== 64 /*'@'*/ &&\n char !== 123 /*'{'*/\n ) {\n name = nameNode();\n }\n definitions.push({\n kind: 'OperationDefinition' as Kind.OPERATION_DEFINITION,\n operation: definition as OperationTypeNode,\n name,\n variableDefinitions: variableDefinitions(),\n directives: directives(false),\n selectionSet: selectionSetStart(),\n });\n break;\n default:\n throw error('Document');\n }\n }\n } while (idx < input.length);\n\n if (!noLoc) {\n let loc: Location | undefined;\n return {\n kind: 'Document' as Kind.DOCUMENT,\n definitions,\n /* v8 ignore start */\n set loc(_loc: Location) {\n loc = _loc;\n },\n /* v8 ignore stop */\n // @ts-ignore\n get loc() {\n if (!loc) {\n loc = {\n start: 0,\n end: input.length,\n startToken: undefined,\n endToken: undefined,\n source: {\n body: input,\n name: 'graphql.web',\n locationOffset: { line: 1, column: 1 },\n },\n };\n }\n return loc;\n },\n };\n }\n\n return {\n kind: 'Document' as Kind.DOCUMENT,\n definitions,\n };\n}\n\ntype ParseOptions = {\n [option: string]: any;\n};\n\nexport function parse(\n string: string | Source,\n options?: ParseOptions | undefined\n): ast.DocumentNode {\n input = string.body ? string.body : string;\n idx = 0;\n return document(input, options && options.noLocation);\n}\n\nexport function parseValue(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.ValueNode {\n input = string.body ? string.body : string;\n idx = 0;\n ignored();\n return value(false);\n}\n\nexport function parseType(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.TypeNode {\n input = string.body ? string.body : string;\n idx = 0;\n return type();\n}\n","import type { ASTNode } from './ast';\n\nexport const BREAK = {};\n\nexport function visit<N extends ASTNode>(root: N, visitor: ASTVisitor): N;\nexport function visit<R>(root: ASTNode, visitor: ASTReducer<R>): R;\n\nexport function visit(node: ASTNode, visitor: ASTVisitor | ASTReducer<any>) {\n const ancestors: Array<ASTNode | ReadonlyArray<ASTNode>> = [];\n const path: Array<string | number> = [];\n\n function traverse(\n node: ASTNode,\n key?: string | number | undefined,\n parent?: ASTNode | ReadonlyArray<ASTNode> | undefined\n ) {\n let hasEdited = false;\n\n const enter =\n (visitor[node.kind] && visitor[node.kind].enter) ||\n visitor[node.kind] ||\n (visitor as EnterLeaveVisitor<ASTNode>).enter;\n const resultEnter = enter && enter.call(visitor, node, key, parent, path, ancestors);\n if (resultEnter === false) {\n return node;\n } else if (resultEnter === null) {\n return null;\n } else if (resultEnter === BREAK) {\n throw BREAK;\n } else if (resultEnter && typeof resultEnter.kind === 'string') {\n hasEdited = resultEnter !== node;\n node = resultEnter;\n }\n\n if (parent) ancestors.push(parent);\n\n let result: any;\n const copy = { ...node };\n for (const nodeKey in node) {\n path.push(nodeKey);\n let value = node[nodeKey];\n if (Array.isArray(value)) {\n const newValue: any[] = [];\n for (let index = 0; index < value.length; index++) {\n if (value[index] != null && typeof value[index].kind === 'string') {\n ancestors.push(node);\n path.push(index);\n result = traverse(value[index], index, value);\n path.pop();\n ancestors.pop();\n if (result == null) {\n hasEdited = true;\n } else {\n hasEdited = hasEdited || result !== value[index];\n newValue.push(result);\n }\n }\n }\n value = newValue;\n } else if (value != null && typeof value.kind === 'string') {\n result = traverse(value, nodeKey, node);\n if (result !== undefined) {\n hasEdited = hasEdited || value !== result;\n value = result;\n }\n }\n\n path.pop();\n if (hasEdited) copy[nodeKey] = value;\n }\n\n if (parent) ancestors.pop();\n const leave =\n (visitor[node.kind] && visitor[node.kind].leave) ||\n (visitor as EnterLeaveVisitor<ASTNode>).leave;\n const resultLeave = leave && leave.call(visitor, node, key, parent, path, ancestors);\n if (resultLeave === BREAK) {\n throw BREAK;\n } else if (resultLeave !== undefined) {\n return resultLeave;\n } else if (resultEnter !== undefined) {\n return hasEdited ? copy : resultEnter;\n } else {\n return hasEdited ? copy : node;\n }\n }\n\n try {\n const result = traverse(node);\n return result !== undefined && result !== false ? result : node;\n } catch (error) {\n if (error !== BREAK) throw error;\n return node;\n }\n}\n\nexport type ASTVisitor = EnterLeaveVisitor<ASTNode> | KindVisitor;\n\ntype KindVisitor = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: ASTVisitFn<NodeT> | EnterLeaveVisitor<NodeT>;\n};\n\ninterface EnterLeaveVisitor<TVisitedNode extends ASTNode> {\n readonly enter?: ASTVisitFn<TVisitedNode> | undefined;\n readonly leave?: ASTVisitFn<TVisitedNode> | undefined;\n}\n\nexport type ASTVisitFn<Node extends ASTNode> = (\n node: Node,\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => any;\n\nexport type ASTReducer<R> = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: {\n readonly enter?: ASTVisitFn<NodeT>;\n readonly leave: ASTReducerFn<NodeT, R>;\n };\n};\n\ntype ASTReducerFn<TReducedNode extends ASTNode, R> = (\n node: { [K in keyof TReducedNode]: ReducedField<TReducedNode[K], R> },\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => R;\n\ntype ReducedField<T, R> = T extends null | undefined\n ? T\n : T extends ReadonlyArray<any>\n ? ReadonlyArray<R>\n : R;\n","import type {\n ASTNode,\n NameNode,\n DocumentNode,\n VariableNode,\n SelectionSetNode,\n FieldNode,\n ArgumentNode,\n FragmentSpreadNode,\n InlineFragmentNode,\n VariableDefinitionNode,\n OperationDefinitionNode,\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} from './ast';\n\nfunction mapJoin<T>(value: readonly T[], joiner: string, mapper: (value: T) => string): string {\n let out = '';\n for (let index = 0; index < value.length; index++) {\n if (index) out += joiner;\n out += mapper(value[index]);\n }\n return out;\n}\n\nfunction printString(string: string): string {\n return JSON.stringify(string);\n}\n\nfunction printBlockString(string: string): string {\n return '\"\"\"\\n' + string.replace(/\"\"\"/g, '\\\\\"\"\"') + '\\n\"\"\"';\n}\n\nconst MAX_LINE_LENGTH = 80;\n\nlet LF = '\\n';\n\nconst nodes = {\n OperationDefinition(node: OperationDefinitionNode): string {\n let out: string = node.operation;\n if (node.name) out += ' ' + node.name.value;\n if (node.variableDefinitions && node.variableDefinitions.length) {\n if (!node.name) out += ' ';\n out += '(' + mapJoin(node.variableDefinitions, ', ', nodes.VariableDefinition) + ')';\n }\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n return out !== 'query'\n ? out + ' ' + nodes.SelectionSet(node.selectionSet)\n : nodes.SelectionSet(node.selectionSet);\n },\n VariableDefinition(node: VariableDefinitionNode): string {\n let out = nodes.Variable!(node.variable) + ': ' + _print(node.type);\n if (node.defaultValue) out += ' = ' + _print(node.defaultValue);\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n return out;\n },\n Field(node: FieldNode): string {\n let out = node.alias ? node.alias.value + ': ' + node.name.value : node.name.value;\n if (node.arguments && node.arguments.length) {\n const args = mapJoin(node.arguments, ', ', nodes.Argument);\n if (out.length + args.length + 2 > MAX_LINE_LENGTH) {\n out +=\n '(' +\n (LF += ' ') +\n mapJoin(node.arguments, LF, nodes.Argument) +\n (LF = LF.slice(0, -2)) +\n ')';\n } else {\n out += '(' + args + ')';\n }\n }\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n if (node.selectionSet && node.selectionSet.selections.length) {\n out += ' ' + nodes.SelectionSet(node.selectionSet);\n }\n return out;\n },\n StringValue(node: StringValueNode): string {\n if (node.block) {\n return printBlockString(node.value).replace(/\\n/g, LF);\n } else {\n return printString(node.value);\n }\n },\n BooleanValue(node: BooleanValueNode): string {\n return '' + node.value;\n },\n NullValue(_node: NullValueNode): string {\n return 'null';\n },\n IntValue(node: IntValueNode): string {\n return node.value;\n },\n FloatValue(node: FloatValueNode): string {\n return node.value;\n },\n EnumValue(node: EnumValueNode): string {\n return node.value;\n },\n Name(node: NameNode): string {\n return node.value;\n },\n Variable(node: VariableNode): string {\n return '$' + node.name.value;\n },\n ListValue(node: ListValueNode): string {\n return '[' + mapJoin(node.values, ', ', _print) + ']';\n },\n ObjectValue(node: ObjectValueNode): string {\n return '{' + mapJoin(node.fields, ', ', nodes.ObjectField) + '}';\n },\n ObjectField(node: ObjectFieldNode): string {\n return node.name.value + ': ' + _print(node.value);\n },\n Document(node: DocumentNode): string {\n if (!node.definitions || !node.definitions.length) return '';\n return mapJoin(node.definitions, '\\n\\n', _print);\n },\n SelectionSet(node: SelectionSetNode): string {\n return '{' + (LF += ' ') + mapJoin(node.selections, LF, _print) + (LF = LF.slice(0, -2)) + '}';\n },\n Argument(node: ArgumentNode): string {\n return node.name.value + ': ' + _print(node.value);\n },\n FragmentSpread(node: FragmentSpreadNode): string {\n let out = '...' + node.name.value;\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n return out;\n },\n InlineFragment(node: InlineFragmentNode): string {\n let out = '...';\n if (node.typeCondition) out += ' on ' + node.typeCondition.name.value;\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n out += ' ' + nodes.SelectionSet(node.selectionSet);\n return out;\n },\n FragmentDefinition(node: FragmentDefinitionNode): string {\n let out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n return out + ' ' + nodes.SelectionSet(node.selectionSet);\n },\n Directive(node: DirectiveNode): string {\n let out = '@' + node.name.value;\n if (node.arguments && node.arguments.length)\n out += '(' + mapJoin(node.arguments, ', ', nodes.Argument) + ')';\n return out;\n },\n NamedType(node: NamedTypeNode): string {\n return node.name.value;\n },\n ListType(node: ListTypeNode): string {\n return '[' + _print(node.type) + ']';\n },\n NonNullType(node: NonNullTypeNode): string {\n return _print(node.type) + '!';\n },\n} as const;\n\nconst _print = (node: ASTNode): string => nodes[node.kind](node);\n\nfunction print(node: ASTNode): string {\n LF = '\\n';\n return nodes[node.kind] ? nodes[node.kind](node) : '';\n}\n\nexport { print, printString, printBlockString };\n","import type { TypeNode, ValueNode } from './ast';\nimport type { Maybe } from './types';\n\nexport function valueFromASTUntyped(\n node: ValueNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n switch (node.kind) {\n case 'NullValue':\n return null;\n case 'IntValue':\n return parseInt(node.value, 10);\n case 'FloatValue':\n return parseFloat(node.value);\n case 'StringValue':\n case 'EnumValue':\n case 'BooleanValue':\n return node.value;\n case 'ListValue': {\n const values: unknown[] = [];\n for (let i = 0, l = node.values.length; i < l; i++)\n values.push(valueFromASTUntyped(node.values[i], variables));\n return values;\n }\n case 'ObjectValue': {\n const obj = Object.create(null);\n for (let i = 0, l = node.fields.length; i < l; i++) {\n const field = node.fields[i];\n obj[field.name.value] = valueFromASTUntyped(field.value, variables);\n }\n return obj;\n }\n case 'Variable':\n return variables && variables[node.name.value];\n }\n}\n\nexport function valueFromTypeNode(\n node: ValueNode,\n type: TypeNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n if (node.kind === 'Variable') {\n const variableName = node.name.value;\n return variables ? valueFromTypeNode(variables[variableName], type, variables) : undefined;\n } else if (type.kind === 'NonNullType') {\n return node.kind !== 'NullValue' ? valueFromTypeNode(node, type, variables) : undefined;\n } else if (node.kind === 'NullValue') {\n return null;\n } else if (type.kind === 'ListType') {\n if (node.kind === 'ListValue') {\n const values: unknown[] = [];\n for (let i = 0, l = node.values.length; i < l; i++) {\n const value = node.values[i];\n const coerced = valueFromTypeNode(value, type.type, variables);\n if (coerced === undefined) {\n return undefined;\n } else {\n values.push(coerced);\n }\n }\n return values;\n }\n } else if (type.kind === 'NamedType') {\n switch (type.name.value) {\n case 'Int':\n case 'Float':\n case 'String':\n case 'Bool':\n return type.name.value + 'Value' === node.kind\n ? valueFromASTUntyped(node, variables)\n : undefined;\n default:\n return valueFromASTUntyped(node, variables);\n }\n }\n}\n","export const Kind = {\n NAME: 'Name',\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n DIRECTIVE: 'Directive',\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n\n /*\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n SCHEMA_EXTENSION: 'SchemaExtension',\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension',\n */\n};\n\nexport const OperationTypeNode = {\n QUERY: 'query',\n MUTATION: 'mutation',\n SUBSCRIPTION: 'subscription',\n};\n","import type { Location, Source as _Source } from './types';\nimport type { ASTNode, SelectionNode } from './ast';\n\nexport function isSelectionNode(node: ASTNode): node is SelectionNode {\n return node.kind === 'Field' || node.kind === 'FragmentSpread' || node.kind === 'InlineFragment';\n}\n\nexport function Source(body: string, name?: string, locationOffset?: Location): _Source {\n return {\n body,\n name,\n locationOffset: locationOffset || { line: 1, column: 1 },\n };\n}\n"],"names":["GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","_extensions","originalExtensions","toJSON","toString","Symbol","toStringTag","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","lines","split","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","length","i","replace","ignored","char","charCodeAt","start","value","nameNode","restBlockStringRe","floatPartRe","constant","match","values","push","fields","block","isComplex","JSON","parse","intPart","arguments_","args","directives","arguments","type","lists","selectionSetStart","selectionSet","selections","typeCondition","undefined","alias","_arguments","_directives","_selectionSet","variableDefinitions","vars","_type","_defaultValue","variable","defaultValue","fragmentDefinition","BREAK","mapJoin","joiner","mapper","index","printString","stringify","printBlockString","LF","OperationDefinition","node","operation","VariableDefinition","Directive","SelectionSet","Variable","_print","Field","Argument","StringValue","BooleanValue","NullValue","_node","IntValue","FloatValue","EnumValue","Name","ListValue","ObjectValue","ObjectField","Document","definitions","FragmentSpread","InlineFragment","FragmentDefinition","NamedType","ListType","NonNullType","valueFromASTUntyped","variables","parseInt","parseFloat","l","obj","Object","create","field","NAME","DOCUMENT","OPERATION_DEFINITION","VARIABLE_DEFINITION","SELECTION_SET","FIELD","ARGUMENT","FRAGMENT_SPREAD","INLINE_FRAGMENT","FRAGMENT_DEFINITION","VARIABLE","INT","FLOAT","STRING","BOOLEAN","NULL","ENUM","LIST","OBJECT","OBJECT_FIELD","DIRECTIVE","NAMED_TYPE","LIST_TYPE","NON_NULL_TYPE","QUERY","MUTATION","SUBSCRIPTION","Source","body","locationOffset","line","column","isSelectionNode","options","document","noLoc","definition","loc","_loc","end","startToken","endToken","noLocation","parseType","_options","parseValue","print","valueFromTypeNode","coerced","visit","visitor","ancestors","result","traverse","key","parent","hasEdited","enter","resultEnter","call","copy","nodeKey","newValue","pop","leave","resultLeave"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graphql.web.js","sources":["../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts","../src/values.ts","../src/kind.js","../src/helpers.ts"],"sourcesContent":["import type { Maybe, Extensions, Source } from './types';\nimport type { ASTNode } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: ReadonlyArray<any> | undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<any> | undefined;\n readonly source: Source | undefined;\n readonly positions: ReadonlyArray<number> | undefined;\n readonly originalError: Error | undefined;\n readonly extensions: Extensions;\n\n constructor(\n message: string,\n nodes?: ReadonlyArray<ASTNode> | ASTNode | null,\n source?: Maybe<Source>,\n positions?: Maybe<ReadonlyArray<number>>,\n path?: Maybe<ReadonlyArray<string | number>>,\n originalError?: Maybe<Error>,\n extensions?: Maybe<Extensions>\n ) {\n super(message);\n\n this.name = 'GraphQLError';\n this.message = message;\n\n if (path) this.path = path;\n if (nodes) this.nodes = (Array.isArray(nodes) ? nodes : [nodes]) as ASTNode[];\n if (source) this.source = source;\n if (positions) this.positions = positions;\n if (originalError) this.originalError = originalError;\n\n let _extensions = extensions;\n if (!_extensions && originalError) {\n const originalExtensions = (originalError as any).extensions;\n if (originalExtensions && typeof originalExtensions === 'object') {\n _extensions = originalExtensions;\n }\n }\n\n this.extensions = _extensions || {};\n }\n\n toJSON(): any {\n return { ...this, message: this.message };\n }\n\n toString(): string {\n return this.message;\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLError';\n }\n}\n","/**\n * This is a spec-compliant implementation of a GraphQL query language parser,\n * up-to-date with the October 2021 Edition. Unlike the reference implementation\n * in graphql.js it will only parse the query language, but not the schema\n * language.\n */\nimport type { Kind, OperationTypeNode } from './kind';\nimport { GraphQLError } from './error';\nimport type { Location, Source } from './types';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: string) {\n return new GraphQLError(`Syntax Error: Unexpected token at ${idx} in ${kind}`);\n}\n\nfunction advance(pattern: RegExp) {\n pattern.lastIndex = idx;\n if (pattern.test(input)) {\n const match = input.slice(idx, (idx = pattern.lastIndex));\n return match;\n }\n}\n\nconst leadingRe = / +(?=[^\\s])/y;\nfunction blockString(string: string) {\n const lines = string.split('\\n');\n let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = lines.length - 1;\n for (let i = 0; i < lines.length; i++) {\n leadingRe.lastIndex = 0;\n if (leadingRe.test(lines[i])) {\n if (i && (!commonIndent || leadingRe.lastIndex < commonIndent))\n commonIndent = leadingRe.lastIndex;\n firstNonEmptyLine = firstNonEmptyLine || i;\n lastNonEmptyLine = i;\n }\n }\n for (let i = firstNonEmptyLine; i <= lastNonEmptyLine; i++) {\n if (i !== firstNonEmptyLine) out += '\\n';\n out += lines[i].slice(commonIndent).replace(/\\\\\"\"\"/g, '\"\"\"');\n }\n return out;\n}\n\n// Note: This is equivalent to: /(?:[\\s,]*|#[^\\n\\r]*)*/y\nfunction ignored() {\n for (\n let char = input.charCodeAt(idx++) | 0;\n char === 9 /*'\\t'*/ ||\n char === 10 /*'\\n'*/ ||\n char === 13 /*'\\r'*/ ||\n char === 32 /*' '*/ ||\n char === 35 /*'#'*/ ||\n char === 44 /*','*/ ||\n char === 65279 /*'\\ufeff'*/;\n char = input.charCodeAt(idx++) | 0\n ) {\n if (char === 35 /*'#'*/) while ((char = input.charCodeAt(idx++)) !== 10 && char !== 13);\n }\n idx--;\n}\n\nfunction name(): string {\n const start = idx;\n for (\n let char = input.charCodeAt(idx++) | 0;\n (char >= 48 /*'0'*/ && char <= 57) /*'9'*/ ||\n (char >= 65 /*'A'*/ && char <= 90) /*'Z'*/ ||\n char === 95 /*'_'*/ ||\n (char >= 97 /*'a'*/ && char <= 122) /*'z'*/;\n char = input.charCodeAt(idx++) | 0\n );\n if (start === idx - 1) throw error('Name');\n const value = input.slice(start, --idx);\n ignored();\n return value;\n}\n\nfunction nameNode(): ast.NameNode {\n return {\n kind: 'Name' as Kind.NAME,\n value: name(),\n };\n}\n\nconst restBlockStringRe = /(?:\"\"\"|(?:[\\s\\S]*?[^\\\\])\"\"\")/y;\nconst floatPartRe = /(?:(?:\\.\\d+)?[eE][+-]?\\d+|\\.\\d+)/y;\n\nfunction value(constant: true): ast.ConstValueNode;\nfunction value(constant: boolean): ast.ValueNode;\n\nfunction value(constant: boolean): ast.ValueNode {\n let match: string | undefined;\n switch (input.charCodeAt(idx)) {\n case 91: // '['\n idx++;\n ignored();\n const values: ast.ValueNode[] = [];\n while (input.charCodeAt(idx) !== 93 /*']'*/) values.push(value(constant));\n idx++;\n ignored();\n return {\n kind: 'ListValue' as Kind.LIST,\n values,\n };\n\n case 123: // '{'\n idx++;\n ignored();\n const fields: ast.ObjectFieldNode[] = [];\n while (input.charCodeAt(idx) !== 125 /*'}'*/) {\n const name = nameNode();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('ObjectField');\n ignored();\n fields.push({\n kind: 'ObjectField' as Kind.OBJECT_FIELD,\n name,\n value: value(constant),\n });\n }\n idx++;\n ignored();\n return {\n kind: 'ObjectValue' as Kind.OBJECT,\n fields,\n };\n\n case 36: // '$'\n if (constant) throw error('Variable');\n idx++;\n return {\n kind: 'Variable' as Kind.VARIABLE,\n name: nameNode(),\n };\n\n case 34: // '\"'\n if (input.charCodeAt(idx + 1) === 34 && input.charCodeAt(idx + 2) === 34) {\n idx += 3;\n if ((match = advance(restBlockStringRe)) == null) throw error('StringValue');\n ignored();\n return {\n kind: 'StringValue' as Kind.STRING,\n value: blockString(match.slice(0, -3)),\n block: true,\n };\n } else {\n const start = idx;\n idx++;\n let char: number;\n let isComplex = false;\n for (\n char = input.charCodeAt(idx++) | 0;\n (char === 92 /*'\\\\'*/ && (idx++, (isComplex = true))) ||\n (char !== 10 /*'\\n'*/ && char !== 13 /*'\\r'*/ && char !== 34 /*'\"'*/ && char);\n char = input.charCodeAt(idx++) | 0\n );\n if (char !== 34) throw error('StringValue');\n match = input.slice(start, idx);\n ignored();\n return {\n kind: 'StringValue' as Kind.STRING,\n value: isComplex ? (JSON.parse(match) as string) : match.slice(1, -1),\n block: false,\n };\n }\n\n case 45: // '-'\n case 48: // '0'\n case 49: // '1'\n case 50: // '2'\n case 51: // '3'\n case 52: // '4'\n case 53: // '5'\n case 54: // '6'\n case 55: // '7'\n case 56: // '8'\n case 57: // '9'\n const start = idx++;\n let char: number;\n while ((char = input.charCodeAt(idx++) | 0) >= 48 /*'0'*/ && char <= 57 /*'9'*/);\n const intPart = input.slice(start, --idx);\n if (\n (char = input.charCodeAt(idx)) === 46 /*'.'*/ ||\n char === 69 /*'E'*/ ||\n char === 101 /*'e'*/\n ) {\n if ((match = advance(floatPartRe)) == null) throw error('FloatValue');\n ignored();\n return {\n kind: 'FloatValue' as Kind.FLOAT,\n value: intPart + match,\n };\n } else {\n ignored();\n return {\n kind: 'IntValue' as Kind.INT,\n value: intPart,\n };\n }\n\n case 110: // 'n'\n if (\n input.charCodeAt(idx + 1) === 117 &&\n input.charCodeAt(idx + 2) === 108 &&\n input.charCodeAt(idx + 3) === 108\n ) {\n idx += 4;\n ignored();\n return { kind: 'NullValue' as Kind.NULL };\n } else break;\n\n case 116: // 't'\n if (\n input.charCodeAt(idx + 1) === 114 &&\n input.charCodeAt(idx + 2) === 117 &&\n input.charCodeAt(idx + 3) === 101\n ) {\n idx += 4;\n ignored();\n return { kind: 'BooleanValue' as Kind.BOOLEAN, value: true };\n } else break;\n\n case 102: // 'f'\n if (\n input.charCodeAt(idx + 1) === 97 &&\n input.charCodeAt(idx + 2) === 108 &&\n input.charCodeAt(idx + 3) === 115 &&\n input.charCodeAt(idx + 4) === 101\n ) {\n idx += 5;\n ignored();\n return { kind: 'BooleanValue' as Kind.BOOLEAN, value: false };\n } else break;\n }\n\n return {\n kind: 'EnumValue' as Kind.ENUM,\n value: name(),\n };\n}\n\nfunction arguments_(constant: boolean): ast.ArgumentNode[] | undefined {\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n const args: ast.ArgumentNode[] = [];\n idx++;\n ignored();\n do {\n const name = nameNode();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('Argument');\n ignored();\n args.push({\n kind: 'Argument' as Kind.ARGUMENT,\n name,\n value: value(constant),\n });\n } while (input.charCodeAt(idx) !== 41 /*')'*/);\n idx++;\n ignored();\n return args;\n }\n}\n\nfunction directives(constant: true): ast.ConstDirectiveNode[] | undefined;\nfunction directives(constant: boolean): ast.DirectiveNode[] | undefined;\n\nfunction directives(constant: boolean): ast.DirectiveNode[] | undefined {\n if (input.charCodeAt(idx) === 64 /*'@'*/) {\n const directives: ast.DirectiveNode[] = [];\n do {\n idx++;\n directives.push({\n kind: 'Directive' as Kind.DIRECTIVE,\n name: nameNode(),\n arguments: arguments_(constant),\n });\n } while (input.charCodeAt(idx) === 64 /*'@'*/);\n return directives;\n }\n}\n\nfunction type(): ast.TypeNode {\n let lists = 0;\n while (input.charCodeAt(idx) === 91 /*'['*/) {\n lists++;\n idx++;\n ignored();\n }\n let type: ast.TypeNode = {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: nameNode(),\n };\n do {\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n type = {\n kind: 'NonNullType' as Kind.NON_NULL_TYPE,\n type: type as ast.NamedTypeNode | ast.ListTypeNode,\n } satisfies ast.NonNullTypeNode;\n }\n if (lists) {\n if (input.charCodeAt(idx++) !== 93 /*']'*/) throw error('NamedType');\n ignored();\n type = {\n kind: 'ListType' as Kind.LIST_TYPE,\n type: type as ast.NamedTypeNode | ast.ListTypeNode,\n } satisfies ast.ListTypeNode;\n }\n } while (lists--);\n return type;\n}\n\nfunction selectionSetStart(): ast.SelectionSetNode {\n if (input.charCodeAt(idx++) !== 123 /*'{'*/) throw error('SelectionSet');\n ignored();\n return selectionSet();\n}\n\nfunction selectionSet(): ast.SelectionSetNode {\n const selections: ast.SelectionNode[] = [];\n do {\n if (input.charCodeAt(idx) === 46 /*'.'*/) {\n if (input.charCodeAt(++idx) !== 46 /*'.'*/ || input.charCodeAt(++idx) !== 46 /*'.'*/)\n throw error('SelectionSet');\n idx++;\n ignored();\n switch (input.charCodeAt(idx)) {\n case 64 /*'@'*/:\n selections.push({\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: undefined,\n directives: directives(false),\n selectionSet: selectionSetStart(),\n });\n break;\n\n case 111 /*'o'*/:\n if (input.charCodeAt(idx + 1) === 110 /*'n'*/) {\n idx += 2;\n ignored();\n selections.push({\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: nameNode(),\n },\n directives: directives(false),\n selectionSet: selectionSetStart(),\n });\n } else {\n selections.push({\n kind: 'FragmentSpread' as Kind.FRAGMENT_SPREAD,\n name: nameNode(),\n directives: directives(false),\n });\n }\n break;\n\n case 123 /*'{'*/:\n idx++;\n ignored();\n selections.push({\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: undefined,\n directives: undefined,\n selectionSet: selectionSet(),\n });\n break;\n\n default:\n selections.push({\n kind: 'FragmentSpread' as Kind.FRAGMENT_SPREAD,\n name: nameNode(),\n directives: directives(false),\n });\n }\n } else {\n let name = nameNode();\n let alias: ast.NameNode | undefined;\n if (input.charCodeAt(idx) === 58 /*':'*/) {\n idx++;\n ignored();\n alias = name;\n name = nameNode();\n }\n const _arguments = arguments_(false);\n const _directives = directives(false);\n let _selectionSet: ast.SelectionSetNode | undefined;\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n _selectionSet = selectionSet();\n }\n selections.push({\n kind: 'Field' as Kind.FIELD,\n alias,\n name,\n arguments: _arguments,\n directives: _directives,\n selectionSet: _selectionSet,\n });\n }\n } while (input.charCodeAt(idx) !== 125 /*'}'*/);\n idx++;\n ignored();\n return {\n kind: 'SelectionSet' as Kind.SELECTION_SET,\n selections,\n };\n}\n\nfunction variableDefinitions(): ast.VariableDefinitionNode[] | undefined {\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n const vars: ast.VariableDefinitionNode[] = [];\n idx++;\n ignored();\n do {\n if (input.charCodeAt(idx++) !== 36 /*'$'*/) throw error('Variable');\n const name = nameNode();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('VariableDefinition');\n ignored();\n const _type = type();\n let _defaultValue: ast.ConstValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n }\n ignored();\n vars.push({\n kind: 'VariableDefinition' as Kind.VARIABLE_DEFINITION,\n variable: {\n kind: 'Variable' as Kind.VARIABLE,\n name,\n },\n type: _type,\n defaultValue: _defaultValue,\n directives: directives(true),\n });\n } while (input.charCodeAt(idx) !== 41 /*')'*/);\n idx++;\n ignored();\n return vars;\n }\n}\n\nfunction fragmentDefinition(): ast.FragmentDefinitionNode {\n const name = nameNode();\n if (input.charCodeAt(idx++) !== 111 /*'o'*/ || input.charCodeAt(idx++) !== 110 /*'n'*/)\n throw error('FragmentDefinition');\n ignored();\n return {\n kind: 'FragmentDefinition' as Kind.FRAGMENT_DEFINITION,\n name,\n typeCondition: {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: nameNode(),\n },\n directives: directives(false),\n selectionSet: selectionSetStart(),\n };\n}\n\nfunction definitions(): ast.DefinitionNode[] {\n const _definitions: ast.ExecutableDefinitionNode[] = [];\n do {\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n _definitions.push({\n kind: 'OperationDefinition' as Kind.OPERATION_DEFINITION,\n operation: 'query' as OperationTypeNode.QUERY,\n name: undefined,\n variableDefinitions: undefined,\n directives: undefined,\n selectionSet: selectionSet(),\n });\n } else {\n const definition = name();\n switch (definition) {\n case 'fragment':\n _definitions.push(fragmentDefinition());\n break;\n case 'query':\n case 'mutation':\n case 'subscription':\n let char: number;\n let name: ast.NameNode | undefined;\n if (\n (char = input.charCodeAt(idx)) !== 40 /*'('*/ &&\n char !== 64 /*'@'*/ &&\n char !== 123 /*'{'*/\n ) {\n name = nameNode();\n }\n _definitions.push({\n kind: 'OperationDefinition' as Kind.OPERATION_DEFINITION,\n operation: definition as OperationTypeNode,\n name,\n variableDefinitions: variableDefinitions(),\n directives: directives(false),\n selectionSet: selectionSetStart(),\n });\n break;\n default:\n throw error('Document');\n }\n }\n } while (idx < input.length);\n return _definitions;\n}\n\ntype ParseOptions = {\n [option: string]: any;\n};\n\nexport function parse(\n string: string | Source,\n options?: ParseOptions | undefined\n): ast.DocumentNode {\n input = string.body ? string.body : string;\n idx = 0;\n ignored();\n if (options && options.noLocation) {\n return {\n kind: 'Document' as Kind.DOCUMENT,\n definitions: definitions(),\n };\n } else {\n return {\n kind: 'Document' as Kind.DOCUMENT,\n definitions: definitions(),\n loc: {\n start: 0,\n end: input.length,\n startToken: undefined,\n endToken: undefined,\n source: {\n body: input,\n name: 'graphql.web',\n locationOffset: { line: 1, column: 1 },\n },\n },\n } as Location;\n }\n}\n\nexport function parseValue(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.ValueNode {\n input = string.body ? string.body : string;\n idx = 0;\n ignored();\n return value(false);\n}\n\nexport function parseType(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.TypeNode {\n input = string.body ? string.body : string;\n idx = 0;\n return type();\n}\n","import type { ASTNode } from './ast';\n\nexport const BREAK = {};\n\nexport function visit<N extends ASTNode>(root: N, visitor: ASTVisitor): N;\nexport function visit<R>(root: ASTNode, visitor: ASTReducer<R>): R;\n\nexport function visit(node: ASTNode, visitor: ASTVisitor | ASTReducer<any>) {\n const ancestors: Array<ASTNode | ReadonlyArray<ASTNode>> = [];\n const path: Array<string | number> = [];\n\n function traverse(\n node: ASTNode,\n key?: string | number | undefined,\n parent?: ASTNode | ReadonlyArray<ASTNode> | undefined\n ) {\n let hasEdited = false;\n\n const enter =\n (visitor[node.kind] && visitor[node.kind].enter) ||\n visitor[node.kind] ||\n (visitor as EnterLeaveVisitor<ASTNode>).enter;\n const resultEnter = enter && enter.call(visitor, node, key, parent, path, ancestors);\n if (resultEnter === false) {\n return node;\n } else if (resultEnter === null) {\n return null;\n } else if (resultEnter === BREAK) {\n throw BREAK;\n } else if (resultEnter && typeof resultEnter.kind === 'string') {\n hasEdited = resultEnter !== node;\n node = resultEnter;\n }\n\n if (parent) ancestors.push(parent);\n\n let result: any;\n const copy = { ...node };\n for (const nodeKey in node) {\n path.push(nodeKey);\n let value = node[nodeKey];\n if (Array.isArray(value)) {\n const newValue: any[] = [];\n for (let index = 0; index < value.length; index++) {\n if (value[index] != null && typeof value[index].kind === 'string') {\n ancestors.push(node);\n path.push(index);\n result = traverse(value[index], index, value);\n path.pop();\n ancestors.pop();\n if (result == null) {\n hasEdited = true;\n } else {\n hasEdited = hasEdited || result !== value[index];\n newValue.push(result);\n }\n }\n }\n value = newValue;\n } else if (value != null && typeof value.kind === 'string') {\n result = traverse(value, nodeKey, node);\n if (result !== undefined) {\n hasEdited = hasEdited || value !== result;\n value = result;\n }\n }\n\n path.pop();\n if (hasEdited) copy[nodeKey] = value;\n }\n\n if (parent) ancestors.pop();\n const leave =\n (visitor[node.kind] && visitor[node.kind].leave) ||\n (visitor as EnterLeaveVisitor<ASTNode>).leave;\n const resultLeave = leave && leave.call(visitor, node, key, parent, path, ancestors);\n if (resultLeave === BREAK) {\n throw BREAK;\n } else if (resultLeave !== undefined) {\n return resultLeave;\n } else if (resultEnter !== undefined) {\n return hasEdited ? copy : resultEnter;\n } else {\n return hasEdited ? copy : node;\n }\n }\n\n try {\n const result = traverse(node);\n return result !== undefined && result !== false ? result : node;\n } catch (error) {\n if (error !== BREAK) throw error;\n return node;\n }\n}\n\nexport type ASTVisitor = EnterLeaveVisitor<ASTNode> | KindVisitor;\n\ntype KindVisitor = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: ASTVisitFn<NodeT> | EnterLeaveVisitor<NodeT>;\n};\n\ninterface EnterLeaveVisitor<TVisitedNode extends ASTNode> {\n readonly enter?: ASTVisitFn<TVisitedNode> | undefined;\n readonly leave?: ASTVisitFn<TVisitedNode> | undefined;\n}\n\nexport type ASTVisitFn<Node extends ASTNode> = (\n node: Node,\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => any;\n\nexport type ASTReducer<R> = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: {\n readonly enter?: ASTVisitFn<NodeT>;\n readonly leave: ASTReducerFn<NodeT, R>;\n };\n};\n\ntype ASTReducerFn<TReducedNode extends ASTNode, R> = (\n node: { [K in keyof TReducedNode]: ReducedField<TReducedNode[K], R> },\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => R;\n\ntype ReducedField<T, R> = T extends null | undefined\n ? T\n : T extends ReadonlyArray<any>\n ? ReadonlyArray<R>\n : R;\n","import type {\n ASTNode,\n NameNode,\n DocumentNode,\n VariableNode,\n SelectionSetNode,\n FieldNode,\n ArgumentNode,\n FragmentSpreadNode,\n InlineFragmentNode,\n VariableDefinitionNode,\n OperationDefinitionNode,\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} from './ast';\n\nfunction mapJoin<T>(value: readonly T[], joiner: string, mapper: (value: T) => string): string {\n let out = '';\n for (let index = 0; index < value.length; index++) {\n if (index) out += joiner;\n out += mapper(value[index]);\n }\n return out;\n}\n\nfunction printString(string: string): string {\n return JSON.stringify(string);\n}\n\nfunction printBlockString(string: string): string {\n return '\"\"\"\\n' + string.replace(/\"\"\"/g, '\\\\\"\"\"') + '\\n\"\"\"';\n}\n\nconst MAX_LINE_LENGTH = 80;\n\nlet LF = '\\n';\n\nconst nodes = {\n OperationDefinition(node: OperationDefinitionNode): string {\n let out: string = node.operation;\n if (node.name) out += ' ' + node.name.value;\n if (node.variableDefinitions && node.variableDefinitions.length) {\n if (!node.name) out += ' ';\n out += '(' + mapJoin(node.variableDefinitions, ', ', nodes.VariableDefinition) + ')';\n }\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n return out !== 'query'\n ? out + ' ' + nodes.SelectionSet(node.selectionSet)\n : nodes.SelectionSet(node.selectionSet);\n },\n VariableDefinition(node: VariableDefinitionNode): string {\n let out = nodes.Variable!(node.variable) + ': ' + _print(node.type);\n if (node.defaultValue) out += ' = ' + _print(node.defaultValue);\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n return out;\n },\n Field(node: FieldNode): string {\n let out = node.alias ? node.alias.value + ': ' + node.name.value : node.name.value;\n if (node.arguments && node.arguments.length) {\n const args = mapJoin(node.arguments, ', ', nodes.Argument);\n if (out.length + args.length + 2 > MAX_LINE_LENGTH) {\n out +=\n '(' +\n (LF += ' ') +\n mapJoin(node.arguments, LF, nodes.Argument) +\n (LF = LF.slice(0, -2)) +\n ')';\n } else {\n out += '(' + args + ')';\n }\n }\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n if (node.selectionSet && node.selectionSet.selections.length) {\n out += ' ' + nodes.SelectionSet(node.selectionSet);\n }\n return out;\n },\n StringValue(node: StringValueNode): string {\n if (node.block) {\n return printBlockString(node.value).replace(/\\n/g, LF);\n } else {\n return printString(node.value);\n }\n },\n BooleanValue(node: BooleanValueNode): string {\n return '' + node.value;\n },\n NullValue(_node: NullValueNode): string {\n return 'null';\n },\n IntValue(node: IntValueNode): string {\n return node.value;\n },\n FloatValue(node: FloatValueNode): string {\n return node.value;\n },\n EnumValue(node: EnumValueNode): string {\n return node.value;\n },\n Name(node: NameNode): string {\n return node.value;\n },\n Variable(node: VariableNode): string {\n return '$' + node.name.value;\n },\n ListValue(node: ListValueNode): string {\n return '[' + mapJoin(node.values, ', ', _print) + ']';\n },\n ObjectValue(node: ObjectValueNode): string {\n return '{' + mapJoin(node.fields, ', ', nodes.ObjectField) + '}';\n },\n ObjectField(node: ObjectFieldNode): string {\n return node.name.value + ': ' + _print(node.value);\n },\n Document(node: DocumentNode): string {\n if (!node.definitions || !node.definitions.length) return '';\n return mapJoin(node.definitions, '\\n\\n', _print);\n },\n SelectionSet(node: SelectionSetNode): string {\n return '{' + (LF += ' ') + mapJoin(node.selections, LF, _print) + (LF = LF.slice(0, -2)) + '}';\n },\n Argument(node: ArgumentNode): string {\n return node.name.value + ': ' + _print(node.value);\n },\n FragmentSpread(node: FragmentSpreadNode): string {\n let out = '...' + node.name.value;\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n return out;\n },\n InlineFragment(node: InlineFragmentNode): string {\n let out = '...';\n if (node.typeCondition) out += ' on ' + node.typeCondition.name.value;\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n out += ' ' + nodes.SelectionSet(node.selectionSet);\n return out;\n },\n FragmentDefinition(node: FragmentDefinitionNode): string {\n let out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n return out + ' ' + nodes.SelectionSet(node.selectionSet);\n },\n Directive(node: DirectiveNode): string {\n let out = '@' + node.name.value;\n if (node.arguments && node.arguments.length)\n out += '(' + mapJoin(node.arguments, ', ', nodes.Argument) + ')';\n return out;\n },\n NamedType(node: NamedTypeNode): string {\n return node.name.value;\n },\n ListType(node: ListTypeNode): string {\n return '[' + _print(node.type) + ']';\n },\n NonNullType(node: NonNullTypeNode): string {\n return _print(node.type) + '!';\n },\n} as const;\n\nconst _print = (node: ASTNode): string => nodes[node.kind](node);\n\nfunction print(node: ASTNode): string {\n LF = '\\n';\n return nodes[node.kind] ? nodes[node.kind](node) : '';\n}\n\nexport { print, printString, printBlockString };\n","import type { TypeNode, ValueNode } from './ast';\nimport type { Maybe } from './types';\n\nexport function valueFromASTUntyped(\n node: ValueNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n switch (node.kind) {\n case 'NullValue':\n return null;\n case 'IntValue':\n return parseInt(node.value, 10);\n case 'FloatValue':\n return parseFloat(node.value);\n case 'StringValue':\n case 'EnumValue':\n case 'BooleanValue':\n return node.value;\n case 'ListValue': {\n const values: unknown[] = [];\n for (let i = 0, l = node.values.length; i < l; i++)\n values.push(valueFromASTUntyped(node.values[i], variables));\n return values;\n }\n case 'ObjectValue': {\n const obj = Object.create(null);\n for (let i = 0, l = node.fields.length; i < l; i++) {\n const field = node.fields[i];\n obj[field.name.value] = valueFromASTUntyped(field.value, variables);\n }\n return obj;\n }\n case 'Variable':\n return variables && variables[node.name.value];\n }\n}\n\nexport function valueFromTypeNode(\n node: ValueNode,\n type: TypeNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n if (node.kind === 'Variable') {\n const variableName = node.name.value;\n return variables ? valueFromTypeNode(variables[variableName], type, variables) : undefined;\n } else if (type.kind === 'NonNullType') {\n return node.kind !== 'NullValue' ? valueFromTypeNode(node, type, variables) : undefined;\n } else if (node.kind === 'NullValue') {\n return null;\n } else if (type.kind === 'ListType') {\n if (node.kind === 'ListValue') {\n const values: unknown[] = [];\n for (let i = 0, l = node.values.length; i < l; i++) {\n const value = node.values[i];\n const coerced = valueFromTypeNode(value, type.type, variables);\n if (coerced === undefined) {\n return undefined;\n } else {\n values.push(coerced);\n }\n }\n return values;\n }\n } else if (type.kind === 'NamedType') {\n switch (type.name.value) {\n case 'Int':\n case 'Float':\n case 'String':\n case 'Bool':\n return type.name.value + 'Value' === node.kind\n ? valueFromASTUntyped(node, variables)\n : undefined;\n default:\n return valueFromASTUntyped(node, variables);\n }\n }\n}\n","export const Kind = {\n NAME: 'Name',\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n DIRECTIVE: 'Directive',\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n\n /*\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n SCHEMA_EXTENSION: 'SchemaExtension',\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension',\n */\n};\n\nexport const OperationTypeNode = {\n QUERY: 'query',\n MUTATION: 'mutation',\n SUBSCRIPTION: 'subscription',\n};\n","import type { Location, Source as _Source } from './types';\nimport type { ASTNode, SelectionNode } from './ast';\n\nexport function isSelectionNode(node: ASTNode): node is SelectionNode {\n return node.kind === 'Field' || node.kind === 'FragmentSpread' || node.kind === 'InlineFragment';\n}\n\nexport function Source(body: string, name?: string, locationOffset?: Location): _Source {\n return {\n body,\n name,\n locationOffset: locationOffset || { line: 1, column: 1 },\n };\n}\n"],"names":["GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","_extensions","originalExtensions","toJSON","toString","Symbol","toStringTag","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","lines","split","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","length","i","replace","ignored","char","charCodeAt","start","value","nameNode","restBlockStringRe","floatPartRe","constant","match","values","push","fields","block","isComplex","JSON","parse","intPart","arguments_","args","directives","arguments","type","lists","selectionSetStart","selectionSet","selections","typeCondition","undefined","alias","_arguments","_directives","_selectionSet","variableDefinitions","vars","_type","_defaultValue","variable","defaultValue","fragmentDefinition","definitions","_definitions","operation","definition","BREAK","mapJoin","joiner","mapper","index","printString","stringify","printBlockString","LF","OperationDefinition","node","VariableDefinition","Directive","SelectionSet","Variable","_print","Field","Argument","StringValue","BooleanValue","NullValue","_node","IntValue","FloatValue","EnumValue","Name","ListValue","ObjectValue","ObjectField","Document","FragmentSpread","InlineFragment","FragmentDefinition","NamedType","ListType","NonNullType","valueFromASTUntyped","variables","parseInt","parseFloat","l","obj","Object","create","field","NAME","DOCUMENT","OPERATION_DEFINITION","VARIABLE_DEFINITION","SELECTION_SET","FIELD","ARGUMENT","FRAGMENT_SPREAD","INLINE_FRAGMENT","FRAGMENT_DEFINITION","VARIABLE","INT","FLOAT","STRING","BOOLEAN","NULL","ENUM","LIST","OBJECT","OBJECT_FIELD","DIRECTIVE","NAMED_TYPE","LIST_TYPE","NON_NULL_TYPE","QUERY","MUTATION","SUBSCRIPTION","Source","body","locationOffset","line","column","isSelectionNode","options","noLocation","loc","end","startToken","endToken","parseType","_options","parseValue","print","valueFromTypeNode","coerced","visit","visitor","ancestors","result","traverse","key","parent","hasEdited","enter","resultEnter","call","copy","nodeKey","newValue","pop","leave","resultLeave"],"mappings":"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"}
|
package/dist/graphql.web.mjs
CHANGED
|
@@ -473,84 +473,77 @@ function fragmentDefinition() {
|
|
|
473
473
|
};
|
|
474
474
|
}
|
|
475
475
|
|
|
476
|
-
function
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
476
|
+
function definitions() {
|
|
477
|
+
var e = [];
|
|
478
|
+
do {
|
|
479
|
+
if (123 === i.charCodeAt(n)) {
|
|
480
|
+
n++, ignored(), e.push({
|
|
481
|
+
kind: "OperationDefinition",
|
|
482
|
+
operation: "query",
|
|
483
|
+
name: void 0,
|
|
484
|
+
variableDefinitions: void 0,
|
|
485
|
+
directives: void 0,
|
|
486
|
+
selectionSet: selectionSet()
|
|
487
|
+
});
|
|
488
|
+
} else {
|
|
489
|
+
var r = name();
|
|
490
|
+
switch (r) {
|
|
491
|
+
case "fragment":
|
|
492
|
+
e.push(fragmentDefinition());
|
|
493
|
+
break;
|
|
494
|
+
|
|
495
|
+
case "query":
|
|
496
|
+
case "mutation":
|
|
497
|
+
case "subscription":
|
|
498
|
+
var t;
|
|
499
|
+
var a = void 0;
|
|
500
|
+
if (40 !== (t = i.charCodeAt(n)) && 64 !== t && 123 !== t) {
|
|
501
|
+
a = nameNode();
|
|
502
|
+
}
|
|
503
|
+
e.push({
|
|
483
504
|
kind: "OperationDefinition",
|
|
484
|
-
operation:
|
|
485
|
-
name:
|
|
486
|
-
variableDefinitions:
|
|
487
|
-
directives:
|
|
505
|
+
operation: r,
|
|
506
|
+
name: a,
|
|
507
|
+
variableDefinitions: variableDefinitions(),
|
|
508
|
+
directives: directives(!1),
|
|
488
509
|
selectionSet: selectionSetStart()
|
|
489
510
|
});
|
|
490
|
-
|
|
491
|
-
var t = name();
|
|
492
|
-
switch (t) {
|
|
493
|
-
case "fragment":
|
|
494
|
-
i.push(fragmentDefinition());
|
|
495
|
-
break;
|
|
496
|
-
|
|
497
|
-
case "query":
|
|
498
|
-
case "mutation":
|
|
499
|
-
case "subscription":
|
|
500
|
-
var a;
|
|
501
|
-
var o = void 0;
|
|
502
|
-
if (40 !== (a = e.charCodeAt(n)) && 64 !== a && 123 !== a) {
|
|
503
|
-
o = nameNode();
|
|
504
|
-
}
|
|
505
|
-
i.push({
|
|
506
|
-
kind: "OperationDefinition",
|
|
507
|
-
operation: t,
|
|
508
|
-
name: o,
|
|
509
|
-
variableDefinitions: variableDefinitions(),
|
|
510
|
-
directives: directives(!1),
|
|
511
|
-
selectionSet: selectionSetStart()
|
|
512
|
-
});
|
|
513
|
-
break;
|
|
511
|
+
break;
|
|
514
512
|
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
}
|
|
513
|
+
default:
|
|
514
|
+
throw error("Document");
|
|
518
515
|
}
|
|
519
|
-
} while (n < e.length);
|
|
520
|
-
if (!r) {
|
|
521
|
-
var l;
|
|
522
|
-
return {
|
|
523
|
-
kind: "Document",
|
|
524
|
-
definitions: i,
|
|
525
|
-
set loc(e) {
|
|
526
|
-
l = e;
|
|
527
|
-
},
|
|
528
|
-
get loc() {
|
|
529
|
-
if (!l) {
|
|
530
|
-
l = {
|
|
531
|
-
start: 0,
|
|
532
|
-
end: e.length,
|
|
533
|
-
startToken: void 0,
|
|
534
|
-
endToken: void 0,
|
|
535
|
-
source: {
|
|
536
|
-
body: e,
|
|
537
|
-
name: "graphql.web",
|
|
538
|
-
locationOffset: {
|
|
539
|
-
line: 1,
|
|
540
|
-
column: 1
|
|
541
|
-
}
|
|
542
|
-
}
|
|
543
|
-
};
|
|
544
|
-
}
|
|
545
|
-
return l;
|
|
546
|
-
}
|
|
547
|
-
};
|
|
548
516
|
}
|
|
517
|
+
} while (n < i.length);
|
|
518
|
+
return e;
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
function parse(e, r) {
|
|
522
|
+
if (i = e.body ? e.body : e, n = 0, ignored(), r && r.noLocation) {
|
|
549
523
|
return {
|
|
550
524
|
kind: "Document",
|
|
551
|
-
definitions:
|
|
525
|
+
definitions: definitions()
|
|
552
526
|
};
|
|
553
|
-
}
|
|
527
|
+
} else {
|
|
528
|
+
return {
|
|
529
|
+
kind: "Document",
|
|
530
|
+
definitions: definitions(),
|
|
531
|
+
loc: {
|
|
532
|
+
start: 0,
|
|
533
|
+
end: i.length,
|
|
534
|
+
startToken: void 0,
|
|
535
|
+
endToken: void 0,
|
|
536
|
+
source: {
|
|
537
|
+
body: i,
|
|
538
|
+
name: "graphql.web",
|
|
539
|
+
locationOffset: {
|
|
540
|
+
line: 1,
|
|
541
|
+
column: 1
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
};
|
|
546
|
+
}
|
|
554
547
|
}
|
|
555
548
|
|
|
556
549
|
function parseValue(e, r) {
|
package/dist/graphql.web.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.web.mjs","sources":["../src/kind.js","../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts","../src/values.ts","../src/helpers.ts"],"sourcesContent":["export const Kind = {\n NAME: 'Name',\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n DIRECTIVE: 'Directive',\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n\n /*\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n SCHEMA_EXTENSION: 'SchemaExtension',\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension',\n */\n};\n\nexport const OperationTypeNode = {\n QUERY: 'query',\n MUTATION: 'mutation',\n SUBSCRIPTION: 'subscription',\n};\n","import type { Maybe, Extensions, Source } from './types';\nimport type { ASTNode } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: ReadonlyArray<any> | undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<any> | undefined;\n readonly source: Source | undefined;\n readonly positions: ReadonlyArray<number> | undefined;\n readonly originalError: Error | undefined;\n readonly extensions: Extensions;\n\n constructor(\n message: string,\n nodes?: ReadonlyArray<ASTNode> | ASTNode | null,\n source?: Maybe<Source>,\n positions?: Maybe<ReadonlyArray<number>>,\n path?: Maybe<ReadonlyArray<string | number>>,\n originalError?: Maybe<Error>,\n extensions?: Maybe<Extensions>\n ) {\n super(message);\n\n this.name = 'GraphQLError';\n this.message = message;\n\n if (path) this.path = path;\n if (nodes) this.nodes = (Array.isArray(nodes) ? nodes : [nodes]) as ASTNode[];\n if (source) this.source = source;\n if (positions) this.positions = positions;\n if (originalError) this.originalError = originalError;\n\n let _extensions = extensions;\n if (!_extensions && originalError) {\n const originalExtensions = (originalError as any).extensions;\n if (originalExtensions && typeof originalExtensions === 'object') {\n _extensions = originalExtensions;\n }\n }\n\n this.extensions = _extensions || {};\n }\n\n toJSON(): any {\n return { ...this, message: this.message };\n }\n\n toString(): string {\n return this.message;\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLError';\n }\n}\n","/**\n * This is a spec-compliant implementation of a GraphQL query language parser,\n * up-to-date with the October 2021 Edition. Unlike the reference implementation\n * in graphql.js it will only parse the query language, but not the schema\n * language.\n */\nimport type { Kind, OperationTypeNode } from './kind';\nimport { GraphQLError } from './error';\nimport type { Location, Source } from './types';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: string) {\n return new GraphQLError(`Syntax Error: Unexpected token at ${idx} in ${kind}`);\n}\n\nfunction advance(pattern: RegExp) {\n pattern.lastIndex = idx;\n if (pattern.test(input)) {\n const match = input.slice(idx, (idx = pattern.lastIndex));\n return match;\n }\n}\n\nconst leadingRe = / +(?=[^\\s])/y;\nfunction blockString(string: string) {\n const lines = string.split('\\n');\n let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = lines.length - 1;\n for (let i = 0; i < lines.length; i++) {\n leadingRe.lastIndex = 0;\n if (leadingRe.test(lines[i])) {\n if (i && (!commonIndent || leadingRe.lastIndex < commonIndent))\n commonIndent = leadingRe.lastIndex;\n firstNonEmptyLine = firstNonEmptyLine || i;\n lastNonEmptyLine = i;\n }\n }\n for (let i = firstNonEmptyLine; i <= lastNonEmptyLine; i++) {\n if (i !== firstNonEmptyLine) out += '\\n';\n out += lines[i].slice(commonIndent).replace(/\\\\\"\"\"/g, '\"\"\"');\n }\n return out;\n}\n\n// Note: This is equivalent to: /(?:[\\s,]*|#[^\\n\\r]*)*/y\nfunction ignored() {\n for (\n let char = input.charCodeAt(idx++) | 0;\n char === 9 /*'\\t'*/ ||\n char === 10 /*'\\n'*/ ||\n char === 13 /*'\\r'*/ ||\n char === 32 /*' '*/ ||\n char === 35 /*'#'*/ ||\n char === 44 /*','*/ ||\n char === 65279 /*'\\ufeff'*/;\n char = input.charCodeAt(idx++) | 0\n ) {\n if (char === 35 /*'#'*/) while ((char = input.charCodeAt(idx++)) !== 10 && char !== 13);\n }\n idx--;\n}\n\nfunction name(): string {\n const start = idx;\n for (\n let char = input.charCodeAt(idx++) | 0;\n (char >= 48 /*'0'*/ && char <= 57) /*'9'*/ ||\n (char >= 65 /*'A'*/ && char <= 90) /*'Z'*/ ||\n char === 95 /*'_'*/ ||\n (char >= 97 /*'a'*/ && char <= 122) /*'z'*/;\n char = input.charCodeAt(idx++) | 0\n );\n if (start === idx - 1) throw error('Name');\n const value = input.slice(start, --idx);\n ignored();\n return value;\n}\n\nfunction nameNode(): ast.NameNode {\n return {\n kind: 'Name' as Kind.NAME,\n value: name(),\n };\n}\n\nconst restBlockStringRe = /(?:\"\"\"|(?:[\\s\\S]*?[^\\\\])\"\"\")/y;\nconst floatPartRe = /(?:(?:\\.\\d+)?[eE][+-]?\\d+|\\.\\d+)/y;\n\nfunction value(constant: true): ast.ConstValueNode;\nfunction value(constant: boolean): ast.ValueNode;\n\nfunction value(constant: boolean): ast.ValueNode {\n let match: string | undefined;\n switch (input.charCodeAt(idx)) {\n case 91: // '['\n idx++;\n ignored();\n const values: ast.ValueNode[] = [];\n while (input.charCodeAt(idx) !== 93 /*']'*/) values.push(value(constant));\n idx++;\n ignored();\n return {\n kind: 'ListValue' as Kind.LIST,\n values,\n };\n\n case 123: // '{'\n idx++;\n ignored();\n const fields: ast.ObjectFieldNode[] = [];\n while (input.charCodeAt(idx) !== 125 /*'}'*/) {\n const name = nameNode();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('ObjectField');\n ignored();\n fields.push({\n kind: 'ObjectField' as Kind.OBJECT_FIELD,\n name,\n value: value(constant),\n });\n }\n idx++;\n ignored();\n return {\n kind: 'ObjectValue' as Kind.OBJECT,\n fields,\n };\n\n case 36: // '$'\n if (constant) throw error('Variable');\n idx++;\n return {\n kind: 'Variable' as Kind.VARIABLE,\n name: nameNode(),\n };\n\n case 34: // '\"'\n if (input.charCodeAt(idx + 1) === 34 && input.charCodeAt(idx + 2) === 34) {\n idx += 3;\n if ((match = advance(restBlockStringRe)) == null) throw error('StringValue');\n ignored();\n return {\n kind: 'StringValue' as Kind.STRING,\n value: blockString(match.slice(0, -3)),\n block: true,\n };\n } else {\n const start = idx;\n idx++;\n let char: number;\n let isComplex = false;\n for (\n char = input.charCodeAt(idx++) | 0;\n (char === 92 /*'\\\\'*/ && (idx++, (isComplex = true))) ||\n (char !== 10 /*'\\n'*/ && char !== 13 /*'\\r'*/ && char !== 34 /*'\"'*/ && char);\n char = input.charCodeAt(idx++) | 0\n );\n if (char !== 34) throw error('StringValue');\n match = input.slice(start, idx);\n ignored();\n return {\n kind: 'StringValue' as Kind.STRING,\n value: isComplex ? (JSON.parse(match) as string) : match.slice(1, -1),\n block: false,\n };\n }\n\n case 45: // '-'\n case 48: // '0'\n case 49: // '1'\n case 50: // '2'\n case 51: // '3'\n case 52: // '4'\n case 53: // '5'\n case 54: // '6'\n case 55: // '7'\n case 56: // '8'\n case 57: // '9'\n const start = idx++;\n let char: number;\n while ((char = input.charCodeAt(idx++) | 0) >= 48 /*'0'*/ && char <= 57 /*'9'*/);\n const intPart = input.slice(start, --idx);\n if (\n (char = input.charCodeAt(idx)) === 46 /*'.'*/ ||\n char === 69 /*'E'*/ ||\n char === 101 /*'e'*/\n ) {\n if ((match = advance(floatPartRe)) == null) throw error('FloatValue');\n ignored();\n return {\n kind: 'FloatValue' as Kind.FLOAT,\n value: intPart + match,\n };\n } else {\n ignored();\n return {\n kind: 'IntValue' as Kind.INT,\n value: intPart,\n };\n }\n\n case 110: // 'n'\n if (\n input.charCodeAt(idx + 1) === 117 &&\n input.charCodeAt(idx + 2) === 108 &&\n input.charCodeAt(idx + 3) === 108\n ) {\n idx += 4;\n ignored();\n return { kind: 'NullValue' as Kind.NULL };\n } else break;\n\n case 116: // 't'\n if (\n input.charCodeAt(idx + 1) === 114 &&\n input.charCodeAt(idx + 2) === 117 &&\n input.charCodeAt(idx + 3) === 101\n ) {\n idx += 4;\n ignored();\n return { kind: 'BooleanValue' as Kind.BOOLEAN, value: true };\n } else break;\n\n case 102: // 'f'\n if (\n input.charCodeAt(idx + 1) === 97 &&\n input.charCodeAt(idx + 2) === 108 &&\n input.charCodeAt(idx + 3) === 115 &&\n input.charCodeAt(idx + 4) === 101\n ) {\n idx += 5;\n ignored();\n return { kind: 'BooleanValue' as Kind.BOOLEAN, value: false };\n } else break;\n }\n\n return {\n kind: 'EnumValue' as Kind.ENUM,\n value: name(),\n };\n}\n\nfunction arguments_(constant: boolean): ast.ArgumentNode[] | undefined {\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n const args: ast.ArgumentNode[] = [];\n idx++;\n ignored();\n do {\n const name = nameNode();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('Argument');\n ignored();\n args.push({\n kind: 'Argument' as Kind.ARGUMENT,\n name,\n value: value(constant),\n });\n } while (input.charCodeAt(idx) !== 41 /*')'*/);\n idx++;\n ignored();\n return args;\n }\n}\n\nfunction directives(constant: true): ast.ConstDirectiveNode[] | undefined;\nfunction directives(constant: boolean): ast.DirectiveNode[] | undefined;\n\nfunction directives(constant: boolean): ast.DirectiveNode[] | undefined {\n if (input.charCodeAt(idx) === 64 /*'@'*/) {\n const directives: ast.DirectiveNode[] = [];\n do {\n idx++;\n directives.push({\n kind: 'Directive' as Kind.DIRECTIVE,\n name: nameNode(),\n arguments: arguments_(constant),\n });\n } while (input.charCodeAt(idx) === 64 /*'@'*/);\n return directives;\n }\n}\n\nfunction type(): ast.TypeNode {\n let lists = 0;\n while (input.charCodeAt(idx) === 91 /*'['*/) {\n lists++;\n idx++;\n ignored();\n }\n let type: ast.TypeNode = {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: nameNode(),\n };\n do {\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n type = {\n kind: 'NonNullType' as Kind.NON_NULL_TYPE,\n type: type as ast.NamedTypeNode | ast.ListTypeNode,\n } satisfies ast.NonNullTypeNode;\n }\n if (lists) {\n if (input.charCodeAt(idx++) !== 93 /*']'*/) throw error('NamedType');\n ignored();\n type = {\n kind: 'ListType' as Kind.LIST_TYPE,\n type: type as ast.NamedTypeNode | ast.ListTypeNode,\n } satisfies ast.ListTypeNode;\n }\n } while (lists--);\n return type;\n}\n\nfunction selectionSetStart(): ast.SelectionSetNode {\n if (input.charCodeAt(idx++) !== 123 /*'{'*/) throw error('SelectionSet');\n ignored();\n return selectionSet();\n}\n\nfunction selectionSet(): ast.SelectionSetNode {\n const selections: ast.SelectionNode[] = [];\n do {\n if (input.charCodeAt(idx) === 46 /*'.'*/) {\n if (input.charCodeAt(++idx) !== 46 /*'.'*/ || input.charCodeAt(++idx) !== 46 /*'.'*/)\n throw error('SelectionSet');\n idx++;\n ignored();\n switch (input.charCodeAt(idx)) {\n case 64 /*'@'*/:\n selections.push({\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: undefined,\n directives: directives(false),\n selectionSet: selectionSetStart(),\n });\n break;\n\n case 111 /*'o'*/:\n if (input.charCodeAt(idx + 1) === 110 /*'n'*/) {\n idx += 2;\n ignored();\n selections.push({\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: nameNode(),\n },\n directives: directives(false),\n selectionSet: selectionSetStart(),\n });\n } else {\n selections.push({\n kind: 'FragmentSpread' as Kind.FRAGMENT_SPREAD,\n name: nameNode(),\n directives: directives(false),\n });\n }\n break;\n\n case 123 /*'{'*/:\n idx++;\n ignored();\n selections.push({\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: undefined,\n directives: undefined,\n selectionSet: selectionSet(),\n });\n break;\n\n default:\n selections.push({\n kind: 'FragmentSpread' as Kind.FRAGMENT_SPREAD,\n name: nameNode(),\n directives: directives(false),\n });\n }\n } else {\n let name = nameNode();\n let alias: ast.NameNode | undefined;\n if (input.charCodeAt(idx) === 58 /*':'*/) {\n idx++;\n ignored();\n alias = name;\n name = nameNode();\n }\n const _arguments = arguments_(false);\n const _directives = directives(false);\n let _selectionSet: ast.SelectionSetNode | undefined;\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n _selectionSet = selectionSet();\n }\n selections.push({\n kind: 'Field' as Kind.FIELD,\n alias,\n name,\n arguments: _arguments,\n directives: _directives,\n selectionSet: _selectionSet,\n });\n }\n } while (input.charCodeAt(idx) !== 125 /*'}'*/);\n idx++;\n ignored();\n return {\n kind: 'SelectionSet' as Kind.SELECTION_SET,\n selections,\n };\n}\n\nfunction variableDefinitions(): ast.VariableDefinitionNode[] | undefined {\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n const vars: ast.VariableDefinitionNode[] = [];\n idx++;\n ignored();\n do {\n if (input.charCodeAt(idx++) !== 36 /*'$'*/) throw error('Variable');\n const name = nameNode();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('VariableDefinition');\n ignored();\n const _type = type();\n let _defaultValue: ast.ConstValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n }\n ignored();\n vars.push({\n kind: 'VariableDefinition' as Kind.VARIABLE_DEFINITION,\n variable: {\n kind: 'Variable' as Kind.VARIABLE,\n name,\n },\n type: _type,\n defaultValue: _defaultValue,\n directives: directives(true),\n });\n } while (input.charCodeAt(idx) !== 41 /*')'*/);\n idx++;\n ignored();\n return vars;\n }\n}\n\nfunction fragmentDefinition(): ast.FragmentDefinitionNode {\n const name = nameNode();\n if (input.charCodeAt(idx++) !== 111 /*'o'*/ || input.charCodeAt(idx++) !== 110 /*'n'*/)\n throw error('FragmentDefinition');\n ignored();\n return {\n kind: 'FragmentDefinition' as Kind.FRAGMENT_DEFINITION,\n name,\n typeCondition: {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: nameNode(),\n },\n directives: directives(false),\n selectionSet: selectionSetStart(),\n };\n}\n\nfunction document(input: string, noLoc: boolean): ast.DocumentNode {\n ignored();\n const definitions: ast.ExecutableDefinitionNode[] = [];\n do {\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n definitions.push({\n kind: 'OperationDefinition' as Kind.OPERATION_DEFINITION,\n operation: 'query' as OperationTypeNode.QUERY,\n name: undefined,\n variableDefinitions: undefined,\n directives: undefined,\n selectionSet: selectionSetStart(),\n });\n } else {\n const definition = name();\n switch (definition) {\n case 'fragment':\n definitions.push(fragmentDefinition());\n break;\n case 'query':\n case 'mutation':\n case 'subscription':\n let char: number;\n let name: ast.NameNode | undefined;\n if (\n (char = input.charCodeAt(idx)) !== 40 /*'('*/ &&\n char !== 64 /*'@'*/ &&\n char !== 123 /*'{'*/\n ) {\n name = nameNode();\n }\n definitions.push({\n kind: 'OperationDefinition' as Kind.OPERATION_DEFINITION,\n operation: definition as OperationTypeNode,\n name,\n variableDefinitions: variableDefinitions(),\n directives: directives(false),\n selectionSet: selectionSetStart(),\n });\n break;\n default:\n throw error('Document');\n }\n }\n } while (idx < input.length);\n\n if (!noLoc) {\n let loc: Location | undefined;\n return {\n kind: 'Document' as Kind.DOCUMENT,\n definitions,\n /* v8 ignore start */\n set loc(_loc: Location) {\n loc = _loc;\n },\n /* v8 ignore stop */\n // @ts-ignore\n get loc() {\n if (!loc) {\n loc = {\n start: 0,\n end: input.length,\n startToken: undefined,\n endToken: undefined,\n source: {\n body: input,\n name: 'graphql.web',\n locationOffset: { line: 1, column: 1 },\n },\n };\n }\n return loc;\n },\n };\n }\n\n return {\n kind: 'Document' as Kind.DOCUMENT,\n definitions,\n };\n}\n\ntype ParseOptions = {\n [option: string]: any;\n};\n\nexport function parse(\n string: string | Source,\n options?: ParseOptions | undefined\n): ast.DocumentNode {\n input = string.body ? string.body : string;\n idx = 0;\n return document(input, options && options.noLocation);\n}\n\nexport function parseValue(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.ValueNode {\n input = string.body ? string.body : string;\n idx = 0;\n ignored();\n return value(false);\n}\n\nexport function parseType(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.TypeNode {\n input = string.body ? string.body : string;\n idx = 0;\n return type();\n}\n","import type { ASTNode } from './ast';\n\nexport const BREAK = {};\n\nexport function visit<N extends ASTNode>(root: N, visitor: ASTVisitor): N;\nexport function visit<R>(root: ASTNode, visitor: ASTReducer<R>): R;\n\nexport function visit(node: ASTNode, visitor: ASTVisitor | ASTReducer<any>) {\n const ancestors: Array<ASTNode | ReadonlyArray<ASTNode>> = [];\n const path: Array<string | number> = [];\n\n function traverse(\n node: ASTNode,\n key?: string | number | undefined,\n parent?: ASTNode | ReadonlyArray<ASTNode> | undefined\n ) {\n let hasEdited = false;\n\n const enter =\n (visitor[node.kind] && visitor[node.kind].enter) ||\n visitor[node.kind] ||\n (visitor as EnterLeaveVisitor<ASTNode>).enter;\n const resultEnter = enter && enter.call(visitor, node, key, parent, path, ancestors);\n if (resultEnter === false) {\n return node;\n } else if (resultEnter === null) {\n return null;\n } else if (resultEnter === BREAK) {\n throw BREAK;\n } else if (resultEnter && typeof resultEnter.kind === 'string') {\n hasEdited = resultEnter !== node;\n node = resultEnter;\n }\n\n if (parent) ancestors.push(parent);\n\n let result: any;\n const copy = { ...node };\n for (const nodeKey in node) {\n path.push(nodeKey);\n let value = node[nodeKey];\n if (Array.isArray(value)) {\n const newValue: any[] = [];\n for (let index = 0; index < value.length; index++) {\n if (value[index] != null && typeof value[index].kind === 'string') {\n ancestors.push(node);\n path.push(index);\n result = traverse(value[index], index, value);\n path.pop();\n ancestors.pop();\n if (result == null) {\n hasEdited = true;\n } else {\n hasEdited = hasEdited || result !== value[index];\n newValue.push(result);\n }\n }\n }\n value = newValue;\n } else if (value != null && typeof value.kind === 'string') {\n result = traverse(value, nodeKey, node);\n if (result !== undefined) {\n hasEdited = hasEdited || value !== result;\n value = result;\n }\n }\n\n path.pop();\n if (hasEdited) copy[nodeKey] = value;\n }\n\n if (parent) ancestors.pop();\n const leave =\n (visitor[node.kind] && visitor[node.kind].leave) ||\n (visitor as EnterLeaveVisitor<ASTNode>).leave;\n const resultLeave = leave && leave.call(visitor, node, key, parent, path, ancestors);\n if (resultLeave === BREAK) {\n throw BREAK;\n } else if (resultLeave !== undefined) {\n return resultLeave;\n } else if (resultEnter !== undefined) {\n return hasEdited ? copy : resultEnter;\n } else {\n return hasEdited ? copy : node;\n }\n }\n\n try {\n const result = traverse(node);\n return result !== undefined && result !== false ? result : node;\n } catch (error) {\n if (error !== BREAK) throw error;\n return node;\n }\n}\n\nexport type ASTVisitor = EnterLeaveVisitor<ASTNode> | KindVisitor;\n\ntype KindVisitor = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: ASTVisitFn<NodeT> | EnterLeaveVisitor<NodeT>;\n};\n\ninterface EnterLeaveVisitor<TVisitedNode extends ASTNode> {\n readonly enter?: ASTVisitFn<TVisitedNode> | undefined;\n readonly leave?: ASTVisitFn<TVisitedNode> | undefined;\n}\n\nexport type ASTVisitFn<Node extends ASTNode> = (\n node: Node,\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => any;\n\nexport type ASTReducer<R> = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: {\n readonly enter?: ASTVisitFn<NodeT>;\n readonly leave: ASTReducerFn<NodeT, R>;\n };\n};\n\ntype ASTReducerFn<TReducedNode extends ASTNode, R> = (\n node: { [K in keyof TReducedNode]: ReducedField<TReducedNode[K], R> },\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => R;\n\ntype ReducedField<T, R> = T extends null | undefined\n ? T\n : T extends ReadonlyArray<any>\n ? ReadonlyArray<R>\n : R;\n","import type {\n ASTNode,\n NameNode,\n DocumentNode,\n VariableNode,\n SelectionSetNode,\n FieldNode,\n ArgumentNode,\n FragmentSpreadNode,\n InlineFragmentNode,\n VariableDefinitionNode,\n OperationDefinitionNode,\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} from './ast';\n\nfunction mapJoin<T>(value: readonly T[], joiner: string, mapper: (value: T) => string): string {\n let out = '';\n for (let index = 0; index < value.length; index++) {\n if (index) out += joiner;\n out += mapper(value[index]);\n }\n return out;\n}\n\nfunction printString(string: string): string {\n return JSON.stringify(string);\n}\n\nfunction printBlockString(string: string): string {\n return '\"\"\"\\n' + string.replace(/\"\"\"/g, '\\\\\"\"\"') + '\\n\"\"\"';\n}\n\nconst MAX_LINE_LENGTH = 80;\n\nlet LF = '\\n';\n\nconst nodes = {\n OperationDefinition(node: OperationDefinitionNode): string {\n let out: string = node.operation;\n if (node.name) out += ' ' + node.name.value;\n if (node.variableDefinitions && node.variableDefinitions.length) {\n if (!node.name) out += ' ';\n out += '(' + mapJoin(node.variableDefinitions, ', ', nodes.VariableDefinition) + ')';\n }\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n return out !== 'query'\n ? out + ' ' + nodes.SelectionSet(node.selectionSet)\n : nodes.SelectionSet(node.selectionSet);\n },\n VariableDefinition(node: VariableDefinitionNode): string {\n let out = nodes.Variable!(node.variable) + ': ' + _print(node.type);\n if (node.defaultValue) out += ' = ' + _print(node.defaultValue);\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n return out;\n },\n Field(node: FieldNode): string {\n let out = node.alias ? node.alias.value + ': ' + node.name.value : node.name.value;\n if (node.arguments && node.arguments.length) {\n const args = mapJoin(node.arguments, ', ', nodes.Argument);\n if (out.length + args.length + 2 > MAX_LINE_LENGTH) {\n out +=\n '(' +\n (LF += ' ') +\n mapJoin(node.arguments, LF, nodes.Argument) +\n (LF = LF.slice(0, -2)) +\n ')';\n } else {\n out += '(' + args + ')';\n }\n }\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n if (node.selectionSet && node.selectionSet.selections.length) {\n out += ' ' + nodes.SelectionSet(node.selectionSet);\n }\n return out;\n },\n StringValue(node: StringValueNode): string {\n if (node.block) {\n return printBlockString(node.value).replace(/\\n/g, LF);\n } else {\n return printString(node.value);\n }\n },\n BooleanValue(node: BooleanValueNode): string {\n return '' + node.value;\n },\n NullValue(_node: NullValueNode): string {\n return 'null';\n },\n IntValue(node: IntValueNode): string {\n return node.value;\n },\n FloatValue(node: FloatValueNode): string {\n return node.value;\n },\n EnumValue(node: EnumValueNode): string {\n return node.value;\n },\n Name(node: NameNode): string {\n return node.value;\n },\n Variable(node: VariableNode): string {\n return '$' + node.name.value;\n },\n ListValue(node: ListValueNode): string {\n return '[' + mapJoin(node.values, ', ', _print) + ']';\n },\n ObjectValue(node: ObjectValueNode): string {\n return '{' + mapJoin(node.fields, ', ', nodes.ObjectField) + '}';\n },\n ObjectField(node: ObjectFieldNode): string {\n return node.name.value + ': ' + _print(node.value);\n },\n Document(node: DocumentNode): string {\n if (!node.definitions || !node.definitions.length) return '';\n return mapJoin(node.definitions, '\\n\\n', _print);\n },\n SelectionSet(node: SelectionSetNode): string {\n return '{' + (LF += ' ') + mapJoin(node.selections, LF, _print) + (LF = LF.slice(0, -2)) + '}';\n },\n Argument(node: ArgumentNode): string {\n return node.name.value + ': ' + _print(node.value);\n },\n FragmentSpread(node: FragmentSpreadNode): string {\n let out = '...' + node.name.value;\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n return out;\n },\n InlineFragment(node: InlineFragmentNode): string {\n let out = '...';\n if (node.typeCondition) out += ' on ' + node.typeCondition.name.value;\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n out += ' ' + nodes.SelectionSet(node.selectionSet);\n return out;\n },\n FragmentDefinition(node: FragmentDefinitionNode): string {\n let out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n return out + ' ' + nodes.SelectionSet(node.selectionSet);\n },\n Directive(node: DirectiveNode): string {\n let out = '@' + node.name.value;\n if (node.arguments && node.arguments.length)\n out += '(' + mapJoin(node.arguments, ', ', nodes.Argument) + ')';\n return out;\n },\n NamedType(node: NamedTypeNode): string {\n return node.name.value;\n },\n ListType(node: ListTypeNode): string {\n return '[' + _print(node.type) + ']';\n },\n NonNullType(node: NonNullTypeNode): string {\n return _print(node.type) + '!';\n },\n} as const;\n\nconst _print = (node: ASTNode): string => nodes[node.kind](node);\n\nfunction print(node: ASTNode): string {\n LF = '\\n';\n return nodes[node.kind] ? nodes[node.kind](node) : '';\n}\n\nexport { print, printString, printBlockString };\n","import type { TypeNode, ValueNode } from './ast';\nimport type { Maybe } from './types';\n\nexport function valueFromASTUntyped(\n node: ValueNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n switch (node.kind) {\n case 'NullValue':\n return null;\n case 'IntValue':\n return parseInt(node.value, 10);\n case 'FloatValue':\n return parseFloat(node.value);\n case 'StringValue':\n case 'EnumValue':\n case 'BooleanValue':\n return node.value;\n case 'ListValue': {\n const values: unknown[] = [];\n for (let i = 0, l = node.values.length; i < l; i++)\n values.push(valueFromASTUntyped(node.values[i], variables));\n return values;\n }\n case 'ObjectValue': {\n const obj = Object.create(null);\n for (let i = 0, l = node.fields.length; i < l; i++) {\n const field = node.fields[i];\n obj[field.name.value] = valueFromASTUntyped(field.value, variables);\n }\n return obj;\n }\n case 'Variable':\n return variables && variables[node.name.value];\n }\n}\n\nexport function valueFromTypeNode(\n node: ValueNode,\n type: TypeNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n if (node.kind === 'Variable') {\n const variableName = node.name.value;\n return variables ? valueFromTypeNode(variables[variableName], type, variables) : undefined;\n } else if (type.kind === 'NonNullType') {\n return node.kind !== 'NullValue' ? valueFromTypeNode(node, type, variables) : undefined;\n } else if (node.kind === 'NullValue') {\n return null;\n } else if (type.kind === 'ListType') {\n if (node.kind === 'ListValue') {\n const values: unknown[] = [];\n for (let i = 0, l = node.values.length; i < l; i++) {\n const value = node.values[i];\n const coerced = valueFromTypeNode(value, type.type, variables);\n if (coerced === undefined) {\n return undefined;\n } else {\n values.push(coerced);\n }\n }\n return values;\n }\n } else if (type.kind === 'NamedType') {\n switch (type.name.value) {\n case 'Int':\n case 'Float':\n case 'String':\n case 'Bool':\n return type.name.value + 'Value' === node.kind\n ? valueFromASTUntyped(node, variables)\n : undefined;\n default:\n return valueFromASTUntyped(node, variables);\n }\n }\n}\n","import type { Location, Source as _Source } from './types';\nimport type { ASTNode, SelectionNode } from './ast';\n\nexport function isSelectionNode(node: ASTNode): node is SelectionNode {\n return node.kind === 'Field' || node.kind === 'FragmentSpread' || node.kind === 'InlineFragment';\n}\n\nexport function Source(body: string, name?: string, locationOffset?: Location): _Source {\n return {\n body,\n name,\n locationOffset: locationOffset || { line: 1, column: 1 },\n };\n}\n"],"names":["Kind","NAME","DOCUMENT","OPERATION_DEFINITION","VARIABLE_DEFINITION","SELECTION_SET","FIELD","ARGUMENT","FRAGMENT_SPREAD","INLINE_FRAGMENT","FRAGMENT_DEFINITION","VARIABLE","INT","FLOAT","STRING","BOOLEAN","NULL","ENUM","LIST","OBJECT","OBJECT_FIELD","DIRECTIVE","NAMED_TYPE","LIST_TYPE","NON_NULL_TYPE","OperationTypeNode","QUERY","MUTATION","SUBSCRIPTION","GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","_extensions","originalExtensions","toJSON","toString","Symbol","toStringTag","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","lines","split","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","length","i","replace","ignored","char","charCodeAt","start","value","nameNode","restBlockStringRe","floatPartRe","constant","match","values","push","fields","block","isComplex","JSON","parse","intPart","arguments_","args","directives","arguments","type","lists","selectionSetStart","selectionSet","selections","typeCondition","undefined","alias","_arguments","_directives","_selectionSet","variableDefinitions","vars","_type","_defaultValue","variable","defaultValue","fragmentDefinition","options","document","noLoc","definitions","operation","definition","loc","_loc","end","startToken","endToken","body","locationOffset","line","column","noLocation","parseValue","_options","parseType","BREAK","visit","node","visitor","ancestors","result","traverse","key","parent","hasEdited","enter","resultEnter","call","copy","nodeKey","newValue","index","pop","leave","resultLeave","mapJoin","joiner","mapper","printString","stringify","printBlockString","LF","OperationDefinition","VariableDefinition","Directive","SelectionSet","Variable","_print","Field","Argument","StringValue","BooleanValue","NullValue","_node","IntValue","FloatValue","EnumValue","Name","ListValue","ObjectValue","ObjectField","Document","FragmentSpread","InlineFragment","FragmentDefinition","NamedType","ListType","NonNullType","print","valueFromASTUntyped","variables","parseInt","parseFloat","l","obj","Object","create","field","valueFromTypeNode","coerced","isSelectionNode","Source"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graphql.web.mjs","sources":["../src/kind.js","../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts","../src/values.ts","../src/helpers.ts"],"sourcesContent":["export const Kind = {\n NAME: 'Name',\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n DIRECTIVE: 'Directive',\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n\n /*\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n SCHEMA_EXTENSION: 'SchemaExtension',\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension',\n */\n};\n\nexport const OperationTypeNode = {\n QUERY: 'query',\n MUTATION: 'mutation',\n SUBSCRIPTION: 'subscription',\n};\n","import type { Maybe, Extensions, Source } from './types';\nimport type { ASTNode } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: ReadonlyArray<any> | undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<any> | undefined;\n readonly source: Source | undefined;\n readonly positions: ReadonlyArray<number> | undefined;\n readonly originalError: Error | undefined;\n readonly extensions: Extensions;\n\n constructor(\n message: string,\n nodes?: ReadonlyArray<ASTNode> | ASTNode | null,\n source?: Maybe<Source>,\n positions?: Maybe<ReadonlyArray<number>>,\n path?: Maybe<ReadonlyArray<string | number>>,\n originalError?: Maybe<Error>,\n extensions?: Maybe<Extensions>\n ) {\n super(message);\n\n this.name = 'GraphQLError';\n this.message = message;\n\n if (path) this.path = path;\n if (nodes) this.nodes = (Array.isArray(nodes) ? nodes : [nodes]) as ASTNode[];\n if (source) this.source = source;\n if (positions) this.positions = positions;\n if (originalError) this.originalError = originalError;\n\n let _extensions = extensions;\n if (!_extensions && originalError) {\n const originalExtensions = (originalError as any).extensions;\n if (originalExtensions && typeof originalExtensions === 'object') {\n _extensions = originalExtensions;\n }\n }\n\n this.extensions = _extensions || {};\n }\n\n toJSON(): any {\n return { ...this, message: this.message };\n }\n\n toString(): string {\n return this.message;\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLError';\n }\n}\n","/**\n * This is a spec-compliant implementation of a GraphQL query language parser,\n * up-to-date with the October 2021 Edition. Unlike the reference implementation\n * in graphql.js it will only parse the query language, but not the schema\n * language.\n */\nimport type { Kind, OperationTypeNode } from './kind';\nimport { GraphQLError } from './error';\nimport type { Location, Source } from './types';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: string) {\n return new GraphQLError(`Syntax Error: Unexpected token at ${idx} in ${kind}`);\n}\n\nfunction advance(pattern: RegExp) {\n pattern.lastIndex = idx;\n if (pattern.test(input)) {\n const match = input.slice(idx, (idx = pattern.lastIndex));\n return match;\n }\n}\n\nconst leadingRe = / +(?=[^\\s])/y;\nfunction blockString(string: string) {\n const lines = string.split('\\n');\n let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = lines.length - 1;\n for (let i = 0; i < lines.length; i++) {\n leadingRe.lastIndex = 0;\n if (leadingRe.test(lines[i])) {\n if (i && (!commonIndent || leadingRe.lastIndex < commonIndent))\n commonIndent = leadingRe.lastIndex;\n firstNonEmptyLine = firstNonEmptyLine || i;\n lastNonEmptyLine = i;\n }\n }\n for (let i = firstNonEmptyLine; i <= lastNonEmptyLine; i++) {\n if (i !== firstNonEmptyLine) out += '\\n';\n out += lines[i].slice(commonIndent).replace(/\\\\\"\"\"/g, '\"\"\"');\n }\n return out;\n}\n\n// Note: This is equivalent to: /(?:[\\s,]*|#[^\\n\\r]*)*/y\nfunction ignored() {\n for (\n let char = input.charCodeAt(idx++) | 0;\n char === 9 /*'\\t'*/ ||\n char === 10 /*'\\n'*/ ||\n char === 13 /*'\\r'*/ ||\n char === 32 /*' '*/ ||\n char === 35 /*'#'*/ ||\n char === 44 /*','*/ ||\n char === 65279 /*'\\ufeff'*/;\n char = input.charCodeAt(idx++) | 0\n ) {\n if (char === 35 /*'#'*/) while ((char = input.charCodeAt(idx++)) !== 10 && char !== 13);\n }\n idx--;\n}\n\nfunction name(): string {\n const start = idx;\n for (\n let char = input.charCodeAt(idx++) | 0;\n (char >= 48 /*'0'*/ && char <= 57) /*'9'*/ ||\n (char >= 65 /*'A'*/ && char <= 90) /*'Z'*/ ||\n char === 95 /*'_'*/ ||\n (char >= 97 /*'a'*/ && char <= 122) /*'z'*/;\n char = input.charCodeAt(idx++) | 0\n );\n if (start === idx - 1) throw error('Name');\n const value = input.slice(start, --idx);\n ignored();\n return value;\n}\n\nfunction nameNode(): ast.NameNode {\n return {\n kind: 'Name' as Kind.NAME,\n value: name(),\n };\n}\n\nconst restBlockStringRe = /(?:\"\"\"|(?:[\\s\\S]*?[^\\\\])\"\"\")/y;\nconst floatPartRe = /(?:(?:\\.\\d+)?[eE][+-]?\\d+|\\.\\d+)/y;\n\nfunction value(constant: true): ast.ConstValueNode;\nfunction value(constant: boolean): ast.ValueNode;\n\nfunction value(constant: boolean): ast.ValueNode {\n let match: string | undefined;\n switch (input.charCodeAt(idx)) {\n case 91: // '['\n idx++;\n ignored();\n const values: ast.ValueNode[] = [];\n while (input.charCodeAt(idx) !== 93 /*']'*/) values.push(value(constant));\n idx++;\n ignored();\n return {\n kind: 'ListValue' as Kind.LIST,\n values,\n };\n\n case 123: // '{'\n idx++;\n ignored();\n const fields: ast.ObjectFieldNode[] = [];\n while (input.charCodeAt(idx) !== 125 /*'}'*/) {\n const name = nameNode();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('ObjectField');\n ignored();\n fields.push({\n kind: 'ObjectField' as Kind.OBJECT_FIELD,\n name,\n value: value(constant),\n });\n }\n idx++;\n ignored();\n return {\n kind: 'ObjectValue' as Kind.OBJECT,\n fields,\n };\n\n case 36: // '$'\n if (constant) throw error('Variable');\n idx++;\n return {\n kind: 'Variable' as Kind.VARIABLE,\n name: nameNode(),\n };\n\n case 34: // '\"'\n if (input.charCodeAt(idx + 1) === 34 && input.charCodeAt(idx + 2) === 34) {\n idx += 3;\n if ((match = advance(restBlockStringRe)) == null) throw error('StringValue');\n ignored();\n return {\n kind: 'StringValue' as Kind.STRING,\n value: blockString(match.slice(0, -3)),\n block: true,\n };\n } else {\n const start = idx;\n idx++;\n let char: number;\n let isComplex = false;\n for (\n char = input.charCodeAt(idx++) | 0;\n (char === 92 /*'\\\\'*/ && (idx++, (isComplex = true))) ||\n (char !== 10 /*'\\n'*/ && char !== 13 /*'\\r'*/ && char !== 34 /*'\"'*/ && char);\n char = input.charCodeAt(idx++) | 0\n );\n if (char !== 34) throw error('StringValue');\n match = input.slice(start, idx);\n ignored();\n return {\n kind: 'StringValue' as Kind.STRING,\n value: isComplex ? (JSON.parse(match) as string) : match.slice(1, -1),\n block: false,\n };\n }\n\n case 45: // '-'\n case 48: // '0'\n case 49: // '1'\n case 50: // '2'\n case 51: // '3'\n case 52: // '4'\n case 53: // '5'\n case 54: // '6'\n case 55: // '7'\n case 56: // '8'\n case 57: // '9'\n const start = idx++;\n let char: number;\n while ((char = input.charCodeAt(idx++) | 0) >= 48 /*'0'*/ && char <= 57 /*'9'*/);\n const intPart = input.slice(start, --idx);\n if (\n (char = input.charCodeAt(idx)) === 46 /*'.'*/ ||\n char === 69 /*'E'*/ ||\n char === 101 /*'e'*/\n ) {\n if ((match = advance(floatPartRe)) == null) throw error('FloatValue');\n ignored();\n return {\n kind: 'FloatValue' as Kind.FLOAT,\n value: intPart + match,\n };\n } else {\n ignored();\n return {\n kind: 'IntValue' as Kind.INT,\n value: intPart,\n };\n }\n\n case 110: // 'n'\n if (\n input.charCodeAt(idx + 1) === 117 &&\n input.charCodeAt(idx + 2) === 108 &&\n input.charCodeAt(idx + 3) === 108\n ) {\n idx += 4;\n ignored();\n return { kind: 'NullValue' as Kind.NULL };\n } else break;\n\n case 116: // 't'\n if (\n input.charCodeAt(idx + 1) === 114 &&\n input.charCodeAt(idx + 2) === 117 &&\n input.charCodeAt(idx + 3) === 101\n ) {\n idx += 4;\n ignored();\n return { kind: 'BooleanValue' as Kind.BOOLEAN, value: true };\n } else break;\n\n case 102: // 'f'\n if (\n input.charCodeAt(idx + 1) === 97 &&\n input.charCodeAt(idx + 2) === 108 &&\n input.charCodeAt(idx + 3) === 115 &&\n input.charCodeAt(idx + 4) === 101\n ) {\n idx += 5;\n ignored();\n return { kind: 'BooleanValue' as Kind.BOOLEAN, value: false };\n } else break;\n }\n\n return {\n kind: 'EnumValue' as Kind.ENUM,\n value: name(),\n };\n}\n\nfunction arguments_(constant: boolean): ast.ArgumentNode[] | undefined {\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n const args: ast.ArgumentNode[] = [];\n idx++;\n ignored();\n do {\n const name = nameNode();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('Argument');\n ignored();\n args.push({\n kind: 'Argument' as Kind.ARGUMENT,\n name,\n value: value(constant),\n });\n } while (input.charCodeAt(idx) !== 41 /*')'*/);\n idx++;\n ignored();\n return args;\n }\n}\n\nfunction directives(constant: true): ast.ConstDirectiveNode[] | undefined;\nfunction directives(constant: boolean): ast.DirectiveNode[] | undefined;\n\nfunction directives(constant: boolean): ast.DirectiveNode[] | undefined {\n if (input.charCodeAt(idx) === 64 /*'@'*/) {\n const directives: ast.DirectiveNode[] = [];\n do {\n idx++;\n directives.push({\n kind: 'Directive' as Kind.DIRECTIVE,\n name: nameNode(),\n arguments: arguments_(constant),\n });\n } while (input.charCodeAt(idx) === 64 /*'@'*/);\n return directives;\n }\n}\n\nfunction type(): ast.TypeNode {\n let lists = 0;\n while (input.charCodeAt(idx) === 91 /*'['*/) {\n lists++;\n idx++;\n ignored();\n }\n let type: ast.TypeNode = {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: nameNode(),\n };\n do {\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n type = {\n kind: 'NonNullType' as Kind.NON_NULL_TYPE,\n type: type as ast.NamedTypeNode | ast.ListTypeNode,\n } satisfies ast.NonNullTypeNode;\n }\n if (lists) {\n if (input.charCodeAt(idx++) !== 93 /*']'*/) throw error('NamedType');\n ignored();\n type = {\n kind: 'ListType' as Kind.LIST_TYPE,\n type: type as ast.NamedTypeNode | ast.ListTypeNode,\n } satisfies ast.ListTypeNode;\n }\n } while (lists--);\n return type;\n}\n\nfunction selectionSetStart(): ast.SelectionSetNode {\n if (input.charCodeAt(idx++) !== 123 /*'{'*/) throw error('SelectionSet');\n ignored();\n return selectionSet();\n}\n\nfunction selectionSet(): ast.SelectionSetNode {\n const selections: ast.SelectionNode[] = [];\n do {\n if (input.charCodeAt(idx) === 46 /*'.'*/) {\n if (input.charCodeAt(++idx) !== 46 /*'.'*/ || input.charCodeAt(++idx) !== 46 /*'.'*/)\n throw error('SelectionSet');\n idx++;\n ignored();\n switch (input.charCodeAt(idx)) {\n case 64 /*'@'*/:\n selections.push({\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: undefined,\n directives: directives(false),\n selectionSet: selectionSetStart(),\n });\n break;\n\n case 111 /*'o'*/:\n if (input.charCodeAt(idx + 1) === 110 /*'n'*/) {\n idx += 2;\n ignored();\n selections.push({\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: nameNode(),\n },\n directives: directives(false),\n selectionSet: selectionSetStart(),\n });\n } else {\n selections.push({\n kind: 'FragmentSpread' as Kind.FRAGMENT_SPREAD,\n name: nameNode(),\n directives: directives(false),\n });\n }\n break;\n\n case 123 /*'{'*/:\n idx++;\n ignored();\n selections.push({\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: undefined,\n directives: undefined,\n selectionSet: selectionSet(),\n });\n break;\n\n default:\n selections.push({\n kind: 'FragmentSpread' as Kind.FRAGMENT_SPREAD,\n name: nameNode(),\n directives: directives(false),\n });\n }\n } else {\n let name = nameNode();\n let alias: ast.NameNode | undefined;\n if (input.charCodeAt(idx) === 58 /*':'*/) {\n idx++;\n ignored();\n alias = name;\n name = nameNode();\n }\n const _arguments = arguments_(false);\n const _directives = directives(false);\n let _selectionSet: ast.SelectionSetNode | undefined;\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n _selectionSet = selectionSet();\n }\n selections.push({\n kind: 'Field' as Kind.FIELD,\n alias,\n name,\n arguments: _arguments,\n directives: _directives,\n selectionSet: _selectionSet,\n });\n }\n } while (input.charCodeAt(idx) !== 125 /*'}'*/);\n idx++;\n ignored();\n return {\n kind: 'SelectionSet' as Kind.SELECTION_SET,\n selections,\n };\n}\n\nfunction variableDefinitions(): ast.VariableDefinitionNode[] | undefined {\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n const vars: ast.VariableDefinitionNode[] = [];\n idx++;\n ignored();\n do {\n if (input.charCodeAt(idx++) !== 36 /*'$'*/) throw error('Variable');\n const name = nameNode();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('VariableDefinition');\n ignored();\n const _type = type();\n let _defaultValue: ast.ConstValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n }\n ignored();\n vars.push({\n kind: 'VariableDefinition' as Kind.VARIABLE_DEFINITION,\n variable: {\n kind: 'Variable' as Kind.VARIABLE,\n name,\n },\n type: _type,\n defaultValue: _defaultValue,\n directives: directives(true),\n });\n } while (input.charCodeAt(idx) !== 41 /*')'*/);\n idx++;\n ignored();\n return vars;\n }\n}\n\nfunction fragmentDefinition(): ast.FragmentDefinitionNode {\n const name = nameNode();\n if (input.charCodeAt(idx++) !== 111 /*'o'*/ || input.charCodeAt(idx++) !== 110 /*'n'*/)\n throw error('FragmentDefinition');\n ignored();\n return {\n kind: 'FragmentDefinition' as Kind.FRAGMENT_DEFINITION,\n name,\n typeCondition: {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: nameNode(),\n },\n directives: directives(false),\n selectionSet: selectionSetStart(),\n };\n}\n\nfunction definitions(): ast.DefinitionNode[] {\n const _definitions: ast.ExecutableDefinitionNode[] = [];\n do {\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n _definitions.push({\n kind: 'OperationDefinition' as Kind.OPERATION_DEFINITION,\n operation: 'query' as OperationTypeNode.QUERY,\n name: undefined,\n variableDefinitions: undefined,\n directives: undefined,\n selectionSet: selectionSet(),\n });\n } else {\n const definition = name();\n switch (definition) {\n case 'fragment':\n _definitions.push(fragmentDefinition());\n break;\n case 'query':\n case 'mutation':\n case 'subscription':\n let char: number;\n let name: ast.NameNode | undefined;\n if (\n (char = input.charCodeAt(idx)) !== 40 /*'('*/ &&\n char !== 64 /*'@'*/ &&\n char !== 123 /*'{'*/\n ) {\n name = nameNode();\n }\n _definitions.push({\n kind: 'OperationDefinition' as Kind.OPERATION_DEFINITION,\n operation: definition as OperationTypeNode,\n name,\n variableDefinitions: variableDefinitions(),\n directives: directives(false),\n selectionSet: selectionSetStart(),\n });\n break;\n default:\n throw error('Document');\n }\n }\n } while (idx < input.length);\n return _definitions;\n}\n\ntype ParseOptions = {\n [option: string]: any;\n};\n\nexport function parse(\n string: string | Source,\n options?: ParseOptions | undefined\n): ast.DocumentNode {\n input = string.body ? string.body : string;\n idx = 0;\n ignored();\n if (options && options.noLocation) {\n return {\n kind: 'Document' as Kind.DOCUMENT,\n definitions: definitions(),\n };\n } else {\n return {\n kind: 'Document' as Kind.DOCUMENT,\n definitions: definitions(),\n loc: {\n start: 0,\n end: input.length,\n startToken: undefined,\n endToken: undefined,\n source: {\n body: input,\n name: 'graphql.web',\n locationOffset: { line: 1, column: 1 },\n },\n },\n } as Location;\n }\n}\n\nexport function parseValue(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.ValueNode {\n input = string.body ? string.body : string;\n idx = 0;\n ignored();\n return value(false);\n}\n\nexport function parseType(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.TypeNode {\n input = string.body ? string.body : string;\n idx = 0;\n return type();\n}\n","import type { ASTNode } from './ast';\n\nexport const BREAK = {};\n\nexport function visit<N extends ASTNode>(root: N, visitor: ASTVisitor): N;\nexport function visit<R>(root: ASTNode, visitor: ASTReducer<R>): R;\n\nexport function visit(node: ASTNode, visitor: ASTVisitor | ASTReducer<any>) {\n const ancestors: Array<ASTNode | ReadonlyArray<ASTNode>> = [];\n const path: Array<string | number> = [];\n\n function traverse(\n node: ASTNode,\n key?: string | number | undefined,\n parent?: ASTNode | ReadonlyArray<ASTNode> | undefined\n ) {\n let hasEdited = false;\n\n const enter =\n (visitor[node.kind] && visitor[node.kind].enter) ||\n visitor[node.kind] ||\n (visitor as EnterLeaveVisitor<ASTNode>).enter;\n const resultEnter = enter && enter.call(visitor, node, key, parent, path, ancestors);\n if (resultEnter === false) {\n return node;\n } else if (resultEnter === null) {\n return null;\n } else if (resultEnter === BREAK) {\n throw BREAK;\n } else if (resultEnter && typeof resultEnter.kind === 'string') {\n hasEdited = resultEnter !== node;\n node = resultEnter;\n }\n\n if (parent) ancestors.push(parent);\n\n let result: any;\n const copy = { ...node };\n for (const nodeKey in node) {\n path.push(nodeKey);\n let value = node[nodeKey];\n if (Array.isArray(value)) {\n const newValue: any[] = [];\n for (let index = 0; index < value.length; index++) {\n if (value[index] != null && typeof value[index].kind === 'string') {\n ancestors.push(node);\n path.push(index);\n result = traverse(value[index], index, value);\n path.pop();\n ancestors.pop();\n if (result == null) {\n hasEdited = true;\n } else {\n hasEdited = hasEdited || result !== value[index];\n newValue.push(result);\n }\n }\n }\n value = newValue;\n } else if (value != null && typeof value.kind === 'string') {\n result = traverse(value, nodeKey, node);\n if (result !== undefined) {\n hasEdited = hasEdited || value !== result;\n value = result;\n }\n }\n\n path.pop();\n if (hasEdited) copy[nodeKey] = value;\n }\n\n if (parent) ancestors.pop();\n const leave =\n (visitor[node.kind] && visitor[node.kind].leave) ||\n (visitor as EnterLeaveVisitor<ASTNode>).leave;\n const resultLeave = leave && leave.call(visitor, node, key, parent, path, ancestors);\n if (resultLeave === BREAK) {\n throw BREAK;\n } else if (resultLeave !== undefined) {\n return resultLeave;\n } else if (resultEnter !== undefined) {\n return hasEdited ? copy : resultEnter;\n } else {\n return hasEdited ? copy : node;\n }\n }\n\n try {\n const result = traverse(node);\n return result !== undefined && result !== false ? result : node;\n } catch (error) {\n if (error !== BREAK) throw error;\n return node;\n }\n}\n\nexport type ASTVisitor = EnterLeaveVisitor<ASTNode> | KindVisitor;\n\ntype KindVisitor = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: ASTVisitFn<NodeT> | EnterLeaveVisitor<NodeT>;\n};\n\ninterface EnterLeaveVisitor<TVisitedNode extends ASTNode> {\n readonly enter?: ASTVisitFn<TVisitedNode> | undefined;\n readonly leave?: ASTVisitFn<TVisitedNode> | undefined;\n}\n\nexport type ASTVisitFn<Node extends ASTNode> = (\n node: Node,\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => any;\n\nexport type ASTReducer<R> = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: {\n readonly enter?: ASTVisitFn<NodeT>;\n readonly leave: ASTReducerFn<NodeT, R>;\n };\n};\n\ntype ASTReducerFn<TReducedNode extends ASTNode, R> = (\n node: { [K in keyof TReducedNode]: ReducedField<TReducedNode[K], R> },\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => R;\n\ntype ReducedField<T, R> = T extends null | undefined\n ? T\n : T extends ReadonlyArray<any>\n ? ReadonlyArray<R>\n : R;\n","import type {\n ASTNode,\n NameNode,\n DocumentNode,\n VariableNode,\n SelectionSetNode,\n FieldNode,\n ArgumentNode,\n FragmentSpreadNode,\n InlineFragmentNode,\n VariableDefinitionNode,\n OperationDefinitionNode,\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} from './ast';\n\nfunction mapJoin<T>(value: readonly T[], joiner: string, mapper: (value: T) => string): string {\n let out = '';\n for (let index = 0; index < value.length; index++) {\n if (index) out += joiner;\n out += mapper(value[index]);\n }\n return out;\n}\n\nfunction printString(string: string): string {\n return JSON.stringify(string);\n}\n\nfunction printBlockString(string: string): string {\n return '\"\"\"\\n' + string.replace(/\"\"\"/g, '\\\\\"\"\"') + '\\n\"\"\"';\n}\n\nconst MAX_LINE_LENGTH = 80;\n\nlet LF = '\\n';\n\nconst nodes = {\n OperationDefinition(node: OperationDefinitionNode): string {\n let out: string = node.operation;\n if (node.name) out += ' ' + node.name.value;\n if (node.variableDefinitions && node.variableDefinitions.length) {\n if (!node.name) out += ' ';\n out += '(' + mapJoin(node.variableDefinitions, ', ', nodes.VariableDefinition) + ')';\n }\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n return out !== 'query'\n ? out + ' ' + nodes.SelectionSet(node.selectionSet)\n : nodes.SelectionSet(node.selectionSet);\n },\n VariableDefinition(node: VariableDefinitionNode): string {\n let out = nodes.Variable!(node.variable) + ': ' + _print(node.type);\n if (node.defaultValue) out += ' = ' + _print(node.defaultValue);\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n return out;\n },\n Field(node: FieldNode): string {\n let out = node.alias ? node.alias.value + ': ' + node.name.value : node.name.value;\n if (node.arguments && node.arguments.length) {\n const args = mapJoin(node.arguments, ', ', nodes.Argument);\n if (out.length + args.length + 2 > MAX_LINE_LENGTH) {\n out +=\n '(' +\n (LF += ' ') +\n mapJoin(node.arguments, LF, nodes.Argument) +\n (LF = LF.slice(0, -2)) +\n ')';\n } else {\n out += '(' + args + ')';\n }\n }\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n if (node.selectionSet && node.selectionSet.selections.length) {\n out += ' ' + nodes.SelectionSet(node.selectionSet);\n }\n return out;\n },\n StringValue(node: StringValueNode): string {\n if (node.block) {\n return printBlockString(node.value).replace(/\\n/g, LF);\n } else {\n return printString(node.value);\n }\n },\n BooleanValue(node: BooleanValueNode): string {\n return '' + node.value;\n },\n NullValue(_node: NullValueNode): string {\n return 'null';\n },\n IntValue(node: IntValueNode): string {\n return node.value;\n },\n FloatValue(node: FloatValueNode): string {\n return node.value;\n },\n EnumValue(node: EnumValueNode): string {\n return node.value;\n },\n Name(node: NameNode): string {\n return node.value;\n },\n Variable(node: VariableNode): string {\n return '$' + node.name.value;\n },\n ListValue(node: ListValueNode): string {\n return '[' + mapJoin(node.values, ', ', _print) + ']';\n },\n ObjectValue(node: ObjectValueNode): string {\n return '{' + mapJoin(node.fields, ', ', nodes.ObjectField) + '}';\n },\n ObjectField(node: ObjectFieldNode): string {\n return node.name.value + ': ' + _print(node.value);\n },\n Document(node: DocumentNode): string {\n if (!node.definitions || !node.definitions.length) return '';\n return mapJoin(node.definitions, '\\n\\n', _print);\n },\n SelectionSet(node: SelectionSetNode): string {\n return '{' + (LF += ' ') + mapJoin(node.selections, LF, _print) + (LF = LF.slice(0, -2)) + '}';\n },\n Argument(node: ArgumentNode): string {\n return node.name.value + ': ' + _print(node.value);\n },\n FragmentSpread(node: FragmentSpreadNode): string {\n let out = '...' + node.name.value;\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n return out;\n },\n InlineFragment(node: InlineFragmentNode): string {\n let out = '...';\n if (node.typeCondition) out += ' on ' + node.typeCondition.name.value;\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n out += ' ' + nodes.SelectionSet(node.selectionSet);\n return out;\n },\n FragmentDefinition(node: FragmentDefinitionNode): string {\n let out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (node.directives && node.directives.length)\n out += ' ' + mapJoin(node.directives, ' ', nodes.Directive);\n return out + ' ' + nodes.SelectionSet(node.selectionSet);\n },\n Directive(node: DirectiveNode): string {\n let out = '@' + node.name.value;\n if (node.arguments && node.arguments.length)\n out += '(' + mapJoin(node.arguments, ', ', nodes.Argument) + ')';\n return out;\n },\n NamedType(node: NamedTypeNode): string {\n return node.name.value;\n },\n ListType(node: ListTypeNode): string {\n return '[' + _print(node.type) + ']';\n },\n NonNullType(node: NonNullTypeNode): string {\n return _print(node.type) + '!';\n },\n} as const;\n\nconst _print = (node: ASTNode): string => nodes[node.kind](node);\n\nfunction print(node: ASTNode): string {\n LF = '\\n';\n return nodes[node.kind] ? nodes[node.kind](node) : '';\n}\n\nexport { print, printString, printBlockString };\n","import type { TypeNode, ValueNode } from './ast';\nimport type { Maybe } from './types';\n\nexport function valueFromASTUntyped(\n node: ValueNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n switch (node.kind) {\n case 'NullValue':\n return null;\n case 'IntValue':\n return parseInt(node.value, 10);\n case 'FloatValue':\n return parseFloat(node.value);\n case 'StringValue':\n case 'EnumValue':\n case 'BooleanValue':\n return node.value;\n case 'ListValue': {\n const values: unknown[] = [];\n for (let i = 0, l = node.values.length; i < l; i++)\n values.push(valueFromASTUntyped(node.values[i], variables));\n return values;\n }\n case 'ObjectValue': {\n const obj = Object.create(null);\n for (let i = 0, l = node.fields.length; i < l; i++) {\n const field = node.fields[i];\n obj[field.name.value] = valueFromASTUntyped(field.value, variables);\n }\n return obj;\n }\n case 'Variable':\n return variables && variables[node.name.value];\n }\n}\n\nexport function valueFromTypeNode(\n node: ValueNode,\n type: TypeNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n if (node.kind === 'Variable') {\n const variableName = node.name.value;\n return variables ? valueFromTypeNode(variables[variableName], type, variables) : undefined;\n } else if (type.kind === 'NonNullType') {\n return node.kind !== 'NullValue' ? valueFromTypeNode(node, type, variables) : undefined;\n } else if (node.kind === 'NullValue') {\n return null;\n } else if (type.kind === 'ListType') {\n if (node.kind === 'ListValue') {\n const values: unknown[] = [];\n for (let i = 0, l = node.values.length; i < l; i++) {\n const value = node.values[i];\n const coerced = valueFromTypeNode(value, type.type, variables);\n if (coerced === undefined) {\n return undefined;\n } else {\n values.push(coerced);\n }\n }\n return values;\n }\n } else if (type.kind === 'NamedType') {\n switch (type.name.value) {\n case 'Int':\n case 'Float':\n case 'String':\n case 'Bool':\n return type.name.value + 'Value' === node.kind\n ? valueFromASTUntyped(node, variables)\n : undefined;\n default:\n return valueFromASTUntyped(node, variables);\n }\n }\n}\n","import type { Location, Source as _Source } from './types';\nimport type { ASTNode, SelectionNode } from './ast';\n\nexport function isSelectionNode(node: ASTNode): node is SelectionNode {\n return node.kind === 'Field' || node.kind === 'FragmentSpread' || node.kind === 'InlineFragment';\n}\n\nexport function Source(body: string, name?: string, locationOffset?: Location): _Source {\n return {\n body,\n name,\n locationOffset: locationOffset || { line: 1, column: 1 },\n };\n}\n"],"names":["Kind","NAME","DOCUMENT","OPERATION_DEFINITION","VARIABLE_DEFINITION","SELECTION_SET","FIELD","ARGUMENT","FRAGMENT_SPREAD","INLINE_FRAGMENT","FRAGMENT_DEFINITION","VARIABLE","INT","FLOAT","STRING","BOOLEAN","NULL","ENUM","LIST","OBJECT","OBJECT_FIELD","DIRECTIVE","NAMED_TYPE","LIST_TYPE","NON_NULL_TYPE","OperationTypeNode","QUERY","MUTATION","SUBSCRIPTION","GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","_extensions","originalExtensions","toJSON","toString","Symbol","toStringTag","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","lines","split","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","length","i","replace","ignored","char","charCodeAt","start","value","nameNode","restBlockStringRe","floatPartRe","constant","match","values","push","fields","block","isComplex","JSON","parse","intPart","arguments_","args","directives","arguments","type","lists","selectionSetStart","selectionSet","selections","typeCondition","undefined","alias","_arguments","_directives","_selectionSet","variableDefinitions","vars","_type","_defaultValue","variable","defaultValue","fragmentDefinition","definitions","_definitions","operation","definition","options","body","noLocation","loc","end","startToken","endToken","locationOffset","line","column","parseValue","_options","parseType","BREAK","visit","node","visitor","ancestors","result","traverse","key","parent","hasEdited","enter","resultEnter","call","copy","nodeKey","newValue","index","pop","leave","resultLeave","mapJoin","joiner","mapper","printString","stringify","printBlockString","LF","OperationDefinition","VariableDefinition","Directive","SelectionSet","Variable","_print","Field","Argument","StringValue","BooleanValue","NullValue","_node","IntValue","FloatValue","EnumValue","Name","ListValue","ObjectValue","ObjectField","Document","FragmentSpread","InlineFragment","FragmentDefinition","NamedType","ListType","NonNullType","print","valueFromASTUntyped","variables","parseInt","parseFloat","l","obj","Object","create","field","valueFromTypeNode","coerced","isSelectionNode","Source"],"mappings":"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"}
|
package/package.json
CHANGED