UNPKG

beta-capturejs

Version:

Socket Mobile Capture JS NPM package for Socket Mobile barcode scanner and NFC Reader/Writer products

40 lines (39 loc) 1.2 kB
import { JRpcRequest, JRpcResponse, JRpcEvent } from './jsonRpc'; import { RpcTransport, BaseTransport } from './rpcTransport'; import { Logger } from './logger'; declare global { interface Window { webkit: { messageHandlers: { maracaSendJsonRpc: any; }; }; maraca: { receiveJsonRpc: (json: string) => void; replyJsonRpc: (json: string) => void; }; } } interface ResponsePerJsonRpc { rpcId: number; responseCallback: (json: JRpcResponse<any>) => void; } export default class MaracaTransport extends BaseTransport implements RpcTransport { callbacks: { (response: JRpcResponse<any>): void; }[]; window: Window; handles: { handle: number; }[]; responses: ResponsePerJsonRpc[]; logger: Logger; constructor(depwindow?: Window, logger?: Logger); open(host: string, notification: (event: JRpcEvent<any>) => void): Promise<{ handle: number; }>; close(handle: number): Promise<number>; send<T>(handle: number, request: JRpcRequest<T>): Promise<JRpcResponse<any>>; dispatchResponse(jsonrpc: string): void; } export {};