diff --git a/src/decoder.js b/src/decoder.js index d0c1ed57..47827379 100644 --- a/src/decoder.js +++ b/src/decoder.js @@ -23,19 +23,19 @@ */ -var Decoder={}; +let Decoder={}; Decoder.rsDecoder = new ReedSolomonDecoder(GF256.QR_CODE_FIELD); Decoder.correctErrors=function( codewordBytes, numDataCodewords) { - var numCodewords = codewordBytes.length; + let numCodewords = codewordBytes.length; // First read into an array of ints - var codewordsInts = new Array(numCodewords); - for (var i = 0; i < numCodewords; i++) + let codewordsInts = new Array(numCodewords); + for (let i = 0; i < numCodewords; i++) { codewordsInts[i] = codewordBytes[i] & 0xFF; } - var numECCodewords = codewordBytes.length - numDataCodewords; + let numECCodewords = codewordBytes.length - numDataCodewords; try { Decoder.rsDecoder.decode(codewordsInts, numECCodewords); @@ -48,7 +48,7 @@ Decoder.correctErrors=function( codewordBytes, numDataCodewords) } // Copy back into array of bytes -- only need to worry about the bytes that were data // We don't care about errors in the error-correction codewords - for (var i = 0; i < numDataCodewords; i++) + for (let i = 0; i < numDataCodewords; i++) { codewordBytes[i] = codewordsInts[i]; } @@ -56,40 +56,40 @@ Decoder.correctErrors=function( codewordBytes, numDataCodewords) Decoder.decode=function(bits) { - var parser = new BitMatrixParser(bits); - var version = parser.readVersion(); - var ecLevel = parser.readFormatInformation().ErrorCorrectionLevel; + let parser = new BitMatrixParser(bits); + let version = parser.readVersion(); + let ecLevel = parser.readFormatInformation().ErrorCorrectionLevel; // Read codewords - var codewords = parser.readCodewords(); + let codewords = parser.readCodewords(); // Separate into data blocks - var dataBlocks = DataBlock.getDataBlocks(codewords, version, ecLevel); + let dataBlocks = DataBlock.getDataBlocks(codewords, version, ecLevel); // Count total number of data bytes - var totalBytes = 0; - for (var i = 0; i < dataBlocks.length; i++) + let totalBytes = 0; + for (let i = 0; i < dataBlocks.length; i++) { totalBytes += dataBlocks[i].NumDataCodewords; } - var resultBytes = new Array(totalBytes); - var resultOffset = 0; + let resultBytes = new Array(totalBytes); + let resultOffset = 0; // Error-correct and copy data blocks together into a stream of bytes - for (var j = 0; j < dataBlocks.length; j++) + for (let j = 0; j < dataBlocks.length; j++) { - var dataBlock = dataBlocks[j]; - var codewordBytes = dataBlock.Codewords; - var numDataCodewords = dataBlock.NumDataCodewords; + let dataBlock = dataBlocks[j]; + let codewordBytes = dataBlock.Codewords; + let numDataCodewords = dataBlock.NumDataCodewords; Decoder.correctErrors(codewordBytes, numDataCodewords); - for (var i = 0; i < numDataCodewords; i++) + for (let i = 0; i < numDataCodewords; i++) { resultBytes[resultOffset++] = codewordBytes[i]; } } // Decode the contents of that stream of bytes - var reader = new QRCodeDataBlockReader(resultBytes, version.VersionNumber, ecLevel.Bits); + let reader = new QRCodeDataBlockReader(resultBytes, version.VersionNumber, ecLevel.Bits); return reader; //return DecodedBitStreamParser.decode(resultBytes, version, ecLevel); }