/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/parser-sync.js.html (15603B)
Code coverage report for parser-sync.js

All files parser-sync.js

93.33% Statements 42/45
78.57% Branches 11/14
100% Functions 8/8
93.33% Lines 42/45

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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109    1x 1x 1x 1x     1x 1x 1x 1x 1x   1x 176x               13x         165x       5x       73x       12x         147x     176x   492x     176x   176x                     176x 176x   176x 13x       163x 163x     163x 36x     127x 127x 127x         162x   162x       162x 162x   162x 162x   162x   162x 162x   162x    
"use strict";
 
let hasSyncZlib = true;
let zlib = require("zlib");
let inflateSync = require("./sync-inflate");
Iif (!zlib.deflateSync) {
  hasSyncZlib = false;
}
let SyncReader = require("./sync-reader");
let FilterSync = require("./filter-parse-sync");
let Parser = require("./parser");
let bitmapper = require("./bitmapper");
let formatNormaliser = require("./format-normaliser");
 
module.exports = function (buffer, options) {
  Iif (!hasSyncZlib) {
    throw new Error(
      "To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0"
    );
  }
 
  let err;
  function handleError(_err_) {
    err = _err_;
  }
 
  let metaData;
  function handleMetaData(_metaData_) {
    metaData = _metaData_;
  }
 
  function handleTransColor(transColor) {
    metaData.transColor = transColor;
  }
 
  function handlePalette(palette) {
    metaData.palette = palette;
  }
 
  function handleSimpleTransparency() {
    metaData.alpha = true;
  }
 
  let gamma;
  function handleGamma(_gamma_) {
    gamma = _gamma_;
  }
 
  let inflateDataList = [];
  function handleInflateData(inflatedData) {
    inflateDataList.push(inflatedData);
  }
 
  let reader = new SyncReader(buffer);
 
  let parser = new Parser(options, {
    read: reader.read.bind(reader),
    error: handleError,
    metadata: handleMetaData,
    gamma: handleGamma,
    palette: handlePalette,
    transColor: handleTransColor,
    inflateData: handleInflateData,
    simpleTransparency: handleSimpleTransparency,
  });
 
  parser.start();
  reader.process();
 
  if (err) {
    throw err;
  }
 
  //join together the inflate datas
  let inflateData = Buffer.concat(inflateDataList);
  inflateDataList.length = 0;
 
  let inflatedData;
  if (metaData.interlace) {
    inflatedData = zlib.inflateSync(inflateData);
  } else {
    let rowSize =
      ((metaData.width * metaData.bpp * metaData.depth + 7) >> 3) + 1;
    let imageSize = rowSize * metaData.height;
    inflatedData = inflateSync(inflateData, {
      chunkSize: imageSize,
      maxLength: imageSize,
    });
  }
  inflateData = null;
 
  Iif (!inflatedData || !inflatedData.length) {
    throw new Error("bad png - invalid inflate data response");
  }
 
  let unfilteredData = FilterSync.process(inflatedData, metaData);
  inflateData = null;
 
  let bitmapData = bitmapper.dataToBitMap(unfilteredData, metaData);
  unfilteredData = null;
 
  let normalisedBitmapData = formatNormaliser(bitmapData, metaData);
 
  metaData.data = normalisedBitmapData;
  metaData.gamma = gamma || 0;
 
  return metaData;
};