def left
bendvy-ecs-core@0.1.0.4 · ordinary_owned_event_binding.bend:24
import bendvy-ecs-core@0.1.0.4/ordinary_owned_event_binding.bend as OrdinaryOwnedEventBinding
import Base
import bendvy-ecs-core@0.1.0.4/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.4/owned_event_log.bend as Log
import bendvy-ecs-core@0.1.0.4/owned_event_key_route.bend as Route
import bendvy-ecs-core@0.1.0.4/event_publication.bend as Publication
import bendvy-ecs-core@0.1.0.4/ordinary_owned_event.bend as Pub
24def left(~S:Data,~A:Type,~B:Type,~P:Type,~Rest:Type,~EA:Data,~EB:Data,~path:Product.Lens<A,Log.Log<P>,Rest>,~inject:Nat -> EA,~select:List<&2,EA> -> List<&2,Nat>,~identity:Pub.Domain<S,P>,binding:Binding<S,A,P,Rest,EA,path,inject,select,identity>) -> Binding<S,Product.Owner<A,B>,P,B & Rest,Publication.Publication<EA,EB>,left_path(~A,~B,~P,~Rest,~path),Route.inject_left(~EA,~EB,~inject),Route.select_left(~EA,~EB,~select),identity>:
25 Binding{}