diff --git a/lib/binaryParsers.js b/lib/binaryParsers.js index c1b5b6c2..7d135386 100644 --- a/lib/binaryParsers.js +++ b/lib/binaryParsers.js @@ -33,20 +33,20 @@ var parseBits = function(data, bits, offset, callback) { } return result; -} +}; -var parseFloat = function(data, precisionBits, exponentBits) { +var parseFloatFromBits = function(data, precisionBits, exponentBits) { var bias = Math.pow(2, exponentBits - 1) - 1; var sign = parseBits(data, 1); var exponent = parseBits(data, exponentBits, 1); - if (exponent == 0) + if (exponent === 0) return 0; // parse mantissa var precisionBitsCounter = 1; var parsePrecisionBits = function(lastValue, newValue, bits) { - if (lastValue == 0) { + if (lastValue === 0) { lastValue = 1; } @@ -64,20 +64,20 @@ var parseFloat = function(data, precisionBits, exponentBits) { // special cases if (exponent == (Math.pow(2, exponentBits + 1) - 1)) { - if (mantissa == 0) { - return (sign == 0) ? Infinity : -Infinity; + if (mantissa === 0) { + return (sign === 0) ? Infinity : -Infinity; } return NaN; } // normale number - return ((sign == 0) ? 1 : -1) * Math.pow(2, exponent - bias) * mantissa; + return ((sign === 0) ? 1 : -1) * Math.pow(2, exponent - bias) * mantissa; }; var parseBool = function(value) { return (parseBits(value, 8) == 1); -} +}; var parseInt16 = function(value) { if (parseBits(value, 1) == 1) { @@ -85,7 +85,7 @@ var parseInt16 = function(value) { } return parseBits(value, 15, 1); -} +}; var parseInt32 = function(value) { if (parseBits(value, 1) == 1) { @@ -93,7 +93,7 @@ var parseInt32 = function(value) { } return parseBits(value, 31, 1); -} +}; var parseInt64 = function(value) { if (parseBits(value, 1) == 1) { @@ -101,15 +101,15 @@ var parseInt64 = function(value) { } return parseBits(value, 63, 1); -} +}; var parseFloat32 = function(value) { - return parseFloat(value, 23, 8); -} + return parseFloatFromBits(value, 23, 8); +}; var parseFloat64 = function(value) { - return parseFloat(value, 52, 11); -} + return parseFloatFromBits(value, 52, 11); +}; var parseNumeric = function(value) { var sign = parseBits(value, 16, 32); @@ -120,7 +120,7 @@ var parseNumeric = function(value) { var weight = Math.pow(10000, parseBits(value, 16, 16)); var result = 0; - var digits = new Array(); + var digits = []; var ndigits = parseBits(value, 16); for (var i = 0; i < ndigits; i++) { result += parseBits(value, 16, 64 + (16 * i)) * weight; @@ -128,15 +128,15 @@ var parseNumeric = function(value) { } var scale = Math.pow(10, parseBits(value, 16, 48)); - return ((sign == 0) ? 1 : -1) * Math.round(result * scale) / scale; -} + return ((sign === 0) ? 1 : -1) * Math.round(result * scale) / scale; +}; var parseDate = function(value) { var sign = parseBits(value, 1); var rawValue = parseBits(value, 63, 1); // discard usecs and shift from 2000 to 1970 - var result = new Date((((sign == 0) ? 1 : -1) * rawValue / 1000) + 946684800000); + var result = new Date((((sign === 0) ? 1 : -1) * rawValue / 1000) + 946684800000); // add microseconds to the date result.usec = rawValue % 1000; @@ -151,7 +151,7 @@ var parseDate = function(value) { }; return result; -} +}; var parseArray = function(value) { var dim = parseBits(value, 32); @@ -160,7 +160,7 @@ var parseArray = function(value) { var elementType = parseBits(value, 32, 64); var offset = 96; - var dims = new Array(); + var dims = []; for (var i = 0; i < dim; i++) { // parse dimension dims[i] = parseBits(value, 32, offset); @@ -168,8 +168,7 @@ var parseArray = function(value) { // ignore lower bounds offset += 32; - }; - + } var parseElement = function(elementType) { // parse content length @@ -198,7 +197,7 @@ var parseArray = function(value) { }; var parse = function(dimension, elementType) { - var array = new Array(); + var array = []; if (dimension.length > 1) { var count = dimension.shift(); @@ -214,7 +213,7 @@ var parseArray = function(value) { } return array; - } + }; return parse(dims, elementType); }; @@ -246,5 +245,5 @@ var init = function(register) { }; module.exports = { - init: init, + init: init };