>>main: initial status 0
>>main: initial buffer status <Buffer 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... 1048526 more bytes>
>>main: after status 2
>>main: after buffer status <Buffer 13 01 00 00 2f 2f 20 65 73 6c 69 6e 74 2d 64 69 73 61 62 6c 65 2d 6e 65 78 74 2d 6c 69 6e 65 20 6e 6f 2d 65 76 61 6c 0a 6d 6f 64 75 6c 65 2e 65 78 70 ... 1048526 more bytes>
main>>>: Status 2 - Header Index: 0 - Chunk Index - 4
>>> main: header 275
main>>> chunk as string <Buffer 2f 2f 20 65 73 6c 69 6e 74 2d 64 69 73 61 62 6c 65 2d 6e 65 78 74 2d 6c 69 6e 65 20 6e 6f 2d 65 76 61 6c 0a 6d 6f 64 75 6c 65 2e 65 78 70 6f 72 74 73 ... 222 more bytes>
>>> main - readidx: 280 - writeidx: 280
chunk <Buffer 2f 2f 20 65 73 6c 69 6e 74 2d 64 69 73 61 62 6c 65 2d 6e 65 78 74 2d 6c 69 6e 65 20 6e 6f 2d 65 76 61 6c 0a 6d 6f 64 75 6c 65 2e 65 78 70 6f 72 74 73 ... 222 more bytes>
playgroound>> end -  // eslint-disable-next-line no-eval
module.exports = function* ({ length, throwNext }) {
  const median = Math.floor(length / 2);
  for (let i = 0; i < length; i++) {
    if (throwNext && i === median) {
      throw new Error('Thrown error');
    }

    yield `${i}`;
  }

