MCPcopy Index your code
hub / github.com/aiscriptdev/aiscript / serialize

Method serialize

aiscript-vm/src/lib.rs:106–131  ·  view source on GitHub ↗
(&self, serializer: S)

Source from the content-addressed store, hash-verified

104
105impl Serialize for ReturnValue {
106 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
107 where
108 S: serde::Serializer,
109 {
110 match self {
111 ReturnValue::Number(n) => serializer.serialize_f64(*n),
112 ReturnValue::Boolean(b) => serializer.serialize_bool(*b),
113 ReturnValue::String(s) => serializer.serialize_str(s),
114 ReturnValue::Array(vec) => {
115 let mut s = serializer.serialize_seq(Some(vec.len()))?;
116 for item in vec {
117 s.serialize_element(item)?;
118 }
119 s.end()
120 }
121 ReturnValue::Object(obj) | ReturnValue::Response(obj) => {
122 let mut s = serializer.serialize_map(Some(obj.len()))?;
123 for (key, value) in obj {
124 s.serialize_entry(key, value)?;
125 }
126 s.end()
127 }
128 ReturnValue::Agent(name) => serializer.serialize_str(name),
129 ReturnValue::Nil => serializer.serialize_none(),
130 }
131 }
132}
133
134impl Display for ReturnValue {

Callers

nothing calls this directly

Calls 1

lenMethod · 0.80

Tested by

no test coverage detected