package Ġcom . example . note app . feature _ note . domain . use _ case Ċ Ċ import Ġcom . example . note app . feature _ note . domain . model . Note Ċ import Ġcom . example . note app . feature _ note . domain . repository . Note Repository Ċ import Ġcom . example . note app . feature _ note . domain . util . Note Order Ċ import Ġcom . example . note app . feature _ note . domain . util . Order Type Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . flow Ċ import Ġkotlinx . coroutines . flow . map Ċ Ċ class ĠGet Notes UseCase ( ĊĠĠĠ Ġprivate Ġval Ġrepository : ĠNote Repository Ċ ) Ġ{ ĊĠĠĠ Ġoperator Ġfun Ġinvoke ( ĊĠĠĠĠĠĠĠ Ġnote Order : ĠNote Order Ġ= ĠNote Order . Date ( Order Type . Descending ) ĊĠĠĠ Ġ): ĠFlow < List < Note >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . get Notes (). map Ġ{ Ġnotes Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( note Order . order Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠOrder Type . Ascending Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( note Order ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNote Order . Title Ġ-> Ġnotes . sorted By Ġ{ Ġit . title . lowercase () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNote Order . Date Ġ-> Ġnotes . sorted By Ġ{ Ġit . timestamp Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNote Order . Color Ġ-> notes . sorted By Ġ{ Ġit . color Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠOrder Type . Descending Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( note Order ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNote Order . Title Ġ-> Ġnotes . sorted By Descending Ġ{ Ġit . title . lowercase () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNote Order . Date Ġ-> Ġnotes . sorted By Descending Ġ{ Ġit . timestamp Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNote Order . Color Ġ-> notes . sorted By Descending Ġ{ Ġit . color Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }