soma_provider_core/
output.rs1use serde_json::Value;
2
3use crate::ProviderProgressEvent;
4
5#[derive(Debug, Clone, PartialEq)]
6pub struct ProviderOutput {
7 pub value: Value,
8 pub progress: Vec<ProviderProgressEvent>,
9}
10
11impl ProviderOutput {
12 pub fn value(value: Value) -> Self {
13 Self {
14 value,
15 progress: Vec::new(),
16 }
17 }
18
19 pub fn json(value: Value) -> Self {
20 Self::value(value)
21 }
22
23 pub fn into_value(self) -> Value {
24 self.value
25 }
26
27 #[must_use]
28 pub fn with_progress(mut self, progress: Vec<ProviderProgressEvent>) -> Self {
29 self.progress = progress;
30 self
31 }
32}