scandit-web-datacapture-barcode
Version:
Scandit Data Capture SDK for the Web
82 lines (81 loc) • 4.11 kB
TypeScript
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 {};