UNPKG

chimp

Version:

Your development companion for doing quality, faster.

37 lines (36 loc) 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag")); function default_1(graphqlString) { const graphqlAST = (0, graphql_tag_1.default) ` ${graphqlString} `; // @ts-ignore const foundQueries = graphqlAST.definitions.find((d) => d.name.value === 'Query'); // @ts-ignore const foundMutations = graphqlAST.definitions.find((d) => d.name.value === 'Mutation'); return { queries: foundQueries && // @ts-ignore foundQueries.fields.map((f) => ({ name: f.name.value, hasArguments: f.arguments.length > 0, variables: f.arguments.map((a) => a.name.value), })), mutations: foundMutations && // @ts-ignore foundMutations.fields.map((f) => ({ name: f.name.value, hasArguments: f.arguments.length > 0, variables: f.arguments.map((a) => a.name.value), })), typeDefinitions: graphqlAST.definitions // @ts-ignore .filter((d) => !['Mutation', 'Query', 'Subscription'].includes(d.name.value)) .filter((d) => ['ObjectTypeDefinition', 'ObjectTypeExtension'].includes(d.kind)) // @ts-ignore .map((f) => ({ name: f.name.value })), }; } exports.default = default_1;