UNPKG

1.79 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6var codemirror_1 = __importDefault(require("codemirror"));
7require("codemirror/addon/hint/show-hint");
8var graphql_language_service_1 = require("graphql-language-service");
9codemirror_1.default.registerHelper('hint', 'graphql', function (editor, options) {
10 var schema = options.schema;
11 if (!schema) {
12 return;
13 }
14 var cur = editor.getCursor();
15 var token = editor.getTokenAt(cur);
16 var tokenStart = token.type !== null && /"|\w/.test(token.string[0])
17 ? token.start
18 : token.end;
19 var position = new graphql_language_service_1.Position(cur.line, tokenStart);
20 var rawResults = (0, graphql_language_service_1.getAutocompleteSuggestions)(schema, editor.getValue(), position, token, options.externalFragments);
21 var results = {
22 list: rawResults.map(function (item) { return ({
23 text: item.label,
24 type: item.type,
25 description: item.documentation,
26 isDeprecated: item.isDeprecated,
27 deprecationReason: item.deprecationReason,
28 }); }),
29 from: { line: cur.line, ch: tokenStart },
30 to: { line: cur.line, ch: token.end },
31 };
32 if ((results === null || results === void 0 ? void 0 : results.list) && results.list.length > 0) {
33 results.from = codemirror_1.default.Pos(results.from.line, results.from.ch);
34 results.to = codemirror_1.default.Pos(results.to.line, results.to.ch);
35 codemirror_1.default.signal(editor, 'hasCompletion', editor, results, token);
36 }
37 return results;
38});
39//# sourceMappingURL=hint.js.map
\No newline at end of file