Packages
tai
0.0.10
0.0.75
0.0.74
0.0.73
0.0.72
0.0.71
0.0.70
0.0.69
0.0.68
0.0.67
0.0.66
0.0.65
0.0.64
0.0.63
0.0.62
0.0.61
0.0.60
0.0.59
0.0.58
0.0.57
0.0.56
0.0.55
0.0.54
0.0.53
0.0.52
0.0.51
0.0.50
0.0.49
0.0.48
0.0.47
0.0.46
0.0.45
0.0.44
0.0.43
0.0.42
0.0.41
0.0.40
0.0.39
0.0.38
0.0.37
0.0.36
0.0.35
0.0.34
0.0.33
0.0.32
0.0.31
0.0.30
0.0.29
0.0.28
0.0.27
0.0.26
0.0.25
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
A composable, real time, market data and trade execution toolkit
Current section
Files
Jump to
Current section
Files
lib/tai/event.ex
defmodule Tai.Event do
@type t ::
Tai.Events.AddFreeAssetBalance.t()
| Tai.Events.HydrateProducts.t()
| Tai.Events.LockAssetBalanceInsufficientFunds.t()
| Tai.Events.LockAssetBalanceOk.t()
| Tai.Events.OrderBookSnapshot.t()
| Tai.Events.SubFreeAssetBalance.t()
| Tai.Events.UnlockAssetBalanceInsufficientFunds.t()
| Tai.Events.UnlockAssetBalanceOk.t()
| Tai.Events.UpsertAssetBalance.t()
| map
@spec encode!(event :: t) :: iodata | no_return
def encode!(event) when is_map(event) do
%{
type: event |> extract_type,
data: event |> Tai.LogEvent.to_data()
}
|> Poison.encode!()
end
defp extract_type(event) do
event
|> Map.fetch!(:__struct__)
|> Atom.to_string()
|> String.replace("Elixir.", "")
|> String.replace("Tai.Events.", "Tai.")
end
end