Coverage Report

Created: 2026-01-04 13:37

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/home/runner/work/feoxdb/feoxdb/src/utils/json_patch.rs
Line
Count
Source
1
use crate::error::{FeoxError, Result};
2
use json_patch::Patch;
3
use serde_json::Value;
4
5
14
pub fn apply_json_patch(document: &[u8], patch: &[u8]) -> Result<Vec<u8>> {
6
14
    let 
mut doc12
:
Value12
= serde_json::from_slice(document)
7
14
        .map_err(|e| FeoxError::JsonPatchError(
format!2
(
"Invalid JSON document: {}"2
, e)))
?2
;
8
9
12
    let 
patch11
:
Patch11
= serde_json::from_slice(patch)
10
12
        .map_err(|e| FeoxError::JsonPatchError(
format!1
(
"Invalid patch: {}"1
, e)))
?1
;
11
12
11
    json_patch::patch(&mut doc, &patch)
13
11
        .map_err(|e| FeoxError::JsonPatchError(
format!2
(
"Patch failed: {}"2
, e)))
?2
;
14
15
9
    serde_json::to_vec(&doc)
16
9
        .map_err(|e| FeoxError::JsonPatchError(
format!0
(
"Serialization failed: {}"0
, e)))
17
14
}