qrcode-generator-ts
Version:
Typescript QR Code generator based on https://github.com/kazuhikoarase/qrcode-generator
50 lines • 1.67 kB
JavaScript
;
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var QRData_1 = require('./QRData');
var Mode_1 = require('./Mode');
;
var QRNumber = (function (_super) {
__extends(QRNumber, _super);
function QRNumber(data) {
_super.call(this, Mode_1.Mode.MODE_NUMBER, data);
}
QRNumber.prototype.write = function (buffer) {
var data = this.getData();
var i = 0;
while (i + 2 < data.length) {
buffer.put(QRNumber.strToNum(data.substring(i, i + 3)), 10);
i += 3;
}
if (i < data.length) {
if (data.length - i == 1) {
buffer.put(QRNumber.strToNum(data.substring(i, i + 1)), 4);
}
else if (data.length - i == 2) {
buffer.put(QRNumber.strToNum(data.substring(i, i + 2)), 7);
}
}
};
QRNumber.prototype.getLength = function () {
return this.getData().length;
};
QRNumber.strToNum = function (s) {
var num = 0;
for (var i = 0; i < s.length; i += 1) {
num = num * 10 + QRNumber.chatToNum(s.charAt(i));
}
return num;
};
QRNumber.chatToNum = function (c) {
if ('0' <= c && c <= '9') {
return c.charCodeAt(0) - '0'.charCodeAt(0);
}
throw 'illegal char :' + c;
};
return QRNumber;
}(QRData_1.QRData));
exports.QRNumber = QRNumber;
//# sourceMappingURL=QRNumber.js.map