View Source Shifts.Shift behaviour (Shifts v0.0.2)
TODO
Summary
Types
@type chore_fun() :: (Shifts.ShiftResult.outputs() -> Shifts.Chore.t())
@type operation() :: {:task, Shifts.Chore.t() | chore_fun()} | {:each, [t()]} | {:each_async, [t()]} | {:run, run_fun()}
@type operation_name() :: atom()
@type run_fun() :: (Shifts.ShiftResult.outputs() -> term())
@type t() :: %Shifts.Shift{ operations: [{operation_name(), operation()}], workers: %{optional(worker_name()) => Shifts.Worker.t()} }
TODO
@type worker_name() :: atom()
Callbacks
TODO
TODO
Functions
@spec each(t(), operation_name(), Enumerable.t(), (t(), term() -> t())) :: t()
TODO
@spec each_async(t(), operation_name(), Enumerable.t(), (t(), term() -> t())) :: t()
TODO
@spec run(t(), operation_name(), run_fun()) :: t()
TODO
@spec task(t(), operation_name(), Shifts.Chore.t() | keyword() | chore_fun()) :: t()
TODO
@spec worker( worker_name(), keyword() ) :: Macro.t()
TODO