The base postgresChangeFlow and broadcastFlow implementation shouldn't be outside the RealtimeChannel class as they are essentially calling internal methods. Them being inline also makes it impossible to mock.
What is the new behavior?
Basically nothing changes for the public API except the presenceChangeFlow being moved up to be a member function of RealtimeChannel. Internally, postgresChangeFlow and broadcastFlow now call a internal non-inline variant which actually implements the logic.
What kind of change does this PR introduce?
Internal refactor
What is the current behavior?
The base
postgresChangeFlow
andbroadcastFlow
implementation shouldn't be outside theRealtimeChannel
class as they are essentially calling internal methods. Them beinginline
also makes it impossible to mock.What is the new behavior?
Basically nothing changes for the public API except the
presenceChangeFlow
being moved up to be a member function ofRealtimeChannel
. Internally,postgresChangeFlow
andbroadcastFlow
now call a internal non-inline variant which actually implements the logic.