@appium/fake-driver 4.2.0 → 4.2.2
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/build/lib/commands/alert.d.ts +14 -0
- package/build/lib/commands/alert.d.ts.map +1 -0
- package/build/lib/commands/alert.js.map +1 -0
- package/build/lib/commands/contexts.d.ts +16 -0
- package/build/lib/commands/contexts.d.ts.map +1 -0
- package/build/lib/commands/contexts.js +3 -3
- package/build/lib/commands/contexts.js.map +1 -0
- package/build/lib/commands/element.d.ts +23 -0
- package/build/lib/commands/element.d.ts.map +1 -0
- package/build/lib/commands/element.js +3 -3
- package/build/lib/commands/element.js.map +1 -0
- package/build/lib/commands/find.d.ts +20 -0
- package/build/lib/commands/find.d.ts.map +1 -0
- package/build/lib/commands/find.js +3 -3
- package/build/lib/commands/find.js.map +1 -0
- package/build/lib/commands/general.d.ts +29 -0
- package/build/lib/commands/general.d.ts.map +1 -0
- package/build/lib/commands/general.js +3 -3
- package/build/lib/commands/general.js.map +1 -0
- package/build/lib/commands/index.d.ts +3 -0
- package/build/lib/commands/index.d.ts.map +1 -0
- package/build/lib/commands/index.js +3 -3
- package/build/lib/commands/index.js.map +1 -0
- package/build/lib/driver.d.ts +69 -0
- package/build/lib/driver.d.ts.map +1 -0
- package/build/lib/driver.js +3 -3
- package/build/lib/driver.js.map +1 -0
- package/build/lib/fake-app.d.ts +48 -0
- package/build/lib/fake-app.d.ts.map +1 -0
- package/build/lib/fake-app.js +3 -3
- package/build/lib/fake-app.js.map +1 -0
- package/build/lib/fake-driver-schema.d.ts +20 -0
- package/build/lib/fake-driver-schema.d.ts.map +1 -0
- package/build/lib/fake-driver-schema.js.map +1 -0
- package/build/lib/fake-element.d.ts +36 -0
- package/build/lib/fake-element.d.ts.map +1 -0
- package/build/lib/fake-element.js +3 -3
- package/build/lib/fake-element.js.map +1 -0
- package/build/lib/index.d.ts +6 -0
- package/build/lib/index.d.ts.map +1 -0
- package/build/lib/index.js +1 -1
- package/build/lib/index.js.map +1 -0
- package/build/lib/logger.d.ts +3 -0
- package/build/lib/logger.d.ts.map +1 -0
- package/build/lib/logger.js.map +1 -0
- package/build/lib/scripts/fake-error.d.ts +1 -0
- package/build/lib/scripts/fake-error.d.ts.map +1 -0
- package/build/lib/scripts/fake-error.js.map +1 -0
- package/build/lib/scripts/fake-success.d.ts +2 -0
- package/build/lib/scripts/fake-success.d.ts.map +1 -0
- package/build/lib/scripts/fake-success.js +3 -3
- package/build/lib/scripts/fake-success.js.map +1 -0
- package/build/lib/server.d.ts +2 -0
- package/build/lib/server.d.ts.map +1 -0
- package/build/lib/server.js +3 -3
- package/build/lib/server.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -0
- package/lib/index.js +0 -2
- package/package.json +5 -5
package/build/lib/driver.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
@@ -19,6 +17,8 @@ var _fakeApp = require("./fake-app");
|
|
|
19
17
|
|
|
20
18
|
var _commands = _interopRequireDefault(require("./commands"));
|
|
21
19
|
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
+
|
|
22
22
|
class FakeDriver extends _driver.BaseDriver {
|
|
23
23
|
constructor(opts = {}, shouldValidateCaps = true) {
|
|
24
24
|
super(opts, shouldValidateCaps);
|
|
@@ -156,4 +156,4 @@ class FakeDriver extends _driver.BaseDriver {
|
|
|
156
156
|
|
|
157
157
|
exports.FakeDriver = FakeDriver;
|
|
158
158
|
Object.assign(FakeDriver.prototype, _commands.default);
|
|
159
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGYWtlRHJpdmVyIiwiQmFzZURyaXZlciIsImNvbnN0cnVjdG9yIiwib3B0cyIsInNob3VsZFZhbGlkYXRlQ2FwcyIsImFwcE1vZGVsIiwiY3VyQ29udGV4dCIsImVsTWFwIiwiZm9jdXNlZEVsSWQiLCJtYXhFbElkIiwiY2FwcyIsImZha2VUaGluZyIsImNsaUFyZ3MiLCJfcHJveHlBY3RpdmUiLCJkZXNpcmVkQ2FwQ29uc3RyYWludHMiLCJhcHAiLCJwcmVzZW5jZSIsImlzU3RyaW5nIiwicHJveHlBY3RpdmUiLCJjYW5Qcm94eSIsInByb3h5UmVxUmVzIiwicmVxIiwicmVzIiwic2V0IiwicmVzQm9keU9iaiIsInZhbHVlIiwibWF0Y2giLCJvcmlnaW5hbFVybCIsInNlc3Npb25JZCIsInN0YXR1cyIsInNlbmQiLCJKU09OIiwic3RyaW5naWZ5IiwicHJveHlDb21tYW5kIiwiY3JlYXRlU2Vzc2lvbiIsImpzb253cERlc2lyZWRDYXBhYmlsaXRpZXMiLCJqc29ud3BSZXF1aXJlZENhcHMiLCJ3M2NDYXBhYmlsaXRpZXMiLCJvdGhlclNlc3Npb25EYXRhIiwiZCIsImlzVW5pcXVlIiwiZXJyb3JzIiwiU2Vzc2lvbk5vdENyZWF0ZWRFcnJvciIsIkZha2VBcHAiLCJfIiwiaXNBcnJheSIsImxlbmd0aCIsImxvYWRBcHAiLCJkcml2ZXJEYXRhIiwidW5pcXVlQXBwIiwiZ2V0RmFrZVRoaW5nIiwiQiIsImRlbGF5Iiwic2V0RmFrZVRoaW5nIiwidGhpbmciLCJnZXRGYWtlRHJpdmVyQXJncyIsIm5ld01ldGhvZE1hcCIsIkdFVCIsImNvbW1hbmQiLCJQT1NUIiwicGF5bG9hZFBhcmFtcyIsInJlcXVpcmVkIiwiZXhlY3V0ZU1ldGhvZE1hcCIsInBhcmFtcyIsIm9wdGlvbmFsIiwiZmFrZVJvdXRlIiwiZmFrZWRyaXZlciIsInVwZGF0ZVNlcnZlciIsImV4cHJlc3NBcHAiLCJodHRwU2VydmVyIiwiYWxsIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwiY29tbWFuZHMiXSwic291cmNlcyI6WyIuLi8uLi9saWIvZHJpdmVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge0Jhc2VEcml2ZXIsIGVycm9yc30gZnJvbSAnYXBwaXVtL2RyaXZlcic7XG5pbXBvcnQge0Zha2VBcHB9IGZyb20gJy4vZmFrZS1hcHAnO1xuaW1wb3J0IGNvbW1hbmRzIGZyb20gJy4vY29tbWFuZHMnO1xuXG5jbGFzcyBGYWtlRHJpdmVyIGV4dGVuZHMgQmFzZURyaXZlciB7XG4gIGNvbnN0cnVjdG9yKG9wdHMgPSB7fSwgc2hvdWxkVmFsaWRhdGVDYXBzID0gdHJ1ZSkge1xuICAgIHN1cGVyKG9wdHMsIHNob3VsZFZhbGlkYXRlQ2Fwcyk7XG4gICAgdGhpcy5hcHBNb2RlbCA9IG51bGw7XG4gICAgdGhpcy5jdXJDb250ZXh0ID0gJ05BVElWRV9BUFAnO1xuICAgIHRoaXMuZWxNYXAgPSB7fTtcbiAgICB0aGlzLmZvY3VzZWRFbElkID0gbnVsbDtcbiAgICB0aGlzLm1heEVsSWQgPSAwO1xuICAgIHRoaXMuY2FwcyA9IHt9O1xuICAgIHRoaXMuZmFrZVRoaW5nID0gbnVsbDtcbiAgICB0aGlzLmNsaUFyZ3MgPSB7fTtcbiAgICB0aGlzLl9wcm94eUFjdGl2ZSA9IGZhbHNlO1xuXG4gICAgdGhpcy5kZXNpcmVkQ2FwQ29uc3RyYWludHMgPSB7XG4gICAgICBhcHA6IHtcbiAgICAgICAgcHJlc2VuY2U6IHRydWUsXG4gICAgICAgIGlzU3RyaW5nOiB0cnVlLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJveHlBY3RpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Byb3h5QWN0aXZlO1xuICB9XG5cbiAgY2FuUHJveHkoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcm94eVJlcVJlcyhyZXEsIHJlcykge1xuICAgIC8vIGZha2UgaW1wbGVtZW50YXRpb24gb2YgandwIHByb3h5IHJlcSByZXNcbiAgICByZXMuc2V0KCdjb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuICAgIGNvbnN0IHJlc0JvZHlPYmogPSB7dmFsdWU6ICdwcm94aWVkIHZpYSBwcm94eVJlcVJlcyd9O1xuICAgIGNvbnN0IG1hdGNoID0gcmVxLm9yaWdpbmFsVXJsLm1hdGNoKC9cXC9zZXNzaW9uXFwvKFteL10rKS8pO1xuICAgIHJlc0JvZHlPYmouc2Vzc2lvbklkID0gbWF0Y2ggPyBtYXRjaFsxXSA6IG51bGw7XG4gICAgcmVzLnN0YXR1cygyMDApLnNlbmQoSlNPTi5zdHJpbmdpZnkocmVzQm9keU9iaikpO1xuICB9XG5cbiAgcHJveHlDb21tYW5kKC8qdXJsLCBtZXRob2QsIGJvZHkqLykge1xuICAgIHJldHVybiAncHJveGllZCB2aWEgcHJveHlDb21tYW5kJztcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVNlc3Npb24oXG4gICAganNvbndwRGVzaXJlZENhcGFiaWxpdGllcyxcbiAgICBqc29ud3BSZXF1aXJlZENhcHMsXG4gICAgdzNjQ2FwYWJpbGl0aWVzLFxuICAgIG90aGVyU2Vzc2lvbkRhdGEgPSBbXVxuICApIHtcbiAgICAvLyBUT0RPIGFkZCB2YWxpZGF0aW9uIG9uIGNhcHMuYXBwIHRoYXQgd2Ugd2lsbCBnZXQgZm9yIGZyZWUgZnJvbVxuICAgIC8vIEJhc2VEcml2ZXJcblxuICAgIC8vIGNoZWNrIHRvIHNlZSBpZiBhbnkgb3RoZXIgc2Vzc2lvbnMgaGF2ZSBzZXQgdW5pcXVlQXBwLiBJZiBzbywgZW11bGF0ZVxuICAgIC8vIG5vdCBiZWluZyBhYmxlIHRvIHN0YXJ0IGEgc2Vzc2lvbiBiZWNhdXNlIG9mIHN5c3RlbSByZXNvdXJjZXNcbiAgICBmb3IgKGxldCBkIG9mIG90aGVyU2Vzc2lvbkRhdGEpIHtcbiAgICAgIGlmIChkLmlzVW5pcXVlKSB7XG4gICAgICAgIHRocm93IG5ldyBlcnJvcnMuU2Vzc2lvbk5vdENyZWF0ZWRFcnJvcihcbiAgICAgICAgICAnQ2Fubm90IHN0YXJ0IHNlc3Npb247IGFub3RoZXIgJyArXG4gICAgICAgICAgICAndW5pcXVlIHNlc3Npb24gaXMgaW4gcHJvZ3Jlc3MgdGhhdCByZXF1aXJlcyBhbGwgcmVzb3VyY2VzJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBbc2Vzc2lvbklkLCBjYXBzXSA9IGF3YWl0IHN1cGVyLmNyZWF0ZVNlc3Npb24oXG4gICAgICBqc29ud3BEZXNpcmVkQ2FwYWJpbGl0aWVzLFxuICAgICAganNvbndwUmVxdWlyZWRDYXBzLFxuICAgICAgdzNjQ2FwYWJpbGl0aWVzLFxuICAgICAgb3RoZXJTZXNzaW9uRGF0YVxuICAgICk7XG4gICAgdGhpcy5hcHBNb2RlbCA9IG5ldyBGYWtlQXBwKCk7XG4gICAgaWYgKF8uaXNBcnJheShjYXBzKSA9PT0gdHJ1ZSAmJiBjYXBzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgY2FwcyA9IGNhcHNbMF07XG4gICAgfVxuICAgIHRoaXMuY2FwcyA9IGNhcHM7XG4gICAgYXdhaXQgdGhpcy5hcHBNb2RlbC5sb2FkQXBwKGNhcHMuYXBwKTtcbiAgICByZXR1cm4gW3Nlc3Npb25JZCwgY2Fwc107XG4gIH1cblxuICBnZXQgZHJpdmVyRGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXNVbmlxdWU6ICEhdGhpcy5jYXBzLnVuaXF1ZUFwcCxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZ2V0RmFrZVRoaW5nKCkge1xuICAgIGF3YWl0IEIuZGVsYXkoMSk7XG4gICAgcmV0dXJuIHRoaXMuZmFrZVRoaW5nO1xuICB9XG5cbiAgYXN5bmMgc2V0RmFrZVRoaW5nKHRoaW5nKSB7XG4gICAgYXdhaXQgQi5kZWxheSgxKTtcbiAgICB0aGlzLmZha2VUaGluZyA9IHRoaW5nO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgYXN5bmMgZ2V0RmFrZURyaXZlckFyZ3MoKSB7XG4gICAgYXdhaXQgQi5kZWxheSgxKTtcbiAgICByZXR1cm4gdGhpcy5jbGlBcmdzO1xuICB9XG5cbiAgc3RhdGljIG5ld01ldGhvZE1hcCA9IHtcbiAgICAnL3Nlc3Npb24vOnNlc3Npb25JZC9mYWtlZHJpdmVyJzoge1xuICAgICAgR0VUOiB7Y29tbWFuZDogJ2dldEZha2VUaGluZyd9LFxuICAgICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRGYWtlVGhpbmcnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndGhpbmcnXX19LFxuICAgIH0sXG4gICAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZmFrZWRyaXZlcmFyZ3MnOiB7XG4gICAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0RmFrZURyaXZlckFyZ3MnfSxcbiAgICB9LFxuICB9O1xuXG4gIHN0YXRpYyBleGVjdXRlTWV0aG9kTWFwID0ge1xuICAgICdmYWtlOiBhZGRpdGlvbic6IHtcbiAgICAgIGNvbW1hbmQ6ICdmYWtlQWRkaXRpb24nLFxuICAgICAgcGFyYW1zOiB7cmVxdWlyZWQ6IFsnbnVtMScsICdudW0yJ10sIG9wdGlvbmFsOiBbJ251bTMnXX0sXG4gICAgfSxcbiAgICAnZmFrZTogZ2V0VGhpbmcnOiB7XG4gICAgICBjb21tYW5kOiAnZ2V0RmFrZVRoaW5nJyxcbiAgICB9LFxuICAgICdmYWtlOiBzZXRUaGluZyc6IHtcbiAgICAgIGNvbW1hbmQ6ICdzZXRGYWtlVGhpbmcnLFxuICAgICAgcGFyYW1zOiB7cmVxdWlyZWQ6IFsndGhpbmcnXX0sXG4gICAgfSxcbiAgfTtcblxuICBzdGF0aWMgZmFrZVJvdXRlKHJlcSwgcmVzKSB7XG4gICAgcmVzLnNlbmQoSlNPTi5zdHJpbmdpZnkoe2Zha2Vkcml2ZXI6ICdmYWtlUmVzcG9uc2UnfSkpO1xuICB9XG5cbiAgc3RhdGljIGFzeW5jIHVwZGF0ZVNlcnZlcihleHByZXNzQXBwLCBodHRwU2VydmVyLCBjbGlBcmdzKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbGluZSByZXF1aXJlLWF3YWl0XG4gICAgZXhwcmVzc0FwcC5hbGwoJy9mYWtlZHJpdmVyJywgRmFrZURyaXZlci5mYWtlUm91dGUpO1xuICAgIGV4cHJlc3NBcHAuYWxsKCcvZmFrZWRyaXZlckNsaUFyZ3MnLCAocmVxLCByZXMpID0+IHtcbiAgICAgIHJlcy5zZW5kKEpTT04uc3RyaW5naWZ5KGNsaUFyZ3MpKTtcbiAgICB9KTtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKEZha2VEcml2ZXIucHJvdG90eXBlLCBjb21tYW5kcyk7XG5cbmV4cG9ydCB7RmFrZURyaXZlcn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUEsTUFBTUEsVUFBTixTQUF5QkMsa0JBQXpCLENBQW9DO0VBQ2xDQyxXQUFXLENBQUNDLElBQUksR0FBRyxFQUFSLEVBQVlDLGtCQUFrQixHQUFHLElBQWpDLEVBQXVDO0lBQ2hELE1BQU1ELElBQU4sRUFBWUMsa0JBQVo7SUFDQSxLQUFLQyxRQUFMLEdBQWdCLElBQWhCO0lBQ0EsS0FBS0MsVUFBTCxHQUFrQixZQUFsQjtJQUNBLEtBQUtDLEtBQUwsR0FBYSxFQUFiO0lBQ0EsS0FBS0MsV0FBTCxHQUFtQixJQUFuQjtJQUNBLEtBQUtDLE9BQUwsR0FBZSxDQUFmO0lBQ0EsS0FBS0MsSUFBTCxHQUFZLEVBQVo7SUFDQSxLQUFLQyxTQUFMLEdBQWlCLElBQWpCO0lBQ0EsS0FBS0MsT0FBTCxHQUFlLEVBQWY7SUFDQSxLQUFLQyxZQUFMLEdBQW9CLEtBQXBCO0lBRUEsS0FBS0MscUJBQUwsR0FBNkI7TUFDM0JDLEdBQUcsRUFBRTtRQUNIQyxRQUFRLEVBQUUsSUFEUDtRQUVIQyxRQUFRLEVBQUU7TUFGUDtJQURzQixDQUE3QjtFQU1EOztFQUVEQyxXQUFXLEdBQUc7SUFDWixPQUFPLEtBQUtMLFlBQVo7RUFDRDs7RUFFRE0sUUFBUSxHQUFHO0lBQ1QsT0FBTyxJQUFQO0VBQ0Q7O0VBRURDLFdBQVcsQ0FBQ0MsR0FBRCxFQUFNQyxHQUFOLEVBQVc7SUFFcEJBLEdBQUcsQ0FBQ0MsR0FBSixDQUFRLGNBQVIsRUFBd0Isa0JBQXhCO0lBQ0EsTUFB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
|
|
159
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGYWtlRHJpdmVyIiwiQmFzZURyaXZlciIsImNvbnN0cnVjdG9yIiwib3B0cyIsInNob3VsZFZhbGlkYXRlQ2FwcyIsImFwcE1vZGVsIiwiY3VyQ29udGV4dCIsImVsTWFwIiwiZm9jdXNlZEVsSWQiLCJtYXhFbElkIiwiY2FwcyIsImZha2VUaGluZyIsImNsaUFyZ3MiLCJfcHJveHlBY3RpdmUiLCJkZXNpcmVkQ2FwQ29uc3RyYWludHMiLCJhcHAiLCJwcmVzZW5jZSIsImlzU3RyaW5nIiwicHJveHlBY3RpdmUiLCJjYW5Qcm94eSIsInByb3h5UmVxUmVzIiwicmVxIiwicmVzIiwic2V0IiwicmVzQm9keU9iaiIsInZhbHVlIiwibWF0Y2giLCJvcmlnaW5hbFVybCIsInNlc3Npb25JZCIsInN0YXR1cyIsInNlbmQiLCJKU09OIiwic3RyaW5naWZ5IiwicHJveHlDb21tYW5kIiwiY3JlYXRlU2Vzc2lvbiIsImpzb253cERlc2lyZWRDYXBhYmlsaXRpZXMiLCJqc29ud3BSZXF1aXJlZENhcHMiLCJ3M2NDYXBhYmlsaXRpZXMiLCJvdGhlclNlc3Npb25EYXRhIiwiZCIsImlzVW5pcXVlIiwiZXJyb3JzIiwiU2Vzc2lvbk5vdENyZWF0ZWRFcnJvciIsIkZha2VBcHAiLCJfIiwiaXNBcnJheSIsImxlbmd0aCIsImxvYWRBcHAiLCJkcml2ZXJEYXRhIiwidW5pcXVlQXBwIiwiZ2V0RmFrZVRoaW5nIiwiQiIsImRlbGF5Iiwic2V0RmFrZVRoaW5nIiwidGhpbmciLCJnZXRGYWtlRHJpdmVyQXJncyIsIm5ld01ldGhvZE1hcCIsIkdFVCIsImNvbW1hbmQiLCJQT1NUIiwicGF5bG9hZFBhcmFtcyIsInJlcXVpcmVkIiwiZXhlY3V0ZU1ldGhvZE1hcCIsInBhcmFtcyIsIm9wdGlvbmFsIiwiZmFrZVJvdXRlIiwiZmFrZWRyaXZlciIsInVwZGF0ZVNlcnZlciIsImV4cHJlc3NBcHAiLCJodHRwU2VydmVyIiwiYWxsIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwiY29tbWFuZHMiXSwic291cmNlcyI6WyIuLi8uLi9saWIvZHJpdmVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge0Jhc2VEcml2ZXIsIGVycm9yc30gZnJvbSAnYXBwaXVtL2RyaXZlcic7XG5pbXBvcnQge0Zha2VBcHB9IGZyb20gJy4vZmFrZS1hcHAnO1xuaW1wb3J0IGNvbW1hbmRzIGZyb20gJy4vY29tbWFuZHMnO1xuXG5jbGFzcyBGYWtlRHJpdmVyIGV4dGVuZHMgQmFzZURyaXZlciB7XG4gIGNvbnN0cnVjdG9yKG9wdHMgPSB7fSwgc2hvdWxkVmFsaWRhdGVDYXBzID0gdHJ1ZSkge1xuICAgIHN1cGVyKG9wdHMsIHNob3VsZFZhbGlkYXRlQ2Fwcyk7XG4gICAgdGhpcy5hcHBNb2RlbCA9IG51bGw7XG4gICAgdGhpcy5jdXJDb250ZXh0ID0gJ05BVElWRV9BUFAnO1xuICAgIHRoaXMuZWxNYXAgPSB7fTtcbiAgICB0aGlzLmZvY3VzZWRFbElkID0gbnVsbDtcbiAgICB0aGlzLm1heEVsSWQgPSAwO1xuICAgIHRoaXMuY2FwcyA9IHt9O1xuICAgIHRoaXMuZmFrZVRoaW5nID0gbnVsbDtcbiAgICB0aGlzLmNsaUFyZ3MgPSB7fTtcbiAgICB0aGlzLl9wcm94eUFjdGl2ZSA9IGZhbHNlO1xuXG4gICAgdGhpcy5kZXNpcmVkQ2FwQ29uc3RyYWludHMgPSB7XG4gICAgICBhcHA6IHtcbiAgICAgICAgcHJlc2VuY2U6IHRydWUsXG4gICAgICAgIGlzU3RyaW5nOiB0cnVlLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJveHlBY3RpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Byb3h5QWN0aXZlO1xuICB9XG5cbiAgY2FuUHJveHkoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcm94eVJlcVJlcyhyZXEsIHJlcykge1xuICAgIC8vIGZha2UgaW1wbGVtZW50YXRpb24gb2YgandwIHByb3h5IHJlcSByZXNcbiAgICByZXMuc2V0KCdjb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuICAgIGNvbnN0IHJlc0JvZHlPYmogPSB7dmFsdWU6ICdwcm94aWVkIHZpYSBwcm94eVJlcVJlcyd9O1xuICAgIGNvbnN0IG1hdGNoID0gcmVxLm9yaWdpbmFsVXJsLm1hdGNoKC9cXC9zZXNzaW9uXFwvKFteL10rKS8pO1xuICAgIHJlc0JvZHlPYmouc2Vzc2lvbklkID0gbWF0Y2ggPyBtYXRjaFsxXSA6IG51bGw7XG4gICAgcmVzLnN0YXR1cygyMDApLnNlbmQoSlNPTi5zdHJpbmdpZnkocmVzQm9keU9iaikpO1xuICB9XG5cbiAgcHJveHlDb21tYW5kKC8qdXJsLCBtZXRob2QsIGJvZHkqLykge1xuICAgIHJldHVybiAncHJveGllZCB2aWEgcHJveHlDb21tYW5kJztcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVNlc3Npb24oXG4gICAganNvbndwRGVzaXJlZENhcGFiaWxpdGllcyxcbiAgICBqc29ud3BSZXF1aXJlZENhcHMsXG4gICAgdzNjQ2FwYWJpbGl0aWVzLFxuICAgIG90aGVyU2Vzc2lvbkRhdGEgPSBbXVxuICApIHtcbiAgICAvLyBUT0RPIGFkZCB2YWxpZGF0aW9uIG9uIGNhcHMuYXBwIHRoYXQgd2Ugd2lsbCBnZXQgZm9yIGZyZWUgZnJvbVxuICAgIC8vIEJhc2VEcml2ZXJcblxuICAgIC8vIGNoZWNrIHRvIHNlZSBpZiBhbnkgb3RoZXIgc2Vzc2lvbnMgaGF2ZSBzZXQgdW5pcXVlQXBwLiBJZiBzbywgZW11bGF0ZVxuICAgIC8vIG5vdCBiZWluZyBhYmxlIHRvIHN0YXJ0IGEgc2Vzc2lvbiBiZWNhdXNlIG9mIHN5c3RlbSByZXNvdXJjZXNcbiAgICBmb3IgKGxldCBkIG9mIG90aGVyU2Vzc2lvbkRhdGEpIHtcbiAgICAgIGlmIChkLmlzVW5pcXVlKSB7XG4gICAgICAgIHRocm93IG5ldyBlcnJvcnMuU2Vzc2lvbk5vdENyZWF0ZWRFcnJvcihcbiAgICAgICAgICAnQ2Fubm90IHN0YXJ0IHNlc3Npb247IGFub3RoZXIgJyArXG4gICAgICAgICAgICAndW5pcXVlIHNlc3Npb24gaXMgaW4gcHJvZ3Jlc3MgdGhhdCByZXF1aXJlcyBhbGwgcmVzb3VyY2VzJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBbc2Vzc2lvbklkLCBjYXBzXSA9IGF3YWl0IHN1cGVyLmNyZWF0ZVNlc3Npb24oXG4gICAgICBqc29ud3BEZXNpcmVkQ2FwYWJpbGl0aWVzLFxuICAgICAganNvbndwUmVxdWlyZWRDYXBzLFxuICAgICAgdzNjQ2FwYWJpbGl0aWVzLFxuICAgICAgb3RoZXJTZXNzaW9uRGF0YVxuICAgICk7XG4gICAgdGhpcy5hcHBNb2RlbCA9IG5ldyBGYWtlQXBwKCk7XG4gICAgaWYgKF8uaXNBcnJheShjYXBzKSA9PT0gdHJ1ZSAmJiBjYXBzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgY2FwcyA9IGNhcHNbMF07XG4gICAgfVxuICAgIHRoaXMuY2FwcyA9IGNhcHM7XG4gICAgYXdhaXQgdGhpcy5hcHBNb2RlbC5sb2FkQXBwKGNhcHMuYXBwKTtcbiAgICByZXR1cm4gW3Nlc3Npb25JZCwgY2Fwc107XG4gIH1cblxuICBnZXQgZHJpdmVyRGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXNVbmlxdWU6ICEhdGhpcy5jYXBzLnVuaXF1ZUFwcCxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZ2V0RmFrZVRoaW5nKCkge1xuICAgIGF3YWl0IEIuZGVsYXkoMSk7XG4gICAgcmV0dXJuIHRoaXMuZmFrZVRoaW5nO1xuICB9XG5cbiAgYXN5bmMgc2V0RmFrZVRoaW5nKHRoaW5nKSB7XG4gICAgYXdhaXQgQi5kZWxheSgxKTtcbiAgICB0aGlzLmZha2VUaGluZyA9IHRoaW5nO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgYXN5bmMgZ2V0RmFrZURyaXZlckFyZ3MoKSB7XG4gICAgYXdhaXQgQi5kZWxheSgxKTtcbiAgICByZXR1cm4gdGhpcy5jbGlBcmdzO1xuICB9XG5cbiAgc3RhdGljIG5ld01ldGhvZE1hcCA9IHtcbiAgICAnL3Nlc3Npb24vOnNlc3Npb25JZC9mYWtlZHJpdmVyJzoge1xuICAgICAgR0VUOiB7Y29tbWFuZDogJ2dldEZha2VUaGluZyd9LFxuICAgICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRGYWtlVGhpbmcnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndGhpbmcnXX19LFxuICAgIH0sXG4gICAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZmFrZWRyaXZlcmFyZ3MnOiB7XG4gICAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0RmFrZURyaXZlckFyZ3MnfSxcbiAgICB9LFxuICB9O1xuXG4gIHN0YXRpYyBleGVjdXRlTWV0aG9kTWFwID0ge1xuICAgICdmYWtlOiBhZGRpdGlvbic6IHtcbiAgICAgIGNvbW1hbmQ6ICdmYWtlQWRkaXRpb24nLFxuICAgICAgcGFyYW1zOiB7cmVxdWlyZWQ6IFsnbnVtMScsICdudW0yJ10sIG9wdGlvbmFsOiBbJ251bTMnXX0sXG4gICAgfSxcbiAgICAnZmFrZTogZ2V0VGhpbmcnOiB7XG4gICAgICBjb21tYW5kOiAnZ2V0RmFrZVRoaW5nJyxcbiAgICB9LFxuICAgICdmYWtlOiBzZXRUaGluZyc6IHtcbiAgICAgIGNvbW1hbmQ6ICdzZXRGYWtlVGhpbmcnLFxuICAgICAgcGFyYW1zOiB7cmVxdWlyZWQ6IFsndGhpbmcnXX0sXG4gICAgfSxcbiAgfTtcblxuICBzdGF0aWMgZmFrZVJvdXRlKHJlcSwgcmVzKSB7XG4gICAgcmVzLnNlbmQoSlNPTi5zdHJpbmdpZnkoe2Zha2Vkcml2ZXI6ICdmYWtlUmVzcG9uc2UnfSkpO1xuICB9XG5cbiAgc3RhdGljIGFzeW5jIHVwZGF0ZVNlcnZlcihleHByZXNzQXBwLCBodHRwU2VydmVyLCBjbGlBcmdzKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbGluZSByZXF1aXJlLWF3YWl0XG4gICAgZXhwcmVzc0FwcC5hbGwoJy9mYWtlZHJpdmVyJywgRmFrZURyaXZlci5mYWtlUm91dGUpO1xuICAgIGV4cHJlc3NBcHAuYWxsKCcvZmFrZWRyaXZlckNsaUFyZ3MnLCAocmVxLCByZXMpID0+IHtcbiAgICAgIHJlcy5zZW5kKEpTT04uc3RyaW5naWZ5KGNsaUFyZ3MpKTtcbiAgICB9KTtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKEZha2VEcml2ZXIucHJvdG90eXBlLCBjb21tYW5kcyk7XG5cbmV4cG9ydCB7RmFrZURyaXZlcn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUEsTUFBTUEsVUFBTixTQUF5QkMsa0JBQXpCLENBQW9DO0VBQ2xDQyxXQUFXLENBQUNDLElBQUksR0FBRyxFQUFSLEVBQVlDLGtCQUFrQixHQUFHLElBQWpDLEVBQXVDO0lBQ2hELE1BQU1ELElBQU4sRUFBWUMsa0JBQVo7SUFDQSxLQUFLQyxRQUFMLEdBQWdCLElBQWhCO0lBQ0EsS0FBS0MsVUFBTCxHQUFrQixZQUFsQjtJQUNBLEtBQUtDLEtBQUwsR0FBYSxFQUFiO0lBQ0EsS0FBS0MsV0FBTCxHQUFtQixJQUFuQjtJQUNBLEtBQUtDLE9BQUwsR0FBZSxDQUFmO0lBQ0EsS0FBS0MsSUFBTCxHQUFZLEVBQVo7SUFDQSxLQUFLQyxTQUFMLEdBQWlCLElBQWpCO0lBQ0EsS0FBS0MsT0FBTCxHQUFlLEVBQWY7SUFDQSxLQUFLQyxZQUFMLEdBQW9CLEtBQXBCO0lBRUEsS0FBS0MscUJBQUwsR0FBNkI7TUFDM0JDLEdBQUcsRUFBRTtRQUNIQyxRQUFRLEVBQUUsSUFEUDtRQUVIQyxRQUFRLEVBQUU7TUFGUDtJQURzQixDQUE3QjtFQU1EOztFQUVEQyxXQUFXLEdBQUc7SUFDWixPQUFPLEtBQUtMLFlBQVo7RUFDRDs7RUFFRE0sUUFBUSxHQUFHO0lBQ1QsT0FBTyxJQUFQO0VBQ0Q7O0VBRURDLFdBQVcsQ0FBQ0MsR0FBRCxFQUFNQyxHQUFOLEVBQVc7SUFFcEJBLEdBQUcsQ0FBQ0MsR0FBSixDQUFRLGNBQVIsRUFBd0Isa0JBQXhCO0lBQ0EsTUFB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver.js","names":["FakeDriver","BaseDriver","constructor","opts","shouldValidateCaps","appModel","curContext","elMap","focusedElId","maxElId","caps","fakeThing","cliArgs","_proxyActive","desiredCapConstraints","app","presence","isString","proxyActive","canProxy","proxyReqRes","req","res","set","resBodyObj","value","match","originalUrl","sessionId","status","send","JSON","stringify","proxyCommand","createSession","jsonwpDesiredCapabilities","jsonwpRequiredCaps","w3cCapabilities","otherSessionData","d","isUnique","errors","SessionNotCreatedError","FakeApp","_","isArray","length","loadApp","driverData","uniqueApp","getFakeThing","B","delay","setFakeThing","thing","getFakeDriverArgs","newMethodMap","GET","command","POST","payloadParams","required","executeMethodMap","params","optional","fakeRoute","fakedriver","updateServer","expressApp","httpServer","all","Object","assign","prototype","commands"],"sources":["../../lib/driver.js"],"sourcesContent":["import B from 'bluebird';\nimport _ from 'lodash';\nimport {BaseDriver, errors} from 'appium/driver';\nimport {FakeApp} from './fake-app';\nimport commands from './commands';\n\nclass FakeDriver extends BaseDriver {\n constructor(opts = {}, shouldValidateCaps = true) {\n super(opts, shouldValidateCaps);\n this.appModel = null;\n this.curContext = 'NATIVE_APP';\n this.elMap = {};\n this.focusedElId = null;\n this.maxElId = 0;\n this.caps = {};\n this.fakeThing = null;\n this.cliArgs = {};\n this._proxyActive = false;\n\n this.desiredCapConstraints = {\n app: {\n presence: true,\n isString: true,\n },\n };\n }\n\n proxyActive() {\n return this._proxyActive;\n }\n\n canProxy() {\n return true;\n }\n\n proxyReqRes(req, res) {\n // fake implementation of jwp proxy req res\n res.set('content-type', 'application/json');\n const resBodyObj = {value: 'proxied via proxyReqRes'};\n const match = req.originalUrl.match(/\\/session\\/([^/]+)/);\n resBodyObj.sessionId = match ? match[1] : null;\n res.status(200).send(JSON.stringify(resBodyObj));\n }\n\n proxyCommand(/*url, method, body*/) {\n return 'proxied via proxyCommand';\n }\n\n async createSession(\n jsonwpDesiredCapabilities,\n jsonwpRequiredCaps,\n w3cCapabilities,\n otherSessionData = []\n ) {\n // TODO add validation on caps.app that we will get for free from\n // BaseDriver\n\n // check to see if any other sessions have set uniqueApp. If so, emulate\n // not being able to start a session because of system resources\n for (let d of otherSessionData) {\n if (d.isUnique) {\n throw new errors.SessionNotCreatedError(\n 'Cannot start session; another ' +\n 'unique session is in progress that requires all resources'\n );\n }\n }\n\n let [sessionId, caps] = await super.createSession(\n jsonwpDesiredCapabilities,\n jsonwpRequiredCaps,\n w3cCapabilities,\n otherSessionData\n );\n this.appModel = new FakeApp();\n if (_.isArray(caps) === true && caps.length === 1) {\n caps = caps[0];\n }\n this.caps = caps;\n await this.appModel.loadApp(caps.app);\n return [sessionId, caps];\n }\n\n get driverData() {\n return {\n isUnique: !!this.caps.uniqueApp,\n };\n }\n\n async getFakeThing() {\n await B.delay(1);\n return this.fakeThing;\n }\n\n async setFakeThing(thing) {\n await B.delay(1);\n this.fakeThing = thing;\n return null;\n }\n\n async getFakeDriverArgs() {\n await B.delay(1);\n return this.cliArgs;\n }\n\n static newMethodMap = {\n '/session/:sessionId/fakedriver': {\n GET: {command: 'getFakeThing'},\n POST: {command: 'setFakeThing', payloadParams: {required: ['thing']}},\n },\n '/session/:sessionId/fakedriverargs': {\n GET: {command: 'getFakeDriverArgs'},\n },\n };\n\n static executeMethodMap = {\n 'fake: addition': {\n command: 'fakeAddition',\n params: {required: ['num1', 'num2'], optional: ['num3']},\n },\n 'fake: getThing': {\n command: 'getFakeThing',\n },\n 'fake: setThing': {\n command: 'setFakeThing',\n params: {required: ['thing']},\n },\n };\n\n static fakeRoute(req, res) {\n res.send(JSON.stringify({fakedriver: 'fakeResponse'}));\n }\n\n static async updateServer(expressApp, httpServer, cliArgs) {\n // eslint-disable-line require-await\n expressApp.all('/fakedriver', FakeDriver.fakeRoute);\n expressApp.all('/fakedriverCliArgs', (req, res) => {\n res.send(JSON.stringify(cliArgs));\n });\n }\n}\n\nObject.assign(FakeDriver.prototype, commands);\n\nexport {FakeDriver};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export class FakeApp {
|
|
2
|
+
dom: Document | null;
|
|
3
|
+
activeDom: Document | null;
|
|
4
|
+
activeWebview: any;
|
|
5
|
+
activeFrame: any;
|
|
6
|
+
activeAlert: FakeElement | null;
|
|
7
|
+
lat: number;
|
|
8
|
+
long: number;
|
|
9
|
+
_width: number | null;
|
|
10
|
+
_height: number | null;
|
|
11
|
+
rawXml: string;
|
|
12
|
+
currentOrientation: string;
|
|
13
|
+
actionLog: any[];
|
|
14
|
+
get title(): any;
|
|
15
|
+
get currentGeoLocation(): {
|
|
16
|
+
latitude: number;
|
|
17
|
+
longitude: number;
|
|
18
|
+
};
|
|
19
|
+
set orientation(arg: string);
|
|
20
|
+
get orientation(): string;
|
|
21
|
+
get width(): number | null;
|
|
22
|
+
get height(): number | null;
|
|
23
|
+
setDims(): void;
|
|
24
|
+
loadApp(appPath: any): Promise<void>;
|
|
25
|
+
getWebviews(): FakeWebView[];
|
|
26
|
+
activateWebview(wv: any): void;
|
|
27
|
+
deactivateWebview(): void;
|
|
28
|
+
activateFrame(frame: any): void;
|
|
29
|
+
deactivateFrame(): void;
|
|
30
|
+
xpathQuery(sel: any, ctx: any): xpath.SelectedValue[];
|
|
31
|
+
idQuery(id: any, ctx: any): xpath.SelectedValue[];
|
|
32
|
+
classQuery(className: any, ctx: any): xpath.SelectedValue[];
|
|
33
|
+
cssQuery(css: any, ctx: any): xpath.SelectedValue[];
|
|
34
|
+
hasAlert(): boolean;
|
|
35
|
+
setAlertText(text: any): void;
|
|
36
|
+
showAlert(alertId: any): void;
|
|
37
|
+
alertText(): any;
|
|
38
|
+
handleAlert(): void;
|
|
39
|
+
getScreenshot(): string;
|
|
40
|
+
}
|
|
41
|
+
import { FakeElement } from "./fake-element";
|
|
42
|
+
declare class FakeWebView {
|
|
43
|
+
constructor(node: any);
|
|
44
|
+
node: any;
|
|
45
|
+
}
|
|
46
|
+
import xpath from "xpath";
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=fake-app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake-app.d.ts","sourceRoot":"","sources":["../../lib/fake-app.js"],"names":[],"mappings":"AAUA;IAEI,qBAAe;IACf,2BAAqB;IACrB,mBAAyB;IACzB,iBAAuB;IACvB,gCAAuB;IACvB,YAAY;IACZ,aAAa;IACb,sBAAkB;IAClB,uBAAmB;IACnB,eAAgB;IAChB,2BAAoC;IACpC,iBAAmB;IAGrB,iBAMC;IAED;;;MAKC;IAMD,6BAEC;IAND,0BAEC;IAMD,2BAKC;IAED,4BAKC;IAED,gBAKC;IAED,qCAUC;IAED,6BAEC;IAED,+BAIC;IAED,0BAGC;IAED,gCAIC;IAED,wBAGC;IAED,sDAEC;IAED,kDAEC;IAED,4DAEC;IAED,oDAQC;IAED,oBAEC;IAED,8BAKC;IAED,8BAMC;IAED,iBAEC;IAED,oBAEC;IAED,wBAEC;CACF;;AAED;IACE,uBAEC;IADC,UAAgB;CAEnB"}
|
package/build/lib/fake-app.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
@@ -23,6 +21,8 @@ var _logger = _interopRequireDefault(require("./logger"));
|
|
|
23
21
|
|
|
24
22
|
var _fakeElement = require("./fake-element");
|
|
25
23
|
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
+
|
|
26
26
|
const SCREENSHOT = _path.default.join(__dirname, 'screen.png');
|
|
27
27
|
|
|
28
28
|
class FakeApp {
|
|
@@ -198,4 +198,4 @@ class FakeWebView {
|
|
|
198
198
|
}
|
|
199
199
|
|
|
200
200
|
}
|
|
201
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTQ1JFRU5TSE9UIiwicGF0aCIsImpvaW4iLCJfX2Rpcm5hbWUiLCJGYWtlQXBwIiwiY29uc3RydWN0b3IiLCJkb20iLCJhY3RpdmVEb20iLCJhY3RpdmVXZWJ2aWV3IiwiYWN0aXZlRnJhbWUiLCJhY3RpdmVBbGVydCIsImxhdCIsImxvbmciLCJfd2lkdGgiLCJfaGVpZ2h0IiwicmF3WG1sIiwiY3VycmVudE9yaWVudGF0aW9uIiwiYWN0aW9uTG9nIiwidGl0bGUiLCJub2RlcyIsInhwYXRoUXVlcnkiLCJsZW5ndGgiLCJFcnJvciIsImZpcnN0Q2hpbGQiLCJkYXRhIiwiY3VycmVudEdlb0xvY2F0aW9uIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJvcmllbnRhdGlvbiIsIm8iLCJ3aWR0aCIsInNldERpbXMiLCJoZWlnaHQiLCJhcHAiLCJGYWtlRWxlbWVudCIsInBhcnNlSW50Iiwibm9kZUF0dHJzIiwibG9hZEFwcCIsImFwcFBhdGgiLCJsb2ciLCJpbmZvIiwiZnMiLCJyZWFkRmlsZSIsInRvU3RyaW5nIiwicmVwbGFjZSIsIlhNTERvbSIsIkRPTVBhcnNlciIsInBhcnNlRnJvbVN0cmluZyIsImdldFdlYnZpZXdzIiwibWFwIiwibiIsIkZha2VXZWJWaWV3IiwiYWN0aXZhdGVXZWJ2aWV3Iiwid3YiLCJmcmFnbWVudCIsIlhNTFNlcmlhbGl6ZXIiLCJzZXJpYWxpemVUb1N0cmluZyIsIm5vZGUiLCJkZWFjdGl2YXRlV2VidmlldyIsImFjdGl2YXRlRnJhbWUiLCJmcmFtZSIsImRlYWN0aXZhdGVGcmFtZSIsInNlbCIsImN0eCIsInhwYXRoIiwic2VsZWN0IiwiaWRRdWVyeSIsImlkIiwiY2xhc3NRdWVyeSIsImNsYXNzTmFtZSIsImNzc1F1ZXJ5IiwiY3NzIiwic3RhcnRzV2l0aCIsInNsaWNlIiwiaGFzQWxlcnQiLCJzZXRBbGVydFRleHQiLCJ0ZXh0IiwiaGFzUHJvbXB0Iiwic2V0QXR0ciIsInNob3dBbGVydCIsImFsZXJ0SWQiLCJhbGVydFRleHQiLCJnZXRBdHRyIiwiaGFuZGxlQWxlcnQiLCJnZXRTY3JlZW5zaG90IiwicmVhZEZpbGVTeW5jIl0sInNvdXJjZXMiOlsiLi4vLi4vbGliL2Zha2UtYXBwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZnN9IGZyb20gJ2FwcGl1bS9zdXBwb3J0JztcbmltcG9ydCB7cmVhZEZpbGVTeW5jfSBmcm9tICdmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBYTUxEb20gZnJvbSAnQHhtbGRvbS94bWxkb20nO1xuaW1wb3J0IHhwYXRoIGZyb20gJ3hwYXRoJztcbmltcG9ydCBsb2cgZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHtGYWtlRWxlbWVudH0gZnJvbSAnLi9mYWtlLWVsZW1lbnQnO1xuXG5jb25zdCBTQ1JFRU5TSE9UID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJ3NjcmVlbi5wbmcnKTtcblxuY2xhc3MgRmFrZUFwcCB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZG9tID0gbnVsbDtcbiAgICB0aGlzLmFjdGl2ZURvbSA9IG51bGw7XG4gICAgdGhpcy5hY3RpdmVXZWJ2aWV3ID0gbnVsbDtcbiAgICB0aGlzLmFjdGl2ZUZyYW1lID0gbnVsbDtcbiAgICB0aGlzLmFjdGl2ZUFsZXJ0ID0gbnVsbDtcbiAgICB0aGlzLmxhdCA9IDA7XG4gICAgdGhpcy5sb25nID0gMDtcbiAgICB0aGlzLl93aWR0aCA9IG51bGw7XG4gICAgdGhpcy5faGVpZ2h0ID0gbnVsbDtcbiAgICB0aGlzLnJhd1htbCA9ICcnO1xuICAgIHRoaXMuY3VycmVudE9yaWVudGF0aW9uID0gJ1BPUlRSQUlUJztcbiAgICB0aGlzLmFjdGlvbkxvZyA9IFtdO1xuICB9XG5cbiAgZ2V0IHRpdGxlKCkge1xuICAgIGxldCBub2RlcyA9IHRoaXMueHBhdGhRdWVyeSgnLy90aXRsZScpO1xuICAgIGlmIChub2Rlcy5sZW5ndGggPCAxKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHRpdGxlIScpO1xuICAgIH1cbiAgICByZXR1cm4gbm9kZXNbMF0uZmlyc3RDaGlsZC5kYXRhO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRHZW9Mb2NhdGlvbigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbGF0aXR1ZGU6IHRoaXMubGF0LFxuICAgICAgbG9uZ2l0dWRlOiB0aGlzLmxvbmcsXG4gICAgfTtcbiAgfVxuXG4gIGdldCBvcmllbnRhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50T3JpZW50YXRpb247XG4gIH1cblxuICBzZXQgb3JpZW50YXRpb24obykge1xuICAgIHRoaXMuY3VycmVudE9yaWVudGF0aW9uID0gbztcbiAgfVxuXG4gIGdldCB3aWR0aCgpIHtcbiAgICBpZiAodGhpcy5fd2lkdGggPT09IG51bGwpIHtcbiAgICAgIHRoaXMuc2V0RGltcygpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fd2lkdGg7XG4gIH1cblxuICBnZXQgaGVpZ2h0KCkge1xuICAgIGlmICh0aGlzLl93aWR0aCA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5zZXREaW1zKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl93aWR0aDtcbiAgfVxuXG4gIHNldERpbXMoKSB7XG4gICAgY29uc3Qgbm9kZXMgPSB0aGlzLnhwYXRoUXVlcnkoJy8vYXBwJyk7XG4gICAgY29uc3QgYXBwID0gbmV3IEZha2VFbGVtZW50KG5vZGVzWzBdLCB0aGlzKTtcbiAgICB0aGlzLl93aWR0aCA9IHBhcnNlSW50KGFwcC5ub2RlQXR0cnMud2lkdGgsIDEwKTtcbiAgICB0aGlzLl9oZWlnaHQgPSBwYXJzZUludChhcHAubm9kZUF0dHJzLmhlaWdodCwgMTApO1xuICB9XG5cbiAgYXN5bmMgbG9hZEFwcChhcHBQYXRoKSB7XG4gICAgbG9nLmluZm8oYExvYWRpbmcgTW9jayBhcHAgbW9kZWwgYXQgJHthcHBQYXRofWApO1xuICAgIGxldCBkYXRhID0gYXdhaXQgZnMucmVhZEZpbGUoYXBwUGF0aCk7XG4gICAgbG9nLmluZm8oJ1BhcnNpbmcgTW9jayBhcHAgWE1MJyk7XG4gICAgdGhpcy5yYXdYbWwgPSBkYXRhLnRvU3RyaW5nKCk7XG4gICAgdGhpcy5yYXdYbWwgPSB0aGlzLnJhd1htbC5yZXBsYWNlKCc8YXBwICcsICc8QXBwaXVtQVVUPjxhcHAgJyk7XG4gICAgdGhpcy5yYXdYbWwgPSB0aGlzLnJhd1htbC5yZXBsYWNlKCc8YXBwPicsICc8QXBwaXVtQVVUPjxhcHA+Jyk7XG4gICAgdGhpcy5yYXdYbWwgPSB0aGlzLnJhd1htbC5yZXBsYWNlKCc8L2FwcD4nLCAnPC9hcHA+PC9BcHBpdW1BVVQ+Jyk7XG4gICAgdGhpcy5kb20gPSBuZXcgWE1MRG9tLkRPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyh0aGlzLnJhd1htbCk7XG4gICAgdGhpcy5hY3RpdmVEb20gPSB0aGlzLmRvbTtcbiAgfVxuXG4gIGdldFdlYnZpZXdzKCkge1xuICAgIHJldHVybiB0aGlzLnhwYXRoUXVlcnkoJy8vTW9ja1dlYlZpZXcvKlsxXScpLm1hcCgobikgPT4gbmV3IEZha2VXZWJWaWV3KG4pKTtcbiAgfVxuXG4gIGFjdGl2YXRlV2Vidmlldyh3dikge1xuICAgIHRoaXMuYWN0aXZlV2VidmlldyA9IHd2O1xuICAgIGxldCBmcmFnbWVudCA9IG5ldyBYTUxEb20uWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKHd2Lm5vZGUpO1xuICAgIHRoaXMuYWN0aXZlRG9tID0gbmV3IFhNTERvbS5ET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoZnJhZ21lbnQsICdhcHBsaWNhdGlvbi94bWwnKTtcbiAgfVxuXG4gIGRlYWN0aXZhdGVXZWJ2aWV3KCkge1xuICAgIHRoaXMuYWN0aXZlV2VidmlldyA9IG51bGw7XG4gICAgdGhpcy5hY3RpdmVEb20gPSB0aGlzLmRvbTtcbiAgfVxuXG4gIGFjdGl2YXRlRnJhbWUoZnJhbWUpIHtcbiAgICB0aGlzLmFjdGl2ZUZyYW1lID0gZnJhbWU7XG4gICAgbGV0IGZyYWdtZW50ID0gbmV3IFhNTERvbS5YTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmcoZnJhbWUpO1xuICAgIHRoaXMuYWN0aXZlRG9tID0gbmV3IFhNTERvbS5ET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoZnJhZ21lbnQsICdhcHBsaWNhdGlvbi94bWwnKTtcbiAgfVxuXG4gIGRlYWN0aXZhdGVGcmFtZSgpIHtcbiAgICB0aGlzLmFjdGl2ZUZyYW1lID0gbnVsbDtcbiAgICB0aGlzLmFjdGl2YXRlV2Vidmlldyh0aGlzLmFjdGl2ZVdlYnZpZXcpO1xuICB9XG5cbiAgeHBhdGhRdWVyeShzZWwsIGN0eCkge1xuICAgIHJldHVybiB4cGF0aC5zZWxlY3Qoc2VsLCBjdHggfHwgdGhpcy5hY3RpdmVEb20pO1xuICB9XG5cbiAgaWRRdWVyeShpZCwgY3R4KSB7XG4gICAgcmV0dXJuIHRoaXMueHBhdGhRdWVyeShgLy8qW0BpZD1cIiR7aWR9XCJdYCwgY3R4KTtcbiAgfVxuXG4gIGNsYXNzUXVlcnkoY2xhc3NOYW1lLCBjdHgpIHtcbiAgICByZXR1cm4gdGhpcy54cGF0aFF1ZXJ5KGAvLyR7Y2xhc3NOYW1lfWAsIGN0eCk7XG4gIH1cblxuICBjc3NRdWVyeShjc3MsIGN0eCkge1xuICAgIGlmIChjc3Muc3RhcnRzV2l0aCgnIycpKSB7XG4gICAgICByZXR1cm4gdGhpcy5pZFF1ZXJ5KGNzcy5zbGljZSgxKSwgY3R4KTtcbiAgICB9XG4gICAgaWYgKGNzcy5zdGFydHNXaXRoKCcuJykpIHtcbiAgICAgIHJldHVybiB0aGlzLmNsYXNzUXVlcnkoY3NzLnNsaWNlKDEpLCBjdHgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jbGFzc1F1ZXJ5KGNzcywgY3R4KTtcbiAgfVxuXG4gIGhhc0FsZXJ0KCkge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUFsZXJ0ICE9PSBudWxsO1xuICB9XG5cbiAgc2V0QWxlcnRUZXh0KHRleHQpIHtcbiAgICBpZiAoIXRoaXMuYWN0aXZlQWxlcnQuaGFzUHJvbXB0KCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcHJvbXB0IHRvIHNldCB0ZXh0IG9mJyk7XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlQWxlcnQuc2V0QXR0cigncHJvbXB0JywgdGV4dCk7XG4gIH1cblxuICBzaG93QWxlcnQoYWxlcnRJZCkge1xuICAgIGxldCBub2RlcyA9IHRoaXMueHBhdGhRdWVyeShgLy9hbGVydFtAaWQ9XCIke2FsZXJ0SWR9XCJdYCk7XG4gICAgaWYgKG5vZGVzLmxlbmd0aCA8IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQWxlcnQgJHthbGVydElkfSBkb2Vzbid0IGV4aXN0IWApO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZUFsZXJ0ID0gbmV3IEZha2VFbGVtZW50KG5vZGVzWzBdLCB0aGlzKTtcbiAgfVxuXG4gIGFsZXJ0VGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVBbGVydC5nZXRBdHRyKCdwcm9tcHQnKSB8fCB0aGlzLmFjdGl2ZUFsZXJ0Lm5vZGVBdHRycy50ZXh0O1xuICB9XG5cbiAgaGFuZGxlQWxlcnQoKSB7XG4gICAgdGhpcy5hY3RpdmVBbGVydCA9IG51bGw7XG4gIH1cblxuICBnZXRTY3JlZW5zaG90KCkge1xuICAgIHJldHVybiByZWFkRmlsZVN5bmMoU0NSRUVOU0hPVCwgJ2Jhc2U2NCcpO1xuICB9XG59XG5cbmNsYXNzIEZha2VXZWJWaWV3IHtcbiAgY29uc3RydWN0b3Iobm9kZSkge1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gIH1cbn1cblxuZXhwb3J0IHtGYWtlQXBwfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxNQUFNQSxVQUFVLEdBQUdDLGFBQUEsQ0FBS0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLFlBQXJCLENBQW5COztBQUVBLE1BQU1DLE9BQU4sQ0FBYztFQUNaQyxXQUFXLEdBQUc7SUFDWixLQUFLQyxHQUFMLEdBQVcsSUFBWDtJQUNBLEtBQUtDLFNBQUwsR0FBaUIsSUFB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
|
|
201
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTQ1JFRU5TSE9UIiwicGF0aCIsImpvaW4iLCJfX2Rpcm5hbWUiLCJGYWtlQXBwIiwiY29uc3RydWN0b3IiLCJkb20iLCJhY3RpdmVEb20iLCJhY3RpdmVXZWJ2aWV3IiwiYWN0aXZlRnJhbWUiLCJhY3RpdmVBbGVydCIsImxhdCIsImxvbmciLCJfd2lkdGgiLCJfaGVpZ2h0IiwicmF3WG1sIiwiY3VycmVudE9yaWVudGF0aW9uIiwiYWN0aW9uTG9nIiwidGl0bGUiLCJub2RlcyIsInhwYXRoUXVlcnkiLCJsZW5ndGgiLCJFcnJvciIsImZpcnN0Q2hpbGQiLCJkYXRhIiwiY3VycmVudEdlb0xvY2F0aW9uIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJvcmllbnRhdGlvbiIsIm8iLCJ3aWR0aCIsInNldERpbXMiLCJoZWlnaHQiLCJhcHAiLCJGYWtlRWxlbWVudCIsInBhcnNlSW50Iiwibm9kZUF0dHJzIiwibG9hZEFwcCIsImFwcFBhdGgiLCJsb2ciLCJpbmZvIiwiZnMiLCJyZWFkRmlsZSIsInRvU3RyaW5nIiwicmVwbGFjZSIsIlhNTERvbSIsIkRPTVBhcnNlciIsInBhcnNlRnJvbVN0cmluZyIsImdldFdlYnZpZXdzIiwibWFwIiwibiIsIkZha2VXZWJWaWV3IiwiYWN0aXZhdGVXZWJ2aWV3Iiwid3YiLCJmcmFnbWVudCIsIlhNTFNlcmlhbGl6ZXIiLCJzZXJpYWxpemVUb1N0cmluZyIsIm5vZGUiLCJkZWFjdGl2YXRlV2VidmlldyIsImFjdGl2YXRlRnJhbWUiLCJmcmFtZSIsImRlYWN0aXZhdGVGcmFtZSIsInNlbCIsImN0eCIsInhwYXRoIiwic2VsZWN0IiwiaWRRdWVyeSIsImlkIiwiY2xhc3NRdWVyeSIsImNsYXNzTmFtZSIsImNzc1F1ZXJ5IiwiY3NzIiwic3RhcnRzV2l0aCIsInNsaWNlIiwiaGFzQWxlcnQiLCJzZXRBbGVydFRleHQiLCJ0ZXh0IiwiaGFzUHJvbXB0Iiwic2V0QXR0ciIsInNob3dBbGVydCIsImFsZXJ0SWQiLCJhbGVydFRleHQiLCJnZXRBdHRyIiwiaGFuZGxlQWxlcnQiLCJnZXRTY3JlZW5zaG90IiwicmVhZEZpbGVTeW5jIl0sInNvdXJjZXMiOlsiLi4vLi4vbGliL2Zha2UtYXBwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZnN9IGZyb20gJ2FwcGl1bS9zdXBwb3J0JztcbmltcG9ydCB7cmVhZEZpbGVTeW5jfSBmcm9tICdmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBYTUxEb20gZnJvbSAnQHhtbGRvbS94bWxkb20nO1xuaW1wb3J0IHhwYXRoIGZyb20gJ3hwYXRoJztcbmltcG9ydCBsb2cgZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHtGYWtlRWxlbWVudH0gZnJvbSAnLi9mYWtlLWVsZW1lbnQnO1xuXG5jb25zdCBTQ1JFRU5TSE9UID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJ3NjcmVlbi5wbmcnKTtcblxuY2xhc3MgRmFrZUFwcCB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZG9tID0gbnVsbDtcbiAgICB0aGlzLmFjdGl2ZURvbSA9IG51bGw7XG4gICAgdGhpcy5hY3RpdmVXZWJ2aWV3ID0gbnVsbDtcbiAgICB0aGlzLmFjdGl2ZUZyYW1lID0gbnVsbDtcbiAgICB0aGlzLmFjdGl2ZUFsZXJ0ID0gbnVsbDtcbiAgICB0aGlzLmxhdCA9IDA7XG4gICAgdGhpcy5sb25nID0gMDtcbiAgICB0aGlzLl93aWR0aCA9IG51bGw7XG4gICAgdGhpcy5faGVpZ2h0ID0gbnVsbDtcbiAgICB0aGlzLnJhd1htbCA9ICcnO1xuICAgIHRoaXMuY3VycmVudE9yaWVudGF0aW9uID0gJ1BPUlRSQUlUJztcbiAgICB0aGlzLmFjdGlvbkxvZyA9IFtdO1xuICB9XG5cbiAgZ2V0IHRpdGxlKCkge1xuICAgIGxldCBub2RlcyA9IHRoaXMueHBhdGhRdWVyeSgnLy90aXRsZScpO1xuICAgIGlmIChub2Rlcy5sZW5ndGggPCAxKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHRpdGxlIScpO1xuICAgIH1cbiAgICByZXR1cm4gbm9kZXNbMF0uZmlyc3RDaGlsZC5kYXRhO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRHZW9Mb2NhdGlvbigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbGF0aXR1ZGU6IHRoaXMubGF0LFxuICAgICAgbG9uZ2l0dWRlOiB0aGlzLmxvbmcsXG4gICAgfTtcbiAgfVxuXG4gIGdldCBvcmllbnRhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50T3JpZW50YXRpb247XG4gIH1cblxuICBzZXQgb3JpZW50YXRpb24obykge1xuICAgIHRoaXMuY3VycmVudE9yaWVudGF0aW9uID0gbztcbiAgfVxuXG4gIGdldCB3aWR0aCgpIHtcbiAgICBpZiAodGhpcy5fd2lkdGggPT09IG51bGwpIHtcbiAgICAgIHRoaXMuc2V0RGltcygpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fd2lkdGg7XG4gIH1cblxuICBnZXQgaGVpZ2h0KCkge1xuICAgIGlmICh0aGlzLl93aWR0aCA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5zZXREaW1zKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl93aWR0aDtcbiAgfVxuXG4gIHNldERpbXMoKSB7XG4gICAgY29uc3Qgbm9kZXMgPSB0aGlzLnhwYXRoUXVlcnkoJy8vYXBwJyk7XG4gICAgY29uc3QgYXBwID0gbmV3IEZha2VFbGVtZW50KG5vZGVzWzBdLCB0aGlzKTtcbiAgICB0aGlzLl93aWR0aCA9IHBhcnNlSW50KGFwcC5ub2RlQXR0cnMud2lkdGgsIDEwKTtcbiAgICB0aGlzLl9oZWlnaHQgPSBwYXJzZUludChhcHAubm9kZUF0dHJzLmhlaWdodCwgMTApO1xuICB9XG5cbiAgYXN5bmMgbG9hZEFwcChhcHBQYXRoKSB7XG4gICAgbG9nLmluZm8oYExvYWRpbmcgTW9jayBhcHAgbW9kZWwgYXQgJHthcHBQYXRofWApO1xuICAgIGxldCBkYXRhID0gYXdhaXQgZnMucmVhZEZpbGUoYXBwUGF0aCk7XG4gICAgbG9nLmluZm8oJ1BhcnNpbmcgTW9jayBhcHAgWE1MJyk7XG4gICAgdGhpcy5yYXdYbWwgPSBkYXRhLnRvU3RyaW5nKCk7XG4gICAgdGhpcy5yYXdYbWwgPSB0aGlzLnJhd1htbC5yZXBsYWNlKCc8YXBwICcsICc8QXBwaXVtQVVUPjxhcHAgJyk7XG4gICAgdGhpcy5yYXdYbWwgPSB0aGlzLnJhd1htbC5yZXBsYWNlKCc8YXBwPicsICc8QXBwaXVtQVVUPjxhcHA+Jyk7XG4gICAgdGhpcy5yYXdYbWwgPSB0aGlzLnJhd1htbC5yZXBsYWNlKCc8L2FwcD4nLCAnPC9hcHA+PC9BcHBpdW1BVVQ+Jyk7XG4gICAgdGhpcy5kb20gPSBuZXcgWE1MRG9tLkRPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyh0aGlzLnJhd1htbCk7XG4gICAgdGhpcy5hY3RpdmVEb20gPSB0aGlzLmRvbTtcbiAgfVxuXG4gIGdldFdlYnZpZXdzKCkge1xuICAgIHJldHVybiB0aGlzLnhwYXRoUXVlcnkoJy8vTW9ja1dlYlZpZXcvKlsxXScpLm1hcCgobikgPT4gbmV3IEZha2VXZWJWaWV3KG4pKTtcbiAgfVxuXG4gIGFjdGl2YXRlV2Vidmlldyh3dikge1xuICAgIHRoaXMuYWN0aXZlV2VidmlldyA9IHd2O1xuICAgIGxldCBmcmFnbWVudCA9IG5ldyBYTUxEb20uWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKHd2Lm5vZGUpO1xuICAgIHRoaXMuYWN0aXZlRG9tID0gbmV3IFhNTERvbS5ET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoZnJhZ21lbnQsICdhcHBsaWNhdGlvbi94bWwnKTtcbiAgfVxuXG4gIGRlYWN0aXZhdGVXZWJ2aWV3KCkge1xuICAgIHRoaXMuYWN0aXZlV2VidmlldyA9IG51bGw7XG4gICAgdGhpcy5hY3RpdmVEb20gPSB0aGlzLmRvbTtcbiAgfVxuXG4gIGFjdGl2YXRlRnJhbWUoZnJhbWUpIHtcbiAgICB0aGlzLmFjdGl2ZUZyYW1lID0gZnJhbWU7XG4gICAgbGV0IGZyYWdtZW50ID0gbmV3IFhNTERvbS5YTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmcoZnJhbWUpO1xuICAgIHRoaXMuYWN0aXZlRG9tID0gbmV3IFhNTERvbS5ET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoZnJhZ21lbnQsICdhcHBsaWNhdGlvbi94bWwnKTtcbiAgfVxuXG4gIGRlYWN0aXZhdGVGcmFtZSgpIHtcbiAgICB0aGlzLmFjdGl2ZUZyYW1lID0gbnVsbDtcbiAgICB0aGlzLmFjdGl2YXRlV2Vidmlldyh0aGlzLmFjdGl2ZVdlYnZpZXcpO1xuICB9XG5cbiAgeHBhdGhRdWVyeShzZWwsIGN0eCkge1xuICAgIHJldHVybiB4cGF0aC5zZWxlY3Qoc2VsLCBjdHggfHwgdGhpcy5hY3RpdmVEb20pO1xuICB9XG5cbiAgaWRRdWVyeShpZCwgY3R4KSB7XG4gICAgcmV0dXJuIHRoaXMueHBhdGhRdWVyeShgLy8qW0BpZD1cIiR7aWR9XCJdYCwgY3R4KTtcbiAgfVxuXG4gIGNsYXNzUXVlcnkoY2xhc3NOYW1lLCBjdHgpIHtcbiAgICByZXR1cm4gdGhpcy54cGF0aFF1ZXJ5KGAvLyR7Y2xhc3NOYW1lfWAsIGN0eCk7XG4gIH1cblxuICBjc3NRdWVyeShjc3MsIGN0eCkge1xuICAgIGlmIChjc3Muc3RhcnRzV2l0aCgnIycpKSB7XG4gICAgICByZXR1cm4gdGhpcy5pZFF1ZXJ5KGNzcy5zbGljZSgxKSwgY3R4KTtcbiAgICB9XG4gICAgaWYgKGNzcy5zdGFydHNXaXRoKCcuJykpIHtcbiAgICAgIHJldHVybiB0aGlzLmNsYXNzUXVlcnkoY3NzLnNsaWNlKDEpLCBjdHgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jbGFzc1F1ZXJ5KGNzcywgY3R4KTtcbiAgfVxuXG4gIGhhc0FsZXJ0KCkge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUFsZXJ0ICE9PSBudWxsO1xuICB9XG5cbiAgc2V0QWxlcnRUZXh0KHRleHQpIHtcbiAgICBpZiAoIXRoaXMuYWN0aXZlQWxlcnQuaGFzUHJvbXB0KCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcHJvbXB0IHRvIHNldCB0ZXh0IG9mJyk7XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlQWxlcnQuc2V0QXR0cigncHJvbXB0JywgdGV4dCk7XG4gIH1cblxuICBzaG93QWxlcnQoYWxlcnRJZCkge1xuICAgIGxldCBub2RlcyA9IHRoaXMueHBhdGhRdWVyeShgLy9hbGVydFtAaWQ9XCIke2FsZXJ0SWR9XCJdYCk7XG4gICAgaWYgKG5vZGVzLmxlbmd0aCA8IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQWxlcnQgJHthbGVydElkfSBkb2Vzbid0IGV4aXN0IWApO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZUFsZXJ0ID0gbmV3IEZha2VFbGVtZW50KG5vZGVzWzBdLCB0aGlzKTtcbiAgfVxuXG4gIGFsZXJ0VGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVBbGVydC5nZXRBdHRyKCdwcm9tcHQnKSB8fCB0aGlzLmFjdGl2ZUFsZXJ0Lm5vZGVBdHRycy50ZXh0O1xuICB9XG5cbiAgaGFuZGxlQWxlcnQoKSB7XG4gICAgdGhpcy5hY3RpdmVBbGVydCA9IG51bGw7XG4gIH1cblxuICBnZXRTY3JlZW5zaG90KCkge1xuICAgIHJldHVybiByZWFkRmlsZVN5bmMoU0NSRUVOU0hPVCwgJ2Jhc2U2NCcpO1xuICB9XG59XG5cbmNsYXNzIEZha2VXZWJWaWV3IHtcbiAgY29uc3RydWN0b3Iobm9kZSkge1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gIH1cbn1cblxuZXhwb3J0IHtGYWtlQXBwfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxNQUFNQSxVQUFVLEdBQUdDLGFBQUEsQ0FBS0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLFlBQXJCLENBQW5COztBQUVBLE1BQU1DLE9BQU4sQ0FBYztFQUNaQyxXQUFXLEdBQUc7SUFDWixLQUFLQyxHQUFMLEdBQVcsSUFBWDtJQUNBLEtBQUtDLFNBQUwsR0FBaUIsSUFB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake-app.js","names":["SCREENSHOT","path","join","__dirname","FakeApp","constructor","dom","activeDom","activeWebview","activeFrame","activeAlert","lat","long","_width","_height","rawXml","currentOrientation","actionLog","title","nodes","xpathQuery","length","Error","firstChild","data","currentGeoLocation","latitude","longitude","orientation","o","width","setDims","height","app","FakeElement","parseInt","nodeAttrs","loadApp","appPath","log","info","fs","readFile","toString","replace","XMLDom","DOMParser","parseFromString","getWebviews","map","n","FakeWebView","activateWebview","wv","fragment","XMLSerializer","serializeToString","node","deactivateWebview","activateFrame","frame","deactivateFrame","sel","ctx","xpath","select","idQuery","id","classQuery","className","cssQuery","css","startsWith","slice","hasAlert","setAlertText","text","hasPrompt","setAttr","showAlert","alertId","alertText","getAttr","handleAlert","getScreenshot","readFileSync"],"sources":["../../lib/fake-app.js"],"sourcesContent":["import {fs} from 'appium/support';\nimport {readFileSync} from 'fs';\nimport path from 'path';\nimport XMLDom from '@xmldom/xmldom';\nimport xpath from 'xpath';\nimport log from './logger';\nimport {FakeElement} from './fake-element';\n\nconst SCREENSHOT = path.join(__dirname, 'screen.png');\n\nclass FakeApp {\n constructor() {\n this.dom = null;\n this.activeDom = null;\n this.activeWebview = null;\n this.activeFrame = null;\n this.activeAlert = null;\n this.lat = 0;\n this.long = 0;\n this._width = null;\n this._height = null;\n this.rawXml = '';\n this.currentOrientation = 'PORTRAIT';\n this.actionLog = [];\n }\n\n get title() {\n let nodes = this.xpathQuery('//title');\n if (nodes.length < 1) {\n throw new Error('No title!');\n }\n return nodes[0].firstChild.data;\n }\n\n get currentGeoLocation() {\n return {\n latitude: this.lat,\n longitude: this.long,\n };\n }\n\n get orientation() {\n return this.currentOrientation;\n }\n\n set orientation(o) {\n this.currentOrientation = o;\n }\n\n get width() {\n if (this._width === null) {\n this.setDims();\n }\n return this._width;\n }\n\n get height() {\n if (this._width === null) {\n this.setDims();\n }\n return this._width;\n }\n\n setDims() {\n const nodes = this.xpathQuery('//app');\n const app = new FakeElement(nodes[0], this);\n this._width = parseInt(app.nodeAttrs.width, 10);\n this._height = parseInt(app.nodeAttrs.height, 10);\n }\n\n async loadApp(appPath) {\n log.info(`Loading Mock app model at ${appPath}`);\n let data = await fs.readFile(appPath);\n log.info('Parsing Mock app XML');\n this.rawXml = data.toString();\n this.rawXml = this.rawXml.replace('<app ', '<AppiumAUT><app ');\n this.rawXml = this.rawXml.replace('<app>', '<AppiumAUT><app>');\n this.rawXml = this.rawXml.replace('</app>', '</app></AppiumAUT>');\n this.dom = new XMLDom.DOMParser().parseFromString(this.rawXml);\n this.activeDom = this.dom;\n }\n\n getWebviews() {\n return this.xpathQuery('//MockWebView/*[1]').map((n) => new FakeWebView(n));\n }\n\n activateWebview(wv) {\n this.activeWebview = wv;\n let fragment = new XMLDom.XMLSerializer().serializeToString(wv.node);\n this.activeDom = new XMLDom.DOMParser().parseFromString(fragment, 'application/xml');\n }\n\n deactivateWebview() {\n this.activeWebview = null;\n this.activeDom = this.dom;\n }\n\n activateFrame(frame) {\n this.activeFrame = frame;\n let fragment = new XMLDom.XMLSerializer().serializeToString(frame);\n this.activeDom = new XMLDom.DOMParser().parseFromString(fragment, 'application/xml');\n }\n\n deactivateFrame() {\n this.activeFrame = null;\n this.activateWebview(this.activeWebview);\n }\n\n xpathQuery(sel, ctx) {\n return xpath.select(sel, ctx || this.activeDom);\n }\n\n idQuery(id, ctx) {\n return this.xpathQuery(`//*[@id=\"${id}\"]`, ctx);\n }\n\n classQuery(className, ctx) {\n return this.xpathQuery(`//${className}`, ctx);\n }\n\n cssQuery(css, ctx) {\n if (css.startsWith('#')) {\n return this.idQuery(css.slice(1), ctx);\n }\n if (css.startsWith('.')) {\n return this.classQuery(css.slice(1), ctx);\n }\n return this.classQuery(css, ctx);\n }\n\n hasAlert() {\n return this.activeAlert !== null;\n }\n\n setAlertText(text) {\n if (!this.activeAlert.hasPrompt()) {\n throw new Error('No prompt to set text of');\n }\n this.activeAlert.setAttr('prompt', text);\n }\n\n showAlert(alertId) {\n let nodes = this.xpathQuery(`//alert[@id=\"${alertId}\"]`);\n if (nodes.length < 1) {\n throw new Error(`Alert ${alertId} doesn't exist!`);\n }\n this.activeAlert = new FakeElement(nodes[0], this);\n }\n\n alertText() {\n return this.activeAlert.getAttr('prompt') || this.activeAlert.nodeAttrs.text;\n }\n\n handleAlert() {\n this.activeAlert = null;\n }\n\n getScreenshot() {\n return readFileSync(SCREENSHOT, 'base64');\n }\n}\n\nclass FakeWebView {\n constructor(node) {\n this.node = node;\n }\n}\n\nexport {FakeApp};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
const type: string;
|
|
3
|
+
const title: string;
|
|
4
|
+
const description: string;
|
|
5
|
+
const properties: {
|
|
6
|
+
'silly-web-server-port': {
|
|
7
|
+
type: string;
|
|
8
|
+
minimum: number;
|
|
9
|
+
maximum: number;
|
|
10
|
+
description: string;
|
|
11
|
+
};
|
|
12
|
+
sillyWebServerHost: {
|
|
13
|
+
type: string;
|
|
14
|
+
description: string;
|
|
15
|
+
default: string;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export default _default;
|
|
20
|
+
//# sourceMappingURL=fake-driver-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake-driver-schema.d.ts","sourceRoot":"","sources":["../../lib/fake-driver-schema.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake-driver-schema.js","names":["type","title","description","properties","minimum","maximum","sillyWebServerHost","default"],"sources":["../../lib/fake-driver-schema.js"],"sourcesContent":["// this could be a .json file, too:\n// {\n// \"$schema\": \"http://json-schema.org/draft-07/schema\",\n// \"$id\": \"https://appium.io/fake-driver.json\",\n// \"type\": \"object\",\n// \"title\": \"Fake Driver Configuration\",\n// \"description\": \"A schema for Fake Driver arguments\",\n// \"properties\": {\n// \"answer\": {\n// \"type\": \"number\",\n// \"description\": \"The answer to life, the universe, and everything\",\n// \"default\": 42\n// }\n// }\n// }\n\nexport default {\n type: 'object',\n title: 'Fake Driver Configuration',\n description: 'A schema for Fake Driver arguments',\n properties: {\n // the prop name will always be normalized to camelCase\n 'silly-web-server-port': {\n type: 'integer',\n minimum: 1,\n maximum: 65535,\n description: 'The port to use for the fake web server',\n },\n sillyWebServerHost: {\n type: 'string',\n description: 'The host to use for the fake web server',\n default: 'sillyhost',\n },\n },\n};\n"],"mappings":";;;;;;;;;eAgBe;EACbA,IAAI,EAAE,QADO;EAEbC,KAAK,EAAE,2BAFM;EAGbC,WAAW,EAAE,oCAHA;EAIbC,UAAU,EAAE;IAEV,yBAAyB;MACvBH,IAAI,EAAE,SADiB;MAEvBI,OAAO,EAAE,CAFc;MAGvBC,OAAO,EAAE,KAHc;MAIvBH,WAAW,EAAE;IAJU,CAFf;IAQVI,kBAAkB,EAAE;MAClBN,IAAI,EAAE,QADY;MAElBE,WAAW,EAAE,yCAFK;MAGlBK,OAAO,EAAE;IAHS;EARV;AAJC,C"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export class FakeElement {
|
|
2
|
+
constructor(xmlNode: any, app: any);
|
|
3
|
+
app: any;
|
|
4
|
+
node: any;
|
|
5
|
+
nodeAttrs: {};
|
|
6
|
+
type: any;
|
|
7
|
+
attrs: {};
|
|
8
|
+
css: {};
|
|
9
|
+
parseCss(): void;
|
|
10
|
+
get tagName(): any;
|
|
11
|
+
setAttr(k: any, v: any): void;
|
|
12
|
+
getAttr(k: any): any;
|
|
13
|
+
isVisible(): boolean;
|
|
14
|
+
isEnabled(): boolean;
|
|
15
|
+
isSelected(): boolean;
|
|
16
|
+
getLocation(): {
|
|
17
|
+
x: number;
|
|
18
|
+
y: number;
|
|
19
|
+
};
|
|
20
|
+
getElementRect(): {
|
|
21
|
+
width: number;
|
|
22
|
+
height: number;
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
};
|
|
26
|
+
getSize(): {
|
|
27
|
+
width: number;
|
|
28
|
+
height: number;
|
|
29
|
+
};
|
|
30
|
+
click(): void;
|
|
31
|
+
equals(other: any): boolean;
|
|
32
|
+
hasPrompt(): boolean;
|
|
33
|
+
getCss(prop: any): any;
|
|
34
|
+
get xmlFragment(): Document;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=fake-element.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake-element.d.ts","sourceRoot":"","sources":["../../lib/fake-element.js"],"names":[],"mappings":"AAGA;IACE,oCAWC;IAVC,SAAc;IACd,UAAmB;IACnB,cAAmB;IACnB,UAA6B;IAC7B,UAAe;IACf,QAAa;IAOf,iBAUC;IAED,mBAEC;IAED,8BAEC;IAED,qBAEC;IAED,qBAEC;IAED,qBAEC;IAED,sBAEC;IAED;;;MAKC;IAED;;;;;MAEC;IAED;;;MAKC;IAED,cAOC;IAED,4BAEC;IAED,qBAEC;IAED,uBAKC;IAED,4BAGC;CACF"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
@@ -13,6 +11,8 @@ var _lodash = _interopRequireDefault(require("lodash"));
|
|
|
13
11
|
|
|
14
12
|
var _xmldom = _interopRequireDefault(require("@xmldom/xmldom"));
|
|
15
13
|
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
16
|
class FakeElement {
|
|
17
17
|
constructor(xmlNode, app) {
|
|
18
18
|
this.app = app;
|
|
@@ -123,4 +123,4 @@ class FakeElement {
|
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
exports.FakeElement = FakeElement;
|
|
126
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
126
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGYWtlRWxlbWVudCIsImNvbnN0cnVjdG9yIiwieG1sTm9kZSIsImFwcCIsIm5vZGUiLCJub2RlQXR0cnMiLCJ0eXBlIiwidGFnTmFtZSIsImF0dHJzIiwiY3NzIiwibmFtZSIsInZhbHVlIiwiXyIsInZhbHVlcyIsImF0dHJpYnV0ZXMiLCJwYXJzZUNzcyIsInN0eWxlIiwic2VnbWVudHMiLCJzcGxpdCIsInMiLCJwcm9wIiwidmFsIiwidHJpbSIsInNldEF0dHIiLCJrIiwidiIsImdldEF0dHIiLCJpc1Zpc2libGUiLCJ2aXNpYmxlIiwiaXNFbmFibGVkIiwiZW5hYmxlZCIsImlzU2VsZWN0ZWQiLCJzZWxlY3RlZCIsImdldExvY2F0aW9uIiwieCIsInBhcnNlRmxvYXQiLCJsZWZ0IiwieSIsInRvcCIsImdldEVsZW1lbnRSZWN0IiwiZ2V0U2l6ZSIsIndpZHRoIiwiaGVpZ2h0IiwiY2xpY2siLCJjdXJDbGlja3MiLCJhbGVydElkIiwic2hvd0FsZXJ0IiwiZXF1YWxzIiwib3RoZXIiLCJoYXNQcm9tcHQiLCJnZXRDc3MiLCJoYXMiLCJ4bWxGcmFnbWVudCIsImZyYWciLCJYTUxEb20iLCJYTUxTZXJpYWxpemVyIiwic2VyaWFsaXplVG9TdHJpbmciLCJET01QYXJzZXIiLCJwYXJzZUZyb21TdHJpbmciXSwic291cmNlcyI6WyIuLi8uLi9saWIvZmFrZS1lbGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgWE1MRG9tIGZyb20gJ0B4bWxkb20veG1sZG9tJztcblxuY2xhc3MgRmFrZUVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcih4bWxOb2RlLCBhcHApIHtcbiAgICB0aGlzLmFwcCA9IGFwcDtcbiAgICB0aGlzLm5vZGUgPSB4bWxOb2RlO1xuICAgIHRoaXMubm9kZUF0dHJzID0ge307XG4gICAgdGhpcy50eXBlID0gdGhpcy5ub2RlLnRhZ05hbWU7XG4gICAgdGhpcy5hdHRycyA9IHt9O1xuICAgIHRoaXMuY3NzID0ge307XG4gICAgZm9yIChsZXQge25hbWUsIHZhbHVlfSBvZiBfLnZhbHVlcyh0aGlzLm5vZGUuYXR0cmlidXRlcykpIHtcbiAgICAgIHRoaXMubm9kZUF0dHJzW25hbWVdID0gdmFsdWU7XG4gICAgfVxuICAgIHRoaXMucGFyc2VDc3MoKTtcbiAgfVxuXG4gIHBhcnNlQ3NzKCkge1xuICAgIGlmICh0aGlzLm5vZGVBdHRycy5zdHlsZSkge1xuICAgICAgbGV0IHNlZ21lbnRzID0gdGhpcy5ub2RlQXR0cnMuc3R5bGUuc3BsaXQoJzsnKTtcbiAgICAgIGZvciAobGV0IHMgb2Ygc2VnbWVudHMpIHtcbiAgICAgICAgbGV0IFtwcm9wLCB2YWxdID0gcy5zcGxpdCgnOicpO1xuICAgICAgICBwcm9wID0gcHJvcC50cmltKCk7XG4gICAgICAgIHZhbCA9IHZhbC50cmltKCk7XG4gICAgICAgIHRoaXMuY3NzW3Byb3BdID0gdmFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCB0YWdOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGUudGFnTmFtZTtcbiAgfVxuXG4gIHNldEF0dHIoaywgdikge1xuICAgIHRoaXMuYXR0cnNba10gPSB2O1xuICB9XG5cbiAgZ2V0QXR0cihrKSB7XG4gICAgcmV0dXJuIHRoaXMuYXR0cnNba10gfHwgJyc7XG4gIH1cblxuICBpc1Zpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZUF0dHJzLnZpc2libGUgIT09ICdmYWxzZSc7XG4gIH1cblxuICBpc0VuYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZUF0dHJzLmVuYWJsZWQgIT09ICdmYWxzZSc7XG4gIH1cblxuICBpc1NlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGVBdHRycy5zZWxlY3RlZCA9PT0gJ3RydWUnO1xuICB9XG5cbiAgZ2V0TG9jYXRpb24oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IHBhcnNlRmxvYXQodGhpcy5ub2RlQXR0cnMubGVmdCB8fCAwKSxcbiAgICAgIHk6IHBhcnNlRmxvYXQodGhpcy5ub2RlQXR0cnMudG9wIHx8IDApLFxuICAgIH07XG4gIH1cblxuICBnZXRFbGVtZW50UmVjdCgpIHtcbiAgICByZXR1cm4gey4uLnRoaXMuZ2V0TG9jYXRpb24oKSwgLi4udGhpcy5nZXRTaXplKCl9O1xuICB9XG5cbiAgZ2V0U2l6ZSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IHBhcnNlRmxvYXQodGhpcy5ub2RlQXR0cnMud2lkdGggfHwgMCksXG4gICAgICBoZWlnaHQ6IHBhcnNlRmxvYXQodGhpcy5ub2RlQXR0cnMuaGVpZ2h0IHx8IDApLFxuICAgIH07XG4gIH1cblxuICBjbGljaygpIHtcbiAgICBsZXQgY3VyQ2xpY2tzID0gdGhpcy5nZXRBdHRyKCdjbGlja3MnKSB8fCAwO1xuICAgIHRoaXMuc2V0QXR0cignY2xpY2tzJywgY3VyQ2xpY2tzICsgMSk7XG4gICAgbGV0IGFsZXJ0SWQgPSB0aGlzLm5vZGVBdHRycy5zaG93QWxlcnQ7XG4gICAgaWYgKGFsZXJ0SWQpIHtcbiAgICAgIHRoaXMuYXBwLnNob3dBbGVydChhbGVydElkKTtcbiAgICB9XG4gIH1cblxuICBlcXVhbHMob3RoZXIpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlID09PSBvdGhlci5ub2RlO1xuICB9XG5cbiAgaGFzUHJvbXB0KCkge1xuICAgIHJldHVybiB0aGlzLm5vZGVBdHRycy5oYXNQcm9tcHQgPT09ICd0cnVlJztcbiAgfVxuXG4gIGdldENzcyhwcm9wKSB7XG4gICAgaWYgKF8uaGFzKHRoaXMuY3NzLCBwcm9wKSkge1xuICAgICAgcmV0dXJuIHRoaXMuY3NzW3Byb3BdO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGdldCB4bWxGcmFnbWVudCgpIHtcbiAgICBsZXQgZnJhZyA9IG5ldyBYTUxEb20uWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKHRoaXMubm9kZSk7XG4gICAgcmV0dXJuIG5ldyBYTUxEb20uRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGZyYWcsICdhcHBsaWNhdGlvbi94bWwnKTtcbiAgfVxufVxuXG5leHBvcnQge0Zha2VFbGVtZW50fTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7QUFFQSxNQUFNQSxXQUFOLENBQWtCO0VBQ2hCQyxXQUFXLENBQUNDLE9BQUQsRUFBVUMsR0FBVixFQUFlO0lBQ3hCLEtBQUtBLEdBQUwsR0FBV0EsR0FBWDtJQUNBLEtBQUtDLElBQUwsR0FBWUYsT0FBWjtJQUNBLEtBQUtHLFNBQUwsR0FBaUIsRUFBakI7SUFDQSxLQUFLQyxJQUFMLEdBQVksS0FBS0YsSUFBTCxDQUFVRyxPQUF0QjtJQUNBLEtBQUtDLEtBQUwsR0FBYSxFQUFiO0lBQ0EsS0FBS0MsR0FBTCxHQUFXLEVBQVg7O0lBQ0EsS0FBSyxJQUFJO01BQUNDLElBQUQ7TUFBT0M7SUFBUCxDQUFULElBQTBCQyxlQUFBLENBQUVDLE1BQUYsQ0FBUyxLQUFLVCxJQUFMLENBQVVVLFVBQW5CLENBQTFCLEVBQTBEO01BQ3hELEtBQUtULFNBQUwsQ0FBZUssSUFBZixJQUF1QkMsS0FBdkI7SUFDRDs7SUFDRCxLQUFLSSxRQUFMO0VBQ0Q7O0VBRURBLFFBQVEsR0FBRztJQUNULElBQUksS0FBS1YsU0FBTCxDQUFlVyxLQUFuQixFQUEwQjtNQUN4QixJQUFJQyxRQUFRLEdBQUcsS0FBS1osU0FBTCxDQUFlVyxLQUFmLENBQXFCRSxLQUFyQixDQUEyQixHQUEzQixDQUFmOztNQUNBLEtBQUssSUFBSUMsQ0FBVCxJQUFjRixRQUFkLEVBQXdCO1FBQ3RCLElBQUksQ0FBQ0csSUFBRCxFQUFPQyxHQUFQLElBQWNGLENBQUMsQ0FBQ0QsS0FBRixDQUFRLEdBQVIsQ0FBbEI7UUFDQUUsSUFBSSxHQUFHQSxJQUFJLENBQUNFLElBQUwsRUFBUDtRQUNBRCxHQUFHLEdBQUdBLEdBQUcsQ0FBQ0MsSUFBSixFQUFOO1FBQ0EsS0FBS2IsR0FBTCxDQUFTVyxJQUFULElBQWlCQyxHQUFqQjtNQUNEO0lBQ0Y7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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake-element.js","names":["FakeElement","constructor","xmlNode","app","node","nodeAttrs","type","tagName","attrs","css","name","value","_","values","attributes","parseCss","style","segments","split","s","prop","val","trim","setAttr","k","v","getAttr","isVisible","visible","isEnabled","enabled","isSelected","selected","getLocation","x","parseFloat","left","y","top","getElementRect","getSize","width","height","click","curClicks","alertId","showAlert","equals","other","hasPrompt","getCss","has","xmlFragment","frag","XMLDom","XMLSerializer","serializeToString","DOMParser","parseFromString"],"sources":["../../lib/fake-element.js"],"sourcesContent":["import _ from 'lodash';\nimport XMLDom from '@xmldom/xmldom';\n\nclass FakeElement {\n constructor(xmlNode, app) {\n this.app = app;\n this.node = xmlNode;\n this.nodeAttrs = {};\n this.type = this.node.tagName;\n this.attrs = {};\n this.css = {};\n for (let {name, value} of _.values(this.node.attributes)) {\n this.nodeAttrs[name] = value;\n }\n this.parseCss();\n }\n\n parseCss() {\n if (this.nodeAttrs.style) {\n let segments = this.nodeAttrs.style.split(';');\n for (let s of segments) {\n let [prop, val] = s.split(':');\n prop = prop.trim();\n val = val.trim();\n this.css[prop] = val;\n }\n }\n }\n\n get tagName() {\n return this.node.tagName;\n }\n\n setAttr(k, v) {\n this.attrs[k] = v;\n }\n\n getAttr(k) {\n return this.attrs[k] || '';\n }\n\n isVisible() {\n return this.nodeAttrs.visible !== 'false';\n }\n\n isEnabled() {\n return this.nodeAttrs.enabled !== 'false';\n }\n\n isSelected() {\n return this.nodeAttrs.selected === 'true';\n }\n\n getLocation() {\n return {\n x: parseFloat(this.nodeAttrs.left || 0),\n y: parseFloat(this.nodeAttrs.top || 0),\n };\n }\n\n getElementRect() {\n return {...this.getLocation(), ...this.getSize()};\n }\n\n getSize() {\n return {\n width: parseFloat(this.nodeAttrs.width || 0),\n height: parseFloat(this.nodeAttrs.height || 0),\n };\n }\n\n click() {\n let curClicks = this.getAttr('clicks') || 0;\n this.setAttr('clicks', curClicks + 1);\n let alertId = this.nodeAttrs.showAlert;\n if (alertId) {\n this.app.showAlert(alertId);\n }\n }\n\n equals(other) {\n return this.node === other.node;\n }\n\n hasPrompt() {\n return this.nodeAttrs.hasPrompt === 'true';\n }\n\n getCss(prop) {\n if (_.has(this.css, prop)) {\n return this.css[prop];\n }\n return null;\n }\n\n get xmlFragment() {\n let frag = new XMLDom.XMLSerializer().serializeToString(this.node);\n return new XMLDom.DOMParser().parseFromString(frag, 'application/xml');\n }\n}\n\nexport {FakeElement};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const FakeDriver: typeof driver.FakeDriver;
|
|
2
|
+
export const startServer: typeof server.startServer;
|
|
3
|
+
export function main(): Promise<import("../../types/build").AppiumServer>;
|
|
4
|
+
import * as driver from "./driver";
|
|
5
|
+
import * as server from "./server";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.js"],"names":[],"mappings":";;AASA,0EAQC"}
|
package/build/lib/index.js
CHANGED
|
@@ -38,4 +38,4 @@ async function main() {
|
|
|
38
38
|
const host = getArgValue('--host') || DEFAULT_HOST;
|
|
39
39
|
return await startServer(port, host);
|
|
40
40
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGYWtlRHJpdmVyIiwiZHJpdmVyIiwic3RhcnRTZXJ2ZXIiLCJzZXJ2ZXIiLCJERUZBVUxUX0hPU1QiLCJERUZBVUxUX1BPUlQiLCJtYWluIiwiZ2V0QXJnVmFsdWUiLCJhcmdOYW1lIiwiYXJnSW5kZXgiLCJwcm9jZXNzIiwiYXJndiIsImluZGV4T2YiLCJwb3J0IiwicGFyc2VJbnQiLCJob3N0Il0sInNvdXJjZXMiOlsiLi4vLi4vbGliL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGRyaXZlciBmcm9tICcuL2RyaXZlcic7XG5pbXBvcnQgKiBhcyBzZXJ2ZXIgZnJvbSAnLi9zZXJ2ZXInO1xuXG5jb25zdCB7RmFrZURyaXZlcn0gPSBkcml2ZXI7XG5jb25zdCB7c3RhcnRTZXJ2ZXJ9ID0gc2VydmVyO1xuXG5jb25zdCBERUZBVUxUX0hPU1QgPSAnbG9jYWxob3N0JztcbmNvbnN0IERFRkFVTFRfUE9SVCA9IDQ3NzQ7XG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGNvbnN0IGdldEFyZ1ZhbHVlID0gKGFyZ05hbWUpID0+IHtcbiAgICBjb25zdCBhcmdJbmRleCA9IHByb2Nlc3MuYXJndi5pbmRleE9mKGFyZ05hbWUpO1xuICAgIHJldHVybiBhcmdJbmRleCA+IDAgPyBwcm9jZXNzLmFyZ3ZbYXJnSW5kZXggKyAxXSA6IG51bGw7XG4gIH07XG4gIGNvbnN0IHBvcnQgPSBwYXJzZUludChnZXRBcmdWYWx1ZSgnLS1wb3J0JyksIDEwKSB8fCBERUZBVUxUX1BPUlQ7XG4gIGNvbnN0IGhvc3QgPSBnZXRBcmdWYWx1ZSgnLS1ob3N0JykgfHwgREVGQVVMVF9IT1NUO1xuICByZXR1cm4gYXdhaXQgc3RhcnRTZXJ2ZXIocG9ydCwgaG9zdCk7XG59XG5cbmV4cG9ydCB7RmFrZURyaXZlciwgc3RhcnRTZXJ2ZXIsIG1haW59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOzs7Ozs7QUFFQSxNQUFNO0VBQUNBO0FBQUQsSUFBZUMsTUFBckI7O0FBQ0EsTUFBTTtFQUFDQztBQUFELElBQWdCQyxNQUF0Qjs7QUFFQSxNQUFNQyxZQUFZLEdBQUcsV0FBckI7QUFDQSxNQUFNQyxZQUFZLEdBQUcsSUFBckI7O0FBRUEsZUFBZUMsSUFBZixHQUFzQjtFQUNwQixNQUFNQyxXQUFXLEdBQUlDLE9BQUQsSUFBYTtJQUMvQixNQUFNQyxRQUFRLEdBQUdDLE9BQU8sQ0FBQ0MsSUFBUixDQUFhQyxPQUFiLENBQXFCSixPQUFyQixDQUFqQjtJQUNBLE9BQU9DLFFBQVEsR0FBRyxDQUFYLEdBQWVDLE9BQU8sQ0FBQ0MsSUFBUixDQUFhRixRQUFRLEdBQUcsQ0FBeEIsQ0FBZixHQUE0QyxJQUFuRDtFQUNELENBSEQ7O0VBSUEsTUFBTUksSUFBSSxHQUFHQyxRQUFRLENBQUNQLFdBQVcsQ0FBQyxRQUFELENBQVosRUFBd0IsRUFBeEIsQ0FBUixJQUF1Q0YsWUFBcEQ7RUFDQSxNQUFNVSxJQUFJLEdBQUdSLFdBQVcsQ0FBQyxRQUFELENBQVgsSUFBeUJILFlBQXRDO0VBQ0EsT0FBTyxNQUFNRixXQUFXLENBQUNXLElBQUQsRUFBT0UsSUFBUCxDQUF4QjtBQUNEIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["FakeDriver","driver","startServer","server","DEFAULT_HOST","DEFAULT_PORT","main","getArgValue","argName","argIndex","process","argv","indexOf","port","parseInt","host"],"sources":["../../lib/index.js"],"sourcesContent":["import * as driver from './driver';\nimport * as server from './server';\n\nconst {FakeDriver} = driver;\nconst {startServer} = server;\n\nconst DEFAULT_HOST = 'localhost';\nconst DEFAULT_PORT = 4774;\n\nasync function main() {\n const getArgValue = (argName) => {\n const argIndex = process.argv.indexOf(argName);\n return argIndex > 0 ? process.argv[argIndex + 1] : null;\n };\n const port = parseInt(getArgValue('--port'), 10) || DEFAULT_PORT;\n const host = getArgValue('--host') || DEFAULT_HOST;\n return await startServer(port, host);\n}\n\nexport {FakeDriver, startServer, main};\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,MAAM;EAACA;AAAD,IAAeC,MAArB;;AACA,MAAM;EAACC;AAAD,IAAgBC,MAAtB;;AAEA,MAAMC,YAAY,GAAG,WAArB;AACA,MAAMC,YAAY,GAAG,IAArB;;AAEA,eAAeC,IAAf,GAAsB;EACpB,MAAMC,WAAW,GAAIC,OAAD,IAAa;IAC/B,MAAMC,QAAQ,GAAGC,OAAO,CAACC,IAAR,CAAaC,OAAb,CAAqBJ,OAArB,CAAjB;IACA,OAAOC,QAAQ,GAAG,CAAX,GAAeC,OAAO,CAACC,IAAR,CAAaF,QAAQ,GAAG,CAAxB,CAAf,GAA4C,IAAnD;EACD,CAHD;;EAIA,MAAMI,IAAI,GAAGC,QAAQ,CAACP,WAAW,CAAC,QAAD,CAAZ,EAAwB,EAAxB,CAAR,IAAuCF,YAApD;EACA,MAAMU,IAAI,GAAGR,WAAW,CAAC,QAAD,CAAX,IAAyBH,YAAtC;EACA,OAAO,MAAMF,WAAW,CAACW,IAAD,EAAOE,IAAP,CAAxB;AACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.js"],"names":[],"mappings":";AAEA,4DAA2C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","names":["log","logger","getLogger"],"sources":["../../lib/logger.js"],"sourcesContent":["import {logger} from 'appium/support';\n\nconst log = logger.getLogger('FakeDriver');\n\nexport default log;\n"],"mappings":";;;;;;;;;AAAA;;AAEA,MAAMA,GAAG,GAAGC,eAAA,CAAOC,SAAP,CAAiB,YAAjB,CAAZ;;eAEeF,G"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=fake-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake-error.d.ts","sourceRoot":"","sources":["../../../lib/scripts/fake-error.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake-error.js","names":["Error"],"sources":["../../../lib/scripts/fake-error.js"],"sourcesContent":["throw Error('Unsuccessfully ran the script');\n"],"mappings":";;;;AAAA,MAAMA,KAAK,CAAC,+BAAD,CAAX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake-success.d.ts","sourceRoot":"","sources":["../../../lib/scripts/fake-success.js"],"names":[],"mappings":""}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
require("source-map-support/register");
|
|
6
4
|
|
|
7
5
|
var _logger = _interopRequireDefault(require("../logger"));
|
|
8
6
|
|
|
7
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
8
|
+
|
|
9
9
|
_logger.default.info('Successfully ran the script');
|
|
10
10
|
|
|
11
11
|
_logger.default.info(process.argv.slice(2).join(' '));
|
|
12
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJpbmZvIiwicHJvY2VzcyIsImFyZ3YiLCJzbGljZSIsImpvaW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc2NyaXB0cy9mYWtlLXN1Y2Nlc3MuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGxvZyBmcm9tICcuLi9sb2dnZXInO1xuXG5sb2cuaW5mbygnU3VjY2Vzc2Z1bGx5IHJhbiB0aGUgc2NyaXB0Jyk7XG5cbmxvZy5pbmZvKHByb2Nlc3MuYXJndi5zbGljZSgyKS5qb2luKCcgJykpO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7Ozs7QUFFQUEsZUFBQSxDQUFJQyxJQUFKLENBQVMsNkJBQVQ7O0FBRUFELGVBQUEsQ0FBSUMsSUFBSixDQUFTQyxPQUFPLENBQUNDLElBQVIsQ0FBYUMsS0FBYixDQUFtQixDQUFuQixFQUFzQkMsSUFBdEIsQ0FBMkIsR0FBM0IsQ0FBVCJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake-success.js","names":["log","info","process","argv","slice","join"],"sources":["../../../lib/scripts/fake-success.js"],"sourcesContent":["import log from '../logger';\n\nlog.info('Successfully ran the script');\n\nlog.info(process.argv.slice(2).join(' '));\n"],"mappings":";;;;AAAA;;;;AAEAA,eAAA,CAAIC,IAAJ,CAAS,6BAAT;;AAEAD,eAAA,CAAIC,IAAJ,CAASC,OAAO,CAACC,IAAR,CAAaC,KAAb,CAAmB,CAAnB,EAAsBC,IAAtB,CAA2B,GAA3B,CAAT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../lib/server.js"],"names":[],"mappings":"AAIA,yGASC"}
|
package/build/lib/server.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
@@ -15,6 +13,8 @@ var _driver = require("appium/driver");
|
|
|
15
13
|
|
|
16
14
|
var _driver2 = require("./driver");
|
|
17
15
|
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
18
|
async function startServer(port, hostname) {
|
|
19
19
|
const d = new _driver2.FakeDriver();
|
|
20
20
|
const server = await (0, _driver.server)({
|
|
@@ -27,4 +27,4 @@ async function startServer(port, hostname) {
|
|
|
27
27
|
|
|
28
28
|
return server;
|
|
29
29
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdGFydFNlcnZlciIsInBvcnQiLCJob3N0bmFtZSIsImQiLCJGYWtlRHJpdmVyIiwic2VydmVyIiwiYmFzZVNlcnZlciIsInJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbiIsImxvZyIsImluZm8iXSwic291cmNlcyI6WyIuLi8uLi9saWIvc2VydmVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHtzZXJ2ZXIgYXMgYmFzZVNlcnZlciwgcm91dGVDb25maWd1cmluZ0Z1bmN0aW9ufSBmcm9tICdhcHBpdW0vZHJpdmVyJztcbmltcG9ydCB7RmFrZURyaXZlcn0gZnJvbSAnLi9kcml2ZXInO1xuXG5hc3luYyBmdW5jdGlvbiBzdGFydFNlcnZlcihwb3J0LCBob3N0bmFtZSkge1xuICBjb25zdCBkID0gbmV3IEZha2VEcml2ZXIoKTtcbiAgY29uc3Qgc2VydmVyID0gYXdhaXQgYmFzZVNlcnZlcih7XG4gICAgcm91dGVDb25maWd1cmluZ0Z1bmN0aW9uOiByb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb24oZCksXG4gICAgcG9ydCxcbiAgICBob3N0bmFtZSxcbiAgfSk7XG4gIGxvZy5pbmZvKGBGYWtlRHJpdmVyIHNlcnZlciBsaXN0ZW5pbmcgb24gaHR0cDovLyR7aG9zdG5hbWV9OiR7cG9ydH1gKTtcbiAgcmV0dXJuIHNlcnZlcjtcbn1cblxuZXhwb3J0IHtzdGFydFNlcnZlcn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOzs7O0FBRUEsZUFBZUEsV0FBZixDQUEyQkMsSUFBM0IsRUFBaUNDLFFBQWpDLEVBQTJDO0VBQ3pDLE1BQU1DLENBQUMsR0FBRyxJQUFJQyxtQkFBSixFQUFWO0VBQ0EsTUFBTUMsTUFBTSxHQUFHLE1BQU0sSUFBQUMsY0FBQSxFQUFXO0lBQzlCQyx3QkFBd0IsRUFBRSxJQUFBQSxnQ0FBQSxFQUF5QkosQ0FBekIsQ0FESTtJQUU5QkYsSUFGOEI7SUFHOUJDO0VBSDhCLENBQVgsQ0FBckI7O0VBS0FNLGVBQUEsQ0FBSUMsSUFBSixDQUFVLHlDQUF3Q1AsUUFBUyxJQUFHRCxJQUFLLEVBQW5FOztFQUNBLE9BQU9JLE1BQVA7QUFDRCJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","names":["startServer","port","hostname","d","FakeDriver","server","baseServer","routeConfiguringFunction","log","info"],"sources":["../../lib/server.js"],"sourcesContent":["import log from './logger';\nimport {server as baseServer, routeConfiguringFunction} from 'appium/driver';\nimport {FakeDriver} from './driver';\n\nasync function startServer(port, hostname) {\n const d = new FakeDriver();\n const server = await baseServer({\n routeConfiguringFunction: routeConfiguringFunction(d),\n port,\n hostname,\n });\n log.info(`FakeDriver server listening on http://${hostname}:${port}`);\n return server;\n}\n\nexport {startServer};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;;;AAEA,eAAeA,WAAf,CAA2BC,IAA3B,EAAiCC,QAAjC,EAA2C;EACzC,MAAMC,CAAC,GAAG,IAAIC,mBAAJ,EAAV;EACA,MAAMC,MAAM,GAAG,MAAM,IAAAC,cAAA,EAAW;IAC9BC,wBAAwB,EAAE,IAAAA,gCAAA,EAAyBJ,CAAzB,CADI;IAE9BF,IAF8B;IAG9BC;EAH8B,CAAX,CAArB;;EAKAM,eAAA,CAAIC,IAAJ,CAAU,yCAAwCP,QAAS,IAAGD,IAAK,EAAnE;;EACA,OAAOI,MAAP;AACD"}
|