temporalio_common_wasm/
lib.rs1#![warn(missing_docs)] #[allow(unused_imports)] #[macro_use]
8extern crate tracing;
9
10use std::time::Duration;
11
12mod activity_definition;
13pub mod data_converters;
14pub mod error;
15mod memo;
16mod priority;
17mod retry_policy;
18mod workflow_execution;
19pub mod protos {
20 pub use temporalio_protos::*;
23}
24pub mod search_attributes;
25pub mod worker;
26mod workflow_definition;
27
28pub use activity_definition::{ActivityDefinition, ActivityError, UntypedActivity};
29pub use memo::{Memo, MemoValue, MemoValues};
30pub use priority::Priority;
31pub use retry_policy::RetryPolicy;
32pub use search_attributes::{
33 SearchAttributeError, SearchAttributeKey, SearchAttributeUpdate, SearchAttributeValue,
34 SearchAttributes, Timestamp,
35};
36pub use worker::WorkerDeploymentVersion;
37pub use workflow_definition::{
38 HasWorkflowDefinition, QueryDefinition, SignalDefinition, UntypedWorkflow, UpdateDefinition,
39 WorkflowDefinition,
40};
41pub use workflow_execution::WorkflowExecution;
42
43#[allow(unused_macros)]
44macro_rules! dbg_panic {
45 ($($arg:tt)*) => {
46 use tracing::error;
47 error!($($arg)*);
48 debug_assert!(false, $($arg)*);
49 };
50}
51#[allow(unused_imports)]
52pub(crate) use dbg_panic;
53
54#[derive(Debug, Clone, Copy, PartialEq, Eq)]
58#[non_exhaustive]
59pub enum ActivityCloseTimeouts {
60 ScheduleToClose(Duration),
62 StartToClose(Duration),
69 ScheduleAndStartToClose {
71 schedule_to_close: Duration,
73 start_to_close: Duration,
75 },
76}
77
78impl ActivityCloseTimeouts {
79 pub fn schedule_to_close(&self) -> Option<Duration> {
82 match self {
83 ActivityCloseTimeouts::ScheduleToClose(schedule_to_close)
84 | ActivityCloseTimeouts::ScheduleAndStartToClose {
85 schedule_to_close, ..
86 } => Some(*schedule_to_close),
87 _ => None,
88 }
89 }
90
91 pub fn start_to_close(&self) -> Option<Duration> {
94 match self {
95 ActivityCloseTimeouts::StartToClose(start_to_close)
96 | ActivityCloseTimeouts::ScheduleAndStartToClose { start_to_close, .. } => {
97 Some(*start_to_close)
98 }
99 _ => None,
100 }
101 }
102}