bencodex/
extensions.rs

1use crate::BNode;
2
3impl From<i64> for BNode {
4    fn from(value: i64) -> Self {
5        BNode::Integer(value)
6    }
7}
8
9impl From<String> for BNode {
10    fn from(value: String) -> Self {
11        BNode::Bytes(value.into())
12    }
13}
14
15impl From<&str> for BNode {
16    fn from(value: &str) -> Self {
17        BNode::Bytes(value.into())
18    }
19}
20
21impl From<Vec<u8>> for BNode {
22    fn from(value: Vec<u8>) -> Self {
23        BNode::Bytes(value)
24    }
25}
26
27impl From<&[u8]> for BNode {
28    fn from(value: &[u8]) -> Self {
29        BNode::Bytes(value.into())
30    }
31}
32
33impl From<Vec<BNode>> for BNode {
34    fn from(value: Vec<BNode>) -> Self {
35        BNode::List(value)
36    }
37}
38
39impl From<std::collections::BTreeMap<String, BNode>> for BNode {
40    fn from(value: std::collections::BTreeMap<String, BNode>) -> Self {
41        BNode::Dict(value)
42    }
43}