UNPKG

jok

Version:

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

45 lines (44 loc) 1.57 kB
"use strict"; 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;