import { ApolloFileOperationError } from './file-operation-error'; import { FileOperationError, FILES_STACK_ERRORS, TextFileOperationError, } from '@files-stack/core'; import { MoleculerFileOperationError } from '@files-stack/hemera-files'; export function processError(err: Error | FileOperationError | TextFileOperationError | MoleculerFileOperationError) { if (FileOperationError.isFileOperationError(err)) { throw new ApolloFileOperationError(err.message, FILES_STACK_ERRORS.FILE_OPERATION_RESULT, { fileOperationResult: err.fileOperationResult }, err.options) } if (TextFileOperationError.isTextFileOperationError(err)) { throw new ApolloFileOperationError(err.message, FILES_STACK_ERRORS.FILE_OPERATION_RESULT, { textFileOperationResult: err.textFileOperationResult }, err.options) } if (ApolloFileOperationError.isMoleculerError(err)) { const { reason, ...rest } = err.data ? err.data : { reason: null, }; throw new ApolloFileOperationError(err.message, `${err.type}`, reason, rest) } throw err; }