testplane 8.20.0-alpha.0 → 8.20.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/README.md +2 -2
- package/build/package.json +23 -15
- package/build/src/base-testplane.js +1 -1
- package/build/src/base-testplane.js.map +1 -1
- package/build/src/browser/browser.d.ts +48 -29
- package/build/src/browser/browser.js +29 -23
- package/build/src/browser/browser.js.map +1 -1
- package/build/src/browser/client-bridge/error.d.ts +3 -0
- package/build/src/browser/client-bridge/error.js +3 -0
- package/build/src/browser/client-bridge/error.js.map +1 -1
- package/build/src/browser/client-scripts/bundle.compat.js +1 -1
- package/build/src/browser/client-scripts/bundle.native.js +1 -1
- package/build/src/browser/client-scripts/index.js +1 -1
- package/build/src/browser/commands/assert-view/errors/assert-view-error.d.ts +3 -0
- package/build/src/browser/commands/assert-view/errors/assert-view-error.js +3 -0
- package/build/src/browser/commands/assert-view/errors/assert-view-error.js.map +1 -1
- package/build/src/browser/commands/assert-view/errors/image-diff-error.d.ts +3 -0
- package/build/src/browser/commands/assert-view/errors/image-diff-error.js +3 -0
- package/build/src/browser/commands/assert-view/errors/image-diff-error.js.map +1 -1
- package/build/src/browser/commands/assert-view/errors/no-ref-image-error.d.ts +3 -0
- package/build/src/browser/commands/assert-view/errors/no-ref-image-error.js +3 -0
- package/build/src/browser/commands/assert-view/errors/no-ref-image-error.js.map +1 -1
- package/build/src/browser/commands/assert-view/index.js +23 -3
- package/build/src/browser/commands/assert-view/index.js.map +1 -1
- package/build/src/browser/commands/getPuppeteer.js +35 -2
- package/build/src/browser/commands/getPuppeteer.js.map +1 -1
- package/build/src/browser/commands/runStep.d.ts +3 -2
- package/build/src/browser/commands/runStep.js +9 -4
- package/build/src/browser/commands/runStep.js.map +1 -1
- package/build/src/browser/commands/types.d.ts +3 -1
- package/build/src/browser/core-error.d.ts +3 -0
- package/build/src/browser/core-error.js +3 -0
- package/build/src/browser/core-error.js.map +1 -1
- package/build/src/browser/existing-browser.d.ts +117 -10
- package/build/src/browser/existing-browser.js +26 -1
- package/build/src/browser/existing-browser.js.map +1 -1
- package/build/src/browser/history/callstack.js +9 -10
- package/build/src/browser/history/callstack.js.map +1 -1
- package/build/src/browser/history/index.js +8 -7
- package/build/src/browser/history/index.js.map +1 -1
- package/build/src/browser/history/utils.d.ts +0 -13
- package/build/src/browser/history/utils.js +2 -14
- package/build/src/browser/history/utils.js.map +1 -1
- package/build/src/browser/new-browser.d.ts +21 -29
- package/build/src/browser/new-browser.js +38 -29
- package/build/src/browser/new-browser.js.map +1 -1
- package/build/src/browser/screen-shooter/viewport/coord-validator/errors/height-viewport-error.d.ts +1 -0
- package/build/src/browser/screen-shooter/viewport/coord-validator/errors/height-viewport-error.js +1 -0
- package/build/src/browser/screen-shooter/viewport/coord-validator/errors/height-viewport-error.js.map +1 -1
- package/build/src/browser/screen-shooter/viewport/coord-validator/errors/offset-viewport-error.d.ts +1 -0
- package/build/src/browser/screen-shooter/viewport/coord-validator/errors/offset-viewport-error.js +1 -0
- package/build/src/browser/screen-shooter/viewport/coord-validator/errors/offset-viewport-error.js.map +1 -1
- package/build/src/browser/stacktrace/constants.d.ts +1 -0
- package/build/src/browser/stacktrace/constants.js +5 -1
- package/build/src/browser/stacktrace/constants.js.map +1 -1
- package/build/src/browser/stacktrace/index.js +3 -1
- package/build/src/browser/stacktrace/index.js.map +1 -1
- package/build/src/browser/stacktrace/utils.d.ts +1 -1
- package/build/src/browser/stacktrace/utils.js +35 -12
- package/build/src/browser/stacktrace/utils.js.map +1 -1
- package/build/src/browser-pool/basic-pool.d.ts +16 -13
- package/build/src/browser-pool/basic-pool.js +21 -15
- package/build/src/browser-pool/basic-pool.js.map +1 -1
- package/build/src/browser-pool/caching-pool.d.ts +22 -20
- package/build/src/browser-pool/caching-pool.js +20 -23
- package/build/src/browser-pool/caching-pool.js.map +1 -1
- package/build/src/browser-pool/cancelled-error.d.ts +3 -0
- package/build/src/browser-pool/cancelled-error.js +3 -0
- package/build/src/browser-pool/cancelled-error.js.map +1 -1
- package/build/src/browser-pool/index.d.ts +2 -2
- package/build/src/browser-pool/index.js +8 -8
- package/build/src/browser-pool/index.js.map +1 -1
- package/build/src/browser-pool/limited-pool.d.ts +24 -29
- package/build/src/browser-pool/limited-pool.js +33 -36
- package/build/src/browser-pool/limited-pool.js.map +1 -1
- package/build/src/browser-pool/limited-use-set.d.ts +21 -12
- package/build/src/browser-pool/limited-use-set.js +12 -17
- package/build/src/browser-pool/limited-use-set.js.map +1 -1
- package/build/src/browser-pool/per-browser-limited-pool.d.ts +10 -9
- package/build/src/browser-pool/per-browser-limited-pool.js +14 -10
- package/build/src/browser-pool/per-browser-limited-pool.js.map +1 -1
- package/build/src/browser-pool/types.d.ts +11 -0
- package/build/src/browser-pool/types.js +3 -0
- package/build/src/browser-pool/types.js.map +1 -0
- package/build/src/browser-pool/utils.d.ts +1 -1
- package/build/src/browser-pool/utils.js +4 -1
- package/build/src/browser-pool/utils.js.map +1 -1
- package/build/src/bundle/index.js +347 -88
- package/build/src/cli/commands/list-tests/index.d.ts +4 -0
- package/build/src/cli/commands/list-tests/index.js +55 -0
- package/build/src/cli/commands/list-tests/index.js.map +1 -0
- package/build/src/cli/constants.d.ts +3 -0
- package/build/src/cli/constants.js +7 -0
- package/build/src/cli/constants.js.map +1 -0
- package/build/src/cli/index.d.ts +4 -1
- package/build/src/cli/index.js +40 -48
- package/build/src/cli/index.js.map +1 -1
- package/build/src/cli/info.d.ts +2 -1
- package/build/src/cli/info.js +4 -1
- package/build/src/cli/info.js.map +1 -1
- package/build/src/config/types.d.ts +20 -4
- package/build/src/errors/abort-on-reconnect-error.d.ts +3 -0
- package/build/src/errors/abort-on-reconnect-error.js +3 -0
- package/build/src/errors/abort-on-reconnect-error.js.map +1 -1
- package/build/src/errors/testplane-internal-error.d.ts +3 -0
- package/build/src/errors/testplane-internal-error.js +3 -0
- package/build/src/errors/testplane-internal-error.js.map +1 -1
- package/build/src/events/index.d.ts +1 -1
- package/build/src/events/index.js.map +1 -1
- package/build/src/index.d.ts +9 -3
- package/build/src/runner/browser-env/vite/browser-modules/mocha/parser.d.ts +0 -1
- package/build/src/runner/browser-env/vite/browser-modules/mocha/parser.js.map +1 -1
- package/build/src/runner/browser-env/vite/browser-modules/tsconfig.tsbuildinfo +1 -1
- package/build/src/runner/browser-env/vite/browser-modules/types.d.ts +1 -2
- package/build/src/runner/runner.d.ts +2 -1
- package/build/src/runner/runner.js.map +1 -1
- package/build/src/test-collection/constants.d.ts +5 -0
- package/build/src/test-collection/constants.js +9 -0
- package/build/src/test-collection/constants.js.map +1 -0
- package/build/src/test-collection/formatters/list.d.ts +2 -0
- package/build/src/test-collection/formatters/list.js +33 -0
- package/build/src/test-collection/formatters/list.js.map +1 -0
- package/build/src/test-collection/formatters/tree.d.ts +2 -0
- package/build/src/test-collection/formatters/tree.js +92 -0
- package/build/src/test-collection/formatters/tree.js.map +1 -0
- package/build/src/{test-collection.d.ts → test-collection/index.d.ts} +34 -2
- package/build/src/{test-collection.js → test-collection/index.js} +34 -2
- package/build/src/test-collection/index.js.map +1 -0
- package/build/src/test-reader/build-instructions.d.ts +27 -30
- package/build/src/test-reader/build-instructions.js +21 -18
- package/build/src/test-reader/build-instructions.js.map +1 -1
- package/build/src/test-reader/index.d.ts +12 -8
- package/build/src/test-reader/index.js +53 -48
- package/build/src/test-reader/index.js.map +1 -1
- package/build/src/test-reader/mocha-reader/index.d.ts +2 -1
- package/build/src/test-reader/mocha-reader/index.js +82 -4
- package/build/src/test-reader/mocha-reader/index.js.map +1 -1
- package/build/src/test-reader/mocha-reader/tree-builder-decorator.js +2 -2
- package/build/src/test-reader/mocha-reader/tree-builder-decorator.js.map +1 -1
- package/build/src/test-reader/mocha-reader/utils.d.ts +4 -0
- package/build/src/test-reader/mocha-reader/utils.js +11 -0
- package/build/src/test-reader/mocha-reader/utils.js.map +1 -1
- package/build/src/test-reader/sets-builder/index.d.ts +14 -10
- package/build/src/test-reader/sets-builder/index.js +110 -91
- package/build/src/test-reader/sets-builder/index.js.map +1 -1
- package/build/src/test-reader/sets-builder/set-collection.d.ts +7 -8
- package/build/src/test-reader/sets-builder/set-collection.js +40 -40
- package/build/src/test-reader/sets-builder/set-collection.js.map +1 -1
- package/build/src/test-reader/sets-builder/test-set.d.ts +19 -14
- package/build/src/test-reader/sets-builder/test-set.js +88 -59
- package/build/src/test-reader/sets-builder/test-set.js.map +1 -1
- package/build/src/test-reader/test-object/configurable-test-object.d.ts +3 -2
- package/build/src/test-reader/test-object/configurable-test-object.js +5 -2
- package/build/src/test-reader/test-object/configurable-test-object.js.map +1 -1
- package/build/src/test-reader/test-object/suite.d.ts +2 -2
- package/build/src/test-reader/test-object/suite.js +2 -2
- package/build/src/test-reader/test-object/suite.js.map +1 -1
- package/build/src/test-reader/test-object/test.d.ts +2 -2
- package/build/src/test-reader/test-object/test.js +3 -2
- package/build/src/test-reader/test-object/test.js.map +1 -1
- package/build/src/test-reader/test-object/types.d.ts +5 -0
- package/build/src/test-reader/test-parser-api.d.ts +1 -1
- package/build/src/test-reader/test-parser.d.ts +23 -15
- package/build/src/test-reader/test-parser.js +57 -58
- package/build/src/test-reader/test-parser.js.map +1 -1
- package/build/src/test-reader/tree-builder.d.ts +13 -9
- package/build/src/test-reader/tree-builder.js +3 -3
- package/build/src/test-reader/tree-builder.js.map +1 -1
- package/build/src/testplane.d.ts +8 -4
- package/build/src/testplane.js +4 -4
- package/build/src/testplane.js.map +1 -1
- package/build/src/types/helpers.d.ts +1 -0
- package/build/src/types/helpers.js +3 -0
- package/build/src/types/helpers.js.map +1 -0
- package/build/src/types/index.d.ts +27 -16
- package/build/src/types/index.js +15 -0
- package/build/src/types/index.js.map +1 -1
- package/build/src/utils/cli.d.ts +15 -0
- package/build/src/utils/cli.js +42 -0
- package/build/src/utils/cli.js.map +1 -0
- package/build/src/utils/processor.js +3 -2
- package/build/src/utils/processor.js.map +1 -1
- package/build/src/utils/typescript.d.ts +1 -1
- package/build/src/utils/typescript.js +13 -8
- package/build/src/utils/typescript.js.map +1 -1
- package/build/src/validators.d.ts +1 -1
- package/build/src/validators.js +14 -8
- package/build/src/validators.js.map +1 -1
- package/build/src/worker/browser-env/runner/test-runner/index.js +2 -2
- package/build/src/worker/browser-env/runner/test-runner/index.js.map +1 -1
- package/build/src/worker/index.d.ts +1 -1
- package/build/src/worker/runner/browser-agent.d.ts +22 -18
- package/build/src/worker/runner/browser-agent.js +6 -3
- package/build/src/worker/runner/browser-agent.js.map +1 -1
- package/build/src/worker/runner/browser-pool.d.ts +1 -2
- package/build/src/worker/runner/caching-test-parser.d.ts +20 -21
- package/build/src/worker/runner/caching-test-parser.js +13 -11
- package/build/src/worker/runner/caching-test-parser.js.map +1 -1
- package/build/src/worker/runner/index.d.ts +1 -1
- package/build/src/worker/runner/index.js +2 -2
- package/build/src/worker/runner/index.js.map +1 -1
- package/build/src/worker/runner/sequence-test-parser.d.ts +14 -13
- package/build/src/worker/runner/sequence-test-parser.js +16 -10
- package/build/src/worker/runner/sequence-test-parser.js.map +1 -1
- package/build/src/worker/runner/simple-test-parser.d.ts +13 -10
- package/build/src/worker/runner/simple-test-parser.js +17 -11
- package/build/src/worker/runner/simple-test-parser.js.map +1 -1
- package/build/src/worker/runner/test-runner/index.js +2 -2
- package/build/src/worker/runner/test-runner/index.js.map +1 -1
- package/build/src/worker/runner/test-runner/types.d.ts +1 -1
- package/build/src/worker/testplane-facade.d.ts +1 -12
- package/build/src/worker/testplane-facade.js +25 -21
- package/build/src/worker/testplane-facade.js.map +1 -1
- package/build/src/worker/testplane.d.ts +2 -1
- package/build/src/worker/testplane.js +3 -3
- package/build/src/worker/testplane.js.map +1 -1
- package/package.json +23 -15
- package/typings/clear-require.d.ts +3 -0
- package/typings/escape-string-regexp.d.ts +3 -0
- package/typings/global.d.ts +10 -7
- package/build/src/browser-pool/pool.d.ts +0 -13
- package/build/src/browser-pool/pool.js +0 -18
- package/build/src/browser-pool/pool.js.map +0 -1
- package/build/src/test-collection.js.map +0 -1
- package/typings/api.d.ts +0 -8
|
@@ -1,32 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import URI from "urijs";
|
|
2
|
+
import { RemoteOptions } from "webdriverio";
|
|
3
|
+
import { Browser, BrowserOpts } from "./browser";
|
|
4
|
+
import { Config } from "../config";
|
|
5
|
+
import { BrowserConfig } from "../config/browser-config";
|
|
6
|
+
export type CapabilityName = "goog:chromeOptions" | "moz:firefoxOptions" | "ms:edgeOptions";
|
|
7
|
+
export type HeadlessBrowserOptions = Record<string, {
|
|
8
|
+
capabilityName: CapabilityName;
|
|
9
|
+
getArgs: (headlessMode: BrowserConfig["headless"]) => string[];
|
|
10
|
+
}>;
|
|
11
|
+
export declare class NewBrowser extends Browser {
|
|
12
|
+
constructor(config: Config, opts: BrowserOpts);
|
|
13
|
+
init(): Promise<NewBrowser>;
|
|
4
14
|
reset(): Promise<void>;
|
|
5
15
|
quit(): Promise<void>;
|
|
6
|
-
_createSession(): Promise<WebdriverIO.Browser>;
|
|
7
|
-
_setPageLoadTimeout(): Promise<void>;
|
|
8
|
-
_getSessionOpts():
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
[k: string]: string;
|
|
15
|
-
};
|
|
16
|
-
capabilities: any;
|
|
17
|
-
automationProtocol: any;
|
|
18
|
-
connectionRetryTimeout: any;
|
|
19
|
-
connectionRetryCount: number;
|
|
20
|
-
baseUrl: any;
|
|
21
|
-
waitforTimeout: any;
|
|
22
|
-
waitforInterval: any;
|
|
23
|
-
};
|
|
24
|
-
_extendCapabilities(config: any): any;
|
|
25
|
-
_addHeadlessCapability(headless: any, capabilities: any): any;
|
|
26
|
-
_extendCapabilitiesByVersion(): any;
|
|
27
|
-
_getGridHost(url: any): string;
|
|
28
|
-
_getQueryParams(query: any): {
|
|
29
|
-
[k: string]: string;
|
|
30
|
-
};
|
|
16
|
+
protected _createSession(): Promise<WebdriverIO.Browser>;
|
|
17
|
+
protected _setPageLoadTimeout(): Promise<void>;
|
|
18
|
+
protected _getSessionOpts(): RemoteOptions;
|
|
19
|
+
protected _extendCapabilities(config: BrowserConfig): WebdriverIO.Capabilities;
|
|
20
|
+
protected _addHeadlessCapability(headless: BrowserConfig["headless"], capabilities: WebdriverIO.Capabilities): WebdriverIO.Capabilities;
|
|
21
|
+
protected _extendCapabilitiesByVersion(): WebdriverIO.Capabilities;
|
|
22
|
+
protected _getGridHost(url: URI): string;
|
|
23
|
+
protected _getQueryParams(query: string): Record<string, string>;
|
|
31
24
|
}
|
|
32
|
-
import Browser = require("./browser");
|
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
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.NewBrowser = void 0;
|
|
7
|
+
const url_1 = require("url");
|
|
8
|
+
const urijs_1 = __importDefault(require("urijs"));
|
|
9
|
+
const lodash_1 = require("lodash");
|
|
10
|
+
const webdriverio_1 = require("webdriverio");
|
|
11
|
+
const browser_1 = require("./browser");
|
|
12
|
+
const signal_handler_1 = __importDefault(require("../signal-handler"));
|
|
13
|
+
const history_1 = require("./history");
|
|
14
|
+
const logger_1 = require("../utils/logger");
|
|
15
|
+
const runtime_config_1 = require("../config/runtime-config");
|
|
16
|
+
const config_1 = require("../constants/config");
|
|
12
17
|
const DEFAULT_PORT = 4444;
|
|
13
18
|
const headlessBrowserOptions = {
|
|
14
19
|
chrome: {
|
|
15
20
|
capabilityName: "goog:chromeOptions",
|
|
16
|
-
getArgs: headlessMode => {
|
|
17
|
-
const headlessValue =
|
|
21
|
+
getArgs: (headlessMode) => {
|
|
22
|
+
const headlessValue = (0, lodash_1.isBoolean)(headlessMode) ? "headless" : `headless=${headlessMode}`;
|
|
18
23
|
return [headlessValue, "disable-gpu"];
|
|
19
24
|
},
|
|
20
25
|
},
|
|
@@ -31,17 +36,17 @@ const headlessBrowserOptions = {
|
|
|
31
36
|
getArgs: () => ["--headless"],
|
|
32
37
|
},
|
|
33
38
|
};
|
|
34
|
-
|
|
39
|
+
class NewBrowser extends browser_1.Browser {
|
|
35
40
|
constructor(config, opts) {
|
|
36
41
|
super(config, opts);
|
|
37
|
-
|
|
42
|
+
signal_handler_1.default.on("exit", () => this.quit());
|
|
38
43
|
}
|
|
39
44
|
async init() {
|
|
40
45
|
this._session = await this._createSession();
|
|
41
46
|
this._extendStacktrace();
|
|
42
47
|
this._addSteps();
|
|
43
48
|
this._addHistory();
|
|
44
|
-
await
|
|
49
|
+
await (0, history_1.runGroup)(this._callstackHistory, "testplane: init browser", async () => {
|
|
45
50
|
this._addCommands();
|
|
46
51
|
this.restoreHttpTimeout();
|
|
47
52
|
await this._setPageLoadTimeout();
|
|
@@ -57,12 +62,12 @@ module.exports = class NewBrowser extends Browser {
|
|
|
57
62
|
await this._session.deleteSession();
|
|
58
63
|
}
|
|
59
64
|
catch (e) {
|
|
60
|
-
|
|
65
|
+
(0, logger_1.warn)(`WARNING: Can not close session: ${e.message}`);
|
|
61
66
|
}
|
|
62
67
|
}
|
|
63
68
|
_createSession() {
|
|
64
69
|
const sessionOpts = this._getSessionOpts();
|
|
65
|
-
return
|
|
70
|
+
return (0, webdriverio_1.remote)(sessionOpts);
|
|
66
71
|
}
|
|
67
72
|
async _setPageLoadTimeout() {
|
|
68
73
|
if (!this._config.pageLoadTimeout) {
|
|
@@ -73,8 +78,9 @@ module.exports = class NewBrowser extends Browser {
|
|
|
73
78
|
}
|
|
74
79
|
catch (e) {
|
|
75
80
|
// edge with w3c does not support setting page load timeout
|
|
76
|
-
if (this._session.isW3C &&
|
|
77
|
-
|
|
81
|
+
if (this._session.isW3C &&
|
|
82
|
+
this._session.capabilities.browserName === "MicrosoftEdge") {
|
|
83
|
+
(0, logger_1.warn)(`WARNING: Can not set page load timeout: ${e.message}`);
|
|
78
84
|
}
|
|
79
85
|
else {
|
|
80
86
|
throw e;
|
|
@@ -83,9 +89,9 @@ module.exports = class NewBrowser extends Browser {
|
|
|
83
89
|
}
|
|
84
90
|
_getSessionOpts() {
|
|
85
91
|
const config = this._config;
|
|
86
|
-
const gridUri = new
|
|
92
|
+
const gridUri = new urijs_1.default(config.gridUrl);
|
|
87
93
|
const capabilities = this._extendCapabilities(config);
|
|
88
|
-
const { devtools } =
|
|
94
|
+
const { devtools } = (0, runtime_config_1.getInstance)();
|
|
89
95
|
const options = {
|
|
90
96
|
protocol: gridUri.protocol(),
|
|
91
97
|
hostname: this._getGridHost(gridUri),
|
|
@@ -93,7 +99,7 @@ module.exports = class NewBrowser extends Browser {
|
|
|
93
99
|
path: gridUri.path(),
|
|
94
100
|
queryParams: this._getQueryParams(gridUri.query()),
|
|
95
101
|
capabilities,
|
|
96
|
-
automationProtocol: devtools ? DEVTOOLS_PROTOCOL : config.automationProtocol,
|
|
102
|
+
automationProtocol: devtools ? config_1.DEVTOOLS_PROTOCOL : config.automationProtocol,
|
|
97
103
|
connectionRetryTimeout: config.sessionRequestTimeout || config.httpTimeout,
|
|
98
104
|
connectionRetryCount: 0, // testplane has its own advanced retries
|
|
99
105
|
baseUrl: config.baseUrl,
|
|
@@ -116,10 +122,12 @@ module.exports = class NewBrowser extends Browser {
|
|
|
116
122
|
}
|
|
117
123
|
const capabilitySettings = headlessBrowserOptions[capabilities.browserName];
|
|
118
124
|
if (!capabilitySettings) {
|
|
119
|
-
|
|
125
|
+
(0, logger_1.warn)(`WARNING: Headless setting is not supported for ${capabilities.browserName} browserName`);
|
|
120
126
|
return capabilities;
|
|
121
127
|
}
|
|
122
|
-
const browserCapabilities = capabilities[capabilitySettings.capabilityName] ??
|
|
128
|
+
const browserCapabilities = (capabilities[capabilitySettings.capabilityName] ??
|
|
129
|
+
{});
|
|
130
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
123
131
|
capabilities[capabilitySettings.capabilityName] = {
|
|
124
132
|
...browserCapabilities,
|
|
125
133
|
args: [...(browserCapabilities.args ?? []), ...capabilitySettings.getArgs(headless)],
|
|
@@ -129,10 +137,10 @@ module.exports = class NewBrowser extends Browser {
|
|
|
129
137
|
_extendCapabilitiesByVersion() {
|
|
130
138
|
const { desiredCapabilities, sessionEnvFlags } = this._config;
|
|
131
139
|
const versionKeyName = desiredCapabilities.browserVersion || sessionEnvFlags.isW3C ? "browserVersion" : "version";
|
|
132
|
-
return
|
|
140
|
+
return (0, lodash_1.assign)({}, desiredCapabilities, { [versionKeyName]: this.version });
|
|
133
141
|
}
|
|
134
142
|
_getGridHost(url) {
|
|
135
|
-
return new
|
|
143
|
+
return new urijs_1.default({
|
|
136
144
|
username: url.username(),
|
|
137
145
|
password: url.password(),
|
|
138
146
|
hostname: url.hostname(),
|
|
@@ -141,11 +149,12 @@ module.exports = class NewBrowser extends Browser {
|
|
|
141
149
|
.slice(2); // URIjs leaves `//` prefix, removing it
|
|
142
150
|
}
|
|
143
151
|
_getQueryParams(query) {
|
|
144
|
-
if (
|
|
152
|
+
if ((0, lodash_1.isEmpty)(query)) {
|
|
145
153
|
return {};
|
|
146
154
|
}
|
|
147
|
-
const urlParams = new URLSearchParams(query);
|
|
155
|
+
const urlParams = new url_1.URLSearchParams(query);
|
|
148
156
|
return Object.fromEntries(urlParams);
|
|
149
157
|
}
|
|
150
|
-
}
|
|
158
|
+
}
|
|
159
|
+
exports.NewBrowser = NewBrowser;
|
|
151
160
|
//# sourceMappingURL=new-browser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-browser.js","sourceRoot":"","sources":["../../../src/browser/new-browser.
|
|
1
|
+
{"version":3,"file":"new-browser.js","sourceRoot":"","sources":["../../../src/browser/new-browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"height-viewport-error.js","sourceRoot":"","sources":["../../../../../../../src/browser/screen-shooter/viewport/coord-validator/errors/height-viewport-error.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"height-viewport-error.js","sourceRoot":"","sources":["../../../../../../../src/browser/screen-shooter/viewport/coord-validator/errors/height-viewport-error.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,mBAAoB,SAAQ,KAAK;IAC1C,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACtC,CAAC;CACJ;AAND,kDAMC"}
|
package/build/src/browser/screen-shooter/viewport/coord-validator/errors/offset-viewport-error.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.OffsetViewportError = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Position of an element is outside of a viewport left, top or right bounds
|
|
6
|
+
* @category Errors
|
|
6
7
|
*/
|
|
7
8
|
class OffsetViewportError extends Error {
|
|
8
9
|
constructor(message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offset-viewport-error.js","sourceRoot":"","sources":["../../../../../../../src/browser/screen-shooter/viewport/coord-validator/errors/offset-viewport-error.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"offset-viewport-error.js","sourceRoot":"","sources":["../../../../../../../src/browser/screen-shooter/viewport/coord-validator/errors/offset-viewport-error.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,mBAAoB,SAAQ,KAAK;IAC1C,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACtC,CAAC;CACJ;AAND,kDAMC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WDIO_IGNORED_STACK_FUNCTIONS = exports.WDIO_STACK_TRACE_LIMIT = void 0;
|
|
3
|
+
exports.STACK_FRAME_REG_EXP = exports.WDIO_IGNORED_STACK_FUNCTIONS = exports.WDIO_STACK_TRACE_LIMIT = void 0;
|
|
4
4
|
exports.WDIO_STACK_TRACE_LIMIT = 64;
|
|
5
5
|
exports.WDIO_IGNORED_STACK_FUNCTIONS = [
|
|
6
6
|
"Browser.wrapCommandFn",
|
|
@@ -9,4 +9,8 @@ exports.WDIO_IGNORED_STACK_FUNCTIONS = [
|
|
|
9
9
|
"Element.newCommand",
|
|
10
10
|
"Element.elementErrorHandlerCallbackFn",
|
|
11
11
|
];
|
|
12
|
+
// Other frames are being filtered out by error-stack-parser
|
|
13
|
+
// Declared at https://github.com/stacktracejs/error-stack-parser/blob/v2.1.4/error-stack-parser.js#L17
|
|
14
|
+
// Used at https://github.com/stacktracejs/error-stack-parser/blob/v2.1.4/error-stack-parser.js#L52-L54
|
|
15
|
+
exports.STACK_FRAME_REG_EXP = /^\s*at .*(\S+:\d+|\(native\))/m;
|
|
12
16
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/browser/stacktrace/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAC5B,QAAA,4BAA4B,GAAG;IACxC,uBAAuB;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,oBAAoB;IACpB,uCAAuC;CAC1C,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/browser/stacktrace/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAC5B,QAAA,4BAA4B,GAAG;IACxC,uBAAuB;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,oBAAoB;IACpB,uCAAuC;CAC1C,CAAC;AACF,4DAA4D;AAC5D,uGAAuG;AACvG,uGAAuG;AAC1F,QAAA,mBAAmB,GAAG,gCAAgC,CAAC"}
|
|
@@ -28,7 +28,9 @@ const overwriteAddCommand = (session, stackFrames) => session.overwriteCommand("
|
|
|
28
28
|
}
|
|
29
29
|
return origCommand.call(this, name, decoratedWrapper, elementScope);
|
|
30
30
|
});
|
|
31
|
-
const overwriteOverwriteCommand = (session, stackFrames) => session.overwriteCommand("overwriteCommand",
|
|
31
|
+
const overwriteOverwriteCommand = (session, stackFrames) => session.overwriteCommand("overwriteCommand",
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
33
|
+
function (origCommand, name, wrapper, elementScope) {
|
|
32
34
|
function decoratedWrapper(origFn, ...args) {
|
|
33
35
|
return (0, exports.runWithStacktraceHooks)({
|
|
34
36
|
stackFrames,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser/stacktrace/index.ts"],"names":[],"mappings":";;;AAAA,mCAA6F;AAC7F,kDAA6E;AAC7E,4CAAgD;AAIzC,MAAM,sBAAsB,GAAG,CAAC,EACnC,WAAW,EACX,EAAE,EACF,eAAe,GAKlB,EAAyB,EAAE;IACxB,MAAM,MAAM,GAAG,IAAA,6BAAqB,EAAC,eAAe,IAAI,8BAAsB,CAAC,CAAC;IAEhF,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,EAAE,CAAC;IAChB,CAAC;IAED,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;IAEjC,OAAO,IAAA,oBAAY,EAAC;QAChB,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;QAC5C,EAAE;QACF,KAAK,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;QACnC,KAAK,EAAE,CAAC,GAAU,EAAE,EAAE,CAAC,IAAA,+BAAuB,EAAC,GAAG,EAAE,MAAM,CAAC;KAC9D,CAAC,CAAC;AACP,CAAC,CAAC;AAvBW,QAAA,sBAAsB,0BAuBjC;AAEF,MAAM,mBAAmB,GAAG,CAAC,OAA4B,EAAE,WAA+B,EAAQ,EAAE,CAChG,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,UAAgB,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY;IAE3F,SAAS,gBAAgB,CAAmB,GAAG,IAAe;QAC1D,OAAO,IAAA,8BAAsB,EAAC;YAC1B,WAAW;YACX,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;YACnC,eAAe,EAAE,gBAAgB;SACpC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;AACxE,CAAC,CAAC,CAAC;AAEP,MAAM,yBAAyB,GAAG,CAAC,OAA4B,EAAE,WAA+B,EAAQ,EAAE,CACtG,OAAO,CAAC,gBAAgB,CACpB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser/stacktrace/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ export declare const FRAME_RELEVANCE: Record<string, {
|
|
|
19
19
|
}>;
|
|
20
20
|
export declare const getFrameRelevance: (frame: StackFrame) => number;
|
|
21
21
|
export declare const applyStackTraceIfBetter: (error: Error, stack: RawStackFrames) => Error;
|
|
22
|
-
export declare const
|
|
22
|
+
export declare const filterExtraStackFrames: (error: Error) => Error;
|
|
23
23
|
export declare class ShallowStackFrames {
|
|
24
24
|
private _framesMap;
|
|
25
25
|
private _key;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ShallowStackFrames = exports.
|
|
6
|
+
exports.ShallowStackFrames = exports.filterExtraStackFrames = exports.applyStackTraceIfBetter = exports.getFrameRelevance = exports.FRAME_RELEVANCE = exports.captureRawStackFrames = exports.getErrorTitle = void 0;
|
|
7
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
8
8
|
const error_stack_parser_1 = __importDefault(require("error-stack-parser"));
|
|
9
9
|
const logger_1 = __importDefault(require("../../utils/logger"));
|
|
@@ -39,7 +39,11 @@ const getErrorRawStackFrames = (e) => {
|
|
|
39
39
|
}
|
|
40
40
|
const errorMessageStackIndex = e.stack.indexOf(e.message);
|
|
41
41
|
const errorMessageEndsStackIndex = e.stack.indexOf("\n", errorMessageStackIndex + e.message.length);
|
|
42
|
-
|
|
42
|
+
if (errorMessageStackIndex !== -1) {
|
|
43
|
+
return e.stack.slice(errorMessageEndsStackIndex + 1);
|
|
44
|
+
}
|
|
45
|
+
const stackTraceRegExpResult = constants_1.STACK_FRAME_REG_EXP.exec(e.stack);
|
|
46
|
+
return stackTraceRegExpResult ? e.stack.slice(stackTraceRegExpResult.index) : "";
|
|
43
47
|
};
|
|
44
48
|
const captureRawStackFrames = (filterFunc) => {
|
|
45
49
|
const savedStackTraceLimit = Error.stackTraceLimit;
|
|
@@ -118,28 +122,47 @@ const applyStackTraceIfBetter = (error, stack) => {
|
|
|
118
122
|
return error;
|
|
119
123
|
};
|
|
120
124
|
exports.applyStackTraceIfBetter = applyStackTraceIfBetter;
|
|
121
|
-
const
|
|
125
|
+
const filterExtraStackFrames = (error) => {
|
|
122
126
|
if (!error || !error.message || !error.stack) {
|
|
123
127
|
return error;
|
|
124
128
|
}
|
|
125
129
|
try {
|
|
126
130
|
const rawFrames = getErrorRawStackFrames(error);
|
|
127
|
-
const rawFramesArr = rawFrames.split("\n");
|
|
131
|
+
const rawFramesArr = rawFrames.split("\n").filter(frame => constants_1.STACK_FRAME_REG_EXP.test(frame));
|
|
128
132
|
const framesParsed = error_stack_parser_1.default.parse(error);
|
|
129
133
|
if (rawFramesArr.length !== framesParsed.length) {
|
|
130
134
|
return error;
|
|
131
135
|
}
|
|
132
|
-
|
|
133
|
-
|
|
136
|
+
// If we found something more relevant (e.g. user's code), we can remove useless testplane internal frames
|
|
137
|
+
// If we haven't, we keep testplane internal frames
|
|
138
|
+
const shouldDropTestplaneInternalFrames = getStackTraceRelevance(error) > exports.FRAME_RELEVANCE.projectInternals.value;
|
|
139
|
+
const isIgnoredWebdriverioFrame = (frame) => {
|
|
140
|
+
const isWebdriverioFrame = frame.fileName && frame.fileName.includes("/node_modules/webdriverio/");
|
|
141
|
+
const fnName = frame.functionName;
|
|
142
|
+
if (!isWebdriverioFrame || !fnName) {
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
return constants_1.WDIO_IGNORED_STACK_FUNCTIONS.some(fn => fn === fnName || "async " + fn === fnName);
|
|
146
|
+
};
|
|
147
|
+
const isWdioUtilsFrame = (frame) => {
|
|
148
|
+
return Boolean(frame.fileName && frame.fileName.includes("/node_modules/@wdio/utils/"));
|
|
134
149
|
};
|
|
135
|
-
const
|
|
136
|
-
const
|
|
137
|
-
|
|
150
|
+
const isTestplaneExtraInternalFrame = (frame) => {
|
|
151
|
+
const testplaneExtraInternalFramePaths = [
|
|
152
|
+
"/node_modules/testplane/src/browser/history/",
|
|
153
|
+
"/node_modules/testplane/src/browser/stacktrace/",
|
|
154
|
+
];
|
|
155
|
+
return Boolean(frame.fileName && testplaneExtraInternalFramePaths.some(path => frame.fileName?.includes(path)));
|
|
156
|
+
};
|
|
157
|
+
const shouldIncludeFrame = (frame) => {
|
|
158
|
+
if (isIgnoredWebdriverioFrame(frame) || isWdioUtilsFrame(frame)) {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
if (shouldDropTestplaneInternalFrames && isTestplaneExtraInternalFrame(frame)) {
|
|
138
162
|
return false;
|
|
139
163
|
}
|
|
140
|
-
return
|
|
164
|
+
return true;
|
|
141
165
|
};
|
|
142
|
-
const shouldIncludeFrame = (frame) => !isWdioFrame(frame) || !isIgnoredFunction(frame);
|
|
143
166
|
const framesFiltered = rawFramesArr.filter((_, i) => shouldIncludeFrame(framesParsed[i])).join("\n");
|
|
144
167
|
return applyStackTrace(error, framesFiltered);
|
|
145
168
|
}
|
|
@@ -148,7 +171,7 @@ const filterExtraWdioFrames = (error) => {
|
|
|
148
171
|
return error;
|
|
149
172
|
}
|
|
150
173
|
};
|
|
151
|
-
exports.
|
|
174
|
+
exports.filterExtraStackFrames = filterExtraStackFrames;
|
|
152
175
|
class ShallowStackFrames {
|
|
153
176
|
constructor() {
|
|
154
177
|
this._framesMap = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/browser/stacktrace/utils.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,4EAAkD;AAElD,gEAAwC;AACxC,uCAAmD;AACnD,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/browser/stacktrace/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import debug from "debug";
|
|
2
|
+
import { NewBrowser } from "../browser/new-browser";
|
|
3
|
+
import { AsyncEmitter } from "../events";
|
|
4
|
+
import { BrowserOpts, Pool } from "./types";
|
|
5
|
+
import { Config } from "../config";
|
|
6
|
+
export declare class BasicPool implements Pool {
|
|
7
|
+
private _config;
|
|
8
|
+
private _emitter;
|
|
9
|
+
private _activeSessions;
|
|
10
|
+
private _cancelled;
|
|
7
11
|
log: debug.Debugger;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
static create(config: Config, emitter: AsyncEmitter): BasicPool;
|
|
13
|
+
constructor(config: Config, emitter: AsyncEmitter);
|
|
14
|
+
getBrowser(id: string, opts?: BrowserOpts): Promise<NewBrowser>;
|
|
15
|
+
freeBrowser(browser: NewBrowser): Promise<void>;
|
|
16
|
+
private _emit;
|
|
17
|
+
cancel(): void;
|
|
13
18
|
}
|
|
14
|
-
import Pool = require("./pool");
|
|
15
|
-
import debug = require("debug");
|
|
@@ -1,29 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
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.BasicPool = void 0;
|
|
7
|
+
const debug_1 = __importDefault(require("debug"));
|
|
8
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
9
|
+
const new_browser_1 = require("../browser/new-browser");
|
|
10
|
+
const cancelled_error_1 = require("./cancelled-error");
|
|
11
|
+
const events_1 = require("../events");
|
|
12
|
+
class BasicPool {
|
|
9
13
|
static create(config, emitter) {
|
|
10
14
|
return new BasicPool(config, emitter);
|
|
11
15
|
}
|
|
12
16
|
constructor(config, emitter) {
|
|
13
|
-
super();
|
|
14
17
|
this._config = config;
|
|
15
18
|
this._emitter = emitter;
|
|
16
|
-
this.log =
|
|
19
|
+
this.log = (0, debug_1.default)("testplane:pool:basic");
|
|
17
20
|
this._activeSessions = {};
|
|
21
|
+
this._cancelled = false;
|
|
18
22
|
}
|
|
19
23
|
async getBrowser(id, opts = {}) {
|
|
20
|
-
const browser =
|
|
24
|
+
const browser = new_browser_1.NewBrowser.create(this._config, { ...opts, id });
|
|
21
25
|
try {
|
|
22
26
|
await browser.init();
|
|
23
27
|
this.log(`browser ${browser.fullId} started`);
|
|
24
|
-
await this._emit(MasterEvents.SESSION_START, browser);
|
|
28
|
+
await this._emit(events_1.MasterEvents.SESSION_START, browser);
|
|
25
29
|
if (this._cancelled) {
|
|
26
|
-
throw new CancelledError();
|
|
30
|
+
throw new cancelled_error_1.CancelledError();
|
|
27
31
|
}
|
|
28
32
|
await browser.reset();
|
|
29
33
|
this._activeSessions[browser.sessionId] = browser;
|
|
@@ -40,7 +44,8 @@ module.exports = class BasicPool extends Pool {
|
|
|
40
44
|
delete this._activeSessions[browser.sessionId];
|
|
41
45
|
this.log(`stop browser ${browser.fullId}`);
|
|
42
46
|
try {
|
|
43
|
-
await this._emit(MasterEvents.SESSION_END, browser);
|
|
47
|
+
await this._emit(events_1.MasterEvents.SESSION_END, browser);
|
|
48
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
44
49
|
}
|
|
45
50
|
catch (err) {
|
|
46
51
|
console.warn((err && err.stack) || err);
|
|
@@ -55,8 +60,9 @@ module.exports = class BasicPool extends Pool {
|
|
|
55
60
|
}
|
|
56
61
|
cancel() {
|
|
57
62
|
this._cancelled = true;
|
|
58
|
-
|
|
63
|
+
lodash_1.default.forEach(this._activeSessions, browser => browser.quit());
|
|
59
64
|
this._activeSessions = {};
|
|
60
65
|
}
|
|
61
|
-
}
|
|
66
|
+
}
|
|
67
|
+
exports.BasicPool = BasicPool;
|
|
62
68
|
//# sourceMappingURL=basic-pool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-pool.js","sourceRoot":"","sources":["../../../src/browser-pool/basic-pool.
|
|
1
|
+
{"version":3,"file":"basic-pool.js","sourceRoot":"","sources":["../../../src/browser-pool/basic-pool.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,oDAAuB;AAEvB,wDAAoD;AACpD,uDAAmD;AACnD,sCAAuD;AAKvD,MAAa,SAAS;IAOlB,MAAM,CAAC,MAAM,CAAC,MAAc,EAAE,OAAqB;QAC/C,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,YAAY,MAAc,EAAE,OAAqB;QAC7C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,IAAA,eAAK,EAAC,sBAAsB,CAAC,CAAC;QAEzC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,OAAoB,EAAE;QAC/C,MAAM,OAAO,GAAG,wBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAEjE,IAAI,CAAC;YACD,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;YAE9C,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAEtD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM,IAAI,gCAAc,EAAE,CAAC;YAC/B,CAAC;YAED,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YAEtB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;YAClD,OAAO,OAAO,CAAC;QACnB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAmB;QACjC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE/C,IAAI,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3C,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACpD,8DAA8D;QAClE,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,KAAa,EAAE,OAAgB;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE;YACvD,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAE3D,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC9B,CAAC;CACJ;AA3ED,8BA2EC"}
|