All files / src/shared/lib/resources patch.ts

100% Statements 11/11
100% Branches 0/0
100% Functions 3/3
100% Lines 9/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27        30x   30x       1x   1x 3x 3x 3x     3x   1x            
import {
  CompressedProjectResources,
  WriteResourcesPatch,
} from "shared/lib/resources/types";
import { buildResourceExportBuffer } from "./save";
 
export const buildCompressedProjectResourcesPatch = (
  resources: CompressedProjectResources,
  checksums: Record<string, string>
): WriteResourcesPatch => {
  const writeBuffer = buildResourceExportBuffer(resources);
 
  const dirtyWriteBuffer = writeBuffer.filter((writeFile) => {
    const newChecksum = writeFile.checksum;
    const oldChecksum = checksums[writeFile.path];
    return newChecksum !== oldChecksum;
  });
 
  const expectedPaths = writeBuffer.map((writeFile) => writeFile.path);
 
  return {
    data: dirtyWriteBuffer,
    paths: expectedPaths,
    metadata: resources.metadata,
  };
};