All files / app/src/entities/files/lib get-files-ids.ts

6.66% Statements 1/15
100% Branches 0/0
0% Functions 0/2
6.66% Lines 1/15

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    1x                                      
import { CollectionResponse } from '@tmk/ui-kit'
 
export function getFilesIds<T extends { file?: string }>(entityData?: CollectionResponse<T>): string[] {
  if (!entityData?.['hydra:member']?.length) return []
 
  const data = entityData['hydra:member']
 
  const dataFilesIRIs = (data as T[]).reduce<string[]>((acc, item) => {
    if (item.file) {
      acc.push(item.file)
      return acc
    }
    return acc
  }, [])
 
  return extractIds(dataFilesIRIs)
}
 
function extractIds(filePaths: string[]): string[] {
  return filePaths.map(path => path.split('/').pop() as string)
}