import BitArray from '../common/BitArray'; import DecodeHintType from '../DecodeHintType'; import Result from '../Result'; import OneDReader from './OneDReader'; /** *
Encapsulates functionality and implementation that is common to UPC and EAN families * of one-dimensional barcodes.
* * @author dswitkin@google.com (Daniel Switkin) * @author Sean Owen * @author alasdair@google.com (Alasdair Mackintosh) */ export default abstract class UPCEANReader extends OneDReader { private static MAX_AVG_VARIANCE; private static MAX_INDIVIDUAL_VARIANCE; /** * Start/end guard pattern. */ static START_END_PATTERN: number[]; /** * Pattern marking the middle of a UPC/EAN pattern, separating the two halves. */ static MIDDLE_PATTERN: number[]; /** * end guard pattern. */ static END_PATTERN: number[]; /** * "Odd", or "L" patterns used to encode UPC/EAN digits. */ static L_PATTERNS: number[][]; /** * As above but also including the "even", or "G" patterns used to encode UPC/EAN digits. */ static L_AND_G_PATTERNS: number[][]; private decodeRowStringBuffer; constructor(); static findStartGuardPattern(row: BitArray): number[]; decodeRow(rowNumber: number, row: BitArray, hints?: Map