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

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.
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.web.js","sources":["../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts","../src/values.ts","../src/kind.js"],"sourcesContent":["import { Maybe, Extensions, Source } from './types';\nimport { ASTNode } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: ReadonlyArray<any> | undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<any> | undefined;\n readonly source: Source | undefined;\n readonly positions: ReadonlyArray<number> | undefined;\n readonly originalError: Error | undefined;\n readonly extensions: Extensions;\n\n constructor(\n message: string,\n nodes?: ReadonlyArray<ASTNode> | ASTNode | null,\n source?: Maybe<Source>,\n positions?: Maybe<ReadonlyArray<number>>,\n path?: Maybe<ReadonlyArray<string | number>>,\n originalError?: Maybe<Error>,\n extensions?: Maybe<Extensions>\n ) {\n super(message);\n\n this.name = 'GraphQLError';\n this.message = message;\n\n if (path) this.path = path;\n if (nodes) this.nodes = (Array.isArray(nodes) ? nodes : [nodes]) as ASTNode[];\n if (source) this.source = source;\n if (positions) this.positions = positions;\n if (originalError) this.originalError = originalError;\n\n let _extensions = extensions;\n if (!_extensions && originalError) {\n const originalExtensions = (originalError as any).extensions;\n if (originalExtensions && typeof originalExtensions === 'object') {\n _extensions = originalExtensions;\n }\n }\n\n this.extensions = _extensions || {};\n }\n\n toJSON(): any {\n return { ...this };\n }\n\n toString() {\n return this.message;\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLError';\n }\n}\n","/**\n * This is a spec-compliant implementation of a GraphQL query language parser,\n * up-to-date with the October 2021 Edition. Unlike the reference implementation\n * in graphql.js it will only parse the query language, but not the schema\n * language.\n */\nimport { Kind, OperationTypeNode } from './kind';\nimport { GraphQLError } from './error';\nimport { Source } from './types';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: string) {\n return new GraphQLError(`Syntax Error: Unexpected token at ${idx} in ${kind}`);\n}\n\nfunction advance(pattern: RegExp) {\n pattern.lastIndex = idx;\n if (pattern.test(input)) {\n const match = input.slice(idx, (idx = pattern.lastIndex));\n return match;\n }\n}\n\nconst leadingRe = / +(?=[^\\s])/y;\nexport function blockString(string: string) {\n const lines = string.split('\\n');\n let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = lines.length - 1;\n for (let i = 0; i < lines.length; i++) {\n leadingRe.lastIndex = 0;\n if (leadingRe.test(lines[i])) {\n if (i && (!commonIndent || leadingRe.lastIndex < commonIndent))\n commonIndent = leadingRe.lastIndex;\n firstNonEmptyLine = firstNonEmptyLine || i;\n lastNonEmptyLine = i;\n }\n }\n for (let i = firstNonEmptyLine; i <= lastNonEmptyLine; i++) {\n if (i !== firstNonEmptyLine) out += '\\n';\n out += lines[i].slice(commonIndent).replace(/\\\\\"\"\"/g, '\"\"\"');\n }\n return out;\n}\n\n// Note: This is equivalent to: /(?:[\\s,]*|#[^\\n\\r]*)*/y\nfunction ignored() {\n for (\n let char = input.charCodeAt(idx++) | 0;\n char === 9 /*'\\t'*/ ||\n char === 10 /*'\\n'*/ ||\n char === 13 /*'\\r'*/ ||\n char === 32 /*' '*/ ||\n char === 35 /*'#'*/ ||\n char === 44 /*','*/ ||\n char === 65279 /*'\\ufeff'*/;\n char = input.charCodeAt(idx++) | 0\n ) {\n if (char === 35 /*'#'*/) while ((char = input.charCodeAt(idx++)) !== 10 && char !== 13);\n }\n idx--;\n}\n\nconst nameRe = /[_\\w][_\\d\\w]*/y;\nfunction name(): ast.NameNode | undefined {\n let match: string | undefined;\n if ((match = advance(nameRe))) {\n return {\n kind: 'Name' as Kind.NAME,\n value: match,\n };\n }\n}\n\nconst constRe = /null|true|false/y;\nconst variableRe = /\\$[_\\w][_\\d\\w]*/y;\nconst intRe = /[-]?\\d+/y;\nconst floatRe = /(?:[-]?\\d+)?(?:\\.\\d+)(?:[eE][+-]?\\d+)?/y;\nconst complexStringRe = /\\\\/g;\nconst blockStringRe = /\"\"\"(?:[\\s\\S]+(?=\"\"\"))?\"\"\"/y;\nconst stringRe = /\"(?:[^\"\\r\\n]+)?\"/y;\n\nfunction value(constant: true): ast.ConstValueNode;\nfunction value(constant: boolean): ast.ValueNode;\n\nfunction value(constant: boolean): ast.ValueNode | undefined {\n let out: ast.ValueNode | undefined;\n let match: string | undefined;\n if ((match = advance(constRe))) {\n out =\n match === 'null'\n ? {\n kind: 'NullValue' as Kind.NULL,\n }\n : {\n kind: 'BooleanValue' as Kind.BOOLEAN,\n value: match === 'true',\n };\n } else if (!constant && (match = advance(variableRe))) {\n out = {\n kind: 'Variable' as Kind.VARIABLE,\n name: {\n kind: 'Name' as Kind.NAME,\n value: match.slice(1),\n },\n };\n } else if ((match = advance(floatRe))) {\n out = {\n kind: 'FloatValue' as Kind.FLOAT,\n value: match,\n };\n } else if ((match = advance(intRe))) {\n out = {\n kind: 'IntValue' as Kind.INT,\n value: match,\n };\n } else if ((match = advance(nameRe))) {\n out = {\n kind: 'EnumValue' as Kind.ENUM,\n value: match,\n };\n } else if ((match = advance(blockStringRe))) {\n out = {\n kind: 'StringValue' as Kind.STRING,\n value: blockString(match.slice(3, -3)),\n block: true,\n };\n } else if ((match = advance(stringRe))) {\n out = {\n kind: 'StringValue' as Kind.STRING,\n value: complexStringRe.test(match) ? (JSON.parse(match) as string) : match.slice(1, -1),\n block: false,\n };\n } else if ((out = list(constant) || object(constant))) {\n return out;\n }\n\n ignored();\n return out;\n}\n\nfunction list(constant: boolean): ast.ListValueNode | undefined {\n let match: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const values: ast.ValueNode[] = [];\n while ((match = value(constant))) values.push(match);\n if (input.charCodeAt(idx++) !== 93 /*']'*/) throw error('ListValue');\n ignored();\n return {\n kind: 'ListValue' as Kind.LIST,\n values,\n };\n }\n}\n\nfunction object(constant: boolean): ast.ObjectValueNode | undefined {\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const fields: ast.ObjectFieldNode[] = [];\n let _name: ast.NameNode | undefined;\n while ((_name = name())) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('ObjectField' as Kind.OBJECT_FIELD);\n ignored();\n const _value = value(constant);\n if (!_value) throw error('ObjectField');\n fields.push({\n kind: 'ObjectField' as Kind.OBJECT_FIELD,\n name: _name,\n value: _value,\n });\n }\n if (input.charCodeAt(idx++) !== 125 /*'}'*/) throw error('ObjectValue');\n ignored();\n return {\n kind: 'ObjectValue' as Kind.OBJECT,\n fields,\n };\n }\n}\n\nfunction arguments_(constant: boolean): ast.ArgumentNode[] {\n const args: ast.ArgumentNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n let _name: ast.NameNode | undefined;\n while ((_name = name())) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('Argument');\n ignored();\n const _value = value(constant);\n if (!_value) throw error('Argument');\n args.push({\n kind: 'Argument' as Kind.ARGUMENT,\n name: _name,\n value: _value,\n });\n }\n if (!args.length || input.charCodeAt(idx++) !== 41 /*')'*/) throw error('Argument');\n ignored();\n }\n return args;\n}\n\nfunction directives(constant: true): ast.ConstDirectiveNode[];\nfunction directives(constant: boolean): ast.DirectiveNode[];\n\nfunction directives(constant: boolean): ast.DirectiveNode[] {\n const directives: ast.DirectiveNode[] = [];\n ignored();\n while (input.charCodeAt(idx) === 64 /*'@'*/) {\n idx++;\n const _name = name();\n if (!_name) throw error('Directive');\n ignored();\n directives.push({\n kind: 'Directive' as Kind.DIRECTIVE,\n name: _name,\n arguments: arguments_(constant),\n });\n }\n return directives;\n}\n\nfunction field(): ast.FieldNode | undefined {\n let _name = name();\n if (_name) {\n ignored();\n let _alias: ast.NameNode | undefined;\n if (input.charCodeAt(idx) === 58 /*':'*/) {\n idx++;\n ignored();\n _alias = _name;\n _name = name();\n if (!_name) throw error('Field');\n ignored();\n }\n return {\n kind: 'Field' as Kind.FIELD,\n alias: _alias,\n name: _name,\n arguments: arguments_(false),\n directives: directives(false),\n selectionSet: selectionSet(),\n };\n }\n}\n\nfunction type(): ast.TypeNode | undefined {\n let match: ast.NameNode | ast.TypeNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const _type = type();\n if (!_type || input.charCodeAt(idx++) !== 93 /*']'*/) throw error('ListType');\n match = {\n kind: 'ListType' as Kind.LIST_TYPE,\n type: _type,\n };\n } else if ((match = name())) {\n match = {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: match,\n };\n } else {\n throw error('NamedType');\n }\n\n ignored();\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n return {\n kind: 'NonNullType' as Kind.NON_NULL_TYPE,\n type: match,\n };\n } else {\n return match;\n }\n}\n\nconst typeConditionRe = /on/y;\nfunction typeCondition(): ast.NamedTypeNode | undefined {\n if (advance(typeConditionRe)) {\n ignored();\n const _name = name();\n if (!_name) throw error('NamedType');\n ignored();\n return {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: _name,\n };\n }\n}\n\nconst fragmentSpreadRe = /\\.\\.\\./y;\n\nfunction fragmentSpread(): ast.FragmentSpreadNode | ast.InlineFragmentNode | undefined {\n if (advance(fragmentSpreadRe)) {\n ignored();\n const _idx = idx;\n let _name: ast.NameNode | undefined;\n if ((_name = name()) && _name.value !== 'on') {\n return {\n kind: 'FragmentSpread' as Kind.FRAGMENT_SPREAD,\n name: _name,\n directives: directives(false),\n };\n } else {\n idx = _idx;\n const _typeCondition = typeCondition();\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet) throw error('InlineFragment');\n return {\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n }\n}\n\nfunction selectionSet(): ast.SelectionSetNode | undefined {\n let match: ast.SelectionNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const selections: ast.SelectionNode[] = [];\n while ((match = fragmentSpread() || field())) selections.push(match);\n if (!selections.length || input.charCodeAt(idx++) !== 125 /*'}'*/) throw error('SelectionSet');\n ignored();\n return {\n kind: 'SelectionSet' as Kind.SELECTION_SET,\n selections,\n };\n }\n}\n\nfunction variableDefinitions(): ast.VariableDefinitionNode[] {\n let match: string | undefined;\n const vars: ast.VariableDefinitionNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n while ((match = advance(variableRe))) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('VariableDefinition');\n const _type = type();\n if (!_type) throw error('VariableDefinition');\n let _defaultValue: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n if (!_defaultValue) throw error('VariableDefinition');\n }\n ignored();\n vars.push({\n kind: 'VariableDefinition' as Kind.VARIABLE_DEFINITION,\n variable: {\n kind: 'Variable' as Kind.VARIABLE,\n name: {\n kind: 'Name' as Kind.NAME,\n value: match.slice(1),\n },\n },\n type: _type,\n defaultValue: _defaultValue as ast.ConstValueNode,\n directives: directives(true),\n });\n }\n if (input.charCodeAt(idx++) !== 41 /*')'*/) throw error('VariableDefinition');\n ignored();\n }\n return vars;\n}\n\nconst fragmentDefinitionRe = /fragment/y;\nfunction fragmentDefinition(): ast.FragmentDefinitionNode | undefined {\n if (advance(fragmentDefinitionRe)) {\n ignored();\n const _name = name();\n if (!_name) throw error('FragmentDefinition');\n ignored();\n const _typeCondition = typeCondition();\n if (!_typeCondition) throw error('FragmentDefinition');\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet) throw error('FragmentDefinition');\n return {\n kind: 'FragmentDefinition' as Kind.FRAGMENT_DEFINITION,\n name: _name,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nconst operationDefinitionRe = /query|mutation|subscription/y;\nfunction operationDefinition(): ast.OperationDefinitionNode | undefined {\n let _operation: string | undefined;\n let _name: ast.NameNode | undefined;\n let _variableDefinitions: ast.VariableDefinitionNode[] = [];\n let _directives: ast.DirectiveNode[] = [];\n if ((_operation = advance(operationDefinitionRe))) {\n ignored();\n _name = name();\n _variableDefinitions = variableDefinitions();\n _directives = directives(false);\n }\n const _selectionSet = selectionSet();\n if (_selectionSet) {\n return {\n kind: 'OperationDefinition' as Kind.OPERATION_DEFINITION,\n operation: (_operation || 'query') as OperationTypeNode,\n name: _name,\n variableDefinitions: _variableDefinitions,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nfunction document(): ast.DocumentNode {\n let match: ast.ExecutableDefinitionNode | void;\n ignored();\n const definitions: ast.ExecutableDefinitionNode[] = [];\n while ((match = fragmentDefinition() || operationDefinition())) definitions.push(match);\n if (idx !== input.length) throw error('Document');\n return {\n kind: 'Document' as Kind.DOCUMENT,\n definitions,\n };\n}\n\ntype ParseOptions = {\n [option: string]: any;\n};\n\nexport function parse(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.DocumentNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n return document();\n}\n\nexport function parseValue(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.ValueNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n ignored();\n const _value = value(false);\n if (!_value) throw error('ValueNode');\n return _value;\n}\n\nexport function parseType(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.TypeNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n const _type = type();\n if (!_type) throw error('TypeNode');\n return _type;\n}\n","import { ASTNode } from './ast';\n\nexport const BREAK = {};\n\nexport function visit<N extends ASTNode>(root: N, visitor: ASTVisitor): N;\nexport function visit<R>(root: ASTNode, visitor: ASTReducer<R>): R;\n\nexport function visit(node: ASTNode, visitor: ASTVisitor | ASTReducer<any>) {\n const ancestors: Array<ASTNode | ReadonlyArray<ASTNode>> = [];\n const path: Array<string | number> = [];\n\n function traverse(\n node: ASTNode,\n key?: string | number | undefined,\n parent?: ASTNode | ReadonlyArray<ASTNode> | undefined\n ) {\n let hasEdited = false;\n\n const enter =\n (visitor[node.kind] && visitor[node.kind].enter) ||\n visitor[node.kind] ||\n (visitor as EnterLeaveVisitor<ASTNode>).enter;\n const resultEnter = enter && enter.call(visitor, node, key, parent, path, ancestors);\n if (resultEnter === false) {\n return node;\n } else if (resultEnter === null) {\n return null;\n } else if (resultEnter === BREAK) {\n throw BREAK;\n } else if (resultEnter && typeof resultEnter.kind === 'string') {\n hasEdited = resultEnter !== node;\n node = resultEnter;\n }\n\n if (parent) ancestors.push(parent);\n\n let result: any;\n const copy = { ...node };\n for (const nodeKey in node) {\n path.push(nodeKey);\n let value = node[nodeKey];\n if (Array.isArray(value)) {\n const newValue: any[] = [];\n for (let index = 0; index < value.length; index++) {\n if (value[index] != null && typeof value[index].kind === 'string') {\n ancestors.push(node);\n path.push(index);\n result = traverse(value[index], index, value);\n path.pop();\n ancestors.pop();\n if (result === undefined) {\n newValue.push(value[index]);\n } else if (result === null) {\n hasEdited = true;\n } else {\n hasEdited = hasEdited || result !== value[index];\n newValue.push(result);\n }\n }\n }\n value = newValue;\n } else if (value != null && typeof value.kind === 'string') {\n result = traverse(value, nodeKey, node);\n if (result !== undefined) {\n hasEdited = hasEdited || value !== result;\n value = result;\n }\n }\n\n path.pop();\n if (hasEdited) copy[nodeKey] = value;\n }\n\n if (parent) ancestors.pop();\n const leave =\n (visitor[node.kind] && visitor[node.kind].leave) ||\n (visitor as EnterLeaveVisitor<ASTNode>).leave;\n const resultLeave = leave && leave.call(visitor, node, key, parent, path, ancestors);\n if (resultLeave === BREAK) {\n throw BREAK;\n } else if (resultLeave !== undefined) {\n return resultLeave;\n } else if (resultEnter !== undefined) {\n return hasEdited ? copy : resultEnter;\n } else {\n return hasEdited ? copy : node;\n }\n }\n\n try {\n const result = traverse(node);\n return result !== undefined && result !== false ? result : node;\n } catch (error) {\n if (error !== BREAK) throw error;\n return node;\n }\n}\n\nexport type ASTVisitor = EnterLeaveVisitor<ASTNode> | KindVisitor;\n\ntype KindVisitor = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: ASTVisitFn<NodeT> | EnterLeaveVisitor<NodeT>;\n};\n\ninterface EnterLeaveVisitor<TVisitedNode extends ASTNode> {\n readonly enter?: ASTVisitFn<TVisitedNode> | undefined;\n readonly leave?: ASTVisitFn<TVisitedNode> | undefined;\n}\n\nexport type ASTVisitFn<Node extends ASTNode> = (\n node: Node,\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => any;\n\nexport type ASTReducer<R> = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: {\n readonly enter?: ASTVisitFn<NodeT>;\n readonly leave: ASTReducerFn<NodeT, R>;\n };\n};\n\ntype ASTReducerFn<TReducedNode extends ASTNode, R> = (\n node: { [K in keyof TReducedNode]: ReducedField<TReducedNode[K], R> },\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => R;\n\ntype ReducedField<T, R> = T extends null | undefined\n ? T\n : T extends ReadonlyArray<any>\n ? ReadonlyArray<R>\n : R;\n","import { ASTNode } from './ast';\n\nexport function printString(string: string) {\n return JSON.stringify(string);\n}\n\nexport function printBlockString(string: string) {\n return '\"\"\"\\n' + string.replace(/\"\"\"/g, '\\\\\"\"\"') + '\\n\"\"\"';\n}\n\nconst hasItems = <T>(array: ReadonlyArray<T> | undefined | null): array is ReadonlyArray<T> =>\n !!(array && array.length);\n\nconst MAX_LINE_LENGTH = 80;\n\nconst nodes: {\n [NodeT in ASTNode as NodeT['kind']]?: (node: NodeT) => string;\n} = {\n OperationDefinition(node) {\n if (\n node.operation === 'query' &&\n !node.name &&\n !hasItems(node.variableDefinitions) &&\n !hasItems(node.directives)\n ) {\n return nodes.SelectionSet!(node.selectionSet);\n }\n let out: string = node.operation;\n if (node.name) out += ' ' + node.name.value;\n if (hasItems(node.variableDefinitions)) {\n if (!node.name) out += ' ';\n out += '(' + node.variableDefinitions.map(nodes.VariableDefinition!).join(', ') + ')';\n }\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + nodes.SelectionSet!(node.selectionSet);\n },\n VariableDefinition(node) {\n let out = nodes.Variable!(node.variable) + ': ' + print(node.type);\n if (node.defaultValue) out += ' = ' + print(node.defaultValue);\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out;\n },\n Field(node) {\n let out = (node.alias ? node.alias.value + ': ' : '') + node.name.value;\n if (hasItems(node.arguments)) {\n const args = node.arguments.map(nodes.Argument!);\n const argsLine = out + '(' + args.join(', ') + ')';\n out =\n argsLine.length > MAX_LINE_LENGTH\n ? out + '(\\n ' + args.join('\\n').replace(/\\n/g, '\\n ') + '\\n)'\n : argsLine;\n }\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return node.selectionSet ? out + ' ' + nodes.SelectionSet!(node.selectionSet) : out;\n },\n StringValue(node) {\n return node.block ? printBlockString(node.value) : printString(node.value);\n },\n BooleanValue(node) {\n return '' + node.value;\n },\n NullValue(_node) {\n return 'null';\n },\n IntValue(node) {\n return node.value;\n },\n FloatValue(node) {\n return node.value;\n },\n EnumValue(node) {\n return node.value;\n },\n Name(node) {\n return node.value;\n },\n Variable(node) {\n return '$' + node.name.value;\n },\n ListValue(node) {\n return '[' + node.values.map(print).join(', ') + ']';\n },\n ObjectValue(node) {\n return '{' + node.fields.map(nodes.ObjectField!).join(', ') + '}';\n },\n ObjectField(node) {\n return node.name.value + ': ' + print(node.value);\n },\n Document(node) {\n return hasItems(node.definitions) ? node.definitions.map(print).join('\\n\\n') : '';\n },\n SelectionSet(node) {\n return '{\\n ' + node.selections.map(print).join('\\n').replace(/\\n/g, '\\n ') + '\\n}';\n },\n Argument(node) {\n return node.name.value + ': ' + print(node.value);\n },\n FragmentSpread(node) {\n let out = '...' + node.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out;\n },\n InlineFragment(node) {\n let out = '...';\n if (node.typeCondition) out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + print(node.selectionSet);\n },\n FragmentDefinition(node) {\n let out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + print(node.selectionSet);\n },\n Directive(node) {\n let out = '@' + node.name.value;\n if (hasItems(node.arguments)) out += '(' + node.arguments.map(nodes.Argument!).join(', ') + ')';\n return out;\n },\n NamedType(node) {\n return node.name.value;\n },\n ListType(node) {\n return '[' + print(node.type) + ']';\n },\n NonNullType(node) {\n return print(node.type) + '!';\n },\n};\n\nexport function print(node: ASTNode): string {\n return nodes[node.kind] ? nodes[node.kind]!(node as any) : '';\n}\n","import { TypeNode, ValueNode } from './ast';\nimport { Maybe } from './types';\n\nexport function valueFromASTUntyped(\n node: ValueNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n switch (node.kind) {\n case 'NullValue':\n return null;\n case 'IntValue':\n return parseInt(node.value, 10);\n case 'FloatValue':\n return parseFloat(node.value);\n case 'StringValue':\n case 'EnumValue':\n case 'BooleanValue':\n return node.value;\n case 'ListValue': {\n const values: unknown[] = [];\n for (const value of node.values) values.push(valueFromASTUntyped(value, variables));\n return values;\n }\n case 'ObjectValue': {\n const obj = Object.create(null);\n for (const field of node.fields)\n obj[field.name.value] = valueFromASTUntyped(field.value, variables);\n return obj;\n }\n case 'Variable':\n return variables && variables[node.name.value];\n }\n}\n\nexport function valueFromTypeNode(\n node: ValueNode,\n type: TypeNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n if (node.kind === 'Variable') {\n const variableName = node.name.value;\n return variables ? valueFromTypeNode(variables[variableName], type, variables) : undefined;\n } else if (type.kind === 'NonNullType') {\n return node.kind !== 'NullValue' ? valueFromTypeNode(node, type, variables) : undefined;\n } else if (node.kind === 'NullValue') {\n return null;\n } else if (type.kind === 'ListType') {\n if (node.kind === 'ListValue') {\n const values: unknown[] = [];\n for (const value of node.values) {\n const coerced = valueFromTypeNode(value, type.type, variables);\n if (coerced === undefined) {\n return undefined;\n } else {\n values.push(coerced);\n }\n }\n return values;\n }\n } else if (type.kind === 'NamedType') {\n switch (type.name.value) {\n case 'Int':\n case 'Float':\n case 'String':\n case 'Bool':\n return type.name.value + 'Value' === node.kind\n ? valueFromASTUntyped(node, variables)\n : undefined;\n default:\n return valueFromASTUntyped(node, variables);\n }\n }\n}\n","export const Kind = {\n NAME: 'Name',\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n DIRECTIVE: 'Directive',\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n\n /*\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n SCHEMA_EXTENSION: 'SchemaExtension',\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension',\n */\n};\n\nexport const OperationTypeNode = {\n QUERY: 'query',\n MUTATION: 'mutation',\n SUBSCRIPTION: 'subscription',\n};\n"],"names":["GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","let","_extensions","const","originalExtensions","toJSON","toString","toStringTag","Symbol","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","lines","split","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","length","i","replace","ignored","char","charCodeAt","nameRe","match","value","constRe","variableRe","intRe","floatRe","complexStringRe","blockStringRe","stringRe","constant","block","JSON","parse","list","values","push","object","fields","_name","_value","arguments_","args","directives","arguments","field","_alias","alias","selectionSet","type","_type","typeConditionRe","typeCondition","fragmentSpreadRe","fragmentSpread","_idx","_typeCondition","_directives","_selectionSet","selections","fragmentDefinitionRe","fragmentDefinition","operationDefinitionRe","operationDefinition","_operation","_variableDefinitions","variableDefinitions","vars","_defaultValue","variable","defaultValue","operation","BREAK","printString","stringify","printBlockString","hasItems","array","OperationDefinition","node","SelectionSet","map","VariableDefinition","join","Directive","Variable","print","Field","Argument","argsLine","StringValue","BooleanValue","NullValue","_node","IntValue","FloatValue","EnumValue","Name","ListValue","ObjectValue","ObjectField","Document","definitions","FragmentSpread","InlineFragment","FragmentDefinition","NamedType","ListType","NonNullType","valueFromASTUntyped","variables","parseInt","parseFloat","obj","Object","create","i$1","list$1","NAME","DOCUMENT","OPERATION_DEFINITION","VARIABLE_DEFINITION","SELECTION_SET","FIELD","ARGUMENT","FRAGMENT_SPREAD","INLINE_FRAGMENT","FRAGMENT_DEFINITION","VARIABLE","INT","FLOAT","STRING","BOOLEAN","NULL","ENUM","LIST","OBJECT","OBJECT_FIELD","DIRECTIVE","NAMED_TYPE","LIST_TYPE","NON_NULL_TYPE","QUERY","MUTATION","SUBSCRIPTION","_options","body","document","parseType","parseValue","valueFromTypeNode","undefined","coerced","visit","visitor","ancestors","result","traverse","key","parent","hasEdited","enter","resultEnter","call","copy","nodeKey","newValue","index","pop","leave","resultLeave"],"mappings":";;;;AAGA,MAAAA,qBAAAC;EASAC,YACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC;IAEAC,MAAAP;IAEAQ,KAAAC,OAAA;IACAD,KAAAR,UAAAA;IAEA,IAAAI;MAAAI,KAAAJ,OAAAA;;IACA,IAAAH;MAAAO,KAAAP,QAAAS,MAAAC,QAAAV,KAAAA,IAAA,EAAAA;;IACA,IAAAC;MAAAM,KAAAN,SAAAA;;IACA,IAAAC;MAAAK,KAAAL,YAAAA;;IACA,IAAAE;MAAAG,KAAAH,gBAAAA;;IAEAO,IAAAC,IAAAP;IACA,KAAAO,KAAAR,GAAA;MACAS,IAAAC,IAAA,EAAAT;MACA,IAAAS,KAAA,mBAAAA;QACAF,IAAAE;;AAEA;IAEAP,KAAAF,aAAAO,KAAA;AACA;EAEAG;IACA,OAAA;SAAAR;;AACA;EAEAS;IACA,OAAAT,KAAAR;AACA;EAEAkB,KAAAC,OAAAD;IACA,OAAA;AACA;;;AC1CAN,IAAAQ;;AACAR,IAAAS;;AAEA,SAAAC,MAAAC;EACA,OAAA,IAAA1B,aAAA,qCAAAwB,QAAAE;AACA;;AAEA,SAAAC,QAAAC;EACAA,EAAAC,YAAAL;EACA,IAAAI,EAAAE,KAAAP,IAAA;IAEA,OADAA,EAAAQ,MAAAP,GAAAA,IAAAI,EAAAC;AAEA;AACA;;AAEAZ,IAAAe,IAAA;;AACA,SAAAC,YAAAC;EACAjB,IAAAkB,IAAAD,EAAAE,MAAA;EACArB,IAAAsB,IAAA;EACAtB,IAAAuB,IAAA;EACAvB,IAAAwB,IAAA;EACAxB,IAAAyB,IAAAL,EAAAM,SAAA;EACA,KAAA1B,IAAA2B,IAAA,GAAAA,IAAAP,EAAAM,QAAAC,KAAA;IACAV,EAAAH,YAAA;IACA,IAAAG,EAAAF,KAAAK,EAAAO,KAAA;MACA,IAAAA,OAAAJ,KAAAN,EAAAH,YAAAS;QACAA,IAAAN,EAAAH;;MACAU,IAAAA,KAAAG;MACAF,IAAAE;AACA;AACA;EACA,KAAA3B,IAAA2B,IAAAH,GAAAG,KAAAF,GAAAE,KAAA;IACA,IAAAA,MAAAH;MAAAF,KAAA;;IACAA,KAAAF,EAAAO,GAAAX,MAAAO,GAAAK,QAAA,UAAA;AACA;EACA,OAAAN;AACA;;AAGA,SAAAO;EACA,KACA7B,IAAA8B,IAAA,IAAAtB,EAAAuB,WAAAtB,MACA,MAAAqB,KACA,OAAAA,KACA,OAAAA,KACA,OAAAA,KACA,OAAAA,KACA,OAAAA,KACA,UAAAA,GACAA,IAAA,IAAAtB,EAAAuB,WAAAtB;IAEA,IAAA,OAAAqB;MAAA,OAAA,QAAAA,IAAAtB,EAAAuB,WAAAtB,SAAA,OAAAqB;;;EAEArB;AACA;;AAEAP,IAAA8B,IAAA;;AACA,SAAAnC;EACAG,IAAAiC;EACA,IAAAA,IAAArB,QAAAoB;IACA,OAAA;MACArB,MAAA;MACAuB,OAAAD;;;AAGA;;AAEA/B,IAAAiC,IAAA;;AACAjC,IAAAkC,IAAA;;AACAlC,IAAAmC,IAAA;;AACAnC,IAAAoC,IAAA;;AACApC,IAAAqC,IAAA;;AACArC,IAAAsC,IAAA;;AACAtC,IAAAuC,IAAA;;AAKA,SAAAP,MAAAQ;EACA1C,IAAAsB;EACAtB,IAAAiC;EACA,IAAAA,IAAArB,QAAAuB;IACAb,IACA,WAAAW,IACA;MACAtB,MAAA;QAEA;MACAA,MAAA;MACAuB,OAAA,WAAAD;;SAEA,KAAAS,MAAAT,IAAArB,QAAAwB;IACAd,IAAA;MACAX,MAAA;MACAd,MAAA;QACAc,MAAA;QACAuB,OAAAD,EAAAjB,MAAA;;;SAGA,IAAAiB,IAAArB,QAAA0B;IACAhB,IAAA;MACAX,MAAA;MACAuB,OAAAD;;SAEA,IAAAA,IAAArB,QAAAyB;IACAf,IAAA;MACAX,MAAA;MACAuB,OAAAD;;SAEA,IAAAA,IAAArB,QAAAoB;IACAV,IAAA;MACAX,MAAA;MACAuB,OAAAD;;SAEA,IAAAA,IAAArB,QAAA4B;IACAlB,IAAA;MACAX,MAAA;MACAuB,OAAAhB,YAAAe,EAAAjB,MAAA,IAAA;MACA2B,QAAA;;SAEA,IAAAV,IAAArB,QAAA6B;IACAnB,IAAA;MACAX,MAAA;MACAuB,OAAAK,EAAAxB,KAAAkB,KAAAW,KAAAC,MAAAZ,KAAAA,EAAAjB,MAAA,IAAA;MACA2B,QAAA;;SAEA,IAAArB,IAQA,SAAAwB,KAAAJ;IACA1C,IAAAiC;IACA,IAAA,OAAAzB,EAAAuB,WAAAtB,IAAA;MACAA;MACAoB;MACA3B,IAAA6C,IAAA;MACA,OAAAd,IAAAC,MAAAQ;QAAAK,EAAAC,KAAAf;;MACA,IAAA,OAAAzB,EAAAuB,WAAAtB;QAAA,MAAAC,MAAA;;MACAmB;MACA,OAAA;QACAlB,MAAA;QACAoC;;AAEA;AACA,GAtBAD,CAAAJ,MAwBA,SAAAO,OAAAP;IACA,IAAA,QAAAlC,EAAAuB,WAAAtB,IAAA;MACAA;MACAoB;MACA3B,IAAAgD,IAAA;MACAlD,IAAAmD;MACA,OAAAA,IAAAtD,QAAA;QACAgC;QACA,IAAA,OAAArB,EAAAuB,WAAAtB;UAAA,MAAAC,MAAA;;QACAmB;QACA3B,IAAAkD,IAAAlB,MAAAQ;QACA,KAAAU;UAAA,MAAA1C,MAAA;;QACAwC,EAAAF,KAAA;UACArC,MAAA;UACAd,MAAAsD;UACAjB,OAAAkB;;AAEA;MACA,IAAA,QAAA5C,EAAAuB,WAAAtB;QAAA,MAAAC,MAAA;;MACAmB;MACA,OAAA;QACAlB,MAAA;QACAuC;;AAEA;AACA,GAjDAD,CAAAP;IACA,OAAApB;;EAGAO;EACA,OAAAP;AACA;;AA6CA,SAAA+B,WAAAX;EACAxC,IAAAoD,IAAA;EACAzB;EACA,IAAA,OAAArB,EAAAuB,WAAAtB,IAAA;IACAA;IACAoB;IACA7B,IAAAmD;IACA,OAAAA,IAAAtD,QAAA;MACAgC;MACA,IAAA,OAAArB,EAAAuB,WAAAtB;QAAA,MAAAC,MAAA;;MACAmB;MACA3B,IAAAkD,IAAAlB,MAAAQ;MACA,KAAAU;QAAA,MAAA1C,MAAA;;MACA4C,EAAAN,KAAA;QACArC,MAAA;QACAd,MAAAsD;QACAjB,OAAAkB;;AAEA;IACA,KAAAE,EAAA5B,UAAA,OAAAlB,EAAAuB,WAAAtB;MAAA,MAAAC,MAAA;;IACAmB;AACA;EACA,OAAAyB;AACA;;AAKA,SAAAC,WAAAb;EACAxC,IAAAqD,IAAA;EACA1B;EACA,OAAA,OAAArB,EAAAuB,WAAAtB,IAAA;IACAA;IACAP,IAAAiD,IAAAtD;IACA,KAAAsD;MAAA,MAAAzC,MAAA;;IACAmB;IACA0B,EAAAP,KAAA;MACArC,MAAA;MACAd,MAAAsD;MACAK,WAAAH,WAAAX;;AAEA;EACA,OAAAa;AACA;;AAEA,SAAAE;EACAzD,IAAAmD,IAAAtD;EACA,IAAAsD,GAAA;IACAtB;IACA7B,IAAA0D;IACA,IAAA,OAAAlD,EAAAuB,WAAAtB,IAAA;MACAA;MACAoB;MACA6B,IAAAP;MAEA,MADAA,IAAAtD;QACA,MAAAa,MAAA;;MACAmB;AACA;IACA,OAAA;MACAlB,MAAA;MACAgD,OAAAD;MACA7D,MAAAsD;MACAK,WAAAH,YAAA;MACAE,YAAAA,YAAA;MACAK,cAAAA;;AAEA;AACA;;AAEA,SAAAC;EACA7D,IAAAiC;EACAJ;EACA,IAAA,OAAArB,EAAAuB,WAAAtB,IAAA;IACAA;IACAoB;IACA3B,IAAA4D,IAAAD;IACA,KAAAC,KAAA,OAAAtD,EAAAuB,WAAAtB;MAAA,MAAAC,MAAA;;IACAuB,IAAA;MACAtB,MAAA;MACAkD,MAAAC;;AAEA,SAAA,IAAA7B,IAAApC;IACAoC,IAAA;MACAtB,MAAA;MACAd,MAAAoC;;;IAGA,MAAAvB,MAAA;;EAGAmB;EACA,IAAA,OAAArB,EAAAuB,WAAAtB,IAAA;IACAA;IACAoB;IACA,OAAA;MACAlB,MAAA;MACAkD,MAAA5B;;AAEA;IACA,OAAAA;;AAEA;;AAEA/B,IAAA6D,IAAA;;AACA,SAAAC;EACA,IAAApD,QAAAmD,IAAA;IACAlC;IACA3B,IAAAiD,IAAAtD;IACA,KAAAsD;MAAA,MAAAzC,MAAA;;IACAmB;IACA,OAAA;MACAlB,MAAA;MACAd,MAAAsD;;AAEA;AACA;;AAEAjD,IAAA+D,IAAA;;AAEA,SAAAC;EACA,IAAAtD,QAAAqD,IAAA;IACApC;IACA3B,IAAAiE,IAAA1D;IACAT,IAAAmD;IACA,KAAAA,IAAAtD,WAAA,SAAAsD,EAAAjB;MACA,OAAA;QACAvB,MAAA;QACAd,MAAAsD;QACAI,YAAAA,YAAA;;WAEA;MACA9C,IAAA0D;MACAjE,IAAAkE,IAAAJ;MACA9D,IAAAmE,IAAAd,YAAA;MACArD,IAAAoE,IAAAV;MACA,KAAAU;QAAA,MAAA5D,MAAA;;MACA,OAAA;QACAC,MAAA;QACAqD,eAAAI;QACAb,YAAAc;QACAT,cAAAU;;AAEA;AACA;AACA;;AAEA,SAAAV;EACA5D,IAAAiC;EACAJ;EACA,IAAA,QAAArB,EAAAuB,WAAAtB,IAAA;IACAA;IACAoB;IACA3B,IAAAqE,IAAA;IACA,OAAAtC,IAAAiC,oBAAAT;MAAAc,EAAAvB,KAAAf;;IACA,KAAAsC,EAAA7C,UAAA,QAAAlB,EAAAuB,WAAAtB;MAAA,MAAAC,MAAA;;IACAmB;IACA,OAAA;MACAlB,MAAA;MACA4D;;AAEA;AACA;;AA0CArE,IAAAsE,IAAA;;AACA,SAAAC;EACA,IAAA7D,QAAA4D,IAAA;IACA3C;IACA3B,IAAAiD,IAAAtD;IACA,KAAAsD;MAAA,MAAAzC,MAAA;;IACAmB;IACA3B,IAAAkE,IAAAJ;IACA,KAAAI;MAAA,MAAA1D,MAAA;;IACAR,IAAAmE,IAAAd,YAAA;IACArD,IAAAoE,IAAAV;IACA,KAAAU;MAAA,MAAA5D,MAAA;;IACA,OAAA;MACAC,MAAA;MACAd,MAAAsD;MACAa,eAAAI;MACAb,YAAAc;MACAT,cAAAU;;AAEA;AACA;;AAEApE,IAAAwE,IAAA;;AACA,SAAAC;EACA3E,IAAA4E;EACA5E,IAAAmD;EACAnD,IAAA6E,IAAA;EACA7E,IAAAqE,IAAA;EACA,IAAAO,IAAAhE,QAAA8D,IAAA;IACA7C;IACAsB,IAAAtD;IACAgF,IAvEA,SAAAC;MACA9E,IAAAiC;MACA/B,IAAA6E,IAAA;MACAlD;MACA,IAAA,OAAArB,EAAAuB,WAAAtB,IAAA;QACAA;QACAoB;QACA,OAAAI,IAAArB,QAAAwB,IAAA;UACAP;UACA,IAAA,OAAArB,EAAAuB,WAAAtB;YAAA,MAAAC,MAAA;;UACAR,IAAA4D,IAAAD;UACA,KAAAC;YAAA,MAAApD,MAAA;;UACAV,IAAAgF,SAAA;UACA,IAAA,OAAAxE,EAAAuB,WAAAtB,IAAA;YACAA;YACAoB;YAEA,MADAmD,IAAA9C,OAAA;cACA,MAAAxB,MAAA;;AACA;UACAmB;UACAkD,EAAA/B,KAAA;YACArC,MAAA;YACAsE,UAAA;cACAtE,MAAA;cACAd,MAAA;gBACAc,MAAA;gBACAuB,OAAAD,EAAAjB,MAAA;;;YAGA6C,MAAAC;YACAoB,cAAAF;YACAzB,YAAAA,YAAA;;AAEA;QACA,IAAA,OAAA/C,EAAAuB,WAAAtB;UAAA,MAAAC,MAAA;;QACAmB;AACA;MACA,OAAAkD;AACA,KAiCAD;IACAT,IAAAd,YAAA;AACA;EACArD,IAAAoE,IAAAV;EACA,IAAAU;IACA,OAAA;MACA3D,MAAA;MACAwE,WAAAP,KAAA;MACA/E,MAAAsD;MACA2B,qBAAAD;MACAtB,YAAAc;MACAT,cAAAU;;;AAGA;;AClbA,IAAAc,IAAA,CAAA;;ACAA,SAAAC,YAAAlE;EACA,OAAAyB,KAAA0C,UAAAnE;AACA;;AAEA,SAAAoE,iBAAApE;EACA,OAAA,UAAAA,EAAAS,QAAA,QAAA,WAAA;AACA;;AAEA1B,IAAAsF,WAAAC,QACAA,MAAAA,EAAA/D;;AAIAxB,IAAAb,IAEA;EACAqG,oBAAAC;IACA,IACA,YAAAA,EAAAR,cACAQ,EAAA9F,SACA2F,SAAAG,EAAAb,yBACAU,SAAAG,EAAApC;MAEA,OAAAlE,EAAAuG,aAAAD,EAAA/B;;IAEA5D,IAAAsB,IAAAqE,EAAAR;IACA,IAAAQ,EAAA9F;MAAAyB,KAAA,MAAAqE,EAAA9F,KAAAqC;;IACA,IAAAsD,SAAAG,EAAAb,sBAAA;MACA,KAAAa,EAAA9F;QAAAyB,KAAA;;MACAA,KAAA,MAAAqE,EAAAb,oBAAAe,IAAAxG,EAAAyG,oBAAAC,KAAA,QAAA;AACA;IACA,IAAAP,SAAAG,EAAApC;MAAAjC,KAAA,MAAAqE,EAAApC,WAAAsC,IAAAxG,EAAA2G,WAAAD,KAAA;;IACA,OAAAzE,IAAA,MAAAjC,EAAAuG,aAAAD,EAAA/B;AACA;EACAkC,mBAAAH;IACA3F,IAAAsB,IAAAjC,EAAA4G,SAAAN,EAAAV,YAAA,OAAAiB,MAAAP,EAAA9B;IACA,IAAA8B,EAAAT;MAAA5D,KAAA,QAAA4E,MAAAP,EAAAT;;IACA,IAAAM,SAAAG,EAAApC;MAAAjC,KAAA,MAAAqE,EAAApC,WAAAsC,IAAAxG,EAAA2G,WAAAD,KAAA;;IACA,OAAAzE;AACA;EACA6E,MAAAR;IACA3F,IAAAsB,KAAAqE,EAAAhC,QAAAgC,EAAAhC,MAAAzB,QAAA,OAAA,MAAAyD,EAAA9F,KAAAqC;IACA,IAAAsD,SAAAG,EAAAnC,YAAA;MACAtD,IAAAoD,IAAAqC,EAAAnC,UAAAqC,IAAAxG,EAAA+G;MACAlG,IAAAmG,IAAA/E,IAAA,MAAAgC,EAAAyC,KAAA,QAAA;MACAzE,IACA+E,EAAA3E,SAnCA,KAoCAJ,IAAA,UAAAgC,EAAAyC,KAAA,MAAAnE,QAAA,OAAA,UAAA,QACAyE;AACA;IACA,IAAAb,SAAAG,EAAApC;MAAAjC,KAAA,MAAAqE,EAAApC,WAAAsC,IAAAxG,EAAA2G,WAAAD,KAAA;;IACA,OAAAJ,EAAA/B,eAAAtC,IAAA,MAAAjC,EAAAuG,aAAAD,EAAA/B,gBAAAtC;AACA;EACAgF,aAAAX,KACAA,EAAAhD,QAAA4C,iBAAAI,EAAAzD,SAAAmD,YAAAM,EAAAzD;EAEAqE,cAAAZ,KACA,KAAAA,EAAAzD;EAEAsE,WAAAC,KACA;EAEAC,UAAAf,KACAA,EAAAzD;EAEAyE,YAAAhB,KACAA,EAAAzD;EAEA0E,WAAAjB,KACAA,EAAAzD;EAEA2E,MAAAlB,KACAA,EAAAzD;EAEA+D,UAAAN,KACA,MAAAA,EAAA9F,KAAAqC;EAEA4E,WAAAnB,KACA,MAAAA,EAAA5C,OAAA8C,IAAAK,OAAAH,KAAA,QAAA;EAEAgB,aAAApB,KACA,MAAAA,EAAAzC,OAAA2C,IAAAxG,EAAA2H,aAAAjB,KAAA,QAAA;EAEAiB,aAAArB,KACAA,EAAA9F,KAAAqC,QAAA,OAAAgE,MAAAP,EAAAzD;EAEA+E,UAAAtB,KACAH,SAAAG,EAAAuB,eAAAvB,EAAAuB,YAAArB,IAAAK,OAAAH,KAAA,UAAA;EAEAH,cAAAD,KACA,UAAAA,EAAApB,WAAAsB,IAAAK,OAAAH,KAAA,MAAAnE,QAAA,OAAA,UAAA;EAEAwE,UAAAT,KACAA,EAAA9F,KAAAqC,QAAA,OAAAgE,MAAAP,EAAAzD;EAEAiF,eAAAxB;IACA3F,IAAAsB,IAAA,QAAAqE,EAAA9F,KAAAqC;IACA,IAAAsD,SAAAG,EAAApC;MAAAjC,KAAA,MAAAqE,EAAApC,WAAAsC,IAAAxG,EAAA2G,WAAAD,KAAA;;IACA,OAAAzE;AACA;EACA8F,eAAAzB;IACA3F,IAAAsB,IAAA;IACA,IAAAqE,EAAA3B;MAAA1C,KAAA,SAAAqE,EAAA3B,cAAAnE,KAAAqC;;IACA,IAAAsD,SAAAG,EAAApC;MAAAjC,KAAA,MAAAqE,EAAApC,WAAAsC,IAAAxG,EAAA2G,WAAAD,KAAA;;IACA,OAAAzE,IAAA,MAAA4E,MAAAP,EAAA/B;AACA;EACAyD,mBAAA1B;IACA3F,IAAAsB,IAAA,cAAAqE,EAAA9F,KAAAqC;IACAZ,KAAA,SAAAqE,EAAA3B,cAAAnE,KAAAqC;IACA,IAAAsD,SAAAG,EAAApC;MAAAjC,KAAA,MAAAqE,EAAApC,WAAAsC,IAAAxG,EAAA2G,WAAAD,KAAA;;IACA,OAAAzE,IAAA,MAAA4E,MAAAP,EAAA/B;AACA;EACAoC,UAAAL;IACA3F,IAAAsB,IAAA,MAAAqE,EAAA9F,KAAAqC;IACA,IAAAsD,SAAAG,EAAAnC;MAAAlC,KAAA,MAAAqE,EAAAnC,UAAAqC,IAAAxG,EAAA+G,UAAAL,KAAA,QAAA;;IACA,OAAAzE;AACA;EACAgG,WAAA3B,KACAA,EAAA9F,KAAAqC;EAEAqF,UAAA5B,KACA,MAAAO,MAAAP,EAAA9B,QAAA;EAEA2D,aAAA7B,KACAO,MAAAP,EAAA9B,QAAA;;;AAIA,SAAAqC,MAAAP;EACA,OAAAtG,EAAAsG,EAAAhF,QAAAtB,EAAAsG,EAAAhF,MAAAgF,KAAA;AACA;;ACjIA,SAAA8B,oBACA9B,GACA+B;EAEA,QAAA/B,EAAAhF;GACA,KAAA;IACA,OAAA;;GACA,KAAA;IACA,OAAAgH,SAAAhC,EAAAzD,OAAA;;GACA,KAAA;IACA,OAAA0F,WAAAjC,EAAAzD;;GACA,KAAA;GACA,KAAA;GACA,KAAA;IACA,OAAAyD,EAAAzD;;GACA,KAAA;IACAhC,IAAA6C,IAAA;IACA,KAAA,IAAApB,IAAA,GAAAmB,IAAA6C,EAAA5C,QAAApB,IAAAmB,EAAApB,QAAAC,KAAA,GAAA;MAAAoB,EAAAC,KAAAyE,oBAAA3E,EAAAnB,IAAA+F;AAAA;IACA,OAAA3E;;GAEA,KAAA;IACA7C,IAAA2H,IAAAC,OAAAC,OAAA;IACA,KAAA,IAAAC,IAAA,GAAAC,IAAAtC,EAAAzC,QAAA8E,IAAAC,EAAAvG,QAAAsG,KAAA,GACA;MADA9H,IAAAuD,IAAAwE,EAAAD;MACAH,EAAApE,EAAA5D,KAAAqC,SAAAuF,oBAAAhE,EAAAvB,OAAAwF;AAAA;IACA,OAAAG;;GAEA,KAAA;IACA,OAAAH,KAAAA,EAAA/B,EAAA9F,KAAAqC;;AAEA;;;;;;eChCA;EACAgG,MAAA;EACAC,UAAA;EACAC,sBAAA;EACAC,qBAAA;EACAC,eAAA;EACAC,OAAA;EACAC,UAAA;EACAC,iBAAA;EACAC,iBAAA;EACAC,qBAAA;EACAC,UAAA;EACAC,KAAA;EACAC,OAAA;EACAC,QAAA;EACAC,SAAA;EACAC,MAAA;EACAC,MAAA;EACAC,MAAA;EACAC,QAAA;EACAC,cAAA;EACAC,WAAA;EACAC,YAAA;EACAC,WAAA;EACAC,eAAA;;;4BAyBA;EACAC,OAAA;EACAC,UAAA;EACAC,cAAA;;;;;gBJkZA,SAAA/G,MACA1B,GACA0I;EAEArJ,IAAA,mBAAAW,EAAA2I,OAAA3I,EAAA2I,OAAA3I;EACAV,IAAA;EACA,OAtBA,SAAAsJ;IACA/J,IAAAiC;IACAJ;IACA3B,IAAAgH,IAAA;IACA,OAAAjF,IAAAwC,wBAAAE;MAAAuC,EAAAlE,KAAAf;;IACA,IAAAxB,MAAAD,EAAAkB;MAAA,MAAAhB,MAAA;;IACA,OAAA;MACAC,MAAA;MACAuG;;AAEA,GAYA6C;AACA;;oBAcA,SAAAC,UACA7I,GACA0I;EAEArJ,IAAA,mBAAAW,EAAA2I,OAAA3I,EAAA2I,OAAA3I;EACAV,IAAA;EACAP,IAAA4D,IAAAD;EACA,KAAAC;IAAA,MAAApD,MAAA;;EACA,OAAAoD;AACA;;qBArBA,SAAAmG,WACA9I,GACA0I;EAEArJ,IAAA,mBAAAW,EAAA2I,OAAA3I,EAAA2I,OAAA3I;EACAV,IAAA;EACAoB;EACA3B,IAAAkD,IAAAlB,OAAA;EACA,KAAAkB;IAAA,MAAA1C,MAAA;;EACA,OAAA0C;AACA;;;;;;;;;;4BGvbA,SAAA8G,kBACAvE,GACA9B,GACA6D;EAEA,IAAA,eAAA/B,EAAAhF,MAAA;IAEA,OAAA+G,IAAAwC,kBAAAxC,EADA/B,EAAA9F,KAAAqC,QACA2B,GAAA6D,UAAAyC;AACA,SAAA,IAAA,kBAAAtG,EAAAlD;IACA,OAAA,gBAAAgF,EAAAhF,OAAAuJ,kBAAAvE,GAAA9B,GAAA6D,UAAAyC;SACA,IAAA,gBAAAxE,EAAAhF;IACA,OAAA;SACA,IAAA,eAAAkD,EAAAlD;IACA,IAAA,gBAAAgF,EAAAhF,MAAA;MACAT,IAAA6C,IAAA;MACA,KAAA,IAAApB,IAAA,GAAAmB,IAAA6C,EAAA5C,QAAApB,IAAAmB,EAAApB,QAAAC,KAAA,GAAA;QACAzB,IAAAkK,IAAAF,kBADApH,EAAAnB,IACAkC,EAAAA,MAAA6D;QACA,SAAAyC,MAAAC;UACA;;UAEArH,EAAAC,KAAAoH;;AAEA;MACA,OAAArH;AACA;SACA,IAAA,gBAAAc,EAAAlD;IACA,QAAAkD,EAAAhE,KAAAqC;KACA,KAAA;KACA,KAAA;KACA,KAAA;KACA,KAAA;MACA,OAAA2B,EAAAhE,KAAAqC,QAAA,YAAAyD,EAAAhF,OACA8G,oBAAA9B,GAAA+B,UACAyC;;KACA;MACA,OAAA1C,oBAAA9B,GAAA+B;;;AAGA;;gBFjEA,SAAA2C,MAAA1E,GAAA2E;EACApK,IAAAqK,IAAA;EACArK,IAAAV,IAAA;EAgFA;IACAU,IAAAsK,IA/EA,SAAAC,SACA9E,GACA+E,GACAC;MAEA3K,IAAA4K,KAAA;MAEA1K,IAAA2K,IACAP,EAAA3E,EAAAhF,SAAA2J,EAAA3E,EAAAhF,MAAAkK,SACAP,EAAA3E,EAAAhF,SACA,EAAAkK;MACA3K,IAAA4K,IAAAD,KAAAA,EAAAE,KAAAT,GAAA3E,GAAA+E,GAAAC,GAAAnL,GAAA+K;MACA,KAAA,MAAAO;QACA,OAAAnF;aACA,IAAA,SAAAmF;QACA,OAAA;aACA,IAAAA,MAAA1F;QACA,MAAAA;aACA,IAAA0F,KAAA,mBAAAA,EAAAnK,MAAA;QACAiK,IAAAE,MAAAnF;QACAA,IAAAmF;AACA;MAEA,IAAAH;QAAAJ,EAAAvH,KAAA2H;;MAEA3K,IAAAwK;MACAtK,IAAA8K,IAAA;WAAArF;;MACA,KAAAzF,IAAA+K,KAAAtF,GAAA;QACAnG,EAAAwD,KAAAiI;QACAjL,IAAAkC,IAAAyD,EAAAsF;QACA,IAAAnL,MAAAC,QAAAmC,IAAA;UACAhC,IAAAgL,IAAA;UACA,KAAAlL,IAAAmL,IAAA,GAAAA,IAAAjJ,EAAAR,QAAAyJ;YACA,IAAA,QAAAjJ,EAAAiJ,MAAA,mBAAAjJ,EAAAiJ,GAAAxK,MAAA;cACA4J,EAAAvH,KAAA2C;cACAnG,EAAAwD,KAAAmI;cACAX,IAAAC,SAAAvI,EAAAiJ,IAAAA,GAAAjJ;cACA1C,EAAA4L;cACAb,EAAAa;cACA,SAAAjB,MAAAK;gBACAU,EAAAlI,KAAAd,EAAAiJ;qBACA,IAAA,SAAAX;gBACAI,KAAA;qBACA;gBACAA,IAAAA,KAAAJ,MAAAtI,EAAAiJ;gBACAD,EAAAlI,KAAAwH;AACA;AACA;;UAEAtI,IAAAgJ;AACA,eAAA,IAAA,QAAAhJ,KAAA,mBAAAA,EAAAvB;UAEA,SAAAwJ,OADAK,IAAAC,SAAAvI,GAAA+I,GAAAtF,KACA;YACAiF,IAAAA,KAAA1I,MAAAsI;YACAtI,IAAAsI;AACA;;QAGAhL,EAAA4L;QACA,IAAAR;UAAAI,EAAAC,KAAA/I;;AACA;MAEA,IAAAyI;QAAAJ,EAAAa;;MACAlL,IAAAmL,IACAf,EAAA3E,EAAAhF,SAAA2J,EAAA3E,EAAAhF,MAAA0K,SACA,EAAAA;MACAnL,IAAAoL,IAAAD,KAAAA,EAAAN,KAAAT,GAAA3E,GAAA+E,GAAAC,GAAAnL,GAAA+K;MACA,IAAAe,MAAAlG;QACA,MAAAA;aACA,SAAA+E,MAAAmB;QACA,OAAAA;aACA,SAAAnB,MAAAW;QACA,OAAAF,IAAAI,IAAAF;;QAEA,OAAAF,IAAAI,IAAArF;;AAEA,KAGA8E,CAAA9E;IACA,YAAAwE,MAAAK,MAAA,MAAAA,IAAAA,IAAA7E;AACA,IAAA,OAAAjF;IACA,IAAAA,MAAA0E;MAAA,MAAA1E;;IACA,OAAAiF;AACA;AACA"}
1
+ {"version":3,"file":"graphql.web.js","sources":["../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts","../src/values.ts","../src/kind.js"],"sourcesContent":["import { Maybe, Extensions, Source } from './types';\nimport { ASTNode } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: ReadonlyArray<any> | undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<any> | undefined;\n readonly source: Source | undefined;\n readonly positions: ReadonlyArray<number> | undefined;\n readonly originalError: Error | undefined;\n readonly extensions: Extensions;\n\n constructor(\n message: string,\n nodes?: ReadonlyArray<ASTNode> | ASTNode | null,\n source?: Maybe<Source>,\n positions?: Maybe<ReadonlyArray<number>>,\n path?: Maybe<ReadonlyArray<string | number>>,\n originalError?: Maybe<Error>,\n extensions?: Maybe<Extensions>\n ) {\n super(message);\n\n this.name = 'GraphQLError';\n this.message = message;\n\n if (path) this.path = path;\n if (nodes) this.nodes = (Array.isArray(nodes) ? nodes : [nodes]) as ASTNode[];\n if (source) this.source = source;\n if (positions) this.positions = positions;\n if (originalError) this.originalError = originalError;\n\n let _extensions = extensions;\n if (!_extensions && originalError) {\n const originalExtensions = (originalError as any).extensions;\n if (originalExtensions && typeof originalExtensions === 'object') {\n _extensions = originalExtensions;\n }\n }\n\n this.extensions = _extensions || {};\n }\n\n toJSON(): any {\n return { ...this, message: this.message };\n }\n\n toString() {\n return this.message;\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLError';\n }\n}\n","/**\n * This is a spec-compliant implementation of a GraphQL query language parser,\n * up-to-date with the October 2021 Edition. Unlike the reference implementation\n * in graphql.js it will only parse the query language, but not the schema\n * language.\n */\nimport { Kind, OperationTypeNode } from './kind';\nimport { GraphQLError } from './error';\nimport { Source } from './types';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: string) {\n return new GraphQLError(`Syntax Error: Unexpected token at ${idx} in ${kind}`);\n}\n\nfunction advance(pattern: RegExp) {\n pattern.lastIndex = idx;\n if (pattern.test(input)) {\n const match = input.slice(idx, (idx = pattern.lastIndex));\n return match;\n }\n}\n\nconst leadingRe = / +(?=[^\\s])/y;\nfunction blockString(string: string) {\n const lines = string.split('\\n');\n let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = lines.length - 1;\n for (let i = 0; i < lines.length; i++) {\n leadingRe.lastIndex = 0;\n if (leadingRe.test(lines[i])) {\n if (i && (!commonIndent || leadingRe.lastIndex < commonIndent))\n commonIndent = leadingRe.lastIndex;\n firstNonEmptyLine = firstNonEmptyLine || i;\n lastNonEmptyLine = i;\n }\n }\n for (let i = firstNonEmptyLine; i <= lastNonEmptyLine; i++) {\n if (i !== firstNonEmptyLine) out += '\\n';\n out += lines[i].slice(commonIndent).replace(/\\\\\"\"\"/g, '\"\"\"');\n }\n return out;\n}\n\n// Note: This is equivalent to: /(?:[\\s,]*|#[^\\n\\r]*)*/y\nfunction ignored() {\n for (\n let char = input.charCodeAt(idx++) | 0;\n char === 9 /*'\\t'*/ ||\n char === 10 /*'\\n'*/ ||\n char === 13 /*'\\r'*/ ||\n char === 32 /*' '*/ ||\n char === 35 /*'#'*/ ||\n char === 44 /*','*/ ||\n char === 65279 /*'\\ufeff'*/;\n char = input.charCodeAt(idx++) | 0\n ) {\n if (char === 35 /*'#'*/) while ((char = input.charCodeAt(idx++)) !== 10 && char !== 13);\n }\n idx--;\n}\n\nconst nameRe = /[_\\w][_\\d\\w]*/y;\nfunction name(): ast.NameNode | undefined {\n let match: string | undefined;\n if ((match = advance(nameRe))) {\n return {\n kind: 'Name' as Kind.NAME,\n value: match,\n };\n }\n}\n\nconst constRe = /null|true|false/y;\nconst variableRe = /\\$[_\\w][_\\d\\w]*/y;\nconst intRe = /-?\\d+/y;\nconst floatPartRe = /(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/y;\nconst complexStringRe = /\\\\/g;\nconst blockStringRe = /\"\"\"(?:[\\s\\S]+(?=\"\"\"))?\"\"\"/y;\nconst stringRe = /\"(?:[^\"\\r\\n]+)?\"/y;\n\nfunction value(constant: true): ast.ConstValueNode;\nfunction value(constant: boolean): ast.ValueNode;\n\nfunction value(constant: boolean): ast.ValueNode | undefined {\n let out: ast.ValueNode | undefined;\n let match: string | undefined;\n if ((match = advance(constRe))) {\n out =\n match === 'null'\n ? {\n kind: 'NullValue' as Kind.NULL,\n }\n : {\n kind: 'BooleanValue' as Kind.BOOLEAN,\n value: match === 'true',\n };\n } else if (!constant && (match = advance(variableRe))) {\n out = {\n kind: 'Variable' as Kind.VARIABLE,\n name: {\n kind: 'Name' as Kind.NAME,\n value: match.slice(1),\n },\n };\n } else if ((match = advance(intRe))) {\n const intPart = match;\n if ((match = advance(floatPartRe))) {\n out = {\n kind: 'FloatValue' as Kind.FLOAT,\n value: intPart + match,\n };\n } else {\n out = {\n kind: 'IntValue' as Kind.INT,\n value: intPart,\n };\n }\n } else if ((match = advance(nameRe))) {\n out = {\n kind: 'EnumValue' as Kind.ENUM,\n value: match,\n };\n } else if ((match = advance(blockStringRe))) {\n out = {\n kind: 'StringValue' as Kind.STRING,\n value: blockString(match.slice(3, -3)),\n block: true,\n };\n } else if ((match = advance(stringRe))) {\n out = {\n kind: 'StringValue' as Kind.STRING,\n value: complexStringRe.test(match) ? (JSON.parse(match) as string) : match.slice(1, -1),\n block: false,\n };\n } else if ((out = list(constant) || object(constant))) {\n return out;\n }\n\n ignored();\n return out;\n}\n\nfunction list(constant: boolean): ast.ListValueNode | undefined {\n let match: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const values: ast.ValueNode[] = [];\n while ((match = value(constant))) values.push(match);\n if (input.charCodeAt(idx++) !== 93 /*']'*/) throw error('ListValue');\n ignored();\n return {\n kind: 'ListValue' as Kind.LIST,\n values,\n };\n }\n}\n\nfunction object(constant: boolean): ast.ObjectValueNode | undefined {\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const fields: ast.ObjectFieldNode[] = [];\n let _name: ast.NameNode | undefined;\n while ((_name = name())) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('ObjectField' as Kind.OBJECT_FIELD);\n ignored();\n const _value = value(constant);\n if (!_value) throw error('ObjectField');\n fields.push({\n kind: 'ObjectField' as Kind.OBJECT_FIELD,\n name: _name,\n value: _value,\n });\n }\n if (input.charCodeAt(idx++) !== 125 /*'}'*/) throw error('ObjectValue');\n ignored();\n return {\n kind: 'ObjectValue' as Kind.OBJECT,\n fields,\n };\n }\n}\n\nfunction arguments_(constant: boolean): ast.ArgumentNode[] {\n const args: ast.ArgumentNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n let _name: ast.NameNode | undefined;\n while ((_name = name())) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('Argument');\n ignored();\n const _value = value(constant);\n if (!_value) throw error('Argument');\n args.push({\n kind: 'Argument' as Kind.ARGUMENT,\n name: _name,\n value: _value,\n });\n }\n if (!args.length || input.charCodeAt(idx++) !== 41 /*')'*/) throw error('Argument');\n ignored();\n }\n return args;\n}\n\nfunction directives(constant: true): ast.ConstDirectiveNode[];\nfunction directives(constant: boolean): ast.DirectiveNode[];\n\nfunction directives(constant: boolean): ast.DirectiveNode[] {\n const directives: ast.DirectiveNode[] = [];\n ignored();\n while (input.charCodeAt(idx) === 64 /*'@'*/) {\n idx++;\n const _name = name();\n if (!_name) throw error('Directive');\n ignored();\n directives.push({\n kind: 'Directive' as Kind.DIRECTIVE,\n name: _name,\n arguments: arguments_(constant),\n });\n }\n return directives;\n}\n\nfunction field(): ast.FieldNode | undefined {\n let _name = name();\n if (_name) {\n ignored();\n let _alias: ast.NameNode | undefined;\n if (input.charCodeAt(idx) === 58 /*':'*/) {\n idx++;\n ignored();\n _alias = _name;\n _name = name();\n if (!_name) throw error('Field');\n ignored();\n }\n return {\n kind: 'Field' as Kind.FIELD,\n alias: _alias,\n name: _name,\n arguments: arguments_(false),\n directives: directives(false),\n selectionSet: selectionSet(),\n };\n }\n}\n\nfunction type(): ast.TypeNode {\n let match: ast.NameNode | ast.TypeNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const _type = type();\n if (!_type || input.charCodeAt(idx++) !== 93 /*']'*/) throw error('ListType');\n match = {\n kind: 'ListType' as Kind.LIST_TYPE,\n type: _type,\n };\n } else if ((match = name())) {\n match = {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: match,\n };\n } else {\n throw error('NamedType');\n }\n\n ignored();\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n return {\n kind: 'NonNullType' as Kind.NON_NULL_TYPE,\n type: match,\n };\n } else {\n return match;\n }\n}\n\nconst typeConditionRe = /on/y;\nfunction typeCondition(): ast.NamedTypeNode | undefined {\n if (advance(typeConditionRe)) {\n ignored();\n const _name = name();\n if (!_name) throw error('NamedType');\n ignored();\n return {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: _name,\n };\n }\n}\n\nconst fragmentSpreadRe = /\\.\\.\\./y;\n\nfunction fragmentSpread(): ast.FragmentSpreadNode | ast.InlineFragmentNode | undefined {\n if (advance(fragmentSpreadRe)) {\n ignored();\n const _idx = idx;\n let _name: ast.NameNode | undefined;\n if ((_name = name()) && _name.value !== 'on') {\n return {\n kind: 'FragmentSpread' as Kind.FRAGMENT_SPREAD,\n name: _name,\n directives: directives(false),\n };\n } else {\n idx = _idx;\n const _typeCondition = typeCondition();\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet) throw error('InlineFragment');\n return {\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n }\n}\n\nfunction selectionSet(): ast.SelectionSetNode | undefined {\n let match: ast.SelectionNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const selections: ast.SelectionNode[] = [];\n while ((match = fragmentSpread() || field())) selections.push(match);\n if (!selections.length || input.charCodeAt(idx++) !== 125 /*'}'*/) throw error('SelectionSet');\n ignored();\n return {\n kind: 'SelectionSet' as Kind.SELECTION_SET,\n selections,\n };\n }\n}\n\nfunction variableDefinitions(): ast.VariableDefinitionNode[] {\n let match: string | undefined;\n const vars: ast.VariableDefinitionNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n while ((match = advance(variableRe))) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('VariableDefinition');\n const _type = type();\n let _defaultValue: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n if (!_defaultValue) throw error('VariableDefinition');\n }\n ignored();\n vars.push({\n kind: 'VariableDefinition' as Kind.VARIABLE_DEFINITION,\n variable: {\n kind: 'Variable' as Kind.VARIABLE,\n name: {\n kind: 'Name' as Kind.NAME,\n value: match.slice(1),\n },\n },\n type: _type,\n defaultValue: _defaultValue as ast.ConstValueNode,\n directives: directives(true),\n });\n }\n if (input.charCodeAt(idx++) !== 41 /*')'*/) throw error('VariableDefinition');\n ignored();\n }\n return vars;\n}\n\nconst fragmentDefinitionRe = /fragment/y;\nfunction fragmentDefinition(): ast.FragmentDefinitionNode | undefined {\n if (advance(fragmentDefinitionRe)) {\n ignored();\n const _name = name();\n if (!_name) throw error('FragmentDefinition');\n ignored();\n const _typeCondition = typeCondition();\n if (!_typeCondition) throw error('FragmentDefinition');\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet) throw error('FragmentDefinition');\n return {\n kind: 'FragmentDefinition' as Kind.FRAGMENT_DEFINITION,\n name: _name,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nconst operationDefinitionRe = /query|mutation|subscription/y;\nfunction operationDefinition(): ast.OperationDefinitionNode | undefined {\n let _operation: string | undefined;\n let _name: ast.NameNode | undefined;\n let _variableDefinitions: ast.VariableDefinitionNode[] = [];\n let _directives: ast.DirectiveNode[] = [];\n if ((_operation = advance(operationDefinitionRe))) {\n ignored();\n _name = name();\n _variableDefinitions = variableDefinitions();\n _directives = directives(false);\n }\n const _selectionSet = selectionSet();\n if (_selectionSet) {\n return {\n kind: 'OperationDefinition' as Kind.OPERATION_DEFINITION,\n operation: (_operation || 'query') as OperationTypeNode,\n name: _name,\n variableDefinitions: _variableDefinitions,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nfunction document(): ast.DocumentNode {\n let match: ast.ExecutableDefinitionNode | void;\n ignored();\n const definitions: ast.ExecutableDefinitionNode[] = [];\n while ((match = fragmentDefinition() || operationDefinition())) definitions.push(match);\n return {\n kind: 'Document' as Kind.DOCUMENT,\n definitions,\n };\n}\n\ntype ParseOptions = {\n [option: string]: any;\n};\n\nexport function parse(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.DocumentNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n return document();\n}\n\nexport function parseValue(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.ValueNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n ignored();\n const _value = value(false);\n if (!_value) throw error('ValueNode');\n return _value;\n}\n\nexport function parseType(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.TypeNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n return type();\n}\n","import { ASTNode } from './ast';\n\nexport const BREAK = {};\n\nexport function visit<N extends ASTNode>(root: N, visitor: ASTVisitor): N;\nexport function visit<R>(root: ASTNode, visitor: ASTReducer<R>): R;\n\nexport function visit(node: ASTNode, visitor: ASTVisitor | ASTReducer<any>) {\n const ancestors: Array<ASTNode | ReadonlyArray<ASTNode>> = [];\n const path: Array<string | number> = [];\n\n function traverse(\n node: ASTNode,\n key?: string | number | undefined,\n parent?: ASTNode | ReadonlyArray<ASTNode> | undefined\n ) {\n let hasEdited = false;\n\n const enter =\n (visitor[node.kind] && visitor[node.kind].enter) ||\n visitor[node.kind] ||\n (visitor as EnterLeaveVisitor<ASTNode>).enter;\n const resultEnter = enter && enter.call(visitor, node, key, parent, path, ancestors);\n if (resultEnter === false) {\n return node;\n } else if (resultEnter === null) {\n return null;\n } else if (resultEnter === BREAK) {\n throw BREAK;\n } else if (resultEnter && typeof resultEnter.kind === 'string') {\n hasEdited = resultEnter !== node;\n node = resultEnter;\n }\n\n if (parent) ancestors.push(parent);\n\n let result: any;\n const copy = { ...node };\n for (const nodeKey in node) {\n path.push(nodeKey);\n let value = node[nodeKey];\n if (Array.isArray(value)) {\n const newValue: any[] = [];\n for (let index = 0; index < value.length; index++) {\n if (value[index] != null && typeof value[index].kind === 'string') {\n ancestors.push(node);\n path.push(index);\n result = traverse(value[index], index, value);\n path.pop();\n ancestors.pop();\n if (result == null) {\n hasEdited = true;\n } else {\n hasEdited = hasEdited || result !== value[index];\n newValue.push(result);\n }\n }\n }\n value = newValue;\n } else if (value != null && typeof value.kind === 'string') {\n result = traverse(value, nodeKey, node);\n if (result !== undefined) {\n hasEdited = hasEdited || value !== result;\n value = result;\n }\n }\n\n path.pop();\n if (hasEdited) copy[nodeKey] = value;\n }\n\n if (parent) ancestors.pop();\n const leave =\n (visitor[node.kind] && visitor[node.kind].leave) ||\n (visitor as EnterLeaveVisitor<ASTNode>).leave;\n const resultLeave = leave && leave.call(visitor, node, key, parent, path, ancestors);\n if (resultLeave === BREAK) {\n throw BREAK;\n } else if (resultLeave !== undefined) {\n return resultLeave;\n } else if (resultEnter !== undefined) {\n return hasEdited ? copy : resultEnter;\n } else {\n return hasEdited ? copy : node;\n }\n }\n\n try {\n const result = traverse(node);\n return result !== undefined && result !== false ? result : node;\n } catch (error) {\n if (error !== BREAK) throw error;\n return node;\n }\n}\n\nexport type ASTVisitor = EnterLeaveVisitor<ASTNode> | KindVisitor;\n\ntype KindVisitor = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: ASTVisitFn<NodeT> | EnterLeaveVisitor<NodeT>;\n};\n\ninterface EnterLeaveVisitor<TVisitedNode extends ASTNode> {\n readonly enter?: ASTVisitFn<TVisitedNode> | undefined;\n readonly leave?: ASTVisitFn<TVisitedNode> | undefined;\n}\n\nexport type ASTVisitFn<Node extends ASTNode> = (\n node: Node,\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => any;\n\nexport type ASTReducer<R> = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: {\n readonly enter?: ASTVisitFn<NodeT>;\n readonly leave: ASTReducerFn<NodeT, R>;\n };\n};\n\ntype ASTReducerFn<TReducedNode extends ASTNode, R> = (\n node: { [K in keyof TReducedNode]: ReducedField<TReducedNode[K], R> },\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => R;\n\ntype ReducedField<T, R> = T extends null | undefined\n ? T\n : T extends ReadonlyArray<any>\n ? ReadonlyArray<R>\n : R;\n","import { ASTNode } from './ast';\n\nexport function printString(string: string) {\n return JSON.stringify(string);\n}\n\nexport function printBlockString(string: string) {\n return '\"\"\"\\n' + string.replace(/\"\"\"/g, '\\\\\"\"\"') + '\\n\"\"\"';\n}\n\nconst hasItems = <T>(array: ReadonlyArray<T> | undefined | null): array is ReadonlyArray<T> =>\n !!(array && array.length);\n\nconst MAX_LINE_LENGTH = 80;\n\nconst nodes: {\n [NodeT in ASTNode as NodeT['kind']]?: (node: NodeT) => string;\n} = {\n OperationDefinition(node) {\n if (\n node.operation === 'query' &&\n !node.name &&\n !hasItems(node.variableDefinitions) &&\n !hasItems(node.directives)\n ) {\n return nodes.SelectionSet!(node.selectionSet);\n }\n let out: string = node.operation;\n if (node.name) out += ' ' + node.name.value;\n if (hasItems(node.variableDefinitions)) {\n if (!node.name) out += ' ';\n out += '(' + node.variableDefinitions.map(nodes.VariableDefinition!).join(', ') + ')';\n }\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + nodes.SelectionSet!(node.selectionSet);\n },\n VariableDefinition(node) {\n let out = nodes.Variable!(node.variable) + ': ' + print(node.type);\n if (node.defaultValue) out += ' = ' + print(node.defaultValue);\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out;\n },\n Field(node) {\n let out = (node.alias ? node.alias.value + ': ' : '') + node.name.value;\n if (hasItems(node.arguments)) {\n const args = node.arguments.map(nodes.Argument!);\n const argsLine = out + '(' + args.join(', ') + ')';\n out =\n argsLine.length > MAX_LINE_LENGTH\n ? out + '(\\n ' + args.join('\\n').replace(/\\n/g, '\\n ') + '\\n)'\n : argsLine;\n }\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return node.selectionSet ? out + ' ' + nodes.SelectionSet!(node.selectionSet) : out;\n },\n StringValue(node) {\n return node.block ? printBlockString(node.value) : printString(node.value);\n },\n BooleanValue(node) {\n return '' + node.value;\n },\n NullValue(_node) {\n return 'null';\n },\n IntValue(node) {\n return node.value;\n },\n FloatValue(node) {\n return node.value;\n },\n EnumValue(node) {\n return node.value;\n },\n Name(node) {\n return node.value;\n },\n Variable(node) {\n return '$' + node.name.value;\n },\n ListValue(node) {\n return '[' + node.values.map(print).join(', ') + ']';\n },\n ObjectValue(node) {\n return '{' + node.fields.map(nodes.ObjectField!).join(', ') + '}';\n },\n ObjectField(node) {\n return node.name.value + ': ' + print(node.value);\n },\n Document(node) {\n return hasItems(node.definitions) ? node.definitions.map(print).join('\\n\\n') : '';\n },\n SelectionSet(node) {\n return '{\\n ' + node.selections.map(print).join('\\n').replace(/\\n/g, '\\n ') + '\\n}';\n },\n Argument(node) {\n return node.name.value + ': ' + print(node.value);\n },\n FragmentSpread(node) {\n let out = '...' + node.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out;\n },\n InlineFragment(node) {\n let out = '...';\n if (node.typeCondition) out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + print(node.selectionSet);\n },\n FragmentDefinition(node) {\n let out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + print(node.selectionSet);\n },\n Directive(node) {\n let out = '@' + node.name.value;\n if (hasItems(node.arguments)) out += '(' + node.arguments.map(nodes.Argument!).join(', ') + ')';\n return out;\n },\n NamedType(node) {\n return node.name.value;\n },\n ListType(node) {\n return '[' + print(node.type) + ']';\n },\n NonNullType(node) {\n return print(node.type) + '!';\n },\n};\n\nexport function print(node: ASTNode): string {\n return nodes[node.kind] ? (nodes as any)[node.kind]!(node) : '';\n}\n","import { TypeNode, ValueNode } from './ast';\nimport { Maybe } from './types';\n\nexport function valueFromASTUntyped(\n node: ValueNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n switch (node.kind) {\n case 'NullValue':\n return null;\n case 'IntValue':\n return parseInt(node.value, 10);\n case 'FloatValue':\n return parseFloat(node.value);\n case 'StringValue':\n case 'EnumValue':\n case 'BooleanValue':\n return node.value;\n case 'ListValue': {\n const values: unknown[] = [];\n for (const value of node.values) values.push(valueFromASTUntyped(value, variables));\n return values;\n }\n case 'ObjectValue': {\n const obj = Object.create(null);\n for (const field of node.fields)\n obj[field.name.value] = valueFromASTUntyped(field.value, variables);\n return obj;\n }\n case 'Variable':\n return variables && variables[node.name.value];\n }\n}\n\nexport function valueFromTypeNode(\n node: ValueNode,\n type: TypeNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n if (node.kind === 'Variable') {\n const variableName = node.name.value;\n return variables ? valueFromTypeNode(variables[variableName], type, variables) : undefined;\n } else if (type.kind === 'NonNullType') {\n return node.kind !== 'NullValue' ? valueFromTypeNode(node, type, variables) : undefined;\n } else if (node.kind === 'NullValue') {\n return null;\n } else if (type.kind === 'ListType') {\n if (node.kind === 'ListValue') {\n const values: unknown[] = [];\n for (const value of node.values) {\n const coerced = valueFromTypeNode(value, type.type, variables);\n if (coerced === undefined) {\n return undefined;\n } else {\n values.push(coerced);\n }\n }\n return values;\n }\n } else if (type.kind === 'NamedType') {\n switch (type.name.value) {\n case 'Int':\n case 'Float':\n case 'String':\n case 'Bool':\n return type.name.value + 'Value' === node.kind\n ? valueFromASTUntyped(node, variables)\n : undefined;\n default:\n return valueFromASTUntyped(node, variables);\n }\n }\n}\n","export const Kind = {\n NAME: 'Name',\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n DIRECTIVE: 'Directive',\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n\n /*\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n SCHEMA_EXTENSION: 'SchemaExtension',\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension',\n */\n};\n\nexport const OperationTypeNode = {\n QUERY: 'query',\n MUTATION: 'mutation',\n SUBSCRIPTION: 'subscription',\n};\n"],"names":["GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","let","_extensions","const","originalExtensions","toJSON","toString","toStringTag","Symbol","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","lines","split","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","length","i","replace","ignored","char","charCodeAt","nameRe","match","value","constRe","variableRe","intRe","floatPartRe","complexStringRe","blockStringRe","stringRe","constant","intPart","block","JSON","parse","list","values","push","object","fields","_name","_value","arguments_","args","directives","arguments","field","_alias","alias","selectionSet","type","_type","typeConditionRe","typeCondition","fragmentSpreadRe","fragmentSpread","_idx","_typeCondition","_directives","_selectionSet","selections","fragmentDefinitionRe","fragmentDefinition","operationDefinitionRe","operationDefinition","_operation","_variableDefinitions","variableDefinitions","vars","_defaultValue","variable","defaultValue","operation","BREAK","printString","stringify","printBlockString","hasItems","array","OperationDefinition","node","SelectionSet","map","VariableDefinition","join","Directive","Variable","print","Field","Argument","argsLine","StringValue","BooleanValue","NullValue","_node","IntValue","FloatValue","EnumValue","Name","ListValue","ObjectValue","ObjectField","Document","definitions","FragmentSpread","InlineFragment","FragmentDefinition","NamedType","ListType","NonNullType","valueFromASTUntyped","variables","parseInt","parseFloat","obj","Object","create","i$1","list$1","NAME","DOCUMENT","OPERATION_DEFINITION","VARIABLE_DEFINITION","SELECTION_SET","FIELD","ARGUMENT","FRAGMENT_SPREAD","INLINE_FRAGMENT","FRAGMENT_DEFINITION","VARIABLE","INT","FLOAT","STRING","BOOLEAN","NULL","ENUM","LIST","OBJECT","OBJECT_FIELD","DIRECTIVE","NAMED_TYPE","LIST_TYPE","NON_NULL_TYPE","QUERY","MUTATION","SUBSCRIPTION","_options","body","document","parseType","parseValue","valueFromTypeNode","undefined","coerced","visit","visitor","ancestors","result","traverse","key","parent","hasEdited","enter","resultEnter","call","copy","nodeKey","newValue","index","pop","leave","resultLeave"],"mappings":"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"}
@@ -62,7 +62,8 @@ class GraphQLError extends Error {
62
62
  }
63
63
  toJSON() {
64
64
  return {
65
- ...this
65
+ ...this,
66
+ message: this.message
66
67
  };
67
68
  }
68
69
  toString() {
@@ -140,9 +141,9 @@ var o = /null|true|false/y;
140
141
 
141
142
  var l = /\$[_\w][_\d\w]*/y;
142
143
 
143
- var u = /[-]?\d+/y;
144
+ var u = /-?\d+/y;
144
145
 
145
- var v = /(?:[-]?\d+)?(?:\.\d+)(?:[eE][+-]?\d+)?/y;
146
+ var v = /(?:\.\d+)?(?:[eE][+-]?\d+)?/y;
146
147
 
147
148
  var d = /\\/g;
148
149
 
@@ -168,16 +169,19 @@ function value(e) {
168
169
  value: a.slice(1)
169
170
  }
170
171
  };
171
- } else if (a = advance(v)) {
172
- r = {
173
- kind: "FloatValue",
174
- value: a
175
- };
176
172
  } else if (a = advance(u)) {
177
- r = {
178
- kind: "IntValue",
179
- value: a
180
- };
173
+ var f = a;
174
+ if (a = advance(v)) {
175
+ r = {
176
+ kind: "FloatValue",
177
+ value: f + a
178
+ };
179
+ } else {
180
+ r = {
181
+ kind: "IntValue",
182
+ value: f
183
+ };
184
+ }
181
185
  } else if (a = advance(t)) {
182
186
  r = {
183
187
  kind: "EnumValue",
@@ -482,9 +486,6 @@ function operationDefinition() {
482
486
  throw error("VariableDefinition");
483
487
  }
484
488
  var a = type();
485
- if (!a) {
486
- throw error("VariableDefinition");
487
- }
488
489
  var t = void 0;
489
490
  if (61 === i.charCodeAt(n)) {
490
491
  n++;
@@ -540,9 +541,6 @@ function parse(e, r) {
540
541
  while (e = fragmentDefinition() || operationDefinition()) {
541
542
  r.push(e);
542
543
  }
543
- if (n !== i.length) {
544
- throw error("Document");
545
- }
546
544
  return {
547
545
  kind: "Document",
548
546
  definitions: r
@@ -564,11 +562,7 @@ function parseValue(e, r) {
564
562
  function parseType(e, r) {
565
563
  i = "string" == typeof e.body ? e.body : e;
566
564
  n = 0;
567
- var a = type();
568
- if (!a) {
569
- throw error("TypeNode");
570
- }
571
- return a;
565
+ return type();
572
566
  }
573
567
 
574
568
  var h = {};
@@ -610,9 +604,7 @@ function visit(e, r) {
610
604
  v = traverse(c[p], p, c);
611
605
  n.pop();
612
606
  i.pop();
613
- if (void 0 === v) {
614
- f.push(c[p]);
615
- } else if (null === v) {
607
+ if (null == v) {
616
608
  o = !0;
617
609
  } else {
618
610
  o = o || v !== c[p];
@@ -833,5 +825,5 @@ function valueFromTypeNode(e, r, i) {
833
825
  }
834
826
  }
835
827
 
836
- export { h as BREAK, GraphQLError, e as Kind, r as OperationTypeNode, blockString, parse, parseType, parseValue, print, printBlockString, printString, valueFromASTUntyped, valueFromTypeNode, visit };
828
+ export { h as BREAK, GraphQLError, e as Kind, r as OperationTypeNode, parse, parseType, parseValue, print, printBlockString, printString, valueFromASTUntyped, valueFromTypeNode, visit };
837
829
  //# sourceMappingURL=graphql.web.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.web.mjs","sources":["../src/kind.js","../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts","../src/values.ts"],"sourcesContent":["export const Kind = {\n NAME: 'Name',\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n DIRECTIVE: 'Directive',\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n\n /*\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n SCHEMA_EXTENSION: 'SchemaExtension',\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension',\n */\n};\n\nexport const OperationTypeNode = {\n QUERY: 'query',\n MUTATION: 'mutation',\n SUBSCRIPTION: 'subscription',\n};\n","import { Maybe, Extensions, Source } from './types';\nimport { ASTNode } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: ReadonlyArray<any> | undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<any> | undefined;\n readonly source: Source | undefined;\n readonly positions: ReadonlyArray<number> | undefined;\n readonly originalError: Error | undefined;\n readonly extensions: Extensions;\n\n constructor(\n message: string,\n nodes?: ReadonlyArray<ASTNode> | ASTNode | null,\n source?: Maybe<Source>,\n positions?: Maybe<ReadonlyArray<number>>,\n path?: Maybe<ReadonlyArray<string | number>>,\n originalError?: Maybe<Error>,\n extensions?: Maybe<Extensions>\n ) {\n super(message);\n\n this.name = 'GraphQLError';\n this.message = message;\n\n if (path) this.path = path;\n if (nodes) this.nodes = (Array.isArray(nodes) ? nodes : [nodes]) as ASTNode[];\n if (source) this.source = source;\n if (positions) this.positions = positions;\n if (originalError) this.originalError = originalError;\n\n let _extensions = extensions;\n if (!_extensions && originalError) {\n const originalExtensions = (originalError as any).extensions;\n if (originalExtensions && typeof originalExtensions === 'object') {\n _extensions = originalExtensions;\n }\n }\n\n this.extensions = _extensions || {};\n }\n\n toJSON(): any {\n return { ...this };\n }\n\n toString() {\n return this.message;\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLError';\n }\n}\n","/**\n * This is a spec-compliant implementation of a GraphQL query language parser,\n * up-to-date with the October 2021 Edition. Unlike the reference implementation\n * in graphql.js it will only parse the query language, but not the schema\n * language.\n */\nimport { Kind, OperationTypeNode } from './kind';\nimport { GraphQLError } from './error';\nimport { Source } from './types';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: string) {\n return new GraphQLError(`Syntax Error: Unexpected token at ${idx} in ${kind}`);\n}\n\nfunction advance(pattern: RegExp) {\n pattern.lastIndex = idx;\n if (pattern.test(input)) {\n const match = input.slice(idx, (idx = pattern.lastIndex));\n return match;\n }\n}\n\nconst leadingRe = / +(?=[^\\s])/y;\nexport function blockString(string: string) {\n const lines = string.split('\\n');\n let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = lines.length - 1;\n for (let i = 0; i < lines.length; i++) {\n leadingRe.lastIndex = 0;\n if (leadingRe.test(lines[i])) {\n if (i && (!commonIndent || leadingRe.lastIndex < commonIndent))\n commonIndent = leadingRe.lastIndex;\n firstNonEmptyLine = firstNonEmptyLine || i;\n lastNonEmptyLine = i;\n }\n }\n for (let i = firstNonEmptyLine; i <= lastNonEmptyLine; i++) {\n if (i !== firstNonEmptyLine) out += '\\n';\n out += lines[i].slice(commonIndent).replace(/\\\\\"\"\"/g, '\"\"\"');\n }\n return out;\n}\n\n// Note: This is equivalent to: /(?:[\\s,]*|#[^\\n\\r]*)*/y\nfunction ignored() {\n for (\n let char = input.charCodeAt(idx++) | 0;\n char === 9 /*'\\t'*/ ||\n char === 10 /*'\\n'*/ ||\n char === 13 /*'\\r'*/ ||\n char === 32 /*' '*/ ||\n char === 35 /*'#'*/ ||\n char === 44 /*','*/ ||\n char === 65279 /*'\\ufeff'*/;\n char = input.charCodeAt(idx++) | 0\n ) {\n if (char === 35 /*'#'*/) while ((char = input.charCodeAt(idx++)) !== 10 && char !== 13);\n }\n idx--;\n}\n\nconst nameRe = /[_\\w][_\\d\\w]*/y;\nfunction name(): ast.NameNode | undefined {\n let match: string | undefined;\n if ((match = advance(nameRe))) {\n return {\n kind: 'Name' as Kind.NAME,\n value: match,\n };\n }\n}\n\nconst constRe = /null|true|false/y;\nconst variableRe = /\\$[_\\w][_\\d\\w]*/y;\nconst intRe = /[-]?\\d+/y;\nconst floatRe = /(?:[-]?\\d+)?(?:\\.\\d+)(?:[eE][+-]?\\d+)?/y;\nconst complexStringRe = /\\\\/g;\nconst blockStringRe = /\"\"\"(?:[\\s\\S]+(?=\"\"\"))?\"\"\"/y;\nconst stringRe = /\"(?:[^\"\\r\\n]+)?\"/y;\n\nfunction value(constant: true): ast.ConstValueNode;\nfunction value(constant: boolean): ast.ValueNode;\n\nfunction value(constant: boolean): ast.ValueNode | undefined {\n let out: ast.ValueNode | undefined;\n let match: string | undefined;\n if ((match = advance(constRe))) {\n out =\n match === 'null'\n ? {\n kind: 'NullValue' as Kind.NULL,\n }\n : {\n kind: 'BooleanValue' as Kind.BOOLEAN,\n value: match === 'true',\n };\n } else if (!constant && (match = advance(variableRe))) {\n out = {\n kind: 'Variable' as Kind.VARIABLE,\n name: {\n kind: 'Name' as Kind.NAME,\n value: match.slice(1),\n },\n };\n } else if ((match = advance(floatRe))) {\n out = {\n kind: 'FloatValue' as Kind.FLOAT,\n value: match,\n };\n } else if ((match = advance(intRe))) {\n out = {\n kind: 'IntValue' as Kind.INT,\n value: match,\n };\n } else if ((match = advance(nameRe))) {\n out = {\n kind: 'EnumValue' as Kind.ENUM,\n value: match,\n };\n } else if ((match = advance(blockStringRe))) {\n out = {\n kind: 'StringValue' as Kind.STRING,\n value: blockString(match.slice(3, -3)),\n block: true,\n };\n } else if ((match = advance(stringRe))) {\n out = {\n kind: 'StringValue' as Kind.STRING,\n value: complexStringRe.test(match) ? (JSON.parse(match) as string) : match.slice(1, -1),\n block: false,\n };\n } else if ((out = list(constant) || object(constant))) {\n return out;\n }\n\n ignored();\n return out;\n}\n\nfunction list(constant: boolean): ast.ListValueNode | undefined {\n let match: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const values: ast.ValueNode[] = [];\n while ((match = value(constant))) values.push(match);\n if (input.charCodeAt(idx++) !== 93 /*']'*/) throw error('ListValue');\n ignored();\n return {\n kind: 'ListValue' as Kind.LIST,\n values,\n };\n }\n}\n\nfunction object(constant: boolean): ast.ObjectValueNode | undefined {\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const fields: ast.ObjectFieldNode[] = [];\n let _name: ast.NameNode | undefined;\n while ((_name = name())) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('ObjectField' as Kind.OBJECT_FIELD);\n ignored();\n const _value = value(constant);\n if (!_value) throw error('ObjectField');\n fields.push({\n kind: 'ObjectField' as Kind.OBJECT_FIELD,\n name: _name,\n value: _value,\n });\n }\n if (input.charCodeAt(idx++) !== 125 /*'}'*/) throw error('ObjectValue');\n ignored();\n return {\n kind: 'ObjectValue' as Kind.OBJECT,\n fields,\n };\n }\n}\n\nfunction arguments_(constant: boolean): ast.ArgumentNode[] {\n const args: ast.ArgumentNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n let _name: ast.NameNode | undefined;\n while ((_name = name())) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('Argument');\n ignored();\n const _value = value(constant);\n if (!_value) throw error('Argument');\n args.push({\n kind: 'Argument' as Kind.ARGUMENT,\n name: _name,\n value: _value,\n });\n }\n if (!args.length || input.charCodeAt(idx++) !== 41 /*')'*/) throw error('Argument');\n ignored();\n }\n return args;\n}\n\nfunction directives(constant: true): ast.ConstDirectiveNode[];\nfunction directives(constant: boolean): ast.DirectiveNode[];\n\nfunction directives(constant: boolean): ast.DirectiveNode[] {\n const directives: ast.DirectiveNode[] = [];\n ignored();\n while (input.charCodeAt(idx) === 64 /*'@'*/) {\n idx++;\n const _name = name();\n if (!_name) throw error('Directive');\n ignored();\n directives.push({\n kind: 'Directive' as Kind.DIRECTIVE,\n name: _name,\n arguments: arguments_(constant),\n });\n }\n return directives;\n}\n\nfunction field(): ast.FieldNode | undefined {\n let _name = name();\n if (_name) {\n ignored();\n let _alias: ast.NameNode | undefined;\n if (input.charCodeAt(idx) === 58 /*':'*/) {\n idx++;\n ignored();\n _alias = _name;\n _name = name();\n if (!_name) throw error('Field');\n ignored();\n }\n return {\n kind: 'Field' as Kind.FIELD,\n alias: _alias,\n name: _name,\n arguments: arguments_(false),\n directives: directives(false),\n selectionSet: selectionSet(),\n };\n }\n}\n\nfunction type(): ast.TypeNode | undefined {\n let match: ast.NameNode | ast.TypeNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const _type = type();\n if (!_type || input.charCodeAt(idx++) !== 93 /*']'*/) throw error('ListType');\n match = {\n kind: 'ListType' as Kind.LIST_TYPE,\n type: _type,\n };\n } else if ((match = name())) {\n match = {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: match,\n };\n } else {\n throw error('NamedType');\n }\n\n ignored();\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n return {\n kind: 'NonNullType' as Kind.NON_NULL_TYPE,\n type: match,\n };\n } else {\n return match;\n }\n}\n\nconst typeConditionRe = /on/y;\nfunction typeCondition(): ast.NamedTypeNode | undefined {\n if (advance(typeConditionRe)) {\n ignored();\n const _name = name();\n if (!_name) throw error('NamedType');\n ignored();\n return {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: _name,\n };\n }\n}\n\nconst fragmentSpreadRe = /\\.\\.\\./y;\n\nfunction fragmentSpread(): ast.FragmentSpreadNode | ast.InlineFragmentNode | undefined {\n if (advance(fragmentSpreadRe)) {\n ignored();\n const _idx = idx;\n let _name: ast.NameNode | undefined;\n if ((_name = name()) && _name.value !== 'on') {\n return {\n kind: 'FragmentSpread' as Kind.FRAGMENT_SPREAD,\n name: _name,\n directives: directives(false),\n };\n } else {\n idx = _idx;\n const _typeCondition = typeCondition();\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet) throw error('InlineFragment');\n return {\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n }\n}\n\nfunction selectionSet(): ast.SelectionSetNode | undefined {\n let match: ast.SelectionNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const selections: ast.SelectionNode[] = [];\n while ((match = fragmentSpread() || field())) selections.push(match);\n if (!selections.length || input.charCodeAt(idx++) !== 125 /*'}'*/) throw error('SelectionSet');\n ignored();\n return {\n kind: 'SelectionSet' as Kind.SELECTION_SET,\n selections,\n };\n }\n}\n\nfunction variableDefinitions(): ast.VariableDefinitionNode[] {\n let match: string | undefined;\n const vars: ast.VariableDefinitionNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n while ((match = advance(variableRe))) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('VariableDefinition');\n const _type = type();\n if (!_type) throw error('VariableDefinition');\n let _defaultValue: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n if (!_defaultValue) throw error('VariableDefinition');\n }\n ignored();\n vars.push({\n kind: 'VariableDefinition' as Kind.VARIABLE_DEFINITION,\n variable: {\n kind: 'Variable' as Kind.VARIABLE,\n name: {\n kind: 'Name' as Kind.NAME,\n value: match.slice(1),\n },\n },\n type: _type,\n defaultValue: _defaultValue as ast.ConstValueNode,\n directives: directives(true),\n });\n }\n if (input.charCodeAt(idx++) !== 41 /*')'*/) throw error('VariableDefinition');\n ignored();\n }\n return vars;\n}\n\nconst fragmentDefinitionRe = /fragment/y;\nfunction fragmentDefinition(): ast.FragmentDefinitionNode | undefined {\n if (advance(fragmentDefinitionRe)) {\n ignored();\n const _name = name();\n if (!_name) throw error('FragmentDefinition');\n ignored();\n const _typeCondition = typeCondition();\n if (!_typeCondition) throw error('FragmentDefinition');\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet) throw error('FragmentDefinition');\n return {\n kind: 'FragmentDefinition' as Kind.FRAGMENT_DEFINITION,\n name: _name,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nconst operationDefinitionRe = /query|mutation|subscription/y;\nfunction operationDefinition(): ast.OperationDefinitionNode | undefined {\n let _operation: string | undefined;\n let _name: ast.NameNode | undefined;\n let _variableDefinitions: ast.VariableDefinitionNode[] = [];\n let _directives: ast.DirectiveNode[] = [];\n if ((_operation = advance(operationDefinitionRe))) {\n ignored();\n _name = name();\n _variableDefinitions = variableDefinitions();\n _directives = directives(false);\n }\n const _selectionSet = selectionSet();\n if (_selectionSet) {\n return {\n kind: 'OperationDefinition' as Kind.OPERATION_DEFINITION,\n operation: (_operation || 'query') as OperationTypeNode,\n name: _name,\n variableDefinitions: _variableDefinitions,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nfunction document(): ast.DocumentNode {\n let match: ast.ExecutableDefinitionNode | void;\n ignored();\n const definitions: ast.ExecutableDefinitionNode[] = [];\n while ((match = fragmentDefinition() || operationDefinition())) definitions.push(match);\n if (idx !== input.length) throw error('Document');\n return {\n kind: 'Document' as Kind.DOCUMENT,\n definitions,\n };\n}\n\ntype ParseOptions = {\n [option: string]: any;\n};\n\nexport function parse(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.DocumentNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n return document();\n}\n\nexport function parseValue(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.ValueNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n ignored();\n const _value = value(false);\n if (!_value) throw error('ValueNode');\n return _value;\n}\n\nexport function parseType(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.TypeNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n const _type = type();\n if (!_type) throw error('TypeNode');\n return _type;\n}\n","import { ASTNode } from './ast';\n\nexport const BREAK = {};\n\nexport function visit<N extends ASTNode>(root: N, visitor: ASTVisitor): N;\nexport function visit<R>(root: ASTNode, visitor: ASTReducer<R>): R;\n\nexport function visit(node: ASTNode, visitor: ASTVisitor | ASTReducer<any>) {\n const ancestors: Array<ASTNode | ReadonlyArray<ASTNode>> = [];\n const path: Array<string | number> = [];\n\n function traverse(\n node: ASTNode,\n key?: string | number | undefined,\n parent?: ASTNode | ReadonlyArray<ASTNode> | undefined\n ) {\n let hasEdited = false;\n\n const enter =\n (visitor[node.kind] && visitor[node.kind].enter) ||\n visitor[node.kind] ||\n (visitor as EnterLeaveVisitor<ASTNode>).enter;\n const resultEnter = enter && enter.call(visitor, node, key, parent, path, ancestors);\n if (resultEnter === false) {\n return node;\n } else if (resultEnter === null) {\n return null;\n } else if (resultEnter === BREAK) {\n throw BREAK;\n } else if (resultEnter && typeof resultEnter.kind === 'string') {\n hasEdited = resultEnter !== node;\n node = resultEnter;\n }\n\n if (parent) ancestors.push(parent);\n\n let result: any;\n const copy = { ...node };\n for (const nodeKey in node) {\n path.push(nodeKey);\n let value = node[nodeKey];\n if (Array.isArray(value)) {\n const newValue: any[] = [];\n for (let index = 0; index < value.length; index++) {\n if (value[index] != null && typeof value[index].kind === 'string') {\n ancestors.push(node);\n path.push(index);\n result = traverse(value[index], index, value);\n path.pop();\n ancestors.pop();\n if (result === undefined) {\n newValue.push(value[index]);\n } else if (result === null) {\n hasEdited = true;\n } else {\n hasEdited = hasEdited || result !== value[index];\n newValue.push(result);\n }\n }\n }\n value = newValue;\n } else if (value != null && typeof value.kind === 'string') {\n result = traverse(value, nodeKey, node);\n if (result !== undefined) {\n hasEdited = hasEdited || value !== result;\n value = result;\n }\n }\n\n path.pop();\n if (hasEdited) copy[nodeKey] = value;\n }\n\n if (parent) ancestors.pop();\n const leave =\n (visitor[node.kind] && visitor[node.kind].leave) ||\n (visitor as EnterLeaveVisitor<ASTNode>).leave;\n const resultLeave = leave && leave.call(visitor, node, key, parent, path, ancestors);\n if (resultLeave === BREAK) {\n throw BREAK;\n } else if (resultLeave !== undefined) {\n return resultLeave;\n } else if (resultEnter !== undefined) {\n return hasEdited ? copy : resultEnter;\n } else {\n return hasEdited ? copy : node;\n }\n }\n\n try {\n const result = traverse(node);\n return result !== undefined && result !== false ? result : node;\n } catch (error) {\n if (error !== BREAK) throw error;\n return node;\n }\n}\n\nexport type ASTVisitor = EnterLeaveVisitor<ASTNode> | KindVisitor;\n\ntype KindVisitor = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: ASTVisitFn<NodeT> | EnterLeaveVisitor<NodeT>;\n};\n\ninterface EnterLeaveVisitor<TVisitedNode extends ASTNode> {\n readonly enter?: ASTVisitFn<TVisitedNode> | undefined;\n readonly leave?: ASTVisitFn<TVisitedNode> | undefined;\n}\n\nexport type ASTVisitFn<Node extends ASTNode> = (\n node: Node,\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => any;\n\nexport type ASTReducer<R> = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: {\n readonly enter?: ASTVisitFn<NodeT>;\n readonly leave: ASTReducerFn<NodeT, R>;\n };\n};\n\ntype ASTReducerFn<TReducedNode extends ASTNode, R> = (\n node: { [K in keyof TReducedNode]: ReducedField<TReducedNode[K], R> },\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => R;\n\ntype ReducedField<T, R> = T extends null | undefined\n ? T\n : T extends ReadonlyArray<any>\n ? ReadonlyArray<R>\n : R;\n","import { ASTNode } from './ast';\n\nexport function printString(string: string) {\n return JSON.stringify(string);\n}\n\nexport function printBlockString(string: string) {\n return '\"\"\"\\n' + string.replace(/\"\"\"/g, '\\\\\"\"\"') + '\\n\"\"\"';\n}\n\nconst hasItems = <T>(array: ReadonlyArray<T> | undefined | null): array is ReadonlyArray<T> =>\n !!(array && array.length);\n\nconst MAX_LINE_LENGTH = 80;\n\nconst nodes: {\n [NodeT in ASTNode as NodeT['kind']]?: (node: NodeT) => string;\n} = {\n OperationDefinition(node) {\n if (\n node.operation === 'query' &&\n !node.name &&\n !hasItems(node.variableDefinitions) &&\n !hasItems(node.directives)\n ) {\n return nodes.SelectionSet!(node.selectionSet);\n }\n let out: string = node.operation;\n if (node.name) out += ' ' + node.name.value;\n if (hasItems(node.variableDefinitions)) {\n if (!node.name) out += ' ';\n out += '(' + node.variableDefinitions.map(nodes.VariableDefinition!).join(', ') + ')';\n }\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + nodes.SelectionSet!(node.selectionSet);\n },\n VariableDefinition(node) {\n let out = nodes.Variable!(node.variable) + ': ' + print(node.type);\n if (node.defaultValue) out += ' = ' + print(node.defaultValue);\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out;\n },\n Field(node) {\n let out = (node.alias ? node.alias.value + ': ' : '') + node.name.value;\n if (hasItems(node.arguments)) {\n const args = node.arguments.map(nodes.Argument!);\n const argsLine = out + '(' + args.join(', ') + ')';\n out =\n argsLine.length > MAX_LINE_LENGTH\n ? out + '(\\n ' + args.join('\\n').replace(/\\n/g, '\\n ') + '\\n)'\n : argsLine;\n }\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return node.selectionSet ? out + ' ' + nodes.SelectionSet!(node.selectionSet) : out;\n },\n StringValue(node) {\n return node.block ? printBlockString(node.value) : printString(node.value);\n },\n BooleanValue(node) {\n return '' + node.value;\n },\n NullValue(_node) {\n return 'null';\n },\n IntValue(node) {\n return node.value;\n },\n FloatValue(node) {\n return node.value;\n },\n EnumValue(node) {\n return node.value;\n },\n Name(node) {\n return node.value;\n },\n Variable(node) {\n return '$' + node.name.value;\n },\n ListValue(node) {\n return '[' + node.values.map(print).join(', ') + ']';\n },\n ObjectValue(node) {\n return '{' + node.fields.map(nodes.ObjectField!).join(', ') + '}';\n },\n ObjectField(node) {\n return node.name.value + ': ' + print(node.value);\n },\n Document(node) {\n return hasItems(node.definitions) ? node.definitions.map(print).join('\\n\\n') : '';\n },\n SelectionSet(node) {\n return '{\\n ' + node.selections.map(print).join('\\n').replace(/\\n/g, '\\n ') + '\\n}';\n },\n Argument(node) {\n return node.name.value + ': ' + print(node.value);\n },\n FragmentSpread(node) {\n let out = '...' + node.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out;\n },\n InlineFragment(node) {\n let out = '...';\n if (node.typeCondition) out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + print(node.selectionSet);\n },\n FragmentDefinition(node) {\n let out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + print(node.selectionSet);\n },\n Directive(node) {\n let out = '@' + node.name.value;\n if (hasItems(node.arguments)) out += '(' + node.arguments.map(nodes.Argument!).join(', ') + ')';\n return out;\n },\n NamedType(node) {\n return node.name.value;\n },\n ListType(node) {\n return '[' + print(node.type) + ']';\n },\n NonNullType(node) {\n return print(node.type) + '!';\n },\n};\n\nexport function print(node: ASTNode): string {\n return nodes[node.kind] ? nodes[node.kind]!(node as any) : '';\n}\n","import { TypeNode, ValueNode } from './ast';\nimport { Maybe } from './types';\n\nexport function valueFromASTUntyped(\n node: ValueNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n switch (node.kind) {\n case 'NullValue':\n return null;\n case 'IntValue':\n return parseInt(node.value, 10);\n case 'FloatValue':\n return parseFloat(node.value);\n case 'StringValue':\n case 'EnumValue':\n case 'BooleanValue':\n return node.value;\n case 'ListValue': {\n const values: unknown[] = [];\n for (const value of node.values) values.push(valueFromASTUntyped(value, variables));\n return values;\n }\n case 'ObjectValue': {\n const obj = Object.create(null);\n for (const field of node.fields)\n obj[field.name.value] = valueFromASTUntyped(field.value, variables);\n return obj;\n }\n case 'Variable':\n return variables && variables[node.name.value];\n }\n}\n\nexport function valueFromTypeNode(\n node: ValueNode,\n type: TypeNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n if (node.kind === 'Variable') {\n const variableName = node.name.value;\n return variables ? valueFromTypeNode(variables[variableName], type, variables) : undefined;\n } else if (type.kind === 'NonNullType') {\n return node.kind !== 'NullValue' ? valueFromTypeNode(node, type, variables) : undefined;\n } else if (node.kind === 'NullValue') {\n return null;\n } else if (type.kind === 'ListType') {\n if (node.kind === 'ListValue') {\n const values: unknown[] = [];\n for (const value of node.values) {\n const coerced = valueFromTypeNode(value, type.type, variables);\n if (coerced === undefined) {\n return undefined;\n } else {\n values.push(coerced);\n }\n }\n return values;\n }\n } else if (type.kind === 'NamedType') {\n switch (type.name.value) {\n case 'Int':\n case 'Float':\n case 'String':\n case 'Bool':\n return type.name.value + 'Value' === node.kind\n ? valueFromASTUntyped(node, variables)\n : undefined;\n default:\n return valueFromASTUntyped(node, variables);\n }\n }\n}\n"],"names":["Kind","NAME","DOCUMENT","OPERATION_DEFINITION","VARIABLE_DEFINITION","SELECTION_SET","FIELD","ARGUMENT","FRAGMENT_SPREAD","INLINE_FRAGMENT","FRAGMENT_DEFINITION","VARIABLE","INT","FLOAT","STRING","BOOLEAN","NULL","ENUM","LIST","OBJECT","OBJECT_FIELD","DIRECTIVE","NAMED_TYPE","LIST_TYPE","NON_NULL_TYPE","OperationTypeNode","QUERY","MUTATION","SUBSCRIPTION","GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","let","_extensions","const","originalExtensions","toJSON","toString","toStringTag","Symbol","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","lines","split","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","length","i","replace","ignored","char","charCodeAt","nameRe","match","value","constRe","variableRe","intRe","floatRe","complexStringRe","blockStringRe","stringRe","constant","block","JSON","parse","list","values","push","object","fields","_name","_value","arguments_","args","directives","arguments","field","_alias","alias","selectionSet","type","_type","typeConditionRe","typeCondition","fragmentSpreadRe","fragmentSpread","_idx","_typeCondition","_directives","_selectionSet","selections","fragmentDefinitionRe","fragmentDefinition","operationDefinitionRe","operationDefinition","_operation","_variableDefinitions","variableDefinitions","vars","_defaultValue","variable","defaultValue","operation","_options","body","document","definitions","parseValue","parseType","BREAK","visit","node","visitor","ancestors","result","traverse","key","parent","hasEdited","enter","resultEnter","call","copy","nodeKey","newValue","index","pop","undefined","leave","resultLeave","printString","stringify","printBlockString","hasItems","array","OperationDefinition","SelectionSet","map","VariableDefinition","join","Directive","Variable","print","Field","Argument","argsLine","StringValue","BooleanValue","NullValue","_node","IntValue","FloatValue","EnumValue","Name","ListValue","ObjectValue","ObjectField","Document","FragmentSpread","InlineFragment","FragmentDefinition","NamedType","ListType","NonNullType","valueFromASTUntyped","variables","parseInt","parseFloat","obj","Object","create","i$1","list$1","valueFromTypeNode","coerced"],"mappings":"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"}
1
+ {"version":3,"file":"graphql.web.mjs","sources":["../src/kind.js","../src/error.ts","../src/parser.ts","../src/visitor.ts","../src/printer.ts","../src/values.ts"],"sourcesContent":["export const Kind = {\n NAME: 'Name',\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n DIRECTIVE: 'Directive',\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n\n /*\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n SCHEMA_EXTENSION: 'SchemaExtension',\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension',\n */\n};\n\nexport const OperationTypeNode = {\n QUERY: 'query',\n MUTATION: 'mutation',\n SUBSCRIPTION: 'subscription',\n};\n","import { Maybe, Extensions, Source } from './types';\nimport { ASTNode } from './ast';\n\nexport class GraphQLError extends Error {\n readonly locations: ReadonlyArray<any> | undefined;\n readonly path: ReadonlyArray<string | number> | undefined;\n readonly nodes: ReadonlyArray<any> | undefined;\n readonly source: Source | undefined;\n readonly positions: ReadonlyArray<number> | undefined;\n readonly originalError: Error | undefined;\n readonly extensions: Extensions;\n\n constructor(\n message: string,\n nodes?: ReadonlyArray<ASTNode> | ASTNode | null,\n source?: Maybe<Source>,\n positions?: Maybe<ReadonlyArray<number>>,\n path?: Maybe<ReadonlyArray<string | number>>,\n originalError?: Maybe<Error>,\n extensions?: Maybe<Extensions>\n ) {\n super(message);\n\n this.name = 'GraphQLError';\n this.message = message;\n\n if (path) this.path = path;\n if (nodes) this.nodes = (Array.isArray(nodes) ? nodes : [nodes]) as ASTNode[];\n if (source) this.source = source;\n if (positions) this.positions = positions;\n if (originalError) this.originalError = originalError;\n\n let _extensions = extensions;\n if (!_extensions && originalError) {\n const originalExtensions = (originalError as any).extensions;\n if (originalExtensions && typeof originalExtensions === 'object') {\n _extensions = originalExtensions;\n }\n }\n\n this.extensions = _extensions || {};\n }\n\n toJSON(): any {\n return { ...this, message: this.message };\n }\n\n toString() {\n return this.message;\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLError';\n }\n}\n","/**\n * This is a spec-compliant implementation of a GraphQL query language parser,\n * up-to-date with the October 2021 Edition. Unlike the reference implementation\n * in graphql.js it will only parse the query language, but not the schema\n * language.\n */\nimport { Kind, OperationTypeNode } from './kind';\nimport { GraphQLError } from './error';\nimport { Source } from './types';\nimport type * as ast from './ast';\n\nlet input: string;\nlet idx: number;\n\nfunction error(kind: string) {\n return new GraphQLError(`Syntax Error: Unexpected token at ${idx} in ${kind}`);\n}\n\nfunction advance(pattern: RegExp) {\n pattern.lastIndex = idx;\n if (pattern.test(input)) {\n const match = input.slice(idx, (idx = pattern.lastIndex));\n return match;\n }\n}\n\nconst leadingRe = / +(?=[^\\s])/y;\nfunction blockString(string: string) {\n const lines = string.split('\\n');\n let out = '';\n let commonIndent = 0;\n let firstNonEmptyLine = 0;\n let lastNonEmptyLine = lines.length - 1;\n for (let i = 0; i < lines.length; i++) {\n leadingRe.lastIndex = 0;\n if (leadingRe.test(lines[i])) {\n if (i && (!commonIndent || leadingRe.lastIndex < commonIndent))\n commonIndent = leadingRe.lastIndex;\n firstNonEmptyLine = firstNonEmptyLine || i;\n lastNonEmptyLine = i;\n }\n }\n for (let i = firstNonEmptyLine; i <= lastNonEmptyLine; i++) {\n if (i !== firstNonEmptyLine) out += '\\n';\n out += lines[i].slice(commonIndent).replace(/\\\\\"\"\"/g, '\"\"\"');\n }\n return out;\n}\n\n// Note: This is equivalent to: /(?:[\\s,]*|#[^\\n\\r]*)*/y\nfunction ignored() {\n for (\n let char = input.charCodeAt(idx++) | 0;\n char === 9 /*'\\t'*/ ||\n char === 10 /*'\\n'*/ ||\n char === 13 /*'\\r'*/ ||\n char === 32 /*' '*/ ||\n char === 35 /*'#'*/ ||\n char === 44 /*','*/ ||\n char === 65279 /*'\\ufeff'*/;\n char = input.charCodeAt(idx++) | 0\n ) {\n if (char === 35 /*'#'*/) while ((char = input.charCodeAt(idx++)) !== 10 && char !== 13);\n }\n idx--;\n}\n\nconst nameRe = /[_\\w][_\\d\\w]*/y;\nfunction name(): ast.NameNode | undefined {\n let match: string | undefined;\n if ((match = advance(nameRe))) {\n return {\n kind: 'Name' as Kind.NAME,\n value: match,\n };\n }\n}\n\nconst constRe = /null|true|false/y;\nconst variableRe = /\\$[_\\w][_\\d\\w]*/y;\nconst intRe = /-?\\d+/y;\nconst floatPartRe = /(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/y;\nconst complexStringRe = /\\\\/g;\nconst blockStringRe = /\"\"\"(?:[\\s\\S]+(?=\"\"\"))?\"\"\"/y;\nconst stringRe = /\"(?:[^\"\\r\\n]+)?\"/y;\n\nfunction value(constant: true): ast.ConstValueNode;\nfunction value(constant: boolean): ast.ValueNode;\n\nfunction value(constant: boolean): ast.ValueNode | undefined {\n let out: ast.ValueNode | undefined;\n let match: string | undefined;\n if ((match = advance(constRe))) {\n out =\n match === 'null'\n ? {\n kind: 'NullValue' as Kind.NULL,\n }\n : {\n kind: 'BooleanValue' as Kind.BOOLEAN,\n value: match === 'true',\n };\n } else if (!constant && (match = advance(variableRe))) {\n out = {\n kind: 'Variable' as Kind.VARIABLE,\n name: {\n kind: 'Name' as Kind.NAME,\n value: match.slice(1),\n },\n };\n } else if ((match = advance(intRe))) {\n const intPart = match;\n if ((match = advance(floatPartRe))) {\n out = {\n kind: 'FloatValue' as Kind.FLOAT,\n value: intPart + match,\n };\n } else {\n out = {\n kind: 'IntValue' as Kind.INT,\n value: intPart,\n };\n }\n } else if ((match = advance(nameRe))) {\n out = {\n kind: 'EnumValue' as Kind.ENUM,\n value: match,\n };\n } else if ((match = advance(blockStringRe))) {\n out = {\n kind: 'StringValue' as Kind.STRING,\n value: blockString(match.slice(3, -3)),\n block: true,\n };\n } else if ((match = advance(stringRe))) {\n out = {\n kind: 'StringValue' as Kind.STRING,\n value: complexStringRe.test(match) ? (JSON.parse(match) as string) : match.slice(1, -1),\n block: false,\n };\n } else if ((out = list(constant) || object(constant))) {\n return out;\n }\n\n ignored();\n return out;\n}\n\nfunction list(constant: boolean): ast.ListValueNode | undefined {\n let match: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const values: ast.ValueNode[] = [];\n while ((match = value(constant))) values.push(match);\n if (input.charCodeAt(idx++) !== 93 /*']'*/) throw error('ListValue');\n ignored();\n return {\n kind: 'ListValue' as Kind.LIST,\n values,\n };\n }\n}\n\nfunction object(constant: boolean): ast.ObjectValueNode | undefined {\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const fields: ast.ObjectFieldNode[] = [];\n let _name: ast.NameNode | undefined;\n while ((_name = name())) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('ObjectField' as Kind.OBJECT_FIELD);\n ignored();\n const _value = value(constant);\n if (!_value) throw error('ObjectField');\n fields.push({\n kind: 'ObjectField' as Kind.OBJECT_FIELD,\n name: _name,\n value: _value,\n });\n }\n if (input.charCodeAt(idx++) !== 125 /*'}'*/) throw error('ObjectValue');\n ignored();\n return {\n kind: 'ObjectValue' as Kind.OBJECT,\n fields,\n };\n }\n}\n\nfunction arguments_(constant: boolean): ast.ArgumentNode[] {\n const args: ast.ArgumentNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n let _name: ast.NameNode | undefined;\n while ((_name = name())) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('Argument');\n ignored();\n const _value = value(constant);\n if (!_value) throw error('Argument');\n args.push({\n kind: 'Argument' as Kind.ARGUMENT,\n name: _name,\n value: _value,\n });\n }\n if (!args.length || input.charCodeAt(idx++) !== 41 /*')'*/) throw error('Argument');\n ignored();\n }\n return args;\n}\n\nfunction directives(constant: true): ast.ConstDirectiveNode[];\nfunction directives(constant: boolean): ast.DirectiveNode[];\n\nfunction directives(constant: boolean): ast.DirectiveNode[] {\n const directives: ast.DirectiveNode[] = [];\n ignored();\n while (input.charCodeAt(idx) === 64 /*'@'*/) {\n idx++;\n const _name = name();\n if (!_name) throw error('Directive');\n ignored();\n directives.push({\n kind: 'Directive' as Kind.DIRECTIVE,\n name: _name,\n arguments: arguments_(constant),\n });\n }\n return directives;\n}\n\nfunction field(): ast.FieldNode | undefined {\n let _name = name();\n if (_name) {\n ignored();\n let _alias: ast.NameNode | undefined;\n if (input.charCodeAt(idx) === 58 /*':'*/) {\n idx++;\n ignored();\n _alias = _name;\n _name = name();\n if (!_name) throw error('Field');\n ignored();\n }\n return {\n kind: 'Field' as Kind.FIELD,\n alias: _alias,\n name: _name,\n arguments: arguments_(false),\n directives: directives(false),\n selectionSet: selectionSet(),\n };\n }\n}\n\nfunction type(): ast.TypeNode {\n let match: ast.NameNode | ast.TypeNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 91 /*'['*/) {\n idx++;\n ignored();\n const _type = type();\n if (!_type || input.charCodeAt(idx++) !== 93 /*']'*/) throw error('ListType');\n match = {\n kind: 'ListType' as Kind.LIST_TYPE,\n type: _type,\n };\n } else if ((match = name())) {\n match = {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: match,\n };\n } else {\n throw error('NamedType');\n }\n\n ignored();\n if (input.charCodeAt(idx) === 33 /*'!'*/) {\n idx++;\n ignored();\n return {\n kind: 'NonNullType' as Kind.NON_NULL_TYPE,\n type: match,\n };\n } else {\n return match;\n }\n}\n\nconst typeConditionRe = /on/y;\nfunction typeCondition(): ast.NamedTypeNode | undefined {\n if (advance(typeConditionRe)) {\n ignored();\n const _name = name();\n if (!_name) throw error('NamedType');\n ignored();\n return {\n kind: 'NamedType' as Kind.NAMED_TYPE,\n name: _name,\n };\n }\n}\n\nconst fragmentSpreadRe = /\\.\\.\\./y;\n\nfunction fragmentSpread(): ast.FragmentSpreadNode | ast.InlineFragmentNode | undefined {\n if (advance(fragmentSpreadRe)) {\n ignored();\n const _idx = idx;\n let _name: ast.NameNode | undefined;\n if ((_name = name()) && _name.value !== 'on') {\n return {\n kind: 'FragmentSpread' as Kind.FRAGMENT_SPREAD,\n name: _name,\n directives: directives(false),\n };\n } else {\n idx = _idx;\n const _typeCondition = typeCondition();\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet) throw error('InlineFragment');\n return {\n kind: 'InlineFragment' as Kind.INLINE_FRAGMENT,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n }\n}\n\nfunction selectionSet(): ast.SelectionSetNode | undefined {\n let match: ast.SelectionNode | undefined;\n ignored();\n if (input.charCodeAt(idx) === 123 /*'{'*/) {\n idx++;\n ignored();\n const selections: ast.SelectionNode[] = [];\n while ((match = fragmentSpread() || field())) selections.push(match);\n if (!selections.length || input.charCodeAt(idx++) !== 125 /*'}'*/) throw error('SelectionSet');\n ignored();\n return {\n kind: 'SelectionSet' as Kind.SELECTION_SET,\n selections,\n };\n }\n}\n\nfunction variableDefinitions(): ast.VariableDefinitionNode[] {\n let match: string | undefined;\n const vars: ast.VariableDefinitionNode[] = [];\n ignored();\n if (input.charCodeAt(idx) === 40 /*'('*/) {\n idx++;\n ignored();\n while ((match = advance(variableRe))) {\n ignored();\n if (input.charCodeAt(idx++) !== 58 /*':'*/) throw error('VariableDefinition');\n const _type = type();\n let _defaultValue: ast.ValueNode | undefined;\n if (input.charCodeAt(idx) === 61 /*'='*/) {\n idx++;\n ignored();\n _defaultValue = value(true);\n if (!_defaultValue) throw error('VariableDefinition');\n }\n ignored();\n vars.push({\n kind: 'VariableDefinition' as Kind.VARIABLE_DEFINITION,\n variable: {\n kind: 'Variable' as Kind.VARIABLE,\n name: {\n kind: 'Name' as Kind.NAME,\n value: match.slice(1),\n },\n },\n type: _type,\n defaultValue: _defaultValue as ast.ConstValueNode,\n directives: directives(true),\n });\n }\n if (input.charCodeAt(idx++) !== 41 /*')'*/) throw error('VariableDefinition');\n ignored();\n }\n return vars;\n}\n\nconst fragmentDefinitionRe = /fragment/y;\nfunction fragmentDefinition(): ast.FragmentDefinitionNode | undefined {\n if (advance(fragmentDefinitionRe)) {\n ignored();\n const _name = name();\n if (!_name) throw error('FragmentDefinition');\n ignored();\n const _typeCondition = typeCondition();\n if (!_typeCondition) throw error('FragmentDefinition');\n const _directives = directives(false);\n const _selectionSet = selectionSet();\n if (!_selectionSet) throw error('FragmentDefinition');\n return {\n kind: 'FragmentDefinition' as Kind.FRAGMENT_DEFINITION,\n name: _name,\n typeCondition: _typeCondition,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nconst operationDefinitionRe = /query|mutation|subscription/y;\nfunction operationDefinition(): ast.OperationDefinitionNode | undefined {\n let _operation: string | undefined;\n let _name: ast.NameNode | undefined;\n let _variableDefinitions: ast.VariableDefinitionNode[] = [];\n let _directives: ast.DirectiveNode[] = [];\n if ((_operation = advance(operationDefinitionRe))) {\n ignored();\n _name = name();\n _variableDefinitions = variableDefinitions();\n _directives = directives(false);\n }\n const _selectionSet = selectionSet();\n if (_selectionSet) {\n return {\n kind: 'OperationDefinition' as Kind.OPERATION_DEFINITION,\n operation: (_operation || 'query') as OperationTypeNode,\n name: _name,\n variableDefinitions: _variableDefinitions,\n directives: _directives,\n selectionSet: _selectionSet,\n };\n }\n}\n\nfunction document(): ast.DocumentNode {\n let match: ast.ExecutableDefinitionNode | void;\n ignored();\n const definitions: ast.ExecutableDefinitionNode[] = [];\n while ((match = fragmentDefinition() || operationDefinition())) definitions.push(match);\n return {\n kind: 'Document' as Kind.DOCUMENT,\n definitions,\n };\n}\n\ntype ParseOptions = {\n [option: string]: any;\n};\n\nexport function parse(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.DocumentNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n return document();\n}\n\nexport function parseValue(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.ValueNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n ignored();\n const _value = value(false);\n if (!_value) throw error('ValueNode');\n return _value;\n}\n\nexport function parseType(\n string: string | Source,\n _options?: ParseOptions | undefined\n): ast.TypeNode {\n input = typeof string.body === 'string' ? string.body : string;\n idx = 0;\n return type();\n}\n","import { ASTNode } from './ast';\n\nexport const BREAK = {};\n\nexport function visit<N extends ASTNode>(root: N, visitor: ASTVisitor): N;\nexport function visit<R>(root: ASTNode, visitor: ASTReducer<R>): R;\n\nexport function visit(node: ASTNode, visitor: ASTVisitor | ASTReducer<any>) {\n const ancestors: Array<ASTNode | ReadonlyArray<ASTNode>> = [];\n const path: Array<string | number> = [];\n\n function traverse(\n node: ASTNode,\n key?: string | number | undefined,\n parent?: ASTNode | ReadonlyArray<ASTNode> | undefined\n ) {\n let hasEdited = false;\n\n const enter =\n (visitor[node.kind] && visitor[node.kind].enter) ||\n visitor[node.kind] ||\n (visitor as EnterLeaveVisitor<ASTNode>).enter;\n const resultEnter = enter && enter.call(visitor, node, key, parent, path, ancestors);\n if (resultEnter === false) {\n return node;\n } else if (resultEnter === null) {\n return null;\n } else if (resultEnter === BREAK) {\n throw BREAK;\n } else if (resultEnter && typeof resultEnter.kind === 'string') {\n hasEdited = resultEnter !== node;\n node = resultEnter;\n }\n\n if (parent) ancestors.push(parent);\n\n let result: any;\n const copy = { ...node };\n for (const nodeKey in node) {\n path.push(nodeKey);\n let value = node[nodeKey];\n if (Array.isArray(value)) {\n const newValue: any[] = [];\n for (let index = 0; index < value.length; index++) {\n if (value[index] != null && typeof value[index].kind === 'string') {\n ancestors.push(node);\n path.push(index);\n result = traverse(value[index], index, value);\n path.pop();\n ancestors.pop();\n if (result == null) {\n hasEdited = true;\n } else {\n hasEdited = hasEdited || result !== value[index];\n newValue.push(result);\n }\n }\n }\n value = newValue;\n } else if (value != null && typeof value.kind === 'string') {\n result = traverse(value, nodeKey, node);\n if (result !== undefined) {\n hasEdited = hasEdited || value !== result;\n value = result;\n }\n }\n\n path.pop();\n if (hasEdited) copy[nodeKey] = value;\n }\n\n if (parent) ancestors.pop();\n const leave =\n (visitor[node.kind] && visitor[node.kind].leave) ||\n (visitor as EnterLeaveVisitor<ASTNode>).leave;\n const resultLeave = leave && leave.call(visitor, node, key, parent, path, ancestors);\n if (resultLeave === BREAK) {\n throw BREAK;\n } else if (resultLeave !== undefined) {\n return resultLeave;\n } else if (resultEnter !== undefined) {\n return hasEdited ? copy : resultEnter;\n } else {\n return hasEdited ? copy : node;\n }\n }\n\n try {\n const result = traverse(node);\n return result !== undefined && result !== false ? result : node;\n } catch (error) {\n if (error !== BREAK) throw error;\n return node;\n }\n}\n\nexport type ASTVisitor = EnterLeaveVisitor<ASTNode> | KindVisitor;\n\ntype KindVisitor = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: ASTVisitFn<NodeT> | EnterLeaveVisitor<NodeT>;\n};\n\ninterface EnterLeaveVisitor<TVisitedNode extends ASTNode> {\n readonly enter?: ASTVisitFn<TVisitedNode> | undefined;\n readonly leave?: ASTVisitFn<TVisitedNode> | undefined;\n}\n\nexport type ASTVisitFn<Node extends ASTNode> = (\n node: Node,\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => any;\n\nexport type ASTReducer<R> = {\n readonly [NodeT in ASTNode as NodeT['kind']]?: {\n readonly enter?: ASTVisitFn<NodeT>;\n readonly leave: ASTReducerFn<NodeT, R>;\n };\n};\n\ntype ASTReducerFn<TReducedNode extends ASTNode, R> = (\n node: { [K in keyof TReducedNode]: ReducedField<TReducedNode[K], R> },\n key: string | number | undefined,\n parent: ASTNode | ReadonlyArray<ASTNode> | undefined,\n path: ReadonlyArray<string | number>,\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>\n) => R;\n\ntype ReducedField<T, R> = T extends null | undefined\n ? T\n : T extends ReadonlyArray<any>\n ? ReadonlyArray<R>\n : R;\n","import { ASTNode } from './ast';\n\nexport function printString(string: string) {\n return JSON.stringify(string);\n}\n\nexport function printBlockString(string: string) {\n return '\"\"\"\\n' + string.replace(/\"\"\"/g, '\\\\\"\"\"') + '\\n\"\"\"';\n}\n\nconst hasItems = <T>(array: ReadonlyArray<T> | undefined | null): array is ReadonlyArray<T> =>\n !!(array && array.length);\n\nconst MAX_LINE_LENGTH = 80;\n\nconst nodes: {\n [NodeT in ASTNode as NodeT['kind']]?: (node: NodeT) => string;\n} = {\n OperationDefinition(node) {\n if (\n node.operation === 'query' &&\n !node.name &&\n !hasItems(node.variableDefinitions) &&\n !hasItems(node.directives)\n ) {\n return nodes.SelectionSet!(node.selectionSet);\n }\n let out: string = node.operation;\n if (node.name) out += ' ' + node.name.value;\n if (hasItems(node.variableDefinitions)) {\n if (!node.name) out += ' ';\n out += '(' + node.variableDefinitions.map(nodes.VariableDefinition!).join(', ') + ')';\n }\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + nodes.SelectionSet!(node.selectionSet);\n },\n VariableDefinition(node) {\n let out = nodes.Variable!(node.variable) + ': ' + print(node.type);\n if (node.defaultValue) out += ' = ' + print(node.defaultValue);\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out;\n },\n Field(node) {\n let out = (node.alias ? node.alias.value + ': ' : '') + node.name.value;\n if (hasItems(node.arguments)) {\n const args = node.arguments.map(nodes.Argument!);\n const argsLine = out + '(' + args.join(', ') + ')';\n out =\n argsLine.length > MAX_LINE_LENGTH\n ? out + '(\\n ' + args.join('\\n').replace(/\\n/g, '\\n ') + '\\n)'\n : argsLine;\n }\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return node.selectionSet ? out + ' ' + nodes.SelectionSet!(node.selectionSet) : out;\n },\n StringValue(node) {\n return node.block ? printBlockString(node.value) : printString(node.value);\n },\n BooleanValue(node) {\n return '' + node.value;\n },\n NullValue(_node) {\n return 'null';\n },\n IntValue(node) {\n return node.value;\n },\n FloatValue(node) {\n return node.value;\n },\n EnumValue(node) {\n return node.value;\n },\n Name(node) {\n return node.value;\n },\n Variable(node) {\n return '$' + node.name.value;\n },\n ListValue(node) {\n return '[' + node.values.map(print).join(', ') + ']';\n },\n ObjectValue(node) {\n return '{' + node.fields.map(nodes.ObjectField!).join(', ') + '}';\n },\n ObjectField(node) {\n return node.name.value + ': ' + print(node.value);\n },\n Document(node) {\n return hasItems(node.definitions) ? node.definitions.map(print).join('\\n\\n') : '';\n },\n SelectionSet(node) {\n return '{\\n ' + node.selections.map(print).join('\\n').replace(/\\n/g, '\\n ') + '\\n}';\n },\n Argument(node) {\n return node.name.value + ': ' + print(node.value);\n },\n FragmentSpread(node) {\n let out = '...' + node.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out;\n },\n InlineFragment(node) {\n let out = '...';\n if (node.typeCondition) out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + print(node.selectionSet);\n },\n FragmentDefinition(node) {\n let out = 'fragment ' + node.name.value;\n out += ' on ' + node.typeCondition.name.value;\n if (hasItems(node.directives)) out += ' ' + node.directives.map(nodes.Directive!).join(' ');\n return out + ' ' + print(node.selectionSet);\n },\n Directive(node) {\n let out = '@' + node.name.value;\n if (hasItems(node.arguments)) out += '(' + node.arguments.map(nodes.Argument!).join(', ') + ')';\n return out;\n },\n NamedType(node) {\n return node.name.value;\n },\n ListType(node) {\n return '[' + print(node.type) + ']';\n },\n NonNullType(node) {\n return print(node.type) + '!';\n },\n};\n\nexport function print(node: ASTNode): string {\n return nodes[node.kind] ? (nodes as any)[node.kind]!(node) : '';\n}\n","import { TypeNode, ValueNode } from './ast';\nimport { Maybe } from './types';\n\nexport function valueFromASTUntyped(\n node: ValueNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n switch (node.kind) {\n case 'NullValue':\n return null;\n case 'IntValue':\n return parseInt(node.value, 10);\n case 'FloatValue':\n return parseFloat(node.value);\n case 'StringValue':\n case 'EnumValue':\n case 'BooleanValue':\n return node.value;\n case 'ListValue': {\n const values: unknown[] = [];\n for (const value of node.values) values.push(valueFromASTUntyped(value, variables));\n return values;\n }\n case 'ObjectValue': {\n const obj = Object.create(null);\n for (const field of node.fields)\n obj[field.name.value] = valueFromASTUntyped(field.value, variables);\n return obj;\n }\n case 'Variable':\n return variables && variables[node.name.value];\n }\n}\n\nexport function valueFromTypeNode(\n node: ValueNode,\n type: TypeNode,\n variables?: Maybe<Record<string, any>>\n): unknown {\n if (node.kind === 'Variable') {\n const variableName = node.name.value;\n return variables ? valueFromTypeNode(variables[variableName], type, variables) : undefined;\n } else if (type.kind === 'NonNullType') {\n return node.kind !== 'NullValue' ? valueFromTypeNode(node, type, variables) : undefined;\n } else if (node.kind === 'NullValue') {\n return null;\n } else if (type.kind === 'ListType') {\n if (node.kind === 'ListValue') {\n const values: unknown[] = [];\n for (const value of node.values) {\n const coerced = valueFromTypeNode(value, type.type, variables);\n if (coerced === undefined) {\n return undefined;\n } else {\n values.push(coerced);\n }\n }\n return values;\n }\n } else if (type.kind === 'NamedType') {\n switch (type.name.value) {\n case 'Int':\n case 'Float':\n case 'String':\n case 'Bool':\n return type.name.value + 'Value' === node.kind\n ? valueFromASTUntyped(node, variables)\n : undefined;\n default:\n return valueFromASTUntyped(node, variables);\n }\n }\n}\n"],"names":["Kind","NAME","DOCUMENT","OPERATION_DEFINITION","VARIABLE_DEFINITION","SELECTION_SET","FIELD","ARGUMENT","FRAGMENT_SPREAD","INLINE_FRAGMENT","FRAGMENT_DEFINITION","VARIABLE","INT","FLOAT","STRING","BOOLEAN","NULL","ENUM","LIST","OBJECT","OBJECT_FIELD","DIRECTIVE","NAMED_TYPE","LIST_TYPE","NON_NULL_TYPE","OperationTypeNode","QUERY","MUTATION","SUBSCRIPTION","GraphQLError","Error","constructor","message","nodes","source","positions","path","originalError","extensions","super","this","name","Array","isArray","let","_extensions","const","originalExtensions","toJSON","toString","toStringTag","Symbol","input","idx","error","kind","advance","pattern","lastIndex","test","slice","leadingRe","blockString","string","lines","split","out","commonIndent","firstNonEmptyLine","lastNonEmptyLine","length","i","replace","ignored","char","charCodeAt","nameRe","match","value","constRe","variableRe","intRe","floatPartRe","complexStringRe","blockStringRe","stringRe","constant","intPart","block","JSON","parse","list","values","push","object","fields","_name","_value","arguments_","args","directives","arguments","field","_alias","alias","selectionSet","type","_type","typeConditionRe","typeCondition","fragmentSpreadRe","fragmentSpread","_idx","_typeCondition","_directives","_selectionSet","selections","fragmentDefinitionRe","fragmentDefinition","operationDefinitionRe","operationDefinition","_operation","_variableDefinitions","variableDefinitions","vars","_defaultValue","variable","defaultValue","operation","_options","body","document","definitions","parseValue","parseType","BREAK","visit","node","visitor","ancestors","result","traverse","key","parent","hasEdited","enter","resultEnter","call","copy","nodeKey","newValue","index","pop","undefined","leave","resultLeave","printString","stringify","printBlockString","hasItems","array","OperationDefinition","SelectionSet","map","VariableDefinition","join","Directive","Variable","print","Field","Argument","argsLine","StringValue","BooleanValue","NullValue","_node","IntValue","FloatValue","EnumValue","Name","ListValue","ObjectValue","ObjectField","Document","FragmentSpread","InlineFragment","FragmentDefinition","NamedType","ListType","NonNullType","valueFromASTUntyped","variables","parseInt","parseFloat","obj","Object","create","i$1","list$1","valueFromTypeNode","coerced"],"mappings":"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"}