@0no-co/graphql.web 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/graphql.web.js +38 -32
- package/dist/graphql.web.js.map +1 -1
- package/dist/graphql.web.mjs +50 -44
- package/dist/graphql.web.mjs.map +1 -1
- package/package.json +2 -2
package/dist/graphql.web.js
CHANGED
|
@@ -114,7 +114,7 @@ function blockString(e) {
|
|
|
114
114
|
if (d !== t) {
|
|
115
115
|
r += "\n";
|
|
116
116
|
}
|
|
117
|
-
r += a[d].slice(n);
|
|
117
|
+
r += a[d].slice(n).replace(/\\"""/g, '"""');
|
|
118
118
|
}
|
|
119
119
|
return r;
|
|
120
120
|
}
|
|
@@ -147,13 +147,13 @@ var s = /\$[_\w][_\d\w]*/y;
|
|
|
147
147
|
|
|
148
148
|
var d = /[-]?\d+/y;
|
|
149
149
|
|
|
150
|
-
var p = /[-]?\d+(?:\.\d+)
|
|
150
|
+
var p = /(?:[-]?\d+)?(?:\.\d+)(?:[eE][+-]?\d+)?/y;
|
|
151
151
|
|
|
152
152
|
var u = /\\/g;
|
|
153
153
|
|
|
154
|
-
var
|
|
154
|
+
var v = /"""(?:[\s\S]+(?="""))?"""/y;
|
|
155
155
|
|
|
156
|
-
var
|
|
156
|
+
var l = /"(?:[^"\r\n]+)?"/y;
|
|
157
157
|
|
|
158
158
|
function value(i) {
|
|
159
159
|
var n;
|
|
@@ -190,13 +190,13 @@ function value(i) {
|
|
|
190
190
|
kind: exports.Kind.ENUM,
|
|
191
191
|
value: c
|
|
192
192
|
};
|
|
193
|
-
} else if (c = advance(
|
|
193
|
+
} else if (c = advance(v)) {
|
|
194
194
|
n = {
|
|
195
195
|
kind: exports.Kind.STRING,
|
|
196
196
|
value: blockString(c.slice(3, -3)),
|
|
197
197
|
block: !0
|
|
198
198
|
};
|
|
199
|
-
} else if (c = advance(
|
|
199
|
+
} else if (c = advance(l)) {
|
|
200
200
|
n = {
|
|
201
201
|
kind: exports.Kind.STRING,
|
|
202
202
|
value: u.test(c) ? JSON.parse(c) : c.slice(1, -1),
|
|
@@ -392,25 +392,27 @@ function fragmentSpread() {
|
|
|
392
392
|
ignored();
|
|
393
393
|
if (advance(f)) {
|
|
394
394
|
ignored();
|
|
395
|
-
var e;
|
|
396
|
-
|
|
395
|
+
var e = r;
|
|
396
|
+
var i;
|
|
397
|
+
if ((i = name()) && "on" !== i.value) {
|
|
397
398
|
return {
|
|
398
399
|
kind: exports.Kind.FRAGMENT_SPREAD,
|
|
399
|
-
name:
|
|
400
|
+
name: i,
|
|
400
401
|
directives: directives(!1)
|
|
401
402
|
};
|
|
402
403
|
} else {
|
|
403
|
-
|
|
404
|
-
var
|
|
405
|
-
var
|
|
406
|
-
|
|
404
|
+
r = e;
|
|
405
|
+
var n = typeCondition();
|
|
406
|
+
var t = directives(!1);
|
|
407
|
+
var o = selectionSet();
|
|
408
|
+
if (!o) {
|
|
407
409
|
throw error(exports.Kind.INLINE_FRAGMENT);
|
|
408
410
|
}
|
|
409
411
|
return {
|
|
410
412
|
kind: exports.Kind.INLINE_FRAGMENT,
|
|
411
|
-
typeCondition:
|
|
412
|
-
directives:
|
|
413
|
-
selectionSet:
|
|
413
|
+
typeCondition: n,
|
|
414
|
+
directives: t,
|
|
415
|
+
selectionSet: o
|
|
414
416
|
};
|
|
415
417
|
}
|
|
416
418
|
}
|
|
@@ -549,6 +551,8 @@ function printBlockString(e) {
|
|
|
549
551
|
|
|
550
552
|
var hasItems = e => !(!e || !e.length);
|
|
551
553
|
|
|
554
|
+
var T = 80;
|
|
555
|
+
|
|
552
556
|
exports.BREAK = I;
|
|
553
557
|
|
|
554
558
|
exports.GraphQLError = GraphQLError;
|
|
@@ -623,7 +627,9 @@ exports.print = function print(e) {
|
|
|
623
627
|
case exports.Kind.FIELD:
|
|
624
628
|
r = (e.alias ? print(e.alias) + ": " : "") + e.name.value;
|
|
625
629
|
if (hasItems(e.arguments)) {
|
|
626
|
-
|
|
630
|
+
var i = e.arguments.map(print);
|
|
631
|
+
var n = r + "(" + i.join(", ") + ")";
|
|
632
|
+
r = n.length > T ? r + "(\n " + i.join("\n").replace(/\n/g, "\n ") + "\n)" : n;
|
|
627
633
|
}
|
|
628
634
|
if (hasItems(e.directives)) {
|
|
629
635
|
r += " " + e.directives.map(print).join(" ");
|
|
@@ -738,38 +744,38 @@ exports.visit = function visit(e, r) {
|
|
|
738
744
|
var u = {
|
|
739
745
|
...e
|
|
740
746
|
};
|
|
741
|
-
for (var
|
|
742
|
-
n.push(
|
|
743
|
-
var
|
|
744
|
-
if (Array.isArray(
|
|
747
|
+
for (var v in e) {
|
|
748
|
+
n.push(v);
|
|
749
|
+
var l = e[v];
|
|
750
|
+
if (Array.isArray(l)) {
|
|
745
751
|
var c = [];
|
|
746
|
-
for (var f = 0; f <
|
|
747
|
-
if (null !=
|
|
752
|
+
for (var f = 0; f < l.length; f++) {
|
|
753
|
+
if (null != l[f] && "string" == typeof l[f].kind) {
|
|
748
754
|
i.push(e);
|
|
749
755
|
n.push(f);
|
|
750
|
-
p = traverse(
|
|
756
|
+
p = traverse(l[f], f, l);
|
|
751
757
|
n.pop();
|
|
752
758
|
i.pop();
|
|
753
759
|
if (void 0 === p) {
|
|
754
|
-
c.push(
|
|
760
|
+
c.push(l[f]);
|
|
755
761
|
} else if (null === p) {
|
|
756
762
|
a = !0;
|
|
757
763
|
} else {
|
|
758
|
-
a = a || p !==
|
|
764
|
+
a = a || p !== l[f];
|
|
759
765
|
c.push(p);
|
|
760
766
|
}
|
|
761
767
|
}
|
|
762
768
|
}
|
|
763
|
-
|
|
764
|
-
} else if (null !=
|
|
765
|
-
if (void 0 !== (p = traverse(
|
|
766
|
-
a = a ||
|
|
767
|
-
|
|
769
|
+
l = c;
|
|
770
|
+
} else if (null != l && "string" == typeof l.kind) {
|
|
771
|
+
if (void 0 !== (p = traverse(l, v, e))) {
|
|
772
|
+
a = a || l !== p;
|
|
773
|
+
l = p;
|
|
768
774
|
}
|
|
769
775
|
}
|
|
770
776
|
n.pop();
|
|
771
777
|
if (a) {
|
|
772
|
-
u[
|
|
778
|
+
u[v] = l;
|
|
773
779
|
}
|
|
774
780
|
}
|
|
775
781
|
if (o) {
|
package/dist/graphql.web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.web.js","sources":["../src/ast.ts","../src/kind.ts","../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts"],"sourcesContent":["import type { Kind } from './kind';\n\nexport interface Location {\n readonly start: number;\n readonly end: number;\n readonly source: Source;\n}\n\nexport interface Source {\n body: string;\n name: string;\n locationOffset: {\n line: number;\n column: number;\n };\n}\n\nexport declare type ASTNode =\n | NameNode\n | DocumentNode\n | OperationDefinitionNode\n | VariableDefinitionNode\n | VariableNode\n | SelectionSetNode\n | FieldNode\n | ArgumentNode\n | FragmentSpreadNode\n | InlineFragmentNode\n | FragmentDefinitionNode\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ListValueNode\n | ObjectValueNode\n | ObjectFieldNode\n | DirectiveNode\n | NamedTypeNode\n | ListTypeNode\n | NonNullTypeNode;\n\nexport interface NameNode {\n readonly kind: Kind.NAME;\n readonly value: string;\n}\n\nexport interface DocumentNode {\n readonly kind: Kind.DOCUMENT;\n readonly definitions: ReadonlyArray<ExecutableDefinitionNode>;\n readonly loc?: Location;\n}\n\nexport type DefinitionNode =\n | OperationDefinitionNode\n | FragmentDefinitionNode;\nexport type ExecutableDefinitionNode =\n | OperationDefinitionNode\n | FragmentDefinitionNode;\n\nexport interface OperationDefinitionNode {\n readonly kind: Kind.OPERATION_DEFINITION;\n readonly operation: OperationTypeNode;\n readonly name?: NameNode;\n readonly variableDefinitions?: ReadonlyArray<VariableDefinitionNode>;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport const enum OperationTypeNode {\n QUERY = 'query',\n MUTATION = 'mutation',\n SUBSCRIPTION = 'subscription',\n}\n\nexport interface VariableDefinitionNode {\n readonly kind: Kind.VARIABLE_DEFINITION;\n readonly variable: VariableNode;\n readonly type: TypeNode;\n readonly defaultValue?: ConstValueNode;\n readonly directives?: ReadonlyArray<ConstDirectiveNode>;\n}\n\nexport interface VariableNode {\n readonly kind: Kind.VARIABLE;\n readonly name: NameNode;\n}\n\nexport interface SelectionSetNode {\n kind: Kind.SELECTION_SET;\n selections: ReadonlyArray<SelectionNode>;\n}\n\nexport declare type SelectionNode =\n | FieldNode\n | FragmentSpreadNode\n | InlineFragmentNode;\n\nexport interface FieldNode {\n readonly kind: Kind.FIELD;\n readonly alias?: NameNode;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ArgumentNode>;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet?: SelectionSetNode;\n}\n\nexport interface ArgumentNode {\n readonly kind: Kind.ARGUMENT;\n readonly name: NameNode;\n readonly value: ValueNode;\n}\n\nexport interface ConstArgumentNode {\n readonly kind: Kind.ARGUMENT;\n readonly name: NameNode;\n readonly value: ConstValueNode;\n}\n\nexport interface FragmentSpreadNode {\n readonly kind: Kind.FRAGMENT_SPREAD;\n readonly name: NameNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n}\n\nexport interface InlineFragmentNode {\n readonly kind: Kind.INLINE_FRAGMENT;\n readonly typeCondition?: NamedTypeNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport interface FragmentDefinitionNode {\n readonly kind: Kind.FRAGMENT_DEFINITION;\n readonly name: NameNode;\n readonly typeCondition: NamedTypeNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport type ValueNode =\n | VariableNode\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ListValueNode\n | ObjectValueNode;\n\nexport type ConstValueNode =\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ConstListValueNode\n | ConstObjectValueNode;\n\nexport interface IntValueNode {\n readonly kind: Kind.INT;\n readonly value: string;\n}\n\nexport interface FloatValueNode {\n readonly kind: Kind.FLOAT;\n readonly value: string;\n}\nexport interface StringValueNode {\n readonly kind: Kind.STRING;\n readonly value: string;\n readonly block?: boolean;\n}\n\nexport interface BooleanValueNode {\n readonly kind: Kind.BOOLEAN;\n readonly value: boolean;\n}\n\nexport interface NullValueNode {\n readonly kind: Kind.NULL;\n}\n\nexport interface EnumValueNode {\n readonly kind: Kind.ENUM;\n readonly value: string;\n}\n\nexport interface ListValueNode {\n readonly kind: Kind.LIST;\n readonly values: ReadonlyArray<ValueNode>;\n}\n\nexport interface ConstListValueNode {\n readonly kind: Kind.LIST;\n readonly values: ReadonlyArray<ConstValueNode>;\n}\n\nexport interface ObjectValueNode {\n readonly kind: Kind.OBJECT;\n readonly fields: ReadonlyArray<ObjectFieldNode>;\n}\n\nexport interface ConstObjectValueNode {\n readonly kind: Kind.OBJECT;\n readonly fields: ReadonlyArray<ConstObjectFieldNode>;\n}\n\nexport interface ObjectFieldNode {\n readonly kind: Kind.OBJECT_FIELD;\n readonly name: NameNode;\n readonly value: ValueNode;\n}\n\nexport interface ConstObjectFieldNode {\n readonly kind: Kind.OBJECT_FIELD;\n readonly name: NameNode;\n readonly value: ConstValueNode;\n}\n\nexport interface DirectiveNode {\n readonly kind: Kind.DIRECTIVE;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ArgumentNode>;\n}\n\nexport interface ConstDirectiveNode {\n readonly kind: Kind.DIRECTIVE;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ConstArgumentNode>;\n}\n\nexport declare type TypeNode = NamedTypeNode | ListTypeNode | NonNullTypeNode;\n\nexport interface NamedTypeNode {\n readonly kind: Kind.NAMED_TYPE;\n readonly name: NameNode;\n}\n\nexport interface ListTypeNode {\n readonly kind: Kind.LIST_TYPE;\n readonly type: TypeNode;\n}\n\nexport interface NonNullTypeNode {\n readonly kind: Kind.NON_NULL_TYPE;\n readonly type: NamedTypeNode | ListTypeNode;\n}\n","export enum Kind {\n /** Name */\n NAME = 'Name',\n /** Document */\n DOCUMENT = 'Document',\n OPERATION_DEFINITION = 'OperationDefinition',\n VARIABLE_DEFINITION = 'VariableDefinition',\n SELECTION_SET = 'SelectionSet',\n FIELD = 'Field',\n ARGUMENT = 'Argument',\n /** Fragments */\n FRAGMENT_SPREAD = 'FragmentSpread',\n INLINE_FRAGMENT = 'InlineFragment',\n FRAGMENT_DEFINITION = 'FragmentDefinition',\n /** Values */\n VARIABLE = 'Variable',\n INT = 'IntValue',\n FLOAT = 'FloatValue',\n STRING = 'StringValue',\n BOOLEAN = 'BooleanValue',\n NULL = 'NullValue',\n ENUM = 'EnumValue',\n LIST = 'ListValue',\n OBJECT = 'ObjectValue',\n OBJECT_FIELD = 'ObjectField',\n /** Directives */\n DIRECTIVE = 'Directive',\n /** Types */\n NAMED_TYPE = 'NamedType',\n LIST_TYPE = 'ListType',\n NON_NULL_TYPE = 'NonNullType',\n}\n","import { Maybe, Extensions } from './types';\nimport { ASTNode, Source } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<ASTNode> | undefined;\n readonly source: Source | undefined;\n readonly positions: ReadonlyArray<number> | undefined;\n readonly originalError: Error | undefined;\n readonly extensions: Extensions;\n\n constructor(\n message: string,\n nodes?: ReadonlyArray<ASTNode> | ASTNode | null,\n source?: Maybe<Source>,\n positions?: Maybe<ReadonlyArray<number>>,\n path?: Maybe<ReadonlyArray<string | number>>,\n originalError?: Maybe<Error>,\n extensions?: Maybe<Extensions>,\n ) {\n super(message);\n\n this.name = 'GraphQLError';\n this.message = message;\n\n if (path) this.path = path;\n if (nodes) this.nodes = (Array.isArray(nodes) ? nodes : [nodes]) as ASTNode[];\n if (source) this.source = source;\n if (positions) this.positions = positions;\n if (originalError) this.originalError = originalError;\n\n let _extensions = extensions;\n if (!_extensions && originalError) {\n const originalExtensions = (originalError as any).extensions;\n if (originalExtensions && typeof originalExtensions === 'object') {\n _extensions = originalExtensions;\n }\n }\n\n this.extensions = extensions || {};\n }\n\n toJSON() {\n return { ...this };\n }\n\n toString() {\n return this.message;\n }\n}\n","/**\n * This is a spec-compliant implementation of a GraphQL query language parser,\n * up-to-date with the October 2021 Edition. Unlike the reference implementation\n * in graphql.js it will only parse the query language, but not the schema\n * language.\n */\nimport { Kind } from './kind';\nimport { GraphQLError } from './error';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: Kind) {\n return new GraphQLError(`Syntax Error: Unexpected token at ${idx} in ${kind}`);\n}\n\nfunction advance(pattern: RegExp) {\n pattern.lastIndex = idx;\n if (pattern.test(input)) {\n const match = input.slice(idx, idx = pattern.lastIndex);\n return match;\n }\n}\n\nconst leadingRe = / +(?=[^\\s])/y;\nexport function blockString(string: string) {\n let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = -1;\n const lines = string.split('\\n');\n for (let i = 0; i < lines.length; i++) {\n leadingRe.lastIndex = 0;\n if (leadingRe.test(lines[i])) {\n if (i && (!commonIndent || leadingRe.lastIndex < commonIndent))\n commonIndent = leadingRe.lastIndex;\n firstNonEmptyLine = firstNonEmptyLine || i;\n lastNonEmptyLine = i;\n }\n }\n for (let i = firstNonEmptyLine; i <= lastNonEmptyLine; i++) {\n if (i !== firstNonEmptyLine) out += '\\n';\n out += lines[i].slice(commonIndent);\n }\n return out;\n}\n\nconst ignoredRe = /(?:[\\s,]*|#[^\\n\\r]*)*/y;\nfunction ignored() {\n ignoredRe.lastIndex = idx;\n ignoredRe.test(input);\n idx = ignoredRe.lastIndex;\n}\n\nconst nameRe = /[_\\w][_\\d\\w]*/y;\nfunction name(): ast.NameNode | undefined {\n let match: string | undefined;\n if (match = advance(nameRe)) {\n return {\n kind: Kind.NAME,\n value: match,\n };\n }\n}\n\nconst nullRe = /null/y;\nconst boolRe = /true|false/y;\nconst variableRe = /\\$[_\\w][_\\d\\w]*/y;\nconst intRe = /[-]?\\d+/y;\nconst floatRe = /[-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/y;\nconst complexStringRe = /\\\\/g;\nconst blockStringRe = /\"\"\"(?:[\\s\\S]+(?=\"\"\"))?\"\"\"/y;\nconst stringRe = /\"(?:[^\"\\r\\n]+)?\"/y;\n\nfunction value(constant: true): ast.ConstValueNode;\nfunction value(constant: boolean): ast.ValueNode;\n\nfunction value(constant: boolean): ast.ValueNode | undefined {\n let out: ast.ValueNode | undefined;\n let match: string | undefined;\n if (advance(nullRe)) {\n out = { kind: Kind.NULL };\n } else if (match = advance(boolRe)) {\n out = {\n kind: Kind.BOOLEAN,\n value: match === 'true',\n };\n } else if (!constant && (match = advance(variableRe))) {\n out = {\n kind: Kind.VARIABLE,\n name: {\n kind: Kind.NAME,\n value: match.slice(1),\n },\n };\n } else if (match = advance(floatRe)) {\n out = {\n kind: Kind.FLOAT,\n value: match,\n };\n } else if (match = advance(intRe)) {\n out = {\n kind: Kind.INT,\n value: match,\n };\n } else if (match = advance(nameRe)) {\n out = {\n kind: Kind.ENUM,\n value: match,\n };\n } else if (match = advance(blockStringRe)) {\n out = {\n kind: Kind.STRING,\n value: blockString(match.slice(3, -3)),\n block: true,\n };\n } else if (match = advance(stringRe)) {\n out = {\n kind: Kind.STRING,\n value: complexStringRe.test(match)\n ? JSON.parse(match) as string\n : match.slice(1, -1),\n block: false,\n };\n } else if (out = list(constant) || object(constant)) {\n return out;\n }\n\n ignored();\n return out;\n}\n\nfunction list(constant: boolean): ast.ListValueNode | undefined {\n let match: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const values: ast.ValueNode[] = [];\n while (match = value(constant))\n values.push(match);\n if (input.charCodeAt(idx++) !== 93 /*']'*/)\n throw error(Kind.LIST);\n ignored();\n return {\n kind: Kind.LIST,\n values,\n };\n }\n}\n\nfunction object(constant: boolean): ast.ObjectValueNode | undefined {\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const fields: ast.ObjectFieldNode[] = [];\n let _name: ast.NameNode | undefined;\n while (_name = name()) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/)\n throw error(Kind.OBJECT_FIELD);\n ignored();\n const _value = value(constant);\n if (!_value)\n throw error(Kind.OBJECT_FIELD);\n fields.push({\n kind: Kind.OBJECT_FIELD,\n name: _name,\n value: _value,\n });\n }\n if (input.charCodeAt(idx++) !== 125 /*'}'*/)\n throw error(Kind.OBJECT);\n ignored();\n return {\n kind: Kind.OBJECT,\n fields,\n };\n }\n}\n\nfunction arguments_(constant: boolean): ast.ArgumentNode[] {\n const args: ast.ArgumentNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n let _name: ast.NameNode | undefined;\n while (_name = name()) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/)\n throw error(Kind.ARGUMENT);\n ignored();\n const _value = value(constant);\n if (!_value)\n throw error(Kind.ARGUMENT);\n args.push({\n kind: Kind.ARGUMENT,\n name: _name,\n value: _value,\n });\n }\n if (!args.length || input.charCodeAt(idx++) !== 41 /*')'*/)\n throw error(Kind.ARGUMENT);\n ignored();\n }\n return args;\n}\n\nfunction directives(constant: true): ast.ConstDirectiveNode[];\nfunction directives(constant: boolean): ast.DirectiveNode[];\n\nfunction directives(constant: boolean): ast.DirectiveNode[] {\n const directives: ast.DirectiveNode[] = [];\n ignored();\n while (input.charCodeAt(idx) === 64 /*'@'*/) {\n idx++;\n const _name = name();\n if (!_name)\n throw error(Kind.DIRECTIVE);\n ignored();\n directives.push({\n kind: Kind.DIRECTIVE,\n name: _name,\n arguments: arguments_(constant),\n });\n }\n return directives;\n}\n\nfunction field(): ast.FieldNode | undefined {\n ignored();\n let _name = name();\n if (_name) {\n ignored();\n let _alias: ast.NameNode | undefined;\n if (input.charCodeAt(idx) === 58 /*':'*/) {\n idx++;\n ignored();\n _alias = _name;\n _name = name();\n if (!_name)\n throw error(Kind.FIELD);\n ignored();\n }\n return {\n kind: Kind.FIELD,\n alias: _alias,\n name: _name,\n arguments: arguments_(false),\n directives: directives(false),\n selectionSet: selectionSet(),\n };\n }\n}\n\nfunction type(): ast.TypeNode | undefined {\n let match: ast.NameNode | ast.TypeNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const _type = type();\n if (!_type || input.charCodeAt(idx++) !== 93 /*']'*/)\n throw error(Kind.LIST_TYPE);\n match = {\n kind: Kind.LIST_TYPE,\n type: _type,\n };\n } else if (match = name()) {\n match = {\n kind: Kind.NAMED_TYPE,\n name: match,\n };\n } else {\n throw error(Kind.NAMED_TYPE);\n }\n\n ignored();\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n return {\n kind: Kind.NON_NULL_TYPE,\n type: match,\n };\n } else {\n return match;\n }\n}\n\nconst typeConditionRe = /on/y;\nfunction typeCondition(): ast.NamedTypeNode | undefined {\n if (advance(typeConditionRe)) {\n ignored();\n const _name = name();\n if (!_name)\n throw error(Kind.NAMED_TYPE);\n ignored();\n return {\n kind: Kind.NAMED_TYPE,\n name: _name,\n };\n }\n}\n\nconst fragmentSpreadRe = /\\.\\.\\./y;\n\nfunction fragmentSpread(): ast.FragmentSpreadNode | ast.InlineFragmentNode | undefined {\n ignored();\n if (advance(fragmentSpreadRe)) {\n ignored();\n let _name: ast.NameNode | undefined;\n if (_name = name()) {\n return {\n kind: Kind.FRAGMENT_SPREAD,\n name: _name,\n directives: directives(false),\n };\n } else {\n const _typeCondition = typeCondition();\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet)\n throw error(Kind.INLINE_FRAGMENT);\n return {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n }\n}\n\nfunction selectionSet(): ast.SelectionSetNode | undefined {\n let match: ast.SelectionNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const selections: ast.SelectionNode[] = [];\n while (match = fragmentSpread() || field())\n selections.push(match);\n if (!selections.length || input.charCodeAt(idx++) !== 125 /*'}'*/)\n throw error(Kind.SELECTION_SET);\n ignored();\n return {\n kind: Kind.SELECTION_SET,\n selections,\n };\n }\n}\n\nfunction variableDefinitions(): ast.VariableDefinitionNode[] {\n let match: string | undefined;\n const vars: ast.VariableDefinitionNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n while (match = advance(variableRe)) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/)\n throw error(Kind.VARIABLE_DEFINITION);\n const _type = type();\n if (!_type)\n throw error(Kind.VARIABLE_DEFINITION);\n let _defaultValue: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n if (!_defaultValue)\n throw error(Kind.VARIABLE_DEFINITION);\n }\n ignored();\n vars.push({\n kind: Kind.VARIABLE_DEFINITION,\n variable: {\n kind: Kind.VARIABLE,\n name: {\n kind: Kind.NAME,\n value: match.slice(1),\n },\n },\n type: _type,\n defaultValue: _defaultValue as ast.ConstValueNode,\n directives: directives(true),\n });\n }\n if (input.charCodeAt(idx++) !== 41 /*')'*/)\n throw error(Kind.VARIABLE_DEFINITION);\n ignored();\n }\n return vars;\n}\n\nconst fragmentDefinitionRe = /fragment/y;\nfunction fragmentDefinition(): ast.FragmentDefinitionNode | undefined {\n if (advance(fragmentDefinitionRe)) {\n ignored();\n const _name = name();\n if (!_name)\n throw error(Kind.FRAGMENT_DEFINITION);\n ignored();\n const _typeCondition = typeCondition();\n if (!_typeCondition)\n throw error(Kind.FRAGMENT_DEFINITION);\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet)\n throw error(Kind.FRAGMENT_DEFINITION);\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: _name,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nconst operationDefinitionRe = /query|mutation|subscription/y;\nfunction operationDefinition(): ast.OperationDefinitionNode | undefined {\n let _operation: string | undefined;\n let _name: ast.NameNode | undefined;\n let _variableDefinitions: ast.VariableDefinitionNode[] = [];\n let _directives: ast.DirectiveNode[] = [];\n if (_operation = advance(operationDefinitionRe)) {\n ignored();\n _name = name();\n _variableDefinitions = variableDefinitions();\n _directives = directives(false);\n }\n const _selectionSet = selectionSet();\n if (_selectionSet) {\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: (_operation || 'query') as ast.OperationTypeNode,\n name: _name,\n variableDefinitions: _variableDefinitions,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nfunction document(): ast.DocumentNode {\n let match: ast.DefinitionNode | void;\n ignored();\n const definitions: ast.DefinitionNode[] = [];\n while (match = fragmentDefinition() || operationDefinition())\n definitions.push(match);\n if (idx !== input.length)\n throw error(Kind.DOCUMENT);\n return {\n kind: Kind.DOCUMENT,\n definitions,\n };\n}\n\nexport function parse(string: string): ast.DocumentNode {\n input = string;\n idx = 0;\n return document();\n}\n\nexport function parseValue(string: string): ast.ValueNode | undefined {\n input = string;\n idx = 0;\n ignored();\n return value(false);\n}\n\nexport function parseType(string: string): ast.TypeNode | undefined {\n input = string;\n idx = 0;\n return type();\n}\n","import { ASTNode } from './ast';\n\nexport const BREAK = {};\n\nexport function visit<N extends ASTNode>(root: N, visitor: ASTVisitor): N;\nexport function visit<R>(root: ASTNode, visitor: ASTReducer<R>): R;\n\nexport function visit(node: ASTNode, visitor: ASTVisitor | ASTReducer<any>) {\n const ancestors: Array<ASTNode | ReadonlyArray<ASTNode>>= [];\n const path: Array<string | number> = [];\n\n function traverse(\n node: ASTNode,\n key?: string | number | undefined,\n parent?: ASTNode | ReadonlyArray<ASTNode> | undefined,\n ) {\n let hasEdited = false;\n\n const enter = visitor[node.kind] && visitor[node.kind].enter || visitor[node.kind];\n const resultEnter =\n enter && enter.call(visitor, node, key, parent, path, ancestors);\n if (resultEnter === false) {\n return node;\n } else if (resultEnter === null) {\n return null;\n } else if (resultEnter === BREAK) {\n throw BREAK;\n } else if (resultEnter && typeof resultEnter.kind === 'string') {\n hasEdited = resultEnter !== node;\n node = resultEnter;\n }\n\n if (parent) ancestors.push(parent);\n\n let result: any;\n const copy = { ...node };\n for (const nodeKey in node) {\n path.push(nodeKey);\n let value = node[nodeKey];\n if (Array.isArray(value)) {\n const newValue: any[] = [];\n for (let index = 0; index < value.length; index++) {\n if (value[index] != null && typeof value[index].kind === 'string') {\n ancestors.push(node);\n path.push(index);\n result = traverse(value[index], index, value);\n path.pop();\n ancestors.pop();\n if (result === undefined) {\n newValue.push(value[index]);\n } else if (result === null) {\n hasEdited = true;\n } else {\n hasEdited = hasEdited || result !== value[index];\n newValue.push(result);\n }\n }\n }\n value = newValue;\n } else if (value != null && typeof value.kind === 'string') {\n result = traverse(value, nodeKey, node);\n if (result !== undefined) {\n hasEdited = hasEdited || value !== result;\n value = result;\n }\n }\n\n path.pop();\n if (hasEdited) copy[nodeKey] = value;\n }\n\n if (parent) ancestors.pop();\n const leave = visitor[node.kind] && visitor[node.kind].leave;\n const resultLeave =\n leave && leave.call(visitor, node, key, parent, path, ancestors);\n if (resultLeave === BREAK) {\n throw BREAK;\n } else if (resultLeave !== undefined) {\n return resultLeave;\n } else if (resultEnter !== undefined) {\n return hasEdited ? copy : resultEnter;\n } else {\n return hasEdited ? copy : node;\n }\n }\n\n try {\n const result = traverse(node);\n return result !== undefined && result !== false ? result : node;\n } catch (error) {\n if (error !== BREAK) throw error;\n return node;\n }\n}\n\nexport type ASTVisitor = EnterLeaveVisitor<ASTNode> | KindVisitor;\n\ntype KindVisitor = {\n readonly [NodeT in ASTNode as NodeT['kind']]?:\n | ASTVisitFn<NodeT>\n | EnterLeaveVisitor<NodeT>;\n};\n\ninterface EnterLeaveVisitor<TVisitedNode extends ASTNode> {\n readonly enter?: ASTVisitFn<TVisitedNode> | undefined;\n readonly leave?: ASTVisitFn<TVisitedNode> | undefined;\n}\n\nexport type ASTVisitFn<Node extends ASTNode> = (\n node: Node,\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>,\n) => any;\n\nexport type ASTReducer<R> = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: {\n readonly enter?: ASTVisitFn<NodeT>;\n readonly leave: ASTReducerFn<NodeT, R>;\n };\n};\n\ntype ASTReducerFn<TReducedNode extends ASTNode, R> = (\n node: { [K in keyof TReducedNode]: ReducedField<TReducedNode[K], R> },\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>,\n) => R;\n\ntype ReducedField<T, R> = T extends null | undefined\n ? T\n : T extends ReadonlyArray<any>\n ? ReadonlyArray<R>\n : R;\n","import { Kind } from './kind';\nimport { ASTNode } from './ast';\n\nexport function printString(string: string) {\n return JSON.stringify(string);\n}\n\nexport function printBlockString(string: string) {\n return '\"\"\"\\n' + string.replace(/\"\"\"/g, '\\\\\"\"\"') + '\\n\"\"\"';\n}\n\nconst hasItems = <T>(\n array: ReadonlyArray<T> | undefined | null\n): array is ReadonlyArray<T> => !!(array && array.length);\n\nexport function print(node: ASTNode): string {\n let out: string;\n switch (node.kind) {\n case Kind.OPERATION_DEFINITION:\n if (node.operation === 'query' && !node.name && !hasItems(node.variableDefinitions) && !hasItems(node.directives)) {\n return print(node.selectionSet);\n }\n out = node.operation;\n if (node.name)\n out += ' ' + node.name.value;\n if (hasItems(node.variableDefinitions)) {\n if (!node.name) out += ' ';\n out += '(' + node.variableDefinitions.map(print).join(', ') + ')';\n }\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n\n case Kind.VARIABLE_DEFINITION:\n out = print(node.variable) +\n ': ' +\n print(node.type);\n if (node.defaultValue)\n out += ' = ' + print(node.defaultValue);\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out;\n\n case Kind.FIELD:\n out = (node.alias ? print(node.alias) + ': ' : '') + node.name.value\n if (hasItems(node.arguments))\n out += '(' + node.arguments.map(print).join(', ') + ')';\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return node.selectionSet\n ? out + ' ' + print(node.selectionSet)\n : out;\n\n case Kind.STRING:\n return node.block\n ? printBlockString(node.value)\n : printString(node.value);\n\n case Kind.BOOLEAN:\n return '' + node.value;\n\n case Kind.NULL:\n return 'null';\n\n case Kind.INT:\n case Kind.FLOAT:\n case Kind.ENUM:\n case Kind.NAME:\n return node.value;\n\n case Kind.LIST:\n return '[' + node.values.map(print).join(', ') + ']';\n\n case Kind.OBJECT:\n return '{' + node.fields.map(print).join(', ') + '}';\n\n case Kind.OBJECT_FIELD:\n return node.name.value + ': ' + print(node.value);\n\n case Kind.VARIABLE:\n return '$' + node.name.value;\n\n case Kind.DOCUMENT:\n return hasItems(node.definitions)\n ? node.definitions.map(print).join('\\n\\n')\n : '';\n\n case Kind.SELECTION_SET:\n return '{\\n ' +\n node.selections.map(print).join('\\n').replace(/\\n/g, '\\n ') +\n '\\n}';\n\n case Kind.ARGUMENT:\n return node.name.value + ': ' + print(node.value);\n\n case Kind.FRAGMENT_SPREAD:\n out = '...' + node.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out;\n\n case Kind.INLINE_FRAGMENT:\n out = '...';\n if (node.typeCondition)\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n\n case Kind.FRAGMENT_DEFINITION:\n out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n \n case Kind.DIRECTIVE:\n out = '@' + node.name.value;\n if (hasItems(node.arguments))\n out += '(' + node.arguments.map(print).join(', ') + ')';\n return out;\n\n case Kind.NAMED_TYPE:\n return node.name.value;\n\n case Kind.LIST_TYPE:\n return '[' + print(node.type) + ']';\n\n case Kind.NON_NULL_TYPE:\n return print(node.type) + '!';\n }\n}\n"],"names":["OperationTypeNode","Kind","GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","const","originalExtensions","toJSON","toString","let","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","lines","split","i","length","ignoredRe","ignored","nameRe","match","NAME","value","nullRe","boolRe","variableRe","intRe","floatRe","complexStringRe","blockStringRe","stringRe","constant","NULL","BOOLEAN","VARIABLE","FLOAT","INT","ENUM","STRING","block","JSON","parse","list","charCodeAt","values","push","LIST","object","fields","_name","OBJECT_FIELD","_value","OBJECT","arguments_","args","ARGUMENT","directives","DIRECTIVE","arguments","field","_alias","FIELD","alias","selectionSet","type","_type","LIST_TYPE","NAMED_TYPE","NON_NULL_TYPE","typeConditionRe","typeCondition","fragmentSpreadRe","fragmentSpread","FRAGMENT_SPREAD","_typeCondition","_directives","_selectionSet","INLINE_FRAGMENT","selections","SELECTION_SET","fragmentDefinitionRe","fragmentDefinition","FRAGMENT_DEFINITION","operationDefinitionRe","operationDefinition","_operation","_variableDefinitions","variableDefinitions","vars","VARIABLE_DEFINITION","_defaultValue","variable","defaultValue","OPERATION_DEFINITION","operation","BREAK","printString","stringify","printBlockString","replace","hasItems","array","document","definitions","DOCUMENT","parseType","parseValue","print","node","map","join","visit","visitor","ancestors","result","traverse","key","parent","hasEdited","enter","resultEnter","call","copy","nodeKey","newValue","index","pop","undefined","leave","resultLeave"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graphql.web.js","sources":["../src/ast.ts","../src/kind.ts","../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts"],"sourcesContent":["import type { Kind } from './kind';\n\nexport interface Location {\n readonly start: number;\n readonly end: number;\n readonly source: Source;\n}\n\nexport interface Source {\n body: string;\n name: string;\n locationOffset: {\n line: number;\n column: number;\n };\n}\n\nexport declare type ASTNode =\n | NameNode\n | DocumentNode\n | OperationDefinitionNode\n | VariableDefinitionNode\n | VariableNode\n | SelectionSetNode\n | FieldNode\n | ArgumentNode\n | FragmentSpreadNode\n | InlineFragmentNode\n | FragmentDefinitionNode\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ListValueNode\n | ObjectValueNode\n | ObjectFieldNode\n | DirectiveNode\n | NamedTypeNode\n | ListTypeNode\n | NonNullTypeNode;\n\nexport interface NameNode {\n readonly kind: Kind.NAME;\n readonly value: string;\n}\n\nexport interface DocumentNode {\n readonly kind: Kind.DOCUMENT;\n readonly definitions: ReadonlyArray<ExecutableDefinitionNode>;\n readonly loc?: Location;\n}\n\nexport type DefinitionNode =\n | OperationDefinitionNode\n | FragmentDefinitionNode;\nexport type ExecutableDefinitionNode =\n | OperationDefinitionNode\n | FragmentDefinitionNode;\n\nexport interface OperationDefinitionNode {\n readonly kind: Kind.OPERATION_DEFINITION;\n readonly operation: OperationTypeNode;\n readonly name?: NameNode;\n readonly variableDefinitions?: ReadonlyArray<VariableDefinitionNode>;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport const enum OperationTypeNode {\n QUERY = 'query',\n MUTATION = 'mutation',\n SUBSCRIPTION = 'subscription',\n}\n\nexport interface VariableDefinitionNode {\n readonly kind: Kind.VARIABLE_DEFINITION;\n readonly variable: VariableNode;\n readonly type: TypeNode;\n readonly defaultValue?: ConstValueNode;\n readonly directives?: ReadonlyArray<ConstDirectiveNode>;\n}\n\nexport interface VariableNode {\n readonly kind: Kind.VARIABLE;\n readonly name: NameNode;\n}\n\nexport interface SelectionSetNode {\n kind: Kind.SELECTION_SET;\n selections: ReadonlyArray<SelectionNode>;\n}\n\nexport declare type SelectionNode =\n | FieldNode\n | FragmentSpreadNode\n | InlineFragmentNode;\n\nexport interface FieldNode {\n readonly kind: Kind.FIELD;\n readonly alias?: NameNode;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ArgumentNode>;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet?: SelectionSetNode;\n}\n\nexport interface ArgumentNode {\n readonly kind: Kind.ARGUMENT;\n readonly name: NameNode;\n readonly value: ValueNode;\n}\n\nexport interface ConstArgumentNode {\n readonly kind: Kind.ARGUMENT;\n readonly name: NameNode;\n readonly value: ConstValueNode;\n}\n\nexport interface FragmentSpreadNode {\n readonly kind: Kind.FRAGMENT_SPREAD;\n readonly name: NameNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n}\n\nexport interface InlineFragmentNode {\n readonly kind: Kind.INLINE_FRAGMENT;\n readonly typeCondition?: NamedTypeNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport interface FragmentDefinitionNode {\n readonly kind: Kind.FRAGMENT_DEFINITION;\n readonly name: NameNode;\n readonly typeCondition: NamedTypeNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport type ValueNode =\n | VariableNode\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ListValueNode\n | ObjectValueNode;\n\nexport type ConstValueNode =\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ConstListValueNode\n | ConstObjectValueNode;\n\nexport interface IntValueNode {\n readonly kind: Kind.INT;\n readonly value: string;\n}\n\nexport interface FloatValueNode {\n readonly kind: Kind.FLOAT;\n readonly value: string;\n}\nexport interface StringValueNode {\n readonly kind: Kind.STRING;\n readonly value: string;\n readonly block?: boolean;\n}\n\nexport interface BooleanValueNode {\n readonly kind: Kind.BOOLEAN;\n readonly value: boolean;\n}\n\nexport interface NullValueNode {\n readonly kind: Kind.NULL;\n}\n\nexport interface EnumValueNode {\n readonly kind: Kind.ENUM;\n readonly value: string;\n}\n\nexport interface ListValueNode {\n readonly kind: Kind.LIST;\n readonly values: ReadonlyArray<ValueNode>;\n}\n\nexport interface ConstListValueNode {\n readonly kind: Kind.LIST;\n readonly values: ReadonlyArray<ConstValueNode>;\n}\n\nexport interface ObjectValueNode {\n readonly kind: Kind.OBJECT;\n readonly fields: ReadonlyArray<ObjectFieldNode>;\n}\n\nexport interface ConstObjectValueNode {\n readonly kind: Kind.OBJECT;\n readonly fields: ReadonlyArray<ConstObjectFieldNode>;\n}\n\nexport interface ObjectFieldNode {\n readonly kind: Kind.OBJECT_FIELD;\n readonly name: NameNode;\n readonly value: ValueNode;\n}\n\nexport interface ConstObjectFieldNode {\n readonly kind: Kind.OBJECT_FIELD;\n readonly name: NameNode;\n readonly value: ConstValueNode;\n}\n\nexport interface DirectiveNode {\n readonly kind: Kind.DIRECTIVE;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ArgumentNode>;\n}\n\nexport interface ConstDirectiveNode {\n readonly kind: Kind.DIRECTIVE;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ConstArgumentNode>;\n}\n\nexport declare type TypeNode = NamedTypeNode | ListTypeNode | NonNullTypeNode;\n\nexport interface NamedTypeNode {\n readonly kind: Kind.NAMED_TYPE;\n readonly name: NameNode;\n}\n\nexport interface ListTypeNode {\n readonly kind: Kind.LIST_TYPE;\n readonly type: TypeNode;\n}\n\nexport interface NonNullTypeNode {\n readonly kind: Kind.NON_NULL_TYPE;\n readonly type: NamedTypeNode | ListTypeNode;\n}\n","export enum Kind {\n /** Name */\n NAME = 'Name',\n /** Document */\n DOCUMENT = 'Document',\n OPERATION_DEFINITION = 'OperationDefinition',\n VARIABLE_DEFINITION = 'VariableDefinition',\n SELECTION_SET = 'SelectionSet',\n FIELD = 'Field',\n ARGUMENT = 'Argument',\n /** Fragments */\n FRAGMENT_SPREAD = 'FragmentSpread',\n INLINE_FRAGMENT = 'InlineFragment',\n FRAGMENT_DEFINITION = 'FragmentDefinition',\n /** Values */\n VARIABLE = 'Variable',\n INT = 'IntValue',\n FLOAT = 'FloatValue',\n STRING = 'StringValue',\n BOOLEAN = 'BooleanValue',\n NULL = 'NullValue',\n ENUM = 'EnumValue',\n LIST = 'ListValue',\n OBJECT = 'ObjectValue',\n OBJECT_FIELD = 'ObjectField',\n /** Directives */\n DIRECTIVE = 'Directive',\n /** Types */\n NAMED_TYPE = 'NamedType',\n LIST_TYPE = 'ListType',\n NON_NULL_TYPE = 'NonNullType',\n}\n","import { Maybe, Extensions } from './types';\nimport { ASTNode, Source } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<ASTNode> | undefined;\n readonly source: Source | undefined;\n readonly positions: ReadonlyArray<number> | undefined;\n readonly originalError: Error | undefined;\n readonly extensions: Extensions;\n\n constructor(\n message: string,\n nodes?: ReadonlyArray<ASTNode> | ASTNode | null,\n source?: Maybe<Source>,\n positions?: Maybe<ReadonlyArray<number>>,\n path?: Maybe<ReadonlyArray<string | number>>,\n originalError?: Maybe<Error>,\n extensions?: Maybe<Extensions>,\n ) {\n super(message);\n\n this.name = 'GraphQLError';\n this.message = message;\n\n if (path) this.path = path;\n if (nodes) this.nodes = (Array.isArray(nodes) ? nodes : [nodes]) as ASTNode[];\n if (source) this.source = source;\n if (positions) this.positions = positions;\n if (originalError) this.originalError = originalError;\n\n let _extensions = extensions;\n if (!_extensions && originalError) {\n const originalExtensions = (originalError as any).extensions;\n if (originalExtensions && typeof originalExtensions === 'object') {\n _extensions = originalExtensions;\n }\n }\n\n this.extensions = extensions || {};\n }\n\n toJSON() {\n return { ...this };\n }\n\n toString() {\n return this.message;\n }\n}\n","/**\n * This is a spec-compliant implementation of a GraphQL query language parser,\n * up-to-date with the October 2021 Edition. Unlike the reference implementation\n * in graphql.js it will only parse the query language, but not the schema\n * language.\n */\nimport { Kind } from './kind';\nimport { GraphQLError } from './error';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: Kind) {\n return new GraphQLError(`Syntax Error: Unexpected token at ${idx} in ${kind}`);\n}\n\nfunction advance(pattern: RegExp) {\n pattern.lastIndex = idx;\n if (pattern.test(input)) {\n const match = input.slice(idx, idx = pattern.lastIndex);\n return match;\n }\n}\n\nconst leadingRe = / +(?=[^\\s])/y;\nexport function blockString(string: string) {\n let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = -1;\n const lines = string.split('\\n');\n for (let i = 0; i < lines.length; i++) {\n leadingRe.lastIndex = 0;\n if (leadingRe.test(lines[i])) {\n if (i && (!commonIndent || leadingRe.lastIndex < commonIndent))\n commonIndent = leadingRe.lastIndex;\n firstNonEmptyLine = firstNonEmptyLine || i;\n lastNonEmptyLine = i;\n }\n }\n for (let i = firstNonEmptyLine; i <= lastNonEmptyLine; i++) {\n if (i !== firstNonEmptyLine) out += '\\n';\n out += lines[i].slice(commonIndent).replace(/\\\\\"\"\"/g, '\"\"\"');\n }\n return out;\n}\n\nconst ignoredRe = /(?:[\\s,]*|#[^\\n\\r]*)*/y;\nfunction ignored() {\n ignoredRe.lastIndex = idx;\n ignoredRe.test(input);\n idx = ignoredRe.lastIndex;\n}\n\nconst nameRe = /[_\\w][_\\d\\w]*/y;\nfunction name(): ast.NameNode | undefined {\n let match: string | undefined;\n if (match = advance(nameRe)) {\n return {\n kind: Kind.NAME,\n value: match,\n };\n }\n}\n\nconst nullRe = /null/y;\nconst boolRe = /true|false/y;\nconst variableRe = /\\$[_\\w][_\\d\\w]*/y;\nconst intRe = /[-]?\\d+/y;\nconst floatRe = /(?:[-]?\\d+)?(?:\\.\\d+)(?:[eE][+-]?\\d+)?/y;\nconst complexStringRe = /\\\\/g;\nconst blockStringRe = /\"\"\"(?:[\\s\\S]+(?=\"\"\"))?\"\"\"/y;\nconst stringRe = /\"(?:[^\"\\r\\n]+)?\"/y;\n\nfunction value(constant: true): ast.ConstValueNode;\nfunction value(constant: boolean): ast.ValueNode;\n\nfunction value(constant: boolean): ast.ValueNode | undefined {\n let out: ast.ValueNode | undefined;\n let match: string | undefined;\n if (advance(nullRe)) {\n out = { kind: Kind.NULL };\n } else if (match = advance(boolRe)) {\n out = {\n kind: Kind.BOOLEAN,\n value: match === 'true',\n };\n } else if (!constant && (match = advance(variableRe))) {\n out = {\n kind: Kind.VARIABLE,\n name: {\n kind: Kind.NAME,\n value: match.slice(1),\n },\n };\n } else if (match = advance(floatRe)) {\n out = {\n kind: Kind.FLOAT,\n value: match,\n };\n } else if (match = advance(intRe)) {\n out = {\n kind: Kind.INT,\n value: match,\n };\n } else if (match = advance(nameRe)) {\n out = {\n kind: Kind.ENUM,\n value: match,\n };\n } else if (match = advance(blockStringRe)) {\n out = {\n kind: Kind.STRING,\n value: blockString(match.slice(3, -3)),\n block: true,\n };\n } else if (match = advance(stringRe)) {\n out = {\n kind: Kind.STRING,\n value: complexStringRe.test(match)\n ? JSON.parse(match) as string\n : match.slice(1, -1),\n block: false,\n };\n } else if (out = list(constant) || object(constant)) {\n return out;\n }\n\n ignored();\n return out;\n}\n\nfunction list(constant: boolean): ast.ListValueNode | undefined {\n let match: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const values: ast.ValueNode[] = [];\n while (match = value(constant))\n values.push(match);\n if (input.charCodeAt(idx++) !== 93 /*']'*/)\n throw error(Kind.LIST);\n ignored();\n return {\n kind: Kind.LIST,\n values,\n };\n }\n}\n\nfunction object(constant: boolean): ast.ObjectValueNode | undefined {\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const fields: ast.ObjectFieldNode[] = [];\n let _name: ast.NameNode | undefined;\n while (_name = name()) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/)\n throw error(Kind.OBJECT_FIELD);\n ignored();\n const _value = value(constant);\n if (!_value)\n throw error(Kind.OBJECT_FIELD);\n fields.push({\n kind: Kind.OBJECT_FIELD,\n name: _name,\n value: _value,\n });\n }\n if (input.charCodeAt(idx++) !== 125 /*'}'*/)\n throw error(Kind.OBJECT);\n ignored();\n return {\n kind: Kind.OBJECT,\n fields,\n };\n }\n}\n\nfunction arguments_(constant: boolean): ast.ArgumentNode[] {\n const args: ast.ArgumentNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n let _name: ast.NameNode | undefined;\n while (_name = name()) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/)\n throw error(Kind.ARGUMENT);\n ignored();\n const _value = value(constant);\n if (!_value)\n throw error(Kind.ARGUMENT);\n args.push({\n kind: Kind.ARGUMENT,\n name: _name,\n value: _value,\n });\n }\n if (!args.length || input.charCodeAt(idx++) !== 41 /*')'*/)\n throw error(Kind.ARGUMENT);\n ignored();\n }\n return args;\n}\n\nfunction directives(constant: true): ast.ConstDirectiveNode[];\nfunction directives(constant: boolean): ast.DirectiveNode[];\n\nfunction directives(constant: boolean): ast.DirectiveNode[] {\n const directives: ast.DirectiveNode[] = [];\n ignored();\n while (input.charCodeAt(idx) === 64 /*'@'*/) {\n idx++;\n const _name = name();\n if (!_name)\n throw error(Kind.DIRECTIVE);\n ignored();\n directives.push({\n kind: Kind.DIRECTIVE,\n name: _name,\n arguments: arguments_(constant),\n });\n }\n return directives;\n}\n\nfunction field(): ast.FieldNode | undefined {\n ignored();\n let _name = name();\n if (_name) {\n ignored();\n let _alias: ast.NameNode | undefined;\n if (input.charCodeAt(idx) === 58 /*':'*/) {\n idx++;\n ignored();\n _alias = _name;\n _name = name();\n if (!_name)\n throw error(Kind.FIELD);\n ignored();\n }\n return {\n kind: Kind.FIELD,\n alias: _alias,\n name: _name,\n arguments: arguments_(false),\n directives: directives(false),\n selectionSet: selectionSet(),\n };\n }\n}\n\nfunction type(): ast.TypeNode | undefined {\n let match: ast.NameNode | ast.TypeNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const _type = type();\n if (!_type || input.charCodeAt(idx++) !== 93 /*']'*/)\n throw error(Kind.LIST_TYPE);\n match = {\n kind: Kind.LIST_TYPE,\n type: _type,\n };\n } else if (match = name()) {\n match = {\n kind: Kind.NAMED_TYPE,\n name: match,\n };\n } else {\n throw error(Kind.NAMED_TYPE);\n }\n\n ignored();\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n return {\n kind: Kind.NON_NULL_TYPE,\n type: match,\n };\n } else {\n return match;\n }\n}\n\nconst typeConditionRe = /on/y;\nfunction typeCondition(): ast.NamedTypeNode | undefined {\n if (advance(typeConditionRe)) {\n ignored();\n const _name = name();\n if (!_name)\n throw error(Kind.NAMED_TYPE);\n ignored();\n return {\n kind: Kind.NAMED_TYPE,\n name: _name,\n };\n }\n}\n\nconst fragmentSpreadRe = /\\.\\.\\./y;\n\nfunction fragmentSpread(): ast.FragmentSpreadNode | ast.InlineFragmentNode | undefined {\n ignored();\n if (advance(fragmentSpreadRe)) {\n ignored();\n const _idx = idx;\n let _name: ast.NameNode | undefined;\n if ((_name = name()) && _name.value !== 'on') {\n return {\n kind: Kind.FRAGMENT_SPREAD,\n name: _name,\n directives: directives(false),\n };\n } else {\n idx = _idx;\n const _typeCondition = typeCondition();\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet)\n throw error(Kind.INLINE_FRAGMENT);\n return {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n }\n}\n\nfunction selectionSet(): ast.SelectionSetNode | undefined {\n let match: ast.SelectionNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const selections: ast.SelectionNode[] = [];\n while (match = fragmentSpread() || field())\n selections.push(match);\n if (!selections.length || input.charCodeAt(idx++) !== 125 /*'}'*/)\n throw error(Kind.SELECTION_SET);\n ignored();\n return {\n kind: Kind.SELECTION_SET,\n selections,\n };\n }\n}\n\nfunction variableDefinitions(): ast.VariableDefinitionNode[] {\n let match: string | undefined;\n const vars: ast.VariableDefinitionNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n while (match = advance(variableRe)) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/)\n throw error(Kind.VARIABLE_DEFINITION);\n const _type = type();\n if (!_type)\n throw error(Kind.VARIABLE_DEFINITION);\n let _defaultValue: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n if (!_defaultValue)\n throw error(Kind.VARIABLE_DEFINITION);\n }\n ignored();\n vars.push({\n kind: Kind.VARIABLE_DEFINITION,\n variable: {\n kind: Kind.VARIABLE,\n name: {\n kind: Kind.NAME,\n value: match.slice(1),\n },\n },\n type: _type,\n defaultValue: _defaultValue as ast.ConstValueNode,\n directives: directives(true),\n });\n }\n if (input.charCodeAt(idx++) !== 41 /*')'*/)\n throw error(Kind.VARIABLE_DEFINITION);\n ignored();\n }\n return vars;\n}\n\nconst fragmentDefinitionRe = /fragment/y;\nfunction fragmentDefinition(): ast.FragmentDefinitionNode | undefined {\n if (advance(fragmentDefinitionRe)) {\n ignored();\n const _name = name();\n if (!_name)\n throw error(Kind.FRAGMENT_DEFINITION);\n ignored();\n const _typeCondition = typeCondition();\n if (!_typeCondition)\n throw error(Kind.FRAGMENT_DEFINITION);\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet)\n throw error(Kind.FRAGMENT_DEFINITION);\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: _name,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nconst operationDefinitionRe = /query|mutation|subscription/y;\nfunction operationDefinition(): ast.OperationDefinitionNode | undefined {\n let _operation: string | undefined;\n let _name: ast.NameNode | undefined;\n let _variableDefinitions: ast.VariableDefinitionNode[] = [];\n let _directives: ast.DirectiveNode[] = [];\n if (_operation = advance(operationDefinitionRe)) {\n ignored();\n _name = name();\n _variableDefinitions = variableDefinitions();\n _directives = directives(false);\n }\n const _selectionSet = selectionSet();\n if (_selectionSet) {\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: (_operation || 'query') as ast.OperationTypeNode,\n name: _name,\n variableDefinitions: _variableDefinitions,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nfunction document(): ast.DocumentNode {\n let match: ast.DefinitionNode | void;\n ignored();\n const definitions: ast.DefinitionNode[] = [];\n while (match = fragmentDefinition() || operationDefinition())\n definitions.push(match);\n if (idx !== input.length)\n throw error(Kind.DOCUMENT);\n return {\n kind: Kind.DOCUMENT,\n definitions,\n };\n}\n\nexport function parse(string: string): ast.DocumentNode {\n input = string;\n idx = 0;\n return document();\n}\n\nexport function parseValue(string: string): ast.ValueNode | undefined {\n input = string;\n idx = 0;\n ignored();\n return value(false);\n}\n\nexport function parseType(string: string): ast.TypeNode | undefined {\n input = string;\n idx = 0;\n return type();\n}\n","import { ASTNode } from './ast';\n\nexport const BREAK = {};\n\nexport function visit<N extends ASTNode>(root: N, visitor: ASTVisitor): N;\nexport function visit<R>(root: ASTNode, visitor: ASTReducer<R>): R;\n\nexport function visit(node: ASTNode, visitor: ASTVisitor | ASTReducer<any>) {\n const ancestors: Array<ASTNode | ReadonlyArray<ASTNode>>= [];\n const path: Array<string | number> = [];\n\n function traverse(\n node: ASTNode,\n key?: string | number | undefined,\n parent?: ASTNode | ReadonlyArray<ASTNode> | undefined,\n ) {\n let hasEdited = false;\n\n const enter = visitor[node.kind] && visitor[node.kind].enter || visitor[node.kind];\n const resultEnter =\n enter && enter.call(visitor, node, key, parent, path, ancestors);\n if (resultEnter === false) {\n return node;\n } else if (resultEnter === null) {\n return null;\n } else if (resultEnter === BREAK) {\n throw BREAK;\n } else if (resultEnter && typeof resultEnter.kind === 'string') {\n hasEdited = resultEnter !== node;\n node = resultEnter;\n }\n\n if (parent) ancestors.push(parent);\n\n let result: any;\n const copy = { ...node };\n for (const nodeKey in node) {\n path.push(nodeKey);\n let value = node[nodeKey];\n if (Array.isArray(value)) {\n const newValue: any[] = [];\n for (let index = 0; index < value.length; index++) {\n if (value[index] != null && typeof value[index].kind === 'string') {\n ancestors.push(node);\n path.push(index);\n result = traverse(value[index], index, value);\n path.pop();\n ancestors.pop();\n if (result === undefined) {\n newValue.push(value[index]);\n } else if (result === null) {\n hasEdited = true;\n } else {\n hasEdited = hasEdited || result !== value[index];\n newValue.push(result);\n }\n }\n }\n value = newValue;\n } else if (value != null && typeof value.kind === 'string') {\n result = traverse(value, nodeKey, node);\n if (result !== undefined) {\n hasEdited = hasEdited || value !== result;\n value = result;\n }\n }\n\n path.pop();\n if (hasEdited) copy[nodeKey] = value;\n }\n\n if (parent) ancestors.pop();\n const leave = visitor[node.kind] && visitor[node.kind].leave;\n const resultLeave =\n leave && leave.call(visitor, node, key, parent, path, ancestors);\n if (resultLeave === BREAK) {\n throw BREAK;\n } else if (resultLeave !== undefined) {\n return resultLeave;\n } else if (resultEnter !== undefined) {\n return hasEdited ? copy : resultEnter;\n } else {\n return hasEdited ? copy : node;\n }\n }\n\n try {\n const result = traverse(node);\n return result !== undefined && result !== false ? result : node;\n } catch (error) {\n if (error !== BREAK) throw error;\n return node;\n }\n}\n\nexport type ASTVisitor = EnterLeaveVisitor<ASTNode> | KindVisitor;\n\ntype KindVisitor = {\n readonly [NodeT in ASTNode as NodeT['kind']]?:\n | ASTVisitFn<NodeT>\n | EnterLeaveVisitor<NodeT>;\n};\n\ninterface EnterLeaveVisitor<TVisitedNode extends ASTNode> {\n readonly enter?: ASTVisitFn<TVisitedNode> | undefined;\n readonly leave?: ASTVisitFn<TVisitedNode> | undefined;\n}\n\nexport type ASTVisitFn<Node extends ASTNode> = (\n node: Node,\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>,\n) => any;\n\nexport type ASTReducer<R> = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: {\n readonly enter?: ASTVisitFn<NodeT>;\n readonly leave: ASTReducerFn<NodeT, R>;\n };\n};\n\ntype ASTReducerFn<TReducedNode extends ASTNode, R> = (\n node: { [K in keyof TReducedNode]: ReducedField<TReducedNode[K], R> },\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>,\n) => R;\n\ntype ReducedField<T, R> = T extends null | undefined\n ? T\n : T extends ReadonlyArray<any>\n ? ReadonlyArray<R>\n : R;\n","import { Kind } from './kind';\nimport { ASTNode } from './ast';\n\nexport function printString(string: string) {\n return JSON.stringify(string);\n}\n\nexport function printBlockString(string: string) {\n return '\"\"\"\\n' + string.replace(/\"\"\"/g, '\\\\\"\"\"') + '\\n\"\"\"';\n}\n\nconst hasItems = <T>(\n array: ReadonlyArray<T> | undefined | null\n): array is ReadonlyArray<T> => !!(array && array.length);\n\nconst MAX_LINE_LENGTH = 80;\n\nexport function print(node: ASTNode): string {\n let out: string;\n switch (node.kind) {\n case Kind.OPERATION_DEFINITION:\n if (node.operation === 'query' && !node.name && !hasItems(node.variableDefinitions) && !hasItems(node.directives)) {\n return print(node.selectionSet);\n }\n out = node.operation;\n if (node.name)\n out += ' ' + node.name.value;\n if (hasItems(node.variableDefinitions)) {\n if (!node.name) out += ' ';\n out += '(' + node.variableDefinitions.map(print).join(', ') + ')';\n }\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n\n case Kind.VARIABLE_DEFINITION:\n out = print(node.variable) +\n ': ' +\n print(node.type);\n if (node.defaultValue)\n out += ' = ' + print(node.defaultValue);\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out;\n\n case Kind.FIELD:\n out = (node.alias ? print(node.alias) + ': ' : '') + node.name.value\n if (hasItems(node.arguments)) {\n const args = node.arguments.map(print);\n const argsLine = out + '(' + args.join(', ') + ')';\n out = argsLine.length > MAX_LINE_LENGTH\n ? out + '(\\n ' + args.join('\\n').replace(/\\n/g, '\\n ') + '\\n)'\n : argsLine;\n }\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return node.selectionSet\n ? out + ' ' + print(node.selectionSet)\n : out;\n\n case Kind.STRING:\n return node.block\n ? printBlockString(node.value)\n : printString(node.value);\n\n case Kind.BOOLEAN:\n return '' + node.value;\n\n case Kind.NULL:\n return 'null';\n\n case Kind.INT:\n case Kind.FLOAT:\n case Kind.ENUM:\n case Kind.NAME:\n return node.value;\n\n case Kind.LIST:\n return '[' + node.values.map(print).join(', ') + ']';\n\n case Kind.OBJECT:\n return '{' + node.fields.map(print).join(', ') + '}';\n\n case Kind.OBJECT_FIELD:\n return node.name.value + ': ' + print(node.value);\n\n case Kind.VARIABLE:\n return '$' + node.name.value;\n\n case Kind.DOCUMENT:\n return hasItems(node.definitions)\n ? node.definitions.map(print).join('\\n\\n')\n : '';\n\n case Kind.SELECTION_SET:\n return '{\\n ' +\n node.selections.map(print).join('\\n').replace(/\\n/g, '\\n ') +\n '\\n}';\n\n case Kind.ARGUMENT:\n return node.name.value + ': ' + print(node.value);\n\n case Kind.FRAGMENT_SPREAD:\n out = '...' + node.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out;\n\n case Kind.INLINE_FRAGMENT:\n out = '...';\n if (node.typeCondition)\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n\n case Kind.FRAGMENT_DEFINITION:\n out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n \n case Kind.DIRECTIVE:\n out = '@' + node.name.value;\n if (hasItems(node.arguments))\n out += '(' + node.arguments.map(print).join(', ') + ')';\n return out;\n\n case Kind.NAMED_TYPE:\n return node.name.value;\n\n case Kind.LIST_TYPE:\n return '[' + print(node.type) + ']';\n\n case Kind.NON_NULL_TYPE:\n return print(node.type) + '!';\n }\n}\n"],"names":["OperationTypeNode","Kind","GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","const","originalExtensions","toJSON","toString","let","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","lines","split","i","length","replace","ignoredRe","ignored","nameRe","match","NAME","value","nullRe","boolRe","variableRe","intRe","floatRe","complexStringRe","blockStringRe","stringRe","constant","NULL","BOOLEAN","VARIABLE","FLOAT","INT","ENUM","STRING","block","JSON","parse","list","charCodeAt","values","push","LIST","object","fields","_name","OBJECT_FIELD","_value","OBJECT","arguments_","args","ARGUMENT","directives","DIRECTIVE","arguments","field","_alias","FIELD","alias","selectionSet","type","_type","LIST_TYPE","NAMED_TYPE","NON_NULL_TYPE","typeConditionRe","typeCondition","fragmentSpreadRe","fragmentSpread","_idx","FRAGMENT_SPREAD","_typeCondition","_directives","_selectionSet","INLINE_FRAGMENT","selections","SELECTION_SET","fragmentDefinitionRe","fragmentDefinition","FRAGMENT_DEFINITION","operationDefinitionRe","operationDefinition","_operation","_variableDefinitions","variableDefinitions","vars","VARIABLE_DEFINITION","_defaultValue","variable","defaultValue","OPERATION_DEFINITION","operation","BREAK","printString","stringify","printBlockString","hasItems","array","MAX_LINE_LENGTH","document","definitions","DOCUMENT","parseType","parseValue","print","node","map","join","argsLine","visit","visitor","ancestors","result","traverse","key","parent","hasEdited","enter","resultEnter","call","copy","nodeKey","newValue","index","pop","undefined","leave","resultLeave"],"mappings":"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"}
|
package/dist/graphql.web.mjs
CHANGED
|
@@ -106,11 +106,11 @@ function blockString(e) {
|
|
|
106
106
|
a = s;
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
|
-
for (var
|
|
110
|
-
if (
|
|
109
|
+
for (var u = n; u <= a; u++) {
|
|
110
|
+
if (u !== n) {
|
|
111
111
|
r += "\n";
|
|
112
112
|
}
|
|
113
|
-
r += o[
|
|
113
|
+
r += o[u].slice(i).replace(/\\"""/g, '"""');
|
|
114
114
|
}
|
|
115
115
|
return r;
|
|
116
116
|
}
|
|
@@ -137,13 +137,13 @@ function name() {
|
|
|
137
137
|
|
|
138
138
|
var s = /null/y;
|
|
139
139
|
|
|
140
|
-
var
|
|
140
|
+
var u = /true|false/y;
|
|
141
141
|
|
|
142
|
-
var
|
|
142
|
+
var d = /\$[_\w][_\d\w]*/y;
|
|
143
143
|
|
|
144
144
|
var v = /[-]?\d+/y;
|
|
145
145
|
|
|
146
|
-
var l = /[-]?\d+(?:\.\d+)
|
|
146
|
+
var l = /(?:[-]?\d+)?(?:\.\d+)(?:[eE][+-]?\d+)?/y;
|
|
147
147
|
|
|
148
148
|
var c = /\\/g;
|
|
149
149
|
|
|
@@ -158,12 +158,12 @@ function value(e) {
|
|
|
158
158
|
t = {
|
|
159
159
|
kind: r.NULL
|
|
160
160
|
};
|
|
161
|
-
} else if (a = advance(
|
|
161
|
+
} else if (a = advance(u)) {
|
|
162
162
|
t = {
|
|
163
163
|
kind: r.BOOLEAN,
|
|
164
164
|
value: "true" === a
|
|
165
165
|
};
|
|
166
|
-
} else if (!e && (a = advance(
|
|
166
|
+
} else if (!e && (a = advance(d))) {
|
|
167
167
|
t = {
|
|
168
168
|
kind: r.VARIABLE,
|
|
169
169
|
name: {
|
|
@@ -388,25 +388,27 @@ function fragmentSpread() {
|
|
|
388
388
|
ignored();
|
|
389
389
|
if (advance(I)) {
|
|
390
390
|
ignored();
|
|
391
|
-
var e;
|
|
392
|
-
|
|
391
|
+
var e = n;
|
|
392
|
+
var i;
|
|
393
|
+
if ((i = name()) && "on" !== i.value) {
|
|
393
394
|
return {
|
|
394
395
|
kind: r.FRAGMENT_SPREAD,
|
|
395
|
-
name:
|
|
396
|
+
name: i,
|
|
396
397
|
directives: directives(!1)
|
|
397
398
|
};
|
|
398
399
|
} else {
|
|
399
|
-
|
|
400
|
-
var
|
|
401
|
-
var
|
|
402
|
-
|
|
400
|
+
n = e;
|
|
401
|
+
var t = typeCondition();
|
|
402
|
+
var a = directives(!1);
|
|
403
|
+
var o = selectionSet();
|
|
404
|
+
if (!o) {
|
|
403
405
|
throw error(r.INLINE_FRAGMENT);
|
|
404
406
|
}
|
|
405
407
|
return {
|
|
406
408
|
kind: r.INLINE_FRAGMENT,
|
|
407
|
-
typeCondition:
|
|
408
|
-
directives:
|
|
409
|
-
selectionSet:
|
|
409
|
+
typeCondition: t,
|
|
410
|
+
directives: a,
|
|
411
|
+
selectionSet: o
|
|
410
412
|
};
|
|
411
413
|
}
|
|
412
414
|
}
|
|
@@ -479,7 +481,7 @@ function operationDefinition() {
|
|
|
479
481
|
if (40 === i.charCodeAt(n)) {
|
|
480
482
|
n++;
|
|
481
483
|
ignored();
|
|
482
|
-
while (e = advance(
|
|
484
|
+
while (e = advance(d)) {
|
|
483
485
|
ignored();
|
|
484
486
|
if (58 !== i.charCodeAt(n++)) {
|
|
485
487
|
throw error(r.VARIABLE_DEFINITION);
|
|
@@ -566,7 +568,7 @@ function parseType(e) {
|
|
|
566
568
|
return type();
|
|
567
569
|
}
|
|
568
570
|
|
|
569
|
-
var
|
|
571
|
+
var g = {};
|
|
570
572
|
|
|
571
573
|
function visit(e, r) {
|
|
572
574
|
var i = [];
|
|
@@ -575,21 +577,21 @@ function visit(e, r) {
|
|
|
575
577
|
var t = function traverse(e, t, a) {
|
|
576
578
|
var o = !1;
|
|
577
579
|
var s = r[e.kind] && r[e.kind].enter || r[e.kind];
|
|
578
|
-
var
|
|
579
|
-
if (!1 ===
|
|
580
|
+
var u = s && s.call(r, e, t, a, n, i);
|
|
581
|
+
if (!1 === u) {
|
|
580
582
|
return e;
|
|
581
|
-
} else if (null ===
|
|
583
|
+
} else if (null === u) {
|
|
582
584
|
return null;
|
|
583
|
-
} else if (
|
|
584
|
-
throw
|
|
585
|
-
} else if (
|
|
586
|
-
o =
|
|
587
|
-
e =
|
|
585
|
+
} else if (u === g) {
|
|
586
|
+
throw g;
|
|
587
|
+
} else if (u && "string" == typeof u.kind) {
|
|
588
|
+
o = u !== e;
|
|
589
|
+
e = u;
|
|
588
590
|
}
|
|
589
591
|
if (a) {
|
|
590
592
|
i.push(a);
|
|
591
593
|
}
|
|
592
|
-
var
|
|
594
|
+
var d;
|
|
593
595
|
var v = {
|
|
594
596
|
...e
|
|
595
597
|
};
|
|
@@ -602,24 +604,24 @@ function visit(e, r) {
|
|
|
602
604
|
if (null != c[E] && "string" == typeof c[E].kind) {
|
|
603
605
|
i.push(e);
|
|
604
606
|
n.push(E);
|
|
605
|
-
|
|
607
|
+
d = traverse(c[E], E, c);
|
|
606
608
|
n.pop();
|
|
607
609
|
i.pop();
|
|
608
|
-
if (void 0 ===
|
|
610
|
+
if (void 0 === d) {
|
|
609
611
|
f.push(c[E]);
|
|
610
|
-
} else if (null ===
|
|
612
|
+
} else if (null === d) {
|
|
611
613
|
o = !0;
|
|
612
614
|
} else {
|
|
613
|
-
o = o ||
|
|
614
|
-
f.push(
|
|
615
|
+
o = o || d !== c[E];
|
|
616
|
+
f.push(d);
|
|
615
617
|
}
|
|
616
618
|
}
|
|
617
619
|
}
|
|
618
620
|
c = f;
|
|
619
621
|
} else if (null != c && "string" == typeof c.kind) {
|
|
620
|
-
if (void 0 !== (
|
|
621
|
-
o = o || c !==
|
|
622
|
-
c =
|
|
622
|
+
if (void 0 !== (d = traverse(c, l, e))) {
|
|
623
|
+
o = o || c !== d;
|
|
624
|
+
c = d;
|
|
623
625
|
}
|
|
624
626
|
}
|
|
625
627
|
n.pop();
|
|
@@ -632,19 +634,19 @@ function visit(e, r) {
|
|
|
632
634
|
}
|
|
633
635
|
var p = r[e.kind] && r[e.kind].leave;
|
|
634
636
|
var I = p && p.call(r, e, t, a, n, i);
|
|
635
|
-
if (I ===
|
|
636
|
-
throw
|
|
637
|
+
if (I === g) {
|
|
638
|
+
throw g;
|
|
637
639
|
} else if (void 0 !== I) {
|
|
638
640
|
return I;
|
|
639
|
-
} else if (void 0 !==
|
|
640
|
-
return o ? v :
|
|
641
|
+
} else if (void 0 !== u) {
|
|
642
|
+
return o ? v : u;
|
|
641
643
|
} else {
|
|
642
644
|
return o ? v : e;
|
|
643
645
|
}
|
|
644
646
|
}(e);
|
|
645
647
|
return void 0 !== t && !1 !== t ? t : e;
|
|
646
648
|
} catch (r) {
|
|
647
|
-
if (r !==
|
|
649
|
+
if (r !== g) {
|
|
648
650
|
throw r;
|
|
649
651
|
}
|
|
650
652
|
return e;
|
|
@@ -661,6 +663,8 @@ function printBlockString(e) {
|
|
|
661
663
|
|
|
662
664
|
var hasItems = e => !(!e || !e.length);
|
|
663
665
|
|
|
666
|
+
var A = 80;
|
|
667
|
+
|
|
664
668
|
function print(e) {
|
|
665
669
|
var i;
|
|
666
670
|
switch (e.kind) {
|
|
@@ -696,7 +700,9 @@ function print(e) {
|
|
|
696
700
|
case r.FIELD:
|
|
697
701
|
i = (e.alias ? print(e.alias) + ": " : "") + e.name.value;
|
|
698
702
|
if (hasItems(e.arguments)) {
|
|
699
|
-
|
|
703
|
+
var n = e.arguments.map(print);
|
|
704
|
+
var t = i + "(" + n.join(", ") + ")";
|
|
705
|
+
i = t.length > A ? i + "(\n " + n.join("\n").replace(/\n/g, "\n ") + "\n)" : t;
|
|
700
706
|
}
|
|
701
707
|
if (hasItems(e.directives)) {
|
|
702
708
|
i += " " + e.directives.map(print).join(" ");
|
|
@@ -782,5 +788,5 @@ function print(e) {
|
|
|
782
788
|
}
|
|
783
789
|
}
|
|
784
790
|
|
|
785
|
-
export {
|
|
791
|
+
export { g as BREAK, GraphQLError, r as Kind, e as OperationTypeNode, blockString, parse, parseType, parseValue, print, printBlockString, printString, visit };
|
|
786
792
|
//# sourceMappingURL=graphql.web.mjs.map
|
package/dist/graphql.web.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.web.mjs","sources":["../src/ast.ts","../src/kind.ts","../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts"],"sourcesContent":["import type { Kind } from './kind';\n\nexport interface Location {\n readonly start: number;\n readonly end: number;\n readonly source: Source;\n}\n\nexport interface Source {\n body: string;\n name: string;\n locationOffset: {\n line: number;\n column: number;\n };\n}\n\nexport declare type ASTNode =\n | NameNode\n | DocumentNode\n | OperationDefinitionNode\n | VariableDefinitionNode\n | VariableNode\n | SelectionSetNode\n | FieldNode\n | ArgumentNode\n | FragmentSpreadNode\n | InlineFragmentNode\n | FragmentDefinitionNode\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ListValueNode\n | ObjectValueNode\n | ObjectFieldNode\n | DirectiveNode\n | NamedTypeNode\n | ListTypeNode\n | NonNullTypeNode;\n\nexport interface NameNode {\n readonly kind: Kind.NAME;\n readonly value: string;\n}\n\nexport interface DocumentNode {\n readonly kind: Kind.DOCUMENT;\n readonly definitions: ReadonlyArray<ExecutableDefinitionNode>;\n readonly loc?: Location;\n}\n\nexport type DefinitionNode =\n | OperationDefinitionNode\n | FragmentDefinitionNode;\nexport type ExecutableDefinitionNode =\n | OperationDefinitionNode\n | FragmentDefinitionNode;\n\nexport interface OperationDefinitionNode {\n readonly kind: Kind.OPERATION_DEFINITION;\n readonly operation: OperationTypeNode;\n readonly name?: NameNode;\n readonly variableDefinitions?: ReadonlyArray<VariableDefinitionNode>;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport const enum OperationTypeNode {\n QUERY = 'query',\n MUTATION = 'mutation',\n SUBSCRIPTION = 'subscription',\n}\n\nexport interface VariableDefinitionNode {\n readonly kind: Kind.VARIABLE_DEFINITION;\n readonly variable: VariableNode;\n readonly type: TypeNode;\n readonly defaultValue?: ConstValueNode;\n readonly directives?: ReadonlyArray<ConstDirectiveNode>;\n}\n\nexport interface VariableNode {\n readonly kind: Kind.VARIABLE;\n readonly name: NameNode;\n}\n\nexport interface SelectionSetNode {\n kind: Kind.SELECTION_SET;\n selections: ReadonlyArray<SelectionNode>;\n}\n\nexport declare type SelectionNode =\n | FieldNode\n | FragmentSpreadNode\n | InlineFragmentNode;\n\nexport interface FieldNode {\n readonly kind: Kind.FIELD;\n readonly alias?: NameNode;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ArgumentNode>;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet?: SelectionSetNode;\n}\n\nexport interface ArgumentNode {\n readonly kind: Kind.ARGUMENT;\n readonly name: NameNode;\n readonly value: ValueNode;\n}\n\nexport interface ConstArgumentNode {\n readonly kind: Kind.ARGUMENT;\n readonly name: NameNode;\n readonly value: ConstValueNode;\n}\n\nexport interface FragmentSpreadNode {\n readonly kind: Kind.FRAGMENT_SPREAD;\n readonly name: NameNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n}\n\nexport interface InlineFragmentNode {\n readonly kind: Kind.INLINE_FRAGMENT;\n readonly typeCondition?: NamedTypeNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport interface FragmentDefinitionNode {\n readonly kind: Kind.FRAGMENT_DEFINITION;\n readonly name: NameNode;\n readonly typeCondition: NamedTypeNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport type ValueNode =\n | VariableNode\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ListValueNode\n | ObjectValueNode;\n\nexport type ConstValueNode =\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ConstListValueNode\n | ConstObjectValueNode;\n\nexport interface IntValueNode {\n readonly kind: Kind.INT;\n readonly value: string;\n}\n\nexport interface FloatValueNode {\n readonly kind: Kind.FLOAT;\n readonly value: string;\n}\nexport interface StringValueNode {\n readonly kind: Kind.STRING;\n readonly value: string;\n readonly block?: boolean;\n}\n\nexport interface BooleanValueNode {\n readonly kind: Kind.BOOLEAN;\n readonly value: boolean;\n}\n\nexport interface NullValueNode {\n readonly kind: Kind.NULL;\n}\n\nexport interface EnumValueNode {\n readonly kind: Kind.ENUM;\n readonly value: string;\n}\n\nexport interface ListValueNode {\n readonly kind: Kind.LIST;\n readonly values: ReadonlyArray<ValueNode>;\n}\n\nexport interface ConstListValueNode {\n readonly kind: Kind.LIST;\n readonly values: ReadonlyArray<ConstValueNode>;\n}\n\nexport interface ObjectValueNode {\n readonly kind: Kind.OBJECT;\n readonly fields: ReadonlyArray<ObjectFieldNode>;\n}\n\nexport interface ConstObjectValueNode {\n readonly kind: Kind.OBJECT;\n readonly fields: ReadonlyArray<ConstObjectFieldNode>;\n}\n\nexport interface ObjectFieldNode {\n readonly kind: Kind.OBJECT_FIELD;\n readonly name: NameNode;\n readonly value: ValueNode;\n}\n\nexport interface ConstObjectFieldNode {\n readonly kind: Kind.OBJECT_FIELD;\n readonly name: NameNode;\n readonly value: ConstValueNode;\n}\n\nexport interface DirectiveNode {\n readonly kind: Kind.DIRECTIVE;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ArgumentNode>;\n}\n\nexport interface ConstDirectiveNode {\n readonly kind: Kind.DIRECTIVE;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ConstArgumentNode>;\n}\n\nexport declare type TypeNode = NamedTypeNode | ListTypeNode | NonNullTypeNode;\n\nexport interface NamedTypeNode {\n readonly kind: Kind.NAMED_TYPE;\n readonly name: NameNode;\n}\n\nexport interface ListTypeNode {\n readonly kind: Kind.LIST_TYPE;\n readonly type: TypeNode;\n}\n\nexport interface NonNullTypeNode {\n readonly kind: Kind.NON_NULL_TYPE;\n readonly type: NamedTypeNode | ListTypeNode;\n}\n","export enum Kind {\n /** Name */\n NAME = 'Name',\n /** Document */\n DOCUMENT = 'Document',\n OPERATION_DEFINITION = 'OperationDefinition',\n VARIABLE_DEFINITION = 'VariableDefinition',\n SELECTION_SET = 'SelectionSet',\n FIELD = 'Field',\n ARGUMENT = 'Argument',\n /** Fragments */\n FRAGMENT_SPREAD = 'FragmentSpread',\n INLINE_FRAGMENT = 'InlineFragment',\n FRAGMENT_DEFINITION = 'FragmentDefinition',\n /** Values */\n VARIABLE = 'Variable',\n INT = 'IntValue',\n FLOAT = 'FloatValue',\n STRING = 'StringValue',\n BOOLEAN = 'BooleanValue',\n NULL = 'NullValue',\n ENUM = 'EnumValue',\n LIST = 'ListValue',\n OBJECT = 'ObjectValue',\n OBJECT_FIELD = 'ObjectField',\n /** Directives */\n DIRECTIVE = 'Directive',\n /** Types */\n NAMED_TYPE = 'NamedType',\n LIST_TYPE = 'ListType',\n NON_NULL_TYPE = 'NonNullType',\n}\n","import { Maybe, Extensions } from './types';\nimport { ASTNode, Source } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<ASTNode> | undefined;\n readonly source: Source | undefined;\n readonly positions: ReadonlyArray<number> | undefined;\n readonly originalError: Error | undefined;\n readonly extensions: Extensions;\n\n constructor(\n message: string,\n nodes?: ReadonlyArray<ASTNode> | ASTNode | null,\n source?: Maybe<Source>,\n positions?: Maybe<ReadonlyArray<number>>,\n path?: Maybe<ReadonlyArray<string | number>>,\n originalError?: Maybe<Error>,\n extensions?: Maybe<Extensions>,\n ) {\n super(message);\n\n this.name = 'GraphQLError';\n this.message = message;\n\n if (path) this.path = path;\n if (nodes) this.nodes = (Array.isArray(nodes) ? nodes : [nodes]) as ASTNode[];\n if (source) this.source = source;\n if (positions) this.positions = positions;\n if (originalError) this.originalError = originalError;\n\n let _extensions = extensions;\n if (!_extensions && originalError) {\n const originalExtensions = (originalError as any).extensions;\n if (originalExtensions && typeof originalExtensions === 'object') {\n _extensions = originalExtensions;\n }\n }\n\n this.extensions = extensions || {};\n }\n\n toJSON() {\n return { ...this };\n }\n\n toString() {\n return this.message;\n }\n}\n","/**\n * This is a spec-compliant implementation of a GraphQL query language parser,\n * up-to-date with the October 2021 Edition. Unlike the reference implementation\n * in graphql.js it will only parse the query language, but not the schema\n * language.\n */\nimport { Kind } from './kind';\nimport { GraphQLError } from './error';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: Kind) {\n return new GraphQLError(`Syntax Error: Unexpected token at ${idx} in ${kind}`);\n}\n\nfunction advance(pattern: RegExp) {\n pattern.lastIndex = idx;\n if (pattern.test(input)) {\n const match = input.slice(idx, idx = pattern.lastIndex);\n return match;\n }\n}\n\nconst leadingRe = / +(?=[^\\s])/y;\nexport function blockString(string: string) {\n let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = -1;\n const lines = string.split('\\n');\n for (let i = 0; i < lines.length; i++) {\n leadingRe.lastIndex = 0;\n if (leadingRe.test(lines[i])) {\n if (i && (!commonIndent || leadingRe.lastIndex < commonIndent))\n commonIndent = leadingRe.lastIndex;\n firstNonEmptyLine = firstNonEmptyLine || i;\n lastNonEmptyLine = i;\n }\n }\n for (let i = firstNonEmptyLine; i <= lastNonEmptyLine; i++) {\n if (i !== firstNonEmptyLine) out += '\\n';\n out += lines[i].slice(commonIndent);\n }\n return out;\n}\n\nconst ignoredRe = /(?:[\\s,]*|#[^\\n\\r]*)*/y;\nfunction ignored() {\n ignoredRe.lastIndex = idx;\n ignoredRe.test(input);\n idx = ignoredRe.lastIndex;\n}\n\nconst nameRe = /[_\\w][_\\d\\w]*/y;\nfunction name(): ast.NameNode | undefined {\n let match: string | undefined;\n if (match = advance(nameRe)) {\n return {\n kind: Kind.NAME,\n value: match,\n };\n }\n}\n\nconst nullRe = /null/y;\nconst boolRe = /true|false/y;\nconst variableRe = /\\$[_\\w][_\\d\\w]*/y;\nconst intRe = /[-]?\\d+/y;\nconst floatRe = /[-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/y;\nconst complexStringRe = /\\\\/g;\nconst blockStringRe = /\"\"\"(?:[\\s\\S]+(?=\"\"\"))?\"\"\"/y;\nconst stringRe = /\"(?:[^\"\\r\\n]+)?\"/y;\n\nfunction value(constant: true): ast.ConstValueNode;\nfunction value(constant: boolean): ast.ValueNode;\n\nfunction value(constant: boolean): ast.ValueNode | undefined {\n let out: ast.ValueNode | undefined;\n let match: string | undefined;\n if (advance(nullRe)) {\n out = { kind: Kind.NULL };\n } else if (match = advance(boolRe)) {\n out = {\n kind: Kind.BOOLEAN,\n value: match === 'true',\n };\n } else if (!constant && (match = advance(variableRe))) {\n out = {\n kind: Kind.VARIABLE,\n name: {\n kind: Kind.NAME,\n value: match.slice(1),\n },\n };\n } else if (match = advance(floatRe)) {\n out = {\n kind: Kind.FLOAT,\n value: match,\n };\n } else if (match = advance(intRe)) {\n out = {\n kind: Kind.INT,\n value: match,\n };\n } else if (match = advance(nameRe)) {\n out = {\n kind: Kind.ENUM,\n value: match,\n };\n } else if (match = advance(blockStringRe)) {\n out = {\n kind: Kind.STRING,\n value: blockString(match.slice(3, -3)),\n block: true,\n };\n } else if (match = advance(stringRe)) {\n out = {\n kind: Kind.STRING,\n value: complexStringRe.test(match)\n ? JSON.parse(match) as string\n : match.slice(1, -1),\n block: false,\n };\n } else if (out = list(constant) || object(constant)) {\n return out;\n }\n\n ignored();\n return out;\n}\n\nfunction list(constant: boolean): ast.ListValueNode | undefined {\n let match: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const values: ast.ValueNode[] = [];\n while (match = value(constant))\n values.push(match);\n if (input.charCodeAt(idx++) !== 93 /*']'*/)\n throw error(Kind.LIST);\n ignored();\n return {\n kind: Kind.LIST,\n values,\n };\n }\n}\n\nfunction object(constant: boolean): ast.ObjectValueNode | undefined {\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const fields: ast.ObjectFieldNode[] = [];\n let _name: ast.NameNode | undefined;\n while (_name = name()) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/)\n throw error(Kind.OBJECT_FIELD);\n ignored();\n const _value = value(constant);\n if (!_value)\n throw error(Kind.OBJECT_FIELD);\n fields.push({\n kind: Kind.OBJECT_FIELD,\n name: _name,\n value: _value,\n });\n }\n if (input.charCodeAt(idx++) !== 125 /*'}'*/)\n throw error(Kind.OBJECT);\n ignored();\n return {\n kind: Kind.OBJECT,\n fields,\n };\n }\n}\n\nfunction arguments_(constant: boolean): ast.ArgumentNode[] {\n const args: ast.ArgumentNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n let _name: ast.NameNode | undefined;\n while (_name = name()) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/)\n throw error(Kind.ARGUMENT);\n ignored();\n const _value = value(constant);\n if (!_value)\n throw error(Kind.ARGUMENT);\n args.push({\n kind: Kind.ARGUMENT,\n name: _name,\n value: _value,\n });\n }\n if (!args.length || input.charCodeAt(idx++) !== 41 /*')'*/)\n throw error(Kind.ARGUMENT);\n ignored();\n }\n return args;\n}\n\nfunction directives(constant: true): ast.ConstDirectiveNode[];\nfunction directives(constant: boolean): ast.DirectiveNode[];\n\nfunction directives(constant: boolean): ast.DirectiveNode[] {\n const directives: ast.DirectiveNode[] = [];\n ignored();\n while (input.charCodeAt(idx) === 64 /*'@'*/) {\n idx++;\n const _name = name();\n if (!_name)\n throw error(Kind.DIRECTIVE);\n ignored();\n directives.push({\n kind: Kind.DIRECTIVE,\n name: _name,\n arguments: arguments_(constant),\n });\n }\n return directives;\n}\n\nfunction field(): ast.FieldNode | undefined {\n ignored();\n let _name = name();\n if (_name) {\n ignored();\n let _alias: ast.NameNode | undefined;\n if (input.charCodeAt(idx) === 58 /*':'*/) {\n idx++;\n ignored();\n _alias = _name;\n _name = name();\n if (!_name)\n throw error(Kind.FIELD);\n ignored();\n }\n return {\n kind: Kind.FIELD,\n alias: _alias,\n name: _name,\n arguments: arguments_(false),\n directives: directives(false),\n selectionSet: selectionSet(),\n };\n }\n}\n\nfunction type(): ast.TypeNode | undefined {\n let match: ast.NameNode | ast.TypeNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const _type = type();\n if (!_type || input.charCodeAt(idx++) !== 93 /*']'*/)\n throw error(Kind.LIST_TYPE);\n match = {\n kind: Kind.LIST_TYPE,\n type: _type,\n };\n } else if (match = name()) {\n match = {\n kind: Kind.NAMED_TYPE,\n name: match,\n };\n } else {\n throw error(Kind.NAMED_TYPE);\n }\n\n ignored();\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n return {\n kind: Kind.NON_NULL_TYPE,\n type: match,\n };\n } else {\n return match;\n }\n}\n\nconst typeConditionRe = /on/y;\nfunction typeCondition(): ast.NamedTypeNode | undefined {\n if (advance(typeConditionRe)) {\n ignored();\n const _name = name();\n if (!_name)\n throw error(Kind.NAMED_TYPE);\n ignored();\n return {\n kind: Kind.NAMED_TYPE,\n name: _name,\n };\n }\n}\n\nconst fragmentSpreadRe = /\\.\\.\\./y;\n\nfunction fragmentSpread(): ast.FragmentSpreadNode | ast.InlineFragmentNode | undefined {\n ignored();\n if (advance(fragmentSpreadRe)) {\n ignored();\n let _name: ast.NameNode | undefined;\n if (_name = name()) {\n return {\n kind: Kind.FRAGMENT_SPREAD,\n name: _name,\n directives: directives(false),\n };\n } else {\n const _typeCondition = typeCondition();\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet)\n throw error(Kind.INLINE_FRAGMENT);\n return {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n }\n}\n\nfunction selectionSet(): ast.SelectionSetNode | undefined {\n let match: ast.SelectionNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const selections: ast.SelectionNode[] = [];\n while (match = fragmentSpread() || field())\n selections.push(match);\n if (!selections.length || input.charCodeAt(idx++) !== 125 /*'}'*/)\n throw error(Kind.SELECTION_SET);\n ignored();\n return {\n kind: Kind.SELECTION_SET,\n selections,\n };\n }\n}\n\nfunction variableDefinitions(): ast.VariableDefinitionNode[] {\n let match: string | undefined;\n const vars: ast.VariableDefinitionNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n while (match = advance(variableRe)) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/)\n throw error(Kind.VARIABLE_DEFINITION);\n const _type = type();\n if (!_type)\n throw error(Kind.VARIABLE_DEFINITION);\n let _defaultValue: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n if (!_defaultValue)\n throw error(Kind.VARIABLE_DEFINITION);\n }\n ignored();\n vars.push({\n kind: Kind.VARIABLE_DEFINITION,\n variable: {\n kind: Kind.VARIABLE,\n name: {\n kind: Kind.NAME,\n value: match.slice(1),\n },\n },\n type: _type,\n defaultValue: _defaultValue as ast.ConstValueNode,\n directives: directives(true),\n });\n }\n if (input.charCodeAt(idx++) !== 41 /*')'*/)\n throw error(Kind.VARIABLE_DEFINITION);\n ignored();\n }\n return vars;\n}\n\nconst fragmentDefinitionRe = /fragment/y;\nfunction fragmentDefinition(): ast.FragmentDefinitionNode | undefined {\n if (advance(fragmentDefinitionRe)) {\n ignored();\n const _name = name();\n if (!_name)\n throw error(Kind.FRAGMENT_DEFINITION);\n ignored();\n const _typeCondition = typeCondition();\n if (!_typeCondition)\n throw error(Kind.FRAGMENT_DEFINITION);\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet)\n throw error(Kind.FRAGMENT_DEFINITION);\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: _name,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nconst operationDefinitionRe = /query|mutation|subscription/y;\nfunction operationDefinition(): ast.OperationDefinitionNode | undefined {\n let _operation: string | undefined;\n let _name: ast.NameNode | undefined;\n let _variableDefinitions: ast.VariableDefinitionNode[] = [];\n let _directives: ast.DirectiveNode[] = [];\n if (_operation = advance(operationDefinitionRe)) {\n ignored();\n _name = name();\n _variableDefinitions = variableDefinitions();\n _directives = directives(false);\n }\n const _selectionSet = selectionSet();\n if (_selectionSet) {\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: (_operation || 'query') as ast.OperationTypeNode,\n name: _name,\n variableDefinitions: _variableDefinitions,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nfunction document(): ast.DocumentNode {\n let match: ast.DefinitionNode | void;\n ignored();\n const definitions: ast.DefinitionNode[] = [];\n while (match = fragmentDefinition() || operationDefinition())\n definitions.push(match);\n if (idx !== input.length)\n throw error(Kind.DOCUMENT);\n return {\n kind: Kind.DOCUMENT,\n definitions,\n };\n}\n\nexport function parse(string: string): ast.DocumentNode {\n input = string;\n idx = 0;\n return document();\n}\n\nexport function parseValue(string: string): ast.ValueNode | undefined {\n input = string;\n idx = 0;\n ignored();\n return value(false);\n}\n\nexport function parseType(string: string): ast.TypeNode | undefined {\n input = string;\n idx = 0;\n return type();\n}\n","import { ASTNode } from './ast';\n\nexport const BREAK = {};\n\nexport function visit<N extends ASTNode>(root: N, visitor: ASTVisitor): N;\nexport function visit<R>(root: ASTNode, visitor: ASTReducer<R>): R;\n\nexport function visit(node: ASTNode, visitor: ASTVisitor | ASTReducer<any>) {\n const ancestors: Array<ASTNode | ReadonlyArray<ASTNode>>= [];\n const path: Array<string | number> = [];\n\n function traverse(\n node: ASTNode,\n key?: string | number | undefined,\n parent?: ASTNode | ReadonlyArray<ASTNode> | undefined,\n ) {\n let hasEdited = false;\n\n const enter = visitor[node.kind] && visitor[node.kind].enter || visitor[node.kind];\n const resultEnter =\n enter && enter.call(visitor, node, key, parent, path, ancestors);\n if (resultEnter === false) {\n return node;\n } else if (resultEnter === null) {\n return null;\n } else if (resultEnter === BREAK) {\n throw BREAK;\n } else if (resultEnter && typeof resultEnter.kind === 'string') {\n hasEdited = resultEnter !== node;\n node = resultEnter;\n }\n\n if (parent) ancestors.push(parent);\n\n let result: any;\n const copy = { ...node };\n for (const nodeKey in node) {\n path.push(nodeKey);\n let value = node[nodeKey];\n if (Array.isArray(value)) {\n const newValue: any[] = [];\n for (let index = 0; index < value.length; index++) {\n if (value[index] != null && typeof value[index].kind === 'string') {\n ancestors.push(node);\n path.push(index);\n result = traverse(value[index], index, value);\n path.pop();\n ancestors.pop();\n if (result === undefined) {\n newValue.push(value[index]);\n } else if (result === null) {\n hasEdited = true;\n } else {\n hasEdited = hasEdited || result !== value[index];\n newValue.push(result);\n }\n }\n }\n value = newValue;\n } else if (value != null && typeof value.kind === 'string') {\n result = traverse(value, nodeKey, node);\n if (result !== undefined) {\n hasEdited = hasEdited || value !== result;\n value = result;\n }\n }\n\n path.pop();\n if (hasEdited) copy[nodeKey] = value;\n }\n\n if (parent) ancestors.pop();\n const leave = visitor[node.kind] && visitor[node.kind].leave;\n const resultLeave =\n leave && leave.call(visitor, node, key, parent, path, ancestors);\n if (resultLeave === BREAK) {\n throw BREAK;\n } else if (resultLeave !== undefined) {\n return resultLeave;\n } else if (resultEnter !== undefined) {\n return hasEdited ? copy : resultEnter;\n } else {\n return hasEdited ? copy : node;\n }\n }\n\n try {\n const result = traverse(node);\n return result !== undefined && result !== false ? result : node;\n } catch (error) {\n if (error !== BREAK) throw error;\n return node;\n }\n}\n\nexport type ASTVisitor = EnterLeaveVisitor<ASTNode> | KindVisitor;\n\ntype KindVisitor = {\n readonly [NodeT in ASTNode as NodeT['kind']]?:\n | ASTVisitFn<NodeT>\n | EnterLeaveVisitor<NodeT>;\n};\n\ninterface EnterLeaveVisitor<TVisitedNode extends ASTNode> {\n readonly enter?: ASTVisitFn<TVisitedNode> | undefined;\n readonly leave?: ASTVisitFn<TVisitedNode> | undefined;\n}\n\nexport type ASTVisitFn<Node extends ASTNode> = (\n node: Node,\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>,\n) => any;\n\nexport type ASTReducer<R> = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: {\n readonly enter?: ASTVisitFn<NodeT>;\n readonly leave: ASTReducerFn<NodeT, R>;\n };\n};\n\ntype ASTReducerFn<TReducedNode extends ASTNode, R> = (\n node: { [K in keyof TReducedNode]: ReducedField<TReducedNode[K], R> },\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>,\n) => R;\n\ntype ReducedField<T, R> = T extends null | undefined\n ? T\n : T extends ReadonlyArray<any>\n ? ReadonlyArray<R>\n : R;\n","import { Kind } from './kind';\nimport { ASTNode } from './ast';\n\nexport function printString(string: string) {\n return JSON.stringify(string);\n}\n\nexport function printBlockString(string: string) {\n return '\"\"\"\\n' + string.replace(/\"\"\"/g, '\\\\\"\"\"') + '\\n\"\"\"';\n}\n\nconst hasItems = <T>(\n array: ReadonlyArray<T> | undefined | null\n): array is ReadonlyArray<T> => !!(array && array.length);\n\nexport function print(node: ASTNode): string {\n let out: string;\n switch (node.kind) {\n case Kind.OPERATION_DEFINITION:\n if (node.operation === 'query' && !node.name && !hasItems(node.variableDefinitions) && !hasItems(node.directives)) {\n return print(node.selectionSet);\n }\n out = node.operation;\n if (node.name)\n out += ' ' + node.name.value;\n if (hasItems(node.variableDefinitions)) {\n if (!node.name) out += ' ';\n out += '(' + node.variableDefinitions.map(print).join(', ') + ')';\n }\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n\n case Kind.VARIABLE_DEFINITION:\n out = print(node.variable) +\n ': ' +\n print(node.type);\n if (node.defaultValue)\n out += ' = ' + print(node.defaultValue);\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out;\n\n case Kind.FIELD:\n out = (node.alias ? print(node.alias) + ': ' : '') + node.name.value\n if (hasItems(node.arguments))\n out += '(' + node.arguments.map(print).join(', ') + ')';\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return node.selectionSet\n ? out + ' ' + print(node.selectionSet)\n : out;\n\n case Kind.STRING:\n return node.block\n ? printBlockString(node.value)\n : printString(node.value);\n\n case Kind.BOOLEAN:\n return '' + node.value;\n\n case Kind.NULL:\n return 'null';\n\n case Kind.INT:\n case Kind.FLOAT:\n case Kind.ENUM:\n case Kind.NAME:\n return node.value;\n\n case Kind.LIST:\n return '[' + node.values.map(print).join(', ') + ']';\n\n case Kind.OBJECT:\n return '{' + node.fields.map(print).join(', ') + '}';\n\n case Kind.OBJECT_FIELD:\n return node.name.value + ': ' + print(node.value);\n\n case Kind.VARIABLE:\n return '$' + node.name.value;\n\n case Kind.DOCUMENT:\n return hasItems(node.definitions)\n ? node.definitions.map(print).join('\\n\\n')\n : '';\n\n case Kind.SELECTION_SET:\n return '{\\n ' +\n node.selections.map(print).join('\\n').replace(/\\n/g, '\\n ') +\n '\\n}';\n\n case Kind.ARGUMENT:\n return node.name.value + ': ' + print(node.value);\n\n case Kind.FRAGMENT_SPREAD:\n out = '...' + node.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out;\n\n case Kind.INLINE_FRAGMENT:\n out = '...';\n if (node.typeCondition)\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n\n case Kind.FRAGMENT_DEFINITION:\n out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n \n case Kind.DIRECTIVE:\n out = '@' + node.name.value;\n if (hasItems(node.arguments))\n out += '(' + node.arguments.map(print).join(', ') + ')';\n return out;\n\n case Kind.NAMED_TYPE:\n return node.name.value;\n\n case Kind.LIST_TYPE:\n return '[' + print(node.type) + ']';\n\n case Kind.NON_NULL_TYPE:\n return print(node.type) + '!';\n }\n}\n"],"names":["OperationTypeNode","Kind","GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","const","originalExtensions","toJSON","toString","let","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","lines","split","i","length","ignoredRe","ignored","nameRe","match","NAME","value","nullRe","boolRe","variableRe","intRe","floatRe","complexStringRe","blockStringRe","stringRe","constant","NULL","BOOLEAN","VARIABLE","FLOAT","INT","ENUM","STRING","block","JSON","parse","list","charCodeAt","values","push","LIST","object","fields","_name","OBJECT_FIELD","_value","OBJECT","arguments_","args","ARGUMENT","directives","DIRECTIVE","arguments","field","_alias","FIELD","alias","selectionSet","type","_type","LIST_TYPE","NAMED_TYPE","NON_NULL_TYPE","typeConditionRe","typeCondition","fragmentSpreadRe","fragmentSpread","FRAGMENT_SPREAD","_typeCondition","_directives","_selectionSet","INLINE_FRAGMENT","selections","SELECTION_SET","fragmentDefinitionRe","fragmentDefinition","FRAGMENT_DEFINITION","operationDefinitionRe","operationDefinition","_operation","_variableDefinitions","variableDefinitions","vars","VARIABLE_DEFINITION","_defaultValue","variable","defaultValue","OPERATION_DEFINITION","operation","document","definitions","DOCUMENT","parseValue","parseType","BREAK","visit","node","visitor","ancestors","result","traverse","key","parent","hasEdited","enter","resultEnter","call","copy","nodeKey","newValue","index","pop","undefined","leave","resultLeave","printString","stringify","printBlockString","replace","hasItems","array","print","map","join"],"mappings":"IAsEAA;;CAAA,SAAAA;EACAA,EAAA,QAAA;EACAA,EAAA,WAAA;EACAA,EAAA,eAAA;AACA,CAJA,CAIAA,MAAAA,IAAA,CAAA;;IC1EAC;;CAAA,SAAAA;EAEAA,EAAA,OAAA;EAEAA,EAAA,WAAA;EACAA,EAAA,uBAAA;EACAA,EAAA,sBAAA;EACAA,EAAA,gBAAA;EACAA,EAAA,QAAA;EACAA,EAAA,WAAA;EAEAA,EAAA,kBAAA;EACAA,EAAA,kBAAA;EACAA,EAAA,sBAAA;EAEAA,EAAA,WAAA;EACAA,EAAA,MAAA;EACAA,EAAA,QAAA;EACAA,EAAA,SAAA;EACAA,EAAA,UAAA;EACAA,EAAA,OAAA;EACAA,EAAA,OAAA;EACAA,EAAA,OAAA;EACAA,EAAA,SAAA;EACAA,EAAA,eAAA;EAEAA,EAAA,YAAA;EAEAA,EAAA,aAAA;EACAA,EAAA,YAAA;EACAA,EAAA,gBAAA;AACA,CA/BA,CA+BAA,MAAAA,IAAA,CAAA;;AC5BA,MAAAC,qBAAAC;EASAC,YACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC;IAEAC,MAAAP;IAEAQ,KAAAC,OAAA;IACAD,KAAAR,UAAAA;IAEA,IAAAI;MAAAI,KAAAJ,OAAAA;;IACA,IAAAH;MAAAO,KAAAP,QAAAS,MAAAC,QAAAV,KAAAA,IAAA,EAAAA;;IACA,IAAAC;MAAAM,KAAAN,SAAAA;;IACA,IAAAC;MAAAK,KAAAL,YAAAA;;IACA,IAAAE;MAAAG,KAAAH,gBAAAA;;IAGA,KADAC,KACAD,GAAA;MACAO,IAAAC,IAAA,EAAAP;MACA,IAAAO,KAAA,mBAAAA;QACAA;;AAEA;IAEAL,KAAAF,aAAAA,KAAA;AACA;EAEAQ;IACA,OAAA;SAAAN;;AACA;EAEAO;IACA,OAAAP,KAAAR;AACA;;;ACvCAgB,IAAAC;;AACAD,IAAAE;;AAEA,SAAAC,MAAAC;EACA,OAAA,IAAAvB,aAAA,qCAAAqB,QAAAE;AACA;;AAEA,SAAAC,QAAAC;EACAA,EAAAC,YAAAL;EACA,IAAAI,EAAAE,KAAAP,IAAA;IAEA,OADAA,EAAAQ,MAAAP,GAAAA,IAAAI,EAAAC;AAEA;AACA;;AAEAX,IAAAc,IAAA;;AACA,SAAAC,YAAAC;EACAZ,IAAAa,IAAA;EACAb,IAAAc,IAAA;EACAd,IAAAe,IAAA;EACAf,IAAAgB,KAAA;EACApB,IAAAqB,IAAAL,EAAAM,MAAA;EACA,KAAAlB,IAAAmB,IAAA,GAAAA,IAAAF,EAAAG,QAAAD,KAAA;IACAT,EAAAH,YAAA;IACA,IAAAG,EAAAF,KAAAS,EAAAE,KAAA;MACA,IAAAA,OAAAL,KAAAJ,EAAAH,YAAAO;QACAA,IAAAJ,EAAAH;;MACAQ,IAAAA,KAAAI;MACAH,IAAAG;AACA;AACA;EACA,KAAAnB,IAAAmB,IAAAJ,GAAAI,KAAAH,GAAAG,KAAA;IACA,IAAAA,MAAAJ;MAAAF,KAAA;;IACAA,KAAAI,EAAAE,GAAAV,MAAAK;AACA;EACA,OAAAD;AACA;;AAEAjB,IAAAyB,IAAA;;AACA,SAAAC;EACAD,EAAAd,YAAAL;EACAmB,EAAAb,KAAAP;EACAC,IAAAmB,EAAAd;AACA;;AAEAX,IAAA2B,IAAA;;AACA,SAAA9B;EACAO,IAAAwB;EACA,IAAAA,IAAAnB,QAAAkB;IACA,OAAA;MACAnB,MAAAxB,EAAA6C;MACAC,OAAAF;;;AAGA;;AAEA5B,IAAA+B,IAAA;;AACA/B,IAAAgC,IAAA;;AACAhC,IAAAiC,IAAA;;AACAjC,IAAAkC,IAAA;;AACAlC,IAAAmC,IAAA;;AACAnC,IAAAoC,IAAA;;AACApC,IAAAqC,IAAA;;AACArC,IAAAsC,IAAA;;AAKA,SAAAR,MAAAS;EACAnC,IAAAa;EACAb,IAAAwB;EACA,IAAAnB,QAAAsB;IACAd,IAAA;MAAAT,MAAAxB,EAAAwD;;SACA,IAAAZ,IAAAnB,QAAAuB;IACAf,IAAA;MACAT,MAAAxB,EAAAyD;MACAX,OAAA,WAAAF;;SAEA,KAAAW,MAAAX,IAAAnB,QAAAwB;IACAhB,IAAA;MACAT,MAAAxB,EAAA0D;MACA7C,MAAA;QACAW,MAAAxB,EAAA6C;QACAC,OAAAF,EAAAf,MAAA;;;SAGA,IAAAe,IAAAnB,QAAA0B;IACAlB,IAAA;MACAT,MAAAxB,EAAA2D;MACAb,OAAAF;;SAEA,IAAAA,IAAAnB,QAAAyB;IACAjB,IAAA;MACAT,MAAAxB,EAAA4D;MACAd,OAAAF;;SAEA,IAAAA,IAAAnB,QAAAkB;IACAV,IAAA;MACAT,MAAAxB,EAAA6D;MACAf,OAAAF;;SAEA,IAAAA,IAAAnB,QAAA4B;IACApB,IAAA;MACAT,MAAAxB,EAAA8D;MACAhB,OAAAf,YAAAa,EAAAf,MAAA,IAAA;MACAkC,QAAA;;SAEA,IAAAnB,IAAAnB,QAAA6B;IACArB,IAAA;MACAT,MAAAxB,EAAA8D;MACAhB,OAAAM,EAAAxB,KAAAgB,KACAoB,KAAAC,MAAArB,KACAA,EAAAf,MAAA,IAAA;MACAkC,QAAA;;SAEA,IAAA9B,IAQA,SAAAiC,KAAAX;IACAnC,IAAAwB;IACA,IAAA,OAAAvB,EAAA8C,WAAA7C,IAAA;MACAA;MACAoB;MACA1B,IAAAoD,IAAA;MACA,OAAAxB,IAAAE,MAAAS;QACAa,EAAAC,KAAAzB;;MACA,IAAA,OAAAvB,EAAA8C,WAAA7C;QACA,MAAAC,MAAAvB,EAAAsE;;MACA5B;MACA,OAAA;QACAlB,MAAAxB,EAAAsE;QACAF;;AAEA;AACA,GAxBAF,CAAAX,MA0BA,SAAAgB,OAAAhB;IACA,IAAA,QAAAlC,EAAA8C,WAAA7C,IAAA;MACAA;MACAoB;MACA1B,IAAAwD,IAAA;MACApD,IAAAqD;MACA,OAAAA,IAAA5D,QAAA;QACA6B;QACA,IAAA,OAAArB,EAAA8C,WAAA7C;UACA,MAAAC,MAAAvB,EAAA0E;;QACAhC;QACA1B,IAAA2D,IAAA7B,MAAAS;QACA,KAAAoB;UACA,MAAApD,MAAAvB,EAAA0E;;QACAF,EAAAH,KAAA;UACA7C,MAAAxB,EAAA0E;UACA7D,MAAA4D;UACA3B,OAAA6B;;AAEA;MACA,IAAA,QAAAtD,EAAA8C,WAAA7C;QACA,MAAAC,MAAAvB,EAAA4E;;MACAlC;MACA,OAAA;QACAlB,MAAAxB,EAAA4E;QACAJ;;AAEA;AACA,GAtDAD,CAAAhB;IACA,OAAAtB;;EAGAS;EACA,OAAAT;AACA;;AAkDA,SAAA4C,WAAAtB;EACAvC,IAAA8D,IAAA;EACApC;EACA,IAAA,OAAArB,EAAA8C,WAAA7C,IAAA;IACAA;IACAoB;IACAtB,IAAAqD;IACA,OAAAA,IAAA5D,QAAA;MACA6B;MACA,IAAA,OAAArB,EAAA8C,WAAA7C;QACA,MAAAC,MAAAvB,EAAA+E;;MACArC;MACA1B,IAAA2D,IAAA7B,MAAAS;MACA,KAAAoB;QACA,MAAApD,MAAAvB,EAAA+E;;MACAD,EAAAT,KAAA;QACA7C,MAAAxB,EAAA+E;QACAlE,MAAA4D;QACA3B,OAAA6B;;AAEA;IACA,KAAAG,EAAAtC,UAAA,OAAAnB,EAAA8C,WAAA7C;MACA,MAAAC,MAAAvB,EAAA+E;;IACArC;AACA;EACA,OAAAoC;AACA;;AAKA,SAAAE,WAAAzB;EACAvC,IAAAgE,IAAA;EACAtC;EACA,OAAA,OAAArB,EAAA8C,WAAA7C,IAAA;IACAA;IACAN,IAAAyD,IAAA5D;IACA,KAAA4D;MACA,MAAAlD,MAAAvB,EAAAiF;;IACAvC;IACAsC,EAAAX,KAAA;MACA7C,MAAAxB,EAAAiF;MACApE,MAAA4D;MACAS,WAAAL,WAAAtB;;AAEA;EACA,OAAAyB;AACA;;AAEA,SAAAG;EACAzC;EACAtB,IAAAqD,IAAA5D;EACA,IAAA4D,GAAA;IACA/B;IACAtB,IAAAgE;IACA,IAAA,OAAA/D,EAAA8C,WAAA7C,IAAA;MACAA;MACAoB;MACA0C,IAAAX;MAEA,MADAA,IAAA5D;QAEA,MAAAU,MAAAvB,EAAAqF;;MACA3C;AACA;IACA,OAAA;MACAlB,MAAAxB,EAAAqF;MACAC,OAAAF;MACAvE,MAAA4D;MACAS,WAAAL,YAAA;MACAG,YAAAA,YAAA;MACAO,cAAAA;;AAEA;AACA;;AAEA,SAAAC;EACApE,IAAAwB;EACAF;EACA,IAAA,OAAArB,EAAA8C,WAAA7C,IAAA;IACAA;IACAoB;IACA1B,IAAAyE,IAAAD;IACA,KAAAC,KAAA,OAAApE,EAAA8C,WAAA7C;MACA,MAAAC,MAAAvB,EAAA0F;;IACA9C,IAAA;MACApB,MAAAxB,EAAA0F;MACAF,MAAAC;;AAEA,SAAA,IAAA7C,IAAA/B;IACA+B,IAAA;MACApB,MAAAxB,EAAA2F;MACA9E,MAAA+B;;;IAGA,MAAArB,MAAAvB,EAAA2F;;EAGAjD;EACA,IAAA,OAAArB,EAAA8C,WAAA7C,IAAA;IACAA;IACAoB;IACA,OAAA;MACAlB,MAAAxB,EAAA4F;MACAJ,MAAA5C;;AAEA;IACA,OAAAA;;AAEA;;AAEA5B,IAAA6E,IAAA;;AACA,SAAAC;EACA,IAAArE,QAAAoE,IAAA;IACAnD;IACA1B,IAAAyD,IAAA5D;IACA,KAAA4D;MACA,MAAAlD,MAAAvB,EAAA2F;;IACAjD;IACA,OAAA;MACAlB,MAAAxB,EAAA2F;MACA9E,MAAA4D;;AAEA;AACA;;AAEAzD,IAAA+E,IAAA;;AAEA,SAAAC;EACAtD;EACA,IAAAjB,QAAAsE,IAAA;IACArD;IACAtB,IAAAqD;IACA,IAAAA,IAAA5D;MACA,OAAA;QACAW,MAAAxB,EAAAiG;QACApF,MAAA4D;QACAO,YAAAA,YAAA;;WAEA;MACAhE,IAAAkF,IAAAJ;MACA9E,IAAAmF,IAAAnB,YAAA;MACAhE,IAAAoF,IAAAb;MACA,KAAAa;QACA,MAAA7E,MAAAvB,EAAAqG;;MACA,OAAA;QACA7E,MAAAxB,EAAAqG;QACAP,eAAAI;QACAlB,YAAAmB;QACAZ,cAAAa;;AAEA;AACA;AACA;;AAEA,SAAAb;EACAnE,IAAAwB;EACAF;EACA,IAAA,QAAArB,EAAA8C,WAAA7C,IAAA;IACAA;IACAoB;IACA1B,IAAAsF,IAAA;IACA,OAAA1D,IAAAoD,oBAAAb;MACAmB,EAAAjC,KAAAzB;;IACA,KAAA0D,EAAA9D,UAAA,QAAAnB,EAAA8C,WAAA7C;MACA,MAAAC,MAAAvB,EAAAuG;;IACA7D;IACA,OAAA;MACAlB,MAAAxB,EAAAuG;MACAD;;AAEA;AACA;;AA8CAtF,IAAAwF,IAAA;;AACA,SAAAC;EACA,IAAAhF,QAAA+E,IAAA;IACA9D;IACA1B,IAAAyD,IAAA5D;IACA,KAAA4D;MACA,MAAAlD,MAAAvB,EAAA0G;;IACAhE;IACA1B,IAAAkF,IAAAJ;IACA,KAAAI;MACA,MAAA3E,MAAAvB,EAAA0G;;IACA1F,IAAAmF,IAAAnB,YAAA;IACAhE,IAAAoF,IAAAb;IACA,KAAAa;MACA,MAAA7E,MAAAvB,EAAA0G;;IACA,OAAA;MACAlF,MAAAxB,EAAA0G;MACA7F,MAAA4D;MACAqB,eAAAI;MACAlB,YAAAmB;MACAZ,cAAAa;;AAEA;AACA;;AAEApF,IAAA2F,IAAA;;AACA,SAAAC;EACAxF,IAAAyF;EACAzF,IAAAqD;EACArD,IAAA0F,IAAA;EACA1F,IAAA+E,IAAA;EACA,IAAAU,IAAApF,QAAAkF,IAAA;IACAjE;IACA+B,IAAA5D;IACAiG,IA9EA,SAAAC;MACA3F,IAAAwB;MACA5B,IAAAgG,IAAA;MACAtE;MACA,IAAA,OAAArB,EAAA8C,WAAA7C,IAAA;QACAA;QACAoB;QACA,OAAAE,IAAAnB,QAAAwB,IAAA;UACAP;UACA,IAAA,OAAArB,EAAA8C,WAAA7C;YACA,MAAAC,MAAAvB,EAAAiH;;UACAjG,IAAAyE,IAAAD;UACA,KAAAC;YACA,MAAAlE,MAAAvB,EAAAiH;;UACA7F,IAAA8F,SAAA;UACA,IAAA,OAAA7F,EAAA8C,WAAA7C,IAAA;YACAA;YACAoB;YAEA,MADAwE,IAAApE,OAAA;cAEA,MAAAvB,MAAAvB,EAAAiH;;AACA;UACAvE;UACAsE,EAAA3C,KAAA;YACA7C,MAAAxB,EAAAiH;YACAE,UAAA;cACA3F,MAAAxB,EAAA0D;cACA7C,MAAA;gBACAW,MAAAxB,EAAA6C;gBACAC,OAAAF,EAAAf,MAAA;;;YAGA2D,MAAAC;YACA2B,cAAAF;YACAlC,YAAAA,YAAA;;AAEA;QACA,IAAA,OAAA3D,EAAA8C,WAAA7C;UACA,MAAAC,MAAAvB,EAAAiH;;QACAvE;AACA;MACA,OAAAsE;AACA,KAoCAD;IACAZ,IAAAnB,YAAA;AACA;EACAhE,IAAAoF,IAAAb;EACA,IAAAa;IACA,OAAA;MACA5E,MAAAxB,EAAAqH;MACAC,WAAAT,KAAA;MACAhG,MAAA4D;MACAsC,qBAAAD;MACA9B,YAAAmB;MACAZ,cAAAa;;;AAGA;;AAgBA,SAAAnC,MAAAjC;EACAX,IAAAW;EACAV,IAAA;EACA,OAjBA,SAAAiG;IACAnG,IAAAwB;IACAF;IACA1B,IAAAwG,IAAA;IACA,OAAA5E,IAAA6D,wBAAAG;MACAY,EAAAnD,KAAAzB;;IACA,IAAAtB,MAAAD,EAAAmB;MACA,MAAAjB,MAAAvB,EAAAyH;;IACA,OAAA;MACAjG,MAAAxB,EAAAyH;MACAD;;AAEA,GAKAD;AACA;;AAEA,SAAAG,WAAA1F;EACAX,IAAAW;EACAV,IAAA;EACAoB;EACA,OAAAI,OAAA;AACA;;AAEA,SAAA6E,UAAA3F;EACAX,IAAAW;EACAV,IAAA;EACA,OAAAkE;AACA;;AC7dA,IAAAoC,IAAA,CAAA;;AAKA,SAAAC,MAAAC,GAAAC;EACA/G,IAAAgH,IAAA;EACAhH,IAAAR,IAAA;EA6EA;IACAQ,IAAAiH,IA5EA,SAAAC,SACAJ,GACAK,GACAC;MAEAhH,IAAAiH,KAAA;MAEArH,IAAAsH,IAAAP,EAAAD,EAAAtG,SAAAuG,EAAAD,EAAAtG,MAAA8G,SAAAP,EAAAD,EAAAtG;MACAR,IAAAuH,IACAD,KAAAA,EAAAE,KAAAT,GAAAD,GAAAK,GAAAC,GAAA5H,GAAAwH;MACA,KAAA,MAAAO;QACA,OAAAT;aACA,IAAA,SAAAS;QACA,OAAA;aACA,IAAAA,MAAAX;QACA,MAAAA;aACA,IAAAW,KAAA,mBAAAA,EAAA/G,MAAA;QACA6G,IAAAE,MAAAT;QACAA,IAAAS;AACA;MAEA,IAAAH;QAAAJ,EAAA3D,KAAA+D;;MAEAhH,IAAA6G;MACAjH,IAAAyH,IAAA;WAAAX;;MACA,KAAA9G,IAAA0H,KAAAZ,GAAA;QACAtH,EAAA6D,KAAAqE;QACAtH,IAAA0B,IAAAgF,EAAAY;QACA,IAAA5H,MAAAC,QAAA+B,IAAA;UACA9B,IAAA2H,IAAA;UACA,KAAAvH,IAAAwH,IAAA,GAAAA,IAAA9F,EAAAN,QAAAoG;YACA,IAAA,QAAA9F,EAAA8F,MAAA,mBAAA9F,EAAA8F,GAAApH,MAAA;cACAwG,EAAA3D,KAAAyD;cACAtH,EAAA6D,KAAAuE;cACAX,IAAAC,SAAApF,EAAA8F,IAAAA,GAAA9F;cACAtC,EAAAqI;cACAb,EAAAa;cACA,SAAAC,MAAAb;gBACAU,EAAAtE,KAAAvB,EAAA8F;qBACA,IAAA,SAAAX;gBACAI,KAAA;qBACA;gBACAA,IAAAA,KAAAJ,MAAAnF,EAAA8F;gBACAD,EAAAtE,KAAA4D;AACA;AACA;;UAEAnF,IAAA6F;AACA,eAAA,IAAA,QAAA7F,KAAA,mBAAAA,EAAAtB;UAEA,SAAAsH,OADAb,IAAAC,SAAApF,GAAA4F,GAAAZ,KACA;YACAO,IAAAA,KAAAvF,MAAAmF;YACAnF,IAAAmF;AACA;;QAGAzH,EAAAqI;QACA,IAAAR;UAAAI,EAAAC,KAAA5F;;AACA;MAEA,IAAAsF;QAAAJ,EAAAa;;MACA7H,IAAA+H,IAAAhB,EAAAD,EAAAtG,SAAAuG,EAAAD,EAAAtG,MAAAuH;MACA/H,IAAAgI,IACAD,KAAAA,EAAAP,KAAAT,GAAAD,GAAAK,GAAAC,GAAA5H,GAAAwH;MACA,IAAAgB,MAAApB;QACA,MAAAA;aACA,SAAAkB,MAAAE;QACA,OAAAA;aACA,SAAAF,MAAAP;QACA,OAAAF,IAAAI,IAAAF;;QAEA,OAAAF,IAAAI,IAAAX;;AAEA,KAGAI,CAAAJ;IACA,YAAAgB,MAAAb,MAAA,MAAAA,IAAAA,IAAAH;AACA,IAAA,OAAAvG;IACA,IAAAA,MAAAqG;MAAA,MAAArG;;IACA,OAAAuG;AACA;AACA;;AC1FA,SAAAmB,YAAAjH;EACA,OAAAgC,KAAAkF,UAAAlH;AACA;;AAEA,SAAAmH,iBAAAnH;EACA,OAAA,UAAAA,EAAAoH,QAAA,QAAA,WAAA;AACA;;AAEApI,IAAAqI,WACAC,QACAA,MAAAA,EAAA9G;;AAEA,SAAA+G,MAAAzB;EACA1G,IAAAa;EACA,QAAA6F,EAAAtG;GACA,KAAAxB,EAAAqH;IACA,IAAA,YAAAS,EAAAR,cAAAQ,EAAAjH,SAAAwI,SAAAvB,EAAAf,yBAAAsC,SAAAvB,EAAA9C;MACA,OAAAuE,MAAAzB,EAAAvC;;IAEAtD,IAAA6F,EAAAR;IACA,IAAAQ,EAAAjH;MACAoB,KAAA,MAAA6F,EAAAjH,KAAAiC;;IACA,IAAAuG,SAAAvB,EAAAf,sBAAA;MACA,KAAAe,EAAAjH;QAAAoB,KAAA;;MACAA,KAAA,MAAA6F,EAAAf,oBAAAyC,IAAAD,OAAAE,KAAA,QAAA;AACA;IACA,IAAAJ,SAAAvB,EAAA9C;MACA/C,KAAA,MAAA6F,EAAA9C,WAAAwE,IAAAD,OAAAE,KAAA;;IACA,OAAAxH,IAAA,MAAAsH,MAAAzB,EAAAvC;;GAEA,KAAAvF,EAAAiH;IACAhF,IAAAsH,MAAAzB,EAAAX,YACA,OACAoC,MAAAzB,EAAAtC;IACA,IAAAsC,EAAAV;MACAnF,KAAA,QAAAsH,MAAAzB,EAAAV;;IACA,IAAAiC,SAAAvB,EAAA9C;MACA/C,KAAA,MAAA6F,EAAA9C,WAAAwE,IAAAD,OAAAE,KAAA;;IACA,OAAAxH;;GAEA,KAAAjC,EAAAqF;IACApD,KAAA6F,EAAAxC,QAAAiE,MAAAzB,EAAAxC,SAAA,OAAA,MAAAwC,EAAAjH,KAAAiC;IACA,IAAAuG,SAAAvB,EAAA5C;MACAjD,KAAA,MAAA6F,EAAA5C,UAAAsE,IAAAD,OAAAE,KAAA,QAAA;;IACA,IAAAJ,SAAAvB,EAAA9C;MACA/C,KAAA,MAAA6F,EAAA9C,WAAAwE,IAAAD,OAAAE,KAAA;;IACA,OAAA3B,EAAAvC,eACAtD,IAAA,MAAAsH,MAAAzB,EAAAvC,gBACAtD;;GAEA,KAAAjC,EAAA8D;IACA,OAAAgE,EAAA/D,QACAoF,iBAAArB,EAAAhF,SACAmG,YAAAnB,EAAAhF;;GAEA,KAAA9C,EAAAyD;IACA,OAAA,KAAAqE,EAAAhF;;GAEA,KAAA9C,EAAAwD;IACA,OAAA;;GAEA,KAAAxD,EAAA4D;GACA,KAAA5D,EAAA2D;GACA,KAAA3D,EAAA6D;GACA,KAAA7D,EAAA6C;IACA,OAAAiF,EAAAhF;;GAEA,KAAA9C,EAAAsE;IACA,OAAA,MAAAwD,EAAA1D,OAAAoF,IAAAD,OAAAE,KAAA,QAAA;;GAEA,KAAAzJ,EAAA4E;IACA,OAAA,MAAAkD,EAAAtD,OAAAgF,IAAAD,OAAAE,KAAA,QAAA;;GAEA,KAAAzJ,EAAA0E;IACA,OAAAoD,EAAAjH,KAAAiC,QAAA,OAAAyG,MAAAzB,EAAAhF;;GAEA,KAAA9C,EAAA0D;IACA,OAAA,MAAAoE,EAAAjH,KAAAiC;;GAEA,KAAA9C,EAAAyH;IACA,OAAA4B,SAAAvB,EAAAN,eACAM,EAAAN,YAAAgC,IAAAD,OAAAE,KAAA,UACA;;GAEA,KAAAzJ,EAAAuG;IACA,OAAA,UACAuB,EAAAxB,WAAAkD,IAAAD,OAAAE,KAAA,MAAAL,QAAA,OAAA,UACA;;GAEA,KAAApJ,EAAA+E;IACA,OAAA+C,EAAAjH,KAAAiC,QAAA,OAAAyG,MAAAzB,EAAAhF;;GAEA,KAAA9C,EAAAiG;IACAhE,IAAA,QAAA6F,EAAAjH,KAAAiC;IACA,IAAAuG,SAAAvB,EAAA9C;MACA/C,KAAA,MAAA6F,EAAA9C,WAAAwE,IAAAD,OAAAE,KAAA;;IACA,OAAAxH;;GAEA,KAAAjC,EAAAqG;IACApE,IAAA;IACA,IAAA6F,EAAAhC;MACA7D,KAAA,SAAA6F,EAAAhC,cAAAjF,KAAAiC;;IACA,IAAAuG,SAAAvB,EAAA9C;MACA/C,KAAA,MAAA6F,EAAA9C,WAAAwE,IAAAD,OAAAE,KAAA;;IACA,OAAAxH,IAAA,MAAAsH,MAAAzB,EAAAvC;;GAEA,KAAAvF,EAAA0G;IACAzE,IAAA,cAAA6F,EAAAjH,KAAAiC;IACAb,KAAA,SAAA6F,EAAAhC,cAAAjF,KAAAiC;IACA,IAAAuG,SAAAvB,EAAA9C;MACA/C,KAAA,MAAA6F,EAAA9C,WAAAwE,IAAAD,OAAAE,KAAA;;IACA,OAAAxH,IAAA,MAAAsH,MAAAzB,EAAAvC;;GAEA,KAAAvF,EAAAiF;IACAhD,IAAA,MAAA6F,EAAAjH,KAAAiC;IACA,IAAAuG,SAAAvB,EAAA5C;MACAjD,KAAA,MAAA6F,EAAA5C,UAAAsE,IAAAD,OAAAE,KAAA,QAAA;;IACA,OAAAxH;;GAEA,KAAAjC,EAAA2F;IACA,OAAAmC,EAAAjH,KAAAiC;;GAEA,KAAA9C,EAAA0F;IACA,OAAA,MAAA6D,MAAAzB,EAAAtC,QAAA;;GAEA,KAAAxF,EAAA4F;IACA,OAAA2D,MAAAzB,EAAAtC,QAAA;;AAEA;;"}
|
|
1
|
+
{"version":3,"file":"graphql.web.mjs","sources":["../src/ast.ts","../src/kind.ts","../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts"],"sourcesContent":["import type { Kind } from './kind';\n\nexport interface Location {\n readonly start: number;\n readonly end: number;\n readonly source: Source;\n}\n\nexport interface Source {\n body: string;\n name: string;\n locationOffset: {\n line: number;\n column: number;\n };\n}\n\nexport declare type ASTNode =\n | NameNode\n | DocumentNode\n | OperationDefinitionNode\n | VariableDefinitionNode\n | VariableNode\n | SelectionSetNode\n | FieldNode\n | ArgumentNode\n | FragmentSpreadNode\n | InlineFragmentNode\n | FragmentDefinitionNode\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ListValueNode\n | ObjectValueNode\n | ObjectFieldNode\n | DirectiveNode\n | NamedTypeNode\n | ListTypeNode\n | NonNullTypeNode;\n\nexport interface NameNode {\n readonly kind: Kind.NAME;\n readonly value: string;\n}\n\nexport interface DocumentNode {\n readonly kind: Kind.DOCUMENT;\n readonly definitions: ReadonlyArray<ExecutableDefinitionNode>;\n readonly loc?: Location;\n}\n\nexport type DefinitionNode =\n | OperationDefinitionNode\n | FragmentDefinitionNode;\nexport type ExecutableDefinitionNode =\n | OperationDefinitionNode\n | FragmentDefinitionNode;\n\nexport interface OperationDefinitionNode {\n readonly kind: Kind.OPERATION_DEFINITION;\n readonly operation: OperationTypeNode;\n readonly name?: NameNode;\n readonly variableDefinitions?: ReadonlyArray<VariableDefinitionNode>;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport const enum OperationTypeNode {\n QUERY = 'query',\n MUTATION = 'mutation',\n SUBSCRIPTION = 'subscription',\n}\n\nexport interface VariableDefinitionNode {\n readonly kind: Kind.VARIABLE_DEFINITION;\n readonly variable: VariableNode;\n readonly type: TypeNode;\n readonly defaultValue?: ConstValueNode;\n readonly directives?: ReadonlyArray<ConstDirectiveNode>;\n}\n\nexport interface VariableNode {\n readonly kind: Kind.VARIABLE;\n readonly name: NameNode;\n}\n\nexport interface SelectionSetNode {\n kind: Kind.SELECTION_SET;\n selections: ReadonlyArray<SelectionNode>;\n}\n\nexport declare type SelectionNode =\n | FieldNode\n | FragmentSpreadNode\n | InlineFragmentNode;\n\nexport interface FieldNode {\n readonly kind: Kind.FIELD;\n readonly alias?: NameNode;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ArgumentNode>;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet?: SelectionSetNode;\n}\n\nexport interface ArgumentNode {\n readonly kind: Kind.ARGUMENT;\n readonly name: NameNode;\n readonly value: ValueNode;\n}\n\nexport interface ConstArgumentNode {\n readonly kind: Kind.ARGUMENT;\n readonly name: NameNode;\n readonly value: ConstValueNode;\n}\n\nexport interface FragmentSpreadNode {\n readonly kind: Kind.FRAGMENT_SPREAD;\n readonly name: NameNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n}\n\nexport interface InlineFragmentNode {\n readonly kind: Kind.INLINE_FRAGMENT;\n readonly typeCondition?: NamedTypeNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport interface FragmentDefinitionNode {\n readonly kind: Kind.FRAGMENT_DEFINITION;\n readonly name: NameNode;\n readonly typeCondition: NamedTypeNode;\n readonly directives?: ReadonlyArray<DirectiveNode>;\n readonly selectionSet: SelectionSetNode;\n}\n\nexport type ValueNode =\n | VariableNode\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ListValueNode\n | ObjectValueNode;\n\nexport type ConstValueNode =\n | IntValueNode\n | FloatValueNode\n | StringValueNode\n | BooleanValueNode\n | NullValueNode\n | EnumValueNode\n | ConstListValueNode\n | ConstObjectValueNode;\n\nexport interface IntValueNode {\n readonly kind: Kind.INT;\n readonly value: string;\n}\n\nexport interface FloatValueNode {\n readonly kind: Kind.FLOAT;\n readonly value: string;\n}\nexport interface StringValueNode {\n readonly kind: Kind.STRING;\n readonly value: string;\n readonly block?: boolean;\n}\n\nexport interface BooleanValueNode {\n readonly kind: Kind.BOOLEAN;\n readonly value: boolean;\n}\n\nexport interface NullValueNode {\n readonly kind: Kind.NULL;\n}\n\nexport interface EnumValueNode {\n readonly kind: Kind.ENUM;\n readonly value: string;\n}\n\nexport interface ListValueNode {\n readonly kind: Kind.LIST;\n readonly values: ReadonlyArray<ValueNode>;\n}\n\nexport interface ConstListValueNode {\n readonly kind: Kind.LIST;\n readonly values: ReadonlyArray<ConstValueNode>;\n}\n\nexport interface ObjectValueNode {\n readonly kind: Kind.OBJECT;\n readonly fields: ReadonlyArray<ObjectFieldNode>;\n}\n\nexport interface ConstObjectValueNode {\n readonly kind: Kind.OBJECT;\n readonly fields: ReadonlyArray<ConstObjectFieldNode>;\n}\n\nexport interface ObjectFieldNode {\n readonly kind: Kind.OBJECT_FIELD;\n readonly name: NameNode;\n readonly value: ValueNode;\n}\n\nexport interface ConstObjectFieldNode {\n readonly kind: Kind.OBJECT_FIELD;\n readonly name: NameNode;\n readonly value: ConstValueNode;\n}\n\nexport interface DirectiveNode {\n readonly kind: Kind.DIRECTIVE;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ArgumentNode>;\n}\n\nexport interface ConstDirectiveNode {\n readonly kind: Kind.DIRECTIVE;\n readonly name: NameNode;\n readonly arguments?: ReadonlyArray<ConstArgumentNode>;\n}\n\nexport declare type TypeNode = NamedTypeNode | ListTypeNode | NonNullTypeNode;\n\nexport interface NamedTypeNode {\n readonly kind: Kind.NAMED_TYPE;\n readonly name: NameNode;\n}\n\nexport interface ListTypeNode {\n readonly kind: Kind.LIST_TYPE;\n readonly type: TypeNode;\n}\n\nexport interface NonNullTypeNode {\n readonly kind: Kind.NON_NULL_TYPE;\n readonly type: NamedTypeNode | ListTypeNode;\n}\n","export enum Kind {\n /** Name */\n NAME = 'Name',\n /** Document */\n DOCUMENT = 'Document',\n OPERATION_DEFINITION = 'OperationDefinition',\n VARIABLE_DEFINITION = 'VariableDefinition',\n SELECTION_SET = 'SelectionSet',\n FIELD = 'Field',\n ARGUMENT = 'Argument',\n /** Fragments */\n FRAGMENT_SPREAD = 'FragmentSpread',\n INLINE_FRAGMENT = 'InlineFragment',\n FRAGMENT_DEFINITION = 'FragmentDefinition',\n /** Values */\n VARIABLE = 'Variable',\n INT = 'IntValue',\n FLOAT = 'FloatValue',\n STRING = 'StringValue',\n BOOLEAN = 'BooleanValue',\n NULL = 'NullValue',\n ENUM = 'EnumValue',\n LIST = 'ListValue',\n OBJECT = 'ObjectValue',\n OBJECT_FIELD = 'ObjectField',\n /** Directives */\n DIRECTIVE = 'Directive',\n /** Types */\n NAMED_TYPE = 'NamedType',\n LIST_TYPE = 'ListType',\n NON_NULL_TYPE = 'NonNullType',\n}\n","import { Maybe, Extensions } from './types';\nimport { ASTNode, Source } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<ASTNode> | undefined;\n readonly source: Source | undefined;\n readonly positions: ReadonlyArray<number> | undefined;\n readonly originalError: Error | undefined;\n readonly extensions: Extensions;\n\n constructor(\n message: string,\n nodes?: ReadonlyArray<ASTNode> | ASTNode | null,\n source?: Maybe<Source>,\n positions?: Maybe<ReadonlyArray<number>>,\n path?: Maybe<ReadonlyArray<string | number>>,\n originalError?: Maybe<Error>,\n extensions?: Maybe<Extensions>,\n ) {\n super(message);\n\n this.name = 'GraphQLError';\n this.message = message;\n\n if (path) this.path = path;\n if (nodes) this.nodes = (Array.isArray(nodes) ? nodes : [nodes]) as ASTNode[];\n if (source) this.source = source;\n if (positions) this.positions = positions;\n if (originalError) this.originalError = originalError;\n\n let _extensions = extensions;\n if (!_extensions && originalError) {\n const originalExtensions = (originalError as any).extensions;\n if (originalExtensions && typeof originalExtensions === 'object') {\n _extensions = originalExtensions;\n }\n }\n\n this.extensions = extensions || {};\n }\n\n toJSON() {\n return { ...this };\n }\n\n toString() {\n return this.message;\n }\n}\n","/**\n * This is a spec-compliant implementation of a GraphQL query language parser,\n * up-to-date with the October 2021 Edition. Unlike the reference implementation\n * in graphql.js it will only parse the query language, but not the schema\n * language.\n */\nimport { Kind } from './kind';\nimport { GraphQLError } from './error';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: Kind) {\n return new GraphQLError(`Syntax Error: Unexpected token at ${idx} in ${kind}`);\n}\n\nfunction advance(pattern: RegExp) {\n pattern.lastIndex = idx;\n if (pattern.test(input)) {\n const match = input.slice(idx, idx = pattern.lastIndex);\n return match;\n }\n}\n\nconst leadingRe = / +(?=[^\\s])/y;\nexport function blockString(string: string) {\n let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = -1;\n const lines = string.split('\\n');\n for (let i = 0; i < lines.length; i++) {\n leadingRe.lastIndex = 0;\n if (leadingRe.test(lines[i])) {\n if (i && (!commonIndent || leadingRe.lastIndex < commonIndent))\n commonIndent = leadingRe.lastIndex;\n firstNonEmptyLine = firstNonEmptyLine || i;\n lastNonEmptyLine = i;\n }\n }\n for (let i = firstNonEmptyLine; i <= lastNonEmptyLine; i++) {\n if (i !== firstNonEmptyLine) out += '\\n';\n out += lines[i].slice(commonIndent).replace(/\\\\\"\"\"/g, '\"\"\"');\n }\n return out;\n}\n\nconst ignoredRe = /(?:[\\s,]*|#[^\\n\\r]*)*/y;\nfunction ignored() {\n ignoredRe.lastIndex = idx;\n ignoredRe.test(input);\n idx = ignoredRe.lastIndex;\n}\n\nconst nameRe = /[_\\w][_\\d\\w]*/y;\nfunction name(): ast.NameNode | undefined {\n let match: string | undefined;\n if (match = advance(nameRe)) {\n return {\n kind: Kind.NAME,\n value: match,\n };\n }\n}\n\nconst nullRe = /null/y;\nconst boolRe = /true|false/y;\nconst variableRe = /\\$[_\\w][_\\d\\w]*/y;\nconst intRe = /[-]?\\d+/y;\nconst floatRe = /(?:[-]?\\d+)?(?:\\.\\d+)(?:[eE][+-]?\\d+)?/y;\nconst complexStringRe = /\\\\/g;\nconst blockStringRe = /\"\"\"(?:[\\s\\S]+(?=\"\"\"))?\"\"\"/y;\nconst stringRe = /\"(?:[^\"\\r\\n]+)?\"/y;\n\nfunction value(constant: true): ast.ConstValueNode;\nfunction value(constant: boolean): ast.ValueNode;\n\nfunction value(constant: boolean): ast.ValueNode | undefined {\n let out: ast.ValueNode | undefined;\n let match: string | undefined;\n if (advance(nullRe)) {\n out = { kind: Kind.NULL };\n } else if (match = advance(boolRe)) {\n out = {\n kind: Kind.BOOLEAN,\n value: match === 'true',\n };\n } else if (!constant && (match = advance(variableRe))) {\n out = {\n kind: Kind.VARIABLE,\n name: {\n kind: Kind.NAME,\n value: match.slice(1),\n },\n };\n } else if (match = advance(floatRe)) {\n out = {\n kind: Kind.FLOAT,\n value: match,\n };\n } else if (match = advance(intRe)) {\n out = {\n kind: Kind.INT,\n value: match,\n };\n } else if (match = advance(nameRe)) {\n out = {\n kind: Kind.ENUM,\n value: match,\n };\n } else if (match = advance(blockStringRe)) {\n out = {\n kind: Kind.STRING,\n value: blockString(match.slice(3, -3)),\n block: true,\n };\n } else if (match = advance(stringRe)) {\n out = {\n kind: Kind.STRING,\n value: complexStringRe.test(match)\n ? JSON.parse(match) as string\n : match.slice(1, -1),\n block: false,\n };\n } else if (out = list(constant) || object(constant)) {\n return out;\n }\n\n ignored();\n return out;\n}\n\nfunction list(constant: boolean): ast.ListValueNode | undefined {\n let match: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const values: ast.ValueNode[] = [];\n while (match = value(constant))\n values.push(match);\n if (input.charCodeAt(idx++) !== 93 /*']'*/)\n throw error(Kind.LIST);\n ignored();\n return {\n kind: Kind.LIST,\n values,\n };\n }\n}\n\nfunction object(constant: boolean): ast.ObjectValueNode | undefined {\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const fields: ast.ObjectFieldNode[] = [];\n let _name: ast.NameNode | undefined;\n while (_name = name()) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/)\n throw error(Kind.OBJECT_FIELD);\n ignored();\n const _value = value(constant);\n if (!_value)\n throw error(Kind.OBJECT_FIELD);\n fields.push({\n kind: Kind.OBJECT_FIELD,\n name: _name,\n value: _value,\n });\n }\n if (input.charCodeAt(idx++) !== 125 /*'}'*/)\n throw error(Kind.OBJECT);\n ignored();\n return {\n kind: Kind.OBJECT,\n fields,\n };\n }\n}\n\nfunction arguments_(constant: boolean): ast.ArgumentNode[] {\n const args: ast.ArgumentNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n let _name: ast.NameNode | undefined;\n while (_name = name()) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/)\n throw error(Kind.ARGUMENT);\n ignored();\n const _value = value(constant);\n if (!_value)\n throw error(Kind.ARGUMENT);\n args.push({\n kind: Kind.ARGUMENT,\n name: _name,\n value: _value,\n });\n }\n if (!args.length || input.charCodeAt(idx++) !== 41 /*')'*/)\n throw error(Kind.ARGUMENT);\n ignored();\n }\n return args;\n}\n\nfunction directives(constant: true): ast.ConstDirectiveNode[];\nfunction directives(constant: boolean): ast.DirectiveNode[];\n\nfunction directives(constant: boolean): ast.DirectiveNode[] {\n const directives: ast.DirectiveNode[] = [];\n ignored();\n while (input.charCodeAt(idx) === 64 /*'@'*/) {\n idx++;\n const _name = name();\n if (!_name)\n throw error(Kind.DIRECTIVE);\n ignored();\n directives.push({\n kind: Kind.DIRECTIVE,\n name: _name,\n arguments: arguments_(constant),\n });\n }\n return directives;\n}\n\nfunction field(): ast.FieldNode | undefined {\n ignored();\n let _name = name();\n if (_name) {\n ignored();\n let _alias: ast.NameNode | undefined;\n if (input.charCodeAt(idx) === 58 /*':'*/) {\n idx++;\n ignored();\n _alias = _name;\n _name = name();\n if (!_name)\n throw error(Kind.FIELD);\n ignored();\n }\n return {\n kind: Kind.FIELD,\n alias: _alias,\n name: _name,\n arguments: arguments_(false),\n directives: directives(false),\n selectionSet: selectionSet(),\n };\n }\n}\n\nfunction type(): ast.TypeNode | undefined {\n let match: ast.NameNode | ast.TypeNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const _type = type();\n if (!_type || input.charCodeAt(idx++) !== 93 /*']'*/)\n throw error(Kind.LIST_TYPE);\n match = {\n kind: Kind.LIST_TYPE,\n type: _type,\n };\n } else if (match = name()) {\n match = {\n kind: Kind.NAMED_TYPE,\n name: match,\n };\n } else {\n throw error(Kind.NAMED_TYPE);\n }\n\n ignored();\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n return {\n kind: Kind.NON_NULL_TYPE,\n type: match,\n };\n } else {\n return match;\n }\n}\n\nconst typeConditionRe = /on/y;\nfunction typeCondition(): ast.NamedTypeNode | undefined {\n if (advance(typeConditionRe)) {\n ignored();\n const _name = name();\n if (!_name)\n throw error(Kind.NAMED_TYPE);\n ignored();\n return {\n kind: Kind.NAMED_TYPE,\n name: _name,\n };\n }\n}\n\nconst fragmentSpreadRe = /\\.\\.\\./y;\n\nfunction fragmentSpread(): ast.FragmentSpreadNode | ast.InlineFragmentNode | undefined {\n ignored();\n if (advance(fragmentSpreadRe)) {\n ignored();\n const _idx = idx;\n let _name: ast.NameNode | undefined;\n if ((_name = name()) && _name.value !== 'on') {\n return {\n kind: Kind.FRAGMENT_SPREAD,\n name: _name,\n directives: directives(false),\n };\n } else {\n idx = _idx;\n const _typeCondition = typeCondition();\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet)\n throw error(Kind.INLINE_FRAGMENT);\n return {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n }\n}\n\nfunction selectionSet(): ast.SelectionSetNode | undefined {\n let match: ast.SelectionNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const selections: ast.SelectionNode[] = [];\n while (match = fragmentSpread() || field())\n selections.push(match);\n if (!selections.length || input.charCodeAt(idx++) !== 125 /*'}'*/)\n throw error(Kind.SELECTION_SET);\n ignored();\n return {\n kind: Kind.SELECTION_SET,\n selections,\n };\n }\n}\n\nfunction variableDefinitions(): ast.VariableDefinitionNode[] {\n let match: string | undefined;\n const vars: ast.VariableDefinitionNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n while (match = advance(variableRe)) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/)\n throw error(Kind.VARIABLE_DEFINITION);\n const _type = type();\n if (!_type)\n throw error(Kind.VARIABLE_DEFINITION);\n let _defaultValue: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n if (!_defaultValue)\n throw error(Kind.VARIABLE_DEFINITION);\n }\n ignored();\n vars.push({\n kind: Kind.VARIABLE_DEFINITION,\n variable: {\n kind: Kind.VARIABLE,\n name: {\n kind: Kind.NAME,\n value: match.slice(1),\n },\n },\n type: _type,\n defaultValue: _defaultValue as ast.ConstValueNode,\n directives: directives(true),\n });\n }\n if (input.charCodeAt(idx++) !== 41 /*')'*/)\n throw error(Kind.VARIABLE_DEFINITION);\n ignored();\n }\n return vars;\n}\n\nconst fragmentDefinitionRe = /fragment/y;\nfunction fragmentDefinition(): ast.FragmentDefinitionNode | undefined {\n if (advance(fragmentDefinitionRe)) {\n ignored();\n const _name = name();\n if (!_name)\n throw error(Kind.FRAGMENT_DEFINITION);\n ignored();\n const _typeCondition = typeCondition();\n if (!_typeCondition)\n throw error(Kind.FRAGMENT_DEFINITION);\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet)\n throw error(Kind.FRAGMENT_DEFINITION);\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: _name,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nconst operationDefinitionRe = /query|mutation|subscription/y;\nfunction operationDefinition(): ast.OperationDefinitionNode | undefined {\n let _operation: string | undefined;\n let _name: ast.NameNode | undefined;\n let _variableDefinitions: ast.VariableDefinitionNode[] = [];\n let _directives: ast.DirectiveNode[] = [];\n if (_operation = advance(operationDefinitionRe)) {\n ignored();\n _name = name();\n _variableDefinitions = variableDefinitions();\n _directives = directives(false);\n }\n const _selectionSet = selectionSet();\n if (_selectionSet) {\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: (_operation || 'query') as ast.OperationTypeNode,\n name: _name,\n variableDefinitions: _variableDefinitions,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nfunction document(): ast.DocumentNode {\n let match: ast.DefinitionNode | void;\n ignored();\n const definitions: ast.DefinitionNode[] = [];\n while (match = fragmentDefinition() || operationDefinition())\n definitions.push(match);\n if (idx !== input.length)\n throw error(Kind.DOCUMENT);\n return {\n kind: Kind.DOCUMENT,\n definitions,\n };\n}\n\nexport function parse(string: string): ast.DocumentNode {\n input = string;\n idx = 0;\n return document();\n}\n\nexport function parseValue(string: string): ast.ValueNode | undefined {\n input = string;\n idx = 0;\n ignored();\n return value(false);\n}\n\nexport function parseType(string: string): ast.TypeNode | undefined {\n input = string;\n idx = 0;\n return type();\n}\n","import { ASTNode } from './ast';\n\nexport const BREAK = {};\n\nexport function visit<N extends ASTNode>(root: N, visitor: ASTVisitor): N;\nexport function visit<R>(root: ASTNode, visitor: ASTReducer<R>): R;\n\nexport function visit(node: ASTNode, visitor: ASTVisitor | ASTReducer<any>) {\n const ancestors: Array<ASTNode | ReadonlyArray<ASTNode>>= [];\n const path: Array<string | number> = [];\n\n function traverse(\n node: ASTNode,\n key?: string | number | undefined,\n parent?: ASTNode | ReadonlyArray<ASTNode> | undefined,\n ) {\n let hasEdited = false;\n\n const enter = visitor[node.kind] && visitor[node.kind].enter || visitor[node.kind];\n const resultEnter =\n enter && enter.call(visitor, node, key, parent, path, ancestors);\n if (resultEnter === false) {\n return node;\n } else if (resultEnter === null) {\n return null;\n } else if (resultEnter === BREAK) {\n throw BREAK;\n } else if (resultEnter && typeof resultEnter.kind === 'string') {\n hasEdited = resultEnter !== node;\n node = resultEnter;\n }\n\n if (parent) ancestors.push(parent);\n\n let result: any;\n const copy = { ...node };\n for (const nodeKey in node) {\n path.push(nodeKey);\n let value = node[nodeKey];\n if (Array.isArray(value)) {\n const newValue: any[] = [];\n for (let index = 0; index < value.length; index++) {\n if (value[index] != null && typeof value[index].kind === 'string') {\n ancestors.push(node);\n path.push(index);\n result = traverse(value[index], index, value);\n path.pop();\n ancestors.pop();\n if (result === undefined) {\n newValue.push(value[index]);\n } else if (result === null) {\n hasEdited = true;\n } else {\n hasEdited = hasEdited || result !== value[index];\n newValue.push(result);\n }\n }\n }\n value = newValue;\n } else if (value != null && typeof value.kind === 'string') {\n result = traverse(value, nodeKey, node);\n if (result !== undefined) {\n hasEdited = hasEdited || value !== result;\n value = result;\n }\n }\n\n path.pop();\n if (hasEdited) copy[nodeKey] = value;\n }\n\n if (parent) ancestors.pop();\n const leave = visitor[node.kind] && visitor[node.kind].leave;\n const resultLeave =\n leave && leave.call(visitor, node, key, parent, path, ancestors);\n if (resultLeave === BREAK) {\n throw BREAK;\n } else if (resultLeave !== undefined) {\n return resultLeave;\n } else if (resultEnter !== undefined) {\n return hasEdited ? copy : resultEnter;\n } else {\n return hasEdited ? copy : node;\n }\n }\n\n try {\n const result = traverse(node);\n return result !== undefined && result !== false ? result : node;\n } catch (error) {\n if (error !== BREAK) throw error;\n return node;\n }\n}\n\nexport type ASTVisitor = EnterLeaveVisitor<ASTNode> | KindVisitor;\n\ntype KindVisitor = {\n readonly [NodeT in ASTNode as NodeT['kind']]?:\n | ASTVisitFn<NodeT>\n | EnterLeaveVisitor<NodeT>;\n};\n\ninterface EnterLeaveVisitor<TVisitedNode extends ASTNode> {\n readonly enter?: ASTVisitFn<TVisitedNode> | undefined;\n readonly leave?: ASTVisitFn<TVisitedNode> | undefined;\n}\n\nexport type ASTVisitFn<Node extends ASTNode> = (\n node: Node,\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>,\n) => any;\n\nexport type ASTReducer<R> = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: {\n readonly enter?: ASTVisitFn<NodeT>;\n readonly leave: ASTReducerFn<NodeT, R>;\n };\n};\n\ntype ASTReducerFn<TReducedNode extends ASTNode, R> = (\n node: { [K in keyof TReducedNode]: ReducedField<TReducedNode[K], R> },\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>,\n) => R;\n\ntype ReducedField<T, R> = T extends null | undefined\n ? T\n : T extends ReadonlyArray<any>\n ? ReadonlyArray<R>\n : R;\n","import { Kind } from './kind';\nimport { ASTNode } from './ast';\n\nexport function printString(string: string) {\n return JSON.stringify(string);\n}\n\nexport function printBlockString(string: string) {\n return '\"\"\"\\n' + string.replace(/\"\"\"/g, '\\\\\"\"\"') + '\\n\"\"\"';\n}\n\nconst hasItems = <T>(\n array: ReadonlyArray<T> | undefined | null\n): array is ReadonlyArray<T> => !!(array && array.length);\n\nconst MAX_LINE_LENGTH = 80;\n\nexport function print(node: ASTNode): string {\n let out: string;\n switch (node.kind) {\n case Kind.OPERATION_DEFINITION:\n if (node.operation === 'query' && !node.name && !hasItems(node.variableDefinitions) && !hasItems(node.directives)) {\n return print(node.selectionSet);\n }\n out = node.operation;\n if (node.name)\n out += ' ' + node.name.value;\n if (hasItems(node.variableDefinitions)) {\n if (!node.name) out += ' ';\n out += '(' + node.variableDefinitions.map(print).join(', ') + ')';\n }\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n\n case Kind.VARIABLE_DEFINITION:\n out = print(node.variable) +\n ': ' +\n print(node.type);\n if (node.defaultValue)\n out += ' = ' + print(node.defaultValue);\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out;\n\n case Kind.FIELD:\n out = (node.alias ? print(node.alias) + ': ' : '') + node.name.value\n if (hasItems(node.arguments)) {\n const args = node.arguments.map(print);\n const argsLine = out + '(' + args.join(', ') + ')';\n out = argsLine.length > MAX_LINE_LENGTH\n ? out + '(\\n ' + args.join('\\n').replace(/\\n/g, '\\n ') + '\\n)'\n : argsLine;\n }\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return node.selectionSet\n ? out + ' ' + print(node.selectionSet)\n : out;\n\n case Kind.STRING:\n return node.block\n ? printBlockString(node.value)\n : printString(node.value);\n\n case Kind.BOOLEAN:\n return '' + node.value;\n\n case Kind.NULL:\n return 'null';\n\n case Kind.INT:\n case Kind.FLOAT:\n case Kind.ENUM:\n case Kind.NAME:\n return node.value;\n\n case Kind.LIST:\n return '[' + node.values.map(print).join(', ') + ']';\n\n case Kind.OBJECT:\n return '{' + node.fields.map(print).join(', ') + '}';\n\n case Kind.OBJECT_FIELD:\n return node.name.value + ': ' + print(node.value);\n\n case Kind.VARIABLE:\n return '$' + node.name.value;\n\n case Kind.DOCUMENT:\n return hasItems(node.definitions)\n ? node.definitions.map(print).join('\\n\\n')\n : '';\n\n case Kind.SELECTION_SET:\n return '{\\n ' +\n node.selections.map(print).join('\\n').replace(/\\n/g, '\\n ') +\n '\\n}';\n\n case Kind.ARGUMENT:\n return node.name.value + ': ' + print(node.value);\n\n case Kind.FRAGMENT_SPREAD:\n out = '...' + node.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out;\n\n case Kind.INLINE_FRAGMENT:\n out = '...';\n if (node.typeCondition)\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n\n case Kind.FRAGMENT_DEFINITION:\n out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives))\n out += ' ' + node.directives.map(print).join(' ');\n return out + ' ' + print(node.selectionSet);\n \n case Kind.DIRECTIVE:\n out = '@' + node.name.value;\n if (hasItems(node.arguments))\n out += '(' + node.arguments.map(print).join(', ') + ')';\n return out;\n\n case Kind.NAMED_TYPE:\n return node.name.value;\n\n case Kind.LIST_TYPE:\n return '[' + print(node.type) + ']';\n\n case Kind.NON_NULL_TYPE:\n return print(node.type) + '!';\n }\n}\n"],"names":["OperationTypeNode","Kind","GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","const","originalExtensions","toJSON","toString","let","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","lines","split","i","length","replace","ignoredRe","ignored","nameRe","match","NAME","value","nullRe","boolRe","variableRe","intRe","floatRe","complexStringRe","blockStringRe","stringRe","constant","NULL","BOOLEAN","VARIABLE","FLOAT","INT","ENUM","STRING","block","JSON","parse","list","charCodeAt","values","push","LIST","object","fields","_name","OBJECT_FIELD","_value","OBJECT","arguments_","args","ARGUMENT","directives","DIRECTIVE","arguments","field","_alias","FIELD","alias","selectionSet","type","_type","LIST_TYPE","NAMED_TYPE","NON_NULL_TYPE","typeConditionRe","typeCondition","fragmentSpreadRe","fragmentSpread","_idx","FRAGMENT_SPREAD","_typeCondition","_directives","_selectionSet","INLINE_FRAGMENT","selections","SELECTION_SET","fragmentDefinitionRe","fragmentDefinition","FRAGMENT_DEFINITION","operationDefinitionRe","operationDefinition","_operation","_variableDefinitions","variableDefinitions","vars","VARIABLE_DEFINITION","_defaultValue","variable","defaultValue","OPERATION_DEFINITION","operation","document","definitions","DOCUMENT","parseValue","parseType","BREAK","visit","node","visitor","ancestors","result","traverse","key","parent","hasEdited","enter","resultEnter","call","copy","nodeKey","newValue","index","pop","undefined","leave","resultLeave","printString","stringify","printBlockString","hasItems","array","MAX_LINE_LENGTH","print","map","join","argsLine"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0no-co/graphql.web",
|
|
3
3
|
"description": "A spec-compliant client-side GraphQL implementation",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.2",
|
|
5
5
|
"author": "0no.co <hi@0no.co>",
|
|
6
6
|
"source": "./src/index.ts",
|
|
7
7
|
"main": "./dist/graphql.web",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"access": "public"
|
|
86
86
|
},
|
|
87
87
|
"scripts": {
|
|
88
|
-
"test": "vitest
|
|
88
|
+
"test": "vitest",
|
|
89
89
|
"check": "tsc",
|
|
90
90
|
"lint": "eslint --ext=js,ts .",
|
|
91
91
|
"build": "rollup -c scripts/rollup.config.mjs",
|