UNPKG

socketmobile-capturejs

Version:

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

1 lines 108 kB
{"version":3,"file":"captureJs.min.js","mappings":"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","sources":["webpack://SocketMobile/webpack/universalModuleDefinition","webpack://SocketMobile/webpack/bootstrap","webpack://SocketMobile/./ts/gen/eventIds.ts","webpack://SocketMobile/webpack/runtime/define property getters","webpack://SocketMobile/webpack/runtime/hasOwnProperty shorthand","webpack://SocketMobile/webpack/runtime/make namespace object","webpack://SocketMobile/./ts/captureEvents.ts","webpack://SocketMobile/./ts/jsonRpc.ts","webpack://SocketMobile/./ts/rpcTransport.ts","webpack://SocketMobile/./ts/gen/errors.ts","webpack://SocketMobile/./ts/httpTransport.ts","webpack://SocketMobile/./ts/maracaTransport.ts","webpack://SocketMobile/./ts/transport.ts","webpack://SocketMobile/./ts/capture.ts","webpack://SocketMobile/./ts/gen/propertyIdsTypes.ts","webpack://SocketMobile/./ts/gen/propertyValues.ts","webpack://SocketMobile/./ts/captureProperty.ts","webpack://SocketMobile/./ts/gen/deviceTypes.ts","webpack://SocketMobile/./ts/gen/dataSources.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"SocketMobile\"] = factory();\n\telse\n\t\troot[\"SocketMobile\"] = factory();\n})(self, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","//eventIds.ts\n//This file is generated when calling npm run update\n//\n//\n\nexport enum CaptureEventIds {\n\t// Capture has not been correctly initialized after its first open.\n\t// Type: kNone\n\tNotInitialized = 0,\n\n\t// Event when a device has connected or is present.\n\t// Type: kDeviceInfo\n\tDeviceArrival = 1,\n\n\t// Event when a device is no longer present.\n\t// Type: kDeviceInfo\n\tDeviceRemoval = 2,\n\n\t// Event when Capture is terminated.\n\t// Type: kUlong\n\tTerminate = 3,\n\n\t// Event when Capture had an error.\n\t// Type: kUlong\n\tError = 4,\n\n\t// Event when Capture has some decoded data available.\n\t// Type: kDecodedData\n\tDecodedData = 5,\n\n\t// Event when a device sends a power change notification.\n\t// Type: kUlong\n\tPower = 6,\n\n\t// Event when the device button status has changed.\n\t// Type: kUlong\n\tButtons = 7,\n\n\t// Event when the battery Level has changed.\n\t// Type: kUlong\n\tBatteryLevel = 8,\n\n\t// Event when the communication listener thread has started.\n\t// Type: kUlong\n\tListenerStarted = 9,\n\n\t// Event when a device ownership has changed.\n\t// Type: kString\n\tDeviceOwnership = 10,\n\n\t// Event when the Device Manager (BLE) is present.\n\t// Type: kDeviceInfo\n\tDeviceManagerArrival = 11,\n\n\t// Event when the Device Manager (BLE) is gone.\n\t// Type: kDeviceInfo\n\tDeviceManagerRemoval = 12,\n\n\t// A device has been discovered.\n\t// Type: kDeviceInfo\n\tDeviceDiscovered = 13,\n\n\t// The device discovery has ended.\n\t// Type: kNone\n\tDiscoveryEnd = 14,\n\n\t// Event when a CaptureSDK log trace is generated.\n\t// Type: kString\n\tLogTrace = 21,\n\n\t// The Last Event should always be the last ID in the list of possible events.\n\t// Type: kNone\n\tLastID = 22,\n\n};\n\nexport enum CaptureEventTypes {\n\t// For capture events that don't have any value.\n\tNone = 0,\n\n\t// The event has a byte value.\n\tByte = 1,\n\n\t// The event has a unsigned long value.\n\tUlong = 2,\n\n\t// The event has a byte array value.\n\tArray = 3,\n\n\t// The event has a string value.\n\tString = 4,\n\n\t// The event has a decoded data structure as value.\n\tDecodedData = 5,\n\n\t// The event has a device info structure as value (read only).\n\tDeviceInfo = 6,\n\n\t// The event has an object structure (array, map, dictionary) as value (read only).\n\tObject = 7,\n\n\t// The event type should not be equal or higher that kLastID otherwise\n\t// it means the SDK is not in sync with the actual version of Socket\n\t// Mobile Companion running on the host.\n\tLastID = 8,\n\n};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { CaptureEventIds, CaptureEventTypes } from './gen/eventIds';\n\nexport class CaptureEvent<T> {\n id: CaptureEventIds;\n type: CaptureEventTypes;\n result: number;\n value?: T;\n constructor(id: CaptureEventIds, type: CaptureEventTypes, result: number = 0, value?: T) {\n this.id = id;\n this.type = type;\n this.result = result;\n if(value) {\n this.value = value;\n }\n }\n}\n","import { CaptureEvent } from './captureEvents';\nimport { CaptureEventIds, CaptureEventTypes } from './gen/eventIds';\nimport { DeviceInfo } from './deviceInfo';\nimport { DiscoveredDeviceInfo } from './discoveredDeviceInfo';\n\nexport class JsonRpc {\n jsonrpc: string = '2.0';\n id: number = 0;\n constructor(id: number) {\n this.id = id;\n }\n};\n\n// {\n// \"jsonrpc\": \"2.0\",\n// \"result\": {\n// \"handle\": 0,\n// \"event\": {\n// \"id\": 1,\n// \"type\": 6,\n// \"value\": {\n// \"guid\": \"{2EAAAA3F-B51E-4537-851C-31CA683C3BEF}\",\n// \"name\": \"Socket D740 [E537BA]\",\n// \"type\": 196619\n// },\n// result: 0\n// }\n// }\n// }\n\nexport class CaptureEventResult<T> {\n handle?: number;\n event: CaptureEvent<T>;\n constructor(id: CaptureEventIds, type: CaptureEventTypes, result: number, value: T, handle?: number) {\n this.event = new CaptureEvent<T>(id, type, result, value);\n if(handle) {\n this.handle = handle;\n }\n }\n}\n\nexport class JRpcEvent<T> {\n jsonrpc: string = '2.0';\n result: CaptureEventResult<T>;\n constructor(id: CaptureEventIds, type: CaptureEventTypes, value: T, handle?: number) {\n // set result to error code if present in the value. Otherwise default to 0.\n let res = id === CaptureEventIds.Error ? value as unknown as number : 0;\n this.result = new CaptureEventResult<T>(id, type, res, value, handle);\n }\n};\n\nexport class JRpcEventDevicePresence extends JRpcEvent<DeviceInfo> {\n constructor(id: CaptureEventIds, deviceInfo: DeviceInfo, handle?: number) {\n super(id, CaptureEventTypes.DeviceInfo, deviceInfo, handle);\n }\n};\n\nexport class JRpcEventDiscoveredDevice extends JRpcEvent<DiscoveredDeviceInfo> {\n constructor(id: CaptureEventIds, discoveredDeviceInfo: DiscoveredDeviceInfo) {\n super(id, CaptureEventTypes.Object, discoveredDeviceInfo);\n }\n};\n\nexport class JRpcRequest<T> extends JsonRpc {\n method: string;\n params?: T;\n constructor(id: number, method: string, params: T) {\n super(id);\n this.method = method;\n if(params && params !== null) {\n this.params = params;\n }\n }\n};\n\nexport class JRpcResponse<T> extends JsonRpc {\n result?: T;\n constructor(id: number, response: T) {\n super(id);\n this.result = response;\n }\n};\n\nexport class JRpcError extends JsonRpc {\n error: {\n code: number,\n message?: string\n }\n constructor(id: number, code: number, message?: string) {\n super(id);\n this.error = { code, message };\n }\n};\n","// RPC Transport\n//\n// Interface for a transport layer used by CaptureJS\n//\n// (c) 2019 Socket Mobile, Inc. All rights reserved\n\nimport { JRpcRequest, JRpcResponse, JRpcEvent, JRpcError } from './jsonRpc'\nexport class BaseTransport {\n handles:{handle:number}[];\n constructor() {\n this.handles = [];\n }\n generateHandle(): number {\n let newHandle: number;\n while(1) {\n newHandle = Math.floor(Math.random()*100) + 1;\n if(this.handles.length === 0) {\n this.handles.push({handle: newHandle});\n return newHandle;\n }\n if (this.handles.every(h => h.handle !== newHandle)) {\n this.handles.push({handle: newHandle});\n return newHandle;\n }\n }\n return 0;\n }\n\n}\n\nexport interface RpcTransport extends BaseTransport {\n open(host: string, notification:(event: JRpcEvent<any>)=>void): Promise<{handle: number}>;\n close(handle: number): Promise<number>;\n send<T>(handle: number, jsonRpc: JRpcRequest<T>): Promise<JRpcResponse<any>> | Promise<JRpcError>;\n}\n","//errors.ts\n//This file is generated when calling npm run update\n//\n//\nexport default\n /// <summary>\n/// defines the Errors used in Capture\n/// </summary>\nclass SktErrors\n{\n\t/// <summary>\n\t/// The Lasso feature is disabled\n\t/// </summary>\n\tstatic readonly ESKT_LASSODISABLED = 8;\n\n\t/// <summary>\n\t/// This operation is deprecated\n\t/// </summary>\n\tstatic readonly ESKT_DEPRECATED = 7;\n\n\t/// <summary>\n\t/// No data present\n\t/// </summary>\n\tstatic readonly ESKT_NODATA = 6;\n\n\t/// <summary>\n\t/// The object has been created\n\t/// </summary>\n\tstatic readonly ESKT_CREATED = 5;\n\n\t/// <summary>\n\t/// This operation is still pending\n\t/// </summary>\n\tstatic readonly ESKT_STILLPENDING = 4;\n\n\t/// <summary>\n\t/// This operation is pending\n\t/// </summary>\n\tstatic readonly ESKT_PENDING = 3;\n\n\t/// <summary>\n\t/// This operation is already complete\n\t/// </summary>\n\tstatic readonly ESKT_ALREADYDONE = 2;\n\n\t/// <summary>\n\t/// The wait timed out\n\t/// </summary>\n\tstatic readonly ESKT_WAITTIMEOUT = 1;\n\n\t/// <summary>\n\t/// There is no error\n\t/// </summary>\n\tstatic readonly ESKT_NOERROR = 0;\n\n\t/// <summary>\n\t/// At least one test has failed\n\t/// </summary>\n\tstatic readonly ESKT_TESTFAILED = -1;\n\n\t/// <summary>\n\t/// There is not enough memory to complete the operation\n\t/// </summary>\n\tstatic readonly ESKT_NOTENOUGHMEMORY = -2;\n\n\t/// <summary>\n\t/// A lock cannot be created\n\t/// </summary>\n\tstatic readonly ESKT_UNABLECREATELOCK = -3;\n\n\t/// <summary>\n\t/// Unable to lock a shared resource\n\t/// </summary>\n\tstatic readonly ESKT_UNABLELOCK = -4;\n\n\t/// <summary>\n\t/// Unable to unlock a shared resource\n\t/// </summary>\n\tstatic readonly ESKT_UNABLEUNLOCK = -5;\n\n\t/// <summary>\n\t/// Unable to remove an item from a list because the list is empty\n\t/// </summary>\n\tstatic readonly ESKT_LISTEMPTY = -6;\n\n\t/// <summary>\n\t/// An event cannot be created\n\t/// </summary>\n\tstatic readonly ESKT_UNABLECREATEEVENT = -7;\n\n\t/// <summary>\n\t/// Unable to set an event\n\t/// </summary>\n\tstatic readonly ESKT_UNABLESETEVENT = -8;\n\n\t/// <summary>\n\t/// Unable to reset an event\n\t/// </summary>\n\tstatic readonly ESKT_UNABLERESETEVENT = -9;\n\n\t/// <summary>\n\t/// The event is not created\n\t/// </summary>\n\tstatic readonly ESKT_EVENTNOTCREATED = -10;\n\n\t/// <summary>\n\t/// The provided handle is invalid\n\t/// </summary>\n\tstatic readonly ESKT_INVALIDHANDLE = -11;\n\n\t/// <summary>\n\t/// A thread cannot be created\n\t/// </summary>\n\tstatic readonly ESKT_UNABLECREATETHREAD = -12;\n\n\t/// <summary>\n\t/// The thread is already created\n\t/// </summary>\n\tstatic readonly ESKT_THREADALREADYCREATED = -13;\n\n\t/// <summary>\n\t/// The thread is still running\n\t/// </summary>\n\tstatic readonly ESKT_THREADSTILLRUNNING = -14;\n\n\t/// <summary>\n\t/// This operation is not supported\n\t/// </summary>\n\tstatic readonly ESKT_NOTSUPPORTED = -15;\n\n\t/// <summary>\n\t/// The previous operation is not completed\n\t/// </summary>\n\tstatic readonly ESKT_PENDINGOPERATIONNOTCOMPLETED = -16;\n\n\t/// <summary>\n\t/// The item cannot be found\n\t/// </summary>\n\tstatic readonly ESKT_NOTFOUND = -17;\n\n\t/// <summary>\n\t/// The provided parameter is invalid\n\t/// </summary>\n\tstatic readonly ESKT_INVALIDPARAMETER = -18;\n\n\t/// <summary>\n\t/// Trying to use an object that is not yet initialized\n\t/// </summary>\n\tstatic readonly ESKT_NOTINITIALIZED = -19;\n\n\t/// <summary>\n\t/// The timeout value is out of range\n\t/// </summary>\n\tstatic readonly ESKT_TIMEOUTOUTOFRANGE = -20;\n\n\t/// <summary>\n\t/// The object cannot be initialized\n\t/// </summary>\n\tstatic readonly ESKT_UNABLEINITIALIZE = -21;\n\n\t/// <summary>\n\t/// The object cannot be un-initialized\n\t/// </summary>\n\tstatic readonly ESKT_UNABLEDEINITIALIZE = -22;\n\n\t/// <summary>\n\t/// The configuration is unknown\n\t/// </summary>\n\tstatic readonly ESKT_UNKNOWNCONFIGURATION = -23;\n\n\t/// <summary>\n\t/// The configuration is invalid\n\t/// </summary>\n\tstatic readonly ESKT_INVALIDCONFIGURATION = -24;\n\n\t/// <summary>\n\t/// Creating or adding an item that already exists\n\t/// </summary>\n\tstatic readonly ESKT_ALREADYEXISTING = -25;\n\n\t/// <summary>\n\t/// The provided buffer is too small\n\t/// </summary>\n\tstatic readonly ESKT_BUFFERTOOSMALL = -26;\n\n\t/// <summary>\n\t/// The specified device cannot be opened\n\t/// </summary>\n\tstatic readonly ESKT_UNABLEOPENDEVICE = -27;\n\n\t/// <summary>\n\t/// The specified device cannot be configured\n\t/// </summary>\n\tstatic readonly ESKT_UNABLECONFIGUREDEVICE = -28;\n\n\t/// <summary>\n\t/// The string cannot be converted\n\t/// </summary>\n\tstatic readonly ESKT_UNABLECONVERTSTRING = -29;\n\n\t/// <summary>\n\t/// The specified string cannot be copied\n\t/// </summary>\n\tstatic readonly ESKT_UNABLECOPYSTRING = -30;\n\n\t/// <summary>\n\t/// The specified device is not open\n\t/// </summary>\n\tstatic readonly ESKT_DEVICENOTOPEN = -31;\n\n\t/// <summary>\n\t/// The specified item is not available\n\t/// </summary>\n\tstatic readonly ESKT_NOTAVAILABLE = -32;\n\n\t/// <summary>\n\t/// The specified file cannot be written\n\t/// </summary>\n\tstatic readonly ESKT_UNABLEWRITEFILE = -33;\n\n\t/// <summary>\n\t/// The specified file cannot be read\n\t/// </summary>\n\tstatic readonly ESKT_UNABLEREADFILE = -34;\n\n\t/// <summary>\n\t/// The wait has failed\n\t/// </summary>\n\tstatic readonly ESKT_WAITFAILED = -35;\n\n\t/// <summary>\n\t/// The specified checksum is invalid\n\t/// </summary>\n\tstatic readonly ESKT_INVALIDCHECKSUM = -36;\n\n\t/// <summary>\n\t/// This command has been denied\n\t/// </summary>\n\tstatic readonly ESKT_COMMANDDENIED = -37;\n\n\t/// <summary>\n\t/// There was an error during communication\n\t/// </summary>\n\tstatic readonly ESKT_COMMUNICATIONERROR = -38;\n\n\t/// <summary>\n\t/// An unexpected command has been received\n\t/// </summary>\n\tstatic readonly ESKT_RECEIVEUNEXPECTEDCOMMAND = -39;\n\n\t/// <summary>\n\t/// The GUID cannot be created\n\t/// </summary>\n\tstatic readonly ESKT_UNABLECREATEGUID = -40;\n\n\t/// <summary>\n\t/// The specified value is invalid\n\t/// </summary>\n\tstatic readonly ESKT_INVALIDVALUE = -41;\n\n\t/// <summary>\n\t/// The request has timed out\n\t/// </summary>\n\tstatic readonly ESKT_REQUESTTIMEDOUT = -42;\n\n\t/// <summary>\n\t/// The operation is invalid\n\t/// </summary>\n\tstatic readonly ESKT_INVALIDOPERATION = -43;\n\n\t/// <summary>\n\t/// The protocol used is not the correct one\n\t/// </summary>\n\tstatic readonly ESKT_WRONGPROTOCOL = -44;\n\n\t/// <summary>\n\t/// The queue has been reset\n\t/// </summary>\n\tstatic readonly ESKT_QUEUERESETED = -45;\n\n\t/// <summary>\n\t/// The data size exceeeds maximum transmission unit\n\t/// </summary>\n\tstatic readonly ESKT_EXCEEDINGMTUSIZE = -46;\n\n\t/// <summary>\n\t/// The listener thread has nothing to listen to\n\t/// </summary>\n\tstatic readonly ESKT_NOTHINGTOLISTEN = -47;\n\n\t/// <summary>\n\t/// The current version is outdated\n\t/// </summary>\n\tstatic readonly ESKT_OUTDATEDVERSION = -48;\n\n\t/// <summary>\n\t/// The XML tag is invalid\n\t/// </summary>\n\tstatic readonly ESKT_INVALIDXMLTAG = -49;\n\n\t/// <summary>\n\t/// Cannot register for HID change notifications\n\t/// </summary>\n\tstatic readonly ESKT_UNABLEREGISTERFORHIDCHANGES = -50;\n\n\t/// <summary>\n\t/// The message cannot be retrieved\n\t/// </summary>\n\tstatic readonly ESKT_UNABLERETRIEVEMESSAGE = -51;\n\n\t/// <summary>\n\t/// There is a syntax error\n\t/// </summary>\n\tstatic readonly ESKT_SYNTAXERROR = -52;\n\n\t/// <summary>\n\t/// The specified file cannot be opened\n\t/// </summary>\n\tstatic readonly ESKT_UNABLEOPENFILE = -53;\n\n\t/// <summary>\n\t/// The file path cannot be retrieved\n\t/// </summary>\n\tstatic readonly ESKT_UNABLERETRIEVEPATH = -54;\n\n\t/// <summary>\n\t/// The specified directory cannot be created\n\t/// </summary>\n\tstatic readonly ESKT_UNABLECREATEDIRECTORY = -55;\n\n\t/// <summary>\n\t/// The specified file cannot be deleted\n\t/// </summary>\n\tstatic readonly ESKT_UNABLEDELETEFILE = -56;\n\n\t/// <summary>\n\t/// The specified directory cannot be deleted\n\t/// </summary>\n\tstatic readonly ESKT_UNABLEDELETEDIRECTORY = -57;\n\n\t/// <summary>\n\t/// The modem status cannot be read\n\t/// </summary>\n\tstatic readonly ESKT_UNABLEREADMODEMSTATUS = -60;\n\n\t/// <summary>\n\t/// The Class of Devices cannot be retrieved\n\t/// </summary>\n\tstatic readonly ESKT_UNABLEGETCLASSDEVICES = -61;\n\n\t/// <summary>\n\t/// The device interface cannot be retrieved\n\t/// </summary>\n\tstatic readonly ESKT_UNABLEGETDEVICEINTERFACE = -62;\n\n\t/// <summary>\n\t/// The specified file or device cannot be found\n\t/// </summary>\n\tstatic readonly ESKT_FILENOTFOUND = -63;\n\n\t/// <summary>\n\t/// The specified file or device is not accessible\n\t/// </summary>\n\tstatic readonly ESKT_FILEACCESSDENIED = -64;\n\n\t/// <summary>\n\t/// The HID information cannot be read\n\t/// </summary>\n\tstatic readonly ESKT_UNABLEREADHIDINFO = -70;\n\n\t/// <summary>\n\t/// The number of parameters is incorrect\n\t/// </summary>\n\tstatic readonly ESKT_INCORRECTNUMBEROFPARAMETERS = -84;\n\n\t/// <summary>\n\t/// The specified format is invalid\n\t/// </summary>\n\tstatic readonly ESKT_INVALIDFORMAT = -85;\n\n\t/// <summary>\n\t/// The version is invalid\n\t/// </summary>\n\tstatic readonly ESKT_INVALIDVERSION = -86;\n\n\t/// <summary>\n\t/// The service does not respond\n\t/// </summary>\n\tstatic readonly ESKT_SERVICENOTCOMMUNICATING = -87;\n\n\t/// <summary>\n\t/// The Lasso Id is expired\n\t/// </summary>\n\tstatic readonly ESKT_LASSOIDEXPIRED = -88;\n\n\t/// <summary>\n\t/// The Lasso Id does not match\n\t/// </summary>\n\tstatic readonly ESKT_LASSOIDTNOTMATCHING = -89;\n\n\t/// <summary>\n\t/// The device already has a Lasso Id\n\t/// </summary>\n\tstatic readonly ESKT_LASSOIDALREADYSET = -90;\n\n\t/// <summary>\n\t/// This operation has been canceled\n\t/// </summary>\n\tstatic readonly ESKT_CANCEL = -91;\n\n\t/// <summary>\n\t/// The operation has expired\n\t/// </summary>\n\tstatic readonly ESKT_EXPIRED = -92;\n\n\t/// <summary>\n\t/// The AppInfo information is invalid\n\t/// </summary>\n\tstatic readonly ESKT_INVALIDAPPINFO = -93;\n\n\t/// <summary>\n\t/// BLE operation failed\n\t/// </summary>\n\tstatic readonly ESKT_BLEGATT = -94;\n\n\t/// <summary>\n\t/// Auto-discovery is in progress\n\t/// </summary>\n\tstatic readonly ESKT_FAVORITENOTEMPTY = -95;\n\n\t/// <summary>\n\t/// Location permission is required to complete the operation\n\t/// </summary>\n\tstatic readonly ESKT_LOCATIONPERMISSIONMISSING = -96;\n\n\t/// <summary>\n\t/// The requested operation cannot be completed\n\t/// </summary>\n\tstatic readonly ESKT_UNABLETOCOMPLETEOPERATION = -97;\n\n\t/// <summary>\n\t/// Location service is disabled\n\t/// </summary>\n\tstatic readonly ESKT_LOCATIONSERVICEDISABLED = -98;\n\n\t/// <summary>\n\t/// Bluetooth permission is not granted\n\t/// </summary>\n\tstatic readonly ESKT_BLUETOOTHPERMISSIONMISSING = -99;\n\n};\n\n\n","import { JRpcRequest, JRpcResponse, JRpcEvent, JRpcError } from './jsonRpc'\nimport {RpcTransport, BaseTransport} from './rpcTransport';\nimport SktErrors from './gen/errors';\nimport { CaptureEventIds, CaptureEventTypes } from './gen/eventIds';\nimport { Logger } from './logger';\n\nexport type AjaxCallback = (status: number, response: string)=> void;\n\n// below is to switch between xhr (if provided in options) or keep it as XMLHttpRequest\n// let HttpRequest = xhr || XMLHttpRequest \nlet HttpRequest = XMLHttpRequest\n\nexport class Ajax<T> extends HttpRequest {\n sendJsonRpc:(jsonRpc: JRpcRequest<T>)=>void;\n constructor() {\n super();\n }\n}\n\nexport type GetXmlHttp<T> = (uri: string, logger: Logger, callback:AjaxCallback) => Ajax<T>;\n\nfunction sktGetXmlHttp<T>(uri: string, logger:Logger, callback:AjaxCallback): Ajax<T>{\n var xmlhttp: Ajax<T>;\n /* code for IE7+, Firefox, Chrome, Opera, Safari */\n if ((<any>window).XMLHttpRequest) {\n xmlhttp = new Ajax();\n }\n /* code for IE6, IE5 */\n // else {\n // xmlhttp = new AjaxIE<T>('Microsoft.XMLHTTP');\n // }\n //https://stackoverflow.com/questions/41474445/xmlhttprequest-does-not-exist-on-type-window\n // if ((<any>window).XMLHttpRequest) {\n // xmlhttp = new XMLHttpRequest();\n // } else {\n // xmlhttp = new ActiveXObject(\"Microsoft.XMLHTTP\");\n // }\n xmlhttp = new Ajax<T>();\n xmlhttp.onreadystatechange = function() {\n if (xmlhttp.readyState === 4) {\n try {\n const jsonRpc = JSON.parse(xmlhttp.responseText);\n logger.log('<=', jsonRpc);\n callback(xmlhttp.status, xmlhttp.responseText);\n }\n catch(e) {\n callback(xmlhttp.status, JSON.stringify({ error: SktErrors.ESKT_COMMUNICATIONERROR, message: 'Did not receive a JSON object' }));\n }\n }\n };\n xmlhttp.sendJsonRpc = function(jsonRpc: JRpcRequest<T>) {\n const jsonRpcString = JSON.stringify(jsonRpc);\n xmlhttp.open('POST', uri, true);\n xmlhttp.setRequestHeader('Content-Type', 'application/json');\n xmlhttp.send(jsonRpcString);\n logger.log('=>', jsonRpc);\n };\n return xmlhttp;\n}\n\nclass InternalLogger implements Logger {\n log(message: string, arg?: object): void {\n\n }\n}\n\nexport default class HttpTransport extends BaseTransport implements RpcTransport {\n host: string;\n hostWebsocket: string;\n notification:(event: JRpcEvent<any>, handle?: number)=>void;\n websocket: WebSocket;\n sendTest: (jsonString: string)=>void;\n getXmlRequest: GetXmlHttp<any> = sktGetXmlHttp;\n logger?: Logger;\n xhr?: any;\n\n constructor(logger?: Logger, xhr?: any) {\n super();\n this.logger = logger || new InternalLogger();\n this.xhr = xhr \n }\n\n open(host: string, notification:(event: JRpcEvent<any>, handle?: number)=>void): Promise<{handle: number}> {\n const newHandle = this.generateHandle();\n if (newHandle === 0) {\n const error = new JRpcError(0, SktErrors.ESKT_INVALIDHANDLE, 'Invalid Handle');\n return Promise.reject(error);\n }\n this.host = host + '/Capture/v1/api';\n this.hostWebsocket = this.host.replace(/^https?:/, 'ws:');\n this.notification = notification;\n\n return Promise.resolve({ handle: newHandle });\n\n }\n\n close(handle: number): Promise<number> {\n const index = this.handles.findIndex(h => h.handle === handle);\n if (index === -1) {\n const error = new JRpcError(0, SktErrors.ESKT_INVALIDHANDLE, 'Invalid Handle');\n return Promise.reject(error);\n }\n this.handles.splice(index,1);\n return Promise.resolve(SktErrors.ESKT_NOERROR);\n }\n\n send<T>(handle: number, request: JRpcRequest<T>): Promise<JRpcResponse<any>> {\n const promise = new Promise<JRpcResponse<any>>((resolve, reject) => {\n const ajax = this.getXmlRequest(this.host, this.logger, (status, responseStr) => {\n if(status !== 200) {\n let error = new JRpcError(request.id, SktErrors.ESKT_COMMUNICATIONERROR, 'Unable To Communicate With Device');\n // var error = new JRpcError(request.id, -10000, 'bloop')\n if(request.method === 'openclient') {\n error = new JRpcError(request.id, SktErrors.ESKT_UNABLEOPENDEVICE, 'Unable To Open Device');\n }\n return reject(error);\n }\n try {\n const response = JSON.parse(responseStr);\n if(request.method === 'openclient') {\n // we want to start the web service here if we can\n this.openWebSocket(() => {\n const res = response as JRpcResponse<{handle: number}>;\n // send a waitForEvent\n if (res.result && res.result.handle){\n const waitForEvent = new JRpcRequest<{handle:number}>(1,'waitforcaptureevent', { handle: res.result.handle });\n const waitForEventString = JSON.stringify(waitForEvent);\n this.websocket.send(waitForEventString);\n }\n });\n }\n return response.error ? reject(response) : resolve(response);\n }\n catch(e) {\n const err = new JRpcError(request.id, SktErrors.ESKT_INVALIDFORMAT, 'JSON Malformatted');\n return reject(err);\n }\n });\n const index = this.handles.findIndex(h => h.handle === handle);\n if(index === -1) {\n return reject(SktErrors.ESKT_INVALIDHANDLE);\n }\n ajax.sendJsonRpc(request)\n });\n return promise;\n }\n\n openWebSocket(callback:(event:any)=>void) {\n const that = this;\n this.websocket = new WebSocket(this.hostWebsocket); //, 'jsonRpc');\n this.websocket.onopen = callback;\n this.websocket.onclose = event => {\n this.logger.log('websocket closed!!');\n this.logger.log('', event);\n if(event.code === 1006) {\n const error = new JRpcEvent(CaptureEventIds.Error,CaptureEventTypes.Ulong, SktErrors.ESKT_SERVICENOTCOMMUNICATING);\n that.notification(error);\n }\n };\n this.websocket.onmessage = (event) => {\n this.logger.log('receiving something through the websocket:');\n var json = JSON.parse(event.data);\n this.logger.log('', event);\n if (json.result) {\n if (json.result) {\n const evt = json as JRpcEvent<any>;\n this.notification(evt);\n }\n } else if (json.error) {\n // const event = new JRpcEvent<{}>\n // this.notification(capture, json.error.code, json.error.message);\n }\n };\n }\n}\n","import { JRpcRequest, JRpcResponse, JRpcEvent } from './jsonRpc'\nimport { RpcTransport, BaseTransport } from './rpcTransport';\nimport SktErrors from './gen/errors';\nimport { Logger } from './logger';\n\n// this is for Typescript so it won't complain\n// about checking the existence of the member\n// in the window global instance\ndeclare global {\n interface Window {\n webkit: {\n messageHandlers: {\n maracaSendJsonRpc: any\n }\n },\n maraca: {\n receiveJsonRpc: (json: string) => void;\n replyJsonRpc: (json: string) => void;\n }\n }\n}\n\ninterface ResponsePerJsonRpc {\n rpcId: number,\n responseCallback: (json: JRpcResponse<any>) => void\n};\n\nclass InternalLogger implements Logger {\n log(message: string, arg: object): void {\n\n }\n}\n\nexport default class MaracaTransport extends BaseTransport implements RpcTransport {\n callbacks: { (response: JRpcResponse<any>) : void }[];\n window: Window;\n handles: {handle: number}[];\n responses: ResponsePerJsonRpc[] = [];\n logger: Logger;\n constructor(depwindow?:Window, logger?: Logger) {\n super();\n this.logger = logger || new InternalLogger();\n if (depwindow) {\n this.window = depwindow;\n }\n else {\n this.window = window;\n }\n this.window.maraca = this.window.maraca || {\n receiveJsonRpc: (json: string) => void {},\n replyJsonRpc: (json: string) => void {},\n }; \n }\n\n open(host: string, notification:(event: JRpcEvent<any>)=>void): Promise<{ handle: number }> {\n// WE SHOULD USE SYMBOL FOR THE KEY (HANDLE) TO IDENTIFY A TRANSPORT CLIENT\n// AND FOR THE RESPONSE CALLBACKS\n\n// sendJsonRpc(jsonRpc, responseCallback)\n// callbacks[jsonRpc.id] = responseCallback;\n// window.webkit.messageHandlers.maracaSendJsonRpc.postMessage(jsonRpc)\n//\n// window.maraca.replyJsonRpc(jsonRpcResponse)\n// responseCallback = callbacks[jsonRpcResponse.id]\n// responseCallback(jsonRpcResponse)\n//\n// window.maraca.receiveJsonRpc(jsonRpcEvent)\n// OnCaptureEvent(jsonRpcEvent)\n const newHandle = this.generateHandle();\n if (newHandle === 0) {\n return Promise.reject(SktErrors.ESKT_INVALIDHANDLE);\n }\n this.window.maraca.receiveJsonRpc = (json: string) => {\n\n try {\n const jsonRpcDecoded = decodeURI(json);\n const jsonRpc = JSON.parse(jsonRpcDecoded);\n notification(jsonRpc);\n }\n catch(ex) {\n // should we log a warning here???\n }\n };\n this.window.maraca.replyJsonRpc = (json:string) => {\n const decodedJsonRpc = decodeURI(json);\n this.dispatchResponse(decodedJsonRpc);\n }\n return Promise.resolve({handle: newHandle});\n }\n\n close(handle: number): Promise<number> {\n const index = this.handles.findIndex(h => h.handle === handle);\n if(index === -1) {\n return Promise.reject(SktErrors.ESKT_INVALIDHANDLE);\n }\n this.handles.splice(index,1);\n return Promise.resolve(SktErrors.ESKT_NOERROR);\n }\n\n send<T>(handle: number, request: JRpcRequest<T>): Promise<JRpcResponse<any>> {\n const jsonRpc = JSON.stringify(request);\n const promise = new Promise<JRpcResponse<any>>((resolve, reject)=>{\n const response: ResponsePerJsonRpc = {\n rpcId: request.id,\n responseCallback: (jsonRpcResponse: JRpcResponse<any>) => {\n resolve(jsonRpcResponse);\n }\n }\n const index = this.handles.findIndex(h => h.handle === handle);\n if(index === -1) {\n return reject(SktErrors.ESKT_INVALIDHANDLE);\n }\n this.responses.push(response);\n this.window.webkit.messageHandlers.maracaSendJsonRpc.postMessage(jsonRpc);\n });\n return promise;\n }\n\n dispatchResponse(jsonrpc: string) {\n try {\n const jsonRpc = JSON.parse(jsonrpc);\n // look for the corresponding callback\n const index = this.responses.findIndex(rpr => rpr.rpcId === jsonRpc.id);\n if (index !== -1) {\n const callback = this.responses[index];\n this.responses.splice(index, 1);\n callback.responseCallback(jsonRpc);\n }\n else {\n // should we log a warning here???\n }\n }\n catch(ex) {\n // should we log the exception here???\n }\n }\n}\n","\nimport { RpcTransport } from './rpcTransport';\nimport HttpTransport from './httpTransport';\nimport MaracaTransport from './maracaTransport';\nimport { Logger } from './logger';\n\n// this is for Typescript so it won't complain\n// about checking the existence of the member\n// in the window global instance\ndeclare global {\n interface Window {\n webkit: {\n messageHandlers: {\n maracaSendJsonRpc: any\n }\n }\n }\n}\n\nexport default class Transport {\n static getTransport(logger?: Logger, xhr?: any): RpcTransport {\n let transport: RpcTransport;\n if((window.webkit) &&\n (window.webkit.messageHandlers) &&\n (window.webkit.messageHandlers.maracaSendJsonRpc)) {\n transport = new MaracaTransport(null, logger);\n }\n else {\n transport = new HttpTransport(logger, xhr);\n }\n return transport;\n }\n}\n","// capture.ts\n// main entry point for Socket Mobile CaptureJS SDK\n//\n// Copyright © 2019 Socket Mobile, Inc.\nimport AppInfo from './appInfo';\nimport CaptureProperty from './captureProperty';\nimport { RpcTransport } from './rpcTransport';\nimport Transport from './transport';\nimport CaptureOptions from './captureOptions';\nimport { JRpcRequest, JRpcEvent, JRpcError, CaptureEventResult } from './jsonRpc';\nimport { CaptureEvent } from './captureEvents';\nimport { CaptureEventTypes } from './gen/eventIds';\n\nimport SktErrors from './gen/errors';\nimport { Logger } from './logger';\n\nconst ERRMSG_NO_TRANSPORT = 'no transport, is this initialized?';\n\nconst DEFAULT_HOST = \"http://127.0.0.1:18481\";\ntype Notification = (event: CaptureEvent<any>, handle?: number)=>void;\n\nclass Capture {\n transport: RpcTransport;\n host: string = DEFAULT_HOST;\n clientOrDeviceHandle: number;\n transportHandle: number;\n rpcId: number = 0;\n onEventNotification: Notification;\n rootCapture?: Capture;\n logger?: Logger;\n\n constructor(log?: Logger) {\n this.logger = log;\n }\n\n open(appInfo: AppInfo, eventNotification: Notification, options?: CaptureOptions): Promise<number>{\n if (options) {\n this.transport = options.transport || Transport.getTransport(this.logger);\n this.host = options.host || DEFAULT_HOST;\n }\n else {\n // th