Files
airllm-fork-nodejs/node_modules/@octokit/plugin-paginate-graphql/dist-src/merge-responses.js
2026-02-05 15:27:49 +08:00

28 lines
834 B
JavaScript

import { findPaginatedResourcePath, get, set } from "./object-helpers.js";
const mergeResponses = (response1, response2) => {
if (Object.keys(response1).length === 0) {
return Object.assign(response1, response2);
}
const path = findPaginatedResourcePath(response1);
const nodesPath = [...path, "nodes"];
const newNodes = get(response2, nodesPath);
if (newNodes) {
set(response1, nodesPath, (values) => {
return [...values, ...newNodes];
});
}
const edgesPath = [...path, "edges"];
const newEdges = get(response2, edgesPath);
if (newEdges) {
set(response1, edgesPath, (values) => {
return [...values, ...newEdges];
});
}
const pageInfoPath = [...path, "pageInfo"];
set(response1, pageInfoPath, get(response2, pageInfoPath));
return response1;
};
export {
mergeResponses
};