diff --git a/examples/cli.js b/examples/cli.js
index 5d9e8bd5..9928d93a 100644
--- a/examples/cli.js
+++ b/examples/cli.js
@@ -1,4 +1,4 @@
-var QRCode = require('../lib')
+const QRCode = require('../lib')
QRCode.toString('yo yo yo', function (error, data) {
if (error) {
diff --git a/examples/clientsideserver.js b/examples/clientsideserver.js
index 484e3d9d..612a4643 100644
--- a/examples/clientsideserver.js
+++ b/examples/clientsideserver.js
@@ -1,12 +1,12 @@
-var express = require('express')
-var app = express()// .createServer()
-var http = require('http')
-var fs = require('fs')
-var QRCode = require('../lib')
-var canvasutil = require('canvasutil')
-var { createCanvas, loadImage } = require('canvas')
+const express = require('express')
+const app = express()// .createServer()
+const http = require('http')
+const fs = require('fs')
+const QRCode = require('../lib')
+const canvasutil = require('canvasutil')
+const { createCanvas, loadImage } = require('canvas')
-var path = require('path')
+const path = require('path')
// app.use(express.methodOverride())
// app.use(express.bodyParser())
@@ -29,12 +29,12 @@ app.get('/', function (req, res) {
})
})
-var effectHandlers = {}
+const effectHandlers = {}
app.get('/generate', function (req, res) {
- var q = req.query || {}
+ const q = req.query || {}
- var effect = q.effect || 'plain'
+ let effect = q.effect || 'plain'
if (!effectHandlers[effect]) {
effect = 'plain'
}
@@ -48,7 +48,7 @@ app.get('/generate', function (req, res) {
}
})
} else {
- var msg = error.message + '\n' + error.stack
+ const msg = error.message + '\n' + error.stack
res.header('Content-Type', 'text/plain')
res.send(msg)
console.error(msg)
@@ -72,28 +72,28 @@ effectHandlers.bacon = function (args, cb) {
}
effectHandlers.rounded = function (args, cb) {
- var canvas = createCanvas(200, 200)
+ const canvas = createCanvas(200, 200)
QRCode.toCanvas(canvas, args.text || '', function (err) {
if (err) {
cb(err, canvas)
return
}
- var tpx = new canvasutil.PixelCore()
- var luma709Only = canvasutil.conversionLib.luma709Only
- var up = []
- var down = []
- var left = []
- var right = []
- var upPx
- var downPx
- var leftPx
- var rightPx
- var r
- var t
- var l
- var d
- var corner = 0
+ const tpx = new canvasutil.PixelCore()
+ const luma709Only = canvasutil.conversionLib.luma709Only
+ const up = []
+ const down = []
+ const left = []
+ const right = []
+ let upPx
+ let downPx
+ let leftPx
+ let rightPx
+ let r
+ let t
+ let l
+ let d
+ let corner = 0
tpx.threshold = 100
@@ -166,16 +166,16 @@ effectHandlers.rounded = function (args, cb) {
}
effectHandlers.remoteImage = function (args, cb) {
- var src = args.src
- var domain
- var uri
+ let src = args.src
+ let domain
+ let uri
if (!src) {
cb(new Error('src required'), null)
} else {
if (src.indexof('://') !== -1) {
src = src.split('://').unshift()
- var parts = src.split('/')
+ const parts = src.split('/')
domain = parts.shift()
uri = parts.join('/')
@@ -187,14 +187,14 @@ effectHandlers.remoteImage = function (args, cb) {
return
}
- var options = {
+ const options = {
host: domain,
port: 80,
path: uri,
method: 'GET'
}
- var req = http.request(options, function (res) {
+ const req = http.request(options, function (res) {
if (res.statusCode < 200 || res.statusCode > 299) {
cb(new Error('http ' + res.statusCode + ' response code'), null)
return
@@ -202,7 +202,7 @@ effectHandlers.remoteImage = function (args, cb) {
res.setEncoding('utf8')
- var data = ''
+ let data = ''
res.on('data', function (chunk) {
data += chunk
console.log('BODY: ' + chunk)
@@ -223,27 +223,27 @@ effectHandlers.remoteImage = function (args, cb) {
effectHandlers.image = function (args, cb) {
loadImage(args.src || '').then((img) => {
- var convert = canvasutil.conversionLib
- var canvas = createCanvas(200, 200)
+ const convert = canvasutil.conversionLib
+ const canvas = createCanvas(200, 200)
QRCode.toCanvas(canvas, args.text || '', function (err) {
if (err) {
cb(err, false)
return
}
- var codeCtx = canvas.getContext('2d')
- var frame = codeCtx.getImageData(0, 0, canvas.width, canvas.width)
- var tpx = new canvasutil.PixelCore()
- var baconCanvas = createCanvas(canvas.width, canvas.width)
- var ctx = baconCanvas.getContext('2d')
- var topThreshold = args.darkThreshold || 25
- var bottomThreshold = args.lightThreshold || 75
+ const codeCtx = canvas.getContext('2d')
+ const frame = codeCtx.getImageData(0, 0, canvas.width, canvas.width)
+ const tpx = new canvasutil.PixelCore()
+ const baconCanvas = createCanvas(canvas.width, canvas.width)
+ const ctx = baconCanvas.getContext('2d')
+ const topThreshold = args.darkThreshold || 25
+ const bottomThreshold = args.lightThreshold || 75
tpx.threshold = 50
// scale image
- var w = canvas.width
- var h = canvas.height
+ let w = canvas.width
+ let h = canvas.height
if (img.width > img.height) {
w = w * (canvas.height / h)
@@ -256,10 +256,10 @@ effectHandlers.image = function (args, cb) {
try {
tpx.iterate(baconCanvas, function (px, i, l, pixels, w, h, pixelCore) {
- var luma = (0.2125 * px.r + 0.7154 * px.g + 0.0721 * px.b)
- var codeLuma = convert.luma709Only(frame.data[i * 4], frame.data[i * 4 + 1], frame.data[i * 4 + 2])
- var yuv
- var rgb
+ const luma = (0.2125 * px.r + 0.7154 * px.g + 0.0721 * px.b)
+ const codeLuma = convert.luma709Only(frame.data[i * 4], frame.data[i * 4 + 1], frame.data[i * 4 + 2])
+ let yuv
+ let rgb
if (codeLuma > pixelCore.threshold) {
if (luma < bottomThreshold) {
@@ -296,8 +296,8 @@ effectHandlers.image = function (args, cb) {
}
effectHandlers.plain = function (args, cb) {
- var canvas = createCanvas(200, 200)
- var text = args.text || ''
+ const canvas = createCanvas(200, 200)
+ const text = args.text || ''
QRCode.toCanvas(canvas, text || '', function (err) {
cb(err, canvas)
})
diff --git a/examples/save.js b/examples/save.js
index 90ceae5c..fa334e55 100644
--- a/examples/save.js
+++ b/examples/save.js
@@ -1,6 +1,6 @@
-var QRCode = require('../lib')
+const QRCode = require('../lib')
-var path = './tmp.png'
+const path = './tmp.png'
QRCode.toFile(path, 'life of the party bros', {
color: {
dark: '#00F', // Blue modules
diff --git a/examples/server.js b/examples/server.js
index c16df1a7..6007dba0 100644
--- a/examples/server.js
+++ b/examples/server.js
@@ -1,10 +1,10 @@
-var QRCode = require('../lib')
-var http = require('http')
+const QRCode = require('../lib')
+const http = require('http')
function testQRCode (req, res) {
res.writeHead(200, { 'Content-Type': 'text/html' })
- var jungleBook = "The moonlight was blocked out of the mouth of the cave, for Shere Khan's\n" +
+ const jungleBook = "The moonlight was blocked out of the mouth of the cave, for Shere Khan's\n" +
'great square head and shoulders were thrust into the entrance. Tabaqui,\n' +
'behind him, was squeaking: "My lord, my lord, it went in here!"\n' +
'\n' +
diff --git a/helper/to-sjis.js b/helper/to-sjis.js
index 9f44d3e5..1e31ba1a 100644
--- a/helper/to-sjis.js
+++ b/helper/to-sjis.js
@@ -1,4 +1,4 @@
-var SJIS_UTF8 = [
+const SJIS_UTF8 = [
[0x8140, ' 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈〉《》「」『』【】+-±×'],
[0x8180, '÷=≠<>'],
[0x818f, '¥$¢£%#&*@§☆★'],
@@ -89,10 +89,10 @@ var SJIS_UTF8 = [
module.exports = function toSJIS (utf8Char) {
if (!utf8Char || utf8Char === '') return
- for (var i = 0; i < SJIS_UTF8.length; i++) {
- var kanji = SJIS_UTF8[i][1]
+ for (let i = 0; i < SJIS_UTF8.length; i++) {
+ const kanji = SJIS_UTF8[i][1]
- var posIndex = kanji.indexOf(utf8Char)
+ const posIndex = kanji.indexOf(utf8Char)
if (posIndex >= 0) {
return SJIS_UTF8[i][0] + posIndex
}
diff --git a/lib/browser.js b/lib/browser.js
index 194982d5..dc8a9998 100644
--- a/lib/browser.js
+++ b/lib/browser.js
@@ -1,14 +1,14 @@
-var canPromise = require('./can-promise')
+const canPromise = require('./can-promise')
-var QRCode = require('./core/qrcode')
-var CanvasRenderer = require('./renderer/canvas')
-var SvgRenderer = require('./renderer/svg-tag.js')
+const QRCode = require('./core/qrcode')
+const CanvasRenderer = require('./renderer/canvas')
+const SvgRenderer = require('./renderer/svg-tag.js')
function renderCanvas (renderFunc, canvas, text, opts, cb) {
- var args = [].slice.call(arguments, 1)
- var argsNum = args.length
- var isLastArgCb = typeof args[argsNum - 1] === 'function'
+ const args = [].slice.call(arguments, 1)
+ const argsNum = args.length
+ const isLastArgCb = typeof args[argsNum - 1] === 'function'
if (!isLastArgCb && !canPromise()) {
throw new Error('Callback required as last argument')
@@ -50,7 +50,7 @@ function renderCanvas (renderFunc, canvas, text, opts, cb) {
return new Promise(function (resolve, reject) {
try {
- var data = QRCode.create(text, opts)
+ const data = QRCode.create(text, opts)
resolve(renderFunc(data, canvas, opts))
} catch (e) {
reject(e)
@@ -59,7 +59,7 @@ function renderCanvas (renderFunc, canvas, text, opts, cb) {
}
try {
- var data = QRCode.create(text, opts)
+ const data = QRCode.create(text, opts)
cb(null, renderFunc(data, canvas, opts))
} catch (e) {
cb(e)
diff --git a/lib/core/alignment-pattern.js b/lib/core/alignment-pattern.js
index 61c82312..63c3154e 100644
--- a/lib/core/alignment-pattern.js
+++ b/lib/core/alignment-pattern.js
@@ -8,7 +8,7 @@
* and their number depends on the symbol version.
*/
-var getSymbolSize = require('./utils').getSymbolSize
+const getSymbolSize = require('./utils').getSymbolSize
/**
* Calculate the row/column coordinates of the center module of each alignment pattern
@@ -27,12 +27,12 @@ var getSymbolSize = require('./utils').getSymbolSize
exports.getRowColCoords = function getRowColCoords (version) {
if (version === 1) return []
- var posCount = Math.floor(version / 7) + 2
- var size = getSymbolSize(version)
- var intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2
- var positions = [size - 7] // Last coord is always (size - 7)
+ const posCount = Math.floor(version / 7) + 2
+ const size = getSymbolSize(version)
+ const intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2
+ const positions = [size - 7] // Last coord is always (size - 7)
- for (var i = 1; i < posCount - 1; i++) {
+ for (let i = 1; i < posCount - 1; i++) {
positions[i] = positions[i - 1] - intervals
}
@@ -55,19 +55,19 @@ exports.getRowColCoords = function getRowColCoords (version) {
* Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns
* and are not therefore used for alignment patterns.
*
- * var pos = getPositions(7)
+ * let pos = getPositions(7)
* // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]
*
* @param {Number} version QR Code version
* @return {Array} Array of coordinates
*/
exports.getPositions = function getPositions (version) {
- var coords = []
- var pos = exports.getRowColCoords(version)
- var posLength = pos.length
+ const coords = []
+ const pos = exports.getRowColCoords(version)
+ const posLength = pos.length
- for (var i = 0; i < posLength; i++) {
- for (var j = 0; j < posLength; j++) {
+ for (let i = 0; i < posLength; i++) {
+ for (let j = 0; j < posLength; j++) {
// Skip if position is occupied by finder patterns
if ((i === 0 && j === 0) || // top-left
(i === 0 && j === posLength - 1) || // bottom-left
diff --git a/lib/core/alphanumeric-data.js b/lib/core/alphanumeric-data.js
index 351d64a4..29ddf50c 100644
--- a/lib/core/alphanumeric-data.js
+++ b/lib/core/alphanumeric-data.js
@@ -1,4 +1,4 @@
-var Mode = require('./mode')
+const Mode = require('./mode')
/**
* Array of characters available in alphanumeric mode
@@ -9,7 +9,7 @@ var Mode = require('./mode')
*
* @type {Array}
*/
-var ALPHA_NUM_CHARS = [
+const ALPHA_NUM_CHARS = [
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
@@ -34,13 +34,13 @@ AlphanumericData.prototype.getBitsLength = function getBitsLength () {
}
AlphanumericData.prototype.write = function write (bitBuffer) {
- var i
+ let i
// Input data characters are divided into groups of two characters
// and encoded as 11-bit binary codes.
for (i = 0; i + 2 <= this.data.length; i += 2) {
// The character value of the first character is multiplied by 45
- var value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45
+ let value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45
// The character value of the second digit is added to the product
value += ALPHA_NUM_CHARS.indexOf(this.data[i + 1])
diff --git a/lib/core/bit-buffer.js b/lib/core/bit-buffer.js
index cdb68dee..5b41d3d9 100644
--- a/lib/core/bit-buffer.js
+++ b/lib/core/bit-buffer.js
@@ -6,12 +6,12 @@ function BitBuffer () {
BitBuffer.prototype = {
get: function (index) {
- var bufIndex = Math.floor(index / 8)
+ const bufIndex = Math.floor(index / 8)
return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1
},
put: function (num, length) {
- for (var i = 0; i < length; i++) {
+ for (let i = 0; i < length; i++) {
this.putBit(((num >>> (length - i - 1)) & 1) === 1)
}
},
@@ -21,7 +21,7 @@ BitBuffer.prototype = {
},
putBit: function (bit) {
- var bufIndex = Math.floor(this.length / 8)
+ const bufIndex = Math.floor(this.length / 8)
if (this.buffer.length <= bufIndex) {
this.buffer.push(0)
}
diff --git a/lib/core/bit-matrix.js b/lib/core/bit-matrix.js
index 17ead850..439138b9 100644
--- a/lib/core/bit-matrix.js
+++ b/lib/core/bit-matrix.js
@@ -23,7 +23,7 @@ function BitMatrix (size) {
* @param {Boolean} reserved
*/
BitMatrix.prototype.set = function (row, col, value, reserved) {
- var index = row * this.size + col
+ const index = row * this.size + col
this.data[index] = value
if (reserved) this.reservedBit[index] = true
}
diff --git a/lib/core/byte-data.js b/lib/core/byte-data.js
index 48656fea..778181c9 100644
--- a/lib/core/byte-data.js
+++ b/lib/core/byte-data.js
@@ -1,5 +1,5 @@
-var encodeUtf8 = require('encode-utf8')
-var Mode = require('./mode')
+const encodeUtf8 = require('encode-utf8')
+const Mode = require('./mode')
function ByteData (data) {
this.mode = Mode.BYTE
@@ -19,7 +19,7 @@ ByteData.prototype.getBitsLength = function getBitsLength () {
}
ByteData.prototype.write = function (bitBuffer) {
- for (var i = 0, l = this.data.length; i < l; i++) {
+ for (let i = 0, l = this.data.length; i < l; i++) {
bitBuffer.put(this.data[i], 8)
}
}
diff --git a/lib/core/error-correction-code.js b/lib/core/error-correction-code.js
index bf01725e..7a4aeae9 100755
--- a/lib/core/error-correction-code.js
+++ b/lib/core/error-correction-code.js
@@ -1,6 +1,6 @@
-var ECLevel = require('./error-correction-level')
+const ECLevel = require('./error-correction-level')
-var EC_BLOCKS_TABLE = [
+const EC_BLOCKS_TABLE = [
// L M Q H
1, 1, 1, 1,
1, 1, 1, 1,
@@ -44,7 +44,7 @@ var EC_BLOCKS_TABLE = [
25, 49, 68, 81
]
-var EC_CODEWORDS_TABLE = [
+const EC_CODEWORDS_TABLE = [
// L M Q H
7, 10, 13, 17,
10, 16, 22, 28,
diff --git a/lib/core/error-correction-level.js b/lib/core/error-correction-level.js
index 9856f4f5..07433d6b 100644
--- a/lib/core/error-correction-level.js
+++ b/lib/core/error-correction-level.js
@@ -8,7 +8,7 @@ function fromString (string) {
throw new Error('Param is not a string')
}
- var lcStr = string.toLowerCase()
+ const lcStr = string.toLowerCase()
switch (lcStr) {
case 'l':
diff --git a/lib/core/finder-pattern.js b/lib/core/finder-pattern.js
index 61b2f139..4613c041 100644
--- a/lib/core/finder-pattern.js
+++ b/lib/core/finder-pattern.js
@@ -1,5 +1,5 @@
-var getSymbolSize = require('./utils').getSymbolSize
-var FINDER_PATTERN_SIZE = 7
+const getSymbolSize = require('./utils').getSymbolSize
+const FINDER_PATTERN_SIZE = 7
/**
* Returns an array containing the positions of each finder pattern.
@@ -9,7 +9,7 @@ var FINDER_PATTERN_SIZE = 7
* @return {Array} Array of coordinates
*/
exports.getPositions = function getPositions (version) {
- var size = getSymbolSize(version)
+ const size = getSymbolSize(version)
return [
// top-left
diff --git a/lib/core/format-info.js b/lib/core/format-info.js
index dd57cb6a..11fe9efa 100644
--- a/lib/core/format-info.js
+++ b/lib/core/format-info.js
@@ -1,8 +1,8 @@
-var Utils = require('./utils')
+const Utils = require('./utils')
-var G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0)
-var G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1)
-var G15_BCH = Utils.getBCHDigit(G15)
+const G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0)
+const G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1)
+const G15_BCH = Utils.getBCHDigit(G15)
/**
* Returns format information with relative error correction bits
@@ -15,8 +15,8 @@ var G15_BCH = Utils.getBCHDigit(G15)
* @return {Number} Encoded format information bits
*/
exports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {
- var data = ((errorCorrectionLevel.bit << 3) | mask)
- var d = data << 10
+ const data = ((errorCorrectionLevel.bit << 3) | mask)
+ let d = data << 10
while (Utils.getBCHDigit(d) - G15_BCH >= 0) {
d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH))
diff --git a/lib/core/galois-field.js b/lib/core/galois-field.js
index db2e6c69..8125179c 100644
--- a/lib/core/galois-field.js
+++ b/lib/core/galois-field.js
@@ -1,5 +1,5 @@
-var EXP_TABLE = new Uint8Array(512)
-var LOG_TABLE = new Uint8Array(256)
+const EXP_TABLE = new Uint8Array(512)
+const LOG_TABLE = new Uint8Array(256)
/**
* Precompute the log and anti-log tables for faster computation later
*
@@ -9,8 +9,8 @@ var LOG_TABLE = new Uint8Array(256)
* ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}
*/
;(function initTables () {
- var x = 1
- for (var i = 0; i < 255; i++) {
+ let x = 1
+ for (let i = 0; i < 255; i++) {
EXP_TABLE[i] = x
LOG_TABLE[x] = i
@@ -27,7 +27,7 @@ var LOG_TABLE = new Uint8Array(256)
// stay inside the bounds (because we will mainly use this table for the multiplication of
// two GF numbers, no more).
// @see {@link mul}
- for (i = 255; i < 512; i++) {
+ for (let i = 255; i < 512; i++) {
EXP_TABLE[i] = EXP_TABLE[i - 255]
}
}())
diff --git a/lib/core/kanji-data.js b/lib/core/kanji-data.js
index a7909f7b..a1d9a692 100644
--- a/lib/core/kanji-data.js
+++ b/lib/core/kanji-data.js
@@ -1,5 +1,5 @@
-var Mode = require('./mode')
-var Utils = require('./utils')
+const Mode = require('./mode')
+const Utils = require('./utils')
function KanjiData (data) {
this.mode = Mode.KANJI
@@ -19,13 +19,13 @@ KanjiData.prototype.getBitsLength = function getBitsLength () {
}
KanjiData.prototype.write = function (bitBuffer) {
- var i
+ let i
// In the Shift JIS system, Kanji characters are represented by a two byte combination.
// These byte values are shifted from the JIS X 0208 values.
// JIS X 0208 gives details of the shift coded representation.
for (i = 0; i < this.data.length; i++) {
- var value = Utils.toSJIS(this.data[i])
+ let value = Utils.toSJIS(this.data[i])
// For characters with Shift JIS values from 0x8140 to 0x9FFC:
if (value >= 0x8140 && value <= 0x9FFC) {
diff --git a/lib/core/mask-pattern.js b/lib/core/mask-pattern.js
index d8131e77..f5f8900e 100644
--- a/lib/core/mask-pattern.js
+++ b/lib/core/mask-pattern.js
@@ -17,7 +17,7 @@ exports.Patterns = {
* Weighted penalty scores for the undesirable features
* @type {Object}
*/
-var PenaltyScores = {
+const PenaltyScores = {
N1: 3,
N2: 3,
N3: 40,
@@ -53,19 +53,19 @@ exports.from = function from (value) {
* i is the amount by which the number of adjacent modules of the same color exceeds 5
*/
exports.getPenaltyN1 = function getPenaltyN1 (data) {
- var size = data.size
- var points = 0
- var sameCountCol = 0
- var sameCountRow = 0
- var lastCol = null
- var lastRow = null
-
- for (var row = 0; row < size; row++) {
+ const size = data.size
+ let points = 0
+ let sameCountCol = 0
+ let sameCountRow = 0
+ let lastCol = null
+ let lastRow = null
+
+ for (let row = 0; row < size; row++) {
sameCountCol = sameCountRow = 0
lastCol = lastRow = null
- for (var col = 0; col < size; col++) {
- var module = data.get(row, col)
+ for (let col = 0; col < size; col++) {
+ let module = data.get(row, col)
if (module === lastCol) {
sameCountCol++
} else {
@@ -97,12 +97,12 @@ exports.getPenaltyN1 = function getPenaltyN1 (data) {
* Points: N2 * (m - 1) * (n - 1)
*/
exports.getPenaltyN2 = function getPenaltyN2 (data) {
- var size = data.size
- var points = 0
+ const size = data.size
+ let points = 0
- for (var row = 0; row < size - 1; row++) {
- for (var col = 0; col < size - 1; col++) {
- var last = data.get(row, col) +
+ for (let row = 0; row < size - 1; row++) {
+ for (let col = 0; col < size - 1; col++) {
+ const last = data.get(row, col) +
data.get(row, col + 1) +
data.get(row + 1, col) +
data.get(row + 1, col + 1)
@@ -121,14 +121,14 @@ exports.getPenaltyN2 = function getPenaltyN2 (data) {
* Points: N3 * number of pattern found
*/
exports.getPenaltyN3 = function getPenaltyN3 (data) {
- var size = data.size
- var points = 0
- var bitsCol = 0
- var bitsRow = 0
+ const size = data.size
+ let points = 0
+ let bitsCol = 0
+ let bitsRow = 0
- for (var row = 0; row < size; row++) {
+ for (let row = 0; row < size; row++) {
bitsCol = bitsRow = 0
- for (var col = 0; col < size; col++) {
+ for (let col = 0; col < size; col++) {
bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col)
if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++
@@ -149,12 +149,12 @@ exports.getPenaltyN3 = function getPenaltyN3 (data) {
* in the symbol from 50% in steps of 5%
*/
exports.getPenaltyN4 = function getPenaltyN4 (data) {
- var darkCount = 0
- var modulesCount = data.data.length
+ let darkCount = 0
+ const modulesCount = data.data.length
- for (var i = 0; i < modulesCount; i++) darkCount += data.data[i]
+ for (let i = 0; i < modulesCount; i++) darkCount += data.data[i]
- var k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10)
+ const k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10)
return k * PenaltyScores.N4
}
@@ -189,10 +189,10 @@ function getMaskAt (maskPattern, i, j) {
* @param {BitMatrix} data BitMatrix data
*/
exports.applyMask = function applyMask (pattern, data) {
- var size = data.size
+ const size = data.size
- for (var col = 0; col < size; col++) {
- for (var row = 0; row < size; row++) {
+ for (let col = 0; col < size; col++) {
+ for (let row = 0; row < size; row++) {
if (data.isReserved(row, col)) continue
data.xor(row, col, getMaskAt(pattern, row, col))
}
@@ -206,16 +206,16 @@ exports.applyMask = function applyMask (pattern, data) {
* @return {Number} Mask pattern reference number
*/
exports.getBestMask = function getBestMask (data, setupFormatFunc) {
- var numPatterns = Object.keys(exports.Patterns).length
- var bestPattern = 0
- var lowerPenalty = Infinity
+ const numPatterns = Object.keys(exports.Patterns).length
+ let bestPattern = 0
+ let lowerPenalty = Infinity
- for (var p = 0; p < numPatterns; p++) {
+ for (let p = 0; p < numPatterns; p++) {
setupFormatFunc(p)
exports.applyMask(p, data)
// Calculate penalty
- var penalty =
+ const penalty =
exports.getPenaltyN1(data) +
exports.getPenaltyN2(data) +
exports.getPenaltyN3(data) +
diff --git a/lib/core/mode.js b/lib/core/mode.js
index 01dc5e73..fd95a6ef 100644
--- a/lib/core/mode.js
+++ b/lib/core/mode.js
@@ -1,5 +1,5 @@
-var VersionCheck = require('./version-check')
-var Regex = require('./regex')
+const VersionCheck = require('./version-check')
+const Regex = require('./regex')
/**
* Numeric mode encodes data from the decimal digit set (0 - 9)
@@ -130,7 +130,7 @@ function fromString (string) {
throw new Error('Param is not a string')
}
- var lcStr = string.toLowerCase()
+ const lcStr = string.toLowerCase()
switch (lcStr) {
case 'numeric':
diff --git a/lib/core/numeric-data.js b/lib/core/numeric-data.js
index 929a7fdd..5223991c 100644
--- a/lib/core/numeric-data.js
+++ b/lib/core/numeric-data.js
@@ -1,4 +1,4 @@
-var Mode = require('./mode')
+const Mode = require('./mode')
function NumericData (data) {
this.mode = Mode.NUMERIC
@@ -18,7 +18,7 @@ NumericData.prototype.getBitsLength = function getBitsLength () {
}
NumericData.prototype.write = function write (bitBuffer) {
- var i, group, value
+ let i, group, value
// The input data string is divided into groups of three digits,
// and each group is converted to its 10-bit binary equivalent.
@@ -31,7 +31,7 @@ NumericData.prototype.write = function write (bitBuffer) {
// If the number of input digits is not an exact multiple of three,
// the final one or two digits are converted to 4 or 7 bits respectively.
- var remainingNum = this.data.length - i
+ const remainingNum = this.data.length - i
if (remainingNum > 0) {
group = this.data.substr(i)
value = parseInt(group, 10)
diff --git a/lib/core/polynomial.js b/lib/core/polynomial.js
index 086d0e32..c6ed9c2e 100644
--- a/lib/core/polynomial.js
+++ b/lib/core/polynomial.js
@@ -1,4 +1,4 @@
-var GF = require('./galois-field')
+const GF = require('./galois-field')
/**
* Multiplies two polynomials inside Galois Field
@@ -8,10 +8,10 @@ var GF = require('./galois-field')
* @return {Uint8Array} Product of p1 and p2
*/
exports.mul = function mul (p1, p2) {
- var coeff = new Uint8Array(p1.length + p2.length - 1)
+ const coeff = new Uint8Array(p1.length + p2.length - 1)
- for (var i = 0; i < p1.length; i++) {
- for (var j = 0; j < p2.length; j++) {
+ for (let i = 0; i < p1.length; i++) {
+ for (let j = 0; j < p2.length; j++) {
coeff[i + j] ^= GF.mul(p1[i], p2[j])
}
}
@@ -27,17 +27,17 @@ exports.mul = function mul (p1, p2) {
* @return {Uint8Array} Remainder
*/
exports.mod = function mod (divident, divisor) {
- var result = new Uint8Array(divident)
+ let result = new Uint8Array(divident)
while ((result.length - divisor.length) >= 0) {
- var coeff = result[0]
+ const coeff = result[0]
- for (var i = 0; i < divisor.length; i++) {
+ for (let i = 0; i < divisor.length; i++) {
result[i] ^= GF.mul(divisor[i], coeff)
}
// remove all zeros from buffer head
- var offset = 0
+ let offset = 0
while (offset < result.length && result[offset] === 0) offset++
result = result.slice(offset)
}
@@ -53,8 +53,8 @@ exports.mod = function mod (divident, divisor) {
* @return {Uint8Array} Buffer containing polynomial coefficients
*/
exports.generateECPolynomial = function generateECPolynomial (degree) {
- var poly = new Uint8Array([1])
- for (var i = 0; i < degree; i++) {
+ let poly = new Uint8Array([1])
+ for (let i = 0; i < degree; i++) {
poly = exports.mul(poly, new Uint8Array([1, GF.exp(i)]))
}
diff --git a/lib/core/qrcode.js b/lib/core/qrcode.js
index c1c4c9e1..1ea40bed 100644
--- a/lib/core/qrcode.js
+++ b/lib/core/qrcode.js
@@ -1,17 +1,17 @@
-var Utils = require('./utils')
-var ECLevel = require('./error-correction-level')
-var BitBuffer = require('./bit-buffer')
-var BitMatrix = require('./bit-matrix')
-var AlignmentPattern = require('./alignment-pattern')
-var FinderPattern = require('./finder-pattern')
-var MaskPattern = require('./mask-pattern')
-var ECCode = require('./error-correction-code')
-var ReedSolomonEncoder = require('./reed-solomon-encoder')
-var Version = require('./version')
-var FormatInfo = require('./format-info')
-var Mode = require('./mode')
-var Segments = require('./segments')
-var isArray = require('isarray')
+const Utils = require('./utils')
+const ECLevel = require('./error-correction-level')
+const BitBuffer = require('./bit-buffer')
+const BitMatrix = require('./bit-matrix')
+const AlignmentPattern = require('./alignment-pattern')
+const FinderPattern = require('./finder-pattern')
+const MaskPattern = require('./mask-pattern')
+const ECCode = require('./error-correction-code')
+const ReedSolomonEncoder = require('./reed-solomon-encoder')
+const Version = require('./version')
+const FormatInfo = require('./format-info')
+const Mode = require('./mode')
+const Segments = require('./segments')
+const isArray = require('isarray')
/**
* QRCode for JavaScript
@@ -46,17 +46,17 @@ var isArray = require('isarray')
* @param {Number} version QR Code version
*/
function setupFinderPattern (matrix, version) {
- var size = matrix.size
- var pos = FinderPattern.getPositions(version)
+ const size = matrix.size
+ const pos = FinderPattern.getPositions(version)
- for (var i = 0; i < pos.length; i++) {
- var row = pos[i][0]
- var col = pos[i][1]
+ for (let i = 0; i < pos.length; i++) {
+ const row = pos[i][0]
+ const col = pos[i][1]
- for (var r = -1; r <= 7; r++) {
+ for (let r = -1; r <= 7; r++) {
if (row + r <= -1 || size <= row + r) continue
- for (var c = -1; c <= 7; c++) {
+ for (let c = -1; c <= 7; c++) {
if (col + c <= -1 || size <= col + c) continue
if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||
@@ -79,10 +79,10 @@ function setupFinderPattern (matrix, version) {
* @param {BitMatrix} matrix Modules matrix
*/
function setupTimingPattern (matrix) {
- var size = matrix.size
+ const size = matrix.size
- for (var r = 8; r < size - 8; r++) {
- var value = r % 2 === 0
+ for (let r = 8; r < size - 8; r++) {
+ const value = r % 2 === 0
matrix.set(r, 6, value, true)
matrix.set(6, r, value, true)
}
@@ -97,14 +97,14 @@ function setupTimingPattern (matrix) {
* @param {Number} version QR Code version
*/
function setupAlignmentPattern (matrix, version) {
- var pos = AlignmentPattern.getPositions(version)
+ const pos = AlignmentPattern.getPositions(version)
- for (var i = 0; i < pos.length; i++) {
- var row = pos[i][0]
- var col = pos[i][1]
+ for (let i = 0; i < pos.length; i++) {
+ const row = pos[i][0]
+ const col = pos[i][1]
- for (var r = -2; r <= 2; r++) {
- for (var c = -2; c <= 2; c++) {
+ for (let r = -2; r <= 2; r++) {
+ for (let c = -2; c <= 2; c++) {
if (r === -2 || r === 2 || c === -2 || c === 2 ||
(r === 0 && c === 0)) {
matrix.set(row + r, col + c, true, true)
@@ -123,11 +123,11 @@ function setupAlignmentPattern (matrix, version) {
* @param {Number} version QR Code version
*/
function setupVersionInfo (matrix, version) {
- var size = matrix.size
- var bits = Version.getEncodedBits(version)
- var row, col, mod
+ const size = matrix.size
+ const bits = Version.getEncodedBits(version)
+ let row, col, mod
- for (var i = 0; i < 18; i++) {
+ for (let i = 0; i < 18; i++) {
row = Math.floor(i / 3)
col = i % 3 + size - 8 - 3
mod = ((bits >> i) & 1) === 1
@@ -145,9 +145,9 @@ function setupVersionInfo (matrix, version) {
* @param {Number} maskPattern Mask pattern reference value
*/
function setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {
- var size = matrix.size
- var bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern)
- var i, mod
+ const size = matrix.size
+ const bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern)
+ let i, mod
for (i = 0; i < 15; i++) {
mod = ((bits >> i) & 1) === 1
@@ -182,19 +182,19 @@ function setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {
* @param {Uint8Array} data Data codewords
*/
function setupData (matrix, data) {
- var size = matrix.size
- var inc = -1
- var row = size - 1
- var bitIndex = 7
- var byteIndex = 0
+ const size = matrix.size
+ let inc = -1
+ let row = size - 1
+ let bitIndex = 7
+ let byteIndex = 0
- for (var col = size - 1; col > 0; col -= 2) {
+ for (let col = size - 1; col > 0; col -= 2) {
if (col === 6) col--
while (true) {
- for (var c = 0; c < 2; c++) {
+ for (let c = 0; c < 2; c++) {
if (!matrix.isReserved(row, col - c)) {
- var dark = false
+ let dark = false
if (byteIndex < data.length) {
dark = (((data[byteIndex] >>> bitIndex) & 1) === 1)
@@ -231,7 +231,7 @@ function setupData (matrix, data) {
*/
function createData (version, errorCorrectionLevel, segments) {
// Prepare data buffer
- var buffer = new BitBuffer()
+ const buffer = new BitBuffer()
segments.forEach(function (data) {
// prefix data with mode indicator (4 bits)
@@ -251,9 +251,9 @@ function createData (version, errorCorrectionLevel, segments) {
})
// Calculate required number of bits
- var totalCodewords = Utils.getSymbolTotalCodewords(version)
- var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)
- var dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8
+ const totalCodewords = Utils.getSymbolTotalCodewords(version)
+ const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)
+ const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8
// Add a terminator.
// If the bit string is shorter than the total number of required bits,
@@ -277,8 +277,8 @@ function createData (version, errorCorrectionLevel, segments) {
// Extend the buffer to fill the data capacity of the symbol corresponding to
// the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)
// and 00010001 (0x11) alternately.
- var remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8
- for (var i = 0; i < remainingByte; i++) {
+ const remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8
+ for (let i = 0; i < remainingByte; i++) {
buffer.put(i % 2 ? 0x11 : 0xEC, 8)
}
@@ -296,41 +296,41 @@ function createData (version, errorCorrectionLevel, segments) {
*/
function createCodewords (bitBuffer, version, errorCorrectionLevel) {
// Total codewords for this QR code version (Data + Error correction)
- var totalCodewords = Utils.getSymbolTotalCodewords(version)
+ const totalCodewords = Utils.getSymbolTotalCodewords(version)
// Total number of error correction codewords
- var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)
+ const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)
// Total number of data codewords
- var dataTotalCodewords = totalCodewords - ecTotalCodewords
+ const dataTotalCodewords = totalCodewords - ecTotalCodewords
// Total number of blocks
- var ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel)
+ const ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel)
// Calculate how many blocks each group should contain
- var blocksInGroup2 = totalCodewords % ecTotalBlocks
- var blocksInGroup1 = ecTotalBlocks - blocksInGroup2
+ const blocksInGroup2 = totalCodewords % ecTotalBlocks
+ const blocksInGroup1 = ecTotalBlocks - blocksInGroup2
- var totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks)
+ const totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks)
- var dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks)
- var dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1
+ const dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks)
+ const dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1
// Number of EC codewords is the same for both groups
- var ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1
+ const ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1
// Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount
- var rs = new ReedSolomonEncoder(ecCount)
+ const rs = new ReedSolomonEncoder(ecCount)
- var offset = 0
- var dcData = new Array(ecTotalBlocks)
- var ecData = new Array(ecTotalBlocks)
- var maxDataSize = 0
- var buffer = new Uint8Array(bitBuffer.buffer)
+ let offset = 0
+ const dcData = new Array(ecTotalBlocks)
+ const ecData = new Array(ecTotalBlocks)
+ let maxDataSize = 0
+ const buffer = new Uint8Array(bitBuffer.buffer)
// Divide the buffer into the required number of blocks
- for (var b = 0; b < ecTotalBlocks; b++) {
- var dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2
+ for (let b = 0; b < ecTotalBlocks; b++) {
+ const dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2
// extract a block of data from buffer
dcData[b] = buffer.slice(offset, offset + dataSize)
@@ -344,9 +344,9 @@ function createCodewords (bitBuffer, version, errorCorrectionLevel) {
// Create final data
// Interleave the data and error correction codewords from each block
- var data = new Uint8Array(totalCodewords)
- var index = 0
- var i, r
+ const data = new Uint8Array(totalCodewords)
+ let index = 0
+ let i, r
// Add data codewords
for (i = 0; i < maxDataSize; i++) {
@@ -377,15 +377,15 @@ function createCodewords (bitBuffer, version, errorCorrectionLevel) {
* @return {Object} Object containing symbol data
*/
function createSymbol (data, version, errorCorrectionLevel, maskPattern) {
- var segments
+ let segments
if (isArray(data)) {
segments = Segments.fromArray(data)
} else if (typeof data === 'string') {
- var estimatedVersion = version
+ let estimatedVersion = version
if (!estimatedVersion) {
- var rawSegments = Segments.rawSplit(data)
+ const rawSegments = Segments.rawSplit(data)
// Estimate best version that can contain raw splitted segments
estimatedVersion = Version.getBestVersionForData(rawSegments, errorCorrectionLevel)
@@ -399,7 +399,7 @@ function createSymbol (data, version, errorCorrectionLevel, maskPattern) {
}
// Get the min version that can contain data
- var bestVersion = Version.getBestVersionForData(segments, errorCorrectionLevel)
+ const bestVersion = Version.getBestVersionForData(segments, errorCorrectionLevel)
// If no version is found, data cannot be stored
if (!bestVersion) {
@@ -418,11 +418,11 @@ function createSymbol (data, version, errorCorrectionLevel, maskPattern) {
)
}
- var dataBits = createData(version, errorCorrectionLevel, segments)
+ const dataBits = createData(version, errorCorrectionLevel, segments)
// Allocate matrix buffer
- var moduleCount = Utils.getSymbolSize(version)
- var modules = new BitMatrix(moduleCount)
+ const moduleCount = Utils.getSymbolSize(version)
+ const modules = new BitMatrix(moduleCount)
// Add function modules
setupFinderPattern(modules, version)
@@ -477,9 +477,9 @@ exports.create = function create (data, options) {
throw new Error('No input text')
}
- var errorCorrectionLevel = ECLevel.M
- var version
- var mask
+ let errorCorrectionLevel = ECLevel.M
+ let version
+ let mask
if (typeof options !== 'undefined') {
// Use higher error correction level as default
diff --git a/lib/core/reed-solomon-encoder.js b/lib/core/reed-solomon-encoder.js
index 5fc6e9bf..c1984227 100644
--- a/lib/core/reed-solomon-encoder.js
+++ b/lib/core/reed-solomon-encoder.js
@@ -1,4 +1,4 @@
-var Polynomial = require('./polynomial')
+const Polynomial = require('./polynomial')
function ReedSolomonEncoder (degree) {
this.genPoly = undefined
@@ -32,19 +32,19 @@ ReedSolomonEncoder.prototype.encode = function encode (data) {
// Calculate EC for this data block
// extends data size to data+genPoly size
- var paddedData = new Uint8Array(data.length + this.degree)
+ const paddedData = new Uint8Array(data.length + this.degree)
paddedData.set(data)
// The error correction codewords are the remainder after dividing the data codewords
// by a generator polynomial
- var remainder = Polynomial.mod(paddedData, this.genPoly)
+ const remainder = Polynomial.mod(paddedData, this.genPoly)
// return EC data blocks (last n byte, where n is the degree of genPoly)
// If coefficients number in remainder are less than genPoly degree,
// pad with 0s to the left to reach the needed number of coefficients
- var start = this.degree - remainder.length
+ const start = this.degree - remainder.length
if (start > 0) {
- var buff = new Uint8Array(this.degree)
+ const buff = new Uint8Array(this.degree)
buff.set(remainder, start)
return buff
diff --git a/lib/core/regex.js b/lib/core/regex.js
index f68bed9a..9dd13a42 100644
--- a/lib/core/regex.js
+++ b/lib/core/regex.js
@@ -1,12 +1,12 @@
-var numeric = '[0-9]+'
-var alphanumeric = '[A-Z $%*+\\-./:]+'
-var kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +
+const numeric = '[0-9]+'
+const alphanumeric = '[A-Z $%*+\\-./:]+'
+let kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +
'[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +
'[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +
'[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+'
kanji = kanji.replace(/u/g, '\\u')
-var byte = '(?:(?![A-Z0-9 $%*+\\-./:]|' + kanji + ')(?:.|[\r\n]))+'
+const byte = '(?:(?![A-Z0-9 $%*+\\-./:]|' + kanji + ')(?:.|[\r\n]))+'
exports.KANJI = new RegExp(kanji, 'g')
exports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\-./:]+', 'g')
@@ -14,9 +14,9 @@ exports.BYTE = new RegExp(byte, 'g')
exports.NUMERIC = new RegExp(numeric, 'g')
exports.ALPHANUMERIC = new RegExp(alphanumeric, 'g')
-var TEST_KANJI = new RegExp('^' + kanji + '$')
-var TEST_NUMERIC = new RegExp('^' + numeric + '$')
-var TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\-./:]+$')
+const TEST_KANJI = new RegExp('^' + kanji + '$')
+const TEST_NUMERIC = new RegExp('^' + numeric + '$')
+const TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\-./:]+$')
exports.testKanji = function testKanji (str) {
return TEST_KANJI.test(str)
diff --git a/lib/core/segments.js b/lib/core/segments.js
index c9d8c4ea..ba8be178 100644
--- a/lib/core/segments.js
+++ b/lib/core/segments.js
@@ -1,11 +1,11 @@
-var Mode = require('./mode')
-var NumericData = require('./numeric-data')
-var AlphanumericData = require('./alphanumeric-data')
-var ByteData = require('./byte-data')
-var KanjiData = require('./kanji-data')
-var Regex = require('./regex')
-var Utils = require('./utils')
-var dijkstra = require('dijkstrajs')
+const Mode = require('./mode')
+const NumericData = require('./numeric-data')
+const AlphanumericData = require('./alphanumeric-data')
+const ByteData = require('./byte-data')
+const KanjiData = require('./kanji-data')
+const Regex = require('./regex')
+const Utils = require('./utils')
+const dijkstra = require('dijkstrajs')
/**
* Returns UTF8 byte length
@@ -26,8 +26,8 @@ function getStringByteLength (str) {
* @return {Array} Array of object with segments data
*/
function getSegments (regex, mode, str) {
- var segments = []
- var result
+ const segments = []
+ let result
while ((result = regex.exec(str)) !== null) {
segments.push({
@@ -49,10 +49,10 @@ function getSegments (regex, mode, str) {
* @return {Array} Array of object with segments data
*/
function getSegmentsFromString (dataStr) {
- var numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr)
- var alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr)
- var byteSegs
- var kanjiSegs
+ const numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr)
+ const alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr)
+ let byteSegs
+ let kanjiSegs
if (Utils.isKanjiModeEnabled()) {
byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr)
@@ -62,7 +62,7 @@ function getSegmentsFromString (dataStr) {
kanjiSegs = []
}
- var segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs)
+ const segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs)
return segs
.sort(function (s1, s2) {
@@ -106,7 +106,7 @@ function getSegmentBitsLength (length, mode) {
*/
function mergeSegments (segs) {
return segs.reduce(function (acc, curr) {
- var prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null
+ const prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null
if (prevSeg && prevSeg.mode === curr.mode) {
acc[acc.length - 1].data += curr.data
return acc
@@ -134,9 +134,9 @@ function mergeSegments (segs) {
* @return {Array} Array of object with segments data
*/
function buildNodes (segs) {
- var nodes = []
- for (var i = 0; i < segs.length; i++) {
- var seg = segs[i]
+ const nodes = []
+ for (let i = 0; i < segs.length; i++) {
+ const seg = segs[i]
switch (seg.mode) {
case Mode.NUMERIC:
@@ -178,24 +178,24 @@ function buildNodes (segs) {
* @return {Object} Graph of all possible segments
*/
function buildGraph (nodes, version) {
- var table = {}
- var graph = { start: {} }
- var prevNodeIds = ['start']
+ const table = {}
+ const graph = { start: {} }
+ let prevNodeIds = ['start']
- for (var i = 0; i < nodes.length; i++) {
- var nodeGroup = nodes[i]
- var currentNodeIds = []
+ for (let i = 0; i < nodes.length; i++) {
+ const nodeGroup = nodes[i]
+ const currentNodeIds = []
- for (var j = 0; j < nodeGroup.length; j++) {
- var node = nodeGroup[j]
- var key = '' + i + j
+ for (let j = 0; j < nodeGroup.length; j++) {
+ const node = nodeGroup[j]
+ const key = '' + i + j
currentNodeIds.push(key)
table[key] = { node: node, lastCount: 0 }
graph[key] = {}
- for (var n = 0; n < prevNodeIds.length; n++) {
- var prevNodeId = prevNodeIds[n]
+ for (let n = 0; n < prevNodeIds.length; n++) {
+ const prevNodeId = prevNodeIds[n]
if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {
graph[prevNodeId][key] =
@@ -215,7 +215,7 @@ function buildGraph (nodes, version) {
prevNodeIds = currentNodeIds
}
- for (n = 0; n < prevNodeIds.length; n++) {
+ for (let n = 0; n < prevNodeIds.length; n++) {
graph[prevNodeIds[n]].end = 0
}
@@ -231,8 +231,8 @@ function buildGraph (nodes, version) {
* @return {Segment} Segment
*/
function buildSingleSegment (data, modesHint) {
- var mode
- var bestMode = Mode.getBestModeForData(data)
+ let mode
+ const bestMode = Mode.getBestModeForData(data)
mode = Mode.from(modesHint, bestMode)
@@ -299,14 +299,14 @@ exports.fromArray = function fromArray (array) {
* @return {Array} Array of segments
*/
exports.fromString = function fromString (data, version) {
- var segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled())
+ const segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled())
- var nodes = buildNodes(segs)
- var graph = buildGraph(nodes, version)
- var path = dijkstra.find_path(graph.map, 'start', 'end')
+ const nodes = buildNodes(segs)
+ const graph = buildGraph(nodes, version)
+ const path = dijkstra.find_path(graph.map, 'start', 'end')
- var optimizedSegs = []
- for (var i = 1; i < path.length - 1; i++) {
+ const optimizedSegs = []
+ for (let i = 1; i < path.length - 1; i++) {
optimizedSegs.push(graph.table[path[i]].node)
}
diff --git a/lib/core/utils.js b/lib/core/utils.js
index 864bc8e0..8a0b87ba 100644
--- a/lib/core/utils.js
+++ b/lib/core/utils.js
@@ -1,5 +1,5 @@
-var toSJISFunction
-var CODEWORDS_COUNT = [
+let toSJISFunction
+const CODEWORDS_COUNT = [
0, // Not used
26, 44, 70, 100, 134, 172, 196, 242, 292, 346,
404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,
@@ -36,7 +36,7 @@ exports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {
* @return {Number} Encoded value
*/
exports.getBCHDigit = function (data) {
- var digit = 0
+ let digit = 0
while (data !== 0) {
digit++
diff --git a/lib/core/version.js b/lib/core/version.js
index 8baaa553..b4e7ee66 100755
--- a/lib/core/version.js
+++ b/lib/core/version.js
@@ -1,16 +1,16 @@
-var Utils = require('./utils')
-var ECCode = require('./error-correction-code')
-var ECLevel = require('./error-correction-level')
-var Mode = require('./mode')
-var VersionCheck = require('./version-check')
-var isArray = require('isarray')
+const Utils = require('./utils')
+const ECCode = require('./error-correction-code')
+const ECLevel = require('./error-correction-level')
+const Mode = require('./mode')
+const VersionCheck = require('./version-check')
+const isArray = require('isarray')
// Generator polynomial used to encode version information
-var G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0)
-var G18_BCH = Utils.getBCHDigit(G18)
+const G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0)
+const G18_BCH = Utils.getBCHDigit(G18)
function getBestVersionForDataLength (mode, length, errorCorrectionLevel) {
- for (var currentVersion = 1; currentVersion <= 40; currentVersion++) {
+ for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {
if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {
return currentVersion
}
@@ -25,10 +25,10 @@ function getReservedBitsCount (mode, version) {
}
function getTotalBitsFromDataArray (segments, version) {
- var totalBits = 0
+ let totalBits = 0
segments.forEach(function (data) {
- var reservedBits = getReservedBitsCount(data.mode, version)
+ const reservedBits = getReservedBitsCount(data.mode, version)
totalBits += reservedBits + data.getBitsLength()
})
@@ -36,8 +36,8 @@ function getTotalBitsFromDataArray (segments, version) {
}
function getBestVersionForMixedData (segments, errorCorrectionLevel) {
- for (var currentVersion = 1; currentVersion <= 40; currentVersion++) {
- var length = getTotalBitsFromDataArray(segments, currentVersion)
+ for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {
+ const length = getTotalBitsFromDataArray(segments, currentVersion)
if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {
return currentVersion
}
@@ -80,17 +80,17 @@ exports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode)
if (typeof mode === 'undefined') mode = Mode.BYTE
// Total codewords for this QR code version (Data + Error correction)
- var totalCodewords = Utils.getSymbolTotalCodewords(version)
+ const totalCodewords = Utils.getSymbolTotalCodewords(version)
// Total number of error correction codewords
- var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)
+ const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)
// Total number of data codewords
- var dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8
+ const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8
if (mode === Mode.MIXED) return dataTotalCodewordsBits
- var usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version)
+ const usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version)
// Return max number of storable codewords
switch (mode) {
@@ -118,9 +118,9 @@ exports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode)
* @return {Number} QR Code version
*/
exports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {
- var seg
+ let seg
- var ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M)
+ const ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M)
if (isArray(data)) {
if (data.length > 1) {
@@ -154,7 +154,7 @@ exports.getEncodedBits = function getEncodedBits (version) {
throw new Error('Invalid QR Code version')
}
- var d = version << 12
+ let d = version << 12
while (Utils.getBCHDigit(d) - G18_BCH >= 0) {
d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH))
diff --git a/lib/renderer/canvas.js b/lib/renderer/canvas.js
index 34fb6e71..42050cf5 100644
--- a/lib/renderer/canvas.js
+++ b/lib/renderer/canvas.js
@@ -1,4 +1,4 @@
-var Utils = require('./utils')
+const Utils = require('./utils')
function clearCanvas (ctx, canvas, size) {
ctx.clearRect(0, 0, canvas.width, canvas.height)
@@ -19,8 +19,8 @@ function getCanvasElement () {
}
exports.render = function render (qrData, canvas, options) {
- var opts = options
- var canvasEl = canvas
+ let opts = options
+ let canvasEl = canvas
if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {
opts = canvas
@@ -32,10 +32,10 @@ exports.render = function render (qrData, canvas, options) {
}
opts = Utils.getOptions(opts)
- var size = Utils.getImageWidth(qrData.modules.size, opts)
+ const size = Utils.getImageWidth(qrData.modules.size, opts)
- var ctx = canvasEl.getContext('2d')
- var image = ctx.createImageData(size, size)
+ const ctx = canvasEl.getContext('2d')
+ const image = ctx.createImageData(size, size)
Utils.qrToImageData(image.data, qrData, opts)
clearCanvas(ctx, canvasEl, size)
@@ -45,7 +45,7 @@ exports.render = function render (qrData, canvas, options) {
}
exports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {
- var opts = options
+ let opts = options
if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {
opts = canvas
@@ -54,10 +54,10 @@ exports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {
if (!opts) opts = {}
- var canvasEl = exports.render(qrData, canvas, opts)
+ const canvasEl = exports.render(qrData, canvas, opts)
- var type = opts.type || 'image/png'
- var rendererOpts = opts.rendererOpts || {}
+ const type = opts.type || 'image/png'
+ const rendererOpts = opts.rendererOpts || {}
return canvasEl.toDataURL(type, rendererOpts.quality)
}
diff --git a/lib/renderer/png.js b/lib/renderer/png.js
index 00d8a33a..0bd15c7b 100644
--- a/lib/renderer/png.js
+++ b/lib/renderer/png.js
@@ -1,16 +1,16 @@
-var fs = require('fs')
-var PNG = require('pngjs').PNG
-var Utils = require('./utils')
+const fs = require('fs')
+const PNG = require('pngjs').PNG
+const Utils = require('./utils')
exports.render = function render (qrData, options) {
- var opts = Utils.getOptions(options)
- var pngOpts = opts.rendererOpts
- var size = Utils.getImageWidth(qrData.modules.size, opts)
+ const opts = Utils.getOptions(options)
+ const pngOpts = opts.rendererOpts
+ const size = Utils.getImageWidth(qrData.modules.size, opts)
pngOpts.width = size
pngOpts.height = size
- var pngImage = new PNG(pngOpts)
+ const pngImage = new PNG(pngOpts)
Utils.qrToImageData(pngImage.data, qrData, opts)
return pngImage
@@ -24,7 +24,7 @@ exports.renderToDataURL = function renderToDataURL (qrData, options, cb) {
exports.renderToBuffer(qrData, options, function (err, output) {
if (err) cb(err)
- var url = 'data:image/png;base64,'
+ let url = 'data:image/png;base64,'
url += output.toString('base64')
cb(null, url)
})
@@ -36,8 +36,8 @@ exports.renderToBuffer = function renderToBuffer (qrData, options, cb) {
options = undefined
}
- var png = exports.render(qrData, options)
- var buffer = []
+ const png = exports.render(qrData, options)
+ const buffer = []
png.on('error', cb)
@@ -58,7 +58,7 @@ exports.renderToFile = function renderToFile (path, qrData, options, cb) {
options = undefined
}
- var stream = fs.createWriteStream(path)
+ const stream = fs.createWriteStream(path)
stream.on('error', cb)
stream.on('close', cb)
@@ -66,6 +66,6 @@ exports.renderToFile = function renderToFile (path, qrData, options, cb) {
}
exports.renderToFileStream = function renderToFileStream (stream, qrData, options) {
- var png = exports.render(qrData, options)
+ const png = exports.render(qrData, options)
png.pack().pipe(stream)
}
diff --git a/lib/renderer/svg-tag.js b/lib/renderer/svg-tag.js
index 2e551153..d0839fe0 100644
--- a/lib/renderer/svg-tag.js
+++ b/lib/renderer/svg-tag.js
@@ -1,8 +1,8 @@
-var Utils = require('./utils')
+const Utils = require('./utils')
function getColorAttrib (color, attrib) {
- var alpha = color.a / 255
- var str = attrib + '="' + color.hex + '"'
+ const alpha = color.a / 255
+ const str = attrib + '="' + color.hex + '"'
return alpha < 1
? str + ' ' + attrib + '-opacity="' + alpha.toFixed(2).slice(1) + '"'
@@ -10,21 +10,21 @@ function getColorAttrib (color, attrib) {
}
function svgCmd (cmd, x, y) {
- var str = cmd + x
+ let str = cmd + x
if (typeof y !== 'undefined') str += ' ' + y
return str
}
function qrToPath (data, size, margin) {
- var path = ''
- var moveBy = 0
- var newRow = false
- var lineLength = 0
+ let path = ''
+ let moveBy = 0
+ let newRow = false
+ let lineLength = 0
- for (var i = 0; i < data.length; i++) {
- var col = Math.floor(i % size)
- var row = Math.floor(i / size)
+ for (let i = 0; i < data.length; i++) {
+ const col = Math.floor(i % size)
+ const row = Math.floor(i / size)
if (!col && !newRow) newRow = true
@@ -53,25 +53,25 @@ function qrToPath (data, size, margin) {
}
exports.render = function render (qrData, options, cb) {
- var opts = Utils.getOptions(options)
- var size = qrData.modules.size
- var data = qrData.modules.data
- var qrcodesize = size + opts.margin * 2
+ const opts = Utils.getOptions(options)
+ const size = qrData.modules.size
+ const data = qrData.modules.data
+ const qrcodesize = size + opts.margin * 2
- var bg = !opts.color.light.a
+ const bg = !opts.color.light.a
? ''
: ''
- var path =
+ const path =
''
- var viewBox = 'viewBox="' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '"'
+ const viewBox = 'viewBox="' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '"'
- var width = !opts.width ? '' : 'width="' + opts.width + '" height="' + opts.width + '" '
+ const width = !opts.width ? '' : 'width="' + opts.width + '" height="' + opts.width + '" '
- var svgTag = '\n'
+ const svgTag = '\n'
if (typeof cb === 'function') {
cb(null, svgTag)
diff --git a/lib/renderer/svg.js b/lib/renderer/svg.js
index 65715cc5..ba99d14c 100644
--- a/lib/renderer/svg.js
+++ b/lib/renderer/svg.js
@@ -1,4 +1,4 @@
-var svgTagRenderer = require('./svg-tag')
+const svgTagRenderer = require('./svg-tag')
exports.render = svgTagRenderer.render
@@ -8,10 +8,10 @@ exports.renderToFile = function renderToFile (path, qrData, options, cb) {
options = undefined
}
- var fs = require('fs')
- var svgTag = exports.render(qrData, options)
+ const fs = require('fs')
+ const svgTag = exports.render(qrData, options)
- var xmlStr = '' +
+ const xmlStr = '' +
'' +
svgTag
diff --git a/lib/renderer/terminal.js b/lib/renderer/terminal.js
index f04f2c33..f15610b5 100644
--- a/lib/renderer/terminal.js
+++ b/lib/renderer/terminal.js
@@ -1,25 +1,25 @@
-// var Utils = require('./utils')
+// let Utils = require('./utils')
exports.render = function (qrData, options, cb) {
- var size = qrData.modules.size
- var data = qrData.modules.data
+ const size = qrData.modules.size
+ const data = qrData.modules.data
- // var opts = Utils.getOptions(options)
+ // let opts = Utils.getOptions(options)
// use same scheme as https://github.com/gtanner/qrcode-terminal because it actually works! =)
- var black = '\x1b[40m \x1b[0m'
- var white = '\x1b[47m \x1b[0m'
+ const black = '\x1b[40m \x1b[0m'
+ const white = '\x1b[47m \x1b[0m'
- var output = ''
- var hMargin = Array(size + 3).join(white)
- var vMargin = Array(2).join(white)
+ let output = ''
+ const hMargin = Array(size + 3).join(white)
+ const vMargin = Array(2).join(white)
output += hMargin + '\n'
- for (var i = 0; i < size; ++i) {
+ for (let i = 0; i < size; ++i) {
output += white
- for (var j = 0; j < size; j++) {
- // var topModule = data[i * size + j]
- // var bottomModule = data[(i + 1) * size + j]
+ for (let j = 0; j < size; j++) {
+ // let topModule = data[i * size + j]
+ // let bottomModule = data[(i + 1) * size + j]
output += data[i * size + j] ? black : white// getBlockChar(topModule, bottomModule)
}
@@ -42,8 +42,8 @@ exports.renderToFile = function renderToFile (path, qrData, options, cb) {
options = undefined
}
- var fs = require('fs')
- var utf8 = exports.render(qrData, options)
+ let fs = require('fs')
+ let utf8 = exports.render(qrData, options)
fs.writeFile(path, utf8, cb)
}
*/
diff --git a/lib/renderer/utf8.js b/lib/renderer/utf8.js
index 4181ecdb..d76116e5 100644
--- a/lib/renderer/utf8.js
+++ b/lib/renderer/utf8.js
@@ -1,13 +1,13 @@
-var Utils = require('./utils')
+const Utils = require('./utils')
-var BLOCK_CHAR = {
+const BLOCK_CHAR = {
WW: ' ',
WB: '▄',
BB: '█',
BW: '▀'
}
-var INVERTED_BLOCK_CHAR = {
+const INVERTED_BLOCK_CHAR = {
BB: ' ',
BW: '▄',
WW: '█',
@@ -22,27 +22,27 @@ function getBlockChar (top, bottom, blocks) {
}
exports.render = function (qrData, options, cb) {
- var opts = Utils.getOptions(options)
- var blocks = BLOCK_CHAR
+ const opts = Utils.getOptions(options)
+ let blocks = BLOCK_CHAR
if (opts.color.dark.hex === '#ffffff' || opts.color.light.hex === '#000000') {
blocks = INVERTED_BLOCK_CHAR
}
- var size = qrData.modules.size
- var data = qrData.modules.data
+ const size = qrData.modules.size
+ const data = qrData.modules.data
- var output = ''
- var hMargin = Array(size + (opts.margin * 2) + 1).join(blocks.WW)
+ let output = ''
+ let hMargin = Array(size + (opts.margin * 2) + 1).join(blocks.WW)
hMargin = Array((opts.margin / 2) + 1).join(hMargin + '\n')
- var vMargin = Array(opts.margin + 1).join(blocks.WW)
+ const vMargin = Array(opts.margin + 1).join(blocks.WW)
output += hMargin
- for (var i = 0; i < size; i += 2) {
+ for (let i = 0; i < size; i += 2) {
output += vMargin
- for (var j = 0; j < size; j++) {
- var topModule = data[i * size + j]
- var bottomModule = data[(i + 1) * size + j]
+ for (let j = 0; j < size; j++) {
+ const topModule = data[i * size + j]
+ const bottomModule = data[(i + 1) * size + j]
output += getBlockChar(topModule, bottomModule, blocks)
}
@@ -65,7 +65,7 @@ exports.renderToFile = function renderToFile (path, qrData, options, cb) {
options = undefined
}
- var fs = require('fs')
- var utf8 = exports.render(qrData, options)
+ const fs = require('fs')
+ const utf8 = exports.render(qrData, options)
fs.writeFile(path, utf8, cb)
}
diff --git a/lib/renderer/utils.js b/lib/renderer/utils.js
index 633136df..2d216919 100644
--- a/lib/renderer/utils.js
+++ b/lib/renderer/utils.js
@@ -7,7 +7,7 @@ function hex2rgba (hex) {
throw new Error('Color should be defined as hex string')
}
- var hexCode = hex.slice().replace('#', '').split('')
+ let hexCode = hex.slice().replace('#', '').split('')
if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {
throw new Error('Invalid hex color: ' + hex)
}
@@ -22,7 +22,7 @@ function hex2rgba (hex) {
// Add default alpha value
if (hexCode.length === 6) hexCode.push('F', 'F')
- var hexValue = parseInt(hexCode.join(''), 16)
+ const hexValue = parseInt(hexCode.join(''), 16)
return {
r: (hexValue >> 24) & 255,
@@ -37,12 +37,12 @@ exports.getOptions = function getOptions (options) {
if (!options) options = {}
if (!options.color) options.color = {}
- var margin = typeof options.margin === 'undefined' ||
+ const margin = typeof options.margin === 'undefined' ||
options.margin === null ||
options.margin < 0 ? 4 : options.margin
- var width = options.width && options.width >= 21 ? options.width : undefined
- var scale = options.scale || 4
+ const width = options.width && options.width >= 21 ? options.width : undefined
+ const scale = options.scale || 4
return {
width: width,
@@ -64,27 +64,27 @@ exports.getScale = function getScale (qrSize, opts) {
}
exports.getImageWidth = function getImageWidth (qrSize, opts) {
- var scale = exports.getScale(qrSize, opts)
+ const scale = exports.getScale(qrSize, opts)
return Math.floor((qrSize + opts.margin * 2) * scale)
}
exports.qrToImageData = function qrToImageData (imgData, qr, opts) {
- var size = qr.modules.size
- var data = qr.modules.data
- var scale = exports.getScale(size, opts)
- var symbolSize = Math.floor((size + opts.margin * 2) * scale)
- var scaledMargin = opts.margin * scale
- var palette = [opts.color.light, opts.color.dark]
-
- for (var i = 0; i < symbolSize; i++) {
- for (var j = 0; j < symbolSize; j++) {
- var posDst = (i * symbolSize + j) * 4
- var pxColor = opts.color.light
+ const size = qr.modules.size
+ const data = qr.modules.data
+ const scale = exports.getScale(size, opts)
+ const symbolSize = Math.floor((size + opts.margin * 2) * scale)
+ const scaledMargin = opts.margin * scale
+ const palette = [opts.color.light, opts.color.dark]
+
+ for (let i = 0; i < symbolSize; i++) {
+ for (let j = 0; j < symbolSize; j++) {
+ let posDst = (i * symbolSize + j) * 4
+ let pxColor = opts.color.light
if (i >= scaledMargin && j >= scaledMargin &&
i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {
- var iSrc = Math.floor((i - scaledMargin) / scale)
- var jSrc = Math.floor((j - scaledMargin) / scale)
+ const iSrc = Math.floor((i - scaledMargin) / scale)
+ const jSrc = Math.floor((j - scaledMargin) / scale)
pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0]
}
diff --git a/lib/server.js b/lib/server.js
index 036e72de..ab72b21c 100644
--- a/lib/server.js
+++ b/lib/server.js
@@ -1,9 +1,9 @@
-var canPromise = require('./can-promise')
-var QRCode = require('./core/qrcode')
-var PngRenderer = require('./renderer/png')
-var Utf8Renderer = require('./renderer/utf8')
-var TerminalRenderer = require('./renderer/terminal')
-var SvgRenderer = require('./renderer/svg')
+const canPromise = require('./can-promise')
+const QRCode = require('./core/qrcode')
+const PngRenderer = require('./renderer/png')
+const Utf8Renderer = require('./renderer/utf8')
+const TerminalRenderer = require('./renderer/terminal')
+const SvgRenderer = require('./renderer/svg')
function checkParams (text, opts, cb) {
if (typeof text === 'undefined') {
@@ -68,7 +68,7 @@ function render (renderFunc, text, params) {
if (!params.cb) {
return new Promise(function (resolve, reject) {
try {
- var data = QRCode.create(text, params.opts)
+ const data = QRCode.create(text, params.opts)
return renderFunc(data, params.opts, function (err, data) {
return err ? reject(err) : resolve(data)
})
@@ -79,7 +79,7 @@ function render (renderFunc, text, params) {
}
try {
- var data = QRCode.create(text, params.opts)
+ const data = QRCode.create(text, params.opts)
return renderFunc(data, params.opts, params.cb)
} catch (e) {
params.cb(e)
@@ -91,20 +91,20 @@ exports.create = QRCode.create
exports.toCanvas = require('./browser').toCanvas
exports.toString = function toString (text, opts, cb) {
- var params = checkParams(text, opts, cb)
- var renderer = getStringRendererFromType(params.opts.type)
+ const params = checkParams(text, opts, cb)
+ const renderer = getStringRendererFromType(params.opts.type)
return render(renderer.render, text, params)
}
exports.toDataURL = function toDataURL (text, opts, cb) {
- var params = checkParams(text, opts, cb)
- var renderer = getRendererFromType(params.opts.type)
+ const params = checkParams(text, opts, cb)
+ const renderer = getRendererFromType(params.opts.type)
return render(renderer.renderToDataURL, text, params)
}
exports.toBuffer = function toBuffer (text, opts, cb) {
- var params = checkParams(text, opts, cb)
- var renderer = getRendererFromType(params.opts.type)
+ const params = checkParams(text, opts, cb)
+ const renderer = getRendererFromType(params.opts.type)
return render(renderer.renderToBuffer, text, params)
}
@@ -117,10 +117,10 @@ exports.toFile = function toFile (path, text, opts, cb) {
throw new Error('Too few arguments provided')
}
- var params = checkParams(text, opts, cb)
- var type = params.opts.type || getTypeFromFilename(path)
- var renderer = getRendererFromType(type)
- var renderToFile = renderer.renderToFile.bind(null, path)
+ const params = checkParams(text, opts, cb)
+ const type = params.opts.type || getTypeFromFilename(path)
+ const renderer = getRendererFromType(type)
+ const renderToFile = renderer.renderToFile.bind(null, path)
return render(renderToFile, text, params)
}
@@ -130,8 +130,8 @@ exports.toFileStream = function toFileStream (stream, text, opts) {
throw new Error('Too few arguments provided')
}
- var params = checkParams(text, opts, stream.emit.bind(stream, 'error'))
- var renderer = getRendererFromType('png') // Only png support for now
- var renderToFileStream = renderer.renderToFileStream.bind(null, stream)
+ const params = checkParams(text, opts, stream.emit.bind(stream, 'error'))
+ const renderer = getRendererFromType('png') // Only png support for now
+ const renderToFileStream = renderer.renderToFileStream.bind(null, stream)
render(renderToFileStream, text, params)
}
diff --git a/test.js b/test.js
index 89d455ed..c33e15af 100644
--- a/test.js
+++ b/test.js
@@ -1,7 +1,7 @@
-var spawn = require('child_process').spawn
-var path = require('path')
+const spawn = require('child_process').spawn
+const path = require('path')
-var opt = {
+const opt = {
cwd: __dirname,
env: (function () {
process.env.NODE_PATH = './' + path.delimiter + './lib'
diff --git a/test/e2e/toCanvas.test.js b/test/e2e/toCanvas.test.js
index 14259659..3be65727 100644
--- a/test/e2e/toCanvas.test.js
+++ b/test/e2e/toCanvas.test.js
@@ -1,7 +1,7 @@
-var test = require('tap').test
-var { Canvas, createCanvas } = require('canvas')
-var QRCode = require('lib')
-var Helpers = require('test/helpers')
+const test = require('tap').test
+const { Canvas, createCanvas } = require('canvas')
+const QRCode = require('lib')
+const Helpers = require('test/helpers')
test('toCanvas - no promise available', function (t) {
Helpers.removeNativePromise()
@@ -14,7 +14,7 @@ test('toCanvas - no promise available', function (t) {
}
}
}
- var canvasEl = createCanvas(200, 200)
+ const canvasEl = createCanvas(200, 200)
t.throw(function () { QRCode.toCanvas() },
'Should throw if no arguments are provided')
@@ -79,7 +79,7 @@ test('toCanvas', function (t) {
})
test('toCanvas with specified canvas element', function (t) {
- var canvasEl = createCanvas(200, 200)
+ const canvasEl = createCanvas(200, 200)
t.plan(6)
diff --git a/test/e2e/toDataURL.test.js b/test/e2e/toDataURL.test.js
index a5374611..050f3e22 100644
--- a/test/e2e/toDataURL.test.js
+++ b/test/e2e/toDataURL.test.js
@@ -1,8 +1,8 @@
-var test = require('tap').test
-var QRCode = require('lib')
-var QRCodeBrowser = require('lib/browser')
-var { createCanvas } = require('canvas')
-var Helpers = require('test/helpers')
+const test = require('tap').test
+const QRCode = require('lib')
+const QRCodeBrowser = require('lib/browser')
+const { createCanvas } = require('canvas')
+const Helpers = require('test/helpers')
test('toDataURL - no promise available', function (t) {
Helpers.removeNativePromise()
@@ -37,7 +37,7 @@ test('toDataURL - no promise available', function (t) {
})
test('toDataURL - image/png', function (t) {
- var expectedDataURL = [
+ const expectedDataURL = [
'data:image/png;base64,',
'iVBORw0KGgoAAAANSUhEUgAAAHQAAAB0CAYAAABUmhYnAAAAAklEQVR4AewaftIAAAKzSU',
'RBVO3BQW7kQAwEwSxC//9y7h55akCQxvYQjIj/scYo1ijFGqVYoxRrlGKNUqxRijVKsUYp',
@@ -99,7 +99,7 @@ test('toDataURL - image/png', function (t) {
})
test('Canvas toDataURL - image/png', function (t) {
- var expectedDataURL = [
+ const expectedDataURL = [
'data:image/png;base64,',
'iVBORw0KGgoAAAANSUhEUgAAAIQAAACECAYAAABRRIOnAAAABmJLR0QA/wD/AP+gvaeTAA',
'AC20lEQVR4nO3dQY7jMAwEwM1i///lzGUurYtWEEknQNV1EidjNGhFpuTX+/1+/4Fff5/+',
@@ -126,7 +126,7 @@ test('Canvas toDataURL - image/png', function (t) {
t.throw(function () { QRCodeBrowser.toDataURL(function () {}) },
'Should throw if text is not provided')
- var canvas = createCanvas(200, 200)
+ const canvas = createCanvas(200, 200)
QRCodeBrowser.toDataURL(canvas, 'i am a pony!', {
errorCorrectionLevel: 'H',
type: 'image/png'
diff --git a/test/e2e/toFile.test.js b/test/e2e/toFile.test.js
index 11b6a895..0b8c2986 100644
--- a/test/e2e/toFile.test.js
+++ b/test/e2e/toFile.test.js
@@ -1,15 +1,15 @@
-var test = require('tap').test
-var fs = require('fs')
-var path = require('path')
-var os = require('os')
-var sinon = require('sinon')
-var QRCode = require('lib')
-var Helpers = require('test/helpers')
-var StreamMock = require('test/mocks/writable-stream')
+const test = require('tap').test
+const fs = require('fs')
+const path = require('path')
+const os = require('os')
+const sinon = require('sinon')
+const QRCode = require('lib')
+const Helpers = require('test/helpers')
+const StreamMock = require('test/mocks/writable-stream')
test('toFile - no promise available', function (t) {
Helpers.removeNativePromise()
- var fileName = path.join(os.tmpdir(), 'qrimage.png')
+ const fileName = path.join(os.tmpdir(), 'qrimage.png')
t.throw(function () { QRCode.toFile(fileName, 'some text') },
'Should throw if a callback is not provided')
@@ -23,7 +23,7 @@ test('toFile - no promise available', function (t) {
})
test('toFile', function (t) {
- var fileName = path.join(os.tmpdir(), 'qrimage.png')
+ const fileName = path.join(os.tmpdir(), 'qrimage.png')
t.throw(function () { QRCode.toFile('some text', function () {}) },
'Should throw if path is not provided')
@@ -38,8 +38,8 @@ test('toFile', function (t) {
})
test('toFile png', function (t) {
- var fileName = path.join(os.tmpdir(), 'qrimage.png')
- var expectedBase64Output = [
+ const fileName = path.join(os.tmpdir(), 'qrimage.png')
+ const expectedBase64Output = [
'iVBORw0KGgoAAAANSUhEUgAAAHQAAAB0CAYAAABUmhYnAAAAAklEQVR4AewaftIAAAKzSU',
'RBVO3BQW7kQAwEwSxC//9y7h55akCQxvYQjIj/scYo1ijFGqVYoxRrlGKNUqxRijVKsUYp',
'1ijFGqVYoxRrlGKNUqxRijXKxUNJ+EkqdyShU+mS0Kl0SfhJKk8Ua5RijVKsUS5epvKmJD',
@@ -99,7 +99,7 @@ test('toFile png', function (t) {
})
})
- var fsStub = sinon.stub(fs, 'createWriteStream')
+ const fsStub = sinon.stub(fs, 'createWriteStream')
fsStub.returns(new StreamMock().forceErrorOnWrite())
QRCode.toFile(fileName, 'i am a pony!', {
@@ -118,8 +118,8 @@ test('toFile png', function (t) {
})
test('toFile svg', function (t) {
- var fileName = path.join(os.tmpdir(), 'qrimage.svg')
- var expectedOutput = fs.readFileSync(
+ const fileName = path.join(os.tmpdir(), 'qrimage.svg')
+ const expectedOutput = fs.readFileSync(
path.join(__dirname, '/svg.expected.out'), 'UTF-8')
t.plan(6)
@@ -165,8 +165,8 @@ test('toFile svg', function (t) {
})
test('toFile utf8', function (t) {
- var fileName = path.join(os.tmpdir(), 'qrimage.txt')
- var expectedOutput = [
+ const fileName = path.join(os.tmpdir(), 'qrimage.txt')
+ const expectedOutput = [
' ',
' ',
' █▀▀▀▀▀█ █ ▄█ ▀ █ █▀▀▀▀▀█ ',
@@ -225,12 +225,12 @@ test('toFile utf8', function (t) {
})
test('toFile manual segments', function (t) {
- var fileName = path.join(os.tmpdir(), 'qrimage.txt')
- var segs = [
+ const fileName = path.join(os.tmpdir(), 'qrimage.txt')
+ const segs = [
{ data: 'ABCDEFG', mode: 'alphanumeric' },
{ data: '0123456', mode: 'numeric' }
]
- var expectedOutput = [
+ const expectedOutput = [
' ',
' ',
' █▀▀▀▀▀█ ██▀██ █▀▀▀▀▀█ ',
diff --git a/test/e2e/toFileStream.test.js b/test/e2e/toFileStream.test.js
index 9142ba3d..a91c7f8c 100644
--- a/test/e2e/toFileStream.test.js
+++ b/test/e2e/toFileStream.test.js
@@ -1,7 +1,7 @@
-var test = require('tap').test
-var sinon = require('sinon')
-var QRCode = require('lib')
-var StreamMock = require('../mocks/writable-stream')
+const test = require('tap').test
+const sinon = require('sinon')
+const QRCode = require('lib')
+const StreamMock = require('../mocks/writable-stream')
test('toFileStream png', function (t) {
t.throw(function () { QRCode.toFileStream('some text') },
@@ -10,8 +10,8 @@ test('toFileStream png', function (t) {
t.throw(function () { QRCode.toFileStream(new StreamMock()) },
'Should throw if text is not provided')
- var fstream = new StreamMock()
- var spy = sinon.spy(fstream, 'emit')
+ const fstream = new StreamMock()
+ const spy = sinon.spy(fstream, 'emit')
QRCode.toFileStream(fstream, 'i am a pony!')
@@ -27,7 +27,7 @@ test('toFileStream png', function (t) {
})
test('toFileStream png with write error', function (t) {
- var fstreamErr = new StreamMock().forceErrorOnWrite()
+ const fstreamErr = new StreamMock().forceErrorOnWrite()
QRCode.toFileStream(fstreamErr, 'i am a pony!')
t.plan(2)
@@ -38,8 +38,8 @@ test('toFileStream png with write error', function (t) {
})
test('toFileStream png with qrcode error', function (t) {
- var fstreamErr = new StreamMock()
- var bigString = Array(200).join('i am a pony!')
+ const fstreamErr = new StreamMock()
+ const bigString = Array(200).join('i am a pony!')
t.plan(2)
diff --git a/test/e2e/toString.test.js b/test/e2e/toString.test.js
index 9f569f64..f2b00dcf 100644
--- a/test/e2e/toString.test.js
+++ b/test/e2e/toString.test.js
@@ -1,9 +1,9 @@
-var test = require('tap').test
-var fs = require('fs')
-var path = require('path')
-var QRCode = require('lib')
-var browser = require('lib/browser')
-var Helpers = require('test/helpers')
+const test = require('tap').test
+const fs = require('fs')
+const path = require('path')
+const QRCode = require('lib')
+const browser = require('lib/browser')
+const Helpers = require('test/helpers')
test('toString - no promise available', function (t) {
Helpers.removeNativePromise()
@@ -76,7 +76,7 @@ test('toString (browser)', function (t) {
})
test('toString svg', function (t) {
- var file = path.join(__dirname, '/svgtag.expected.out')
+ const file = path.join(__dirname, '/svgtag.expected.out')
t.plan(6)
QRCode.toString('http://www.google.com', {
@@ -121,7 +121,7 @@ test('toString svg', function (t) {
})
test('toString browser svg', function (t) {
- var file = path.join(__dirname, '/svgtag.expected.out')
+ const file = path.join(__dirname, '/svgtag.expected.out')
t.plan(3)
@@ -146,7 +146,7 @@ test('toString browser svg', function (t) {
})
test('toString utf8', function (t) {
- var expectedUtf8 = [
+ const expectedUtf8 = [
' ',
' ',
' █▀▀▀▀▀█ █ ▄█ ▀ █ █▀▀▀▀▀█ ',
@@ -212,7 +212,7 @@ test('toString utf8', function (t) {
})
test('toString terminal', function (t) {
- var expectedTerminal = fs.readFileSync(path.join(__dirname, '/terminal.expected.out')) + ''
+ const expectedTerminal = fs.readFileSync(path.join(__dirname, '/terminal.expected.out')) + ''
t.plan(3)
diff --git a/test/helpers.js b/test/helpers.js
index 6b42779c..3aaa7e52 100644
--- a/test/helpers.js
+++ b/test/helpers.js
@@ -1,4 +1,4 @@
-var nativePromise = global.Promise
+const nativePromise = global.Promise
exports.removeNativePromise = function () {
if (global.Promise) {
diff --git a/test/mocks/writable-stream.js b/test/mocks/writable-stream.js
index 0818b82e..9d0845d4 100644
--- a/test/mocks/writable-stream.js
+++ b/test/mocks/writable-stream.js
@@ -1,5 +1,5 @@
-var stream = require('stream')
-var util = require('util')
+const stream = require('stream')
+const util = require('util')
function WritableStream () {
stream.Writable.call(this)
diff --git a/test/unit/core/alignment-pattern.test.js b/test/unit/core/alignment-pattern.test.js
index 29169305..c4293434 100755
--- a/test/unit/core/alignment-pattern.test.js
+++ b/test/unit/core/alignment-pattern.test.js
@@ -1,5 +1,5 @@
-var test = require('tap').test
-var pattern = require('core/alignment-pattern')
+const test = require('tap').test
+const pattern = require('core/alignment-pattern')
/**
* Row/column coordinates of the center module of each alignment pattern.
@@ -7,7 +7,7 @@ var pattern = require('core/alignment-pattern')
*
* @type {Array}
*/
-var EXPECTED_POSITION_TABLE = [
+const EXPECTED_POSITION_TABLE = [
[],
[6, 18],
[6, 22],
@@ -53,17 +53,17 @@ var EXPECTED_POSITION_TABLE = [
test('Alignment pattern - Row/Col coords', function (t) {
t.plan(40)
- for (var i = 1; i <= 40; i++) {
- var pos = pattern.getRowColCoords(i)
+ for (let i = 1; i <= 40; i++) {
+ const pos = pattern.getRowColCoords(i)
t.deepEqual(pos, EXPECTED_POSITION_TABLE[i - 1], 'Should return correct coords')
}
})
test('Alignment pattern - Positions', function (t) {
- for (var i = 1; i <= 40; i++) {
- var pos = pattern.getPositions(i)
- var expectedPos = EXPECTED_POSITION_TABLE[i - 1]
- var expectedLength = (Math.pow(expectedPos.length, 2) || 3) - 3
+ for (let i = 1; i <= 40; i++) {
+ const pos = pattern.getPositions(i)
+ const expectedPos = EXPECTED_POSITION_TABLE[i - 1]
+ const expectedLength = (Math.pow(expectedPos.length, 2) || 3) - 3
t.equal(pos.length, expectedLength, 'Should return correct number of positions')
diff --git a/test/unit/core/alphanumeric-data.test.js b/test/unit/core/alphanumeric-data.test.js
index b31dbf7a..fbf285f9 100644
--- a/test/unit/core/alphanumeric-data.test.js
+++ b/test/unit/core/alphanumeric-data.test.js
@@ -1,9 +1,9 @@
-var test = require('tap').test
-var BitBuffer = require('core/bit-buffer')
-var AlphanumericData = require('core/alphanumeric-data')
-var Mode = require('core/mode')
+const test = require('tap').test
+const BitBuffer = require('core/bit-buffer')
+const AlphanumericData = require('core/alphanumeric-data')
+const Mode = require('core/mode')
-var testData = [
+const testData = [
{
data: 'A',
length: 1,
@@ -26,13 +26,13 @@ var testData = [
test('Alphanumeric Data', function (t) {
testData.forEach(function (data) {
- var alphanumericData = new AlphanumericData(data.data)
+ const alphanumericData = new AlphanumericData(data.data)
t.equal(alphanumericData.mode, Mode.ALPHANUMERIC, 'Mode should be ALPHANUMERIC')
t.equal(alphanumericData.getLength(), data.length, 'Should return correct length')
t.equal(alphanumericData.getBitsLength(), data.bitLength, 'Should return correct bit length')
- var bitBuffer = new BitBuffer()
+ const bitBuffer = new BitBuffer()
alphanumericData.write(bitBuffer)
t.deepEqual(bitBuffer.buffer, data.dataBit, 'Should write correct data to buffer')
})
diff --git a/test/unit/core/bit-buffer.test.js b/test/unit/core/bit-buffer.test.js
index 750f5801..c5d4477f 100644
--- a/test/unit/core/bit-buffer.test.js
+++ b/test/unit/core/bit-buffer.test.js
@@ -1,18 +1,18 @@
-var test = require('tap').test
-var BitBuffer = require('core/bit-buffer')
+const test = require('tap').test
+const BitBuffer = require('core/bit-buffer')
test('Bit Buffer', function (t) {
- var testData = 0x41 // 'A'
- var expectedDataBits = [false, true, false, false, false, false, false, true]
+ const testData = 0x41 // 'A'
+ const expectedDataBits = [false, true, false, false, false, false, false, true]
- var bitBuffer = new BitBuffer()
+ const bitBuffer = new BitBuffer()
t.equal(bitBuffer.getLengthInBits(), 0, 'Initial length should be 0')
bitBuffer.put(testData, 8)
t.equal(bitBuffer.getLengthInBits(), 8, 'Length should be 8')
- for (var i = 0; i < 8; i++) {
+ for (let i = 0; i < 8; i++) {
t.deepEqual(bitBuffer.get(i), expectedDataBits[i], 'Should return correct bit value')
}
diff --git a/test/unit/core/bit-matrix.test.js b/test/unit/core/bit-matrix.test.js
index 0a94d92c..ce01d622 100644
--- a/test/unit/core/bit-matrix.test.js
+++ b/test/unit/core/bit-matrix.test.js
@@ -1,11 +1,11 @@
-var test = require('tap').test
-var BitMatrix = require('core/bit-matrix')
+const test = require('tap').test
+const BitMatrix = require('core/bit-matrix')
test('Bit Matrix', function (t) {
t.throw(function () { BitMatrix(0) }, 'Should throw if size is 0')
t.throw(function () { BitMatrix(-1) }, 'Should throw if size less than 0')
- var bm = new BitMatrix(2)
+ const bm = new BitMatrix(2)
t.equal(bm.size, 2, 'Should have correct size')
t.equal(bm.data.length, 4, 'Should correctly set buffer size')
diff --git a/test/unit/core/byte-data.test.js b/test/unit/core/byte-data.test.js
index 7b8b21dc..bf1d2491 100644
--- a/test/unit/core/byte-data.test.js
+++ b/test/unit/core/byte-data.test.js
@@ -1,25 +1,25 @@
-var test = require('tap').test
-var BitBuffer = require('core/bit-buffer')
-var ByteData = require('core/byte-data')
-var Mode = require('core/mode')
+const test = require('tap').test
+const BitBuffer = require('core/bit-buffer')
+const ByteData = require('core/byte-data')
+const Mode = require('core/mode')
test('Byte Data', function (t) {
- var text = '1234'
- var textBitLength = 32
- var textByte = [49, 50, 51, 52] // 1, 2, 3, 4
- var utf8Text = '\u00bd + \u00bc = \u00be' // 9 char, 12 byte
+ const text = '1234'
+ const textBitLength = 32
+ const textByte = [49, 50, 51, 52] // 1, 2, 3, 4
+ const utf8Text = '\u00bd + \u00bc = \u00be' // 9 char, 12 byte
- var byteData = new ByteData(text)
+ const byteData = new ByteData(text)
t.equal(byteData.mode, Mode.BYTE, 'Mode should be BYTE')
t.equal(byteData.getLength(), text.length, 'Should return correct length')
t.equal(byteData.getBitsLength(), textBitLength, 'Should return correct bit length')
- var bitBuffer = new BitBuffer()
+ const bitBuffer = new BitBuffer()
byteData.write(bitBuffer)
t.deepEqual(bitBuffer.buffer, textByte, 'Should write correct data to buffer')
- var byteDataUtf8 = new ByteData(utf8Text)
+ const byteDataUtf8 = new ByteData(utf8Text)
t.equal(byteDataUtf8.getLength(), 12, 'Should return correct length for utf8 chars')
t.end()
diff --git a/test/unit/core/error-correction-code.test.js b/test/unit/core/error-correction-code.test.js
index e86cdcff..c5d5fa1c 100644
--- a/test/unit/core/error-correction-code.test.js
+++ b/test/unit/core/error-correction-code.test.js
@@ -1,21 +1,21 @@
-var test = require('tap').test
-var Utils = require('core/utils')
-var Version = require('core/version')
-var ECLevel = require('core/error-correction-level')
-var ECCode = require('core/error-correction-code')
-var Mode = require('core/mode')
+const test = require('tap').test
+const Utils = require('core/utils')
+const Version = require('core/version')
+const ECLevel = require('core/error-correction-level')
+const ECCode = require('core/error-correction-code')
+const Mode = require('core/mode')
test('Error correction codewords', function (t) {
- var levels = [ECLevel.L, ECLevel.M, ECLevel.Q, ECLevel.H]
+ const levels = [ECLevel.L, ECLevel.M, ECLevel.Q, ECLevel.H]
- for (var v = 1; v <= 40; v++) {
- var totalCodewords = Utils.getSymbolTotalCodewords(v)
- var reservedByte = Math.ceil((Mode.getCharCountIndicator(Mode.BYTE, v) + 4) / 8)
+ for (let v = 1; v <= 40; v++) {
+ const totalCodewords = Utils.getSymbolTotalCodewords(v)
+ const reservedByte = Math.ceil((Mode.getCharCountIndicator(Mode.BYTE, v) + 4) / 8)
- for (var l = 0; l < levels.length; l++) {
- var dataCodewords = Version.getCapacity(v, levels[l], Mode.BYTE) + reservedByte
+ for (let l = 0; l < levels.length; l++) {
+ const dataCodewords = Version.getCapacity(v, levels[l], Mode.BYTE) + reservedByte
- var expectedCodewords = totalCodewords - dataCodewords
+ const expectedCodewords = totalCodewords - dataCodewords
t.equal(ECCode.getTotalCodewordsCount(v, levels[l]), expectedCodewords,
'Should return correct codewords number')
@@ -29,10 +29,10 @@ test('Error correction codewords', function (t) {
})
test('Error correction blocks', function (t) {
- var levels = [ECLevel.L, ECLevel.M, ECLevel.Q, ECLevel.H]
+ const levels = [ECLevel.L, ECLevel.M, ECLevel.Q, ECLevel.H]
- for (var v = 1; v <= 40; v++) {
- for (var l = 0; l < levels.length; l++) {
+ for (let v = 1; v <= 40; v++) {
+ for (let l = 0; l < levels.length; l++) {
t.ok(ECCode.getBlocksCount(v, levels[l]), 'Should return a positive number')
}
}
diff --git a/test/unit/core/error-correction-level.test.js b/test/unit/core/error-correction-level.test.js
index fe003915..2f2fce9c 100644
--- a/test/unit/core/error-correction-level.test.js
+++ b/test/unit/core/error-correction-level.test.js
@@ -1,13 +1,13 @@
-var test = require('tap').test
-var ECLevel = require('core/error-correction-level')
+const test = require('tap').test
+const ECLevel = require('core/error-correction-level')
-var EC_LEVELS = [ECLevel.L, ECLevel.M, ECLevel.Q, ECLevel.H]
+const EC_LEVELS = [ECLevel.L, ECLevel.M, ECLevel.Q, ECLevel.H]
test('Error level from input value', function (t) {
- var values = [['l', 'low'], ['m', 'medium'], ['q', 'quartile'], ['h', 'high']]
+ const values = [['l', 'low'], ['m', 'medium'], ['q', 'quartile'], ['h', 'high']]
- for (var l = 0; l < values.length; l++) {
- for (var i = 0; i < values[l].length; i++) {
+ for (let l = 0; l < values.length; l++) {
+ for (let i = 0; i < values[l].length; i++) {
t.equal(ECLevel.from(values[l][i]), EC_LEVELS[l])
t.equal(ECLevel.from(values[l][i].toUpperCase()), EC_LEVELS[l])
}
@@ -21,7 +21,7 @@ test('Error level from input value', function (t) {
})
test('Error level validity', function (t) {
- for (var l = 0; l < EC_LEVELS.length; l++) {
+ for (let l = 0; l < EC_LEVELS.length; l++) {
t.ok(ECLevel.isValid(EC_LEVELS[l]), 'Should return true if error level is valid')
}
diff --git a/test/unit/core/finder-pattern.test.js b/test/unit/core/finder-pattern.test.js
index 0f296228..34402d69 100755
--- a/test/unit/core/finder-pattern.test.js
+++ b/test/unit/core/finder-pattern.test.js
@@ -1,8 +1,8 @@
-var test = require('tap').test
-var pattern = require('core/finder-pattern')
+const test = require('tap').test
+const pattern = require('core/finder-pattern')
test('Finder pattern', function (t) {
- for (var i = 1; i <= 40; i++) {
+ for (let i = 1; i <= 40; i++) {
t.equal(pattern.getPositions(i).length, 3, 'Should always return 3 pattern positions')
}
diff --git a/test/unit/core/format-info.test.js b/test/unit/core/format-info.test.js
index 5c6aef59..b6b52109 100644
--- a/test/unit/core/format-info.test.js
+++ b/test/unit/core/format-info.test.js
@@ -1,9 +1,9 @@
-var test = require('tap').test
-var FormatInfo = require('core/format-info')
-var ECLevel = require('core/error-correction-level')
-var MaskPattern = require('core/mask-pattern')
+const test = require('tap').test
+const FormatInfo = require('core/format-info')
+const ECLevel = require('core/error-correction-level')
+const MaskPattern = require('core/mask-pattern')
-var EXPECTED_FORMAT_BITS = [
+const EXPECTED_FORMAT_BITS = [
[0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976],
[0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0],
[0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed],
@@ -11,12 +11,12 @@ var EXPECTED_FORMAT_BITS = [
]
test('Format encoded info', function (t) {
- var levels = [ECLevel.L, ECLevel.M, ECLevel.Q, ECLevel.H]
- var patterns = Object.keys(MaskPattern.Patterns).length
+ const levels = [ECLevel.L, ECLevel.M, ECLevel.Q, ECLevel.H]
+ const patterns = Object.keys(MaskPattern.Patterns).length
- for (var l = 0; l < levels.length; l++) {
- for (var p = 0; p < patterns; p++) {
- var bch = FormatInfo.getEncodedBits(levels[l], p)
+ for (let l = 0; l < levels.length; l++) {
+ for (let p = 0; p < patterns; p++) {
+ const bch = FormatInfo.getEncodedBits(levels[l], p)
t.equal(bch, EXPECTED_FORMAT_BITS[l][p], 'Should return correct bits')
}
}
diff --git a/test/unit/core/galois-field.test.js b/test/unit/core/galois-field.test.js
index 3c0bbb47..bb791171 100644
--- a/test/unit/core/galois-field.test.js
+++ b/test/unit/core/galois-field.test.js
@@ -1,10 +1,10 @@
-var test = require('tap').test
-var GF = require('core/galois-field')
+const test = require('tap').test
+const GF = require('core/galois-field')
test('Galois Field', function (t) {
t.throw(function () { GF.log(0) }, 'Should throw for log(n) with n < 1')
- for (var i = 1; i < 255; i++) {
+ for (let i = 1; i < 255; i++) {
t.equal(GF.log(GF.exp(i)), i, 'log and exp should be one the inverse of the other')
t.equal(GF.exp(GF.log(i)), i, 'exp and log should be one the inverse of the other')
}
@@ -13,7 +13,7 @@ test('Galois Field', function (t) {
t.equal(GF.mul(1, 0), 0, 'Should return 0 if second param is 0')
t.equal(GF.mul(0, 0), 0, 'Should return 0 if both params are 0')
- for (var j = 1; j < 255; j++) {
+ for (let j = 1; j < 255; j++) {
t.equal(GF.mul(j, 255 - j), GF.mul(255 - j, j), 'Multiplication should be commutative')
}
diff --git a/test/unit/core/kanji-data.test.js b/test/unit/core/kanji-data.test.js
index c4244f09..57bc0241 100644
--- a/test/unit/core/kanji-data.test.js
+++ b/test/unit/core/kanji-data.test.js
@@ -1,24 +1,24 @@
-var test = require('tap').test
-var BitBuffer = require('core/bit-buffer')
-var KanjiData = require('core/kanji-data')
-var Mode = require('core/mode')
-var toSJIS = require('helper/to-sjis')
+const test = require('tap').test
+const BitBuffer = require('core/bit-buffer')
+const KanjiData = require('core/kanji-data')
+const Mode = require('core/mode')
+const toSJIS = require('helper/to-sjis')
require('core/utils').setToSJISFunction(toSJIS)
test('Kanji Data', function (t) {
- var data = '漢字漾癶'
- var length = 4
- var bitLength = 52 // length * 13
+ const data = '漢字漾癶'
+ const length = 4
+ const bitLength = 52 // length * 13
- var dataBit = [57, 250, 134, 174, 129, 134, 0]
+ const dataBit = [57, 250, 134, 174, 129, 134, 0]
- var kanjiData = new KanjiData(data)
+ let kanjiData = new KanjiData(data)
t.equal(kanjiData.mode, Mode.KANJI, 'Mode should be KANJI')
t.equal(kanjiData.getLength(), length, 'Should return correct length')
t.equal(kanjiData.getBitsLength(), bitLength, 'Should return correct bit length')
- var bitBuffer = new BitBuffer()
+ let bitBuffer = new BitBuffer()
kanjiData.write(bitBuffer)
t.deepEqual(bitBuffer.buffer, dataBit, 'Should write correct data to buffer')
diff --git a/test/unit/core/mask-pattern.test.js b/test/unit/core/mask-pattern.test.js
index d8ebdde6..c6f58316 100755
--- a/test/unit/core/mask-pattern.test.js
+++ b/test/unit/core/mask-pattern.test.js
@@ -1,15 +1,15 @@
-var test = require('tap').test
-var BitMatrix = require('core/bit-matrix')
-var MaskPattern = require('core/mask-pattern')
+const test = require('tap').test
+const BitMatrix = require('core/bit-matrix')
+const MaskPattern = require('core/mask-pattern')
test('Mask pattern - Pattern references', function (t) {
- var patternsCount = Object.keys(MaskPattern.Patterns).length
+ const patternsCount = Object.keys(MaskPattern.Patterns).length
t.equals(patternsCount, 8, 'Should return 8 patterns')
t.end()
})
-var expectedPattern000 = [
+const expectedPattern000 = [
1, 0, 1, 0, 1, 0,
0, 1, 0, 1, 0, 1,
1, 0, 1, 0, 1, 0,
@@ -18,7 +18,7 @@ var expectedPattern000 = [
0, 1, 0, 1, 0, 1
]
-var expectedPattern001 = [
+const expectedPattern001 = [
1, 1, 1, 1, 1, 1,
0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1,
@@ -27,7 +27,7 @@ var expectedPattern001 = [
0, 0, 0, 0, 0, 0
]
-var expectedPattern010 = [
+const expectedPattern010 = [
1, 0, 0, 1, 0, 0,
1, 0, 0, 1, 0, 0,
1, 0, 0, 1, 0, 0,
@@ -36,7 +36,7 @@ var expectedPattern010 = [
1, 0, 0, 1, 0, 0
]
-var expectedPattern011 = [
+const expectedPattern011 = [
1, 0, 0, 1, 0, 0,
0, 0, 1, 0, 0, 1,
0, 1, 0, 0, 1, 0,
@@ -45,7 +45,7 @@ var expectedPattern011 = [
0, 1, 0, 0, 1, 0
]
-var expectedPattern100 = [
+const expectedPattern100 = [
1, 1, 1, 0, 0, 0,
1, 1, 1, 0, 0, 0,
0, 0, 0, 1, 1, 1,
@@ -54,7 +54,7 @@ var expectedPattern100 = [
1, 1, 1, 0, 0, 0
]
-var expectedPattern101 = [
+const expectedPattern101 = [
1, 1, 1, 1, 1, 1,
1, 0, 0, 0, 0, 0,
1, 0, 0, 1, 0, 0,
@@ -63,7 +63,7 @@ var expectedPattern101 = [
1, 0, 0, 0, 0, 0
]
-var expectedPattern110 = [
+const expectedPattern110 = [
1, 1, 1, 1, 1, 1,
1, 1, 1, 0, 0, 0,
1, 1, 0, 1, 1, 0,
@@ -72,7 +72,7 @@ var expectedPattern110 = [
1, 0, 0, 0, 1, 1
]
-var expectedPattern111 = [
+const expectedPattern111 = [
1, 0, 1, 0, 1, 0,
0, 0, 0, 1, 1, 1,
1, 0, 0, 0, 1, 1,
@@ -100,19 +100,19 @@ test('MaskPattern from value', function (t) {
})
test('Mask pattern - Apply mask', function (t) {
- var patterns = Object.keys(MaskPattern.Patterns).length
- var expectedPatterns = [
+ const patterns = Object.keys(MaskPattern.Patterns).length
+ const expectedPatterns = [
expectedPattern000, expectedPattern001, expectedPattern010, expectedPattern011,
expectedPattern100, expectedPattern101, expectedPattern110, expectedPattern111
]
- for (var p = 0; p < patterns; p++) {
- var matrix = new BitMatrix(6)
+ for (let p = 0; p < patterns; p++) {
+ const matrix = new BitMatrix(6)
MaskPattern.applyMask(p, matrix)
t.deepEqual(matrix.data, new Uint8Array(expectedPatterns[p]), 'Should return correct pattern')
}
- matrix = new BitMatrix(2)
+ const matrix = new BitMatrix(2)
matrix.set(0, 0, false, true)
matrix.set(0, 1, false, true)
matrix.set(1, 0, false, true)
@@ -127,7 +127,7 @@ test('Mask pattern - Apply mask', function (t) {
})
test('Mask pattern - Penalty N1', function (t) {
- var matrix = new BitMatrix(11)
+ let matrix = new BitMatrix(11)
matrix.data = [
1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1,
1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
@@ -170,7 +170,7 @@ test('Mask pattern - Penalty N1', function (t) {
})
test('Mask pattern - Penalty N2', function (t) {
- var matrix = new BitMatrix(8)
+ let matrix = new BitMatrix(8)
matrix.data = [
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 0, 0, 0, 1, 1,
@@ -205,7 +205,7 @@ test('Mask pattern - Penalty N2', function (t) {
})
test('Mask pattern - Penalty N3', function (t) {
- var matrix = new BitMatrix(11)
+ const matrix = new BitMatrix(11)
matrix.data = [
0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1,
0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1,
@@ -244,19 +244,19 @@ test('Mask pattern - Penalty N3', function (t) {
})
test('Mask pattern - Penalty N4', function (t) {
- var matrix = new BitMatrix(10)
+ const matrix = new BitMatrix(10)
matrix.data = new Array(50).fill(1).concat(new Array(50).fill(0))
t.equals(MaskPattern.getPenaltyN4(matrix), 0,
'Should return correct penalty points')
- var matrix2 = new BitMatrix(21)
+ const matrix2 = new BitMatrix(21)
matrix2.data = new Array(190).fill(1).concat(new Array(251).fill(0))
t.equals(MaskPattern.getPenaltyN4(matrix2), 10,
'Should return correct penalty points')
- var matrix3 = new BitMatrix(10)
+ const matrix3 = new BitMatrix(10)
matrix3.data = new Array(22).fill(1).concat(new Array(78).fill(0))
t.equals(MaskPattern.getPenaltyN4(matrix3), 50,
@@ -266,7 +266,7 @@ test('Mask pattern - Penalty N4', function (t) {
})
test('Mask pattern - Best mask', function (t) {
- var matrix = new BitMatrix(11)
+ const matrix = new BitMatrix(11)
matrix.data = [
0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1,
0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1,
@@ -281,7 +281,7 @@ test('Mask pattern - Best mask', function (t) {
1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0
]
- var mask = MaskPattern.getBestMask(matrix, function () {})
+ const mask = MaskPattern.getBestMask(matrix, function () {})
t.ok(!isNaN(mask), 'Should return a number')
t.ok(mask >= 0 && mask < 8,
diff --git a/test/unit/core/mode.test.js b/test/unit/core/mode.test.js
index 42d4fd5d..c5be302b 100644
--- a/test/unit/core/mode.test.js
+++ b/test/unit/core/mode.test.js
@@ -1,8 +1,8 @@
-var test = require('tap').test
-var Mode = require('core/mode')
+const test = require('tap').test
+const Mode = require('core/mode')
test('Mode bits', function (t) {
- var EXPECTED_BITS = {
+ const EXPECTED_BITS = {
numeric: 1,
alphanumeric: 2,
byte: 4,
@@ -20,14 +20,14 @@ test('Mode bits', function (t) {
})
test('Char count bits', function (t) {
- var EXPECTED_BITS = {
+ const EXPECTED_BITS = {
numeric: [10, 12, 14],
alphanumeric: [9, 11, 13],
byte: [8, 16, 16],
kanji: [8, 10, 12]
}
- var v
+ let v
for (v = 1; v < 10; v++) {
t.equal(Mode.getCharCountIndicator(Mode.NUMERIC, v), EXPECTED_BITS.numeric[0])
t.equal(Mode.getCharCountIndicator(Mode.ALPHANUMERIC, v), EXPECTED_BITS.alphanumeric[0])
@@ -60,7 +60,7 @@ test('Char count bits', function (t) {
test('Best mode', function (t) {
/* eslint-disable quote-props */
- var EXPECTED_MODE = {
+ const EXPECTED_MODE = {
'12345': Mode.NUMERIC,
'abcde': Mode.BYTE,
'1234a': Mode.BYTE,
@@ -94,14 +94,14 @@ test('Is valid', function (t) {
})
test('From value', function (t) {
- var modes = [
+ const modes = [
{ name: 'numeric', mode: Mode.NUMERIC },
{ name: 'alphanumeric', mode: Mode.ALPHANUMERIC },
{ name: 'kanji', mode: Mode.KANJI },
{ name: 'byte', mode: Mode.BYTE }
]
- for (var m = 0; m < modes.length; m++) {
+ for (let m = 0; m < modes.length; m++) {
t.equal(Mode.from(modes[m].name), modes[m].mode)
t.equal(Mode.from(modes[m].name.toUpperCase()), modes[m].mode)
t.equal(Mode.from(modes[m].mode), modes[m].mode)
diff --git a/test/unit/core/numeric-data.test.js b/test/unit/core/numeric-data.test.js
index 5c584b6a..ce6d2894 100644
--- a/test/unit/core/numeric-data.test.js
+++ b/test/unit/core/numeric-data.test.js
@@ -1,9 +1,9 @@
-var test = require('tap').test
-var BitBuffer = require('core/bit-buffer')
-var NumericData = require('core/numeric-data')
-var Mode = require('core/mode')
+const test = require('tap').test
+const BitBuffer = require('core/bit-buffer')
+const NumericData = require('core/numeric-data')
+const Mode = require('core/mode')
-var testData = [
+const testData = [
{
data: 8,
length: 1,
@@ -39,13 +39,13 @@ var testData = [
test('Numeric Data', function (t) {
testData.forEach(function (data) {
- var numericData = new NumericData(data.data)
+ const numericData = new NumericData(data.data)
t.equal(numericData.mode, Mode.NUMERIC, 'Mode should be NUMERIC')
t.equal(numericData.getLength(), data.length, 'Should return correct length')
t.equal(numericData.getBitsLength(), data.bitLength, 'Should return correct bit length')
- var bitBuffer = new BitBuffer()
+ const bitBuffer = new BitBuffer()
numericData.write(bitBuffer)
t.deepEqual(bitBuffer.buffer, data.dataBit, 'Should write correct data to buffer')
})
diff --git a/test/unit/core/polynomial.test.js b/test/unit/core/polynomial.test.js
index c6eff5ed..0cee1b30 100644
--- a/test/unit/core/polynomial.test.js
+++ b/test/unit/core/polynomial.test.js
@@ -1,12 +1,12 @@
-var test = require('tap').test
-var Poly = require('core/polynomial')
+const test = require('tap').test
+const Poly = require('core/polynomial')
test('Generator polynomial', function (t) {
- var result = Poly.generateECPolynomial(0)
+ const result = Poly.generateECPolynomial(0)
t.ok(result instanceof Uint8Array, 'Should return an Uint8Array')
t.deepEqual(result, new Uint8Array([1]), 'Should return coeff [1] for polynomial of degree 0')
- for (var e = 2; e <= 68; e++) {
+ for (let e = 2; e <= 68; e++) {
t.equal(Poly.generateECPolynomial(e).length, e + 1, 'Should return a number of coefficients equal to (degree + 1)')
}
@@ -14,10 +14,10 @@ test('Generator polynomial', function (t) {
})
test('Polynomial', function (t) {
- var p1 = [0, 1, 2, 3, 4]
- var p2 = [5, 6]
+ const p1 = [0, 1, 2, 3, 4]
+ const p2 = [5, 6]
- var result = Poly.mul(p1, p2)
+ let result = Poly.mul(p1, p2)
t.ok(result instanceof Uint8Array, 'Should return an Uint8Array')
t.equal(result.length, 6, 'Should return correct number of coefficients')
diff --git a/test/unit/core/qrcode.test.js b/test/unit/core/qrcode.test.js
index 85a24e5e..c4dbcae9 100644
--- a/test/unit/core/qrcode.test.js
+++ b/test/unit/core/qrcode.test.js
@@ -1,15 +1,15 @@
-var test = require('tap').test
-var ECLevel = require('core/error-correction-level')
-var Version = require('core/version')
-var QRCode = require('core/qrcode')
-var toSJIS = require('helper/to-sjis')
+const test = require('tap').test
+const ECLevel = require('core/error-correction-level')
+const Version = require('core/version')
+const QRCode = require('core/qrcode')
+const toSJIS = require('helper/to-sjis')
test('QRCode interface', function (t) {
t.type(QRCode.create, 'function', 'Should have "create" function')
t.throw(function () { QRCode.create() }, 'Should throw if no data is provided')
t.notThrow(function () { QRCode.create('1234567') }, 'Should not throw')
- var qr = QRCode.create('a123456A', {
+ let qr = QRCode.create('a123456A', {
version: 1,
maskPattern: 1,
errorCorrectionLevel: 'H'
@@ -17,7 +17,7 @@ test('QRCode interface', function (t) {
t.equal(qr.modules.size, 21, 'Should return correct modules count')
t.equal(qr.maskPattern, 1, 'Should return correct mask pattern')
- var darkModule = qr.modules.get(qr.modules.size - 8, 8)
+ const darkModule = qr.modules.get(qr.modules.size - 8, 8)
t.ok(darkModule, 'Should have a dark module at coords [size-8][8]')
t.throw(function () {
@@ -46,16 +46,16 @@ test('QRCode interface', function (t) {
})
test('QRCode error correction', function (t) {
- var qr
- var ecValues = [
+ let qr
+ const ecValues = [
{ name: ['l', 'low'], level: ECLevel.L },
{ name: ['m', 'medium'], level: ECLevel.M },
{ name: ['q', 'quartile'], level: ECLevel.Q },
{ name: ['h', 'high'], level: ECLevel.H }
]
- for (var l = 0; l < ecValues.length; l++) {
- for (var i = 0; i < ecValues[l].name.length; i++) {
+ for (let l = 0; l < ecValues.length; l++) {
+ for (let i = 0; i < ecValues[l].name.length; i++) {
t.notThrow(function () {
qr = QRCode.create('ABCDEFG', { errorCorrectionLevel: ecValues[l].name[i] })
}, 'Should accept errorCorrectionLevel value: ' + ecValues[l].name[i])
@@ -79,7 +79,7 @@ test('QRCode error correction', function (t) {
})
test('QRCode version', function (t) {
- var qr = QRCode.create('data', { version: 9, errorCorrectionLevel: ECLevel.M })
+ let qr = QRCode.create('data', { version: 9, errorCorrectionLevel: ECLevel.M })
t.equal(qr.version, 9, 'Should create qrcode with correct version')
t.equal(qr.errorCorrectionLevel, ECLevel.M, 'Should set correct EC level')
@@ -102,7 +102,7 @@ test('QRCode version', function (t) {
})
test('QRCode capacity', function (t) {
- var qr
+ let qr
qr = QRCode.create([{ data: 'abcdefg', mode: 'byte' }])
t.equal(qr.version, 1, 'Should contain 7 byte characters')
diff --git a/test/unit/core/reed-solomon-encoder.test.js b/test/unit/core/reed-solomon-encoder.test.js
index 59c67763..24b5108f 100644
--- a/test/unit/core/reed-solomon-encoder.test.js
+++ b/test/unit/core/reed-solomon-encoder.test.js
@@ -1,8 +1,8 @@
-var test = require('tap').test
-var RS = require('core/reed-solomon-encoder')
+const test = require('tap').test
+const RS = require('core/reed-solomon-encoder')
test('Reed-Solomon encoder', function (t) {
- var enc = new RS()
+ let enc = new RS()
t.notOk(enc.genPoly, 'Should have an undefined generator polynomial')
t.throw(function () { enc.encode([]) }, 'Should throw if generator polynomial is undefined')
@@ -11,11 +11,11 @@ test('Reed-Solomon encoder', function (t) {
t.equal(enc.degree, 2, 'Should set correct degree value')
t.ok(enc.genPoly, 'Generator polynomial should be defined')
- var result = enc.encode(new Uint8Array([48, 49, 50, 51, 52]))
+ const result = enc.encode(new Uint8Array([48, 49, 50, 51, 52]))
t.equal(result.length, 2, 'Should return a number of codewords equal to gen poly degree')
enc = new RS(2)
- var genPoly = enc.genPoly
+ const genPoly = enc.genPoly
t.equal(enc.degree, 2, 'Should set correct degree value')
t.ok(genPoly, 'Generator polynomial should be defined')
diff --git a/test/unit/core/regex.test.js b/test/unit/core/regex.test.js
index 9e541c80..f4cd8a1f 100644
--- a/test/unit/core/regex.test.js
+++ b/test/unit/core/regex.test.js
@@ -1,5 +1,5 @@
-var test = require('tap').test
-var Regex = require('core/regex')
+const test = require('tap').test
+const Regex = require('core/regex')
test('Regex', function (t) {
t.ok(Regex.NUMERIC instanceof RegExp,
diff --git a/test/unit/core/segments.test.js b/test/unit/core/segments.test.js
index 2cff280b..ecbbb5a3 100644
--- a/test/unit/core/segments.test.js
+++ b/test/unit/core/segments.test.js
@@ -1,13 +1,13 @@
-var test = require('tap').test
-var Mode = require('core/mode')
-var Segments = require('core/segments')
-var NumericData = require('core/numeric-data')
-var AlphanumericData = require('core/alphanumeric-data')
-var ByteData = require('core/byte-data')
-var toSJIS = require('helper/to-sjis')
-var Utils = require('core/utils')
+const test = require('tap').test
+const Mode = require('core/mode')
+const Segments = require('core/segments')
+const NumericData = require('core/numeric-data')
+const AlphanumericData = require('core/alphanumeric-data')
+const ByteData = require('core/byte-data')
+const toSJIS = require('helper/to-sjis')
+const Utils = require('core/utils')
-var testData = [
+let testData = [
{
input: '1A1',
result: [{ data: '1A1', mode: Mode.ALPHANUMERIC }]
@@ -135,7 +135,7 @@ var testData = [
}
]
-var kanjiTestData = [
+const kanjiTestData = [
{
input: '乂ЁЖぞβ',
result: [{ data: '乂ЁЖぞβ', mode: Mode.KANJI }]
@@ -209,7 +209,7 @@ test('Segments optimization', function (t) {
})
test('Segments raw split', function (t) {
- var splitted = [
+ const splitted = [
new ByteData('abc'),
new AlphanumericData('DEF'),
new NumericData('123')
diff --git a/test/unit/core/utils.test.js b/test/unit/core/utils.test.js
index 387820ae..c6b31700 100755
--- a/test/unit/core/utils.test.js
+++ b/test/unit/core/utils.test.js
@@ -1,11 +1,11 @@
-var test = require('tap').test
-var Utils = require('core/utils')
+const test = require('tap').test
+const Utils = require('core/utils')
/**
* QR Code sizes. Each element refers to a version
* @type {Array}
*/
-var EXPECTED_SYMBOL_SIZES = [
+const EXPECTED_SYMBOL_SIZES = [
21, 25, 29, 33, 37, 41, 45,
49, 53, 57, 61, 65, 69, 73,
77, 81, 85, 89, 93, 97, 101,
@@ -18,7 +18,7 @@ test('Symbol size', function (t) {
t.throws(function () { Utils.getSymbolSize(0) }, 'Should throw if version is not in range')
t.throws(function () { Utils.getSymbolSize(41) }, 'Should throw if version is not in range')
- for (var i = 1; i <= 40; i++) {
+ for (let i = 1; i <= 40; i++) {
t.equal(Utils.getSymbolSize(i), EXPECTED_SYMBOL_SIZES[i - 1], 'Should return correct symbol size')
}
@@ -26,7 +26,7 @@ test('Symbol size', function (t) {
})
test('Symbol codewords', function (t) {
- for (var i = 1; i <= 40; i++) {
+ for (let i = 1; i <= 40; i++) {
t.ok(Utils.getSymbolTotalCodewords(i), 'Should return positive number')
}
@@ -34,7 +34,7 @@ test('Symbol codewords', function (t) {
})
test('BCH Digit', function (t) {
- var testData = [
+ const testData = [
{ data: 0, bch: 0 },
{ data: 1, bch: 1 },
{ data: 2, bch: 2 },
@@ -57,7 +57,7 @@ test('Set/Get SJIS function', function (t) {
t.notOk(Utils.isKanjiModeEnabled(),
'Kanji mode should be disabled if "toSJIS" function is not set')
- var testFunc = function testFunc (c) {
+ const testFunc = function testFunc (c) {
return 'test_' + c
}
diff --git a/test/unit/core/version.test.js b/test/unit/core/version.test.js
index 4a63ca37..975cb0ab 100644
--- a/test/unit/core/version.test.js
+++ b/test/unit/core/version.test.js
@@ -1,16 +1,16 @@
-var test = require('tap').test
-var Version = require('core/version')
-var VersionCheck = require('core/version-check')
-var ECLevel = require('core/error-correction-level')
-var Mode = require('core/mode')
-var NumericData = require('core/numeric-data')
-var AlphanumericData = require('core/alphanumeric-data')
-var KanjiData = require('core/kanji-data')
-var ByteData = require('core/byte-data')
-
-var EC_LEVELS = [ECLevel.L, ECLevel.M, ECLevel.Q, ECLevel.H]
-
-var EXPECTED_NUMERIC_CAPACITY = [
+const test = require('tap').test
+const Version = require('core/version')
+const VersionCheck = require('core/version-check')
+const ECLevel = require('core/error-correction-level')
+const Mode = require('core/mode')
+const NumericData = require('core/numeric-data')
+const AlphanumericData = require('core/alphanumeric-data')
+const KanjiData = require('core/kanji-data')
+const ByteData = require('core/byte-data')
+
+const EC_LEVELS = [ECLevel.L, ECLevel.M, ECLevel.Q, ECLevel.H]
+
+const EXPECTED_NUMERIC_CAPACITY = [
[41, 34, 27, 17], [77, 63, 48, 34], [127, 101, 77, 58], [187, 149, 111, 82],
[255, 202, 144, 106], [322, 255, 178, 139], [370, 293, 207, 154], [461, 365, 259, 202],
[552, 432, 312, 235], [652, 513, 364, 288], [772, 604, 427, 331], [883, 691, 489, 374],
@@ -23,7 +23,7 @@ var EXPECTED_NUMERIC_CAPACITY = [
[6153, 4775, 3417, 2625], [6479, 5039, 3599, 2735], [6743, 5313, 3791, 2927], [7089, 5596, 3993, 3057]
]
-var EXPECTED_ALPHANUMERIC_CAPACITY = [
+const EXPECTED_ALPHANUMERIC_CAPACITY = [
[25, 20, 16, 10], [47, 38, 29, 20], [77, 61, 47, 35], [114, 90, 67, 50],
[154, 122, 87, 64], [195, 154, 108, 84], [224, 178, 125, 93], [279, 221, 157, 122],
[335, 262, 189, 143], [395, 311, 221, 174], [468, 366, 259, 200], [535, 419, 296, 227],
@@ -36,7 +36,7 @@ var EXPECTED_ALPHANUMERIC_CAPACITY = [
[3729, 2894, 2071, 1591], [3927, 3054, 2181, 1658], [4087, 3220, 2298, 1774], [4296, 3391, 2420, 1852]
]
-var EXPECTED_KANJI_CAPACITY = [
+const EXPECTED_KANJI_CAPACITY = [
[10, 8, 7, 4], [20, 16, 12, 8], [32, 26, 20, 15], [48, 38, 28, 21],
[65, 52, 37, 27], [82, 65, 45, 36], [95, 75, 53, 39], [118, 93, 66, 52],
[141, 111, 80, 60], [167, 131, 93, 74], [198, 155, 109, 85], [226, 177, 125, 96],
@@ -49,7 +49,7 @@ var EXPECTED_KANJI_CAPACITY = [
[1577, 1224, 876, 673], [1661, 1292, 923, 701], [1729, 1362, 972, 750], [1817, 1435, 1024, 784]
]
-var EXPECTED_BYTE_CAPACITY = [
+const EXPECTED_BYTE_CAPACITY = [
[17, 14, 11, 7], [32, 26, 20, 14], [53, 42, 32, 24], [78, 62, 46, 34],
[106, 84, 60, 44], [134, 106, 74, 58], [154, 122, 86, 64], [192, 152, 108, 84],
[230, 180, 130, 98], [271, 213, 151, 119], [321, 251, 177, 137], [367, 287, 203, 155],
@@ -62,7 +62,7 @@ var EXPECTED_BYTE_CAPACITY = [
[2563, 1989, 1423, 1093], [2699, 2099, 1499, 1139], [2809, 2213, 1579, 1219], [2953, 2331, 1663, 1273]
]
-var EXPECTED_VERSION_BITS = [
+const EXPECTED_VERSION_BITS = [
0x07C94, 0x085BC, 0x09A99, 0x0A4D3, 0x0BBF6, 0x0C762, 0x0D847, 0x0E60D,
0x0F928, 0x10B78, 0x1145D, 0x12A17, 0x13532, 0x149A6, 0x15683, 0x168C9,
0x177EC, 0x18EC4, 0x191E1, 0x1AFAB, 0x1B08E, 0x1CC1A, 0x1D33F, 0x1ED75,
@@ -94,8 +94,8 @@ test('Version capacity', function (t) {
t.throws(function () { Version.getCapacity(0) }, 'Should throw if version is not in range')
t.throws(function () { Version.getCapacity(41) }, 'Should throw if version is not in range')
- for (var l = 0; l < EC_LEVELS.length; l++) {
- for (var i = 1; i <= 40; i++) {
+ for (let l = 0; l < EC_LEVELS.length; l++) {
+ for (let i = 1; i <= 40; i++) {
t.equal(Version.getCapacity(i, EC_LEVELS[l], Mode.NUMERIC),
EXPECTED_NUMERIC_CAPACITY[i - 1][l], 'Should return correct numeric mode capacity')
@@ -118,10 +118,10 @@ test('Version capacity', function (t) {
test('Version best match', function (t) {
function testBestVersionForCapacity (expectedCapacity, DataCtor) {
- for (var v = 0; v < 40; v++) {
- for (var l = 0; l < EC_LEVELS.length; l++) {
- var capacity = expectedCapacity[v][l]
- var data = new DataCtor(new Array(capacity + 1).join('-'))
+ for (let v = 0; v < 40; v++) {
+ for (let l = 0; l < EC_LEVELS.length; l++) {
+ const capacity = expectedCapacity[v][l]
+ const data = new DataCtor(new Array(capacity + 1).join('-'))
t.equal(Version.getBestVersionForData(data, EC_LEVELS[l]), v + 1, 'Should return best version')
t.equal(Version.getBestVersionForData([data], EC_LEVELS[l]), v + 1, 'Should return best version')
@@ -135,10 +135,10 @@ test('Version best match', function (t) {
}
}
- for (var i = 0; i < EC_LEVELS.length; i++) {
- var exceededCapacity = expectedCapacity[39][i] + 1
- var tooBigData = new DataCtor(new Array(exceededCapacity + 1).join('-'))
- var tooBigDataArray = [
+ for (let i = 0; i < EC_LEVELS.length; i++) {
+ const exceededCapacity = expectedCapacity[39][i] + 1
+ const tooBigData = new DataCtor(new Array(exceededCapacity + 1).join('-'))
+ const tooBigDataArray = [
new DataCtor(new Array(Math.floor(exceededCapacity / 2)).join('-')),
new DataCtor(new Array(Math.floor(exceededCapacity / 2) + 1).join('-'))
]
@@ -167,7 +167,7 @@ test('Version best match', function (t) {
})
test('Version encoded info', function (t) {
- var v
+ let v
for (v = 0; v < 7; v++) {
t.throws(function () { Version.getEncodedBits(v) },
@@ -175,7 +175,7 @@ test('Version encoded info', function (t) {
}
for (v = 7; v <= 40; v++) {
- var bch = Version.getEncodedBits(v)
+ const bch = Version.getEncodedBits(v)
t.equal(bch, EXPECTED_VERSION_BITS[v - 7], 'Should return correct bits')
}
diff --git a/test/unit/helper/sjis.test.js b/test/unit/helper/sjis.test.js
index 299e41ad..c3c3f32b 100644
--- a/test/unit/helper/sjis.test.js
+++ b/test/unit/helper/sjis.test.js
@@ -1,5 +1,5 @@
-var test = require('tap').test
-var toSJIS = require('helper/to-sjis')
+const test = require('tap').test
+const toSJIS = require('helper/to-sjis')
test('SJIS from char', function (t) {
t.notOk(toSJIS(''),
diff --git a/test/unit/renderer/canvas.test.js b/test/unit/renderer/canvas.test.js
index 263d3b66..d24b548c 100644
--- a/test/unit/renderer/canvas.test.js
+++ b/test/unit/renderer/canvas.test.js
@@ -1,7 +1,7 @@
-var test = require('tap').test
-var { Canvas, createCanvas } = require('canvas')
-var QRCode = require('core/qrcode')
-var CanvasRenderer = require('renderer/canvas')
+const test = require('tap').test
+const { Canvas, createCanvas } = require('canvas')
+const QRCode = require('core/qrcode')
+const CanvasRenderer = require('renderer/canvas')
test('CanvasRenderer interface', function (t) {
t.type(CanvasRenderer.render, 'function',
@@ -23,8 +23,8 @@ test('CanvasRenderer render', function (t) {
}
}
- var sampleQrData = QRCode.create('sample text', { version: 2 })
- var canvasEl
+ const sampleQrData = QRCode.create('sample text', { version: 2 })
+ let canvasEl
t.notThrow(function () { canvasEl = CanvasRenderer.render(sampleQrData) },
'Should not throw if canvas is not provided')
@@ -55,8 +55,8 @@ test('CanvasRenderer render', function (t) {
})
test('CanvasRenderer render to provided canvas', function (t) {
- var sampleQrData = QRCode.create('sample text', { version: 2 })
- var canvasEl = createCanvas(200, 200)
+ const sampleQrData = QRCode.create('sample text', { version: 2 })
+ const canvasEl = createCanvas(200, 200)
t.notThrow(function () { CanvasRenderer.render(sampleQrData, canvasEl) },
'Should not throw with only qrData and canvas param')
@@ -88,8 +88,8 @@ test('CanvasRenderer renderToDataURL', function (t) {
}
}
- var sampleQrData = QRCode.create('sample text', { version: 2 })
- var url
+ const sampleQrData = QRCode.create('sample text', { version: 2 })
+ let url
t.notThrow(function () { url = CanvasRenderer.renderToDataURL(sampleQrData) },
'Should not throw if canvas is not provided')
@@ -108,7 +108,7 @@ test('CanvasRenderer renderToDataURL', function (t) {
t.equal(url.split(',')[0], 'data:image/png;base64',
'Should have correct header')
- var b64png = url.split(',')[1]
+ const b64png = url.split(',')[1]
t.equal(b64png.length % 4, 0,
'Should have a correct length')
@@ -117,9 +117,9 @@ test('CanvasRenderer renderToDataURL', function (t) {
})
test('CanvasRenderer renderToDataURL to provided canvas', function (t) {
- var sampleQrData = QRCode.create('sample text', { version: 2 })
- var canvasEl = createCanvas(200, 200)
- var url
+ const sampleQrData = QRCode.create('sample text', { version: 2 })
+ const canvasEl = createCanvas(200, 200)
+ let url
t.notThrow(function () {
url = CanvasRenderer.renderToDataURL(sampleQrData, canvasEl)
@@ -139,7 +139,7 @@ test('CanvasRenderer renderToDataURL to provided canvas', function (t) {
t.equal(url.split(',')[0], 'data:image/png;base64',
'Should have correct header')
- var b64png = url.split(',')[1]
+ const b64png = url.split(',')[1]
t.equal(b64png.length % 4, 0,
'Should have a correct length')
diff --git a/test/unit/renderer/png.test.js b/test/unit/renderer/png.test.js
index f342b09e..6117923d 100644
--- a/test/unit/renderer/png.test.js
+++ b/test/unit/renderer/png.test.js
@@ -1,10 +1,10 @@
-var test = require('tap').test
-var sinon = require('sinon')
-var fs = require('fs')
-var QRCode = require('core/qrcode')
-var PngRenderer = require('renderer/png')
-var PNG = require('pngjs').PNG
-var StreamMock = require('../../mocks/writable-stream')
+const test = require('tap').test
+const sinon = require('sinon')
+const fs = require('fs')
+const QRCode = require('core/qrcode')
+const PngRenderer = require('renderer/png')
+const PNG = require('pngjs').PNG
+const StreamMock = require('../../mocks/writable-stream')
test('PNG renderer interface', function (t) {
t.type(PngRenderer.render, 'function',
@@ -23,8 +23,8 @@ test('PNG renderer interface', function (t) {
})
test('PNG render', function (t) {
- var sampleQrData = QRCode.create('sample text', { version: 2 })
- var png
+ const sampleQrData = QRCode.create('sample text', { version: 2 })
+ let png
t.notThrow(function () { png = PngRenderer.render(sampleQrData) },
'Should not throw with only qrData param')
@@ -57,7 +57,7 @@ test('PNG render', function (t) {
})
test('PNG renderToDataURL', function (t) {
- var sampleQrData = QRCode.create('sample text', { version: 2 })
+ const sampleQrData = QRCode.create('sample text', { version: 2 })
t.plan(6)
@@ -79,7 +79,7 @@ test('PNG renderToDataURL', function (t) {
t.equal(url.split(',')[0], 'data:image/png;base64',
'Should have correct header')
- var b64png = url.split(',')[1]
+ const b64png = url.split(',')[1]
t.equal(b64png.length % 4, 0,
'Should have a correct length')
}
@@ -87,9 +87,9 @@ test('PNG renderToDataURL', function (t) {
})
test('PNG renderToFile', function (t) {
- var sampleQrData = QRCode.create('sample text', { version: 2 })
- var fileName = 'qrimage.png'
- var fsStub = sinon.stub(fs, 'createWriteStream')
+ const sampleQrData = QRCode.create('sample text', { version: 2 })
+ const fileName = 'qrimage.png'
+ let fsStub = sinon.stub(fs, 'createWriteStream')
fsStub.returns(new StreamMock())
t.plan(6)
@@ -126,7 +126,7 @@ test('PNG renderToFile', function (t) {
})
test('PNG renderToFileStream', function (t) {
- var sampleQrData = QRCode.create('sample text', { version: 2 })
+ const sampleQrData = QRCode.create('sample text', { version: 2 })
t.notThrow(function () {
PngRenderer.renderToFileStream(new StreamMock(), sampleQrData)
diff --git a/test/unit/renderer/svg.test.js b/test/unit/renderer/svg.test.js
index 4b705429..cf2e07ea 100644
--- a/test/unit/renderer/svg.test.js
+++ b/test/unit/renderer/svg.test.js
@@ -1,20 +1,20 @@
-var test = require('tap').test
-var sinon = require('sinon')
-var fs = require('fs')
-var htmlparser = require('htmlparser2')
-var QRCode = require('core/qrcode')
-var SvgRenderer = require('renderer/svg')
+const test = require('tap').test
+const sinon = require('sinon')
+const fs = require('fs')
+const htmlparser = require('htmlparser2')
+const QRCode = require('core/qrcode')
+const SvgRenderer = require('renderer/svg')
function getExpectedViewbox (size, margin) {
- var expectedQrCodeSize = size + margin * 2
+ const expectedQrCodeSize = size + margin * 2
return '0 0 ' + expectedQrCodeSize + ' ' + expectedQrCodeSize
}
function testSvgFragment (t, svgFragment, expectedTags) {
return new Promise(function (resolve, reject) {
- var parser = new htmlparser.Parser({
+ const parser = new htmlparser.Parser({
onopentag: function (name, attribs) {
- var tag = expectedTags.shift()
+ const tag = expectedTags.shift()
t.equal(tag.name, name,
'Should have a ' + tag.name + ' tag')
@@ -40,7 +40,7 @@ function testSvgFragment (t, svgFragment, expectedTags) {
}
function buildTest (t, data, opts, expectedTags) {
- var svg = SvgRenderer.render(data, opts)
+ const svg = SvgRenderer.render(data, opts)
return testSvgFragment(t, svg, expectedTags.slice())
}
@@ -55,10 +55,10 @@ test('svgrender interface', function (t) {
})
test('Svg render', function (t) {
- var tests = []
+ const tests = []
- var data = QRCode.create('sample text', { version: 2 })
- var size = data.modules.size
+ const data = QRCode.create('sample text', { version: 2 })
+ const size = data.modules.size
tests.push(buildTest(t, data, {
scale: 4,
@@ -141,9 +141,9 @@ test('Svg render', function (t) {
})
test('Svg renderToFile', function (t) {
- var sampleQrData = QRCode.create('sample text', { version: 2 })
- var fileName = 'qrimage.svg'
- var fsStub = sinon.stub(fs, 'writeFile').callsArg(2)
+ const sampleQrData = QRCode.create('sample text', { version: 2 })
+ const fileName = 'qrimage.svg'
+ let fsStub = sinon.stub(fs, 'writeFile').callsArg(2)
t.plan(5)
diff --git a/test/unit/renderer/terminal.test.js b/test/unit/renderer/terminal.test.js
index 25891acc..b0ada4d0 100644
--- a/test/unit/renderer/terminal.test.js
+++ b/test/unit/renderer/terminal.test.js
@@ -1,6 +1,6 @@
-var test = require('tap').test
-var QRCode = require('core/qrcode')
-var TerminalRenderer = require('renderer/terminal')
+const test = require('tap').test
+const QRCode = require('core/qrcode')
+const TerminalRenderer = require('renderer/terminal')
test('TerminalRenderer interface', function (t) {
t.type(TerminalRenderer.render, 'function',
@@ -10,8 +10,8 @@ test('TerminalRenderer interface', function (t) {
})
test('TerminalRenderer render', function (t) {
- var sampleQrData = QRCode.create('sample text', { version: 2 })
- var str
+ const sampleQrData = QRCode.create('sample text', { version: 2 })
+ let str
t.notThrow(function () { str = TerminalRenderer.render(sampleQrData) },
'Should not throw with only qrData param')
diff --git a/test/unit/renderer/utf8.test.js b/test/unit/renderer/utf8.test.js
index f80950e5..e4ef6e64 100644
--- a/test/unit/renderer/utf8.test.js
+++ b/test/unit/renderer/utf8.test.js
@@ -1,8 +1,8 @@
-var test = require('tap').test
-var sinon = require('sinon')
-var fs = require('fs')
-var QRCode = require('core/qrcode')
-var Utf8Renderer = require('renderer/utf8')
+const test = require('tap').test
+const sinon = require('sinon')
+const fs = require('fs')
+const QRCode = require('core/qrcode')
+const Utf8Renderer = require('renderer/utf8')
test('Utf8Renderer interface', function (t) {
t.type(Utf8Renderer.render, 'function',
@@ -12,8 +12,8 @@ test('Utf8Renderer interface', function (t) {
})
test('Utf8Renderer render', function (t) {
- var sampleQrData = QRCode.create('sample text', { version: 2 })
- var str
+ const sampleQrData = QRCode.create('sample text', { version: 2 })
+ let str
t.notThrow(function () { str = Utf8Renderer.render(sampleQrData) },
'Should not throw with only qrData param')
@@ -32,9 +32,9 @@ test('Utf8Renderer render', function (t) {
})
test('Utf8 renderToFile', function (t) {
- var sampleQrData = QRCode.create('sample text', { version: 2 })
- var fileName = 'qrimage.txt'
- var fsStub = sinon.stub(fs, 'writeFile').callsArg(2)
+ const sampleQrData = QRCode.create('sample text', { version: 2 })
+ const fileName = 'qrimage.txt'
+ let fsStub = sinon.stub(fs, 'writeFile').callsArg(2)
t.plan(5)
diff --git a/test/unit/renderer/utils.test.js b/test/unit/renderer/utils.test.js
index 4649041c..d5eae61e 100644
--- a/test/unit/renderer/utils.test.js
+++ b/test/unit/renderer/utils.test.js
@@ -1,8 +1,8 @@
-var test = require('tap').test
-var Utils = require('renderer/utils')
+const test = require('tap').test
+const Utils = require('renderer/utils')
test('Utils getOptions', function (t) {
- var defaultOptions = {
+ const defaultOptions = {
width: undefined,
scale: 4,
margin: 4,
@@ -59,7 +59,7 @@ test('Utils getOptions', function (t) {
})
test('Utils getScale', function (t) {
- var symbolSize = 21
+ const symbolSize = 21
t.equal(Utils.getScale(symbolSize, { scale: 5 }), 5,
'Should return correct scale value')
@@ -74,7 +74,7 @@ test('Utils getScale', function (t) {
})
test('Utils getImageWidth', function (t) {
- var symbolSize = 21
+ const symbolSize = 21
t.equal(Utils.getImageWidth(symbolSize, { scale: 5, margin: 0 }), 105,
'Should return correct width value')
@@ -92,7 +92,7 @@ test('Utils qrToImageData', function (t) {
t.ok(Utils.qrToImageData,
'qrToImageData should be defined')
- var sampleQrData = {
+ const sampleQrData = {
modules: {
data: [
1, 0, 1, 0,
@@ -104,24 +104,24 @@ test('Utils qrToImageData', function (t) {
}
}
- var margin = 4
- var scale = 2
- var width = 100
+ const margin = 4
+ const scale = 2
+ const width = 100
- var color = {
+ const color = {
dark: { r: 255, g: 255, b: 255, a: 255 },
light: { r: 0, g: 0, b: 0, a: 255 }
}
- var opts = {
+ const opts = {
margin: margin,
scale: scale,
color: color
}
- var imageData = []
- var expectedImageSize = (sampleQrData.modules.size + margin * 2) * scale
- var expectedImageDataLength = Math.pow(expectedImageSize, 2) * 4
+ let imageData = []
+ const expectedImageSize = (sampleQrData.modules.size + margin * 2) * scale
+ let expectedImageDataLength = Math.pow(expectedImageSize, 2) * 4
Utils.qrToImageData(imageData, sampleQrData, opts)