package Ġio . xor um . co def or ces watcher . redux . middle wares Ċ Ċ import Ġio . xor um . co def or ces watcher . features . users . redux . requests . Source Ċ import Ġio . xor um . co def or ces watcher . features . users . redux . requests . Users Requests Ċ import Ġtw . geo things . re kotlin . Middleware Ċ import Ġtw . geo things . re kotlin . State Type Ċ Ċ interface ĠNotification Handler Ġ{ ĊĊĠĠĠ Ġfun Ġhandle ( notification Data : ĠList < Pair < String , ĠInt >>) Ċ } Ċ Ċ var Ġnotification Handler : ĠNotification Handler ? Ġ= Ġnull Ċ Ċ val Ġnotification Middleware : ĠMiddleware < State Type > Ġ= Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠ Ġ{ Ġnext Ġ-> ĊĠĠĠĠĠĠĠ Ġ{ Ġaction Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠUsers Requests . Fetch Users . Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( action . source Ġ== ĠSource . BRO ADCAST ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotification Handler ?. handle ( action . notification Data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġnext ( action ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ