angular-toolbox 0.11.2 → 0.11.4
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 +1 -1
- package/esm2022/lib/core/bridge/app-bridge.mjs +3 -3
- package/esm2022/lib/core/error/app-bridge-error.mjs +3 -3
- package/esm2022/lib/core/error/http-mock-service-error.mjs +3 -3
- package/esm2022/lib/core/error/integrity-error.mjs +3 -3
- package/esm2022/lib/core/error/subscription-error.mjs +3 -3
- package/esm2022/lib/core/impl/lang/identifiable-component.mjs +3 -3
- package/esm2022/lib/core/impl/version/version.impl.mjs +3 -3
- package/esm2022/lib/framework/index.mjs +3 -1
- package/esm2022/lib/framework/logging/connector/console-log-connector.mjs +48 -0
- package/esm2022/lib/framework/logging/connector/default-log-connector.mjs +34 -0
- package/esm2022/lib/framework/logging/connector/html-log-connector.mjs +177 -0
- package/esm2022/lib/framework/logging/connector/index.mjs +4 -0
- package/esm2022/lib/framework/logging/impl/abstract-logger.mjs +100 -0
- package/esm2022/lib/framework/logging/impl/index.mjs +3 -0
- package/esm2022/lib/framework/logging/impl/log-impl.mjs +28 -0
- package/esm2022/lib/framework/logging/index.mjs +4 -0
- package/esm2022/lib/framework/logging/util/index.mjs +4 -0
- package/esm2022/lib/framework/logging/util/log.builder.mjs +28 -0
- package/esm2022/lib/framework/logging/util/log.constant.mjs +24 -0
- package/esm2022/lib/framework/logging/util/log.util.mjs +142 -0
- package/esm2022/lib/framework/mock/http/core/data-storage.mjs +1 -1
- package/esm2022/lib/framework/mock/http/core/response-delay.mjs +9 -0
- package/esm2022/lib/framework/mock/http/event/event-target.impl.mjs +15 -1
- package/esm2022/lib/framework/mock/http/logging/http-mock-logger.mjs +15 -0
- package/esm2022/lib/framework/mock/http/logging/http-mock-logging-metadata.builder.mjs +35 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/escape-to-regexp-string.mjs +3 -3
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/lex-token.mjs +3 -3
- package/esm2022/lib/framework/mock/http/util/data-storage.builder.mjs +5 -3
- package/esm2022/lib/framework/mock/http/util/http-headers.util.mjs +18 -3
- package/esm2022/lib/framework/mock/http/util/http-mock-max-delay.mjs +12 -0
- package/esm2022/lib/framework/mock/http/util/http-mock-response-delay.util.mjs +33 -0
- package/esm2022/lib/framework/mock/http/util/http-mock-response.builder.mjs +45 -9
- package/esm2022/lib/framework/mock/http/util/index.mjs +2 -1
- package/esm2022/lib/framework/mock/http/xhr/delegate-xhr.mjs +75 -41
- package/esm2022/lib/framework/mock/http/xhr/http-mock-factory.impl.mjs +4 -3
- package/esm2022/lib/framework/mock/http/xhr/http-mock-factory.mjs +3 -2
- package/esm2022/lib/framework/mock/http/xhr/xhr-proxy-impl.mjs +7 -6
- package/esm2022/lib/framework/mock/http-monitoring-console/component/console-footer/console-footer.component.mjs +30 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/component/console-menu/console-menu.component.mjs +30 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/component/http-monitoring-console/http-monitoring-console.component.mjs +140 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/icon-renderer/icon-renderer.component.mjs +37 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/json-viewer/json-viewer.component.mjs +34 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/json-viewer-panel/json-viewer-panel.component.mjs +27 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/payload-renderer/payload-renderer.component.mjs +50 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/response-body-renderer/response-body-renderer.component.mjs +50 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/response-preview-renderer/response-preview-renderer.component.mjs +71 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/timing-renderer/timing-renderer.component.mjs +55 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/component/request-details/request-details.component.mjs +67 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/connector/http-monitoring-console-log-connector.mjs +52 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/index.mjs +2 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-console-action-type.mjs +14 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-console-action.mjs +9 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-console-json.mjs +9 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-is-imported-log.mjs +10 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-body-dto.mjs +9 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-header-dto.mjs +9 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-log-metadata.dto.mjs +9 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-log.dto.mjs +9 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-request-metadata.dto.ts.mjs +9 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-request.dto.mjs +9 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-response.dto.mjs +9 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/hmfl.mjs +9 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/atx-log-io.service.mjs +77 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/io/body-converter.mjs +22 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/io/body-serializer.mjs +47 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/io/http-request-converter.mjs +44 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/io/http-response-converter.mjs +32 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/io/log-converter.mjs +31 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/io/log-headers-converter.mjs +35 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/io/log-message.util.mjs +19 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/io/log-metadata-converter.mjs +27 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/io/request-metadata-converter.mjs +29 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/util/console-body-type.mjs +18 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/util/console-type-class.mjs +17 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/util/data.util.mjs +75 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/util/size.util.mjs +35 -0
- package/esm2022/lib/framework/mock/http-monitoring-console/util/url.util.mjs +26 -0
- package/esm2022/lib/model/business/index.mjs +2 -1
- package/esm2022/lib/model/business/lang/app-bridge-command.mjs +3 -3
- package/esm2022/lib/model/business/lang/destroyable.mjs +3 -3
- package/esm2022/lib/model/business/lang/identifiable.mjs +3 -3
- package/esm2022/lib/model/business/logging/http-mock-logging-constant.enum.mjs +34 -0
- package/esm2022/lib/model/business/logging/index.mjs +6 -0
- package/esm2022/lib/model/business/logging/log-connector.mjs +9 -0
- package/esm2022/lib/model/business/logging/log-level.enum.mjs +35 -0
- package/esm2022/lib/model/business/logging/log.mjs +9 -0
- package/esm2022/lib/model/business/logging/logger.mjs +2 -0
- package/esm2022/lib/model/business/logging/transactional-logger.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/config/http-mock-production-policy.enum.mjs +27 -0
- package/esm2022/lib/model/business/mock/http/config/http-mocking-framework-config.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/config/http-mocking-framework-config.provider.mjs +33 -0
- package/esm2022/lib/model/business/mock/http/config/index.mjs +4 -0
- package/esm2022/lib/model/business/mock/http/fetch-client.mjs +7 -2
- package/esm2022/lib/model/business/mock/http/http-method-mock.mjs +1 -1
- package/esm2022/lib/model/business/mock/http/http-mock-request-metadata.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/index.mjs +4 -1
- package/esm2022/lib/model/business/mock/http/logging/http-mock-logging-metadata.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/logging/http-mock-logging-prefetch-metadata.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/logging/index.mjs +3 -0
- package/esm2022/lib/model/service/index.mjs +3 -2
- package/esm2022/lib/model/service/logging/index.mjs +2 -0
- package/esm2022/lib/model/service/logging/logger-service.mjs +24 -0
- package/esm2022/lib/model/service/mock/http/http-mock.service.mjs +45 -6
- package/esm2022/lib/model/service/mock/http/index.mjs +3 -0
- package/esm2022/lib/model/service/mock/http/logging/http-mock-logging-service.mjs +110 -0
- package/esm2022/lib/model/service/mock/http/logging/index.mjs +2 -0
- package/esm2022/lib/model/service/ui/app-bridge.service.mjs +3 -3
- package/esm2022/lib/model/service/ui/dark-mode.service.mjs +3 -3
- package/esm2022/lib/model/service/version/angular-toolbox-version.service.mjs +3 -3
- package/esm2022/lib/util/default-scroll-behavior.mjs +3 -3
- package/esm2022/lib/util/http-mocking-framework-config.manager.mjs +129 -0
- package/fesm2022/angular-toolbox.mjs +3338 -997
- package/fesm2022/angular-toolbox.mjs.map +1 -1
- package/lib/core/bridge/app-bridge.d.ts +2 -2
- package/lib/core/error/app-bridge-error.d.ts +2 -2
- package/lib/core/error/http-mock-service-error.d.ts +2 -2
- package/lib/core/error/integrity-error.d.ts +2 -2
- package/lib/core/error/subscription-error.d.ts +2 -2
- package/lib/core/impl/lang/identifiable-component.d.ts +2 -2
- package/lib/core/impl/version/version.impl.d.ts +2 -2
- package/lib/framework/index.d.ts +2 -0
- package/lib/framework/logging/connector/console-log-connector.d.ts +34 -0
- package/lib/framework/logging/connector/default-log-connector.d.ts +34 -0
- package/lib/framework/logging/connector/html-log-connector.d.ts +72 -0
- package/lib/framework/logging/connector/index.d.ts +3 -0
- package/lib/framework/logging/impl/abstract-logger.d.ts +69 -0
- package/lib/framework/logging/impl/index.d.ts +2 -0
- package/lib/framework/logging/impl/log-impl.d.ts +42 -0
- package/lib/framework/logging/index.d.ts +3 -0
- package/lib/framework/logging/util/index.d.ts +3 -0
- package/lib/framework/logging/util/log.builder.d.ts +24 -0
- package/lib/framework/logging/util/log.constant.d.ts +23 -0
- package/lib/framework/logging/util/log.util.d.ts +48 -0
- package/lib/framework/mock/http/core/data-storage.d.ts +6 -1
- package/lib/framework/mock/http/core/response-delay.d.ts +23 -0
- package/lib/framework/mock/http/event/event-target.impl.d.ts +8 -0
- package/lib/framework/mock/http/logging/http-mock-logger.d.ts +14 -0
- package/lib/framework/mock/http/logging/http-mock-logging-metadata.builder.d.ts +20 -0
- package/lib/framework/mock/http/path-to-regexp/escape-to-regexp-string.d.ts +2 -2
- package/lib/framework/mock/http/path-to-regexp/model/lex-token.d.ts +2 -2
- package/lib/framework/mock/http/util/data-storage.builder.d.ts +3 -2
- package/lib/framework/mock/http/util/http-headers.util.d.ts +10 -0
- package/lib/framework/mock/http/util/http-mock-max-delay.d.ts +11 -0
- package/lib/framework/mock/http/util/http-mock-response-delay.util.d.ts +22 -0
- package/lib/framework/mock/http/util/http-mock-response.builder.d.ts +16 -0
- package/lib/framework/mock/http/util/index.d.ts +1 -0
- package/lib/framework/mock/http/xhr/delegate-xhr.d.ts +11 -4
- package/lib/framework/mock/http/xhr/http-mock-factory.impl.d.ts +3 -1
- package/lib/framework/mock/http/xhr/xhr-proxy-impl.d.ts +6 -5
- package/lib/framework/mock/http-monitoring-console/component/console-footer/console-footer.component.d.ts +8 -0
- package/lib/framework/mock/http-monitoring-console/component/console-menu/console-menu.component.d.ts +21 -0
- package/lib/framework/mock/http-monitoring-console/component/http-monitoring-console/http-monitoring-console.component.d.ts +42 -0
- package/lib/framework/mock/http-monitoring-console/component/renderer/icon-renderer/icon-renderer.component.d.ts +12 -0
- package/lib/framework/mock/http-monitoring-console/component/renderer/json-viewer/json-viewer.component.d.ts +8 -0
- package/lib/framework/mock/http-monitoring-console/component/renderer/json-viewer-panel/json-viewer-panel.component.d.ts +7 -0
- package/lib/framework/mock/http-monitoring-console/component/renderer/payload-renderer/payload-renderer.component.d.ts +20 -0
- package/lib/framework/mock/http-monitoring-console/component/renderer/response-body-renderer/response-body-renderer.component.d.ts +20 -0
- package/lib/framework/mock/http-monitoring-console/component/renderer/response-preview-renderer/response-preview-renderer.component.d.ts +27 -0
- package/lib/framework/mock/http-monitoring-console/component/renderer/timing-renderer/timing-renderer.component.d.ts +13 -0
- package/lib/framework/mock/http-monitoring-console/component/request-details/request-details.component.d.ts +27 -0
- package/lib/framework/mock/http-monitoring-console/connector/http-monitoring-console-log-connector.d.ts +40 -0
- package/lib/framework/mock/http-monitoring-console/index.d.ts +1 -0
- package/lib/framework/mock/http-monitoring-console/model/business/atx-console-action-type.d.ts +12 -0
- package/lib/framework/mock/http-monitoring-console/model/business/atx-console-action.d.ts +12 -0
- package/lib/framework/mock/http-monitoring-console/model/business/atx-console-json.d.ts +14 -0
- package/lib/framework/mock/http-monitoring-console/model/business/atx-is-imported-log.d.ts +9 -0
- package/lib/framework/mock/http-monitoring-console/model/business/io/atx-body-dto.d.ts +11 -0
- package/lib/framework/mock/http-monitoring-console/model/business/io/atx-header-dto.d.ts +11 -0
- package/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-log-metadata.dto.d.ts +18 -0
- package/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-log.dto.d.ts +23 -0
- package/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-request-metadata.dto.ts.d.ts +32 -0
- package/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-request.dto.d.ts +18 -0
- package/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-response.dto.d.ts +16 -0
- package/lib/framework/mock/http-monitoring-console/model/business/io/hmfl.d.ts +12 -0
- package/lib/framework/mock/http-monitoring-console/model/service/atx-log-io.service.d.ts +11 -0
- package/lib/framework/mock/http-monitoring-console/model/service/io/body-converter.d.ts +12 -0
- package/lib/framework/mock/http-monitoring-console/model/service/io/body-serializer.d.ts +13 -0
- package/lib/framework/mock/http-monitoring-console/model/service/io/http-request-converter.d.ts +13 -0
- package/lib/framework/mock/http-monitoring-console/model/service/io/http-response-converter.d.ts +13 -0
- package/lib/framework/mock/http-monitoring-console/model/service/io/log-converter.d.ts +13 -0
- package/lib/framework/mock/http-monitoring-console/model/service/io/log-headers-converter.d.ts +13 -0
- package/lib/framework/mock/http-monitoring-console/model/service/io/log-message.util.d.ts +12 -0
- package/lib/framework/mock/http-monitoring-console/model/service/io/log-metadata-converter.d.ts +13 -0
- package/lib/framework/mock/http-monitoring-console/model/service/io/request-metadata-converter.d.ts +13 -0
- package/lib/framework/mock/http-monitoring-console/util/console-body-type.d.ts +16 -0
- package/lib/framework/mock/http-monitoring-console/util/console-type-class.d.ts +15 -0
- package/lib/framework/mock/http-monitoring-console/util/data.util.d.ts +13 -0
- package/lib/framework/mock/http-monitoring-console/util/size.util.d.ts +11 -0
- package/lib/framework/mock/http-monitoring-console/util/url.util.d.ts +13 -0
- package/lib/model/business/index.d.ts +1 -0
- package/lib/model/business/lang/app-bridge-command.d.ts +2 -2
- package/lib/model/business/lang/destroyable.d.ts +2 -2
- package/lib/model/business/lang/identifiable.d.ts +2 -2
- package/lib/model/business/logging/http-mock-logging-constant.enum.d.ts +32 -0
- package/lib/model/business/logging/index.d.ts +5 -0
- package/lib/model/business/logging/log-connector.d.ts +36 -0
- package/lib/model/business/logging/log-level.enum.d.ts +33 -0
- package/lib/model/business/logging/log.d.ts +34 -0
- package/lib/model/business/logging/logger.d.ts +58 -0
- package/lib/model/business/logging/transactional-logger.d.ts +28 -0
- package/lib/model/business/mock/http/config/http-mock-production-policy.enum.d.ts +24 -0
- package/lib/model/business/mock/http/config/http-mocking-framework-config.d.ts +21 -0
- package/lib/model/business/mock/http/config/http-mocking-framework-config.provider.d.ts +21 -0
- package/lib/model/business/mock/http/config/index.d.ts +3 -0
- package/lib/model/business/mock/http/fetch-client.d.ts +1 -1
- package/lib/model/business/mock/http/http-method-mock.d.ts +1 -6
- package/lib/model/business/mock/http/http-mock-request-metadata.d.ts +33 -0
- package/lib/model/business/mock/http/index.d.ts +3 -0
- package/lib/model/business/mock/http/logging/http-mock-logging-metadata.d.ts +15 -0
- package/lib/model/business/mock/http/logging/http-mock-logging-prefetch-metadata.d.ts +16 -0
- package/lib/model/business/mock/http/logging/index.d.ts +2 -0
- package/lib/model/service/index.d.ts +2 -1
- package/lib/model/service/logging/index.d.ts +1 -0
- package/lib/model/service/logging/logger-service.d.ts +9 -0
- package/lib/model/service/mock/http/http-mock.service.d.ts +35 -2
- package/lib/model/service/mock/http/index.d.ts +2 -0
- package/lib/model/service/mock/http/logging/http-mock-logging-service.d.ts +78 -0
- package/lib/model/service/mock/http/logging/index.d.ts +1 -0
- package/lib/model/service/ui/dark-mode.service.d.ts +2 -2
- package/lib/util/default-scroll-behavior.d.ts +2 -2
- package/lib/util/http-mocking-framework-config.manager.d.ts +66 -0
- package/package.json +1 -1
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
import { HttpMockProductionPolicy } from "../model";
|
|
9
|
+
import { HttpMockServiceError } from "../core";
|
|
10
|
+
/**
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
const POLICY_WARNING = "HTTP Mocking Framework is running in production mode";
|
|
14
|
+
/**
|
|
15
|
+
* @private
|
|
16
|
+
*/
|
|
17
|
+
const POLICY_ERROR = new HttpMockServiceError(POLICY_WARNING + ": remove all framework references or change the 'productionPolicy' property value of the HTTP_MOCKING_FRAMEWORK_CONFIG provider.");
|
|
18
|
+
/**
|
|
19
|
+
* @private
|
|
20
|
+
*/
|
|
21
|
+
const FLAG_ID = "http-mocking-framework-flag";
|
|
22
|
+
/**
|
|
23
|
+
* The object that manages the HTTP Mocking Framework options.
|
|
24
|
+
*/
|
|
25
|
+
export class HttpMockingFrameworkConfigManager {
|
|
26
|
+
/**
|
|
27
|
+
* Returns the value specified by the `disableVisualFlag` of the `HttpMockingFrameworkConfig` provider,
|
|
28
|
+
* or `false` when no provider is defined.
|
|
29
|
+
*/
|
|
30
|
+
get disableVisualFlag() {
|
|
31
|
+
const cfg = this._config;
|
|
32
|
+
return cfg && cfg.disableVisualFlag ? cfg.disableVisualFlag : false;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Returns the value specified by the `productionPolicy` of the `HttpMockingFrameworkConfig` provider,
|
|
36
|
+
* or `HttpMockProductionPolicy.ERROR` when no provider is defined.
|
|
37
|
+
*/
|
|
38
|
+
get productionPolicy() {
|
|
39
|
+
return this._prodPolicy;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @private
|
|
43
|
+
* Creates and Initializes the manager with the specified config.
|
|
44
|
+
*
|
|
45
|
+
* @param document The reference to the `Document` object, injected by Angular.
|
|
46
|
+
* @param isDevMode Indicates wheter Angular runs in development mode (`true`), or in production mode (`false`).
|
|
47
|
+
* @param config The `HttpMockingFrameworkConfi` provider.
|
|
48
|
+
*/
|
|
49
|
+
constructor(document, isDevMode, config) {
|
|
50
|
+
this._isProdMode = !isDevMode;
|
|
51
|
+
this._document = document;
|
|
52
|
+
this._config = config;
|
|
53
|
+
this._prodPolicy = config && config.productionPolicy !== undefined ? config.productionPolicy : HttpMockProductionPolicy.ERROR;
|
|
54
|
+
this.checkPolicy();
|
|
55
|
+
this.createVisualFlag(document, config);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Apply a strategy depending on the current production policy and environment.
|
|
59
|
+
* @param route An optional parameter used when the methhod is associated to a HTTP request.
|
|
60
|
+
* Must be the representation of the intercepted route path.
|
|
61
|
+
* @param method An optional parameter used when the methhod is associated to a HTTP request.
|
|
62
|
+
* Must be the representation of the intercepted HTTP method.
|
|
63
|
+
*/
|
|
64
|
+
checkPolicy(route, method = undefined) {
|
|
65
|
+
if (!this._isProdMode)
|
|
66
|
+
return;
|
|
67
|
+
if (this._prodPolicy === HttpMockProductionPolicy.ERROR)
|
|
68
|
+
throw POLICY_ERROR;
|
|
69
|
+
if (this._prodPolicy === HttpMockProductionPolicy.SILENT)
|
|
70
|
+
return;
|
|
71
|
+
const routeMsg = route ? `: intercepted request=[path=${route}, method=${method?.toUpperCase()}]` : ".";
|
|
72
|
+
console.warn(POLICY_WARNING + routeMsg);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* @private
|
|
76
|
+
*/
|
|
77
|
+
destroy() {
|
|
78
|
+
const cfg = this._config;
|
|
79
|
+
const noFlag = (cfg && cfg.disableVisualFlag) === true;
|
|
80
|
+
this._config = null;
|
|
81
|
+
if (noFlag)
|
|
82
|
+
return;
|
|
83
|
+
const doc = this._document;
|
|
84
|
+
const flag = doc.getElementById(FLAG_ID);
|
|
85
|
+
if (flag) {
|
|
86
|
+
flag.onmouseover = flag.onmouseout = null;
|
|
87
|
+
doc.body.removeChild(flag);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* @private
|
|
92
|
+
*/
|
|
93
|
+
createVisualFlag(document, config) {
|
|
94
|
+
if (config && config.disableVisualFlag)
|
|
95
|
+
return;
|
|
96
|
+
const flag = document.createElement("div");
|
|
97
|
+
const text = document.createTextNode("HTTP Mocking Framwork");
|
|
98
|
+
const style = flag.style;
|
|
99
|
+
const body = document.body;
|
|
100
|
+
flag.setAttribute("id", FLAG_ID);
|
|
101
|
+
style.backgroundColor = "red";
|
|
102
|
+
style.color = "white";
|
|
103
|
+
style.textAlign = "center";
|
|
104
|
+
style.position = "fixed";
|
|
105
|
+
style.width = "100%";
|
|
106
|
+
style.overflow = "hidden";
|
|
107
|
+
style.height = "26px";
|
|
108
|
+
style.transition = "all 0.25s ease-in-out";
|
|
109
|
+
style.zIndex = "10000";
|
|
110
|
+
style.opacity = "1";
|
|
111
|
+
style.userSelect = "none";
|
|
112
|
+
flag.onmouseover = () => {
|
|
113
|
+
style.height = "26px";
|
|
114
|
+
style.opacity = "1";
|
|
115
|
+
};
|
|
116
|
+
flag.onmouseout = () => {
|
|
117
|
+
style.height = "6px";
|
|
118
|
+
style.opacity = "0.35";
|
|
119
|
+
};
|
|
120
|
+
flag.appendChild(text);
|
|
121
|
+
body.insertBefore(flag, body.firstChild);
|
|
122
|
+
setTimeout(() => {
|
|
123
|
+
style.height = "4px";
|
|
124
|
+
style.opacity = "0.35";
|
|
125
|
+
}, 4000);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
;
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1tb2NraW5nLWZyYW1ld29yay1jb25maWcubWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL3V0aWwvaHR0cC1tb2NraW5nLWZyYW1ld29yay1jb25maWcubWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQWUsd0JBQXdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRy9DOztHQUVHO0FBQ0gsTUFBTSxjQUFjLEdBQVcsc0RBQXNELENBQUM7QUFFdEY7O0dBRUc7QUFDSCxNQUFNLFlBQVksR0FBeUIsSUFBSSxvQkFBb0IsQ0FBQyxjQUFjLEdBQUcsa0lBQWtJLENBQUMsQ0FBQztBQUV6Tjs7R0FFRztBQUNILE1BQU0sT0FBTyxHQUFXLDZCQUE2QixDQUFDO0FBRXREOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlDQUFpQztJQXNCMUM7OztPQUdHO0lBQ0gsSUFBVyxpQkFBaUI7UUFDeEIsTUFBTSxHQUFHLEdBQTJDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDakUsT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN4RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBVyxnQkFBZ0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsWUFBWSxRQUFrQixFQUFFLFNBQWtCLEVBQUUsTUFBbUM7UUFDbkYsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJ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QUFLLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUUsRUFBRTtZQUNuQixLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUN0QixLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUN4QixDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUUsRUFBRTtZQUNsQixLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNyQixLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUMzQixDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6QyxVQUFVLENBQUMsR0FBRSxFQUFFO1lBQ1gsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDckIsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDM0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2IsQ0FBQztDQUNKO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxyXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IERlc3Ryb3lhYmxlLCBIdHRwTW9ja1Byb2R1Y3Rpb25Qb2xpY3kgfSBmcm9tIFwiLi4vbW9kZWxcIjtcclxuaW1wb3J0IHsgSHR0cE1vY2tpbmdGcmFtZXdvcmtDb25maWcgfSBmcm9tIFwiLi4vbW9kZWwvYnVzaW5lc3MvbW9jay9odHRwL2NvbmZpZy9odHRwLW1vY2tpbmctZnJhbWV3b3JrLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBIdHRwTW9ja1NlcnZpY2VFcnJvciB9IGZyb20gXCIuLi9jb3JlXCI7XHJcbmltcG9ydCB7IEhUVFBNZXRob2RSZWYgfSBmcm9tIFwiLi4vZnJhbWV3b3JrL21vY2svaHR0cC91dGlsL2h0dHAtbWV0aG9kLXJlZi5lbnVtXCI7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICovXHJcbmNvbnN0IFBPTElDWV9XQVJOSU5HOiBzdHJpbmcgPSBcIkhUVFAgTW9ja2luZyBGcmFtZXdvcmsgaXMgcnVubmluZyBpbiBwcm9kdWN0aW9uIG1vZGVcIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKi9cclxuY29uc3QgUE9MSUNZX0VSUk9SOiBIdHRwTW9ja1NlcnZpY2VFcnJvciA9IG5ldyBIdHRwTW9ja1NlcnZpY2VFcnJvcihQT0xJQ1lfV0FSTklORyArIFwiOiByZW1vdmUgYWxsIGZyYW1ld29yayByZWZlcmVuY2VzIG9yIGNoYW5nZSB0aGUgJ3Byb2R1Y3Rpb25Qb2xpY3knIHByb3BlcnR5IHZhbHVlIG9mIHRoZSBIVFRQX01PQ0tJTkdfRlJBTUVXT1JLX0NPTkZJRyBwcm92aWRlci5cIik7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICovXHJcbmNvbnN0IEZMQUdfSUQ6IHN0cmluZyA9IFwiaHR0cC1tb2NraW5nLWZyYW1ld29yay1mbGFnXCI7XHJcblxyXG4vKipcclxuICogVGhlIG9iamVjdCB0aGF0IG1hbmFnZXMgdGhlIEhUVFAgTW9ja2luZyBGcmFtZXdvcmsgb3B0aW9ucy5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBIdHRwTW9ja2luZ0ZyYW1ld29ya0NvbmZpZ01hbmFnZXIgaW1wbGVtZW50cyBEZXN0cm95YWJsZSB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9kb2N1bWVudCE6IERvY3VtZW50O1xyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2NvbmZpZz86IEh0dHBNb2NraW5nRnJhbWV3b3JrQ29uZmlnO1xyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2lzUHJvZE1vZGU6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9wcm9kUG9saWN5OiBIdHRwTW9ja1Byb2R1Y3Rpb25Qb2xpY3k7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgdGhlIGBkaXNhYmxlVmlzdWFsRmxhZ2Agb2YgdGhlIGBIdHRwTW9ja2luZ0ZyYW1ld29ya0NvbmZpZ2AgcHJvdmlkZXIsXHJcbiAgICAgKiBvciBgZmFsc2VgIHdoZW4gbm8gcHJvdmlkZXIgaXMgZGVmaW5lZC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBkaXNhYmxlVmlzdWFsRmxhZygpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBjZmc6IEh0dHBNb2NraW5nRnJhbWV3b3JrQ29uZmlnIHwgdW5kZWZpbmVkID0gdGhpcy5fY29uZmlnO1xyXG4gICAgICAgIHJldHVybiBjZmcgJiYgY2ZnLmRpc2FibGVWaXN1YWxGbGFnID8gY2ZnLmRpc2FibGVWaXN1YWxGbGFnIDogZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgdGhlIGBwcm9kdWN0aW9uUG9saWN5YCBvZiB0aGUgYEh0dHBNb2NraW5nRnJhbWV3b3JrQ29uZmlnYCBwcm92aWRlcixcclxuICAgICAqIG9yIGBIdHRwTW9ja1Byb2R1Y3Rpb25Qb2xpY3kuRVJST1JgIHdoZW4gbm8gcHJvdmlkZXIgaXMgZGVmaW5lZC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBwcm9kdWN0aW9uUG9saWN5KCk6IEh0dHBNb2NrUHJvZHVjdGlvblBvbGljeSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2RQb2xpY3k7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogQ3JlYXRlcyBhbmQgSW5pdGlhbGl6ZXMgdGhlIG1hbmFnZXIgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbmZpZy5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGRvY3VtZW50IFRoZSByZWZlcmVuY2UgdG8gdGhlIGBEb2N1bWVudGAgb2JqZWN0LCBpbmplY3RlZCBieSBBbmd1bGFyLlxyXG4gICAgICogQHBhcmFtIGlzRGV2TW9kZSBJbmRpY2F0ZXMgd2hldGVyIEFuZ3VsYXIgcnVucyBpbiBkZXZlbG9wbWVudCBtb2RlIChgdHJ1ZWApLCBvciBpbiBwcm9kdWN0aW9uIG1vZGUgKGBmYWxzZWApLlxyXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgYEh0dHBNb2NraW5nRnJhbWV3b3JrQ29uZmlgIHByb3ZpZGVyLlxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3Rvcihkb2N1bWVudDogRG9jdW1lbnQsIGlzRGV2TW9kZTogYm9vbGVhbiwgY29uZmlnPzogSHR0cE1vY2tpbmdGcmFtZXdvcmtDb25maWcpIHtcclxuICAgICAgICB0aGlzLl9pc1Byb2RNb2RlID0gIWlzRGV2TW9kZTtcclxuICAgICAgICB0aGlzLl9kb2N1bWVudCA9IGRvY3VtZW50O1xyXG4gICAgICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcclxuICAgICAgICB0aGlzLl9wcm9kUG9saWN5ID0gY29uZmlnICYmIGNvbmZpZy5wcm9kdWN0aW9uUG9saWN5ICE9PSB1bmRlZmluZWQgPyBjb25maWcucHJvZHVjdGlvblBvbGljeSA6IEh0dHBNb2NrUHJvZHVjdGlvblBvbGljeS5FUlJPUjtcclxuICAgICAgICB0aGlzLmNoZWNrUG9saWN5KCk7XHJcbiAgICAgICAgdGhpcy5jcmVhdGVWaXN1YWxGbGFnKGRvY3VtZW50LCBjb25maWcpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIEFwcGx5IGEgc3RyYXRlZ3kgZGVwZW5kaW5nIG9uIHRoZSBjdXJyZW50IHByb2R1Y3Rpb24gcG9saWN5IGFuZCBlbnZpcm9ubWVudC5cclxuICAgICAqIEBwYXJhbSByb3V0ZSBBbiBvcHRpb25hbCBwYXJhbWV0ZXIgdXNlZCB3aGVuIHRoZSBtZXRoaG9kIGlzIGFzc29jaWF0ZWQgdG8gYSBIVFRQIHJlcXVlc3QuXHJcbiAgICAgKiAgICAgICAgICAgICAgTXVzdCBiZSB0aGUgcmVwcmVzZW50YXRpb24gb2YgdGhlIGludGVyY2VwdGVkIHJvdXRlIHBhdGguXHJcbiAgICAgKiBAcGFyYW0gbWV0aG9kIEFuIG9wdGlvbmFsIHBhcmFtZXRlciB1c2VkIHdoZW4gdGhlIG1ldGhob2QgaXMgYXNzb2NpYXRlZCB0byBhIEhUVFAgcmVxdWVzdC5cclxuICAgICAqICAgICAgICAgICAgICAgTXVzdCBiZSB0aGUgcmVwcmVzZW50YXRpb24gb2YgdGhlIGludGVyY2VwdGVkIEhUVFAgbWV0aG9kLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2hlY2tQb2xpY3kocm91dGU/OiBzdHJpbmcsIG1ldGhvZDogSFRUUE1ldGhvZFJlZiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5faXNQcm9kTW9kZSkgcmV0dXJuO1xyXG4gICAgICAgIGlmICh0aGlzLl9wcm9kUG9saWN5ID09PSBIdHRwTW9ja1Byb2R1Y3Rpb25Qb2xpY3kuRVJST1IpIHRocm93IFBPTElDWV9FUlJPUjtcclxuICAgICAgICBpZiAodGhpcy5fcHJvZFBvbGljeSA9PT0gSHR0cE1vY2tQcm9kdWN0aW9uUG9saWN5LlNJTEVOVCkgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IHJvdXRlTXNnOiBzdHJpbmcgPSByb3V0ZSA/IGA6IGludGVyY2VwdGVkIHJlcXVlc3Q9W3BhdGg9JHtyb3V0ZX0sIG1ldGhvZD0ke21ldGhvZD8udG9VcHBlckNhc2UoKX1dYCA6IFwiLlwiO1xyXG4gICAgICAgIGNvbnNvbGUud2FybihQT0xJQ1lfV0FSTklORyArIHJvdXRlTXNnKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGNmZzogSHR0cE1vY2tpbmdGcmFtZXdvcmtDb25maWcgfCB1bmRlZmluZWQgPSB0aGlzLl9jb25maWc7XHJcbiAgICAgICAgY29uc3Qgbm9GbGFnOiBib29sZWFuID0gKGNmZyAmJiBjZmcuZGlzYWJsZVZpc3VhbEZsYWcpID09PSB0cnVlO1xyXG4gICAgICAgIHRoaXMuX2NvbmZpZyA9IG51bGwgYXMgYW55O1xyXG4gICAgICAgIGlmIChub0ZsYWcpICByZXR1cm47XHJcbiAgICAgICAgY29uc3QgZG9jOiBEb2N1bWVudCA9IHRoaXMuX2RvY3VtZW50O1xyXG4gICAgICAgIGNvbnN0IGZsYWc6IEhUTUxFbGVtZW50IHwgbnVsbCA9IGRvYy5nZXRFbGVtZW50QnlJZChGTEFHX0lEKTtcclxuICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgICAgICBmbGFnLm9ubW91c2VvdmVyID0gZmxhZy5vbm1vdXNlb3V0ID1udWxsO1xyXG4gICAgICAgICAgICBkb2MuYm9keS5yZW1vdmVDaGlsZChmbGFnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNyZWF0ZVZpc3VhbEZsYWcoZG9jdW1lbnQ6IERvY3VtZW50LCBjb25maWc/OiBIdHRwTW9ja2luZ0ZyYW1ld29ya0NvbmZpZyk6IHZvaWQge1xyXG4gICAgICAgIGlmIChjb25maWcgJiYgY29uZmlnLmRpc2FibGVWaXN1YWxGbGFnKSByZXR1cm47XHJcbiAgICAgICAgY29uc3QgZmxhZzogSFRNTERpdkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gICAgICAgIGNvbnN0IHRleHQ6IFRleHQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShcIkhUVFAgTW9ja2luZyBGcmFtd29ya1wiKTtcclxuICAgICAgICBjb25zdCBzdHlsZTogQ1NTU3R5bGVEZWNsYXJhdGlvbiA9IGZsYWcuc3R5bGU7XHJcbiAgICAgICAgY29uc3QgYm9keSA9IGRvY3VtZW50LmJvZHk7XHJcbiAgICAgICAgZmxhZy5zZXRBdHRyaWJ1dGUoXCJpZFwiLCBGTEFHX0lEKTtcclxuICAgICAgICBzdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSBcInJlZFwiO1xyXG4gICAgICAgIHN0eWxlLmNvbG9yID0gXCJ3aGl0ZVwiO1xyXG4gICAgICAgIHN0eWxlLnRleHRBbGlnbiA9IFwiY2VudGVyXCI7XHJcbiAgICAgICAgc3R5bGUucG9zaXRpb24gPSBcImZpeGVkXCI7XHJcbiAgICAgICAgc3R5bGUud2lkdGggPSBcIjEwMCVcIjtcclxuICAgICAgICBzdHlsZS5vdmVyZmxvdyA9IFwiaGlkZGVuXCI7XHJcbiAgICAgICAgc3R5bGUuaGVpZ2h0ID0gXCIyNnB4XCI7XHJcbiAgICAgICAgc3R5bGUudHJhbnNpdGlvbiA9IFwiYWxsIDAuMjVzIGVhc2UtaW4tb3V0XCI7XHJcbiAgICAgICAgc3R5bGUuekluZGV4ID0gXCIxMDAwMFwiO1xyXG4gICAgICAgIHN0eWxlLm9wYWNpdHkgPSBcIjFcIjtcclxuICAgICAgICBzdHlsZS51c2VyU2VsZWN0ID0gXCJub25lXCI7XHJcbiAgICAgICAgZmxhZy5vbm1vdXNlb3ZlciA9ICgpPT4ge1xyXG4gICAgICAgICAgICBzdHlsZS5oZWlnaHQgPSBcIjI2cHhcIjtcclxuICAgICAgICAgICAgc3R5bGUub3BhY2l0eSA9IFwiMVwiO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgZmxhZy5vbm1vdXNlb3V0ID0gKCk9PiB7XHJcbiAgICAgICAgICAgIHN0eWxlLmhlaWdodCA9IFwiNnB4XCI7XHJcbiAgICAgICAgICAgIHN0eWxlLm9wYWNpdHkgPSBcIjAuMzVcIjtcclxuICAgICAgICB9O1xyXG4gICAgICAgIGZsYWcuYXBwZW5kQ2hpbGQodGV4dCk7XHJcbiAgICAgICAgYm9keS5pbnNlcnRCZWZvcmUoZmxhZywgYm9keS5maXJzdENoaWxkKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpPT4ge1xyXG4gICAgICAgICAgICBzdHlsZS5oZWlnaHQgPSBcIjRweFwiO1xyXG4gICAgICAgICAgICBzdHlsZS5vcGFjaXR5ID0gXCIwLjM1XCI7XHJcbiAgICAgICAgfSwgNDAwMCk7XHJcbiAgICB9XHJcbn07Il19
|