import { SupportedPreviewDocumentTypes } from '@/constants/common'; import { IChunk } from '@/interfaces/database/knowledge'; import { UploadFile } from 'antd'; import { v4 as uuid } from 'uuid'; export const buildChunkHighlights = ( selectedChunk: IChunk, size: { width: number; height: number }, ) => { return Array.isArray(selectedChunk?.positions) && selectedChunk.positions.every((x) => Array.isArray(x)) ? selectedChunk?.positions?.map((x) => { const boundingRect = { width: size.width, height: size.height, x1: x[1], x2: x[2], y1: x[3], y2: x[4], }; return { id: uuid(), comment: { text: '', emoji: '', }, content: { text: selectedChunk.content_with_weight }, position: { boundingRect: boundingRect, rects: [boundingRect], pageNumber: x[0], }, }; }) : []; }; export const isFileUploadDone = (file: UploadFile) => file.status === 'done'; export const getExtension = (name: string) => name?.slice(name.lastIndexOf('.') + 1).toLowerCase() ?? ''; export const isPdf = (name: string) => { return getExtension(name) === 'pdf'; }; export const getUnSupportedFilesCount = (message: string) => { return message.split('\n').length; }; export const isSupportedPreviewDocumentType = (fileExtension: string) => { return SupportedPreviewDocumentTypes.includes(fileExtension); };