Coverage Report

Created: 2026-07-31 00:13

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
19
pub fn apply_json_patch(document: &[u8], patch: &[u8]) -> Result<Vec<u8>> {
6
19
    let 
mut doc17
:
Value17
= serde_json::from_slice(document)
7
19
        .map_err(|e| FeoxError::JsonPatchError(
format!2
("Invalid JSON document: {}", e)))
?2
;
8
9
17
    let 
patch16
:
Patch16
= serde_json::from_slice(patch)
10
17
        .map_err(|e| FeoxError::JsonPatchError(
format!1
("Invalid patch: {}", e)))
?1
;
11
12
16
    json_patch::patch(&mut doc, &patch)
13
16
        .map_err(|e| FeoxError::JsonPatchError(
format!2
("Patch failed: {}", e)))
?2
;
14
15
14
    serde_json::to_vec(&doc)
16
14
        .map_err(|e| FeoxError::JsonPatchError(
format!0
("Serialization failed: {}", e)))
17
19
}