appium-remote-debugger 10.0.2 → 10.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/build/index.js +18 -33
  3. package/build/lib/atoms.d.ts +17 -0
  4. package/build/lib/atoms.d.ts.map +1 -0
  5. package/build/lib/atoms.js +75 -50
  6. package/build/lib/atoms.js.map +1 -1
  7. package/build/lib/logger.d.ts +3 -0
  8. package/build/lib/logger.d.ts.map +1 -0
  9. package/build/lib/logger.js +5 -11
  10. package/build/lib/logger.js.map +1 -1
  11. package/build/lib/mixins/connect.d.ts +125 -0
  12. package/build/lib/mixins/connect.d.ts.map +1 -0
  13. package/build/lib/mixins/connect.js +299 -202
  14. package/build/lib/mixins/connect.js.map +1 -1
  15. package/build/lib/mixins/events.d.ts +7 -0
  16. package/build/lib/mixins/events.d.ts.map +1 -0
  17. package/build/lib/mixins/events.js +7 -12
  18. package/build/lib/mixins/events.js.map +1 -1
  19. package/build/lib/mixins/execute.d.ts +38 -0
  20. package/build/lib/mixins/execute.d.ts.map +1 -0
  21. package/build/lib/mixins/execute.js +162 -122
  22. package/build/lib/mixins/execute.js.map +1 -1
  23. package/build/lib/mixins/index.d.ts +5 -0
  24. package/build/lib/mixins/index.d.ts.map +1 -0
  25. package/build/lib/mixins/index.js +14 -23
  26. package/build/lib/mixins/index.js.map +1 -1
  27. package/build/lib/mixins/message-handlers.d.ts +92 -0
  28. package/build/lib/mixins/message-handlers.d.ts.map +1 -0
  29. package/build/lib/mixins/message-handlers.js +160 -97
  30. package/build/lib/mixins/message-handlers.js.map +1 -1
  31. package/build/lib/mixins/navigate.d.ts +92 -0
  32. package/build/lib/mixins/navigate.d.ts.map +1 -0
  33. package/build/lib/mixins/navigate.js +199 -141
  34. package/build/lib/mixins/navigate.js.map +1 -1
  35. package/build/lib/protocol/index.d.ts +14 -0
  36. package/build/lib/protocol/index.d.ts.map +1 -0
  37. package/build/lib/protocol/index.js +192 -118
  38. package/build/lib/protocol/index.js.map +1 -1
  39. package/build/lib/remote-debugger-real-device.d.ts +6 -0
  40. package/build/lib/remote-debugger-real-device.d.ts.map +1 -0
  41. package/build/lib/remote-debugger-real-device.js +29 -32
  42. package/build/lib/remote-debugger-real-device.js.map +1 -1
  43. package/build/lib/remote-debugger.d.ts +119 -0
  44. package/build/lib/remote-debugger.d.ts.map +1 -0
  45. package/build/lib/remote-debugger.js +256 -226
  46. package/build/lib/remote-debugger.js.map +1 -1
  47. package/build/lib/rpc/index.d.ts +4 -0
  48. package/build/lib/rpc/index.d.ts.map +1 -0
  49. package/build/lib/rpc/index.js +10 -21
  50. package/build/lib/rpc/index.js.map +1 -1
  51. package/build/lib/rpc/remote-messages.d.ts +51 -0
  52. package/build/lib/rpc/remote-messages.d.ts.map +1 -0
  53. package/build/lib/rpc/remote-messages.js +203 -224
  54. package/build/lib/rpc/remote-messages.js.map +1 -1
  55. package/build/lib/rpc/rpc-client-real-device.d.ts +6 -0
  56. package/build/lib/rpc/rpc-client-real-device.d.ts.map +1 -0
  57. package/build/lib/rpc/rpc-client-real-device.js +43 -49
  58. package/build/lib/rpc/rpc-client-real-device.js.map +1 -1
  59. package/build/lib/rpc/rpc-client-simulator.d.ts +15 -0
  60. package/build/lib/rpc/rpc-client-simulator.d.ts.map +1 -0
  61. package/build/lib/rpc/rpc-client-simulator.js +138 -125
  62. package/build/lib/rpc/rpc-client-simulator.js.map +1 -1
  63. package/build/lib/rpc/rpc-client.d.ts +142 -0
  64. package/build/lib/rpc/rpc-client.d.ts.map +1 -0
  65. package/build/lib/rpc/rpc-client.js +559 -418
  66. package/build/lib/rpc/rpc-client.js.map +1 -1
  67. package/build/lib/rpc/rpc-message-handler.d.ts +13 -0
  68. package/build/lib/rpc/rpc-message-handler.d.ts.map +1 -0
  69. package/build/lib/rpc/rpc-message-handler.js +181 -166
  70. package/build/lib/rpc/rpc-message-handler.js.map +1 -1
  71. package/build/lib/utils.d.ts +61 -0
  72. package/build/lib/utils.d.ts.map +1 -0
  73. package/build/lib/utils.js +241 -155
  74. package/build/lib/utils.js.map +1 -1
  75. package/lib/atoms.js +25 -4
  76. package/lib/mixins/connect.js +102 -7
  77. package/lib/mixins/execute.js +46 -13
  78. package/lib/mixins/message-handlers.js +44 -1
  79. package/lib/mixins/navigate.js +55 -3
  80. package/lib/remote-debugger.js +112 -0
  81. package/lib/rpc/rpc-client-real-device.js +1 -6
  82. package/lib/rpc/rpc-client-simulator.js +7 -1
  83. package/lib/rpc/rpc-client.js +106 -6
  84. package/lib/rpc/rpc-message-handler.js +1 -1
  85. package/lib/utils.js +31 -1
  86. package/package.json +26 -16
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","names":["_logger","_interopRequireDefault","require","_utils","_events","_support","_asyncbox","_lodash","APP_CONNECT_TIMEOUT_MS","APP_CONNECT_INTERVAL_MS","SELECT_APP_RETRIES","SELECT_APP_RETRY_SLEEP_MS","SAFARI_BUNDLE_ID","BLANK_PAGE_URL","setConnectionKey","log","debug","rpcClient","send","connect","timeout","setup","initRpcClient","on","_","noop","onPageChange","bind","onConnectedApplicationList","onAppConnect","onAppDisconnect","onAppUpdate","onConnectedDriverList","onCurrentState","frameDetached","waitForCondition","isEmpty","appDict","waitMs","interval","err","error","message","disconnect","emit","events","EVENT_DISCONNECT","teardown","selectApp","currentUrl","maxTries","ignoreAboutBlankUrl","shouldCheckForTarget","timer","timing","Timer","start","appIdKey","pageDict","searchForApp","errorAndThrow","logApplicationDictionary","pageArray","pageArrayFromDict","simpleStringify","fullPageArray","app","info","toPairs","isArray","isActive","id","replace","page","url","clone","bundleId","push","getDuration","asMilliSeconds","toFixed","bundleIds","includeSafari","isSafari","additionalBundleIds","retryInterval","retryCount","possibleAppIds","getPossibleDebuggerAppKeys","join","attemptedAppIdKey","result","searchForPage","Error","ign","appsDict","values","promise","dict","selectPage","pageIdKey","skipReadyCheck","checkPageIsReady","pageUnload","apps","getValueString","key","value","isFunction","JSON","stringify","Array","length","prefix","k","v","valueString","updateAppsWithDict","entry","appInfoFromDict","isUndefined","deferredPromise","getDebuggerAppKey","_default","exports","default"],"sources":["../../../lib/mixins/connect.js"],"sourcesContent":["import log from '../logger';\nimport { appInfoFromDict, pageArrayFromDict, getDebuggerAppKey,\n getPossibleDebuggerAppKeys, simpleStringify, deferredPromise } from '../utils';\nimport events from './events';\nimport { timing } from '@appium/support';\nimport { retryInterval, waitForCondition } from 'asyncbox';\nimport _ from 'lodash';\n\n\nconst APP_CONNECT_TIMEOUT_MS = 0;\nconst APP_CONNECT_INTERVAL_MS = 100;\nconst SELECT_APP_RETRIES = 20;\nconst SELECT_APP_RETRY_SLEEP_MS = 500;\nconst SAFARI_BUNDLE_ID = 'com.apple.mobilesafari';\nconst BLANK_PAGE_URL = 'about:blank';\n\n\nasync function setConnectionKey () {\n log.debug('Sending connection key request');\n // send but only wait to make sure the socket worked\n // as response from Web Inspector can take a long time\n await this.rpcClient.send('setConnectionKey', {}, false);\n}\n\nasync function connect (timeout = APP_CONNECT_TIMEOUT_MS) {\n this.setup();\n\n // initialize the rpc client\n this.initRpcClient();\n\n // listen for basic debugger-level events\n this.rpcClient.on('_rpc_reportSetup:', _.noop);\n this.rpcClient.on('_rpc_forwardGetListing:', this.onPageChange.bind(this));\n this.rpcClient.on('_rpc_reportConnectedApplicationList:', this.onConnectedApplicationList.bind(this));\n this.rpcClient.on('_rpc_applicationConnected:', this.onAppConnect.bind(this));\n this.rpcClient.on('_rpc_applicationDisconnected:', this.onAppDisconnect.bind(this));\n this.rpcClient.on('_rpc_applicationUpdated:', this.onAppUpdate.bind(this));\n this.rpcClient.on('_rpc_reportConnectedDriverList:', this.onConnectedDriverList.bind(this));\n this.rpcClient.on('_rpc_reportCurrentState:', this.onCurrentState.bind(this));\n this.rpcClient.on('Page.frameDetached', this.frameDetached.bind(this));\n\n await this.rpcClient.connect();\n\n // get the connection information about the app\n try {\n await this.setConnectionKey();\n if (timeout) {\n log.debug(`Waiting up to ${timeout}ms for applications to be reported`);\n try {\n await waitForCondition(() => !_.isEmpty(this.appDict), {\n waitMs: timeout,\n interval: APP_CONNECT_INTERVAL_MS,\n });\n } catch (err) {\n log.debug(`Timed out waiting for applications to be reported`);\n }\n }\n return this.appDict || {};\n } catch (err) {\n log.error(`Error setting connection key: ${err.message}`);\n await this.disconnect();\n throw err;\n }\n}\n\nasync function disconnect () {\n if (this.rpcClient) {\n await this.rpcClient.disconnect();\n }\n this.emit(events.EVENT_DISCONNECT, true);\n this.teardown();\n}\n\nasync function selectApp (currentUrl = null, maxTries = SELECT_APP_RETRIES, ignoreAboutBlankUrl = false) {\n const shouldCheckForTarget = this.rpcClient.shouldCheckForTarget;\n this.rpcClient.shouldCheckForTarget = false;\n try {\n const timer = new timing.Timer().start();\n log.debug('Selecting application');\n if (!this.appDict || _.isEmpty(this.appDict)) {\n log.debug('No applications currently connected.');\n return [];\n }\n\n const {appIdKey, pageDict} = await this.searchForApp(currentUrl, maxTries, ignoreAboutBlankUrl);\n\n // if, after all this, we have no dictionary, we have failed\n if (!appIdKey || !pageDict) {\n log.errorAndThrow(`Could not connect to a valid app after ${maxTries} tries.`);\n }\n\n if (this.appIdKey !== appIdKey) {\n log.debug(`Received altered app id, updating from '${this.appIdKey}' to '${appIdKey}'`);\n this.appIdKey = appIdKey;\n }\n\n logApplicationDictionary(this.appDict);\n\n // translate the dictionary into a useful form, and return to sender\n const pageArray = _.isEmpty(this.appDict[appIdKey].pageArray)\n ? pageArrayFromDict(pageDict)\n : this.appDict[appIdKey].pageArray;\n log.debug(`Finally selecting app ${this.appIdKey}: ${simpleStringify(pageArray)}`);\n\n let fullPageArray = [];\n for (const [app, info] of _.toPairs(this.appDict)) {\n if (!_.isArray(info.pageArray) || !info.isActive) {\n continue;\n }\n const id = app.replace('PID:', '');\n for (const page of info.pageArray) {\n if (!(ignoreAboutBlankUrl && page.url === BLANK_PAGE_URL)) {\n let pageDict = _.clone(page);\n pageDict.id = `${id}.${pageDict.id}`;\n pageDict.bundleId = info.bundleId;\n fullPageArray.push(pageDict);\n }\n }\n }\n\n log.debug(`Selected app after ${timer.getDuration().asMilliSeconds.toFixed(0)}ms`);\n return fullPageArray;\n } finally {\n this.rpcClient.shouldCheckForTarget = shouldCheckForTarget;\n }\n}\n\nasync function searchForApp (currentUrl, maxTries, ignoreAboutBlankUrl) {\n const bundleIds = this.includeSafari && !this.isSafari\n ? [this.bundleId, ...this.additionalBundleIds, SAFARI_BUNDLE_ID]\n : [this.bundleId, ...this.additionalBundleIds];\n try {\n return await retryInterval(maxTries, SELECT_APP_RETRY_SLEEP_MS, async (retryCount) => {\n logApplicationDictionary(this.appDict);\n const possibleAppIds = getPossibleDebuggerAppKeys(bundleIds, this.appDict);\n log.debug(`Trying out the possible app ids: ${possibleAppIds.join(', ')} (try #${retryCount + 1} of ${maxTries})`);\n for (const attemptedAppIdKey of possibleAppIds) {\n try {\n if (!this.appDict[attemptedAppIdKey].isActive) {\n log.debug(`Skipping app '${attemptedAppIdKey}' because it is not active`);\n continue;\n }\n log.debug(`Attempting app '${attemptedAppIdKey}'`);\n const [appIdKey, pageDict] = await this.rpcClient.selectApp(attemptedAppIdKey, this.onAppConnect.bind(this));\n // in iOS 8.2 the connect logic happens, but with an empty dictionary\n // which leads to the remote debugger getting disconnected, and into a loop\n if (_.isEmpty(pageDict)) {\n log.debug('Empty page dictionary received. Trying again.');\n continue;\n }\n\n // save the page array for this app\n this.appDict[appIdKey].pageArray = pageArrayFromDict(pageDict);\n\n // if we are looking for a particular url, make sure we\n // have the right page. Ignore empty or undefined urls.\n // Ignore about:blank if requested.\n const result = this.searchForPage(this.appDict, currentUrl, ignoreAboutBlankUrl);\n if (result) {\n return result;\n }\n\n if (currentUrl) {\n log.debug(`Received app, but expected url ('${currentUrl}') was not found. Trying again.`);\n } else {\n log.debug('Received app, but no match was found. Trying again.');\n }\n } catch (err) {\n log.debug(`Error checking application: '${err.message}'. Retrying connection`);\n }\n }\n retryCount++;\n throw new Error('Failed to find an app to select');\n }, 0);\n } catch (ign) {\n log.errorAndThrow(`Could not connect to a valid app after ${maxTries} tries.`);\n }\n}\n\nfunction searchForPage (appsDict, currentUrl = null, ignoreAboutBlankUrl = false) {\n for (const appDict of _.values(appsDict)) {\n if (!appDict || !appDict.isActive || !appDict.pageArray || appDict.pageArray.promise) {\n continue;\n }\n\n for (const dict of appDict.pageArray) {\n if ((!ignoreAboutBlankUrl || dict.url !== BLANK_PAGE_URL) &&\n (!currentUrl || dict.url === currentUrl || dict.url === `${currentUrl}/`)) {\n return { appIdKey: appDict.id, pageDict: dict };\n }\n }\n }\n return null;\n}\n\nasync function selectPage (appIdKey, pageIdKey, skipReadyCheck = false) {\n this.appIdKey = `PID:${appIdKey}`;\n this.pageIdKey = pageIdKey;\n\n log.debug(`Selecting page '${pageIdKey}' on app '${this.appIdKey}' and forwarding socket setup`);\n\n const timer = new timing.Timer().start();\n\n await this.rpcClient.selectPage(this.appIdKey, pageIdKey);\n\n // make sure everything is ready to go\n if (!skipReadyCheck && !await this.checkPageIsReady()) {\n await this.pageUnload();\n }\n\n log.debug(`Selected page after ${timer.getDuration().asMilliSeconds.toFixed(0)}ms`);\n}\n\nfunction logApplicationDictionary (apps) {\n function getValueString (key, value) {\n if (_.isFunction(value)) {\n return '[Function]';\n }\n if (key === 'pageArray' && !_.isArray(value)) {\n return `\"Waiting for data\"`;\n }\n return JSON.stringify(value);\n }\n log.debug('Current applications available:');\n for (const [app, info] of _.toPairs(apps)) {\n log.debug(` Application: \"${app}\"`);\n for (const [key, value] of _.toPairs(info)) {\n if (key === 'pageArray' && Array.isArray(value) && value.length) {\n log.debug(` ${key}:`);\n for (const page of value) {\n let prefix = '- ';\n for (const [k, v] of _.toPairs(page)) {\n log.debug(` ${prefix}${k}: ${JSON.stringify(v)}`);\n prefix = ' ';\n }\n }\n } else {\n const valueString = getValueString(key, value);\n log.debug(` ${key}: ${valueString}`);\n }\n }\n }\n}\n\nfunction updateAppsWithDict (dict) {\n // get the dictionary entry into a nice form, and add it to the\n // application dictionary\n this.appDict = this.appDict || {};\n let [id, entry] = appInfoFromDict(dict);\n if (this.appDict[id]) {\n // preserve the page dictionary for this entry\n entry.pageArray = this.appDict[id].pageArray;\n }\n this.appDict[id] = entry;\n\n // add a promise to get the page dictionary\n if (_.isUndefined(entry.pageArray)) {\n entry.pageArray = deferredPromise();\n }\n\n // try to get the app id from our connected apps\n if (!this.appIdKey) {\n this.appIdKey = getDebuggerAppKey(this.bundleId, this.appDict);\n }\n}\n\nexport default { setConnectionKey, connect, disconnect, selectApp, searchForApp, searchForPage, selectPage, updateAppsWithDict };\n"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAN,sBAAA,CAAAC,OAAA;AAGA,MAAMM,sBAAsB,GAAG,CAAC;AAChC,MAAMC,uBAAuB,GAAG,GAAG;AACnC,MAAMC,kBAAkB,GAAG,EAAE;AAC7B,MAAMC,yBAAyB,GAAG,GAAG;AACrC,MAAMC,gBAAgB,GAAG,wBAAwB;AACjD,MAAMC,cAAc,GAAG,aAAa;AAGpC,eAAeC,gBAAgBA,CAAA,EAAI;EACjCC,eAAG,CAACC,KAAK,CAAC,gCAAgC,CAAC;EAG3C,MAAM,IAAI,CAACC,SAAS,CAACC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;AAC1D;AAEA,eAAeC,OAAOA,CAAEC,OAAO,GAAGZ,sBAAsB,EAAE;EACxD,IAAI,CAACa,KAAK,CAAC,CAAC;EAGZ,IAAI,CAACC,aAAa,CAAC,CAAC;EAGpB,IAAI,CAACL,SAAS,CAACM,EAAE,CAAC,mBAAmB,EAAEC,eAAC,CAACC,IAAI,CAAC;EAC9C,IAAI,CAACR,SAAS,CAACM,EAAE,CAAC,yBAAyB,EAAE,IAAI,CAACG,YAAY,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC1E,IAAI,CAACV,SAAS,CAACM,EAAE,CAAC,sCAAsC,EAAE,IAAI,CAACK,0BAA0B,CAACD,IAAI,CAAC,IAAI,CAAC,CAAC;EACrG,IAAI,CAACV,SAAS,CAACM,EAAE,CAAC,4BAA4B,EAAE,IAAI,CAACM,YAAY,CAACF,IAAI,CAAC,IAAI,CAAC,CAAC;EAC7E,IAAI,CAACV,SAAS,CAACM,EAAE,CAAC,+BAA+B,EAAE,IAAI,CAACO,eAAe,CAACH,IAAI,CAAC,IAAI,CAAC,CAAC;EACnF,IAAI,CAACV,SAAS,CAACM,EAAE,CAAC,0BAA0B,EAAE,IAAI,CAACQ,WAAW,CAACJ,IAAI,CAAC,IAAI,CAAC,CAAC;EAC1E,IAAI,CAACV,SAAS,CAACM,EAAE,CAAC,iCAAiC,EAAE,IAAI,CAACS,qBAAqB,CAACL,IAAI,CAAC,IAAI,CAAC,CAAC;EAC3F,IAAI,CAACV,SAAS,CAACM,EAAE,CAAC,0BAA0B,EAAE,IAAI,CAACU,cAAc,CAACN,IAAI,CAAC,IAAI,CAAC,CAAC;EAC7E,IAAI,CAACV,SAAS,CAACM,EAAE,CAAC,oBAAoB,EAAE,IAAI,CAACW,aAAa,CAACP,IAAI,CAAC,IAAI,CAAC,CAAC;EAEtE,MAAM,IAAI,CAACV,SAAS,CAACE,OAAO,CAAC,CAAC;EAG9B,IAAI;IACF,MAAM,IAAI,CAACL,gBAAgB,CAAC,CAAC;IAC7B,IAAIM,OAAO,EAAE;MACXL,eAAG,CAACC,KAAK,CAAE,iBAAgBI,OAAQ,oCAAmC,CAAC;MACvE,IAAI;QACF,MAAM,IAAAe,0BAAgB,EAAC,MAAM,CAACX,eAAC,CAACY,OAAO,CAAC,IAAI,CAACC,OAAO,CAAC,EAAE;UACrDC,MAAM,EAAElB,OAAO;UACfmB,QAAQ,EAAE9B;QACZ,CAAC,CAAC;MACJ,CAAC,CAAC,OAAO+B,GAAG,EAAE;QACZzB,eAAG,CAACC,KAAK,CAAE,mDAAkD,CAAC;MAChE;IACF;IACA,OAAO,IAAI,CAACqB,OAAO,IAAI,CAAC,CAAC;EAC3B,CAAC,CAAC,OAAOG,GAAG,EAAE;IACZzB,eAAG,CAAC0B,KAAK,CAAE,iCAAgCD,GAAG,CAACE,OAAQ,EAAC,CAAC;IACzD,MAAM,IAAI,CAACC,UAAU,CAAC,CAAC;IACvB,MAAMH,GAAG;EACX;AACF;AAEA,eAAeG,UAAUA,CAAA,EAAI;EAC3B,IAAI,IAAI,CAAC1B,SAAS,EAAE;IAClB,MAAM,IAAI,CAACA,SAAS,CAAC0B,UAAU,CAAC,CAAC;EACnC;EACA,IAAI,CAACC,IAAI,CAACC,eAAM,CAACC,gBAAgB,EAAE,IAAI,CAAC;EACxC,IAAI,CAACC,QAAQ,CAAC,CAAC;AACjB;AAEA,eAAeC,SAASA,CAAEC,UAAU,GAAG,IAAI,EAAEC,QAAQ,GAAGxC,kBAAkB,EAAEyC,mBAAmB,GAAG,KAAK,EAAE;EACvG,MAAMC,oBAAoB,GAAG,IAAI,CAACnC,SAAS,CAACmC,oBAAoB;EAChE,IAAI,CAACnC,SAAS,CAACmC,oBAAoB,GAAG,KAAK;EAC3C,IAAI;IACF,MAAMC,KAAK,GAAG,IAAIC,eAAM,CAACC,KAAK,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;IACxCzC,eAAG,CAACC,KAAK,CAAC,uBAAuB,CAAC;IAClC,IAAI,CAAC,IAAI,CAACqB,OAAO,IAAIb,eAAC,CAACY,OAAO,CAAC,IAAI,CAACC,OAAO,CAAC,EAAE;MAC5CtB,eAAG,CAACC,KAAK,CAAC,sCAAsC,CAAC;MACjD,OAAO,EAAE;IACX;IAEA,MAAM;MAACyC,QAAQ;MAAEC;IAAQ,CAAC,GAAG,MAAM,IAAI,CAACC,YAAY,CAACV,UAAU,EAAEC,QAAQ,EAAEC,mBAAmB,CAAC;IAG/F,IAAI,CAACM,QAAQ,IAAI,CAACC,QAAQ,EAAE;MAC1B3C,eAAG,CAAC6C,aAAa,CAAE,0CAAyCV,QAAS,SAAQ,CAAC;IAChF;IAEA,IAAI,IAAI,CAACO,QAAQ,KAAKA,QAAQ,EAAE;MAC9B1C,eAAG,CAACC,KAAK,CAAE,2CAA0C,IAAI,CAACyC,QAAS,SAAQA,QAAS,GAAE,CAAC;MACvF,IAAI,CAACA,QAAQ,GAAGA,QAAQ;IAC1B;IAEAI,wBAAwB,CAAC,IAAI,CAACxB,OAAO,CAAC;IAGtC,MAAMyB,SAAS,GAAGtC,eAAC,CAACY,OAAO,CAAC,IAAI,CAACC,OAAO,CAACoB,QAAQ,CAAC,CAACK,SAAS,CAAC,GACzD,IAAAC,wBAAiB,EAACL,QAAQ,CAAC,GAC3B,IAAI,CAACrB,OAAO,CAACoB,QAAQ,CAAC,CAACK,SAAS;IACpC/C,eAAG,CAACC,KAAK,CAAE,yBAAwB,IAAI,CAACyC,QAAS,KAAI,IAAAO,sBAAe,EAACF,SAAS,CAAE,EAAC,CAAC;IAElF,IAAIG,aAAa,GAAG,EAAE;IACtB,KAAK,MAAM,CAACC,GAAG,EAAEC,IAAI,CAAC,IAAI3C,eAAC,CAAC4C,OAAO,CAAC,IAAI,CAAC/B,OAAO,CAAC,EAAE;MACjD,IAAI,CAACb,eAAC,CAAC6C,OAAO,CAACF,IAAI,CAACL,SAAS,CAAC,IAAI,CAACK,IAAI,CAACG,QAAQ,EAAE;QAChD;MACF;MACA,MAAMC,EAAE,GAAGL,GAAG,CAACM,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;MAClC,KAAK,MAAMC,IAAI,IAAIN,IAAI,CAACL,SAAS,EAAE;QACjC,IAAI,EAAEX,mBAAmB,IAAIsB,IAAI,CAACC,GAAG,KAAK7D,cAAc,CAAC,EAAE;UACzD,IAAI6C,QAAQ,GAAGlC,eAAC,CAACmD,KAAK,CAACF,IAAI,CAAC;UAC5Bf,QAAQ,CAACa,EAAE,GAAI,GAAEA,EAAG,IAAGb,QAAQ,CAACa,EAAG,EAAC;UACpCb,QAAQ,CAACkB,QAAQ,GAAGT,IAAI,CAACS,QAAQ;UACjCX,aAAa,CAACY,IAAI,CAACnB,QAAQ,CAAC;QAC9B;MACF;IACF;IAEA3C,eAAG,CAACC,KAAK,CAAE,sBAAqBqC,KAAK,CAACyB,WAAW,CAAC,CAAC,CAACC,cAAc,CAACC,OAAO,CAAC,CAAC,CAAE,IAAG,CAAC;IAClF,OAAOf,aAAa;EACtB,CAAC,SAAS;IACR,IAAI,CAAChD,SAAS,CAACmC,oBAAoB,GAAGA,oBAAoB;EAC5D;AACF;AAEA,eAAeO,YAAYA,CAAEV,UAAU,EAAEC,QAAQ,EAAEC,mBAAmB,EAAE;EACtE,MAAM8B,SAAS,GAAG,IAAI,CAACC,aAAa,IAAI,CAAC,IAAI,CAACC,QAAQ,GAClD,CAAC,IAAI,CAACP,QAAQ,EAAE,GAAG,IAAI,CAACQ,mBAAmB,EAAExE,gBAAgB,CAAC,GAC9D,CAAC,IAAI,CAACgE,QAAQ,EAAE,GAAG,IAAI,CAACQ,mBAAmB,CAAC;EAChD,IAAI;IACF,OAAO,MAAM,IAAAC,uBAAa,EAACnC,QAAQ,EAAEvC,yBAAyB,EAAE,MAAO2E,UAAU,IAAK;MACpFzB,wBAAwB,CAAC,IAAI,CAACxB,OAAO,CAAC;MACtC,MAAMkD,cAAc,GAAG,IAAAC,iCAA0B,EAACP,SAAS,EAAE,IAAI,CAAC5C,OAAO,CAAC;MAC1EtB,eAAG,CAACC,KAAK,CAAE,oCAAmCuE,cAAc,CAACE,IAAI,CAAC,IAAI,CAAE,UAASH,UAAU,GAAG,CAAE,OAAMpC,QAAS,GAAE,CAAC;MAClH,KAAK,MAAMwC,iBAAiB,IAAIH,cAAc,EAAE;QAC9C,IAAI;UACF,IAAI,CAAC,IAAI,CAAClD,OAAO,CAACqD,iBAAiB,CAAC,CAACpB,QAAQ,EAAE;YAC7CvD,eAAG,CAACC,KAAK,CAAE,iBAAgB0E,iBAAkB,4BAA2B,CAAC;YACzE;UACF;UACA3E,eAAG,CAACC,KAAK,CAAE,mBAAkB0E,iBAAkB,GAAE,CAAC;UAClD,MAAM,CAACjC,QAAQ,EAAEC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAACzC,SAAS,CAAC+B,SAAS,CAAC0C,iBAAiB,EAAE,IAAI,CAAC7D,YAAY,CAACF,IAAI,CAAC,IAAI,CAAC,CAAC;UAG5G,IAAIH,eAAC,CAACY,OAAO,CAACsB,QAAQ,CAAC,EAAE;YACvB3C,eAAG,CAACC,KAAK,CAAC,+CAA+C,CAAC;YAC1D;UACF;UAGA,IAAI,CAACqB,OAAO,CAACoB,QAAQ,CAAC,CAACK,SAAS,GAAG,IAAAC,wBAAiB,EAACL,QAAQ,CAAC;UAK9D,MAAMiC,MAAM,GAAG,IAAI,CAACC,aAAa,CAAC,IAAI,CAACvD,OAAO,EAAEY,UAAU,EAAEE,mBAAmB,CAAC;UAChF,IAAIwC,MAAM,EAAE;YACV,OAAOA,MAAM;UACf;UAEA,IAAI1C,UAAU,EAAE;YACdlC,eAAG,CAACC,KAAK,CAAE,oCAAmCiC,UAAW,iCAAgC,CAAC;UAC5F,CAAC,MAAM;YACLlC,eAAG,CAACC,KAAK,CAAC,qDAAqD,CAAC;UAClE;QACF,CAAC,CAAC,OAAOwB,GAAG,EAAE;UACZzB,eAAG,CAACC,KAAK,CAAE,gCAA+BwB,GAAG,CAACE,OAAQ,wBAAuB,CAAC;QAChF;MACF;MACA4C,UAAU,EAAE;MACZ,MAAM,IAAIO,KAAK,CAAC,iCAAiC,CAAC;IACpD,CAAC,EAAE,CAAC,CAAC;EACP,CAAC,CAAC,OAAOC,GAAG,EAAE;IACZ/E,eAAG,CAAC6C,aAAa,CAAE,0CAAyCV,QAAS,SAAQ,CAAC;EAChF;AACF;AAEA,SAAS0C,aAAaA,CAAEG,QAAQ,EAAE9C,UAAU,GAAG,IAAI,EAAEE,mBAAmB,GAAG,KAAK,EAAE;EAChF,KAAK,MAAMd,OAAO,IAAIb,eAAC,CAACwE,MAAM,CAACD,QAAQ,CAAC,EAAE;IACxC,IAAI,CAAC1D,OAAO,IAAI,CAACA,OAAO,CAACiC,QAAQ,IAAI,CAACjC,OAAO,CAACyB,SAAS,IAAIzB,OAAO,CAACyB,SAAS,CAACmC,OAAO,EAAE;MACpF;IACF;IAEA,KAAK,MAAMC,IAAI,IAAI7D,OAAO,CAACyB,SAAS,EAAE;MACpC,IAAI,CAAC,CAACX,mBAAmB,IAAI+C,IAAI,CAACxB,GAAG,KAAK7D,cAAc,MACnD,CAACoC,UAAU,IAAIiD,IAAI,CAACxB,GAAG,KAAKzB,UAAU,IAAIiD,IAAI,CAACxB,GAAG,KAAM,GAAEzB,UAAW,GAAE,CAAC,EAAE;QAC7E,OAAO;UAAEQ,QAAQ,EAAEpB,OAAO,CAACkC,EAAE;UAAEb,QAAQ,EAAEwC;QAAK,CAAC;MACjD;IACF;EACF;EACA,OAAO,IAAI;AACb;AAEA,eAAeC,UAAUA,CAAE1C,QAAQ,EAAE2C,SAAS,EAAEC,cAAc,GAAG,KAAK,EAAE;EACtE,IAAI,CAAC5C,QAAQ,GAAI,OAAMA,QAAS,EAAC;EACjC,IAAI,CAAC2C,SAAS,GAAGA,SAAS;EAE1BrF,eAAG,CAACC,KAAK,CAAE,mBAAkBoF,SAAU,aAAY,IAAI,CAAC3C,QAAS,+BAA8B,CAAC;EAEhG,MAAMJ,KAAK,GAAG,IAAIC,eAAM,CAACC,KAAK,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;EAExC,MAAM,IAAI,CAACvC,SAAS,CAACkF,UAAU,CAAC,IAAI,CAAC1C,QAAQ,EAAE2C,SAAS,CAAC;EAGzD,IAAI,CAACC,cAAc,IAAI,EAAC,MAAM,IAAI,CAACC,gBAAgB,CAAC,CAAC,GAAE;IACrD,MAAM,IAAI,CAACC,UAAU,CAAC,CAAC;EACzB;EAEAxF,eAAG,CAACC,KAAK,CAAE,uBAAsBqC,KAAK,CAACyB,WAAW,CAAC,CAAC,CAACC,cAAc,CAACC,OAAO,CAAC,CAAC,CAAE,IAAG,CAAC;AACrF;AAEA,SAASnB,wBAAwBA,CAAE2C,IAAI,EAAE;EACvC,SAASC,cAAcA,CAAEC,GAAG,EAAEC,KAAK,EAAE;IACnC,IAAInF,eAAC,CAACoF,UAAU,CAACD,KAAK,CAAC,EAAE;MACvB,OAAO,YAAY;IACrB;IACA,IAAID,GAAG,KAAK,WAAW,IAAI,CAAClF,eAAC,CAAC6C,OAAO,CAACsC,KAAK,CAAC,EAAE;MAC5C,OAAQ,oBAAmB;IAC7B;IACA,OAAOE,IAAI,CAACC,SAAS,CAACH,KAAK,CAAC;EAC9B;EACA5F,eAAG,CAACC,KAAK,CAAC,iCAAiC,CAAC;EAC5C,KAAK,MAAM,CAACkD,GAAG,EAAEC,IAAI,CAAC,IAAI3C,eAAC,CAAC4C,OAAO,CAACoC,IAAI,CAAC,EAAE;IACzCzF,eAAG,CAACC,KAAK,CAAE,qBAAoBkD,GAAI,GAAE,CAAC;IACtC,KAAK,MAAM,CAACwC,GAAG,EAAEC,KAAK,CAAC,IAAInF,eAAC,CAAC4C,OAAO,CAACD,IAAI,CAAC,EAAE;MAC1C,IAAIuC,GAAG,KAAK,WAAW,IAAIK,KAAK,CAAC1C,OAAO,CAACsC,KAAK,CAAC,IAAIA,KAAK,CAACK,MAAM,EAAE;QAC/DjG,eAAG,CAACC,KAAK,CAAE,WAAU0F,GAAI,GAAE,CAAC;QAC5B,KAAK,MAAMjC,IAAI,IAAIkC,KAAK,EAAE;UACxB,IAAIM,MAAM,GAAG,IAAI;UACjB,KAAK,MAAM,CAACC,CAAC,EAAEC,CAAC,CAAC,IAAI3F,eAAC,CAAC4C,OAAO,CAACK,IAAI,CAAC,EAAE;YACpC1D,eAAG,CAACC,KAAK,CAAE,aAAYiG,MAAO,GAAEC,CAAE,KAAIL,IAAI,CAACC,SAAS,CAACK,CAAC,CAAE,EAAC,CAAC;YAC1DF,MAAM,GAAG,IAAI;UACf;QACF;MACF,CAAC,MAAM;QACL,MAAMG,WAAW,GAAGX,cAAc,CAACC,GAAG,EAAEC,KAAK,CAAC;QAC9C5F,eAAG,CAACC,KAAK,CAAE,WAAU0F,GAAI,KAAIU,WAAY,EAAC,CAAC;MAC7C;IACF;EACF;AACF;AAEA,SAASC,kBAAkBA,CAAEnB,IAAI,EAAE;EAGjC,IAAI,CAAC7D,OAAO,GAAG,IAAI,CAACA,OAAO,IAAI,CAAC,CAAC;EACjC,IAAI,CAACkC,EAAE,EAAE+C,KAAK,CAAC,GAAG,IAAAC,sBAAe,EAACrB,IAAI,CAAC;EACvC,IAAI,IAAI,CAAC7D,OAAO,CAACkC,EAAE,CAAC,EAAE;IAEpB+C,KAAK,CAACxD,SAAS,GAAG,IAAI,CAACzB,OAAO,CAACkC,EAAE,CAAC,CAACT,SAAS;EAC9C;EACA,IAAI,CAACzB,OAAO,CAACkC,EAAE,CAAC,GAAG+C,KAAK;EAGxB,IAAI9F,eAAC,CAACgG,WAAW,CAACF,KAAK,CAACxD,SAAS,CAAC,EAAE;IAClCwD,KAAK,CAACxD,SAAS,GAAG,IAAA2D,sBAAe,EAAC,CAAC;EACrC;EAGA,IAAI,CAAC,IAAI,CAAChE,QAAQ,EAAE;IAClB,IAAI,CAACA,QAAQ,GAAG,IAAAiE,wBAAiB,EAAC,IAAI,CAAC9C,QAAQ,EAAE,IAAI,CAACvC,OAAO,CAAC;EAChE;AACF;AAAC,IAAAsF,QAAA,GAEc;EAAE7G,gBAAgB;EAAEK,OAAO;EAAEwB,UAAU;EAAEK,SAAS;EAAEW,YAAY;EAAEiC,aAAa;EAAEO,UAAU;EAAEkB;AAAmB,CAAC;AAAAO,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../lib/mixins/connect.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export default events;
2
+ declare namespace events {
3
+ let EVENT_PAGE_CHANGE: string;
4
+ let EVENT_FRAMES_DETACHED: string;
5
+ let EVENT_DISCONNECT: string;
6
+ }
7
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../lib/mixins/events.js"],"names":[],"mappings":""}
@@ -1,15 +1,10 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- require("source-map-support/register");
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // event emitted publically
8
4
  const events = {
9
- EVENT_PAGE_CHANGE: 'remote_debugger_page_change',
10
- EVENT_FRAMES_DETACHED: 'remote_debugger_frames_detached',
11
- EVENT_DISCONNECT: 'remote_debugger_disconnect'
5
+ EVENT_PAGE_CHANGE: 'remote_debugger_page_change',
6
+ EVENT_FRAMES_DETACHED: 'remote_debugger_frames_detached',
7
+ EVENT_DISCONNECT: 'remote_debugger_disconnect',
12
8
  };
13
- var _default = events;
14
- exports.default = _default;
15
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJldmVudHMiLCJFVkVOVF9QQUdFX0NIQU5HRSIsIkVWRU5UX0ZSQU1FU19ERVRBQ0hFRCIsIkVWRU5UX0RJU0NPTk5FQ1QiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL21peGlucy9ldmVudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZXZlbnQgZW1pdHRlZCBwdWJsaWNhbGx5XG5jb25zdCBldmVudHMgPSB7XG4gIEVWRU5UX1BBR0VfQ0hBTkdFOiAncmVtb3RlX2RlYnVnZ2VyX3BhZ2VfY2hhbmdlJyxcbiAgRVZFTlRfRlJBTUVTX0RFVEFDSEVEOiAncmVtb3RlX2RlYnVnZ2VyX2ZyYW1lc19kZXRhY2hlZCcsXG4gIEVWRU5UX0RJU0NPTk5FQ1Q6ICdyZW1vdGVfZGVidWdnZXJfZGlzY29ubmVjdCcsXG59O1xuXG5cbmV4cG9ydCBkZWZhdWx0IGV2ZW50cztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBLE1BQU1BLE1BQU0sR0FBRztFQUNiQyxpQkFBaUIsRUFBRSw2QkFBNkI7RUFDaERDLHFCQUFxQixFQUFFLGlDQUFpQztFQUN4REMsZ0JBQWdCLEVBQUU7QUFDcEIsQ0FBQztBQUFDLElBQUFDLFFBQUEsR0FHYUosTUFBTTtBQUFBSyxPQUFBLENBQUFDLE9BQUEsR0FBQUYsUUFBQSJ9
9
+ exports.default = events;
10
+ //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","names":["events","EVENT_PAGE_CHANGE","EVENT_FRAMES_DETACHED","EVENT_DISCONNECT","_default","exports","default"],"sources":["../../../lib/mixins/events.js"],"sourcesContent":["// event emitted publically\nconst events = {\n EVENT_PAGE_CHANGE: 'remote_debugger_page_change',\n EVENT_FRAMES_DETACHED: 'remote_debugger_frames_detached',\n EVENT_DISCONNECT: 'remote_debugger_disconnect',\n};\n\n\nexport default events;\n"],"mappings":";;;;;;;AACA,MAAMA,MAAM,GAAG;EACbC,iBAAiB,EAAE,6BAA6B;EAChDC,qBAAqB,EAAE,iCAAiC;EACxDC,gBAAgB,EAAE;AACpB,CAAC;AAAC,IAAAC,QAAA,GAGaJ,MAAM;AAAAK,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../lib/mixins/events.js"],"names":[],"mappings":";;AAAA,2BAA2B;AAC3B,MAAM,MAAM,GAAG;IACb,iBAAiB,EAAE,6BAA6B;IAChD,qBAAqB,EAAE,iCAAiC;IACxD,gBAAgB,EAAE,4BAA4B;CAC/C,CAAC;AAGF,kBAAe,MAAM,CAAC"}
@@ -0,0 +1,38 @@
1
+ declare namespace _default {
2
+ export { executeAtom };
3
+ export { executeAtomAsync };
4
+ export { execute };
5
+ export { callFunction };
6
+ }
7
+ export default _default;
8
+ /**
9
+ * Execute a Selenium atom in Safari
10
+ * @param {string} atom Name of Selenium atom (see atoms/ directory)
11
+ * @param {any[]} args Arguments passed to the atom
12
+ * @param {string[]} frames
13
+ * @returns {Promise<string>} The result received from the atom
14
+ */
15
+ declare function executeAtom(atom: string, args?: any[], frames?: string[]): Promise<string>;
16
+ /**
17
+ * @this {import('../remote-debugger').RemoteDebugger}
18
+ * @param {string} atom
19
+ * @param {any[]} [args]
20
+ * @param {string[]} [frames]
21
+ * @returns {Promise<any>}
22
+ */
23
+ declare function executeAtomAsync(this: import("../remote-debugger").default, atom: string, args?: any[] | undefined, frames?: string[] | undefined): Promise<any>;
24
+ /**
25
+ * @this {import('../remote-debugger').RemoteDebugger}
26
+ * @param {string} command
27
+ * @param {boolean} [override]
28
+ * @returns {Promise<any>}
29
+ */
30
+ declare function execute(this: import("../remote-debugger").default, command: string, override?: boolean | undefined): Promise<any>;
31
+ /**
32
+ * @this {import('../remote-debugger').RemoteDebugger}
33
+ * @param {string} objectId
34
+ * @param {any} fn
35
+ * @param {any[]} [args]
36
+ */
37
+ declare function callFunction(this: import("../remote-debugger").default, objectId: string, fn: any, args?: any[] | undefined): Promise<any>;
38
+ //# sourceMappingURL=execute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../lib/mixins/execute.js"],"names":[],"mappings":";;;;;;;AAYA;;;;;;GAMG;AACH,mCALW,MAAM,SACN,GAAG,EAAE,WACL,MAAM,EAAE,GACN,QAAQ,MAAM,CAAC,CAY3B;AAED;;;;;;GAMG;AACH,oFALW,MAAM,4DAGJ,QAAQ,GAAG,CAAC,CAyFxB;AAED;;;;;GAKG;AACH,8EAJW,MAAM,mCAEJ,QAAQ,GAAG,CAAC,CAgCxB;AAED;;;;;GAKG;AACH,oFAJW,MAAM,MACN,GAAG,0CAyBb"}
@@ -1,39 +1,57 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- require("source-map-support/register");
9
- var _logger = _interopRequireDefault(require("../logger"));
10
- var _baseDriver = require("@appium/base-driver");
11
- var _utils = require("../utils");
12
- var _atoms = require("../atoms");
13
- var _support = require("@appium/support");
14
- var _asyncbox = require("asyncbox");
15
- var _lodash = _interopRequireDefault(require("lodash"));
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const logger_1 = __importDefault(require("../logger"));
7
+ const base_driver_1 = require("@appium/base-driver");
8
+ const utils_1 = require("../utils");
9
+ const atoms_1 = require("../atoms");
10
+ const support_1 = require("@appium/support");
11
+ const asyncbox_1 = require("asyncbox");
12
+ const lodash_1 = __importDefault(require("lodash"));
13
+ /* How many milliseconds to wait for webkit to return a response before timing out */
16
14
  const RPC_RESPONSE_TIMEOUT_MS = 5000;
17
- async function executeAtom(atom, args, frames) {
18
- if (!this.rpcClient.isConnected) {
19
- throw new Error('Remote debugger is not connected');
20
- }
21
- _logger.default.debug(`Executing atom '${atom}' with 'args=${JSON.stringify(args)}; frames=${frames}'`);
22
- const script = await (0, _atoms.getScriptForAtom)(atom, args, frames);
23
- const value = await this.execute(script, true);
24
- _logger.default.debug(`Received result for atom '${atom}' execution: ${_lodash.default.truncate((0, _utils.simpleStringify)(value), {
25
- length: _utils.RESPONSE_LOG_LENGTH
26
- })}`);
27
- return value;
15
+ /**
16
+ * Execute a Selenium atom in Safari
17
+ * @param {string} atom Name of Selenium atom (see atoms/ directory)
18
+ * @param {any[]} args Arguments passed to the atom
19
+ * @param {string[]} frames
20
+ * @returns {Promise<string>} The result received from the atom
21
+ */
22
+ async function executeAtom(atom, args = [], frames = []) {
23
+ if (!this.rpcClient?.isConnected) {
24
+ throw new Error('Remote debugger is not connected');
25
+ }
26
+ logger_1.default.debug(`Executing atom '${atom}' with 'args=${JSON.stringify(args)}; frames=${frames}'`);
27
+ const script = await (0, atoms_1.getScriptForAtom)(atom, args, frames);
28
+ const value = await this.execute(script, true);
29
+ logger_1.default.debug(`Received result for atom '${atom}' execution: ${lodash_1.default.truncate((0, utils_1.simpleStringify)(value), { length: utils_1.RESPONSE_LOG_LENGTH })}`);
30
+ return value;
28
31
  }
29
- async function executeAtomAsync(atom, args, frames) {
30
- const evaluate = async (method, opts) => await this.rpcClient.send(method, Object.assign({
31
- appIdKey: this.appIdKey,
32
- pageIdKey: this.pageIdKey,
33
- returnByValue: false
34
- }, opts));
35
- const promiseName = `appiumAsyncExecutePromise${_support.util.uuidV4().replace(/-/g, '')}`;
36
- const script = `var res, rej;
32
+ /**
33
+ * @this {import('../remote-debugger').RemoteDebugger}
34
+ * @param {string} atom
35
+ * @param {any[]} [args]
36
+ * @param {string[]} [frames]
37
+ * @returns {Promise<any>}
38
+ */
39
+ async function executeAtomAsync(atom, args = [], frames = []) {
40
+ // helper to send directly to the web inspector
41
+ const evaluate = async (method, opts) => {
42
+ if (!this.rpcClient?.isConnected) {
43
+ throw new Error('Remote debugger is not connected');
44
+ }
45
+ return await this.rpcClient.send(method, Object.assign({
46
+ appIdKey: this.appIdKey,
47
+ pageIdKey: this.pageIdKey,
48
+ returnByValue: false,
49
+ }, opts));
50
+ };
51
+ // first create a Promise on the page, saving the resolve/reject functions
52
+ // as properties
53
+ const promiseName = `appiumAsyncExecutePromise${support_1.util.uuidV4().replace(/-/g, '')}`;
54
+ const script = `var res, rej;
37
55
  window.${promiseName} = new Promise(function (resolve, reject) {
38
56
  res = resolve;
39
57
  rej = reject;
@@ -41,102 +59,124 @@ async function executeAtomAsync(atom, args, frames) {
41
59
  window.${promiseName}.resolve = res;
42
60
  window.${promiseName}.reject = rej;
43
61
  window.${promiseName};`;
44
- const obj = await evaluate('Runtime.evaluate', {
45
- expression: script
46
- });
47
- const promiseObjectId = obj.result.objectId;
48
- const asyncCallBack = `function (res) {
62
+ const obj = await evaluate('Runtime.evaluate', {
63
+ expression: script,
64
+ });
65
+ const promiseObjectId = obj.result.objectId;
66
+ // execute the atom, calling back to the resolve function
67
+ const asyncCallBack = `function (res) {
49
68
  window.${promiseName}.resolve(res);
50
69
  window.${promiseName}Value = res;
51
70
  }`;
52
- await this.execute(await (0, _atoms.getScriptForAtom)(atom, args, frames, asyncCallBack));
53
- let res;
54
- const subcommandTimeout = 1000;
55
- try {
56
- res = await evaluate('Runtime.awaitPromise', {
57
- promiseObjectId,
58
- returnByValue: true,
59
- generatePreview: true,
60
- saveResult: true
61
- });
62
- } catch (err) {
63
- if (!err.message.includes(`'Runtime.awaitPromise' was not found`)) {
64
- throw err;
71
+ await this.execute(await (0, atoms_1.getScriptForAtom)(atom, args, frames, asyncCallBack));
72
+ // wait for the promise to be resolved
73
+ let res;
74
+ const subcommandTimeout = 1000; // timeout on individual commands
75
+ try {
76
+ res = await evaluate('Runtime.awaitPromise', {
77
+ promiseObjectId,
78
+ returnByValue: true,
79
+ generatePreview: true,
80
+ saveResult: true,
81
+ });
65
82
  }
66
- const retryWait = 100;
67
- const timeout = args.length >= 3 ? args[2] : RPC_RESPONSE_TIMEOUT_MS;
68
- const retries = parseInt(timeout / retryWait, 10) || 1;
69
- const timer = new _support.timing.Timer().start();
70
- _logger.default.debug(`Waiting up to ${timeout}ms for async execute to finish`);
71
- res = await (0, _asyncbox.retryInterval)(retries, retryWait, async () => {
72
- const hasValue = await evaluate('Runtime.evaluate', {
73
- expression: `window.hasOwnProperty('${promiseName}Value');`,
74
- returnByValue: true
75
- });
76
- if (hasValue) {
77
- return await evaluate('Runtime.evaluate', {
78
- expression: `window.${promiseName}Value;`,
79
- returnByValue: true
83
+ catch (err) {
84
+ if (!err.message.includes(`'Runtime.awaitPromise' was not found`)) {
85
+ throw err;
86
+ }
87
+ // awaitPromise is not always available, so simulate it with poll
88
+ const retryWait = 100;
89
+ const timeout = (args.length >= 3) ? args[2] : RPC_RESPONSE_TIMEOUT_MS;
90
+ // if the timeout math turns up 0 retries, make sure it happens once
91
+ const retries = parseInt(`${timeout / retryWait}`, 10) || 1;
92
+ const timer = new support_1.timing.Timer().start();
93
+ logger_1.default.debug(`Waiting up to ${timeout}ms for async execute to finish`);
94
+ res = await (0, asyncbox_1.retryInterval)(retries, retryWait, async () => {
95
+ // the atom _will_ return, either because it finished or an error
96
+ // including a timeout error
97
+ const hasValue = await evaluate('Runtime.evaluate', {
98
+ expression: `window.hasOwnProperty('${promiseName}Value');`,
99
+ returnByValue: true,
100
+ });
101
+ if (hasValue) {
102
+ // we only put the property on `window` when the callback is called,
103
+ // so if it is there, everything is done
104
+ return await evaluate('Runtime.evaluate', {
105
+ expression: `window.${promiseName}Value;`,
106
+ returnByValue: true,
107
+ });
108
+ }
109
+ // throw a TimeoutError, or else it needs to be caught and re-thrown
110
+ throw new base_driver_1.errors.TimeoutError(`Timed out waiting for asynchronous script ` +
111
+ `result after ${timer.getDuration().asMilliSeconds.toFixed(0)}ms'));`);
80
112
  });
81
- }
82
- throw new _baseDriver.errors.TimeoutError(`Timed out waiting for asynchronous script ` + `result after ${timer.getDuration().asMilliSeconds.toFixed(0)}ms'));`);
83
- });
84
- } finally {
85
- try {
86
- await this.executeAtom('execute_script', [`delete window.${promiseName};`, [null, null], subcommandTimeout], frames);
87
- } catch (ign) {}
88
- }
89
- return (0, _utils.convertResult)(res);
113
+ }
114
+ finally {
115
+ try {
116
+ // try to get rid of the promise
117
+ await this.executeAtom('execute_script', [`delete window.${promiseName};`, [null, null], subcommandTimeout], frames);
118
+ }
119
+ catch (ign) { }
120
+ }
121
+ return (0, utils_1.convertResult)(res);
90
122
  }
123
+ /**
124
+ * @this {import('../remote-debugger').RemoteDebugger}
125
+ * @param {string} command
126
+ * @param {boolean} [override]
127
+ * @returns {Promise<any>}
128
+ */
91
129
  async function execute(command, override) {
92
- if (this.pageLoading && !override) {
93
- _logger.default.debug('Trying to execute but page is not loaded.');
94
- await this.waitForDom();
95
- }
96
- if (_lodash.default.isNil(this.appIdKey)) {
97
- throw new Error('Missing parameter: appIdKey. Is the target web application still alive?');
98
- }
99
- if (_lodash.default.isNil(this.pageIdKey)) {
100
- throw new Error('Missing parameter: pageIdKey. Is the target web page still alive?');
101
- }
102
- if (this.garbageCollectOnExecute) {
103
- await this.garbageCollect();
104
- }
105
- _logger.default.debug(`Sending javascript command: '${_lodash.default.truncate(command, {
106
- length: 50
107
- })}'`);
108
- const res = await this.rpcClient.send('Runtime.evaluate', {
109
- expression: command,
110
- returnByValue: true,
111
- appIdKey: this.appIdKey,
112
- pageIdKey: this.pageIdKey
113
- });
114
- return (0, _utils.convertResult)(res);
130
+ // if the page is not loaded yet, wait for it
131
+ if (this.pageLoading && !override) {
132
+ logger_1.default.debug('Trying to execute but page is not loaded.');
133
+ await this.waitForDom();
134
+ }
135
+ if (lodash_1.default.isNil(this.appIdKey)) {
136
+ throw new Error('Missing parameter: appIdKey. Is the target web application still alive?');
137
+ }
138
+ if (lodash_1.default.isNil(this.pageIdKey)) {
139
+ throw new Error('Missing parameter: pageIdKey. Is the target web page still alive?');
140
+ }
141
+ if (this.garbageCollectOnExecute) {
142
+ await this.garbageCollect();
143
+ }
144
+ logger_1.default.debug(`Sending javascript command: '${lodash_1.default.truncate(command, { length: 50 })}'`);
145
+ if (!this.rpcClient?.isConnected) {
146
+ throw new Error('Remote debugger is not connected');
147
+ }
148
+ const res = await this.rpcClient.send('Runtime.evaluate', {
149
+ expression: command,
150
+ returnByValue: true,
151
+ appIdKey: this.appIdKey,
152
+ pageIdKey: this.pageIdKey,
153
+ });
154
+ return (0, utils_1.convertResult)(res);
115
155
  }
156
+ /**
157
+ * @this {import('../remote-debugger').RemoteDebugger}
158
+ * @param {string} objectId
159
+ * @param {any} fn
160
+ * @param {any[]} [args]
161
+ */
116
162
  async function callFunction(objectId, fn, args) {
117
- (0, _utils.checkParams)({
118
- appIdKey: this.appIdKey,
119
- pageIdKey: this.pageIdKey
120
- });
121
- if (this.garbageCollectOnExecute) {
122
- await this.garbageCollect();
123
- }
124
- _logger.default.debug('Calling javascript function');
125
- const res = await this.rpcClient.send('Runtime.callFunctionOn', {
126
- objectId,
127
- functionDeclaration: fn,
128
- arguments: args,
129
- returnByValue: true,
130
- appIdKey: this.appIdKey,
131
- pageIdKey: this.pageIdKey
132
- });
133
- return (0, _utils.convertResult)(res);
163
+ if (!this.rpcClient?.isConnected) {
164
+ throw new Error('Remote debugger is not connected');
165
+ }
166
+ (0, utils_1.checkParams)({ appIdKey: this.appIdKey, pageIdKey: this.pageIdKey });
167
+ if (this.garbageCollectOnExecute) {
168
+ await this.garbageCollect();
169
+ }
170
+ logger_1.default.debug('Calling javascript function');
171
+ const res = await this.rpcClient.send('Runtime.callFunctionOn', {
172
+ objectId,
173
+ functionDeclaration: fn,
174
+ arguments: args,
175
+ returnByValue: true,
176
+ appIdKey: this.appIdKey,
177
+ pageIdKey: this.pageIdKey,
178
+ });
179
+ return (0, utils_1.convertResult)(res);
134
180
  }
135
- var _default = {
136
- executeAtom,
137
- executeAtomAsync,
138
- execute,
139
- callFunction
140
- };
141
- exports.default = _default;
142
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfYmFzZURyaXZlciIsIl91dGlscyIsIl9hdG9tcyIsIl9zdXBwb3J0IiwiX2FzeW5jYm94IiwiX2xvZGFzaCIsIlJQQ19SRVNQT05TRV9USU1FT1VUX01TIiwiZXhlY3V0ZUF0b20iLCJhdG9tIiwiYXJncyIsImZyYW1lcyIsInJwY0NsaWVudCIsImlzQ29ubmVjdGVkIiwiRXJyb3IiLCJsb2ciLCJkZWJ1ZyIsIkpTT04iLCJzdHJpbmdpZnkiLCJzY3JpcHQiLCJnZXRTY3JpcHRGb3JBdG9tIiwidmFsdWUiLCJleGVjdXRlIiwiXyIsInRydW5jYXRlIiwic2ltcGxlU3RyaW5naWZ5IiwibGVuZ3RoIiwiUkVTUE9OU0VfTE9HX0xFTkdUSCIsImV4ZWN1dGVBdG9tQXN5bmMiLCJldmFsdWF0ZSIsIm1ldGhvZCIsIm9wdHMiLCJzZW5kIiwiT2JqZWN0IiwiYXNzaWduIiwiYXBwSWRLZXkiLCJwYWdlSWRLZXkiLCJyZXR1cm5CeVZhbHVlIiwicHJvbWlzZU5hbWUiLCJ1dGlsIiwidXVpZFY0IiwicmVwbGFjZSIsIm9iaiIsImV4cHJlc3Npb24iLCJwcm9taXNlT2JqZWN0SWQiLCJyZXN1bHQiLCJvYmplY3RJZCIsImFzeW5jQ2FsbEJhY2siLCJyZXMiLCJzdWJjb21tYW5kVGltZW91dCIsImdlbmVyYXRlUHJldmlldyIsInNhdmVSZXN1bHQiLCJlcnIiLCJtZXNzYWdlIiwiaW5jbHVkZXMiLCJyZXRyeVdhaXQiLCJ0aW1lb3V0IiwicmV0cmllcyIsInBhcnNlSW50IiwidGltZXIiLCJ0aW1pbmciLCJUaW1lciIsInN0YXJ0IiwicmV0cnlJbnRlcnZhbCIsImhhc1ZhbHVlIiwiZXJyb3JzIiwiVGltZW91dEVycm9yIiwiZ2V0RHVyYXRpb24iLCJhc01pbGxpU2Vjb25kcyIsInRvRml4ZWQiLCJpZ24iLCJjb252ZXJ0UmVzdWx0IiwiY29tbWFuZCIsIm92ZXJyaWRlIiwicGFnZUxvYWRpbmciLCJ3YWl0Rm9yRG9tIiwiaXNOaWwiLCJnYXJiYWdlQ29sbGVjdE9uRXhlY3V0ZSIsImdhcmJhZ2VDb2xsZWN0IiwiY2FsbEZ1bmN0aW9uIiwiZm4iLCJjaGVja1BhcmFtcyIsImZ1bmN0aW9uRGVjbGFyYXRpb24iLCJhcmd1bWVudHMiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL21peGlucy9leGVjdXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IGVycm9ycyB9IGZyb20gJ0BhcHBpdW0vYmFzZS1kcml2ZXInO1xuaW1wb3J0IHsgY2hlY2tQYXJhbXMsIHNpbXBsZVN0cmluZ2lmeSwgY29udmVydFJlc3VsdCwgUkVTUE9OU0VfTE9HX0xFTkdUSCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGdldFNjcmlwdEZvckF0b20gfSBmcm9tICcuLi9hdG9tcyc7XG5pbXBvcnQgeyB1dGlsLCB0aW1pbmcgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgcmV0cnlJbnRlcnZhbCB9IGZyb20gJ2FzeW5jYm94JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cblxuLyogSG93IG1hbnkgbWlsbGlzZWNvbmRzIHRvIHdhaXQgZm9yIHdlYmtpdCB0byByZXR1cm4gYSByZXNwb25zZSBiZWZvcmUgdGltaW5nIG91dCAqL1xuY29uc3QgUlBDX1JFU1BPTlNFX1RJTUVPVVRfTVMgPSA1MDAwO1xuXG4vKipcbiAqIEV4ZWN1dGUgYSBTZWxlbml1bSBhdG9tIGluIFNhZmFyaVxuICogQHBhcmFtIHtzdHJpbmd9IGF0b20gTmFtZSBvZiBTZWxlbml1bSBhdG9tIChzZWUgYXRvbXMvIGRpcmVjdG9yeSlcbiAqIEBwYXJhbSB7QXJyYXk8Kj59IGFyZ3MgQXJndW1lbnRzIHBhc3NlZCB0byB0aGUgYXRvbVxuICogQHBhcmFtIHtBcnJheTxzdHJpbmc+fSBmcmFtZXNcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSByZXN1bHQgcmVjZWl2ZWQgZnJvbSB0aGUgYXRvbVxuICovXG5hc3luYyBmdW5jdGlvbiBleGVjdXRlQXRvbSAoYXRvbSwgYXJncywgZnJhbWVzKSB7XG4gIGlmICghdGhpcy5ycGNDbGllbnQuaXNDb25uZWN0ZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlbW90ZSBkZWJ1Z2dlciBpcyBub3QgY29ubmVjdGVkJyk7XG4gIH1cblxuICBsb2cuZGVidWcoYEV4ZWN1dGluZyBhdG9tICcke2F0b219JyB3aXRoICdhcmdzPSR7SlNPTi5zdHJpbmdpZnkoYXJncyl9OyBmcmFtZXM9JHtmcmFtZXN9J2ApO1xuICBjb25zdCBzY3JpcHQgPSBhd2FpdCBnZXRTY3JpcHRGb3JBdG9tKGF0b20sIGFyZ3MsIGZyYW1lcyk7XG4gIGNvbnN0IHZhbHVlID0gYXdhaXQgdGhpcy5leGVjdXRlKHNjcmlwdCwgdHJ1ZSk7XG4gIGxvZy5kZWJ1ZyhgUmVjZWl2ZWQgcmVzdWx0IGZvciBhdG9tICcke2F0b219JyBleGVjdXRpb246ICR7Xy50cnVuY2F0ZShzaW1wbGVTdHJpbmdpZnkodmFsdWUpLCB7bGVuZ3RoOiBSRVNQT05TRV9MT0dfTEVOR1RIfSl9YCk7XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZUF0b21Bc3luYyAoYXRvbSwgYXJncywgZnJhbWVzKSB7XG4gIC8vIGhlbHBlciB0byBzZW5kIGRpcmVjdGx5IHRvIHRoZSB3ZWIgaW5zcGVjdG9yXG4gIGNvbnN0IGV2YWx1YXRlID0gYXN5bmMgKG1ldGhvZCwgb3B0cykgPT4gYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VuZChtZXRob2QsIE9iamVjdC5hc3NpZ24oe1xuICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXksXG4gICAgcmV0dXJuQnlWYWx1ZTogZmFsc2UsXG4gIH0sIG9wdHMpKTtcblxuICAvLyBmaXJzdCBjcmVhdGUgYSBQcm9taXNlIG9uIHRoZSBwYWdlLCBzYXZpbmcgdGhlIHJlc29sdmUvcmVqZWN0IGZ1bmN0aW9uc1xuICAvLyBhcyBwcm9wZXJ0aWVzXG4gIGNvbnN0IHByb21pc2VOYW1lID0gYGFwcGl1bUFzeW5jRXhlY3V0ZVByb21pc2Uke3V0aWwudXVpZFY0KCkucmVwbGFjZSgvLS9nLCAnJyl9YDtcbiAgY29uc3Qgc2NyaXB0ID1cbiAgICBgdmFyIHJlcywgcmVqO1xuICAgIHdpbmRvdy4ke3Byb21pc2VOYW1lfSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgIHJlcyA9IHJlc29sdmU7XG4gICAgICByZWogPSByZWplY3Q7XG4gICAgfSk7XG4gICAgd2luZG93LiR7cHJvbWlzZU5hbWV9LnJlc29sdmUgPSByZXM7XG4gICAgd2luZG93LiR7cHJvbWlzZU5hbWV9LnJlamVjdCA9IHJlajtcbiAgICB3aW5kb3cuJHtwcm9taXNlTmFtZX07YDtcbiAgY29uc3Qgb2JqID0gYXdhaXQgZXZhbHVhdGUoJ1J1bnRpbWUuZXZhbHVhdGUnLCB7XG4gICAgZXhwcmVzc2lvbjogc2NyaXB0LFxuICB9KTtcbiAgY29uc3QgcHJvbWlzZU9iamVjdElkID0gb2JqLnJlc3VsdC5vYmplY3RJZDtcblxuICAvLyBleGVjdXRlIHRoZSBhdG9tLCBjYWxsaW5nIGJhY2sgdG8gdGhlIHJlc29sdmUgZnVuY3Rpb25cbiAgY29uc3QgYXN5bmNDYWxsQmFjayA9XG4gICAgYGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgIHdpbmRvdy4ke3Byb21pc2VOYW1lfS5yZXNvbHZlKHJlcyk7XG4gICAgICB3aW5kb3cuJHtwcm9taXNlTmFtZX1WYWx1ZSA9IHJlcztcbiAgICB9YDtcbiAgYXdhaXQgdGhpcy5leGVjdXRlKGF3YWl0IGdldFNjcmlwdEZvckF0b20oYXRvbSwgYXJncywgZnJhbWVzLCBhc3luY0NhbGxCYWNrKSk7XG5cbiAgLy8gd2FpdCBmb3IgdGhlIHByb21pc2UgdG8gYmUgcmVzb2x2ZWRcbiAgbGV0IHJlcztcbiAgY29uc3Qgc3ViY29tbWFuZFRpbWVvdXQgPSAxMDAwOyAvLyB0aW1lb3V0IG9uIGluZGl2aWR1YWwgY29tbWFuZHNcbiAgdHJ5IHtcbiAgICByZXMgPSBhd2FpdCBldmFsdWF0ZSgnUnVudGltZS5hd2FpdFByb21pc2UnLCB7XG4gICAgICBwcm9taXNlT2JqZWN0SWQsXG4gICAgICByZXR1cm5CeVZhbHVlOiB0cnVlLFxuICAgICAgZ2VuZXJhdGVQcmV2aWV3OiB0cnVlLFxuICAgICAgc2F2ZVJlc3VsdDogdHJ1ZSxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKCFlcnIubWVzc2FnZS5pbmNsdWRlcyhgJ1J1bnRpbWUuYXdhaXRQcm9taXNlJyB3YXMgbm90IGZvdW5kYCkpIHtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gICAgLy8gYXdhaXRQcm9taXNlIGlzIG5vdCBhbHdheXMgYXZhaWxhYmxlLCBzbyBzaW11bGF0ZSBpdCB3aXRoIHBvbGxcbiAgICBjb25zdCByZXRyeVdhaXQgPSAxMDA7XG4gICAgY29uc3QgdGltZW91dCA9IChhcmdzLmxlbmd0aCA+PSAzKSA/IGFyZ3NbMl0gOiBSUENfUkVTUE9OU0VfVElNRU9VVF9NUztcbiAgICAvLyBpZiB0aGUgdGltZW91dCBtYXRoIHR1cm5zIHVwIDAgcmV0cmllcywgbWFrZSBzdXJlIGl0IGhhcHBlbnMgb25jZVxuICAgIGNvbnN0IHJldHJpZXMgPSBwYXJzZUludCh0aW1lb3V0IC8gcmV0cnlXYWl0LCAxMCkgfHwgMTtcbiAgICBjb25zdCB0aW1lciA9IG5ldyB0aW1pbmcuVGltZXIoKS5zdGFydCgpO1xuICAgIGxvZy5kZWJ1ZyhgV2FpdGluZyB1cCB0byAke3RpbWVvdXR9bXMgZm9yIGFzeW5jIGV4ZWN1dGUgdG8gZmluaXNoYCk7XG4gICAgcmVzID0gYXdhaXQgcmV0cnlJbnRlcnZhbChyZXRyaWVzLCByZXRyeVdhaXQsIGFzeW5jICgpID0+IHtcbiAgICAgIC8vIHRoZSBhdG9tIF93aWxsXyByZXR1cm4sIGVpdGhlciBiZWNhdXNlIGl0IGZpbmlzaGVkIG9yIGFuIGVycm9yXG4gICAgICAvLyBpbmNsdWRpbmcgYSB0aW1lb3V0IGVycm9yXG4gICAgICBjb25zdCBoYXNWYWx1ZSA9IGF3YWl0IGV2YWx1YXRlKCdSdW50aW1lLmV2YWx1YXRlJywge1xuICAgICAgICBleHByZXNzaW9uOiBgd2luZG93Lmhhc093blByb3BlcnR5KCcke3Byb21pc2VOYW1lfVZhbHVlJyk7YCxcbiAgICAgICAgcmV0dXJuQnlWYWx1ZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgICAgaWYgKGhhc1ZhbHVlKSB7XG4gICAgICAgIC8vIHdlIG9ubHkgcHV0IHRoZSBwcm9wZXJ0eSBvbiBgd2luZG93YCB3aGVuIHRoZSBjYWxsYmFjayBpcyBjYWxsZWQsXG4gICAgICAgIC8vIHNvIGlmIGl0IGlzIHRoZXJlLCBldmVyeXRoaW5nIGlzIGRvbmVcbiAgICAgICAgcmV0dXJuIGF3YWl0IGV2YWx1YXRlKCdSdW50aW1lLmV2YWx1YXRlJywge1xuICAgICAgICAgIGV4cHJlc3Npb246IGB3aW5kb3cuJHtwcm9taXNlTmFtZX1WYWx1ZTtgLFxuICAgICAgICAgIHJldHVybkJ5VmFsdWU6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgLy8gdGhyb3cgYSBUaW1lb3V0RXJyb3IsIG9yIGVsc2UgaXQgbmVlZHMgdG8gYmUgY2F1Z2h0IGFuZCByZS10aHJvd25cbiAgICAgIHRocm93IG5ldyBlcnJvcnMuVGltZW91dEVycm9yKGBUaW1lZCBvdXQgd2FpdGluZyBmb3IgYXN5bmNocm9ub3VzIHNjcmlwdCBgICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGByZXN1bHQgYWZ0ZXIgJHt0aW1lci5nZXREdXJhdGlvbigpLmFzTWlsbGlTZWNvbmRzLnRvRml4ZWQoMCl9bXMnKSk7YCk7XG4gICAgfSk7XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIHRyeSB0byBnZXQgcmlkIG9mIHRoZSBwcm9taXNlXG4gICAgICBhd2FpdCB0aGlzLmV4ZWN1dGVBdG9tKCdleGVjdXRlX3NjcmlwdCcsIFtgZGVsZXRlIHdpbmRvdy4ke3Byb21pc2VOYW1lfTtgLCBbbnVsbCwgbnVsbF0sIHN1YmNvbW1hbmRUaW1lb3V0XSwgZnJhbWVzKTtcbiAgICB9IGNhdGNoIChpZ24pIHt9XG4gIH1cbiAgcmV0dXJuIGNvbnZlcnRSZXN1bHQocmVzKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZSAoY29tbWFuZCwgb3ZlcnJpZGUpIHtcbiAgLy8gaWYgdGhlIHBhZ2UgaXMgbm90IGxvYWRlZCB5ZXQsIHdhaXQgZm9yIGl0XG4gIGlmICh0aGlzLnBhZ2VMb2FkaW5nICYmICFvdmVycmlkZSkge1xuICAgIGxvZy5kZWJ1ZygnVHJ5aW5nIHRvIGV4ZWN1dGUgYnV0IHBhZ2UgaXMgbm90IGxvYWRlZC4nKTtcbiAgICBhd2FpdCB0aGlzLndhaXRGb3JEb20oKTtcbiAgfVxuXG4gIGlmIChfLmlzTmlsKHRoaXMuYXBwSWRLZXkpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHBhcmFtZXRlcjogYXBwSWRLZXkuIElzIHRoZSB0YXJnZXQgd2ViIGFwcGxpY2F0aW9uIHN0aWxsIGFsaXZlPycpO1xuICB9XG4gIGlmIChfLmlzTmlsKHRoaXMucGFnZUlkS2V5KSkge1xuICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBwYXJhbWV0ZXI6IHBhZ2VJZEtleS4gSXMgdGhlIHRhcmdldCB3ZWIgcGFnZSBzdGlsbCBhbGl2ZT8nKTtcbiAgfVxuXG4gIGlmICh0aGlzLmdhcmJhZ2VDb2xsZWN0T25FeGVjdXRlKSB7XG4gICAgYXdhaXQgdGhpcy5nYXJiYWdlQ29sbGVjdCgpO1xuICB9XG5cbiAgbG9nLmRlYnVnKGBTZW5kaW5nIGphdmFzY3JpcHQgY29tbWFuZDogJyR7Xy50cnVuY2F0ZShjb21tYW5kLCB7bGVuZ3RoOiA1MH0pfSdgKTtcbiAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VuZCgnUnVudGltZS5ldmFsdWF0ZScsIHtcbiAgICBleHByZXNzaW9uOiBjb21tYW5kLFxuICAgIHJldHVybkJ5VmFsdWU6IHRydWUsXG4gICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleSxcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbnZlcnRSZXN1bHQocmVzKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gY2FsbEZ1bmN0aW9uIChvYmplY3RJZCwgZm4sIGFyZ3MpIHtcbiAgY2hlY2tQYXJhbXMoe2FwcElkS2V5OiB0aGlzLmFwcElkS2V5LCBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5fSk7XG5cbiAgaWYgKHRoaXMuZ2FyYmFnZUNvbGxlY3RPbkV4ZWN1dGUpIHtcbiAgICBhd2FpdCB0aGlzLmdhcmJhZ2VDb2xsZWN0KCk7XG4gIH1cblxuICBsb2cuZGVidWcoJ0NhbGxpbmcgamF2YXNjcmlwdCBmdW5jdGlvbicpO1xuICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdSdW50aW1lLmNhbGxGdW5jdGlvbk9uJywge1xuICAgIG9iamVjdElkLFxuICAgIGZ1bmN0aW9uRGVjbGFyYXRpb246IGZuLFxuICAgIGFyZ3VtZW50czogYXJncyxcbiAgICByZXR1cm5CeVZhbHVlOiB0cnVlLFxuICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXksXG4gIH0pO1xuXG4gIHJldHVybiBjb252ZXJ0UmVzdWx0KHJlcyk7XG59XG5cblxuZXhwb3J0IGRlZmF1bHQgeyBleGVjdXRlQXRvbSwgZXhlY3V0ZUF0b21Bc3luYywgZXhlY3V0ZSwgY2FsbEZ1bmN0aW9uIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0Es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
181
+ exports.default = { executeAtom, executeAtomAsync, execute, callFunction };
182
+ //# sourceMappingURL=execute.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","names":["_logger","_interopRequireDefault","require","_baseDriver","_utils","_atoms","_support","_asyncbox","_lodash","RPC_RESPONSE_TIMEOUT_MS","executeAtom","atom","args","frames","rpcClient","isConnected","Error","log","debug","JSON","stringify","script","getScriptForAtom","value","execute","_","truncate","simpleStringify","length","RESPONSE_LOG_LENGTH","executeAtomAsync","evaluate","method","opts","send","Object","assign","appIdKey","pageIdKey","returnByValue","promiseName","util","uuidV4","replace","obj","expression","promiseObjectId","result","objectId","asyncCallBack","res","subcommandTimeout","generatePreview","saveResult","err","message","includes","retryWait","timeout","retries","parseInt","timer","timing","Timer","start","retryInterval","hasValue","errors","TimeoutError","getDuration","asMilliSeconds","toFixed","ign","convertResult","command","override","pageLoading","waitForDom","isNil","garbageCollectOnExecute","garbageCollect","callFunction","fn","checkParams","functionDeclaration","arguments","_default","exports","default"],"sources":["../../../lib/mixins/execute.js"],"sourcesContent":["import log from '../logger';\nimport { errors } from '@appium/base-driver';\nimport { checkParams, simpleStringify, convertResult, RESPONSE_LOG_LENGTH } from '../utils';\nimport { getScriptForAtom } from '../atoms';\nimport { util, timing } from '@appium/support';\nimport { retryInterval } from 'asyncbox';\nimport _ from 'lodash';\n\n\n/* How many milliseconds to wait for webkit to return a response before timing out */\nconst RPC_RESPONSE_TIMEOUT_MS = 5000;\n\n/**\n * Execute a Selenium atom in Safari\n * @param {string} atom Name of Selenium atom (see atoms/ directory)\n * @param {Array<*>} args Arguments passed to the atom\n * @param {Array<string>} frames\n * @returns {string} The result received from the atom\n */\nasync function executeAtom (atom, args, frames) {\n if (!this.rpcClient.isConnected) {\n throw new Error('Remote debugger is not connected');\n }\n\n log.debug(`Executing atom '${atom}' with 'args=${JSON.stringify(args)}; frames=${frames}'`);\n const script = await getScriptForAtom(atom, args, frames);\n const value = await this.execute(script, true);\n log.debug(`Received result for atom '${atom}' execution: ${_.truncate(simpleStringify(value), {length: RESPONSE_LOG_LENGTH})}`);\n return value;\n}\n\nasync function executeAtomAsync (atom, args, frames) {\n // helper to send directly to the web inspector\n const evaluate = async (method, opts) => await this.rpcClient.send(method, Object.assign({\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n returnByValue: false,\n }, opts));\n\n // first create a Promise on the page, saving the resolve/reject functions\n // as properties\n const promiseName = `appiumAsyncExecutePromise${util.uuidV4().replace(/-/g, '')}`;\n const script =\n `var res, rej;\n window.${promiseName} = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n window.${promiseName}.resolve = res;\n window.${promiseName}.reject = rej;\n window.${promiseName};`;\n const obj = await evaluate('Runtime.evaluate', {\n expression: script,\n });\n const promiseObjectId = obj.result.objectId;\n\n // execute the atom, calling back to the resolve function\n const asyncCallBack =\n `function (res) {\n window.${promiseName}.resolve(res);\n window.${promiseName}Value = res;\n }`;\n await this.execute(await getScriptForAtom(atom, args, frames, asyncCallBack));\n\n // wait for the promise to be resolved\n let res;\n const subcommandTimeout = 1000; // timeout on individual commands\n try {\n res = await evaluate('Runtime.awaitPromise', {\n promiseObjectId,\n returnByValue: true,\n generatePreview: true,\n saveResult: true,\n });\n } catch (err) {\n if (!err.message.includes(`'Runtime.awaitPromise' was not found`)) {\n throw err;\n }\n // awaitPromise is not always available, so simulate it with poll\n const retryWait = 100;\n const timeout = (args.length >= 3) ? args[2] : RPC_RESPONSE_TIMEOUT_MS;\n // if the timeout math turns up 0 retries, make sure it happens once\n const retries = parseInt(timeout / retryWait, 10) || 1;\n const timer = new timing.Timer().start();\n log.debug(`Waiting up to ${timeout}ms for async execute to finish`);\n res = await retryInterval(retries, retryWait, async () => {\n // the atom _will_ return, either because it finished or an error\n // including a timeout error\n const hasValue = await evaluate('Runtime.evaluate', {\n expression: `window.hasOwnProperty('${promiseName}Value');`,\n returnByValue: true,\n });\n if (hasValue) {\n // we only put the property on `window` when the callback is called,\n // so if it is there, everything is done\n return await evaluate('Runtime.evaluate', {\n expression: `window.${promiseName}Value;`,\n returnByValue: true,\n });\n }\n // throw a TimeoutError, or else it needs to be caught and re-thrown\n throw new errors.TimeoutError(`Timed out waiting for asynchronous script ` +\n `result after ${timer.getDuration().asMilliSeconds.toFixed(0)}ms'));`);\n });\n } finally {\n try {\n // try to get rid of the promise\n await this.executeAtom('execute_script', [`delete window.${promiseName};`, [null, null], subcommandTimeout], frames);\n } catch (ign) {}\n }\n return convertResult(res);\n}\n\nasync function execute (command, override) {\n // if the page is not loaded yet, wait for it\n if (this.pageLoading && !override) {\n log.debug('Trying to execute but page is not loaded.');\n await this.waitForDom();\n }\n\n if (_.isNil(this.appIdKey)) {\n throw new Error('Missing parameter: appIdKey. Is the target web application still alive?');\n }\n if (_.isNil(this.pageIdKey)) {\n throw new Error('Missing parameter: pageIdKey. Is the target web page still alive?');\n }\n\n if (this.garbageCollectOnExecute) {\n await this.garbageCollect();\n }\n\n log.debug(`Sending javascript command: '${_.truncate(command, {length: 50})}'`);\n const res = await this.rpcClient.send('Runtime.evaluate', {\n expression: command,\n returnByValue: true,\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n\n return convertResult(res);\n}\n\nasync function callFunction (objectId, fn, args) {\n checkParams({appIdKey: this.appIdKey, pageIdKey: this.pageIdKey});\n\n if (this.garbageCollectOnExecute) {\n await this.garbageCollect();\n }\n\n log.debug('Calling javascript function');\n const res = await this.rpcClient.send('Runtime.callFunctionOn', {\n objectId,\n functionDeclaration: fn,\n arguments: args,\n returnByValue: true,\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n\n return convertResult(res);\n}\n\n\nexport default { executeAtom, executeAtomAsync, execute, callFunction };\n"],"mappings":"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"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../lib/mixins/execute.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export default mixins;
2
+ export const mixins: any;
3
+ import events from './events';
4
+ export { events };
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/mixins/index.js"],"names":[],"mappings":";AAOA,yBAEE;mBARiB,UAAU"}
@@ -1,25 +1,16 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- Object.defineProperty(exports, "events", {
9
- enumerable: true,
10
- get: function () {
11
- return _events.default;
12
- }
13
- });
14
- exports.mixins = void 0;
15
- require("source-map-support/register");
16
- var _connect = _interopRequireDefault(require("./connect"));
17
- var _events = _interopRequireDefault(require("./events"));
18
- var _execute = _interopRequireDefault(require("./execute"));
19
- var _navigate = _interopRequireDefault(require("./navigate"));
20
- var _messageHandlers = _interopRequireDefault(require("./message-handlers"));
21
- const mixins = Object.assign({}, _connect.default, _events.default, _execute.default, _navigate.default, _messageHandlers.default);
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.events = exports.mixins = void 0;
7
+ const connect_1 = __importDefault(require("./connect"));
8
+ const events_1 = __importDefault(require("./events"));
9
+ exports.events = events_1.default;
10
+ const execute_1 = __importDefault(require("./execute"));
11
+ const navigate_1 = __importDefault(require("./navigate"));
12
+ const message_handlers_1 = __importDefault(require("./message-handlers"));
13
+ const mixins = Object.assign({}, connect_1.default, events_1.default, execute_1.default, navigate_1.default, message_handlers_1.default);
22
14
  exports.mixins = mixins;
23
- var _default = mixins;
24
- exports.default = _default;
25
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29ubmVjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2V2ZW50cyIsIl9leGVjdXRlIiwiX25hdmlnYXRlIiwiX21lc3NhZ2VIYW5kbGVycyIsIm1peGlucyIsIk9iamVjdCIsImFzc2lnbiIsImNvbm5lY3QiLCJldmVudHMiLCJleGVjdXRlIiwibmF2aWdhdGUiLCJtZXNzYWdlSGFuZGxlcnMiLCJleHBvcnRzIiwiX2RlZmF1bHQiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL21peGlucy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29ubmVjdCBmcm9tICcuL2Nvbm5lY3QnO1xuaW1wb3J0IGV2ZW50cyBmcm9tICcuL2V2ZW50cyc7XG5pbXBvcnQgZXhlY3V0ZSBmcm9tICcuL2V4ZWN1dGUnO1xuaW1wb3J0IG5hdmlnYXRlIGZyb20gJy4vbmF2aWdhdGUnO1xuaW1wb3J0IG1lc3NhZ2VIYW5kbGVycyBmcm9tICcuL21lc3NhZ2UtaGFuZGxlcnMnO1xuXG5cbmNvbnN0IG1peGlucyA9IE9iamVjdC5hc3NpZ24oe30sXG4gIGNvbm5lY3QsIGV2ZW50cywgZXhlY3V0ZSwgbmF2aWdhdGUsIG1lc3NhZ2VIYW5kbGVyc1xuKTtcblxuXG5leHBvcnQgeyBtaXhpbnMsIGV2ZW50cyB9O1xuZXhwb3J0IGRlZmF1bHQgbWl4aW5zO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxRQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxnQkFBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBR0EsTUFBTUssTUFBTSxHQUFHQyxNQUFNLENBQUNDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFDN0JDLGdCQUFPLEVBQUVDLGVBQU0sRUFBRUMsZ0JBQU8sRUFBRUMsaUJBQVEsRUFBRUMsd0JBQ3RDLENBQUM7QUFBQ0MsT0FBQSxDQUFBUixNQUFBLEdBQUFBLE1BQUE7QUFBQSxJQUFBUyxRQUFBLEdBSWFULE1BQU07QUFBQVEsT0FBQSxDQUFBRSxPQUFBLEdBQUFELFFBQUEifQ==
15
+ exports.default = mixins;
16
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_connect","_interopRequireDefault","require","_events","_execute","_navigate","_messageHandlers","mixins","Object","assign","connect","events","execute","navigate","messageHandlers","exports","_default","default"],"sources":["../../../lib/mixins/index.js"],"sourcesContent":["import connect from './connect';\nimport events from './events';\nimport execute from './execute';\nimport navigate from './navigate';\nimport messageHandlers from './message-handlers';\n\n\nconst mixins = Object.assign({},\n connect, events, execute, navigate, messageHandlers\n);\n\n\nexport { mixins, events };\nexport default mixins;\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,SAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,gBAAA,GAAAL,sBAAA,CAAAC,OAAA;AAGA,MAAMK,MAAM,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAC7BC,gBAAO,EAAEC,eAAM,EAAEC,gBAAO,EAAEC,iBAAQ,EAAEC,wBACtC,CAAC;AAACC,OAAA,CAAAR,MAAA,GAAAA,MAAA;AAAA,IAAAS,QAAA,GAIaT,MAAM;AAAAQ,OAAA,CAAAE,OAAA,GAAAD,QAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/mixins/index.js"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAChC,sDAA8B;AAWb,iBAXV,gBAAM,CAWU;AAVvB,wDAAgC;AAChC,0DAAkC;AAClC,0EAAiD;AAGjD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAC7B,iBAAO,EAAE,gBAAM,EAAE,iBAAO,EAAE,kBAAQ,EAAE,0BAAe,CACpD,CAAC;AAGO,wBAAM;AACf,kBAAe,MAAM,CAAC"}