TemporalEx.Converter.Common (temporal_ex v0.2.1)

Copy Markdown

Helpers for building common Temporal protobuf types from plain Elixir values.

Summary

Functions

Converts a Google.Protobuf.Duration to seconds as a float. Returns nil for nil input.

Converts a Google.Protobuf.Timestamp to a DateTime. Returns nil for nil input.

Generates a fresh request ID suitable for Temporal RPC idempotency keys.

Builds a Temporal.Api.Taskqueue.V1.TaskQueue struct.

Converts a duration in seconds (integer or float) to a Google.Protobuf.Duration. Accepts nil, returning nil.

Builds a Temporal.Api.Common.V1.Memo from a map, encoding values using the given data converter.

Builds a Temporal.Api.Common.V1.RetryPolicy from a keyword list or map.

Builds a Temporal.Api.Common.V1.SearchAttributes from a map, encoding values using the given data converter.

Converts a DateTime to a Google.Protobuf.Timestamp. Returns nil for nil input.

Builds a Temporal.Api.Common.V1.WorkflowExecution struct.

Builds a Temporal.Api.Common.V1.WorkflowType struct.

Functions

from_duration(arg1)

Converts a Google.Protobuf.Duration to seconds as a float. Returns nil for nil input.

from_timestamp(arg1)

Converts a Google.Protobuf.Timestamp to a DateTime. Returns nil for nil input.

request_id()

@spec request_id() :: String.t()

Generates a fresh request ID suitable for Temporal RPC idempotency keys.

Returns 32 lowercase hex characters (128 bits of entropy from :crypto.strong_rand_bytes/1).

task_queue(name)

Builds a Temporal.Api.Taskqueue.V1.TaskQueue struct.

to_duration(seconds)

Converts a duration in seconds (integer or float) to a Google.Protobuf.Duration. Accepts nil, returning nil.

to_memo(map, converter)

Builds a Temporal.Api.Common.V1.Memo from a map, encoding values using the given data converter.

to_retry_policy(opts)

Builds a Temporal.Api.Common.V1.RetryPolicy from a keyword list or map.

Supported keys: :initial_interval, :backoff_coefficient, :maximum_interval, :maximum_attempts, :non_retryable_error_types.

to_search_attributes(map, converter)

Builds a Temporal.Api.Common.V1.SearchAttributes from a map, encoding values using the given data converter.

to_timestamp(dt)

Converts a DateTime to a Google.Protobuf.Timestamp. Returns nil for nil input.

workflow_execution(workflow_id, run_id \\ nil)

Builds a Temporal.Api.Common.V1.WorkflowExecution struct.

workflow_type(name)

Builds a Temporal.Api.Common.V1.WorkflowType struct.