mx_message/error.rs
1// Plasmatic MX Message Parsing Library
2// https://github.com/GoPlasmatic/MXMessage
3//
4// Copyright (c) 2025 Plasmatic
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8//
9// http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing, software
12// distributed under the License is distributed on an "AS IS" BASIS,
13// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14// See the License for the specific language governing permissions and
15// limitations under the License.
16//
17// You may obtain a copy of this library at
18// https://github.com/GoPlasmatic/MXMessage
19
20#[derive(Debug, Clone, PartialEq)]
21pub struct ValidationError {
22 pub code: u32,
23 pub message: String,
24 pub field: Option<String>,
25 pub path: Option<String>,
26}
27
28impl ValidationError {
29 pub fn new(code: u32, message: String) -> Self {
30 ValidationError {
31 code,
32 message,
33 field: None,
34 path: None,
35 }
36 }
37
38 pub fn with_field(mut self, field: String) -> Self {
39 self.field = Some(field);
40 self
41 }
42
43 pub fn with_path(mut self, path: String) -> Self {
44 self.path = Some(path);
45 self
46 }
47}