sonic_rs/pointer/
from.rs

1use faststr::FastStr;
2
3use crate::PointerNode;
4
5impl From<usize> for PointerNode {
6    fn from(value: usize) -> Self {
7        PointerNode::Index(value)
8    }
9}
10
11impl From<&usize> for PointerNode {
12    fn from(value: &usize) -> Self {
13        PointerNode::Index(*value)
14    }
15}
16
17impl From<&str> for PointerNode {
18    fn from(value: &str) -> Self {
19        PointerNode::Key(FastStr::new(value))
20    }
21}
22
23impl From<FastStr> for PointerNode {
24    fn from(value: FastStr) -> Self {
25        PointerNode::Key(value)
26    }
27}
28
29impl From<&FastStr> for PointerNode {
30    fn from(value: &FastStr) -> Self {
31        PointerNode::Key(value.clone())
32    }
33}