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.
- package/CHANGELOG.md +14 -0
- package/build/index.js +18 -33
- package/build/lib/atoms.d.ts +17 -0
- package/build/lib/atoms.d.ts.map +1 -0
- package/build/lib/atoms.js +75 -50
- package/build/lib/atoms.js.map +1 -1
- package/build/lib/logger.d.ts +3 -0
- package/build/lib/logger.d.ts.map +1 -0
- package/build/lib/logger.js +5 -11
- package/build/lib/logger.js.map +1 -1
- package/build/lib/mixins/connect.d.ts +125 -0
- package/build/lib/mixins/connect.d.ts.map +1 -0
- package/build/lib/mixins/connect.js +299 -202
- package/build/lib/mixins/connect.js.map +1 -1
- package/build/lib/mixins/events.d.ts +7 -0
- package/build/lib/mixins/events.d.ts.map +1 -0
- package/build/lib/mixins/events.js +7 -12
- package/build/lib/mixins/events.js.map +1 -1
- package/build/lib/mixins/execute.d.ts +38 -0
- package/build/lib/mixins/execute.d.ts.map +1 -0
- package/build/lib/mixins/execute.js +162 -122
- package/build/lib/mixins/execute.js.map +1 -1
- package/build/lib/mixins/index.d.ts +5 -0
- package/build/lib/mixins/index.d.ts.map +1 -0
- package/build/lib/mixins/index.js +14 -23
- package/build/lib/mixins/index.js.map +1 -1
- package/build/lib/mixins/message-handlers.d.ts +92 -0
- package/build/lib/mixins/message-handlers.d.ts.map +1 -0
- package/build/lib/mixins/message-handlers.js +160 -97
- package/build/lib/mixins/message-handlers.js.map +1 -1
- package/build/lib/mixins/navigate.d.ts +92 -0
- package/build/lib/mixins/navigate.d.ts.map +1 -0
- package/build/lib/mixins/navigate.js +199 -141
- package/build/lib/mixins/navigate.js.map +1 -1
- package/build/lib/protocol/index.d.ts +14 -0
- package/build/lib/protocol/index.d.ts.map +1 -0
- package/build/lib/protocol/index.js +192 -118
- package/build/lib/protocol/index.js.map +1 -1
- package/build/lib/remote-debugger-real-device.d.ts +6 -0
- package/build/lib/remote-debugger-real-device.d.ts.map +1 -0
- package/build/lib/remote-debugger-real-device.js +29 -32
- package/build/lib/remote-debugger-real-device.js.map +1 -1
- package/build/lib/remote-debugger.d.ts +119 -0
- package/build/lib/remote-debugger.d.ts.map +1 -0
- package/build/lib/remote-debugger.js +256 -226
- package/build/lib/remote-debugger.js.map +1 -1
- package/build/lib/rpc/index.d.ts +4 -0
- package/build/lib/rpc/index.d.ts.map +1 -0
- package/build/lib/rpc/index.js +10 -21
- package/build/lib/rpc/index.js.map +1 -1
- package/build/lib/rpc/remote-messages.d.ts +51 -0
- package/build/lib/rpc/remote-messages.d.ts.map +1 -0
- package/build/lib/rpc/remote-messages.js +203 -224
- package/build/lib/rpc/remote-messages.js.map +1 -1
- package/build/lib/rpc/rpc-client-real-device.d.ts +6 -0
- package/build/lib/rpc/rpc-client-real-device.d.ts.map +1 -0
- package/build/lib/rpc/rpc-client-real-device.js +43 -49
- package/build/lib/rpc/rpc-client-real-device.js.map +1 -1
- package/build/lib/rpc/rpc-client-simulator.d.ts +15 -0
- package/build/lib/rpc/rpc-client-simulator.d.ts.map +1 -0
- package/build/lib/rpc/rpc-client-simulator.js +138 -125
- package/build/lib/rpc/rpc-client-simulator.js.map +1 -1
- package/build/lib/rpc/rpc-client.d.ts +142 -0
- package/build/lib/rpc/rpc-client.d.ts.map +1 -0
- package/build/lib/rpc/rpc-client.js +559 -418
- package/build/lib/rpc/rpc-client.js.map +1 -1
- package/build/lib/rpc/rpc-message-handler.d.ts +13 -0
- package/build/lib/rpc/rpc-message-handler.d.ts.map +1 -0
- package/build/lib/rpc/rpc-message-handler.js +181 -166
- package/build/lib/rpc/rpc-message-handler.js.map +1 -1
- package/build/lib/utils.d.ts +61 -0
- package/build/lib/utils.d.ts.map +1 -0
- package/build/lib/utils.js +241 -155
- package/build/lib/utils.js.map +1 -1
- package/lib/atoms.js +25 -4
- package/lib/mixins/connect.js +102 -7
- package/lib/mixins/execute.js +46 -13
- package/lib/mixins/message-handlers.js +44 -1
- package/lib/mixins/navigate.js +55 -3
- package/lib/remote-debugger.js +112 -0
- package/lib/rpc/rpc-client-real-device.js +1 -6
- package/lib/rpc/rpc-client-simulator.js +7 -1
- package/lib/rpc/rpc-client.js +106 -6
- package/lib/rpc/rpc-message-handler.js +1 -1
- package/lib/utils.js +31 -1
- 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":"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"}
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../lib/mixins/connect.js"],"names":[],"mappings":"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"}
|
|
@@ -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
|
-
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
|
|
14
|
-
|
|
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","
|
|
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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
require("
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
length: 50
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
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
|
-
|
|
136
|
-
|
|
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 @@
|
|
|
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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
|
|
24
|
-
|
|
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","
|
|
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"}
|