package Ġdev . v eng ates hm . clean architecture mv vm notes app . feature _ note . domain . use _ case Ċ Ċ import Ġdev . v eng ates hm . clean architecture mv vm notes app . feature _ note . domain . model . Note Ċ import Ġdev . v eng ates hm . clean architecture mv vm notes app . feature _ note . domain . repository . Note Repository Ċ import Ġdev . v eng ates hm . clean architecture mv vm notes app . feature _ note . domain . util . Note Sort Ċ import Ġdev . v eng ates hm . clean architecture mv vm notes app . feature _ note . domain . util . Sort Type Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . map Ċ Ċ class ĠGet Notes ( private Ġval Ġrepository : ĠNote Repository ) Ġ{ ĊĠĠĠ Ġoperator Ġfun Ġinvoke ( note Sort : ĠNote Sort Ġ= ĠNote Sort . Date ( Sort Type . Desc )): ĠFlow < List < Note >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . get Notes (). map Ġ{ Ġnotes Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( note Sort . sort Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSort Type . Asc Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( note Sort ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNote Sort . Title Ġ-> Ġnotes . sorted By Ġ{ Ġit . title . lowercase () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNote Sort . Date Ġ-> Ġnotes . sorted By Ġ{ Ġit . timestamp Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNote Sort . Color Ġ-> Ġnotes . sorted By Ġ{ Ġit . color Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSort Type . Desc Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( note Sort ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNote Sort . Title Ġ-> Ġnotes . sorted By Descending Ġ{ Ġit . title . lowercase () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNote Sort . Date Ġ-> Ġnotes . sorted By Descending Ġ{ Ġit . timestamp Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNote Sort . Color Ġ-> Ġnotes . sorted By Descending Ġ{ Ġit . color Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }