UNPKG

graphql-language-service-server

Version:
34 lines 1.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseDocument = exports.DEFAULT_SUPPORTED_GRAPHQL_EXTENSIONS = exports.DEFAULT_SUPPORTED_EXTENSIONS = void 0; const path_1 = require("path"); const graphql_language_service_utils_1 = require("graphql-language-service-utils"); const findGraphQLTags_1 = require("./findGraphQLTags"); exports.DEFAULT_SUPPORTED_EXTENSIONS = ['.js', '.ts', '.jsx', '.tsx']; exports.DEFAULT_SUPPORTED_GRAPHQL_EXTENSIONS = [ '.graphql', '.graphqls', '.gql', ]; function parseDocument(text, uri, fileExtensions = exports.DEFAULT_SUPPORTED_EXTENSIONS, graphQLFileExtensions = exports.DEFAULT_SUPPORTED_GRAPHQL_EXTENSIONS) { const ext = path_1.extname(uri); if (fileExtensions.some(e => e === ext)) { if (findGraphQLTags_1.DEFAULT_TAGS.some(t => t === text)) { return []; } const templates = findGraphQLTags_1.findGraphQLTags(text, ext); return templates.map(({ template, range }) => ({ query: template, range })); } if (graphQLFileExtensions.some(e => e === ext)) { const query = text; if (!query && query !== '') { return []; } const lines = query.split('\n'); const range = new graphql_language_service_utils_1.Range(new graphql_language_service_utils_1.Position(0, 0), new graphql_language_service_utils_1.Position(lines.length - 1, lines[lines.length - 1].length - 1)); return [{ query, range }]; } return [{ query: text, range: null }]; } exports.parseDocument = parseDocument; //# sourceMappingURL=parseDocument.js.map