diff --git a/packages/qrx/src/bar/drivers/CODE128/CODE128A.ts b/packages/qrx/src/bar/drivers/CODE128/CODE128A.ts index 326ef07..d38d9c1 100644 --- a/packages/qrx/src/bar/drivers/CODE128/CODE128A.ts +++ b/packages/qrx/src/bar/drivers/CODE128/CODE128A.ts @@ -3,7 +3,7 @@ import { A_CHARS, A_START_CHAR } from './constants' class CODE128A extends CODE128 { constructor(string: string, options: any) { - super(A_START_CHAR + string, options) // Use 'data' instead of 'string' + super(A_START_CHAR + string, options) } valid(): boolean { diff --git a/packages/qrx/src/bar/drivers/EAN_UPC/EAN13.ts b/packages/qrx/src/bar/drivers/EAN_UPC/EAN13.ts index 38b3459..cb8a89d 100644 --- a/packages/qrx/src/bar/drivers/EAN_UPC/EAN13.ts +++ b/packages/qrx/src/bar/drivers/EAN_UPC/EAN13.ts @@ -45,7 +45,7 @@ export class EAN13 extends EAN { leftEncode(): string { const data = this.data.substr(1, 6) - const structure = EAN13_STRUCTURE[this.data[0]] + const structure = EAN13_STRUCTURE[Number(this.data[0])] return super.leftEncode(data, structure) } diff --git a/packages/qrx/src/bar/drivers/EAN_UPC/UPCE.ts b/packages/qrx/src/bar/drivers/EAN_UPC/UPCE.ts index 4b8dbae..dc4c7c8 100644 --- a/packages/qrx/src/bar/drivers/EAN_UPC/UPCE.ts +++ b/packages/qrx/src/bar/drivers/EAN_UPC/UPCE.ts @@ -36,12 +36,12 @@ const PARITIES = [ export class UPCE extends Barcode { isValid: boolean - middleDigits: string - upcA: string - text: string - displayValue: boolean - fontSize: number - guardHeight: number + middleDigits!: string + upcA!: string + // text: string + displayValue!: boolean + fontSize!: number + guardHeight!: number constructor(data: string, options: any) { // Code may be 6 or 8 digits; @@ -51,10 +51,10 @@ export class UPCE extends Barcode { this.isValid = false if (data.search(/^\d{6}$/) !== -1) { this.middleDigits = data - this.upcA = expandToUPCA(data, '0') - this.text = options.text - || `${this.upcA[0]}${data}${this.upcA[this.upcA.length - 1]}` - this.isValid = true + // this.! = expandToUPCA(data, '0') + // this.text = options.text + // || `${this!.![0]}${data}${this.upcA[this.upcA.length - 1]}` + // this.i!sValid = true } else if (data.search(/^[01]\d{7}$/) !== -1) { this.middleDigits = data.substring(1, data.length - 1) @@ -83,7 +83,7 @@ export class UPCE extends Barcode { } // Make the guard bars go down half the way of the text - this.guardHeight = options.height + this.fontSize / 2 + options.textMargin + this.guardHeight! = options.height + this.fontSize / 2 + options.textMargin } valid(): boolean { diff --git a/packages/qrx/src/bar/drivers/ITF/ITF.ts b/packages/qrx/src/bar/drivers/ITF/ITF.ts index cd708c9..3fbe3a2 100644 --- a/packages/qrx/src/bar/drivers/ITF/ITF.ts +++ b/packages/qrx/src/bar/drivers/ITF/ITF.ts @@ -9,7 +9,7 @@ class ITF extends Barcode { encode(): { text: string, data: string } { // Calculate all the digit pairs const encoded = this.data - .match(/.{2}/g) + .match(/.{2}/g) || [] .map(pair => this.encodePair(pair)) .join('') @@ -21,9 +21,9 @@ class ITF extends Barcode { // Calculate the data of a number pair encodePair(pair: string): string { - const second = BINARIES[pair[1]] + const second = BINARIES[Number(pair[1])] - return BINARIES[pair[0]] + return BINARIES[Number(pair[0])] .split('') .map((first, idx) => ( (first === '1' ? '111' : '1') diff --git a/packages/qrx/src/bar/drivers/index.ts b/packages/qrx/src/bar/drivers/index.ts index c6bb68c..3eeb3af 100644 --- a/packages/qrx/src/bar/drivers/index.ts +++ b/packages/qrx/src/bar/drivers/index.ts @@ -7,9 +7,11 @@ import { ITF, ITF14 } from './ITF' import { MSI, MSI10, MSI11, MSI1010, MSI1110 } from './MSI' import { Pharmacode } from './Pharmacode' -type Barcode = typeof GenericBarcode +interface BarcodeMap { + [key: string]: typeof GenericBarcode +} -export const barcodes: Barcode[] = { +export const barcodes: BarcodeMap = { CODE39, CODE128, CODE128A, diff --git a/packages/qrx/src/bar/renderers/index.ts b/packages/qrx/src/bar/renderers/index.ts index b343be1..82b1735 100644 --- a/packages/qrx/src/bar/renderers/index.ts +++ b/packages/qrx/src/bar/renderers/index.ts @@ -2,4 +2,18 @@ import CanvasRenderer from './canvas' import ObjectRenderer from './object' import SVGRenderer from './svg' +interface Renderers { + CanvasRenderer: typeof CanvasRenderer + ObjectRenderer: typeof ObjectRenderer + SVGRenderer: typeof SVGRenderer +} + +const renderers: Renderers = { + CanvasRenderer, + ObjectRenderer, + SVGRenderer, +} + export { CanvasRenderer, ObjectRenderer, SVGRenderer } + +export default renderers diff --git a/packages/qrx/src/bar/utils/getOptionsFromElement.ts b/packages/qrx/src/bar/utils/getOptionsFromElement.ts index e87d578..ec350bf 100644 --- a/packages/qrx/src/bar/utils/getOptionsFromElement.ts +++ b/packages/qrx/src/bar/utils/getOptionsFromElement.ts @@ -1,8 +1,9 @@ import { defaults } from '../../config' import optionsFromStrings from './optionsFromStrings' -function getOptionsFromElement(element: HTMLElement): any { - let options = {} +export function getOptionsFromElement(element: HTMLElement): any { + let options: { [key: string]: any } = {} + for (const property in defaults) { if (Object.prototype.hasOwnProperty.call(defaults, property)) { // jsbarcode-*