jok
Version:
Bundle of utility functions for code generation related to nodejs and graphql
30 lines (29 loc) • 1.03 kB
JavaScript
;
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;