Cizen v0.12.5 Cizen.Effect behaviour View Source
The effect behaviour.
Example
defmodule Repeat do
use Cizen.Effect
use Cizen.Effects, only: [Chain]
defstruct [:count, :effect, :pid]
@impl true
def expand(id, %__MODULE__{count: count, effect: effect, pid: pid}) do
effects =
[effect]
|> Stream.cycle()
|> Enum.take(count)
%Chain{
effects: effects
}
end
end