/var/www/greso.tech/server/nsm/node_modules/pngjs/coverage/lcov-report
NameSizeModeActions
base.css54620644editdlrm
bitmapper.js.html352720644editdlrm
bitpacker.js.html269970644editdlrm
block-navigation.js21220644editdlrm
chunkstream.js.html255310644editdlrm
constants.js.html64900644editdlrm
crc.js.html73470644editdlrm
favicon.png5400644editdlrm
filter-pack.js.html237360644editdlrm
filter-parse-async.js.html55870644editdlrm
filter-parse-sync.js.html52500644editdlrm
filter-parse.js.html240040644editdlrm
format-normaliser.js.html137590644editdlrm
index.html187730644editdlrm
interlace.js.html134990644editdlrm
packer-async.js.html86100644editdlrm
packer-sync.js.html103690644editdlrm
packer.js.html190950644editdlrm
paeth-predictor.js.html47160644editdlrm
parser-async.js.html232050644editdlrm
parser-sync.js.html156030644editdlrm
parser.js.html387420644editdlrm
png-sync.js.html43090644editdlrm
png.js.html285510644editdlrm
prettify.css10600644editdlrm
prettify.js272070644editdlrm
sort-arrow-sprite.png2090644editdlrm
sorter.js44950644editdlrm
sync-inflate.js.html242340644editdlrm
sync-reader.js.html84360644editdlrm
Edit: /var/www/greso.tech/server/nsm/node_modules/pngjs/coverage/lcov-report/sync-reader.js.html (8436B)
Code coverage report for sync-reader.js

All files sync-reader.js

88.89% Statements 16/18
72.73% Branches 8/11
100% Functions 3/3
88.89% Lines 16/18

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46    1x 338x 338x     1x 9900x             1x   338x 9900x   9900x         9900x   9900x   9900x   9900x           338x       338x 13x      
"use strict";
 
let SyncReader = (module.exports = function (buffer) {
  this._buffer = buffer;
  this._reads = [];
});
 
SyncReader.prototype.read = function (length, callback) {
  this._reads.push({
    length: Math.abs(length), // if length < 0 then at most this length
    allowLess: length < 0,
    func: callback,
  });
};
 
SyncReader.prototype.process = function () {
  // as long as there is any data and read requests
  while (this._reads.length > 0 && this._buffer.length) {
    let read = this._reads[0];
 
    Eif (
      this._buffer.length &&
      (this._buffer.length >= read.length || read.allowLess)
    ) {
      // ok there is any data so that we can satisfy this request
      this._reads.shift(); // == read
 
      let buf = this._buffer;
 
      this._buffer = buf.slice(read.length);
 
      read.func.call(this, buf.slice(0, read.length));
    } else {
      break;
    }
  }
 
  Iif (this._reads.length > 0) {
    return new Error("There are some read requests waitng on finished stream");
  }
 
  if (this._buffer.length > 0) {
    return new Error("unrecognised content at end of stream");
  }
};