testcafe 2.3.1 → 2.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +150 -0
- package/LICENSE +1 -1
- package/README.md +40 -46
- package/bin/testcafe-with-v8-flag-filter.js +10 -16
- package/lib/api/exportable-lib/index.js +1 -11
- package/lib/api/structure/test.js +4 -11
- package/lib/api/test-controller/execution-context.js +4 -2
- package/lib/api/test-controller/index.js +8 -10
- package/lib/api/test-run-tracker.js +1 -1
- package/lib/assertions/executor.js +2 -11
- package/lib/browser/connection/gateway/index.js +272 -0
- package/lib/browser/connection/gateway/status.js +10 -0
- package/lib/browser/connection/index.js +60 -47
- package/lib/browser/connection/service-routes.js +4 -2
- package/lib/browser/provider/built-in/dedicated/chrome/cdp-client/index.js +3 -2
- package/lib/browser/provider/built-in/dedicated/chrome/index.js +48 -23
- package/lib/browser/provider/built-in/dedicated/edge/index.js +4 -1
- package/lib/browser/provider/index.js +13 -4
- package/lib/browser/provider/plugin-host.js +7 -1
- package/lib/cli/argument-parser/index.js +10 -16
- package/lib/cli/cli.js +4 -13
- package/lib/cli/remotes-wizard.js +2 -1
- package/lib/cli/utils/should-move-option-to-end.js +17 -0
- package/lib/client/automation/deps/hammerhead.js +24 -0
- package/lib/client/automation/deps/testcafe-core.js +24 -0
- package/lib/client/automation/index.js +567 -187
- package/lib/client/automation/index.min.js +1 -1
- package/lib/client/automation/playback/press/get-key-info.js +44 -0
- package/lib/client/automation/playback/press/utils.js +142 -0
- package/lib/client/automation/utils/get-key-code.js +15 -0
- package/lib/client/automation/utils/get-key-identifier.js +14 -0
- package/lib/client/automation/utils/is-letter.js +7 -0
- package/lib/client/automation/utils/key-identifier-maps.js +93 -0
- package/lib/client/browser/idle-page/index.html.mustache +2 -2
- package/lib/client/browser/idle-page/index.js +24 -11
- package/lib/client/core/index.js +67 -13
- package/lib/client/core/index.min.js +1 -1
- package/lib/client/core/utils/array.js +77 -0
- package/lib/client/core/utils/dom.js +459 -0
- package/lib/client/core/utils/send-request-to-frame.js +22 -0
- package/lib/client/core/utils/style.js +102 -0
- package/lib/client/core/utils/values/boundary-values.js +41 -0
- package/lib/client/driver/index.js +270 -242
- package/lib/client/driver/index.min.js +1 -1
- package/lib/client/test-run/iframe.js.mustache +6 -6
- package/lib/client/test-run/index.js.mustache +37 -33
- package/lib/client/ui/index.js +3238 -54
- package/lib/client/ui/index.min.js +1 -1
- package/lib/client/ui/sprite.svg +15 -0
- package/lib/client/ui/styles.css +184 -41
- package/lib/compiler/babel/load-libs.js +6 -6
- package/lib/compiler/compilers.js +7 -7
- package/lib/compiler/index.js +6 -6
- package/lib/compiler/interfaces.js +1 -1
- package/lib/compiler/test-file/add-export-api.js +3 -3
- package/lib/compiler/test-file/api-based.js +8 -37
- package/lib/compiler/test-file/formats/es-next/compiler.js +5 -5
- package/lib/compiler/test-file/formats/typescript/compiler.js +9 -9
- package/lib/compiler/test-file/get-exportable-lib-path.js +3 -3
- package/lib/configuration/configuration-base.js +9 -6
- package/lib/configuration/default-values.js +3 -3
- package/lib/configuration/formats.js +9 -5
- package/lib/configuration/interfaces.js +1 -1
- package/lib/configuration/option-names.js +3 -4
- package/lib/configuration/run-option-names.js +2 -2
- package/lib/configuration/testcafe-configuration.js +41 -24
- package/lib/configuration/types.js +1 -1
- package/lib/configuration/utils.js +32 -0
- package/lib/custom-client-scripts/client-script.js +2 -2
- package/lib/custom-client-scripts/get-code.js +3 -3
- package/lib/custom-client-scripts/routing.js +10 -12
- package/lib/errors/runtime/templates.js +3 -2
- package/lib/errors/test-run/templates.js +4 -1
- package/lib/errors/types.js +3 -1
- package/lib/index.js +6 -31
- package/lib/live/bootstrapper.js +3 -3
- package/lib/live/test-runner.js +9 -7
- package/lib/native-automation/add-custom-debug-formatters.js +23 -0
- package/lib/native-automation/api-base.js +27 -0
- package/lib/native-automation/client/event-descriptor.js +118 -0
- package/lib/native-automation/client/input.js +46 -0
- package/lib/native-automation/client/key-press/utils.js +31 -0
- package/lib/native-automation/client/types.js +11 -0
- package/lib/native-automation/client/utils.js +54 -0
- package/lib/native-automation/cookie-provider.js +115 -0
- package/lib/native-automation/empty-page-markup.js +11 -0
- package/lib/native-automation/error-route.js +7 -0
- package/lib/native-automation/errors.js +20 -0
- package/lib/native-automation/index.js +53 -0
- package/lib/native-automation/request-hooks/event-factory/frame-navigated-event-based.js +40 -0
- package/lib/native-automation/request-hooks/event-factory/request-paused-event-based.js +94 -0
- package/lib/native-automation/request-hooks/event-provider.js +55 -0
- package/lib/native-automation/request-hooks/pipeline-context.js +11 -0
- package/lib/{proxyless → native-automation}/request-pipeline/constants.js +1 -1
- package/lib/native-automation/request-pipeline/context-info.js +58 -0
- package/lib/native-automation/request-pipeline/index.js +329 -0
- package/lib/native-automation/request-pipeline/resendAuthRequest.js +23 -0
- package/lib/native-automation/request-pipeline/safe-api.js +66 -0
- package/lib/native-automation/request-pipeline/special-handlers.js +76 -0
- package/lib/native-automation/request-pipeline/test-run-bridge.js +45 -0
- package/lib/native-automation/resource-injector.js +175 -0
- package/lib/native-automation/session-storage/index.js +43 -0
- package/lib/native-automation/storages-provider.js +17 -0
- package/lib/native-automation/types.js +12 -0
- package/lib/native-automation/utils/cdp.js +71 -0
- package/lib/native-automation/utils/convert.js +11 -0
- package/lib/native-automation/utils/get-active-client.js +8 -0
- package/lib/native-automation/utils/headers.js +30 -0
- package/lib/native-automation/utils/string.js +32 -0
- package/lib/reporter/index.js +52 -4
- package/lib/reporter/interfaces.js +1 -1
- package/lib/reporter/plugin-host.js +44 -4
- package/lib/reporter/plugin-methods.js +2 -1
- package/lib/reporter/report-data-log.js +25 -0
- package/lib/role/role.js +4 -39
- package/lib/runner/bootstrapper.js +40 -15
- package/lib/runner/browser-job.js +4 -5
- package/lib/runner/fixture-hook-controller.js +1 -7
- package/lib/runner/index.js +87 -94
- package/lib/runner/interfaces.js +1 -1
- package/lib/runner/task/index.js +2 -32
- package/lib/runner/test-run-controller.js +46 -4
- package/lib/shared/errors/index.js +8 -2
- package/lib/shared/utils/is-file-protocol.js +2 -2
- package/lib/test-run/bookmark.js +5 -23
- package/lib/test-run/commands/actions.js +16 -4
- package/lib/test-run/commands/service.js +2 -3
- package/lib/test-run/commands/type.js +2 -1
- package/lib/test-run/commands/utils.js +4 -2
- package/lib/test-run/cookies/base.js +4 -1
- package/lib/test-run/cookies/factory.js +4 -4
- package/lib/test-run/cookies/provider.js +9 -2
- package/lib/test-run/execute-js-expression/index.js +4 -2
- package/lib/test-run/index.js +35 -151
- package/lib/test-run/request/create-request-options.js +37 -24
- package/lib/test-run/request/send.js +2 -3
- package/lib/test-run/role-provider.js +5 -5
- package/lib/test-run/session-controller.js +5 -5
- package/lib/test-run/storages/factory.js +4 -4
- package/lib/testcafe.js +17 -18
- package/lib/utils/check-is-vm.js +58 -0
- package/lib/utils/debug-loggers.js +9 -7
- package/lib/utils/get-browser.js +5 -2
- package/lib/utils/get-options/boolean-or-object-option.js +18 -0
- package/lib/utils/get-options/quarantine.js +10 -13
- package/lib/utils/get-options/skip-js-errors.js +12 -16
- package/lib/utils/parse-user-agent.js +20 -13
- package/lib/utils/string.js +1 -1
- package/package.json +14 -11
- package/ts-defs/index.d.ts +12 -2
- package/ts-defs/selectors.d.ts +8 -1
- package/ts-defs/testcafe-scripts.d.ts +8 -1
- package/lib/browser/connection/gateway.js +0 -205
- package/lib/compiler/test-file/test-file-temp-variable-name.js +0 -6
- package/lib/dashboard/config-storage.js +0 -26
- package/lib/dashboard/connector.js +0 -84
- package/lib/dashboard/documentation-url.js +0 -6
- package/lib/dashboard/formatting.js +0 -26
- package/lib/dashboard/get-dashboard-url.js +0 -10
- package/lib/dashboard/get-default-project-link.js +0 -23
- package/lib/dashboard/get-env-options.js +0 -26
- package/lib/dashboard/index.js +0 -145
- package/lib/dashboard/interfaces.js +0 -3
- package/lib/dashboard/messages.js +0 -21
- package/lib/proxyless/add-custom-debug-formatters.js +0 -22
- package/lib/proxyless/api-base.js +0 -25
- package/lib/proxyless/client/event-simulator.js +0 -40
- package/lib/proxyless/client/types.js +0 -11
- package/lib/proxyless/client/utils.js +0 -24
- package/lib/proxyless/cookie-provider.js +0 -87
- package/lib/proxyless/default-setup-options.js +0 -9
- package/lib/proxyless/empty-page-markup.js +0 -11
- package/lib/proxyless/error-route.js +0 -7
- package/lib/proxyless/index.js +0 -53
- package/lib/proxyless/request-hooks/event-factory/frame-navigated-event-based.js +0 -40
- package/lib/proxyless/request-hooks/event-factory/request-paused-event-based.js +0 -95
- package/lib/proxyless/request-hooks/event-provider.js +0 -52
- package/lib/proxyless/request-hooks/pipeline-context.js +0 -11
- package/lib/proxyless/request-pipeline/context-info.js +0 -55
- package/lib/proxyless/request-pipeline/index.js +0 -230
- package/lib/proxyless/request-pipeline/resendAuthRequest.js +0 -23
- package/lib/proxyless/request-pipeline/safe-api.js +0 -62
- package/lib/proxyless/request-pipeline/special-handlers.js +0 -73
- package/lib/proxyless/request-pipeline/test-run-bridge.js +0 -45
- package/lib/proxyless/resource-injector.js +0 -162
- package/lib/proxyless/session-storage/index.js +0 -39
- package/lib/proxyless/storages-provider.js +0 -17
- package/lib/proxyless/types.js +0 -10
- package/lib/proxyless/utils/cdp.js +0 -66
- package/lib/proxyless/utils/get-active-client.js +0 -8
- package/lib/proxyless/utils/headers.js +0 -30
- package/lib/proxyless/utils/string.js +0 -32
- package/lib/services/compiler/esm-runtime-holder-name.js +0 -6
- package/lib/services/compiler/host.js +0 -370
- package/lib/services/compiler/interfaces.js +0 -3
- package/lib/services/compiler/io.js +0 -10
- package/lib/services/compiler/protocol.js +0 -17
- package/lib/services/compiler/service-loader.js +0 -18
- package/lib/services/compiler/service.js +0 -361
- package/lib/services/compiler/test-run-proxy.js +0 -156
- package/lib/services/interfaces.js +0 -3
- package/lib/services/process-title.js +0 -10
- package/lib/services/serialization/prepare-options.js +0 -23
- package/lib/services/serialization/replicator/create-replicator.js +0 -58
- package/lib/services/serialization/replicator/interfaces.js +0 -3
- package/lib/services/serialization/replicator/transforms/base-transform.js +0 -16
- package/lib/services/serialization/replicator/transforms/browser-console-messages-transform.js +0 -23
- package/lib/services/serialization/replicator/transforms/callsite-record-transform.js +0 -24
- package/lib/services/serialization/replicator/transforms/command-base-trasform/assertion-command-constructors.js +0 -28
- package/lib/services/serialization/replicator/transforms/command-base-trasform/command-constructors.js +0 -66
- package/lib/services/serialization/replicator/transforms/command-base-trasform/index.js +0 -49
- package/lib/services/serialization/replicator/transforms/command-base-trasform/types.js +0 -3
- package/lib/services/serialization/replicator/transforms/configure-response-event-option-transform.js +0 -21
- package/lib/services/serialization/replicator/transforms/custom-error-transform.js +0 -29
- package/lib/services/serialization/replicator/transforms/function-marker-transform/index.js +0 -21
- package/lib/services/serialization/replicator/transforms/function-marker-transform/marker.js +0 -9
- package/lib/services/serialization/replicator/transforms/promise-marker-transform/index.js +0 -21
- package/lib/services/serialization/replicator/transforms/promise-marker-transform/marker.js +0 -9
- package/lib/services/serialization/replicator/transforms/raw-command-callsite-record-transform.js +0 -22
- package/lib/services/serialization/replicator/transforms/re-executable-promise-transform/index.js +0 -22
- package/lib/services/serialization/replicator/transforms/re-executable-promise-transform/marker.js +0 -6
- package/lib/services/serialization/replicator/transforms/request-filter-rule-transform.js +0 -23
- package/lib/services/serialization/replicator/transforms/request-hook-event-data-transform.js +0 -41
- package/lib/services/serialization/replicator/transforms/response-mock-transform.js +0 -23
- package/lib/services/serialization/replicator/transforms/role-transform.js +0 -21
- package/lib/services/serialization/replicator/transforms/testcafe-error-list-transform.js +0 -23
- package/lib/services/serialization/replicator/transforms/url-transform.js +0 -23
- package/lib/services/serialization/test-structure.js +0 -91
- package/lib/services/utils/ipc/interfaces.js +0 -29
- package/lib/services/utils/ipc/io.js +0 -109
- package/lib/services/utils/ipc/message.js +0 -84
- package/lib/services/utils/ipc/packet.js +0 -57
- package/lib/services/utils/ipc/proxy.js +0 -94
- package/lib/services/utils/ipc/transport.js +0 -65
- package/lib/services/utils/method-should-not-be-called-error.js +0 -10
|
@@ -3,13 +3,15 @@ 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.requestPipelineOtherRequestLogger = exports.requestPipelineServiceRequestLogger = exports.requestPipelineInternalRequestLogger = exports.requestPipelineMockLogger = exports.requestHooksEventProviderLogger = exports.chromeBrowserProviderLogger = exports.resourceInjectorLogger = exports.requestPipelineLogger = exports.
|
|
6
|
+
exports.requestPipelineContextLogger = exports.requestPipelineOtherRequestLogger = exports.requestPipelineServiceRequestLogger = exports.requestPipelineInternalRequestLogger = exports.requestPipelineMockLogger = exports.requestHooksEventProviderLogger = exports.chromeBrowserProviderLogger = exports.resourceInjectorLogger = exports.requestPipelineLogger = exports.nativeAutomationLogger = void 0;
|
|
7
7
|
const debug_1 = __importDefault(require("debug"));
|
|
8
8
|
const testcafeLogger = (0, debug_1.default)('testcafe');
|
|
9
|
-
const
|
|
10
|
-
exports.
|
|
11
|
-
const requestPipelineLogger =
|
|
9
|
+
const nativeAutomationLogger = testcafeLogger.extend('native-automation');
|
|
10
|
+
exports.nativeAutomationLogger = nativeAutomationLogger;
|
|
11
|
+
const requestPipelineLogger = nativeAutomationLogger.extend('request-pipeline');
|
|
12
12
|
exports.requestPipelineLogger = requestPipelineLogger;
|
|
13
|
+
const requestPipelineContextLogger = requestPipelineLogger.extend('context');
|
|
14
|
+
exports.requestPipelineContextLogger = requestPipelineContextLogger;
|
|
13
15
|
const requestPipelineMockLogger = requestPipelineLogger.extend('mock');
|
|
14
16
|
exports.requestPipelineMockLogger = requestPipelineMockLogger;
|
|
15
17
|
const requestPipelineInternalRequestLogger = requestPipelineLogger.extend('internal-request');
|
|
@@ -18,13 +20,13 @@ const requestPipelineServiceRequestLogger = requestPipelineLogger.extend('servic
|
|
|
18
20
|
exports.requestPipelineServiceRequestLogger = requestPipelineServiceRequestLogger;
|
|
19
21
|
const requestPipelineOtherRequestLogger = requestPipelineLogger.extend('other-request');
|
|
20
22
|
exports.requestPipelineOtherRequestLogger = requestPipelineOtherRequestLogger;
|
|
21
|
-
const resourceInjectorLogger =
|
|
23
|
+
const resourceInjectorLogger = nativeAutomationLogger.extend('resource-injector');
|
|
22
24
|
exports.resourceInjectorLogger = resourceInjectorLogger;
|
|
23
|
-
const requestHooksLogger =
|
|
25
|
+
const requestHooksLogger = nativeAutomationLogger.extend('request-hooks');
|
|
24
26
|
const requestHooksEventProviderLogger = requestHooksLogger.extend('event-provider');
|
|
25
27
|
exports.requestHooksEventProviderLogger = requestHooksEventProviderLogger;
|
|
26
28
|
const browserLogger = testcafeLogger.extend('browser');
|
|
27
29
|
const browserProviderLogger = browserLogger.extend('provider');
|
|
28
30
|
const chromeBrowserProviderLogger = browserProviderLogger.extend('chrome');
|
|
29
31
|
exports.chromeBrowserProviderLogger = chromeBrowserProviderLogger;
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWctbG9nZ2Vycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9kZWJ1Zy1sb2dnZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQUEwQjtBQUUxQixNQUFNLGNBQWMsR0FBRyxJQUFBLGVBQUssRUFBQyxVQUFVLENBQUMsQ0FBQztBQUV6QyxNQUFNLHNCQUFzQixHQUFpQixjQUFjLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFnQnBGLHdEQUFzQjtBQWYxQixNQUFNLHFCQUFxQixHQUFrQixzQkFBc0IsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQWdCM0Ysc0RBQXFCO0FBZnpCLE1BQU0sNEJBQTRCLEdBQVcscUJBQXFCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBdUJqRixvRUFBNEI7QUF0QmhDLE1BQU0seUJBQXlCLEdBQWMscUJBQXFCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBa0I5RSw4REFBeUI7QUFqQjdCLE1BQU0sb0NBQW9DLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFrQjFGLG9GQUFvQztBQWpCeEMsTUFBTSxtQ0FBbUMsR0FBSSxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQWtCekYsa0ZBQW1DO0FBakJ2QyxNQUFNLGlDQUFpQyxHQUFNLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQWtCdkYsOEVBQWlDO0FBakJyQyxNQUFNLHNCQUFzQixHQUFpQixzQkFBc0IsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQVc1Rix3REFBc0I7QUFWMUIsTUFBTSxrQkFBa0IsR0FBcUIsc0JBQXNCLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzVGLE1BQU0sK0JBQStCLEdBQVEsa0JBQWtCLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFXckYsMEVBQStCO0FBVG5DLE1BQU0sYUFBYSxHQUFpQixjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3JFLE1BQU0scUJBQXFCLEdBQVMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNyRSxNQUFNLDJCQUEyQixHQUFHLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQU12RSxrRUFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5jb25zdCB0ZXN0Y2FmZUxvZ2dlciA9IGRlYnVnKCd0ZXN0Y2FmZScpO1xuXG5jb25zdCBuYXRpdmVBdXRvbWF0aW9uTG9nZ2VyICAgICAgICAgICAgICAgPSB0ZXN0Y2FmZUxvZ2dlci5leHRlbmQoJ25hdGl2ZS1hdXRvbWF0aW9uJyk7XG5jb25zdCByZXF1ZXN0UGlwZWxpbmVMb2dnZXIgICAgICAgICAgICAgICAgPSBuYXRpdmVBdXRvbWF0aW9uTG9nZ2VyLmV4dGVuZCgncmVxdWVzdC1waXBlbGluZScpO1xuY29uc3QgcmVxdWVzdFBpcGVsaW5lQ29udGV4dExvZ2dlciAgICAgICAgID0gcmVxdWVzdFBpcGVsaW5lTG9nZ2VyLmV4dGVuZCgnY29udGV4dCcpO1xuY29uc3QgcmVxdWVzdFBpcGVsaW5lTW9ja0xvZ2dlciAgICAgICAgICAgID0gcmVxdWVzdFBpcGVsaW5lTG9nZ2VyLmV4dGVuZCgnbW9jaycpO1xuY29uc3QgcmVxdWVzdFBpcGVsaW5lSW50ZXJuYWxSZXF1ZXN0TG9nZ2VyID0gcmVxdWVzdFBpcGVsaW5lTG9nZ2VyLmV4dGVuZCgnaW50ZXJuYWwtcmVxdWVzdCcpO1xuY29uc3QgcmVxdWVzdFBpcGVsaW5lU2VydmljZVJlcXVlc3RMb2dnZXIgID0gcmVxdWVzdFBpcGVsaW5lTG9nZ2VyLmV4dGVuZCgnc2VydmljZS1yZXF1ZXN0Jyk7XG5jb25zdCByZXF1ZXN0UGlwZWxpbmVPdGhlclJlcXVlc3RMb2dnZXIgICAgPSByZXF1ZXN0UGlwZWxpbmVMb2dnZXIuZXh0ZW5kKCdvdGhlci1yZXF1ZXN0Jyk7XG5jb25zdCByZXNvdXJjZUluamVjdG9yTG9nZ2VyICAgICAgICAgICAgICAgPSBuYXRpdmVBdXRvbWF0aW9uTG9nZ2VyLmV4dGVuZCgncmVzb3VyY2UtaW5qZWN0b3InKTtcbmNvbnN0IHJlcXVlc3RIb29rc0xvZ2dlciAgICAgICAgICAgICAgICAgICA9IG5hdGl2ZUF1dG9tYXRpb25Mb2dnZXIuZXh0ZW5kKCdyZXF1ZXN0LWhvb2tzJyk7XG5jb25zdCByZXF1ZXN0SG9va3NFdmVudFByb3ZpZGVyTG9nZ2VyICAgICAgPSByZXF1ZXN0SG9va3NMb2dnZXIuZXh0ZW5kKCdldmVudC1wcm92aWRlcicpO1xuXG5jb25zdCBicm93c2VyTG9nZ2VyICAgICAgICAgICAgICAgPSB0ZXN0Y2FmZUxvZ2dlci5leHRlbmQoJ2Jyb3dzZXInKTtcbmNvbnN0IGJyb3dzZXJQcm92aWRlckxvZ2dlciAgICAgICA9IGJyb3dzZXJMb2dnZXIuZXh0ZW5kKCdwcm92aWRlcicpO1xuY29uc3QgY2hyb21lQnJvd3NlclByb3ZpZGVyTG9nZ2VyID0gYnJvd3NlclByb3ZpZGVyTG9nZ2VyLmV4dGVuZCgnY2hyb21lJyk7XG5cbmV4cG9ydCB7XG4gICAgbmF0aXZlQXV0b21hdGlvbkxvZ2dlcixcbiAgICByZXF1ZXN0UGlwZWxpbmVMb2dnZXIsXG4gICAgcmVzb3VyY2VJbmplY3RvckxvZ2dlcixcbiAgICBjaHJvbWVCcm93c2VyUHJvdmlkZXJMb2dnZXIsXG4gICAgcmVxdWVzdEhvb2tzRXZlbnRQcm92aWRlckxvZ2dlcixcbiAgICByZXF1ZXN0UGlwZWxpbmVNb2NrTG9nZ2VyLFxuICAgIHJlcXVlc3RQaXBlbGluZUludGVybmFsUmVxdWVzdExvZ2dlcixcbiAgICByZXF1ZXN0UGlwZWxpbmVTZXJ2aWNlUmVxdWVzdExvZ2dlcixcbiAgICByZXF1ZXN0UGlwZWxpbmVPdGhlclJlcXVlc3RMb2dnZXIsXG4gICAgcmVxdWVzdFBpcGVsaW5lQ29udGV4dExvZ2dlcixcbn07XG4iXX0=
|
package/lib/utils/get-browser.js
CHANGED
|
@@ -3,8 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const lodash_1 = require("lodash");
|
|
4
4
|
function getBrowser(browserConnection) {
|
|
5
5
|
const { browserInfo: { parsedUserAgent, alias } } = browserConnection;
|
|
6
|
-
return (0, lodash_1.assign)({}, parsedUserAgent, {
|
|
6
|
+
return (0, lodash_1.assign)({}, parsedUserAgent, {
|
|
7
|
+
alias,
|
|
8
|
+
headless: browserConnection.isHeadlessBrowser(),
|
|
9
|
+
});
|
|
7
10
|
}
|
|
8
11
|
exports.default = getBrowser;
|
|
9
12
|
module.exports = exports.default;
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZ2V0LWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBZ0M7QUFTaEMsU0FBd0IsVUFBVSxDQUFFLGlCQUFvQztJQUNwRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxFQUFFLEdBQUcsaUJBQWlCLENBQUM7SUFFdEUsT0FBTyxJQUFBLGVBQU0sRUFBQyxFQUFFLEVBQUUsZUFBZSxFQUFFO1FBQy9CLEtBQUs7UUFDTCxRQUFRLEVBQUUsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUU7S0FDbEQsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQVBELDZCQU9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzaWduIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFBhcnNlZFVzZXJBZ2VudCB9IGZyb20gJy4vcGFyc2UtdXNlci1hZ2VudCc7XG5pbXBvcnQgQnJvd3NlckNvbm5lY3Rpb24gZnJvbSAnLi4vYnJvd3Nlci9jb25uZWN0aW9uJztcblxuaW50ZXJmYWNlIEJyb3dzZXIgZXh0ZW5kcyBQYXJzZWRVc2VyQWdlbnQge1xuICAgIGFsaWFzOiBzdHJpbmc7XG4gICAgaGVhZGxlc3M6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldEJyb3dzZXIgKGJyb3dzZXJDb25uZWN0aW9uOiBCcm93c2VyQ29ubmVjdGlvbik6IEJyb3dzZXIge1xuICAgIGNvbnN0IHsgYnJvd3NlckluZm86IHsgcGFyc2VkVXNlckFnZW50LCBhbGlhcyB9IH0gPSBicm93c2VyQ29ubmVjdGlvbjtcblxuICAgIHJldHVybiBhc3NpZ24oe30sIHBhcnNlZFVzZXJBZ2VudCwge1xuICAgICAgICBhbGlhcyxcbiAgICAgICAgaGVhZGxlc3M6IGJyb3dzZXJDb25uZWN0aW9uLmlzSGVhZGxlc3NCcm93c2VyKCksXG4gICAgfSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
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.getBooleanOrObjectOption = void 0;
|
|
7
|
+
const base_1 = __importDefault(require("./base"));
|
|
8
|
+
const convert_to_best_fit_type_1 = __importDefault(require("../convert-to-best-fit-type"));
|
|
9
|
+
async function getBooleanOrObjectOption(optionName, options, optionsConfig, validator) {
|
|
10
|
+
options = (0, convert_to_best_fit_type_1.default)(options);
|
|
11
|
+
if (typeof options === 'boolean')
|
|
12
|
+
return options;
|
|
13
|
+
const parsedOptions = await (0, base_1.default)(options, optionsConfig);
|
|
14
|
+
await validator(parsedOptions);
|
|
15
|
+
return parsedOptions;
|
|
16
|
+
}
|
|
17
|
+
exports.getBooleanOrObjectOption = getBooleanOrObjectOption;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1vci1vYmplY3Qtb3B0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2dldC1vcHRpb25zL2Jvb2xlYW4tb3Itb2JqZWN0LW9wdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBb0M7QUFDcEMsMkZBQStEO0FBTXhELEtBQUssVUFBVSx3QkFBd0IsQ0FBSyxVQUFrQixFQUFFLE9BQTJDLEVBQUUsYUFBcUMsRUFBRSxTQUFnQztJQUN2TCxPQUFPLEdBQUcsSUFBQSxrQ0FBb0IsRUFBQyxPQUFPLENBQUMsQ0FBQztJQUV4QyxJQUFJLE9BQU8sT0FBTyxLQUFLLFNBQVM7UUFDNUIsT0FBTyxPQUFPLENBQUM7SUFFbkIsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFBLGNBQWMsRUFBQyxPQUFpQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRTdFLE1BQU0sU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRS9CLE9BQU8sYUFBYSxDQUFDO0FBQ3pCLENBQUM7QUFYRCw0REFXQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBiYXNlR2V0T3B0aW9ucyBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IGNvbnZlcnRUb0Jlc3RGaXRUeXBlIGZyb20gJy4uL2NvbnZlcnQtdG8tYmVzdC1maXQtdHlwZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5LCBHZXRPcHRpb25Db25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbi9pbnRlcmZhY2VzJztcblxudHlwZSBCb29sZWFuT3JPYmplY3RPcHRpb248VD4gPSBib29sZWFuIHwgRGljdGlvbmFyeTxUPlxudHlwZSBWYWxpZGF0aW9uRnVuY3Rpb248VD4gPSAob3B0czogRGljdGlvbmFyeTxUPikgPT4gdm9pZCB8IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCb29sZWFuT3JPYmplY3RPcHRpb248VD4gKG9wdGlvbk5hbWU6IHN0cmluZywgb3B0aW9uczogYm9vbGVhbiB8IHN0cmluZyB8IERpY3Rpb25hcnk8YW55Piwgb3B0aW9uc0NvbmZpZzogR2V0T3B0aW9uQ29uZmlndXJhdGlvbiwgdmFsaWRhdG9yOiBWYWxpZGF0aW9uRnVuY3Rpb248VD4pOiBQcm9taXNlPEJvb2xlYW5Pck9iamVjdE9wdGlvbjxUPj4ge1xuICAgIG9wdGlvbnMgPSBjb252ZXJ0VG9CZXN0Rml0VHlwZShvcHRpb25zKTtcblxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ2Jvb2xlYW4nKVxuICAgICAgICByZXR1cm4gb3B0aW9ucztcblxuICAgIGNvbnN0IHBhcnNlZE9wdGlvbnMgPSBhd2FpdCBiYXNlR2V0T3B0aW9ucyhvcHRpb25zIGFzIHN0cmluZywgb3B0aW9uc0NvbmZpZyk7XG5cbiAgICBhd2FpdCB2YWxpZGF0b3IocGFyc2VkT3B0aW9ucyk7XG5cbiAgICByZXR1cm4gcGFyc2VkT3B0aW9ucztcbn1cbiJdfQ==
|
|
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Quarantine = exports.getQuarantineOptions = exports.validateQuarantineOptions = void 0;
|
|
7
|
-
const base_1 = __importDefault(require("./base"));
|
|
8
7
|
const quarantine_option_names_1 = __importDefault(require("../../configuration/quarantine-option-names"));
|
|
9
8
|
const types_1 = require("../../errors/types");
|
|
10
9
|
const runtime_1 = require("../../errors/runtime");
|
|
10
|
+
const boolean_or_object_option_1 = require("./boolean-or-object-option");
|
|
11
11
|
const DEFAULT_ATTEMPT_LIMIT = 5;
|
|
12
12
|
const DEFAULT_THRESHOLD = 3;
|
|
13
13
|
const MIN_ATTEMPT_LIMIT = 2;
|
|
@@ -31,18 +31,15 @@ function validateQuarantineOptions(options) {
|
|
|
31
31
|
}
|
|
32
32
|
exports.validateQuarantineOptions = validateQuarantineOptions;
|
|
33
33
|
async function getQuarantineOptions(optionName, options) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
const onOptionParsed = async (key, value) => {
|
|
35
|
+
if (!key || !value)
|
|
36
|
+
throw new runtime_1.GeneralError(types_1.RUNTIME_ERRORS.optionValueIsNotValidKeyValue, optionName);
|
|
37
|
+
return Number(value);
|
|
38
|
+
};
|
|
39
|
+
return await (0, boolean_or_object_option_1.getBooleanOrObjectOption)(optionName, options, {
|
|
40
|
+
onOptionParsed,
|
|
37
41
|
skipOptionValueTypeConversion: true,
|
|
38
|
-
|
|
39
|
-
if (!key || !value)
|
|
40
|
-
throw new runtime_1.GeneralError(types_1.RUNTIME_ERRORS.optionValueIsNotValidKeyValue, optionName);
|
|
41
|
-
return Number(value);
|
|
42
|
-
},
|
|
43
|
-
});
|
|
44
|
-
validateQuarantineOptions(parsedOptions);
|
|
45
|
-
return parsedOptions;
|
|
42
|
+
}, validateQuarantineOptions);
|
|
46
43
|
}
|
|
47
44
|
exports.getQuarantineOptions = getQuarantineOptions;
|
|
48
45
|
class Quarantine {
|
|
@@ -98,4 +95,4 @@ class Quarantine {
|
|
|
98
95
|
}
|
|
99
96
|
}
|
|
100
97
|
exports.Quarantine = Quarantine;
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhcmFudGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9nZXQtb3B0aW9ucy9xdWFyYW50aW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQUFvQztBQUNwQywwR0FBa0Y7QUFDbEYsOENBQW9EO0FBQ3BELGtEQUFvRDtBQUlwRCxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQztBQUNoQyxNQUFNLGlCQUFpQixHQUFPLENBQUMsQ0FBQztBQUNoQyxNQUFNLGlCQUFpQixHQUFPLENBQUMsQ0FBQztBQUNoQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQztBQUVoQyxTQUFTLG1CQUFtQixDQUFFLE1BQWM7SUFDeEMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLGlDQUF1QixDQUFDLENBQUMsUUFBUSxDQUFDLE1BQWlDLENBQUMsQ0FBQztBQUM5RixDQUFDO0FBRUQsU0FBZ0IseUJBQXlCLENBQUUsT0FBb0M7SUFDM0UsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUU7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQztZQUN6QixNQUFNLElBQUksc0JBQVksQ0FBQyxzQkFBYyxDQUFDLHVCQUF1QixFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQzNFO0lBRUQsTUFBTSxZQUFZLEdBQU8sT0FBTyxPQUFPLENBQUMsWUFBWSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUM7SUFDakgsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLE9BQU8sQ0FBQyxnQkFBZ0IsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7SUFFckgsSUFBSSxZQUFZLEdBQUcsaUJBQWlCO1FBQ2hDLE1BQU0sSUFBSSxzQkFBWSxDQUFDLHNCQUFjLENBQUMsd0JB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QixHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFFckUsT0FBTyx1QkFBdUIsSUFBSSx1QkFBdUIsQ0FBQztJQUM5RCxDQUFDO0lBRU0sd0JBQXdCLENBQUUsV0FBNkM7UUFDMUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFMUUsT0FBTyxXQUFXLEtBQUssQ0FBQyxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVPLGtCQUFrQixDQUFFLFdBQThDO1FBQ3RFLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNsRCxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFFbEQsSUFBSSxXQUFXLEVBQUU7WUFDYixJQUFJLFdBQVcsQ0FBQyxNQUFNO2dCQUNsQixXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQzs7Z0JBRWxDLFdBQVcsSUFBSSxDQUFDLENBQUM7U0FDeEI7UUFFRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTyxtQkFBbUI7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztJQUMxRSxDQUFDO0NBQ0o7QUFuRUQsZ0NBbUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGJhc2VHZXRPcHRpb25zIGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgUVVBUkFOVElORV9PUFRJT05fTkFNRVMgZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbi9xdWFyYW50aW5lLW9wdGlvbi1uYW1lcyc7XG5pbXBvcnQgeyBSVU5USU1FX0VSUk9SUyB9IGZyb20gJy4uLy4uL2Vycm9ycy90eXBlcyc7XG5pbXBvcnQgeyBHZW5lcmFsRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvcnVudGltZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbi9pbnRlcmZhY2VzJztcbmltcG9ydCBUZXN0UnVuRXJyb3JGb3JtYXR0YWJsZUFkYXB0ZXIgZnJvbSAnLi4vLi4vZXJyb3JzL3Rlc3QtcnVuL2Zvcm1hdHRhYmxlLWFkYXB0ZXInO1xuXG5jb25zdCBERUZBVUxUX0FUVEVNUFRfTElNSVQgPSA1O1xuY29uc3QgREVGQVVMVF9USFJFU0hPTEQgICAgID0gMztcbmNvbnN0IE1JTl9BVFRFTVBUX0xJTUlUICAgICA9IDI7XG5jb25zdCBNSU5fU1VDQ0VTU19USFJFU0hPTEQgPSAxO1xuXG5mdW5jdGlvbiBfaXNRdWFyYW50aW5lT3B0aW9uIChvcHRpb246IHN0cmluZyk6IG9wdGlvbiBpcyBRVUFSQU5USU5FX09QVElPTl9OQU1FUyB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoUVVBUkFOVElORV9PUFRJT05fTkFNRVMpLmluY2x1ZGVzKG9wdGlvbiBhcyBRVUFSQU5USU5FX09QVElPTl9OQU1FUyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVF1YXJhbnRpbmVPcHRpb25zIChvcHRpb25zOiBEaWN0aW9uYXJ5PHN0cmluZyB8IG51bWJlcj4pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvcHRpb25zKSB7XG4gICAgICAgIGlmICghX2lzUXVhcmFudGluZU9wdGlvbihrZXkpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEdlbmVyYWxFcnJvcihSVU5USU1FX0VSUk9SUy5pbnZhbGlkUXVhcmFudGluZU9wdGlvbiwga2V5KTtcbiAgICB9XG5cbiAgICBjb25zdCBhdHRlbXB0TGltaXQgICAgID0gdHlwZW9mIG9wdGlvbnMuYXR0ZW1wdExpbWl0ID09PSAnbnVtYmVyJyA/IG9wdGlvbnMuYXR0ZW1wdExpbWl0IDogREVGQVVMVF9BVFRFTVBUX0xJTUlUO1xuICAgIGNvbnN0IHN1Y2Nlc3NUaHJlc2hvbGQgPSB0eXBlb2Ygb3B0aW9ucy5zdWNjZXNzVGhyZXNob2xkID09PSAnbnVtYmVyJyA/IG9wdGlvbnMuc3VjY2Vzc1RocmVzaG9sZCA6IERFRkFVTFRfVEhSRVNIT0xEO1xuXG4gICAgaWYgKGF0dGVtcHRMaW1pdCA8IE1JTl9BVFRFTVBUX0xJTUlUKVxuICAgICAgICB0aHJvdyBuZXcgR2VuZXJhbEVycm9yKFJVTlRJTUVfRVJST1JTLmludmFsaWRBdHRlbXB0TGltaXRWYWx1ZSwgUVVBUkFOVElORV9PUFRJT05fTkFNRVMuYXR0ZW1wdExpbWl0LCBNSU5fQVRURU1QVF9MSU1JVCk7XG5cbiAgICBpZiAoc3VjY2Vzc1RocmVzaG9sZCA8IE1JTl9TVUNDRVNTX1RIUkVTSE9MRClcbiAgICAgICAgdGhyb3cgbmV3IEdlbmVyYWxFcnJvcihSVU5USU1FX0VSUk9SUy5pbnZhbGlkU3VjY2Vzc1RocmVzaG9sZFZhbHVlLCBRVUFSQU5USU5FX09QVElPTl9OQU1FUy5zdWNjZXNzVGhyZXNob2xkLCBNSU5fU1VDQ0VTU19USFJFU0hPTEQpO1xuXG4gICAgaWYgKHN1Y2Nlc3NUaHJlc2hvbGQgPj0gYXR0ZW1wdExpbWl0KVxuICAgICAgICB0aHJvdyBuZXcgR2VuZXJhbEVycm9yKFJVTlRJTUVfRVJST1JTLmludmFsaWRRdWFyYW50aW5lUGFyYW1ldGVyc1JhdGlvLCBhdHRlbXB0TGltaXQsIHN1Y2Nlc3NUaHJlc2hvbGQpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UXVhcmFudGluZU9wdGlvbnMgKG9wdGlvbk5hbWU6IHN0cmluZywgb3B0aW9uczogc3RyaW5nIHwgYm9vbGVhbiB8IERpY3Rpb25hcnk8c3RyaW5nIHwgbnVtYmVyPik6IFByb21pc2U8RGljdGlvbmFyeTxudW1iZXI+IHwgYm9vbGVhbj4ge1xuICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ2Jvb2xlYW4nKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcblxuICAgIGNvbnN0IHBhcnNlZE9wdGlvbnMgPSBhd2FpdCBiYXNlR2V0T3B0aW9ucyhvcHRpb25zLCB7XG4gICAgICAgIHNraXBPcHRpb25WYWx1ZVR5cGVDb252ZXJzaW9uOiB0cnVlLFxuXG4gICAgICAgIGFzeW5jIG9uT3B0aW9uUGFyc2VkIChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgICAgICAgICAgaWYgKCFrZXkgfHwgIXZhbHVlKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBHZW5lcmFsRXJyb3IoUlVOVElNRV9FUlJPUlMub3B0aW9uVmFsdWVJc05vdFZhbGlkS2V5VmFsdWUsIG9wdGlvbk5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcbiAgICAgICAgfSxcbiAgICB9KTtcblxuICAgIHZhbGlkYXRlUXVhcmFudGluZU9wdGlvbnMocGFyc2VkT3B0aW9ucyk7XG5cbiAgICByZXR1cm4gcGFyc2VkT3B0aW9ucztcbn1cblxuXG5pbnRlcmZhY2UgQXR0ZW1wdFJlc3VsdCB7XG4gICAgZmFpbGVkVGltZXM6IG51bWJlcjtcbiAgICBwYXNzZWRUaW1lczogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgUXVhcmFudGluZUF0dGVtcHQge1xuICAgIHRlc3RSdW5JZDogc3RyaW5nO1xuICAgIGVycm9yczogVGVzdFJ1bkVycm9yRm9ybWF0dGFibGVBZGFwdGVyW107XG59XG5cbmV4cG9ydCBjbGFzcyBRdWFyYW50aW5lIHtcbiAgICBwdWJsaWMgYXR0ZW1wdHM6IFF1YXJhbnRpbmVBdHRlbXB0W107XG4gICAgcHVibGljIGF0dGVtcHRMaW1pdDogbnVtYmVyO1xuICAgIHB1YmxpYyBzdWNjZXNzVGhyZXNob2xkOiBudW1iZXI7XG4gICAgcHVibGljIGZhaWx1cmVUaHJlc2hvbGQ6IG51bWJlcjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICAgIHRoaXMuYXR0ZW1wdHMgICAgICAgICA9IFtdO1xuICAgICAgICB0aGlzLmF0dGVtcHRMaW1pdCAgICAgPSBERUZBVUxUX0FUVEVNUFRfTElNSVQ7XG4gICAgICAgIHRoaXMuc3VjY2Vzc1RocmVzaG9sZCA9IERFRkFVTFRfVEhSRVNIT0xEO1xuICAgICAgICB0aGlzLmZhaWx1cmVUaHJlc2hvbGQgPSBERUZBVUxUX1RIUkVTSE9MRDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RmFpbGVkQXR0ZW1wdHMgKCk6IFF1YXJhbnRpbmVBdHRlbXB0W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5hdHRlbXB0cy5maWx0ZXIoKHsgZXJyb3JzIH0pID0+ICEhZXJyb3JzLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBhc3NlZEF0dGVtcHRzICgpOiBRdWFyYW50aW5lQXR0ZW1wdFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXR0ZW1wdHMuZmlsdGVyKCh7IGVycm9ycyB9KSA9PiBlcnJvcnMubGVuZ3RoID09PSAwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0Q3VzdG9tUGFyYW1ldGVycyAoYXR0ZW1wdExpbWl0OiBudW1iZXIgfCB1bmRlZmluZWQsIHN1Y2Nlc3NUaHJlc2hvbGQ6IG51bWJlciB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZWVkVG9VcGRhdGVUZXN0UnVuVGhyZXNob2xkICAgICAgICAgID0gdHlwZW9mIGF0dGVtcHRMaW1pdCA9PT0gJ251bWJlcic7XG4gICAgICAgIGNvbnN0IG5lZWRUb1VwZGF0ZVBhc3NlZFF1YXJhbnRpbmVUaHJlc2hvbGQgPSB0eXBlb2Ygc3VjY2Vzc1RocmVzaG9sZCA9PT0gJ251bWJlcic7XG4gICAgICAgIGNvbnN0IG5lZWRUb1JlY2FsY3VsYXRlRmFpbGVkVGhyZXNob2xkICAgICAgPSBuZWVkVG9VcGRhdGVUZXN0UnVuVGhyZXNob2xkIHx8IG5lZWRUb1VwZGF0ZVBhc3NlZFF1YXJhbnRpbmVUaHJlc2hvbGQ7XG5cbiAgICAgICAgaWYgKG5lZWRUb1VwZGF0ZVRlc3RSdW5UaHJlc2hvbGQpIHRoaXMuYXR0ZW1wdExpbWl0ID0gYXR0ZW1wdExpbWl0IGFzIG51bWJlcjtcbiAgICAgICAgaWYgKG5lZWRUb1VwZGF0ZVBhc3NlZFF1YXJhbnRpbmVUaHJlc2hvbGQpIHRoaXMuc3VjY2Vzc1RocmVzaG9sZCA9IHN1Y2Nlc3NUaHJlc2hvbGQgYXMgbnVtYmVyO1xuICAgICAgICBpZiAobmVlZFRvUmVjYWxjdWxhdGVGYWlsZWRUaHJlc2hvbGQpIHRoaXMuX3NldEZhaWxlZFRocmVzaG9sZCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROZXh0QXR0ZW1wdE51bWJlciAoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXR0ZW1wdHMubGVuZ3RoICsgMTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNUaHJlc2hvbGRSZWFjaGVkIChleHRyYUVycm9ycz86IFRlc3RSdW5FcnJvckZvcm1hdHRhYmxlQWRhcHRlcltdKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHsgcGFzc2VkVGltZXMsIGZhaWxlZFRpbWVzIH0gPSB0aGlzLl9nZXRBdHRlbXB0c1Jlc3VsdChleHRyYUVycm9ycyk7XG5cbiAgICAgICAgY29uc3Qgc3VjY2Vzc1RocmVzaG9sZFJlYWNoZWQgPSBwYXNzZWRUaW1lcyA+PSB0aGlzLnN1Y2Nlc3NUaHJlc2hvbGQ7XG4gICAgICAgIGNvbnN0IGZhaWx1cmVUaHJlc2hvbGRSZWFjaGVkID0gZmFpbGVkVGltZXMgPj0gdGhpcy5mYWlsdXJlVGhyZXNob2xkO1xuXG4gICAgICAgIHJldHVybiBzdWNjZXNzVGhyZXNob2xkUmVhY2hlZCB8fCBmYWlsdXJlVGhyZXNob2xkUmVhY2hlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNGaXJzdEF0dGVtcHRTdWNjZXNzZnVsIChleHRyYUVycm9yczogVGVzdFJ1bkVycm9yRm9ybWF0dGFibGVBZGFwdGVyW10pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgeyBmYWlsZWRUaW1lcywgcGFzc2VkVGltZXMgfSA9IHRoaXMuX2dldEF0dGVtcHRzUmVzdWx0KGV4dHJhRXJyb3JzKTtcblxuICAgICAgICByZXR1cm4gZmFpbGVkVGltZXMgPT09IDAgJiYgcGFzc2VkVGltZXMgPiAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldEF0dGVtcHRzUmVzdWx0IChleHRyYUVycm9ycz86IFRlc3RSdW5FcnJvckZvcm1hdHRhYmxlQWRhcHRlcltdKTogQXR0ZW1wdFJlc3VsdCB7XG4gICAgICAgIGxldCBmYWlsZWRUaW1lcyA9IHRoaXMuZ2V0RmFpbGVkQXR0ZW1wdHMoKS5sZW5ndGg7XG4gICAgICAgIGxldCBwYXNzZWRUaW1lcyA9IHRoaXMuZ2V0UGFzc2VkQXR0ZW1wdHMoKS5sZW5ndGg7XG5cbiAgICAgICAgaWYgKGV4dHJhRXJyb3JzKSB7XG4gICAgICAgICAgICBpZiAoZXh0cmFFcnJvcnMubGVuZ3RoKVxuICAgICAgICAgICAgICAgIGZhaWxlZFRpbWVzICs9IGV4dHJhRXJyb3JzLmxlbmd0aDtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBwYXNzZWRUaW1lcyArPSAxO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHsgZmFpbGVkVGltZXMsIHBhc3NlZFRpbWVzIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0RmFpbGVkVGhyZXNob2xkICgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mYWlsdXJlVGhyZXNob2xkID0gdGhpcy5hdHRlbXB0TGltaXQgLSB0aGlzLnN1Y2Nlc3NUaHJlc2hvbGQgKyAxO1xuICAgIH1cbn1cbiJdfQ==
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhcmFudGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9nZXQtb3B0aW9ucy9xdWFyYW50aW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBHQUFrRjtBQUNsRiw4Q0FBb0Q7QUFDcEQsa0RBQW9EO0FBR3BELHlFQUFzRTtBQUV0RSxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQztBQUNoQyxNQUFNLGlCQUFpQixHQUFPLENBQUMsQ0FBQztBQUNoQyxNQUFNLGlCQUFpQixHQUFPLENBQUMsQ0FBQztBQUNoQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQztBQUVoQyxTQUFTLG1CQUFtQixDQUFFLE1BQWM7SUFDeEMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLGlDQUF1QixDQUFDLENBQUMsUUFBUSxDQUFDLE1BQWlDLENBQUMsQ0FBQztBQUM5RixDQUFDO0FBRUQsU0FBZ0IseUJBQXlCLENBQUUsT0FBb0M7SUFDM0UsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUU7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQztZQUN6QixNQUFNLElBQUksc0JBQVksQ0FBQyxzQkFBYyxDQUFDLHVCQUF1QixFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQzNFO0lBRUQsTUFBTSxZQUFZLEdBQU8sT0FBTyxPQUFPLENBQUMsWUFBWSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUM7SUFDakgsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLE9BQU8sQ0FBQyxnQkFBZ0IsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7SUFFckgsSUFBSSxZQUFZLEdBQUcsaUJBQWlCO1FBQ2hDLE1BQU0sSUFBSSxzQkFBWSxDQUFDLHNCQUFjLENBQUMsd0JB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QkFBdUIsQ0FBQztJQUM5RCxDQUFDO0lBRU0sd0JBQXdCLENBQUUsV0FBNkM7UUFDMUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFMUUsT0FBTyxXQUFXLEtBQUssQ0FBQyxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVPLGtCQUFrQixDQUFFLFdBQThDO1FBQ3RFLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNsRCxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFFbEQsSUFBSSxXQUFXLEVBQUU7WUFDYixJQUFJLFdBQVcsQ0FBQyxNQUFNO2dCQUNsQixXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQzs7Z0JBRWxDLFdBQVcsSUFBSSxDQUFDLENBQUM7U0FDeEI7UUFFRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTyxtQkFBbUI7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztJQUMxRSxDQUFDO0NBQ0o7QUFuRUQsZ0NBbUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFFVQVJBTlRJTkVfT1BUSU9OX05BTUVTIGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb24vcXVhcmFudGluZS1vcHRpb24tbmFtZXMnO1xuaW1wb3J0IHsgUlVOVElNRV9FUlJPUlMgfSBmcm9tICcuLi8uLi9lcnJvcnMvdHlwZXMnO1xuaW1wb3J0IHsgR2VuZXJhbEVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL3J1bnRpbWUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb24vaW50ZXJmYWNlcyc7XG5pbXBvcnQgVGVzdFJ1bkVycm9yRm9ybWF0dGFibGVBZGFwdGVyIGZyb20gJy4uLy4uL2Vycm9ycy90ZXN0LXJ1bi9mb3JtYXR0YWJsZS1hZGFwdGVyJztcbmltcG9ydCB7IGdldEJvb2xlYW5Pck9iamVjdE9wdGlvbiB9IGZyb20gJy4vYm9vbGVhbi1vci1vYmplY3Qtb3B0aW9uJztcblxuY29uc3QgREVGQVVMVF9BVFRFTVBUX0xJTUlUID0gNTtcbmNvbnN0IERFRkFVTFRfVEhSRVNIT0xEICAgICA9IDM7XG5jb25zdCBNSU5fQVRURU1QVF9MSU1JVCAgICAgPSAyO1xuY29uc3QgTUlOX1NVQ0NFU1NfVEhSRVNIT0xEID0gMTtcblxuZnVuY3Rpb24gX2lzUXVhcmFudGluZU9wdGlvbiAob3B0aW9uOiBzdHJpbmcpOiBvcHRpb24gaXMgUVVBUkFOVElORV9PUFRJT05fTkFNRVMge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKFFVQVJBTlRJTkVfT1BUSU9OX05BTUVTKS5pbmNsdWRlcyhvcHRpb24gYXMgUVVBUkFOVElORV9PUFRJT05fTkFNRVMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVRdWFyYW50aW5lT3B0aW9ucyAob3B0aW9uczogRGljdGlvbmFyeTxzdHJpbmcgfCBudW1iZXI+KTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gb3B0aW9ucykge1xuICAgICAgICBpZiAoIV9pc1F1YXJhbnRpbmVPcHRpb24oa2V5KSlcbiAgICAgICAgICAgIHRocm93IG5ldyBHZW5lcmFsRXJyb3IoUlVOVElNRV9FUlJPUlMuaW52YWxpZFF1YXJhbnRpbmVPcHRpb24sIGtleSk7XG4gICAgfVxuXG4gICAgY29uc3QgYXR0ZW1wdExpbWl0ICAgICA9IHR5cGVvZiBvcHRpb25zLmF0dGVtcHRMaW1pdCA9PT0gJ251bWJlcicgPyBvcHRpb25zLmF0dGVtcHRMaW1pdCA6IERFRkFVTFRfQVRURU1QVF9MSU1JVDtcbiAgICBjb25zdCBzdWNjZXNzVGhyZXNob2xkID0gdHlwZW9mIG9wdGlvbnMuc3VjY2Vzc1RocmVzaG9sZCA9PT0gJ251bWJlcicgPyBvcHRpb25zLnN1Y2Nlc3NUaHJlc2hvbGQgOiBERUZBVUxUX1RIUkVTSE9MRDtcblxuICAgIGlmIChhdHRlbXB0TGltaXQgPCBNSU5fQVRURU1QVF9MSU1JVClcbiAgICAgICAgdGhyb3cgbmV3IEdlbmVyYWxFcnJvcihSVU5USU1FX0VSUk9SUy5pbnZhbGlkQXR0ZW1wdExpbWl0VmFsdWUsIFFVQVJBTlRJTkVfT1BUSU9OX05BTUVTLmF0dGVtcHRMaW1pdCwgTUlOX0FUVEVNUFRfTElNSVQpO1xuXG4gICAgaWYgKHN1Y2Nlc3NUaHJlc2hvbGQgPCBNSU5fU1VDQ0VTU19USFJFU0hPTEQpXG4gICAgICAgIHRocm93IG5ldyBHZW5lcmFsRXJyb3IoUlVOVElNRV9FUlJPUlMuaW52YWxpZFN1Y2Nlc3NUaHJlc2hvbGRWYWx1ZSwgUVVBUkFOVElORV9PUFRJT05fTkFNRVMuc3VjY2Vzc1RocmVzaG9sZCwgTUlOX1NVQ0NFU1NfVEhSRVNIT0xEKTtcblxuICAgIGlmIChzdWNjZXNzVGhyZXNob2xkID49IGF0dGVtcHRMaW1pdClcbiAgICAgICAgdGhyb3cgbmV3IEdlbmVyYWxFcnJvcihSVU5USU1FX0VSUk9SUy5pbnZhbGlkUXVhcmFudGluZVBhcmFtZXRlcnNSYXRpbywgYXR0ZW1wdExpbWl0LCBzdWNjZXNzVGhyZXNob2xkKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFF1YXJhbnRpbmVPcHRpb25zIChvcHRpb25OYW1lOiBzdHJpbmcsIG9wdGlvbnM6IHN0cmluZyB8IGJvb2xlYW4gfCBEaWN0aW9uYXJ5PHN0cmluZyB8IG51bWJlcj4pOiBQcm9taXNlPERpY3Rpb25hcnk8bnVtYmVyPiB8IGJvb2xlYW4+IHtcbiAgICBjb25zdCBvbk9wdGlvblBhcnNlZCA9IGFzeW5jIChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gICAgICAgIGlmICgha2V5IHx8ICF2YWx1ZSlcbiAgICAgICAgICAgIHRocm93IG5ldyBHZW5lcmFsRXJyb3IoUlVOVElNRV9FUlJPUlMub3B0aW9uVmFsdWVJc05vdFZhbGlkS2V5VmFsdWUsIG9wdGlvbk5hbWUpO1xuXG4gICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYXdhaXQgZ2V0Qm9vbGVhbk9yT2JqZWN0T3B0aW9uPG51bWJlcj4ob3B0aW9uTmFtZSwgb3B0aW9ucywge1xuICAgICAgICBvbk9wdGlvblBhcnNlZCxcbiAgICAgICAgc2tpcE9wdGlvblZhbHVlVHlwZUNvbnZlcnNpb246IHRydWUsXG4gICAgfSwgdmFsaWRhdGVRdWFyYW50aW5lT3B0aW9ucyk7XG59XG5cblxuaW50ZXJmYWNlIEF0dGVtcHRSZXN1bHQge1xuICAgIGZhaWxlZFRpbWVzOiBudW1iZXI7XG4gICAgcGFzc2VkVGltZXM6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFF1YXJhbnRpbmVBdHRlbXB0IHtcbiAgICB0ZXN0UnVuSWQ6IHN0cmluZztcbiAgICBlcnJvcnM6IFRlc3RSdW5FcnJvckZvcm1hdHRhYmxlQWRhcHRlcltdO1xufVxuXG5leHBvcnQgY2xhc3MgUXVhcmFudGluZSB7XG4gICAgcHVibGljIGF0dGVtcHRzOiBRdWFyYW50aW5lQXR0ZW1wdFtdO1xuICAgIHB1YmxpYyBhdHRlbXB0TGltaXQ6IG51bWJlcjtcbiAgICBwdWJsaWMgc3VjY2Vzc1RocmVzaG9sZDogbnVtYmVyO1xuICAgIHB1YmxpYyBmYWlsdXJlVGhyZXNob2xkOiBudW1iZXI7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IgKCkge1xuICAgICAgICB0aGlzLmF0dGVtcHRzICAgICAgICAgPSBbXTtcbiAgICAgICAgdGhpcy5hdHRlbXB0TGltaXQgICAgID0gREVGQVVMVF9BVFRFTVBUX0xJTUlUO1xuICAgICAgICB0aGlzLnN1Y2Nlc3NUaHJlc2hvbGQgPSBERUZBVUxUX1RIUkVTSE9MRDtcbiAgICAgICAgdGhpcy5mYWlsdXJlVGhyZXNob2xkID0gREVGQVVMVF9USFJFU0hPTEQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZhaWxlZEF0dGVtcHRzICgpOiBRdWFyYW50aW5lQXR0ZW1wdFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXR0ZW1wdHMuZmlsdGVyKCh7IGVycm9ycyB9KSA9PiAhIWVycm9ycy5sZW5ndGgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQYXNzZWRBdHRlbXB0cyAoKTogUXVhcmFudGluZUF0dGVtcHRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF0dGVtcHRzLmZpbHRlcigoeyBlcnJvcnMgfSkgPT4gZXJyb3JzLmxlbmd0aCA9PT0gMCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEN1c3RvbVBhcmFtZXRlcnMgKGF0dGVtcHRMaW1pdDogbnVtYmVyIHwgdW5kZWZpbmVkLCBzdWNjZXNzVGhyZXNob2xkOiBudW1iZXIgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmVlZFRvVXBkYXRlVGVzdFJ1blRocmVzaG9sZCAgICAgICAgICA9IHR5cGVvZiBhdHRlbXB0TGltaXQgPT09ICdudW1iZXInO1xuICAgICAgICBjb25zdCBuZWVkVG9VcGRhdGVQYXNzZWRRdWFyYW50aW5lVGhyZXNob2xkID0gdHlwZW9mIHN1Y2Nlc3NUaHJlc2hvbGQgPT09ICdudW1iZXInO1xuICAgICAgICBjb25zdCBuZWVkVG9SZWNhbGN1bGF0ZUZhaWxlZFRocmVzaG9sZCAgICAgID0gbmVlZFRvVXBkYXRlVGVzdFJ1blRocmVzaG9sZCB8fCBuZWVkVG9VcGRhdGVQYXNzZWRRdWFyYW50aW5lVGhyZXNob2xkO1xuXG4gICAgICAgIGlmIChuZWVkVG9VcGRhdGVUZXN0UnVuVGhyZXNob2xkKSB0aGlzLmF0dGVtcHRMaW1pdCA9IGF0dGVtcHRMaW1pdCBhcyBudW1iZXI7XG4gICAgICAgIGlmIChuZWVkVG9VcGRhdGVQYXNzZWRRdWFyYW50aW5lVGhyZXNob2xkKSB0aGlzLnN1Y2Nlc3NUaHJlc2hvbGQgPSBzdWNjZXNzVGhyZXNob2xkIGFzIG51bWJlcjtcbiAgICAgICAgaWYgKG5lZWRUb1JlY2FsY3VsYXRlRmFpbGVkVGhyZXNob2xkKSB0aGlzLl9zZXRGYWlsZWRUaHJlc2hvbGQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TmV4dEF0dGVtcHROdW1iZXIgKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmF0dGVtcHRzLmxlbmd0aCArIDE7XG4gICAgfVxuXG4gICAgcHVibGljIGlzVGhyZXNob2xkUmVhY2hlZCAoZXh0cmFFcnJvcnM/OiBUZXN0UnVuRXJyb3JGb3JtYXR0YWJsZUFkYXB0ZXJbXSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7IHBhc3NlZFRpbWVzLCBmYWlsZWRUaW1lcyB9ID0gdGhpcy5fZ2V0QXR0ZW1wdHNSZXN1bHQoZXh0cmFFcnJvcnMpO1xuXG4gICAgICAgIGNvbnN0IHN1Y2Nlc3NUaHJlc2hvbGRSZWFjaGVkID0gcGFzc2VkVGltZXMgPj0gdGhpcy5zdWNjZXNzVGhyZXNob2xkO1xuICAgICAgICBjb25zdCBmYWlsdXJlVGhyZXNob2xkUmVhY2hlZCA9IGZhaWxlZFRpbWVzID49IHRoaXMuZmFpbHVyZVRocmVzaG9sZDtcblxuICAgICAgICByZXR1cm4gc3VjY2Vzc1RocmVzaG9sZFJlYWNoZWQgfHwgZmFpbHVyZVRocmVzaG9sZFJlYWNoZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRmlyc3RBdHRlbXB0U3VjY2Vzc2Z1bCAoZXh0cmFFcnJvcnM6IFRlc3RSdW5FcnJvckZvcm1hdHRhYmxlQWRhcHRlcltdKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHsgZmFpbGVkVGltZXMsIHBhc3NlZFRpbWVzIH0gPSB0aGlzLl9nZXRBdHRlbXB0c1Jlc3VsdChleHRyYUVycm9ycyk7XG5cbiAgICAgICAgcmV0dXJuIGZhaWxlZFRpbWVzID09PSAwICYmIHBhc3NlZFRpbWVzID4gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRBdHRlbXB0c1Jlc3VsdCAoZXh0cmFFcnJvcnM/OiBUZXN0UnVuRXJyb3JGb3JtYXR0YWJsZUFkYXB0ZXJbXSk6IEF0dGVtcHRSZXN1bHQge1xuICAgICAgICBsZXQgZmFpbGVkVGltZXMgPSB0aGlzLmdldEZhaWxlZEF0dGVtcHRzKCkubGVuZ3RoO1xuICAgICAgICBsZXQgcGFzc2VkVGltZXMgPSB0aGlzLmdldFBhc3NlZEF0dGVtcHRzKCkubGVuZ3RoO1xuXG4gICAgICAgIGlmIChleHRyYUVycm9ycykge1xuICAgICAgICAgICAgaWYgKGV4dHJhRXJyb3JzLmxlbmd0aClcbiAgICAgICAgICAgICAgICBmYWlsZWRUaW1lcyArPSBleHRyYUVycm9ycy5sZW5ndGg7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgcGFzc2VkVGltZXMgKz0gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7IGZhaWxlZFRpbWVzLCBwYXNzZWRUaW1lcyB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldEZhaWxlZFRocmVzaG9sZCAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmFpbHVyZVRocmVzaG9sZCA9IHRoaXMuYXR0ZW1wdExpbWl0IC0gdGhpcy5zdWNjZXNzVGhyZXNob2xkICsgMTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.getSkipJsErrorsOptions = exports.validateSkipJsErrorsOptionValue = void 0;
|
|
7
|
-
const base_1 = __importDefault(require("./base"));
|
|
8
4
|
const skip_js_errors_option_names_1 = require("../../configuration/skip-js-errors-option-names");
|
|
9
5
|
const types_1 = require("../../errors/types");
|
|
10
6
|
const runtime_1 = require("../../errors/runtime");
|
|
11
7
|
const skip_js_errors_1 = require("../../api/skip-js-errors");
|
|
8
|
+
const boolean_or_object_option_1 = require("./boolean-or-object-option");
|
|
12
9
|
function validateSkipJsErrorsOptionValue(options, ErrorCtor) {
|
|
13
10
|
if ((0, skip_js_errors_1.isSkipJsErrorsCallbackWithOptionsObject)(options))
|
|
14
11
|
validateSkipJsErrorsCallbackWithOptionsObject(options, ErrorCtor);
|
|
@@ -18,17 +15,16 @@ function validateSkipJsErrorsOptionValue(options, ErrorCtor) {
|
|
|
18
15
|
}
|
|
19
16
|
exports.validateSkipJsErrorsOptionValue = validateSkipJsErrorsOptionValue;
|
|
20
17
|
async function getSkipJsErrorsOptions(optionName, options) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return parsedOptions;
|
|
18
|
+
const onOptionParsed = async (key, value) => {
|
|
19
|
+
if (!key || !value)
|
|
20
|
+
throw new runtime_1.GeneralError(types_1.RUNTIME_ERRORS.optionValueIsNotValidKeyValue, optionName);
|
|
21
|
+
return value;
|
|
22
|
+
};
|
|
23
|
+
const validator = (opts) => validateSkipJsErrorsOptionsObject(opts, runtime_1.GeneralError);
|
|
24
|
+
return await (0, boolean_or_object_option_1.getBooleanOrObjectOption)(optionName, options, {
|
|
25
|
+
onOptionParsed,
|
|
26
|
+
skipOptionValueTypeConversion: true,
|
|
27
|
+
}, validator);
|
|
32
28
|
}
|
|
33
29
|
exports.getSkipJsErrorsOptions = getSkipJsErrorsOptions;
|
|
34
30
|
function _isSkipJsErrorsOptionsObjectOption(option) {
|
|
@@ -49,4 +45,4 @@ function validateSkipJsErrorsCallbackWithOptionsObject(options, ErrorCtor) {
|
|
|
49
45
|
throw new ErrorCtor(types_1.RUNTIME_ERRORS.invalidSkipJsErrorsCallbackWithOptionsProperty, key);
|
|
50
46
|
}
|
|
51
47
|
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcC1qcy1lcnJvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZ2V0LW9wdGlvbnMvc2tpcC1qcy1lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUdBR3lEO0FBQ3pELDhDQUFvRDtBQUNwRCxrREFBb0Q7QUFFcEQsNkRBQWdIO0FBQ2hILHlFQUFzRTtBQUV0RSxTQUFnQiwrQkFBK0IsQ0FBRSxPQUFpSSxFQUFFLFNBQWM7SUFDOUwsSUFBSSxJQUFBLHdEQUF1QyxFQUFDLE9BQU8sQ0FBQztRQUNoRCw2Q0FBNkMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FFakUsSUFBSSxJQUFBLDRDQUEyQixFQUFDLE9BQU8sQ0FBQztRQUN6QyxpQ0FBaUMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFMUQsT0FBTyxLQUFLLENBQUMsQ0FBQztBQUNsQixDQUFDO0FBUkQsMEVBUUM7QUFFTSxLQUFLLFVBQVUsc0JBQXNCLENBQUUsVUFBa0IsRUFBRSxPQUF1RDtJQUNySCxNQUFNLGNBQWMsR0FBRyxLQUFLLEVBQUUsR0FBVyxFQUFFLEtBQWEsRUFBbUIsRUFBRTtRQUN6RSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSztZQUNkLE1BQU0sSUFBSSxzQkFBWSxDQUFDLHNCQUFjLENBQUMsNkJBQTZCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFckYsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQyxDQUFDO0lBQ0YsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUF3QixFQUFRLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFJLEVBQUUsc0JBQVksQ0FBQyxDQUFDO0lBRTVHLE9BQU8sTUFBTSxJQUFBLG1EQUF3QixFQUFTLFVBQVUsRUFBRSxPQUFPLEVBQUU7UUFDL0QsY0FBYztRQUNkLDZCQUE2QixFQUFFLElBQUk7S0FDdEMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNsQixDQUFDO0FBYkQsd0RBYUM7QUFFRCxTQUFTLGtDQUFrQyxDQUFFLE1BQWM7SUFDdkQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLHdFQUEwQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQW9ELENBQUMsQ0FBQztBQUNwSSxDQUFDO0FBRUQsU0FBUyx3Q0FBd0MsQ0FBRSxNQUFjO0lBQzdELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQywrRUFBaUQsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUEyRCxDQUFDLENBQUM7QUFDbEosQ0FBQztBQUVELFNBQVMsaUNBQWlDLENBQUUsT0FBd0QsRUFBRSxTQUFjO0lBQ2hILEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFO1FBQ3ZCLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFHLENBQUM7WUFDeEMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxzQkFBYyxDQUFDLHdDQUF3QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQ3pGO0FBQ0wsQ0FBQztBQUVELFNBQVMsNkNBQTZDLENBQUUsT0FBb0UsRUFBRSxTQUFjO0lBQ3hJLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFO1FBQ3ZCLElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxHQUFHLENBQUM7WUFDOUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxzQkFBYyxDQUFDLDhDQUE4QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQy9GO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgU0tJUF9KU19FUlJPUlNfQ0FMTEJBQ0tfV0lUSF9PUFRJT05TX09QVElPTl9OQU1FUyxcbiAgICBTS0lQX0pTX0VSUk9SU19PUFRJT05TX09CSkVDVF9PUFRJT05fTkFNRVMsXG59IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb24vc2tpcC1qcy1lcnJvcnMtb3B0aW9uLW5hbWVzJztcbmltcG9ydCB7IFJVTlRJTUVfRVJST1JTIH0gZnJvbSAnLi4vLi4vZXJyb3JzL3R5cGVzJztcbmltcG9ydCB7IEdlbmVyYWxFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9ydW50aW1lJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgaXNTa2lwSnNFcnJvcnNDYWxsYmFja1dpdGhPcHRpb25zT2JqZWN0LCBpc1NraXBKc0Vycm9yc09wdGlvbnNPYmplY3QgfSBmcm9tICcuLi8uLi9hcGkvc2tpcC1qcy1lcnJvcnMnO1xuaW1wb3J0IHsgZ2V0Qm9vbGVhbk9yT2JqZWN0T3B0aW9uIH0gZnJvbSAnLi9ib29sZWFuLW9yLW9iamVjdC1vcHRpb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTa2lwSnNFcnJvcnNPcHRpb25WYWx1ZSAob3B0aW9uczogYm9vbGVhbiB8IERpY3Rpb25hcnk8dW5rbm93bj4gfCBTa2lwSnNFcnJvcnNPcHRpb25zT2JqZWN0IHwgU2tpcEpzRXJyb3JzQ2FsbGJhY2sgfCBTa2lwSnNFcnJvcnNDYWxsYmFja1dpdGhPcHRpb25zT2JqZWN0LCBFcnJvckN0b3I6IGFueSk6IHZvaWQge1xuICAgIGlmIChpc1NraXBKc0Vycm9yc0NhbGxiYWNrV2l0aE9wdGlvbnNPYmplY3Qob3B0aW9ucykpXG4gICAgICAgIHZhbGlkYXRlU2tpcEpzRXJyb3JzQ2FsbGJhY2tXaXRoT3B0aW9uc09iamVjdChvcHRpb25zLCBFcnJvckN0b3IpO1xuXG4gICAgZWxzZSBpZiAoaXNTa2lwSnNFcnJvcnNPcHRpb25zT2JqZWN0KG9wdGlvbnMpKVxuICAgICAgICB2YWxpZGF0ZVNraXBKc0Vycm9yc09wdGlvbnNPYmplY3Qob3B0aW9ucywgRXJyb3JDdG9yKTtcblxuICAgIHJldHVybiB2b2lkIDA7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRTa2lwSnNFcnJvcnNPcHRpb25zIChvcHRpb25OYW1lOiBzdHJpbmcsIG9wdGlvbnM6IHN0cmluZyB8IGJvb2xlYW4gfCBEaWN0aW9uYXJ5PHN0cmluZyB8IFJlZ0V4cD4pOiBQcm9taXNlPERpY3Rpb25hcnk8c3RyaW5nPiB8IGJvb2xlYW4+IHtcbiAgICBjb25zdCBvbk9wdGlvblBhcnNlZCA9IGFzeW5jIChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gICAgICAgIGlmICgha2V5IHx8ICF2YWx1ZSlcbiAgICAgICAgICAgIHRocm93IG5ldyBHZW5lcmFsRXJyb3IoUlVOVElNRV9FUlJPUlMub3B0aW9uVmFsdWVJc05vdFZhbGlkS2V5VmFsdWUsIG9wdGlvbk5hbWUpO1xuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuICAgIGNvbnN0IHZhbGlkYXRvciA9IChvcHRzOiBEaWN0aW9uYXJ5PHN0cmluZz4pOiB2b2lkID0+IHZhbGlkYXRlU2tpcEpzRXJyb3JzT3B0aW9uc09iamVjdChvcHRzLCBHZW5lcmFsRXJyb3IpO1xuXG4gICAgcmV0dXJuIGF3YWl0IGdldEJvb2xlYW5Pck9iamVjdE9wdGlvbjxzdHJpbmc+KG9wdGlvbk5hbWUsIG9wdGlvbnMsIHtcbiAgICAgICAgb25PcHRpb25QYXJzZWQsXG4gICAgICAgIHNraXBPcHRpb25WYWx1ZVR5cGVDb252ZXJzaW9uOiB0cnVlLFxuICAgIH0sIHZhbGlkYXRvcik7XG59XG5cbmZ1bmN0aW9uIF9pc1NraXBKc0Vycm9yc09wdGlvbnNPYmplY3RPcHRpb24gKG9wdGlvbjogc3RyaW5nKTogb3B0aW9uIGlzIFNLSVBfSlNfRVJST1JTX09QVElPTlNfT0JKRUNUX09QVElPTl9OQU1FUyB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoU0tJUF9KU19FUlJPUlNfT1BUSU9OU19PQkpFQ1RfT1BUSU9OX05BTUVTKS5pbmNsdWRlcyhvcHRpb24gYXMgU0tJUF9KU19FUlJPUlNfT1BUSU9OU19PQkpFQ1RfT1BUSU9OX05BTUVTKTtcbn1cblxuZnVuY3Rpb24gX2lzU2tpcEpzRXJyb3JzQ2FsbGJhY2tXaXRoT3B0aW9uc09wdGlvbiAob3B0aW9uOiBzdHJpbmcpOiBvcHRpb24gaXMgU0tJUF9KU19FUlJPUlNfQ0FMTEJBQ0tfV0lUSF9PUFRJT05TX09QVElPTl9OQU1FUyB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoU0tJUF9KU19FUlJPUlNfQ0FMTEJBQ0tfV0lUSF9PUFRJT05TX09QVElPTl9OQU1FUykuaW5jbHVkZXMob3B0aW9uIGFzIFNLSVBfSlNfRVJST1JTX0NBTExCQUNLX1dJVEhfT1BUSU9OU19PUFRJT05fTkFNRVMpO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVNraXBKc0Vycm9yc09wdGlvbnNPYmplY3QgKG9wdGlvbnM6IERpY3Rpb25hcnk8dW5rbm93bj4gfCBTa2lwSnNFcnJvcnNPcHRpb25zT2JqZWN0LCBFcnJvckN0b3I6IGFueSk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qga2V5IGluIG9wdGlvbnMpIHtcbiAgICAgICAgaWYgKCFfaXNTa2lwSnNFcnJvcnNPcHRpb25zT2JqZWN0T3B0aW9uKGtleSkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3JDdG9yKFJVTlRJTUVfRVJST1JTLmludmFsaWRTa2lwSnNFcnJvcnNPcHRpb25zT2JqZWN0UHJvcGVydHksIGtleSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVNraXBKc0Vycm9yc0NhbGxiYWNrV2l0aE9wdGlvbnNPYmplY3QgKG9wdGlvbnM6IERpY3Rpb25hcnk8dW5rbm93bj4gfCBTa2lwSnNFcnJvcnNDYWxsYmFja1dpdGhPcHRpb25zT2JqZWN0LCBFcnJvckN0b3I6IGFueSk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qga2V5IGluIG9wdGlvbnMpIHtcbiAgICAgICAgaWYgKCFfaXNTa2lwSnNFcnJvcnNDYWxsYmFja1dpdGhPcHRpb25zT3B0aW9uKGtleSkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3JDdG9yKFJVTlRJTUVfRVJST1JTLmludmFsaWRTa2lwSnNFcnJvcnNDYWxsYmFja1dpdGhPcHRpb25zUHJvcGVydHksIGtleSk7XG4gICAgfVxufVxuIl19
|
|
@@ -3,13 +3,16 @@ 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.parseUserAgent = exports.
|
|
6
|
+
exports.parseUserAgent = exports.calculatePrettyUserAgent = void 0;
|
|
7
7
|
const bowser_1 = __importDefault(require("bowser"));
|
|
8
8
|
const DEFAULT_NAME = 'Other';
|
|
9
9
|
const DEFAULT_VERSION = '0.0';
|
|
10
10
|
const DEFAULT_PLATFORM_TYPE = DEFAULT_NAME.toLowerCase();
|
|
11
11
|
const EMPTY_PARSED_USER_AGENT = bowser_1.default.parse(' ');
|
|
12
|
-
const
|
|
12
|
+
const HEADLESS_EDGE = {
|
|
13
|
+
regExp: /HeadlessEdg/i,
|
|
14
|
+
browserName: 'Microsoft Edge',
|
|
15
|
+
};
|
|
13
16
|
function calculateBrowser(browserDetails) {
|
|
14
17
|
return {
|
|
15
18
|
name: browserDetails.name || DEFAULT_NAME,
|
|
@@ -35,21 +38,25 @@ function calculateEngine(engineDetails) {
|
|
|
35
38
|
version: engineDetails.version || DEFAULT_VERSION,
|
|
36
39
|
};
|
|
37
40
|
}
|
|
41
|
+
function calculateParsedUserAgent(userAgent) {
|
|
42
|
+
if (!userAgent)
|
|
43
|
+
return EMPTY_PARSED_USER_AGENT;
|
|
44
|
+
// The 'bowser' module incorrectly determine the headless edge browser.
|
|
45
|
+
// Since this module is abandoned, we are forced to fix it on our side.
|
|
46
|
+
const isHeadlessEdge = HEADLESS_EDGE.regExp.test(userAgent);
|
|
47
|
+
const parsedUserAgent = bowser_1.default.parse(userAgent);
|
|
48
|
+
if (isHeadlessEdge)
|
|
49
|
+
parsedUserAgent.browser.name = HEADLESS_EDGE.browserName;
|
|
50
|
+
return parsedUserAgent;
|
|
51
|
+
}
|
|
38
52
|
function calculatePrettyUserAgent(browser, os) {
|
|
39
53
|
return `${browser.name} ${browser.version} / ${os.name} ${os.version}`;
|
|
40
54
|
}
|
|
41
55
|
exports.calculatePrettyUserAgent = calculatePrettyUserAgent;
|
|
42
|
-
function
|
|
43
|
-
const
|
|
44
|
-
if (!parenthesisExpressions || !parenthesisExpressions.length)
|
|
45
|
-
return '';
|
|
46
|
-
return parenthesisExpressions[parenthesisExpressions.length - 1].replace(/[()]/g, '');
|
|
47
|
-
}
|
|
48
|
-
exports.extractMetaInfo = extractMetaInfo;
|
|
49
|
-
function parseUserAgent(userAgent = '') {
|
|
50
|
-
const parsedUserAgent = userAgent ? bowser_1.default.parse(userAgent) : EMPTY_PARSED_USER_AGENT;
|
|
56
|
+
function parseUserAgent(userAgent = '', osInfo) {
|
|
57
|
+
const parsedUserAgent = calculateParsedUserAgent(userAgent);
|
|
51
58
|
const browser = calculateBrowser(parsedUserAgent.browser);
|
|
52
|
-
const os = calculateOs(parsedUserAgent.os);
|
|
59
|
+
const os = osInfo || calculateOs(parsedUserAgent.os);
|
|
53
60
|
const engine = calculateEngine(parsedUserAgent.engine);
|
|
54
61
|
const prettyUserAgent = calculatePrettyUserAgent(browser, os);
|
|
55
62
|
return {
|
|
@@ -63,4 +70,4 @@ function parseUserAgent(userAgent = '') {
|
|
|
63
70
|
};
|
|
64
71
|
}
|
|
65
72
|
exports.parseUserAgent = parseUserAgent;
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtdXNlci1hZ2VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9wYXJzZS11c2VyLWFnZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUc1QixNQUFNLFlBQVksR0FBYyxPQUFPLENBQUM7QUFDeEMsTUFBTSxlQUFlLEdBQVcsS0FBSyxDQUFDO0FBQ3RDLE1BQU0scUJBQXFCLEdBQUssWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQzNELE1BQU0sdUJBQXVCLEdBQUcsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFbEQsTUFBTSxhQUFhLEdBQUc7SUFDbEIsTUFBTSxFQUFPLGNBQWM7SUFDM0IsV0FBVyxFQUFFLGdCQUFnQjtDQUNoQyxDQUFDO0FBaUJGLFNBQVMsZ0JBQWdCLENBQUUsY0FBNEM7SUFDbkUsT0FBTztRQUNILElBQUksRUFBSyxjQUFjLENBQUMsSUFBSSxJQUFJLFlBQVk7UUFDNUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxPQUFPLElBQUksZUFBZTtLQUNyRCxDQUFDO0FBQ04sQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFFLGVBQXdDO0lBQzFELE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQyxJQUFJLElBQUksWUFBWSxDQUFDO0lBRWxELElBQUksT0FBTyxHQUFHLGVBQWUsQ0FBQztJQUU5Qix5RkFBeUY7SUFDekYsNERBQTREO0lBQzVELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLFNBQVMsRUFBRTtRQUNsQyxJQUFJLGVBQWUsQ0FBQyxXQUFXO1lBQzNCLE9BQU8sR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDO0tBQzdDO1NBQ0ksSUFBSSxlQUFlLENBQUMsT0FBTztRQUM1QixPQUFPLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQztJQUV0QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQzdCLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBRSxhQUEwQztJQUNoRSxPQUFPO1FBQ0gsSUFBSSxFQUFLLGFBQWEsQ0FBQyxJQUFJLElBQUksWUFBWTtRQUMzQyxPQUFPLEVBQUUsYUFBYSxDQUFDLE9BQU8sSUFBSSxlQUFlO0tBQ3BELENBQUM7QUFDTixDQUFDO0FBRUQsU0FBUyx3QkFBd0IsQ0FBRSxTQUFpQjtJQUNoRCxJQUFJLENBQUMsU0FBUztRQUNWLE9BQU8sdUJBQXVCLENBQUM7SUFFbkMsdUVBQXVFO0lBQ3ZFLHVFQUF1RTtJQUN2RSxNQUFNLGNBQWMsR0FBSSxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3RCxNQUFNLGVBQWUsR0FBRyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUVoRCxJQUFJLGNBQWM7UUFDZCxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBRTdELE9BQU8sZUFBZSxDQUFDO0FBQzNCLENBQUM7QUFFRCxTQUFnQix3QkFBd0IsQ0FBRSxPQUF3QixFQUFFLEVBQW1CO0lBQ25GLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxPQUFPLE1BQU0sRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDM0UsQ0FBQztBQUZELDREQUVDO0FBRUQsU0FBZ0IsY0FBYyxDQUFFLFNBQVMsR0FBRyxFQUFFLEVBQUUsTUFBZTtJQUMzRCxNQUFNLGVBQWUsR0FBRyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1RCxNQUFNLE9BQU8sR0FBVyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEUsTUFBTSxFQUFFLEdBQWdCLE1BQU0sSUFBSSxXQUFXLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLE1BQU0sTUFBTSxHQUFZLGVBQWUsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEUsTUFBTSxlQUFlLEdBQUcsd0JBQXdCLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTlELE9BQU87UUFDSCxJQUFJLEVBQWEsT0FBTyxDQUFDLElBQUk7UUFDN0IsT0FBTyxFQUFVLE9BQU8sQ0FBQyxPQUFPO1FBQ2hDLFFBQVEsRUFBUyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxxQkFBcUI7UUFDdkUsRUFBRTtRQUNGLE1BQU07UUFDTixlQUFlLEVBQUUsZUFBZTtRQUNoQyxTQUFTO0tBQ1osQ0FBQztBQUNOLENBQUM7QUFoQkQsd0NBZ0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJvd3NlciBmcm9tICdib3dzZXInO1xuaW1wb3J0IHsgT1NJbmZvIH0gZnJvbSAnZ2V0LW9zLWluZm8nO1xuXG5jb25zdCBERUZBVUxUX05BTUUgICAgICAgICAgICA9ICdPdGhlcic7XG5jb25zdCBERUZBVUxUX1ZFUlNJT04gICAgICAgICA9ICcwLjAnO1xuY29uc3QgREVGQVVMVF9QTEFURk9STV9UWVBFICAgPSBERUZBVUxUX05BTUUudG9Mb3dlckNhc2UoKTtcbmNvbnN0IEVNUFRZX1BBUlNFRF9VU0VSX0FHRU5UID0gQm93c2VyLnBhcnNlKCcgJyk7XG5cbmNvbnN0IEhFQURMRVNTX0VER0UgPSB7XG4gICAgcmVnRXhwOiAgICAgIC9IZWFkbGVzc0VkZy9pLFxuICAgIGJyb3dzZXJOYW1lOiAnTWljcm9zb2Z0IEVkZ2UnLFxufTtcblxuaW50ZXJmYWNlIFBhcnNlZENvbXBvbmVudCB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZlcnNpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJzZWRVc2VyQWdlbnQge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2ZXJzaW9uOiBzdHJpbmc7XG4gICAgcGxhdGZvcm06IHN0cmluZztcbiAgICBvczogUGFyc2VkQ29tcG9uZW50O1xuICAgIGVuZ2luZTogUGFyc2VkQ29tcG9uZW50O1xuICAgIHByZXR0eVVzZXJBZ2VudDogc3RyaW5nO1xuICAgIHVzZXJBZ2VudDogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVCcm93c2VyIChicm93c2VyRGV0YWlsczogQm93c2VyLlBhcnNlci5Ccm93c2VyRGV0YWlscyk6IFBhcnNlZENvbXBvbmVudCB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogICAgYnJvd3NlckRldGFpbHMubmFtZSB8fCBERUZBVUxUX05BTUUsXG4gICAgICAgIHZlcnNpb246IGJyb3dzZXJEZXRhaWxzLnZlcnNpb24gfHwgREVGQVVMVF9WRVJTSU9OLFxuICAgIH07XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZU9zIChwYXJzZWRPc0RldGFpbHM6IEJvd3Nlci5QYXJzZXIuT1NEZXRhaWxzKTogUGFyc2VkQ29tcG9uZW50IHtcbiAgICBjb25zdCBuYW1lID0gcGFyc2VkT3NEZXRhaWxzLm5hbWUgfHwgREVGQVVMVF9OQU1FO1xuXG4gICAgbGV0IHZlcnNpb24gPSBERUZBVUxUX1ZFUlNJT047XG5cbiAgICAvLyBOT1RFOiBhICd2ZXJzaW9uTmFtZScgcHJvcGVydHkgdmFsdWUgaXMgbW9yZSByZWFkYWJsZSBpbiB0aGUgY2FzZSBvZiBXaW5kb3dzIChHSC00ODEpOlxuICAgIC8vIFdpbmRvd3MgOC4xOiBvcy52ZXJzaW9uOiBcIk5UIDYuM1wiLCBvcy52ZXJzaW9uTmFtZTogXCI4LjFcIi5cbiAgICBpZiAobmFtZS50b0xvd2VyQ2FzZSgpID09PSAnd2luZG93cycpIHtcbiAgICAgICAgaWYgKHBhcnNlZE9zRGV0YWlscy52ZXJzaW9uTmFtZSlcbiAgICAgICAgICAgIHZlcnNpb24gPSBwYXJzZWRPc0RldGFpbHMudmVyc2lvbk5hbWU7XG4gICAgfVxuICAgIGVsc2UgaWYgKHBhcnNlZE9zRGV0YWlscy52ZXJzaW9uKVxuICAgICAgICB2ZXJzaW9uID0gcGFyc2VkT3NEZXRhaWxzLnZlcnNpb247XG5cbiAgICByZXR1cm4geyBuYW1lLCB2ZXJzaW9uIH07XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZUVuZ2luZSAoZW5naW5lRGV0YWlsczogQm93c2VyLlBhcnNlci5FbmdpbmVEZXRhaWxzKTogUGFyc2VkQ29tcG9uZW50IHtcbiAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiAgICBlbmdpbmVEZXRhaWxzLm5hbWUgfHwgREVGQVVMVF9OQU1FLFxuICAgICAgICB2ZXJzaW9uOiBlbmdpbmVEZXRhaWxzLnZlcnNpb24gfHwgREVGQVVMVF9WRVJTSU9OLFxuICAgIH07XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZVBhcnNlZFVzZXJBZ2VudCAodXNlckFnZW50OiBzdHJpbmcpOiBCb3dzZXIuUGFyc2VyLlBhcnNlZFJlc3VsdCB7XG4gICAgaWYgKCF1c2VyQWdlbnQpXG4gICAgICAgIHJldHVybiBFTVBUWV9QQVJTRURfVVNFUl9BR0VOVDtcblxuICAgIC8vIFRoZSAnYm93c2VyJyBtb2R1bGUgaW5jb3JyZWN0bHkgZGV0ZXJtaW5lIHRoZSBoZWFkbGVzcyBlZGdlIGJyb3dzZXIuXG4gICAgLy8gU2luY2UgdGhpcyBtb2R1bGUgaXMgYWJhbmRvbmVkLCB3ZSBhcmUgZm9yY2VkIHRvIGZpeCBpdCBvbiBvdXIgc2lkZS5cbiAgICBjb25zdCBpc0hlYWRsZXNzRWRnZSAgPSBIRUFETEVTU19FREdFLnJlZ0V4cC50ZXN0KHVzZXJBZ2VudCk7XG4gICAgY29uc3QgcGFyc2VkVXNlckFnZW50ID0gQm93c2VyLnBhcnNlKHVzZXJBZ2VudCk7XG5cbiAgICBpZiAoaXNIZWFkbGVzc0VkZ2UpXG4gICAgICAgIHBhcnNlZFVzZXJBZ2VudC5icm93c2VyLm5hbWUgPSBIRUFETEVTU19FREdFLmJyb3dzZXJOYW1lO1xuXG4gICAgcmV0dXJuIHBhcnNlZFVzZXJBZ2VudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZVByZXR0eVVzZXJBZ2VudCAoYnJvd3NlcjogUGFyc2VkQ29tcG9uZW50LCBvczogUGFyc2VkQ29tcG9uZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7YnJvd3Nlci5uYW1lfSAke2Jyb3dzZXIudmVyc2lvbn0gLyAke29zLm5hbWV9ICR7b3MudmVyc2lvbn1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VVc2VyQWdlbnQgKHVzZXJBZ2VudCA9ICcnLCBvc0luZm8/OiBPU0luZm8pOiBQYXJzZWRVc2VyQWdlbnQge1xuICAgIGNvbnN0IHBhcnNlZFVzZXJBZ2VudCA9IGNhbGN1bGF0ZVBhcnNlZFVzZXJBZ2VudCh1c2VyQWdlbnQpO1xuICAgIGNvbnN0IGJyb3dzZXIgICAgICAgICA9IGNhbGN1bGF0ZUJyb3dzZXIocGFyc2VkVXNlckFnZW50LmJyb3dzZXIpO1xuICAgIGNvbnN0IG9zICAgICAgICAgICAgICA9IG9zSW5mbyB8fCBjYWxjdWxhdGVPcyhwYXJzZWRVc2VyQWdlbnQub3MpO1xuICAgIGNvbnN0IGVuZ2luZSAgICAgICAgICA9IGNhbGN1bGF0ZUVuZ2luZShwYXJzZWRVc2VyQWdlbnQuZW5naW5lKTtcbiAgICBjb25zdCBwcmV0dHlVc2VyQWdlbnQgPSBjYWxjdWxhdGVQcmV0dHlVc2VyQWdlbnQoYnJvd3Nlciwgb3MpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogICAgICAgICAgICBicm93c2VyLm5hbWUsXG4gICAgICAgIHZlcnNpb246ICAgICAgICAgYnJvd3Nlci52ZXJzaW9uLFxuICAgICAgICBwbGF0Zm9ybTogICAgICAgIHBhcnNlZFVzZXJBZ2VudC5wbGF0Zm9ybS50eXBlIHx8IERFRkFVTFRfUExBVEZPUk1fVFlQRSxcbiAgICAgICAgb3MsXG4gICAgICAgIGVuZ2luZSxcbiAgICAgICAgcHJldHR5VXNlckFnZW50OiBwcmV0dHlVc2VyQWdlbnQsXG4gICAgICAgIHVzZXJBZ2VudCxcbiAgICB9O1xufVxuIl19
|
package/lib/utils/string.js
CHANGED
|
@@ -103,4 +103,4 @@ function createList(array, PREFIX = '- ', SEPARATOR = '\n') {
|
|
|
103
103
|
return array.map(option => PREFIX + option).join(SEPARATOR);
|
|
104
104
|
}
|
|
105
105
|
exports.createList = createList;
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3N0cmluZy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrRUFBeUM7QUFFekMsTUFBTSwyQkFBMkIsR0FBRztJQUNoQyxTQUFTLEVBQUcsSUFBSTtJQUNoQixVQUFVLEVBQUUsR0FBRztDQUNsQixDQUFDO0FBRUYsU0FBUyxLQUFLLENBQUUsR0FBRztJQUNmLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVELFNBQWdCLGVBQWUsQ0FBRSxHQUFHO0lBQ2hDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRkQsMENBRUM7QUFFRCxTQUFnQixRQUFRLENBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLO0lBQ3hDLElBQUksTUFBTSxHQUFPLEVBQUUsQ0FBQztJQUNwQixJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFFcEIsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssR0FBRyxNQUFNO1FBQzdDLE9BQU8sSUFBQSx1QkFBWSxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFMUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztTQUM5QixLQUFLLENBQUMsK0JBQStCLENBQUM7UUFDdkMsMEJBQTBCO1NBQ3pCLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUUxQixHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2YsTUFBTSxNQUFNLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQztRQUU3QixJQUFJLGVBQWUsQ0FBQyxNQUFNLENB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JztcblxuY29uc3QgREVGQVVMVF9DT05DQVRFTkFURURfVkFMVUVTID0ge1xuICAgIFNFUEFSQVRPUjogICcsICcsXG4gICAgUVVPVEVfQ0hBUjogJ1wiJyxcbn07XG5cbmZ1bmN0aW9uIHJ0cmltIChzdHIpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL1xccyskLywgJycpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlVFRZQ29sb3JzIChzdHIpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL1xcMDMzXFxbWzAtOTtdKm0vZywgJycpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd29yZFdyYXAgKHN0ciwgaW5kZW50LCB3aWR0aCkge1xuICAgIGxldCBjdXJTdHIgICAgID0gJyc7XG4gICAgbGV0IHdyYXBwZWRNc2cgPSAnJztcblxuICAgIGlmIChyZW1vdmVUVFlDb2xvcnMoc3RyKS5sZW5ndGggPD0gd2lkdGggLSBpbmRlbnQpXG4gICAgICAgIHJldHVybiBpbmRlbnRTdHJpbmcoc3RyLCAnICcsIGluZGVudCk7XG5cbiAgICBzdHIgPSBzdHIucmVwbGFjZSgvKFxcclxcbikvZ20sICdcXG4nKVxuICAgICAgICAuc3BsaXQoLyhcXFMrWyBcXHRdKyl8KFxcUysoPzpcXG4pKXwoXFxuKS9tKVxuICAgICAgICAvL05PVEU6IGN1dCBlbXB0eSBlbGVtZW50c1xuICAgICAgICAuZmlsdGVyKGVsbSA9PiAhIWVsbSk7XG5cbiAgICBzdHIuZm9yRWFjaCh3b3JkID0+IHtcbiAgICAgICAgY29uc3QgbmV3U3RyID0gY3VyU3RyICsgd29yZDtcblxuICAgICAgICBpZiAocmVtb3ZlVFRZQ29sb3JzKG5ld1N0cikubGVuZ3RoID4gd2lkdGggLSBpbmRlbnQpIHtcbiAgICAgICAgICAgIHdyYXBwZWRNc2cgKz0gYCR7cnRyaW0oY3VyU3RyKX1cXG5gO1xuICAgICAgICAgICAgY3VyU3RyID0gd29yZDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChjdXJTdHJbY3VyU3RyLmxlbmd0aCAtIDFdID09PSAnXFxuJykge1xuICAgICAgICAgICAgICAgIHdyYXBwZWRNc2cgKz0gYCR7cnRyaW0oY3VyU3RyKX1cXG5gO1xuICAgICAgICAgICAgICAgIGN1clN0ciA9ICcnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjdXJTdHIgKz0gd29yZDtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGluZGVudFN0cmluZyh3cmFwcGVkTXNnICsgY3VyU3RyLCAnICcsIGluZGVudCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdFF1b3RlZFRleHQgKHN0ciwgc3BsaXRDaGFyLCBxdW90ZXMgPSAnXCJcXCcnKSB7XG4gICAgbGV0IGN1cnJlbnRQYXJ0ID0gJyc7XG4gICAgY29uc3QgcGFydHMgICAgID0gW107XG4gICAgbGV0IHF1b3RlQ2hhciAgID0gbnVsbDtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRDaGFyID0gc3RyW2ldO1xuXG4gICAgICAgIGlmIChjdXJyZW50Q2hhciA9PT0gc3BsaXRDaGFyKSB7XG4gICAgICAgICAgICBpZiAocXVvdGVDaGFyKVxuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJ0ICs9IGN1cnJlbnRDaGFyO1xuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChjdXJyZW50UGFydCk7XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcnQgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChxdW90ZXMuaW5kZXhPZihjdXJyZW50Q2hhcikgPiAtMSkge1xuICAgICAgICAgICAgaWYgKHF1b3RlQ2hhciA9PT0gY3VycmVudENoYXIpXG4gICAgICAgICAgICAgICAgcXVvdGVDaGFyID0gbnVsbDtcbiAgICAgICAgICAgIGVsc2UgaWYgKCFxdW90ZUNoYXIpXG4gICAgICAgICAgICAgICAgcXVvdGVDaGFyID0gY3VycmVudENoYXI7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgY3VycmVudFBhcnQgKz0gY3VycmVudENoYXI7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgY3VycmVudFBhcnQgKz0gY3VycmVudENoYXI7XG4gICAgfVxuXG4gICAgaWYgKGN1cnJlbnRQYXJ0KVxuICAgICAgICBwYXJ0cy5wdXNoKGN1cnJlbnRQYXJ0KTtcblxuICAgIHJldHVybiBwYXJ0cztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBsdXJhbFN1ZmZpeCAoYXJyYXkpIHtcbiAgICByZXR1cm4gYXJyYXkubGVuZ3RoID4gMSA/ICdzJyA6ICcnO1xufVxuXG5mdW5jdGlvbiBnZXREaXNwbGF5ZWRJdGVtVGV4dCAoaXRlbSwgcXVvdGUpIHtcbiAgICByZXR1cm4gYCR7cXVvdGV9JHtpdGVtfSR7cXVvdGV9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbmNhdGVuYXRlZFZhbHVlc1N0cmluZyAoYXJyYXksIHNlcGFyYXRvciA9IERFRkFVTFRfQ09OQ0FURU5BVEVEX1ZBTFVFUy5TRVBBUkFUT1IsIHF1b3RlQ2hhciA9IERFRkFVTFRfQ09OQ0FURU5BVEVEX1ZBTFVFUy5RVU9URV9DSEFSKSB7XG4gICAgY29uc3QgY2xvbmVkQXJyYXkgPSBbLi4uYXJyYXldO1xuXG4gICAgaWYgKHNlcGFyYXRvci5pbmRleE9mKCdcXG4nKSA+IC0xKVxuICAgICAgICByZXR1cm4gY2xvbmVkQXJyYXkubWFwKGl0ZW0gPT4gZ2V0RGlzcGxheWVkSXRlbVRleHQoaXRlbSwgcXVvdGVDaGFyKSkuam9pbihzZXBhcmF0b3IpO1xuXG4gICAgZWxzZSBpZiAoY2xvbmVkQXJyYXkubGVuZ3RoID09PSAxKVxuICAgICAgICByZXR1cm4gZ2V0RGlzcGxheWVkSXRlbVRleHQoY2xvbmVkQXJyYXlbMF0sIHF1b3RlQ2hhcik7XG5cbiAgICBlbHNlIGlmIChjbG9uZWRBcnJheS5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgY29uc3QgaXRlbTEgPSBhcnJheVswXTtcbiAgICAgICAgY29uc3QgaXRlbTIgPSBhcnJheVsxXTtcblxuICAgICAgICByZXR1cm4gYCR7Z2V0RGlzcGxheWVkSXRlbVRleHQoaXRlbTEsIHF1b3RlQ2hhcil9IGFuZCAke2dldERpc3BsYXllZEl0ZW1UZXh0KGl0ZW0yLCBxdW90ZUNoYXIpfWA7XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdEl0ZW0gICAgICAgID0gY2xvbmVkQXJyYXkucG9wKCk7XG4gICAgY29uc3Qgb3RoZXJJdGVtU3RyaW5nID0gY2xvbmVkQXJyYXkubWFwKGl0ZW0gPT4gZ2V0RGlzcGxheWVkSXRlbVRleHQoaXRlbSwgcXVvdGVDaGFyKSkuam9pbihzZXBhcmF0b3IpO1xuXG4gICAgcmV0dXJuIGAke290aGVySXRlbVN0cmluZ30sIGFuZCAke2dldERpc3BsYXllZEl0ZW1UZXh0KGxhc3RJdGVtLCBxdW90ZUNoYXIpfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUb0JlSW5QYXN0VGVuc2UgKGFycmF5KSB7XG4gICAgcmV0dXJuIGFycmF5Lmxlbmd0aCA+IDEgPyAnd2VyZScgOiAnd2FzJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxpc3QgKGFycmF5LCBQUkVGSVggPSAnLSAnLCBTRVBBUkFUT1IgPSAnXFxuJykge1xuICAgIHJldHVybiBhcnJheS5tYXAob3B0aW9uID0+IFBSRUZJWCArIG9wdGlvbikuam9pbihTRVBBUkFUT1IpO1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "testcafe",
|
|
3
3
|
"description": "Automated browser testing for the modern web development stack.",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "2.
|
|
5
|
+
"version": "2.6.1",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Developer Express Inc.",
|
|
8
8
|
"url": "https://www.devexpress.com/"
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"url": "git+https://github.com/DevExpress/testcafe.git"
|
|
20
20
|
},
|
|
21
21
|
"engines": {
|
|
22
|
-
"node": ">=
|
|
22
|
+
"node": ">=16.0.0"
|
|
23
23
|
},
|
|
24
24
|
"main": "lib/index",
|
|
25
25
|
"types": "ts-defs/index.d.ts",
|
|
@@ -77,18 +77,18 @@
|
|
|
77
77
|
"@babel/preset-flow": "^7.12.1",
|
|
78
78
|
"@babel/preset-react": "^7.12.1",
|
|
79
79
|
"@babel/runtime": "^7.12.5",
|
|
80
|
+
"@devexpress/bin-v8-flags-filter": "^1.3.0",
|
|
80
81
|
"@miherlosev/esm": "3.2.26",
|
|
81
82
|
"@types/node": "^12.20.10",
|
|
82
83
|
"async-exit-hook": "^1.1.2",
|
|
83
84
|
"babel-plugin-module-resolver": "^5.0.0",
|
|
84
85
|
"babel-plugin-syntax-trailing-function-commas": "^6.22.0",
|
|
85
|
-
"@devexpress/bin-v8-flags-filter": "^1.3.0",
|
|
86
86
|
"bowser": "^2.8.1",
|
|
87
87
|
"callsite": "^1.0.0",
|
|
88
88
|
"callsite-record": "^4.0.0",
|
|
89
89
|
"chai": "4.3.4",
|
|
90
90
|
"chalk": "^2.3.0",
|
|
91
|
-
"chrome-remote-interface": "^0.
|
|
91
|
+
"chrome-remote-interface": "^0.32.1",
|
|
92
92
|
"coffeescript": "^2.3.1",
|
|
93
93
|
"commander": "^8.3.0",
|
|
94
94
|
"debug": "^4.3.1",
|
|
@@ -139,18 +139,19 @@
|
|
|
139
139
|
"resolve-from": "^4.0.0",
|
|
140
140
|
"sanitize-filename": "^1.6.0",
|
|
141
141
|
"semver": "^5.6.0",
|
|
142
|
+
"set-cookie-parser": "^2.5.1",
|
|
142
143
|
"source-map-support": "^0.5.16",
|
|
143
144
|
"strip-bom": "^2.0.0",
|
|
144
|
-
"testcafe-browser-tools": "2.0.
|
|
145
|
-
"testcafe-hammerhead": "
|
|
145
|
+
"testcafe-browser-tools": "2.0.25",
|
|
146
|
+
"testcafe-hammerhead": "^31.4.2",
|
|
146
147
|
"testcafe-legacy-api": "5.1.6",
|
|
147
|
-
"testcafe-reporter-dashboard": "^0.2.10",
|
|
148
148
|
"testcafe-reporter-json": "^2.1.0",
|
|
149
|
-
"testcafe-reporter-list": "^2.
|
|
150
|
-
"testcafe-reporter-minimal": "^2.
|
|
151
|
-
"testcafe-reporter-spec": "^2.
|
|
149
|
+
"testcafe-reporter-list": "^2.2.0",
|
|
150
|
+
"testcafe-reporter-minimal": "^2.2.0",
|
|
151
|
+
"testcafe-reporter-spec": "^2.2.0",
|
|
152
152
|
"testcafe-reporter-xunit": "^2.2.1",
|
|
153
153
|
"testcafe-safe-storage": "^1.1.1",
|
|
154
|
+
"testcafe-selector-generator": "^0.1.0",
|
|
154
155
|
"time-limit-promise": "^1.0.2",
|
|
155
156
|
"tmp": "0.0.28",
|
|
156
157
|
"tree-kill": "^1.2.2",
|
|
@@ -175,6 +176,7 @@
|
|
|
175
176
|
"@types/mustache": "^0.8.32",
|
|
176
177
|
"@types/prompts": "^2.0.14",
|
|
177
178
|
"@types/semver": "^7.3.4",
|
|
179
|
+
"@types/set-cookie-parser": "^2.4.2",
|
|
178
180
|
"@types/source-map-support": "^0.5.0",
|
|
179
181
|
"@types/useragent": "^2.1.1",
|
|
180
182
|
"@typescript-eslint/eslint-plugin": "^5.29.0",
|
|
@@ -188,8 +190,9 @@
|
|
|
188
190
|
"chai-string": "^1.5.0",
|
|
189
191
|
"chrome-launcher": "^0.15.0",
|
|
190
192
|
"connect": "^3.4.0",
|
|
193
|
+
"cors": "^2.8.5",
|
|
191
194
|
"cross-env": "^7.0.3",
|
|
192
|
-
"devtools-protocol": "0.0.
|
|
195
|
+
"devtools-protocol": "0.0.1109433",
|
|
193
196
|
"dom-walk": "^0.1.1",
|
|
194
197
|
"escape-string-regexp": "^4.0.0",
|
|
195
198
|
"eslint": "^7.13.0",
|
package/ts-defs/index.d.ts
CHANGED
|
@@ -2220,6 +2220,13 @@ declare module 'testcafe' {
|
|
|
2220
2220
|
* @param options - Error skipping conditions: a Boolean flag, an Object with options, or a callback function that defines custom error skipping logic.
|
|
2221
2221
|
*/
|
|
2222
2222
|
skipJsErrors (options?: boolean | SkipJsErrorsOptionsObject | SkipJsErrorsCallback | SkipJsErrorsCallbackWithOptionsObject): TestControllerPromise;
|
|
2223
|
+
|
|
2224
|
+
/**
|
|
2225
|
+
* Pass custom data to the reporter.
|
|
2226
|
+
*
|
|
2227
|
+
* @param args - The data you want to report.
|
|
2228
|
+
*/
|
|
2229
|
+
report (...args: any[]): TestControllerPromise;
|
|
2223
2230
|
}
|
|
2224
2231
|
|
|
2225
2232
|
interface TestControllerPromise<T=any> extends TestController, Promise<T> {
|
|
@@ -2393,7 +2400,7 @@ declare module 'testcafe' {
|
|
|
2393
2400
|
// // SkipJsErrors API
|
|
2394
2401
|
//----------------------------------------------------------------------------------------------------------------------
|
|
2395
2402
|
|
|
2396
|
-
type SkipJsErrorsCallback = (opts?: {message
|
|
2403
|
+
type SkipJsErrorsCallback = (opts?: {message?: string; stack: string; pageUrl: string }) => boolean;
|
|
2397
2404
|
|
|
2398
2405
|
interface SkipJsErrorsCallbackWithOptionsObject {
|
|
2399
2406
|
fn: SkipJsErrorsCallback;
|
|
@@ -2665,6 +2672,10 @@ declare module 'testcafe' {
|
|
|
2665
2672
|
* Disables support for multi-window testing in Chrome and Firefox. Use this option if you encounter compatibility issues with your existing tests.
|
|
2666
2673
|
*/
|
|
2667
2674
|
disableMultipleWindows: boolean;
|
|
2675
|
+
/**
|
|
2676
|
+
* Enables native automation of Chromium-based browsers. Use this option to speed up browser automation and increase test stability.
|
|
2677
|
+
*/
|
|
2678
|
+
nativeAutomation: boolean;
|
|
2668
2679
|
}
|
|
2669
2680
|
|
|
2670
2681
|
interface StartOptions {
|
|
@@ -2677,7 +2688,6 @@ declare module 'testcafe' {
|
|
|
2677
2688
|
cache: boolean;
|
|
2678
2689
|
configFile: string;
|
|
2679
2690
|
disableHttp2: boolean;
|
|
2680
|
-
proxyless: boolean;
|
|
2681
2691
|
}
|
|
2682
2692
|
|
|
2683
2693
|
interface ColorOutputOptions {
|
package/ts-defs/selectors.d.ts
CHANGED
|
@@ -2218,6 +2218,13 @@ declare module 'testcafe' {
|
|
|
2218
2218
|
* @param options - Error skipping conditions: a Boolean flag, an Object with options, or a callback function that defines custom error skipping logic.
|
|
2219
2219
|
*/
|
|
2220
2220
|
skipJsErrors (options?: boolean | SkipJsErrorsOptionsObject | SkipJsErrorsCallback | SkipJsErrorsCallbackWithOptionsObject): TestControllerPromise;
|
|
2221
|
+
|
|
2222
|
+
/**
|
|
2223
|
+
* Pass custom data to the reporter.
|
|
2224
|
+
*
|
|
2225
|
+
* @param args - The data you want to report.
|
|
2226
|
+
*/
|
|
2227
|
+
report (...args: any[]): TestControllerPromise;
|
|
2221
2228
|
}
|
|
2222
2229
|
|
|
2223
2230
|
interface TestControllerPromise<T=any> extends TestController, Promise<T> {
|
|
@@ -2391,7 +2398,7 @@ declare module 'testcafe' {
|
|
|
2391
2398
|
// // SkipJsErrors API
|
|
2392
2399
|
//----------------------------------------------------------------------------------------------------------------------
|
|
2393
2400
|
|
|
2394
|
-
type SkipJsErrorsCallback = (opts?: {message
|
|
2401
|
+
type SkipJsErrorsCallback = (opts?: {message?: string; stack: string; pageUrl: string }) => boolean;
|
|
2395
2402
|
|
|
2396
2403
|
interface SkipJsErrorsCallbackWithOptionsObject {
|
|
2397
2404
|
fn: SkipJsErrorsCallback;
|
|
@@ -2218,6 +2218,13 @@ declare module 'testcafe' {
|
|
|
2218
2218
|
* @param options - Error skipping conditions: a Boolean flag, an Object with options, or a callback function that defines custom error skipping logic.
|
|
2219
2219
|
*/
|
|
2220
2220
|
skipJsErrors (options?: boolean | SkipJsErrorsOptionsObject | SkipJsErrorsCallback | SkipJsErrorsCallbackWithOptionsObject): TestControllerPromise;
|
|
2221
|
+
|
|
2222
|
+
/**
|
|
2223
|
+
* Pass custom data to the reporter.
|
|
2224
|
+
*
|
|
2225
|
+
* @param args - The data you want to report.
|
|
2226
|
+
*/
|
|
2227
|
+
report (...args: any[]): TestControllerPromise;
|
|
2221
2228
|
}
|
|
2222
2229
|
|
|
2223
2230
|
interface TestControllerPromise<T=any> extends TestController, Promise<T> {
|
|
@@ -2391,7 +2398,7 @@ declare module 'testcafe' {
|
|
|
2391
2398
|
// // SkipJsErrors API
|
|
2392
2399
|
//----------------------------------------------------------------------------------------------------------------------
|
|
2393
2400
|
|
|
2394
|
-
type SkipJsErrorsCallback = (opts?: {message
|
|
2401
|
+
type SkipJsErrorsCallback = (opts?: {message?: string; stack: string; pageUrl: string }) => boolean;
|
|
2395
2402
|
|
|
2396
2403
|
interface SkipJsErrorsCallbackWithOptionsObject {
|
|
2397
2404
|
fn: SkipJsErrorsCallback;
|