Rill v0.10.4 Rill.EntityProjection behaviour View Source

Link to this section Summary

Link to this section Functions

Link to this function

apply(projection, entity, message_data) View Source
apply(
  projection :: module(),
  entity :: term(),
  message_data ::
    %Rill.MessageStore.MessageData.Read{
      data: term(),
      global_position: term(),
      id: term(),
      metadata: term(),
      position: term(),
      stream_name: term(),
      time: term(),
      type: term()
    }
    | Enumerable.t()
) :: term()

Link to this function

apply(projection, entity, dictionary, message_data) View Source
apply(
  projection :: module(),
  entity :: term(),
  dictionary :: %Rill.Messaging.Message.Dictionary{type_names: term()},
  message_data :: %Rill.MessageStore.MessageData.Read{
    data: term(),
    global_position: term(),
    id: term(),
    metadata: term(),
    position: term(),
    stream_name: term(),
    time: term(),
    type: term()
  }
) :: term()
apply(
  projection :: module(),
  entity :: term(),
  dictionary :: %Rill.Messaging.Message.Dictionary{type_names: term()},
  msg :: struct()
) :: term()
apply(
  projection :: module(),
  entity :: term(),
  dictionary :: %Rill.Messaging.Message.Dictionary{type_names: term()},
  messages_data :: Enumerable.t()
) :: term()

Link to this section Callbacks

Link to this callback

apply(message, entity) View Source (optional)
apply(message :: struct(), entity :: term()) :: term()