UNPKG

@zxing/library

Version:

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

34 lines 1.76 kB
import AI01decoder from './AI01decoder'; import NotFoundException from '../../../../NotFoundException'; import StringBuilder from '../../../../util/StringBuilder'; export default class AI01393xDecoder extends AI01decoder { constructor(information) { super(information); } parseInformation() { if (this.getInformation().getSize() < AI01393xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE) { throw new NotFoundException(); } let buf = new StringBuilder(); this.encodeCompressedGtin(buf, AI01393xDecoder.HEADER_SIZE); let lastAIdigit = this.getGeneralDecoder().extractNumericValueFromBitArray(AI01393xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE, AI01393xDecoder.LAST_DIGIT_SIZE); buf.append("(393"); buf.append(lastAIdigit); buf.append(')'); let firstThreeDigits = this.getGeneralDecoder().extractNumericValueFromBitArray(AI01393xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE + AI01393xDecoder.LAST_DIGIT_SIZE, AI01393xDecoder.FIRST_THREE_DIGITS_SIZE); if (firstThreeDigits / 100 == 0) { buf.append('0'); } if (firstThreeDigits / 10 == 0) { buf.append('0'); } buf.append(firstThreeDigits); let generalInformation = this.getGeneralDecoder().decodeGeneralPurposeField(AI01393xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE + AI01393xDecoder.LAST_DIGIT_SIZE + AI01393xDecoder.FIRST_THREE_DIGITS_SIZE, null); buf.append(generalInformation.getNewString()); return buf.toString(); } } AI01393xDecoder.HEADER_SIZE = 5 + 1 + 2; AI01393xDecoder.LAST_DIGIT_SIZE = 2; AI01393xDecoder.FIRST_THREE_DIGITS_SIZE = 10; //# sourceMappingURL=AI01393xDecoder.js.map