/** Ċ * ĠCopyright ĠS or am its u ĠCo ., ĠLtd . ĠAll ĠRights ĠReserved . Ċ * ĠSPDX - License - Identifier : ĠGPL - 3 . 0 Ċ */ Ċ Ċ package Ġjp . co . sor am its u . common . util . ext Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mediator LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ Ċ fun Ġ< T > ĠMutable LiveData < T >. setValue If New ( newValue : ĠT ) Ġ{ ĊĠĠĠ Ġif Ġ( this . value Ġ!= ĠnewValue ) Ġvalue Ġ= ĠnewValue Ċ } Ċ Ċ fun Ġ< T > ĠMutable LiveData < T >. setValue If Empty ( newValue : ĠT ) Ġ{ ĊĠĠĠ Ġif Ġ( this . value Ġ== Ġnull ) Ġvalue Ġ= ĠnewValue Ċ } Ċ Ċ fun Ġ< T , ĠV > ĠLive Data < T >. map ( mapper : Ġ( T ) Ġ-> ĠV ): ĠLive Data < V > Ġ{ ĊĠĠĠ Ġreturn ĠMed iator LiveData < V >(). also Ġ{ Ġmedi ator Ġ-> ĊĠĠĠĠĠĠĠ Ġmedi ator . add Source ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmedi ator . value Ġ= Ġmapper . invoke ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }