UNPKG

@graphql-tools/utils

Version:

Common package containing utils and types for GraphQL tools

36 lines (35 loc) 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mergeIncrementalResult = void 0; const merge_1 = require("dset/merge"); function mergeIncrementalResult({ incrementalResult, executionResult, }) { if (incrementalResult.path) { const path = ['data', ...incrementalResult.path]; executionResult.data = executionResult.data || {}; if (incrementalResult.items) { for (const item of incrementalResult.items) { (0, merge_1.dset)(executionResult, path, item); } } if (incrementalResult.data) { (0, merge_1.dset)(executionResult, ['data', ...incrementalResult.path], incrementalResult.data); } } else if (incrementalResult.data) { executionResult.data = executionResult.data || {}; Object.assign(executionResult.data, incrementalResult.data); } if (incrementalResult.errors) { executionResult.errors = executionResult.errors || []; executionResult.errors.push(...executionResult.errors); } if (incrementalResult.incremental) { incrementalResult.incremental.forEach(incrementalSubResult => { mergeIncrementalResult({ incrementalResult: incrementalSubResult, executionResult, }); }); } } exports.mergeIncrementalResult = mergeIncrementalResult;