//public sealed class EventSelector<TRecieve, TStart, TParent> //{ // private readonly RunSelector<TRecieve, TStart, TParent> _selector; // public EventSelector(RunSelector<TRecieve, TStart, TParent> selector) => _selector = selector; // public EventRecieve<TNew, TStart, TParent> For<TNew>(IActorRef target) // => new EventRecieve<TNew, TStart, TParent>(_selector.Flow, target); //} public static EventRecieve <TRecieve, TStart> Event <TRecieve, TStart>(this RunSelector <TRecieve, TStart> selector, IActorRef target) => new EventRecieve <TRecieve, TStart>(selector.Flow, target);
public static EventSourceTargetSelector <TRespond, TStart> EventSource <TRecieve, TStart, TRespond>(this RunSelector <TRecieve, TStart> selector, IEventSource <TRespond> source) => new EventSourceTargetSelector <TRespond, TStart>(selector.Flow, source);
public MutateClass(TMutator mutator, RunSelector <TRecieve, TStart> selector) { _mutator = mutator; _selector = selector; }
public static MutateClass <TRecieve, TStart, TMutator> Mutate <TRecieve, TStart, TMutator>( this RunSelector <TRecieve, TStart> selector, TMutator mutator) => new MutateClass <TRecieve, TStart, TMutator>(mutator, selector);