MCPcopy Index your code
hub / github.com/InfinitiBit/graphbit / parse_encode_result

Function parse_encode_result

guardrail_ffi/src/lib.rs:330–353  ·  view source on GitHub ↗
(s: &str)

Source from the content-addressed store, hash-verified

328}
329
330fn parse_encode_result(s: &str) -> Option<EncodeResult> {
331 let v: serde_json::Value = serde_json::from_str(s).ok()?;
332 let payload = v.get("payload")?.clone();
333 let signature_injection_text = v
334 .get("signature_injection_text")
335 .and_then(|x| x.as_str())
336 .unwrap_or("")
337 .to_string();
338 let rules_applied_count = v.get("rules_applied_count")?.as_u64()? as u32;
339 let rule_names: Vec<String> = v
340 .get("rule_names")?
341 .as_array()?
342 .iter()
343 .filter_map(|x| x.as_str().map(String::from))
344 .collect();
345 let policy_name = v.get("policy_name")?.as_str()?.to_string();
346 Some(EncodeResult {
347 payload,
348 signature_injection_text,
349 rules_applied_count,
350 rule_names,
351 policy_name,
352 })
353}
354
355fn parse_decode_result(s: &str) -> Option<DecodeResult> {
356 let v: serde_json::Value = serde_json::from_str(s).ok()?;

Callers 1

encodeMethod · 0.85

Calls 3

cloneMethod · 0.80
to_stringMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected