UNPKG

jok

Version:

Bundle of utility functions for code generation related to nodejs and graphql

30 lines (29 loc) 1.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isKindAllowed = void 0; function default_1(type, generateDefaultFragments, graphqlTypeName) { var fieldNames = []; if (!generateDefaultFragments) { return "\n\t\tconst finishedFragment = fragment\n\t\t"; } if (type.kind === 'OBJECT' || type.kind === 'INTERFACE') { fieldNames = type.fields .filter(function (x) { return isKindAllowed(x.type); }) .map(function (x) { return "\t\t\t" + x.name; }); } return "\n\t\tconst finishedFragment = fragment || `fragment ${fragmentName} on " + graphqlTypeName + " {\n" + fieldNames.join('\n') + "\n\t\t}`\n"; } exports.default = default_1; function isKindAllowed(type) { switch (type.kind) { case 'ENUM': case 'SCALAR': return true; case 'NON_NULL': case 'LIST': return isKindAllowed(type.ofType); default: return false; } } exports.isKindAllowed = isKindAllowed;