qrcode-generator-ts
Version:
Typescript QR Code generator based on https://github.com/kazuhikoarase/qrcode-generator
209 lines • 6.87 kB
JavaScript
"use strict";
var ErrorCorrectLevel_1 = require('./ErrorCorrectLevel');
'use strict';
var RSBlock = (function () {
function RSBlock(totalCount, dataCount) {
this.totalCount = totalCount;
this.dataCount = dataCount;
}
RSBlock.prototype.getDataCount = function () {
return this.dataCount;
};
RSBlock.prototype.getTotalCount = function () {
return this.totalCount;
};
RSBlock.getRSBlocks = function (typeNumber, errorCorrectLevel) {
var rsBlock = RSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);
var length = rsBlock.length / 3;
var list = [];
for (var i = 0; i < length; i += 1) {
var count = rsBlock[i * 3 + 0];
var totalCount = rsBlock[i * 3 + 1];
var dataCount = rsBlock[i * 3 + 2];
for (var j = 0; j < count; j += 1) {
list.push(new RSBlock(totalCount, dataCount));
}
}
return list;
};
RSBlock.getRsBlockTable = function (typeNumber, errorCorrectLevel) {
switch (errorCorrectLevel) {
case ErrorCorrectLevel_1.ErrorCorrectLevel.L:
return RSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];
case ErrorCorrectLevel_1.ErrorCorrectLevel.M:
return RSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];
case ErrorCorrectLevel_1.ErrorCorrectLevel.Q:
return RSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];
case ErrorCorrectLevel_1.ErrorCorrectLevel.H:
return RSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];
default:
break;
}
throw 'tn:' + typeNumber + '/ecl:' + errorCorrectLevel;
};
RSBlock.RS_BLOCK_TABLE = [
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[]
];
return RSBlock;
}());
exports.RSBlock = RSBlock;
//# sourceMappingURL=RSBlock.js.map