@powerhousedao/powerhouse-vetra-packages 6.2.0-dev.1 → 6.2.0-dev.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/assets/{entry-Bzani6_n.js → entry-D6VwthNk.js} +2 -2
- package/dist/browser/assets/{projection-entry-Bpu-8SnI.js → projection-entry-CemvPRT8.js} +2 -2
- package/dist/browser/{connect-ZnLjvmRt.js → connect-BMrgEG7X.js} +4 -4
- package/dist/browser/{connect-ZnLjvmRt.js.map → connect-BMrgEG7X.js.map} +1 -1
- package/dist/browser/{dist-C1nRM9t2.js → dist-B6zWOl4d.js} +44 -30
- package/dist/browser/dist-B6zWOl4d.js.map +1 -0
- package/dist/browser/{dist-DLFI75Zd.js → dist-DPeHVSov.js} +3 -3
- package/dist/browser/dist-DPeHVSov.js.map +1 -0
- package/dist/browser/{document-drive-oqv68jDU.js → document-drive-sTKoi6L4.js} +314 -9
- package/dist/browser/document-drive-sTKoi6L4.js.map +1 -0
- package/dist/browser/document-models/index.js +1 -1
- package/dist/browser/{editor-CoTq6fqT.js → editor-Clp9-uJE.js} +6 -6
- package/dist/browser/{editor-CoTq6fqT.js.map → editor-Clp9-uJE.js.map} +1 -1
- package/dist/browser/{editor-DC3bigBu.js → editor-CzsQw1pE.js} +5 -5
- package/dist/browser/{editor-DC3bigBu.js.map → editor-CzsQw1pE.js.map} +1 -1
- package/dist/browser/editors/document-model-editor/module.js +1 -1
- package/dist/browser/editors/generic-drive-explorer/index.js +4 -4
- package/dist/browser/editors/generic-drive-explorer/module.js +1 -1
- package/dist/browser/{folder-view-DmYBf2pP.js → folder-view-D9jBl4kJ.js} +3 -3
- package/dist/browser/{folder-view-DmYBf2pP.js.map → folder-view-D9jBl4kJ.js.map} +1 -1
- package/dist/browser/{graphql-editor-CiGd_Li7.js → graphql-editor-8bWqxqUN.js} +3 -3
- package/dist/browser/{graphql-editor-CiGd_Li7.js.map → graphql-editor-8bWqxqUN.js.map} +1 -1
- package/dist/browser/index.js +2 -2
- package/dist/browser/{json-editor-sEqd5piI.js → json-editor-DlvyzQQO.js} +3 -3
- package/dist/browser/{json-editor-sEqd5piI.js.map → json-editor-DlvyzQQO.js.map} +1 -1
- package/dist/browser/{state-schemas-DJmzG_M8.js → state-schemas-CVQyYhpH.js} +3 -3
- package/dist/browser/{state-schemas-DJmzG_M8.js.map → state-schemas-CVQyYhpH.js.map} +1 -1
- package/dist/node/{connect-BLC4PXD9.mjs → connect-C8Ur6M5x.mjs} +4 -4
- package/dist/node/{connect-BLC4PXD9.mjs.map → connect-C8Ur6M5x.mjs.map} +1 -1
- package/dist/node/{dist-Bm05eoTg.mjs → dist-D3qXr1ES.mjs} +44 -30
- package/dist/node/dist-D3qXr1ES.mjs.map +1 -0
- package/dist/node/{dist-Cn3iExnV.mjs → dist-vA9scgbK.mjs} +3 -3
- package/dist/node/dist-vA9scgbK.mjs.map +1 -0
- package/dist/node/{document-drive-sM33juXr.mjs → document-drive-DjL9iikf.mjs} +314 -9
- package/dist/node/document-drive-DjL9iikf.mjs.map +1 -0
- package/dist/node/document-models/index.mjs +1 -1
- package/dist/node/{editor-BrS98lEH.mjs → editor-B6gn6QpO.mjs} +5 -5
- package/dist/node/{editor-BrS98lEH.mjs.map → editor-B6gn6QpO.mjs.map} +1 -1
- package/dist/node/{editor-BFBa9nsO.mjs → editor-kdobbTut.mjs} +6 -6
- package/dist/node/{editor-BFBa9nsO.mjs.map → editor-kdobbTut.mjs.map} +1 -1
- package/dist/node/editors/document-model-editor/module.mjs +1 -1
- package/dist/node/editors/generic-drive-explorer/index.mjs +4 -4
- package/dist/node/editors/generic-drive-explorer/module.mjs +1 -1
- package/dist/node/{folder-view-DHph3Yuu.mjs → folder-view-C9m-Kbjh.mjs} +3 -3
- package/dist/node/{folder-view-DHph3Yuu.mjs.map → folder-view-C9m-Kbjh.mjs.map} +1 -1
- package/dist/node/{graphql-editor-CPq7oIbf.mjs → graphql-editor-BiK6s8_B.mjs} +3 -3
- package/dist/node/{graphql-editor-CPq7oIbf.mjs.map → graphql-editor-BiK6s8_B.mjs.map} +1 -1
- package/dist/node/index.mjs +2 -2
- package/dist/node/{json-editor-L32CP7TS.mjs → json-editor-rMZOlQFM.mjs} +3 -3
- package/dist/node/{json-editor-L32CP7TS.mjs.map → json-editor-rMZOlQFM.mjs.map} +1 -1
- package/dist/node/{state-schemas-XTTjQZOe.mjs → state-schemas-Dt2-S4R8.mjs} +3 -3
- package/dist/node/{state-schemas-XTTjQZOe.mjs.map → state-schemas-Dt2-S4R8.mjs.map} +1 -1
- package/package.json +6 -6
- package/dist/browser/dist-C1nRM9t2.js.map +0 -1
- package/dist/browser/dist-DLFI75Zd.js.map +0 -1
- package/dist/browser/document-drive-oqv68jDU.js.map +0 -1
- package/dist/node/dist-Bm05eoTg.mjs.map +0 -1
- package/dist/node/dist-Cn3iExnV.mjs.map +0 -1
- package/dist/node/document-drive-sM33juXr.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-editor-CPq7oIbf.mjs","names":["exports","exports","exports","GraphQLInt","GraphQLFloat","GraphQLString","GraphQLBoolean","GraphQLID","GraphQLDirective","GraphQLObjectType","GraphQLInterfaceType","GraphQLUnionType","GraphQLInputObjectType","GraphQLEnumType","GraphQLScalarType","GraphQLList","GraphQLNonNull","GraphQLSchema","GraphQLEnumType","GraphQLList","GraphQLNonNull","GraphQLObjectType","GraphQLInterfaceType","GraphQLInputObjectType","Kind","GraphQLObjectType","GraphQLInterfaceType","GraphQLInputObjectType","GraphQLError"],"sources":["../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/interface/autocompleteUtils.js","../../../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/umd/main.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/parser/CharacterStream.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/parser/RuleHelpers.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/parser/Rules.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/parser/onlineParser.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/parser/api.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/parser/getTypeInfo.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/parser/types.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/parser/index.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/types.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/interface/getAutocompleteSuggestions.js","../../../../node_modules/.pnpm/nullthrows@1.1.1/node_modules/nullthrows/nullthrows.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/utils/fragmentDependencies.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/utils/getVariablesJSONSchema.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/utils/getASTNodeAtPosition.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/utils/Range.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/utils/validateWithCustomRules.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/utils/collectVariables.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/utils/getOperationFacts.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/utils/index.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/interface/getDefinition.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/interface/getDiagnostics.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/interface/getOutline.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/interface/getHoverInformation.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/interface/index.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/index.js","../../../../node_modules/.pnpm/cm6-graphql@0.2.1_@codemirror+autocomplete@6.18.6_@codemirror+language@6.11.0_@codemirr_f3af5b503875184dad53db0271786c87/node_modules/cm6-graphql/dist/index.js","../../../../node_modules/.pnpm/@graphql-tools+utils@11.0.0_graphql@16.12.0/node_modules/@graphql-tools/utils/esm/helpers.js","../../../../node_modules/.pnpm/@graphql-tools+utils@11.0.0_graphql@16.12.0/node_modules/@graphql-tools/utils/esm/Interfaces.js","../../../../node_modules/.pnpm/@graphql-tools+utils@11.0.0_graphql@16.12.0/node_modules/@graphql-tools/utils/esm/getObjectTypeFromTypeMap.js","../../../../node_modules/.pnpm/@graphql-tools+utils@11.0.0_graphql@16.12.0/node_modules/@graphql-tools/utils/esm/stub.js","../../../../node_modules/.pnpm/@graphql-tools+utils@11.0.0_graphql@16.12.0/node_modules/@graphql-tools/utils/esm/rewire.js","../../../../node_modules/.pnpm/@graphql-tools+utils@11.0.0_graphql@16.12.0/node_modules/@graphql-tools/utils/esm/transformInputValue.js","../../../../node_modules/.pnpm/@graphql-tools+utils@11.0.0_graphql@16.12.0/node_modules/@graphql-tools/utils/esm/mapSchema.js","../../../../node_modules/.pnpm/@graphql-tools+utils@11.0.0_graphql@16.12.0/node_modules/@graphql-tools/utils/esm/filterSchema.js","../../editors/document-model-editor/components/code-editors/linting.ts","../../editors/document-model-editor/components/code-editors/graphql-editor.tsx"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFieldInsertText = exports.getInputInsertText = exports.getInsertText = exports.hintList = exports.objectValues = void 0;\nconst graphql_1 = require(\"graphql\");\nfunction objectValues(object) {\n const keys = Object.keys(object);\n const len = keys.length;\n const values = new Array(len);\n for (let i = 0; i < len; ++i) {\n values[i] = object[keys[i]];\n }\n return values;\n}\nexports.objectValues = objectValues;\nfunction hintList(token, list) {\n return filterAndSortList(list, normalizeText(token.string));\n}\nexports.hintList = hintList;\nfunction filterAndSortList(list, text) {\n if (!text ||\n text.trim() === '' ||\n text.trim() === ':' ||\n text.trim() === '{') {\n return filterNonEmpty(list, entry => !entry.isDeprecated);\n }\n const byProximity = list.map(entry => ({\n proximity: getProximity(normalizeText(entry.label), text),\n entry,\n }));\n return filterNonEmpty(filterNonEmpty(byProximity, pair => pair.proximity <= 2), pair => !pair.entry.isDeprecated)\n .sort((a, b) => (a.entry.isDeprecated ? 1 : 0) - (b.entry.isDeprecated ? 1 : 0) ||\n a.proximity - b.proximity ||\n a.entry.label.length - b.entry.label.length)\n .map(pair => pair.entry);\n}\nfunction filterNonEmpty(array, predicate) {\n const filtered = array.filter(predicate);\n return filtered.length === 0 ? array : filtered;\n}\nfunction normalizeText(text) {\n return text.toLowerCase().replaceAll(/\\W/g, '');\n}\nfunction getProximity(suggestion, text) {\n let proximity = lexicalDistance(text, suggestion);\n if (suggestion.length > text.length) {\n proximity -= suggestion.length - text.length - 1;\n proximity += suggestion.indexOf(text) === 0 ? 0 : 0.5;\n }\n return proximity;\n}\nfunction lexicalDistance(a, b) {\n let i;\n let j;\n const d = [];\n const aLength = a.length;\n const bLength = b.length;\n for (i = 0; i <= aLength; i++) {\n d[i] = [i];\n }\n for (j = 1; j <= bLength; j++) {\n d[0][j] = j;\n }\n for (i = 1; i <= aLength; i++) {\n for (j = 1; j <= bLength; j++) {\n const cost = a[i - 1] === b[j - 1] ? 0 : 1;\n d[i][j] = Math.min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + cost);\n if (i > 1 && j > 1 && a[i - 1] === b[j - 2] && a[i - 2] === b[j - 1]) {\n d[i][j] = Math.min(d[i][j], d[i - 2][j - 2] + cost);\n }\n }\n }\n return d[aLength][bLength];\n}\nconst insertSuffix = (n) => ` {\\n $${n !== null && n !== void 0 ? n : 1}\\n}`;\nconst getInsertText = (prefix, type, fallback) => {\n if (!type) {\n return fallback !== null && fallback !== void 0 ? fallback : prefix;\n }\n const namedType = (0, graphql_1.getNamedType)(type);\n if ((0, graphql_1.isObjectType)(namedType) ||\n (0, graphql_1.isInputObjectType)(namedType) ||\n (0, graphql_1.isListType)(namedType) ||\n (0, graphql_1.isAbstractType)(namedType)) {\n return prefix + insertSuffix();\n }\n return fallback !== null && fallback !== void 0 ? fallback : prefix;\n};\nexports.getInsertText = getInsertText;\nconst getInputInsertText = (prefix, type, fallback) => {\n if ((0, graphql_1.isListType)(type)) {\n const baseType = (0, graphql_1.getNamedType)(type.ofType);\n return prefix + `[${(0, exports.getInsertText)('', baseType, '$1')}]`;\n }\n return (0, exports.getInsertText)(prefix, type, fallback);\n};\nexports.getInputInsertText = getInputInsertText;\nconst getFieldInsertText = (field) => {\n const requiredArgs = field.args.filter(arg => arg.type.toString().endsWith('!'));\n if (!requiredArgs.length) {\n return;\n }\n return (field.name +\n `(${requiredArgs.map((arg, i) => `${arg.name}: $${i + 1}`)}) ${(0, exports.getInsertText)('', field.type, '\\n')}`);\n};\nexports.getFieldInsertText = getFieldInsertText;\n//# sourceMappingURL=autocompleteUtils.js.map","(function (factory) {\n if (typeof module === \"object\" && typeof module.exports === \"object\") {\n var v = factory(require, exports);\n if (v !== undefined) module.exports = v;\n }\n else if (typeof define === \"function\" && define.amd) {\n define([\"require\", \"exports\"], factory);\n }\n})(function (require, exports) {\n /* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n 'use strict';\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.TextDocument = exports.EOL = exports.WorkspaceFolder = exports.InlineCompletionContext = exports.SelectedCompletionInfo = exports.InlineCompletionTriggerKind = exports.InlineCompletionList = exports.InlineCompletionItem = exports.StringValue = exports.InlayHint = exports.InlayHintLabelPart = exports.InlayHintKind = exports.InlineValueContext = exports.InlineValueEvaluatableExpression = exports.InlineValueVariableLookup = exports.InlineValueText = exports.SemanticTokens = exports.SemanticTokenModifiers = exports.SemanticTokenTypes = exports.SelectionRange = exports.DocumentLink = exports.FormattingOptions = exports.CodeLens = exports.CodeAction = exports.CodeActionContext = exports.CodeActionTriggerKind = exports.CodeActionKind = exports.DocumentSymbol = exports.WorkspaceSymbol = exports.SymbolInformation = exports.SymbolTag = exports.SymbolKind = exports.DocumentHighlight = exports.DocumentHighlightKind = exports.SignatureInformation = exports.ParameterInformation = exports.Hover = exports.MarkedString = exports.CompletionList = exports.CompletionItem = exports.CompletionItemLabelDetails = exports.InsertTextMode = exports.InsertReplaceEdit = exports.CompletionItemTag = exports.InsertTextFormat = exports.CompletionItemKind = exports.MarkupContent = exports.MarkupKind = exports.TextDocumentItem = exports.OptionalVersionedTextDocumentIdentifier = exports.VersionedTextDocumentIdentifier = exports.TextDocumentIdentifier = exports.WorkspaceChange = exports.WorkspaceEdit = exports.DeleteFile = exports.RenameFile = exports.CreateFile = exports.TextDocumentEdit = exports.AnnotatedTextEdit = exports.ChangeAnnotationIdentifier = exports.ChangeAnnotation = exports.TextEdit = exports.Command = exports.Diagnostic = exports.CodeDescription = exports.DiagnosticTag = exports.DiagnosticSeverity = exports.DiagnosticRelatedInformation = exports.FoldingRange = exports.FoldingRangeKind = exports.ColorPresentation = exports.ColorInformation = exports.Color = exports.LocationLink = exports.Location = exports.Range = exports.Position = exports.uinteger = exports.integer = exports.URI = exports.DocumentUri = void 0;\n var DocumentUri;\n (function (DocumentUri) {\n function is(value) {\n return typeof value === 'string';\n }\n DocumentUri.is = is;\n })(DocumentUri || (exports.DocumentUri = DocumentUri = {}));\n var URI;\n (function (URI) {\n function is(value) {\n return typeof value === 'string';\n }\n URI.is = is;\n })(URI || (exports.URI = URI = {}));\n var integer;\n (function (integer) {\n integer.MIN_VALUE = -2147483648;\n integer.MAX_VALUE = 2147483647;\n function is(value) {\n return typeof value === 'number' && integer.MIN_VALUE <= value && value <= integer.MAX_VALUE;\n }\n integer.is = is;\n })(integer || (exports.integer = integer = {}));\n var uinteger;\n (function (uinteger) {\n uinteger.MIN_VALUE = 0;\n uinteger.MAX_VALUE = 2147483647;\n function is(value) {\n return typeof value === 'number' && uinteger.MIN_VALUE <= value && value <= uinteger.MAX_VALUE;\n }\n uinteger.is = is;\n })(uinteger || (exports.uinteger = uinteger = {}));\n /**\n * The Position namespace provides helper functions to work with\n * {@link Position} literals.\n */\n var Position;\n (function (Position) {\n /**\n * Creates a new Position literal from the given line and character.\n * @param line The position's line.\n * @param character The position's character.\n */\n function create(line, character) {\n if (line === Number.MAX_VALUE) {\n line = uinteger.MAX_VALUE;\n }\n if (character === Number.MAX_VALUE) {\n character = uinteger.MAX_VALUE;\n }\n return { line: line, character: character };\n }\n Position.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Position} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.uinteger(candidate.line) && Is.uinteger(candidate.character);\n }\n Position.is = is;\n })(Position || (exports.Position = Position = {}));\n /**\n * The Range namespace provides helper functions to work with\n * {@link Range} literals.\n */\n var Range;\n (function (Range) {\n function create(one, two, three, four) {\n if (Is.uinteger(one) && Is.uinteger(two) && Is.uinteger(three) && Is.uinteger(four)) {\n return { start: Position.create(one, two), end: Position.create(three, four) };\n }\n else if (Position.is(one) && Position.is(two)) {\n return { start: one, end: two };\n }\n else {\n throw new Error(\"Range#create called with invalid arguments[\".concat(one, \", \").concat(two, \", \").concat(three, \", \").concat(four, \"]\"));\n }\n }\n Range.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Range} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Position.is(candidate.start) && Position.is(candidate.end);\n }\n Range.is = is;\n })(Range || (exports.Range = Range = {}));\n /**\n * The Location namespace provides helper functions to work with\n * {@link Location} literals.\n */\n var Location;\n (function (Location) {\n /**\n * Creates a Location literal.\n * @param uri The location's uri.\n * @param range The location's range.\n */\n function create(uri, range) {\n return { uri: uri, range: range };\n }\n Location.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Location} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.range) && (Is.string(candidate.uri) || Is.undefined(candidate.uri));\n }\n Location.is = is;\n })(Location || (exports.Location = Location = {}));\n /**\n * The LocationLink namespace provides helper functions to work with\n * {@link LocationLink} literals.\n */\n var LocationLink;\n (function (LocationLink) {\n /**\n * Creates a LocationLink literal.\n * @param targetUri The definition's uri.\n * @param targetRange The full range of the definition.\n * @param targetSelectionRange The span of the symbol definition at the target.\n * @param originSelectionRange The span of the symbol being defined in the originating source file.\n */\n function create(targetUri, targetRange, targetSelectionRange, originSelectionRange) {\n return { targetUri: targetUri, targetRange: targetRange, targetSelectionRange: targetSelectionRange, originSelectionRange: originSelectionRange };\n }\n LocationLink.create = create;\n /**\n * Checks whether the given literal conforms to the {@link LocationLink} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.targetRange) && Is.string(candidate.targetUri)\n && Range.is(candidate.targetSelectionRange)\n && (Range.is(candidate.originSelectionRange) || Is.undefined(candidate.originSelectionRange));\n }\n LocationLink.is = is;\n })(LocationLink || (exports.LocationLink = LocationLink = {}));\n /**\n * The Color namespace provides helper functions to work with\n * {@link Color} literals.\n */\n var Color;\n (function (Color) {\n /**\n * Creates a new Color literal.\n */\n function create(red, green, blue, alpha) {\n return {\n red: red,\n green: green,\n blue: blue,\n alpha: alpha,\n };\n }\n Color.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Color} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.numberRange(candidate.red, 0, 1)\n && Is.numberRange(candidate.green, 0, 1)\n && Is.numberRange(candidate.blue, 0, 1)\n && Is.numberRange(candidate.alpha, 0, 1);\n }\n Color.is = is;\n })(Color || (exports.Color = Color = {}));\n /**\n * The ColorInformation namespace provides helper functions to work with\n * {@link ColorInformation} literals.\n */\n var ColorInformation;\n (function (ColorInformation) {\n /**\n * Creates a new ColorInformation literal.\n */\n function create(range, color) {\n return {\n range: range,\n color: color,\n };\n }\n ColorInformation.create = create;\n /**\n * Checks whether the given literal conforms to the {@link ColorInformation} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.range) && Color.is(candidate.color);\n }\n ColorInformation.is = is;\n })(ColorInformation || (exports.ColorInformation = ColorInformation = {}));\n /**\n * The Color namespace provides helper functions to work with\n * {@link ColorPresentation} literals.\n */\n var ColorPresentation;\n (function (ColorPresentation) {\n /**\n * Creates a new ColorInformation literal.\n */\n function create(label, textEdit, additionalTextEdits) {\n return {\n label: label,\n textEdit: textEdit,\n additionalTextEdits: additionalTextEdits,\n };\n }\n ColorPresentation.create = create;\n /**\n * Checks whether the given literal conforms to the {@link ColorInformation} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.string(candidate.label)\n && (Is.undefined(candidate.textEdit) || TextEdit.is(candidate))\n && (Is.undefined(candidate.additionalTextEdits) || Is.typedArray(candidate.additionalTextEdits, TextEdit.is));\n }\n ColorPresentation.is = is;\n })(ColorPresentation || (exports.ColorPresentation = ColorPresentation = {}));\n /**\n * A set of predefined range kinds.\n */\n var FoldingRangeKind;\n (function (FoldingRangeKind) {\n /**\n * Folding range for a comment\n */\n FoldingRangeKind.Comment = 'comment';\n /**\n * Folding range for an import or include\n */\n FoldingRangeKind.Imports = 'imports';\n /**\n * Folding range for a region (e.g. `#region`)\n */\n FoldingRangeKind.Region = 'region';\n })(FoldingRangeKind || (exports.FoldingRangeKind = FoldingRangeKind = {}));\n /**\n * The folding range namespace provides helper functions to work with\n * {@link FoldingRange} literals.\n */\n var FoldingRange;\n (function (FoldingRange) {\n /**\n * Creates a new FoldingRange literal.\n */\n function create(startLine, endLine, startCharacter, endCharacter, kind, collapsedText) {\n var result = {\n startLine: startLine,\n endLine: endLine\n };\n if (Is.defined(startCharacter)) {\n result.startCharacter = startCharacter;\n }\n if (Is.defined(endCharacter)) {\n result.endCharacter = endCharacter;\n }\n if (Is.defined(kind)) {\n result.kind = kind;\n }\n if (Is.defined(collapsedText)) {\n result.collapsedText = collapsedText;\n }\n return result;\n }\n FoldingRange.create = create;\n /**\n * Checks whether the given literal conforms to the {@link FoldingRange} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.uinteger(candidate.startLine) && Is.uinteger(candidate.startLine)\n && (Is.undefined(candidate.startCharacter) || Is.uinteger(candidate.startCharacter))\n && (Is.undefined(candidate.endCharacter) || Is.uinteger(candidate.endCharacter))\n && (Is.undefined(candidate.kind) || Is.string(candidate.kind));\n }\n FoldingRange.is = is;\n })(FoldingRange || (exports.FoldingRange = FoldingRange = {}));\n /**\n * The DiagnosticRelatedInformation namespace provides helper functions to work with\n * {@link DiagnosticRelatedInformation} literals.\n */\n var DiagnosticRelatedInformation;\n (function (DiagnosticRelatedInformation) {\n /**\n * Creates a new DiagnosticRelatedInformation literal.\n */\n function create(location, message) {\n return {\n location: location,\n message: message\n };\n }\n DiagnosticRelatedInformation.create = create;\n /**\n * Checks whether the given literal conforms to the {@link DiagnosticRelatedInformation} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Location.is(candidate.location) && Is.string(candidate.message);\n }\n DiagnosticRelatedInformation.is = is;\n })(DiagnosticRelatedInformation || (exports.DiagnosticRelatedInformation = DiagnosticRelatedInformation = {}));\n /**\n * The diagnostic's severity.\n */\n var DiagnosticSeverity;\n (function (DiagnosticSeverity) {\n /**\n * Reports an error.\n */\n DiagnosticSeverity.Error = 1;\n /**\n * Reports a warning.\n */\n DiagnosticSeverity.Warning = 2;\n /**\n * Reports an information.\n */\n DiagnosticSeverity.Information = 3;\n /**\n * Reports a hint.\n */\n DiagnosticSeverity.Hint = 4;\n })(DiagnosticSeverity || (exports.DiagnosticSeverity = DiagnosticSeverity = {}));\n /**\n * The diagnostic tags.\n *\n * @since 3.15.0\n */\n var DiagnosticTag;\n (function (DiagnosticTag) {\n /**\n * Unused or unnecessary code.\n *\n * Clients are allowed to render diagnostics with this tag faded out instead of having\n * an error squiggle.\n */\n DiagnosticTag.Unnecessary = 1;\n /**\n * Deprecated or obsolete code.\n *\n * Clients are allowed to rendered diagnostics with this tag strike through.\n */\n DiagnosticTag.Deprecated = 2;\n })(DiagnosticTag || (exports.DiagnosticTag = DiagnosticTag = {}));\n /**\n * The CodeDescription namespace provides functions to deal with descriptions for diagnostic codes.\n *\n * @since 3.16.0\n */\n var CodeDescription;\n (function (CodeDescription) {\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.string(candidate.href);\n }\n CodeDescription.is = is;\n })(CodeDescription || (exports.CodeDescription = CodeDescription = {}));\n /**\n * The Diagnostic namespace provides helper functions to work with\n * {@link Diagnostic} literals.\n */\n var Diagnostic;\n (function (Diagnostic) {\n /**\n * Creates a new Diagnostic literal.\n */\n function create(range, message, severity, code, source, relatedInformation) {\n var result = { range: range, message: message };\n if (Is.defined(severity)) {\n result.severity = severity;\n }\n if (Is.defined(code)) {\n result.code = code;\n }\n if (Is.defined(source)) {\n result.source = source;\n }\n if (Is.defined(relatedInformation)) {\n result.relatedInformation = relatedInformation;\n }\n return result;\n }\n Diagnostic.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Diagnostic} interface.\n */\n function is(value) {\n var _a;\n var candidate = value;\n return Is.defined(candidate)\n && Range.is(candidate.range)\n && Is.string(candidate.message)\n && (Is.number(candidate.severity) || Is.undefined(candidate.severity))\n && (Is.integer(candidate.code) || Is.string(candidate.code) || Is.undefined(candidate.code))\n && (Is.undefined(candidate.codeDescription) || (Is.string((_a = candidate.codeDescription) === null || _a === void 0 ? void 0 : _a.href)))\n && (Is.string(candidate.source) || Is.undefined(candidate.source))\n && (Is.undefined(candidate.relatedInformation) || Is.typedArray(candidate.relatedInformation, DiagnosticRelatedInformation.is));\n }\n Diagnostic.is = is;\n })(Diagnostic || (exports.Diagnostic = Diagnostic = {}));\n /**\n * The Command namespace provides helper functions to work with\n * {@link Command} literals.\n */\n var Command;\n (function (Command) {\n /**\n * Creates a new Command literal.\n */\n function create(title, command) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var result = { title: title, command: command };\n if (Is.defined(args) && args.length > 0) {\n result.arguments = args;\n }\n return result;\n }\n Command.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Command} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.title) && Is.string(candidate.command);\n }\n Command.is = is;\n })(Command || (exports.Command = Command = {}));\n /**\n * The TextEdit namespace provides helper function to create replace,\n * insert and delete edits more easily.\n */\n var TextEdit;\n (function (TextEdit) {\n /**\n * Creates a replace text edit.\n * @param range The range of text to be replaced.\n * @param newText The new text.\n */\n function replace(range, newText) {\n return { range: range, newText: newText };\n }\n TextEdit.replace = replace;\n /**\n * Creates an insert text edit.\n * @param position The position to insert the text at.\n * @param newText The text to be inserted.\n */\n function insert(position, newText) {\n return { range: { start: position, end: position }, newText: newText };\n }\n TextEdit.insert = insert;\n /**\n * Creates a delete text edit.\n * @param range The range of text to be deleted.\n */\n function del(range) {\n return { range: range, newText: '' };\n }\n TextEdit.del = del;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate)\n && Is.string(candidate.newText)\n && Range.is(candidate.range);\n }\n TextEdit.is = is;\n })(TextEdit || (exports.TextEdit = TextEdit = {}));\n var ChangeAnnotation;\n (function (ChangeAnnotation) {\n function create(label, needsConfirmation, description) {\n var result = { label: label };\n if (needsConfirmation !== undefined) {\n result.needsConfirmation = needsConfirmation;\n }\n if (description !== undefined) {\n result.description = description;\n }\n return result;\n }\n ChangeAnnotation.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.string(candidate.label) &&\n (Is.boolean(candidate.needsConfirmation) || candidate.needsConfirmation === undefined) &&\n (Is.string(candidate.description) || candidate.description === undefined);\n }\n ChangeAnnotation.is = is;\n })(ChangeAnnotation || (exports.ChangeAnnotation = ChangeAnnotation = {}));\n var ChangeAnnotationIdentifier;\n (function (ChangeAnnotationIdentifier) {\n function is(value) {\n var candidate = value;\n return Is.string(candidate);\n }\n ChangeAnnotationIdentifier.is = is;\n })(ChangeAnnotationIdentifier || (exports.ChangeAnnotationIdentifier = ChangeAnnotationIdentifier = {}));\n var AnnotatedTextEdit;\n (function (AnnotatedTextEdit) {\n /**\n * Creates an annotated replace text edit.\n *\n * @param range The range of text to be replaced.\n * @param newText The new text.\n * @param annotation The annotation.\n */\n function replace(range, newText, annotation) {\n return { range: range, newText: newText, annotationId: annotation };\n }\n AnnotatedTextEdit.replace = replace;\n /**\n * Creates an annotated insert text edit.\n *\n * @param position The position to insert the text at.\n * @param newText The text to be inserted.\n * @param annotation The annotation.\n */\n function insert(position, newText, annotation) {\n return { range: { start: position, end: position }, newText: newText, annotationId: annotation };\n }\n AnnotatedTextEdit.insert = insert;\n /**\n * Creates an annotated delete text edit.\n *\n * @param range The range of text to be deleted.\n * @param annotation The annotation.\n */\n function del(range, annotation) {\n return { range: range, newText: '', annotationId: annotation };\n }\n AnnotatedTextEdit.del = del;\n function is(value) {\n var candidate = value;\n return TextEdit.is(candidate) && (ChangeAnnotation.is(candidate.annotationId) || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n AnnotatedTextEdit.is = is;\n })(AnnotatedTextEdit || (exports.AnnotatedTextEdit = AnnotatedTextEdit = {}));\n /**\n * The TextDocumentEdit namespace provides helper function to create\n * an edit that manipulates a text document.\n */\n var TextDocumentEdit;\n (function (TextDocumentEdit) {\n /**\n * Creates a new `TextDocumentEdit`\n */\n function create(textDocument, edits) {\n return { textDocument: textDocument, edits: edits };\n }\n TextDocumentEdit.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate)\n && OptionalVersionedTextDocumentIdentifier.is(candidate.textDocument)\n && Array.isArray(candidate.edits);\n }\n TextDocumentEdit.is = is;\n })(TextDocumentEdit || (exports.TextDocumentEdit = TextDocumentEdit = {}));\n var CreateFile;\n (function (CreateFile) {\n function create(uri, options, annotation) {\n var result = {\n kind: 'create',\n uri: uri\n };\n if (options !== undefined && (options.overwrite !== undefined || options.ignoreIfExists !== undefined)) {\n result.options = options;\n }\n if (annotation !== undefined) {\n result.annotationId = annotation;\n }\n return result;\n }\n CreateFile.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === 'create' && Is.string(candidate.uri) && (candidate.options === undefined ||\n ((candidate.options.overwrite === undefined || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === undefined || Is.boolean(candidate.options.ignoreIfExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n CreateFile.is = is;\n })(CreateFile || (exports.CreateFile = CreateFile = {}));\n var RenameFile;\n (function (RenameFile) {\n function create(oldUri, newUri, options, annotation) {\n var result = {\n kind: 'rename',\n oldUri: oldUri,\n newUri: newUri\n };\n if (options !== undefined && (options.overwrite !== undefined || options.ignoreIfExists !== undefined)) {\n result.options = options;\n }\n if (annotation !== undefined) {\n result.annotationId = annotation;\n }\n return result;\n }\n RenameFile.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === 'rename' && Is.string(candidate.oldUri) && Is.string(candidate.newUri) && (candidate.options === undefined ||\n ((candidate.options.overwrite === undefined || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === undefined || Is.boolean(candidate.options.ignoreIfExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n RenameFile.is = is;\n })(RenameFile || (exports.RenameFile = RenameFile = {}));\n var DeleteFile;\n (function (DeleteFile) {\n function create(uri, options, annotation) {\n var result = {\n kind: 'delete',\n uri: uri\n };\n if (options !== undefined && (options.recursive !== undefined || options.ignoreIfNotExists !== undefined)) {\n result.options = options;\n }\n if (annotation !== undefined) {\n result.annotationId = annotation;\n }\n return result;\n }\n DeleteFile.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === 'delete' && Is.string(candidate.uri) && (candidate.options === undefined ||\n ((candidate.options.recursive === undefined || Is.boolean(candidate.options.recursive)) && (candidate.options.ignoreIfNotExists === undefined || Is.boolean(candidate.options.ignoreIfNotExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n DeleteFile.is = is;\n })(DeleteFile || (exports.DeleteFile = DeleteFile = {}));\n var WorkspaceEdit;\n (function (WorkspaceEdit) {\n function is(value) {\n var candidate = value;\n return candidate &&\n (candidate.changes !== undefined || candidate.documentChanges !== undefined) &&\n (candidate.documentChanges === undefined || candidate.documentChanges.every(function (change) {\n if (Is.string(change.kind)) {\n return CreateFile.is(change) || RenameFile.is(change) || DeleteFile.is(change);\n }\n else {\n return TextDocumentEdit.is(change);\n }\n }));\n }\n WorkspaceEdit.is = is;\n })(WorkspaceEdit || (exports.WorkspaceEdit = WorkspaceEdit = {}));\n var TextEditChangeImpl = /** @class */ (function () {\n function TextEditChangeImpl(edits, changeAnnotations) {\n this.edits = edits;\n this.changeAnnotations = changeAnnotations;\n }\n TextEditChangeImpl.prototype.insert = function (position, newText, annotation) {\n var edit;\n var id;\n if (annotation === undefined) {\n edit = TextEdit.insert(position, newText);\n }\n else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.insert(position, newText, annotation);\n }\n else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.insert(position, newText, id);\n }\n this.edits.push(edit);\n if (id !== undefined) {\n return id;\n }\n };\n TextEditChangeImpl.prototype.replace = function (range, newText, annotation) {\n var edit;\n var id;\n if (annotation === undefined) {\n edit = TextEdit.replace(range, newText);\n }\n else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.replace(range, newText, annotation);\n }\n else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.replace(range, newText, id);\n }\n this.edits.push(edit);\n if (id !== undefined) {\n return id;\n }\n };\n TextEditChangeImpl.prototype.delete = function (range, annotation) {\n var edit;\n var id;\n if (annotation === undefined) {\n edit = TextEdit.del(range);\n }\n else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.del(range, annotation);\n }\n else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.del(range, id);\n }\n this.edits.push(edit);\n if (id !== undefined) {\n return id;\n }\n };\n TextEditChangeImpl.prototype.add = function (edit) {\n this.edits.push(edit);\n };\n TextEditChangeImpl.prototype.all = function () {\n return this.edits;\n };\n TextEditChangeImpl.prototype.clear = function () {\n this.edits.splice(0, this.edits.length);\n };\n TextEditChangeImpl.prototype.assertChangeAnnotations = function (value) {\n if (value === undefined) {\n throw new Error(\"Text edit change is not configured to manage change annotations.\");\n }\n };\n return TextEditChangeImpl;\n }());\n /**\n * A helper class\n */\n var ChangeAnnotations = /** @class */ (function () {\n function ChangeAnnotations(annotations) {\n this._annotations = annotations === undefined ? Object.create(null) : annotations;\n this._counter = 0;\n this._size = 0;\n }\n ChangeAnnotations.prototype.all = function () {\n return this._annotations;\n };\n Object.defineProperty(ChangeAnnotations.prototype, \"size\", {\n get: function () {\n return this._size;\n },\n enumerable: false,\n configurable: true\n });\n ChangeAnnotations.prototype.manage = function (idOrAnnotation, annotation) {\n var id;\n if (ChangeAnnotationIdentifier.is(idOrAnnotation)) {\n id = idOrAnnotation;\n }\n else {\n id = this.nextId();\n annotation = idOrAnnotation;\n }\n if (this._annotations[id] !== undefined) {\n throw new Error(\"Id \".concat(id, \" is already in use.\"));\n }\n if (annotation === undefined) {\n throw new Error(\"No annotation provided for id \".concat(id));\n }\n this._annotations[id] = annotation;\n this._size++;\n return id;\n };\n ChangeAnnotations.prototype.nextId = function () {\n this._counter++;\n return this._counter.toString();\n };\n return ChangeAnnotations;\n }());\n /**\n * A workspace change helps constructing changes to a workspace.\n */\n var WorkspaceChange = /** @class */ (function () {\n function WorkspaceChange(workspaceEdit) {\n var _this = this;\n this._textEditChanges = Object.create(null);\n if (workspaceEdit !== undefined) {\n this._workspaceEdit = workspaceEdit;\n if (workspaceEdit.documentChanges) {\n this._changeAnnotations = new ChangeAnnotations(workspaceEdit.changeAnnotations);\n workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n workspaceEdit.documentChanges.forEach(function (change) {\n if (TextDocumentEdit.is(change)) {\n var textEditChange = new TextEditChangeImpl(change.edits, _this._changeAnnotations);\n _this._textEditChanges[change.textDocument.uri] = textEditChange;\n }\n });\n }\n else if (workspaceEdit.changes) {\n Object.keys(workspaceEdit.changes).forEach(function (key) {\n var textEditChange = new TextEditChangeImpl(workspaceEdit.changes[key]);\n _this._textEditChanges[key] = textEditChange;\n });\n }\n }\n else {\n this._workspaceEdit = {};\n }\n }\n Object.defineProperty(WorkspaceChange.prototype, \"edit\", {\n /**\n * Returns the underlying {@link WorkspaceEdit} literal\n * use to be returned from a workspace edit operation like rename.\n */\n get: function () {\n this.initDocumentChanges();\n if (this._changeAnnotations !== undefined) {\n if (this._changeAnnotations.size === 0) {\n this._workspaceEdit.changeAnnotations = undefined;\n }\n else {\n this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n }\n }\n return this._workspaceEdit;\n },\n enumerable: false,\n configurable: true\n });\n WorkspaceChange.prototype.getTextEditChange = function (key) {\n if (OptionalVersionedTextDocumentIdentifier.is(key)) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var textDocument = { uri: key.uri, version: key.version };\n var result = this._textEditChanges[textDocument.uri];\n if (!result) {\n var edits = [];\n var textDocumentEdit = {\n textDocument: textDocument,\n edits: edits\n };\n this._workspaceEdit.documentChanges.push(textDocumentEdit);\n result = new TextEditChangeImpl(edits, this._changeAnnotations);\n this._textEditChanges[textDocument.uri] = result;\n }\n return result;\n }\n else {\n this.initChanges();\n if (this._workspaceEdit.changes === undefined) {\n throw new Error('Workspace edit is not configured for normal text edit changes.');\n }\n var result = this._textEditChanges[key];\n if (!result) {\n var edits = [];\n this._workspaceEdit.changes[key] = edits;\n result = new TextEditChangeImpl(edits);\n this._textEditChanges[key] = result;\n }\n return result;\n }\n };\n WorkspaceChange.prototype.initDocumentChanges = function () {\n if (this._workspaceEdit.documentChanges === undefined && this._workspaceEdit.changes === undefined) {\n this._changeAnnotations = new ChangeAnnotations();\n this._workspaceEdit.documentChanges = [];\n this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n }\n };\n WorkspaceChange.prototype.initChanges = function () {\n if (this._workspaceEdit.documentChanges === undefined && this._workspaceEdit.changes === undefined) {\n this._workspaceEdit.changes = Object.create(null);\n }\n };\n WorkspaceChange.prototype.createFile = function (uri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n }\n else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === undefined) {\n operation = CreateFile.create(uri, options);\n }\n else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = CreateFile.create(uri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== undefined) {\n return id;\n }\n };\n WorkspaceChange.prototype.renameFile = function (oldUri, newUri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n }\n else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === undefined) {\n operation = RenameFile.create(oldUri, newUri, options);\n }\n else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = RenameFile.create(oldUri, newUri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== undefined) {\n return id;\n }\n };\n WorkspaceChange.prototype.deleteFile = function (uri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n }\n else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === undefined) {\n operation = DeleteFile.create(uri, options);\n }\n else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = DeleteFile.create(uri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== undefined) {\n return id;\n }\n };\n return WorkspaceChange;\n }());\n exports.WorkspaceChange = WorkspaceChange;\n /**\n * The TextDocumentIdentifier namespace provides helper functions to work with\n * {@link TextDocumentIdentifier} literals.\n */\n var TextDocumentIdentifier;\n (function (TextDocumentIdentifier) {\n /**\n * Creates a new TextDocumentIdentifier literal.\n * @param uri The document's uri.\n */\n function create(uri) {\n return { uri: uri };\n }\n TextDocumentIdentifier.create = create;\n /**\n * Checks whether the given literal conforms to the {@link TextDocumentIdentifier} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri);\n }\n TextDocumentIdentifier.is = is;\n })(TextDocumentIdentifier || (exports.TextDocumentIdentifier = TextDocumentIdentifier = {}));\n /**\n * The VersionedTextDocumentIdentifier namespace provides helper functions to work with\n * {@link VersionedTextDocumentIdentifier} literals.\n */\n var VersionedTextDocumentIdentifier;\n (function (VersionedTextDocumentIdentifier) {\n /**\n * Creates a new VersionedTextDocumentIdentifier literal.\n * @param uri The document's uri.\n * @param version The document's version.\n */\n function create(uri, version) {\n return { uri: uri, version: version };\n }\n VersionedTextDocumentIdentifier.create = create;\n /**\n * Checks whether the given literal conforms to the {@link VersionedTextDocumentIdentifier} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.integer(candidate.version);\n }\n VersionedTextDocumentIdentifier.is = is;\n })(VersionedTextDocumentIdentifier || (exports.VersionedTextDocumentIdentifier = VersionedTextDocumentIdentifier = {}));\n /**\n * The OptionalVersionedTextDocumentIdentifier namespace provides helper functions to work with\n * {@link OptionalVersionedTextDocumentIdentifier} literals.\n */\n var OptionalVersionedTextDocumentIdentifier;\n (function (OptionalVersionedTextDocumentIdentifier) {\n /**\n * Creates a new OptionalVersionedTextDocumentIdentifier literal.\n * @param uri The document's uri.\n * @param version The document's version.\n */\n function create(uri, version) {\n return { uri: uri, version: version };\n }\n OptionalVersionedTextDocumentIdentifier.create = create;\n /**\n * Checks whether the given literal conforms to the {@link OptionalVersionedTextDocumentIdentifier} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && (candidate.version === null || Is.integer(candidate.version));\n }\n OptionalVersionedTextDocumentIdentifier.is = is;\n })(OptionalVersionedTextDocumentIdentifier || (exports.OptionalVersionedTextDocumentIdentifier = OptionalVersionedTextDocumentIdentifier = {}));\n /**\n * The TextDocumentItem namespace provides helper functions to work with\n * {@link TextDocumentItem} literals.\n */\n var TextDocumentItem;\n (function (TextDocumentItem) {\n /**\n * Creates a new TextDocumentItem literal.\n * @param uri The document's uri.\n * @param languageId The document's language identifier.\n * @param version The document's version number.\n * @param text The document's text.\n */\n function create(uri, languageId, version, text) {\n return { uri: uri, languageId: languageId, version: version, text: text };\n }\n TextDocumentItem.create = create;\n /**\n * Checks whether the given literal conforms to the {@link TextDocumentItem} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.string(candidate.languageId) && Is.integer(candidate.version) && Is.string(candidate.text);\n }\n TextDocumentItem.is = is;\n })(TextDocumentItem || (exports.TextDocumentItem = TextDocumentItem = {}));\n /**\n * Describes the content type that a client supports in various\n * result literals like `Hover`, `ParameterInfo` or `CompletionItem`.\n *\n * Please note that `MarkupKinds` must not start with a `$`. This kinds\n * are reserved for internal usage.\n */\n var MarkupKind;\n (function (MarkupKind) {\n /**\n * Plain text is supported as a content format\n */\n MarkupKind.PlainText = 'plaintext';\n /**\n * Markdown is supported as a content format\n */\n MarkupKind.Markdown = 'markdown';\n /**\n * Checks whether the given value is a value of the {@link MarkupKind} type.\n */\n function is(value) {\n var candidate = value;\n return candidate === MarkupKind.PlainText || candidate === MarkupKind.Markdown;\n }\n MarkupKind.is = is;\n })(MarkupKind || (exports.MarkupKind = MarkupKind = {}));\n var MarkupContent;\n (function (MarkupContent) {\n /**\n * Checks whether the given value conforms to the {@link MarkupContent} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(value) && MarkupKind.is(candidate.kind) && Is.string(candidate.value);\n }\n MarkupContent.is = is;\n })(MarkupContent || (exports.MarkupContent = MarkupContent = {}));\n /**\n * The kind of a completion entry.\n */\n var CompletionItemKind;\n (function (CompletionItemKind) {\n CompletionItemKind.Text = 1;\n CompletionItemKind.Method = 2;\n CompletionItemKind.Function = 3;\n CompletionItemKind.Constructor = 4;\n CompletionItemKind.Field = 5;\n CompletionItemKind.Variable = 6;\n CompletionItemKind.Class = 7;\n CompletionItemKind.Interface = 8;\n CompletionItemKind.Module = 9;\n CompletionItemKind.Property = 10;\n CompletionItemKind.Unit = 11;\n CompletionItemKind.Value = 12;\n CompletionItemKind.Enum = 13;\n CompletionItemKind.Keyword = 14;\n CompletionItemKind.Snippet = 15;\n CompletionItemKind.Color = 16;\n CompletionItemKind.File = 17;\n CompletionItemKind.Reference = 18;\n CompletionItemKind.Folder = 19;\n CompletionItemKind.EnumMember = 20;\n CompletionItemKind.Constant = 21;\n CompletionItemKind.Struct = 22;\n CompletionItemKind.Event = 23;\n CompletionItemKind.Operator = 24;\n CompletionItemKind.TypeParameter = 25;\n })(CompletionItemKind || (exports.CompletionItemKind = CompletionItemKind = {}));\n /**\n * Defines whether the insert text in a completion item should be interpreted as\n * plain text or a snippet.\n */\n var InsertTextFormat;\n (function (InsertTextFormat) {\n /**\n * The primary text to be inserted is treated as a plain string.\n */\n InsertTextFormat.PlainText = 1;\n /**\n * The primary text to be inserted is treated as a snippet.\n *\n * A snippet can define tab stops and placeholders with `$1`, `$2`\n * and `${3:foo}`. `$0` defines the final tab stop, it defaults to\n * the end of the snippet. Placeholders with equal identifiers are linked,\n * that is typing in one will update others too.\n *\n * See also: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#snippet_syntax\n */\n InsertTextFormat.Snippet = 2;\n })(InsertTextFormat || (exports.InsertTextFormat = InsertTextFormat = {}));\n /**\n * Completion item tags are extra annotations that tweak the rendering of a completion\n * item.\n *\n * @since 3.15.0\n */\n var CompletionItemTag;\n (function (CompletionItemTag) {\n /**\n * Render a completion as obsolete, usually using a strike-out.\n */\n CompletionItemTag.Deprecated = 1;\n })(CompletionItemTag || (exports.CompletionItemTag = CompletionItemTag = {}));\n /**\n * The InsertReplaceEdit namespace provides functions to deal with insert / replace edits.\n *\n * @since 3.16.0\n */\n var InsertReplaceEdit;\n (function (InsertReplaceEdit) {\n /**\n * Creates a new insert / replace edit\n */\n function create(newText, insert, replace) {\n return { newText: newText, insert: insert, replace: replace };\n }\n InsertReplaceEdit.create = create;\n /**\n * Checks whether the given literal conforms to the {@link InsertReplaceEdit} interface.\n */\n function is(value) {\n var candidate = value;\n return candidate && Is.string(candidate.newText) && Range.is(candidate.insert) && Range.is(candidate.replace);\n }\n InsertReplaceEdit.is = is;\n })(InsertReplaceEdit || (exports.InsertReplaceEdit = InsertReplaceEdit = {}));\n /**\n * How whitespace and indentation is handled during completion\n * item insertion.\n *\n * @since 3.16.0\n */\n var InsertTextMode;\n (function (InsertTextMode) {\n /**\n * The insertion or replace strings is taken as it is. If the\n * value is multi line the lines below the cursor will be\n * inserted using the indentation defined in the string value.\n * The client will not apply any kind of adjustments to the\n * string.\n */\n InsertTextMode.asIs = 1;\n /**\n * The editor adjusts leading whitespace of new lines so that\n * they match the indentation up to the cursor of the line for\n * which the item is accepted.\n *\n * Consider a line like this: <2tabs><cursor><3tabs>foo. Accepting a\n * multi line completion item is indented using 2 tabs and all\n * following lines inserted will be indented using 2 tabs as well.\n */\n InsertTextMode.adjustIndentation = 2;\n })(InsertTextMode || (exports.InsertTextMode = InsertTextMode = {}));\n var CompletionItemLabelDetails;\n (function (CompletionItemLabelDetails) {\n function is(value) {\n var candidate = value;\n return candidate && (Is.string(candidate.detail) || candidate.detail === undefined) &&\n (Is.string(candidate.description) || candidate.description === undefined);\n }\n CompletionItemLabelDetails.is = is;\n })(CompletionItemLabelDetails || (exports.CompletionItemLabelDetails = CompletionItemLabelDetails = {}));\n /**\n * The CompletionItem namespace provides functions to deal with\n * completion items.\n */\n var CompletionItem;\n (function (CompletionItem) {\n /**\n * Create a completion item and seed it with a label.\n * @param label The completion item's label\n */\n function create(label) {\n return { label: label };\n }\n CompletionItem.create = create;\n })(CompletionItem || (exports.CompletionItem = CompletionItem = {}));\n /**\n * The CompletionList namespace provides functions to deal with\n * completion lists.\n */\n var CompletionList;\n (function (CompletionList) {\n /**\n * Creates a new completion list.\n *\n * @param items The completion items.\n * @param isIncomplete The list is not complete.\n */\n function create(items, isIncomplete) {\n return { items: items ? items : [], isIncomplete: !!isIncomplete };\n }\n CompletionList.create = create;\n })(CompletionList || (exports.CompletionList = CompletionList = {}));\n var MarkedString;\n (function (MarkedString) {\n /**\n * Creates a marked string from plain text.\n *\n * @param plainText The plain text.\n */\n function fromPlainText(plainText) {\n return plainText.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g, '\\\\$&'); // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash\n }\n MarkedString.fromPlainText = fromPlainText;\n /**\n * Checks whether the given value conforms to the {@link MarkedString} type.\n */\n function is(value) {\n var candidate = value;\n return Is.string(candidate) || (Is.objectLiteral(candidate) && Is.string(candidate.language) && Is.string(candidate.value));\n }\n MarkedString.is = is;\n })(MarkedString || (exports.MarkedString = MarkedString = {}));\n var Hover;\n (function (Hover) {\n /**\n * Checks whether the given value conforms to the {@link Hover} interface.\n */\n function is(value) {\n var candidate = value;\n return !!candidate && Is.objectLiteral(candidate) && (MarkupContent.is(candidate.contents) ||\n MarkedString.is(candidate.contents) ||\n Is.typedArray(candidate.contents, MarkedString.is)) && (value.range === undefined || Range.is(value.range));\n }\n Hover.is = is;\n })(Hover || (exports.Hover = Hover = {}));\n /**\n * The ParameterInformation namespace provides helper functions to work with\n * {@link ParameterInformation} literals.\n */\n var ParameterInformation;\n (function (ParameterInformation) {\n /**\n * Creates a new parameter information literal.\n *\n * @param label A label string.\n * @param documentation A doc string.\n */\n function create(label, documentation) {\n return documentation ? { label: label, documentation: documentation } : { label: label };\n }\n ParameterInformation.create = create;\n })(ParameterInformation || (exports.ParameterInformation = ParameterInformation = {}));\n /**\n * The SignatureInformation namespace provides helper functions to work with\n * {@link SignatureInformation} literals.\n */\n var SignatureInformation;\n (function (SignatureInformation) {\n function create(label, documentation) {\n var parameters = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n parameters[_i - 2] = arguments[_i];\n }\n var result = { label: label };\n if (Is.defined(documentation)) {\n result.documentation = documentation;\n }\n if (Is.defined(parameters)) {\n result.parameters = parameters;\n }\n else {\n result.parameters = [];\n }\n return result;\n }\n SignatureInformation.create = create;\n })(SignatureInformation || (exports.SignatureInformation = SignatureInformation = {}));\n /**\n * A document highlight kind.\n */\n var DocumentHighlightKind;\n (function (DocumentHighlightKind) {\n /**\n * A textual occurrence.\n */\n DocumentHighlightKind.Text = 1;\n /**\n * Read-access of a symbol, like reading a variable.\n */\n DocumentHighlightKind.Read = 2;\n /**\n * Write-access of a symbol, like writing to a variable.\n */\n DocumentHighlightKind.Write = 3;\n })(DocumentHighlightKind || (exports.DocumentHighlightKind = DocumentHighlightKind = {}));\n /**\n * DocumentHighlight namespace to provide helper functions to work with\n * {@link DocumentHighlight} literals.\n */\n var DocumentHighlight;\n (function (DocumentHighlight) {\n /**\n * Create a DocumentHighlight object.\n * @param range The range the highlight applies to.\n * @param kind The highlight kind\n */\n function create(range, kind) {\n var result = { range: range };\n if (Is.number(kind)) {\n result.kind = kind;\n }\n return result;\n }\n DocumentHighlight.create = create;\n })(DocumentHighlight || (exports.DocumentHighlight = DocumentHighlight = {}));\n /**\n * A symbol kind.\n */\n var SymbolKind;\n (function (SymbolKind) {\n SymbolKind.File = 1;\n SymbolKind.Module = 2;\n SymbolKind.Namespace = 3;\n SymbolKind.Package = 4;\n SymbolKind.Class = 5;\n SymbolKind.Method = 6;\n SymbolKind.Property = 7;\n SymbolKind.Field = 8;\n SymbolKind.Constructor = 9;\n SymbolKind.Enum = 10;\n SymbolKind.Interface = 11;\n SymbolKind.Function = 12;\n SymbolKind.Variable = 13;\n SymbolKind.Constant = 14;\n SymbolKind.String = 15;\n SymbolKind.Number = 16;\n SymbolKind.Boolean = 17;\n SymbolKind.Array = 18;\n SymbolKind.Object = 19;\n SymbolKind.Key = 20;\n SymbolKind.Null = 21;\n SymbolKind.EnumMember = 22;\n SymbolKind.Struct = 23;\n SymbolKind.Event = 24;\n SymbolKind.Operator = 25;\n SymbolKind.TypeParameter = 26;\n })(SymbolKind || (exports.SymbolKind = SymbolKind = {}));\n /**\n * Symbol tags are extra annotations that tweak the rendering of a symbol.\n *\n * @since 3.16\n */\n var SymbolTag;\n (function (SymbolTag) {\n /**\n * Render a symbol as obsolete, usually using a strike-out.\n */\n SymbolTag.Deprecated = 1;\n })(SymbolTag || (exports.SymbolTag = SymbolTag = {}));\n var SymbolInformation;\n (function (SymbolInformation) {\n /**\n * Creates a new symbol information literal.\n *\n * @param name The name of the symbol.\n * @param kind The kind of the symbol.\n * @param range The range of the location of the symbol.\n * @param uri The resource of the location of symbol.\n * @param containerName The name of the symbol containing the symbol.\n */\n function create(name, kind, range, uri, containerName) {\n var result = {\n name: name,\n kind: kind,\n location: { uri: uri, range: range }\n };\n if (containerName) {\n result.containerName = containerName;\n }\n return result;\n }\n SymbolInformation.create = create;\n })(SymbolInformation || (exports.SymbolInformation = SymbolInformation = {}));\n var WorkspaceSymbol;\n (function (WorkspaceSymbol) {\n /**\n * Create a new workspace symbol.\n *\n * @param name The name of the symbol.\n * @param kind The kind of the symbol.\n * @param uri The resource of the location of the symbol.\n * @param range An options range of the location.\n * @returns A WorkspaceSymbol.\n */\n function create(name, kind, uri, range) {\n return range !== undefined\n ? { name: name, kind: kind, location: { uri: uri, range: range } }\n : { name: name, kind: kind, location: { uri: uri } };\n }\n WorkspaceSymbol.create = create;\n })(WorkspaceSymbol || (exports.WorkspaceSymbol = WorkspaceSymbol = {}));\n var DocumentSymbol;\n (function (DocumentSymbol) {\n /**\n * Creates a new symbol information literal.\n *\n * @param name The name of the symbol.\n * @param detail The detail of the symbol.\n * @param kind The kind of the symbol.\n * @param range The range of the symbol.\n * @param selectionRange The selectionRange of the symbol.\n * @param children Children of the symbol.\n */\n function create(name, detail, kind, range, selectionRange, children) {\n var result = {\n name: name,\n detail: detail,\n kind: kind,\n range: range,\n selectionRange: selectionRange\n };\n if (children !== undefined) {\n result.children = children;\n }\n return result;\n }\n DocumentSymbol.create = create;\n /**\n * Checks whether the given literal conforms to the {@link DocumentSymbol} interface.\n */\n function is(value) {\n var candidate = value;\n return candidate &&\n Is.string(candidate.name) && Is.number(candidate.kind) &&\n Range.is(candidate.range) && Range.is(candidate.selectionRange) &&\n (candidate.detail === undefined || Is.string(candidate.detail)) &&\n (candidate.deprecated === undefined || Is.boolean(candidate.deprecated)) &&\n (candidate.children === undefined || Array.isArray(candidate.children)) &&\n (candidate.tags === undefined || Array.isArray(candidate.tags));\n }\n DocumentSymbol.is = is;\n })(DocumentSymbol || (exports.DocumentSymbol = DocumentSymbol = {}));\n /**\n * A set of predefined code action kinds\n */\n var CodeActionKind;\n (function (CodeActionKind) {\n /**\n * Empty kind.\n */\n CodeActionKind.Empty = '';\n /**\n * Base kind for quickfix actions: 'quickfix'\n */\n CodeActionKind.QuickFix = 'quickfix';\n /**\n * Base kind for refactoring actions: 'refactor'\n */\n CodeActionKind.Refactor = 'refactor';\n /**\n * Base kind for refactoring extraction actions: 'refactor.extract'\n *\n * Example extract actions:\n *\n * - Extract method\n * - Extract function\n * - Extract variable\n * - Extract interface from class\n * - ...\n */\n CodeActionKind.RefactorExtract = 'refactor.extract';\n /**\n * Base kind for refactoring inline actions: 'refactor.inline'\n *\n * Example inline actions:\n *\n * - Inline function\n * - Inline variable\n * - Inline constant\n * - ...\n */\n CodeActionKind.RefactorInline = 'refactor.inline';\n /**\n * Base kind for refactoring rewrite actions: 'refactor.rewrite'\n *\n * Example rewrite actions:\n *\n * - Convert JavaScript function to class\n * - Add or remove parameter\n * - Encapsulate field\n * - Make method static\n * - Move method to base class\n * - ...\n */\n CodeActionKind.RefactorRewrite = 'refactor.rewrite';\n /**\n * Base kind for source actions: `source`\n *\n * Source code actions apply to the entire file.\n */\n CodeActionKind.Source = 'source';\n /**\n * Base kind for an organize imports source action: `source.organizeImports`\n */\n CodeActionKind.SourceOrganizeImports = 'source.organizeImports';\n /**\n * Base kind for auto-fix source actions: `source.fixAll`.\n *\n * Fix all actions automatically fix errors that have a clear fix that do not require user input.\n * They should not suppress errors or perform unsafe fixes such as generating new types or classes.\n *\n * @since 3.15.0\n */\n CodeActionKind.SourceFixAll = 'source.fixAll';\n })(CodeActionKind || (exports.CodeActionKind = CodeActionKind = {}));\n /**\n * The reason why code actions were requested.\n *\n * @since 3.17.0\n */\n var CodeActionTriggerKind;\n (function (CodeActionTriggerKind) {\n /**\n * Code actions were explicitly requested by the user or by an extension.\n */\n CodeActionTriggerKind.Invoked = 1;\n /**\n * Code actions were requested automatically.\n *\n * This typically happens when current selection in a file changes, but can\n * also be triggered when file content changes.\n */\n CodeActionTriggerKind.Automatic = 2;\n })(CodeActionTriggerKind || (exports.CodeActionTriggerKind = CodeActionTriggerKind = {}));\n /**\n * The CodeActionContext namespace provides helper functions to work with\n * {@link CodeActionContext} literals.\n */\n var CodeActionContext;\n (function (CodeActionContext) {\n /**\n * Creates a new CodeActionContext literal.\n */\n function create(diagnostics, only, triggerKind) {\n var result = { diagnostics: diagnostics };\n if (only !== undefined && only !== null) {\n result.only = only;\n }\n if (triggerKind !== undefined && triggerKind !== null) {\n result.triggerKind = triggerKind;\n }\n return result;\n }\n CodeActionContext.create = create;\n /**\n * Checks whether the given literal conforms to the {@link CodeActionContext} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.typedArray(candidate.diagnostics, Diagnostic.is)\n && (candidate.only === undefined || Is.typedArray(candidate.only, Is.string))\n && (candidate.triggerKind === undefined || candidate.triggerKind === CodeActionTriggerKind.Invoked || candidate.triggerKind === CodeActionTriggerKind.Automatic);\n }\n CodeActionContext.is = is;\n })(CodeActionContext || (exports.CodeActionContext = CodeActionContext = {}));\n var CodeAction;\n (function (CodeAction) {\n function create(title, kindOrCommandOrEdit, kind) {\n var result = { title: title };\n var checkKind = true;\n if (typeof kindOrCommandOrEdit === 'string') {\n checkKind = false;\n result.kind = kindOrCommandOrEdit;\n }\n else if (Command.is(kindOrCommandOrEdit)) {\n result.command = kindOrCommandOrEdit;\n }\n else {\n result.edit = kindOrCommandOrEdit;\n }\n if (checkKind && kind !== undefined) {\n result.kind = kind;\n }\n return result;\n }\n CodeAction.create = create;\n function is(value) {\n var candidate = value;\n return candidate && Is.string(candidate.title) &&\n (candidate.diagnostics === undefined || Is.typedArray(candidate.diagnostics, Diagnostic.is)) &&\n (candidate.kind === undefined || Is.string(candidate.kind)) &&\n (candidate.edit !== undefined || candidate.command !== undefined) &&\n (candidate.command === undefined || Command.is(candidate.command)) &&\n (candidate.isPreferred === undefined || Is.boolean(candidate.isPreferred)) &&\n (candidate.edit === undefined || WorkspaceEdit.is(candidate.edit));\n }\n CodeAction.is = is;\n })(CodeAction || (exports.CodeAction = CodeAction = {}));\n /**\n * The CodeLens namespace provides helper functions to work with\n * {@link CodeLens} literals.\n */\n var CodeLens;\n (function (CodeLens) {\n /**\n * Creates a new CodeLens literal.\n */\n function create(range, data) {\n var result = { range: range };\n if (Is.defined(data)) {\n result.data = data;\n }\n return result;\n }\n CodeLens.create = create;\n /**\n * Checks whether the given literal conforms to the {@link CodeLens} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.command) || Command.is(candidate.command));\n }\n CodeLens.is = is;\n })(CodeLens || (exports.CodeLens = CodeLens = {}));\n /**\n * The FormattingOptions namespace provides helper functions to work with\n * {@link FormattingOptions} literals.\n */\n var FormattingOptions;\n (function (FormattingOptions) {\n /**\n * Creates a new FormattingOptions literal.\n */\n function create(tabSize, insertSpaces) {\n return { tabSize: tabSize, insertSpaces: insertSpaces };\n }\n FormattingOptions.create = create;\n /**\n * Checks whether the given literal conforms to the {@link FormattingOptions} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.uinteger(candidate.tabSize) && Is.boolean(candidate.insertSpaces);\n }\n FormattingOptions.is = is;\n })(FormattingOptions || (exports.FormattingOptions = FormattingOptions = {}));\n /**\n * The DocumentLink namespace provides helper functions to work with\n * {@link DocumentLink} literals.\n */\n var DocumentLink;\n (function (DocumentLink) {\n /**\n * Creates a new DocumentLink literal.\n */\n function create(range, target, data) {\n return { range: range, target: target, data: data };\n }\n DocumentLink.create = create;\n /**\n * Checks whether the given literal conforms to the {@link DocumentLink} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.target) || Is.string(candidate.target));\n }\n DocumentLink.is = is;\n })(DocumentLink || (exports.DocumentLink = DocumentLink = {}));\n /**\n * The SelectionRange namespace provides helper function to work with\n * SelectionRange literals.\n */\n var SelectionRange;\n (function (SelectionRange) {\n /**\n * Creates a new SelectionRange\n * @param range the range.\n * @param parent an optional parent.\n */\n function create(range, parent) {\n return { range: range, parent: parent };\n }\n SelectionRange.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.range) && (candidate.parent === undefined || SelectionRange.is(candidate.parent));\n }\n SelectionRange.is = is;\n })(SelectionRange || (exports.SelectionRange = SelectionRange = {}));\n /**\n * A set of predefined token types. This set is not fixed\n * an clients can specify additional token types via the\n * corresponding client capabilities.\n *\n * @since 3.16.0\n */\n var SemanticTokenTypes;\n (function (SemanticTokenTypes) {\n SemanticTokenTypes[\"namespace\"] = \"namespace\";\n /**\n * Represents a generic type. Acts as a fallback for types which can't be mapped to\n * a specific type like class or enum.\n */\n SemanticTokenTypes[\"type\"] = \"type\";\n SemanticTokenTypes[\"class\"] = \"class\";\n SemanticTokenTypes[\"enum\"] = \"enum\";\n SemanticTokenTypes[\"interface\"] = \"interface\";\n SemanticTokenTypes[\"struct\"] = \"struct\";\n SemanticTokenTypes[\"typeParameter\"] = \"typeParameter\";\n SemanticTokenTypes[\"parameter\"] = \"parameter\";\n SemanticTokenTypes[\"variable\"] = \"variable\";\n SemanticTokenTypes[\"property\"] = \"property\";\n SemanticTokenTypes[\"enumMember\"] = \"enumMember\";\n SemanticTokenTypes[\"event\"] = \"event\";\n SemanticTokenTypes[\"function\"] = \"function\";\n SemanticTokenTypes[\"method\"] = \"method\";\n SemanticTokenTypes[\"macro\"] = \"macro\";\n SemanticTokenTypes[\"keyword\"] = \"keyword\";\n SemanticTokenTypes[\"modifier\"] = \"modifier\";\n SemanticTokenTypes[\"comment\"] = \"comment\";\n SemanticTokenTypes[\"string\"] = \"string\";\n SemanticTokenTypes[\"number\"] = \"number\";\n SemanticTokenTypes[\"regexp\"] = \"regexp\";\n SemanticTokenTypes[\"operator\"] = \"operator\";\n /**\n * @since 3.17.0\n */\n SemanticTokenTypes[\"decorator\"] = \"decorator\";\n })(SemanticTokenTypes || (exports.SemanticTokenTypes = SemanticTokenTypes = {}));\n /**\n * A set of predefined token modifiers. This set is not fixed\n * an clients can specify additional token types via the\n * corresponding client capabilities.\n *\n * @since 3.16.0\n */\n var SemanticTokenModifiers;\n (function (SemanticTokenModifiers) {\n SemanticTokenModifiers[\"declaration\"] = \"declaration\";\n SemanticTokenModifiers[\"definition\"] = \"definition\";\n SemanticTokenModifiers[\"readonly\"] = \"readonly\";\n SemanticTokenModifiers[\"static\"] = \"static\";\n SemanticTokenModifiers[\"deprecated\"] = \"deprecated\";\n SemanticTokenModifiers[\"abstract\"] = \"abstract\";\n SemanticTokenModifiers[\"async\"] = \"async\";\n SemanticTokenModifiers[\"modification\"] = \"modification\";\n SemanticTokenModifiers[\"documentation\"] = \"documentation\";\n SemanticTokenModifiers[\"defaultLibrary\"] = \"defaultLibrary\";\n })(SemanticTokenModifiers || (exports.SemanticTokenModifiers = SemanticTokenModifiers = {}));\n /**\n * @since 3.16.0\n */\n var SemanticTokens;\n (function (SemanticTokens) {\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && (candidate.resultId === undefined || typeof candidate.resultId === 'string') &&\n Array.isArray(candidate.data) && (candidate.data.length === 0 || typeof candidate.data[0] === 'number');\n }\n SemanticTokens.is = is;\n })(SemanticTokens || (exports.SemanticTokens = SemanticTokens = {}));\n /**\n * The InlineValueText namespace provides functions to deal with InlineValueTexts.\n *\n * @since 3.17.0\n */\n var InlineValueText;\n (function (InlineValueText) {\n /**\n * Creates a new InlineValueText literal.\n */\n function create(range, text) {\n return { range: range, text: text };\n }\n InlineValueText.create = create;\n function is(value) {\n var candidate = value;\n return candidate !== undefined && candidate !== null && Range.is(candidate.range) && Is.string(candidate.text);\n }\n InlineValueText.is = is;\n })(InlineValueText || (exports.InlineValueText = InlineValueText = {}));\n /**\n * The InlineValueVariableLookup namespace provides functions to deal with InlineValueVariableLookups.\n *\n * @since 3.17.0\n */\n var InlineValueVariableLookup;\n (function (InlineValueVariableLookup) {\n /**\n * Creates a new InlineValueText literal.\n */\n function create(range, variableName, caseSensitiveLookup) {\n return { range: range, variableName: variableName, caseSensitiveLookup: caseSensitiveLookup };\n }\n InlineValueVariableLookup.create = create;\n function is(value) {\n var candidate = value;\n return candidate !== undefined && candidate !== null && Range.is(candidate.range) && Is.boolean(candidate.caseSensitiveLookup)\n && (Is.string(candidate.variableName) || candidate.variableName === undefined);\n }\n InlineValueVariableLookup.is = is;\n })(InlineValueVariableLookup || (exports.InlineValueVariableLookup = InlineValueVariableLookup = {}));\n /**\n * The InlineValueEvaluatableExpression namespace provides functions to deal with InlineValueEvaluatableExpression.\n *\n * @since 3.17.0\n */\n var InlineValueEvaluatableExpression;\n (function (InlineValueEvaluatableExpression) {\n /**\n * Creates a new InlineValueEvaluatableExpression literal.\n */\n function create(range, expression) {\n return { range: range, expression: expression };\n }\n InlineValueEvaluatableExpression.create = create;\n function is(value) {\n var candidate = value;\n return candidate !== undefined && candidate !== null && Range.is(candidate.range)\n && (Is.string(candidate.expression) || candidate.expression === undefined);\n }\n InlineValueEvaluatableExpression.is = is;\n })(InlineValueEvaluatableExpression || (exports.InlineValueEvaluatableExpression = InlineValueEvaluatableExpression = {}));\n /**\n * The InlineValueContext namespace provides helper functions to work with\n * {@link InlineValueContext} literals.\n *\n * @since 3.17.0\n */\n var InlineValueContext;\n (function (InlineValueContext) {\n /**\n * Creates a new InlineValueContext literal.\n */\n function create(frameId, stoppedLocation) {\n return { frameId: frameId, stoppedLocation: stoppedLocation };\n }\n InlineValueContext.create = create;\n /**\n * Checks whether the given literal conforms to the {@link InlineValueContext} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(value.stoppedLocation);\n }\n InlineValueContext.is = is;\n })(InlineValueContext || (exports.InlineValueContext = InlineValueContext = {}));\n /**\n * Inlay hint kinds.\n *\n * @since 3.17.0\n */\n var InlayHintKind;\n (function (InlayHintKind) {\n /**\n * An inlay hint that for a type annotation.\n */\n InlayHintKind.Type = 1;\n /**\n * An inlay hint that is for a parameter.\n */\n InlayHintKind.Parameter = 2;\n function is(value) {\n return value === 1 || value === 2;\n }\n InlayHintKind.is = is;\n })(InlayHintKind || (exports.InlayHintKind = InlayHintKind = {}));\n var InlayHintLabelPart;\n (function (InlayHintLabelPart) {\n function create(value) {\n return { value: value };\n }\n InlayHintLabelPart.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate)\n && (candidate.tooltip === undefined || Is.string(candidate.tooltip) || MarkupContent.is(candidate.tooltip))\n && (candidate.location === undefined || Location.is(candidate.location))\n && (candidate.command === undefined || Command.is(candidate.command));\n }\n InlayHintLabelPart.is = is;\n })(InlayHintLabelPart || (exports.InlayHintLabelPart = InlayHintLabelPart = {}));\n var InlayHint;\n (function (InlayHint) {\n function create(position, label, kind) {\n var result = { position: position, label: label };\n if (kind !== undefined) {\n result.kind = kind;\n }\n return result;\n }\n InlayHint.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Position.is(candidate.position)\n && (Is.string(candidate.label) || Is.typedArray(candidate.label, InlayHintLabelPart.is))\n && (candidate.kind === undefined || InlayHintKind.is(candidate.kind))\n && (candidate.textEdits === undefined) || Is.typedArray(candidate.textEdits, TextEdit.is)\n && (candidate.tooltip === undefined || Is.string(candidate.tooltip) || MarkupContent.is(candidate.tooltip))\n && (candidate.paddingLeft === undefined || Is.boolean(candidate.paddingLeft))\n && (candidate.paddingRight === undefined || Is.boolean(candidate.paddingRight));\n }\n InlayHint.is = is;\n })(InlayHint || (exports.InlayHint = InlayHint = {}));\n var StringValue;\n (function (StringValue) {\n function createSnippet(value) {\n return { kind: 'snippet', value: value };\n }\n StringValue.createSnippet = createSnippet;\n })(StringValue || (exports.StringValue = StringValue = {}));\n var InlineCompletionItem;\n (function (InlineCompletionItem) {\n function create(insertText, filterText, range, command) {\n return { insertText: insertText, filterText: filterText, range: range, command: command };\n }\n InlineCompletionItem.create = create;\n })(InlineCompletionItem || (exports.InlineCompletionItem = InlineCompletionItem = {}));\n var InlineCompletionList;\n (function (InlineCompletionList) {\n function create(items) {\n return { items: items };\n }\n InlineCompletionList.create = create;\n })(InlineCompletionList || (exports.InlineCompletionList = InlineCompletionList = {}));\n /**\n * Describes how an {@link InlineCompletionItemProvider inline completion provider} was triggered.\n *\n * @since 3.18.0\n * @proposed\n */\n var InlineCompletionTriggerKind;\n (function (InlineCompletionTriggerKind) {\n /**\n * Completion was triggered explicitly by a user gesture.\n */\n InlineCompletionTriggerKind.Invoked = 0;\n /**\n * Completion was triggered automatically while editing.\n */\n InlineCompletionTriggerKind.Automatic = 1;\n })(InlineCompletionTriggerKind || (exports.InlineCompletionTriggerKind = InlineCompletionTriggerKind = {}));\n var SelectedCompletionInfo;\n (function (SelectedCompletionInfo) {\n function create(range, text) {\n return { range: range, text: text };\n }\n SelectedCompletionInfo.create = create;\n })(SelectedCompletionInfo || (exports.SelectedCompletionInfo = SelectedCompletionInfo = {}));\n var InlineCompletionContext;\n (function (InlineCompletionContext) {\n function create(triggerKind, selectedCompletionInfo) {\n return { triggerKind: triggerKind, selectedCompletionInfo: selectedCompletionInfo };\n }\n InlineCompletionContext.create = create;\n })(InlineCompletionContext || (exports.InlineCompletionContext = InlineCompletionContext = {}));\n var WorkspaceFolder;\n (function (WorkspaceFolder) {\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && URI.is(candidate.uri) && Is.string(candidate.name);\n }\n WorkspaceFolder.is = is;\n })(WorkspaceFolder || (exports.WorkspaceFolder = WorkspaceFolder = {}));\n exports.EOL = ['\\n', '\\r\\n', '\\r'];\n /**\n * @deprecated Use the text document from the new vscode-languageserver-textdocument package.\n */\n var TextDocument;\n (function (TextDocument) {\n /**\n * Creates a new ITextDocument literal from the given uri and content.\n * @param uri The document's uri.\n * @param languageId The document's language Id.\n * @param version The document's version.\n * @param content The document's content.\n */\n function create(uri, languageId, version, content) {\n return new FullTextDocument(uri, languageId, version, content);\n }\n TextDocument.create = create;\n /**\n * Checks whether the given literal conforms to the {@link ITextDocument} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && (Is.undefined(candidate.languageId) || Is.string(candidate.languageId)) && Is.uinteger(candidate.lineCount)\n && Is.func(candidate.getText) && Is.func(candidate.positionAt) && Is.func(candidate.offsetAt) ? true : false;\n }\n TextDocument.is = is;\n function applyEdits(document, edits) {\n var text = document.getText();\n var sortedEdits = mergeSort(edits, function (a, b) {\n var diff = a.range.start.line - b.range.start.line;\n if (diff === 0) {\n return a.range.start.character - b.range.start.character;\n }\n return diff;\n });\n var lastModifiedOffset = text.length;\n for (var i = sortedEdits.length - 1; i >= 0; i--) {\n var e = sortedEdits[i];\n var startOffset = document.offsetAt(e.range.start);\n var endOffset = document.offsetAt(e.range.end);\n if (endOffset <= lastModifiedOffset) {\n text = text.substring(0, startOffset) + e.newText + text.substring(endOffset, text.length);\n }\n else {\n throw new Error('Overlapping edit');\n }\n lastModifiedOffset = startOffset;\n }\n return text;\n }\n TextDocument.applyEdits = applyEdits;\n function mergeSort(data, compare) {\n if (data.length <= 1) {\n // sorted\n return data;\n }\n var p = (data.length / 2) | 0;\n var left = data.slice(0, p);\n var right = data.slice(p);\n mergeSort(left, compare);\n mergeSort(right, compare);\n var leftIdx = 0;\n var rightIdx = 0;\n var i = 0;\n while (leftIdx < left.length && rightIdx < right.length) {\n var ret = compare(left[leftIdx], right[rightIdx]);\n if (ret <= 0) {\n // smaller_equal -> take left to preserve order\n data[i++] = left[leftIdx++];\n }\n else {\n // greater -> take right\n data[i++] = right[rightIdx++];\n }\n }\n while (leftIdx < left.length) {\n data[i++] = left[leftIdx++];\n }\n while (rightIdx < right.length) {\n data[i++] = right[rightIdx++];\n }\n return data;\n }\n })(TextDocument || (exports.TextDocument = TextDocument = {}));\n /**\n * @deprecated Use the text document from the new vscode-languageserver-textdocument package.\n */\n var FullTextDocument = /** @class */ (function () {\n function FullTextDocument(uri, languageId, version, content) {\n this._uri = uri;\n this._languageId = languageId;\n this._version = version;\n this._content = content;\n this._lineOffsets = undefined;\n }\n Object.defineProperty(FullTextDocument.prototype, \"uri\", {\n get: function () {\n return this._uri;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FullTextDocument.prototype, \"languageId\", {\n get: function () {\n return this._languageId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FullTextDocument.prototype, \"version\", {\n get: function () {\n return this._version;\n },\n enumerable: false,\n configurable: true\n });\n FullTextDocument.prototype.getText = function (range) {\n if (range) {\n var start = this.offsetAt(range.start);\n var end = this.offsetAt(range.end);\n return this._content.substring(start, end);\n }\n return this._content;\n };\n FullTextDocument.prototype.update = function (event, version) {\n this._content = event.text;\n this._version = version;\n this._lineOffsets = undefined;\n };\n FullTextDocument.prototype.getLineOffsets = function () {\n if (this._lineOffsets === undefined) {\n var lineOffsets = [];\n var text = this._content;\n var isLineStart = true;\n for (var i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n var ch = text.charAt(i);\n isLineStart = (ch === '\\r' || ch === '\\n');\n if (ch === '\\r' && i + 1 < text.length && text.charAt(i + 1) === '\\n') {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n this._lineOffsets = lineOffsets;\n }\n return this._lineOffsets;\n };\n FullTextDocument.prototype.positionAt = function (offset) {\n offset = Math.max(Math.min(offset, this._content.length), 0);\n var lineOffsets = this.getLineOffsets();\n var low = 0, high = lineOffsets.length;\n if (high === 0) {\n return Position.create(0, offset);\n }\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (lineOffsets[mid] > offset) {\n high = mid;\n }\n else {\n low = mid + 1;\n }\n }\n // low is the least x for which the line offset is larger than the current offset\n // or array.length if no line offset is larger than the current offset\n var line = low - 1;\n return Position.create(line, offset - lineOffsets[line]);\n };\n FullTextDocument.prototype.offsetAt = function (position) {\n var lineOffsets = this.getLineOffsets();\n if (position.line >= lineOffsets.length) {\n return this._content.length;\n }\n else if (position.line < 0) {\n return 0;\n }\n var lineOffset = lineOffsets[position.line];\n var nextLineOffset = (position.line + 1 < lineOffsets.length) ? lineOffsets[position.line + 1] : this._content.length;\n return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset);\n };\n Object.defineProperty(FullTextDocument.prototype, \"lineCount\", {\n get: function () {\n return this.getLineOffsets().length;\n },\n enumerable: false,\n configurable: true\n });\n return FullTextDocument;\n }());\n var Is;\n (function (Is) {\n var toString = Object.prototype.toString;\n function defined(value) {\n return typeof value !== 'undefined';\n }\n Is.defined = defined;\n function undefined(value) {\n return typeof value === 'undefined';\n }\n Is.undefined = undefined;\n function boolean(value) {\n return value === true || value === false;\n }\n Is.boolean = boolean;\n function string(value) {\n return toString.call(value) === '[object String]';\n }\n Is.string = string;\n function number(value) {\n return toString.call(value) === '[object Number]';\n }\n Is.number = number;\n function numberRange(value, min, max) {\n return toString.call(value) === '[object Number]' && min <= value && value <= max;\n }\n Is.numberRange = numberRange;\n function integer(value) {\n return toString.call(value) === '[object Number]' && -2147483648 <= value && value <= 2147483647;\n }\n Is.integer = integer;\n function uinteger(value) {\n return toString.call(value) === '[object Number]' && 0 <= value && value <= 2147483647;\n }\n Is.uinteger = uinteger;\n function func(value) {\n return toString.call(value) === '[object Function]';\n }\n Is.func = func;\n function objectLiteral(value) {\n // Strictly speaking class instances pass this check as well. Since the LSP\n // doesn't use classes we ignore this for now. If we do we need to add something\n // like this: `Object.getPrototypeOf(Object.getPrototypeOf(x)) === null`\n return value !== null && typeof value === 'object';\n }\n Is.objectLiteral = objectLiteral;\n function typedArray(value, check) {\n return Array.isArray(value) && value.every(check);\n }\n Is.typedArray = typedArray;\n })(Is || (Is = {}));\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass CharacterStream {\n constructor(sourceText) {\n this._start = 0;\n this._pos = 0;\n this.getStartOfToken = () => this._start;\n this.getCurrentPosition = () => this._pos;\n this.eol = () => this._sourceText.length === this._pos;\n this.sol = () => this._pos === 0;\n this.peek = () => {\n return this._sourceText.charAt(this._pos) || null;\n };\n this.next = () => {\n const char = this._sourceText.charAt(this._pos);\n this._pos++;\n return char;\n };\n this.eat = (pattern) => {\n const isMatched = this._testNextCharacter(pattern);\n if (isMatched) {\n this._start = this._pos;\n this._pos++;\n return this._sourceText.charAt(this._pos - 1);\n }\n return undefined;\n };\n this.eatWhile = (match) => {\n let isMatched = this._testNextCharacter(match);\n let didEat = false;\n if (isMatched) {\n didEat = isMatched;\n this._start = this._pos;\n }\n while (isMatched) {\n this._pos++;\n isMatched = this._testNextCharacter(match);\n didEat = true;\n }\n return didEat;\n };\n this.eatSpace = () => this.eatWhile(/[\\s\\u00a0]/);\n this.skipToEnd = () => {\n this._pos = this._sourceText.length;\n };\n this.skipTo = (position) => {\n this._pos = position;\n };\n this.match = (pattern, consume = true, caseFold = false) => {\n let token = null;\n let match = null;\n if (typeof pattern === 'string') {\n const regex = new RegExp(pattern, caseFold ? 'i' : 'g');\n match = regex.test(this._sourceText.slice(this._pos, this._pos + pattern.length));\n token = pattern;\n }\n else if (pattern instanceof RegExp) {\n match = this._sourceText.slice(this._pos).match(pattern);\n token = match === null || match === void 0 ? void 0 : match[0];\n }\n if (match != null &&\n (typeof pattern === 'string' ||\n (match instanceof Array &&\n this._sourceText.startsWith(match[0], this._pos)))) {\n if (consume) {\n this._start = this._pos;\n if (token && token.length) {\n this._pos += token.length;\n }\n }\n return match;\n }\n return false;\n };\n this.backUp = (num) => {\n this._pos -= num;\n };\n this.column = () => this._pos;\n this.indentation = () => {\n const match = this._sourceText.match(/\\s*/);\n let indent = 0;\n if (match && match.length !== 0) {\n const whiteSpaces = match[0];\n let pos = 0;\n while (whiteSpaces.length > pos) {\n if (whiteSpaces.charCodeAt(pos) === 9) {\n indent += 2;\n }\n else {\n indent++;\n }\n pos++;\n }\n }\n return indent;\n };\n this.current = () => this._sourceText.slice(this._start, this._pos);\n this._sourceText = sourceText;\n }\n _testNextCharacter(pattern) {\n const character = this._sourceText.charAt(this._pos);\n let isMatched = false;\n if (typeof pattern === 'string') {\n isMatched = character === pattern;\n }\n else {\n isMatched =\n pattern instanceof RegExp\n ? pattern.test(character)\n : pattern(character);\n }\n return isMatched;\n }\n}\nexports.default = CharacterStream;\n//# sourceMappingURL=CharacterStream.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.p = exports.t = exports.butNot = exports.list = exports.opt = void 0;\nfunction opt(ofRule) {\n return { ofRule };\n}\nexports.opt = opt;\nfunction list(ofRule, separator) {\n return { ofRule, isList: true, separator };\n}\nexports.list = list;\nfunction butNot(rule, exclusions) {\n const ruleMatch = rule.match;\n rule.match = token => {\n let check = false;\n if (ruleMatch) {\n check = ruleMatch(token);\n }\n return (check &&\n exclusions.every(exclusion => exclusion.match && !exclusion.match(token)));\n };\n return rule;\n}\nexports.butNot = butNot;\nfunction t(kind, style) {\n return { style, match: (token) => token.kind === kind };\n}\nexports.t = t;\nfunction p(value, style) {\n return {\n style: style || 'punctuation',\n match: (token) => token.kind === 'Punctuation' && token.value === value,\n };\n}\nexports.p = p;\n//# sourceMappingURL=RuleHelpers.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ParseRules = exports.LexRules = exports.isIgnored = void 0;\nconst RuleHelpers_1 = require(\"./RuleHelpers\");\nconst graphql_1 = require(\"graphql\");\nconst isIgnored = (ch) => ch === ' ' ||\n ch === '\\t' ||\n ch === ',' ||\n ch === '\\n' ||\n ch === '\\r' ||\n ch === '\\uFEFF' ||\n ch === '\\u00A0';\nexports.isIgnored = isIgnored;\nexports.LexRules = {\n Name: /^[_A-Za-z][_0-9A-Za-z]*/,\n Punctuation: /^(?:!|\\$|\\(|\\)|\\.\\.\\.|:|=|&|@|\\[|]|\\{|\\||\\})/,\n Number: /^-?(?:0|(?:[1-9][0-9]*))(?:\\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/,\n String: /^(?:\"\"\"(?:\\\\\"\"\"|[^\"]|\"[^\"]|\"\"[^\"])*(?:\"\"\")?|\"(?:[^\"\\\\]|\\\\(?:\"|\\/|\\\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*\"?)/,\n Comment: /^#.*/,\n};\nexports.ParseRules = {\n Document: [(0, RuleHelpers_1.list)('Definition')],\n Definition(token) {\n switch (token.value) {\n case '{':\n return 'ShortQuery';\n case 'query':\n return 'Query';\n case 'mutation':\n return 'Mutation';\n case 'subscription':\n return 'Subscription';\n case 'fragment':\n return graphql_1.Kind.FRAGMENT_DEFINITION;\n case 'schema':\n return 'SchemaDef';\n case 'scalar':\n return 'ScalarDef';\n case 'type':\n return 'ObjectTypeDef';\n case 'interface':\n return 'InterfaceDef';\n case 'union':\n return 'UnionDef';\n case 'enum':\n return 'EnumDef';\n case 'input':\n return 'InputDef';\n case 'extend':\n return 'ExtendDef';\n case 'directive':\n return 'DirectiveDef';\n }\n },\n ShortQuery: ['SelectionSet'],\n Query: [\n word('query'),\n (0, RuleHelpers_1.opt)(name('def')),\n (0, RuleHelpers_1.opt)('VariableDefinitions'),\n (0, RuleHelpers_1.list)('Directive'),\n 'SelectionSet',\n ],\n Mutation: [\n word('mutation'),\n (0, RuleHelpers_1.opt)(name('def')),\n (0, RuleHelpers_1.opt)('VariableDefinitions'),\n (0, RuleHelpers_1.list)('Directive'),\n 'SelectionSet',\n ],\n Subscription: [\n word('subscription'),\n (0, RuleHelpers_1.opt)(name('def')),\n (0, RuleHelpers_1.opt)('VariableDefinitions'),\n (0, RuleHelpers_1.list)('Directive'),\n 'SelectionSet',\n ],\n VariableDefinitions: [(0, RuleHelpers_1.p)('('), (0, RuleHelpers_1.list)('VariableDefinition'), (0, RuleHelpers_1.p)(')')],\n VariableDefinition: ['Variable', (0, RuleHelpers_1.p)(':'), 'Type', (0, RuleHelpers_1.opt)('DefaultValue')],\n Variable: [(0, RuleHelpers_1.p)('$', 'variable'), name('variable')],\n DefaultValue: [(0, RuleHelpers_1.p)('='), 'Value'],\n SelectionSet: [(0, RuleHelpers_1.p)('{'), (0, RuleHelpers_1.list)('Selection'), (0, RuleHelpers_1.p)('}')],\n Selection(token, stream) {\n return token.value === '...'\n ? stream.match(/[\\s\\u00a0,]*(on\\b|@|{)/, false)\n ? 'InlineFragment'\n : 'FragmentSpread'\n : stream.match(/[\\s\\u00a0,]*:/, false)\n ? 'AliasedField'\n : 'Field';\n },\n AliasedField: [\n name('property'),\n (0, RuleHelpers_1.p)(':'),\n name('qualifier'),\n (0, RuleHelpers_1.opt)('Arguments'),\n (0, RuleHelpers_1.list)('Directive'),\n (0, RuleHelpers_1.opt)('SelectionSet'),\n ],\n Field: [\n name('property'),\n (0, RuleHelpers_1.opt)('Arguments'),\n (0, RuleHelpers_1.list)('Directive'),\n (0, RuleHelpers_1.opt)('SelectionSet'),\n ],\n Arguments: [(0, RuleHelpers_1.p)('('), (0, RuleHelpers_1.list)('Argument'), (0, RuleHelpers_1.p)(')')],\n Argument: [name('attribute'), (0, RuleHelpers_1.p)(':'), 'Value'],\n FragmentSpread: [(0, RuleHelpers_1.p)('...'), name('def'), (0, RuleHelpers_1.list)('Directive')],\n InlineFragment: [\n (0, RuleHelpers_1.p)('...'),\n (0, RuleHelpers_1.opt)('TypeCondition'),\n (0, RuleHelpers_1.list)('Directive'),\n 'SelectionSet',\n ],\n FragmentDefinition: [\n word('fragment'),\n (0, RuleHelpers_1.opt)((0, RuleHelpers_1.butNot)(name('def'), [word('on')])),\n 'TypeCondition',\n (0, RuleHelpers_1.list)('Directive'),\n 'SelectionSet',\n ],\n TypeCondition: [word('on'), 'NamedType'],\n Value(token) {\n switch (token.kind) {\n case 'Number':\n return 'NumberValue';\n case 'String':\n return 'StringValue';\n case 'Punctuation':\n switch (token.value) {\n case '[':\n return 'ListValue';\n case '{':\n return 'ObjectValue';\n case '$':\n return 'Variable';\n case '&':\n return 'NamedType';\n }\n return null;\n case 'Name':\n switch (token.value) {\n case 'true':\n case 'false':\n return 'BooleanValue';\n }\n if (token.value === 'null') {\n return 'NullValue';\n }\n return 'EnumValue';\n }\n },\n NumberValue: [(0, RuleHelpers_1.t)('Number', 'number')],\n StringValue: [\n {\n style: 'string',\n match: (token) => token.kind === 'String',\n update(state, token) {\n if (token.value.startsWith('\"\"\"')) {\n state.inBlockstring = !token.value.slice(3).endsWith('\"\"\"');\n }\n },\n },\n ],\n BooleanValue: [(0, RuleHelpers_1.t)('Name', 'builtin')],\n NullValue: [(0, RuleHelpers_1.t)('Name', 'keyword')],\n EnumValue: [name('string-2')],\n ListValue: [(0, RuleHelpers_1.p)('['), (0, RuleHelpers_1.list)('Value'), (0, RuleHelpers_1.p)(']')],\n ObjectValue: [(0, RuleHelpers_1.p)('{'), (0, RuleHelpers_1.list)('ObjectField'), (0, RuleHelpers_1.p)('}')],\n ObjectField: [name('attribute'), (0, RuleHelpers_1.p)(':'), 'Value'],\n Type(token) {\n return token.value === '[' ? 'ListType' : 'NonNullType';\n },\n ListType: [(0, RuleHelpers_1.p)('['), 'Type', (0, RuleHelpers_1.p)(']'), (0, RuleHelpers_1.opt)((0, RuleHelpers_1.p)('!'))],\n NonNullType: ['NamedType', (0, RuleHelpers_1.opt)((0, RuleHelpers_1.p)('!'))],\n NamedType: [type('atom')],\n Directive: [(0, RuleHelpers_1.p)('@', 'meta'), name('meta'), (0, RuleHelpers_1.opt)('Arguments')],\n DirectiveDef: [\n word('directive'),\n (0, RuleHelpers_1.p)('@', 'meta'),\n name('meta'),\n (0, RuleHelpers_1.opt)('ArgumentsDef'),\n word('on'),\n (0, RuleHelpers_1.list)('DirectiveLocation', (0, RuleHelpers_1.p)('|')),\n ],\n InterfaceDef: [\n word('interface'),\n name('atom'),\n (0, RuleHelpers_1.opt)('Implements'),\n (0, RuleHelpers_1.list)('Directive'),\n (0, RuleHelpers_1.p)('{'),\n (0, RuleHelpers_1.list)('FieldDef'),\n (0, RuleHelpers_1.p)('}'),\n ],\n Implements: [word('implements'), (0, RuleHelpers_1.list)('NamedType', (0, RuleHelpers_1.p)('&'))],\n DirectiveLocation: [name('string-2')],\n SchemaDef: [\n word('schema'),\n (0, RuleHelpers_1.list)('Directive'),\n (0, RuleHelpers_1.p)('{'),\n (0, RuleHelpers_1.list)('OperationTypeDef'),\n (0, RuleHelpers_1.p)('}'),\n ],\n OperationTypeDef: [name('keyword'), (0, RuleHelpers_1.p)(':'), name('atom')],\n ScalarDef: [word('scalar'), name('atom'), (0, RuleHelpers_1.list)('Directive')],\n ObjectTypeDef: [\n word('type'),\n name('atom'),\n (0, RuleHelpers_1.opt)('Implements'),\n (0, RuleHelpers_1.list)('Directive'),\n (0, RuleHelpers_1.p)('{'),\n (0, RuleHelpers_1.list)('FieldDef'),\n (0, RuleHelpers_1.p)('}'),\n ],\n FieldDef: [\n name('property'),\n (0, RuleHelpers_1.opt)('ArgumentsDef'),\n (0, RuleHelpers_1.p)(':'),\n 'Type',\n (0, RuleHelpers_1.list)('Directive'),\n ],\n ArgumentsDef: [(0, RuleHelpers_1.p)('('), (0, RuleHelpers_1.list)('InputValueDef'), (0, RuleHelpers_1.p)(')')],\n InputValueDef: [\n name('attribute'),\n (0, RuleHelpers_1.p)(':'),\n 'Type',\n (0, RuleHelpers_1.opt)('DefaultValue'),\n (0, RuleHelpers_1.list)('Directive'),\n ],\n UnionDef: [\n word('union'),\n name('atom'),\n (0, RuleHelpers_1.list)('Directive'),\n (0, RuleHelpers_1.p)('='),\n (0, RuleHelpers_1.list)('UnionMember', (0, RuleHelpers_1.p)('|')),\n ],\n UnionMember: ['NamedType'],\n EnumDef: [\n word('enum'),\n name('atom'),\n (0, RuleHelpers_1.list)('Directive'),\n (0, RuleHelpers_1.p)('{'),\n (0, RuleHelpers_1.list)('EnumValueDef'),\n (0, RuleHelpers_1.p)('}'),\n ],\n EnumValueDef: [name('string-2'), (0, RuleHelpers_1.list)('Directive')],\n InputDef: [\n word('input'),\n name('atom'),\n (0, RuleHelpers_1.list)('Directive'),\n (0, RuleHelpers_1.p)('{'),\n (0, RuleHelpers_1.list)('InputValueDef'),\n (0, RuleHelpers_1.p)('}'),\n ],\n ExtendDef: [word('extend'), 'ExtensionDefinition'],\n ExtensionDefinition(token) {\n switch (token.value) {\n case 'schema':\n return graphql_1.Kind.SCHEMA_EXTENSION;\n case 'scalar':\n return graphql_1.Kind.SCALAR_TYPE_EXTENSION;\n case 'type':\n return graphql_1.Kind.OBJECT_TYPE_EXTENSION;\n case 'interface':\n return graphql_1.Kind.INTERFACE_TYPE_EXTENSION;\n case 'union':\n return graphql_1.Kind.UNION_TYPE_EXTENSION;\n case 'enum':\n return graphql_1.Kind.ENUM_TYPE_EXTENSION;\n case 'input':\n return graphql_1.Kind.INPUT_OBJECT_TYPE_EXTENSION;\n }\n },\n [graphql_1.Kind.SCHEMA_EXTENSION]: ['SchemaDef'],\n [graphql_1.Kind.SCALAR_TYPE_EXTENSION]: ['ScalarDef'],\n [graphql_1.Kind.OBJECT_TYPE_EXTENSION]: ['ObjectTypeDef'],\n [graphql_1.Kind.INTERFACE_TYPE_EXTENSION]: ['InterfaceDef'],\n [graphql_1.Kind.UNION_TYPE_EXTENSION]: ['UnionDef'],\n [graphql_1.Kind.ENUM_TYPE_EXTENSION]: ['EnumDef'],\n [graphql_1.Kind.INPUT_OBJECT_TYPE_EXTENSION]: ['InputDef'],\n};\nfunction word(value) {\n return {\n style: 'keyword',\n match: (token) => token.kind === 'Name' && token.value === value,\n };\n}\nfunction name(style) {\n return {\n style,\n match: (token) => token.kind === 'Name',\n update(state, token) {\n state.name = token.value;\n },\n };\n}\nfunction type(style) {\n return {\n style,\n match: (token) => token.kind === 'Name',\n update(state, token) {\n var _a;\n if ((_a = state.prevState) === null || _a === void 0 ? void 0 : _a.prevState) {\n state.name = token.value;\n state.prevState.prevState.type = token.value;\n }\n },\n };\n}\n//# sourceMappingURL=Rules.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Rules_1 = require(\"./Rules\");\nconst graphql_1 = require(\"graphql\");\nfunction onlineParser(options = {\n eatWhitespace: stream => stream.eatWhile(Rules_1.isIgnored),\n lexRules: Rules_1.LexRules,\n parseRules: Rules_1.ParseRules,\n editorConfig: {},\n}) {\n return {\n startState() {\n const initialState = {\n level: 0,\n step: 0,\n name: null,\n kind: null,\n type: null,\n rule: null,\n needsSeparator: false,\n prevState: null,\n };\n pushRule(options.parseRules, initialState, graphql_1.Kind.DOCUMENT);\n return initialState;\n },\n token(stream, state) {\n return getToken(stream, state, options);\n },\n };\n}\nexports.default = onlineParser;\nfunction getToken(stream, state, options) {\n var _a;\n if (state.inBlockstring) {\n if (stream.match(/.*\"\"\"/)) {\n state.inBlockstring = false;\n return 'string';\n }\n stream.skipToEnd();\n return 'string';\n }\n const { lexRules, parseRules, eatWhitespace, editorConfig } = options;\n if (state.rule && state.rule.length === 0) {\n popRule(state);\n }\n else if (state.needsAdvance) {\n state.needsAdvance = false;\n advanceRule(state, true);\n }\n if (stream.sol()) {\n const tabSize = (editorConfig === null || editorConfig === void 0 ? void 0 : editorConfig.tabSize) || 2;\n state.indentLevel = Math.floor(stream.indentation() / tabSize);\n }\n if (eatWhitespace(stream)) {\n return 'ws';\n }\n const token = lex(lexRules, stream);\n if (!token) {\n const matchedSomething = stream.match(/\\S+/);\n if (!matchedSomething) {\n stream.match(/\\s/);\n }\n pushRule(SpecialParseRules, state, 'Invalid');\n return 'invalidchar';\n }\n if (token.kind === 'Comment') {\n pushRule(SpecialParseRules, state, 'Comment');\n return 'comment';\n }\n const backupState = assign({}, state);\n if (token.kind === 'Punctuation') {\n if (/^[{([]/.test(token.value)) {\n if (state.indentLevel !== undefined) {\n state.levels = (state.levels || []).concat(state.indentLevel + 1);\n }\n }\n else if (/^[})\\]]/.test(token.value)) {\n const levels = (state.levels = (state.levels || []).slice(0, -1));\n if (state.indentLevel &&\n levels.length > 0 &&\n levels.at(-1) < state.indentLevel) {\n state.indentLevel = levels.at(-1);\n }\n }\n }\n while (state.rule) {\n let expected = typeof state.rule === 'function'\n ? state.step === 0\n ? state.rule(token, stream)\n : null\n : state.rule[state.step];\n if (state.needsSeparator) {\n expected = expected === null || expected === void 0 ? void 0 : expected.separator;\n }\n if (expected) {\n if (expected.ofRule) {\n expected = expected.ofRule;\n }\n if (typeof expected === 'string') {\n pushRule(parseRules, state, expected);\n continue;\n }\n if ((_a = expected.match) === null || _a === void 0 ? void 0 : _a.call(expected, token)) {\n if (expected.update) {\n expected.update(state, token);\n }\n if (token.kind === 'Punctuation') {\n advanceRule(state, true);\n }\n else {\n state.needsAdvance = true;\n }\n return expected.style;\n }\n }\n unsuccessful(state);\n }\n assign(state, backupState);\n pushRule(SpecialParseRules, state, 'Invalid');\n return 'invalidchar';\n}\nfunction assign(to, from) {\n const keys = Object.keys(from);\n for (let i = 0; i < keys.length; i++) {\n to[keys[i]] = from[keys[i]];\n }\n return to;\n}\nconst SpecialParseRules = {\n Invalid: [],\n Comment: [],\n};\nfunction pushRule(rules, state, ruleKind) {\n if (!rules[ruleKind]) {\n throw new TypeError('Unknown rule: ' + ruleKind);\n }\n state.prevState = Object.assign({}, state);\n state.kind = ruleKind;\n state.name = null;\n state.type = null;\n state.rule = rules[ruleKind];\n state.step = 0;\n state.needsSeparator = false;\n}\nfunction popRule(state) {\n if (!state.prevState) {\n return;\n }\n state.kind = state.prevState.kind;\n state.name = state.prevState.name;\n state.type = state.prevState.type;\n state.rule = state.prevState.rule;\n state.step = state.prevState.step;\n state.needsSeparator = state.prevState.needsSeparator;\n state.prevState = state.prevState.prevState;\n}\nfunction advanceRule(state, successful) {\n var _a;\n if (isList(state) && state.rule) {\n const step = state.rule[state.step];\n if (step.separator) {\n const { separator } = step;\n state.needsSeparator = !state.needsSeparator;\n if (!state.needsSeparator && separator.ofRule) {\n return;\n }\n }\n if (successful) {\n return;\n }\n }\n state.needsSeparator = false;\n state.step++;\n while (state.rule &&\n !(Array.isArray(state.rule) && state.step < state.rule.length)) {\n popRule(state);\n if (state.rule) {\n if (isList(state)) {\n if ((_a = state.rule) === null || _a === void 0 ? void 0 : _a[state.step].separator) {\n state.needsSeparator = !state.needsSeparator;\n }\n }\n else {\n state.needsSeparator = false;\n state.step++;\n }\n }\n }\n}\nfunction isList(state) {\n const step = Array.isArray(state.rule) &&\n typeof state.rule[state.step] !== 'string' &&\n state.rule[state.step];\n return step && step.isList;\n}\nfunction unsuccessful(state) {\n while (state.rule &&\n !(Array.isArray(state.rule) && state.rule[state.step].ofRule)) {\n popRule(state);\n }\n if (state.rule) {\n advanceRule(state, false);\n }\n}\nfunction lex(lexRules, stream) {\n const kinds = Object.keys(lexRules);\n for (let i = 0; i < kinds.length; i++) {\n const match = stream.match(lexRules[kinds[i]]);\n if (match && match instanceof Array) {\n return { kind: kinds[i], value: match[0] };\n }\n }\n}\n//# sourceMappingURL=onlineParser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getContextAtPosition = exports.getTokenAtPosition = exports.getDocumentMode = exports.TYPE_SYSTEM_KINDS = exports.GraphQLDocumentMode = exports.runOnlineParser = void 0;\nconst _1 = require(\".\");\nconst graphql_1 = require(\"graphql\");\nfunction runOnlineParser(queryText, callback) {\n const lines = queryText.split('\\n');\n const parser = (0, _1.onlineParser)();\n let state = parser.startState();\n let style = '';\n let stream = new _1.CharacterStream('');\n for (let i = 0; i < lines.length; i++) {\n stream = new _1.CharacterStream(lines[i]);\n while (!stream.eol()) {\n style = parser.token(stream, state);\n const code = callback(stream, state, style, i);\n if (code === 'BREAK') {\n break;\n }\n }\n callback(stream, state, style, i);\n if (!state.kind) {\n state = parser.startState();\n }\n }\n return {\n start: stream.getStartOfToken(),\n end: stream.getCurrentPosition(),\n string: stream.current(),\n state,\n style,\n };\n}\nexports.runOnlineParser = runOnlineParser;\nvar GraphQLDocumentMode;\n(function (GraphQLDocumentMode) {\n GraphQLDocumentMode[\"TYPE_SYSTEM\"] = \"TYPE_SYSTEM\";\n GraphQLDocumentMode[\"EXECUTABLE\"] = \"EXECUTABLE\";\n GraphQLDocumentMode[\"UNKNOWN\"] = \"UNKNOWN\";\n})(GraphQLDocumentMode = exports.GraphQLDocumentMode || (exports.GraphQLDocumentMode = {}));\nexports.TYPE_SYSTEM_KINDS = [\n graphql_1.Kind.SCHEMA_DEFINITION,\n graphql_1.Kind.OPERATION_TYPE_DEFINITION,\n graphql_1.Kind.SCALAR_TYPE_DEFINITION,\n graphql_1.Kind.OBJECT_TYPE_DEFINITION,\n graphql_1.Kind.INTERFACE_TYPE_DEFINITION,\n graphql_1.Kind.UNION_TYPE_DEFINITION,\n graphql_1.Kind.ENUM_TYPE_DEFINITION,\n graphql_1.Kind.INPUT_OBJECT_TYPE_DEFINITION,\n graphql_1.Kind.DIRECTIVE_DEFINITION,\n graphql_1.Kind.SCHEMA_EXTENSION,\n graphql_1.Kind.SCALAR_TYPE_EXTENSION,\n graphql_1.Kind.OBJECT_TYPE_EXTENSION,\n graphql_1.Kind.INTERFACE_TYPE_EXTENSION,\n graphql_1.Kind.UNION_TYPE_EXTENSION,\n graphql_1.Kind.ENUM_TYPE_EXTENSION,\n graphql_1.Kind.INPUT_OBJECT_TYPE_EXTENSION,\n];\nconst getParsedMode = (sdl) => {\n let mode = GraphQLDocumentMode.UNKNOWN;\n if (sdl) {\n try {\n (0, graphql_1.visit)((0, graphql_1.parse)(sdl), {\n enter(node) {\n if (node.kind === 'Document') {\n mode = GraphQLDocumentMode.EXECUTABLE;\n return;\n }\n if (exports.TYPE_SYSTEM_KINDS.includes(node.kind)) {\n mode = GraphQLDocumentMode.TYPE_SYSTEM;\n return graphql_1.BREAK;\n }\n return false;\n },\n });\n }\n catch (_a) {\n return mode;\n }\n }\n return mode;\n};\nfunction getDocumentMode(documentText, uri) {\n if (uri === null || uri === void 0 ? void 0 : uri.endsWith('.graphqls')) {\n return GraphQLDocumentMode.TYPE_SYSTEM;\n }\n return getParsedMode(documentText);\n}\nexports.getDocumentMode = getDocumentMode;\nfunction getTokenAtPosition(queryText, cursor, offset = 0) {\n let styleAtCursor = null;\n let stateAtCursor = null;\n let stringAtCursor = null;\n const token = runOnlineParser(queryText, (stream, state, style, index) => {\n if (index !== cursor.line ||\n stream.getCurrentPosition() + offset < cursor.character + 1) {\n return;\n }\n styleAtCursor = style;\n stateAtCursor = Object.assign({}, state);\n stringAtCursor = stream.current();\n return 'BREAK';\n });\n return {\n start: token.start,\n end: token.end,\n string: stringAtCursor || token.string,\n state: stateAtCursor || token.state,\n style: styleAtCursor || token.style,\n };\n}\nexports.getTokenAtPosition = getTokenAtPosition;\nfunction getContextAtPosition(queryText, cursor, schema, contextToken, options) {\n const token = contextToken || getTokenAtPosition(queryText, cursor, 1);\n if (!token) {\n return null;\n }\n const state = token.state.kind === 'Invalid' ? token.state.prevState : token.state;\n if (!state) {\n return null;\n }\n const typeInfo = (0, _1.getTypeInfo)(schema, token.state);\n const mode = (options === null || options === void 0 ? void 0 : options.mode) || getDocumentMode(queryText, options === null || options === void 0 ? void 0 : options.uri);\n return {\n token,\n state,\n typeInfo,\n mode,\n };\n}\nexports.getContextAtPosition = getContextAtPosition;\n//# sourceMappingURL=api.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getTypeInfo = exports.getDefinitionState = exports.forEachState = exports.getFieldDef = void 0;\nconst graphql_1 = require(\"graphql\");\nconst _1 = require(\".\");\nfunction getFieldDef(schema, type, fieldName) {\n if (fieldName === graphql_1.SchemaMetaFieldDef.name && schema.getQueryType() === type) {\n return graphql_1.SchemaMetaFieldDef;\n }\n if (fieldName === graphql_1.TypeMetaFieldDef.name && schema.getQueryType() === type) {\n return graphql_1.TypeMetaFieldDef;\n }\n if (fieldName === graphql_1.TypeNameMetaFieldDef.name && (0, graphql_1.isCompositeType)(type)) {\n return graphql_1.TypeNameMetaFieldDef;\n }\n if ('getFields' in type) {\n return type.getFields()[fieldName];\n }\n return null;\n}\nexports.getFieldDef = getFieldDef;\nfunction forEachState(stack, fn) {\n const reverseStateStack = [];\n let state = stack;\n while (state === null || state === void 0 ? void 0 : state.kind) {\n reverseStateStack.push(state);\n state = state.prevState;\n }\n for (let i = reverseStateStack.length - 1; i >= 0; i--) {\n fn(reverseStateStack[i]);\n }\n}\nexports.forEachState = forEachState;\nfunction getDefinitionState(tokenState) {\n let definitionState;\n forEachState(tokenState, (state) => {\n switch (state.kind) {\n case 'Query':\n case 'ShortQuery':\n case 'Mutation':\n case 'Subscription':\n case 'FragmentDefinition':\n definitionState = state;\n break;\n }\n });\n return definitionState;\n}\nexports.getDefinitionState = getDefinitionState;\nfunction getTypeInfo(schema, tokenState) {\n let argDef;\n let argDefs;\n let directiveDef;\n let enumValue;\n let fieldDef;\n let inputType;\n let objectTypeDef;\n let objectFieldDefs;\n let parentType;\n let type;\n let interfaceDef;\n forEachState(tokenState, state => {\n var _a;\n switch (state.kind) {\n case _1.RuleKinds.QUERY:\n case 'ShortQuery':\n type = schema.getQueryType();\n break;\n case _1.RuleKinds.MUTATION:\n type = schema.getMutationType();\n break;\n case _1.RuleKinds.SUBSCRIPTION:\n type = schema.getSubscriptionType();\n break;\n case _1.RuleKinds.INLINE_FRAGMENT:\n case _1.RuleKinds.FRAGMENT_DEFINITION:\n if (state.type) {\n type = schema.getType(state.type);\n }\n break;\n case _1.RuleKinds.FIELD:\n case _1.RuleKinds.ALIASED_FIELD: {\n if (!type || !state.name) {\n fieldDef = null;\n }\n else {\n fieldDef = parentType\n ? getFieldDef(schema, parentType, state.name)\n : null;\n type = fieldDef ? fieldDef.type : null;\n }\n break;\n }\n case _1.RuleKinds.SELECTION_SET:\n parentType = (0, graphql_1.getNamedType)(type);\n break;\n case _1.RuleKinds.DIRECTIVE:\n directiveDef = state.name ? schema.getDirective(state.name) : null;\n break;\n case _1.RuleKinds.INTERFACE_DEF:\n if (state.name) {\n objectTypeDef = null;\n interfaceDef = new graphql_1.GraphQLInterfaceType({\n name: state.name,\n interfaces: [],\n fields: {},\n });\n }\n break;\n case _1.RuleKinds.OBJECT_TYPE_DEF:\n if (state.name) {\n interfaceDef = null;\n objectTypeDef = new graphql_1.GraphQLObjectType({\n name: state.name,\n interfaces: [],\n fields: {},\n });\n }\n break;\n case _1.RuleKinds.ARGUMENTS: {\n if (state.prevState) {\n switch (state.prevState.kind) {\n case _1.RuleKinds.FIELD:\n argDefs = fieldDef && fieldDef.args;\n break;\n case _1.RuleKinds.DIRECTIVE:\n argDefs =\n directiveDef && directiveDef.args;\n break;\n case _1.RuleKinds.ALIASED_FIELD: {\n const name = (_a = state.prevState) === null || _a === void 0 ? void 0 : _a.name;\n if (!name) {\n argDefs = null;\n break;\n }\n const field = parentType\n ? getFieldDef(schema, parentType, name)\n : null;\n if (!field) {\n argDefs = null;\n break;\n }\n argDefs = field.args;\n break;\n }\n default:\n argDefs = null;\n break;\n }\n }\n else {\n argDefs = null;\n }\n break;\n }\n case _1.RuleKinds.ARGUMENT:\n if (argDefs) {\n for (let i = 0; i < argDefs.length; i++) {\n if (argDefs[i].name === state.name) {\n argDef = argDefs[i];\n break;\n }\n }\n }\n inputType = argDef === null || argDef === void 0 ? void 0 : argDef.type;\n break;\n case _1.RuleKinds.VARIABLE_DEFINITION:\n case _1.RuleKinds.VARIABLE:\n type = inputType;\n break;\n case _1.RuleKinds.ENUM_VALUE:\n const enumType = (0, graphql_1.getNamedType)(inputType);\n enumValue =\n enumType instanceof graphql_1.GraphQLEnumType\n ? enumType\n .getValues()\n .find((val) => val.value === state.name)\n : null;\n break;\n case _1.RuleKinds.LIST_VALUE:\n const nullableType = (0, graphql_1.getNullableType)(inputType);\n inputType =\n nullableType instanceof graphql_1.GraphQLList ? nullableType.ofType : null;\n break;\n case _1.RuleKinds.OBJECT_VALUE:\n const objectType = (0, graphql_1.getNamedType)(inputType);\n objectFieldDefs =\n objectType instanceof graphql_1.GraphQLInputObjectType\n ? objectType.getFields()\n : null;\n break;\n case _1.RuleKinds.OBJECT_FIELD:\n const objectField = state.name && objectFieldDefs ? objectFieldDefs[state.name] : null;\n inputType = objectField === null || objectField === void 0 ? void 0 : objectField.type;\n fieldDef = objectField;\n type = fieldDef ? fieldDef.type : null;\n break;\n case _1.RuleKinds.NAMED_TYPE:\n if (state.name) {\n type = schema.getType(state.name);\n }\n break;\n }\n });\n return {\n argDef,\n argDefs,\n directiveDef,\n enumValue,\n fieldDef,\n inputType,\n objectFieldDefs,\n parentType,\n type,\n interfaceDef,\n objectTypeDef,\n };\n}\nexports.getTypeInfo = getTypeInfo;\n//# sourceMappingURL=getTypeInfo.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RuleKinds = exports.AdditionalRuleKinds = void 0;\nconst graphql_1 = require(\"graphql\");\nexports.AdditionalRuleKinds = {\n ALIASED_FIELD: 'AliasedField',\n ARGUMENTS: 'Arguments',\n SHORT_QUERY: 'ShortQuery',\n QUERY: 'Query',\n MUTATION: 'Mutation',\n SUBSCRIPTION: 'Subscription',\n TYPE_CONDITION: 'TypeCondition',\n INVALID: 'Invalid',\n COMMENT: 'Comment',\n SCHEMA_DEF: 'SchemaDef',\n SCALAR_DEF: 'ScalarDef',\n OBJECT_TYPE_DEF: 'ObjectTypeDef',\n OBJECT_VALUE: 'ObjectValue',\n LIST_VALUE: 'ListValue',\n INTERFACE_DEF: 'InterfaceDef',\n UNION_DEF: 'UnionDef',\n ENUM_DEF: 'EnumDef',\n ENUM_VALUE: 'EnumValue',\n FIELD_DEF: 'FieldDef',\n INPUT_DEF: 'InputDef',\n INPUT_VALUE_DEF: 'InputValueDef',\n ARGUMENTS_DEF: 'ArgumentsDef',\n EXTEND_DEF: 'ExtendDef',\n EXTENSION_DEFINITION: 'ExtensionDefinition',\n DIRECTIVE_DEF: 'DirectiveDef',\n IMPLEMENTS: 'Implements',\n VARIABLE_DEFINITIONS: 'VariableDefinitions',\n TYPE: 'Type',\n VARIABLE: 'Variable',\n};\nexports.RuleKinds = Object.assign(Object.assign({}, graphql_1.Kind), exports.AdditionalRuleKinds);\n//# sourceMappingURL=types.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFieldDef = exports.getDefinitionState = exports.getTypeInfo = exports.getDocumentMode = exports.GraphQLDocumentMode = exports.getContextAtPosition = exports.getTokenAtPosition = exports.runOnlineParser = exports.onlineParser = exports.t = exports.p = exports.opt = exports.list = exports.butNot = exports.isIgnored = exports.ParseRules = exports.LexRules = exports.CharacterStream = void 0;\nvar CharacterStream_1 = require(\"./CharacterStream\");\nObject.defineProperty(exports, \"CharacterStream\", { enumerable: true, get: function () { return __importDefault(CharacterStream_1).default; } });\nvar Rules_1 = require(\"./Rules\");\nObject.defineProperty(exports, \"LexRules\", { enumerable: true, get: function () { return Rules_1.LexRules; } });\nObject.defineProperty(exports, \"ParseRules\", { enumerable: true, get: function () { return Rules_1.ParseRules; } });\nObject.defineProperty(exports, \"isIgnored\", { enumerable: true, get: function () { return Rules_1.isIgnored; } });\nvar RuleHelpers_1 = require(\"./RuleHelpers\");\nObject.defineProperty(exports, \"butNot\", { enumerable: true, get: function () { return RuleHelpers_1.butNot; } });\nObject.defineProperty(exports, \"list\", { enumerable: true, get: function () { return RuleHelpers_1.list; } });\nObject.defineProperty(exports, \"opt\", { enumerable: true, get: function () { return RuleHelpers_1.opt; } });\nObject.defineProperty(exports, \"p\", { enumerable: true, get: function () { return RuleHelpers_1.p; } });\nObject.defineProperty(exports, \"t\", { enumerable: true, get: function () { return RuleHelpers_1.t; } });\nvar onlineParser_1 = require(\"./onlineParser\");\nObject.defineProperty(exports, \"onlineParser\", { enumerable: true, get: function () { return __importDefault(onlineParser_1).default; } });\nvar api_1 = require(\"./api\");\nObject.defineProperty(exports, \"runOnlineParser\", { enumerable: true, get: function () { return api_1.runOnlineParser; } });\nObject.defineProperty(exports, \"getTokenAtPosition\", { enumerable: true, get: function () { return api_1.getTokenAtPosition; } });\nObject.defineProperty(exports, \"getContextAtPosition\", { enumerable: true, get: function () { return api_1.getContextAtPosition; } });\nObject.defineProperty(exports, \"GraphQLDocumentMode\", { enumerable: true, get: function () { return api_1.GraphQLDocumentMode; } });\nObject.defineProperty(exports, \"getDocumentMode\", { enumerable: true, get: function () { return api_1.getDocumentMode; } });\nvar getTypeInfo_1 = require(\"./getTypeInfo\");\nObject.defineProperty(exports, \"getTypeInfo\", { enumerable: true, get: function () { return getTypeInfo_1.getTypeInfo; } });\nObject.defineProperty(exports, \"getDefinitionState\", { enumerable: true, get: function () { return getTypeInfo_1.getDefinitionState; } });\nObject.defineProperty(exports, \"getFieldDef\", { enumerable: true, get: function () { return getTypeInfo_1.getFieldDef; } });\n__exportStar(require(\"./types\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CompletionItemKind = exports.FileChangeTypeKind = exports.GraphQLDocumentMode = exports.InsertTextFormat = void 0;\nvar vscode_languageserver_types_1 = require(\"vscode-languageserver-types\");\nObject.defineProperty(exports, \"InsertTextFormat\", { enumerable: true, get: function () { return vscode_languageserver_types_1.InsertTextFormat; } });\nvar parser_1 = require(\"./parser\");\nObject.defineProperty(exports, \"GraphQLDocumentMode\", { enumerable: true, get: function () { return parser_1.GraphQLDocumentMode; } });\nexports.FileChangeTypeKind = {\n Created: 1,\n Changed: 2,\n Deleted: 3,\n};\nvar CompletionItemKind;\n(function (CompletionItemKind) {\n CompletionItemKind.Text = 1;\n CompletionItemKind.Method = 2;\n CompletionItemKind.Function = 3;\n CompletionItemKind.Constructor = 4;\n CompletionItemKind.Field = 5;\n CompletionItemKind.Variable = 6;\n CompletionItemKind.Class = 7;\n CompletionItemKind.Interface = 8;\n CompletionItemKind.Module = 9;\n CompletionItemKind.Property = 10;\n CompletionItemKind.Unit = 11;\n CompletionItemKind.Value = 12;\n CompletionItemKind.Enum = 13;\n CompletionItemKind.Keyword = 14;\n CompletionItemKind.Snippet = 15;\n CompletionItemKind.Color = 16;\n CompletionItemKind.File = 17;\n CompletionItemKind.Reference = 18;\n CompletionItemKind.Folder = 19;\n CompletionItemKind.EnumMember = 20;\n CompletionItemKind.Constant = 21;\n CompletionItemKind.Struct = 22;\n CompletionItemKind.Event = 23;\n CompletionItemKind.Operator = 24;\n CompletionItemKind.TypeParameter = 25;\n})(CompletionItemKind = exports.CompletionItemKind || (exports.CompletionItemKind = {}));\n//# sourceMappingURL=types.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.canUseDirective = exports.getFragmentDefinitions = exports.getVariableCompletions = exports.getAutocompleteSuggestions = exports.SuggestionCommand = exports.getTypeInfo = exports.runOnlineParser = void 0;\nconst graphql_1 = require(\"graphql\");\nconst types_1 = require(\"../types\");\nconst parser_1 = require(\"../parser\");\nObject.defineProperty(exports, \"getTypeInfo\", { enumerable: true, get: function () { return parser_1.getTypeInfo; } });\nObject.defineProperty(exports, \"runOnlineParser\", { enumerable: true, get: function () { return parser_1.runOnlineParser; } });\nconst autocompleteUtils_1 = require(\"./autocompleteUtils\");\nconst vscode_languageserver_types_1 = require(\"vscode-languageserver-types\");\nexports.SuggestionCommand = {\n command: 'editor.action.triggerSuggest',\n title: 'Suggestions',\n};\nconst collectFragmentDefs = (op) => {\n const externalFragments = [];\n if (op) {\n try {\n (0, graphql_1.visit)((0, graphql_1.parse)(op), {\n FragmentDefinition(def) {\n externalFragments.push(def);\n },\n });\n }\n catch (_a) {\n return [];\n }\n }\n return externalFragments;\n};\nfunction getAutocompleteSuggestions(schema, queryText, cursor, contextToken, fragmentDefs, options) {\n var _a;\n const opts = Object.assign(Object.assign({}, options), { schema });\n const context = (0, parser_1.getContextAtPosition)(queryText, cursor, schema, contextToken, options);\n if (!context) {\n return [];\n }\n const { state, typeInfo, mode, token } = context;\n const { kind, step, prevState } = state;\n if (kind === parser_1.RuleKinds.DOCUMENT) {\n if (mode === parser_1.GraphQLDocumentMode.TYPE_SYSTEM) {\n return getSuggestionsForTypeSystemDefinitions(token);\n }\n if (mode === parser_1.GraphQLDocumentMode.EXECUTABLE) {\n return getSuggestionsForExecutableDefinitions(token);\n }\n return getSuggestionsForUnknownDocumentMode(token);\n }\n if (kind === parser_1.RuleKinds.EXTEND_DEF) {\n return getSuggestionsForExtensionDefinitions(token);\n }\n if (((_a = prevState === null || prevState === void 0 ? void 0 : prevState.prevState) === null || _a === void 0 ? void 0 : _a.kind) === parser_1.RuleKinds.EXTENSION_DEFINITION &&\n state.name) {\n return (0, autocompleteUtils_1.hintList)(token, []);\n }\n if ((prevState === null || prevState === void 0 ? void 0 : prevState.kind) === graphql_1.Kind.SCALAR_TYPE_EXTENSION) {\n return (0, autocompleteUtils_1.hintList)(token, Object.values(schema.getTypeMap())\n .filter(graphql_1.isScalarType)\n .map(type => ({\n label: type.name,\n kind: types_1.CompletionItemKind.Function,\n })));\n }\n if ((prevState === null || prevState === void 0 ? void 0 : prevState.kind) === graphql_1.Kind.OBJECT_TYPE_EXTENSION) {\n return (0, autocompleteUtils_1.hintList)(token, Object.values(schema.getTypeMap())\n .filter(type => (0, graphql_1.isObjectType)(type) && !type.name.startsWith('__'))\n .map(type => ({\n label: type.name,\n kind: types_1.CompletionItemKind.Function,\n })));\n }\n if ((prevState === null || prevState === void 0 ? void 0 : prevState.kind) === graphql_1.Kind.INTERFACE_TYPE_EXTENSION) {\n return (0, autocompleteUtils_1.hintList)(token, Object.values(schema.getTypeMap())\n .filter(graphql_1.isInterfaceType)\n .map(type => ({\n label: type.name,\n kind: types_1.CompletionItemKind.Function,\n })));\n }\n if ((prevState === null || prevState === void 0 ? void 0 : prevState.kind) === graphql_1.Kind.UNION_TYPE_EXTENSION) {\n return (0, autocompleteUtils_1.hintList)(token, Object.values(schema.getTypeMap())\n .filter(graphql_1.isUnionType)\n .map(type => ({\n label: type.name,\n kind: types_1.CompletionItemKind.Function,\n })));\n }\n if ((prevState === null || prevState === void 0 ? void 0 : prevState.kind) === graphql_1.Kind.ENUM_TYPE_EXTENSION) {\n return (0, autocompleteUtils_1.hintList)(token, Object.values(schema.getTypeMap())\n .filter(type => (0, graphql_1.isEnumType)(type) && !type.name.startsWith('__'))\n .map(type => ({\n label: type.name,\n kind: types_1.CompletionItemKind.Function,\n })));\n }\n if ((prevState === null || prevState === void 0 ? void 0 : prevState.kind) === graphql_1.Kind.INPUT_OBJECT_TYPE_EXTENSION) {\n return (0, autocompleteUtils_1.hintList)(token, Object.values(schema.getTypeMap())\n .filter(graphql_1.isInputObjectType)\n .map(type => ({\n label: type.name,\n kind: types_1.CompletionItemKind.Function,\n })));\n }\n if (kind === parser_1.RuleKinds.IMPLEMENTS ||\n (kind === parser_1.RuleKinds.NAMED_TYPE && (prevState === null || prevState === void 0 ? void 0 : prevState.kind) === parser_1.RuleKinds.IMPLEMENTS)) {\n return getSuggestionsForImplements(token, state, schema, queryText, typeInfo);\n }\n if (kind === parser_1.RuleKinds.SELECTION_SET ||\n kind === parser_1.RuleKinds.FIELD ||\n kind === parser_1.RuleKinds.ALIASED_FIELD) {\n return getSuggestionsForFieldNames(token, typeInfo, opts);\n }\n if (kind === parser_1.RuleKinds.ARGUMENTS ||\n (kind === parser_1.RuleKinds.ARGUMENT && step === 0)) {\n const { argDefs } = typeInfo;\n if (argDefs) {\n return (0, autocompleteUtils_1.hintList)(token, argDefs.map((argDef) => {\n var _a;\n return ({\n label: argDef.name,\n insertText: (0, autocompleteUtils_1.getInputInsertText)(argDef.name + ': ', argDef.type),\n insertTextMode: vscode_languageserver_types_1.InsertTextMode.adjustIndentation,\n insertTextFormat: types_1.InsertTextFormat.Snippet,\n command: exports.SuggestionCommand,\n labelDetails: {\n detail: ' ' + String(argDef.type),\n },\n documentation: (_a = argDef.description) !== null && _a !== void 0 ? _a : undefined,\n kind: types_1.CompletionItemKind.Variable,\n type: argDef.type,\n });\n }));\n }\n }\n if ((kind === parser_1.RuleKinds.OBJECT_VALUE ||\n (kind === parser_1.RuleKinds.OBJECT_FIELD && step === 0)) &&\n typeInfo.objectFieldDefs) {\n const objectFields = (0, autocompleteUtils_1.objectValues)(typeInfo.objectFieldDefs);\n const completionKind = kind === parser_1.RuleKinds.OBJECT_VALUE\n ? types_1.CompletionItemKind.Value\n : types_1.CompletionItemKind.Field;\n return (0, autocompleteUtils_1.hintList)(token, objectFields.map(field => {\n var _a;\n return ({\n label: field.name,\n detail: String(field.type),\n documentation: (_a = field === null || field === void 0 ? void 0 : field.description) !== null && _a !== void 0 ? _a : undefined,\n kind: completionKind,\n type: field.type,\n insertText: (0, autocompleteUtils_1.getInputInsertText)(field.name + ': ', field.type),\n insertTextMode: vscode_languageserver_types_1.InsertTextMode.adjustIndentation,\n insertTextFormat: types_1.InsertTextFormat.Snippet,\n command: exports.SuggestionCommand,\n });\n }));\n }\n if (kind === parser_1.RuleKinds.ENUM_VALUE ||\n (kind === parser_1.RuleKinds.LIST_VALUE && step === 1) ||\n (kind === parser_1.RuleKinds.OBJECT_FIELD && step === 2) ||\n (kind === parser_1.RuleKinds.ARGUMENT && step === 2)) {\n return getSuggestionsForInputValues(token, typeInfo, queryText, schema);\n }\n if (kind === parser_1.RuleKinds.VARIABLE && step === 1) {\n const namedInputType = (0, graphql_1.getNamedType)(typeInfo.inputType);\n const variableDefinitions = getVariableCompletions(queryText, schema, token);\n return (0, autocompleteUtils_1.hintList)(token, variableDefinitions.filter(v => v.detail === (namedInputType === null || namedInputType === void 0 ? void 0 : namedInputType.name)));\n }\n if ((kind === parser_1.RuleKinds.TYPE_CONDITION && step === 1) ||\n (kind === parser_1.RuleKinds.NAMED_TYPE &&\n prevState != null &&\n prevState.kind === parser_1.RuleKinds.TYPE_CONDITION)) {\n return getSuggestionsForFragmentTypeConditions(token, typeInfo, schema, kind);\n }\n if (kind === parser_1.RuleKinds.FRAGMENT_SPREAD && step === 1) {\n return getSuggestionsForFragmentSpread(token, typeInfo, schema, queryText, Array.isArray(fragmentDefs)\n ? fragmentDefs\n : collectFragmentDefs(fragmentDefs));\n }\n const unwrappedState = unwrapType(state);\n if (unwrappedState.kind === parser_1.RuleKinds.FIELD_DEF) {\n return (0, autocompleteUtils_1.hintList)(token, Object.values(schema.getTypeMap())\n .filter(type => (0, graphql_1.isOutputType)(type) && !type.name.startsWith('__'))\n .map(type => ({\n label: type.name,\n kind: types_1.CompletionItemKind.Function,\n insertText: (options === null || options === void 0 ? void 0 : options.fillLeafsOnComplete)\n ? type.name + '\\n'\n : type.name,\n insertTextMode: vscode_languageserver_types_1.InsertTextMode.adjustIndentation,\n })));\n }\n if (unwrappedState.kind === parser_1.RuleKinds.INPUT_VALUE_DEF && step === 2) {\n return (0, autocompleteUtils_1.hintList)(token, Object.values(schema.getTypeMap())\n .filter(type => (0, graphql_1.isInputType)(type) && !type.name.startsWith('__'))\n .map(type => ({\n label: type.name,\n kind: types_1.CompletionItemKind.Function,\n insertText: (options === null || options === void 0 ? void 0 : options.fillLeafsOnComplete)\n ? type.name + '\\n$1'\n : type.name,\n insertTextMode: vscode_languageserver_types_1.InsertTextMode.adjustIndentation,\n insertTextFormat: types_1.InsertTextFormat.Snippet,\n })));\n }\n if ((kind === parser_1.RuleKinds.VARIABLE_DEFINITION && step === 2) ||\n (kind === parser_1.RuleKinds.LIST_TYPE && step === 1) ||\n (kind === parser_1.RuleKinds.NAMED_TYPE &&\n prevState &&\n (prevState.kind === parser_1.RuleKinds.VARIABLE_DEFINITION ||\n prevState.kind === parser_1.RuleKinds.LIST_TYPE ||\n prevState.kind === parser_1.RuleKinds.NON_NULL_TYPE))) {\n return getSuggestionsForVariableDefinition(token, schema, kind);\n }\n if (kind === parser_1.RuleKinds.DIRECTIVE) {\n return getSuggestionsForDirective(token, state, schema, kind);\n }\n if (kind === parser_1.RuleKinds.DIRECTIVE_DEF) {\n return getSuggestionsForDirectiveArguments(token, state, schema, kind);\n }\n return [];\n}\nexports.getAutocompleteSuggestions = getAutocompleteSuggestions;\nconst typeSystemCompletionItems = [\n { label: 'type', kind: types_1.CompletionItemKind.Function },\n { label: 'interface', kind: types_1.CompletionItemKind.Function },\n { label: 'union', kind: types_1.CompletionItemKind.Function },\n { label: 'input', kind: types_1.CompletionItemKind.Function },\n { label: 'scalar', kind: types_1.CompletionItemKind.Function },\n { label: 'schema', kind: types_1.CompletionItemKind.Function },\n];\nconst executableCompletionItems = [\n { label: 'query', kind: types_1.CompletionItemKind.Function },\n { label: 'mutation', kind: types_1.CompletionItemKind.Function },\n { label: 'subscription', kind: types_1.CompletionItemKind.Function },\n { label: 'fragment', kind: types_1.CompletionItemKind.Function },\n { label: '{', kind: types_1.CompletionItemKind.Constructor },\n];\nfunction getSuggestionsForTypeSystemDefinitions(token) {\n return (0, autocompleteUtils_1.hintList)(token, [\n { label: 'extend', kind: types_1.CompletionItemKind.Function },\n ...typeSystemCompletionItems,\n ]);\n}\nfunction getSuggestionsForExecutableDefinitions(token) {\n return (0, autocompleteUtils_1.hintList)(token, executableCompletionItems);\n}\nfunction getSuggestionsForUnknownDocumentMode(token) {\n return (0, autocompleteUtils_1.hintList)(token, [\n { label: 'extend', kind: types_1.CompletionItemKind.Function },\n ...executableCompletionItems,\n ...typeSystemCompletionItems,\n ]);\n}\nfunction getSuggestionsForExtensionDefinitions(token) {\n return (0, autocompleteUtils_1.hintList)(token, typeSystemCompletionItems);\n}\nfunction getSuggestionsForFieldNames(token, typeInfo, options) {\n var _a;\n if (typeInfo.parentType) {\n const { parentType } = typeInfo;\n let fields = [];\n if ('getFields' in parentType) {\n fields = (0, autocompleteUtils_1.objectValues)(parentType.getFields());\n }\n if ((0, graphql_1.isCompositeType)(parentType)) {\n fields.push(graphql_1.TypeNameMetaFieldDef);\n }\n if (parentType === ((_a = options === null || options === void 0 ? void 0 : options.schema) === null || _a === void 0 ? void 0 : _a.getQueryType())) {\n fields.push(graphql_1.SchemaMetaFieldDef, graphql_1.TypeMetaFieldDef);\n }\n return (0, autocompleteUtils_1.hintList)(token, fields.map((field, index) => {\n var _a;\n const suggestion = {\n sortText: String(index) + field.name,\n label: field.name,\n detail: String(field.type),\n documentation: (_a = field.description) !== null && _a !== void 0 ? _a : undefined,\n deprecated: Boolean(field.deprecationReason),\n isDeprecated: Boolean(field.deprecationReason),\n deprecationReason: field.deprecationReason,\n kind: types_1.CompletionItemKind.Field,\n labelDetails: {\n detail: ' ' + field.type.toString(),\n },\n type: field.type,\n };\n if (options === null || options === void 0 ? void 0 : options.fillLeafsOnComplete) {\n suggestion.insertText = (0, autocompleteUtils_1.getFieldInsertText)(field);\n if (!suggestion.insertText) {\n suggestion.insertText = (0, autocompleteUtils_1.getInsertText)(field.name, field.type, field.name + (token.state.needsAdvance ? '' : '\\n'));\n }\n if (suggestion.insertText) {\n suggestion.insertTextFormat = types_1.InsertTextFormat.Snippet;\n suggestion.insertTextMode = vscode_languageserver_types_1.InsertTextMode.adjustIndentation;\n suggestion.command = exports.SuggestionCommand;\n }\n }\n return suggestion;\n }));\n }\n return [];\n}\nfunction getSuggestionsForInputValues(token, typeInfo, queryText, schema) {\n const namedInputType = (0, graphql_1.getNamedType)(typeInfo.inputType);\n const queryVariables = getVariableCompletions(queryText, schema, token).filter(v => v.detail === (namedInputType === null || namedInputType === void 0 ? void 0 : namedInputType.name));\n if (namedInputType instanceof graphql_1.GraphQLEnumType) {\n const values = namedInputType.getValues();\n return (0, autocompleteUtils_1.hintList)(token, values\n .map((value) => {\n var _a;\n return ({\n label: value.name,\n detail: String(namedInputType),\n documentation: (_a = value.description) !== null && _a !== void 0 ? _a : undefined,\n deprecated: Boolean(value.deprecationReason),\n isDeprecated: Boolean(value.deprecationReason),\n deprecationReason: value.deprecationReason,\n kind: types_1.CompletionItemKind.EnumMember,\n type: namedInputType,\n });\n })\n .concat(queryVariables));\n }\n if (namedInputType === graphql_1.GraphQLBoolean) {\n return (0, autocompleteUtils_1.hintList)(token, queryVariables.concat([\n {\n label: 'true',\n detail: String(graphql_1.GraphQLBoolean),\n documentation: 'Not false.',\n kind: types_1.CompletionItemKind.Variable,\n type: graphql_1.GraphQLBoolean,\n },\n {\n label: 'false',\n detail: String(graphql_1.GraphQLBoolean),\n documentation: 'Not true.',\n kind: types_1.CompletionItemKind.Variable,\n type: graphql_1.GraphQLBoolean,\n },\n ]));\n }\n return queryVariables;\n}\nfunction getSuggestionsForImplements(token, tokenState, schema, documentText, typeInfo) {\n if (tokenState.needsSeparator) {\n return [];\n }\n const typeMap = schema.getTypeMap();\n const schemaInterfaces = (0, autocompleteUtils_1.objectValues)(typeMap).filter(graphql_1.isInterfaceType);\n const schemaInterfaceNames = schemaInterfaces.map(({ name }) => name);\n const inlineInterfaces = new Set();\n (0, parser_1.runOnlineParser)(documentText, (_, state) => {\n var _a, _b, _c, _d, _e;\n if (state.name) {\n if (state.kind === parser_1.RuleKinds.INTERFACE_DEF &&\n !schemaInterfaceNames.includes(state.name)) {\n inlineInterfaces.add(state.name);\n }\n if (state.kind === parser_1.RuleKinds.NAMED_TYPE &&\n ((_a = state.prevState) === null || _a === void 0 ? void 0 : _a.kind) === parser_1.RuleKinds.IMPLEMENTS) {\n if (typeInfo.interfaceDef) {\n const existingType = (_b = typeInfo.interfaceDef) === null || _b === void 0 ? void 0 : _b.getInterfaces().find(({ name }) => name === state.name);\n if (existingType) {\n return;\n }\n const type = schema.getType(state.name);\n const interfaceConfig = (_c = typeInfo.interfaceDef) === null || _c === void 0 ? void 0 : _c.toConfig();\n typeInfo.interfaceDef = new graphql_1.GraphQLInterfaceType(Object.assign(Object.assign({}, interfaceConfig), { interfaces: [\n ...interfaceConfig.interfaces,\n type ||\n new graphql_1.GraphQLInterfaceType({ name: state.name, fields: {} }),\n ] }));\n }\n else if (typeInfo.objectTypeDef) {\n const existingType = (_d = typeInfo.objectTypeDef) === null || _d === void 0 ? void 0 : _d.getInterfaces().find(({ name }) => name === state.name);\n if (existingType) {\n return;\n }\n const type = schema.getType(state.name);\n const objectTypeConfig = (_e = typeInfo.objectTypeDef) === null || _e === void 0 ? void 0 : _e.toConfig();\n typeInfo.objectTypeDef = new graphql_1.GraphQLObjectType(Object.assign(Object.assign({}, objectTypeConfig), { interfaces: [\n ...objectTypeConfig.interfaces,\n type ||\n new graphql_1.GraphQLInterfaceType({ name: state.name, fields: {} }),\n ] }));\n }\n }\n }\n });\n const currentTypeToExtend = typeInfo.interfaceDef || typeInfo.objectTypeDef;\n const siblingInterfaces = (currentTypeToExtend === null || currentTypeToExtend === void 0 ? void 0 : currentTypeToExtend.getInterfaces()) || [];\n const siblingInterfaceNames = siblingInterfaces.map(({ name }) => name);\n const possibleInterfaces = schemaInterfaces\n .concat([...inlineInterfaces].map(name => ({ name })))\n .filter(({ name }) => name !== (currentTypeToExtend === null || currentTypeToExtend === void 0 ? void 0 : currentTypeToExtend.name) &&\n !siblingInterfaceNames.includes(name));\n return (0, autocompleteUtils_1.hintList)(token, possibleInterfaces.map(type => {\n const result = {\n label: type.name,\n kind: types_1.CompletionItemKind.Interface,\n type,\n };\n if (type === null || type === void 0 ? void 0 : type.description) {\n result.documentation = type.description;\n }\n return result;\n }));\n}\nfunction getSuggestionsForFragmentTypeConditions(token, typeInfo, schema, _kind) {\n let possibleTypes;\n if (typeInfo.parentType) {\n if ((0, graphql_1.isAbstractType)(typeInfo.parentType)) {\n const abstractType = (0, graphql_1.assertAbstractType)(typeInfo.parentType);\n const possibleObjTypes = schema.getPossibleTypes(abstractType);\n const possibleIfaceMap = Object.create(null);\n for (const type of possibleObjTypes) {\n for (const iface of type.getInterfaces()) {\n possibleIfaceMap[iface.name] = iface;\n }\n }\n possibleTypes = possibleObjTypes.concat((0, autocompleteUtils_1.objectValues)(possibleIfaceMap));\n }\n else {\n possibleTypes = [typeInfo.parentType];\n }\n }\n else {\n const typeMap = schema.getTypeMap();\n possibleTypes = (0, autocompleteUtils_1.objectValues)(typeMap).filter(type => (0, graphql_1.isCompositeType)(type) && !type.name.startsWith('__'));\n }\n return (0, autocompleteUtils_1.hintList)(token, possibleTypes.map(type => {\n const namedType = (0, graphql_1.getNamedType)(type);\n return {\n label: String(type),\n documentation: (namedType === null || namedType === void 0 ? void 0 : namedType.description) || '',\n kind: types_1.CompletionItemKind.Field,\n };\n }));\n}\nfunction getSuggestionsForFragmentSpread(token, typeInfo, schema, queryText, fragmentDefs) {\n if (!queryText) {\n return [];\n }\n const typeMap = schema.getTypeMap();\n const defState = (0, parser_1.getDefinitionState)(token.state);\n const fragments = getFragmentDefinitions(queryText);\n if (fragmentDefs && fragmentDefs.length > 0) {\n fragments.push(...fragmentDefs);\n }\n const relevantFrags = fragments.filter(frag => typeMap[frag.typeCondition.name.value] &&\n !(defState &&\n defState.kind === parser_1.RuleKinds.FRAGMENT_DEFINITION &&\n defState.name === frag.name.value) &&\n (0, graphql_1.isCompositeType)(typeInfo.parentType) &&\n (0, graphql_1.isCompositeType)(typeMap[frag.typeCondition.name.value]) &&\n (0, graphql_1.doTypesOverlap)(schema, typeInfo.parentType, typeMap[frag.typeCondition.name.value]));\n return (0, autocompleteUtils_1.hintList)(token, relevantFrags.map(frag => ({\n label: frag.name.value,\n detail: String(typeMap[frag.typeCondition.name.value]),\n documentation: `fragment ${frag.name.value} on ${frag.typeCondition.name.value}`,\n labelDetails: {\n detail: `fragment ${frag.name.value} on ${frag.typeCondition.name.value}`,\n },\n kind: types_1.CompletionItemKind.Field,\n type: typeMap[frag.typeCondition.name.value],\n })));\n}\nconst getParentDefinition = (state, kind) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n if (((_a = state.prevState) === null || _a === void 0 ? void 0 : _a.kind) === kind) {\n return state.prevState;\n }\n if (((_c = (_b = state.prevState) === null || _b === void 0 ? void 0 : _b.prevState) === null || _c === void 0 ? void 0 : _c.kind) === kind) {\n return state.prevState.prevState;\n }\n if (((_f = (_e = (_d = state.prevState) === null || _d === void 0 ? void 0 : _d.prevState) === null || _e === void 0 ? void 0 : _e.prevState) === null || _f === void 0 ? void 0 : _f.kind) === kind) {\n return state.prevState.prevState.prevState;\n }\n if (((_k = (_j = (_h = (_g = state.prevState) === null || _g === void 0 ? void 0 : _g.prevState) === null || _h === void 0 ? void 0 : _h.prevState) === null || _j === void 0 ? void 0 : _j.prevState) === null || _k === void 0 ? void 0 : _k.kind) === kind) {\n return state.prevState.prevState.prevState.prevState;\n }\n};\nfunction getVariableCompletions(queryText, schema, token) {\n let variableName = null;\n let variableType;\n const definitions = Object.create({});\n (0, parser_1.runOnlineParser)(queryText, (_, state) => {\n var _a;\n if ((state === null || state === void 0 ? void 0 : state.kind) === parser_1.RuleKinds.VARIABLE && state.name) {\n variableName = state.name;\n }\n if ((state === null || state === void 0 ? void 0 : state.kind) === parser_1.RuleKinds.NAMED_TYPE && variableName) {\n const parentDefinition = getParentDefinition(state, parser_1.RuleKinds.TYPE);\n if (parentDefinition === null || parentDefinition === void 0 ? void 0 : parentDefinition.type) {\n variableType = schema.getType(parentDefinition === null || parentDefinition === void 0 ? void 0 : parentDefinition.type);\n }\n }\n if (variableName && variableType && !definitions[variableName]) {\n const replaceString = token.string === '$' || ((_a = token === null || token === void 0 ? void 0 : token.state) === null || _a === void 0 ? void 0 : _a.kind) === 'Variable'\n ? variableName\n : '$' + variableName;\n definitions[variableName] = {\n detail: variableType.toString(),\n insertText: replaceString,\n label: '$' + variableName,\n rawInsert: replaceString,\n type: variableType,\n kind: types_1.CompletionItemKind.Variable,\n };\n variableName = null;\n variableType = null;\n }\n });\n return (0, autocompleteUtils_1.objectValues)(definitions);\n}\nexports.getVariableCompletions = getVariableCompletions;\nfunction getFragmentDefinitions(queryText) {\n const fragmentDefs = [];\n (0, parser_1.runOnlineParser)(queryText, (_, state) => {\n if (state.kind === parser_1.RuleKinds.FRAGMENT_DEFINITION &&\n state.name &&\n state.type) {\n fragmentDefs.push({\n kind: parser_1.RuleKinds.FRAGMENT_DEFINITION,\n name: {\n kind: graphql_1.Kind.NAME,\n value: state.name,\n },\n selectionSet: {\n kind: parser_1.RuleKinds.SELECTION_SET,\n selections: [],\n },\n typeCondition: {\n kind: parser_1.RuleKinds.NAMED_TYPE,\n name: {\n kind: graphql_1.Kind.NAME,\n value: state.type,\n },\n },\n });\n }\n });\n return fragmentDefs;\n}\nexports.getFragmentDefinitions = getFragmentDefinitions;\nfunction getSuggestionsForVariableDefinition(token, schema, _kind) {\n const inputTypeMap = schema.getTypeMap();\n const inputTypes = (0, autocompleteUtils_1.objectValues)(inputTypeMap).filter(graphql_1.isInputType);\n return (0, autocompleteUtils_1.hintList)(token, inputTypes.map((type) => ({\n label: type.name,\n documentation: (type === null || type === void 0 ? void 0 : type.description) || '',\n kind: types_1.CompletionItemKind.Variable,\n })));\n}\nfunction getSuggestionsForDirective(token, state, schema, _kind) {\n var _a;\n if ((_a = state.prevState) === null || _a === void 0 ? void 0 : _a.kind) {\n const directives = schema\n .getDirectives()\n .filter(directive => canUseDirective(state.prevState, directive));\n return (0, autocompleteUtils_1.hintList)(token, directives.map(directive => ({\n label: directive.name,\n documentation: (directive === null || directive === void 0 ? void 0 : directive.description) || '',\n kind: types_1.CompletionItemKind.Function,\n })));\n }\n return [];\n}\nfunction getSuggestionsForDirectiveArguments(token, state, schema, _kind) {\n const directive = schema.getDirectives().find(d => d.name === state.name);\n return (0, autocompleteUtils_1.hintList)(token, (directive === null || directive === void 0 ? void 0 : directive.args.map(arg => ({\n label: arg.name,\n documentation: arg.description || '',\n kind: types_1.CompletionItemKind.Field,\n }))) || []);\n}\nfunction canUseDirective(state, directive) {\n if (!(state === null || state === void 0 ? void 0 : state.kind)) {\n return false;\n }\n const { kind, prevState } = state;\n const { locations } = directive;\n switch (kind) {\n case parser_1.RuleKinds.QUERY:\n return locations.includes(graphql_1.DirectiveLocation.QUERY);\n case parser_1.RuleKinds.MUTATION:\n return locations.includes(graphql_1.DirectiveLocation.MUTATION);\n case parser_1.RuleKinds.SUBSCRIPTION:\n return locations.includes(graphql_1.DirectiveLocation.SUBSCRIPTION);\n case parser_1.RuleKinds.FIELD:\n case parser_1.RuleKinds.ALIASED_FIELD:\n return locations.includes(graphql_1.DirectiveLocation.FIELD);\n case parser_1.RuleKinds.FRAGMENT_DEFINITION:\n return locations.includes(graphql_1.DirectiveLocation.FRAGMENT_DEFINITION);\n case parser_1.RuleKinds.FRAGMENT_SPREAD:\n return locations.includes(graphql_1.DirectiveLocation.FRAGMENT_SPREAD);\n case parser_1.RuleKinds.INLINE_FRAGMENT:\n return locations.includes(graphql_1.DirectiveLocation.INLINE_FRAGMENT);\n case parser_1.RuleKinds.SCHEMA_DEF:\n return locations.includes(graphql_1.DirectiveLocation.SCHEMA);\n case parser_1.RuleKinds.SCALAR_DEF:\n return locations.includes(graphql_1.DirectiveLocation.SCALAR);\n case parser_1.RuleKinds.OBJECT_TYPE_DEF:\n return locations.includes(graphql_1.DirectiveLocation.OBJECT);\n case parser_1.RuleKinds.FIELD_DEF:\n return locations.includes(graphql_1.DirectiveLocation.FIELD_DEFINITION);\n case parser_1.RuleKinds.INTERFACE_DEF:\n return locations.includes(graphql_1.DirectiveLocation.INTERFACE);\n case parser_1.RuleKinds.UNION_DEF:\n return locations.includes(graphql_1.DirectiveLocation.UNION);\n case parser_1.RuleKinds.ENUM_DEF:\n return locations.includes(graphql_1.DirectiveLocation.ENUM);\n case parser_1.RuleKinds.ENUM_VALUE:\n return locations.includes(graphql_1.DirectiveLocation.ENUM_VALUE);\n case parser_1.RuleKinds.INPUT_DEF:\n return locations.includes(graphql_1.DirectiveLocation.INPUT_OBJECT);\n case parser_1.RuleKinds.INPUT_VALUE_DEF:\n const prevStateKind = prevState === null || prevState === void 0 ? void 0 : prevState.kind;\n switch (prevStateKind) {\n case parser_1.RuleKinds.ARGUMENTS_DEF:\n return locations.includes(graphql_1.DirectiveLocation.ARGUMENT_DEFINITION);\n case parser_1.RuleKinds.INPUT_DEF:\n return locations.includes(graphql_1.DirectiveLocation.INPUT_FIELD_DEFINITION);\n }\n }\n return false;\n}\nexports.canUseDirective = canUseDirective;\nfunction unwrapType(state) {\n if (state.prevState &&\n state.kind &&\n [\n parser_1.RuleKinds.NAMED_TYPE,\n parser_1.RuleKinds.LIST_TYPE,\n parser_1.RuleKinds.TYPE,\n parser_1.RuleKinds.NON_NULL_TYPE,\n ].includes(state.kind)) {\n return unwrapType(state.prevState);\n }\n return state;\n}\n//# sourceMappingURL=getAutocompleteSuggestions.js.map","'use strict';\n\nfunction nullthrows(x, message) {\n if (x != null) {\n return x;\n }\n var error = new Error(message !== undefined ? message : 'Got unexpected ' + x);\n error.framesToPop = 1; // Skip nullthrows's own stack frame.\n throw error;\n}\n\nmodule.exports = nullthrows;\nmodule.exports.default = nullthrows;\n\nObject.defineProperty(module.exports, '__esModule', {value: true});\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFragmentDependenciesForAST = exports.getFragmentDependencies = void 0;\nconst graphql_1 = require(\"graphql\");\nconst nullthrows_1 = __importDefault(require(\"nullthrows\"));\nconst getFragmentDependencies = (operationString, fragmentDefinitions) => {\n if (!fragmentDefinitions) {\n return [];\n }\n let parsedOperation;\n try {\n parsedOperation = (0, graphql_1.parse)(operationString);\n }\n catch (_a) {\n return [];\n }\n return (0, exports.getFragmentDependenciesForAST)(parsedOperation, fragmentDefinitions);\n};\nexports.getFragmentDependencies = getFragmentDependencies;\nconst getFragmentDependenciesForAST = (parsedOperation, fragmentDefinitions) => {\n if (!fragmentDefinitions) {\n return [];\n }\n const existingFrags = new Map();\n const referencedFragNames = new Set();\n (0, graphql_1.visit)(parsedOperation, {\n FragmentDefinition(node) {\n existingFrags.set(node.name.value, true);\n },\n FragmentSpread(node) {\n if (!referencedFragNames.has(node.name.value)) {\n referencedFragNames.add(node.name.value);\n }\n },\n });\n const asts = new Set();\n for (const name of referencedFragNames) {\n if (!existingFrags.has(name) && fragmentDefinitions.has(name)) {\n asts.add((0, nullthrows_1.default)(fragmentDefinitions.get(name)));\n }\n }\n const referencedFragments = [];\n for (const ast of asts) {\n (0, graphql_1.visit)(ast, {\n FragmentSpread(node) {\n if (!referencedFragNames.has(node.name.value) &&\n fragmentDefinitions.get(node.name.value)) {\n asts.add((0, nullthrows_1.default)(fragmentDefinitions.get(node.name.value)));\n referencedFragNames.add(node.name.value);\n }\n },\n });\n if (!existingFrags.has(ast.name.value)) {\n referencedFragments.push(ast);\n }\n }\n return referencedFragments;\n};\nexports.getFragmentDependenciesForAST = getFragmentDependenciesForAST;\n//# sourceMappingURL=fragmentDependencies.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getVariablesJSONSchema = exports.defaultJSONSchemaOptions = void 0;\nconst graphql_1 = require(\"graphql\");\nexports.defaultJSONSchemaOptions = {\n useMarkdownDescription: false,\n};\nfunction text(into, newText) {\n into.push(newText);\n}\nfunction renderType(into, t) {\n if ((0, graphql_1.isNonNullType)(t)) {\n renderType(into, t.ofType);\n text(into, '!');\n }\n else if ((0, graphql_1.isListType)(t)) {\n text(into, '[');\n renderType(into, t.ofType);\n text(into, ']');\n }\n else {\n text(into, t.name);\n }\n}\nfunction renderDefinitionDescription(t, useMarkdown, description) {\n const into = [];\n const type = 'type' in t ? t.type : t;\n if ('type' in t && t.description) {\n text(into, t.description);\n text(into, '\\n\\n');\n }\n text(into, renderTypeToString(type, useMarkdown));\n if (description) {\n text(into, '\\n');\n text(into, description);\n }\n else if (!(0, graphql_1.isScalarType)(type) && 'description' in type && type.description) {\n text(into, '\\n');\n text(into, type.description);\n }\n else if ('ofType' in type &&\n !(0, graphql_1.isScalarType)(type.ofType) &&\n 'description' in type.ofType &&\n type.ofType.description) {\n text(into, '\\n');\n text(into, type.ofType.description);\n }\n return into.join('');\n}\nfunction renderTypeToString(t, useMarkdown) {\n const into = [];\n if (useMarkdown) {\n text(into, '```graphql\\n');\n }\n renderType(into, t);\n if (useMarkdown) {\n text(into, '\\n```');\n }\n return into.join('');\n}\nconst defaultScalarTypesMap = {\n Int: { type: 'integer' },\n String: { type: 'string' },\n Float: { type: 'number' },\n ID: { type: 'string' },\n Boolean: { type: 'boolean' },\n DateTime: { type: 'string' },\n};\nclass Marker {\n constructor() {\n this.set = new Set();\n }\n mark(name) {\n if (this.set.has(name)) {\n return false;\n }\n this.set.add(name);\n return true;\n }\n}\nfunction getJSONSchemaFromGraphQLType(fieldOrType, options) {\n var _a, _b;\n let definition = Object.create(null);\n const definitions = Object.create(null);\n const isField = 'type' in fieldOrType;\n const type = isField ? fieldOrType.type : fieldOrType;\n const baseType = (0, graphql_1.isNonNullType)(type) ? type.ofType : type;\n const required = (0, graphql_1.isNonNullType)(type);\n if ((0, graphql_1.isScalarType)(baseType)) {\n if ((_a = options === null || options === void 0 ? void 0 : options.scalarSchemas) === null || _a === void 0 ? void 0 : _a[baseType.name]) {\n definition = JSON.parse(JSON.stringify(options.scalarSchemas[baseType.name]));\n }\n else {\n definition.type = ['string', 'number', 'boolean', 'integer'];\n }\n if (!required) {\n if (Array.isArray(definition.type)) {\n definition.type.push('null');\n }\n else if (definition.type) {\n definition.type = [definition.type, 'null'];\n }\n else if (definition.enum) {\n definition.enum.push(null);\n }\n else if (definition.oneOf) {\n definition.oneOf.push({ type: 'null' });\n }\n else {\n definition = {\n oneOf: [definition, { type: 'null' }],\n };\n }\n }\n }\n else if ((0, graphql_1.isEnumType)(baseType)) {\n definition.enum = baseType.getValues().map(val => val.name);\n if (!required) {\n definition.enum.push(null);\n }\n }\n else if ((0, graphql_1.isListType)(baseType)) {\n if (required) {\n definition.type = 'array';\n }\n else {\n definition.type = ['array', 'null'];\n }\n const { definition: def, definitions: defs } = getJSONSchemaFromGraphQLType(baseType.ofType, options);\n definition.items = def;\n if (defs) {\n for (const defName of Object.keys(defs)) {\n definitions[defName] = defs[defName];\n }\n }\n }\n else if ((0, graphql_1.isInputObjectType)(baseType)) {\n if (required) {\n definition.$ref = `#/definitions/${baseType.name}`;\n }\n else {\n definition.oneOf = [\n { $ref: `#/definitions/${baseType.name}` },\n { type: 'null' },\n ];\n }\n if ((_b = options === null || options === void 0 ? void 0 : options.definitionMarker) === null || _b === void 0 ? void 0 : _b.mark(baseType.name)) {\n const fields = baseType.getFields();\n const fieldDef = {\n type: 'object',\n properties: {},\n required: [],\n };\n fieldDef.description = renderDefinitionDescription(baseType);\n if (options === null || options === void 0 ? void 0 : options.useMarkdownDescription) {\n fieldDef.markdownDescription = renderDefinitionDescription(baseType, true);\n }\n for (const fieldName of Object.keys(fields)) {\n const field = fields[fieldName];\n const { required: fieldRequired, definition: fieldDefinition, definitions: typeDefinitions, } = getJSONSchemaFromGraphQLType(field, options);\n fieldDef.properties[fieldName] = fieldDefinition;\n if (fieldRequired) {\n fieldDef.required.push(fieldName);\n }\n if (typeDefinitions) {\n for (const [defName, value] of Object.entries(typeDefinitions)) {\n definitions[defName] = value;\n }\n }\n }\n definitions[baseType.name] = fieldDef;\n }\n }\n if ('defaultValue' in fieldOrType && fieldOrType.defaultValue !== undefined) {\n definition.default = fieldOrType.defaultValue;\n }\n const { description } = definition;\n definition.description = renderDefinitionDescription(fieldOrType, false, description);\n if (options === null || options === void 0 ? void 0 : options.useMarkdownDescription) {\n definition.markdownDescription = renderDefinitionDescription(fieldOrType, true, description);\n }\n return { required, definition, definitions };\n}\nfunction getVariablesJSONSchema(variableToType, options) {\n var _a;\n const jsonSchema = {\n $schema: 'http://json-schema.org/draft-04/schema',\n type: 'object',\n properties: {},\n required: [],\n additionalProperties: false,\n };\n const runtimeOptions = Object.assign(Object.assign({}, options), { definitionMarker: new Marker(), scalarSchemas: Object.assign(Object.assign({}, defaultScalarTypesMap), options === null || options === void 0 ? void 0 : options.scalarSchemas) });\n if (variableToType) {\n for (const [variableName, type] of Object.entries(variableToType)) {\n const { definition, required, definitions } = getJSONSchemaFromGraphQLType(type, runtimeOptions);\n jsonSchema.properties[variableName] = definition;\n if (required) {\n (_a = jsonSchema.required) === null || _a === void 0 ? void 0 : _a.push(variableName);\n }\n if (definitions) {\n jsonSchema.definitions = Object.assign(Object.assign({}, jsonSchema === null || jsonSchema === void 0 ? void 0 : jsonSchema.definitions), definitions);\n }\n }\n }\n return jsonSchema;\n}\nexports.getVariablesJSONSchema = getVariablesJSONSchema;\n//# sourceMappingURL=getVariablesJSONSchema.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.pointToOffset = exports.getASTNodeAtPosition = void 0;\nconst graphql_1 = require(\"graphql\");\nfunction getASTNodeAtPosition(query, ast, point) {\n const offset = pointToOffset(query, point);\n let nodeContainingPosition;\n (0, graphql_1.visit)(ast, {\n enter(node) {\n if (node.kind !== 'Name' &&\n node.loc &&\n node.loc.start <= offset &&\n offset <= node.loc.end) {\n nodeContainingPosition = node;\n }\n else {\n return false;\n }\n },\n leave(node) {\n if (node.loc && node.loc.start <= offset && offset <= node.loc.end) {\n return false;\n }\n },\n });\n return nodeContainingPosition;\n}\nexports.getASTNodeAtPosition = getASTNodeAtPosition;\nfunction pointToOffset(text, point) {\n const linesUntilPosition = text.split('\\n').slice(0, point.line);\n return (point.character +\n linesUntilPosition\n .map(line => line.length + 1)\n .reduce((a, b) => a + b, 0));\n}\nexports.pointToOffset = pointToOffset;\n//# sourceMappingURL=getASTNodeAtPosition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.locToRange = exports.offsetToPosition = exports.Position = exports.Range = void 0;\nclass Range {\n constructor(start, end) {\n this.containsPosition = (position) => {\n if (this.start.line === position.line) {\n return this.start.character <= position.character;\n }\n if (this.end.line === position.line) {\n return this.end.character >= position.character;\n }\n return this.start.line <= position.line && this.end.line >= position.line;\n };\n this.start = start;\n this.end = end;\n }\n setStart(line, character) {\n this.start = new Position(line, character);\n }\n setEnd(line, character) {\n this.end = new Position(line, character);\n }\n}\nexports.Range = Range;\nclass Position {\n constructor(line, character) {\n this.lessThanOrEqualTo = (position) => this.line < position.line ||\n (this.line === position.line && this.character <= position.character);\n this.line = line;\n this.character = character;\n }\n setLine(line) {\n this.line = line;\n }\n setCharacter(character) {\n this.character = character;\n }\n}\nexports.Position = Position;\nfunction offsetToPosition(text, loc) {\n const EOL = '\\n';\n const buf = text.slice(0, loc);\n const lines = buf.split(EOL).length - 1;\n const lastLineIndex = buf.lastIndexOf(EOL);\n return new Position(lines, loc - lastLineIndex - 1);\n}\nexports.offsetToPosition = offsetToPosition;\nfunction locToRange(text, loc) {\n const start = offsetToPosition(text, loc.start);\n const end = offsetToPosition(text, loc.end);\n return new Range(start, end);\n}\nexports.locToRange = locToRange;\n//# sourceMappingURL=Range.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateWithCustomRules = void 0;\nconst graphql_1 = require(\"graphql\");\nconst specifiedSDLRules = [\n graphql_1.LoneSchemaDefinitionRule,\n graphql_1.UniqueOperationTypesRule,\n graphql_1.UniqueTypeNamesRule,\n graphql_1.UniqueEnumValueNamesRule,\n graphql_1.UniqueFieldDefinitionNamesRule,\n graphql_1.UniqueDirectiveNamesRule,\n graphql_1.KnownTypeNamesRule,\n graphql_1.KnownDirectivesRule,\n graphql_1.UniqueDirectivesPerLocationRule,\n graphql_1.PossibleTypeExtensionsRule,\n graphql_1.UniqueArgumentNamesRule,\n graphql_1.UniqueInputFieldNamesRule,\n graphql_1.UniqueVariableNamesRule,\n graphql_1.FragmentsOnCompositeTypesRule,\n graphql_1.ProvidedRequiredArgumentsRule,\n];\nfunction validateWithCustomRules(schema, ast, customRules, isRelayCompatMode, isSchemaDocument) {\n const rules = graphql_1.specifiedRules.filter(rule => {\n if (rule === graphql_1.NoUnusedFragmentsRule || rule === graphql_1.ExecutableDefinitionsRule) {\n return false;\n }\n if (isRelayCompatMode && rule === graphql_1.KnownFragmentNamesRule) {\n return false;\n }\n return true;\n });\n if (customRules) {\n Array.prototype.push.apply(rules, customRules);\n }\n if (isSchemaDocument) {\n Array.prototype.push.apply(rules, specifiedSDLRules);\n }\n const errors = (0, graphql_1.validate)(schema, ast, rules);\n return errors.filter(error => {\n if (error.message.includes('Unknown directive') && error.nodes) {\n const node = error.nodes[0];\n if (node && node.kind === graphql_1.Kind.DIRECTIVE) {\n const name = node.name.value;\n if (name === 'arguments' || name === 'argumentDefinitions') {\n return false;\n }\n }\n }\n return true;\n });\n}\nexports.validateWithCustomRules = validateWithCustomRules;\n//# sourceMappingURL=validateWithCustomRules.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.collectVariables = void 0;\nconst graphql_1 = require(\"graphql\");\nfunction collectVariables(schema, documentAST) {\n const variableToType = Object.create(null);\n for (const definition of documentAST.definitions) {\n if (definition.kind === 'OperationDefinition') {\n const { variableDefinitions } = definition;\n if (variableDefinitions) {\n for (const { variable, type } of variableDefinitions) {\n const inputType = (0, graphql_1.typeFromAST)(schema, type);\n if (inputType) {\n variableToType[variable.name.value] = inputType;\n }\n else if (type.kind === graphql_1.Kind.NAMED_TYPE &&\n type.name.value === 'Float') {\n variableToType[variable.name.value] = graphql_1.GraphQLFloat;\n }\n }\n }\n }\n }\n return variableToType;\n}\nexports.collectVariables = collectVariables;\n//# sourceMappingURL=collectVariables.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getQueryFacts = exports.getOperationASTFacts = void 0;\nconst graphql_1 = require(\"graphql\");\nconst collectVariables_1 = require(\"./collectVariables\");\nfunction getOperationASTFacts(documentAST, schema) {\n const variableToType = schema\n ? (0, collectVariables_1.collectVariables)(schema, documentAST)\n : undefined;\n const operations = [];\n (0, graphql_1.visit)(documentAST, {\n OperationDefinition(node) {\n operations.push(node);\n },\n });\n return { variableToType, operations };\n}\nexports.getOperationASTFacts = getOperationASTFacts;\nfunction getOperationFacts(schema, documentString) {\n if (!documentString) {\n return;\n }\n try {\n const documentAST = (0, graphql_1.parse)(documentString);\n return Object.assign(Object.assign({}, getOperationASTFacts(documentAST, schema)), { documentAST });\n }\n catch (_a) { }\n}\nexports.default = getOperationFacts;\nexports.getQueryFacts = getOperationFacts;\n//# sourceMappingURL=getOperationFacts.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getQueryFacts = exports.getOperationASTFacts = exports.getOperationFacts = exports.collectVariables = exports.validateWithCustomRules = exports.offsetToPosition = exports.locToRange = exports.Range = exports.Position = exports.pointToOffset = exports.getASTNodeAtPosition = exports.getVariablesJSONSchema = exports.getFragmentDependenciesForAST = exports.getFragmentDependencies = void 0;\nvar fragmentDependencies_1 = require(\"./fragmentDependencies\");\nObject.defineProperty(exports, \"getFragmentDependencies\", { enumerable: true, get: function () { return fragmentDependencies_1.getFragmentDependencies; } });\nObject.defineProperty(exports, \"getFragmentDependenciesForAST\", { enumerable: true, get: function () { return fragmentDependencies_1.getFragmentDependenciesForAST; } });\nvar getVariablesJSONSchema_1 = require(\"./getVariablesJSONSchema\");\nObject.defineProperty(exports, \"getVariablesJSONSchema\", { enumerable: true, get: function () { return getVariablesJSONSchema_1.getVariablesJSONSchema; } });\nvar getASTNodeAtPosition_1 = require(\"./getASTNodeAtPosition\");\nObject.defineProperty(exports, \"getASTNodeAtPosition\", { enumerable: true, get: function () { return getASTNodeAtPosition_1.getASTNodeAtPosition; } });\nObject.defineProperty(exports, \"pointToOffset\", { enumerable: true, get: function () { return getASTNodeAtPosition_1.pointToOffset; } });\nvar Range_1 = require(\"./Range\");\nObject.defineProperty(exports, \"Position\", { enumerable: true, get: function () { return Range_1.Position; } });\nObject.defineProperty(exports, \"Range\", { enumerable: true, get: function () { return Range_1.Range; } });\nObject.defineProperty(exports, \"locToRange\", { enumerable: true, get: function () { return Range_1.locToRange; } });\nObject.defineProperty(exports, \"offsetToPosition\", { enumerable: true, get: function () { return Range_1.offsetToPosition; } });\nvar validateWithCustomRules_1 = require(\"./validateWithCustomRules\");\nObject.defineProperty(exports, \"validateWithCustomRules\", { enumerable: true, get: function () { return validateWithCustomRules_1.validateWithCustomRules; } });\nvar collectVariables_1 = require(\"./collectVariables\");\nObject.defineProperty(exports, \"collectVariables\", { enumerable: true, get: function () { return collectVariables_1.collectVariables; } });\nvar getOperationFacts_1 = require(\"./getOperationFacts\");\nObject.defineProperty(exports, \"getOperationFacts\", { enumerable: true, get: function () { return __importDefault(getOperationFacts_1).default; } });\nObject.defineProperty(exports, \"getOperationASTFacts\", { enumerable: true, get: function () { return getOperationFacts_1.getOperationASTFacts; } });\nObject.defineProperty(exports, \"getQueryFacts\", { enumerable: true, get: function () { return getOperationFacts_1.getQueryFacts; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDefinitionQueryResultForDefinitionNode = exports.getDefinitionQueryResultForFragmentSpread = exports.getDefinitionQueryResultForArgument = exports.getDefinitionQueryResultForField = exports.getDefinitionQueryResultForNamedType = exports.LANGUAGE = void 0;\nconst utils_1 = require(\"../utils\");\nexports.LANGUAGE = 'GraphQL';\nfunction assert(value, message) {\n if (!value) {\n throw new Error(message);\n }\n}\nfunction getRange(text, node) {\n const location = node.loc;\n assert(location, 'Expected ASTNode to have a location.');\n return (0, utils_1.locToRange)(text, location);\n}\nfunction getPosition(text, node) {\n const location = node.loc;\n assert(location, 'Expected ASTNode to have a location.');\n return (0, utils_1.offsetToPosition)(text, location.start);\n}\nfunction getDefinitionQueryResultForNamedType(text, node, dependencies) {\n return __awaiter(this, void 0, void 0, function* () {\n const name = node.name.value;\n const defNodes = dependencies.filter(({ definition }) => definition.name && definition.name.value === name);\n if (defNodes.length === 0) {\n throw new Error(`Definition not found for GraphQL type ${name}`);\n }\n const definitions = defNodes.map(({ filePath, content, definition }) => getDefinitionForNodeDefinition(filePath || '', content, definition));\n return {\n definitions,\n queryRange: definitions.map(_ => getRange(text, node)),\n printedName: name,\n };\n });\n}\nexports.getDefinitionQueryResultForNamedType = getDefinitionQueryResultForNamedType;\nfunction getDefinitionQueryResultForField(fieldName, typeName, dependencies) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const defNodes = dependencies.filter(({ definition }) => definition.name && definition.name.value === typeName);\n if (defNodes.length === 0) {\n throw new Error(`Definition not found for GraphQL type ${typeName}`);\n }\n const definitions = [];\n for (const { filePath, content, definition } of defNodes) {\n const fieldDefinition = (_a = definition.fields) === null || _a === void 0 ? void 0 : _a.find(item => item.name.value === fieldName);\n if (fieldDefinition == null) {\n continue;\n }\n definitions.push(getDefinitionForFieldDefinition(filePath || '', content, fieldDefinition));\n }\n return {\n definitions,\n queryRange: [],\n printedName: [typeName, fieldName].join('.'),\n };\n });\n}\nexports.getDefinitionQueryResultForField = getDefinitionQueryResultForField;\nfunction getDefinitionQueryResultForArgument(argumentName, fieldName, typeName, dependencies) {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, function* () {\n const definitions = [];\n for (const { filePath, content, definition } of dependencies) {\n const argDefinition = (_c = (_b = (_a = definition.fields) === null || _a === void 0 ? void 0 : _a.find(item => item.name.value === fieldName)) === null || _b === void 0 ? void 0 : _b.arguments) === null || _c === void 0 ? void 0 : _c.find(item => item.name.value === argumentName);\n if (argDefinition == null) {\n continue;\n }\n definitions.push(getDefinitionForArgumentDefinition(filePath || '', content, argDefinition));\n }\n return {\n definitions,\n queryRange: [],\n printedName: `${[typeName, fieldName].join('.')}(${argumentName})`,\n };\n });\n}\nexports.getDefinitionQueryResultForArgument = getDefinitionQueryResultForArgument;\nfunction getDefinitionQueryResultForFragmentSpread(text, fragment, dependencies) {\n return __awaiter(this, void 0, void 0, function* () {\n const name = fragment.name.value;\n const defNodes = dependencies.filter(({ definition }) => definition.name.value === name);\n if (defNodes.length === 0) {\n throw new Error(`Definition not found for GraphQL fragment ${name}`);\n }\n const definitions = defNodes.map(({ filePath, content, definition }) => getDefinitionForFragmentDefinition(filePath || '', content, definition));\n return {\n definitions,\n queryRange: definitions.map(_ => getRange(text, fragment)),\n printedName: name,\n };\n });\n}\nexports.getDefinitionQueryResultForFragmentSpread = getDefinitionQueryResultForFragmentSpread;\nfunction getDefinitionQueryResultForDefinitionNode(path, text, definition) {\n var _a;\n return {\n definitions: [getDefinitionForFragmentDefinition(path, text, definition)],\n queryRange: definition.name ? [getRange(text, definition.name)] : [],\n printedName: (_a = definition.name) === null || _a === void 0 ? void 0 : _a.value,\n };\n}\nexports.getDefinitionQueryResultForDefinitionNode = getDefinitionQueryResultForDefinitionNode;\nfunction getDefinitionForFragmentDefinition(path, text, definition) {\n const { name } = definition;\n if (!name) {\n throw new Error('Expected ASTNode to have a Name.');\n }\n return {\n path,\n position: getPosition(text, definition),\n range: getRange(text, definition),\n name: name.value || '',\n language: exports.LANGUAGE,\n projectRoot: path,\n };\n}\nfunction getDefinitionForNodeDefinition(path, text, definition) {\n const { name } = definition;\n assert(name, 'Expected ASTNode to have a Name.');\n return {\n path,\n position: getPosition(text, definition),\n range: getRange(text, definition),\n name: name.value || '',\n language: exports.LANGUAGE,\n projectRoot: path,\n };\n}\nfunction getDefinitionForFieldDefinition(path, text, definition) {\n const { name } = definition;\n assert(name, 'Expected ASTNode to have a Name.');\n return {\n path,\n position: getPosition(text, definition),\n range: getRange(text, definition),\n name: name.value || '',\n language: exports.LANGUAGE,\n projectRoot: path,\n };\n}\nfunction getDefinitionForArgumentDefinition(path, text, definition) {\n const { name } = definition;\n assert(name, 'Expected ASTNode to have a Name.');\n return {\n path,\n position: getPosition(text, definition),\n range: getRange(text, definition),\n name: name.value || '',\n language: exports.LANGUAGE,\n projectRoot: path,\n };\n}\n//# sourceMappingURL=getDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRange = exports.validateQuery = exports.getDiagnostics = exports.DIAGNOSTIC_SEVERITY = exports.SEVERITY = void 0;\nconst graphql_1 = require(\"graphql\");\nconst parser_1 = require(\"../parser\");\nconst utils_1 = require(\"../utils\");\nexports.SEVERITY = {\n Error: 'Error',\n Warning: 'Warning',\n Information: 'Information',\n Hint: 'Hint',\n};\nexports.DIAGNOSTIC_SEVERITY = {\n [exports.SEVERITY.Error]: 1,\n [exports.SEVERITY.Warning]: 2,\n [exports.SEVERITY.Information]: 3,\n [exports.SEVERITY.Hint]: 4,\n};\nconst invariant = (condition, message) => {\n if (!condition) {\n throw new Error(message);\n }\n};\nfunction getDiagnostics(query, schema = null, customRules, isRelayCompatMode, externalFragments) {\n var _a, _b;\n let ast = null;\n let fragments = '';\n if (externalFragments) {\n fragments =\n typeof externalFragments === 'string'\n ? externalFragments\n : externalFragments.reduce((acc, node) => acc + (0, graphql_1.print)(node) + '\\n\\n', '');\n }\n const enhancedQuery = fragments ? `${query}\\n\\n${fragments}` : query;\n try {\n ast = (0, graphql_1.parse)(enhancedQuery);\n }\n catch (error) {\n if (error instanceof graphql_1.GraphQLError) {\n const range = getRange((_b = (_a = error.locations) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : { line: 0, column: 0 }, enhancedQuery);\n return [\n {\n severity: exports.DIAGNOSTIC_SEVERITY.Error,\n message: error.message,\n source: 'GraphQL: Syntax',\n range,\n },\n ];\n }\n throw error;\n }\n return validateQuery(ast, schema, customRules, isRelayCompatMode);\n}\nexports.getDiagnostics = getDiagnostics;\nfunction validateQuery(ast, schema = null, customRules, isRelayCompatMode) {\n if (!schema) {\n return [];\n }\n const validationErrorAnnotations = (0, utils_1.validateWithCustomRules)(schema, ast, customRules, isRelayCompatMode).flatMap(error => annotations(error, exports.DIAGNOSTIC_SEVERITY.Error, 'Validation'));\n const deprecationWarningAnnotations = (0, graphql_1.validate)(schema, ast, [\n graphql_1.NoDeprecatedCustomRule,\n ]).flatMap(error => annotations(error, exports.DIAGNOSTIC_SEVERITY.Warning, 'Deprecation'));\n return validationErrorAnnotations.concat(deprecationWarningAnnotations);\n}\nexports.validateQuery = validateQuery;\nfunction annotations(error, severity, type) {\n if (!error.nodes) {\n return [];\n }\n const highlightedNodes = [];\n for (const [i, node] of error.nodes.entries()) {\n const highlightNode = node.kind !== 'Variable' && 'name' in node && node.name !== undefined\n ? node.name\n : 'variable' in node && node.variable !== undefined\n ? node.variable\n : node;\n if (highlightNode) {\n invariant(error.locations, 'GraphQL validation error requires locations.');\n const loc = error.locations[i];\n const highlightLoc = getLocation(highlightNode);\n const end = loc.column + (highlightLoc.end - highlightLoc.start);\n highlightedNodes.push({\n source: `GraphQL: ${type}`,\n message: error.message,\n severity,\n range: new utils_1.Range(new utils_1.Position(loc.line - 1, loc.column - 1), new utils_1.Position(loc.line - 1, end)),\n });\n }\n }\n return highlightedNodes;\n}\nfunction getRange(location, queryText) {\n const parser = (0, parser_1.onlineParser)();\n const state = parser.startState();\n const lines = queryText.split('\\n');\n invariant(lines.length >= location.line, 'Query text must have more lines than where the error happened');\n let stream = null;\n for (let i = 0; i < location.line; i++) {\n stream = new parser_1.CharacterStream(lines[i]);\n while (!stream.eol()) {\n const style = parser.token(stream, state);\n if (style === 'invalidchar') {\n break;\n }\n }\n }\n invariant(stream, 'Expected Parser stream to be available.');\n const line = location.line - 1;\n const start = stream.getStartOfToken();\n const end = stream.getCurrentPosition();\n return new utils_1.Range(new utils_1.Position(line, start), new utils_1.Position(line, end));\n}\nexports.getRange = getRange;\nfunction getLocation(node) {\n const typeCastedNode = node;\n const location = typeCastedNode.loc;\n invariant(location, 'Expected ASTNode to have a location.');\n return location;\n}\n//# sourceMappingURL=getDiagnostics.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOutline = void 0;\nconst graphql_1 = require(\"graphql\");\nconst utils_1 = require(\"../utils\");\nfunction getOutline(documentText) {\n let ast;\n try {\n ast = (0, graphql_1.parse)(documentText);\n }\n catch (_a) {\n return null;\n }\n const visitorFns = outlineTreeConverter(documentText);\n const outlineTrees = (0, graphql_1.visit)(ast, {\n leave(node) {\n if (visitorFns !== undefined && node.kind in visitorFns) {\n return visitorFns[node.kind](node);\n }\n return null;\n },\n });\n return { outlineTrees };\n}\nexports.getOutline = getOutline;\nfunction outlineTreeConverter(docText) {\n const meta = (node) => {\n return {\n representativeName: node.name,\n startPosition: (0, utils_1.offsetToPosition)(docText, node.loc.start),\n endPosition: (0, utils_1.offsetToPosition)(docText, node.loc.end),\n kind: node.kind,\n children: node.selectionSet || node.fields || node.values || node.arguments || [],\n };\n };\n return {\n Field(node) {\n const tokenizedText = node.alias\n ? [buildToken('plain', node.alias), buildToken('plain', ': ')]\n : [];\n tokenizedText.push(buildToken('plain', node.name));\n return Object.assign({ tokenizedText }, meta(node));\n },\n OperationDefinition: (node) => (Object.assign({ tokenizedText: [\n buildToken('keyword', node.operation),\n buildToken('whitespace', ' '),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n Document: (node) => node.definitions,\n SelectionSet: (node) => concatMap(node.selections, (child) => {\n return child.kind === graphql_1.Kind.INLINE_FRAGMENT ? child.selectionSet : child;\n }),\n Name: (node) => node.value,\n FragmentDefinition: (node) => (Object.assign({ tokenizedText: [\n buildToken('keyword', 'fragment'),\n buildToken('whitespace', ' '),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n InterfaceTypeDefinition: (node) => (Object.assign({ tokenizedText: [\n buildToken('keyword', 'interface'),\n buildToken('whitespace', ' '),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n EnumTypeDefinition: (node) => (Object.assign({ tokenizedText: [\n buildToken('keyword', 'enum'),\n buildToken('whitespace', ' '),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n EnumValueDefinition: (node) => (Object.assign({ tokenizedText: [buildToken('plain', node.name)] }, meta(node))),\n ObjectTypeDefinition: (node) => (Object.assign({ tokenizedText: [\n buildToken('keyword', 'type'),\n buildToken('whitespace', ' '),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n InputObjectTypeDefinition: (node) => (Object.assign({ tokenizedText: [\n buildToken('keyword', 'input'),\n buildToken('whitespace', ' '),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n FragmentSpread: (node) => (Object.assign({ tokenizedText: [\n buildToken('plain', '...'),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n InputValueDefinition(node) {\n return Object.assign({ tokenizedText: [buildToken('plain', node.name)] }, meta(node));\n },\n FieldDefinition(node) {\n return Object.assign({ tokenizedText: [buildToken('plain', node.name)] }, meta(node));\n },\n InlineFragment: (node) => node.selectionSet,\n };\n}\nfunction buildToken(kind, value) {\n return { kind, value };\n}\nfunction concatMap(arr, fn) {\n const res = [];\n for (let i = 0; i < arr.length; i++) {\n const x = fn(arr[i], i);\n if (Array.isArray(x)) {\n res.push(...x);\n }\n else {\n res.push(x);\n }\n }\n return res;\n}\n//# sourceMappingURL=getOutline.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.renderType = exports.renderEnumValue = exports.renderArg = exports.renderDirective = exports.renderField = exports.getHoverInformation = void 0;\nconst graphql_1 = require(\"graphql\");\nconst parser_1 = require(\"../parser\");\nfunction getHoverInformation(schema, queryText, cursor, contextToken, config) {\n const options = Object.assign(Object.assign({}, config), { schema });\n const context = (0, parser_1.getContextAtPosition)(queryText, cursor, schema, contextToken);\n if (!context) {\n return '';\n }\n const { typeInfo, token } = context;\n const { kind, step } = token.state;\n if ((kind === 'Field' && step === 0 && typeInfo.fieldDef) ||\n (kind === 'AliasedField' && step === 2 && typeInfo.fieldDef) ||\n (kind === 'ObjectField' && step === 0 && typeInfo.fieldDef)) {\n const into = [];\n renderMdCodeStart(into, options);\n renderField(into, typeInfo, options);\n renderMdCodeEnd(into, options);\n renderDescription(into, options, typeInfo.fieldDef);\n return into.join('').trim();\n }\n if (kind === 'Directive' && step === 1 && typeInfo.directiveDef) {\n const into = [];\n renderMdCodeStart(into, options);\n renderDirective(into, typeInfo, options);\n renderMdCodeEnd(into, options);\n renderDescription(into, options, typeInfo.directiveDef);\n return into.join('').trim();\n }\n if (kind === 'Variable' && typeInfo.type) {\n const into = [];\n renderMdCodeStart(into, options);\n renderType(into, typeInfo, options, typeInfo.type);\n renderMdCodeEnd(into, options);\n renderDescription(into, options, typeInfo.type);\n return into.join('').trim();\n }\n if (kind === 'Argument' && step === 0 && typeInfo.argDef) {\n const into = [];\n renderMdCodeStart(into, options);\n renderArg(into, typeInfo, options);\n renderMdCodeEnd(into, options);\n renderDescription(into, options, typeInfo.argDef);\n return into.join('').trim();\n }\n if (kind === 'EnumValue' &&\n typeInfo.enumValue &&\n 'description' in typeInfo.enumValue) {\n const into = [];\n renderMdCodeStart(into, options);\n renderEnumValue(into, typeInfo, options);\n renderMdCodeEnd(into, options);\n renderDescription(into, options, typeInfo.enumValue);\n return into.join('').trim();\n }\n if (kind === 'NamedType' && typeInfo.type && 'description' in typeInfo.type) {\n const into = [];\n renderMdCodeStart(into, options);\n renderType(into, typeInfo, options, typeInfo.type);\n renderMdCodeEnd(into, options);\n renderDescription(into, options, typeInfo.type);\n return into.join('').trim();\n }\n return '';\n}\nexports.getHoverInformation = getHoverInformation;\nfunction renderMdCodeStart(into, options) {\n if (options.useMarkdown) {\n text(into, '```graphql\\n');\n }\n}\nfunction renderMdCodeEnd(into, options) {\n if (options.useMarkdown) {\n text(into, '\\n```');\n }\n}\nfunction renderField(into, typeInfo, options) {\n renderQualifiedField(into, typeInfo, options);\n renderTypeAnnotation(into, typeInfo, options, typeInfo.type);\n}\nexports.renderField = renderField;\nfunction renderQualifiedField(into, typeInfo, options) {\n if (!typeInfo.fieldDef) {\n return;\n }\n const fieldName = typeInfo.fieldDef.name;\n if (fieldName.slice(0, 2) !== '__') {\n renderType(into, typeInfo, options, typeInfo.parentType);\n text(into, '.');\n }\n text(into, fieldName);\n}\nfunction renderDirective(into, typeInfo, _options) {\n if (!typeInfo.directiveDef) {\n return;\n }\n const name = '@' + typeInfo.directiveDef.name;\n text(into, name);\n}\nexports.renderDirective = renderDirective;\nfunction renderArg(into, typeInfo, options) {\n if (typeInfo.directiveDef) {\n renderDirective(into, typeInfo, options);\n }\n else if (typeInfo.fieldDef) {\n renderQualifiedField(into, typeInfo, options);\n }\n if (!typeInfo.argDef) {\n return;\n }\n const { name } = typeInfo.argDef;\n text(into, '(');\n text(into, name);\n renderTypeAnnotation(into, typeInfo, options, typeInfo.inputType);\n text(into, ')');\n}\nexports.renderArg = renderArg;\nfunction renderTypeAnnotation(into, typeInfo, options, t) {\n text(into, ': ');\n renderType(into, typeInfo, options, t);\n}\nfunction renderEnumValue(into, typeInfo, options) {\n if (!typeInfo.enumValue) {\n return;\n }\n const { name } = typeInfo.enumValue;\n renderType(into, typeInfo, options, typeInfo.inputType);\n text(into, '.');\n text(into, name);\n}\nexports.renderEnumValue = renderEnumValue;\nfunction renderType(into, typeInfo, options, t) {\n if (!t) {\n return;\n }\n if (t instanceof graphql_1.GraphQLNonNull) {\n renderType(into, typeInfo, options, t.ofType);\n text(into, '!');\n }\n else if (t instanceof graphql_1.GraphQLList) {\n text(into, '[');\n renderType(into, typeInfo, options, t.ofType);\n text(into, ']');\n }\n else {\n text(into, t.name);\n }\n}\nexports.renderType = renderType;\nfunction renderDescription(into, options, def) {\n if (!def) {\n return;\n }\n const description = typeof def.description === 'string' ? def.description : null;\n if (description) {\n text(into, '\\n\\n');\n text(into, description);\n }\n renderDeprecation(into, options, def);\n}\nfunction renderDeprecation(into, _options, def) {\n if (!def) {\n return;\n }\n const reason = def.deprecationReason;\n if (!reason) {\n return;\n }\n text(into, '\\n\\n');\n text(into, 'Deprecated: ');\n text(into, reason);\n}\nfunction text(into, content) {\n into.push(content);\n}\n//# sourceMappingURL=getHoverInformation.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHoverInformation = exports.getOutline = void 0;\n__exportStar(require(\"./autocompleteUtils\"), exports);\n__exportStar(require(\"./getAutocompleteSuggestions\"), exports);\n__exportStar(require(\"./getDefinition\"), exports);\n__exportStar(require(\"./getDiagnostics\"), exports);\nvar getOutline_1 = require(\"./getOutline\");\nObject.defineProperty(exports, \"getOutline\", { enumerable: true, get: function () { return getOutline_1.getOutline; } });\nvar getHoverInformation_1 = require(\"./getHoverInformation\");\nObject.defineProperty(exports, \"getHoverInformation\", { enumerable: true, get: function () { return getHoverInformation_1.getHoverInformation; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Range = exports.validateWithCustomRules = exports.collectVariables = exports.Position = exports.pointToOffset = exports.offsetToPosition = exports.getVariablesJSONSchema = exports.getQueryFacts = exports.getOperationFacts = exports.getOperationASTFacts = exports.getFragmentDependenciesForAST = exports.getFragmentDependencies = exports.getASTNodeAtPosition = exports.FileChangeTypeKind = exports.CompletionItemKind = exports.getContextAtPosition = exports.getFieldDef = exports.getDefinitionState = exports.GraphQLDocumentMode = exports.getTokenAtPosition = exports.opt = exports.t = exports.list = exports.p = exports.isIgnored = exports.LexRules = exports.RuleKinds = exports.CharacterStream = exports.ParseRules = exports.onlineParser = exports.validateQuery = exports.SuggestionCommand = exports.canUseDirective = exports.DIAGNOSTIC_SEVERITY = exports.SEVERITY = exports.getVariableCompletions = exports.getTypeInfo = exports.getRange = exports.getOutline = exports.getHoverInformation = exports.getFragmentDefinitions = exports.getDiagnostics = exports.getDefinitionQueryResultForArgument = exports.getDefinitionQueryResultForField = exports.getDefinitionQueryResultForNamedType = exports.getDefinitionQueryResultForFragmentSpread = exports.getDefinitionQueryResultForDefinitionNode = exports.getAutocompleteSuggestions = void 0;\nvar interface_1 = require(\"./interface\");\nObject.defineProperty(exports, \"getAutocompleteSuggestions\", { enumerable: true, get: function () { return interface_1.getAutocompleteSuggestions; } });\nObject.defineProperty(exports, \"getDefinitionQueryResultForDefinitionNode\", { enumerable: true, get: function () { return interface_1.getDefinitionQueryResultForDefinitionNode; } });\nObject.defineProperty(exports, \"getDefinitionQueryResultForFragmentSpread\", { enumerable: true, get: function () { return interface_1.getDefinitionQueryResultForFragmentSpread; } });\nObject.defineProperty(exports, \"getDefinitionQueryResultForNamedType\", { enumerable: true, get: function () { return interface_1.getDefinitionQueryResultForNamedType; } });\nObject.defineProperty(exports, \"getDefinitionQueryResultForField\", { enumerable: true, get: function () { return interface_1.getDefinitionQueryResultForField; } });\nObject.defineProperty(exports, \"getDefinitionQueryResultForArgument\", { enumerable: true, get: function () { return interface_1.getDefinitionQueryResultForArgument; } });\nObject.defineProperty(exports, \"getDiagnostics\", { enumerable: true, get: function () { return interface_1.getDiagnostics; } });\nObject.defineProperty(exports, \"getFragmentDefinitions\", { enumerable: true, get: function () { return interface_1.getFragmentDefinitions; } });\nObject.defineProperty(exports, \"getHoverInformation\", { enumerable: true, get: function () { return interface_1.getHoverInformation; } });\nObject.defineProperty(exports, \"getOutline\", { enumerable: true, get: function () { return interface_1.getOutline; } });\nObject.defineProperty(exports, \"getRange\", { enumerable: true, get: function () { return interface_1.getRange; } });\nObject.defineProperty(exports, \"getTypeInfo\", { enumerable: true, get: function () { return interface_1.getTypeInfo; } });\nObject.defineProperty(exports, \"getVariableCompletions\", { enumerable: true, get: function () { return interface_1.getVariableCompletions; } });\nObject.defineProperty(exports, \"SEVERITY\", { enumerable: true, get: function () { return interface_1.SEVERITY; } });\nObject.defineProperty(exports, \"DIAGNOSTIC_SEVERITY\", { enumerable: true, get: function () { return interface_1.DIAGNOSTIC_SEVERITY; } });\nObject.defineProperty(exports, \"canUseDirective\", { enumerable: true, get: function () { return interface_1.canUseDirective; } });\nObject.defineProperty(exports, \"SuggestionCommand\", { enumerable: true, get: function () { return interface_1.SuggestionCommand; } });\nObject.defineProperty(exports, \"validateQuery\", { enumerable: true, get: function () { return interface_1.validateQuery; } });\nvar parser_1 = require(\"./parser\");\nObject.defineProperty(exports, \"onlineParser\", { enumerable: true, get: function () { return parser_1.onlineParser; } });\nObject.defineProperty(exports, \"ParseRules\", { enumerable: true, get: function () { return parser_1.ParseRules; } });\nObject.defineProperty(exports, \"CharacterStream\", { enumerable: true, get: function () { return parser_1.CharacterStream; } });\nObject.defineProperty(exports, \"RuleKinds\", { enumerable: true, get: function () { return parser_1.RuleKinds; } });\nObject.defineProperty(exports, \"LexRules\", { enumerable: true, get: function () { return parser_1.LexRules; } });\nObject.defineProperty(exports, \"isIgnored\", { enumerable: true, get: function () { return parser_1.isIgnored; } });\nObject.defineProperty(exports, \"p\", { enumerable: true, get: function () { return parser_1.p; } });\nObject.defineProperty(exports, \"list\", { enumerable: true, get: function () { return parser_1.list; } });\nObject.defineProperty(exports, \"t\", { enumerable: true, get: function () { return parser_1.t; } });\nObject.defineProperty(exports, \"opt\", { enumerable: true, get: function () { return parser_1.opt; } });\nObject.defineProperty(exports, \"getTokenAtPosition\", { enumerable: true, get: function () { return parser_1.getTokenAtPosition; } });\nObject.defineProperty(exports, \"GraphQLDocumentMode\", { enumerable: true, get: function () { return parser_1.GraphQLDocumentMode; } });\nObject.defineProperty(exports, \"getDefinitionState\", { enumerable: true, get: function () { return parser_1.getDefinitionState; } });\nObject.defineProperty(exports, \"getFieldDef\", { enumerable: true, get: function () { return parser_1.getFieldDef; } });\nObject.defineProperty(exports, \"getContextAtPosition\", { enumerable: true, get: function () { return parser_1.getContextAtPosition; } });\nvar types_1 = require(\"./types\");\nObject.defineProperty(exports, \"CompletionItemKind\", { enumerable: true, get: function () { return types_1.CompletionItemKind; } });\nObject.defineProperty(exports, \"FileChangeTypeKind\", { enumerable: true, get: function () { return types_1.FileChangeTypeKind; } });\nvar utils_1 = require(\"./utils\");\nObject.defineProperty(exports, \"getASTNodeAtPosition\", { enumerable: true, get: function () { return utils_1.getASTNodeAtPosition; } });\nObject.defineProperty(exports, \"getFragmentDependencies\", { enumerable: true, get: function () { return utils_1.getFragmentDependencies; } });\nObject.defineProperty(exports, \"getFragmentDependenciesForAST\", { enumerable: true, get: function () { return utils_1.getFragmentDependenciesForAST; } });\nObject.defineProperty(exports, \"getOperationASTFacts\", { enumerable: true, get: function () { return utils_1.getOperationASTFacts; } });\nObject.defineProperty(exports, \"getOperationFacts\", { enumerable: true, get: function () { return utils_1.getOperationFacts; } });\nObject.defineProperty(exports, \"getQueryFacts\", { enumerable: true, get: function () { return utils_1.getQueryFacts; } });\nObject.defineProperty(exports, \"getVariablesJSONSchema\", { enumerable: true, get: function () { return utils_1.getVariablesJSONSchema; } });\nObject.defineProperty(exports, \"offsetToPosition\", { enumerable: true, get: function () { return utils_1.offsetToPosition; } });\nObject.defineProperty(exports, \"pointToOffset\", { enumerable: true, get: function () { return utils_1.pointToOffset; } });\nObject.defineProperty(exports, \"Position\", { enumerable: true, get: function () { return utils_1.Position; } });\nObject.defineProperty(exports, \"collectVariables\", { enumerable: true, get: function () { return utils_1.collectVariables; } });\nObject.defineProperty(exports, \"validateWithCustomRules\", { enumerable: true, get: function () { return utils_1.validateWithCustomRules; } });\nObject.defineProperty(exports, \"Range\", { enumerable: true, get: function () { return utils_1.Range; } });\n//# sourceMappingURL=index.js.map","import { getTokenAtPosition, getTypeInfo, getAutocompleteSuggestions, getDiagnostics } from 'graphql-language-service';\nimport { StateEffect, StateField } from '@codemirror/state';\nimport { LRParser } from '@lezer/lr';\nimport { LRLanguage, indentNodeProp, delimitedIndent, foldNodeProp, foldInside, LanguageSupport } from '@codemirror/language';\nimport { styleTags, tags } from '@lezer/highlight';\nimport { EditorView } from '@codemirror/view';\nimport { linter } from '@codemirror/lint';\nimport { validateSchema } from 'graphql';\n\nfunction posToOffset(doc, pos) {\n return doc.line(pos.line + 1).from + pos.character;\n}\nfunction offsetToPos(doc, offset) {\n const line = doc.lineAt(offset);\n return new Position(line.number - 1, offset - line.from);\n}\nclass Position {\n constructor(line, character) {\n this.line = line;\n this.character = character;\n }\n setLine(line) {\n this.line = line;\n }\n setCharacter(character) {\n this.character = character;\n }\n lessThanOrEqualTo(position) {\n return (this.line < position.line ||\n (this.line === position.line && this.character <= position.character));\n }\n}\nconst isMac = () => navigator.userAgent.includes('Mac');\nconst isMetaKeyPressed = (e) => isMac() ? e.metaKey : e.ctrlKey;\n\nconst schemaEffect = /*@__PURE__*/StateEffect.define();\nconst schemaStateField = /*@__PURE__*/StateField.define({\n create() { },\n update(schema, tr) {\n for (const e of tr.effects) {\n if (e.is(schemaEffect)) {\n return e.value;\n }\n }\n return schema;\n },\n});\nconst optionsEffect = /*@__PURE__*/StateEffect.define();\nconst optionsStateField = /*@__PURE__*/StateField.define({\n create() { },\n update(opts, tr) {\n for (const e of tr.effects) {\n if (e.is(optionsEffect)) {\n return e.value;\n }\n }\n return opts;\n },\n});\nconst updateSchema = (view, schema) => {\n view.dispatch({\n effects: schemaEffect.of(schema),\n });\n};\nconst updateOpts = (view, opts) => {\n view.dispatch({\n effects: optionsEffect.of(opts),\n });\n};\nconst getSchema = (state) => {\n return state.field(schemaStateField);\n};\nconst getOpts = (state) => {\n return state.field(optionsStateField);\n};\nconst defaultOpts = {\n showErrorOnInvalidSchema: true,\n};\nconst stateExtensions = (schema, opts) => [\n schemaStateField.init(() => schema),\n optionsStateField.init(() => (Object.assign(Object.assign({}, defaultOpts), opts))),\n];\n\nconst fillAllFieldsCommands = (view) => {\n const schema = getSchema(view.state);\n if (!schema) {\n return true;\n }\n const opts = getOpts(view.state);\n const currentPosition = view.state.selection.main.head;\n const pos = offsetToPos(view.state.doc, currentPosition);\n const token = getTokenAtPosition(view.state.doc.toString(), pos);\n if (schema && (opts === null || opts === void 0 ? void 0 : opts.onFillAllFields)) {\n opts.onFillAllFields(view, schema, view.state.doc.toString(), pos, token);\n }\n return true;\n};\nconst showInDocsCommand = (view) => {\n var _a, _b, _c;\n const schema = getSchema(view.state);\n if (!schema) {\n return true;\n }\n const opts = getOpts(view.state);\n const currentPosition = view.state.selection.main.head;\n const pos = offsetToPos(view.state.doc, currentPosition);\n const token = getTokenAtPosition(view.state.doc.toString(), pos);\n if (schema && (opts === null || opts === void 0 ? void 0 : opts.onShowInDocs)) {\n const tInfo = getTypeInfo(schema, token.state);\n opts.onShowInDocs((_a = tInfo.fieldDef) === null || _a === void 0 ? void 0 : _a.name, (_b = tInfo.type) === null || _b === void 0 ? void 0 : _b.toString(), (_c = tInfo.parentType) === null || _c === void 0 ? void 0 : _c.toString());\n }\n return true;\n};\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst spec_name = {__proto__:null,query:241, mutation:243, subscription:245, on:86, fragment:92, schema:102, scalar:114, type:120, implements:126, interface:140, union:146, enum:154, input:164, directive:172, repeatable:176, extend:192};\nconst parser = /*@__PURE__*/LRParser.deserialize({\n version: 14,\n states: \"LWOYQPOOO!WQPO'#C}O!`QPO'#C_OOQO'#C_'#C_O!iQPO'#DYOOQO'#Ev'#EvOOQO'#D_'#D_O!nQPO'#D^O#_QPO'#D^O!iQPO'#DhO!iQPO'#DrO!iQPO'#DuO!iQPO'#DyO!iQPO'#EOOOQO'#Dd'#DdO#fQPO'#ESOOQO'#D]'#D]O!vQPO'#E^OOQO'#Ea'#EaOOQO'#E]'#E]OOQO'#FT'#FTOOQO'#Eu'#EuOOQO'#Eh'#EhQYQPOOOOQO'#C`'#C`OOQO'#DZ'#DZOOQO'#D`'#D`OOQO'#Di'#DiOOQO'#Ds'#DsOOQO'#Dv'#DvOOQO'#Dz'#DzOOQO'#EP'#EPOOQO'#ET'#ETOOQO'#E_'#E_O#kQPO'#CaO$VQPO'#DQO$[QPO'#DPO$sQPO'#DPO$xQPO'#DSO%WQPO'#DOOOQO'#En'#EnO%fQPO,59iOOQO'#Ca'#CaO%qQPO'#CxOOQO'#El'#ElO'hQPO'#CwO)[QPO'#CdOOQO,58y,58yO)aQPO,58yO)fQPO,58yO)nQPO,58yOOQO'#DT'#DTO)yQPO,59tO{QPO'#FUOOQO'#Db'#DbOOQO,59x,59xO*OQPO,59xO!nQPO,59xO!iQPO,5:PO!iQPO,5:SO!iQPO,5:^O!iQPO,5:aO!iQPO,5:eO!iQPO,5:jO*TQPO,5:nOOQO'#Df'#DfO*YQPO,5:SO+aQPO,5:^O,hQPO,5:aO-oQPO,5:eO.sQPO,5:jO/wQPO,5:nO!nQPO,5:xO!iQPO,5:|O!iQPO,5:}O!iQPO,5;OO!iQPO,5;PO!iQPO,5;QO!iQPO,5;ROOQO-E8f-E8fOOQO,59l,59lO0VQPO'#CzOOQO,59k,59kO0[QPO,59kO0mQPO,59kOOQO'#DR'#DRO0tQPO,59kO1OQPO,59nO!iQPO'#DVOOQO,59p,59pO)aQPO,59pO)fQPO,59pOOQO'#DW'#DWOOQO,59j,59jOOQO-E8l-E8lOOQO1G/T1G/TOOQO,59d,59dOOQO-E8j-E8jO1aQPO'#CeOOQO'#Ei'#EiO1fQPO,59OOOQO1G.e1G.eO)aQPO1G.eO)fQPO1G.eO)fQPO1G/`O1nQPO'#DcO1sQPO,5;pOOQO1G/d1G/dO*OQPO1G/dO1xQPO1G/kO4QQPO1G/nO5]QPO1G/xO6hQPO1G/{O7pQPO1G0PO8xQPO1G0UO/wQPO1G0YO9PQPO1G/nO9WQPO'#DkO9`QPO'#FWOOQO'#Dn'#DnOOQO1G/n1G/nO9hQPO1G/nOOQO'#Dl'#DlO:iQPO1G/xOOQO1G/x1G/xO:pQPO1G/xO;qQPO1G/{O;xQPO'#DxO5dQPO1G/{O<QQQO'#FYOOQO'#D|'#D|OOQO1G0P1G0PO6oQPO1G0PO9`QPO'#FZOOQO'#ER'#EROOQO1G0U1G0UO7wQPO1G0UO<YQPO'#DqO!iQPO'#DqOOQO'#Ep'#EpO<_QPO'#DpO<pQSO1G0YO)yQPO1G0YO>QQPO1G0YOOQO'#EV'#EVOOQO1G0d1G0dO>YQPO1G0dO!qQPO1G0hO?ZQPO1G0iO?ZQPO1G0jO?fQPO1G0kO?nQPO1G0lO?vQPO1G0mOOQO'#C|'#C|O@OQPO'#C{OOQO'#Em'#EmO@TQPO,59fOOQO1G/V1G/VO@]QPO1G/VO@nQPO1G/VOOQO1G/Y1G/YOOQO'#Cg'#CgOOQO,59q,59qOOQO1G/[1G/[O)aQPO1G/[O@uQPO,59POOQO-E8g-E8gOOQO1G.j1G.jOOQO7+$P7+$PO)aQPO7+$POOQO7+$z7+$zO)aQPO7+$zO!iQPO,59}OOQO1G1[1G1[OOQO7+%O7+%OOOQO7+%V7+%VOBOQPO7+%YOOQO7+%Y7+%YO@}QPO7+%YOCZQPO7+%dOOQO7+%d7+%dOBYQPO7+%dODfQPO7+%gODmQPO7+%gOOQO7+%k7+%kODtQPO7+%kOOQO7+%p7+%pOEuQPO7+%pO<pQSO7+%tO)yQPO7+%tO>QQPO7+%tO!iQPO,5:VOOQO,5:V,5:VOFvQPO'#DoO!iQPO'#DoOOQO'#Eo'#EoOGRQPO,5;rO!iQPO,5:dOOQO,5:d,5:dOG^QQO'#D}OGlQQO'#D}OOQO'#Eq'#EqOGqQQO,5;tOG|QPO,5;uO@uQPO,5:]OHXQPO,5:]OOQO-E8n-E8nOOQO'#EZ'#EZOOQO'#E['#E[OOQO'#EY'#EYOH^QPO7+%tOOQO'#EX'#EXO<sQSO'#EXOOQO7+&O7+&OOOQO7+&S7+&SOJcQPO7+&TOOQO7+&T7+&TOIbQPO7+&TOKnQPO7+&UOOQO7+&U7+&UOJmQPO7+&UOLyQPO7+&VOMQQPO7+&VOOQO7+&W7+&WOMXQPO7+&WOOQO7+&X7+&XONYQPO7+&XO! ZQQO,59gOOQO-E8k-E8kOOQO1G/Q1G/QOOQO7+$q7+$qO! xQPO7+$qOOQO7+$v7+$vO@uQPO'#CjO!!ZQPO'#E|OOQO'#E|'#E|O!#UQPO1G.kOOQO<<Gk<<GkOOQO<<Hf<<HfOOQO1G/i1G/iOOQO<<Ht<<HtO!#gQPO<<HtOOQO<<IO<<IOO!$hQPO<<IOO!%iQPO<<IROOQO<<IV<<IVOOQO<<I[<<I[O!&mQPO<<I`O<pQSO<<I`O)yQPO<<I`OOQO1G/q1G/qO@uQPO,5:ZO!'qQPO,5:ZO!'vQPO,5:ZOOQO-E8m-E8mOOQO1G1^1G1^OOQO1G0O1G0OO!(RQQO'#CxO!(dQQO'#CwOOQO,5:i,5:iO!(rQQO,5:iOOQO-E8o-E8oOOQO1G1`1G1`OOQO1G1a1G1aO!)QQPO1G/wO@uQPO1G/wO<sQSO,5:sOOQO,5:s,5:sOOQO<<Io<<IoO!)lQPO<<IoOOQO<<Ip<<IpO!*mQPO<<IpO!+nQPO<<IqOOQO<<Ir<<IrOOQO<<Is<<IsO!,rQQO'#CsO!,yQPO'#CvOOQO'#FP'#FPO!-RQPO1G/ROOQO<<H]<<H]O!-^QPO,59UOOQO,59V,59VO! ZQQO'#ClOOQO7+$V7+$VO!-cQPO7+$VO!-nQPO7+$VOOQOAN>`AN>`OOQOAN>jAN>jO!-|QPOAN>zO<pQSOAN>zO!/QQPO1G/uO@uQPO1G/uO!/`QPO1G/uOOQO1G0T1G0TOOQO7+%c7+%cO!/eQPO7+%cO!/|QPO7+%cOOQO1G0_1G0_OOQOAN?ZAN?ZOOQOAN?[AN?[O!0TQQO'#EjO!0xQQO,59_OOQO,59_,59_O!1PQPO'#FROOQO'#Ek'#EkO!1UQPO,59bOOQO,59b,59bOOQO7+$m7+$mOOQO1G.p1G.pOOQO,59W,59WOOQO<<Gq<<GqO!1^QPO<<GqO!1iQPOG24fOOQO7+%a7+%aO!2mQPO7+%aO@uQPO7+%aOOQO<<H}<<H}O!2{QPO<<H}OOQO,5;U,5;UOOQO-E8h-E8hOOQO1G.y1G.yO! ZQQO,5;mOOQO-E8i-E8iOOQO1G.|1G.|OOQOAN=]AN=]OOQO<<H{<<H{O!3dQPO<<H{OOQOAN>iAN>iO!3rQPO1G1XOOQOAN>gAN>gOOQO7+&s7+&s\",\n stateData: \"!4S~O#hOSPOS~OcUOiPO!OiO!TjO!^kO!hlO!kmO!onO!toO!xpO#SqO#lhO#mhO#nhO~O#krO#vvO~OV!OOiPOm{O#kzO~Oi!VOm{O~O!TjO!Z!cO!^kO!hlO!kmO!onO!toO~O!xpO~P!vOm!iO~OVuXhuXiuXmuX#kuX#oTX#tuX#vuX~O#o!rO~OV!sOiPOm{OhsX#ksX#tsX#vsX~O#k!wO~OiPOm{O{#OO#kzO~O#t#POhrX#krX#vrX~Oh#RO#krO#vvO~OV!sOilXmlXhlX#klX#tlX#vlXclX!OlX!TlX!^lX!hlX!klX!olX!tlX!xlX#SlX#flX#llX#mlX#nlX#rlXUlXYlX{lX!zlX#olX~Om{OikXhkX#kkX#tkX#vkXckX!OkX!TkX!^kX!hkX!kkX!okX!tkX!xkX#SkX#fkX#lkX#mkX#nkX#rkXUkXYkX{kX!zkX#okX~OY#UO~OiPO~OiPOm{O~OV!OOiPOm{O~O{#OO~Oi!VO~Om#gO~Oi#jOm{O!a#nOc![a!O![a!T![a!^![a!h![a!k![a!o![a!t![a!x![a#S![a#f![a#l![a#m![a#n![a~Oi#jOm{O!a#nOc!fa!O!fa!T!fa!^!fa!h!fa!k!fa!o!fa!t!fa!x!fa#S!fa#f!fa#l!fa#m!fa#n!fa~Om{O#r#sOc!iai!ia!O!ia!T!ia!^!ia!h!ia!k!ia!o!ia!t!ia!x!ia#S!ia#f!ia#l!ia#m!ia#n!ia~Oi#uOm{Oc!ma!O!ma!T!ma!^!ma!h!ma!k!ma!o!ma!t!ma!x!ma#S!ma#f!ma#l!ma#m!ma#n!ma~Oi#yOm{Oc!ra!O!ra!T!ra!^!ra!h!ra!k!ra!o!ra!t!ra!x!ra#S!ra#f!ra#l!ra#m!ra#n!ra~OcUO{#OO!z$UO#kzO~O#k$_O~OiPOhsa#ksa#tsa#vsa~Om{O~P0[OV!sOm{O~P0[Om{Ohva#kva#tva#vva~O#o$kO~OU$mOY#UO~O#o$rO~Oh$sO~Om{Oc!Xii!Xi!O!Xi!T!Xi!^!Xi!h!Xi!k!Xi!o!Xi!t!Xi!x!Xi#S!Xi#f!Xi#l!Xi#m!Xi#n!Xi~Oi#jOm{Oc![i!O![i!T![i!^![i!h![i!k![i!o![i!t![i!x![i#S![i#f![i#l![i#m![i#n![i~O!a#nO~P2|Oi#jOm{Oc!fi!O!fi!T!fi!^!fi!h!fi!k!fi!o!fi!t!fi!x!fi#S!fi#f!fi#l!fi#m!fi#n!fi~O!a#nO~P4XO#r#sOc!iii!ii!O!ii!T!ii!^!ii!h!ii!k!ii!o!ii!t!ii!x!ii#S!ii#f!ii#l!ii#m!ii#n!ii~Om{O~P5dOi#uOc!mi!O!mi!T!mi!^!mi!h!mi!k!mi!o!mi!t!mi!x!mi#S!mi#f!mi#l!mi#m!mi#n!mi~Om{O~P6oOi#yOc!ri!O!ri!T!ri!^!ri!h!ri!k!ri!o!ri!t!ri!x!ri#S!ri#f!ri#l!ri#m!ri#n!ri~Om{O~P7wO#y%VO~P2|O#kzO#y%VO~OcUO#kzO~Oi#jOc![i!O![i!T![i!^![i!h![i!k![i!o![i!t![i!x![i#S![i#f![i#l![i#m![i#n![i~O#y%VO~P4XOi#jOc!fi!O!fi!T!fi!^!fi!h!fi!k!fi!o!fi!t!fi!x!fi#S!fi#f!fi#l!fi#m!fi#n!fi~O#{%]O~P5gO#kzO#{%]O~OcUOf%_O~O#o%dO~OcUO#kzO{!dX!z!dX#o!dX~O#{%lO$O%gO$P%gO$Q%gO$R%gO$S%gO$T%gO$U%gO$V%gO$W%hO$X%hO$Y%hO$Z%hO$[%hO$]%hO$^%hO$_%hO$`%hO$a%hO$b%hO~O{#OO!z$UO~Oi!VOc#Qi!O#Qi!T#Qi!^#Qi!h#Qi!k#Qi!o#Qi!t#Qi!x#Qi#S#Qi#f#Qi#l#Qi#m#Qi#n#Qi~Oi#jOm{O!a#nO~Om{O#r#sO~Oi#uOm{O~Oi#yOm{O~O#o%{O~OU%}O#k$_O~OiPOhsi#ksi#tsi#vsi~Om{O~P@]O]&RO#kzO~Oi#jOc![q!O![q!T![q!^![q!h![q!k![q!o![q!t![q!x![q#S![q#f![q#l![q#m![q#n![q~Om{O#y%VO~P@}Oi#jOc!fq!O!fq!T!fq!^!fq!h!fq!k!fq!o!fq!t!fq!x!fq#S!fq#f!fq#l!fq#m!fq#n!fq~Om{O#y%VO~PBYOc!iqi!iq!O!iq!T!iq!^!iq!h!iq!k!iq!o!iq!t!iq!x!iq#S!iq#f!iq#l!iq#m!iq#n!iq~O#{%]O~PCeO#r#sO~PCeOi#uOc!mq!O!mq!T!mq!^!mq!h!mq!k!mq!o!mq!t!mq!x!mq#S!mq#f!mq#l!mq#m!mq#n!mq~Oi#yOc!rq!O!rq!T!rq!^!rq!h!rq!k!rq!o!rq!t!rq!x!rq#S!rq#f!rq#l!rq#m!rq#n!rq~OcUO#kzO#o&eO~OcUOh&iO#kzO~Om&kOc!qXf!qXh!qX~Of&nO~OcUOf%_Oh&pO~OcUOh&qO#kzO~O#o&sO~O#{&tOc!vqi!vq!O!vq!T!vq!^!vq!h!vq!k!vq!o!vq!t!vq!x!vq#S!vq#f!vq#l!vq#m!vq#n!vq~Oi#jOc#Vq!O#Vq!T#Vq!^#Vq!h#Vq!k#Vq!o#Vq!t#Vq!x#Vq#S#Vq#f#Vq#l#Vq#m#Vq#n#Vq~Om{O#y%VO~PIbOi#jOc#Wq!O#Wq!T#Wq!^#Wq!h#Wq!k#Wq!o#Wq!t#Wq!x#Wq#S#Wq#f#Wq#l#Wq#m#Wq#n#Wq~Om{O#y%VO~PJmOc#Xqi#Xq!O#Xq!T#Xq!^#Xq!h#Xq!k#Xq!o#Xq!t#Xq!x#Xq#S#Xq#f#Xq#l#Xq#m#Xq#n#Xq~O#{%]O~PKxO#r#sO~PKxOi#uOc#Yq!O#Yq!T#Yq!^#Yq!h#Yq!k#Yq!o#Yq!t#Yq!x#Yq#S#Yq#f#Yq#l#Yq#m#Yq#n#Yq~Oi#yOc#Zq!O#Zq!T#Zq!^#Zq!h#Zq!k#Zq!o#Zq!t#Zq!x#Zq#S#Zq#f#Zq#l#Zq#m#Zq#n#Zq~OY'PO]&}Oa'POb'POc'POd'POe'POf'POi'OO~OiPOhsq#ksq#tsq#vsq~O#q'TOU#pXY#pXm#pX#r#pX#t#pXc#pX{#pX!z#pX#k#pX[#pXh#pX#o#pX~Om{O#r'UO#t'VOUXiYXi~Oi#jOc![y!O![y!T![y!^![y!h![y!k![y!o![y!t![y!x![y#S![y#f![y#l![y#m![y#n![y~Oi#jOc!fy!O!fy!T!fy!^!fy!h!fy!k!fy!o!fy!t!fy!x!fy#S!fy#f!fy#l!fy#m!fy#n!fy~O#{%]Oc!iyi!iy!O!iy!T!iy!^!iy!h!iy!k!iy!o!iy!t!iy!x!iy#S!iy#f!iy#l!iy#m!iy#n!iy~O#{&tOc!vyi!vy!O!vy!T!vy!^!vy!h!vy!k!vy!o!vy!t!vy!x!vy#S!vy#f!vy#l!vy#m!vy#n!vy~O#o'_O~OcUO#kzO#o'_O~OV!sOclXflXhlXmlX~Om&kOckXfkXhkX~Om&kOc!qaf!qah!qa~Om{O#r'UOc!ei{!ei!z!ei#k!eih!ei#o!ei~Oi#jOc#Vy!O#Vy!T#Vy!^#Vy!h#Vy!k#Vy!o#Vy!t#Vy!x#Vy#S#Vy#f#Vy#l#Vy#m#Vy#n#Vy~Oi#jOc#Wy!O#Wy!T#Wy!^#Wy!h#Wy!k#Wy!o#Wy!t#Wy!x#Wy#S#Wy#f#Wy#l#Wy#m#Wy#n#Wy~O#{%]Oc#Xyi#Xy!O#Xy!T#Xy!^#Xy!h#Xy!k#Xy!o#Xy!t#Xy!x#Xy#S#Xy#f#Xy#l#Xy#m#Xy#n#Xy~O['jO~P! ZOh'nO#kzO~O#t'oOUoi#koi~O['pO~O#t'rOUXqYXq~Om{O#t'rOUXqYXq~O#{&tOc!v!Ri!v!R!O!v!R!T!v!R!^!v!R!h!v!R!k!v!R!o!v!R!t!v!R!x!v!R#S!v!R#f!v!R#l!v!R#m!v!R#n!v!R~Om{Oc!cih!ci#k!ci~O#o'wO~Om{Oc!eq{!eq!z!eq#k!eqh!eq#o!eq~O#r'UO~P!/eO#t'zOY#^X[#^X]#^Xa#^Xb#^Xc#^Xd#^Xe#^Xf#^Xi#^X~O['|O~P! ZO#o'}O~Oh(PO#kzO~O#t(QOUXyYXy~O#{&tOc!v!Zi!v!Z!O!v!Z!T!v!Z!^!v!Z!h!v!Z!k!v!Z!o!v!Z!t!v!Z!x!v!Z#S!v!Z#f!v!Z#l!v!Z#m!v!Z#n!v!Z~Om{Oc!cqh!cq#k!cq~Om{Oc!ey{!ey!z!ey#k!eyh!ey#o!ey~Om{Oc!cyh!cy#k!cy~O#t(WOh#ui#k#ui~Odefe~\",\n goto: \":k$OPPP$P$T$[PP&d&jP&nPP'Z'd'mPPPPPP'vPP'v'}*|P,T,_,c,g-k-o-s-w-o.O-o.U.[P$P.oP.s.w.{/bP/l/|.w0P0TP0P0ZP0e0wP1P2T2X2e0P2nP0P2xP3S0P3dP3n4O0P4SP4^.w4nP4uP5P5]5i5i.s5q5uP5q5y5y5y5y5y5y5}6T6Z6a6g7r7x8O8U8cPPP8i8mPPPPP8qPP9WP9eP8m9iP9qP:Z:cTTOgSQOgR#]!VSsPyQ!SQS!TSvQ!dXQ!eYQ!fZQ!g[Q!h]Q#a![Q#b!]Q#c!^Q#d!_Q#e!`Q#f!a^#}!i#g#y$Q%X%c&gQ$X!kQ$Y!lQ$Z!mQ$[!nQ$]!oQ$^!pj$g!z#i#s$k$r%V%]%d&R&e&s'_'wS%X#j%[Q%e$OQ&g%YT'k'O'mQ!RQR#Z!ST#V!O#WQ$h!zQ%W#iQ%^#s^&S$k%d&R&e&s'_'wQ&X$rQ&d%VR&j%]_&S$k%d&R&e&s'_'w_&T$k%d&R&e&s'_'wQ'X&UQ'c&rR'y'dZ'P%{&}'U'i'}Q!QQQ!YVQ!utQ!|vS#Y!R!SQ#`!ZQ#m!dQ#q!eQ#t!fQ#x!gQ#|!hQ$W!jS$d!v!xQ$f!yQ$j!}Q$o#ZQ$q#[Q$u#aS$x#b#hS${#c#oQ$}#dQ%P#eQ%R#fQ%n$XQ%q$YQ%t$ZQ%v$[Q%x$]Q%z$^Q&P$eQ&Z$vQ&]$yQ&m%_Q&w%oQ&y%rQ'W&UQ'a&nQ'b&rQ's'XQ'u'^S'x'c'dQ(R'vQ(T'yR(V(S#Z|QVtv}!R!S!Z!d!e!f!g!h!j!v!x!y!}#Z#[#a#b#c#d#e#f#h#o$X$Y$Z$[$]$^$e$v$y%_%o%r&U&l&n&r'X'^'c'd'v'y(SQ!vtS#S{&kR$e!xT$a!s$bT$`!s$bSROgQ!PQQ!ttQ!{vU#X!Q!R!SU$c!u!v!xS$i!|!}S$n#Y#ZQ$p#[S&O$d$eQ&Q$jQ&V$oQ&W$qR'R&PTxPyTwPyTuPyStPyR!xuQ!USR!yvQ!}vR#[!US!zv!UQ$R!iU%S#g$S$TS&b%T%UR']&cTSOgTdOgT`OgSWOg^$O!i#g#y$Q%X%c&gS%Y#j%[T%`#u%bSVOgQ!ZWR!jaQ!XVS#_!Y!ZQ$V!jQ$t#`R%m$WR#^!VT^OgQ![WR!kaSXOgQ!]WR!laQ#h!dQ#o!eQ$v#bQ$y#cQ%o$YR%r$Z]#i!d!e#b#c$Y$ZQ#l!dQ#p!eU$w#b#h#mU$z#c#o#qQ%p$YQ%s$ZS&Y$v$xS&[$y${S&v%o%qS&x%r%tQ'Y&ZQ'Z&]Q'f&wR'g&yT%Z#j%[Q$T!iQ%U#gQ&f%XR'`&g_$P!i#g#y$Q%X%c&gSYOgQ!^WR!maSZOgQ!_WR!naQ#r!fS$|#d#tQ%u$[Q&^$}R&z%vS[OgQ!`WR!oaQ#w!gS%O#e#xQ%w$]Q&_%PR&{%xT%a#u%bS]OgQ!aWR!paQ#{!hS%Q#f#|Q%y$^Q&`%RR&|%zS_OgR!bWQ$S!iS%T#g$TR&c%UQ%j$RQ&a%SQ'[&bR't']W%k$R%S&b']Q&u%lR'e&t]%i$R%S%l&b&t']TcOgTaOgTbOgQgOR!qgQ#W!OR$l#WQ'i&}R'{'iQ'm'OR(O'm#Q}QVtv!R!S!Z!d!e!f!g!h!j!v!x!y!}#Z#[#a#b#c#d#e#f#h#o$X$Y$Z$[$]$^$e$v$y%o%r&U&r'X'^'c'd'v'y(SS#T}&lT&l%_&nQ$b!sR%|$bQyPR#QyQ%[#jR&h%[W$Q!i#g%X&gQ%c#yT%f$Q%cQ%b#uR&o%bTfOgTeOgQ&U$kQ&r%dQ'S&RQ'^&eQ'd&sQ'v'_R(S'wQ'Q%{S'h&}'iQ'q'UR(U'}T'l'O'm]!WV!Y!Z!j#`$W}#k!d!e#b#c#h#m#o#q$Y$Z$v$x$y${%o%q%r%t&Z&]&w&y]#v!g#e#x$]%P%x]#z!h#f#|$^%R%z\",\n nodeNames: \"⚠ Comment Document OperationDefinition OperationType Name ) ( VariableDefinitions VariableDefinition Variable NamedType ] [ ListType NonNullType DefaultValue IntValue FloatValue StringValue BooleanValue NullValue EnumValue ListValue } { ObjectValue Directives Directive DirectiveName Arguments Argument ArgumentAttributeName SelectionSet Selection Field Alias FieldName FragmentSpread FragmentName InlineFragment TypeCondition OnKeyword on FragmentDefinition FragmentKeyword fragment TypeSystemDefinition SchemaDefinition Description SchemaKeyword schema RootTypeDefinition RootOperationTypeDefinition TypeDefinition ScalarTypeDefinition ScalarKeyword scalar ObjectTypeDefinition TypeKeyword type ImplementsInterfaces ImplementsKeyword implements FieldsDefinition FieldDefinition ArgumentsDefinition InputValueDefinition InterfaceTypeDefinition InterfaceKeyword interface UnionTypeDefinition UnionKeyword union UnionMemberTypes EnumTypeDefinition EnumKeyword enum EnumValuesDefinition EnumValueDefinition InputObjectTypeDefinition InputKeyword input InputFieldsDefinition DirectiveDefinition DirectiveKeyword directive RepeatableKeyword repeatable DirectiveLocations DirectiveLocation ExecutableDirectiveLocation TypeSystemDirectiveLocation TypeSystemExtension SchemaExtension ExtendKeyword extend TypeExtension ScalarTypeExtension ObjectTypeExtension InterfaceTypeExtension UnionTypeExtension EnumTypeExtension InputObjectTypeExtension\",\n maxTerm: 156,\n nodeProps: [\n [\"openedBy\", 6,\"(\",12,\"[\",24,\"{\"],\n [\"closedBy\", 7,\")\",13,\"]\",25,\"}\"]\n ],\n skippedNodes: [0,1],\n repeatNodeCount: 10,\n tokenData: \"#Ci~R!XX^$npq$nqr%crs%hst4ptu4{vw5jxy5oyz5t|}5y}!O6O!O!P7g!Q![6U![!]7x!_!`7}!b!c8S!c!d8q!d!g9[!g!hCZ!h!iHd!i!k9[!k!l!/v!l!o9[!o!p!Id!p!q9[!q!r!Mm!r!s9[!s!t#!u!t!u9[!u!v#%d!v!w9[!w!x#0n!x!y#3]!y!}9[!}#O#=[#P#Q#=a#R#S9[#T#Y9[#Y#Z#=f#Z#b9[#b#c#@Q#c#h9[#h#i#BU#i#o9[#o#p#CY#p#q#C_#q#r#Cd#y#z$n$f$g$n#BY#BZ$n$IS$I_$n$I|$JO$n$JT$JU$n$KV$KW$n&FU&FV$n~$sY#h~X^$npq$n#y#z$n$f$g$n#BY#BZ$n$IS$I_$n$I|$JO$n$JT$JU$n$KV$KW$n&FU&FV$n~%hO#q~~%kVOY&QZ]&Q^r&Qrs(as#O&Q#O#P&o#P~&Q~&TVOY&QZ]&Q^r&Qrs&js#O&Q#O#P&o#P~&Q~&oOc~~&rXrs&Q!P!Q&Q#O#P&Q#U#V&Q#Y#Z&Q#b#c&Q#f#g&Q#h#i&Q#i#j'_~'bR!QX^r(irs)_s#O(i#O#P)w#P~(i~)[PYZ(i~)bROr(irs)ks~(i~)nROr(irs&js~(i~)zXrs*g!P!Q(i#O#P(i#U#V(i#Y#Z(i#b#c(i#f#g(i#h#i(i#i#j3n~*jXOY(iYZ(iZ](i]^)X^r(irs+Vs#O(i#O#P)w#P~(i~+YROr(irs+cs~(i~+fXOY(iYZ(iZ](i]^(i^r(irs,Rs#O(i#O#P,a#P~(i~,WRc~Or(irs)ks~(i~,dfOY(iYZ(iZ](i]^)X^r(irs-xs!P(i!P!Q(i!Q#O(i#O#P,a#P#U(i#U#V(i#V#Y(i#Y#Z(i#Z#b(i#b#c(i#c#f(i#f#g(i#g#h(i#h#i(i#i#j/f#j~(i~-{XOY(iYZ(iZ](i]^(i^r(irs.hs#O(i#O#P,a#P~(i~.kROr(irs.ts~(i~.yXc~OY(iYZ(iZ](i]^(i^r(irs,Rs#O(i#O#P,a#P~(i~/i_OY(iYZ(iZ](i]^)X^r(irs)_s!Q(i!QX^r(irs)_s!Q(i!QX^r(irs)_s!Q(i!QX^r(irs)_s!Q(i!Q![(i![!c(i!c!i(i!i#O(i#O#P)w#P#T(i#T#Z(i#Z~(i~3qR!Q![3z!c!i3z#T#Z3z~3}R!Q![4W!c!i4W#T#Z4W~4ZR!Q![4d!c!i4d#T#Z4d~4gR!Q![(i!c!i(i#T#Z(i~4uQP~OY4pZ~4p~5OR!c!}5X#R#S5X#T#o5X~5^SY~!Q![5X!c!}5X#R#S5X#T#o5X~5oO#y~~5tOV~~5yOU~~6OO#t~~6RP!Q![6U~6ZSa~!O!P6g!Q![6U!g!h6{#X#Y6{~6jP!Q![6m~6rRb~!Q![6m!g!h6{#X#Y6{~7OR{|7X}!O7X!Q![7_~7[P!Q![7_~7dPb~!Q![7_~7jP!O!P7m~7pP!O!P7s~7xO#v~~7}O#o~~8SO#r~~8VR!c!}8`#R#S8`#T#o8`~8eSm~!Q![8`!c!}8`#R#S8`#T#o8`V8xU#kPfQ!Q![9[!c!t9[!t!u9o!u!}9[#R#S9[#T#o9[R9cS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V9vU#kPfQ!Q![9[!c!i9[!i!j:Y!j!}9[#R#S9[#T#o9[V:aU#kPfQ!Q![9[!c!w9[!w!x:s!x!}9[#R#S9[#T#o9[V:zU#kPfQ!Q![9[!c!o9[!o!p;^!p!}9[#R#S9[#T#o9[V;eU#kPfQ!Q![9[!c!g9[!g!h;w!h!}9[#R#S9[#T#o9[V<OU#kPfQ!Q![9[!c!p9[!p!q<b!q!}9[#R#S9[#T#o9[V<iU#kPfQ!Q![9[!c!v9[!v!w<{!w!}9[#R#S9[#T#o9[V=SS#kPfQ!Q![9[!c!}9[#R#S=`#T#o9[V=gU#kPfQ!Q![9[!c!f9[!f!g=y!g!}9[#R#S9[#T#o9[V>QU#kPfQ!Q![9[!c!g9[!g!h>d!h!}9[#R#S9[#T#o9[V>kU#kPfQ!Q![9[!c!h9[!h!i>}!i!}9[#R#S9[#T#o9[V?UU#kPfQ!Q![9[!c!k9[!k!l?h!l!}9[#R#S9[#T#o9[V?oU#kPfQ!Q![9[!c!p9[!p!q@R!q!}9[#R#S9[#T#o9[V@YU#kPfQ!Q![9[!c!k9[!k!l@l!l!}9[#R#S9[#T#o9[V@sU#kPfQ!Q![9[!c!v9[!v!wAV!w!}9[#R#S9[#T#o9[VA^U#kPfQ!Q![9[!c!k9[!k!lAp!l!}9[#R#S9[#T#o9[VAwU#kPfQ!Q![9[!c!q9[!q!rBZ!r!}9[#R#S9[#T#o9[VBbU#kPfQ!Q![9[!c!p9[!p!qBt!q!}9[#R#S9[#T#o9[VB}S$[S#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[VCbU#kPfQ!Q![9[!c!p9[!p!qCt!q!}9[#R#S9[#T#o9[VC{U#kPfQ!Q![9[!c!w9[!w!xD_!x!}9[#R#S9[#T#o9[VDfU#kPfQ!Q![9[!c!o9[!o!pDx!p!}9[#R#S9[#T#o9[VERS$_S#kPfQ!Q![9[!c!}9[#R#SE_#T#o9[VEfU#kPfQ!Q![9[!c!x9[!x!yEx!y!}9[#R#S9[#T#o9[VFPT#kPfQ!Q![9[!c!dF`!d!}9[#R#S9[#T#o9[VFgU#kPfQ!Q![9[!c!n9[!n!oFy!o!}9[#R#S9[#T#o9[VGQU#kPfQ!Q![9[!c!w9[!w!xGd!x!}9[#R#S9[#T#o9[VGkU#kPfQ!Q![9[!c!g9[!g!hG}!h!}9[#R#S9[#T#o9[VHWS$`S#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[VHkW#kPfQ!Q![9[!c!k9[!k!lIT!l!t9[!t!u!#S!u!}9[#R#S9[#T#o9[VI[U#kPfQ!Q![9[!c!g9[!g!hIn!h!}9[#R#S9[#T#o9[VIuU#kPfQ!Q![9[!c!n9[!n!oJX!o!}9[#R#S9[#T#o9[VJ`U#kPfQ!Q![9[!c!f9[!f!gJr!g!}9[#R#S9[#T#o9[VJ{S$RS#kPfQ!Q![9[!c!}9[#R#SKX#T#o9[VK`U#kPfQ!Q![9[!c!f9[!f!gKr!g!}9[#R#S9[#T#o9[VKyU#kPfQ!Q![9[!c!g9[!g!hL]!h!}9[#R#S9[#T#o9[VLdU#kPfQ!Q![9[!c!h9[!h!iLv!i!}9[#R#S9[#T#o9[VL}U#kPfQ!Q![9[!c!k9[!k!lMa!l!}9[#R#S9[#T#o9[VMhU#kPfQ!Q![9[!c!p9[!p!qMz!q!}9[#R#S9[#T#o9[VNRU#kPfQ!Q![9[!c!k9[!k!lNe!l!}9[#R#S9[#T#o9[VNlU#kPfQ!Q![9[!c!v9[!v!w! O!w!}9[#R#S9[#T#o9[V! VU#kPfQ!Q![9[!c!k9[!k!l! i!l!}9[#R#S9[#T#o9[V! pU#kPfQ!Q![9[!c!q9[!q!r!!S!r!}9[#R#S9[#T#o9[V!!ZU#kPfQ!Q![9[!c!p9[!p!q!!m!q!}9[#R#S9[#T#o9[V!!vS$ZS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V!#ZT#kPfQ!Q![9[!c!d!#j!d!}9[#R#S9[#T#o9[V!#qU#kPfQ!Q![9[!c!i9[!i!j!$T!j!}9[#R#S9[#T#o9[V!$[U#kPfQ!Q![9[!c!o9[!o!p!$n!p!}9[#R#S9[#T#o9[V!$uU#kPfQ!Q![9[!c!g9[!g!h!%X!h!}9[#R#S9[#T#o9[V!%`U#kPfQ!Q![9[!c!p9[!p!q!%r!q!}9[#R#S9[#T#o9[V!%yU#kPfQ!Q![9[!c!v9[!v!w!&]!w!}9[#R#S9[#T#o9[V!&dS#kPfQ!Q![9[!c!}9[#R#S!&p#T#o9[V!&wW#kPfQ!Q![9[!c!f9[!f!g!'a!g!u9[!u!v!,q!v!}9[#R#S9[#T#o9[V!'hU#kPfQ!Q![9[!c!g9[!g!h!'z!h!}9[#R#S9[#T#o9[V!(RU#kPfQ!Q![9[!c!h9[!h!i!(e!i!}9[#R#S9[#T#o9[V!(lU#kPfQ!Q![9[!c!k9[!k!l!)O!l!}9[#R#S9[#T#o9[V!)VU#kPfQ!Q![9[!c!p9[!p!q!)i!q!}9[#R#S9[#T#o9[V!)pU#kPfQ!Q![9[!c!k9[!k!l!*S!l!}9[#R#S9[#T#o9[V!*ZU#kPfQ!Q![9[!c!v9[!v!w!*m!w!}9[#R#S9[#T#o9[V!*tU#kPfQ!Q![9[!c!k9[!k!l!+W!l!}9[#R#S9[#T#o9[V!+_U#kPfQ!Q![9[!c!q9[!q!r!+q!r!}9[#R#S9[#T#o9[V!+xU#kPfQ!Q![9[!c!p9[!p!q!,[!q!}9[#R#S9[#T#o9[V!,eS$SS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V!,xU#kPfQ!Q![9[!c!r9[!r!s!-[!s!}9[#R#S9[#T#o9[V!-cU#kPfQ!Q![9[!c!t9[!t!u!-u!u!}9[#R#S9[#T#o9[V!-|U#kPfQ!Q![9[!c!g9[!g!h!.`!h!}9[#R#S9[#T#o9[V!.gT#kPfQ!Q![9[!c!d!.v!d!}9[#R#S9[#T#o9[V!.}U#kPfQ!Q![9[!c!f9[!f!g!/a!g!}9[#R#S9[#T#o9[V!/jS$TS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V!/}U#kPfQ!Q![9[!c!p9[!p!q!0a!q!}9[#R#S9[#T#o9[V!0hY#kPfQ!Q![9[!c!n9[!n!o!1W!o!r9[!r!s!7|!s!v9[!v!w!Et!w!}9[#R#S9[#T#o9[V!1_U#kPfQ!Q![9[!c!k9[!k!l!1q!l!}9[#R#S9[#T#o9[V!1xU#kPfQ!Q![9[!c!p9[!p!q!2[!q!}9[#R#S9[#T#o9[V!2cU#kPfQ!Q![9[!c!g9[!g!h!2u!h!}9[#R#S9[#T#o9[V!2|S#kPfQ!Q![9[!c!}9[#R#S!3Y#T#o9[V!3aU#kPfQ!Q![9[!c!h9[!h!i!3s!i!}9[#R#S9[#T#o9[V!3zU#kPfQ!Q![9[!c!t9[!t!u!4^!u!}9[#R#S9[#T#o9[V!4eT#kPfQ!Q![9[!c!d!4t!d!}9[#R#S9[#T#o9[V!4{U#kPfQ!Q![9[!c!i9[!i!j!5_!j!}9[#R#S9[#T#o9[V!5fU#kPfQ!Q![9[!c!o9[!o!p!5x!p!}9[#R#S9[#T#o9[V!6PU#kPfQ!Q![9[!c!g9[!g!h!6c!h!}9[#R#S9[#T#o9[V!6jU#kPfQ!Q![9[!c!p9[!p!q!6|!q!}9[#R#S9[#T#o9[V!7TU#kPfQ!Q![9[!c!v9[!v!w!7g!w!}9[#R#S9[#T#o9[V!7pS$US#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V!8TU#kPfQ!Q![9[!c!w9[!w!x!8g!x!}9[#R#S9[#T#o9[V!8nU#kPfQ!Q![9[!c!v9[!v!w!9Q!w!}9[#R#S9[#T#o9[V!9XS#kPfQ!Q![9[!c!}9[#R#S!9e#T#o9[V!9lW#kPfQ!Q![9[!c!h9[!h!i!:U!i!q9[!q!r!Bl!r!}9[#R#S9[#T#o9[V!:]U#kPfQ!Q![9[!c!k9[!k!l!:o!l!}9[#R#S9[#T#o9[V!:vU#kPfQ!Q![9[!c!g9[!g!h!;Y!h!}9[#R#S9[#T#o9[V!;aU#kPfQ!Q![9[!c!n9[!n!o!;s!o!}9[#R#S9[#T#o9[V!;zU#kPfQ!Q![9[!c!f9[!f!g!<^!g!}9[#R#S9[#T#o9[V!<eS#kPfQ!Q![9[!c!}9[#R#S!<q#T#o9[V!<xU#kPfQ!Q![9[!c!f9[!f!g!=[!g!}9[#R#S9[#T#o9[V!=cU#kPfQ!Q![9[!c!g9[!g!h!=u!h!}9[#R#S9[#T#o9[V!=|U#kPfQ!Q![9[!c!h9[!h!i!>`!i!}9[#R#S9[#T#o9[V!>gU#kPfQ!Q![9[!c!k9[!k!l!>y!l!}9[#R#S9[#T#o9[V!?QU#kPfQ!Q![9[!c!p9[!p!q!?d!q!}9[#R#S9[#T#o9[V!?kU#kPfQ!Q![9[!c!k9[!k!l!?}!l!}9[#R#S9[#T#o9[V!@UU#kPfQ!Q![9[!c!v9[!v!w!@h!w!}9[#R#S9[#T#o9[V!@oU#kPfQ!Q![9[!c!k9[!k!l!AR!l!}9[#R#S9[#T#o9[V!AYU#kPfQ!Q![9[!c!q9[!q!r!Al!r!}9[#R#S9[#T#o9[V!AsU#kPfQ!Q![9[!c!p9[!p!q!BV!q!}9[#R#S9[#T#o9[V!B`S$bS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V!BsU#kPfQ!Q![9[!c!d9[!d!e!CV!e!}9[#R#S9[#T#o9[V!C^U#kPfQ!Q![9[!c!l9[!l!m!Cp!m!}9[#R#S9[#T#o9[V!CwU#kPfQ!Q![9[!c!g9[!g!h!DZ!h!}9[#R#S9[#T#o9[V!DbU#kPfQ!Q![9[!c!e9[!e!f!Dt!f!}9[#R#S9[#T#o9[V!D{U#kPfQ!Q![9[!c!v9[!v!w!E_!w!}9[#R#S9[#T#o9[V!EhS$aS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V!E{U#kPfQ!Q![9[!c!g9[!g!h!F_!h!}9[#R#S9[#T#o9[V!FfU#kPfQ!Q![9[!c!t9[!t!u!Fx!u!}9[#R#S9[#T#o9[V!GPU#kPfQ!Q![9[!c!h9[!h!i!Gc!i!}9[#R#S9[#T#o9[V!GjT#kPfQ!Q![9[!c!d!Gy!d!}9[#R#S9[#T#o9[V!HQU#kPfQ!Q![9[!c!e9[!e!f!Hd!f!}9[#R#S9[#T#o9[V!HkU#kPfQ!Q![9[!c!g9[!g!h!H}!h!}9[#R#S9[#T#o9[V!IWS$]S#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V!IkU#kPfQ!Q![9[!c!w9[!w!x!I}!x!}9[#R#S9[#T#o9[V!JUU#kPfQ!Q![9[!c!v9[!v!w!Jh!w!}9[#R#S9[#T#o9[V!JoT#kPfQ!Q![9[!c!d!KO!d!}9[#R#S9[#T#o9[V!KVU#kPfQ!Q![9[!c!v9[!v!w!Ki!w!}9[#R#S9[#T#o9[V!KpU#kPfQ!Q![9[!c!k9[!k!l!LS!l!}9[#R#S9[#T#o9[V!LZU#kPfQ!Q![9[!c!q9[!q!r!Lm!r!}9[#R#S9[#T#o9[V!LtU#kPfQ!Q![9[!c!p9[!p!q!MW!q!}9[#R#S9[#T#o9[V!MaS$PS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V!MtU#kPfQ!Q![9[!c!d9[!d!e!NW!e!}9[#R#S9[#T#o9[V!N_U#kPfQ!Q![9[!c!l9[!l!m!Nq!m!}9[#R#S9[#T#o9[V!NxU#kPfQ!Q![9[!c!g9[!g!h# [!h!}9[#R#S9[#T#o9[V# cU#kPfQ!Q![9[!c!e9[!e!f# u!f!}9[#R#S9[#T#o9[V# |U#kPfQ!Q![9[!c!v9[!v!w#!`!w!}9[#R#S9[#T#o9[V#!iS$YS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V#!|U#kPfQ!Q![9[!c!w9[!w!x##`!x!}9[#R#S9[#T#o9[V##gU#kPfQ!Q![9[!c!g9[!g!h##y!h!}9[#R#S9[#T#o9[V#$QU#kPfQ!Q![9[!c!t9[!t!u#$d!u!}9[#R#S9[#T#o9[V#$kU#kPfQ!Q![9[!c!{9[!{!|#$}!|!}9[#R#S9[#T#o9[V#%WS$OS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V#%kW#kPfQ!Q![9[!c!e9[!e!f#&T!f!w9[!w!x#*s!x!}9[#R#S9[#T#o9[V#&[V#kPfQ!Q![9[!c!d#&q!d!j9[!j!k#(r!k!}9[#R#S9[#T#o9[V#&xU#kPfQ!Q![9[!c!n9[!n!o#'[!o!}9[#R#S9[#T#o9[V#'cT#kPfQ!Q![9[!c!d#'r!d!}9[#R#S9[#T#o9[V#'yU#kPfQ!Q![9[!c!t9[!t!u#(]!u!}9[#R#S9[#T#o9[V#(fS$XS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V#(yU#kPfQ!Q![9[!c!g9[!g!h#)]!h!}9[#R#S9[#T#o9[V#)dU#kPfQ!Q![9[!c!o9[!o!p#)v!p!}9[#R#S9[#T#o9[V#)}T#kPfQ!Q![9[!c!d#*^!d!}9[#R#S9[#T#o9[V#*gS$WS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V#*zU#kPfQ!Q![9[!c!d9[!d!e#+^!e!}9[#R#S9[#T#o9[V#+eU#kPfQ!Q![9[!c!u9[!u!v#+w!v!}9[#R#S9[#T#o9[V#,OU#kPfQ!Q![9[!c!e9[!e!f#,b!f!}9[#R#S9[#T#o9[V#,iU#kPfQ!Q![9[!c!t9[!t!u#,{!u!}9[#R#S9[#T#o9[V#-SU#kPfQ!Q![9[!c!k9[!k!l#-f!l!}9[#R#S9[#T#o9[V#-mU#kPfQ!Q![9[!c!r9[!r!s#.P!s!}9[#R#S9[#T#o9[V#.WU#kPfQ!Q![9[!c!v9[!v!w#.j!w!}9[#R#S9[#T#o9[V#.qU#kPfQ!Q![9[!c!k9[!k!l#/T!l!}9[#R#S9[#T#o9[V#/[U#kPfQ!Q![9[!c!q9[!q!r#/n!r!}9[#R#S9[#T#o9[V#/uU#kPfQ!Q![9[!c!p9[!p!q#0X!q!}9[#R#S9[#T#o9[V#0bS$QS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V#0uU#kPfQ!Q![9[!c!p9[!p!q#1X!q!}9[#R#S9[#T#o9[V#1`U#kPfQ!Q![9[!c!k9[!k!l#1r!l!}9[#R#S9[#T#o9[V#1yU#kPfQ!Q![9[!c!q9[!q!r#2]!r!}9[#R#S9[#T#o9[V#2dU#kPfQ!Q![9[!c!p9[!p!q#2v!q!}9[#R#S9[#T#o9[V#3PS$^S#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V#3dT#kPfQ!Q![9[!c!d#3s!d!}9[#R#S9[#T#o9[V#3zU#kPfQ!Q![9[!c!t9[!t!u#4^!u!}9[#R#S9[#T#o9[V#4eU#kPfQ!Q![9[!c!k9[!k!l#4w!l!}9[#R#S9[#T#o9[V#5OT#kPfQ!Q![9[!c!d#5_!d!}9[#R#S9[#T#o9[V#5fU#kPfQ!Q![9[!c!d9[!d!e#5x!e!}9[#R#S9[#T#o9[V#6PU#kPfQ!Q![9[!c!n9[!n!o#6c!o!}9[#R#S9[#T#o9[V#6jU#kPfQ!Q![9[!c!g9[!g!h#6|!h!}9[#R#S9[#T#o9[V#7TS#kPfQ!Q![9[!c!}9[#R#S#7a#T#o9[V#7hU#kPfQ!Q![9[!c!f9[!f!g#7z!g!}9[#R#S9[#T#o9[V#8RU#kPfQ!Q![9[!c!g9[!g!h#8e!h!}9[#R#S9[#T#o9[V#8lU#kPfQ!Q![9[!c!h9[!h!i#9O!i!}9[#R#S9[#T#o9[V#9VU#kPfQ!Q![9[!c!k9[!k!l#9i!l!}9[#R#S9[#T#o9[V#9pU#kPfQ!Q![9[!c!p9[!p!q#:S!q!}9[#R#S9[#T#o9[V#:ZU#kPfQ!Q![9[!c!k9[!k!l#:m!l!}9[#R#S9[#T#o9[V#:tU#kPfQ!Q![9[!c!v9[!v!w#;W!w!}9[#R#S9[#T#o9[V#;_U#kPfQ!Q![9[!c!k9[!k!l#;q!l!}9[#R#S9[#T#o9[V#;xU#kPfQ!Q![9[!c!q9[!q!r#<[!r!}9[#R#S9[#T#o9[V#<cU#kPfQ!Q![9[!c!p9[!p!q#<u!q!}9[#R#S9[#T#o9[V#=OS$VS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[~#=aO]~~#=fO[~R#=mT#kPfQ!Q![9[!c!}9[#R#S9[#T#U#=|#U#o9[R#>TU#kPfQ!Q![9[!c!}9[#R#S9[#T#`9[#`#a#>g#a#o9[R#>nU#kPfQ!Q![9[!c!}9[#R#S9[#T#g9[#g#h#?Q#h#o9[R#?XU#kPfQ!Q![9[!c!}9[#R#S9[#T#X9[#X#Y#?k#Y#o9[R#?tS#kPdQfQ!Q![9[!c!}9[#R#S9[#T#o9[R#@XU#kPfQ!Q![9[!c!}9[#R#S9[#T#i9[#i#j#@k#j#o9[R#@rU#kPfQ!Q![9[!c!}9[#R#S9[#T#`9[#`#a#AU#a#o9[R#A]U#kPfQ!Q![9[!c!}9[#R#S9[#T#`9[#`#a#Ao#a#o9[R#AxS#kPeQfQ!Q![9[!c!}9[#R#S9[#T#o9[R#B]U#kPfQ!Q![9[!c!}9[#R#S9[#T#f9[#f#g#Bo#g#o9[R#BvU#kPfQ!Q![9[!c!}9[#R#S9[#T#i9[#i#j#?Q#j#o9[~#C_Oi~~#CdO#{~~#CiOh~\",\n tokenizers: [0, 1, 2],\n topRules: {\"Document\":[0,2]},\n specialized: [{term: 119, get: value => spec_name[value] || -1}],\n tokenPrec: 2989\n});\n\nconst nodesWithBraces = 'RootTypeDefinition InputFieldsDefinition EnumValuesDefinition FieldsDefinition SelectionSet { }';\nconst keywords = 'scalar type interface union enum input implements fragment extend schema directive on repeatable';\nconst punctuations = '( ) { } : [ ]';\nconst graphqlLanguage = /*@__PURE__*/LRLanguage.define({\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/styleTags({\n Variable: tags.variableName,\n BooleanValue: tags.bool,\n Description: tags.string,\n StringValue: tags.string,\n Comment: tags.lineComment,\n IntValue: tags.integer,\n FloatValue: tags.float,\n EnumValue: /*@__PURE__*/tags.special(tags.name),\n NullValue: tags.null,\n DirectiveName: tags.modifier,\n [keywords]: tags.keyword,\n OperationType: tags.definitionKeyword,\n FieldName: tags.propertyName,\n Field: tags.propertyName,\n ArgumentAttributeName: tags.attributeName,\n Name: tags.atom,\n '( )': tags.paren,\n '{ }': tags.brace,\n ',': tags.separator,\n [punctuations]: tags.punctuation,\n }),\n // https://codemirror.net/docs/ref/#language.indentNodeProp\n /*@__PURE__*/indentNodeProp.add({\n [nodesWithBraces]: /*@__PURE__*/delimitedIndent({ closing: '}', align: true }),\n }),\n /*@__PURE__*/foldNodeProp.add({\n [nodesWithBraces]: foldInside,\n }),\n ],\n }),\n languageData: {\n commentTokens: { line: '#' },\n indentOnInput: /^\\s*(\\{|\\})$/,\n },\n});\nfunction graphqlLanguageSupport() {\n return new LanguageSupport(graphqlLanguage);\n}\n\nconst AUTOCOMPLETE_CHARS = /^[a-zA-Z0-9_@(]$/;\nconst completion = /*@__PURE__*/graphqlLanguage.data.of({\n autocomplete(ctx) {\n const schema = getSchema(ctx.state);\n const opts = getOpts(ctx.state);\n if (!schema) {\n return null;\n }\n const word = ctx.matchBefore(/\\w*/);\n if (!word) {\n return null;\n }\n const lastWordChar = word.text.split('').pop();\n if (!AUTOCOMPLETE_CHARS.test(lastWordChar) && !ctx.explicit) {\n return null;\n }\n const val = ctx.state.doc.toString();\n const pos = offsetToPos(ctx.state.doc, ctx.pos);\n const results = getAutocompleteSuggestions(schema, val, pos, undefined, undefined, opts === null || opts === void 0 ? void 0 : opts.autocompleteOptions);\n if (results.length === 0) {\n return null;\n }\n return {\n from: word.from,\n options: results.map(item => {\n return {\n label: item.label,\n detail: item.detail || '',\n info(completionData) {\n if (opts === null || opts === void 0 ? void 0 : opts.onCompletionInfoRender) {\n return opts.onCompletionInfoRender(item, ctx, completionData);\n }\n if (item.documentation ||\n (item.isDeprecated && item.deprecationReason)) {\n const el = document.createElement('div');\n el.textContent =\n item.documentation || item.deprecationReason || '';\n return el;\n }\n },\n };\n }),\n };\n },\n});\n\nconst jump = /*@__PURE__*/EditorView.domEventHandlers({\n click(evt, view) {\n var _a, _b, _c;\n const schema = getSchema(view.state);\n if (!schema) {\n return;\n }\n // TODO: Set class on cm-editor when mod key is pressed, to style cursor and tokens\n const currentPosition = view.state.selection.main.head;\n const pos = offsetToPos(view.state.doc, currentPosition);\n const token = getTokenAtPosition(view.state.doc.toString(), pos);\n const tInfo = getTypeInfo(schema, token.state);\n const opts = getOpts(view.state);\n if ((opts === null || opts === void 0 ? void 0 : opts.onShowInDocs) && isMetaKeyPressed(evt)) {\n opts.onShowInDocs((_a = tInfo.fieldDef) === null || _a === void 0 ? void 0 : _a.name, (_b = tInfo.type) === null || _b === void 0 ? void 0 : _b.toString(), (_c = tInfo.parentType) === null || _c === void 0 ? void 0 : _c.toString());\n }\n },\n});\n\nconst SEVERITY = ['error', 'warning', 'info'];\nconst lint = /*@__PURE__*/linter(view => {\n const schema = getSchema(view.state);\n const options = getOpts(view.state);\n if (!schema) {\n return [];\n }\n const validationErrors = validateSchema(schema);\n if (validationErrors.length) {\n if (!(options === null || options === void 0 ? void 0 : options.showErrorOnInvalidSchema)) {\n return [];\n }\n const combinedError = validationErrors.map(error => {\n return error.message;\n });\n return [\n {\n from: 0,\n to: view.state.doc.length,\n severity: 'error',\n message: combinedError.join('\\n'),\n actions: [], // TODO:\n },\n ];\n }\n const results = getDiagnostics(view.state.doc.toString(), schema);\n return results\n .map((item) => {\n if (!item.severity || !item.source) {\n return null;\n }\n const calculatedFrom = posToOffset(view.state.doc, new Position(item.range.start.line, item.range.start.character));\n const from = Math.max(0, Math.min(calculatedFrom, view.state.doc.length));\n const calculatedRo = posToOffset(view.state.doc, new Position(item.range.end.line, item.range.end.character - 1));\n const to = Math.min(Math.max(from + 1, calculatedRo), view.state.doc.length);\n return {\n from,\n to: from === to ? to + 1 : to,\n severity: SEVERITY[item.severity - 1],\n // source: item.source, // TODO:\n message: item.message,\n actions: [], // TODO:\n };\n })\n .filter((_) => Boolean(_));\n}, {\n needsRefresh(vu) {\n return (vu.startState.field(schemaStateField) !==\n vu.state.field(schemaStateField) ||\n vu.startState.field(optionsStateField) !==\n vu.state.field(optionsStateField));\n },\n});\n\nfunction graphql(schema, opts) {\n return [\n graphqlLanguageSupport(),\n completion,\n lint,\n jump,\n stateExtensions(schema, opts),\n ];\n}\n\nexport { Position, completion, fillAllFieldsCommands, getOpts, getSchema, graphql, graphqlLanguage, graphqlLanguageSupport, isMetaKeyPressed, jump, lint, offsetToPos, optionsStateField, posToOffset, schemaStateField, showInDocsCommand, stateExtensions, updateOpts, updateSchema };\n","import { parse } from 'graphql';\nconst URL_REGEXP = /^(https?|wss?|file):\\/\\//;\n/**\n * Checks if the given string is a valid URL.\n *\n * @param str - The string to validate as a URL\n * @returns A boolean indicating whether the string is a valid URL\n *\n * @remarks\n * This function first attempts to use the `URL.canParse` method if available.\n * If not, it falls back to creating a new `URL` object to validate the string.\n */\nexport function isUrl(str) {\n if (typeof str !== 'string') {\n return false;\n }\n if (!URL_REGEXP.test(str)) {\n return false;\n }\n if (URL.canParse) {\n return URL.canParse(str);\n }\n try {\n const url = new URL(str);\n return !!url;\n }\n catch (e) {\n return false;\n }\n}\nexport const asArray = (fns) => (Array.isArray(fns) ? fns : fns ? [fns] : []);\nconst invalidDocRegex = /\\.[a-z0-9]+$/i;\n/**\n * Determines if a given input is a valid GraphQL document string.\n *\n * @param str - The input to validate as a GraphQL document\n * @returns A boolean indicating whether the input is a valid GraphQL document string\n *\n * @remarks\n * This function performs several validation checks:\n * - Ensures the input is a string\n * - Filters out strings with invalid document extensions\n * - Excludes URLs\n * - Attempts to parse the string as a GraphQL document\n *\n * @throws {Error} If the document fails to parse and is empty except GraphQL comments\n */\nexport function isDocumentString(str) {\n if (typeof str !== 'string') {\n return false;\n }\n // XXX: is-valid-path or is-glob treat SDL as a valid path\n // (`scalar Date` for example)\n // this why checking the extension is fast enough\n // and prevent from parsing the string in order to find out\n // if the string is a SDL\n if (invalidDocRegex.test(str) || isUrl(str)) {\n return false;\n }\n try {\n parse(str);\n return true;\n }\n catch (e) {\n if (!e.message.includes('EOF') &&\n str.replace(/(\\#[^*]*)/g, '').trim() !== '' &&\n str.includes(' ')) {\n throw new Error(`Failed to parse the GraphQL document. ${e.message}\\n${str}`);\n }\n }\n return false;\n}\nconst invalidPathRegex = /[‘“!%^<>`\\n]/;\n/**\n * Checkes whether the `str` contains any path illegal characters.\n *\n * A string may sometimes look like a path but is not (like an SDL of a simple\n * GraphQL schema). To make sure we don't yield false-positives in such cases,\n * we disallow new lines in paths (even though most Unix systems support new\n * lines in file names).\n */\nexport function isValidPath(str) {\n return typeof str === 'string' && !invalidPathRegex.test(str);\n}\nexport function compareStrings(a, b) {\n if (String(a) < String(b)) {\n return -1;\n }\n if (String(a) > String(b)) {\n return 1;\n }\n return 0;\n}\nexport function nodeToString(a) {\n let name;\n if ('alias' in a) {\n name = a.alias?.value;\n }\n if (name == null && 'name' in a) {\n name = a.name?.value;\n }\n if (name == null) {\n name = a.kind;\n }\n return name;\n}\nexport function compareNodes(a, b, customFn) {\n const aStr = nodeToString(a);\n const bStr = nodeToString(b);\n if (typeof customFn === 'function') {\n return customFn(aStr, bStr);\n }\n return compareStrings(aStr, bStr);\n}\nexport function isSome(input) {\n return input != null;\n}\nexport function assertSome(input, message = 'Value should be something') {\n if (input == null) {\n throw new Error(message);\n }\n}\n","export var MapperKind;\n(function (MapperKind) {\n MapperKind[\"TYPE\"] = \"MapperKind.TYPE\";\n MapperKind[\"SCALAR_TYPE\"] = \"MapperKind.SCALAR_TYPE\";\n MapperKind[\"ENUM_TYPE\"] = \"MapperKind.ENUM_TYPE\";\n MapperKind[\"COMPOSITE_TYPE\"] = \"MapperKind.COMPOSITE_TYPE\";\n MapperKind[\"OBJECT_TYPE\"] = \"MapperKind.OBJECT_TYPE\";\n MapperKind[\"INPUT_OBJECT_TYPE\"] = \"MapperKind.INPUT_OBJECT_TYPE\";\n MapperKind[\"ABSTRACT_TYPE\"] = \"MapperKind.ABSTRACT_TYPE\";\n MapperKind[\"UNION_TYPE\"] = \"MapperKind.UNION_TYPE\";\n MapperKind[\"INTERFACE_TYPE\"] = \"MapperKind.INTERFACE_TYPE\";\n MapperKind[\"ROOT_OBJECT\"] = \"MapperKind.ROOT_OBJECT\";\n MapperKind[\"QUERY\"] = \"MapperKind.QUERY\";\n MapperKind[\"MUTATION\"] = \"MapperKind.MUTATION\";\n MapperKind[\"SUBSCRIPTION\"] = \"MapperKind.SUBSCRIPTION\";\n MapperKind[\"DIRECTIVE\"] = \"MapperKind.DIRECTIVE\";\n MapperKind[\"FIELD\"] = \"MapperKind.FIELD\";\n MapperKind[\"COMPOSITE_FIELD\"] = \"MapperKind.COMPOSITE_FIELD\";\n MapperKind[\"OBJECT_FIELD\"] = \"MapperKind.OBJECT_FIELD\";\n MapperKind[\"ROOT_FIELD\"] = \"MapperKind.ROOT_FIELD\";\n MapperKind[\"QUERY_ROOT_FIELD\"] = \"MapperKind.QUERY_ROOT_FIELD\";\n MapperKind[\"MUTATION_ROOT_FIELD\"] = \"MapperKind.MUTATION_ROOT_FIELD\";\n MapperKind[\"SUBSCRIPTION_ROOT_FIELD\"] = \"MapperKind.SUBSCRIPTION_ROOT_FIELD\";\n MapperKind[\"INTERFACE_FIELD\"] = \"MapperKind.INTERFACE_FIELD\";\n MapperKind[\"INPUT_OBJECT_FIELD\"] = \"MapperKind.INPUT_OBJECT_FIELD\";\n MapperKind[\"ARGUMENT\"] = \"MapperKind.ARGUMENT\";\n MapperKind[\"ENUM_VALUE\"] = \"MapperKind.ENUM_VALUE\";\n})(MapperKind || (MapperKind = {}));\n","import { isObjectType } from 'graphql';\nexport function getObjectTypeFromTypeMap(typeMap, type) {\n if (type) {\n const maybeObjectType = typeMap[type.name];\n if (isObjectType(maybeObjectType)) {\n return maybeObjectType;\n }\n }\n}\n","import { GraphQLBoolean, GraphQLFloat, GraphQLID, GraphQLInputObjectType, GraphQLInt, GraphQLInterfaceType, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLString, Kind, } from 'graphql';\nexport function createNamedStub(name, type) {\n let constructor;\n if (type === 'object') {\n constructor = GraphQLObjectType;\n }\n else if (type === 'interface') {\n constructor = GraphQLInterfaceType;\n }\n else {\n constructor = GraphQLInputObjectType;\n }\n return new constructor({\n name,\n fields: {\n _fake: {\n type: GraphQLString,\n },\n },\n });\n}\nexport function createStub(node, type) {\n switch (node.kind) {\n case Kind.LIST_TYPE:\n return new GraphQLList(createStub(node.type, type));\n case Kind.NON_NULL_TYPE:\n return new GraphQLNonNull(createStub(node.type, type));\n default:\n if (type === 'output') {\n return createNamedStub(node.name.value, 'object');\n }\n return createNamedStub(node.name.value, 'input');\n }\n}\nexport function isNamedStub(type) {\n if ('getFields' in type) {\n const fields = type.getFields();\n // eslint-disable-next-line no-unreachable-loop\n for (const fieldName in fields) {\n const field = fields[fieldName];\n return field.name === '_fake';\n }\n }\n return false;\n}\nexport function getBuiltInForStub(type) {\n switch (type.name) {\n case GraphQLInt.name:\n return GraphQLInt;\n case GraphQLFloat.name:\n return GraphQLFloat;\n case GraphQLString.name:\n return GraphQLString;\n case GraphQLBoolean.name:\n return GraphQLBoolean;\n case GraphQLID.name:\n return GraphQLID;\n default:\n return type;\n }\n}\n","import { GraphQLDirective, GraphQLEnumType, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLScalarType, GraphQLUnionType, isEnumType, isInputObjectType, isInterfaceType, isListType, isNamedType, isNonNullType, isObjectType, isScalarType, isSpecifiedDirective, isSpecifiedScalarType, isUnionType, } from 'graphql';\nimport { getBuiltInForStub, isNamedStub } from './stub.js';\nexport function rewireTypes(originalTypeMap, directives) {\n const referenceTypeMap = Object.create(null);\n for (const typeName in originalTypeMap) {\n referenceTypeMap[typeName] = originalTypeMap[typeName];\n }\n const newTypeMap = Object.create(null);\n for (const typeName in referenceTypeMap) {\n const namedType = referenceTypeMap[typeName];\n if (namedType == null || typeName.startsWith('__')) {\n continue;\n }\n const newName = namedType.name;\n if (newName.startsWith('__')) {\n continue;\n }\n if (newTypeMap[newName] != null) {\n console.warn(`Duplicate schema type name ${newName} found; keeping the existing one found in the schema`);\n continue;\n }\n newTypeMap[newName] = namedType;\n }\n for (const typeName in newTypeMap) {\n newTypeMap[typeName] = rewireNamedType(newTypeMap[typeName]);\n }\n const newDirectives = directives.map(directive => rewireDirective(directive));\n return {\n typeMap: newTypeMap,\n directives: newDirectives,\n };\n function rewireDirective(directive) {\n if (isSpecifiedDirective(directive)) {\n return directive;\n }\n const directiveConfig = directive.toConfig();\n directiveConfig.args = rewireArgs(directiveConfig.args);\n return new GraphQLDirective(directiveConfig);\n }\n function rewireArgs(args) {\n const rewiredArgs = {};\n for (const argName in args) {\n const arg = args[argName];\n const rewiredArgType = rewireType(arg.type);\n if (rewiredArgType != null) {\n arg.type = rewiredArgType;\n rewiredArgs[argName] = arg;\n }\n }\n return rewiredArgs;\n }\n function rewireNamedType(type) {\n if (isObjectType(type)) {\n const config = type.toConfig();\n const newConfig = {\n ...config,\n fields: () => rewireFields(config.fields),\n interfaces: () => rewireNamedTypes(config.interfaces),\n };\n return new GraphQLObjectType(newConfig);\n }\n else if (isInterfaceType(type)) {\n const config = type.toConfig();\n const newConfig = {\n ...config,\n fields: () => rewireFields(config.fields),\n };\n if ('interfaces' in newConfig) {\n newConfig.interfaces = () => rewireNamedTypes(config.interfaces);\n }\n return new GraphQLInterfaceType(newConfig);\n }\n else if (isUnionType(type)) {\n const config = type.toConfig();\n const newConfig = {\n ...config,\n types: () => rewireNamedTypes(config.types),\n };\n return new GraphQLUnionType(newConfig);\n }\n else if (isInputObjectType(type)) {\n const config = type.toConfig();\n const newConfig = {\n ...config,\n fields: () => rewireInputFields(config.fields),\n };\n return new GraphQLInputObjectType(newConfig);\n }\n else if (isEnumType(type)) {\n const enumConfig = type.toConfig();\n return new GraphQLEnumType(enumConfig);\n }\n else if (isScalarType(type)) {\n if (isSpecifiedScalarType(type)) {\n return type;\n }\n const scalarConfig = type.toConfig();\n return new GraphQLScalarType(scalarConfig);\n }\n throw new Error(`Unexpected schema type: ${type}`);\n }\n function rewireFields(fields) {\n const rewiredFields = {};\n for (const fieldName in fields) {\n const field = fields[fieldName];\n const rewiredFieldType = rewireType(field.type);\n if (rewiredFieldType != null && field.args) {\n field.type = rewiredFieldType;\n field.args = rewireArgs(field.args);\n rewiredFields[fieldName] = field;\n }\n }\n return rewiredFields;\n }\n function rewireInputFields(fields) {\n const rewiredFields = {};\n for (const fieldName in fields) {\n const field = fields[fieldName];\n const rewiredFieldType = rewireType(field.type);\n if (rewiredFieldType != null) {\n field.type = rewiredFieldType;\n rewiredFields[fieldName] = field;\n }\n }\n return rewiredFields;\n }\n function rewireNamedTypes(namedTypes) {\n const rewiredTypes = [];\n for (const namedType of namedTypes) {\n const rewiredType = rewireType(namedType);\n if (rewiredType != null) {\n rewiredTypes.push(rewiredType);\n }\n }\n return rewiredTypes;\n }\n function rewireType(type) {\n if (isListType(type)) {\n const rewiredType = rewireType(type.ofType);\n return rewiredType != null ? new GraphQLList(rewiredType) : null;\n }\n else if (isNonNullType(type)) {\n const rewiredType = rewireType(type.ofType);\n return rewiredType != null ? new GraphQLNonNull(rewiredType) : null;\n }\n else if (isNamedType(type)) {\n let rewiredType = referenceTypeMap[type.name];\n if (rewiredType === undefined) {\n rewiredType = isNamedStub(type) ? getBuiltInForStub(type) : rewireNamedType(type);\n newTypeMap[rewiredType.name] = referenceTypeMap[type.name] = rewiredType;\n }\n return rewiredType != null ? newTypeMap[rewiredType.name] : null;\n }\n return null;\n }\n}\n","import { getNullableType, isInputObjectType, isLeafType, isListType, } from 'graphql';\nimport { asArray } from './helpers.js';\nexport function transformInputValue(type, value, inputLeafValueTransformer = null, inputObjectValueTransformer = null) {\n if (value == null) {\n return value;\n }\n const nullableType = getNullableType(type);\n if (isLeafType(nullableType)) {\n return inputLeafValueTransformer != null\n ? inputLeafValueTransformer(nullableType, value)\n : value;\n }\n else if (isListType(nullableType)) {\n return asArray(value).map((listMember) => transformInputValue(nullableType.ofType, listMember, inputLeafValueTransformer, inputObjectValueTransformer));\n }\n else if (isInputObjectType(nullableType)) {\n const fields = nullableType.getFields();\n const newValue = {};\n for (const key in value) {\n const field = fields[key];\n if (field != null) {\n newValue[key] = transformInputValue(field.type, value[key], inputLeafValueTransformer, inputObjectValueTransformer);\n }\n }\n return inputObjectValueTransformer != null\n ? inputObjectValueTransformer(nullableType, newValue)\n : newValue;\n }\n // unreachable, no other possible return value\n}\nexport function serializeInputValue(type, value) {\n return transformInputValue(type, value, (t, v) => {\n try {\n return t.serialize(v);\n }\n catch {\n return v;\n }\n });\n}\nexport function parseInputValue(type, value) {\n return transformInputValue(type, value, (t, v) => {\n try {\n return t.parseValue(v);\n }\n catch {\n return v;\n }\n });\n}\nexport function parseInputValueLiteral(type, value) {\n return transformInputValue(type, value, (t, v) => t.parseLiteral(v, {}));\n}\n","import { GraphQLEnumType, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLSchema, isEnumType, isInputObjectType, isInterfaceType, isLeafType, isListType, isNamedType, isNonNullType, isObjectType, isScalarType, isUnionType, Kind, } from 'graphql';\nimport { getObjectTypeFromTypeMap } from './getObjectTypeFromTypeMap.js';\nimport { MapperKind, } from './Interfaces.js';\nimport { rewireTypes } from './rewire.js';\nimport { parseInputValue, serializeInputValue } from './transformInputValue.js';\nexport function mapSchema(schema, schemaMapper = {}) {\n const newTypeMap = mapArguments(mapFields(mapTypes(mapDefaultValues(mapEnumValues(mapTypes(mapDefaultValues(schema.getTypeMap(), schema, serializeInputValue), schema, schemaMapper, type => isLeafType(type)), schema, schemaMapper), schema, parseInputValue), schema, schemaMapper, type => !isLeafType(type)), schema, schemaMapper), schema, schemaMapper);\n const originalDirectives = schema.getDirectives();\n const newDirectives = mapDirectives(originalDirectives, schema, schemaMapper);\n const { typeMap, directives } = rewireTypes(newTypeMap, newDirectives);\n return new GraphQLSchema({\n ...schema.toConfig(),\n query: getObjectTypeFromTypeMap(typeMap, getObjectTypeFromTypeMap(newTypeMap, schema.getQueryType())),\n mutation: getObjectTypeFromTypeMap(typeMap, getObjectTypeFromTypeMap(newTypeMap, schema.getMutationType())),\n subscription: getObjectTypeFromTypeMap(typeMap, getObjectTypeFromTypeMap(newTypeMap, schema.getSubscriptionType())),\n types: Object.values(typeMap),\n directives,\n });\n}\nconst builtinTypes = ['String', 'ID', 'Int', 'Float', 'Boolean'];\nfunction mapTypes(originalTypeMap, schema, schemaMapper, testFn = () => true) {\n const newTypeMap = {};\n for (const typeName in originalTypeMap) {\n if (!typeName.startsWith('__') && !builtinTypes.includes(typeName)) {\n const originalType = originalTypeMap[typeName];\n if (originalType == null || !testFn(originalType)) {\n newTypeMap[typeName] = originalType;\n continue;\n }\n const typeMapper = getTypeMapper(schema, schemaMapper, typeName);\n if (typeMapper == null) {\n newTypeMap[typeName] = originalType;\n continue;\n }\n const maybeNewType = typeMapper(originalType, schema);\n if (maybeNewType === undefined) {\n newTypeMap[typeName] = originalType;\n continue;\n }\n newTypeMap[typeName] = maybeNewType;\n }\n }\n return newTypeMap;\n}\nfunction mapEnumValues(originalTypeMap, schema, schemaMapper) {\n const enumValueMapper = getEnumValueMapper(schemaMapper);\n if (!enumValueMapper) {\n return originalTypeMap;\n }\n return mapTypes(originalTypeMap, schema, {\n [MapperKind.ENUM_TYPE]: type => {\n const config = type.toConfig();\n const originalEnumValueConfigMap = config.values;\n const newEnumValueConfigMap = {};\n for (const externalValue in originalEnumValueConfigMap) {\n const originalEnumValueConfig = originalEnumValueConfigMap[externalValue];\n const mappedEnumValue = enumValueMapper(originalEnumValueConfig, type.name, schema, externalValue);\n if (mappedEnumValue === undefined) {\n newEnumValueConfigMap[externalValue] = originalEnumValueConfig;\n }\n else if (Array.isArray(mappedEnumValue)) {\n const [newExternalValue, newEnumValueConfig] = mappedEnumValue;\n newEnumValueConfigMap[newExternalValue] =\n newEnumValueConfig === undefined ? originalEnumValueConfig : newEnumValueConfig;\n }\n else if (mappedEnumValue !== null) {\n newEnumValueConfigMap[externalValue] = mappedEnumValue;\n }\n }\n return correctASTNodes(new GraphQLEnumType({\n ...config,\n values: newEnumValueConfigMap,\n }));\n },\n }, type => isEnumType(type));\n}\nfunction mapDefaultValues(originalTypeMap, schema, fn) {\n const newTypeMap = mapArguments(originalTypeMap, schema, {\n [MapperKind.ARGUMENT]: argumentConfig => {\n if (argumentConfig.defaultValue === undefined) {\n return argumentConfig;\n }\n const maybeNewType = getNewType(originalTypeMap, argumentConfig.type);\n if (maybeNewType != null) {\n return {\n ...argumentConfig,\n defaultValue: fn(maybeNewType, argumentConfig.defaultValue),\n };\n }\n },\n });\n return mapFields(newTypeMap, schema, {\n [MapperKind.INPUT_OBJECT_FIELD]: inputFieldConfig => {\n if (inputFieldConfig.defaultValue === undefined) {\n return inputFieldConfig;\n }\n const maybeNewType = getNewType(newTypeMap, inputFieldConfig.type);\n if (maybeNewType != null) {\n return {\n ...inputFieldConfig,\n defaultValue: fn(maybeNewType, inputFieldConfig.defaultValue),\n };\n }\n },\n });\n}\nfunction getNewType(newTypeMap, type) {\n if (isListType(type)) {\n const newType = getNewType(newTypeMap, type.ofType);\n return newType != null ? new GraphQLList(newType) : null;\n }\n else if (isNonNullType(type)) {\n const newType = getNewType(newTypeMap, type.ofType);\n return newType != null ? new GraphQLNonNull(newType) : null;\n }\n else if (isNamedType(type)) {\n const newType = newTypeMap[type.name];\n return newType != null ? newType : null;\n }\n return null;\n}\nfunction mapFields(originalTypeMap, schema, schemaMapper) {\n const newTypeMap = {};\n for (const typeName in originalTypeMap) {\n if (!typeName.startsWith('__')) {\n const originalType = originalTypeMap[typeName];\n if (!isObjectType(originalType) &&\n !isInterfaceType(originalType) &&\n !isInputObjectType(originalType)) {\n newTypeMap[typeName] = originalType;\n continue;\n }\n const fieldMapper = getFieldMapper(schema, schemaMapper, typeName);\n if (fieldMapper == null) {\n newTypeMap[typeName] = originalType;\n continue;\n }\n const config = originalType.toConfig();\n const originalFieldConfigMap = config.fields;\n const newFieldConfigMap = {};\n for (const fieldName in originalFieldConfigMap) {\n const originalFieldConfig = originalFieldConfigMap[fieldName];\n const mappedField = fieldMapper(originalFieldConfig, fieldName, typeName, schema);\n if (mappedField === undefined) {\n newFieldConfigMap[fieldName] = originalFieldConfig;\n }\n else if (Array.isArray(mappedField)) {\n const [newFieldName, newFieldConfig] = mappedField;\n if (newFieldConfig.astNode != null) {\n newFieldConfig.astNode = {\n ...newFieldConfig.astNode,\n name: {\n ...newFieldConfig.astNode.name,\n value: newFieldName,\n },\n };\n }\n newFieldConfigMap[newFieldName] =\n newFieldConfig === undefined ? originalFieldConfig : newFieldConfig;\n }\n else if (mappedField !== null) {\n newFieldConfigMap[fieldName] = mappedField;\n }\n }\n if (isObjectType(originalType)) {\n newTypeMap[typeName] = correctASTNodes(new GraphQLObjectType({\n ...config,\n fields: newFieldConfigMap,\n }));\n }\n else if (isInterfaceType(originalType)) {\n newTypeMap[typeName] = correctASTNodes(new GraphQLInterfaceType({\n ...config,\n fields: newFieldConfigMap,\n }));\n }\n else {\n newTypeMap[typeName] = correctASTNodes(new GraphQLInputObjectType({\n ...config,\n fields: newFieldConfigMap,\n }));\n }\n }\n }\n return newTypeMap;\n}\nfunction mapArguments(originalTypeMap, schema, schemaMapper) {\n const newTypeMap = {};\n for (const typeName in originalTypeMap) {\n if (!typeName.startsWith('__')) {\n const originalType = originalTypeMap[typeName];\n if (!isObjectType(originalType) && !isInterfaceType(originalType)) {\n newTypeMap[typeName] = originalType;\n continue;\n }\n const argumentMapper = getArgumentMapper(schemaMapper);\n if (argumentMapper == null) {\n newTypeMap[typeName] = originalType;\n continue;\n }\n const config = originalType.toConfig();\n const originalFieldConfigMap = config.fields;\n const newFieldConfigMap = {};\n for (const fieldName in originalFieldConfigMap) {\n const originalFieldConfig = originalFieldConfigMap[fieldName];\n const originalArgumentConfigMap = originalFieldConfig.args;\n if (originalArgumentConfigMap == null) {\n newFieldConfigMap[fieldName] = originalFieldConfig;\n continue;\n }\n const argumentNames = Object.keys(originalArgumentConfigMap);\n if (!argumentNames.length) {\n newFieldConfigMap[fieldName] = originalFieldConfig;\n continue;\n }\n const newArgumentConfigMap = {};\n for (const argumentName of argumentNames) {\n const originalArgumentConfig = originalArgumentConfigMap[argumentName];\n const mappedArgument = argumentMapper(originalArgumentConfig, fieldName, typeName, schema);\n if (mappedArgument === undefined) {\n newArgumentConfigMap[argumentName] = originalArgumentConfig;\n }\n else if (Array.isArray(mappedArgument)) {\n const [newArgumentName, newArgumentConfig] = mappedArgument;\n newArgumentConfigMap[newArgumentName] = newArgumentConfig;\n }\n else if (mappedArgument !== null) {\n newArgumentConfigMap[argumentName] = mappedArgument;\n }\n }\n newFieldConfigMap[fieldName] = {\n ...originalFieldConfig,\n args: newArgumentConfigMap,\n };\n }\n if (isObjectType(originalType)) {\n newTypeMap[typeName] = new GraphQLObjectType({\n ...config,\n fields: newFieldConfigMap,\n });\n }\n else if (isInterfaceType(originalType)) {\n newTypeMap[typeName] = new GraphQLInterfaceType({\n ...config,\n fields: newFieldConfigMap,\n });\n }\n else {\n newTypeMap[typeName] = new GraphQLInputObjectType({\n ...config,\n fields: newFieldConfigMap,\n });\n }\n }\n }\n return newTypeMap;\n}\nfunction mapDirectives(originalDirectives, schema, schemaMapper) {\n const directiveMapper = getDirectiveMapper(schemaMapper);\n if (directiveMapper == null) {\n return originalDirectives.slice();\n }\n const newDirectives = [];\n for (const directive of originalDirectives) {\n const mappedDirective = directiveMapper(directive, schema);\n if (mappedDirective === undefined) {\n newDirectives.push(directive);\n }\n else if (mappedDirective !== null) {\n newDirectives.push(mappedDirective);\n }\n }\n return newDirectives;\n}\nfunction getTypeSpecifiers(schema, typeName) {\n const type = schema.getType(typeName);\n const specifiers = [MapperKind.TYPE];\n if (isObjectType(type)) {\n specifiers.push(MapperKind.COMPOSITE_TYPE, MapperKind.OBJECT_TYPE);\n if (typeName === schema.getQueryType()?.name) {\n specifiers.push(MapperKind.ROOT_OBJECT, MapperKind.QUERY);\n }\n else if (typeName === schema.getMutationType()?.name) {\n specifiers.push(MapperKind.ROOT_OBJECT, MapperKind.MUTATION);\n }\n else if (typeName === schema.getSubscriptionType()?.name) {\n specifiers.push(MapperKind.ROOT_OBJECT, MapperKind.SUBSCRIPTION);\n }\n }\n else if (isInputObjectType(type)) {\n specifiers.push(MapperKind.INPUT_OBJECT_TYPE);\n }\n else if (isInterfaceType(type)) {\n specifiers.push(MapperKind.COMPOSITE_TYPE, MapperKind.ABSTRACT_TYPE, MapperKind.INTERFACE_TYPE);\n }\n else if (isUnionType(type)) {\n specifiers.push(MapperKind.COMPOSITE_TYPE, MapperKind.ABSTRACT_TYPE, MapperKind.UNION_TYPE);\n }\n else if (isEnumType(type)) {\n specifiers.push(MapperKind.ENUM_TYPE);\n }\n else if (isScalarType(type)) {\n specifiers.push(MapperKind.SCALAR_TYPE);\n }\n return specifiers;\n}\nfunction getTypeMapper(schema, schemaMapper, typeName) {\n const specifiers = getTypeSpecifiers(schema, typeName);\n let typeMapper;\n const stack = [...specifiers];\n while (!typeMapper && stack.length > 0) {\n // It is safe to use the ! operator here as we check the length.\n const next = stack.pop();\n typeMapper = schemaMapper[next];\n }\n return typeMapper != null ? typeMapper : null;\n}\nfunction getFieldSpecifiers(schema, typeName) {\n const type = schema.getType(typeName);\n const specifiers = [MapperKind.FIELD];\n if (isObjectType(type)) {\n specifiers.push(MapperKind.COMPOSITE_FIELD, MapperKind.OBJECT_FIELD);\n if (typeName === schema.getQueryType()?.name) {\n specifiers.push(MapperKind.ROOT_FIELD, MapperKind.QUERY_ROOT_FIELD);\n }\n else if (typeName === schema.getMutationType()?.name) {\n specifiers.push(MapperKind.ROOT_FIELD, MapperKind.MUTATION_ROOT_FIELD);\n }\n else if (typeName === schema.getSubscriptionType()?.name) {\n specifiers.push(MapperKind.ROOT_FIELD, MapperKind.SUBSCRIPTION_ROOT_FIELD);\n }\n }\n else if (isInterfaceType(type)) {\n specifiers.push(MapperKind.COMPOSITE_FIELD, MapperKind.INTERFACE_FIELD);\n }\n else if (isInputObjectType(type)) {\n specifiers.push(MapperKind.INPUT_OBJECT_FIELD);\n }\n return specifiers;\n}\nfunction getFieldMapper(schema, schemaMapper, typeName) {\n const specifiers = getFieldSpecifiers(schema, typeName);\n let fieldMapper;\n const stack = [...specifiers];\n while (!fieldMapper && stack.length > 0) {\n // It is safe to use the ! operator here as we check the length.\n const next = stack.pop();\n // TODO: fix this as unknown cast\n fieldMapper = schemaMapper[next];\n }\n return fieldMapper ?? null;\n}\nfunction getArgumentMapper(schemaMapper) {\n const argumentMapper = schemaMapper[MapperKind.ARGUMENT];\n return argumentMapper != null ? argumentMapper : null;\n}\nfunction getDirectiveMapper(schemaMapper) {\n const directiveMapper = schemaMapper[MapperKind.DIRECTIVE];\n return directiveMapper != null ? directiveMapper : null;\n}\nfunction getEnumValueMapper(schemaMapper) {\n const enumValueMapper = schemaMapper[MapperKind.ENUM_VALUE];\n return enumValueMapper != null ? enumValueMapper : null;\n}\nexport function correctASTNodes(type) {\n if (isObjectType(type)) {\n const config = type.toConfig();\n if (config.astNode != null) {\n const fields = [];\n for (const fieldName in config.fields) {\n const fieldConfig = config.fields[fieldName];\n if (fieldConfig.astNode != null) {\n fields.push(fieldConfig.astNode);\n }\n }\n config.astNode = {\n ...config.astNode,\n kind: Kind.OBJECT_TYPE_DEFINITION,\n fields,\n };\n }\n if (config.extensionASTNodes != null) {\n config.extensionASTNodes = config.extensionASTNodes.map(node => ({\n ...node,\n kind: Kind.OBJECT_TYPE_EXTENSION,\n fields: undefined,\n }));\n }\n return new GraphQLObjectType(config);\n }\n else if (isInterfaceType(type)) {\n const config = type.toConfig();\n if (config.astNode != null) {\n const fields = [];\n for (const fieldName in config.fields) {\n const fieldConfig = config.fields[fieldName];\n if (fieldConfig.astNode != null) {\n fields.push(fieldConfig.astNode);\n }\n }\n config.astNode = {\n ...config.astNode,\n kind: Kind.INTERFACE_TYPE_DEFINITION,\n fields,\n };\n }\n if (config.extensionASTNodes != null) {\n config.extensionASTNodes = config.extensionASTNodes.map(node => ({\n ...node,\n kind: Kind.INTERFACE_TYPE_EXTENSION,\n fields: undefined,\n }));\n }\n return new GraphQLInterfaceType(config);\n }\n else if (isInputObjectType(type)) {\n const config = type.toConfig();\n if (config.astNode != null) {\n const fields = [];\n for (const fieldName in config.fields) {\n const fieldConfig = config.fields[fieldName];\n if (fieldConfig.astNode != null) {\n fields.push(fieldConfig.astNode);\n }\n }\n config.astNode = {\n ...config.astNode,\n kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n fields,\n };\n }\n if (config.extensionASTNodes != null) {\n config.extensionASTNodes = config.extensionASTNodes.map(node => ({\n ...node,\n kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n fields: undefined,\n }));\n }\n return new GraphQLInputObjectType(config);\n }\n else if (isEnumType(type)) {\n const config = type.toConfig();\n if (config.astNode != null) {\n const values = [];\n for (const enumKey in config.values) {\n const enumValueConfig = config.values[enumKey];\n if (enumValueConfig.astNode != null) {\n values.push(enumValueConfig.astNode);\n }\n }\n config.astNode = {\n ...config.astNode,\n values,\n };\n }\n if (config.extensionASTNodes != null) {\n config.extensionASTNodes = config.extensionASTNodes.map(node => ({\n ...node,\n values: undefined,\n }));\n }\n return new GraphQLEnumType(config);\n }\n else {\n return type;\n }\n}\n","import { GraphQLInputObjectType, GraphQLInterfaceType, GraphQLObjectType, } from 'graphql';\nimport { MapperKind, } from './Interfaces.js';\nimport { mapSchema } from './mapSchema.js';\nexport function filterSchema({ schema, typeFilter = () => true, fieldFilter = undefined, rootFieldFilter = undefined, objectFieldFilter = undefined, interfaceFieldFilter = undefined, inputObjectFieldFilter = undefined, argumentFilter = undefined, directiveFilter = undefined, enumValueFilter = undefined, }) {\n const filteredSchema = mapSchema(schema, {\n [MapperKind.QUERY]: (type) => filterRootFields(type, 'Query', rootFieldFilter, argumentFilter),\n [MapperKind.MUTATION]: (type) => filterRootFields(type, 'Mutation', rootFieldFilter, argumentFilter),\n [MapperKind.SUBSCRIPTION]: (type) => filterRootFields(type, 'Subscription', rootFieldFilter, argumentFilter),\n [MapperKind.OBJECT_TYPE]: (type) => typeFilter(type.name, type)\n ? filterElementFields(GraphQLObjectType, type, objectFieldFilter || fieldFilter, argumentFilter)\n : null,\n [MapperKind.INTERFACE_TYPE]: (type) => typeFilter(type.name, type)\n ? filterElementFields(GraphQLInterfaceType, type, interfaceFieldFilter || fieldFilter, argumentFilter)\n : null,\n [MapperKind.INPUT_OBJECT_TYPE]: (type) => typeFilter(type.name, type)\n ? filterElementFields(GraphQLInputObjectType, type, inputObjectFieldFilter || fieldFilter)\n : null,\n [MapperKind.UNION_TYPE]: (type) => typeFilter(type.name, type) ? undefined : null,\n [MapperKind.ENUM_TYPE]: (type) => typeFilter(type.name, type) ? undefined : null,\n [MapperKind.SCALAR_TYPE]: (type) => typeFilter(type.name, type) ? undefined : null,\n [MapperKind.DIRECTIVE]: directive => directiveFilter && !directiveFilter(directive.name, directive) ? null : undefined,\n [MapperKind.ENUM_VALUE]: (valueConfig, typeName, _schema, externalValue) => enumValueFilter && !enumValueFilter(typeName, externalValue, valueConfig) ? null : undefined,\n });\n return filteredSchema;\n}\nfunction filterRootFields(type, operation, rootFieldFilter, argumentFilter) {\n if (rootFieldFilter || argumentFilter) {\n const config = type.toConfig();\n for (const fieldName in config.fields) {\n const field = config.fields[fieldName];\n if (rootFieldFilter && !rootFieldFilter(operation, fieldName, config.fields[fieldName])) {\n delete config.fields[fieldName];\n }\n else if (argumentFilter && field.args) {\n for (const argName in field.args) {\n if (!argumentFilter(type.name, fieldName, argName, field.args[argName])) {\n delete field.args[argName];\n }\n }\n }\n }\n return new GraphQLObjectType(config);\n }\n return type;\n}\nfunction filterElementFields(ElementConstructor, type, fieldFilter, argumentFilter) {\n if (fieldFilter || argumentFilter) {\n const config = type.toConfig();\n for (const fieldName in config.fields) {\n const field = config.fields[fieldName];\n if (fieldFilter && !fieldFilter(type.name, fieldName, config.fields[fieldName])) {\n delete config.fields[fieldName];\n }\n else if (argumentFilter && 'args' in field) {\n for (const argName in field.args) {\n if (!argumentFilter(type.name, fieldName, argName, field.args[argName])) {\n delete field.args[argName];\n }\n }\n }\n }\n return new ElementConstructor(config);\n }\n}\n","import type { Diagnostic } from \"@codemirror/lint\";\nimport { linter } from \"@codemirror/lint\";\nimport { filterSchema } from \"@graphql-tools/utils\";\nimport type { GraphQLSchema } from \"graphql\";\nimport { GraphQLError, locatedError } from \"graphql\";\nimport { validateSDL } from \"graphql/validation/validate.js\";\nimport { safeParseSdl } from \"../../context/schema-context.js\";\n\n/* Converts a GraphQLError to a Diagnostic\n GraphQLError uses a zero-indexed line and column, but the editor uses a one-indexed line and column\n*/\nexport function convertGraphQLErrorToDiagnostic(\n error: GraphQLError,\n): Diagnostic {\n return {\n from: error.locations?.[0] ? (error.positions?.[0] ?? 0) : 0,\n to: error.locations?.[0] ? (error.positions?.[0] ?? 0) + 1 : 1,\n severity: \"error\",\n message: error.message,\n };\n}\n\n/* Creates a linter that checks the document for errors\n This works in combination with the built-in linting provided by the graphql extension\n We need to recreate this linter when the schema changes or if a custom linter is provided\n It first checks the document for linting errors\n Then it checks if the document is a valid document string\n Then it checks if the document is valid against the schema\n */\nexport function makeLinter(\n schema: GraphQLSchema,\n customLinter?: (doc: string) => Diagnostic[],\n) {\n return linter((view) => {\n const doc = view.state.doc.toString();\n let diagnostics: Diagnostic[] = [];\n\n if (customLinter) {\n diagnostics = diagnostics.concat(customLinter(doc));\n }\n\n const newDocNode = safeParseSdl(doc);\n\n if (newDocNode) {\n try {\n const currentTypeNames = new Set(\n newDocNode.definitions\n .filter((def) => \"name\" in def && def.name)\n .map((def) => (def as { name: { value: string } }).name.value),\n );\n\n // we need to filter out the existing types in the document from the schema to prevent duplicate type errors in the validation\n const filteredSchema = filterSchema({\n schema,\n typeFilter: (typeName) => !currentTypeNames.has(typeName),\n });\n\n const errors = validateSDL(newDocNode, filteredSchema)\n .map((error) => locatedError(error, newDocNode))\n .filter(\n (error, index, self) =>\n index ===\n self.findIndex(\n (e) =>\n e.message === error.message &&\n e.locations?.[0]?.line === error.locations?.[0]?.line &&\n e.locations?.[0]?.column === error.locations?.[0]?.column,\n ),\n );\n\n diagnostics = diagnostics.concat(\n errors.map(convertGraphQLErrorToDiagnostic),\n );\n } catch (error) {\n if (error instanceof GraphQLError) {\n diagnostics.push(convertGraphQLErrorToDiagnostic(error));\n }\n }\n }\n\n return diagnostics;\n });\n}\n","import type { Diagnostic } from \"@codemirror/lint\";\nimport { forceLinting } from \"@codemirror/lint\";\nimport { Compartment, EditorState } from \"@codemirror/state\";\nimport { EditorView, keymap } from \"@codemirror/view\";\nimport { useTheme } from \"@powerhousedao/reactor-browser\";\nimport { graphql } from \"cm6-graphql\";\nimport { buildSchema } from \"graphql\";\nimport { memo, useEffect, useRef } from \"react\";\nimport { ayuLight, dracula } from \"thememirror\";\nimport { useSchemaContext } from \"../../context/schema-context.js\";\nimport { baseEditorExtensions, baseKeymap } from \"./constants.js\";\nimport {\n makeFocusHandler,\n makePasteHandler,\n makeUpdateHandler,\n} from \"./factories.js\";\nimport {\n useDocumentSync,\n useEditorCleanup,\n useEditorRefs,\n useHandlerReconfiguration,\n} from \"./hooks.js\";\nimport { makeLinter } from \"./linting.js\";\n\ntype Props = {\n doc: string;\n readonly?: boolean;\n updateDocumentInModel?: (newDoc: string) => void;\n customLinter?: (doc: string) => Diagnostic[];\n};\n\nconst GraphqlEditor = memo(function GraphqlEditor(props: Props) {\n const { doc, readonly = false, updateDocumentInModel, customLinter } = props;\n const {\n editorRef,\n viewRef,\n updateListenerCompartment,\n focusHandlerCompartment,\n pasteHandlerCompartment,\n timeoutRef,\n } = useEditorRefs();\n const { theme } = useTheme();\n // GraphQL-specific refs\n const graphqlCompartment = useRef(new Compartment());\n const linterCompartment = useRef(new Compartment());\n const themeCompartment = useRef(new Compartment());\n const { sharedSchema } = useSchemaContext();\n\n useEffect(() => {\n if (!viewRef.current) {\n const schema = buildSchema(sharedSchema);\n viewRef.current = new EditorView({\n state: EditorState.create({\n doc,\n extensions: [\n ...baseEditorExtensions,\n keymap.of(baseKeymap),\n themeCompartment.current.of(theme === \"light\" ? ayuLight : dracula),\n graphqlCompartment.current.of(graphql(schema)),\n linterCompartment.current.of(makeLinter(schema, customLinter)),\n updateListenerCompartment.current.of(\n makeUpdateHandler(readonly, timeoutRef, updateDocumentInModel),\n ),\n focusHandlerCompartment.current.of(\n makeFocusHandler(readonly, timeoutRef, updateDocumentInModel),\n ),\n pasteHandlerCompartment.current.of(\n makePasteHandler(readonly, timeoutRef, updateDocumentInModel),\n ),\n EditorState.readOnly.of(readonly),\n ],\n }),\n parent: editorRef.current!,\n });\n forceLinting(viewRef.current);\n }\n }, []);\n\n useEditorCleanup(viewRef);\n\n useEffect(() => {\n if (!viewRef.current) return;\n viewRef.current.dispatch({\n effects: themeCompartment.current.reconfigure(\n theme === \"light\" ? ayuLight : dracula,\n ),\n });\n }, [theme]);\n\n /* GraphQL-specific: Reconfigures the editor when the schema changes */\n useEffect(() => {\n const view = viewRef.current;\n if (!view) return;\n\n try {\n const newSchema = buildSchema(sharedSchema);\n view.dispatch({\n effects: [\n graphqlCompartment.current.reconfigure(graphql(newSchema)),\n linterCompartment.current.reconfigure(\n makeLinter(newSchema, customLinter),\n ),\n ],\n });\n forceLinting(view);\n } catch (error) {\n console.debug(\"in schema update\", error);\n }\n }, [sharedSchema, customLinter]);\n\n useHandlerReconfiguration(\n viewRef.current,\n readonly,\n timeoutRef,\n updateDocumentInModel,\n {\n updateListener: updateListenerCompartment.current,\n focusHandler: focusHandlerCompartment.current,\n pasteHandler: pasteHandlerCompartment.current,\n },\n );\n\n useDocumentSync(viewRef.current, doc);\n\n return <div ref={editorRef} />;\n});\n\nexport default GraphqlEditor;\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graphql-editor-BiK6s8_B.mjs","names":["exports","exports","exports","GraphQLInt","GraphQLFloat","GraphQLString","GraphQLBoolean","GraphQLID","GraphQLDirective","GraphQLObjectType","GraphQLInterfaceType","GraphQLUnionType","GraphQLInputObjectType","GraphQLEnumType","GraphQLScalarType","GraphQLList","GraphQLNonNull","GraphQLSchema","GraphQLEnumType","GraphQLList","GraphQLNonNull","GraphQLObjectType","GraphQLInterfaceType","GraphQLInputObjectType","Kind","GraphQLObjectType","GraphQLInterfaceType","GraphQLInputObjectType","GraphQLError"],"sources":["../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/interface/autocompleteUtils.js","../../../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/umd/main.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/parser/CharacterStream.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/parser/RuleHelpers.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/parser/Rules.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/parser/onlineParser.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/parser/api.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/parser/getTypeInfo.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/parser/types.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/parser/index.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/types.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/interface/getAutocompleteSuggestions.js","../../../../node_modules/.pnpm/nullthrows@1.1.1/node_modules/nullthrows/nullthrows.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/utils/fragmentDependencies.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/utils/getVariablesJSONSchema.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/utils/getASTNodeAtPosition.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/utils/Range.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/utils/validateWithCustomRules.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/utils/collectVariables.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/utils/getOperationFacts.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/utils/index.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/interface/getDefinition.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/interface/getDiagnostics.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/interface/getOutline.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/interface/getHoverInformation.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/interface/index.js","../../../../node_modules/.pnpm/graphql-language-service@5.5.0_graphql@16.12.0/node_modules/graphql-language-service/dist/index.js","../../../../node_modules/.pnpm/cm6-graphql@0.2.1_@codemirror+autocomplete@6.18.6_@codemirror+language@6.11.0_@codemirr_f3af5b503875184dad53db0271786c87/node_modules/cm6-graphql/dist/index.js","../../../../node_modules/.pnpm/@graphql-tools+utils@11.0.0_graphql@16.12.0/node_modules/@graphql-tools/utils/esm/helpers.js","../../../../node_modules/.pnpm/@graphql-tools+utils@11.0.0_graphql@16.12.0/node_modules/@graphql-tools/utils/esm/Interfaces.js","../../../../node_modules/.pnpm/@graphql-tools+utils@11.0.0_graphql@16.12.0/node_modules/@graphql-tools/utils/esm/getObjectTypeFromTypeMap.js","../../../../node_modules/.pnpm/@graphql-tools+utils@11.0.0_graphql@16.12.0/node_modules/@graphql-tools/utils/esm/stub.js","../../../../node_modules/.pnpm/@graphql-tools+utils@11.0.0_graphql@16.12.0/node_modules/@graphql-tools/utils/esm/rewire.js","../../../../node_modules/.pnpm/@graphql-tools+utils@11.0.0_graphql@16.12.0/node_modules/@graphql-tools/utils/esm/transformInputValue.js","../../../../node_modules/.pnpm/@graphql-tools+utils@11.0.0_graphql@16.12.0/node_modules/@graphql-tools/utils/esm/mapSchema.js","../../../../node_modules/.pnpm/@graphql-tools+utils@11.0.0_graphql@16.12.0/node_modules/@graphql-tools/utils/esm/filterSchema.js","../../editors/document-model-editor/components/code-editors/linting.ts","../../editors/document-model-editor/components/code-editors/graphql-editor.tsx"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFieldInsertText = exports.getInputInsertText = exports.getInsertText = exports.hintList = exports.objectValues = void 0;\nconst graphql_1 = require(\"graphql\");\nfunction objectValues(object) {\n const keys = Object.keys(object);\n const len = keys.length;\n const values = new Array(len);\n for (let i = 0; i < len; ++i) {\n values[i] = object[keys[i]];\n }\n return values;\n}\nexports.objectValues = objectValues;\nfunction hintList(token, list) {\n return filterAndSortList(list, normalizeText(token.string));\n}\nexports.hintList = hintList;\nfunction filterAndSortList(list, text) {\n if (!text ||\n text.trim() === '' ||\n text.trim() === ':' ||\n text.trim() === '{') {\n return filterNonEmpty(list, entry => !entry.isDeprecated);\n }\n const byProximity = list.map(entry => ({\n proximity: getProximity(normalizeText(entry.label), text),\n entry,\n }));\n return filterNonEmpty(filterNonEmpty(byProximity, pair => pair.proximity <= 2), pair => !pair.entry.isDeprecated)\n .sort((a, b) => (a.entry.isDeprecated ? 1 : 0) - (b.entry.isDeprecated ? 1 : 0) ||\n a.proximity - b.proximity ||\n a.entry.label.length - b.entry.label.length)\n .map(pair => pair.entry);\n}\nfunction filterNonEmpty(array, predicate) {\n const filtered = array.filter(predicate);\n return filtered.length === 0 ? array : filtered;\n}\nfunction normalizeText(text) {\n return text.toLowerCase().replaceAll(/\\W/g, '');\n}\nfunction getProximity(suggestion, text) {\n let proximity = lexicalDistance(text, suggestion);\n if (suggestion.length > text.length) {\n proximity -= suggestion.length - text.length - 1;\n proximity += suggestion.indexOf(text) === 0 ? 0 : 0.5;\n }\n return proximity;\n}\nfunction lexicalDistance(a, b) {\n let i;\n let j;\n const d = [];\n const aLength = a.length;\n const bLength = b.length;\n for (i = 0; i <= aLength; i++) {\n d[i] = [i];\n }\n for (j = 1; j <= bLength; j++) {\n d[0][j] = j;\n }\n for (i = 1; i <= aLength; i++) {\n for (j = 1; j <= bLength; j++) {\n const cost = a[i - 1] === b[j - 1] ? 0 : 1;\n d[i][j] = Math.min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + cost);\n if (i > 1 && j > 1 && a[i - 1] === b[j - 2] && a[i - 2] === b[j - 1]) {\n d[i][j] = Math.min(d[i][j], d[i - 2][j - 2] + cost);\n }\n }\n }\n return d[aLength][bLength];\n}\nconst insertSuffix = (n) => ` {\\n $${n !== null && n !== void 0 ? n : 1}\\n}`;\nconst getInsertText = (prefix, type, fallback) => {\n if (!type) {\n return fallback !== null && fallback !== void 0 ? fallback : prefix;\n }\n const namedType = (0, graphql_1.getNamedType)(type);\n if ((0, graphql_1.isObjectType)(namedType) ||\n (0, graphql_1.isInputObjectType)(namedType) ||\n (0, graphql_1.isListType)(namedType) ||\n (0, graphql_1.isAbstractType)(namedType)) {\n return prefix + insertSuffix();\n }\n return fallback !== null && fallback !== void 0 ? fallback : prefix;\n};\nexports.getInsertText = getInsertText;\nconst getInputInsertText = (prefix, type, fallback) => {\n if ((0, graphql_1.isListType)(type)) {\n const baseType = (0, graphql_1.getNamedType)(type.ofType);\n return prefix + `[${(0, exports.getInsertText)('', baseType, '$1')}]`;\n }\n return (0, exports.getInsertText)(prefix, type, fallback);\n};\nexports.getInputInsertText = getInputInsertText;\nconst getFieldInsertText = (field) => {\n const requiredArgs = field.args.filter(arg => arg.type.toString().endsWith('!'));\n if (!requiredArgs.length) {\n return;\n }\n return (field.name +\n `(${requiredArgs.map((arg, i) => `${arg.name}: $${i + 1}`)}) ${(0, exports.getInsertText)('', field.type, '\\n')}`);\n};\nexports.getFieldInsertText = getFieldInsertText;\n//# sourceMappingURL=autocompleteUtils.js.map","(function (factory) {\n if (typeof module === \"object\" && typeof module.exports === \"object\") {\n var v = factory(require, exports);\n if (v !== undefined) module.exports = v;\n }\n else if (typeof define === \"function\" && define.amd) {\n define([\"require\", \"exports\"], factory);\n }\n})(function (require, exports) {\n /* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n 'use strict';\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.TextDocument = exports.EOL = exports.WorkspaceFolder = exports.InlineCompletionContext = exports.SelectedCompletionInfo = exports.InlineCompletionTriggerKind = exports.InlineCompletionList = exports.InlineCompletionItem = exports.StringValue = exports.InlayHint = exports.InlayHintLabelPart = exports.InlayHintKind = exports.InlineValueContext = exports.InlineValueEvaluatableExpression = exports.InlineValueVariableLookup = exports.InlineValueText = exports.SemanticTokens = exports.SemanticTokenModifiers = exports.SemanticTokenTypes = exports.SelectionRange = exports.DocumentLink = exports.FormattingOptions = exports.CodeLens = exports.CodeAction = exports.CodeActionContext = exports.CodeActionTriggerKind = exports.CodeActionKind = exports.DocumentSymbol = exports.WorkspaceSymbol = exports.SymbolInformation = exports.SymbolTag = exports.SymbolKind = exports.DocumentHighlight = exports.DocumentHighlightKind = exports.SignatureInformation = exports.ParameterInformation = exports.Hover = exports.MarkedString = exports.CompletionList = exports.CompletionItem = exports.CompletionItemLabelDetails = exports.InsertTextMode = exports.InsertReplaceEdit = exports.CompletionItemTag = exports.InsertTextFormat = exports.CompletionItemKind = exports.MarkupContent = exports.MarkupKind = exports.TextDocumentItem = exports.OptionalVersionedTextDocumentIdentifier = exports.VersionedTextDocumentIdentifier = exports.TextDocumentIdentifier = exports.WorkspaceChange = exports.WorkspaceEdit = exports.DeleteFile = exports.RenameFile = exports.CreateFile = exports.TextDocumentEdit = exports.AnnotatedTextEdit = exports.ChangeAnnotationIdentifier = exports.ChangeAnnotation = exports.TextEdit = exports.Command = exports.Diagnostic = exports.CodeDescription = exports.DiagnosticTag = exports.DiagnosticSeverity = exports.DiagnosticRelatedInformation = exports.FoldingRange = exports.FoldingRangeKind = exports.ColorPresentation = exports.ColorInformation = exports.Color = exports.LocationLink = exports.Location = exports.Range = exports.Position = exports.uinteger = exports.integer = exports.URI = exports.DocumentUri = void 0;\n var DocumentUri;\n (function (DocumentUri) {\n function is(value) {\n return typeof value === 'string';\n }\n DocumentUri.is = is;\n })(DocumentUri || (exports.DocumentUri = DocumentUri = {}));\n var URI;\n (function (URI) {\n function is(value) {\n return typeof value === 'string';\n }\n URI.is = is;\n })(URI || (exports.URI = URI = {}));\n var integer;\n (function (integer) {\n integer.MIN_VALUE = -2147483648;\n integer.MAX_VALUE = 2147483647;\n function is(value) {\n return typeof value === 'number' && integer.MIN_VALUE <= value && value <= integer.MAX_VALUE;\n }\n integer.is = is;\n })(integer || (exports.integer = integer = {}));\n var uinteger;\n (function (uinteger) {\n uinteger.MIN_VALUE = 0;\n uinteger.MAX_VALUE = 2147483647;\n function is(value) {\n return typeof value === 'number' && uinteger.MIN_VALUE <= value && value <= uinteger.MAX_VALUE;\n }\n uinteger.is = is;\n })(uinteger || (exports.uinteger = uinteger = {}));\n /**\n * The Position namespace provides helper functions to work with\n * {@link Position} literals.\n */\n var Position;\n (function (Position) {\n /**\n * Creates a new Position literal from the given line and character.\n * @param line The position's line.\n * @param character The position's character.\n */\n function create(line, character) {\n if (line === Number.MAX_VALUE) {\n line = uinteger.MAX_VALUE;\n }\n if (character === Number.MAX_VALUE) {\n character = uinteger.MAX_VALUE;\n }\n return { line: line, character: character };\n }\n Position.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Position} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.uinteger(candidate.line) && Is.uinteger(candidate.character);\n }\n Position.is = is;\n })(Position || (exports.Position = Position = {}));\n /**\n * The Range namespace provides helper functions to work with\n * {@link Range} literals.\n */\n var Range;\n (function (Range) {\n function create(one, two, three, four) {\n if (Is.uinteger(one) && Is.uinteger(two) && Is.uinteger(three) && Is.uinteger(four)) {\n return { start: Position.create(one, two), end: Position.create(three, four) };\n }\n else if (Position.is(one) && Position.is(two)) {\n return { start: one, end: two };\n }\n else {\n throw new Error(\"Range#create called with invalid arguments[\".concat(one, \", \").concat(two, \", \").concat(three, \", \").concat(four, \"]\"));\n }\n }\n Range.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Range} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Position.is(candidate.start) && Position.is(candidate.end);\n }\n Range.is = is;\n })(Range || (exports.Range = Range = {}));\n /**\n * The Location namespace provides helper functions to work with\n * {@link Location} literals.\n */\n var Location;\n (function (Location) {\n /**\n * Creates a Location literal.\n * @param uri The location's uri.\n * @param range The location's range.\n */\n function create(uri, range) {\n return { uri: uri, range: range };\n }\n Location.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Location} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.range) && (Is.string(candidate.uri) || Is.undefined(candidate.uri));\n }\n Location.is = is;\n })(Location || (exports.Location = Location = {}));\n /**\n * The LocationLink namespace provides helper functions to work with\n * {@link LocationLink} literals.\n */\n var LocationLink;\n (function (LocationLink) {\n /**\n * Creates a LocationLink literal.\n * @param targetUri The definition's uri.\n * @param targetRange The full range of the definition.\n * @param targetSelectionRange The span of the symbol definition at the target.\n * @param originSelectionRange The span of the symbol being defined in the originating source file.\n */\n function create(targetUri, targetRange, targetSelectionRange, originSelectionRange) {\n return { targetUri: targetUri, targetRange: targetRange, targetSelectionRange: targetSelectionRange, originSelectionRange: originSelectionRange };\n }\n LocationLink.create = create;\n /**\n * Checks whether the given literal conforms to the {@link LocationLink} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.targetRange) && Is.string(candidate.targetUri)\n && Range.is(candidate.targetSelectionRange)\n && (Range.is(candidate.originSelectionRange) || Is.undefined(candidate.originSelectionRange));\n }\n LocationLink.is = is;\n })(LocationLink || (exports.LocationLink = LocationLink = {}));\n /**\n * The Color namespace provides helper functions to work with\n * {@link Color} literals.\n */\n var Color;\n (function (Color) {\n /**\n * Creates a new Color literal.\n */\n function create(red, green, blue, alpha) {\n return {\n red: red,\n green: green,\n blue: blue,\n alpha: alpha,\n };\n }\n Color.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Color} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.numberRange(candidate.red, 0, 1)\n && Is.numberRange(candidate.green, 0, 1)\n && Is.numberRange(candidate.blue, 0, 1)\n && Is.numberRange(candidate.alpha, 0, 1);\n }\n Color.is = is;\n })(Color || (exports.Color = Color = {}));\n /**\n * The ColorInformation namespace provides helper functions to work with\n * {@link ColorInformation} literals.\n */\n var ColorInformation;\n (function (ColorInformation) {\n /**\n * Creates a new ColorInformation literal.\n */\n function create(range, color) {\n return {\n range: range,\n color: color,\n };\n }\n ColorInformation.create = create;\n /**\n * Checks whether the given literal conforms to the {@link ColorInformation} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.range) && Color.is(candidate.color);\n }\n ColorInformation.is = is;\n })(ColorInformation || (exports.ColorInformation = ColorInformation = {}));\n /**\n * The Color namespace provides helper functions to work with\n * {@link ColorPresentation} literals.\n */\n var ColorPresentation;\n (function (ColorPresentation) {\n /**\n * Creates a new ColorInformation literal.\n */\n function create(label, textEdit, additionalTextEdits) {\n return {\n label: label,\n textEdit: textEdit,\n additionalTextEdits: additionalTextEdits,\n };\n }\n ColorPresentation.create = create;\n /**\n * Checks whether the given literal conforms to the {@link ColorInformation} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.string(candidate.label)\n && (Is.undefined(candidate.textEdit) || TextEdit.is(candidate))\n && (Is.undefined(candidate.additionalTextEdits) || Is.typedArray(candidate.additionalTextEdits, TextEdit.is));\n }\n ColorPresentation.is = is;\n })(ColorPresentation || (exports.ColorPresentation = ColorPresentation = {}));\n /**\n * A set of predefined range kinds.\n */\n var FoldingRangeKind;\n (function (FoldingRangeKind) {\n /**\n * Folding range for a comment\n */\n FoldingRangeKind.Comment = 'comment';\n /**\n * Folding range for an import or include\n */\n FoldingRangeKind.Imports = 'imports';\n /**\n * Folding range for a region (e.g. `#region`)\n */\n FoldingRangeKind.Region = 'region';\n })(FoldingRangeKind || (exports.FoldingRangeKind = FoldingRangeKind = {}));\n /**\n * The folding range namespace provides helper functions to work with\n * {@link FoldingRange} literals.\n */\n var FoldingRange;\n (function (FoldingRange) {\n /**\n * Creates a new FoldingRange literal.\n */\n function create(startLine, endLine, startCharacter, endCharacter, kind, collapsedText) {\n var result = {\n startLine: startLine,\n endLine: endLine\n };\n if (Is.defined(startCharacter)) {\n result.startCharacter = startCharacter;\n }\n if (Is.defined(endCharacter)) {\n result.endCharacter = endCharacter;\n }\n if (Is.defined(kind)) {\n result.kind = kind;\n }\n if (Is.defined(collapsedText)) {\n result.collapsedText = collapsedText;\n }\n return result;\n }\n FoldingRange.create = create;\n /**\n * Checks whether the given literal conforms to the {@link FoldingRange} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.uinteger(candidate.startLine) && Is.uinteger(candidate.startLine)\n && (Is.undefined(candidate.startCharacter) || Is.uinteger(candidate.startCharacter))\n && (Is.undefined(candidate.endCharacter) || Is.uinteger(candidate.endCharacter))\n && (Is.undefined(candidate.kind) || Is.string(candidate.kind));\n }\n FoldingRange.is = is;\n })(FoldingRange || (exports.FoldingRange = FoldingRange = {}));\n /**\n * The DiagnosticRelatedInformation namespace provides helper functions to work with\n * {@link DiagnosticRelatedInformation} literals.\n */\n var DiagnosticRelatedInformation;\n (function (DiagnosticRelatedInformation) {\n /**\n * Creates a new DiagnosticRelatedInformation literal.\n */\n function create(location, message) {\n return {\n location: location,\n message: message\n };\n }\n DiagnosticRelatedInformation.create = create;\n /**\n * Checks whether the given literal conforms to the {@link DiagnosticRelatedInformation} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Location.is(candidate.location) && Is.string(candidate.message);\n }\n DiagnosticRelatedInformation.is = is;\n })(DiagnosticRelatedInformation || (exports.DiagnosticRelatedInformation = DiagnosticRelatedInformation = {}));\n /**\n * The diagnostic's severity.\n */\n var DiagnosticSeverity;\n (function (DiagnosticSeverity) {\n /**\n * Reports an error.\n */\n DiagnosticSeverity.Error = 1;\n /**\n * Reports a warning.\n */\n DiagnosticSeverity.Warning = 2;\n /**\n * Reports an information.\n */\n DiagnosticSeverity.Information = 3;\n /**\n * Reports a hint.\n */\n DiagnosticSeverity.Hint = 4;\n })(DiagnosticSeverity || (exports.DiagnosticSeverity = DiagnosticSeverity = {}));\n /**\n * The diagnostic tags.\n *\n * @since 3.15.0\n */\n var DiagnosticTag;\n (function (DiagnosticTag) {\n /**\n * Unused or unnecessary code.\n *\n * Clients are allowed to render diagnostics with this tag faded out instead of having\n * an error squiggle.\n */\n DiagnosticTag.Unnecessary = 1;\n /**\n * Deprecated or obsolete code.\n *\n * Clients are allowed to rendered diagnostics with this tag strike through.\n */\n DiagnosticTag.Deprecated = 2;\n })(DiagnosticTag || (exports.DiagnosticTag = DiagnosticTag = {}));\n /**\n * The CodeDescription namespace provides functions to deal with descriptions for diagnostic codes.\n *\n * @since 3.16.0\n */\n var CodeDescription;\n (function (CodeDescription) {\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.string(candidate.href);\n }\n CodeDescription.is = is;\n })(CodeDescription || (exports.CodeDescription = CodeDescription = {}));\n /**\n * The Diagnostic namespace provides helper functions to work with\n * {@link Diagnostic} literals.\n */\n var Diagnostic;\n (function (Diagnostic) {\n /**\n * Creates a new Diagnostic literal.\n */\n function create(range, message, severity, code, source, relatedInformation) {\n var result = { range: range, message: message };\n if (Is.defined(severity)) {\n result.severity = severity;\n }\n if (Is.defined(code)) {\n result.code = code;\n }\n if (Is.defined(source)) {\n result.source = source;\n }\n if (Is.defined(relatedInformation)) {\n result.relatedInformation = relatedInformation;\n }\n return result;\n }\n Diagnostic.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Diagnostic} interface.\n */\n function is(value) {\n var _a;\n var candidate = value;\n return Is.defined(candidate)\n && Range.is(candidate.range)\n && Is.string(candidate.message)\n && (Is.number(candidate.severity) || Is.undefined(candidate.severity))\n && (Is.integer(candidate.code) || Is.string(candidate.code) || Is.undefined(candidate.code))\n && (Is.undefined(candidate.codeDescription) || (Is.string((_a = candidate.codeDescription) === null || _a === void 0 ? void 0 : _a.href)))\n && (Is.string(candidate.source) || Is.undefined(candidate.source))\n && (Is.undefined(candidate.relatedInformation) || Is.typedArray(candidate.relatedInformation, DiagnosticRelatedInformation.is));\n }\n Diagnostic.is = is;\n })(Diagnostic || (exports.Diagnostic = Diagnostic = {}));\n /**\n * The Command namespace provides helper functions to work with\n * {@link Command} literals.\n */\n var Command;\n (function (Command) {\n /**\n * Creates a new Command literal.\n */\n function create(title, command) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var result = { title: title, command: command };\n if (Is.defined(args) && args.length > 0) {\n result.arguments = args;\n }\n return result;\n }\n Command.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Command} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.title) && Is.string(candidate.command);\n }\n Command.is = is;\n })(Command || (exports.Command = Command = {}));\n /**\n * The TextEdit namespace provides helper function to create replace,\n * insert and delete edits more easily.\n */\n var TextEdit;\n (function (TextEdit) {\n /**\n * Creates a replace text edit.\n * @param range The range of text to be replaced.\n * @param newText The new text.\n */\n function replace(range, newText) {\n return { range: range, newText: newText };\n }\n TextEdit.replace = replace;\n /**\n * Creates an insert text edit.\n * @param position The position to insert the text at.\n * @param newText The text to be inserted.\n */\n function insert(position, newText) {\n return { range: { start: position, end: position }, newText: newText };\n }\n TextEdit.insert = insert;\n /**\n * Creates a delete text edit.\n * @param range The range of text to be deleted.\n */\n function del(range) {\n return { range: range, newText: '' };\n }\n TextEdit.del = del;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate)\n && Is.string(candidate.newText)\n && Range.is(candidate.range);\n }\n TextEdit.is = is;\n })(TextEdit || (exports.TextEdit = TextEdit = {}));\n var ChangeAnnotation;\n (function (ChangeAnnotation) {\n function create(label, needsConfirmation, description) {\n var result = { label: label };\n if (needsConfirmation !== undefined) {\n result.needsConfirmation = needsConfirmation;\n }\n if (description !== undefined) {\n result.description = description;\n }\n return result;\n }\n ChangeAnnotation.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.string(candidate.label) &&\n (Is.boolean(candidate.needsConfirmation) || candidate.needsConfirmation === undefined) &&\n (Is.string(candidate.description) || candidate.description === undefined);\n }\n ChangeAnnotation.is = is;\n })(ChangeAnnotation || (exports.ChangeAnnotation = ChangeAnnotation = {}));\n var ChangeAnnotationIdentifier;\n (function (ChangeAnnotationIdentifier) {\n function is(value) {\n var candidate = value;\n return Is.string(candidate);\n }\n ChangeAnnotationIdentifier.is = is;\n })(ChangeAnnotationIdentifier || (exports.ChangeAnnotationIdentifier = ChangeAnnotationIdentifier = {}));\n var AnnotatedTextEdit;\n (function (AnnotatedTextEdit) {\n /**\n * Creates an annotated replace text edit.\n *\n * @param range The range of text to be replaced.\n * @param newText The new text.\n * @param annotation The annotation.\n */\n function replace(range, newText, annotation) {\n return { range: range, newText: newText, annotationId: annotation };\n }\n AnnotatedTextEdit.replace = replace;\n /**\n * Creates an annotated insert text edit.\n *\n * @param position The position to insert the text at.\n * @param newText The text to be inserted.\n * @param annotation The annotation.\n */\n function insert(position, newText, annotation) {\n return { range: { start: position, end: position }, newText: newText, annotationId: annotation };\n }\n AnnotatedTextEdit.insert = insert;\n /**\n * Creates an annotated delete text edit.\n *\n * @param range The range of text to be deleted.\n * @param annotation The annotation.\n */\n function del(range, annotation) {\n return { range: range, newText: '', annotationId: annotation };\n }\n AnnotatedTextEdit.del = del;\n function is(value) {\n var candidate = value;\n return TextEdit.is(candidate) && (ChangeAnnotation.is(candidate.annotationId) || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n AnnotatedTextEdit.is = is;\n })(AnnotatedTextEdit || (exports.AnnotatedTextEdit = AnnotatedTextEdit = {}));\n /**\n * The TextDocumentEdit namespace provides helper function to create\n * an edit that manipulates a text document.\n */\n var TextDocumentEdit;\n (function (TextDocumentEdit) {\n /**\n * Creates a new `TextDocumentEdit`\n */\n function create(textDocument, edits) {\n return { textDocument: textDocument, edits: edits };\n }\n TextDocumentEdit.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate)\n && OptionalVersionedTextDocumentIdentifier.is(candidate.textDocument)\n && Array.isArray(candidate.edits);\n }\n TextDocumentEdit.is = is;\n })(TextDocumentEdit || (exports.TextDocumentEdit = TextDocumentEdit = {}));\n var CreateFile;\n (function (CreateFile) {\n function create(uri, options, annotation) {\n var result = {\n kind: 'create',\n uri: uri\n };\n if (options !== undefined && (options.overwrite !== undefined || options.ignoreIfExists !== undefined)) {\n result.options = options;\n }\n if (annotation !== undefined) {\n result.annotationId = annotation;\n }\n return result;\n }\n CreateFile.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === 'create' && Is.string(candidate.uri) && (candidate.options === undefined ||\n ((candidate.options.overwrite === undefined || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === undefined || Is.boolean(candidate.options.ignoreIfExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n CreateFile.is = is;\n })(CreateFile || (exports.CreateFile = CreateFile = {}));\n var RenameFile;\n (function (RenameFile) {\n function create(oldUri, newUri, options, annotation) {\n var result = {\n kind: 'rename',\n oldUri: oldUri,\n newUri: newUri\n };\n if (options !== undefined && (options.overwrite !== undefined || options.ignoreIfExists !== undefined)) {\n result.options = options;\n }\n if (annotation !== undefined) {\n result.annotationId = annotation;\n }\n return result;\n }\n RenameFile.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === 'rename' && Is.string(candidate.oldUri) && Is.string(candidate.newUri) && (candidate.options === undefined ||\n ((candidate.options.overwrite === undefined || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === undefined || Is.boolean(candidate.options.ignoreIfExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n RenameFile.is = is;\n })(RenameFile || (exports.RenameFile = RenameFile = {}));\n var DeleteFile;\n (function (DeleteFile) {\n function create(uri, options, annotation) {\n var result = {\n kind: 'delete',\n uri: uri\n };\n if (options !== undefined && (options.recursive !== undefined || options.ignoreIfNotExists !== undefined)) {\n result.options = options;\n }\n if (annotation !== undefined) {\n result.annotationId = annotation;\n }\n return result;\n }\n DeleteFile.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === 'delete' && Is.string(candidate.uri) && (candidate.options === undefined ||\n ((candidate.options.recursive === undefined || Is.boolean(candidate.options.recursive)) && (candidate.options.ignoreIfNotExists === undefined || Is.boolean(candidate.options.ignoreIfNotExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n DeleteFile.is = is;\n })(DeleteFile || (exports.DeleteFile = DeleteFile = {}));\n var WorkspaceEdit;\n (function (WorkspaceEdit) {\n function is(value) {\n var candidate = value;\n return candidate &&\n (candidate.changes !== undefined || candidate.documentChanges !== undefined) &&\n (candidate.documentChanges === undefined || candidate.documentChanges.every(function (change) {\n if (Is.string(change.kind)) {\n return CreateFile.is(change) || RenameFile.is(change) || DeleteFile.is(change);\n }\n else {\n return TextDocumentEdit.is(change);\n }\n }));\n }\n WorkspaceEdit.is = is;\n })(WorkspaceEdit || (exports.WorkspaceEdit = WorkspaceEdit = {}));\n var TextEditChangeImpl = /** @class */ (function () {\n function TextEditChangeImpl(edits, changeAnnotations) {\n this.edits = edits;\n this.changeAnnotations = changeAnnotations;\n }\n TextEditChangeImpl.prototype.insert = function (position, newText, annotation) {\n var edit;\n var id;\n if (annotation === undefined) {\n edit = TextEdit.insert(position, newText);\n }\n else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.insert(position, newText, annotation);\n }\n else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.insert(position, newText, id);\n }\n this.edits.push(edit);\n if (id !== undefined) {\n return id;\n }\n };\n TextEditChangeImpl.prototype.replace = function (range, newText, annotation) {\n var edit;\n var id;\n if (annotation === undefined) {\n edit = TextEdit.replace(range, newText);\n }\n else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.replace(range, newText, annotation);\n }\n else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.replace(range, newText, id);\n }\n this.edits.push(edit);\n if (id !== undefined) {\n return id;\n }\n };\n TextEditChangeImpl.prototype.delete = function (range, annotation) {\n var edit;\n var id;\n if (annotation === undefined) {\n edit = TextEdit.del(range);\n }\n else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.del(range, annotation);\n }\n else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.del(range, id);\n }\n this.edits.push(edit);\n if (id !== undefined) {\n return id;\n }\n };\n TextEditChangeImpl.prototype.add = function (edit) {\n this.edits.push(edit);\n };\n TextEditChangeImpl.prototype.all = function () {\n return this.edits;\n };\n TextEditChangeImpl.prototype.clear = function () {\n this.edits.splice(0, this.edits.length);\n };\n TextEditChangeImpl.prototype.assertChangeAnnotations = function (value) {\n if (value === undefined) {\n throw new Error(\"Text edit change is not configured to manage change annotations.\");\n }\n };\n return TextEditChangeImpl;\n }());\n /**\n * A helper class\n */\n var ChangeAnnotations = /** @class */ (function () {\n function ChangeAnnotations(annotations) {\n this._annotations = annotations === undefined ? Object.create(null) : annotations;\n this._counter = 0;\n this._size = 0;\n }\n ChangeAnnotations.prototype.all = function () {\n return this._annotations;\n };\n Object.defineProperty(ChangeAnnotations.prototype, \"size\", {\n get: function () {\n return this._size;\n },\n enumerable: false,\n configurable: true\n });\n ChangeAnnotations.prototype.manage = function (idOrAnnotation, annotation) {\n var id;\n if (ChangeAnnotationIdentifier.is(idOrAnnotation)) {\n id = idOrAnnotation;\n }\n else {\n id = this.nextId();\n annotation = idOrAnnotation;\n }\n if (this._annotations[id] !== undefined) {\n throw new Error(\"Id \".concat(id, \" is already in use.\"));\n }\n if (annotation === undefined) {\n throw new Error(\"No annotation provided for id \".concat(id));\n }\n this._annotations[id] = annotation;\n this._size++;\n return id;\n };\n ChangeAnnotations.prototype.nextId = function () {\n this._counter++;\n return this._counter.toString();\n };\n return ChangeAnnotations;\n }());\n /**\n * A workspace change helps constructing changes to a workspace.\n */\n var WorkspaceChange = /** @class */ (function () {\n function WorkspaceChange(workspaceEdit) {\n var _this = this;\n this._textEditChanges = Object.create(null);\n if (workspaceEdit !== undefined) {\n this._workspaceEdit = workspaceEdit;\n if (workspaceEdit.documentChanges) {\n this._changeAnnotations = new ChangeAnnotations(workspaceEdit.changeAnnotations);\n workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n workspaceEdit.documentChanges.forEach(function (change) {\n if (TextDocumentEdit.is(change)) {\n var textEditChange = new TextEditChangeImpl(change.edits, _this._changeAnnotations);\n _this._textEditChanges[change.textDocument.uri] = textEditChange;\n }\n });\n }\n else if (workspaceEdit.changes) {\n Object.keys(workspaceEdit.changes).forEach(function (key) {\n var textEditChange = new TextEditChangeImpl(workspaceEdit.changes[key]);\n _this._textEditChanges[key] = textEditChange;\n });\n }\n }\n else {\n this._workspaceEdit = {};\n }\n }\n Object.defineProperty(WorkspaceChange.prototype, \"edit\", {\n /**\n * Returns the underlying {@link WorkspaceEdit} literal\n * use to be returned from a workspace edit operation like rename.\n */\n get: function () {\n this.initDocumentChanges();\n if (this._changeAnnotations !== undefined) {\n if (this._changeAnnotations.size === 0) {\n this._workspaceEdit.changeAnnotations = undefined;\n }\n else {\n this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n }\n }\n return this._workspaceEdit;\n },\n enumerable: false,\n configurable: true\n });\n WorkspaceChange.prototype.getTextEditChange = function (key) {\n if (OptionalVersionedTextDocumentIdentifier.is(key)) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var textDocument = { uri: key.uri, version: key.version };\n var result = this._textEditChanges[textDocument.uri];\n if (!result) {\n var edits = [];\n var textDocumentEdit = {\n textDocument: textDocument,\n edits: edits\n };\n this._workspaceEdit.documentChanges.push(textDocumentEdit);\n result = new TextEditChangeImpl(edits, this._changeAnnotations);\n this._textEditChanges[textDocument.uri] = result;\n }\n return result;\n }\n else {\n this.initChanges();\n if (this._workspaceEdit.changes === undefined) {\n throw new Error('Workspace edit is not configured for normal text edit changes.');\n }\n var result = this._textEditChanges[key];\n if (!result) {\n var edits = [];\n this._workspaceEdit.changes[key] = edits;\n result = new TextEditChangeImpl(edits);\n this._textEditChanges[key] = result;\n }\n return result;\n }\n };\n WorkspaceChange.prototype.initDocumentChanges = function () {\n if (this._workspaceEdit.documentChanges === undefined && this._workspaceEdit.changes === undefined) {\n this._changeAnnotations = new ChangeAnnotations();\n this._workspaceEdit.documentChanges = [];\n this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n }\n };\n WorkspaceChange.prototype.initChanges = function () {\n if (this._workspaceEdit.documentChanges === undefined && this._workspaceEdit.changes === undefined) {\n this._workspaceEdit.changes = Object.create(null);\n }\n };\n WorkspaceChange.prototype.createFile = function (uri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n }\n else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === undefined) {\n operation = CreateFile.create(uri, options);\n }\n else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = CreateFile.create(uri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== undefined) {\n return id;\n }\n };\n WorkspaceChange.prototype.renameFile = function (oldUri, newUri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n }\n else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === undefined) {\n operation = RenameFile.create(oldUri, newUri, options);\n }\n else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = RenameFile.create(oldUri, newUri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== undefined) {\n return id;\n }\n };\n WorkspaceChange.prototype.deleteFile = function (uri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n }\n else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === undefined) {\n operation = DeleteFile.create(uri, options);\n }\n else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = DeleteFile.create(uri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== undefined) {\n return id;\n }\n };\n return WorkspaceChange;\n }());\n exports.WorkspaceChange = WorkspaceChange;\n /**\n * The TextDocumentIdentifier namespace provides helper functions to work with\n * {@link TextDocumentIdentifier} literals.\n */\n var TextDocumentIdentifier;\n (function (TextDocumentIdentifier) {\n /**\n * Creates a new TextDocumentIdentifier literal.\n * @param uri The document's uri.\n */\n function create(uri) {\n return { uri: uri };\n }\n TextDocumentIdentifier.create = create;\n /**\n * Checks whether the given literal conforms to the {@link TextDocumentIdentifier} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri);\n }\n TextDocumentIdentifier.is = is;\n })(TextDocumentIdentifier || (exports.TextDocumentIdentifier = TextDocumentIdentifier = {}));\n /**\n * The VersionedTextDocumentIdentifier namespace provides helper functions to work with\n * {@link VersionedTextDocumentIdentifier} literals.\n */\n var VersionedTextDocumentIdentifier;\n (function (VersionedTextDocumentIdentifier) {\n /**\n * Creates a new VersionedTextDocumentIdentifier literal.\n * @param uri The document's uri.\n * @param version The document's version.\n */\n function create(uri, version) {\n return { uri: uri, version: version };\n }\n VersionedTextDocumentIdentifier.create = create;\n /**\n * Checks whether the given literal conforms to the {@link VersionedTextDocumentIdentifier} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.integer(candidate.version);\n }\n VersionedTextDocumentIdentifier.is = is;\n })(VersionedTextDocumentIdentifier || (exports.VersionedTextDocumentIdentifier = VersionedTextDocumentIdentifier = {}));\n /**\n * The OptionalVersionedTextDocumentIdentifier namespace provides helper functions to work with\n * {@link OptionalVersionedTextDocumentIdentifier} literals.\n */\n var OptionalVersionedTextDocumentIdentifier;\n (function (OptionalVersionedTextDocumentIdentifier) {\n /**\n * Creates a new OptionalVersionedTextDocumentIdentifier literal.\n * @param uri The document's uri.\n * @param version The document's version.\n */\n function create(uri, version) {\n return { uri: uri, version: version };\n }\n OptionalVersionedTextDocumentIdentifier.create = create;\n /**\n * Checks whether the given literal conforms to the {@link OptionalVersionedTextDocumentIdentifier} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && (candidate.version === null || Is.integer(candidate.version));\n }\n OptionalVersionedTextDocumentIdentifier.is = is;\n })(OptionalVersionedTextDocumentIdentifier || (exports.OptionalVersionedTextDocumentIdentifier = OptionalVersionedTextDocumentIdentifier = {}));\n /**\n * The TextDocumentItem namespace provides helper functions to work with\n * {@link TextDocumentItem} literals.\n */\n var TextDocumentItem;\n (function (TextDocumentItem) {\n /**\n * Creates a new TextDocumentItem literal.\n * @param uri The document's uri.\n * @param languageId The document's language identifier.\n * @param version The document's version number.\n * @param text The document's text.\n */\n function create(uri, languageId, version, text) {\n return { uri: uri, languageId: languageId, version: version, text: text };\n }\n TextDocumentItem.create = create;\n /**\n * Checks whether the given literal conforms to the {@link TextDocumentItem} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.string(candidate.languageId) && Is.integer(candidate.version) && Is.string(candidate.text);\n }\n TextDocumentItem.is = is;\n })(TextDocumentItem || (exports.TextDocumentItem = TextDocumentItem = {}));\n /**\n * Describes the content type that a client supports in various\n * result literals like `Hover`, `ParameterInfo` or `CompletionItem`.\n *\n * Please note that `MarkupKinds` must not start with a `$`. This kinds\n * are reserved for internal usage.\n */\n var MarkupKind;\n (function (MarkupKind) {\n /**\n * Plain text is supported as a content format\n */\n MarkupKind.PlainText = 'plaintext';\n /**\n * Markdown is supported as a content format\n */\n MarkupKind.Markdown = 'markdown';\n /**\n * Checks whether the given value is a value of the {@link MarkupKind} type.\n */\n function is(value) {\n var candidate = value;\n return candidate === MarkupKind.PlainText || candidate === MarkupKind.Markdown;\n }\n MarkupKind.is = is;\n })(MarkupKind || (exports.MarkupKind = MarkupKind = {}));\n var MarkupContent;\n (function (MarkupContent) {\n /**\n * Checks whether the given value conforms to the {@link MarkupContent} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(value) && MarkupKind.is(candidate.kind) && Is.string(candidate.value);\n }\n MarkupContent.is = is;\n })(MarkupContent || (exports.MarkupContent = MarkupContent = {}));\n /**\n * The kind of a completion entry.\n */\n var CompletionItemKind;\n (function (CompletionItemKind) {\n CompletionItemKind.Text = 1;\n CompletionItemKind.Method = 2;\n CompletionItemKind.Function = 3;\n CompletionItemKind.Constructor = 4;\n CompletionItemKind.Field = 5;\n CompletionItemKind.Variable = 6;\n CompletionItemKind.Class = 7;\n CompletionItemKind.Interface = 8;\n CompletionItemKind.Module = 9;\n CompletionItemKind.Property = 10;\n CompletionItemKind.Unit = 11;\n CompletionItemKind.Value = 12;\n CompletionItemKind.Enum = 13;\n CompletionItemKind.Keyword = 14;\n CompletionItemKind.Snippet = 15;\n CompletionItemKind.Color = 16;\n CompletionItemKind.File = 17;\n CompletionItemKind.Reference = 18;\n CompletionItemKind.Folder = 19;\n CompletionItemKind.EnumMember = 20;\n CompletionItemKind.Constant = 21;\n CompletionItemKind.Struct = 22;\n CompletionItemKind.Event = 23;\n CompletionItemKind.Operator = 24;\n CompletionItemKind.TypeParameter = 25;\n })(CompletionItemKind || (exports.CompletionItemKind = CompletionItemKind = {}));\n /**\n * Defines whether the insert text in a completion item should be interpreted as\n * plain text or a snippet.\n */\n var InsertTextFormat;\n (function (InsertTextFormat) {\n /**\n * The primary text to be inserted is treated as a plain string.\n */\n InsertTextFormat.PlainText = 1;\n /**\n * The primary text to be inserted is treated as a snippet.\n *\n * A snippet can define tab stops and placeholders with `$1`, `$2`\n * and `${3:foo}`. `$0` defines the final tab stop, it defaults to\n * the end of the snippet. Placeholders with equal identifiers are linked,\n * that is typing in one will update others too.\n *\n * See also: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#snippet_syntax\n */\n InsertTextFormat.Snippet = 2;\n })(InsertTextFormat || (exports.InsertTextFormat = InsertTextFormat = {}));\n /**\n * Completion item tags are extra annotations that tweak the rendering of a completion\n * item.\n *\n * @since 3.15.0\n */\n var CompletionItemTag;\n (function (CompletionItemTag) {\n /**\n * Render a completion as obsolete, usually using a strike-out.\n */\n CompletionItemTag.Deprecated = 1;\n })(CompletionItemTag || (exports.CompletionItemTag = CompletionItemTag = {}));\n /**\n * The InsertReplaceEdit namespace provides functions to deal with insert / replace edits.\n *\n * @since 3.16.0\n */\n var InsertReplaceEdit;\n (function (InsertReplaceEdit) {\n /**\n * Creates a new insert / replace edit\n */\n function create(newText, insert, replace) {\n return { newText: newText, insert: insert, replace: replace };\n }\n InsertReplaceEdit.create = create;\n /**\n * Checks whether the given literal conforms to the {@link InsertReplaceEdit} interface.\n */\n function is(value) {\n var candidate = value;\n return candidate && Is.string(candidate.newText) && Range.is(candidate.insert) && Range.is(candidate.replace);\n }\n InsertReplaceEdit.is = is;\n })(InsertReplaceEdit || (exports.InsertReplaceEdit = InsertReplaceEdit = {}));\n /**\n * How whitespace and indentation is handled during completion\n * item insertion.\n *\n * @since 3.16.0\n */\n var InsertTextMode;\n (function (InsertTextMode) {\n /**\n * The insertion or replace strings is taken as it is. If the\n * value is multi line the lines below the cursor will be\n * inserted using the indentation defined in the string value.\n * The client will not apply any kind of adjustments to the\n * string.\n */\n InsertTextMode.asIs = 1;\n /**\n * The editor adjusts leading whitespace of new lines so that\n * they match the indentation up to the cursor of the line for\n * which the item is accepted.\n *\n * Consider a line like this: <2tabs><cursor><3tabs>foo. Accepting a\n * multi line completion item is indented using 2 tabs and all\n * following lines inserted will be indented using 2 tabs as well.\n */\n InsertTextMode.adjustIndentation = 2;\n })(InsertTextMode || (exports.InsertTextMode = InsertTextMode = {}));\n var CompletionItemLabelDetails;\n (function (CompletionItemLabelDetails) {\n function is(value) {\n var candidate = value;\n return candidate && (Is.string(candidate.detail) || candidate.detail === undefined) &&\n (Is.string(candidate.description) || candidate.description === undefined);\n }\n CompletionItemLabelDetails.is = is;\n })(CompletionItemLabelDetails || (exports.CompletionItemLabelDetails = CompletionItemLabelDetails = {}));\n /**\n * The CompletionItem namespace provides functions to deal with\n * completion items.\n */\n var CompletionItem;\n (function (CompletionItem) {\n /**\n * Create a completion item and seed it with a label.\n * @param label The completion item's label\n */\n function create(label) {\n return { label: label };\n }\n CompletionItem.create = create;\n })(CompletionItem || (exports.CompletionItem = CompletionItem = {}));\n /**\n * The CompletionList namespace provides functions to deal with\n * completion lists.\n */\n var CompletionList;\n (function (CompletionList) {\n /**\n * Creates a new completion list.\n *\n * @param items The completion items.\n * @param isIncomplete The list is not complete.\n */\n function create(items, isIncomplete) {\n return { items: items ? items : [], isIncomplete: !!isIncomplete };\n }\n CompletionList.create = create;\n })(CompletionList || (exports.CompletionList = CompletionList = {}));\n var MarkedString;\n (function (MarkedString) {\n /**\n * Creates a marked string from plain text.\n *\n * @param plainText The plain text.\n */\n function fromPlainText(plainText) {\n return plainText.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g, '\\\\$&'); // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash\n }\n MarkedString.fromPlainText = fromPlainText;\n /**\n * Checks whether the given value conforms to the {@link MarkedString} type.\n */\n function is(value) {\n var candidate = value;\n return Is.string(candidate) || (Is.objectLiteral(candidate) && Is.string(candidate.language) && Is.string(candidate.value));\n }\n MarkedString.is = is;\n })(MarkedString || (exports.MarkedString = MarkedString = {}));\n var Hover;\n (function (Hover) {\n /**\n * Checks whether the given value conforms to the {@link Hover} interface.\n */\n function is(value) {\n var candidate = value;\n return !!candidate && Is.objectLiteral(candidate) && (MarkupContent.is(candidate.contents) ||\n MarkedString.is(candidate.contents) ||\n Is.typedArray(candidate.contents, MarkedString.is)) && (value.range === undefined || Range.is(value.range));\n }\n Hover.is = is;\n })(Hover || (exports.Hover = Hover = {}));\n /**\n * The ParameterInformation namespace provides helper functions to work with\n * {@link ParameterInformation} literals.\n */\n var ParameterInformation;\n (function (ParameterInformation) {\n /**\n * Creates a new parameter information literal.\n *\n * @param label A label string.\n * @param documentation A doc string.\n */\n function create(label, documentation) {\n return documentation ? { label: label, documentation: documentation } : { label: label };\n }\n ParameterInformation.create = create;\n })(ParameterInformation || (exports.ParameterInformation = ParameterInformation = {}));\n /**\n * The SignatureInformation namespace provides helper functions to work with\n * {@link SignatureInformation} literals.\n */\n var SignatureInformation;\n (function (SignatureInformation) {\n function create(label, documentation) {\n var parameters = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n parameters[_i - 2] = arguments[_i];\n }\n var result = { label: label };\n if (Is.defined(documentation)) {\n result.documentation = documentation;\n }\n if (Is.defined(parameters)) {\n result.parameters = parameters;\n }\n else {\n result.parameters = [];\n }\n return result;\n }\n SignatureInformation.create = create;\n })(SignatureInformation || (exports.SignatureInformation = SignatureInformation = {}));\n /**\n * A document highlight kind.\n */\n var DocumentHighlightKind;\n (function (DocumentHighlightKind) {\n /**\n * A textual occurrence.\n */\n DocumentHighlightKind.Text = 1;\n /**\n * Read-access of a symbol, like reading a variable.\n */\n DocumentHighlightKind.Read = 2;\n /**\n * Write-access of a symbol, like writing to a variable.\n */\n DocumentHighlightKind.Write = 3;\n })(DocumentHighlightKind || (exports.DocumentHighlightKind = DocumentHighlightKind = {}));\n /**\n * DocumentHighlight namespace to provide helper functions to work with\n * {@link DocumentHighlight} literals.\n */\n var DocumentHighlight;\n (function (DocumentHighlight) {\n /**\n * Create a DocumentHighlight object.\n * @param range The range the highlight applies to.\n * @param kind The highlight kind\n */\n function create(range, kind) {\n var result = { range: range };\n if (Is.number(kind)) {\n result.kind = kind;\n }\n return result;\n }\n DocumentHighlight.create = create;\n })(DocumentHighlight || (exports.DocumentHighlight = DocumentHighlight = {}));\n /**\n * A symbol kind.\n */\n var SymbolKind;\n (function (SymbolKind) {\n SymbolKind.File = 1;\n SymbolKind.Module = 2;\n SymbolKind.Namespace = 3;\n SymbolKind.Package = 4;\n SymbolKind.Class = 5;\n SymbolKind.Method = 6;\n SymbolKind.Property = 7;\n SymbolKind.Field = 8;\n SymbolKind.Constructor = 9;\n SymbolKind.Enum = 10;\n SymbolKind.Interface = 11;\n SymbolKind.Function = 12;\n SymbolKind.Variable = 13;\n SymbolKind.Constant = 14;\n SymbolKind.String = 15;\n SymbolKind.Number = 16;\n SymbolKind.Boolean = 17;\n SymbolKind.Array = 18;\n SymbolKind.Object = 19;\n SymbolKind.Key = 20;\n SymbolKind.Null = 21;\n SymbolKind.EnumMember = 22;\n SymbolKind.Struct = 23;\n SymbolKind.Event = 24;\n SymbolKind.Operator = 25;\n SymbolKind.TypeParameter = 26;\n })(SymbolKind || (exports.SymbolKind = SymbolKind = {}));\n /**\n * Symbol tags are extra annotations that tweak the rendering of a symbol.\n *\n * @since 3.16\n */\n var SymbolTag;\n (function (SymbolTag) {\n /**\n * Render a symbol as obsolete, usually using a strike-out.\n */\n SymbolTag.Deprecated = 1;\n })(SymbolTag || (exports.SymbolTag = SymbolTag = {}));\n var SymbolInformation;\n (function (SymbolInformation) {\n /**\n * Creates a new symbol information literal.\n *\n * @param name The name of the symbol.\n * @param kind The kind of the symbol.\n * @param range The range of the location of the symbol.\n * @param uri The resource of the location of symbol.\n * @param containerName The name of the symbol containing the symbol.\n */\n function create(name, kind, range, uri, containerName) {\n var result = {\n name: name,\n kind: kind,\n location: { uri: uri, range: range }\n };\n if (containerName) {\n result.containerName = containerName;\n }\n return result;\n }\n SymbolInformation.create = create;\n })(SymbolInformation || (exports.SymbolInformation = SymbolInformation = {}));\n var WorkspaceSymbol;\n (function (WorkspaceSymbol) {\n /**\n * Create a new workspace symbol.\n *\n * @param name The name of the symbol.\n * @param kind The kind of the symbol.\n * @param uri The resource of the location of the symbol.\n * @param range An options range of the location.\n * @returns A WorkspaceSymbol.\n */\n function create(name, kind, uri, range) {\n return range !== undefined\n ? { name: name, kind: kind, location: { uri: uri, range: range } }\n : { name: name, kind: kind, location: { uri: uri } };\n }\n WorkspaceSymbol.create = create;\n })(WorkspaceSymbol || (exports.WorkspaceSymbol = WorkspaceSymbol = {}));\n var DocumentSymbol;\n (function (DocumentSymbol) {\n /**\n * Creates a new symbol information literal.\n *\n * @param name The name of the symbol.\n * @param detail The detail of the symbol.\n * @param kind The kind of the symbol.\n * @param range The range of the symbol.\n * @param selectionRange The selectionRange of the symbol.\n * @param children Children of the symbol.\n */\n function create(name, detail, kind, range, selectionRange, children) {\n var result = {\n name: name,\n detail: detail,\n kind: kind,\n range: range,\n selectionRange: selectionRange\n };\n if (children !== undefined) {\n result.children = children;\n }\n return result;\n }\n DocumentSymbol.create = create;\n /**\n * Checks whether the given literal conforms to the {@link DocumentSymbol} interface.\n */\n function is(value) {\n var candidate = value;\n return candidate &&\n Is.string(candidate.name) && Is.number(candidate.kind) &&\n Range.is(candidate.range) && Range.is(candidate.selectionRange) &&\n (candidate.detail === undefined || Is.string(candidate.detail)) &&\n (candidate.deprecated === undefined || Is.boolean(candidate.deprecated)) &&\n (candidate.children === undefined || Array.isArray(candidate.children)) &&\n (candidate.tags === undefined || Array.isArray(candidate.tags));\n }\n DocumentSymbol.is = is;\n })(DocumentSymbol || (exports.DocumentSymbol = DocumentSymbol = {}));\n /**\n * A set of predefined code action kinds\n */\n var CodeActionKind;\n (function (CodeActionKind) {\n /**\n * Empty kind.\n */\n CodeActionKind.Empty = '';\n /**\n * Base kind for quickfix actions: 'quickfix'\n */\n CodeActionKind.QuickFix = 'quickfix';\n /**\n * Base kind for refactoring actions: 'refactor'\n */\n CodeActionKind.Refactor = 'refactor';\n /**\n * Base kind for refactoring extraction actions: 'refactor.extract'\n *\n * Example extract actions:\n *\n * - Extract method\n * - Extract function\n * - Extract variable\n * - Extract interface from class\n * - ...\n */\n CodeActionKind.RefactorExtract = 'refactor.extract';\n /**\n * Base kind for refactoring inline actions: 'refactor.inline'\n *\n * Example inline actions:\n *\n * - Inline function\n * - Inline variable\n * - Inline constant\n * - ...\n */\n CodeActionKind.RefactorInline = 'refactor.inline';\n /**\n * Base kind for refactoring rewrite actions: 'refactor.rewrite'\n *\n * Example rewrite actions:\n *\n * - Convert JavaScript function to class\n * - Add or remove parameter\n * - Encapsulate field\n * - Make method static\n * - Move method to base class\n * - ...\n */\n CodeActionKind.RefactorRewrite = 'refactor.rewrite';\n /**\n * Base kind for source actions: `source`\n *\n * Source code actions apply to the entire file.\n */\n CodeActionKind.Source = 'source';\n /**\n * Base kind for an organize imports source action: `source.organizeImports`\n */\n CodeActionKind.SourceOrganizeImports = 'source.organizeImports';\n /**\n * Base kind for auto-fix source actions: `source.fixAll`.\n *\n * Fix all actions automatically fix errors that have a clear fix that do not require user input.\n * They should not suppress errors or perform unsafe fixes such as generating new types or classes.\n *\n * @since 3.15.0\n */\n CodeActionKind.SourceFixAll = 'source.fixAll';\n })(CodeActionKind || (exports.CodeActionKind = CodeActionKind = {}));\n /**\n * The reason why code actions were requested.\n *\n * @since 3.17.0\n */\n var CodeActionTriggerKind;\n (function (CodeActionTriggerKind) {\n /**\n * Code actions were explicitly requested by the user or by an extension.\n */\n CodeActionTriggerKind.Invoked = 1;\n /**\n * Code actions were requested automatically.\n *\n * This typically happens when current selection in a file changes, but can\n * also be triggered when file content changes.\n */\n CodeActionTriggerKind.Automatic = 2;\n })(CodeActionTriggerKind || (exports.CodeActionTriggerKind = CodeActionTriggerKind = {}));\n /**\n * The CodeActionContext namespace provides helper functions to work with\n * {@link CodeActionContext} literals.\n */\n var CodeActionContext;\n (function (CodeActionContext) {\n /**\n * Creates a new CodeActionContext literal.\n */\n function create(diagnostics, only, triggerKind) {\n var result = { diagnostics: diagnostics };\n if (only !== undefined && only !== null) {\n result.only = only;\n }\n if (triggerKind !== undefined && triggerKind !== null) {\n result.triggerKind = triggerKind;\n }\n return result;\n }\n CodeActionContext.create = create;\n /**\n * Checks whether the given literal conforms to the {@link CodeActionContext} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.typedArray(candidate.diagnostics, Diagnostic.is)\n && (candidate.only === undefined || Is.typedArray(candidate.only, Is.string))\n && (candidate.triggerKind === undefined || candidate.triggerKind === CodeActionTriggerKind.Invoked || candidate.triggerKind === CodeActionTriggerKind.Automatic);\n }\n CodeActionContext.is = is;\n })(CodeActionContext || (exports.CodeActionContext = CodeActionContext = {}));\n var CodeAction;\n (function (CodeAction) {\n function create(title, kindOrCommandOrEdit, kind) {\n var result = { title: title };\n var checkKind = true;\n if (typeof kindOrCommandOrEdit === 'string') {\n checkKind = false;\n result.kind = kindOrCommandOrEdit;\n }\n else if (Command.is(kindOrCommandOrEdit)) {\n result.command = kindOrCommandOrEdit;\n }\n else {\n result.edit = kindOrCommandOrEdit;\n }\n if (checkKind && kind !== undefined) {\n result.kind = kind;\n }\n return result;\n }\n CodeAction.create = create;\n function is(value) {\n var candidate = value;\n return candidate && Is.string(candidate.title) &&\n (candidate.diagnostics === undefined || Is.typedArray(candidate.diagnostics, Diagnostic.is)) &&\n (candidate.kind === undefined || Is.string(candidate.kind)) &&\n (candidate.edit !== undefined || candidate.command !== undefined) &&\n (candidate.command === undefined || Command.is(candidate.command)) &&\n (candidate.isPreferred === undefined || Is.boolean(candidate.isPreferred)) &&\n (candidate.edit === undefined || WorkspaceEdit.is(candidate.edit));\n }\n CodeAction.is = is;\n })(CodeAction || (exports.CodeAction = CodeAction = {}));\n /**\n * The CodeLens namespace provides helper functions to work with\n * {@link CodeLens} literals.\n */\n var CodeLens;\n (function (CodeLens) {\n /**\n * Creates a new CodeLens literal.\n */\n function create(range, data) {\n var result = { range: range };\n if (Is.defined(data)) {\n result.data = data;\n }\n return result;\n }\n CodeLens.create = create;\n /**\n * Checks whether the given literal conforms to the {@link CodeLens} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.command) || Command.is(candidate.command));\n }\n CodeLens.is = is;\n })(CodeLens || (exports.CodeLens = CodeLens = {}));\n /**\n * The FormattingOptions namespace provides helper functions to work with\n * {@link FormattingOptions} literals.\n */\n var FormattingOptions;\n (function (FormattingOptions) {\n /**\n * Creates a new FormattingOptions literal.\n */\n function create(tabSize, insertSpaces) {\n return { tabSize: tabSize, insertSpaces: insertSpaces };\n }\n FormattingOptions.create = create;\n /**\n * Checks whether the given literal conforms to the {@link FormattingOptions} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.uinteger(candidate.tabSize) && Is.boolean(candidate.insertSpaces);\n }\n FormattingOptions.is = is;\n })(FormattingOptions || (exports.FormattingOptions = FormattingOptions = {}));\n /**\n * The DocumentLink namespace provides helper functions to work with\n * {@link DocumentLink} literals.\n */\n var DocumentLink;\n (function (DocumentLink) {\n /**\n * Creates a new DocumentLink literal.\n */\n function create(range, target, data) {\n return { range: range, target: target, data: data };\n }\n DocumentLink.create = create;\n /**\n * Checks whether the given literal conforms to the {@link DocumentLink} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.target) || Is.string(candidate.target));\n }\n DocumentLink.is = is;\n })(DocumentLink || (exports.DocumentLink = DocumentLink = {}));\n /**\n * The SelectionRange namespace provides helper function to work with\n * SelectionRange literals.\n */\n var SelectionRange;\n (function (SelectionRange) {\n /**\n * Creates a new SelectionRange\n * @param range the range.\n * @param parent an optional parent.\n */\n function create(range, parent) {\n return { range: range, parent: parent };\n }\n SelectionRange.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.range) && (candidate.parent === undefined || SelectionRange.is(candidate.parent));\n }\n SelectionRange.is = is;\n })(SelectionRange || (exports.SelectionRange = SelectionRange = {}));\n /**\n * A set of predefined token types. This set is not fixed\n * an clients can specify additional token types via the\n * corresponding client capabilities.\n *\n * @since 3.16.0\n */\n var SemanticTokenTypes;\n (function (SemanticTokenTypes) {\n SemanticTokenTypes[\"namespace\"] = \"namespace\";\n /**\n * Represents a generic type. Acts as a fallback for types which can't be mapped to\n * a specific type like class or enum.\n */\n SemanticTokenTypes[\"type\"] = \"type\";\n SemanticTokenTypes[\"class\"] = \"class\";\n SemanticTokenTypes[\"enum\"] = \"enum\";\n SemanticTokenTypes[\"interface\"] = \"interface\";\n SemanticTokenTypes[\"struct\"] = \"struct\";\n SemanticTokenTypes[\"typeParameter\"] = \"typeParameter\";\n SemanticTokenTypes[\"parameter\"] = \"parameter\";\n SemanticTokenTypes[\"variable\"] = \"variable\";\n SemanticTokenTypes[\"property\"] = \"property\";\n SemanticTokenTypes[\"enumMember\"] = \"enumMember\";\n SemanticTokenTypes[\"event\"] = \"event\";\n SemanticTokenTypes[\"function\"] = \"function\";\n SemanticTokenTypes[\"method\"] = \"method\";\n SemanticTokenTypes[\"macro\"] = \"macro\";\n SemanticTokenTypes[\"keyword\"] = \"keyword\";\n SemanticTokenTypes[\"modifier\"] = \"modifier\";\n SemanticTokenTypes[\"comment\"] = \"comment\";\n SemanticTokenTypes[\"string\"] = \"string\";\n SemanticTokenTypes[\"number\"] = \"number\";\n SemanticTokenTypes[\"regexp\"] = \"regexp\";\n SemanticTokenTypes[\"operator\"] = \"operator\";\n /**\n * @since 3.17.0\n */\n SemanticTokenTypes[\"decorator\"] = \"decorator\";\n })(SemanticTokenTypes || (exports.SemanticTokenTypes = SemanticTokenTypes = {}));\n /**\n * A set of predefined token modifiers. This set is not fixed\n * an clients can specify additional token types via the\n * corresponding client capabilities.\n *\n * @since 3.16.0\n */\n var SemanticTokenModifiers;\n (function (SemanticTokenModifiers) {\n SemanticTokenModifiers[\"declaration\"] = \"declaration\";\n SemanticTokenModifiers[\"definition\"] = \"definition\";\n SemanticTokenModifiers[\"readonly\"] = \"readonly\";\n SemanticTokenModifiers[\"static\"] = \"static\";\n SemanticTokenModifiers[\"deprecated\"] = \"deprecated\";\n SemanticTokenModifiers[\"abstract\"] = \"abstract\";\n SemanticTokenModifiers[\"async\"] = \"async\";\n SemanticTokenModifiers[\"modification\"] = \"modification\";\n SemanticTokenModifiers[\"documentation\"] = \"documentation\";\n SemanticTokenModifiers[\"defaultLibrary\"] = \"defaultLibrary\";\n })(SemanticTokenModifiers || (exports.SemanticTokenModifiers = SemanticTokenModifiers = {}));\n /**\n * @since 3.16.0\n */\n var SemanticTokens;\n (function (SemanticTokens) {\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && (candidate.resultId === undefined || typeof candidate.resultId === 'string') &&\n Array.isArray(candidate.data) && (candidate.data.length === 0 || typeof candidate.data[0] === 'number');\n }\n SemanticTokens.is = is;\n })(SemanticTokens || (exports.SemanticTokens = SemanticTokens = {}));\n /**\n * The InlineValueText namespace provides functions to deal with InlineValueTexts.\n *\n * @since 3.17.0\n */\n var InlineValueText;\n (function (InlineValueText) {\n /**\n * Creates a new InlineValueText literal.\n */\n function create(range, text) {\n return { range: range, text: text };\n }\n InlineValueText.create = create;\n function is(value) {\n var candidate = value;\n return candidate !== undefined && candidate !== null && Range.is(candidate.range) && Is.string(candidate.text);\n }\n InlineValueText.is = is;\n })(InlineValueText || (exports.InlineValueText = InlineValueText = {}));\n /**\n * The InlineValueVariableLookup namespace provides functions to deal with InlineValueVariableLookups.\n *\n * @since 3.17.0\n */\n var InlineValueVariableLookup;\n (function (InlineValueVariableLookup) {\n /**\n * Creates a new InlineValueText literal.\n */\n function create(range, variableName, caseSensitiveLookup) {\n return { range: range, variableName: variableName, caseSensitiveLookup: caseSensitiveLookup };\n }\n InlineValueVariableLookup.create = create;\n function is(value) {\n var candidate = value;\n return candidate !== undefined && candidate !== null && Range.is(candidate.range) && Is.boolean(candidate.caseSensitiveLookup)\n && (Is.string(candidate.variableName) || candidate.variableName === undefined);\n }\n InlineValueVariableLookup.is = is;\n })(InlineValueVariableLookup || (exports.InlineValueVariableLookup = InlineValueVariableLookup = {}));\n /**\n * The InlineValueEvaluatableExpression namespace provides functions to deal with InlineValueEvaluatableExpression.\n *\n * @since 3.17.0\n */\n var InlineValueEvaluatableExpression;\n (function (InlineValueEvaluatableExpression) {\n /**\n * Creates a new InlineValueEvaluatableExpression literal.\n */\n function create(range, expression) {\n return { range: range, expression: expression };\n }\n InlineValueEvaluatableExpression.create = create;\n function is(value) {\n var candidate = value;\n return candidate !== undefined && candidate !== null && Range.is(candidate.range)\n && (Is.string(candidate.expression) || candidate.expression === undefined);\n }\n InlineValueEvaluatableExpression.is = is;\n })(InlineValueEvaluatableExpression || (exports.InlineValueEvaluatableExpression = InlineValueEvaluatableExpression = {}));\n /**\n * The InlineValueContext namespace provides helper functions to work with\n * {@link InlineValueContext} literals.\n *\n * @since 3.17.0\n */\n var InlineValueContext;\n (function (InlineValueContext) {\n /**\n * Creates a new InlineValueContext literal.\n */\n function create(frameId, stoppedLocation) {\n return { frameId: frameId, stoppedLocation: stoppedLocation };\n }\n InlineValueContext.create = create;\n /**\n * Checks whether the given literal conforms to the {@link InlineValueContext} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(value.stoppedLocation);\n }\n InlineValueContext.is = is;\n })(InlineValueContext || (exports.InlineValueContext = InlineValueContext = {}));\n /**\n * Inlay hint kinds.\n *\n * @since 3.17.0\n */\n var InlayHintKind;\n (function (InlayHintKind) {\n /**\n * An inlay hint that for a type annotation.\n */\n InlayHintKind.Type = 1;\n /**\n * An inlay hint that is for a parameter.\n */\n InlayHintKind.Parameter = 2;\n function is(value) {\n return value === 1 || value === 2;\n }\n InlayHintKind.is = is;\n })(InlayHintKind || (exports.InlayHintKind = InlayHintKind = {}));\n var InlayHintLabelPart;\n (function (InlayHintLabelPart) {\n function create(value) {\n return { value: value };\n }\n InlayHintLabelPart.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate)\n && (candidate.tooltip === undefined || Is.string(candidate.tooltip) || MarkupContent.is(candidate.tooltip))\n && (candidate.location === undefined || Location.is(candidate.location))\n && (candidate.command === undefined || Command.is(candidate.command));\n }\n InlayHintLabelPart.is = is;\n })(InlayHintLabelPart || (exports.InlayHintLabelPart = InlayHintLabelPart = {}));\n var InlayHint;\n (function (InlayHint) {\n function create(position, label, kind) {\n var result = { position: position, label: label };\n if (kind !== undefined) {\n result.kind = kind;\n }\n return result;\n }\n InlayHint.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Position.is(candidate.position)\n && (Is.string(candidate.label) || Is.typedArray(candidate.label, InlayHintLabelPart.is))\n && (candidate.kind === undefined || InlayHintKind.is(candidate.kind))\n && (candidate.textEdits === undefined) || Is.typedArray(candidate.textEdits, TextEdit.is)\n && (candidate.tooltip === undefined || Is.string(candidate.tooltip) || MarkupContent.is(candidate.tooltip))\n && (candidate.paddingLeft === undefined || Is.boolean(candidate.paddingLeft))\n && (candidate.paddingRight === undefined || Is.boolean(candidate.paddingRight));\n }\n InlayHint.is = is;\n })(InlayHint || (exports.InlayHint = InlayHint = {}));\n var StringValue;\n (function (StringValue) {\n function createSnippet(value) {\n return { kind: 'snippet', value: value };\n }\n StringValue.createSnippet = createSnippet;\n })(StringValue || (exports.StringValue = StringValue = {}));\n var InlineCompletionItem;\n (function (InlineCompletionItem) {\n function create(insertText, filterText, range, command) {\n return { insertText: insertText, filterText: filterText, range: range, command: command };\n }\n InlineCompletionItem.create = create;\n })(InlineCompletionItem || (exports.InlineCompletionItem = InlineCompletionItem = {}));\n var InlineCompletionList;\n (function (InlineCompletionList) {\n function create(items) {\n return { items: items };\n }\n InlineCompletionList.create = create;\n })(InlineCompletionList || (exports.InlineCompletionList = InlineCompletionList = {}));\n /**\n * Describes how an {@link InlineCompletionItemProvider inline completion provider} was triggered.\n *\n * @since 3.18.0\n * @proposed\n */\n var InlineCompletionTriggerKind;\n (function (InlineCompletionTriggerKind) {\n /**\n * Completion was triggered explicitly by a user gesture.\n */\n InlineCompletionTriggerKind.Invoked = 0;\n /**\n * Completion was triggered automatically while editing.\n */\n InlineCompletionTriggerKind.Automatic = 1;\n })(InlineCompletionTriggerKind || (exports.InlineCompletionTriggerKind = InlineCompletionTriggerKind = {}));\n var SelectedCompletionInfo;\n (function (SelectedCompletionInfo) {\n function create(range, text) {\n return { range: range, text: text };\n }\n SelectedCompletionInfo.create = create;\n })(SelectedCompletionInfo || (exports.SelectedCompletionInfo = SelectedCompletionInfo = {}));\n var InlineCompletionContext;\n (function (InlineCompletionContext) {\n function create(triggerKind, selectedCompletionInfo) {\n return { triggerKind: triggerKind, selectedCompletionInfo: selectedCompletionInfo };\n }\n InlineCompletionContext.create = create;\n })(InlineCompletionContext || (exports.InlineCompletionContext = InlineCompletionContext = {}));\n var WorkspaceFolder;\n (function (WorkspaceFolder) {\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && URI.is(candidate.uri) && Is.string(candidate.name);\n }\n WorkspaceFolder.is = is;\n })(WorkspaceFolder || (exports.WorkspaceFolder = WorkspaceFolder = {}));\n exports.EOL = ['\\n', '\\r\\n', '\\r'];\n /**\n * @deprecated Use the text document from the new vscode-languageserver-textdocument package.\n */\n var TextDocument;\n (function (TextDocument) {\n /**\n * Creates a new ITextDocument literal from the given uri and content.\n * @param uri The document's uri.\n * @param languageId The document's language Id.\n * @param version The document's version.\n * @param content The document's content.\n */\n function create(uri, languageId, version, content) {\n return new FullTextDocument(uri, languageId, version, content);\n }\n TextDocument.create = create;\n /**\n * Checks whether the given literal conforms to the {@link ITextDocument} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && (Is.undefined(candidate.languageId) || Is.string(candidate.languageId)) && Is.uinteger(candidate.lineCount)\n && Is.func(candidate.getText) && Is.func(candidate.positionAt) && Is.func(candidate.offsetAt) ? true : false;\n }\n TextDocument.is = is;\n function applyEdits(document, edits) {\n var text = document.getText();\n var sortedEdits = mergeSort(edits, function (a, b) {\n var diff = a.range.start.line - b.range.start.line;\n if (diff === 0) {\n return a.range.start.character - b.range.start.character;\n }\n return diff;\n });\n var lastModifiedOffset = text.length;\n for (var i = sortedEdits.length - 1; i >= 0; i--) {\n var e = sortedEdits[i];\n var startOffset = document.offsetAt(e.range.start);\n var endOffset = document.offsetAt(e.range.end);\n if (endOffset <= lastModifiedOffset) {\n text = text.substring(0, startOffset) + e.newText + text.substring(endOffset, text.length);\n }\n else {\n throw new Error('Overlapping edit');\n }\n lastModifiedOffset = startOffset;\n }\n return text;\n }\n TextDocument.applyEdits = applyEdits;\n function mergeSort(data, compare) {\n if (data.length <= 1) {\n // sorted\n return data;\n }\n var p = (data.length / 2) | 0;\n var left = data.slice(0, p);\n var right = data.slice(p);\n mergeSort(left, compare);\n mergeSort(right, compare);\n var leftIdx = 0;\n var rightIdx = 0;\n var i = 0;\n while (leftIdx < left.length && rightIdx < right.length) {\n var ret = compare(left[leftIdx], right[rightIdx]);\n if (ret <= 0) {\n // smaller_equal -> take left to preserve order\n data[i++] = left[leftIdx++];\n }\n else {\n // greater -> take right\n data[i++] = right[rightIdx++];\n }\n }\n while (leftIdx < left.length) {\n data[i++] = left[leftIdx++];\n }\n while (rightIdx < right.length) {\n data[i++] = right[rightIdx++];\n }\n return data;\n }\n })(TextDocument || (exports.TextDocument = TextDocument = {}));\n /**\n * @deprecated Use the text document from the new vscode-languageserver-textdocument package.\n */\n var FullTextDocument = /** @class */ (function () {\n function FullTextDocument(uri, languageId, version, content) {\n this._uri = uri;\n this._languageId = languageId;\n this._version = version;\n this._content = content;\n this._lineOffsets = undefined;\n }\n Object.defineProperty(FullTextDocument.prototype, \"uri\", {\n get: function () {\n return this._uri;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FullTextDocument.prototype, \"languageId\", {\n get: function () {\n return this._languageId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FullTextDocument.prototype, \"version\", {\n get: function () {\n return this._version;\n },\n enumerable: false,\n configurable: true\n });\n FullTextDocument.prototype.getText = function (range) {\n if (range) {\n var start = this.offsetAt(range.start);\n var end = this.offsetAt(range.end);\n return this._content.substring(start, end);\n }\n return this._content;\n };\n FullTextDocument.prototype.update = function (event, version) {\n this._content = event.text;\n this._version = version;\n this._lineOffsets = undefined;\n };\n FullTextDocument.prototype.getLineOffsets = function () {\n if (this._lineOffsets === undefined) {\n var lineOffsets = [];\n var text = this._content;\n var isLineStart = true;\n for (var i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n var ch = text.charAt(i);\n isLineStart = (ch === '\\r' || ch === '\\n');\n if (ch === '\\r' && i + 1 < text.length && text.charAt(i + 1) === '\\n') {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n this._lineOffsets = lineOffsets;\n }\n return this._lineOffsets;\n };\n FullTextDocument.prototype.positionAt = function (offset) {\n offset = Math.max(Math.min(offset, this._content.length), 0);\n var lineOffsets = this.getLineOffsets();\n var low = 0, high = lineOffsets.length;\n if (high === 0) {\n return Position.create(0, offset);\n }\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (lineOffsets[mid] > offset) {\n high = mid;\n }\n else {\n low = mid + 1;\n }\n }\n // low is the least x for which the line offset is larger than the current offset\n // or array.length if no line offset is larger than the current offset\n var line = low - 1;\n return Position.create(line, offset - lineOffsets[line]);\n };\n FullTextDocument.prototype.offsetAt = function (position) {\n var lineOffsets = this.getLineOffsets();\n if (position.line >= lineOffsets.length) {\n return this._content.length;\n }\n else if (position.line < 0) {\n return 0;\n }\n var lineOffset = lineOffsets[position.line];\n var nextLineOffset = (position.line + 1 < lineOffsets.length) ? lineOffsets[position.line + 1] : this._content.length;\n return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset);\n };\n Object.defineProperty(FullTextDocument.prototype, \"lineCount\", {\n get: function () {\n return this.getLineOffsets().length;\n },\n enumerable: false,\n configurable: true\n });\n return FullTextDocument;\n }());\n var Is;\n (function (Is) {\n var toString = Object.prototype.toString;\n function defined(value) {\n return typeof value !== 'undefined';\n }\n Is.defined = defined;\n function undefined(value) {\n return typeof value === 'undefined';\n }\n Is.undefined = undefined;\n function boolean(value) {\n return value === true || value === false;\n }\n Is.boolean = boolean;\n function string(value) {\n return toString.call(value) === '[object String]';\n }\n Is.string = string;\n function number(value) {\n return toString.call(value) === '[object Number]';\n }\n Is.number = number;\n function numberRange(value, min, max) {\n return toString.call(value) === '[object Number]' && min <= value && value <= max;\n }\n Is.numberRange = numberRange;\n function integer(value) {\n return toString.call(value) === '[object Number]' && -2147483648 <= value && value <= 2147483647;\n }\n Is.integer = integer;\n function uinteger(value) {\n return toString.call(value) === '[object Number]' && 0 <= value && value <= 2147483647;\n }\n Is.uinteger = uinteger;\n function func(value) {\n return toString.call(value) === '[object Function]';\n }\n Is.func = func;\n function objectLiteral(value) {\n // Strictly speaking class instances pass this check as well. Since the LSP\n // doesn't use classes we ignore this for now. If we do we need to add something\n // like this: `Object.getPrototypeOf(Object.getPrototypeOf(x)) === null`\n return value !== null && typeof value === 'object';\n }\n Is.objectLiteral = objectLiteral;\n function typedArray(value, check) {\n return Array.isArray(value) && value.every(check);\n }\n Is.typedArray = typedArray;\n })(Is || (Is = {}));\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass CharacterStream {\n constructor(sourceText) {\n this._start = 0;\n this._pos = 0;\n this.getStartOfToken = () => this._start;\n this.getCurrentPosition = () => this._pos;\n this.eol = () => this._sourceText.length === this._pos;\n this.sol = () => this._pos === 0;\n this.peek = () => {\n return this._sourceText.charAt(this._pos) || null;\n };\n this.next = () => {\n const char = this._sourceText.charAt(this._pos);\n this._pos++;\n return char;\n };\n this.eat = (pattern) => {\n const isMatched = this._testNextCharacter(pattern);\n if (isMatched) {\n this._start = this._pos;\n this._pos++;\n return this._sourceText.charAt(this._pos - 1);\n }\n return undefined;\n };\n this.eatWhile = (match) => {\n let isMatched = this._testNextCharacter(match);\n let didEat = false;\n if (isMatched) {\n didEat = isMatched;\n this._start = this._pos;\n }\n while (isMatched) {\n this._pos++;\n isMatched = this._testNextCharacter(match);\n didEat = true;\n }\n return didEat;\n };\n this.eatSpace = () => this.eatWhile(/[\\s\\u00a0]/);\n this.skipToEnd = () => {\n this._pos = this._sourceText.length;\n };\n this.skipTo = (position) => {\n this._pos = position;\n };\n this.match = (pattern, consume = true, caseFold = false) => {\n let token = null;\n let match = null;\n if (typeof pattern === 'string') {\n const regex = new RegExp(pattern, caseFold ? 'i' : 'g');\n match = regex.test(this._sourceText.slice(this._pos, this._pos + pattern.length));\n token = pattern;\n }\n else if (pattern instanceof RegExp) {\n match = this._sourceText.slice(this._pos).match(pattern);\n token = match === null || match === void 0 ? void 0 : match[0];\n }\n if (match != null &&\n (typeof pattern === 'string' ||\n (match instanceof Array &&\n this._sourceText.startsWith(match[0], this._pos)))) {\n if (consume) {\n this._start = this._pos;\n if (token && token.length) {\n this._pos += token.length;\n }\n }\n return match;\n }\n return false;\n };\n this.backUp = (num) => {\n this._pos -= num;\n };\n this.column = () => this._pos;\n this.indentation = () => {\n const match = this._sourceText.match(/\\s*/);\n let indent = 0;\n if (match && match.length !== 0) {\n const whiteSpaces = match[0];\n let pos = 0;\n while (whiteSpaces.length > pos) {\n if (whiteSpaces.charCodeAt(pos) === 9) {\n indent += 2;\n }\n else {\n indent++;\n }\n pos++;\n }\n }\n return indent;\n };\n this.current = () => this._sourceText.slice(this._start, this._pos);\n this._sourceText = sourceText;\n }\n _testNextCharacter(pattern) {\n const character = this._sourceText.charAt(this._pos);\n let isMatched = false;\n if (typeof pattern === 'string') {\n isMatched = character === pattern;\n }\n else {\n isMatched =\n pattern instanceof RegExp\n ? pattern.test(character)\n : pattern(character);\n }\n return isMatched;\n }\n}\nexports.default = CharacterStream;\n//# sourceMappingURL=CharacterStream.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.p = exports.t = exports.butNot = exports.list = exports.opt = void 0;\nfunction opt(ofRule) {\n return { ofRule };\n}\nexports.opt = opt;\nfunction list(ofRule, separator) {\n return { ofRule, isList: true, separator };\n}\nexports.list = list;\nfunction butNot(rule, exclusions) {\n const ruleMatch = rule.match;\n rule.match = token => {\n let check = false;\n if (ruleMatch) {\n check = ruleMatch(token);\n }\n return (check &&\n exclusions.every(exclusion => exclusion.match && !exclusion.match(token)));\n };\n return rule;\n}\nexports.butNot = butNot;\nfunction t(kind, style) {\n return { style, match: (token) => token.kind === kind };\n}\nexports.t = t;\nfunction p(value, style) {\n return {\n style: style || 'punctuation',\n match: (token) => token.kind === 'Punctuation' && token.value === value,\n };\n}\nexports.p = p;\n//# sourceMappingURL=RuleHelpers.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ParseRules = exports.LexRules = exports.isIgnored = void 0;\nconst RuleHelpers_1 = require(\"./RuleHelpers\");\nconst graphql_1 = require(\"graphql\");\nconst isIgnored = (ch) => ch === ' ' ||\n ch === '\\t' ||\n ch === ',' ||\n ch === '\\n' ||\n ch === '\\r' ||\n ch === '\\uFEFF' ||\n ch === '\\u00A0';\nexports.isIgnored = isIgnored;\nexports.LexRules = {\n Name: /^[_A-Za-z][_0-9A-Za-z]*/,\n Punctuation: /^(?:!|\\$|\\(|\\)|\\.\\.\\.|:|=|&|@|\\[|]|\\{|\\||\\})/,\n Number: /^-?(?:0|(?:[1-9][0-9]*))(?:\\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/,\n String: /^(?:\"\"\"(?:\\\\\"\"\"|[^\"]|\"[^\"]|\"\"[^\"])*(?:\"\"\")?|\"(?:[^\"\\\\]|\\\\(?:\"|\\/|\\\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*\"?)/,\n Comment: /^#.*/,\n};\nexports.ParseRules = {\n Document: [(0, RuleHelpers_1.list)('Definition')],\n Definition(token) {\n switch (token.value) {\n case '{':\n return 'ShortQuery';\n case 'query':\n return 'Query';\n case 'mutation':\n return 'Mutation';\n case 'subscription':\n return 'Subscription';\n case 'fragment':\n return graphql_1.Kind.FRAGMENT_DEFINITION;\n case 'schema':\n return 'SchemaDef';\n case 'scalar':\n return 'ScalarDef';\n case 'type':\n return 'ObjectTypeDef';\n case 'interface':\n return 'InterfaceDef';\n case 'union':\n return 'UnionDef';\n case 'enum':\n return 'EnumDef';\n case 'input':\n return 'InputDef';\n case 'extend':\n return 'ExtendDef';\n case 'directive':\n return 'DirectiveDef';\n }\n },\n ShortQuery: ['SelectionSet'],\n Query: [\n word('query'),\n (0, RuleHelpers_1.opt)(name('def')),\n (0, RuleHelpers_1.opt)('VariableDefinitions'),\n (0, RuleHelpers_1.list)('Directive'),\n 'SelectionSet',\n ],\n Mutation: [\n word('mutation'),\n (0, RuleHelpers_1.opt)(name('def')),\n (0, RuleHelpers_1.opt)('VariableDefinitions'),\n (0, RuleHelpers_1.list)('Directive'),\n 'SelectionSet',\n ],\n Subscription: [\n word('subscription'),\n (0, RuleHelpers_1.opt)(name('def')),\n (0, RuleHelpers_1.opt)('VariableDefinitions'),\n (0, RuleHelpers_1.list)('Directive'),\n 'SelectionSet',\n ],\n VariableDefinitions: [(0, RuleHelpers_1.p)('('), (0, RuleHelpers_1.list)('VariableDefinition'), (0, RuleHelpers_1.p)(')')],\n VariableDefinition: ['Variable', (0, RuleHelpers_1.p)(':'), 'Type', (0, RuleHelpers_1.opt)('DefaultValue')],\n Variable: [(0, RuleHelpers_1.p)('$', 'variable'), name('variable')],\n DefaultValue: [(0, RuleHelpers_1.p)('='), 'Value'],\n SelectionSet: [(0, RuleHelpers_1.p)('{'), (0, RuleHelpers_1.list)('Selection'), (0, RuleHelpers_1.p)('}')],\n Selection(token, stream) {\n return token.value === '...'\n ? stream.match(/[\\s\\u00a0,]*(on\\b|@|{)/, false)\n ? 'InlineFragment'\n : 'FragmentSpread'\n : stream.match(/[\\s\\u00a0,]*:/, false)\n ? 'AliasedField'\n : 'Field';\n },\n AliasedField: [\n name('property'),\n (0, RuleHelpers_1.p)(':'),\n name('qualifier'),\n (0, RuleHelpers_1.opt)('Arguments'),\n (0, RuleHelpers_1.list)('Directive'),\n (0, RuleHelpers_1.opt)('SelectionSet'),\n ],\n Field: [\n name('property'),\n (0, RuleHelpers_1.opt)('Arguments'),\n (0, RuleHelpers_1.list)('Directive'),\n (0, RuleHelpers_1.opt)('SelectionSet'),\n ],\n Arguments: [(0, RuleHelpers_1.p)('('), (0, RuleHelpers_1.list)('Argument'), (0, RuleHelpers_1.p)(')')],\n Argument: [name('attribute'), (0, RuleHelpers_1.p)(':'), 'Value'],\n FragmentSpread: [(0, RuleHelpers_1.p)('...'), name('def'), (0, RuleHelpers_1.list)('Directive')],\n InlineFragment: [\n (0, RuleHelpers_1.p)('...'),\n (0, RuleHelpers_1.opt)('TypeCondition'),\n (0, RuleHelpers_1.list)('Directive'),\n 'SelectionSet',\n ],\n FragmentDefinition: [\n word('fragment'),\n (0, RuleHelpers_1.opt)((0, RuleHelpers_1.butNot)(name('def'), [word('on')])),\n 'TypeCondition',\n (0, RuleHelpers_1.list)('Directive'),\n 'SelectionSet',\n ],\n TypeCondition: [word('on'), 'NamedType'],\n Value(token) {\n switch (token.kind) {\n case 'Number':\n return 'NumberValue';\n case 'String':\n return 'StringValue';\n case 'Punctuation':\n switch (token.value) {\n case '[':\n return 'ListValue';\n case '{':\n return 'ObjectValue';\n case '$':\n return 'Variable';\n case '&':\n return 'NamedType';\n }\n return null;\n case 'Name':\n switch (token.value) {\n case 'true':\n case 'false':\n return 'BooleanValue';\n }\n if (token.value === 'null') {\n return 'NullValue';\n }\n return 'EnumValue';\n }\n },\n NumberValue: [(0, RuleHelpers_1.t)('Number', 'number')],\n StringValue: [\n {\n style: 'string',\n match: (token) => token.kind === 'String',\n update(state, token) {\n if (token.value.startsWith('\"\"\"')) {\n state.inBlockstring = !token.value.slice(3).endsWith('\"\"\"');\n }\n },\n },\n ],\n BooleanValue: [(0, RuleHelpers_1.t)('Name', 'builtin')],\n NullValue: [(0, RuleHelpers_1.t)('Name', 'keyword')],\n EnumValue: [name('string-2')],\n ListValue: [(0, RuleHelpers_1.p)('['), (0, RuleHelpers_1.list)('Value'), (0, RuleHelpers_1.p)(']')],\n ObjectValue: [(0, RuleHelpers_1.p)('{'), (0, RuleHelpers_1.list)('ObjectField'), (0, RuleHelpers_1.p)('}')],\n ObjectField: [name('attribute'), (0, RuleHelpers_1.p)(':'), 'Value'],\n Type(token) {\n return token.value === '[' ? 'ListType' : 'NonNullType';\n },\n ListType: [(0, RuleHelpers_1.p)('['), 'Type', (0, RuleHelpers_1.p)(']'), (0, RuleHelpers_1.opt)((0, RuleHelpers_1.p)('!'))],\n NonNullType: ['NamedType', (0, RuleHelpers_1.opt)((0, RuleHelpers_1.p)('!'))],\n NamedType: [type('atom')],\n Directive: [(0, RuleHelpers_1.p)('@', 'meta'), name('meta'), (0, RuleHelpers_1.opt)('Arguments')],\n DirectiveDef: [\n word('directive'),\n (0, RuleHelpers_1.p)('@', 'meta'),\n name('meta'),\n (0, RuleHelpers_1.opt)('ArgumentsDef'),\n word('on'),\n (0, RuleHelpers_1.list)('DirectiveLocation', (0, RuleHelpers_1.p)('|')),\n ],\n InterfaceDef: [\n word('interface'),\n name('atom'),\n (0, RuleHelpers_1.opt)('Implements'),\n (0, RuleHelpers_1.list)('Directive'),\n (0, RuleHelpers_1.p)('{'),\n (0, RuleHelpers_1.list)('FieldDef'),\n (0, RuleHelpers_1.p)('}'),\n ],\n Implements: [word('implements'), (0, RuleHelpers_1.list)('NamedType', (0, RuleHelpers_1.p)('&'))],\n DirectiveLocation: [name('string-2')],\n SchemaDef: [\n word('schema'),\n (0, RuleHelpers_1.list)('Directive'),\n (0, RuleHelpers_1.p)('{'),\n (0, RuleHelpers_1.list)('OperationTypeDef'),\n (0, RuleHelpers_1.p)('}'),\n ],\n OperationTypeDef: [name('keyword'), (0, RuleHelpers_1.p)(':'), name('atom')],\n ScalarDef: [word('scalar'), name('atom'), (0, RuleHelpers_1.list)('Directive')],\n ObjectTypeDef: [\n word('type'),\n name('atom'),\n (0, RuleHelpers_1.opt)('Implements'),\n (0, RuleHelpers_1.list)('Directive'),\n (0, RuleHelpers_1.p)('{'),\n (0, RuleHelpers_1.list)('FieldDef'),\n (0, RuleHelpers_1.p)('}'),\n ],\n FieldDef: [\n name('property'),\n (0, RuleHelpers_1.opt)('ArgumentsDef'),\n (0, RuleHelpers_1.p)(':'),\n 'Type',\n (0, RuleHelpers_1.list)('Directive'),\n ],\n ArgumentsDef: [(0, RuleHelpers_1.p)('('), (0, RuleHelpers_1.list)('InputValueDef'), (0, RuleHelpers_1.p)(')')],\n InputValueDef: [\n name('attribute'),\n (0, RuleHelpers_1.p)(':'),\n 'Type',\n (0, RuleHelpers_1.opt)('DefaultValue'),\n (0, RuleHelpers_1.list)('Directive'),\n ],\n UnionDef: [\n word('union'),\n name('atom'),\n (0, RuleHelpers_1.list)('Directive'),\n (0, RuleHelpers_1.p)('='),\n (0, RuleHelpers_1.list)('UnionMember', (0, RuleHelpers_1.p)('|')),\n ],\n UnionMember: ['NamedType'],\n EnumDef: [\n word('enum'),\n name('atom'),\n (0, RuleHelpers_1.list)('Directive'),\n (0, RuleHelpers_1.p)('{'),\n (0, RuleHelpers_1.list)('EnumValueDef'),\n (0, RuleHelpers_1.p)('}'),\n ],\n EnumValueDef: [name('string-2'), (0, RuleHelpers_1.list)('Directive')],\n InputDef: [\n word('input'),\n name('atom'),\n (0, RuleHelpers_1.list)('Directive'),\n (0, RuleHelpers_1.p)('{'),\n (0, RuleHelpers_1.list)('InputValueDef'),\n (0, RuleHelpers_1.p)('}'),\n ],\n ExtendDef: [word('extend'), 'ExtensionDefinition'],\n ExtensionDefinition(token) {\n switch (token.value) {\n case 'schema':\n return graphql_1.Kind.SCHEMA_EXTENSION;\n case 'scalar':\n return graphql_1.Kind.SCALAR_TYPE_EXTENSION;\n case 'type':\n return graphql_1.Kind.OBJECT_TYPE_EXTENSION;\n case 'interface':\n return graphql_1.Kind.INTERFACE_TYPE_EXTENSION;\n case 'union':\n return graphql_1.Kind.UNION_TYPE_EXTENSION;\n case 'enum':\n return graphql_1.Kind.ENUM_TYPE_EXTENSION;\n case 'input':\n return graphql_1.Kind.INPUT_OBJECT_TYPE_EXTENSION;\n }\n },\n [graphql_1.Kind.SCHEMA_EXTENSION]: ['SchemaDef'],\n [graphql_1.Kind.SCALAR_TYPE_EXTENSION]: ['ScalarDef'],\n [graphql_1.Kind.OBJECT_TYPE_EXTENSION]: ['ObjectTypeDef'],\n [graphql_1.Kind.INTERFACE_TYPE_EXTENSION]: ['InterfaceDef'],\n [graphql_1.Kind.UNION_TYPE_EXTENSION]: ['UnionDef'],\n [graphql_1.Kind.ENUM_TYPE_EXTENSION]: ['EnumDef'],\n [graphql_1.Kind.INPUT_OBJECT_TYPE_EXTENSION]: ['InputDef'],\n};\nfunction word(value) {\n return {\n style: 'keyword',\n match: (token) => token.kind === 'Name' && token.value === value,\n };\n}\nfunction name(style) {\n return {\n style,\n match: (token) => token.kind === 'Name',\n update(state, token) {\n state.name = token.value;\n },\n };\n}\nfunction type(style) {\n return {\n style,\n match: (token) => token.kind === 'Name',\n update(state, token) {\n var _a;\n if ((_a = state.prevState) === null || _a === void 0 ? void 0 : _a.prevState) {\n state.name = token.value;\n state.prevState.prevState.type = token.value;\n }\n },\n };\n}\n//# sourceMappingURL=Rules.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Rules_1 = require(\"./Rules\");\nconst graphql_1 = require(\"graphql\");\nfunction onlineParser(options = {\n eatWhitespace: stream => stream.eatWhile(Rules_1.isIgnored),\n lexRules: Rules_1.LexRules,\n parseRules: Rules_1.ParseRules,\n editorConfig: {},\n}) {\n return {\n startState() {\n const initialState = {\n level: 0,\n step: 0,\n name: null,\n kind: null,\n type: null,\n rule: null,\n needsSeparator: false,\n prevState: null,\n };\n pushRule(options.parseRules, initialState, graphql_1.Kind.DOCUMENT);\n return initialState;\n },\n token(stream, state) {\n return getToken(stream, state, options);\n },\n };\n}\nexports.default = onlineParser;\nfunction getToken(stream, state, options) {\n var _a;\n if (state.inBlockstring) {\n if (stream.match(/.*\"\"\"/)) {\n state.inBlockstring = false;\n return 'string';\n }\n stream.skipToEnd();\n return 'string';\n }\n const { lexRules, parseRules, eatWhitespace, editorConfig } = options;\n if (state.rule && state.rule.length === 0) {\n popRule(state);\n }\n else if (state.needsAdvance) {\n state.needsAdvance = false;\n advanceRule(state, true);\n }\n if (stream.sol()) {\n const tabSize = (editorConfig === null || editorConfig === void 0 ? void 0 : editorConfig.tabSize) || 2;\n state.indentLevel = Math.floor(stream.indentation() / tabSize);\n }\n if (eatWhitespace(stream)) {\n return 'ws';\n }\n const token = lex(lexRules, stream);\n if (!token) {\n const matchedSomething = stream.match(/\\S+/);\n if (!matchedSomething) {\n stream.match(/\\s/);\n }\n pushRule(SpecialParseRules, state, 'Invalid');\n return 'invalidchar';\n }\n if (token.kind === 'Comment') {\n pushRule(SpecialParseRules, state, 'Comment');\n return 'comment';\n }\n const backupState = assign({}, state);\n if (token.kind === 'Punctuation') {\n if (/^[{([]/.test(token.value)) {\n if (state.indentLevel !== undefined) {\n state.levels = (state.levels || []).concat(state.indentLevel + 1);\n }\n }\n else if (/^[})\\]]/.test(token.value)) {\n const levels = (state.levels = (state.levels || []).slice(0, -1));\n if (state.indentLevel &&\n levels.length > 0 &&\n levels.at(-1) < state.indentLevel) {\n state.indentLevel = levels.at(-1);\n }\n }\n }\n while (state.rule) {\n let expected = typeof state.rule === 'function'\n ? state.step === 0\n ? state.rule(token, stream)\n : null\n : state.rule[state.step];\n if (state.needsSeparator) {\n expected = expected === null || expected === void 0 ? void 0 : expected.separator;\n }\n if (expected) {\n if (expected.ofRule) {\n expected = expected.ofRule;\n }\n if (typeof expected === 'string') {\n pushRule(parseRules, state, expected);\n continue;\n }\n if ((_a = expected.match) === null || _a === void 0 ? void 0 : _a.call(expected, token)) {\n if (expected.update) {\n expected.update(state, token);\n }\n if (token.kind === 'Punctuation') {\n advanceRule(state, true);\n }\n else {\n state.needsAdvance = true;\n }\n return expected.style;\n }\n }\n unsuccessful(state);\n }\n assign(state, backupState);\n pushRule(SpecialParseRules, state, 'Invalid');\n return 'invalidchar';\n}\nfunction assign(to, from) {\n const keys = Object.keys(from);\n for (let i = 0; i < keys.length; i++) {\n to[keys[i]] = from[keys[i]];\n }\n return to;\n}\nconst SpecialParseRules = {\n Invalid: [],\n Comment: [],\n};\nfunction pushRule(rules, state, ruleKind) {\n if (!rules[ruleKind]) {\n throw new TypeError('Unknown rule: ' + ruleKind);\n }\n state.prevState = Object.assign({}, state);\n state.kind = ruleKind;\n state.name = null;\n state.type = null;\n state.rule = rules[ruleKind];\n state.step = 0;\n state.needsSeparator = false;\n}\nfunction popRule(state) {\n if (!state.prevState) {\n return;\n }\n state.kind = state.prevState.kind;\n state.name = state.prevState.name;\n state.type = state.prevState.type;\n state.rule = state.prevState.rule;\n state.step = state.prevState.step;\n state.needsSeparator = state.prevState.needsSeparator;\n state.prevState = state.prevState.prevState;\n}\nfunction advanceRule(state, successful) {\n var _a;\n if (isList(state) && state.rule) {\n const step = state.rule[state.step];\n if (step.separator) {\n const { separator } = step;\n state.needsSeparator = !state.needsSeparator;\n if (!state.needsSeparator && separator.ofRule) {\n return;\n }\n }\n if (successful) {\n return;\n }\n }\n state.needsSeparator = false;\n state.step++;\n while (state.rule &&\n !(Array.isArray(state.rule) && state.step < state.rule.length)) {\n popRule(state);\n if (state.rule) {\n if (isList(state)) {\n if ((_a = state.rule) === null || _a === void 0 ? void 0 : _a[state.step].separator) {\n state.needsSeparator = !state.needsSeparator;\n }\n }\n else {\n state.needsSeparator = false;\n state.step++;\n }\n }\n }\n}\nfunction isList(state) {\n const step = Array.isArray(state.rule) &&\n typeof state.rule[state.step] !== 'string' &&\n state.rule[state.step];\n return step && step.isList;\n}\nfunction unsuccessful(state) {\n while (state.rule &&\n !(Array.isArray(state.rule) && state.rule[state.step].ofRule)) {\n popRule(state);\n }\n if (state.rule) {\n advanceRule(state, false);\n }\n}\nfunction lex(lexRules, stream) {\n const kinds = Object.keys(lexRules);\n for (let i = 0; i < kinds.length; i++) {\n const match = stream.match(lexRules[kinds[i]]);\n if (match && match instanceof Array) {\n return { kind: kinds[i], value: match[0] };\n }\n }\n}\n//# sourceMappingURL=onlineParser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getContextAtPosition = exports.getTokenAtPosition = exports.getDocumentMode = exports.TYPE_SYSTEM_KINDS = exports.GraphQLDocumentMode = exports.runOnlineParser = void 0;\nconst _1 = require(\".\");\nconst graphql_1 = require(\"graphql\");\nfunction runOnlineParser(queryText, callback) {\n const lines = queryText.split('\\n');\n const parser = (0, _1.onlineParser)();\n let state = parser.startState();\n let style = '';\n let stream = new _1.CharacterStream('');\n for (let i = 0; i < lines.length; i++) {\n stream = new _1.CharacterStream(lines[i]);\n while (!stream.eol()) {\n style = parser.token(stream, state);\n const code = callback(stream, state, style, i);\n if (code === 'BREAK') {\n break;\n }\n }\n callback(stream, state, style, i);\n if (!state.kind) {\n state = parser.startState();\n }\n }\n return {\n start: stream.getStartOfToken(),\n end: stream.getCurrentPosition(),\n string: stream.current(),\n state,\n style,\n };\n}\nexports.runOnlineParser = runOnlineParser;\nvar GraphQLDocumentMode;\n(function (GraphQLDocumentMode) {\n GraphQLDocumentMode[\"TYPE_SYSTEM\"] = \"TYPE_SYSTEM\";\n GraphQLDocumentMode[\"EXECUTABLE\"] = \"EXECUTABLE\";\n GraphQLDocumentMode[\"UNKNOWN\"] = \"UNKNOWN\";\n})(GraphQLDocumentMode = exports.GraphQLDocumentMode || (exports.GraphQLDocumentMode = {}));\nexports.TYPE_SYSTEM_KINDS = [\n graphql_1.Kind.SCHEMA_DEFINITION,\n graphql_1.Kind.OPERATION_TYPE_DEFINITION,\n graphql_1.Kind.SCALAR_TYPE_DEFINITION,\n graphql_1.Kind.OBJECT_TYPE_DEFINITION,\n graphql_1.Kind.INTERFACE_TYPE_DEFINITION,\n graphql_1.Kind.UNION_TYPE_DEFINITION,\n graphql_1.Kind.ENUM_TYPE_DEFINITION,\n graphql_1.Kind.INPUT_OBJECT_TYPE_DEFINITION,\n graphql_1.Kind.DIRECTIVE_DEFINITION,\n graphql_1.Kind.SCHEMA_EXTENSION,\n graphql_1.Kind.SCALAR_TYPE_EXTENSION,\n graphql_1.Kind.OBJECT_TYPE_EXTENSION,\n graphql_1.Kind.INTERFACE_TYPE_EXTENSION,\n graphql_1.Kind.UNION_TYPE_EXTENSION,\n graphql_1.Kind.ENUM_TYPE_EXTENSION,\n graphql_1.Kind.INPUT_OBJECT_TYPE_EXTENSION,\n];\nconst getParsedMode = (sdl) => {\n let mode = GraphQLDocumentMode.UNKNOWN;\n if (sdl) {\n try {\n (0, graphql_1.visit)((0, graphql_1.parse)(sdl), {\n enter(node) {\n if (node.kind === 'Document') {\n mode = GraphQLDocumentMode.EXECUTABLE;\n return;\n }\n if (exports.TYPE_SYSTEM_KINDS.includes(node.kind)) {\n mode = GraphQLDocumentMode.TYPE_SYSTEM;\n return graphql_1.BREAK;\n }\n return false;\n },\n });\n }\n catch (_a) {\n return mode;\n }\n }\n return mode;\n};\nfunction getDocumentMode(documentText, uri) {\n if (uri === null || uri === void 0 ? void 0 : uri.endsWith('.graphqls')) {\n return GraphQLDocumentMode.TYPE_SYSTEM;\n }\n return getParsedMode(documentText);\n}\nexports.getDocumentMode = getDocumentMode;\nfunction getTokenAtPosition(queryText, cursor, offset = 0) {\n let styleAtCursor = null;\n let stateAtCursor = null;\n let stringAtCursor = null;\n const token = runOnlineParser(queryText, (stream, state, style, index) => {\n if (index !== cursor.line ||\n stream.getCurrentPosition() + offset < cursor.character + 1) {\n return;\n }\n styleAtCursor = style;\n stateAtCursor = Object.assign({}, state);\n stringAtCursor = stream.current();\n return 'BREAK';\n });\n return {\n start: token.start,\n end: token.end,\n string: stringAtCursor || token.string,\n state: stateAtCursor || token.state,\n style: styleAtCursor || token.style,\n };\n}\nexports.getTokenAtPosition = getTokenAtPosition;\nfunction getContextAtPosition(queryText, cursor, schema, contextToken, options) {\n const token = contextToken || getTokenAtPosition(queryText, cursor, 1);\n if (!token) {\n return null;\n }\n const state = token.state.kind === 'Invalid' ? token.state.prevState : token.state;\n if (!state) {\n return null;\n }\n const typeInfo = (0, _1.getTypeInfo)(schema, token.state);\n const mode = (options === null || options === void 0 ? void 0 : options.mode) || getDocumentMode(queryText, options === null || options === void 0 ? void 0 : options.uri);\n return {\n token,\n state,\n typeInfo,\n mode,\n };\n}\nexports.getContextAtPosition = getContextAtPosition;\n//# sourceMappingURL=api.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getTypeInfo = exports.getDefinitionState = exports.forEachState = exports.getFieldDef = void 0;\nconst graphql_1 = require(\"graphql\");\nconst _1 = require(\".\");\nfunction getFieldDef(schema, type, fieldName) {\n if (fieldName === graphql_1.SchemaMetaFieldDef.name && schema.getQueryType() === type) {\n return graphql_1.SchemaMetaFieldDef;\n }\n if (fieldName === graphql_1.TypeMetaFieldDef.name && schema.getQueryType() === type) {\n return graphql_1.TypeMetaFieldDef;\n }\n if (fieldName === graphql_1.TypeNameMetaFieldDef.name && (0, graphql_1.isCompositeType)(type)) {\n return graphql_1.TypeNameMetaFieldDef;\n }\n if ('getFields' in type) {\n return type.getFields()[fieldName];\n }\n return null;\n}\nexports.getFieldDef = getFieldDef;\nfunction forEachState(stack, fn) {\n const reverseStateStack = [];\n let state = stack;\n while (state === null || state === void 0 ? void 0 : state.kind) {\n reverseStateStack.push(state);\n state = state.prevState;\n }\n for (let i = reverseStateStack.length - 1; i >= 0; i--) {\n fn(reverseStateStack[i]);\n }\n}\nexports.forEachState = forEachState;\nfunction getDefinitionState(tokenState) {\n let definitionState;\n forEachState(tokenState, (state) => {\n switch (state.kind) {\n case 'Query':\n case 'ShortQuery':\n case 'Mutation':\n case 'Subscription':\n case 'FragmentDefinition':\n definitionState = state;\n break;\n }\n });\n return definitionState;\n}\nexports.getDefinitionState = getDefinitionState;\nfunction getTypeInfo(schema, tokenState) {\n let argDef;\n let argDefs;\n let directiveDef;\n let enumValue;\n let fieldDef;\n let inputType;\n let objectTypeDef;\n let objectFieldDefs;\n let parentType;\n let type;\n let interfaceDef;\n forEachState(tokenState, state => {\n var _a;\n switch (state.kind) {\n case _1.RuleKinds.QUERY:\n case 'ShortQuery':\n type = schema.getQueryType();\n break;\n case _1.RuleKinds.MUTATION:\n type = schema.getMutationType();\n break;\n case _1.RuleKinds.SUBSCRIPTION:\n type = schema.getSubscriptionType();\n break;\n case _1.RuleKinds.INLINE_FRAGMENT:\n case _1.RuleKinds.FRAGMENT_DEFINITION:\n if (state.type) {\n type = schema.getType(state.type);\n }\n break;\n case _1.RuleKinds.FIELD:\n case _1.RuleKinds.ALIASED_FIELD: {\n if (!type || !state.name) {\n fieldDef = null;\n }\n else {\n fieldDef = parentType\n ? getFieldDef(schema, parentType, state.name)\n : null;\n type = fieldDef ? fieldDef.type : null;\n }\n break;\n }\n case _1.RuleKinds.SELECTION_SET:\n parentType = (0, graphql_1.getNamedType)(type);\n break;\n case _1.RuleKinds.DIRECTIVE:\n directiveDef = state.name ? schema.getDirective(state.name) : null;\n break;\n case _1.RuleKinds.INTERFACE_DEF:\n if (state.name) {\n objectTypeDef = null;\n interfaceDef = new graphql_1.GraphQLInterfaceType({\n name: state.name,\n interfaces: [],\n fields: {},\n });\n }\n break;\n case _1.RuleKinds.OBJECT_TYPE_DEF:\n if (state.name) {\n interfaceDef = null;\n objectTypeDef = new graphql_1.GraphQLObjectType({\n name: state.name,\n interfaces: [],\n fields: {},\n });\n }\n break;\n case _1.RuleKinds.ARGUMENTS: {\n if (state.prevState) {\n switch (state.prevState.kind) {\n case _1.RuleKinds.FIELD:\n argDefs = fieldDef && fieldDef.args;\n break;\n case _1.RuleKinds.DIRECTIVE:\n argDefs =\n directiveDef && directiveDef.args;\n break;\n case _1.RuleKinds.ALIASED_FIELD: {\n const name = (_a = state.prevState) === null || _a === void 0 ? void 0 : _a.name;\n if (!name) {\n argDefs = null;\n break;\n }\n const field = parentType\n ? getFieldDef(schema, parentType, name)\n : null;\n if (!field) {\n argDefs = null;\n break;\n }\n argDefs = field.args;\n break;\n }\n default:\n argDefs = null;\n break;\n }\n }\n else {\n argDefs = null;\n }\n break;\n }\n case _1.RuleKinds.ARGUMENT:\n if (argDefs) {\n for (let i = 0; i < argDefs.length; i++) {\n if (argDefs[i].name === state.name) {\n argDef = argDefs[i];\n break;\n }\n }\n }\n inputType = argDef === null || argDef === void 0 ? void 0 : argDef.type;\n break;\n case _1.RuleKinds.VARIABLE_DEFINITION:\n case _1.RuleKinds.VARIABLE:\n type = inputType;\n break;\n case _1.RuleKinds.ENUM_VALUE:\n const enumType = (0, graphql_1.getNamedType)(inputType);\n enumValue =\n enumType instanceof graphql_1.GraphQLEnumType\n ? enumType\n .getValues()\n .find((val) => val.value === state.name)\n : null;\n break;\n case _1.RuleKinds.LIST_VALUE:\n const nullableType = (0, graphql_1.getNullableType)(inputType);\n inputType =\n nullableType instanceof graphql_1.GraphQLList ? nullableType.ofType : null;\n break;\n case _1.RuleKinds.OBJECT_VALUE:\n const objectType = (0, graphql_1.getNamedType)(inputType);\n objectFieldDefs =\n objectType instanceof graphql_1.GraphQLInputObjectType\n ? objectType.getFields()\n : null;\n break;\n case _1.RuleKinds.OBJECT_FIELD:\n const objectField = state.name && objectFieldDefs ? objectFieldDefs[state.name] : null;\n inputType = objectField === null || objectField === void 0 ? void 0 : objectField.type;\n fieldDef = objectField;\n type = fieldDef ? fieldDef.type : null;\n break;\n case _1.RuleKinds.NAMED_TYPE:\n if (state.name) {\n type = schema.getType(state.name);\n }\n break;\n }\n });\n return {\n argDef,\n argDefs,\n directiveDef,\n enumValue,\n fieldDef,\n inputType,\n objectFieldDefs,\n parentType,\n type,\n interfaceDef,\n objectTypeDef,\n };\n}\nexports.getTypeInfo = getTypeInfo;\n//# sourceMappingURL=getTypeInfo.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RuleKinds = exports.AdditionalRuleKinds = void 0;\nconst graphql_1 = require(\"graphql\");\nexports.AdditionalRuleKinds = {\n ALIASED_FIELD: 'AliasedField',\n ARGUMENTS: 'Arguments',\n SHORT_QUERY: 'ShortQuery',\n QUERY: 'Query',\n MUTATION: 'Mutation',\n SUBSCRIPTION: 'Subscription',\n TYPE_CONDITION: 'TypeCondition',\n INVALID: 'Invalid',\n COMMENT: 'Comment',\n SCHEMA_DEF: 'SchemaDef',\n SCALAR_DEF: 'ScalarDef',\n OBJECT_TYPE_DEF: 'ObjectTypeDef',\n OBJECT_VALUE: 'ObjectValue',\n LIST_VALUE: 'ListValue',\n INTERFACE_DEF: 'InterfaceDef',\n UNION_DEF: 'UnionDef',\n ENUM_DEF: 'EnumDef',\n ENUM_VALUE: 'EnumValue',\n FIELD_DEF: 'FieldDef',\n INPUT_DEF: 'InputDef',\n INPUT_VALUE_DEF: 'InputValueDef',\n ARGUMENTS_DEF: 'ArgumentsDef',\n EXTEND_DEF: 'ExtendDef',\n EXTENSION_DEFINITION: 'ExtensionDefinition',\n DIRECTIVE_DEF: 'DirectiveDef',\n IMPLEMENTS: 'Implements',\n VARIABLE_DEFINITIONS: 'VariableDefinitions',\n TYPE: 'Type',\n VARIABLE: 'Variable',\n};\nexports.RuleKinds = Object.assign(Object.assign({}, graphql_1.Kind), exports.AdditionalRuleKinds);\n//# sourceMappingURL=types.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFieldDef = exports.getDefinitionState = exports.getTypeInfo = exports.getDocumentMode = exports.GraphQLDocumentMode = exports.getContextAtPosition = exports.getTokenAtPosition = exports.runOnlineParser = exports.onlineParser = exports.t = exports.p = exports.opt = exports.list = exports.butNot = exports.isIgnored = exports.ParseRules = exports.LexRules = exports.CharacterStream = void 0;\nvar CharacterStream_1 = require(\"./CharacterStream\");\nObject.defineProperty(exports, \"CharacterStream\", { enumerable: true, get: function () { return __importDefault(CharacterStream_1).default; } });\nvar Rules_1 = require(\"./Rules\");\nObject.defineProperty(exports, \"LexRules\", { enumerable: true, get: function () { return Rules_1.LexRules; } });\nObject.defineProperty(exports, \"ParseRules\", { enumerable: true, get: function () { return Rules_1.ParseRules; } });\nObject.defineProperty(exports, \"isIgnored\", { enumerable: true, get: function () { return Rules_1.isIgnored; } });\nvar RuleHelpers_1 = require(\"./RuleHelpers\");\nObject.defineProperty(exports, \"butNot\", { enumerable: true, get: function () { return RuleHelpers_1.butNot; } });\nObject.defineProperty(exports, \"list\", { enumerable: true, get: function () { return RuleHelpers_1.list; } });\nObject.defineProperty(exports, \"opt\", { enumerable: true, get: function () { return RuleHelpers_1.opt; } });\nObject.defineProperty(exports, \"p\", { enumerable: true, get: function () { return RuleHelpers_1.p; } });\nObject.defineProperty(exports, \"t\", { enumerable: true, get: function () { return RuleHelpers_1.t; } });\nvar onlineParser_1 = require(\"./onlineParser\");\nObject.defineProperty(exports, \"onlineParser\", { enumerable: true, get: function () { return __importDefault(onlineParser_1).default; } });\nvar api_1 = require(\"./api\");\nObject.defineProperty(exports, \"runOnlineParser\", { enumerable: true, get: function () { return api_1.runOnlineParser; } });\nObject.defineProperty(exports, \"getTokenAtPosition\", { enumerable: true, get: function () { return api_1.getTokenAtPosition; } });\nObject.defineProperty(exports, \"getContextAtPosition\", { enumerable: true, get: function () { return api_1.getContextAtPosition; } });\nObject.defineProperty(exports, \"GraphQLDocumentMode\", { enumerable: true, get: function () { return api_1.GraphQLDocumentMode; } });\nObject.defineProperty(exports, \"getDocumentMode\", { enumerable: true, get: function () { return api_1.getDocumentMode; } });\nvar getTypeInfo_1 = require(\"./getTypeInfo\");\nObject.defineProperty(exports, \"getTypeInfo\", { enumerable: true, get: function () { return getTypeInfo_1.getTypeInfo; } });\nObject.defineProperty(exports, \"getDefinitionState\", { enumerable: true, get: function () { return getTypeInfo_1.getDefinitionState; } });\nObject.defineProperty(exports, \"getFieldDef\", { enumerable: true, get: function () { return getTypeInfo_1.getFieldDef; } });\n__exportStar(require(\"./types\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CompletionItemKind = exports.FileChangeTypeKind = exports.GraphQLDocumentMode = exports.InsertTextFormat = void 0;\nvar vscode_languageserver_types_1 = require(\"vscode-languageserver-types\");\nObject.defineProperty(exports, \"InsertTextFormat\", { enumerable: true, get: function () { return vscode_languageserver_types_1.InsertTextFormat; } });\nvar parser_1 = require(\"./parser\");\nObject.defineProperty(exports, \"GraphQLDocumentMode\", { enumerable: true, get: function () { return parser_1.GraphQLDocumentMode; } });\nexports.FileChangeTypeKind = {\n Created: 1,\n Changed: 2,\n Deleted: 3,\n};\nvar CompletionItemKind;\n(function (CompletionItemKind) {\n CompletionItemKind.Text = 1;\n CompletionItemKind.Method = 2;\n CompletionItemKind.Function = 3;\n CompletionItemKind.Constructor = 4;\n CompletionItemKind.Field = 5;\n CompletionItemKind.Variable = 6;\n CompletionItemKind.Class = 7;\n CompletionItemKind.Interface = 8;\n CompletionItemKind.Module = 9;\n CompletionItemKind.Property = 10;\n CompletionItemKind.Unit = 11;\n CompletionItemKind.Value = 12;\n CompletionItemKind.Enum = 13;\n CompletionItemKind.Keyword = 14;\n CompletionItemKind.Snippet = 15;\n CompletionItemKind.Color = 16;\n CompletionItemKind.File = 17;\n CompletionItemKind.Reference = 18;\n CompletionItemKind.Folder = 19;\n CompletionItemKind.EnumMember = 20;\n CompletionItemKind.Constant = 21;\n CompletionItemKind.Struct = 22;\n CompletionItemKind.Event = 23;\n CompletionItemKind.Operator = 24;\n CompletionItemKind.TypeParameter = 25;\n})(CompletionItemKind = exports.CompletionItemKind || (exports.CompletionItemKind = {}));\n//# sourceMappingURL=types.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.canUseDirective = exports.getFragmentDefinitions = exports.getVariableCompletions = exports.getAutocompleteSuggestions = exports.SuggestionCommand = exports.getTypeInfo = exports.runOnlineParser = void 0;\nconst graphql_1 = require(\"graphql\");\nconst types_1 = require(\"../types\");\nconst parser_1 = require(\"../parser\");\nObject.defineProperty(exports, \"getTypeInfo\", { enumerable: true, get: function () { return parser_1.getTypeInfo; } });\nObject.defineProperty(exports, \"runOnlineParser\", { enumerable: true, get: function () { return parser_1.runOnlineParser; } });\nconst autocompleteUtils_1 = require(\"./autocompleteUtils\");\nconst vscode_languageserver_types_1 = require(\"vscode-languageserver-types\");\nexports.SuggestionCommand = {\n command: 'editor.action.triggerSuggest',\n title: 'Suggestions',\n};\nconst collectFragmentDefs = (op) => {\n const externalFragments = [];\n if (op) {\n try {\n (0, graphql_1.visit)((0, graphql_1.parse)(op), {\n FragmentDefinition(def) {\n externalFragments.push(def);\n },\n });\n }\n catch (_a) {\n return [];\n }\n }\n return externalFragments;\n};\nfunction getAutocompleteSuggestions(schema, queryText, cursor, contextToken, fragmentDefs, options) {\n var _a;\n const opts = Object.assign(Object.assign({}, options), { schema });\n const context = (0, parser_1.getContextAtPosition)(queryText, cursor, schema, contextToken, options);\n if (!context) {\n return [];\n }\n const { state, typeInfo, mode, token } = context;\n const { kind, step, prevState } = state;\n if (kind === parser_1.RuleKinds.DOCUMENT) {\n if (mode === parser_1.GraphQLDocumentMode.TYPE_SYSTEM) {\n return getSuggestionsForTypeSystemDefinitions(token);\n }\n if (mode === parser_1.GraphQLDocumentMode.EXECUTABLE) {\n return getSuggestionsForExecutableDefinitions(token);\n }\n return getSuggestionsForUnknownDocumentMode(token);\n }\n if (kind === parser_1.RuleKinds.EXTEND_DEF) {\n return getSuggestionsForExtensionDefinitions(token);\n }\n if (((_a = prevState === null || prevState === void 0 ? void 0 : prevState.prevState) === null || _a === void 0 ? void 0 : _a.kind) === parser_1.RuleKinds.EXTENSION_DEFINITION &&\n state.name) {\n return (0, autocompleteUtils_1.hintList)(token, []);\n }\n if ((prevState === null || prevState === void 0 ? void 0 : prevState.kind) === graphql_1.Kind.SCALAR_TYPE_EXTENSION) {\n return (0, autocompleteUtils_1.hintList)(token, Object.values(schema.getTypeMap())\n .filter(graphql_1.isScalarType)\n .map(type => ({\n label: type.name,\n kind: types_1.CompletionItemKind.Function,\n })));\n }\n if ((prevState === null || prevState === void 0 ? void 0 : prevState.kind) === graphql_1.Kind.OBJECT_TYPE_EXTENSION) {\n return (0, autocompleteUtils_1.hintList)(token, Object.values(schema.getTypeMap())\n .filter(type => (0, graphql_1.isObjectType)(type) && !type.name.startsWith('__'))\n .map(type => ({\n label: type.name,\n kind: types_1.CompletionItemKind.Function,\n })));\n }\n if ((prevState === null || prevState === void 0 ? void 0 : prevState.kind) === graphql_1.Kind.INTERFACE_TYPE_EXTENSION) {\n return (0, autocompleteUtils_1.hintList)(token, Object.values(schema.getTypeMap())\n .filter(graphql_1.isInterfaceType)\n .map(type => ({\n label: type.name,\n kind: types_1.CompletionItemKind.Function,\n })));\n }\n if ((prevState === null || prevState === void 0 ? void 0 : prevState.kind) === graphql_1.Kind.UNION_TYPE_EXTENSION) {\n return (0, autocompleteUtils_1.hintList)(token, Object.values(schema.getTypeMap())\n .filter(graphql_1.isUnionType)\n .map(type => ({\n label: type.name,\n kind: types_1.CompletionItemKind.Function,\n })));\n }\n if ((prevState === null || prevState === void 0 ? void 0 : prevState.kind) === graphql_1.Kind.ENUM_TYPE_EXTENSION) {\n return (0, autocompleteUtils_1.hintList)(token, Object.values(schema.getTypeMap())\n .filter(type => (0, graphql_1.isEnumType)(type) && !type.name.startsWith('__'))\n .map(type => ({\n label: type.name,\n kind: types_1.CompletionItemKind.Function,\n })));\n }\n if ((prevState === null || prevState === void 0 ? void 0 : prevState.kind) === graphql_1.Kind.INPUT_OBJECT_TYPE_EXTENSION) {\n return (0, autocompleteUtils_1.hintList)(token, Object.values(schema.getTypeMap())\n .filter(graphql_1.isInputObjectType)\n .map(type => ({\n label: type.name,\n kind: types_1.CompletionItemKind.Function,\n })));\n }\n if (kind === parser_1.RuleKinds.IMPLEMENTS ||\n (kind === parser_1.RuleKinds.NAMED_TYPE && (prevState === null || prevState === void 0 ? void 0 : prevState.kind) === parser_1.RuleKinds.IMPLEMENTS)) {\n return getSuggestionsForImplements(token, state, schema, queryText, typeInfo);\n }\n if (kind === parser_1.RuleKinds.SELECTION_SET ||\n kind === parser_1.RuleKinds.FIELD ||\n kind === parser_1.RuleKinds.ALIASED_FIELD) {\n return getSuggestionsForFieldNames(token, typeInfo, opts);\n }\n if (kind === parser_1.RuleKinds.ARGUMENTS ||\n (kind === parser_1.RuleKinds.ARGUMENT && step === 0)) {\n const { argDefs } = typeInfo;\n if (argDefs) {\n return (0, autocompleteUtils_1.hintList)(token, argDefs.map((argDef) => {\n var _a;\n return ({\n label: argDef.name,\n insertText: (0, autocompleteUtils_1.getInputInsertText)(argDef.name + ': ', argDef.type),\n insertTextMode: vscode_languageserver_types_1.InsertTextMode.adjustIndentation,\n insertTextFormat: types_1.InsertTextFormat.Snippet,\n command: exports.SuggestionCommand,\n labelDetails: {\n detail: ' ' + String(argDef.type),\n },\n documentation: (_a = argDef.description) !== null && _a !== void 0 ? _a : undefined,\n kind: types_1.CompletionItemKind.Variable,\n type: argDef.type,\n });\n }));\n }\n }\n if ((kind === parser_1.RuleKinds.OBJECT_VALUE ||\n (kind === parser_1.RuleKinds.OBJECT_FIELD && step === 0)) &&\n typeInfo.objectFieldDefs) {\n const objectFields = (0, autocompleteUtils_1.objectValues)(typeInfo.objectFieldDefs);\n const completionKind = kind === parser_1.RuleKinds.OBJECT_VALUE\n ? types_1.CompletionItemKind.Value\n : types_1.CompletionItemKind.Field;\n return (0, autocompleteUtils_1.hintList)(token, objectFields.map(field => {\n var _a;\n return ({\n label: field.name,\n detail: String(field.type),\n documentation: (_a = field === null || field === void 0 ? void 0 : field.description) !== null && _a !== void 0 ? _a : undefined,\n kind: completionKind,\n type: field.type,\n insertText: (0, autocompleteUtils_1.getInputInsertText)(field.name + ': ', field.type),\n insertTextMode: vscode_languageserver_types_1.InsertTextMode.adjustIndentation,\n insertTextFormat: types_1.InsertTextFormat.Snippet,\n command: exports.SuggestionCommand,\n });\n }));\n }\n if (kind === parser_1.RuleKinds.ENUM_VALUE ||\n (kind === parser_1.RuleKinds.LIST_VALUE && step === 1) ||\n (kind === parser_1.RuleKinds.OBJECT_FIELD && step === 2) ||\n (kind === parser_1.RuleKinds.ARGUMENT && step === 2)) {\n return getSuggestionsForInputValues(token, typeInfo, queryText, schema);\n }\n if (kind === parser_1.RuleKinds.VARIABLE && step === 1) {\n const namedInputType = (0, graphql_1.getNamedType)(typeInfo.inputType);\n const variableDefinitions = getVariableCompletions(queryText, schema, token);\n return (0, autocompleteUtils_1.hintList)(token, variableDefinitions.filter(v => v.detail === (namedInputType === null || namedInputType === void 0 ? void 0 : namedInputType.name)));\n }\n if ((kind === parser_1.RuleKinds.TYPE_CONDITION && step === 1) ||\n (kind === parser_1.RuleKinds.NAMED_TYPE &&\n prevState != null &&\n prevState.kind === parser_1.RuleKinds.TYPE_CONDITION)) {\n return getSuggestionsForFragmentTypeConditions(token, typeInfo, schema, kind);\n }\n if (kind === parser_1.RuleKinds.FRAGMENT_SPREAD && step === 1) {\n return getSuggestionsForFragmentSpread(token, typeInfo, schema, queryText, Array.isArray(fragmentDefs)\n ? fragmentDefs\n : collectFragmentDefs(fragmentDefs));\n }\n const unwrappedState = unwrapType(state);\n if (unwrappedState.kind === parser_1.RuleKinds.FIELD_DEF) {\n return (0, autocompleteUtils_1.hintList)(token, Object.values(schema.getTypeMap())\n .filter(type => (0, graphql_1.isOutputType)(type) && !type.name.startsWith('__'))\n .map(type => ({\n label: type.name,\n kind: types_1.CompletionItemKind.Function,\n insertText: (options === null || options === void 0 ? void 0 : options.fillLeafsOnComplete)\n ? type.name + '\\n'\n : type.name,\n insertTextMode: vscode_languageserver_types_1.InsertTextMode.adjustIndentation,\n })));\n }\n if (unwrappedState.kind === parser_1.RuleKinds.INPUT_VALUE_DEF && step === 2) {\n return (0, autocompleteUtils_1.hintList)(token, Object.values(schema.getTypeMap())\n .filter(type => (0, graphql_1.isInputType)(type) && !type.name.startsWith('__'))\n .map(type => ({\n label: type.name,\n kind: types_1.CompletionItemKind.Function,\n insertText: (options === null || options === void 0 ? void 0 : options.fillLeafsOnComplete)\n ? type.name + '\\n$1'\n : type.name,\n insertTextMode: vscode_languageserver_types_1.InsertTextMode.adjustIndentation,\n insertTextFormat: types_1.InsertTextFormat.Snippet,\n })));\n }\n if ((kind === parser_1.RuleKinds.VARIABLE_DEFINITION && step === 2) ||\n (kind === parser_1.RuleKinds.LIST_TYPE && step === 1) ||\n (kind === parser_1.RuleKinds.NAMED_TYPE &&\n prevState &&\n (prevState.kind === parser_1.RuleKinds.VARIABLE_DEFINITION ||\n prevState.kind === parser_1.RuleKinds.LIST_TYPE ||\n prevState.kind === parser_1.RuleKinds.NON_NULL_TYPE))) {\n return getSuggestionsForVariableDefinition(token, schema, kind);\n }\n if (kind === parser_1.RuleKinds.DIRECTIVE) {\n return getSuggestionsForDirective(token, state, schema, kind);\n }\n if (kind === parser_1.RuleKinds.DIRECTIVE_DEF) {\n return getSuggestionsForDirectiveArguments(token, state, schema, kind);\n }\n return [];\n}\nexports.getAutocompleteSuggestions = getAutocompleteSuggestions;\nconst typeSystemCompletionItems = [\n { label: 'type', kind: types_1.CompletionItemKind.Function },\n { label: 'interface', kind: types_1.CompletionItemKind.Function },\n { label: 'union', kind: types_1.CompletionItemKind.Function },\n { label: 'input', kind: types_1.CompletionItemKind.Function },\n { label: 'scalar', kind: types_1.CompletionItemKind.Function },\n { label: 'schema', kind: types_1.CompletionItemKind.Function },\n];\nconst executableCompletionItems = [\n { label: 'query', kind: types_1.CompletionItemKind.Function },\n { label: 'mutation', kind: types_1.CompletionItemKind.Function },\n { label: 'subscription', kind: types_1.CompletionItemKind.Function },\n { label: 'fragment', kind: types_1.CompletionItemKind.Function },\n { label: '{', kind: types_1.CompletionItemKind.Constructor },\n];\nfunction getSuggestionsForTypeSystemDefinitions(token) {\n return (0, autocompleteUtils_1.hintList)(token, [\n { label: 'extend', kind: types_1.CompletionItemKind.Function },\n ...typeSystemCompletionItems,\n ]);\n}\nfunction getSuggestionsForExecutableDefinitions(token) {\n return (0, autocompleteUtils_1.hintList)(token, executableCompletionItems);\n}\nfunction getSuggestionsForUnknownDocumentMode(token) {\n return (0, autocompleteUtils_1.hintList)(token, [\n { label: 'extend', kind: types_1.CompletionItemKind.Function },\n ...executableCompletionItems,\n ...typeSystemCompletionItems,\n ]);\n}\nfunction getSuggestionsForExtensionDefinitions(token) {\n return (0, autocompleteUtils_1.hintList)(token, typeSystemCompletionItems);\n}\nfunction getSuggestionsForFieldNames(token, typeInfo, options) {\n var _a;\n if (typeInfo.parentType) {\n const { parentType } = typeInfo;\n let fields = [];\n if ('getFields' in parentType) {\n fields = (0, autocompleteUtils_1.objectValues)(parentType.getFields());\n }\n if ((0, graphql_1.isCompositeType)(parentType)) {\n fields.push(graphql_1.TypeNameMetaFieldDef);\n }\n if (parentType === ((_a = options === null || options === void 0 ? void 0 : options.schema) === null || _a === void 0 ? void 0 : _a.getQueryType())) {\n fields.push(graphql_1.SchemaMetaFieldDef, graphql_1.TypeMetaFieldDef);\n }\n return (0, autocompleteUtils_1.hintList)(token, fields.map((field, index) => {\n var _a;\n const suggestion = {\n sortText: String(index) + field.name,\n label: field.name,\n detail: String(field.type),\n documentation: (_a = field.description) !== null && _a !== void 0 ? _a : undefined,\n deprecated: Boolean(field.deprecationReason),\n isDeprecated: Boolean(field.deprecationReason),\n deprecationReason: field.deprecationReason,\n kind: types_1.CompletionItemKind.Field,\n labelDetails: {\n detail: ' ' + field.type.toString(),\n },\n type: field.type,\n };\n if (options === null || options === void 0 ? void 0 : options.fillLeafsOnComplete) {\n suggestion.insertText = (0, autocompleteUtils_1.getFieldInsertText)(field);\n if (!suggestion.insertText) {\n suggestion.insertText = (0, autocompleteUtils_1.getInsertText)(field.name, field.type, field.name + (token.state.needsAdvance ? '' : '\\n'));\n }\n if (suggestion.insertText) {\n suggestion.insertTextFormat = types_1.InsertTextFormat.Snippet;\n suggestion.insertTextMode = vscode_languageserver_types_1.InsertTextMode.adjustIndentation;\n suggestion.command = exports.SuggestionCommand;\n }\n }\n return suggestion;\n }));\n }\n return [];\n}\nfunction getSuggestionsForInputValues(token, typeInfo, queryText, schema) {\n const namedInputType = (0, graphql_1.getNamedType)(typeInfo.inputType);\n const queryVariables = getVariableCompletions(queryText, schema, token).filter(v => v.detail === (namedInputType === null || namedInputType === void 0 ? void 0 : namedInputType.name));\n if (namedInputType instanceof graphql_1.GraphQLEnumType) {\n const values = namedInputType.getValues();\n return (0, autocompleteUtils_1.hintList)(token, values\n .map((value) => {\n var _a;\n return ({\n label: value.name,\n detail: String(namedInputType),\n documentation: (_a = value.description) !== null && _a !== void 0 ? _a : undefined,\n deprecated: Boolean(value.deprecationReason),\n isDeprecated: Boolean(value.deprecationReason),\n deprecationReason: value.deprecationReason,\n kind: types_1.CompletionItemKind.EnumMember,\n type: namedInputType,\n });\n })\n .concat(queryVariables));\n }\n if (namedInputType === graphql_1.GraphQLBoolean) {\n return (0, autocompleteUtils_1.hintList)(token, queryVariables.concat([\n {\n label: 'true',\n detail: String(graphql_1.GraphQLBoolean),\n documentation: 'Not false.',\n kind: types_1.CompletionItemKind.Variable,\n type: graphql_1.GraphQLBoolean,\n },\n {\n label: 'false',\n detail: String(graphql_1.GraphQLBoolean),\n documentation: 'Not true.',\n kind: types_1.CompletionItemKind.Variable,\n type: graphql_1.GraphQLBoolean,\n },\n ]));\n }\n return queryVariables;\n}\nfunction getSuggestionsForImplements(token, tokenState, schema, documentText, typeInfo) {\n if (tokenState.needsSeparator) {\n return [];\n }\n const typeMap = schema.getTypeMap();\n const schemaInterfaces = (0, autocompleteUtils_1.objectValues)(typeMap).filter(graphql_1.isInterfaceType);\n const schemaInterfaceNames = schemaInterfaces.map(({ name }) => name);\n const inlineInterfaces = new Set();\n (0, parser_1.runOnlineParser)(documentText, (_, state) => {\n var _a, _b, _c, _d, _e;\n if (state.name) {\n if (state.kind === parser_1.RuleKinds.INTERFACE_DEF &&\n !schemaInterfaceNames.includes(state.name)) {\n inlineInterfaces.add(state.name);\n }\n if (state.kind === parser_1.RuleKinds.NAMED_TYPE &&\n ((_a = state.prevState) === null || _a === void 0 ? void 0 : _a.kind) === parser_1.RuleKinds.IMPLEMENTS) {\n if (typeInfo.interfaceDef) {\n const existingType = (_b = typeInfo.interfaceDef) === null || _b === void 0 ? void 0 : _b.getInterfaces().find(({ name }) => name === state.name);\n if (existingType) {\n return;\n }\n const type = schema.getType(state.name);\n const interfaceConfig = (_c = typeInfo.interfaceDef) === null || _c === void 0 ? void 0 : _c.toConfig();\n typeInfo.interfaceDef = new graphql_1.GraphQLInterfaceType(Object.assign(Object.assign({}, interfaceConfig), { interfaces: [\n ...interfaceConfig.interfaces,\n type ||\n new graphql_1.GraphQLInterfaceType({ name: state.name, fields: {} }),\n ] }));\n }\n else if (typeInfo.objectTypeDef) {\n const existingType = (_d = typeInfo.objectTypeDef) === null || _d === void 0 ? void 0 : _d.getInterfaces().find(({ name }) => name === state.name);\n if (existingType) {\n return;\n }\n const type = schema.getType(state.name);\n const objectTypeConfig = (_e = typeInfo.objectTypeDef) === null || _e === void 0 ? void 0 : _e.toConfig();\n typeInfo.objectTypeDef = new graphql_1.GraphQLObjectType(Object.assign(Object.assign({}, objectTypeConfig), { interfaces: [\n ...objectTypeConfig.interfaces,\n type ||\n new graphql_1.GraphQLInterfaceType({ name: state.name, fields: {} }),\n ] }));\n }\n }\n }\n });\n const currentTypeToExtend = typeInfo.interfaceDef || typeInfo.objectTypeDef;\n const siblingInterfaces = (currentTypeToExtend === null || currentTypeToExtend === void 0 ? void 0 : currentTypeToExtend.getInterfaces()) || [];\n const siblingInterfaceNames = siblingInterfaces.map(({ name }) => name);\n const possibleInterfaces = schemaInterfaces\n .concat([...inlineInterfaces].map(name => ({ name })))\n .filter(({ name }) => name !== (currentTypeToExtend === null || currentTypeToExtend === void 0 ? void 0 : currentTypeToExtend.name) &&\n !siblingInterfaceNames.includes(name));\n return (0, autocompleteUtils_1.hintList)(token, possibleInterfaces.map(type => {\n const result = {\n label: type.name,\n kind: types_1.CompletionItemKind.Interface,\n type,\n };\n if (type === null || type === void 0 ? void 0 : type.description) {\n result.documentation = type.description;\n }\n return result;\n }));\n}\nfunction getSuggestionsForFragmentTypeConditions(token, typeInfo, schema, _kind) {\n let possibleTypes;\n if (typeInfo.parentType) {\n if ((0, graphql_1.isAbstractType)(typeInfo.parentType)) {\n const abstractType = (0, graphql_1.assertAbstractType)(typeInfo.parentType);\n const possibleObjTypes = schema.getPossibleTypes(abstractType);\n const possibleIfaceMap = Object.create(null);\n for (const type of possibleObjTypes) {\n for (const iface of type.getInterfaces()) {\n possibleIfaceMap[iface.name] = iface;\n }\n }\n possibleTypes = possibleObjTypes.concat((0, autocompleteUtils_1.objectValues)(possibleIfaceMap));\n }\n else {\n possibleTypes = [typeInfo.parentType];\n }\n }\n else {\n const typeMap = schema.getTypeMap();\n possibleTypes = (0, autocompleteUtils_1.objectValues)(typeMap).filter(type => (0, graphql_1.isCompositeType)(type) && !type.name.startsWith('__'));\n }\n return (0, autocompleteUtils_1.hintList)(token, possibleTypes.map(type => {\n const namedType = (0, graphql_1.getNamedType)(type);\n return {\n label: String(type),\n documentation: (namedType === null || namedType === void 0 ? void 0 : namedType.description) || '',\n kind: types_1.CompletionItemKind.Field,\n };\n }));\n}\nfunction getSuggestionsForFragmentSpread(token, typeInfo, schema, queryText, fragmentDefs) {\n if (!queryText) {\n return [];\n }\n const typeMap = schema.getTypeMap();\n const defState = (0, parser_1.getDefinitionState)(token.state);\n const fragments = getFragmentDefinitions(queryText);\n if (fragmentDefs && fragmentDefs.length > 0) {\n fragments.push(...fragmentDefs);\n }\n const relevantFrags = fragments.filter(frag => typeMap[frag.typeCondition.name.value] &&\n !(defState &&\n defState.kind === parser_1.RuleKinds.FRAGMENT_DEFINITION &&\n defState.name === frag.name.value) &&\n (0, graphql_1.isCompositeType)(typeInfo.parentType) &&\n (0, graphql_1.isCompositeType)(typeMap[frag.typeCondition.name.value]) &&\n (0, graphql_1.doTypesOverlap)(schema, typeInfo.parentType, typeMap[frag.typeCondition.name.value]));\n return (0, autocompleteUtils_1.hintList)(token, relevantFrags.map(frag => ({\n label: frag.name.value,\n detail: String(typeMap[frag.typeCondition.name.value]),\n documentation: `fragment ${frag.name.value} on ${frag.typeCondition.name.value}`,\n labelDetails: {\n detail: `fragment ${frag.name.value} on ${frag.typeCondition.name.value}`,\n },\n kind: types_1.CompletionItemKind.Field,\n type: typeMap[frag.typeCondition.name.value],\n })));\n}\nconst getParentDefinition = (state, kind) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n if (((_a = state.prevState) === null || _a === void 0 ? void 0 : _a.kind) === kind) {\n return state.prevState;\n }\n if (((_c = (_b = state.prevState) === null || _b === void 0 ? void 0 : _b.prevState) === null || _c === void 0 ? void 0 : _c.kind) === kind) {\n return state.prevState.prevState;\n }\n if (((_f = (_e = (_d = state.prevState) === null || _d === void 0 ? void 0 : _d.prevState) === null || _e === void 0 ? void 0 : _e.prevState) === null || _f === void 0 ? void 0 : _f.kind) === kind) {\n return state.prevState.prevState.prevState;\n }\n if (((_k = (_j = (_h = (_g = state.prevState) === null || _g === void 0 ? void 0 : _g.prevState) === null || _h === void 0 ? void 0 : _h.prevState) === null || _j === void 0 ? void 0 : _j.prevState) === null || _k === void 0 ? void 0 : _k.kind) === kind) {\n return state.prevState.prevState.prevState.prevState;\n }\n};\nfunction getVariableCompletions(queryText, schema, token) {\n let variableName = null;\n let variableType;\n const definitions = Object.create({});\n (0, parser_1.runOnlineParser)(queryText, (_, state) => {\n var _a;\n if ((state === null || state === void 0 ? void 0 : state.kind) === parser_1.RuleKinds.VARIABLE && state.name) {\n variableName = state.name;\n }\n if ((state === null || state === void 0 ? void 0 : state.kind) === parser_1.RuleKinds.NAMED_TYPE && variableName) {\n const parentDefinition = getParentDefinition(state, parser_1.RuleKinds.TYPE);\n if (parentDefinition === null || parentDefinition === void 0 ? void 0 : parentDefinition.type) {\n variableType = schema.getType(parentDefinition === null || parentDefinition === void 0 ? void 0 : parentDefinition.type);\n }\n }\n if (variableName && variableType && !definitions[variableName]) {\n const replaceString = token.string === '$' || ((_a = token === null || token === void 0 ? void 0 : token.state) === null || _a === void 0 ? void 0 : _a.kind) === 'Variable'\n ? variableName\n : '$' + variableName;\n definitions[variableName] = {\n detail: variableType.toString(),\n insertText: replaceString,\n label: '$' + variableName,\n rawInsert: replaceString,\n type: variableType,\n kind: types_1.CompletionItemKind.Variable,\n };\n variableName = null;\n variableType = null;\n }\n });\n return (0, autocompleteUtils_1.objectValues)(definitions);\n}\nexports.getVariableCompletions = getVariableCompletions;\nfunction getFragmentDefinitions(queryText) {\n const fragmentDefs = [];\n (0, parser_1.runOnlineParser)(queryText, (_, state) => {\n if (state.kind === parser_1.RuleKinds.FRAGMENT_DEFINITION &&\n state.name &&\n state.type) {\n fragmentDefs.push({\n kind: parser_1.RuleKinds.FRAGMENT_DEFINITION,\n name: {\n kind: graphql_1.Kind.NAME,\n value: state.name,\n },\n selectionSet: {\n kind: parser_1.RuleKinds.SELECTION_SET,\n selections: [],\n },\n typeCondition: {\n kind: parser_1.RuleKinds.NAMED_TYPE,\n name: {\n kind: graphql_1.Kind.NAME,\n value: state.type,\n },\n },\n });\n }\n });\n return fragmentDefs;\n}\nexports.getFragmentDefinitions = getFragmentDefinitions;\nfunction getSuggestionsForVariableDefinition(token, schema, _kind) {\n const inputTypeMap = schema.getTypeMap();\n const inputTypes = (0, autocompleteUtils_1.objectValues)(inputTypeMap).filter(graphql_1.isInputType);\n return (0, autocompleteUtils_1.hintList)(token, inputTypes.map((type) => ({\n label: type.name,\n documentation: (type === null || type === void 0 ? void 0 : type.description) || '',\n kind: types_1.CompletionItemKind.Variable,\n })));\n}\nfunction getSuggestionsForDirective(token, state, schema, _kind) {\n var _a;\n if ((_a = state.prevState) === null || _a === void 0 ? void 0 : _a.kind) {\n const directives = schema\n .getDirectives()\n .filter(directive => canUseDirective(state.prevState, directive));\n return (0, autocompleteUtils_1.hintList)(token, directives.map(directive => ({\n label: directive.name,\n documentation: (directive === null || directive === void 0 ? void 0 : directive.description) || '',\n kind: types_1.CompletionItemKind.Function,\n })));\n }\n return [];\n}\nfunction getSuggestionsForDirectiveArguments(token, state, schema, _kind) {\n const directive = schema.getDirectives().find(d => d.name === state.name);\n return (0, autocompleteUtils_1.hintList)(token, (directive === null || directive === void 0 ? void 0 : directive.args.map(arg => ({\n label: arg.name,\n documentation: arg.description || '',\n kind: types_1.CompletionItemKind.Field,\n }))) || []);\n}\nfunction canUseDirective(state, directive) {\n if (!(state === null || state === void 0 ? void 0 : state.kind)) {\n return false;\n }\n const { kind, prevState } = state;\n const { locations } = directive;\n switch (kind) {\n case parser_1.RuleKinds.QUERY:\n return locations.includes(graphql_1.DirectiveLocation.QUERY);\n case parser_1.RuleKinds.MUTATION:\n return locations.includes(graphql_1.DirectiveLocation.MUTATION);\n case parser_1.RuleKinds.SUBSCRIPTION:\n return locations.includes(graphql_1.DirectiveLocation.SUBSCRIPTION);\n case parser_1.RuleKinds.FIELD:\n case parser_1.RuleKinds.ALIASED_FIELD:\n return locations.includes(graphql_1.DirectiveLocation.FIELD);\n case parser_1.RuleKinds.FRAGMENT_DEFINITION:\n return locations.includes(graphql_1.DirectiveLocation.FRAGMENT_DEFINITION);\n case parser_1.RuleKinds.FRAGMENT_SPREAD:\n return locations.includes(graphql_1.DirectiveLocation.FRAGMENT_SPREAD);\n case parser_1.RuleKinds.INLINE_FRAGMENT:\n return locations.includes(graphql_1.DirectiveLocation.INLINE_FRAGMENT);\n case parser_1.RuleKinds.SCHEMA_DEF:\n return locations.includes(graphql_1.DirectiveLocation.SCHEMA);\n case parser_1.RuleKinds.SCALAR_DEF:\n return locations.includes(graphql_1.DirectiveLocation.SCALAR);\n case parser_1.RuleKinds.OBJECT_TYPE_DEF:\n return locations.includes(graphql_1.DirectiveLocation.OBJECT);\n case parser_1.RuleKinds.FIELD_DEF:\n return locations.includes(graphql_1.DirectiveLocation.FIELD_DEFINITION);\n case parser_1.RuleKinds.INTERFACE_DEF:\n return locations.includes(graphql_1.DirectiveLocation.INTERFACE);\n case parser_1.RuleKinds.UNION_DEF:\n return locations.includes(graphql_1.DirectiveLocation.UNION);\n case parser_1.RuleKinds.ENUM_DEF:\n return locations.includes(graphql_1.DirectiveLocation.ENUM);\n case parser_1.RuleKinds.ENUM_VALUE:\n return locations.includes(graphql_1.DirectiveLocation.ENUM_VALUE);\n case parser_1.RuleKinds.INPUT_DEF:\n return locations.includes(graphql_1.DirectiveLocation.INPUT_OBJECT);\n case parser_1.RuleKinds.INPUT_VALUE_DEF:\n const prevStateKind = prevState === null || prevState === void 0 ? void 0 : prevState.kind;\n switch (prevStateKind) {\n case parser_1.RuleKinds.ARGUMENTS_DEF:\n return locations.includes(graphql_1.DirectiveLocation.ARGUMENT_DEFINITION);\n case parser_1.RuleKinds.INPUT_DEF:\n return locations.includes(graphql_1.DirectiveLocation.INPUT_FIELD_DEFINITION);\n }\n }\n return false;\n}\nexports.canUseDirective = canUseDirective;\nfunction unwrapType(state) {\n if (state.prevState &&\n state.kind &&\n [\n parser_1.RuleKinds.NAMED_TYPE,\n parser_1.RuleKinds.LIST_TYPE,\n parser_1.RuleKinds.TYPE,\n parser_1.RuleKinds.NON_NULL_TYPE,\n ].includes(state.kind)) {\n return unwrapType(state.prevState);\n }\n return state;\n}\n//# sourceMappingURL=getAutocompleteSuggestions.js.map","'use strict';\n\nfunction nullthrows(x, message) {\n if (x != null) {\n return x;\n }\n var error = new Error(message !== undefined ? message : 'Got unexpected ' + x);\n error.framesToPop = 1; // Skip nullthrows's own stack frame.\n throw error;\n}\n\nmodule.exports = nullthrows;\nmodule.exports.default = nullthrows;\n\nObject.defineProperty(module.exports, '__esModule', {value: true});\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFragmentDependenciesForAST = exports.getFragmentDependencies = void 0;\nconst graphql_1 = require(\"graphql\");\nconst nullthrows_1 = __importDefault(require(\"nullthrows\"));\nconst getFragmentDependencies = (operationString, fragmentDefinitions) => {\n if (!fragmentDefinitions) {\n return [];\n }\n let parsedOperation;\n try {\n parsedOperation = (0, graphql_1.parse)(operationString);\n }\n catch (_a) {\n return [];\n }\n return (0, exports.getFragmentDependenciesForAST)(parsedOperation, fragmentDefinitions);\n};\nexports.getFragmentDependencies = getFragmentDependencies;\nconst getFragmentDependenciesForAST = (parsedOperation, fragmentDefinitions) => {\n if (!fragmentDefinitions) {\n return [];\n }\n const existingFrags = new Map();\n const referencedFragNames = new Set();\n (0, graphql_1.visit)(parsedOperation, {\n FragmentDefinition(node) {\n existingFrags.set(node.name.value, true);\n },\n FragmentSpread(node) {\n if (!referencedFragNames.has(node.name.value)) {\n referencedFragNames.add(node.name.value);\n }\n },\n });\n const asts = new Set();\n for (const name of referencedFragNames) {\n if (!existingFrags.has(name) && fragmentDefinitions.has(name)) {\n asts.add((0, nullthrows_1.default)(fragmentDefinitions.get(name)));\n }\n }\n const referencedFragments = [];\n for (const ast of asts) {\n (0, graphql_1.visit)(ast, {\n FragmentSpread(node) {\n if (!referencedFragNames.has(node.name.value) &&\n fragmentDefinitions.get(node.name.value)) {\n asts.add((0, nullthrows_1.default)(fragmentDefinitions.get(node.name.value)));\n referencedFragNames.add(node.name.value);\n }\n },\n });\n if (!existingFrags.has(ast.name.value)) {\n referencedFragments.push(ast);\n }\n }\n return referencedFragments;\n};\nexports.getFragmentDependenciesForAST = getFragmentDependenciesForAST;\n//# sourceMappingURL=fragmentDependencies.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getVariablesJSONSchema = exports.defaultJSONSchemaOptions = void 0;\nconst graphql_1 = require(\"graphql\");\nexports.defaultJSONSchemaOptions = {\n useMarkdownDescription: false,\n};\nfunction text(into, newText) {\n into.push(newText);\n}\nfunction renderType(into, t) {\n if ((0, graphql_1.isNonNullType)(t)) {\n renderType(into, t.ofType);\n text(into, '!');\n }\n else if ((0, graphql_1.isListType)(t)) {\n text(into, '[');\n renderType(into, t.ofType);\n text(into, ']');\n }\n else {\n text(into, t.name);\n }\n}\nfunction renderDefinitionDescription(t, useMarkdown, description) {\n const into = [];\n const type = 'type' in t ? t.type : t;\n if ('type' in t && t.description) {\n text(into, t.description);\n text(into, '\\n\\n');\n }\n text(into, renderTypeToString(type, useMarkdown));\n if (description) {\n text(into, '\\n');\n text(into, description);\n }\n else if (!(0, graphql_1.isScalarType)(type) && 'description' in type && type.description) {\n text(into, '\\n');\n text(into, type.description);\n }\n else if ('ofType' in type &&\n !(0, graphql_1.isScalarType)(type.ofType) &&\n 'description' in type.ofType &&\n type.ofType.description) {\n text(into, '\\n');\n text(into, type.ofType.description);\n }\n return into.join('');\n}\nfunction renderTypeToString(t, useMarkdown) {\n const into = [];\n if (useMarkdown) {\n text(into, '```graphql\\n');\n }\n renderType(into, t);\n if (useMarkdown) {\n text(into, '\\n```');\n }\n return into.join('');\n}\nconst defaultScalarTypesMap = {\n Int: { type: 'integer' },\n String: { type: 'string' },\n Float: { type: 'number' },\n ID: { type: 'string' },\n Boolean: { type: 'boolean' },\n DateTime: { type: 'string' },\n};\nclass Marker {\n constructor() {\n this.set = new Set();\n }\n mark(name) {\n if (this.set.has(name)) {\n return false;\n }\n this.set.add(name);\n return true;\n }\n}\nfunction getJSONSchemaFromGraphQLType(fieldOrType, options) {\n var _a, _b;\n let definition = Object.create(null);\n const definitions = Object.create(null);\n const isField = 'type' in fieldOrType;\n const type = isField ? fieldOrType.type : fieldOrType;\n const baseType = (0, graphql_1.isNonNullType)(type) ? type.ofType : type;\n const required = (0, graphql_1.isNonNullType)(type);\n if ((0, graphql_1.isScalarType)(baseType)) {\n if ((_a = options === null || options === void 0 ? void 0 : options.scalarSchemas) === null || _a === void 0 ? void 0 : _a[baseType.name]) {\n definition = JSON.parse(JSON.stringify(options.scalarSchemas[baseType.name]));\n }\n else {\n definition.type = ['string', 'number', 'boolean', 'integer'];\n }\n if (!required) {\n if (Array.isArray(definition.type)) {\n definition.type.push('null');\n }\n else if (definition.type) {\n definition.type = [definition.type, 'null'];\n }\n else if (definition.enum) {\n definition.enum.push(null);\n }\n else if (definition.oneOf) {\n definition.oneOf.push({ type: 'null' });\n }\n else {\n definition = {\n oneOf: [definition, { type: 'null' }],\n };\n }\n }\n }\n else if ((0, graphql_1.isEnumType)(baseType)) {\n definition.enum = baseType.getValues().map(val => val.name);\n if (!required) {\n definition.enum.push(null);\n }\n }\n else if ((0, graphql_1.isListType)(baseType)) {\n if (required) {\n definition.type = 'array';\n }\n else {\n definition.type = ['array', 'null'];\n }\n const { definition: def, definitions: defs } = getJSONSchemaFromGraphQLType(baseType.ofType, options);\n definition.items = def;\n if (defs) {\n for (const defName of Object.keys(defs)) {\n definitions[defName] = defs[defName];\n }\n }\n }\n else if ((0, graphql_1.isInputObjectType)(baseType)) {\n if (required) {\n definition.$ref = `#/definitions/${baseType.name}`;\n }\n else {\n definition.oneOf = [\n { $ref: `#/definitions/${baseType.name}` },\n { type: 'null' },\n ];\n }\n if ((_b = options === null || options === void 0 ? void 0 : options.definitionMarker) === null || _b === void 0 ? void 0 : _b.mark(baseType.name)) {\n const fields = baseType.getFields();\n const fieldDef = {\n type: 'object',\n properties: {},\n required: [],\n };\n fieldDef.description = renderDefinitionDescription(baseType);\n if (options === null || options === void 0 ? void 0 : options.useMarkdownDescription) {\n fieldDef.markdownDescription = renderDefinitionDescription(baseType, true);\n }\n for (const fieldName of Object.keys(fields)) {\n const field = fields[fieldName];\n const { required: fieldRequired, definition: fieldDefinition, definitions: typeDefinitions, } = getJSONSchemaFromGraphQLType(field, options);\n fieldDef.properties[fieldName] = fieldDefinition;\n if (fieldRequired) {\n fieldDef.required.push(fieldName);\n }\n if (typeDefinitions) {\n for (const [defName, value] of Object.entries(typeDefinitions)) {\n definitions[defName] = value;\n }\n }\n }\n definitions[baseType.name] = fieldDef;\n }\n }\n if ('defaultValue' in fieldOrType && fieldOrType.defaultValue !== undefined) {\n definition.default = fieldOrType.defaultValue;\n }\n const { description } = definition;\n definition.description = renderDefinitionDescription(fieldOrType, false, description);\n if (options === null || options === void 0 ? void 0 : options.useMarkdownDescription) {\n definition.markdownDescription = renderDefinitionDescription(fieldOrType, true, description);\n }\n return { required, definition, definitions };\n}\nfunction getVariablesJSONSchema(variableToType, options) {\n var _a;\n const jsonSchema = {\n $schema: 'http://json-schema.org/draft-04/schema',\n type: 'object',\n properties: {},\n required: [],\n additionalProperties: false,\n };\n const runtimeOptions = Object.assign(Object.assign({}, options), { definitionMarker: new Marker(), scalarSchemas: Object.assign(Object.assign({}, defaultScalarTypesMap), options === null || options === void 0 ? void 0 : options.scalarSchemas) });\n if (variableToType) {\n for (const [variableName, type] of Object.entries(variableToType)) {\n const { definition, required, definitions } = getJSONSchemaFromGraphQLType(type, runtimeOptions);\n jsonSchema.properties[variableName] = definition;\n if (required) {\n (_a = jsonSchema.required) === null || _a === void 0 ? void 0 : _a.push(variableName);\n }\n if (definitions) {\n jsonSchema.definitions = Object.assign(Object.assign({}, jsonSchema === null || jsonSchema === void 0 ? void 0 : jsonSchema.definitions), definitions);\n }\n }\n }\n return jsonSchema;\n}\nexports.getVariablesJSONSchema = getVariablesJSONSchema;\n//# sourceMappingURL=getVariablesJSONSchema.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.pointToOffset = exports.getASTNodeAtPosition = void 0;\nconst graphql_1 = require(\"graphql\");\nfunction getASTNodeAtPosition(query, ast, point) {\n const offset = pointToOffset(query, point);\n let nodeContainingPosition;\n (0, graphql_1.visit)(ast, {\n enter(node) {\n if (node.kind !== 'Name' &&\n node.loc &&\n node.loc.start <= offset &&\n offset <= node.loc.end) {\n nodeContainingPosition = node;\n }\n else {\n return false;\n }\n },\n leave(node) {\n if (node.loc && node.loc.start <= offset && offset <= node.loc.end) {\n return false;\n }\n },\n });\n return nodeContainingPosition;\n}\nexports.getASTNodeAtPosition = getASTNodeAtPosition;\nfunction pointToOffset(text, point) {\n const linesUntilPosition = text.split('\\n').slice(0, point.line);\n return (point.character +\n linesUntilPosition\n .map(line => line.length + 1)\n .reduce((a, b) => a + b, 0));\n}\nexports.pointToOffset = pointToOffset;\n//# sourceMappingURL=getASTNodeAtPosition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.locToRange = exports.offsetToPosition = exports.Position = exports.Range = void 0;\nclass Range {\n constructor(start, end) {\n this.containsPosition = (position) => {\n if (this.start.line === position.line) {\n return this.start.character <= position.character;\n }\n if (this.end.line === position.line) {\n return this.end.character >= position.character;\n }\n return this.start.line <= position.line && this.end.line >= position.line;\n };\n this.start = start;\n this.end = end;\n }\n setStart(line, character) {\n this.start = new Position(line, character);\n }\n setEnd(line, character) {\n this.end = new Position(line, character);\n }\n}\nexports.Range = Range;\nclass Position {\n constructor(line, character) {\n this.lessThanOrEqualTo = (position) => this.line < position.line ||\n (this.line === position.line && this.character <= position.character);\n this.line = line;\n this.character = character;\n }\n setLine(line) {\n this.line = line;\n }\n setCharacter(character) {\n this.character = character;\n }\n}\nexports.Position = Position;\nfunction offsetToPosition(text, loc) {\n const EOL = '\\n';\n const buf = text.slice(0, loc);\n const lines = buf.split(EOL).length - 1;\n const lastLineIndex = buf.lastIndexOf(EOL);\n return new Position(lines, loc - lastLineIndex - 1);\n}\nexports.offsetToPosition = offsetToPosition;\nfunction locToRange(text, loc) {\n const start = offsetToPosition(text, loc.start);\n const end = offsetToPosition(text, loc.end);\n return new Range(start, end);\n}\nexports.locToRange = locToRange;\n//# sourceMappingURL=Range.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateWithCustomRules = void 0;\nconst graphql_1 = require(\"graphql\");\nconst specifiedSDLRules = [\n graphql_1.LoneSchemaDefinitionRule,\n graphql_1.UniqueOperationTypesRule,\n graphql_1.UniqueTypeNamesRule,\n graphql_1.UniqueEnumValueNamesRule,\n graphql_1.UniqueFieldDefinitionNamesRule,\n graphql_1.UniqueDirectiveNamesRule,\n graphql_1.KnownTypeNamesRule,\n graphql_1.KnownDirectivesRule,\n graphql_1.UniqueDirectivesPerLocationRule,\n graphql_1.PossibleTypeExtensionsRule,\n graphql_1.UniqueArgumentNamesRule,\n graphql_1.UniqueInputFieldNamesRule,\n graphql_1.UniqueVariableNamesRule,\n graphql_1.FragmentsOnCompositeTypesRule,\n graphql_1.ProvidedRequiredArgumentsRule,\n];\nfunction validateWithCustomRules(schema, ast, customRules, isRelayCompatMode, isSchemaDocument) {\n const rules = graphql_1.specifiedRules.filter(rule => {\n if (rule === graphql_1.NoUnusedFragmentsRule || rule === graphql_1.ExecutableDefinitionsRule) {\n return false;\n }\n if (isRelayCompatMode && rule === graphql_1.KnownFragmentNamesRule) {\n return false;\n }\n return true;\n });\n if (customRules) {\n Array.prototype.push.apply(rules, customRules);\n }\n if (isSchemaDocument) {\n Array.prototype.push.apply(rules, specifiedSDLRules);\n }\n const errors = (0, graphql_1.validate)(schema, ast, rules);\n return errors.filter(error => {\n if (error.message.includes('Unknown directive') && error.nodes) {\n const node = error.nodes[0];\n if (node && node.kind === graphql_1.Kind.DIRECTIVE) {\n const name = node.name.value;\n if (name === 'arguments' || name === 'argumentDefinitions') {\n return false;\n }\n }\n }\n return true;\n });\n}\nexports.validateWithCustomRules = validateWithCustomRules;\n//# sourceMappingURL=validateWithCustomRules.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.collectVariables = void 0;\nconst graphql_1 = require(\"graphql\");\nfunction collectVariables(schema, documentAST) {\n const variableToType = Object.create(null);\n for (const definition of documentAST.definitions) {\n if (definition.kind === 'OperationDefinition') {\n const { variableDefinitions } = definition;\n if (variableDefinitions) {\n for (const { variable, type } of variableDefinitions) {\n const inputType = (0, graphql_1.typeFromAST)(schema, type);\n if (inputType) {\n variableToType[variable.name.value] = inputType;\n }\n else if (type.kind === graphql_1.Kind.NAMED_TYPE &&\n type.name.value === 'Float') {\n variableToType[variable.name.value] = graphql_1.GraphQLFloat;\n }\n }\n }\n }\n }\n return variableToType;\n}\nexports.collectVariables = collectVariables;\n//# sourceMappingURL=collectVariables.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getQueryFacts = exports.getOperationASTFacts = void 0;\nconst graphql_1 = require(\"graphql\");\nconst collectVariables_1 = require(\"./collectVariables\");\nfunction getOperationASTFacts(documentAST, schema) {\n const variableToType = schema\n ? (0, collectVariables_1.collectVariables)(schema, documentAST)\n : undefined;\n const operations = [];\n (0, graphql_1.visit)(documentAST, {\n OperationDefinition(node) {\n operations.push(node);\n },\n });\n return { variableToType, operations };\n}\nexports.getOperationASTFacts = getOperationASTFacts;\nfunction getOperationFacts(schema, documentString) {\n if (!documentString) {\n return;\n }\n try {\n const documentAST = (0, graphql_1.parse)(documentString);\n return Object.assign(Object.assign({}, getOperationASTFacts(documentAST, schema)), { documentAST });\n }\n catch (_a) { }\n}\nexports.default = getOperationFacts;\nexports.getQueryFacts = getOperationFacts;\n//# sourceMappingURL=getOperationFacts.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getQueryFacts = exports.getOperationASTFacts = exports.getOperationFacts = exports.collectVariables = exports.validateWithCustomRules = exports.offsetToPosition = exports.locToRange = exports.Range = exports.Position = exports.pointToOffset = exports.getASTNodeAtPosition = exports.getVariablesJSONSchema = exports.getFragmentDependenciesForAST = exports.getFragmentDependencies = void 0;\nvar fragmentDependencies_1 = require(\"./fragmentDependencies\");\nObject.defineProperty(exports, \"getFragmentDependencies\", { enumerable: true, get: function () { return fragmentDependencies_1.getFragmentDependencies; } });\nObject.defineProperty(exports, \"getFragmentDependenciesForAST\", { enumerable: true, get: function () { return fragmentDependencies_1.getFragmentDependenciesForAST; } });\nvar getVariablesJSONSchema_1 = require(\"./getVariablesJSONSchema\");\nObject.defineProperty(exports, \"getVariablesJSONSchema\", { enumerable: true, get: function () { return getVariablesJSONSchema_1.getVariablesJSONSchema; } });\nvar getASTNodeAtPosition_1 = require(\"./getASTNodeAtPosition\");\nObject.defineProperty(exports, \"getASTNodeAtPosition\", { enumerable: true, get: function () { return getASTNodeAtPosition_1.getASTNodeAtPosition; } });\nObject.defineProperty(exports, \"pointToOffset\", { enumerable: true, get: function () { return getASTNodeAtPosition_1.pointToOffset; } });\nvar Range_1 = require(\"./Range\");\nObject.defineProperty(exports, \"Position\", { enumerable: true, get: function () { return Range_1.Position; } });\nObject.defineProperty(exports, \"Range\", { enumerable: true, get: function () { return Range_1.Range; } });\nObject.defineProperty(exports, \"locToRange\", { enumerable: true, get: function () { return Range_1.locToRange; } });\nObject.defineProperty(exports, \"offsetToPosition\", { enumerable: true, get: function () { return Range_1.offsetToPosition; } });\nvar validateWithCustomRules_1 = require(\"./validateWithCustomRules\");\nObject.defineProperty(exports, \"validateWithCustomRules\", { enumerable: true, get: function () { return validateWithCustomRules_1.validateWithCustomRules; } });\nvar collectVariables_1 = require(\"./collectVariables\");\nObject.defineProperty(exports, \"collectVariables\", { enumerable: true, get: function () { return collectVariables_1.collectVariables; } });\nvar getOperationFacts_1 = require(\"./getOperationFacts\");\nObject.defineProperty(exports, \"getOperationFacts\", { enumerable: true, get: function () { return __importDefault(getOperationFacts_1).default; } });\nObject.defineProperty(exports, \"getOperationASTFacts\", { enumerable: true, get: function () { return getOperationFacts_1.getOperationASTFacts; } });\nObject.defineProperty(exports, \"getQueryFacts\", { enumerable: true, get: function () { return getOperationFacts_1.getQueryFacts; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDefinitionQueryResultForDefinitionNode = exports.getDefinitionQueryResultForFragmentSpread = exports.getDefinitionQueryResultForArgument = exports.getDefinitionQueryResultForField = exports.getDefinitionQueryResultForNamedType = exports.LANGUAGE = void 0;\nconst utils_1 = require(\"../utils\");\nexports.LANGUAGE = 'GraphQL';\nfunction assert(value, message) {\n if (!value) {\n throw new Error(message);\n }\n}\nfunction getRange(text, node) {\n const location = node.loc;\n assert(location, 'Expected ASTNode to have a location.');\n return (0, utils_1.locToRange)(text, location);\n}\nfunction getPosition(text, node) {\n const location = node.loc;\n assert(location, 'Expected ASTNode to have a location.');\n return (0, utils_1.offsetToPosition)(text, location.start);\n}\nfunction getDefinitionQueryResultForNamedType(text, node, dependencies) {\n return __awaiter(this, void 0, void 0, function* () {\n const name = node.name.value;\n const defNodes = dependencies.filter(({ definition }) => definition.name && definition.name.value === name);\n if (defNodes.length === 0) {\n throw new Error(`Definition not found for GraphQL type ${name}`);\n }\n const definitions = defNodes.map(({ filePath, content, definition }) => getDefinitionForNodeDefinition(filePath || '', content, definition));\n return {\n definitions,\n queryRange: definitions.map(_ => getRange(text, node)),\n printedName: name,\n };\n });\n}\nexports.getDefinitionQueryResultForNamedType = getDefinitionQueryResultForNamedType;\nfunction getDefinitionQueryResultForField(fieldName, typeName, dependencies) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const defNodes = dependencies.filter(({ definition }) => definition.name && definition.name.value === typeName);\n if (defNodes.length === 0) {\n throw new Error(`Definition not found for GraphQL type ${typeName}`);\n }\n const definitions = [];\n for (const { filePath, content, definition } of defNodes) {\n const fieldDefinition = (_a = definition.fields) === null || _a === void 0 ? void 0 : _a.find(item => item.name.value === fieldName);\n if (fieldDefinition == null) {\n continue;\n }\n definitions.push(getDefinitionForFieldDefinition(filePath || '', content, fieldDefinition));\n }\n return {\n definitions,\n queryRange: [],\n printedName: [typeName, fieldName].join('.'),\n };\n });\n}\nexports.getDefinitionQueryResultForField = getDefinitionQueryResultForField;\nfunction getDefinitionQueryResultForArgument(argumentName, fieldName, typeName, dependencies) {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, function* () {\n const definitions = [];\n for (const { filePath, content, definition } of dependencies) {\n const argDefinition = (_c = (_b = (_a = definition.fields) === null || _a === void 0 ? void 0 : _a.find(item => item.name.value === fieldName)) === null || _b === void 0 ? void 0 : _b.arguments) === null || _c === void 0 ? void 0 : _c.find(item => item.name.value === argumentName);\n if (argDefinition == null) {\n continue;\n }\n definitions.push(getDefinitionForArgumentDefinition(filePath || '', content, argDefinition));\n }\n return {\n definitions,\n queryRange: [],\n printedName: `${[typeName, fieldName].join('.')}(${argumentName})`,\n };\n });\n}\nexports.getDefinitionQueryResultForArgument = getDefinitionQueryResultForArgument;\nfunction getDefinitionQueryResultForFragmentSpread(text, fragment, dependencies) {\n return __awaiter(this, void 0, void 0, function* () {\n const name = fragment.name.value;\n const defNodes = dependencies.filter(({ definition }) => definition.name.value === name);\n if (defNodes.length === 0) {\n throw new Error(`Definition not found for GraphQL fragment ${name}`);\n }\n const definitions = defNodes.map(({ filePath, content, definition }) => getDefinitionForFragmentDefinition(filePath || '', content, definition));\n return {\n definitions,\n queryRange: definitions.map(_ => getRange(text, fragment)),\n printedName: name,\n };\n });\n}\nexports.getDefinitionQueryResultForFragmentSpread = getDefinitionQueryResultForFragmentSpread;\nfunction getDefinitionQueryResultForDefinitionNode(path, text, definition) {\n var _a;\n return {\n definitions: [getDefinitionForFragmentDefinition(path, text, definition)],\n queryRange: definition.name ? [getRange(text, definition.name)] : [],\n printedName: (_a = definition.name) === null || _a === void 0 ? void 0 : _a.value,\n };\n}\nexports.getDefinitionQueryResultForDefinitionNode = getDefinitionQueryResultForDefinitionNode;\nfunction getDefinitionForFragmentDefinition(path, text, definition) {\n const { name } = definition;\n if (!name) {\n throw new Error('Expected ASTNode to have a Name.');\n }\n return {\n path,\n position: getPosition(text, definition),\n range: getRange(text, definition),\n name: name.value || '',\n language: exports.LANGUAGE,\n projectRoot: path,\n };\n}\nfunction getDefinitionForNodeDefinition(path, text, definition) {\n const { name } = definition;\n assert(name, 'Expected ASTNode to have a Name.');\n return {\n path,\n position: getPosition(text, definition),\n range: getRange(text, definition),\n name: name.value || '',\n language: exports.LANGUAGE,\n projectRoot: path,\n };\n}\nfunction getDefinitionForFieldDefinition(path, text, definition) {\n const { name } = definition;\n assert(name, 'Expected ASTNode to have a Name.');\n return {\n path,\n position: getPosition(text, definition),\n range: getRange(text, definition),\n name: name.value || '',\n language: exports.LANGUAGE,\n projectRoot: path,\n };\n}\nfunction getDefinitionForArgumentDefinition(path, text, definition) {\n const { name } = definition;\n assert(name, 'Expected ASTNode to have a Name.');\n return {\n path,\n position: getPosition(text, definition),\n range: getRange(text, definition),\n name: name.value || '',\n language: exports.LANGUAGE,\n projectRoot: path,\n };\n}\n//# sourceMappingURL=getDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRange = exports.validateQuery = exports.getDiagnostics = exports.DIAGNOSTIC_SEVERITY = exports.SEVERITY = void 0;\nconst graphql_1 = require(\"graphql\");\nconst parser_1 = require(\"../parser\");\nconst utils_1 = require(\"../utils\");\nexports.SEVERITY = {\n Error: 'Error',\n Warning: 'Warning',\n Information: 'Information',\n Hint: 'Hint',\n};\nexports.DIAGNOSTIC_SEVERITY = {\n [exports.SEVERITY.Error]: 1,\n [exports.SEVERITY.Warning]: 2,\n [exports.SEVERITY.Information]: 3,\n [exports.SEVERITY.Hint]: 4,\n};\nconst invariant = (condition, message) => {\n if (!condition) {\n throw new Error(message);\n }\n};\nfunction getDiagnostics(query, schema = null, customRules, isRelayCompatMode, externalFragments) {\n var _a, _b;\n let ast = null;\n let fragments = '';\n if (externalFragments) {\n fragments =\n typeof externalFragments === 'string'\n ? externalFragments\n : externalFragments.reduce((acc, node) => acc + (0, graphql_1.print)(node) + '\\n\\n', '');\n }\n const enhancedQuery = fragments ? `${query}\\n\\n${fragments}` : query;\n try {\n ast = (0, graphql_1.parse)(enhancedQuery);\n }\n catch (error) {\n if (error instanceof graphql_1.GraphQLError) {\n const range = getRange((_b = (_a = error.locations) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : { line: 0, column: 0 }, enhancedQuery);\n return [\n {\n severity: exports.DIAGNOSTIC_SEVERITY.Error,\n message: error.message,\n source: 'GraphQL: Syntax',\n range,\n },\n ];\n }\n throw error;\n }\n return validateQuery(ast, schema, customRules, isRelayCompatMode);\n}\nexports.getDiagnostics = getDiagnostics;\nfunction validateQuery(ast, schema = null, customRules, isRelayCompatMode) {\n if (!schema) {\n return [];\n }\n const validationErrorAnnotations = (0, utils_1.validateWithCustomRules)(schema, ast, customRules, isRelayCompatMode).flatMap(error => annotations(error, exports.DIAGNOSTIC_SEVERITY.Error, 'Validation'));\n const deprecationWarningAnnotations = (0, graphql_1.validate)(schema, ast, [\n graphql_1.NoDeprecatedCustomRule,\n ]).flatMap(error => annotations(error, exports.DIAGNOSTIC_SEVERITY.Warning, 'Deprecation'));\n return validationErrorAnnotations.concat(deprecationWarningAnnotations);\n}\nexports.validateQuery = validateQuery;\nfunction annotations(error, severity, type) {\n if (!error.nodes) {\n return [];\n }\n const highlightedNodes = [];\n for (const [i, node] of error.nodes.entries()) {\n const highlightNode = node.kind !== 'Variable' && 'name' in node && node.name !== undefined\n ? node.name\n : 'variable' in node && node.variable !== undefined\n ? node.variable\n : node;\n if (highlightNode) {\n invariant(error.locations, 'GraphQL validation error requires locations.');\n const loc = error.locations[i];\n const highlightLoc = getLocation(highlightNode);\n const end = loc.column + (highlightLoc.end - highlightLoc.start);\n highlightedNodes.push({\n source: `GraphQL: ${type}`,\n message: error.message,\n severity,\n range: new utils_1.Range(new utils_1.Position(loc.line - 1, loc.column - 1), new utils_1.Position(loc.line - 1, end)),\n });\n }\n }\n return highlightedNodes;\n}\nfunction getRange(location, queryText) {\n const parser = (0, parser_1.onlineParser)();\n const state = parser.startState();\n const lines = queryText.split('\\n');\n invariant(lines.length >= location.line, 'Query text must have more lines than where the error happened');\n let stream = null;\n for (let i = 0; i < location.line; i++) {\n stream = new parser_1.CharacterStream(lines[i]);\n while (!stream.eol()) {\n const style = parser.token(stream, state);\n if (style === 'invalidchar') {\n break;\n }\n }\n }\n invariant(stream, 'Expected Parser stream to be available.');\n const line = location.line - 1;\n const start = stream.getStartOfToken();\n const end = stream.getCurrentPosition();\n return new utils_1.Range(new utils_1.Position(line, start), new utils_1.Position(line, end));\n}\nexports.getRange = getRange;\nfunction getLocation(node) {\n const typeCastedNode = node;\n const location = typeCastedNode.loc;\n invariant(location, 'Expected ASTNode to have a location.');\n return location;\n}\n//# sourceMappingURL=getDiagnostics.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOutline = void 0;\nconst graphql_1 = require(\"graphql\");\nconst utils_1 = require(\"../utils\");\nfunction getOutline(documentText) {\n let ast;\n try {\n ast = (0, graphql_1.parse)(documentText);\n }\n catch (_a) {\n return null;\n }\n const visitorFns = outlineTreeConverter(documentText);\n const outlineTrees = (0, graphql_1.visit)(ast, {\n leave(node) {\n if (visitorFns !== undefined && node.kind in visitorFns) {\n return visitorFns[node.kind](node);\n }\n return null;\n },\n });\n return { outlineTrees };\n}\nexports.getOutline = getOutline;\nfunction outlineTreeConverter(docText) {\n const meta = (node) => {\n return {\n representativeName: node.name,\n startPosition: (0, utils_1.offsetToPosition)(docText, node.loc.start),\n endPosition: (0, utils_1.offsetToPosition)(docText, node.loc.end),\n kind: node.kind,\n children: node.selectionSet || node.fields || node.values || node.arguments || [],\n };\n };\n return {\n Field(node) {\n const tokenizedText = node.alias\n ? [buildToken('plain', node.alias), buildToken('plain', ': ')]\n : [];\n tokenizedText.push(buildToken('plain', node.name));\n return Object.assign({ tokenizedText }, meta(node));\n },\n OperationDefinition: (node) => (Object.assign({ tokenizedText: [\n buildToken('keyword', node.operation),\n buildToken('whitespace', ' '),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n Document: (node) => node.definitions,\n SelectionSet: (node) => concatMap(node.selections, (child) => {\n return child.kind === graphql_1.Kind.INLINE_FRAGMENT ? child.selectionSet : child;\n }),\n Name: (node) => node.value,\n FragmentDefinition: (node) => (Object.assign({ tokenizedText: [\n buildToken('keyword', 'fragment'),\n buildToken('whitespace', ' '),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n InterfaceTypeDefinition: (node) => (Object.assign({ tokenizedText: [\n buildToken('keyword', 'interface'),\n buildToken('whitespace', ' '),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n EnumTypeDefinition: (node) => (Object.assign({ tokenizedText: [\n buildToken('keyword', 'enum'),\n buildToken('whitespace', ' '),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n EnumValueDefinition: (node) => (Object.assign({ tokenizedText: [buildToken('plain', node.name)] }, meta(node))),\n ObjectTypeDefinition: (node) => (Object.assign({ tokenizedText: [\n buildToken('keyword', 'type'),\n buildToken('whitespace', ' '),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n InputObjectTypeDefinition: (node) => (Object.assign({ tokenizedText: [\n buildToken('keyword', 'input'),\n buildToken('whitespace', ' '),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n FragmentSpread: (node) => (Object.assign({ tokenizedText: [\n buildToken('plain', '...'),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n InputValueDefinition(node) {\n return Object.assign({ tokenizedText: [buildToken('plain', node.name)] }, meta(node));\n },\n FieldDefinition(node) {\n return Object.assign({ tokenizedText: [buildToken('plain', node.name)] }, meta(node));\n },\n InlineFragment: (node) => node.selectionSet,\n };\n}\nfunction buildToken(kind, value) {\n return { kind, value };\n}\nfunction concatMap(arr, fn) {\n const res = [];\n for (let i = 0; i < arr.length; i++) {\n const x = fn(arr[i], i);\n if (Array.isArray(x)) {\n res.push(...x);\n }\n else {\n res.push(x);\n }\n }\n return res;\n}\n//# sourceMappingURL=getOutline.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.renderType = exports.renderEnumValue = exports.renderArg = exports.renderDirective = exports.renderField = exports.getHoverInformation = void 0;\nconst graphql_1 = require(\"graphql\");\nconst parser_1 = require(\"../parser\");\nfunction getHoverInformation(schema, queryText, cursor, contextToken, config) {\n const options = Object.assign(Object.assign({}, config), { schema });\n const context = (0, parser_1.getContextAtPosition)(queryText, cursor, schema, contextToken);\n if (!context) {\n return '';\n }\n const { typeInfo, token } = context;\n const { kind, step } = token.state;\n if ((kind === 'Field' && step === 0 && typeInfo.fieldDef) ||\n (kind === 'AliasedField' && step === 2 && typeInfo.fieldDef) ||\n (kind === 'ObjectField' && step === 0 && typeInfo.fieldDef)) {\n const into = [];\n renderMdCodeStart(into, options);\n renderField(into, typeInfo, options);\n renderMdCodeEnd(into, options);\n renderDescription(into, options, typeInfo.fieldDef);\n return into.join('').trim();\n }\n if (kind === 'Directive' && step === 1 && typeInfo.directiveDef) {\n const into = [];\n renderMdCodeStart(into, options);\n renderDirective(into, typeInfo, options);\n renderMdCodeEnd(into, options);\n renderDescription(into, options, typeInfo.directiveDef);\n return into.join('').trim();\n }\n if (kind === 'Variable' && typeInfo.type) {\n const into = [];\n renderMdCodeStart(into, options);\n renderType(into, typeInfo, options, typeInfo.type);\n renderMdCodeEnd(into, options);\n renderDescription(into, options, typeInfo.type);\n return into.join('').trim();\n }\n if (kind === 'Argument' && step === 0 && typeInfo.argDef) {\n const into = [];\n renderMdCodeStart(into, options);\n renderArg(into, typeInfo, options);\n renderMdCodeEnd(into, options);\n renderDescription(into, options, typeInfo.argDef);\n return into.join('').trim();\n }\n if (kind === 'EnumValue' &&\n typeInfo.enumValue &&\n 'description' in typeInfo.enumValue) {\n const into = [];\n renderMdCodeStart(into, options);\n renderEnumValue(into, typeInfo, options);\n renderMdCodeEnd(into, options);\n renderDescription(into, options, typeInfo.enumValue);\n return into.join('').trim();\n }\n if (kind === 'NamedType' && typeInfo.type && 'description' in typeInfo.type) {\n const into = [];\n renderMdCodeStart(into, options);\n renderType(into, typeInfo, options, typeInfo.type);\n renderMdCodeEnd(into, options);\n renderDescription(into, options, typeInfo.type);\n return into.join('').trim();\n }\n return '';\n}\nexports.getHoverInformation = getHoverInformation;\nfunction renderMdCodeStart(into, options) {\n if (options.useMarkdown) {\n text(into, '```graphql\\n');\n }\n}\nfunction renderMdCodeEnd(into, options) {\n if (options.useMarkdown) {\n text(into, '\\n```');\n }\n}\nfunction renderField(into, typeInfo, options) {\n renderQualifiedField(into, typeInfo, options);\n renderTypeAnnotation(into, typeInfo, options, typeInfo.type);\n}\nexports.renderField = renderField;\nfunction renderQualifiedField(into, typeInfo, options) {\n if (!typeInfo.fieldDef) {\n return;\n }\n const fieldName = typeInfo.fieldDef.name;\n if (fieldName.slice(0, 2) !== '__') {\n renderType(into, typeInfo, options, typeInfo.parentType);\n text(into, '.');\n }\n text(into, fieldName);\n}\nfunction renderDirective(into, typeInfo, _options) {\n if (!typeInfo.directiveDef) {\n return;\n }\n const name = '@' + typeInfo.directiveDef.name;\n text(into, name);\n}\nexports.renderDirective = renderDirective;\nfunction renderArg(into, typeInfo, options) {\n if (typeInfo.directiveDef) {\n renderDirective(into, typeInfo, options);\n }\n else if (typeInfo.fieldDef) {\n renderQualifiedField(into, typeInfo, options);\n }\n if (!typeInfo.argDef) {\n return;\n }\n const { name } = typeInfo.argDef;\n text(into, '(');\n text(into, name);\n renderTypeAnnotation(into, typeInfo, options, typeInfo.inputType);\n text(into, ')');\n}\nexports.renderArg = renderArg;\nfunction renderTypeAnnotation(into, typeInfo, options, t) {\n text(into, ': ');\n renderType(into, typeInfo, options, t);\n}\nfunction renderEnumValue(into, typeInfo, options) {\n if (!typeInfo.enumValue) {\n return;\n }\n const { name } = typeInfo.enumValue;\n renderType(into, typeInfo, options, typeInfo.inputType);\n text(into, '.');\n text(into, name);\n}\nexports.renderEnumValue = renderEnumValue;\nfunction renderType(into, typeInfo, options, t) {\n if (!t) {\n return;\n }\n if (t instanceof graphql_1.GraphQLNonNull) {\n renderType(into, typeInfo, options, t.ofType);\n text(into, '!');\n }\n else if (t instanceof graphql_1.GraphQLList) {\n text(into, '[');\n renderType(into, typeInfo, options, t.ofType);\n text(into, ']');\n }\n else {\n text(into, t.name);\n }\n}\nexports.renderType = renderType;\nfunction renderDescription(into, options, def) {\n if (!def) {\n return;\n }\n const description = typeof def.description === 'string' ? def.description : null;\n if (description) {\n text(into, '\\n\\n');\n text(into, description);\n }\n renderDeprecation(into, options, def);\n}\nfunction renderDeprecation(into, _options, def) {\n if (!def) {\n return;\n }\n const reason = def.deprecationReason;\n if (!reason) {\n return;\n }\n text(into, '\\n\\n');\n text(into, 'Deprecated: ');\n text(into, reason);\n}\nfunction text(into, content) {\n into.push(content);\n}\n//# sourceMappingURL=getHoverInformation.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHoverInformation = exports.getOutline = void 0;\n__exportStar(require(\"./autocompleteUtils\"), exports);\n__exportStar(require(\"./getAutocompleteSuggestions\"), exports);\n__exportStar(require(\"./getDefinition\"), exports);\n__exportStar(require(\"./getDiagnostics\"), exports);\nvar getOutline_1 = require(\"./getOutline\");\nObject.defineProperty(exports, \"getOutline\", { enumerable: true, get: function () { return getOutline_1.getOutline; } });\nvar getHoverInformation_1 = require(\"./getHoverInformation\");\nObject.defineProperty(exports, \"getHoverInformation\", { enumerable: true, get: function () { return getHoverInformation_1.getHoverInformation; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Range = exports.validateWithCustomRules = exports.collectVariables = exports.Position = exports.pointToOffset = exports.offsetToPosition = exports.getVariablesJSONSchema = exports.getQueryFacts = exports.getOperationFacts = exports.getOperationASTFacts = exports.getFragmentDependenciesForAST = exports.getFragmentDependencies = exports.getASTNodeAtPosition = exports.FileChangeTypeKind = exports.CompletionItemKind = exports.getContextAtPosition = exports.getFieldDef = exports.getDefinitionState = exports.GraphQLDocumentMode = exports.getTokenAtPosition = exports.opt = exports.t = exports.list = exports.p = exports.isIgnored = exports.LexRules = exports.RuleKinds = exports.CharacterStream = exports.ParseRules = exports.onlineParser = exports.validateQuery = exports.SuggestionCommand = exports.canUseDirective = exports.DIAGNOSTIC_SEVERITY = exports.SEVERITY = exports.getVariableCompletions = exports.getTypeInfo = exports.getRange = exports.getOutline = exports.getHoverInformation = exports.getFragmentDefinitions = exports.getDiagnostics = exports.getDefinitionQueryResultForArgument = exports.getDefinitionQueryResultForField = exports.getDefinitionQueryResultForNamedType = exports.getDefinitionQueryResultForFragmentSpread = exports.getDefinitionQueryResultForDefinitionNode = exports.getAutocompleteSuggestions = void 0;\nvar interface_1 = require(\"./interface\");\nObject.defineProperty(exports, \"getAutocompleteSuggestions\", { enumerable: true, get: function () { return interface_1.getAutocompleteSuggestions; } });\nObject.defineProperty(exports, \"getDefinitionQueryResultForDefinitionNode\", { enumerable: true, get: function () { return interface_1.getDefinitionQueryResultForDefinitionNode; } });\nObject.defineProperty(exports, \"getDefinitionQueryResultForFragmentSpread\", { enumerable: true, get: function () { return interface_1.getDefinitionQueryResultForFragmentSpread; } });\nObject.defineProperty(exports, \"getDefinitionQueryResultForNamedType\", { enumerable: true, get: function () { return interface_1.getDefinitionQueryResultForNamedType; } });\nObject.defineProperty(exports, \"getDefinitionQueryResultForField\", { enumerable: true, get: function () { return interface_1.getDefinitionQueryResultForField; } });\nObject.defineProperty(exports, \"getDefinitionQueryResultForArgument\", { enumerable: true, get: function () { return interface_1.getDefinitionQueryResultForArgument; } });\nObject.defineProperty(exports, \"getDiagnostics\", { enumerable: true, get: function () { return interface_1.getDiagnostics; } });\nObject.defineProperty(exports, \"getFragmentDefinitions\", { enumerable: true, get: function () { return interface_1.getFragmentDefinitions; } });\nObject.defineProperty(exports, \"getHoverInformation\", { enumerable: true, get: function () { return interface_1.getHoverInformation; } });\nObject.defineProperty(exports, \"getOutline\", { enumerable: true, get: function () { return interface_1.getOutline; } });\nObject.defineProperty(exports, \"getRange\", { enumerable: true, get: function () { return interface_1.getRange; } });\nObject.defineProperty(exports, \"getTypeInfo\", { enumerable: true, get: function () { return interface_1.getTypeInfo; } });\nObject.defineProperty(exports, \"getVariableCompletions\", { enumerable: true, get: function () { return interface_1.getVariableCompletions; } });\nObject.defineProperty(exports, \"SEVERITY\", { enumerable: true, get: function () { return interface_1.SEVERITY; } });\nObject.defineProperty(exports, \"DIAGNOSTIC_SEVERITY\", { enumerable: true, get: function () { return interface_1.DIAGNOSTIC_SEVERITY; } });\nObject.defineProperty(exports, \"canUseDirective\", { enumerable: true, get: function () { return interface_1.canUseDirective; } });\nObject.defineProperty(exports, \"SuggestionCommand\", { enumerable: true, get: function () { return interface_1.SuggestionCommand; } });\nObject.defineProperty(exports, \"validateQuery\", { enumerable: true, get: function () { return interface_1.validateQuery; } });\nvar parser_1 = require(\"./parser\");\nObject.defineProperty(exports, \"onlineParser\", { enumerable: true, get: function () { return parser_1.onlineParser; } });\nObject.defineProperty(exports, \"ParseRules\", { enumerable: true, get: function () { return parser_1.ParseRules; } });\nObject.defineProperty(exports, \"CharacterStream\", { enumerable: true, get: function () { return parser_1.CharacterStream; } });\nObject.defineProperty(exports, \"RuleKinds\", { enumerable: true, get: function () { return parser_1.RuleKinds; } });\nObject.defineProperty(exports, \"LexRules\", { enumerable: true, get: function () { return parser_1.LexRules; } });\nObject.defineProperty(exports, \"isIgnored\", { enumerable: true, get: function () { return parser_1.isIgnored; } });\nObject.defineProperty(exports, \"p\", { enumerable: true, get: function () { return parser_1.p; } });\nObject.defineProperty(exports, \"list\", { enumerable: true, get: function () { return parser_1.list; } });\nObject.defineProperty(exports, \"t\", { enumerable: true, get: function () { return parser_1.t; } });\nObject.defineProperty(exports, \"opt\", { enumerable: true, get: function () { return parser_1.opt; } });\nObject.defineProperty(exports, \"getTokenAtPosition\", { enumerable: true, get: function () { return parser_1.getTokenAtPosition; } });\nObject.defineProperty(exports, \"GraphQLDocumentMode\", { enumerable: true, get: function () { return parser_1.GraphQLDocumentMode; } });\nObject.defineProperty(exports, \"getDefinitionState\", { enumerable: true, get: function () { return parser_1.getDefinitionState; } });\nObject.defineProperty(exports, \"getFieldDef\", { enumerable: true, get: function () { return parser_1.getFieldDef; } });\nObject.defineProperty(exports, \"getContextAtPosition\", { enumerable: true, get: function () { return parser_1.getContextAtPosition; } });\nvar types_1 = require(\"./types\");\nObject.defineProperty(exports, \"CompletionItemKind\", { enumerable: true, get: function () { return types_1.CompletionItemKind; } });\nObject.defineProperty(exports, \"FileChangeTypeKind\", { enumerable: true, get: function () { return types_1.FileChangeTypeKind; } });\nvar utils_1 = require(\"./utils\");\nObject.defineProperty(exports, \"getASTNodeAtPosition\", { enumerable: true, get: function () { return utils_1.getASTNodeAtPosition; } });\nObject.defineProperty(exports, \"getFragmentDependencies\", { enumerable: true, get: function () { return utils_1.getFragmentDependencies; } });\nObject.defineProperty(exports, \"getFragmentDependenciesForAST\", { enumerable: true, get: function () { return utils_1.getFragmentDependenciesForAST; } });\nObject.defineProperty(exports, \"getOperationASTFacts\", { enumerable: true, get: function () { return utils_1.getOperationASTFacts; } });\nObject.defineProperty(exports, \"getOperationFacts\", { enumerable: true, get: function () { return utils_1.getOperationFacts; } });\nObject.defineProperty(exports, \"getQueryFacts\", { enumerable: true, get: function () { return utils_1.getQueryFacts; } });\nObject.defineProperty(exports, \"getVariablesJSONSchema\", { enumerable: true, get: function () { return utils_1.getVariablesJSONSchema; } });\nObject.defineProperty(exports, \"offsetToPosition\", { enumerable: true, get: function () { return utils_1.offsetToPosition; } });\nObject.defineProperty(exports, \"pointToOffset\", { enumerable: true, get: function () { return utils_1.pointToOffset; } });\nObject.defineProperty(exports, \"Position\", { enumerable: true, get: function () { return utils_1.Position; } });\nObject.defineProperty(exports, \"collectVariables\", { enumerable: true, get: function () { return utils_1.collectVariables; } });\nObject.defineProperty(exports, \"validateWithCustomRules\", { enumerable: true, get: function () { return utils_1.validateWithCustomRules; } });\nObject.defineProperty(exports, \"Range\", { enumerable: true, get: function () { return utils_1.Range; } });\n//# sourceMappingURL=index.js.map","import { getTokenAtPosition, getTypeInfo, getAutocompleteSuggestions, getDiagnostics } from 'graphql-language-service';\nimport { StateEffect, StateField } from '@codemirror/state';\nimport { LRParser } from '@lezer/lr';\nimport { LRLanguage, indentNodeProp, delimitedIndent, foldNodeProp, foldInside, LanguageSupport } from '@codemirror/language';\nimport { styleTags, tags } from '@lezer/highlight';\nimport { EditorView } from '@codemirror/view';\nimport { linter } from '@codemirror/lint';\nimport { validateSchema } from 'graphql';\n\nfunction posToOffset(doc, pos) {\n return doc.line(pos.line + 1).from + pos.character;\n}\nfunction offsetToPos(doc, offset) {\n const line = doc.lineAt(offset);\n return new Position(line.number - 1, offset - line.from);\n}\nclass Position {\n constructor(line, character) {\n this.line = line;\n this.character = character;\n }\n setLine(line) {\n this.line = line;\n }\n setCharacter(character) {\n this.character = character;\n }\n lessThanOrEqualTo(position) {\n return (this.line < position.line ||\n (this.line === position.line && this.character <= position.character));\n }\n}\nconst isMac = () => navigator.userAgent.includes('Mac');\nconst isMetaKeyPressed = (e) => isMac() ? e.metaKey : e.ctrlKey;\n\nconst schemaEffect = /*@__PURE__*/StateEffect.define();\nconst schemaStateField = /*@__PURE__*/StateField.define({\n create() { },\n update(schema, tr) {\n for (const e of tr.effects) {\n if (e.is(schemaEffect)) {\n return e.value;\n }\n }\n return schema;\n },\n});\nconst optionsEffect = /*@__PURE__*/StateEffect.define();\nconst optionsStateField = /*@__PURE__*/StateField.define({\n create() { },\n update(opts, tr) {\n for (const e of tr.effects) {\n if (e.is(optionsEffect)) {\n return e.value;\n }\n }\n return opts;\n },\n});\nconst updateSchema = (view, schema) => {\n view.dispatch({\n effects: schemaEffect.of(schema),\n });\n};\nconst updateOpts = (view, opts) => {\n view.dispatch({\n effects: optionsEffect.of(opts),\n });\n};\nconst getSchema = (state) => {\n return state.field(schemaStateField);\n};\nconst getOpts = (state) => {\n return state.field(optionsStateField);\n};\nconst defaultOpts = {\n showErrorOnInvalidSchema: true,\n};\nconst stateExtensions = (schema, opts) => [\n schemaStateField.init(() => schema),\n optionsStateField.init(() => (Object.assign(Object.assign({}, defaultOpts), opts))),\n];\n\nconst fillAllFieldsCommands = (view) => {\n const schema = getSchema(view.state);\n if (!schema) {\n return true;\n }\n const opts = getOpts(view.state);\n const currentPosition = view.state.selection.main.head;\n const pos = offsetToPos(view.state.doc, currentPosition);\n const token = getTokenAtPosition(view.state.doc.toString(), pos);\n if (schema && (opts === null || opts === void 0 ? void 0 : opts.onFillAllFields)) {\n opts.onFillAllFields(view, schema, view.state.doc.toString(), pos, token);\n }\n return true;\n};\nconst showInDocsCommand = (view) => {\n var _a, _b, _c;\n const schema = getSchema(view.state);\n if (!schema) {\n return true;\n }\n const opts = getOpts(view.state);\n const currentPosition = view.state.selection.main.head;\n const pos = offsetToPos(view.state.doc, currentPosition);\n const token = getTokenAtPosition(view.state.doc.toString(), pos);\n if (schema && (opts === null || opts === void 0 ? void 0 : opts.onShowInDocs)) {\n const tInfo = getTypeInfo(schema, token.state);\n opts.onShowInDocs((_a = tInfo.fieldDef) === null || _a === void 0 ? void 0 : _a.name, (_b = tInfo.type) === null || _b === void 0 ? void 0 : _b.toString(), (_c = tInfo.parentType) === null || _c === void 0 ? void 0 : _c.toString());\n }\n return true;\n};\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst spec_name = {__proto__:null,query:241, mutation:243, subscription:245, on:86, fragment:92, schema:102, scalar:114, type:120, implements:126, interface:140, union:146, enum:154, input:164, directive:172, repeatable:176, extend:192};\nconst parser = /*@__PURE__*/LRParser.deserialize({\n version: 14,\n states: \"LWOYQPOOO!WQPO'#C}O!`QPO'#C_OOQO'#C_'#C_O!iQPO'#DYOOQO'#Ev'#EvOOQO'#D_'#D_O!nQPO'#D^O#_QPO'#D^O!iQPO'#DhO!iQPO'#DrO!iQPO'#DuO!iQPO'#DyO!iQPO'#EOOOQO'#Dd'#DdO#fQPO'#ESOOQO'#D]'#D]O!vQPO'#E^OOQO'#Ea'#EaOOQO'#E]'#E]OOQO'#FT'#FTOOQO'#Eu'#EuOOQO'#Eh'#EhQYQPOOOOQO'#C`'#C`OOQO'#DZ'#DZOOQO'#D`'#D`OOQO'#Di'#DiOOQO'#Ds'#DsOOQO'#Dv'#DvOOQO'#Dz'#DzOOQO'#EP'#EPOOQO'#ET'#ETOOQO'#E_'#E_O#kQPO'#CaO$VQPO'#DQO$[QPO'#DPO$sQPO'#DPO$xQPO'#DSO%WQPO'#DOOOQO'#En'#EnO%fQPO,59iOOQO'#Ca'#CaO%qQPO'#CxOOQO'#El'#ElO'hQPO'#CwO)[QPO'#CdOOQO,58y,58yO)aQPO,58yO)fQPO,58yO)nQPO,58yOOQO'#DT'#DTO)yQPO,59tO{QPO'#FUOOQO'#Db'#DbOOQO,59x,59xO*OQPO,59xO!nQPO,59xO!iQPO,5:PO!iQPO,5:SO!iQPO,5:^O!iQPO,5:aO!iQPO,5:eO!iQPO,5:jO*TQPO,5:nOOQO'#Df'#DfO*YQPO,5:SO+aQPO,5:^O,hQPO,5:aO-oQPO,5:eO.sQPO,5:jO/wQPO,5:nO!nQPO,5:xO!iQPO,5:|O!iQPO,5:}O!iQPO,5;OO!iQPO,5;PO!iQPO,5;QO!iQPO,5;ROOQO-E8f-E8fOOQO,59l,59lO0VQPO'#CzOOQO,59k,59kO0[QPO,59kO0mQPO,59kOOQO'#DR'#DRO0tQPO,59kO1OQPO,59nO!iQPO'#DVOOQO,59p,59pO)aQPO,59pO)fQPO,59pOOQO'#DW'#DWOOQO,59j,59jOOQO-E8l-E8lOOQO1G/T1G/TOOQO,59d,59dOOQO-E8j-E8jO1aQPO'#CeOOQO'#Ei'#EiO1fQPO,59OOOQO1G.e1G.eO)aQPO1G.eO)fQPO1G.eO)fQPO1G/`O1nQPO'#DcO1sQPO,5;pOOQO1G/d1G/dO*OQPO1G/dO1xQPO1G/kO4QQPO1G/nO5]QPO1G/xO6hQPO1G/{O7pQPO1G0PO8xQPO1G0UO/wQPO1G0YO9PQPO1G/nO9WQPO'#DkO9`QPO'#FWOOQO'#Dn'#DnOOQO1G/n1G/nO9hQPO1G/nOOQO'#Dl'#DlO:iQPO1G/xOOQO1G/x1G/xO:pQPO1G/xO;qQPO1G/{O;xQPO'#DxO5dQPO1G/{O<QQQO'#FYOOQO'#D|'#D|OOQO1G0P1G0PO6oQPO1G0PO9`QPO'#FZOOQO'#ER'#EROOQO1G0U1G0UO7wQPO1G0UO<YQPO'#DqO!iQPO'#DqOOQO'#Ep'#EpO<_QPO'#DpO<pQSO1G0YO)yQPO1G0YO>QQPO1G0YOOQO'#EV'#EVOOQO1G0d1G0dO>YQPO1G0dO!qQPO1G0hO?ZQPO1G0iO?ZQPO1G0jO?fQPO1G0kO?nQPO1G0lO?vQPO1G0mOOQO'#C|'#C|O@OQPO'#C{OOQO'#Em'#EmO@TQPO,59fOOQO1G/V1G/VO@]QPO1G/VO@nQPO1G/VOOQO1G/Y1G/YOOQO'#Cg'#CgOOQO,59q,59qOOQO1G/[1G/[O)aQPO1G/[O@uQPO,59POOQO-E8g-E8gOOQO1G.j1G.jOOQO7+$P7+$PO)aQPO7+$POOQO7+$z7+$zO)aQPO7+$zO!iQPO,59}OOQO1G1[1G1[OOQO7+%O7+%OOOQO7+%V7+%VOBOQPO7+%YOOQO7+%Y7+%YO@}QPO7+%YOCZQPO7+%dOOQO7+%d7+%dOBYQPO7+%dODfQPO7+%gODmQPO7+%gOOQO7+%k7+%kODtQPO7+%kOOQO7+%p7+%pOEuQPO7+%pO<pQSO7+%tO)yQPO7+%tO>QQPO7+%tO!iQPO,5:VOOQO,5:V,5:VOFvQPO'#DoO!iQPO'#DoOOQO'#Eo'#EoOGRQPO,5;rO!iQPO,5:dOOQO,5:d,5:dOG^QQO'#D}OGlQQO'#D}OOQO'#Eq'#EqOGqQQO,5;tOG|QPO,5;uO@uQPO,5:]OHXQPO,5:]OOQO-E8n-E8nOOQO'#EZ'#EZOOQO'#E['#E[OOQO'#EY'#EYOH^QPO7+%tOOQO'#EX'#EXO<sQSO'#EXOOQO7+&O7+&OOOQO7+&S7+&SOJcQPO7+&TOOQO7+&T7+&TOIbQPO7+&TOKnQPO7+&UOOQO7+&U7+&UOJmQPO7+&UOLyQPO7+&VOMQQPO7+&VOOQO7+&W7+&WOMXQPO7+&WOOQO7+&X7+&XONYQPO7+&XO! ZQQO,59gOOQO-E8k-E8kOOQO1G/Q1G/QOOQO7+$q7+$qO! xQPO7+$qOOQO7+$v7+$vO@uQPO'#CjO!!ZQPO'#E|OOQO'#E|'#E|O!#UQPO1G.kOOQO<<Gk<<GkOOQO<<Hf<<HfOOQO1G/i1G/iOOQO<<Ht<<HtO!#gQPO<<HtOOQO<<IO<<IOO!$hQPO<<IOO!%iQPO<<IROOQO<<IV<<IVOOQO<<I[<<I[O!&mQPO<<I`O<pQSO<<I`O)yQPO<<I`OOQO1G/q1G/qO@uQPO,5:ZO!'qQPO,5:ZO!'vQPO,5:ZOOQO-E8m-E8mOOQO1G1^1G1^OOQO1G0O1G0OO!(RQQO'#CxO!(dQQO'#CwOOQO,5:i,5:iO!(rQQO,5:iOOQO-E8o-E8oOOQO1G1`1G1`OOQO1G1a1G1aO!)QQPO1G/wO@uQPO1G/wO<sQSO,5:sOOQO,5:s,5:sOOQO<<Io<<IoO!)lQPO<<IoOOQO<<Ip<<IpO!*mQPO<<IpO!+nQPO<<IqOOQO<<Ir<<IrOOQO<<Is<<IsO!,rQQO'#CsO!,yQPO'#CvOOQO'#FP'#FPO!-RQPO1G/ROOQO<<H]<<H]O!-^QPO,59UOOQO,59V,59VO! ZQQO'#ClOOQO7+$V7+$VO!-cQPO7+$VO!-nQPO7+$VOOQOAN>`AN>`OOQOAN>jAN>jO!-|QPOAN>zO<pQSOAN>zO!/QQPO1G/uO@uQPO1G/uO!/`QPO1G/uOOQO1G0T1G0TOOQO7+%c7+%cO!/eQPO7+%cO!/|QPO7+%cOOQO1G0_1G0_OOQOAN?ZAN?ZOOQOAN?[AN?[O!0TQQO'#EjO!0xQQO,59_OOQO,59_,59_O!1PQPO'#FROOQO'#Ek'#EkO!1UQPO,59bOOQO,59b,59bOOQO7+$m7+$mOOQO1G.p1G.pOOQO,59W,59WOOQO<<Gq<<GqO!1^QPO<<GqO!1iQPOG24fOOQO7+%a7+%aO!2mQPO7+%aO@uQPO7+%aOOQO<<H}<<H}O!2{QPO<<H}OOQO,5;U,5;UOOQO-E8h-E8hOOQO1G.y1G.yO! ZQQO,5;mOOQO-E8i-E8iOOQO1G.|1G.|OOQOAN=]AN=]OOQO<<H{<<H{O!3dQPO<<H{OOQOAN>iAN>iO!3rQPO1G1XOOQOAN>gAN>gOOQO7+&s7+&s\",\n stateData: \"!4S~O#hOSPOS~OcUOiPO!OiO!TjO!^kO!hlO!kmO!onO!toO!xpO#SqO#lhO#mhO#nhO~O#krO#vvO~OV!OOiPOm{O#kzO~Oi!VOm{O~O!TjO!Z!cO!^kO!hlO!kmO!onO!toO~O!xpO~P!vOm!iO~OVuXhuXiuXmuX#kuX#oTX#tuX#vuX~O#o!rO~OV!sOiPOm{OhsX#ksX#tsX#vsX~O#k!wO~OiPOm{O{#OO#kzO~O#t#POhrX#krX#vrX~Oh#RO#krO#vvO~OV!sOilXmlXhlX#klX#tlX#vlXclX!OlX!TlX!^lX!hlX!klX!olX!tlX!xlX#SlX#flX#llX#mlX#nlX#rlXUlXYlX{lX!zlX#olX~Om{OikXhkX#kkX#tkX#vkXckX!OkX!TkX!^kX!hkX!kkX!okX!tkX!xkX#SkX#fkX#lkX#mkX#nkX#rkXUkXYkX{kX!zkX#okX~OY#UO~OiPO~OiPOm{O~OV!OOiPOm{O~O{#OO~Oi!VO~Om#gO~Oi#jOm{O!a#nOc![a!O![a!T![a!^![a!h![a!k![a!o![a!t![a!x![a#S![a#f![a#l![a#m![a#n![a~Oi#jOm{O!a#nOc!fa!O!fa!T!fa!^!fa!h!fa!k!fa!o!fa!t!fa!x!fa#S!fa#f!fa#l!fa#m!fa#n!fa~Om{O#r#sOc!iai!ia!O!ia!T!ia!^!ia!h!ia!k!ia!o!ia!t!ia!x!ia#S!ia#f!ia#l!ia#m!ia#n!ia~Oi#uOm{Oc!ma!O!ma!T!ma!^!ma!h!ma!k!ma!o!ma!t!ma!x!ma#S!ma#f!ma#l!ma#m!ma#n!ma~Oi#yOm{Oc!ra!O!ra!T!ra!^!ra!h!ra!k!ra!o!ra!t!ra!x!ra#S!ra#f!ra#l!ra#m!ra#n!ra~OcUO{#OO!z$UO#kzO~O#k$_O~OiPOhsa#ksa#tsa#vsa~Om{O~P0[OV!sOm{O~P0[Om{Ohva#kva#tva#vva~O#o$kO~OU$mOY#UO~O#o$rO~Oh$sO~Om{Oc!Xii!Xi!O!Xi!T!Xi!^!Xi!h!Xi!k!Xi!o!Xi!t!Xi!x!Xi#S!Xi#f!Xi#l!Xi#m!Xi#n!Xi~Oi#jOm{Oc![i!O![i!T![i!^![i!h![i!k![i!o![i!t![i!x![i#S![i#f![i#l![i#m![i#n![i~O!a#nO~P2|Oi#jOm{Oc!fi!O!fi!T!fi!^!fi!h!fi!k!fi!o!fi!t!fi!x!fi#S!fi#f!fi#l!fi#m!fi#n!fi~O!a#nO~P4XO#r#sOc!iii!ii!O!ii!T!ii!^!ii!h!ii!k!ii!o!ii!t!ii!x!ii#S!ii#f!ii#l!ii#m!ii#n!ii~Om{O~P5dOi#uOc!mi!O!mi!T!mi!^!mi!h!mi!k!mi!o!mi!t!mi!x!mi#S!mi#f!mi#l!mi#m!mi#n!mi~Om{O~P6oOi#yOc!ri!O!ri!T!ri!^!ri!h!ri!k!ri!o!ri!t!ri!x!ri#S!ri#f!ri#l!ri#m!ri#n!ri~Om{O~P7wO#y%VO~P2|O#kzO#y%VO~OcUO#kzO~Oi#jOc![i!O![i!T![i!^![i!h![i!k![i!o![i!t![i!x![i#S![i#f![i#l![i#m![i#n![i~O#y%VO~P4XOi#jOc!fi!O!fi!T!fi!^!fi!h!fi!k!fi!o!fi!t!fi!x!fi#S!fi#f!fi#l!fi#m!fi#n!fi~O#{%]O~P5gO#kzO#{%]O~OcUOf%_O~O#o%dO~OcUO#kzO{!dX!z!dX#o!dX~O#{%lO$O%gO$P%gO$Q%gO$R%gO$S%gO$T%gO$U%gO$V%gO$W%hO$X%hO$Y%hO$Z%hO$[%hO$]%hO$^%hO$_%hO$`%hO$a%hO$b%hO~O{#OO!z$UO~Oi!VOc#Qi!O#Qi!T#Qi!^#Qi!h#Qi!k#Qi!o#Qi!t#Qi!x#Qi#S#Qi#f#Qi#l#Qi#m#Qi#n#Qi~Oi#jOm{O!a#nO~Om{O#r#sO~Oi#uOm{O~Oi#yOm{O~O#o%{O~OU%}O#k$_O~OiPOhsi#ksi#tsi#vsi~Om{O~P@]O]&RO#kzO~Oi#jOc![q!O![q!T![q!^![q!h![q!k![q!o![q!t![q!x![q#S![q#f![q#l![q#m![q#n![q~Om{O#y%VO~P@}Oi#jOc!fq!O!fq!T!fq!^!fq!h!fq!k!fq!o!fq!t!fq!x!fq#S!fq#f!fq#l!fq#m!fq#n!fq~Om{O#y%VO~PBYOc!iqi!iq!O!iq!T!iq!^!iq!h!iq!k!iq!o!iq!t!iq!x!iq#S!iq#f!iq#l!iq#m!iq#n!iq~O#{%]O~PCeO#r#sO~PCeOi#uOc!mq!O!mq!T!mq!^!mq!h!mq!k!mq!o!mq!t!mq!x!mq#S!mq#f!mq#l!mq#m!mq#n!mq~Oi#yOc!rq!O!rq!T!rq!^!rq!h!rq!k!rq!o!rq!t!rq!x!rq#S!rq#f!rq#l!rq#m!rq#n!rq~OcUO#kzO#o&eO~OcUOh&iO#kzO~Om&kOc!qXf!qXh!qX~Of&nO~OcUOf%_Oh&pO~OcUOh&qO#kzO~O#o&sO~O#{&tOc!vqi!vq!O!vq!T!vq!^!vq!h!vq!k!vq!o!vq!t!vq!x!vq#S!vq#f!vq#l!vq#m!vq#n!vq~Oi#jOc#Vq!O#Vq!T#Vq!^#Vq!h#Vq!k#Vq!o#Vq!t#Vq!x#Vq#S#Vq#f#Vq#l#Vq#m#Vq#n#Vq~Om{O#y%VO~PIbOi#jOc#Wq!O#Wq!T#Wq!^#Wq!h#Wq!k#Wq!o#Wq!t#Wq!x#Wq#S#Wq#f#Wq#l#Wq#m#Wq#n#Wq~Om{O#y%VO~PJmOc#Xqi#Xq!O#Xq!T#Xq!^#Xq!h#Xq!k#Xq!o#Xq!t#Xq!x#Xq#S#Xq#f#Xq#l#Xq#m#Xq#n#Xq~O#{%]O~PKxO#r#sO~PKxOi#uOc#Yq!O#Yq!T#Yq!^#Yq!h#Yq!k#Yq!o#Yq!t#Yq!x#Yq#S#Yq#f#Yq#l#Yq#m#Yq#n#Yq~Oi#yOc#Zq!O#Zq!T#Zq!^#Zq!h#Zq!k#Zq!o#Zq!t#Zq!x#Zq#S#Zq#f#Zq#l#Zq#m#Zq#n#Zq~OY'PO]&}Oa'POb'POc'POd'POe'POf'POi'OO~OiPOhsq#ksq#tsq#vsq~O#q'TOU#pXY#pXm#pX#r#pX#t#pXc#pX{#pX!z#pX#k#pX[#pXh#pX#o#pX~Om{O#r'UO#t'VOUXiYXi~Oi#jOc![y!O![y!T![y!^![y!h![y!k![y!o![y!t![y!x![y#S![y#f![y#l![y#m![y#n![y~Oi#jOc!fy!O!fy!T!fy!^!fy!h!fy!k!fy!o!fy!t!fy!x!fy#S!fy#f!fy#l!fy#m!fy#n!fy~O#{%]Oc!iyi!iy!O!iy!T!iy!^!iy!h!iy!k!iy!o!iy!t!iy!x!iy#S!iy#f!iy#l!iy#m!iy#n!iy~O#{&tOc!vyi!vy!O!vy!T!vy!^!vy!h!vy!k!vy!o!vy!t!vy!x!vy#S!vy#f!vy#l!vy#m!vy#n!vy~O#o'_O~OcUO#kzO#o'_O~OV!sOclXflXhlXmlX~Om&kOckXfkXhkX~Om&kOc!qaf!qah!qa~Om{O#r'UOc!ei{!ei!z!ei#k!eih!ei#o!ei~Oi#jOc#Vy!O#Vy!T#Vy!^#Vy!h#Vy!k#Vy!o#Vy!t#Vy!x#Vy#S#Vy#f#Vy#l#Vy#m#Vy#n#Vy~Oi#jOc#Wy!O#Wy!T#Wy!^#Wy!h#Wy!k#Wy!o#Wy!t#Wy!x#Wy#S#Wy#f#Wy#l#Wy#m#Wy#n#Wy~O#{%]Oc#Xyi#Xy!O#Xy!T#Xy!^#Xy!h#Xy!k#Xy!o#Xy!t#Xy!x#Xy#S#Xy#f#Xy#l#Xy#m#Xy#n#Xy~O['jO~P! ZOh'nO#kzO~O#t'oOUoi#koi~O['pO~O#t'rOUXqYXq~Om{O#t'rOUXqYXq~O#{&tOc!v!Ri!v!R!O!v!R!T!v!R!^!v!R!h!v!R!k!v!R!o!v!R!t!v!R!x!v!R#S!v!R#f!v!R#l!v!R#m!v!R#n!v!R~Om{Oc!cih!ci#k!ci~O#o'wO~Om{Oc!eq{!eq!z!eq#k!eqh!eq#o!eq~O#r'UO~P!/eO#t'zOY#^X[#^X]#^Xa#^Xb#^Xc#^Xd#^Xe#^Xf#^Xi#^X~O['|O~P! ZO#o'}O~Oh(PO#kzO~O#t(QOUXyYXy~O#{&tOc!v!Zi!v!Z!O!v!Z!T!v!Z!^!v!Z!h!v!Z!k!v!Z!o!v!Z!t!v!Z!x!v!Z#S!v!Z#f!v!Z#l!v!Z#m!v!Z#n!v!Z~Om{Oc!cqh!cq#k!cq~Om{Oc!ey{!ey!z!ey#k!eyh!ey#o!ey~Om{Oc!cyh!cy#k!cy~O#t(WOh#ui#k#ui~Odefe~\",\n goto: \":k$OPPP$P$T$[PP&d&jP&nPP'Z'd'mPPPPPP'vPP'v'}*|P,T,_,c,g-k-o-s-w-o.O-o.U.[P$P.oP.s.w.{/bP/l/|.w0P0TP0P0ZP0e0wP1P2T2X2e0P2nP0P2xP3S0P3dP3n4O0P4SP4^.w4nP4uP5P5]5i5i.s5q5uP5q5y5y5y5y5y5y5}6T6Z6a6g7r7x8O8U8cPPP8i8mPPPPP8qPP9WP9eP8m9iP9qP:Z:cTTOgSQOgR#]!VSsPyQ!SQS!TSvQ!dXQ!eYQ!fZQ!g[Q!h]Q#a![Q#b!]Q#c!^Q#d!_Q#e!`Q#f!a^#}!i#g#y$Q%X%c&gQ$X!kQ$Y!lQ$Z!mQ$[!nQ$]!oQ$^!pj$g!z#i#s$k$r%V%]%d&R&e&s'_'wS%X#j%[Q%e$OQ&g%YT'k'O'mQ!RQR#Z!ST#V!O#WQ$h!zQ%W#iQ%^#s^&S$k%d&R&e&s'_'wQ&X$rQ&d%VR&j%]_&S$k%d&R&e&s'_'w_&T$k%d&R&e&s'_'wQ'X&UQ'c&rR'y'dZ'P%{&}'U'i'}Q!QQQ!YVQ!utQ!|vS#Y!R!SQ#`!ZQ#m!dQ#q!eQ#t!fQ#x!gQ#|!hQ$W!jS$d!v!xQ$f!yQ$j!}Q$o#ZQ$q#[Q$u#aS$x#b#hS${#c#oQ$}#dQ%P#eQ%R#fQ%n$XQ%q$YQ%t$ZQ%v$[Q%x$]Q%z$^Q&P$eQ&Z$vQ&]$yQ&m%_Q&w%oQ&y%rQ'W&UQ'a&nQ'b&rQ's'XQ'u'^S'x'c'dQ(R'vQ(T'yR(V(S#Z|QVtv}!R!S!Z!d!e!f!g!h!j!v!x!y!}#Z#[#a#b#c#d#e#f#h#o$X$Y$Z$[$]$^$e$v$y%_%o%r&U&l&n&r'X'^'c'd'v'y(SQ!vtS#S{&kR$e!xT$a!s$bT$`!s$bSROgQ!PQQ!ttQ!{vU#X!Q!R!SU$c!u!v!xS$i!|!}S$n#Y#ZQ$p#[S&O$d$eQ&Q$jQ&V$oQ&W$qR'R&PTxPyTwPyTuPyStPyR!xuQ!USR!yvQ!}vR#[!US!zv!UQ$R!iU%S#g$S$TS&b%T%UR']&cTSOgTdOgT`OgSWOg^$O!i#g#y$Q%X%c&gS%Y#j%[T%`#u%bSVOgQ!ZWR!jaQ!XVS#_!Y!ZQ$V!jQ$t#`R%m$WR#^!VT^OgQ![WR!kaSXOgQ!]WR!laQ#h!dQ#o!eQ$v#bQ$y#cQ%o$YR%r$Z]#i!d!e#b#c$Y$ZQ#l!dQ#p!eU$w#b#h#mU$z#c#o#qQ%p$YQ%s$ZS&Y$v$xS&[$y${S&v%o%qS&x%r%tQ'Y&ZQ'Z&]Q'f&wR'g&yT%Z#j%[Q$T!iQ%U#gQ&f%XR'`&g_$P!i#g#y$Q%X%c&gSYOgQ!^WR!maSZOgQ!_WR!naQ#r!fS$|#d#tQ%u$[Q&^$}R&z%vS[OgQ!`WR!oaQ#w!gS%O#e#xQ%w$]Q&_%PR&{%xT%a#u%bS]OgQ!aWR!paQ#{!hS%Q#f#|Q%y$^Q&`%RR&|%zS_OgR!bWQ$S!iS%T#g$TR&c%UQ%j$RQ&a%SQ'[&bR't']W%k$R%S&b']Q&u%lR'e&t]%i$R%S%l&b&t']TcOgTaOgTbOgQgOR!qgQ#W!OR$l#WQ'i&}R'{'iQ'm'OR(O'm#Q}QVtv!R!S!Z!d!e!f!g!h!j!v!x!y!}#Z#[#a#b#c#d#e#f#h#o$X$Y$Z$[$]$^$e$v$y%o%r&U&r'X'^'c'd'v'y(SS#T}&lT&l%_&nQ$b!sR%|$bQyPR#QyQ%[#jR&h%[W$Q!i#g%X&gQ%c#yT%f$Q%cQ%b#uR&o%bTfOgTeOgQ&U$kQ&r%dQ'S&RQ'^&eQ'd&sQ'v'_R(S'wQ'Q%{S'h&}'iQ'q'UR(U'}T'l'O'm]!WV!Y!Z!j#`$W}#k!d!e#b#c#h#m#o#q$Y$Z$v$x$y${%o%q%r%t&Z&]&w&y]#v!g#e#x$]%P%x]#z!h#f#|$^%R%z\",\n nodeNames: \"⚠ Comment Document OperationDefinition OperationType Name ) ( VariableDefinitions VariableDefinition Variable NamedType ] [ ListType NonNullType DefaultValue IntValue FloatValue StringValue BooleanValue NullValue EnumValue ListValue } { ObjectValue Directives Directive DirectiveName Arguments Argument ArgumentAttributeName SelectionSet Selection Field Alias FieldName FragmentSpread FragmentName InlineFragment TypeCondition OnKeyword on FragmentDefinition FragmentKeyword fragment TypeSystemDefinition SchemaDefinition Description SchemaKeyword schema RootTypeDefinition RootOperationTypeDefinition TypeDefinition ScalarTypeDefinition ScalarKeyword scalar ObjectTypeDefinition TypeKeyword type ImplementsInterfaces ImplementsKeyword implements FieldsDefinition FieldDefinition ArgumentsDefinition InputValueDefinition InterfaceTypeDefinition InterfaceKeyword interface UnionTypeDefinition UnionKeyword union UnionMemberTypes EnumTypeDefinition EnumKeyword enum EnumValuesDefinition EnumValueDefinition InputObjectTypeDefinition InputKeyword input InputFieldsDefinition DirectiveDefinition DirectiveKeyword directive RepeatableKeyword repeatable DirectiveLocations DirectiveLocation ExecutableDirectiveLocation TypeSystemDirectiveLocation TypeSystemExtension SchemaExtension ExtendKeyword extend TypeExtension ScalarTypeExtension ObjectTypeExtension InterfaceTypeExtension UnionTypeExtension EnumTypeExtension InputObjectTypeExtension\",\n maxTerm: 156,\n nodeProps: [\n [\"openedBy\", 6,\"(\",12,\"[\",24,\"{\"],\n [\"closedBy\", 7,\")\",13,\"]\",25,\"}\"]\n ],\n skippedNodes: [0,1],\n repeatNodeCount: 10,\n tokenData: \"#Ci~R!XX^$npq$nqr%crs%hst4ptu4{vw5jxy5oyz5t|}5y}!O6O!O!P7g!Q![6U![!]7x!_!`7}!b!c8S!c!d8q!d!g9[!g!hCZ!h!iHd!i!k9[!k!l!/v!l!o9[!o!p!Id!p!q9[!q!r!Mm!r!s9[!s!t#!u!t!u9[!u!v#%d!v!w9[!w!x#0n!x!y#3]!y!}9[!}#O#=[#P#Q#=a#R#S9[#T#Y9[#Y#Z#=f#Z#b9[#b#c#@Q#c#h9[#h#i#BU#i#o9[#o#p#CY#p#q#C_#q#r#Cd#y#z$n$f$g$n#BY#BZ$n$IS$I_$n$I|$JO$n$JT$JU$n$KV$KW$n&FU&FV$n~$sY#h~X^$npq$n#y#z$n$f$g$n#BY#BZ$n$IS$I_$n$I|$JO$n$JT$JU$n$KV$KW$n&FU&FV$n~%hO#q~~%kVOY&QZ]&Q^r&Qrs(as#O&Q#O#P&o#P~&Q~&TVOY&QZ]&Q^r&Qrs&js#O&Q#O#P&o#P~&Q~&oOc~~&rXrs&Q!P!Q&Q#O#P&Q#U#V&Q#Y#Z&Q#b#c&Q#f#g&Q#h#i&Q#i#j'_~'bR!QX^r(irs)_s#O(i#O#P)w#P~(i~)[PYZ(i~)bROr(irs)ks~(i~)nROr(irs&js~(i~)zXrs*g!P!Q(i#O#P(i#U#V(i#Y#Z(i#b#c(i#f#g(i#h#i(i#i#j3n~*jXOY(iYZ(iZ](i]^)X^r(irs+Vs#O(i#O#P)w#P~(i~+YROr(irs+cs~(i~+fXOY(iYZ(iZ](i]^(i^r(irs,Rs#O(i#O#P,a#P~(i~,WRc~Or(irs)ks~(i~,dfOY(iYZ(iZ](i]^)X^r(irs-xs!P(i!P!Q(i!Q#O(i#O#P,a#P#U(i#U#V(i#V#Y(i#Y#Z(i#Z#b(i#b#c(i#c#f(i#f#g(i#g#h(i#h#i(i#i#j/f#j~(i~-{XOY(iYZ(iZ](i]^(i^r(irs.hs#O(i#O#P,a#P~(i~.kROr(irs.ts~(i~.yXc~OY(iYZ(iZ](i]^(i^r(irs,Rs#O(i#O#P,a#P~(i~/i_OY(iYZ(iZ](i]^)X^r(irs)_s!Q(i!QX^r(irs)_s!Q(i!QX^r(irs)_s!Q(i!QX^r(irs)_s!Q(i!Q![(i![!c(i!c!i(i!i#O(i#O#P)w#P#T(i#T#Z(i#Z~(i~3qR!Q![3z!c!i3z#T#Z3z~3}R!Q![4W!c!i4W#T#Z4W~4ZR!Q![4d!c!i4d#T#Z4d~4gR!Q![(i!c!i(i#T#Z(i~4uQP~OY4pZ~4p~5OR!c!}5X#R#S5X#T#o5X~5^SY~!Q![5X!c!}5X#R#S5X#T#o5X~5oO#y~~5tOV~~5yOU~~6OO#t~~6RP!Q![6U~6ZSa~!O!P6g!Q![6U!g!h6{#X#Y6{~6jP!Q![6m~6rRb~!Q![6m!g!h6{#X#Y6{~7OR{|7X}!O7X!Q![7_~7[P!Q![7_~7dPb~!Q![7_~7jP!O!P7m~7pP!O!P7s~7xO#v~~7}O#o~~8SO#r~~8VR!c!}8`#R#S8`#T#o8`~8eSm~!Q![8`!c!}8`#R#S8`#T#o8`V8xU#kPfQ!Q![9[!c!t9[!t!u9o!u!}9[#R#S9[#T#o9[R9cS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V9vU#kPfQ!Q![9[!c!i9[!i!j:Y!j!}9[#R#S9[#T#o9[V:aU#kPfQ!Q![9[!c!w9[!w!x:s!x!}9[#R#S9[#T#o9[V:zU#kPfQ!Q![9[!c!o9[!o!p;^!p!}9[#R#S9[#T#o9[V;eU#kPfQ!Q![9[!c!g9[!g!h;w!h!}9[#R#S9[#T#o9[V<OU#kPfQ!Q![9[!c!p9[!p!q<b!q!}9[#R#S9[#T#o9[V<iU#kPfQ!Q![9[!c!v9[!v!w<{!w!}9[#R#S9[#T#o9[V=SS#kPfQ!Q![9[!c!}9[#R#S=`#T#o9[V=gU#kPfQ!Q![9[!c!f9[!f!g=y!g!}9[#R#S9[#T#o9[V>QU#kPfQ!Q![9[!c!g9[!g!h>d!h!}9[#R#S9[#T#o9[V>kU#kPfQ!Q![9[!c!h9[!h!i>}!i!}9[#R#S9[#T#o9[V?UU#kPfQ!Q![9[!c!k9[!k!l?h!l!}9[#R#S9[#T#o9[V?oU#kPfQ!Q![9[!c!p9[!p!q@R!q!}9[#R#S9[#T#o9[V@YU#kPfQ!Q![9[!c!k9[!k!l@l!l!}9[#R#S9[#T#o9[V@sU#kPfQ!Q![9[!c!v9[!v!wAV!w!}9[#R#S9[#T#o9[VA^U#kPfQ!Q![9[!c!k9[!k!lAp!l!}9[#R#S9[#T#o9[VAwU#kPfQ!Q![9[!c!q9[!q!rBZ!r!}9[#R#S9[#T#o9[VBbU#kPfQ!Q![9[!c!p9[!p!qBt!q!}9[#R#S9[#T#o9[VB}S$[S#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[VCbU#kPfQ!Q![9[!c!p9[!p!qCt!q!}9[#R#S9[#T#o9[VC{U#kPfQ!Q![9[!c!w9[!w!xD_!x!}9[#R#S9[#T#o9[VDfU#kPfQ!Q![9[!c!o9[!o!pDx!p!}9[#R#S9[#T#o9[VERS$_S#kPfQ!Q![9[!c!}9[#R#SE_#T#o9[VEfU#kPfQ!Q![9[!c!x9[!x!yEx!y!}9[#R#S9[#T#o9[VFPT#kPfQ!Q![9[!c!dF`!d!}9[#R#S9[#T#o9[VFgU#kPfQ!Q![9[!c!n9[!n!oFy!o!}9[#R#S9[#T#o9[VGQU#kPfQ!Q![9[!c!w9[!w!xGd!x!}9[#R#S9[#T#o9[VGkU#kPfQ!Q![9[!c!g9[!g!hG}!h!}9[#R#S9[#T#o9[VHWS$`S#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[VHkW#kPfQ!Q![9[!c!k9[!k!lIT!l!t9[!t!u!#S!u!}9[#R#S9[#T#o9[VI[U#kPfQ!Q![9[!c!g9[!g!hIn!h!}9[#R#S9[#T#o9[VIuU#kPfQ!Q![9[!c!n9[!n!oJX!o!}9[#R#S9[#T#o9[VJ`U#kPfQ!Q![9[!c!f9[!f!gJr!g!}9[#R#S9[#T#o9[VJ{S$RS#kPfQ!Q![9[!c!}9[#R#SKX#T#o9[VK`U#kPfQ!Q![9[!c!f9[!f!gKr!g!}9[#R#S9[#T#o9[VKyU#kPfQ!Q![9[!c!g9[!g!hL]!h!}9[#R#S9[#T#o9[VLdU#kPfQ!Q![9[!c!h9[!h!iLv!i!}9[#R#S9[#T#o9[VL}U#kPfQ!Q![9[!c!k9[!k!lMa!l!}9[#R#S9[#T#o9[VMhU#kPfQ!Q![9[!c!p9[!p!qMz!q!}9[#R#S9[#T#o9[VNRU#kPfQ!Q![9[!c!k9[!k!lNe!l!}9[#R#S9[#T#o9[VNlU#kPfQ!Q![9[!c!v9[!v!w! O!w!}9[#R#S9[#T#o9[V! VU#kPfQ!Q![9[!c!k9[!k!l! i!l!}9[#R#S9[#T#o9[V! pU#kPfQ!Q![9[!c!q9[!q!r!!S!r!}9[#R#S9[#T#o9[V!!ZU#kPfQ!Q![9[!c!p9[!p!q!!m!q!}9[#R#S9[#T#o9[V!!vS$ZS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V!#ZT#kPfQ!Q![9[!c!d!#j!d!}9[#R#S9[#T#o9[V!#qU#kPfQ!Q![9[!c!i9[!i!j!$T!j!}9[#R#S9[#T#o9[V!$[U#kPfQ!Q![9[!c!o9[!o!p!$n!p!}9[#R#S9[#T#o9[V!$uU#kPfQ!Q![9[!c!g9[!g!h!%X!h!}9[#R#S9[#T#o9[V!%`U#kPfQ!Q![9[!c!p9[!p!q!%r!q!}9[#R#S9[#T#o9[V!%yU#kPfQ!Q![9[!c!v9[!v!w!&]!w!}9[#R#S9[#T#o9[V!&dS#kPfQ!Q![9[!c!}9[#R#S!&p#T#o9[V!&wW#kPfQ!Q![9[!c!f9[!f!g!'a!g!u9[!u!v!,q!v!}9[#R#S9[#T#o9[V!'hU#kPfQ!Q![9[!c!g9[!g!h!'z!h!}9[#R#S9[#T#o9[V!(RU#kPfQ!Q![9[!c!h9[!h!i!(e!i!}9[#R#S9[#T#o9[V!(lU#kPfQ!Q![9[!c!k9[!k!l!)O!l!}9[#R#S9[#T#o9[V!)VU#kPfQ!Q![9[!c!p9[!p!q!)i!q!}9[#R#S9[#T#o9[V!)pU#kPfQ!Q![9[!c!k9[!k!l!*S!l!}9[#R#S9[#T#o9[V!*ZU#kPfQ!Q![9[!c!v9[!v!w!*m!w!}9[#R#S9[#T#o9[V!*tU#kPfQ!Q![9[!c!k9[!k!l!+W!l!}9[#R#S9[#T#o9[V!+_U#kPfQ!Q![9[!c!q9[!q!r!+q!r!}9[#R#S9[#T#o9[V!+xU#kPfQ!Q![9[!c!p9[!p!q!,[!q!}9[#R#S9[#T#o9[V!,eS$SS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V!,xU#kPfQ!Q![9[!c!r9[!r!s!-[!s!}9[#R#S9[#T#o9[V!-cU#kPfQ!Q![9[!c!t9[!t!u!-u!u!}9[#R#S9[#T#o9[V!-|U#kPfQ!Q![9[!c!g9[!g!h!.`!h!}9[#R#S9[#T#o9[V!.gT#kPfQ!Q![9[!c!d!.v!d!}9[#R#S9[#T#o9[V!.}U#kPfQ!Q![9[!c!f9[!f!g!/a!g!}9[#R#S9[#T#o9[V!/jS$TS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V!/}U#kPfQ!Q![9[!c!p9[!p!q!0a!q!}9[#R#S9[#T#o9[V!0hY#kPfQ!Q![9[!c!n9[!n!o!1W!o!r9[!r!s!7|!s!v9[!v!w!Et!w!}9[#R#S9[#T#o9[V!1_U#kPfQ!Q![9[!c!k9[!k!l!1q!l!}9[#R#S9[#T#o9[V!1xU#kPfQ!Q![9[!c!p9[!p!q!2[!q!}9[#R#S9[#T#o9[V!2cU#kPfQ!Q![9[!c!g9[!g!h!2u!h!}9[#R#S9[#T#o9[V!2|S#kPfQ!Q![9[!c!}9[#R#S!3Y#T#o9[V!3aU#kPfQ!Q![9[!c!h9[!h!i!3s!i!}9[#R#S9[#T#o9[V!3zU#kPfQ!Q![9[!c!t9[!t!u!4^!u!}9[#R#S9[#T#o9[V!4eT#kPfQ!Q![9[!c!d!4t!d!}9[#R#S9[#T#o9[V!4{U#kPfQ!Q![9[!c!i9[!i!j!5_!j!}9[#R#S9[#T#o9[V!5fU#kPfQ!Q![9[!c!o9[!o!p!5x!p!}9[#R#S9[#T#o9[V!6PU#kPfQ!Q![9[!c!g9[!g!h!6c!h!}9[#R#S9[#T#o9[V!6jU#kPfQ!Q![9[!c!p9[!p!q!6|!q!}9[#R#S9[#T#o9[V!7TU#kPfQ!Q![9[!c!v9[!v!w!7g!w!}9[#R#S9[#T#o9[V!7pS$US#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V!8TU#kPfQ!Q![9[!c!w9[!w!x!8g!x!}9[#R#S9[#T#o9[V!8nU#kPfQ!Q![9[!c!v9[!v!w!9Q!w!}9[#R#S9[#T#o9[V!9XS#kPfQ!Q![9[!c!}9[#R#S!9e#T#o9[V!9lW#kPfQ!Q![9[!c!h9[!h!i!:U!i!q9[!q!r!Bl!r!}9[#R#S9[#T#o9[V!:]U#kPfQ!Q![9[!c!k9[!k!l!:o!l!}9[#R#S9[#T#o9[V!:vU#kPfQ!Q![9[!c!g9[!g!h!;Y!h!}9[#R#S9[#T#o9[V!;aU#kPfQ!Q![9[!c!n9[!n!o!;s!o!}9[#R#S9[#T#o9[V!;zU#kPfQ!Q![9[!c!f9[!f!g!<^!g!}9[#R#S9[#T#o9[V!<eS#kPfQ!Q![9[!c!}9[#R#S!<q#T#o9[V!<xU#kPfQ!Q![9[!c!f9[!f!g!=[!g!}9[#R#S9[#T#o9[V!=cU#kPfQ!Q![9[!c!g9[!g!h!=u!h!}9[#R#S9[#T#o9[V!=|U#kPfQ!Q![9[!c!h9[!h!i!>`!i!}9[#R#S9[#T#o9[V!>gU#kPfQ!Q![9[!c!k9[!k!l!>y!l!}9[#R#S9[#T#o9[V!?QU#kPfQ!Q![9[!c!p9[!p!q!?d!q!}9[#R#S9[#T#o9[V!?kU#kPfQ!Q![9[!c!k9[!k!l!?}!l!}9[#R#S9[#T#o9[V!@UU#kPfQ!Q![9[!c!v9[!v!w!@h!w!}9[#R#S9[#T#o9[V!@oU#kPfQ!Q![9[!c!k9[!k!l!AR!l!}9[#R#S9[#T#o9[V!AYU#kPfQ!Q![9[!c!q9[!q!r!Al!r!}9[#R#S9[#T#o9[V!AsU#kPfQ!Q![9[!c!p9[!p!q!BV!q!}9[#R#S9[#T#o9[V!B`S$bS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V!BsU#kPfQ!Q![9[!c!d9[!d!e!CV!e!}9[#R#S9[#T#o9[V!C^U#kPfQ!Q![9[!c!l9[!l!m!Cp!m!}9[#R#S9[#T#o9[V!CwU#kPfQ!Q![9[!c!g9[!g!h!DZ!h!}9[#R#S9[#T#o9[V!DbU#kPfQ!Q![9[!c!e9[!e!f!Dt!f!}9[#R#S9[#T#o9[V!D{U#kPfQ!Q![9[!c!v9[!v!w!E_!w!}9[#R#S9[#T#o9[V!EhS$aS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V!E{U#kPfQ!Q![9[!c!g9[!g!h!F_!h!}9[#R#S9[#T#o9[V!FfU#kPfQ!Q![9[!c!t9[!t!u!Fx!u!}9[#R#S9[#T#o9[V!GPU#kPfQ!Q![9[!c!h9[!h!i!Gc!i!}9[#R#S9[#T#o9[V!GjT#kPfQ!Q![9[!c!d!Gy!d!}9[#R#S9[#T#o9[V!HQU#kPfQ!Q![9[!c!e9[!e!f!Hd!f!}9[#R#S9[#T#o9[V!HkU#kPfQ!Q![9[!c!g9[!g!h!H}!h!}9[#R#S9[#T#o9[V!IWS$]S#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V!IkU#kPfQ!Q![9[!c!w9[!w!x!I}!x!}9[#R#S9[#T#o9[V!JUU#kPfQ!Q![9[!c!v9[!v!w!Jh!w!}9[#R#S9[#T#o9[V!JoT#kPfQ!Q![9[!c!d!KO!d!}9[#R#S9[#T#o9[V!KVU#kPfQ!Q![9[!c!v9[!v!w!Ki!w!}9[#R#S9[#T#o9[V!KpU#kPfQ!Q![9[!c!k9[!k!l!LS!l!}9[#R#S9[#T#o9[V!LZU#kPfQ!Q![9[!c!q9[!q!r!Lm!r!}9[#R#S9[#T#o9[V!LtU#kPfQ!Q![9[!c!p9[!p!q!MW!q!}9[#R#S9[#T#o9[V!MaS$PS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V!MtU#kPfQ!Q![9[!c!d9[!d!e!NW!e!}9[#R#S9[#T#o9[V!N_U#kPfQ!Q![9[!c!l9[!l!m!Nq!m!}9[#R#S9[#T#o9[V!NxU#kPfQ!Q![9[!c!g9[!g!h# [!h!}9[#R#S9[#T#o9[V# cU#kPfQ!Q![9[!c!e9[!e!f# u!f!}9[#R#S9[#T#o9[V# |U#kPfQ!Q![9[!c!v9[!v!w#!`!w!}9[#R#S9[#T#o9[V#!iS$YS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V#!|U#kPfQ!Q![9[!c!w9[!w!x##`!x!}9[#R#S9[#T#o9[V##gU#kPfQ!Q![9[!c!g9[!g!h##y!h!}9[#R#S9[#T#o9[V#$QU#kPfQ!Q![9[!c!t9[!t!u#$d!u!}9[#R#S9[#T#o9[V#$kU#kPfQ!Q![9[!c!{9[!{!|#$}!|!}9[#R#S9[#T#o9[V#%WS$OS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V#%kW#kPfQ!Q![9[!c!e9[!e!f#&T!f!w9[!w!x#*s!x!}9[#R#S9[#T#o9[V#&[V#kPfQ!Q![9[!c!d#&q!d!j9[!j!k#(r!k!}9[#R#S9[#T#o9[V#&xU#kPfQ!Q![9[!c!n9[!n!o#'[!o!}9[#R#S9[#T#o9[V#'cT#kPfQ!Q![9[!c!d#'r!d!}9[#R#S9[#T#o9[V#'yU#kPfQ!Q![9[!c!t9[!t!u#(]!u!}9[#R#S9[#T#o9[V#(fS$XS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V#(yU#kPfQ!Q![9[!c!g9[!g!h#)]!h!}9[#R#S9[#T#o9[V#)dU#kPfQ!Q![9[!c!o9[!o!p#)v!p!}9[#R#S9[#T#o9[V#)}T#kPfQ!Q![9[!c!d#*^!d!}9[#R#S9[#T#o9[V#*gS$WS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V#*zU#kPfQ!Q![9[!c!d9[!d!e#+^!e!}9[#R#S9[#T#o9[V#+eU#kPfQ!Q![9[!c!u9[!u!v#+w!v!}9[#R#S9[#T#o9[V#,OU#kPfQ!Q![9[!c!e9[!e!f#,b!f!}9[#R#S9[#T#o9[V#,iU#kPfQ!Q![9[!c!t9[!t!u#,{!u!}9[#R#S9[#T#o9[V#-SU#kPfQ!Q![9[!c!k9[!k!l#-f!l!}9[#R#S9[#T#o9[V#-mU#kPfQ!Q![9[!c!r9[!r!s#.P!s!}9[#R#S9[#T#o9[V#.WU#kPfQ!Q![9[!c!v9[!v!w#.j!w!}9[#R#S9[#T#o9[V#.qU#kPfQ!Q![9[!c!k9[!k!l#/T!l!}9[#R#S9[#T#o9[V#/[U#kPfQ!Q![9[!c!q9[!q!r#/n!r!}9[#R#S9[#T#o9[V#/uU#kPfQ!Q![9[!c!p9[!p!q#0X!q!}9[#R#S9[#T#o9[V#0bS$QS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V#0uU#kPfQ!Q![9[!c!p9[!p!q#1X!q!}9[#R#S9[#T#o9[V#1`U#kPfQ!Q![9[!c!k9[!k!l#1r!l!}9[#R#S9[#T#o9[V#1yU#kPfQ!Q![9[!c!q9[!q!r#2]!r!}9[#R#S9[#T#o9[V#2dU#kPfQ!Q![9[!c!p9[!p!q#2v!q!}9[#R#S9[#T#o9[V#3PS$^S#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[V#3dT#kPfQ!Q![9[!c!d#3s!d!}9[#R#S9[#T#o9[V#3zU#kPfQ!Q![9[!c!t9[!t!u#4^!u!}9[#R#S9[#T#o9[V#4eU#kPfQ!Q![9[!c!k9[!k!l#4w!l!}9[#R#S9[#T#o9[V#5OT#kPfQ!Q![9[!c!d#5_!d!}9[#R#S9[#T#o9[V#5fU#kPfQ!Q![9[!c!d9[!d!e#5x!e!}9[#R#S9[#T#o9[V#6PU#kPfQ!Q![9[!c!n9[!n!o#6c!o!}9[#R#S9[#T#o9[V#6jU#kPfQ!Q![9[!c!g9[!g!h#6|!h!}9[#R#S9[#T#o9[V#7TS#kPfQ!Q![9[!c!}9[#R#S#7a#T#o9[V#7hU#kPfQ!Q![9[!c!f9[!f!g#7z!g!}9[#R#S9[#T#o9[V#8RU#kPfQ!Q![9[!c!g9[!g!h#8e!h!}9[#R#S9[#T#o9[V#8lU#kPfQ!Q![9[!c!h9[!h!i#9O!i!}9[#R#S9[#T#o9[V#9VU#kPfQ!Q![9[!c!k9[!k!l#9i!l!}9[#R#S9[#T#o9[V#9pU#kPfQ!Q![9[!c!p9[!p!q#:S!q!}9[#R#S9[#T#o9[V#:ZU#kPfQ!Q![9[!c!k9[!k!l#:m!l!}9[#R#S9[#T#o9[V#:tU#kPfQ!Q![9[!c!v9[!v!w#;W!w!}9[#R#S9[#T#o9[V#;_U#kPfQ!Q![9[!c!k9[!k!l#;q!l!}9[#R#S9[#T#o9[V#;xU#kPfQ!Q![9[!c!q9[!q!r#<[!r!}9[#R#S9[#T#o9[V#<cU#kPfQ!Q![9[!c!p9[!p!q#<u!q!}9[#R#S9[#T#o9[V#=OS$VS#kPfQ!Q![9[!c!}9[#R#S9[#T#o9[~#=aO]~~#=fO[~R#=mT#kPfQ!Q![9[!c!}9[#R#S9[#T#U#=|#U#o9[R#>TU#kPfQ!Q![9[!c!}9[#R#S9[#T#`9[#`#a#>g#a#o9[R#>nU#kPfQ!Q![9[!c!}9[#R#S9[#T#g9[#g#h#?Q#h#o9[R#?XU#kPfQ!Q![9[!c!}9[#R#S9[#T#X9[#X#Y#?k#Y#o9[R#?tS#kPdQfQ!Q![9[!c!}9[#R#S9[#T#o9[R#@XU#kPfQ!Q![9[!c!}9[#R#S9[#T#i9[#i#j#@k#j#o9[R#@rU#kPfQ!Q![9[!c!}9[#R#S9[#T#`9[#`#a#AU#a#o9[R#A]U#kPfQ!Q![9[!c!}9[#R#S9[#T#`9[#`#a#Ao#a#o9[R#AxS#kPeQfQ!Q![9[!c!}9[#R#S9[#T#o9[R#B]U#kPfQ!Q![9[!c!}9[#R#S9[#T#f9[#f#g#Bo#g#o9[R#BvU#kPfQ!Q![9[!c!}9[#R#S9[#T#i9[#i#j#?Q#j#o9[~#C_Oi~~#CdO#{~~#CiOh~\",\n tokenizers: [0, 1, 2],\n topRules: {\"Document\":[0,2]},\n specialized: [{term: 119, get: value => spec_name[value] || -1}],\n tokenPrec: 2989\n});\n\nconst nodesWithBraces = 'RootTypeDefinition InputFieldsDefinition EnumValuesDefinition FieldsDefinition SelectionSet { }';\nconst keywords = 'scalar type interface union enum input implements fragment extend schema directive on repeatable';\nconst punctuations = '( ) { } : [ ]';\nconst graphqlLanguage = /*@__PURE__*/LRLanguage.define({\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/styleTags({\n Variable: tags.variableName,\n BooleanValue: tags.bool,\n Description: tags.string,\n StringValue: tags.string,\n Comment: tags.lineComment,\n IntValue: tags.integer,\n FloatValue: tags.float,\n EnumValue: /*@__PURE__*/tags.special(tags.name),\n NullValue: tags.null,\n DirectiveName: tags.modifier,\n [keywords]: tags.keyword,\n OperationType: tags.definitionKeyword,\n FieldName: tags.propertyName,\n Field: tags.propertyName,\n ArgumentAttributeName: tags.attributeName,\n Name: tags.atom,\n '( )': tags.paren,\n '{ }': tags.brace,\n ',': tags.separator,\n [punctuations]: tags.punctuation,\n }),\n // https://codemirror.net/docs/ref/#language.indentNodeProp\n /*@__PURE__*/indentNodeProp.add({\n [nodesWithBraces]: /*@__PURE__*/delimitedIndent({ closing: '}', align: true }),\n }),\n /*@__PURE__*/foldNodeProp.add({\n [nodesWithBraces]: foldInside,\n }),\n ],\n }),\n languageData: {\n commentTokens: { line: '#' },\n indentOnInput: /^\\s*(\\{|\\})$/,\n },\n});\nfunction graphqlLanguageSupport() {\n return new LanguageSupport(graphqlLanguage);\n}\n\nconst AUTOCOMPLETE_CHARS = /^[a-zA-Z0-9_@(]$/;\nconst completion = /*@__PURE__*/graphqlLanguage.data.of({\n autocomplete(ctx) {\n const schema = getSchema(ctx.state);\n const opts = getOpts(ctx.state);\n if (!schema) {\n return null;\n }\n const word = ctx.matchBefore(/\\w*/);\n if (!word) {\n return null;\n }\n const lastWordChar = word.text.split('').pop();\n if (!AUTOCOMPLETE_CHARS.test(lastWordChar) && !ctx.explicit) {\n return null;\n }\n const val = ctx.state.doc.toString();\n const pos = offsetToPos(ctx.state.doc, ctx.pos);\n const results = getAutocompleteSuggestions(schema, val, pos, undefined, undefined, opts === null || opts === void 0 ? void 0 : opts.autocompleteOptions);\n if (results.length === 0) {\n return null;\n }\n return {\n from: word.from,\n options: results.map(item => {\n return {\n label: item.label,\n detail: item.detail || '',\n info(completionData) {\n if (opts === null || opts === void 0 ? void 0 : opts.onCompletionInfoRender) {\n return opts.onCompletionInfoRender(item, ctx, completionData);\n }\n if (item.documentation ||\n (item.isDeprecated && item.deprecationReason)) {\n const el = document.createElement('div');\n el.textContent =\n item.documentation || item.deprecationReason || '';\n return el;\n }\n },\n };\n }),\n };\n },\n});\n\nconst jump = /*@__PURE__*/EditorView.domEventHandlers({\n click(evt, view) {\n var _a, _b, _c;\n const schema = getSchema(view.state);\n if (!schema) {\n return;\n }\n // TODO: Set class on cm-editor when mod key is pressed, to style cursor and tokens\n const currentPosition = view.state.selection.main.head;\n const pos = offsetToPos(view.state.doc, currentPosition);\n const token = getTokenAtPosition(view.state.doc.toString(), pos);\n const tInfo = getTypeInfo(schema, token.state);\n const opts = getOpts(view.state);\n if ((opts === null || opts === void 0 ? void 0 : opts.onShowInDocs) && isMetaKeyPressed(evt)) {\n opts.onShowInDocs((_a = tInfo.fieldDef) === null || _a === void 0 ? void 0 : _a.name, (_b = tInfo.type) === null || _b === void 0 ? void 0 : _b.toString(), (_c = tInfo.parentType) === null || _c === void 0 ? void 0 : _c.toString());\n }\n },\n});\n\nconst SEVERITY = ['error', 'warning', 'info'];\nconst lint = /*@__PURE__*/linter(view => {\n const schema = getSchema(view.state);\n const options = getOpts(view.state);\n if (!schema) {\n return [];\n }\n const validationErrors = validateSchema(schema);\n if (validationErrors.length) {\n if (!(options === null || options === void 0 ? void 0 : options.showErrorOnInvalidSchema)) {\n return [];\n }\n const combinedError = validationErrors.map(error => {\n return error.message;\n });\n return [\n {\n from: 0,\n to: view.state.doc.length,\n severity: 'error',\n message: combinedError.join('\\n'),\n actions: [], // TODO:\n },\n ];\n }\n const results = getDiagnostics(view.state.doc.toString(), schema);\n return results\n .map((item) => {\n if (!item.severity || !item.source) {\n return null;\n }\n const calculatedFrom = posToOffset(view.state.doc, new Position(item.range.start.line, item.range.start.character));\n const from = Math.max(0, Math.min(calculatedFrom, view.state.doc.length));\n const calculatedRo = posToOffset(view.state.doc, new Position(item.range.end.line, item.range.end.character - 1));\n const to = Math.min(Math.max(from + 1, calculatedRo), view.state.doc.length);\n return {\n from,\n to: from === to ? to + 1 : to,\n severity: SEVERITY[item.severity - 1],\n // source: item.source, // TODO:\n message: item.message,\n actions: [], // TODO:\n };\n })\n .filter((_) => Boolean(_));\n}, {\n needsRefresh(vu) {\n return (vu.startState.field(schemaStateField) !==\n vu.state.field(schemaStateField) ||\n vu.startState.field(optionsStateField) !==\n vu.state.field(optionsStateField));\n },\n});\n\nfunction graphql(schema, opts) {\n return [\n graphqlLanguageSupport(),\n completion,\n lint,\n jump,\n stateExtensions(schema, opts),\n ];\n}\n\nexport { Position, completion, fillAllFieldsCommands, getOpts, getSchema, graphql, graphqlLanguage, graphqlLanguageSupport, isMetaKeyPressed, jump, lint, offsetToPos, optionsStateField, posToOffset, schemaStateField, showInDocsCommand, stateExtensions, updateOpts, updateSchema };\n","import { parse } from 'graphql';\nconst URL_REGEXP = /^(https?|wss?|file):\\/\\//;\n/**\n * Checks if the given string is a valid URL.\n *\n * @param str - The string to validate as a URL\n * @returns A boolean indicating whether the string is a valid URL\n *\n * @remarks\n * This function first attempts to use the `URL.canParse` method if available.\n * If not, it falls back to creating a new `URL` object to validate the string.\n */\nexport function isUrl(str) {\n if (typeof str !== 'string') {\n return false;\n }\n if (!URL_REGEXP.test(str)) {\n return false;\n }\n if (URL.canParse) {\n return URL.canParse(str);\n }\n try {\n const url = new URL(str);\n return !!url;\n }\n catch (e) {\n return false;\n }\n}\nexport const asArray = (fns) => (Array.isArray(fns) ? fns : fns ? [fns] : []);\nconst invalidDocRegex = /\\.[a-z0-9]+$/i;\n/**\n * Determines if a given input is a valid GraphQL document string.\n *\n * @param str - The input to validate as a GraphQL document\n * @returns A boolean indicating whether the input is a valid GraphQL document string\n *\n * @remarks\n * This function performs several validation checks:\n * - Ensures the input is a string\n * - Filters out strings with invalid document extensions\n * - Excludes URLs\n * - Attempts to parse the string as a GraphQL document\n *\n * @throws {Error} If the document fails to parse and is empty except GraphQL comments\n */\nexport function isDocumentString(str) {\n if (typeof str !== 'string') {\n return false;\n }\n // XXX: is-valid-path or is-glob treat SDL as a valid path\n // (`scalar Date` for example)\n // this why checking the extension is fast enough\n // and prevent from parsing the string in order to find out\n // if the string is a SDL\n if (invalidDocRegex.test(str) || isUrl(str)) {\n return false;\n }\n try {\n parse(str);\n return true;\n }\n catch (e) {\n if (!e.message.includes('EOF') &&\n str.replace(/(\\#[^*]*)/g, '').trim() !== '' &&\n str.includes(' ')) {\n throw new Error(`Failed to parse the GraphQL document. ${e.message}\\n${str}`);\n }\n }\n return false;\n}\nconst invalidPathRegex = /[‘“!%^<>`\\n]/;\n/**\n * Checkes whether the `str` contains any path illegal characters.\n *\n * A string may sometimes look like a path but is not (like an SDL of a simple\n * GraphQL schema). To make sure we don't yield false-positives in such cases,\n * we disallow new lines in paths (even though most Unix systems support new\n * lines in file names).\n */\nexport function isValidPath(str) {\n return typeof str === 'string' && !invalidPathRegex.test(str);\n}\nexport function compareStrings(a, b) {\n if (String(a) < String(b)) {\n return -1;\n }\n if (String(a) > String(b)) {\n return 1;\n }\n return 0;\n}\nexport function nodeToString(a) {\n let name;\n if ('alias' in a) {\n name = a.alias?.value;\n }\n if (name == null && 'name' in a) {\n name = a.name?.value;\n }\n if (name == null) {\n name = a.kind;\n }\n return name;\n}\nexport function compareNodes(a, b, customFn) {\n const aStr = nodeToString(a);\n const bStr = nodeToString(b);\n if (typeof customFn === 'function') {\n return customFn(aStr, bStr);\n }\n return compareStrings(aStr, bStr);\n}\nexport function isSome(input) {\n return input != null;\n}\nexport function assertSome(input, message = 'Value should be something') {\n if (input == null) {\n throw new Error(message);\n }\n}\n","export var MapperKind;\n(function (MapperKind) {\n MapperKind[\"TYPE\"] = \"MapperKind.TYPE\";\n MapperKind[\"SCALAR_TYPE\"] = \"MapperKind.SCALAR_TYPE\";\n MapperKind[\"ENUM_TYPE\"] = \"MapperKind.ENUM_TYPE\";\n MapperKind[\"COMPOSITE_TYPE\"] = \"MapperKind.COMPOSITE_TYPE\";\n MapperKind[\"OBJECT_TYPE\"] = \"MapperKind.OBJECT_TYPE\";\n MapperKind[\"INPUT_OBJECT_TYPE\"] = \"MapperKind.INPUT_OBJECT_TYPE\";\n MapperKind[\"ABSTRACT_TYPE\"] = \"MapperKind.ABSTRACT_TYPE\";\n MapperKind[\"UNION_TYPE\"] = \"MapperKind.UNION_TYPE\";\n MapperKind[\"INTERFACE_TYPE\"] = \"MapperKind.INTERFACE_TYPE\";\n MapperKind[\"ROOT_OBJECT\"] = \"MapperKind.ROOT_OBJECT\";\n MapperKind[\"QUERY\"] = \"MapperKind.QUERY\";\n MapperKind[\"MUTATION\"] = \"MapperKind.MUTATION\";\n MapperKind[\"SUBSCRIPTION\"] = \"MapperKind.SUBSCRIPTION\";\n MapperKind[\"DIRECTIVE\"] = \"MapperKind.DIRECTIVE\";\n MapperKind[\"FIELD\"] = \"MapperKind.FIELD\";\n MapperKind[\"COMPOSITE_FIELD\"] = \"MapperKind.COMPOSITE_FIELD\";\n MapperKind[\"OBJECT_FIELD\"] = \"MapperKind.OBJECT_FIELD\";\n MapperKind[\"ROOT_FIELD\"] = \"MapperKind.ROOT_FIELD\";\n MapperKind[\"QUERY_ROOT_FIELD\"] = \"MapperKind.QUERY_ROOT_FIELD\";\n MapperKind[\"MUTATION_ROOT_FIELD\"] = \"MapperKind.MUTATION_ROOT_FIELD\";\n MapperKind[\"SUBSCRIPTION_ROOT_FIELD\"] = \"MapperKind.SUBSCRIPTION_ROOT_FIELD\";\n MapperKind[\"INTERFACE_FIELD\"] = \"MapperKind.INTERFACE_FIELD\";\n MapperKind[\"INPUT_OBJECT_FIELD\"] = \"MapperKind.INPUT_OBJECT_FIELD\";\n MapperKind[\"ARGUMENT\"] = \"MapperKind.ARGUMENT\";\n MapperKind[\"ENUM_VALUE\"] = \"MapperKind.ENUM_VALUE\";\n})(MapperKind || (MapperKind = {}));\n","import { isObjectType } from 'graphql';\nexport function getObjectTypeFromTypeMap(typeMap, type) {\n if (type) {\n const maybeObjectType = typeMap[type.name];\n if (isObjectType(maybeObjectType)) {\n return maybeObjectType;\n }\n }\n}\n","import { GraphQLBoolean, GraphQLFloat, GraphQLID, GraphQLInputObjectType, GraphQLInt, GraphQLInterfaceType, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLString, Kind, } from 'graphql';\nexport function createNamedStub(name, type) {\n let constructor;\n if (type === 'object') {\n constructor = GraphQLObjectType;\n }\n else if (type === 'interface') {\n constructor = GraphQLInterfaceType;\n }\n else {\n constructor = GraphQLInputObjectType;\n }\n return new constructor({\n name,\n fields: {\n _fake: {\n type: GraphQLString,\n },\n },\n });\n}\nexport function createStub(node, type) {\n switch (node.kind) {\n case Kind.LIST_TYPE:\n return new GraphQLList(createStub(node.type, type));\n case Kind.NON_NULL_TYPE:\n return new GraphQLNonNull(createStub(node.type, type));\n default:\n if (type === 'output') {\n return createNamedStub(node.name.value, 'object');\n }\n return createNamedStub(node.name.value, 'input');\n }\n}\nexport function isNamedStub(type) {\n if ('getFields' in type) {\n const fields = type.getFields();\n // eslint-disable-next-line no-unreachable-loop\n for (const fieldName in fields) {\n const field = fields[fieldName];\n return field.name === '_fake';\n }\n }\n return false;\n}\nexport function getBuiltInForStub(type) {\n switch (type.name) {\n case GraphQLInt.name:\n return GraphQLInt;\n case GraphQLFloat.name:\n return GraphQLFloat;\n case GraphQLString.name:\n return GraphQLString;\n case GraphQLBoolean.name:\n return GraphQLBoolean;\n case GraphQLID.name:\n return GraphQLID;\n default:\n return type;\n }\n}\n","import { GraphQLDirective, GraphQLEnumType, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLScalarType, GraphQLUnionType, isEnumType, isInputObjectType, isInterfaceType, isListType, isNamedType, isNonNullType, isObjectType, isScalarType, isSpecifiedDirective, isSpecifiedScalarType, isUnionType, } from 'graphql';\nimport { getBuiltInForStub, isNamedStub } from './stub.js';\nexport function rewireTypes(originalTypeMap, directives) {\n const referenceTypeMap = Object.create(null);\n for (const typeName in originalTypeMap) {\n referenceTypeMap[typeName] = originalTypeMap[typeName];\n }\n const newTypeMap = Object.create(null);\n for (const typeName in referenceTypeMap) {\n const namedType = referenceTypeMap[typeName];\n if (namedType == null || typeName.startsWith('__')) {\n continue;\n }\n const newName = namedType.name;\n if (newName.startsWith('__')) {\n continue;\n }\n if (newTypeMap[newName] != null) {\n console.warn(`Duplicate schema type name ${newName} found; keeping the existing one found in the schema`);\n continue;\n }\n newTypeMap[newName] = namedType;\n }\n for (const typeName in newTypeMap) {\n newTypeMap[typeName] = rewireNamedType(newTypeMap[typeName]);\n }\n const newDirectives = directives.map(directive => rewireDirective(directive));\n return {\n typeMap: newTypeMap,\n directives: newDirectives,\n };\n function rewireDirective(directive) {\n if (isSpecifiedDirective(directive)) {\n return directive;\n }\n const directiveConfig = directive.toConfig();\n directiveConfig.args = rewireArgs(directiveConfig.args);\n return new GraphQLDirective(directiveConfig);\n }\n function rewireArgs(args) {\n const rewiredArgs = {};\n for (const argName in args) {\n const arg = args[argName];\n const rewiredArgType = rewireType(arg.type);\n if (rewiredArgType != null) {\n arg.type = rewiredArgType;\n rewiredArgs[argName] = arg;\n }\n }\n return rewiredArgs;\n }\n function rewireNamedType(type) {\n if (isObjectType(type)) {\n const config = type.toConfig();\n const newConfig = {\n ...config,\n fields: () => rewireFields(config.fields),\n interfaces: () => rewireNamedTypes(config.interfaces),\n };\n return new GraphQLObjectType(newConfig);\n }\n else if (isInterfaceType(type)) {\n const config = type.toConfig();\n const newConfig = {\n ...config,\n fields: () => rewireFields(config.fields),\n };\n if ('interfaces' in newConfig) {\n newConfig.interfaces = () => rewireNamedTypes(config.interfaces);\n }\n return new GraphQLInterfaceType(newConfig);\n }\n else if (isUnionType(type)) {\n const config = type.toConfig();\n const newConfig = {\n ...config,\n types: () => rewireNamedTypes(config.types),\n };\n return new GraphQLUnionType(newConfig);\n }\n else if (isInputObjectType(type)) {\n const config = type.toConfig();\n const newConfig = {\n ...config,\n fields: () => rewireInputFields(config.fields),\n };\n return new GraphQLInputObjectType(newConfig);\n }\n else if (isEnumType(type)) {\n const enumConfig = type.toConfig();\n return new GraphQLEnumType(enumConfig);\n }\n else if (isScalarType(type)) {\n if (isSpecifiedScalarType(type)) {\n return type;\n }\n const scalarConfig = type.toConfig();\n return new GraphQLScalarType(scalarConfig);\n }\n throw new Error(`Unexpected schema type: ${type}`);\n }\n function rewireFields(fields) {\n const rewiredFields = {};\n for (const fieldName in fields) {\n const field = fields[fieldName];\n const rewiredFieldType = rewireType(field.type);\n if (rewiredFieldType != null && field.args) {\n field.type = rewiredFieldType;\n field.args = rewireArgs(field.args);\n rewiredFields[fieldName] = field;\n }\n }\n return rewiredFields;\n }\n function rewireInputFields(fields) {\n const rewiredFields = {};\n for (const fieldName in fields) {\n const field = fields[fieldName];\n const rewiredFieldType = rewireType(field.type);\n if (rewiredFieldType != null) {\n field.type = rewiredFieldType;\n rewiredFields[fieldName] = field;\n }\n }\n return rewiredFields;\n }\n function rewireNamedTypes(namedTypes) {\n const rewiredTypes = [];\n for (const namedType of namedTypes) {\n const rewiredType = rewireType(namedType);\n if (rewiredType != null) {\n rewiredTypes.push(rewiredType);\n }\n }\n return rewiredTypes;\n }\n function rewireType(type) {\n if (isListType(type)) {\n const rewiredType = rewireType(type.ofType);\n return rewiredType != null ? new GraphQLList(rewiredType) : null;\n }\n else if (isNonNullType(type)) {\n const rewiredType = rewireType(type.ofType);\n return rewiredType != null ? new GraphQLNonNull(rewiredType) : null;\n }\n else if (isNamedType(type)) {\n let rewiredType = referenceTypeMap[type.name];\n if (rewiredType === undefined) {\n rewiredType = isNamedStub(type) ? getBuiltInForStub(type) : rewireNamedType(type);\n newTypeMap[rewiredType.name] = referenceTypeMap[type.name] = rewiredType;\n }\n return rewiredType != null ? newTypeMap[rewiredType.name] : null;\n }\n return null;\n }\n}\n","import { getNullableType, isInputObjectType, isLeafType, isListType, } from 'graphql';\nimport { asArray } from './helpers.js';\nexport function transformInputValue(type, value, inputLeafValueTransformer = null, inputObjectValueTransformer = null) {\n if (value == null) {\n return value;\n }\n const nullableType = getNullableType(type);\n if (isLeafType(nullableType)) {\n return inputLeafValueTransformer != null\n ? inputLeafValueTransformer(nullableType, value)\n : value;\n }\n else if (isListType(nullableType)) {\n return asArray(value).map((listMember) => transformInputValue(nullableType.ofType, listMember, inputLeafValueTransformer, inputObjectValueTransformer));\n }\n else if (isInputObjectType(nullableType)) {\n const fields = nullableType.getFields();\n const newValue = {};\n for (const key in value) {\n const field = fields[key];\n if (field != null) {\n newValue[key] = transformInputValue(field.type, value[key], inputLeafValueTransformer, inputObjectValueTransformer);\n }\n }\n return inputObjectValueTransformer != null\n ? inputObjectValueTransformer(nullableType, newValue)\n : newValue;\n }\n // unreachable, no other possible return value\n}\nexport function serializeInputValue(type, value) {\n return transformInputValue(type, value, (t, v) => {\n try {\n return t.serialize(v);\n }\n catch {\n return v;\n }\n });\n}\nexport function parseInputValue(type, value) {\n return transformInputValue(type, value, (t, v) => {\n try {\n return t.parseValue(v);\n }\n catch {\n return v;\n }\n });\n}\nexport function parseInputValueLiteral(type, value) {\n return transformInputValue(type, value, (t, v) => t.parseLiteral(v, {}));\n}\n","import { GraphQLEnumType, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLSchema, isEnumType, isInputObjectType, isInterfaceType, isLeafType, isListType, isNamedType, isNonNullType, isObjectType, isScalarType, isUnionType, Kind, } from 'graphql';\nimport { getObjectTypeFromTypeMap } from './getObjectTypeFromTypeMap.js';\nimport { MapperKind, } from './Interfaces.js';\nimport { rewireTypes } from './rewire.js';\nimport { parseInputValue, serializeInputValue } from './transformInputValue.js';\nexport function mapSchema(schema, schemaMapper = {}) {\n const newTypeMap = mapArguments(mapFields(mapTypes(mapDefaultValues(mapEnumValues(mapTypes(mapDefaultValues(schema.getTypeMap(), schema, serializeInputValue), schema, schemaMapper, type => isLeafType(type)), schema, schemaMapper), schema, parseInputValue), schema, schemaMapper, type => !isLeafType(type)), schema, schemaMapper), schema, schemaMapper);\n const originalDirectives = schema.getDirectives();\n const newDirectives = mapDirectives(originalDirectives, schema, schemaMapper);\n const { typeMap, directives } = rewireTypes(newTypeMap, newDirectives);\n return new GraphQLSchema({\n ...schema.toConfig(),\n query: getObjectTypeFromTypeMap(typeMap, getObjectTypeFromTypeMap(newTypeMap, schema.getQueryType())),\n mutation: getObjectTypeFromTypeMap(typeMap, getObjectTypeFromTypeMap(newTypeMap, schema.getMutationType())),\n subscription: getObjectTypeFromTypeMap(typeMap, getObjectTypeFromTypeMap(newTypeMap, schema.getSubscriptionType())),\n types: Object.values(typeMap),\n directives,\n });\n}\nconst builtinTypes = ['String', 'ID', 'Int', 'Float', 'Boolean'];\nfunction mapTypes(originalTypeMap, schema, schemaMapper, testFn = () => true) {\n const newTypeMap = {};\n for (const typeName in originalTypeMap) {\n if (!typeName.startsWith('__') && !builtinTypes.includes(typeName)) {\n const originalType = originalTypeMap[typeName];\n if (originalType == null || !testFn(originalType)) {\n newTypeMap[typeName] = originalType;\n continue;\n }\n const typeMapper = getTypeMapper(schema, schemaMapper, typeName);\n if (typeMapper == null) {\n newTypeMap[typeName] = originalType;\n continue;\n }\n const maybeNewType = typeMapper(originalType, schema);\n if (maybeNewType === undefined) {\n newTypeMap[typeName] = originalType;\n continue;\n }\n newTypeMap[typeName] = maybeNewType;\n }\n }\n return newTypeMap;\n}\nfunction mapEnumValues(originalTypeMap, schema, schemaMapper) {\n const enumValueMapper = getEnumValueMapper(schemaMapper);\n if (!enumValueMapper) {\n return originalTypeMap;\n }\n return mapTypes(originalTypeMap, schema, {\n [MapperKind.ENUM_TYPE]: type => {\n const config = type.toConfig();\n const originalEnumValueConfigMap = config.values;\n const newEnumValueConfigMap = {};\n for (const externalValue in originalEnumValueConfigMap) {\n const originalEnumValueConfig = originalEnumValueConfigMap[externalValue];\n const mappedEnumValue = enumValueMapper(originalEnumValueConfig, type.name, schema, externalValue);\n if (mappedEnumValue === undefined) {\n newEnumValueConfigMap[externalValue] = originalEnumValueConfig;\n }\n else if (Array.isArray(mappedEnumValue)) {\n const [newExternalValue, newEnumValueConfig] = mappedEnumValue;\n newEnumValueConfigMap[newExternalValue] =\n newEnumValueConfig === undefined ? originalEnumValueConfig : newEnumValueConfig;\n }\n else if (mappedEnumValue !== null) {\n newEnumValueConfigMap[externalValue] = mappedEnumValue;\n }\n }\n return correctASTNodes(new GraphQLEnumType({\n ...config,\n values: newEnumValueConfigMap,\n }));\n },\n }, type => isEnumType(type));\n}\nfunction mapDefaultValues(originalTypeMap, schema, fn) {\n const newTypeMap = mapArguments(originalTypeMap, schema, {\n [MapperKind.ARGUMENT]: argumentConfig => {\n if (argumentConfig.defaultValue === undefined) {\n return argumentConfig;\n }\n const maybeNewType = getNewType(originalTypeMap, argumentConfig.type);\n if (maybeNewType != null) {\n return {\n ...argumentConfig,\n defaultValue: fn(maybeNewType, argumentConfig.defaultValue),\n };\n }\n },\n });\n return mapFields(newTypeMap, schema, {\n [MapperKind.INPUT_OBJECT_FIELD]: inputFieldConfig => {\n if (inputFieldConfig.defaultValue === undefined) {\n return inputFieldConfig;\n }\n const maybeNewType = getNewType(newTypeMap, inputFieldConfig.type);\n if (maybeNewType != null) {\n return {\n ...inputFieldConfig,\n defaultValue: fn(maybeNewType, inputFieldConfig.defaultValue),\n };\n }\n },\n });\n}\nfunction getNewType(newTypeMap, type) {\n if (isListType(type)) {\n const newType = getNewType(newTypeMap, type.ofType);\n return newType != null ? new GraphQLList(newType) : null;\n }\n else if (isNonNullType(type)) {\n const newType = getNewType(newTypeMap, type.ofType);\n return newType != null ? new GraphQLNonNull(newType) : null;\n }\n else if (isNamedType(type)) {\n const newType = newTypeMap[type.name];\n return newType != null ? newType : null;\n }\n return null;\n}\nfunction mapFields(originalTypeMap, schema, schemaMapper) {\n const newTypeMap = {};\n for (const typeName in originalTypeMap) {\n if (!typeName.startsWith('__')) {\n const originalType = originalTypeMap[typeName];\n if (!isObjectType(originalType) &&\n !isInterfaceType(originalType) &&\n !isInputObjectType(originalType)) {\n newTypeMap[typeName] = originalType;\n continue;\n }\n const fieldMapper = getFieldMapper(schema, schemaMapper, typeName);\n if (fieldMapper == null) {\n newTypeMap[typeName] = originalType;\n continue;\n }\n const config = originalType.toConfig();\n const originalFieldConfigMap = config.fields;\n const newFieldConfigMap = {};\n for (const fieldName in originalFieldConfigMap) {\n const originalFieldConfig = originalFieldConfigMap[fieldName];\n const mappedField = fieldMapper(originalFieldConfig, fieldName, typeName, schema);\n if (mappedField === undefined) {\n newFieldConfigMap[fieldName] = originalFieldConfig;\n }\n else if (Array.isArray(mappedField)) {\n const [newFieldName, newFieldConfig] = mappedField;\n if (newFieldConfig.astNode != null) {\n newFieldConfig.astNode = {\n ...newFieldConfig.astNode,\n name: {\n ...newFieldConfig.astNode.name,\n value: newFieldName,\n },\n };\n }\n newFieldConfigMap[newFieldName] =\n newFieldConfig === undefined ? originalFieldConfig : newFieldConfig;\n }\n else if (mappedField !== null) {\n newFieldConfigMap[fieldName] = mappedField;\n }\n }\n if (isObjectType(originalType)) {\n newTypeMap[typeName] = correctASTNodes(new GraphQLObjectType({\n ...config,\n fields: newFieldConfigMap,\n }));\n }\n else if (isInterfaceType(originalType)) {\n newTypeMap[typeName] = correctASTNodes(new GraphQLInterfaceType({\n ...config,\n fields: newFieldConfigMap,\n }));\n }\n else {\n newTypeMap[typeName] = correctASTNodes(new GraphQLInputObjectType({\n ...config,\n fields: newFieldConfigMap,\n }));\n }\n }\n }\n return newTypeMap;\n}\nfunction mapArguments(originalTypeMap, schema, schemaMapper) {\n const newTypeMap = {};\n for (const typeName in originalTypeMap) {\n if (!typeName.startsWith('__')) {\n const originalType = originalTypeMap[typeName];\n if (!isObjectType(originalType) && !isInterfaceType(originalType)) {\n newTypeMap[typeName] = originalType;\n continue;\n }\n const argumentMapper = getArgumentMapper(schemaMapper);\n if (argumentMapper == null) {\n newTypeMap[typeName] = originalType;\n continue;\n }\n const config = originalType.toConfig();\n const originalFieldConfigMap = config.fields;\n const newFieldConfigMap = {};\n for (const fieldName in originalFieldConfigMap) {\n const originalFieldConfig = originalFieldConfigMap[fieldName];\n const originalArgumentConfigMap = originalFieldConfig.args;\n if (originalArgumentConfigMap == null) {\n newFieldConfigMap[fieldName] = originalFieldConfig;\n continue;\n }\n const argumentNames = Object.keys(originalArgumentConfigMap);\n if (!argumentNames.length) {\n newFieldConfigMap[fieldName] = originalFieldConfig;\n continue;\n }\n const newArgumentConfigMap = {};\n for (const argumentName of argumentNames) {\n const originalArgumentConfig = originalArgumentConfigMap[argumentName];\n const mappedArgument = argumentMapper(originalArgumentConfig, fieldName, typeName, schema);\n if (mappedArgument === undefined) {\n newArgumentConfigMap[argumentName] = originalArgumentConfig;\n }\n else if (Array.isArray(mappedArgument)) {\n const [newArgumentName, newArgumentConfig] = mappedArgument;\n newArgumentConfigMap[newArgumentName] = newArgumentConfig;\n }\n else if (mappedArgument !== null) {\n newArgumentConfigMap[argumentName] = mappedArgument;\n }\n }\n newFieldConfigMap[fieldName] = {\n ...originalFieldConfig,\n args: newArgumentConfigMap,\n };\n }\n if (isObjectType(originalType)) {\n newTypeMap[typeName] = new GraphQLObjectType({\n ...config,\n fields: newFieldConfigMap,\n });\n }\n else if (isInterfaceType(originalType)) {\n newTypeMap[typeName] = new GraphQLInterfaceType({\n ...config,\n fields: newFieldConfigMap,\n });\n }\n else {\n newTypeMap[typeName] = new GraphQLInputObjectType({\n ...config,\n fields: newFieldConfigMap,\n });\n }\n }\n }\n return newTypeMap;\n}\nfunction mapDirectives(originalDirectives, schema, schemaMapper) {\n const directiveMapper = getDirectiveMapper(schemaMapper);\n if (directiveMapper == null) {\n return originalDirectives.slice();\n }\n const newDirectives = [];\n for (const directive of originalDirectives) {\n const mappedDirective = directiveMapper(directive, schema);\n if (mappedDirective === undefined) {\n newDirectives.push(directive);\n }\n else if (mappedDirective !== null) {\n newDirectives.push(mappedDirective);\n }\n }\n return newDirectives;\n}\nfunction getTypeSpecifiers(schema, typeName) {\n const type = schema.getType(typeName);\n const specifiers = [MapperKind.TYPE];\n if (isObjectType(type)) {\n specifiers.push(MapperKind.COMPOSITE_TYPE, MapperKind.OBJECT_TYPE);\n if (typeName === schema.getQueryType()?.name) {\n specifiers.push(MapperKind.ROOT_OBJECT, MapperKind.QUERY);\n }\n else if (typeName === schema.getMutationType()?.name) {\n specifiers.push(MapperKind.ROOT_OBJECT, MapperKind.MUTATION);\n }\n else if (typeName === schema.getSubscriptionType()?.name) {\n specifiers.push(MapperKind.ROOT_OBJECT, MapperKind.SUBSCRIPTION);\n }\n }\n else if (isInputObjectType(type)) {\n specifiers.push(MapperKind.INPUT_OBJECT_TYPE);\n }\n else if (isInterfaceType(type)) {\n specifiers.push(MapperKind.COMPOSITE_TYPE, MapperKind.ABSTRACT_TYPE, MapperKind.INTERFACE_TYPE);\n }\n else if (isUnionType(type)) {\n specifiers.push(MapperKind.COMPOSITE_TYPE, MapperKind.ABSTRACT_TYPE, MapperKind.UNION_TYPE);\n }\n else if (isEnumType(type)) {\n specifiers.push(MapperKind.ENUM_TYPE);\n }\n else if (isScalarType(type)) {\n specifiers.push(MapperKind.SCALAR_TYPE);\n }\n return specifiers;\n}\nfunction getTypeMapper(schema, schemaMapper, typeName) {\n const specifiers = getTypeSpecifiers(schema, typeName);\n let typeMapper;\n const stack = [...specifiers];\n while (!typeMapper && stack.length > 0) {\n // It is safe to use the ! operator here as we check the length.\n const next = stack.pop();\n typeMapper = schemaMapper[next];\n }\n return typeMapper != null ? typeMapper : null;\n}\nfunction getFieldSpecifiers(schema, typeName) {\n const type = schema.getType(typeName);\n const specifiers = [MapperKind.FIELD];\n if (isObjectType(type)) {\n specifiers.push(MapperKind.COMPOSITE_FIELD, MapperKind.OBJECT_FIELD);\n if (typeName === schema.getQueryType()?.name) {\n specifiers.push(MapperKind.ROOT_FIELD, MapperKind.QUERY_ROOT_FIELD);\n }\n else if (typeName === schema.getMutationType()?.name) {\n specifiers.push(MapperKind.ROOT_FIELD, MapperKind.MUTATION_ROOT_FIELD);\n }\n else if (typeName === schema.getSubscriptionType()?.name) {\n specifiers.push(MapperKind.ROOT_FIELD, MapperKind.SUBSCRIPTION_ROOT_FIELD);\n }\n }\n else if (isInterfaceType(type)) {\n specifiers.push(MapperKind.COMPOSITE_FIELD, MapperKind.INTERFACE_FIELD);\n }\n else if (isInputObjectType(type)) {\n specifiers.push(MapperKind.INPUT_OBJECT_FIELD);\n }\n return specifiers;\n}\nfunction getFieldMapper(schema, schemaMapper, typeName) {\n const specifiers = getFieldSpecifiers(schema, typeName);\n let fieldMapper;\n const stack = [...specifiers];\n while (!fieldMapper && stack.length > 0) {\n // It is safe to use the ! operator here as we check the length.\n const next = stack.pop();\n // TODO: fix this as unknown cast\n fieldMapper = schemaMapper[next];\n }\n return fieldMapper ?? null;\n}\nfunction getArgumentMapper(schemaMapper) {\n const argumentMapper = schemaMapper[MapperKind.ARGUMENT];\n return argumentMapper != null ? argumentMapper : null;\n}\nfunction getDirectiveMapper(schemaMapper) {\n const directiveMapper = schemaMapper[MapperKind.DIRECTIVE];\n return directiveMapper != null ? directiveMapper : null;\n}\nfunction getEnumValueMapper(schemaMapper) {\n const enumValueMapper = schemaMapper[MapperKind.ENUM_VALUE];\n return enumValueMapper != null ? enumValueMapper : null;\n}\nexport function correctASTNodes(type) {\n if (isObjectType(type)) {\n const config = type.toConfig();\n if (config.astNode != null) {\n const fields = [];\n for (const fieldName in config.fields) {\n const fieldConfig = config.fields[fieldName];\n if (fieldConfig.astNode != null) {\n fields.push(fieldConfig.astNode);\n }\n }\n config.astNode = {\n ...config.astNode,\n kind: Kind.OBJECT_TYPE_DEFINITION,\n fields,\n };\n }\n if (config.extensionASTNodes != null) {\n config.extensionASTNodes = config.extensionASTNodes.map(node => ({\n ...node,\n kind: Kind.OBJECT_TYPE_EXTENSION,\n fields: undefined,\n }));\n }\n return new GraphQLObjectType(config);\n }\n else if (isInterfaceType(type)) {\n const config = type.toConfig();\n if (config.astNode != null) {\n const fields = [];\n for (const fieldName in config.fields) {\n const fieldConfig = config.fields[fieldName];\n if (fieldConfig.astNode != null) {\n fields.push(fieldConfig.astNode);\n }\n }\n config.astNode = {\n ...config.astNode,\n kind: Kind.INTERFACE_TYPE_DEFINITION,\n fields,\n };\n }\n if (config.extensionASTNodes != null) {\n config.extensionASTNodes = config.extensionASTNodes.map(node => ({\n ...node,\n kind: Kind.INTERFACE_TYPE_EXTENSION,\n fields: undefined,\n }));\n }\n return new GraphQLInterfaceType(config);\n }\n else if (isInputObjectType(type)) {\n const config = type.toConfig();\n if (config.astNode != null) {\n const fields = [];\n for (const fieldName in config.fields) {\n const fieldConfig = config.fields[fieldName];\n if (fieldConfig.astNode != null) {\n fields.push(fieldConfig.astNode);\n }\n }\n config.astNode = {\n ...config.astNode,\n kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n fields,\n };\n }\n if (config.extensionASTNodes != null) {\n config.extensionASTNodes = config.extensionASTNodes.map(node => ({\n ...node,\n kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n fields: undefined,\n }));\n }\n return new GraphQLInputObjectType(config);\n }\n else if (isEnumType(type)) {\n const config = type.toConfig();\n if (config.astNode != null) {\n const values = [];\n for (const enumKey in config.values) {\n const enumValueConfig = config.values[enumKey];\n if (enumValueConfig.astNode != null) {\n values.push(enumValueConfig.astNode);\n }\n }\n config.astNode = {\n ...config.astNode,\n values,\n };\n }\n if (config.extensionASTNodes != null) {\n config.extensionASTNodes = config.extensionASTNodes.map(node => ({\n ...node,\n values: undefined,\n }));\n }\n return new GraphQLEnumType(config);\n }\n else {\n return type;\n }\n}\n","import { GraphQLInputObjectType, GraphQLInterfaceType, GraphQLObjectType, } from 'graphql';\nimport { MapperKind, } from './Interfaces.js';\nimport { mapSchema } from './mapSchema.js';\nexport function filterSchema({ schema, typeFilter = () => true, fieldFilter = undefined, rootFieldFilter = undefined, objectFieldFilter = undefined, interfaceFieldFilter = undefined, inputObjectFieldFilter = undefined, argumentFilter = undefined, directiveFilter = undefined, enumValueFilter = undefined, }) {\n const filteredSchema = mapSchema(schema, {\n [MapperKind.QUERY]: (type) => filterRootFields(type, 'Query', rootFieldFilter, argumentFilter),\n [MapperKind.MUTATION]: (type) => filterRootFields(type, 'Mutation', rootFieldFilter, argumentFilter),\n [MapperKind.SUBSCRIPTION]: (type) => filterRootFields(type, 'Subscription', rootFieldFilter, argumentFilter),\n [MapperKind.OBJECT_TYPE]: (type) => typeFilter(type.name, type)\n ? filterElementFields(GraphQLObjectType, type, objectFieldFilter || fieldFilter, argumentFilter)\n : null,\n [MapperKind.INTERFACE_TYPE]: (type) => typeFilter(type.name, type)\n ? filterElementFields(GraphQLInterfaceType, type, interfaceFieldFilter || fieldFilter, argumentFilter)\n : null,\n [MapperKind.INPUT_OBJECT_TYPE]: (type) => typeFilter(type.name, type)\n ? filterElementFields(GraphQLInputObjectType, type, inputObjectFieldFilter || fieldFilter)\n : null,\n [MapperKind.UNION_TYPE]: (type) => typeFilter(type.name, type) ? undefined : null,\n [MapperKind.ENUM_TYPE]: (type) => typeFilter(type.name, type) ? undefined : null,\n [MapperKind.SCALAR_TYPE]: (type) => typeFilter(type.name, type) ? undefined : null,\n [MapperKind.DIRECTIVE]: directive => directiveFilter && !directiveFilter(directive.name, directive) ? null : undefined,\n [MapperKind.ENUM_VALUE]: (valueConfig, typeName, _schema, externalValue) => enumValueFilter && !enumValueFilter(typeName, externalValue, valueConfig) ? null : undefined,\n });\n return filteredSchema;\n}\nfunction filterRootFields(type, operation, rootFieldFilter, argumentFilter) {\n if (rootFieldFilter || argumentFilter) {\n const config = type.toConfig();\n for (const fieldName in config.fields) {\n const field = config.fields[fieldName];\n if (rootFieldFilter && !rootFieldFilter(operation, fieldName, config.fields[fieldName])) {\n delete config.fields[fieldName];\n }\n else if (argumentFilter && field.args) {\n for (const argName in field.args) {\n if (!argumentFilter(type.name, fieldName, argName, field.args[argName])) {\n delete field.args[argName];\n }\n }\n }\n }\n return new GraphQLObjectType(config);\n }\n return type;\n}\nfunction filterElementFields(ElementConstructor, type, fieldFilter, argumentFilter) {\n if (fieldFilter || argumentFilter) {\n const config = type.toConfig();\n for (const fieldName in config.fields) {\n const field = config.fields[fieldName];\n if (fieldFilter && !fieldFilter(type.name, fieldName, config.fields[fieldName])) {\n delete config.fields[fieldName];\n }\n else if (argumentFilter && 'args' in field) {\n for (const argName in field.args) {\n if (!argumentFilter(type.name, fieldName, argName, field.args[argName])) {\n delete field.args[argName];\n }\n }\n }\n }\n return new ElementConstructor(config);\n }\n}\n","import type { Diagnostic } from \"@codemirror/lint\";\nimport { linter } from \"@codemirror/lint\";\nimport { filterSchema } from \"@graphql-tools/utils\";\nimport type { GraphQLSchema } from \"graphql\";\nimport { GraphQLError, locatedError } from \"graphql\";\nimport { validateSDL } from \"graphql/validation/validate.js\";\nimport { safeParseSdl } from \"../../context/schema-context.js\";\n\n/* Converts a GraphQLError to a Diagnostic\n GraphQLError uses a zero-indexed line and column, but the editor uses a one-indexed line and column\n*/\nexport function convertGraphQLErrorToDiagnostic(\n error: GraphQLError,\n): Diagnostic {\n return {\n from: error.locations?.[0] ? (error.positions?.[0] ?? 0) : 0,\n to: error.locations?.[0] ? (error.positions?.[0] ?? 0) + 1 : 1,\n severity: \"error\",\n message: error.message,\n };\n}\n\n/* Creates a linter that checks the document for errors\n This works in combination with the built-in linting provided by the graphql extension\n We need to recreate this linter when the schema changes or if a custom linter is provided\n It first checks the document for linting errors\n Then it checks if the document is a valid document string\n Then it checks if the document is valid against the schema\n */\nexport function makeLinter(\n schema: GraphQLSchema,\n customLinter?: (doc: string) => Diagnostic[],\n) {\n return linter((view) => {\n const doc = view.state.doc.toString();\n let diagnostics: Diagnostic[] = [];\n\n if (customLinter) {\n diagnostics = diagnostics.concat(customLinter(doc));\n }\n\n const newDocNode = safeParseSdl(doc);\n\n if (newDocNode) {\n try {\n const currentTypeNames = new Set(\n newDocNode.definitions\n .filter((def) => \"name\" in def && def.name)\n .map((def) => (def as { name: { value: string } }).name.value),\n );\n\n // we need to filter out the existing types in the document from the schema to prevent duplicate type errors in the validation\n const filteredSchema = filterSchema({\n schema,\n typeFilter: (typeName) => !currentTypeNames.has(typeName),\n });\n\n const errors = validateSDL(newDocNode, filteredSchema)\n .map((error) => locatedError(error, newDocNode))\n .filter(\n (error, index, self) =>\n index ===\n self.findIndex(\n (e) =>\n e.message === error.message &&\n e.locations?.[0]?.line === error.locations?.[0]?.line &&\n e.locations?.[0]?.column === error.locations?.[0]?.column,\n ),\n );\n\n diagnostics = diagnostics.concat(\n errors.map(convertGraphQLErrorToDiagnostic),\n );\n } catch (error) {\n if (error instanceof GraphQLError) {\n diagnostics.push(convertGraphQLErrorToDiagnostic(error));\n }\n }\n }\n\n return diagnostics;\n });\n}\n","import type { Diagnostic } from \"@codemirror/lint\";\nimport { forceLinting } from \"@codemirror/lint\";\nimport { Compartment, EditorState } from \"@codemirror/state\";\nimport { EditorView, keymap } from \"@codemirror/view\";\nimport { useTheme } from \"@powerhousedao/reactor-browser\";\nimport { graphql } from \"cm6-graphql\";\nimport { buildSchema } from \"graphql\";\nimport { memo, useEffect, useRef } from \"react\";\nimport { ayuLight, dracula } from \"thememirror\";\nimport { useSchemaContext } from \"../../context/schema-context.js\";\nimport { baseEditorExtensions, baseKeymap } from \"./constants.js\";\nimport {\n makeFocusHandler,\n makePasteHandler,\n makeUpdateHandler,\n} from \"./factories.js\";\nimport {\n useDocumentSync,\n useEditorCleanup,\n useEditorRefs,\n useHandlerReconfiguration,\n} from \"./hooks.js\";\nimport { makeLinter } from \"./linting.js\";\n\ntype Props = {\n doc: string;\n readonly?: boolean;\n updateDocumentInModel?: (newDoc: string) => void;\n customLinter?: (doc: string) => Diagnostic[];\n};\n\nconst GraphqlEditor = memo(function GraphqlEditor(props: Props) {\n const { doc, readonly = false, updateDocumentInModel, customLinter } = props;\n const {\n editorRef,\n viewRef,\n updateListenerCompartment,\n focusHandlerCompartment,\n pasteHandlerCompartment,\n timeoutRef,\n } = useEditorRefs();\n const { theme } = useTheme();\n // GraphQL-specific refs\n const graphqlCompartment = useRef(new Compartment());\n const linterCompartment = useRef(new Compartment());\n const themeCompartment = useRef(new Compartment());\n const { sharedSchema } = useSchemaContext();\n\n useEffect(() => {\n if (!viewRef.current) {\n const schema = buildSchema(sharedSchema);\n viewRef.current = new EditorView({\n state: EditorState.create({\n doc,\n extensions: [\n ...baseEditorExtensions,\n keymap.of(baseKeymap),\n themeCompartment.current.of(theme === \"light\" ? ayuLight : dracula),\n graphqlCompartment.current.of(graphql(schema)),\n linterCompartment.current.of(makeLinter(schema, customLinter)),\n updateListenerCompartment.current.of(\n makeUpdateHandler(readonly, timeoutRef, updateDocumentInModel),\n ),\n focusHandlerCompartment.current.of(\n makeFocusHandler(readonly, timeoutRef, updateDocumentInModel),\n ),\n pasteHandlerCompartment.current.of(\n makePasteHandler(readonly, timeoutRef, updateDocumentInModel),\n ),\n EditorState.readOnly.of(readonly),\n ],\n }),\n parent: editorRef.current!,\n });\n forceLinting(viewRef.current);\n }\n }, []);\n\n useEditorCleanup(viewRef);\n\n useEffect(() => {\n if (!viewRef.current) return;\n viewRef.current.dispatch({\n effects: themeCompartment.current.reconfigure(\n theme === \"light\" ? ayuLight : dracula,\n ),\n });\n }, [theme]);\n\n /* GraphQL-specific: Reconfigures the editor when the schema changes */\n useEffect(() => {\n const view = viewRef.current;\n if (!view) return;\n\n try {\n const newSchema = buildSchema(sharedSchema);\n view.dispatch({\n effects: [\n graphqlCompartment.current.reconfigure(graphql(newSchema)),\n linterCompartment.current.reconfigure(\n makeLinter(newSchema, customLinter),\n ),\n ],\n });\n forceLinting(view);\n } catch (error) {\n console.debug(\"in schema update\", error);\n }\n }, [sharedSchema, customLinter]);\n\n useHandlerReconfiguration(\n viewRef.current,\n readonly,\n timeoutRef,\n updateDocumentInModel,\n {\n updateListener: updateListenerCompartment.current,\n focusHandler: focusHandlerCompartment.current,\n pasteHandler: pasteHandlerCompartment.current,\n },\n );\n\n useDocumentSync(viewRef.current, doc);\n\n return <div ref={editorRef} />;\n});\n\nexport default GraphqlEditor;\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"mappings":"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"}
|