package Ġcom . de pro meet . bbox x . data . repository Ċ Ċ import Ġcom . de pro meet . bbox x . data . mapper . Token Entity Mapper Ċ import Ġcom . de pro meet . bbox x . data . mapper . Token Valid Entity Mapper Ċ import Ġcom . de pro meet . bbox x . data . repository . auth sign . Auth Sign DataSource Ċ import Ġcom . de pro meet . bbox x . domain . model . Token Ċ import Ġcom . de pro meet . bbox x . domain . model . Token Valid Ċ import Ġcom . de pro meet . bbox x . domain . repository . auth . Auth Sign Repository Ċ import Ġdagger . Bind s Ċ import Ġdagger . Module Ċ import Ġdagger . h ilt . Install In Ċ import Ġdagger . h ilt . components . Singleton Component Ċ import Ġio . reactivex . rx java 3 . core . Single Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Singleton Ċ Ċ class ĠAuth Sign Repository Impl Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġauth Sign DataSource : ĠAuth Sign DataSource , ĊĠĠĠ Ġprivate Ġval Ġtoken Entity Mapper : ĠToken Entity Mapper , ĊĠĠĠ Ġprivate Ġval Ġtoken Valid Entity Mapper : ĠToken Valid Entity Mapper Ċ ) Ġ: ĠAuth Sign Repository Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġsign In ( auth Data : ĠString , Ġprovider Type : ĠString ): ĠSingle < Token > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġauth Sign DataSource . auth SignIn ( auth Data , Ġprovider Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( token Entity Mapper :: trans ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsign Up ( auth Data : ĠString , Ġnick Name : ĠString , Ġprovider Type : ĠString ): ĠSingle < Token > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġauth Sign DataSource . auth SignUp ( auth Data , Ġnick Name , Ġprovider Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( token Entity Mapper :: trans ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvalid Token ( token : ĠString ): ĠSingle < Token Valid > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġauth Sign DataSource . valid Token ( token ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( token Valid Entity Mapper :: trans ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Module Ċ @ Install In ( Singleton Component :: class ) Ċ abstract Ġclass ĠAuth Sign Repository Module Ġ{ ĊĠĠĠ Ġ@ Bind s ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġabstract Ġfun Ġbind Auth Sign Repository ( repository Impl : ĠAuth Sign Repository Impl ): ĠAuth Sign Repository Ċ }