Skip to content

Commit 99d28ad

Browse files
committed
derive serialize and deserialize for PostfixExpression
1 parent 76966b4 commit 99d28ad

File tree

4 files changed

+8
-3
lines changed

4 files changed

+8
-3
lines changed

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ version = "0.1.0"
44
edition = "2021"
55

66
[dependencies]
7+
serde = { version = "1.0.209", features = ["derive"] }

src/enums/operator.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
#[derive(PartialEq, Copy, Clone, Debug)]
1+
use serde::{Deserialize, Serialize};
2+
3+
#[derive(PartialEq, Copy, Clone, Debug, Serialize, Deserialize)]
24
pub enum Operator {
35
And,
46
Or,

src/enums/postfix_token.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
use serde::{Deserialize, Serialize};
12
use crate::enums::operator::Operator;
23

3-
#[derive(Debug, PartialEq)]
4+
#[derive(Debug, PartialEq, Serialize, Deserialize)]
45
pub enum PostfixToken<Predicate> {
56
Operator(Operator),
67
Predicate(Predicate),

src/structs/postfix_expression.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ use crate::internals::postfix_stack_item::PostfixStackItem;
33
use crate::traits::predicate_evaluator::PredicateEvaluator;
44
use crate::{InfixExpression, InfixToken, Operator, Parenthesis};
55
use std::collections::VecDeque;
6+
use serde::{Deserialize, Serialize};
67

7-
#[derive(Debug, PartialEq)]
8+
#[derive(Debug, PartialEq, Serialize, Deserialize)]
89
pub struct PostfixExpression<Predicate> {
910
tokens: Vec<PostfixToken<Predicate>>,
1011
}

0 commit comments

Comments
 (0)