package Ġru . sm ity uk h . jo om 2 Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Transform ations Ċ Ċ fun Ġ< T > Ġ( T ?). if Null ( action : Ġ() Ġ-> ĠUnit ): ĠT ? Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġaction () ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ fun Ġ< T > Ġ( T ?). if NotNull ( action : Ġ( T ) Ġ-> ĠUnit ): ĠT ? Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġaction ( this ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ fun Ġ< T , ĠR > ĠLive Data < T >. map ( map Function : Ġ( T ?) Ġ-> ĠR ?): ĠLive Data < R > Ġ{ ĊĠĠĠ Ġreturn ĠTransform ations . map ( this , Ġmap Function ) Ċ } Ċ Ċ fun Ġ< T , ĠR > ĠLive Data < T >. switch Map ( map Function : Ġ( T ?) Ġ-> ĠLive Data < R >? ): ĠLive Data < R > Ġ{ ĊĠĠĠ Ġreturn ĠTransform ations . switch Map ( this , Ġmap Function ) Ċ }