UNPKG

@zxing/library

Version:

TypeScript port of ZXing multi-format 1D/2D barcode image processing library.

43 lines 1.5 kB
import BitArray from '../../../common/BitArray'; export default class BitArrayBuilder { constructor() { } static buildBitArray(pairs) { let charNumber = (pairs.length * 2) - 1; if (pairs[pairs.length - 1].getRightChar() == null) { charNumber -= 1; } let size = 12 * charNumber; let binary = new BitArray(size); let accPos = 0; let firstPair = pairs[0]; let firstValue = firstPair.getRightChar().getValue(); for (let i = 11; i >= 0; --i) { if ((firstValue & (1 << i)) != 0) { binary.set(accPos); } accPos++; } for (let i = 1; i < pairs.length; ++i) { let currentPair = pairs[i]; let leftValue = currentPair.getLeftChar().getValue(); for (let j = 11; j >= 0; --j) { if ((leftValue & (1 << j)) != 0) { binary.set(accPos); } accPos++; } if (currentPair.getRightChar() != null) { let rightValue = currentPair.getRightChar().getValue(); for (let j = 11; j >= 0; --j) { if ((rightValue & (1 << j)) != 0) { binary.set(accPos); } accPos++; } } } return binary; } } //# sourceMappingURL=BitArrayBuilder.js.map