jok
Version:
Bundle of utility functions for code generation related to nodejs and graphql
45 lines (44 loc) • 1.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var capitalizeFirstLetter_1 = require("../utils/capitalizeFirstLetter");
function getGraphqlTypeString(_a) {
var type = _a.type, capitalizeName = _a.capitalizeName, onlyName = _a.onlyName;
switch (type.kind) {
case 'INPUT_OBJECT':
case 'ENUM':
case 'OBJECT':
case 'INTERFACE':
case 'SCALAR':
case 'UNION':
return capitalizeName
? (0, capitalizeFirstLetter_1.default)(type.name)
: type.name;
case 'NON_NULL':
return !onlyName
? getGraphqlTypeString({
type: type.ofType,
capitalizeName: capitalizeName,
onlyName: onlyName,
}) + '!'
: getGraphqlTypeString({
type: type.ofType,
capitalizeName: capitalizeName,
onlyName: onlyName,
});
case 'LIST':
return !onlyName
? "[" + getGraphqlTypeString({
type: type.ofType,
capitalizeName: capitalizeName,
onlyName: onlyName,
}) + "]"
: getGraphqlTypeString({
type: type.ofType,
capitalizeName: capitalizeName,
onlyName: onlyName,
});
default:
throw new Error("UNKNOWN_TYPE_KIND");
}
}
exports.default = getGraphqlTypeString;