package Ġcom . example . presentation . di Ċ Ċ import Ġcom . example . data . network . admin . Admin Api Ċ import Ġcom . example . data . network . common . Common Api Ċ import Ġcom . example . data . network . user . User Api Ċ import Ġcom . example . data . repository . admin . Admin DataSource Impl Ċ import Ġcom . example . data . repository . common . Common DataSource Impl Ċ import Ġcom . example . data . repository . user . User DataSource Impl Ċ import Ġcom . example . data . utils . DataStore Manager Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . h ilt . Install In Ċ import Ġdagger . h ilt . components . Singleton Component Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Module Ċ @ Install In ( Singleton Component :: class ) Ċ object ĠDataSource Module Ġ{ ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides Admin DataSource ( service : ĠAdmin Api ) Ġ= ĊĠĠĠĠĠĠĠ ĠAdmin DataSource Impl ( service ) ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovides User DataSource ( service : ĠUser Api ) Ġ= ĊĠĠĠĠĠĠĠ ĠUser DataSource Impl ( service ) ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovides Common DataSource ( service : ĠCommon Api , dataSource : ĠData Store Manager ) Ġ= ĊĠĠĠĠĠĠĠ ĠCommon DataSource Impl ( service , dataSource ) Ċ }