@zxing/library
Version:
TypeScript port of ZXing multi-format 1D/2D barcode image processing library.
30 lines (29 loc) • 981 B
JavaScript
/**
* <p>Encapsulates a set of error-correction blocks in one symbol version. Most versions will
* use blocks of differing sizes within one version, so, this encapsulates the parameters for
* each set of blocks. It also holds the number of error-correction codewords per block since it
* will be the same across all blocks within one version.</p>
*/
export default class ECBlocks {
constructor(ecCodewordsPerBlock /*int*/, ...ecBlocks) {
this.ecCodewordsPerBlock = ecCodewordsPerBlock;
this.ecBlocks = ecBlocks;
}
getECCodewordsPerBlock() {
return this.ecCodewordsPerBlock;
}
getNumBlocks() {
let total = 0;
const ecBlocks = this.ecBlocks;
for (const ecBlock of ecBlocks) {
total += ecBlock.getCount();
}
return total;
}
getTotalECCodewords() {
return this.ecCodewordsPerBlock * this.getNumBlocks();
}
getECBlocks() {
return this.ecBlocks;
}
}