Packages
journey
0.0.6
0.10.58
0.10.57
0.10.56
0.10.55
0.10.54
0.10.53
0.10.52
0.10.51
0.10.50
0.10.49
0.10.48
0.10.47
0.10.46
0.10.45
0.10.44
0.10.43
0.10.41
0.10.40
0.10.39
0.10.38
0.10.37
0.10.36
0.10.35
0.10.34
0.10.33
0.10.32
0.10.31
0.10.30
0.10.29
0.10.28
0.10.27
0.10.26
0.10.25
0.10.24
0.10.23
0.10.22
0.0.9
retired
0.0.8
0.0.7
0.0.6
0.0.5
0.0.3
0.0.2
Journey is a library for defining and running durable workflows with persistence, reliability, and scalability.
Current section
Files
Jump to
Current section
Files
lib/value.ex
defmodule Journey.Value do
@moduledoc """
The structure containing the value assigned to a step.
"""
@derive Jason.Encoder
@doc false
defstruct [
:name,
value: nil,
update_time: 0,
status: :not_computed
]
@typedoc """
Contains the value assigned to a process step.
## name
The name of the step associated with this value.
Example: `:first_name`.
## value
The actual value.
Example: `"Mario"`.
## update_time
The time (in Unix Epoch seconds) when the last update took place.
Example: `1615793585`.
## status
The status of this value.
Example: `:not_computed`.
"""
@type t :: %Journey.Value{
name: String.t(),
value: any(),
update_time: integer(),
status: :not_computed | :computing | :computed | :failed
}
def convert_from_string_keys(string_keyed_value) do
%Journey.Value{
name: string_keyed_value["name"] |> String.to_existing_atom(),
value: string_keyed_value["value"],
update_time: string_keyed_value["update_time"],
status: string_keyed_value["status"] |> String.to_existing_atom()
}
end
end