MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / append_field_value_range

Function append_field_value_range

nodedb-query/src/msgpack_scan/group_key.rs:83–108  ·  view source on GitHub ↗

Append a field value from a pre-resolved range.

(buf: &mut String, doc: &[u8], range: Option<(usize, usize)>)

Source from the content-addressed store, hash-verified

81
82/// Append a field value from a pre-resolved range.
83fn append_field_value_range(buf: &mut String, doc: &[u8], range: Option<(usize, usize)>) {
84 let Some((start, end)) = range else {
85 buf.push_str("null");
86 return;
87 };
88
89 if read_null(doc, start) {
90 buf.push_str("null");
91 } else if let Some(s) = read_str(doc, start) {
92 buf.push('"');
93 buf.push_str(s);
94 buf.push('"');
95 } else if let Some(n) = read_i64(doc, start) {
96 use std::fmt::Write;
97 let _ = write!(buf, "{n}");
98 } else if let Some(n) = read_f64(doc, start) {
99 use std::fmt::Write;
100 let _ = write!(buf, "{n}");
101 } else {
102 let bytes = &doc[start..end];
103 for b in bytes {
104 use std::fmt::Write;
105 let _ = write!(buf, "{b:02x}");
106 }
107 }
108}
109
110#[cfg(test)]
111mod tests {

Callers 1

build_group_key_indexedFunction · 0.85

Calls 5

read_nullFunction · 0.85
read_i64Function · 0.85
read_strFunction · 0.70
read_f64Function · 0.70
pushMethod · 0.45

Tested by

no test coverage detected