package Ġit . coding jam . clean weather . weather Ċ Ċ import Ġcom . coding jam . clean weather . entities . Temperature Ċ import Ġit . coding jam . clean weather . domain . Temperature Repository Ċ import Ġkotlinx . coroutines . async Ċ import Ġkotlinx . coroutines . coroutine Scope Ċ Ċ class ĠOpen Weather Temperature Repository ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġapi : ĠWeather Api Ċ ) Ġ: ĠTemperature Repository Ġ{ ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Temperature ( lat : ĠDouble , Ġlon : ĠDouble ): ĠTemperature Ġ= Ġcoroutine Scope Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġforecast Deferred Ġ= Ġasync Ġ{ Ġapi . forecast ( lat , Ġlon ) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġweather Ġ= Ġapi . current Weather ( lat , Ġlon ) ĊĠĠĠĠĠĠĠ Ġval Ġtemperature s Ġ= Ġforecast Deferred . await (). list . map Ġ{ Ġit . main Ġ} ĊĊĠĠĠĠĠĠĠ ĠTemperature ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweather . main . temp . toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemperature s . map Ġ{ Ġit . temp _ min Ġ}. min ()?. toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemperature s . map Ġ{ Ġit . temp _ max Ġ}. max ()?. toInt () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }