node-qrcode-lite/lib/core/byte-data.js
2022-09-29 09:42:14 +02:00

30 lines
675 B
JavaScript

const Mode = require('./mode')
function ByteData (data) {
this.mode = Mode.BYTE
if (typeof (data) === 'string') {
this.data = new TextEncoder().encode(data)
} else {
this.data = new Uint8Array(data)
}
}
ByteData.getBitsLength = function getBitsLength (length) {
return length * 8
}
ByteData.prototype.getLength = function getLength () {
return this.data.length
}
ByteData.prototype.getBitsLength = function getBitsLength () {
return ByteData.getBitsLength(this.data.length)
}
ByteData.prototype.write = function (bitBuffer) {
for (let i = 0, l = this.data.length; i < l; i++) {
bitBuffer.put(this.data[i], 8)
}
}
module.exports = ByteData