import { GqlSegment } from './gql-segments/types'; export default function concatGqlSegments(segments: Array) { return segments.reduce( ( { mutation: accMutation, variables: accVariables, parameters: accParameters, }, { mutation: singleMutation, variables: singleVariables, parameters: singleParameters, }, ) => ({ mutation: `${accMutation} ${singleMutation}`, variables: { ...accVariables, ...singleVariables, }, parameters: [...accParameters, ...singleParameters], }), { mutation: '', variables: {}, parameters: [], } as GqlSegment, ); }