{"version":3,"file":"mergeChunks.mjs","names":[],"sources":["../../../src/utils/mergeChunks.ts"],"sourcesContent":["export const mergeChunks = (chunks: any[]): any => {\n  if (chunks.length === 0) return {};\n\n  let result = chunks[0];\n\n  for (let i = 1; i < chunks.length; i++) {\n    result = customChunkMerge(result, chunks[i]);\n  }\n\n  return result;\n};\n\nconst customChunkMerge = (dest: any, source: any): any => {\n  if (dest === undefined || dest === null) return source;\n  if (source === undefined || source === null) return dest;\n\n  if (Array.isArray(dest) && Array.isArray(source)) {\n    const maxLength = Math.max(dest.length, source.length);\n    const result = [];\n    for (let i = 0; i < maxLength; i++) {\n      result[i] = customChunkMerge(dest[i], source[i]);\n    }\n    return result;\n  }\n\n  if (typeof dest === 'object' && typeof source === 'object') {\n    const result: any = { ...dest };\n    for (const key of Object.keys(source)) {\n      result[key] = customChunkMerge(result[key], source[key]);\n    }\n    return result;\n  }\n\n  // Primitives: if we are here, both are not null.\n  // Since chunks shouldn't overlap, we can return dest.\n  return dest;\n};\n"],"mappings":";AAAA,MAAa,eAAe,WAAuB;CACjD,IAAI,OAAO,WAAW,GAAG,OAAO,CAAC;CAEjC,IAAI,SAAS,OAAO;CAEpB,KAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KACjC,SAAS,iBAAiB,QAAQ,OAAO,EAAE;CAG7C,OAAO;AACT;AAEA,MAAM,oBAAoB,MAAW,WAAqB;CACxD,IAAI,SAAS,UAAa,SAAS,MAAM,OAAO;CAChD,IAAI,WAAW,UAAa,WAAW,MAAM,OAAO;CAEpD,IAAI,MAAM,QAAQ,IAAI,KAAK,MAAM,QAAQ,MAAM,GAAG;EAChD,MAAM,YAAY,KAAK,IAAI,KAAK,QAAQ,OAAO,MAAM;EACrD,MAAM,SAAS,CAAC;EAChB,KAAK,IAAI,IAAI,GAAG,IAAI,WAAW,KAC7B,OAAO,KAAK,iBAAiB,KAAK,IAAI,OAAO,EAAE;EAEjD,OAAO;CACT;CAEA,IAAI,OAAO,SAAS,YAAY,OAAO,WAAW,UAAU;EAC1D,MAAM,SAAc,EAAE,GAAG,KAAK;EAC9B,KAAK,MAAM,OAAO,OAAO,KAAK,MAAM,GAClC,OAAO,OAAO,iBAAiB,OAAO,MAAM,OAAO,IAAI;EAEzD,OAAO;CACT;CAIA,OAAO;AACT"}