title: What is the difference between emit and emitSource with LiveData ? ( as in REAL time USE-CASE )
body: <p><code>emit</code> accepts the <code>data</code> class whereas <code>emitSource</code> accepts <code>LiveData&lt;T&gt;</code> ( T -> <code>data</code> ). Considering the following example :- I have two type of calls :- </p>
  
  <pre><code>suspend fun getData(): Data // returns directly data
  </code></pre>
  
  <p>and the other one ;</p>
  
  <pre><code>suspend fun getData(): LiveData&lt;Data&gt; // returns live data instead
  </code></pre>
  
  <p>For the first case i can use:-</p>
  
  <pre><code>liveData {
     emit(LOADING)
     emit(getData())
  }
  </code></pre>
  
  <p>My question : Using the above method would solve my problem , <strong>WHY</strong> do we need <code>emitSource(liveData)</code> anyway ? </p>
  
  <blockquote>
    <p>Any good use-case for using the <code>emitSource</code> method would make it clear !</p>
  </blockquote>