Shared
Bridge
Named-channel event bus — any module can emit or listen on any channel by string name. No shared references needed. Returns connection objects so anonymous handlers can always be cleaned up.
Import
local Bridge = RoExpress.Bridge
v2.5 rename —
Bind → On, BindOnce → Once,
Fire → Emit, UnbindAll → Clear.
Both On and Once now return a BridgeConnection so anonymous handlers are always cleanable.
events
On & Emit
Register persistent or one-shot listeners on named channels. Both return a BridgeConnection with :Disconnect() — no handler reference needed to clean up later.
Bridge.On · Bridge.Once · Bridge.Emit · Bridge.Clear · Bridge.Has
→
async
Wait & Query
Yield the current coroutine until a channel emits, a predicate is satisfied, or any one of a set of channels fires first. All temporary handlers are always cleaned up on resolve or timeout.
Bridge.Wait · Bridge.WaitUntil · Bridge.WaitFirst
→
See also
Maid | group Bridge connections for bulk cleanup · Broadcast | server → client events · Listener | client-side event subscription