whisky_common/data/primitives/
boolean.rs

1use crate::data::{constr0, constr1, PlutusDataJson};
2use serde_json::{json, Value};
3
4#[derive(Clone, Debug)]
5pub enum Bool {
6    True,
7    False,
8}
9
10impl Bool {
11    pub fn new(b: bool) -> Self {
12        if b {
13            Bool::True
14        } else {
15            Bool::False
16        }
17    }
18}
19
20impl PlutusDataJson for Bool {
21    fn to_json(&self) -> serde_json::Value {
22        match self {
23            Bool::True => constr1(json!([])),
24            Bool::False => constr0(json!([])),
25        }
26    }
27}
28
29pub fn bool(b: bool) -> Value {
30    if b {
31        constr1(json!([]))
32    } else {
33        constr0(json!([]))
34    }
35}