ragflow / web /src /utils /document-util.ts
zxsipola123456's picture
Upload 769 files
ab2ded1 verified
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);
};