UNPKG

1.35 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.mergeIncrementalResult = void 0;
4const merge_1 = require("dset/merge");
5function mergeIncrementalResult({ incrementalResult, executionResult, }) {
6 const path = ['data', ...(incrementalResult.path ?? [])];
7 if (incrementalResult.items) {
8 for (const item of incrementalResult.items) {
9 (0, merge_1.dset)(executionResult, path, item);
10 // Increment the last path segment (the array index) to merge the next item at the next index
11 path[path.length - 1]++;
12 }
13 }
14 if (incrementalResult.data) {
15 (0, merge_1.dset)(executionResult, path, incrementalResult.data);
16 }
17 if (incrementalResult.errors) {
18 executionResult.errors = executionResult.errors || [];
19 executionResult.errors.push(...incrementalResult.errors);
20 }
21 if (incrementalResult.extensions) {
22 (0, merge_1.dset)(executionResult, 'extensions', incrementalResult.extensions);
23 }
24 if (incrementalResult.incremental) {
25 incrementalResult.incremental.forEach(incrementalSubResult => {
26 mergeIncrementalResult({
27 incrementalResult: incrementalSubResult,
28 executionResult,
29 });
30 });
31 }
32}
33exports.mergeIncrementalResult = mergeIncrementalResult;