1use timsrust_utils::{custom_error, enumerated_error};
2
3use crate::CoordinateError;
4
5custom_error!(pub SpectrumError);
6custom_error!(pub FrameError);
7custom_error!(pub PrecursorError);
8custom_error!(pub IonError);
9
10enumerated_error!(
11 pub TimsError,
12 Spectrum(SpectrumError),
13 Frame(FrameError),
14 Precursor(PrecursorError),
15 Ion(IonError),
16 SparseVec(timsrust_utils::vec::SparseVecError),
17 NDArray(timsrust_utils::ndarray::NDArrayError),
18 Coordinate(CoordinateError)
19);
20
21pub type TimsResult<T> = Result<T, TimsError>;