All files / src/datasources/local/cad loadLocalFileMap.ts

100% Statements 14/14
100% Branches 2/2
100% Functions 4/4
100% Lines 12/12

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            2x 2x 2x 1x   1x 4x 1x 1x 13x 4x 4x   1x    
/*!
 * Copyright 2020 Cognite AS
 */
 
export type FileIdToFilenameMap = Map<number, string>;
 
export async function loadLocalFileMap(sectorsFilesUrl: string): Promise<FileIdToFilenameMap> {
  const res = await fetch(sectorsFilesUrl);
  if (!res.ok) {
    throw new Error(`Could not fetch ${sectorsFilesUrl}, got ${res.status}`);
  }
  const content = await res.text();
  const lines = content.split('\n').filter(line => line.length > 0);
  const fileMap = new Map<number, string>();
  lines.forEach(line => {
    const [fileIdStr, name] = line.split('\t').filter(x => x.trim() !== '');
    const fileId = parseInt(fileIdStr, 10);
    fileMap.set(fileId, name.trim());
  });
  return fileMap;
}