@intlayer/chokidar
Version:
Uses chokidar to scan and build Intlayer declaration files into dictionaries based on Intlayer configuration.
27 lines (26 loc) • 939 B
JavaScript
//#region src/utils/mergeChunks.ts
const mergeChunks = (chunks) => {
if (chunks.length === 0) return {};
let result = chunks[0];
for (let i = 1; i < chunks.length; i++) result = customChunkMerge(result, chunks[i]);
return result;
};
const customChunkMerge = (dest, source) => {
if (dest === void 0 || dest === null) return source;
if (source === void 0 || source === null) return dest;
if (Array.isArray(dest) && Array.isArray(source)) {
const maxLength = Math.max(dest.length, source.length);
const result = [];
for (let i = 0; i < maxLength; i++) result[i] = customChunkMerge(dest[i], source[i]);
return result;
}
if (typeof dest === "object" && typeof source === "object") {
const result = { ...dest };
for (const key of Object.keys(source)) result[key] = customChunkMerge(result[key], source[key]);
return result;
}
return dest;
};
//#endregion
export { mergeChunks };
//# sourceMappingURL=mergeChunks.mjs.map