title: Javascript (ES6) iterable stream
body: <p>Is there a pattern for making a stream iterable using ES6 generators?</p>
  
  <p>See 'MakeStreamIterable' below.</p>
  
  <pre><code>import {createReadStream} from 'fs'
  
  let fileName = 'largeFile.txt'
  let readStream = createReadStream(fileName, {
    encoding: 'utf8',
    bufferSize: 1024
  })
  let myIterableAsyncStream = MakeStreamIterable(readStream)
  
  for (let data of myIterableAsyncStream) {
    let str = data.toString('utf8')
    console.log(str)
  }
  </code></pre>
  
  <p>I'm not interested in <em>co</em> or bluebird's <em>coroutine</em> or blocking with <em>deasync</em>.</p>
  
  <p>The gold is <em>MakeStreamIterable</em> should be a valid function.</p>