package Ġde . graphql . movies . utils Ċ Ċ import Ġcom . ap ol log raph ql . apollo . A pol lo Call Ċ import Ġcom . ap ol log raph ql . apollo . A pol lo Client Ċ import Ġcom . ap ol log raph ql . apollo . api . Mutation Ċ import Ġcom . ap ol log raph ql . apollo . api . Operation Ċ import Ġcom . ap ol log raph ql . apollo . api . Query Ċ import Ġcom . ap ol log raph ql . apollo . api . Response Ċ import Ġcom . ap ol log raph ql . apollo . exception . A pol lo Exception Ċ Ċ class ĠApollo Manager ( val Ġap ollo Client : ĠApollo Client ) Ġ{ ĊĠĠĠ Ġinline Ġfun Ġ< D Ġ: ĠOperation . Data , ĠT , ĠV Ġ: ĠOperation . Variables > Ġenqueue Query ( ĊĠĠĠĠĠĠĠ Ġquery : ĠQuery < D , ĠT , ĠV >, ĊĠĠĠĠĠĠĠ Ġcross inline Ġon Response : Ġ( response : ĠResponse < T >) Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠ Ġcross inline Ġon Failure : Ġ( e : ĠApollo Exception ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġap ollo Client . query ( query ). enqueue ( object Ġ: ĠApollo Call . Callback < T >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( response : ĠResponse < T >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Response ( response ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( e : ĠApollo Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Failure ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinline Ġfun Ġ< D Ġ: ĠOperation . Data , ĠT , ĠV Ġ: ĠOperation . Variables > Ġenqueue Mutation ( ĊĠĠĠĠĠĠĠ Ġmutation : ĠMutation < D , ĠT , ĠV >, ĊĠĠĠĠĠĠĠ Ġcross inline Ġon Response : Ġ( response : ĠResponse < T >) Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠ Ġcross inline Ġon Failure : Ġ( e : ĠApollo Exception ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġap ollo Client . mutate ( mutation ). enqueue ( object Ġ: ĠApollo Call . Callback < T >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( response : ĠResponse < T >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Response ( response ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( e : ĠApollo Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Failure ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ