UNPKG

@graphql-codegen/plugin-helpers

Version:

GraphQL Code Generator common utils and types

38 lines (37 loc) • 1.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mergeOutputs = mergeOutputs; exports.isWrapperType = isWrapperType; exports.getBaseType = getBaseType; exports.removeNonNullWrapper = removeNonNullWrapper; const graphql_1 = require("graphql"); function mergeOutputs(content) { let mergedContent = ''; const prepend = []; const append = []; if (Array.isArray(content)) { for (const item of content) { if (typeof item === 'string') { mergedContent += item; } else { mergedContent += item.content; prepend.push(...(item.prepend || [])); append.push(...(item.append || [])); } } } return [...prepend, mergedContent, ...append].join('\n'); } function isWrapperType(t) { return (0, graphql_1.isListType)(t) || (0, graphql_1.isNonNullType)(t); } function getBaseType(type) { if (isWrapperType(type)) { return getBaseType(type.ofType); } return type; } function removeNonNullWrapper(type) { return (0, graphql_1.isNonNullType)(type) ? type.ofType : type; }