From 649472ddddcbb55c0233e11e5d8189e6d0185639 Mon Sep 17 00:00:00 2001 From: Claudio Cocciarelli Date: Fri, 30 Dec 2022 14:37:02 +0100 Subject: [PATCH 1/3] expose READERS type instead of generic string --- src/decoder/barcode_decoder.js | 2 +- type-definitions/quagga.d.ts | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/decoder/barcode_decoder.js b/src/decoder/barcode_decoder.js index 0b582be..95228d7 100644 --- a/src/decoder/barcode_decoder.js +++ b/src/decoder/barcode_decoder.js @@ -17,7 +17,7 @@ import UPCEReader from '../reader/upc_e_reader'; import UPCReader from '../reader/upc_reader'; import Bresenham from './bresenham'; -const READERS = { +export const READERS = { code_128_reader: Code128Reader, ean_reader: EANReader, ean_5_reader: EAN5Reader, diff --git a/type-definitions/quagga.d.ts b/type-definitions/quagga.d.ts index 5e62da0..0f399ae 100644 --- a/type-definitions/quagga.d.ts +++ b/type-definitions/quagga.d.ts @@ -3,6 +3,7 @@ // Project: http://serratus.github.io/quaggaJS/ // Definitions by: Cam Birch, Peter Horwood aka Madman Pierre, Dan Manastireanu +import { READERS } from 'decoder/barcode_decoder'; import { vec2 } from 'gl-matrix'; // import SubImage from '../src/common/subImage'; @@ -870,7 +871,7 @@ export interface QuaggaJSConfigObject { /** * @default [ "code_128_reader" ] */ - readers?: (QuaggaJSReaderConfig | string)[]; + readers?: (QuaggaJSReaderConfig | QuaggaJSCodeReader)[]; debug?: { /** @@ -1005,3 +1006,5 @@ export type TypedArray = | Uint32Array | Float32Array | Float64Array; + +export type QuaggaJSCodeReader = keyof typeof READERS; From 2932c8b70554348440ea3b59faf31cb460fea4bd Mon Sep 17 00:00:00 2001 From: Claudio Cocciarelli Date: Sat, 31 Dec 2022 17:23:58 +0100 Subject: [PATCH 2/3] update contributors --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index f344bd7..384f5d4 100644 --- a/package.json +++ b/package.json @@ -135,7 +135,8 @@ "Alex Howes ", "Sudham Jayanthi ", "Ben Khoo ", - "Andy Edinborough " + "Andy Edinborough ", + "Claudio Cocciarelli " ], "license": "MIT", "engines": { From af9d59d0ff1eee467669472d57967a29ac92591d Mon Sep 17 00:00:00 2001 From: Claudio Cocciarelli Date: Sun, 1 Jan 2023 12:11:13 +0100 Subject: [PATCH 3/3] avoid exposing READERS object, hardcode reader types in d.ts --- src/decoder/barcode_decoder.js | 2 +- type-definitions/quagga.d.ts | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/decoder/barcode_decoder.js b/src/decoder/barcode_decoder.js index 95228d7..0b582be 100644 --- a/src/decoder/barcode_decoder.js +++ b/src/decoder/barcode_decoder.js @@ -17,7 +17,7 @@ import UPCEReader from '../reader/upc_e_reader'; import UPCReader from '../reader/upc_reader'; import Bresenham from './bresenham'; -export const READERS = { +const READERS = { code_128_reader: Code128Reader, ean_reader: EANReader, ean_5_reader: EAN5Reader, diff --git a/type-definitions/quagga.d.ts b/type-definitions/quagga.d.ts index 0f399ae..a74b3db 100644 --- a/type-definitions/quagga.d.ts +++ b/type-definitions/quagga.d.ts @@ -3,7 +3,6 @@ // Project: http://serratus.github.io/quaggaJS/ // Definitions by: Cam Birch, Peter Horwood aka Madman Pierre, Dan Manastireanu -import { READERS } from 'decoder/barcode_decoder'; import { vec2 } from 'gl-matrix'; // import SubImage from '../src/common/subImage'; @@ -1007,4 +1006,18 @@ export type TypedArray = | Float32Array | Float64Array; -export type QuaggaJSCodeReader = keyof typeof READERS; +export type QuaggaJSCodeReader = + | 'code_128_reader' + | 'ean_reader' + | 'ean_5_reader' + | 'ean_2_reader' + | 'ean_8_reader' + | 'code_39_reader' + | 'code_39_vin_reader' + | 'codabar_reader' + | 'upc_reader' + | 'upc_e_reader' + | 'i2of5_reader' + | '2of5_reader' + | 'code_93_reader' + | 'code_32_reader';