Packages
Projector Middleware system for building projections from Eidetic event streams
Current section
Files
Jump to
Current section
Files
lib/bundle.ex
defmodule Eidetic.Projector.Bundle do
@moduledoc """
The data structure used to encapsulate the consumer meta information, event,
modifiers, and result of our middleware and event handler.
"""
alias Eidetic.Event
alias Eidetic.Projector.Bundle.ConsumerMeta
@type t :: %{
consumer_meta: %ConsumerMeta{},
event: %Event{} | nil,
modifiers: map(),
handler: atom() | fun() | nil,
result: {:ok | :error, any()}
}
defstruct consumer_meta: %ConsumerMeta{},
event: nil,
modifiers: %{},
handler: nil,
result: {:ok, nil}
end