@graphql-codegen/plugin-helpers
Version:
GraphQL Code Generator common utils and types
32 lines (31 loc) • 922 B
JavaScript
import { isListType, isNonNullType, } from 'graphql';
export 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');
}
export function isWrapperType(t) {
return isListType(t) || isNonNullType(t);
}
export function getBaseType(type) {
if (isWrapperType(type)) {
return getBaseType(type.ofType);
}
return type;
}
export function removeNonNullWrapper(type) {
return isNonNullType(type) ? type.ofType : type;
}