UNPKG

scandit-web-datacapture-barcode

Version:

Scandit Data Capture SDK for the Web

82 lines (81 loc) 4.11 kB
import type { Symbology } from "../Barcode"; import type { BarcodeCaptureSessionJSON } from "../BarcodeCaptureSession"; import type { PrivateLoadableFrameData } from "scandit-web-datacapture-core"; import type { AnyDataCaptureActionMessage as CoreAnyDataCaptureActionMessage, DataCaptureActionMessageKey as CoreDataCaptureActionMessageKey, DataCaptureCallbackMessageKeys as CoreDataCaptureCallbackMessageKeys, DataCaptureCallbackMessage as CoreDataCaptureCallbackMessage, CaptureModeDeserializerInstance, JSONParseable, Module as CoreModule, DataCaptureContext, WorkerResponse as CoreWorkerResponse, WasmFrameData } from "scandit-web-datacapture-core/build/js/worker"; /** * MESSAGES (ACTIONS) SENT TO THE WORKER */ export declare type DataCaptureActionMessageKey = CoreDataCaptureActionMessageKey | "createBlurryTable"; export declare type WorkerResponse<C extends DataCaptureActionMessageKey> = CoreWorkerResponse<C>; interface DataCaptureActionMessage { command: DataCaptureActionMessageKey; id: number; } export interface CreateBlurryTableDataCaptureAction extends DataCaptureActionMessage { command: "createBlurryTable"; symbology: Symbology; } export declare type AnyDataCaptureActionMessage = CoreAnyDataCaptureActionMessage | CreateBlurryTableDataCaptureAction; /** * MESSAGES EMITTED BY THE WORKER */ declare type DataCaptureCallbackMessageKeys = CoreDataCaptureCallbackMessageKeys | "barcodeCaptureDidScan" | "barcodeCaptureDidUpdateSession" | "createBlurryTableResult"; interface BaseDataCaptureCallbackMessage { type: DataCaptureCallbackMessageKeys; } interface BarcodeCaptureDidScanWorkerMessage extends BaseDataCaptureCallbackMessage { type: "barcodeCaptureDidScan"; payload: { session: BarcodeCaptureSessionJSON; frameData: PrivateLoadableFrameData; }; } interface BarcodeCaptureDidUpdateSessionWorkerMessage extends BaseDataCaptureCallbackMessage { type: "barcodeCaptureDidUpdateSession"; payload: BarcodeCaptureSessionJSON; } interface CreateBlurryTableResultWorkerMessage extends BaseDataCaptureCallbackMessage { type: "createBlurryTableResult"; payload: { symbology: Symbology; }; } export declare type DataCaptureCallbackMessage = BarcodeCaptureDidScanWorkerMessage | BarcodeCaptureDidUpdateSessionWorkerMessage | CoreDataCaptureCallbackMessage | CreateBlurryTableResultWorkerMessage; /** * OTHERS */ export declare type PayloadForCommand<A, C> = A extends { command: C; } ? A : never; export interface DataCaptureWorker extends Omit<Worker, "postMessage"> { onmessage: ((this: Worker, event_: MessageEvent & { data: any; }) => void) | null; postMessage: <C extends AnyDataCaptureActionMessage["command"]>(message: PayloadForCommand<AnyDataCaptureActionMessage, C>, transfer?: Transferable[]) => void; } interface BarcodeCaptureModule { BarcodeCaptureDeserializer: new () => CaptureModeDeserializerInstance; BarcodeCaptureListener: { extend: (target: "BarcodeCaptureListener", parameters: { didScan: (barcode_capture: any, session: JSONParseable, frame_data: WasmFrameData) => void; didUpdateSession: (barcode_capture: any, session: JSONParseable, frame_data: any) => void; }) => new () => any; }; BarcodeCaptureDeserializerListener: { extend: (target: "BarcodeCaptureDeserializerListener", parameters: { onModeDeserializationStarted: (deserializer: any, mode: any, json: any) => void; onModeDeserializationFinished: (deserializer: any, mode: any, json: any) => void; onSettingsDeserializationStarted: (deserializer: any, settings: any, json: any) => void; onSettingsDeserializationFinished: (deserializer: any, settings: any, json: any) => void; }) => new () => any; }; BlurryTableCreator: { createTables: (context: DataCaptureContext, symbology: Symbology) => void; }; LicenseUtils: { getBlinkIdLicenseKey: (scanditLicense: string) => string; }; } export interface Module extends CoreModule, BarcodeCaptureModule { } export {};