@o3r/application 8.4.0-alpha.23 → 8.4.0-alpha.24
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/esm2022/devkit/application-devtools.console.service.mjs +45 -0
- package/esm2022/devkit/application-devtools.message.service.mjs +104 -0
- package/esm2022/devkit/application-devtools.module.mjs +45 -0
- package/esm2022/devkit/application-devtools.service.mjs +35 -0
- package/{fesm2020 → fesm2022}/o3r-application.mjs +21 -21
- package/{fesm2020 → fesm2022}/o3r-application.mjs.map +1 -1
- package/package.json +18 -24
- package/esm2020/devkit/application-devtools.console.service.mjs +0 -44
- package/esm2020/devkit/application-devtools.message.service.mjs +0 -103
- package/esm2020/devkit/application-devtools.module.mjs +0 -44
- package/esm2020/devkit/application-devtools.service.mjs +0 -34
- package/fesm2015/o3r-application.mjs +0 -244
- package/fesm2015/o3r-application.mjs.map +0 -1
- /package/{esm2020 → esm2022}/browser-preference/helper.mjs +0 -0
- /package/{esm2020 → esm2022}/browser-preference/index.mjs +0 -0
- /package/{esm2020 → esm2022}/devkit/application-devkit.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/devkit/application-devtools.token.mjs +0 -0
- /package/{esm2020 → esm2022}/devkit/index.mjs +0 -0
- /package/{esm2020 → esm2022}/o3r-application.mjs +0 -0
- /package/{esm2020 → esm2022}/public_api.mjs +0 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
3
|
+
import { OtterApplicationDevtools } from './application-devtools.service';
|
|
4
|
+
import { OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS } from './application-devtools.token';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./application-devtools.service";
|
|
7
|
+
class ApplicationDevtoolsConsoleService {
|
|
8
|
+
/** Name of the Window property to access to the devtools */
|
|
9
|
+
static { this.windowModuleName = 'application'; }
|
|
10
|
+
constructor(applicationDevtools, options) {
|
|
11
|
+
this.applicationDevtools = applicationDevtools;
|
|
12
|
+
this.options = { ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, ...options };
|
|
13
|
+
if (this.options.isActivatedOnBootstrap) {
|
|
14
|
+
this.activate();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/** @inheritDoc */
|
|
18
|
+
activate() {
|
|
19
|
+
const windowWithDevtools = window;
|
|
20
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
21
|
+
windowWithDevtools._OTTER_DEVTOOLS_ ||= {};
|
|
22
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
23
|
+
windowWithDevtools._OTTER_DEVTOOLS_[ApplicationDevtoolsConsoleService.windowModuleName] = this;
|
|
24
|
+
console.info(`Otter Application Devtools is now accessible via the _OTTER_DEVTOOLS_.${ApplicationDevtoolsConsoleService.windowModuleName} variable`);
|
|
25
|
+
}
|
|
26
|
+
/** Display the information relative to the running application */
|
|
27
|
+
displayApplicationInfo() {
|
|
28
|
+
console.info('Application info', this.applicationDevtools.getApplicationInformation());
|
|
29
|
+
}
|
|
30
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsConsoleService, deps: [{ token: i1.OtterApplicationDevtools }, { token: OTTER_APPLICATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
31
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsConsoleService, providedIn: 'root' }); }
|
|
32
|
+
}
|
|
33
|
+
export { ApplicationDevtoolsConsoleService };
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsConsoleService, decorators: [{
|
|
35
|
+
type: Injectable,
|
|
36
|
+
args: [{
|
|
37
|
+
providedIn: 'root'
|
|
38
|
+
}]
|
|
39
|
+
}], ctorParameters: function () { return [{ type: i1.OtterApplicationDevtools }, { type: undefined, decorators: [{
|
|
40
|
+
type: Optional
|
|
41
|
+
}, {
|
|
42
|
+
type: Inject,
|
|
43
|
+
args: [OTTER_APPLICATION_DEVTOOLS_OPTIONS]
|
|
44
|
+
}] }]; } });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tZGV2dG9vbHMuY29uc29sZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RldmtpdC9hcHBsaWNhdGlvbi1kZXZ0b29scy5jb25zb2xlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMENBQTBDLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBRTlILE1BR2EsaUNBQWlDO0lBQzVDLDREQUE0RDthQUNyQyxxQkFBZ0IsR0FBRyxhQUFhLEFBQWhCLENBQWlCO0lBSXhELFlBQ1UsbUJBQTZDLEVBQ0csT0FBMkM7UUFEM0Ysd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEwQjtRQUdyRCxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsR0FBRywwQ0FBMEMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBRTdFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtZQUN2QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBQ0Qsa0JBQWtCO0lBQ1gsUUFBUTtRQUNiLE1BQU0sa0JBQWtCLEdBQXVCLE1BQU0sQ0FBQztRQUN0RCxnREFBZ0Q7UUFDaEQsa0JBQWtCLENBQUMsZ0JBQWdCLEtBQUssRUFBRSxDQUFDO1FBQzNDLGdEQUFnRDtRQUNoRCxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxpQ0FBaUMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUUvRixPQUFPLENBQUMsSUFBSSxDQUFDLHlFQUF5RSxpQ0FBaUMsQ0FBQyxnQkFBZ0IsV0FBVyxDQUFDLENBQUM7SUFDdkosQ0FBQztJQUVELGtFQUFrRTtJQUMzRCxzQkFBc0I7UUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7aUlBOUJVLGlDQUFpQywwREFRdEIsa0NBQWtDO3FJQVI3QyxpQ0FBaUMsY0FGaEMsTUFBTTs7U0FFUCxpQ0FBaUM7MkZBQWpDLGlDQUFpQztrQkFIN0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVNJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBEZXZ0b29sc1NlcnZpY2VJbnRlcmZhY2UsIFdpbmRvd1dpdGhEZXZ0b29scyB9IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnMgfSBmcm9tICcuL2FwcGxpY2F0aW9uLWRldmtpdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3R0ZXJBcHBsaWNhdGlvbkRldnRvb2xzIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi1kZXZ0b29scy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UVEVSX0FQUExJQ0FUSU9OX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUywgT1RURVJfQVBQTElDQVRJT05fREVWVE9PTFNfT1BUSU9OUyB9IGZyb20gJy4vYXBwbGljYXRpb24tZGV2dG9vbHMudG9rZW4nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkRldnRvb2xzQ29uc29sZVNlcnZpY2UgaW1wbGVtZW50cyBEZXZ0b29sc1NlcnZpY2VJbnRlcmZhY2Uge1xuICAvKiogTmFtZSBvZiB0aGUgV2luZG93IHByb3BlcnR5IHRvIGFjY2VzcyB0byB0aGUgZGV2dG9vbHMgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSB3aW5kb3dNb2R1bGVOYW1lID0gJ2FwcGxpY2F0aW9uJztcblxuICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IEFwcGxpY2F0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFwcGxpY2F0aW9uRGV2dG9vbHM6IE90dGVyQXBwbGljYXRpb25EZXZ0b29scyxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE9UVEVSX0FQUExJQ0FUSU9OX0RFVlRPT0xTX09QVElPTlMpIG9wdGlvbnM/OiBBcHBsaWNhdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnNcbiAgKSB7XG4gICAgdGhpcy5vcHRpb25zID0geyAuLi5PVFRFUl9BUFBMSUNBVElPTl9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIC4uLm9wdGlvbnMgfTtcblxuICAgIGlmICh0aGlzLm9wdGlvbnMuaXNBY3RpdmF0ZWRPbkJvb3RzdHJhcCkge1xuICAgICAgdGhpcy5hY3RpdmF0ZSgpO1xuICAgIH1cbiAgfVxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGFjdGl2YXRlKCkge1xuICAgIGNvbnN0IHdpbmRvd1dpdGhEZXZ0b29sczogV2luZG93V2l0aERldnRvb2xzID0gd2luZG93O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuICAgIHdpbmRvd1dpdGhEZXZ0b29scy5fT1RURVJfREVWVE9PTFNfIHx8PSB7fTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcbiAgICB3aW5kb3dXaXRoRGV2dG9vbHMuX09UVEVSX0RFVlRPT0xTX1tBcHBsaWNhdGlvbkRldnRvb2xzQ29uc29sZVNlcnZpY2Uud2luZG93TW9kdWxlTmFtZV0gPSB0aGlzO1xuXG4gICAgY29uc29sZS5pbmZvKGBPdHRlciBBcHBsaWNhdGlvbiBEZXZ0b29scyBpcyBub3cgYWNjZXNzaWJsZSB2aWEgdGhlIF9PVFRFUl9ERVZUT09MU18uJHtBcHBsaWNhdGlvbkRldnRvb2xzQ29uc29sZVNlcnZpY2Uud2luZG93TW9kdWxlTmFtZX0gdmFyaWFibGVgKTtcbiAgfVxuXG4gIC8qKiBEaXNwbGF5IHRoZSBpbmZvcm1hdGlvbiByZWxhdGl2ZSB0byB0aGUgcnVubmluZyBhcHBsaWNhdGlvbiAqL1xuICBwdWJsaWMgZGlzcGxheUFwcGxpY2F0aW9uSW5mbygpIHtcbiAgICBjb25zb2xlLmluZm8oJ0FwcGxpY2F0aW9uIGluZm8nLCB0aGlzLmFwcGxpY2F0aW9uRGV2dG9vbHMuZ2V0QXBwbGljYXRpb25JbmZvcm1hdGlvbigpKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
2
|
+
import { filterMessageContent, sendOtterMessage } from '@o3r/core';
|
|
3
|
+
import { LoggerService } from '@o3r/logger';
|
|
4
|
+
import { isVisualTestingEnabled, prepareVisualTesting, toggleVisualTestingRender } from '@o3r/testing/visual-test/utils';
|
|
5
|
+
import { fromEvent, Subscription } from 'rxjs';
|
|
6
|
+
import { isApplicationMessage } from './application-devkit.interface';
|
|
7
|
+
import { OtterApplicationDevtools } from './application-devtools.service';
|
|
8
|
+
import { OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS } from './application-devtools.token';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@o3r/logger";
|
|
11
|
+
import * as i2 from "./application-devtools.service";
|
|
12
|
+
class ApplicationDevtoolsMessageService {
|
|
13
|
+
constructor(logger, applicationDevtools, options) {
|
|
14
|
+
this.logger = logger;
|
|
15
|
+
this.applicationDevtools = applicationDevtools;
|
|
16
|
+
this.subscriptions = new Subscription();
|
|
17
|
+
this.sendMessage = (sendOtterMessage);
|
|
18
|
+
this.options = {
|
|
19
|
+
...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS,
|
|
20
|
+
...options
|
|
21
|
+
};
|
|
22
|
+
if (this.options.isActivatedOnBootstrap) {
|
|
23
|
+
this.activate();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
sendApplicationInformation() {
|
|
27
|
+
this.sendMessage('applicationInformation', this.applicationDevtools.getApplicationInformation());
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Function to connect the plugin to the Otter DevTools extension
|
|
31
|
+
*/
|
|
32
|
+
connectPlugin() {
|
|
33
|
+
this.logger.debug('Otter DevTools is plugged to application service of the application');
|
|
34
|
+
void this.sendApplicationInformation();
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Function to trigger a re-send a requested messages to the Otter Chrome DevTools extension
|
|
38
|
+
*
|
|
39
|
+
* @param only restricted list of messages to re-send
|
|
40
|
+
*/
|
|
41
|
+
handleReEmitRequest(only) {
|
|
42
|
+
if (!only || only.includes('applicationInformation')) {
|
|
43
|
+
this.sendApplicationInformation();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Function to handle the incoming messages from Otter Chrome DevTools extension
|
|
48
|
+
*
|
|
49
|
+
* @param event Event coming from the Otter Chrome DevTools extension
|
|
50
|
+
* @param message
|
|
51
|
+
*/
|
|
52
|
+
handleEvents(message) {
|
|
53
|
+
this.logger.debug('Message handling by the application service', message);
|
|
54
|
+
switch (message.dataType) {
|
|
55
|
+
case 'connect': {
|
|
56
|
+
this.connectPlugin();
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
case 'requestMessages': {
|
|
60
|
+
this.handleReEmitRequest(message.only);
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
case 'toggleVisualTesting': {
|
|
64
|
+
this.toggleVisualTestingRender(message.toggle);
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
default: {
|
|
68
|
+
this.logger.warn('Message ignored by the application service', message);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Toggle visual testing rendering
|
|
74
|
+
*
|
|
75
|
+
* @param enabled activate or deactivate the visual testing mode
|
|
76
|
+
*/
|
|
77
|
+
toggleVisualTestingRender(enabled) {
|
|
78
|
+
toggleVisualTestingRender(enabled === undefined ? !isVisualTestingEnabled() : enabled);
|
|
79
|
+
}
|
|
80
|
+
/** @inheritDoc */
|
|
81
|
+
activate() {
|
|
82
|
+
this.subscriptions.add(fromEvent(window, 'message').pipe(filterMessageContent(isApplicationMessage)).subscribe((e) => this.handleEvents(e)));
|
|
83
|
+
prepareVisualTesting(this.options.e2eIgnoreClass);
|
|
84
|
+
}
|
|
85
|
+
/** @inheritDoc */
|
|
86
|
+
ngOnDestroy() {
|
|
87
|
+
this.subscriptions.unsubscribe();
|
|
88
|
+
}
|
|
89
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsMessageService, deps: [{ token: i1.LoggerService }, { token: i2.OtterApplicationDevtools }, { token: OTTER_APPLICATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
90
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsMessageService, providedIn: 'root' }); }
|
|
91
|
+
}
|
|
92
|
+
export { ApplicationDevtoolsMessageService };
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsMessageService, decorators: [{
|
|
94
|
+
type: Injectable,
|
|
95
|
+
args: [{
|
|
96
|
+
providedIn: 'root'
|
|
97
|
+
}]
|
|
98
|
+
}], ctorParameters: function () { return [{ type: i1.LoggerService }, { type: i2.OtterApplicationDevtools }, { type: undefined, decorators: [{
|
|
99
|
+
type: Optional
|
|
100
|
+
}, {
|
|
101
|
+
type: Inject,
|
|
102
|
+
args: [OTTER_APPLICATION_DEVTOOLS_OPTIONS]
|
|
103
|
+
}] }]; } });
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tZGV2dG9vbHMubWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RldmtpdC9hcHBsaWNhdGlvbi1kZXZ0b29scy5tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBNEIsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDN0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUMseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4SCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQXVHLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0ssT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFFOUgsTUFHYSxpQ0FBaUM7SUFPNUMsWUFDWSxNQUFxQixFQUNyQixtQkFBNkMsRUFDRyxPQUEyQztRQUYzRixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBMEI7UUFOakQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRW5DLGdCQUFXLEdBQUcsQ0FBQSxnQkFBcUQsQ0FBQSxDQUFDO1FBTTFFLElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixHQUFHLDBDQUEwQztZQUM3QyxHQUFHLE9BQU87U0FDWCxDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFTywwQkFBMEI7UUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO0lBQ25HLENBQUM7SUFFRDs7T0FFRztJQUNLLGFBQWE7UUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMscUVBQXFFLENBQUMsQ0FBQztRQUN6RixLQUFLLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssbUJBQW1CLENBQUMsSUFBb0M7UUFDOUQsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxZQUFZLENBQUMsT0FBNEM7UUFDL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsNkNBQTZDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFMUUsUUFBUSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3hCLEtBQUssU0FBUyxDQUFDLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixNQUFNO2FBQ1A7WUFDRCxLQUFLLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU07YUFDUDtZQUNELEtBQUsscUJBQXFCLENBQUMsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDL0MsTUFBTTthQUNQO1lBQ0QsT0FBTyxDQUFDLENBQUM7Z0JBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNENBQTRDLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDekU7U0FDRjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0sseUJBQXlCLENBQUMsT0FBaUI7UUFDakQseUJBQXlCLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsUUFBUTtRQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNwQixTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3JILENBQUM7UUFDRixvQkFBb0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxrQkFBa0I7SUFDWCxXQUFXO1FBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztpSUE1RlUsaUNBQWlDLHVGQVVwQixrQ0FBa0M7cUlBVi9DLGlDQUFpQyxjQUZoQyxNQUFNOztTQUVQLGlDQUFpQzsyRkFBakMsaUNBQWlDO2tCQUg3QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBV00sUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERldnRvb2xzU2VydmljZUludGVyZmFjZSwgZmlsdGVyTWVzc2FnZUNvbnRlbnQsIHNlbmRPdHRlck1lc3NhZ2UgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJ0BvM3IvbG9nZ2VyJztcbmltcG9ydCB7IGlzVmlzdWFsVGVzdGluZ0VuYWJsZWQsIHByZXBhcmVWaXN1YWxUZXN0aW5nLHRvZ2dsZVZpc3VhbFRlc3RpbmdSZW5kZXIgfSBmcm9tICdAbzNyL3Rlc3RpbmcvdmlzdWFsLXRlc3QvdXRpbHMnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucywgQXBwbGljYXRpb25NZXNzYWdlRGF0YVR5cGVzLCBBdmFpbGFibGVBcHBsaWNhdGlvbk1lc3NhZ2VDb250ZW50cywgaXNBcHBsaWNhdGlvbk1lc3NhZ2UgfSBmcm9tICcuL2FwcGxpY2F0aW9uLWRldmtpdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3R0ZXJBcHBsaWNhdGlvbkRldnRvb2xzIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi1kZXZ0b29scy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UVEVSX0FQUExJQ0FUSU9OX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUywgT1RURVJfQVBQTElDQVRJT05fREVWVE9PTFNfT1BUSU9OUyB9IGZyb20gJy4vYXBwbGljYXRpb24tZGV2dG9vbHMudG9rZW4nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkRldnRvb2xzTWVzc2FnZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIERldnRvb2xzU2VydmljZUludGVyZmFjZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQXBwbGljYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwcml2YXRlIHNlbmRNZXNzYWdlID0gc2VuZE90dGVyTWVzc2FnZTxBdmFpbGFibGVBcHBsaWNhdGlvbk1lc3NhZ2VDb250ZW50cz47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICAgIHByaXZhdGUgYXBwbGljYXRpb25EZXZ0b29sczogT3R0ZXJBcHBsaWNhdGlvbkRldnRvb2xzLFxuICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChPVFRFUl9BUFBMSUNBVElPTl9ERVZUT09MU19PUFRJT05TKSBvcHRpb25zPzogQXBwbGljYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zKSB7XG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgLi4uT1RURVJfQVBQTElDQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLFxuICAgICAgLi4ub3B0aW9uc1xuICAgIH07XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmlzQWN0aXZhdGVkT25Cb290c3RyYXApIHtcbiAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNlbmRBcHBsaWNhdGlvbkluZm9ybWF0aW9uKCkge1xuICAgIHRoaXMuc2VuZE1lc3NhZ2UoJ2FwcGxpY2F0aW9uSW5mb3JtYXRpb24nLCB0aGlzLmFwcGxpY2F0aW9uRGV2dG9vbHMuZ2V0QXBwbGljYXRpb25JbmZvcm1hdGlvbigpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBjb25uZWN0IHRoZSBwbHVnaW4gdG8gdGhlIE90dGVyIERldlRvb2xzIGV4dGVuc2lvblxuICAgKi9cbiAgcHJpdmF0ZSBjb25uZWN0UGx1Z2luKCkge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdPdHRlciBEZXZUb29scyBpcyBwbHVnZ2VkIHRvIGFwcGxpY2F0aW9uIHNlcnZpY2Ugb2YgdGhlIGFwcGxpY2F0aW9uJyk7XG4gICAgdm9pZCB0aGlzLnNlbmRBcHBsaWNhdGlvbkluZm9ybWF0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gdHJpZ2dlciBhIHJlLXNlbmQgYSByZXF1ZXN0ZWQgbWVzc2FnZXMgdG8gdGhlIE90dGVyIENocm9tZSBEZXZUb29scyBleHRlbnNpb25cbiAgICpcbiAgICogQHBhcmFtIG9ubHkgcmVzdHJpY3RlZCBsaXN0IG9mIG1lc3NhZ2VzIHRvIHJlLXNlbmRcbiAgICovXG4gIHByaXZhdGUgaGFuZGxlUmVFbWl0UmVxdWVzdChvbmx5PzogQXBwbGljYXRpb25NZXNzYWdlRGF0YVR5cGVzW10pIHtcbiAgICBpZiAoIW9ubHkgfHwgb25seS5pbmNsdWRlcygnYXBwbGljYXRpb25JbmZvcm1hdGlvbicpKSB7XG4gICAgICB0aGlzLnNlbmRBcHBsaWNhdGlvbkluZm9ybWF0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGhhbmRsZSB0aGUgaW5jb21pbmcgbWVzc2FnZXMgZnJvbSBPdHRlciBDaHJvbWUgRGV2VG9vbHMgZXh0ZW5zaW9uXG4gICAqXG4gICAqIEBwYXJhbSBldmVudCBFdmVudCBjb21pbmcgZnJvbSB0aGUgT3R0ZXIgQ2hyb21lIERldlRvb2xzIGV4dGVuc2lvblxuICAgKiBAcGFyYW0gbWVzc2FnZVxuICAgKi9cbiAgcHJpdmF0ZSBoYW5kbGVFdmVudHMobWVzc2FnZTogQXZhaWxhYmxlQXBwbGljYXRpb25NZXNzYWdlQ29udGVudHMpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnTWVzc2FnZSBoYW5kbGluZyBieSB0aGUgYXBwbGljYXRpb24gc2VydmljZScsIG1lc3NhZ2UpO1xuXG4gICAgc3dpdGNoIChtZXNzYWdlLmRhdGFUeXBlKSB7XG4gICAgICBjYXNlICdjb25uZWN0Jzoge1xuICAgICAgICB0aGlzLmNvbm5lY3RQbHVnaW4oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdyZXF1ZXN0TWVzc2FnZXMnOiB7XG4gICAgICAgIHRoaXMuaGFuZGxlUmVFbWl0UmVxdWVzdChtZXNzYWdlLm9ubHkpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3RvZ2dsZVZpc3VhbFRlc3RpbmcnOiB7XG4gICAgICAgIHRoaXMudG9nZ2xlVmlzdWFsVGVzdGluZ1JlbmRlcihtZXNzYWdlLnRvZ2dsZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICB0aGlzLmxvZ2dlci53YXJuKCdNZXNzYWdlIGlnbm9yZWQgYnkgdGhlIGFwcGxpY2F0aW9uIHNlcnZpY2UnLCBtZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlIHZpc3VhbCB0ZXN0aW5nIHJlbmRlcmluZ1xuICAgKlxuICAgKiBAcGFyYW0gZW5hYmxlZCBhY3RpdmF0ZSBvciBkZWFjdGl2YXRlIHRoZSB2aXN1YWwgdGVzdGluZyBtb2RlXG4gICAqL1xuICBwcml2YXRlIHRvZ2dsZVZpc3VhbFRlc3RpbmdSZW5kZXIoZW5hYmxlZD86IGJvb2xlYW4pIHtcbiAgICB0b2dnbGVWaXN1YWxUZXN0aW5nUmVuZGVyKGVuYWJsZWQgPT09IHVuZGVmaW5lZCA/ICFpc1Zpc3VhbFRlc3RpbmdFbmFibGVkKCkgOiBlbmFibGVkKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgYWN0aXZhdGUoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdtZXNzYWdlJykucGlwZShmaWx0ZXJNZXNzYWdlQ29udGVudChpc0FwcGxpY2F0aW9uTWVzc2FnZSkpLnN1YnNjcmliZSgoZSkgPT4gdGhpcy5oYW5kbGVFdmVudHMoZSkpXG4gICAgKTtcbiAgICBwcmVwYXJlVmlzdWFsVGVzdGluZyh0aGlzLm9wdGlvbnMuZTJlSWdub3JlQ2xhc3MpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { ApplicationDevtoolsConsoleService } from './application-devtools.console.service';
|
|
3
|
+
import { ApplicationDevtoolsMessageService } from './application-devtools.message.service';
|
|
4
|
+
import { OtterApplicationDevtools } from './application-devtools.service';
|
|
5
|
+
import { OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS } from './application-devtools.token';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
class ApplicationDevtoolsModule {
|
|
8
|
+
/**
|
|
9
|
+
* Initialize Otter Devtools
|
|
10
|
+
*
|
|
11
|
+
* @param options
|
|
12
|
+
*/
|
|
13
|
+
static instrument(options) {
|
|
14
|
+
return {
|
|
15
|
+
ngModule: ApplicationDevtoolsModule,
|
|
16
|
+
providers: [
|
|
17
|
+
{ provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: { ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, ...options }, multi: false },
|
|
18
|
+
ApplicationDevtoolsMessageService,
|
|
19
|
+
ApplicationDevtoolsConsoleService,
|
|
20
|
+
OtterApplicationDevtools
|
|
21
|
+
]
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
25
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsModule }); }
|
|
26
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsModule, providers: [
|
|
27
|
+
{ provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS },
|
|
28
|
+
ApplicationDevtoolsMessageService,
|
|
29
|
+
ApplicationDevtoolsConsoleService,
|
|
30
|
+
OtterApplicationDevtools
|
|
31
|
+
] }); }
|
|
32
|
+
}
|
|
33
|
+
export { ApplicationDevtoolsModule };
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsModule, decorators: [{
|
|
35
|
+
type: NgModule,
|
|
36
|
+
args: [{
|
|
37
|
+
providers: [
|
|
38
|
+
{ provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS },
|
|
39
|
+
ApplicationDevtoolsMessageService,
|
|
40
|
+
ApplicationDevtoolsConsoleService,
|
|
41
|
+
OtterApplicationDevtools
|
|
42
|
+
]
|
|
43
|
+
}]
|
|
44
|
+
}] });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tZGV2dG9vbHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RldmtpdC9hcHBsaWNhdGlvbi1kZXZ0b29scy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0YsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBRTlILE1BUWEseUJBQXlCO0lBRXBDOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQW1EO1FBQzFFLE9BQU87WUFDTCxRQUFRLEVBQUUseUJBQXlCO1lBQ25DLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxRQUFRLEVBQUUsRUFBQyxHQUFHLDBDQUEwQyxFQUFFLEdBQUcsT0FBTyxFQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtnQkFDcEksaUNBQWlDO2dCQUNqQyxpQ0FBaUM7Z0JBQ2pDLHdCQUF3QjthQUN6QjtTQUNGLENBQUM7SUFDSixDQUFDO2lJQWpCVSx5QkFBeUI7a0lBQXpCLHlCQUF5QjtrSUFBekIseUJBQXlCLGFBUHpCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsUUFBUSxFQUFFLDBDQUEwQyxFQUFFO1lBQ3JHLGlDQUFpQztZQUNqQyxpQ0FBaUM7WUFDakMsd0JBQXdCO1NBQ3pCOztTQUVVLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQVJyQyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxRQUFRLEVBQUUsMENBQTBDLEVBQUU7d0JBQ3JHLGlDQUFpQzt3QkFDakMsaUNBQWlDO3dCQUNqQyx3QkFBd0I7cUJBQ3pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQXBwbGljYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi1kZXZraXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uRGV2dG9vbHNDb25zb2xlU2VydmljZSB9IGZyb20gJy4vYXBwbGljYXRpb24tZGV2dG9vbHMuY29uc29sZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uRGV2dG9vbHNNZXNzYWdlU2VydmljZSB9IGZyb20gJy4vYXBwbGljYXRpb24tZGV2dG9vbHMubWVzc2FnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE90dGVyQXBwbGljYXRpb25EZXZ0b29scyB9IGZyb20gJy4vYXBwbGljYXRpb24tZGV2dG9vbHMuc2VydmljZSc7XG5pbXBvcnQgeyBPVFRFUl9BUFBMSUNBVElPTl9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIE9UVEVSX0FQUExJQ0FUSU9OX0RFVlRPT0xTX09QVElPTlMgfSBmcm9tICcuL2FwcGxpY2F0aW9uLWRldnRvb2xzLnRva2VuJztcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBPVFRFUl9BUFBMSUNBVElPTl9ERVZUT09MU19PUFRJT05TLCB1c2VWYWx1ZTogT1RURVJfQVBQTElDQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TIH0sXG4gICAgQXBwbGljYXRpb25EZXZ0b29sc01lc3NhZ2VTZXJ2aWNlLFxuICAgIEFwcGxpY2F0aW9uRGV2dG9vbHNDb25zb2xlU2VydmljZSxcbiAgICBPdHRlckFwcGxpY2F0aW9uRGV2dG9vbHNcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkRldnRvb2xzTW9kdWxlIHtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBPdHRlciBEZXZ0b29sc1xuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpbnN0cnVtZW50KG9wdGlvbnM6IFBhcnRpYWw8QXBwbGljYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zPik6IE1vZHVsZVdpdGhQcm92aWRlcnM8QXBwbGljYXRpb25EZXZ0b29sc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQXBwbGljYXRpb25EZXZ0b29sc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IE9UVEVSX0FQUExJQ0FUSU9OX0RFVlRPT0xTX09QVElPTlMsIHVzZVZhbHVlOiB7Li4uT1RURVJfQVBQTElDQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zfSwgbXVsdGk6IGZhbHNlIH0sXG4gICAgICAgIEFwcGxpY2F0aW9uRGV2dG9vbHNNZXNzYWdlU2VydmljZSxcbiAgICAgICAgQXBwbGljYXRpb25EZXZ0b29sc0NvbnNvbGVTZXJ2aWNlLFxuICAgICAgICBPdHRlckFwcGxpY2F0aW9uRGV2dG9vbHNcbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
3
|
+
import { isProductionEnvironment } from '@o3r/core';
|
|
4
|
+
import { ENVIRONMENT_CONFIG_TOKEN } from '@o3r/routing';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
class OtterApplicationDevtools {
|
|
7
|
+
constructor(document, env) {
|
|
8
|
+
this.document = document;
|
|
9
|
+
this.env = env;
|
|
10
|
+
}
|
|
11
|
+
getApplicationInformation() {
|
|
12
|
+
return {
|
|
13
|
+
appVersion: this.env?.APP_VERSION || 'unknown',
|
|
14
|
+
isProduction: isProductionEnvironment(this.document?.body.dataset)
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: OtterApplicationDevtools, deps: [{ token: DOCUMENT, optional: true }, { token: ENVIRONMENT_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
18
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: OtterApplicationDevtools, providedIn: 'root' }); }
|
|
19
|
+
}
|
|
20
|
+
export { OtterApplicationDevtools };
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: OtterApplicationDevtools, decorators: [{
|
|
22
|
+
type: Injectable,
|
|
23
|
+
args: [{ providedIn: 'root' }]
|
|
24
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
25
|
+
type: Optional
|
|
26
|
+
}, {
|
|
27
|
+
type: Inject,
|
|
28
|
+
args: [DOCUMENT]
|
|
29
|
+
}] }, { type: undefined, decorators: [{
|
|
30
|
+
type: Optional
|
|
31
|
+
}, {
|
|
32
|
+
type: Inject,
|
|
33
|
+
args: [ENVIRONMENT_CONFIG_TOKEN]
|
|
34
|
+
}] }]; } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tZGV2dG9vbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXZraXQvYXBwbGljYXRpb24tZGV2dG9vbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBdUIsdUJBQXVCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUd4RCxNQUNhLHdCQUF3QjtJQUVuQyxZQUN3QyxRQUFjLEVBQ0UsR0FBeUI7UUFEekMsYUFBUSxHQUFSLFFBQVEsQ0FBTTtRQUNFLFFBQUcsR0FBSCxHQUFHLENBQXNCO0lBQ2pGLENBQUM7SUFHTSx5QkFBeUI7UUFDOUIsT0FBTztZQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLFdBQVcsSUFBSSxTQUFTO1lBQzlDLFlBQVksRUFBRSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDbkUsQ0FBQztJQUNKLENBQUM7aUlBYlUsd0JBQXdCLGtCQUdiLFFBQVEsNkJBQ1Isd0JBQXdCO3FJQUpuQyx3QkFBd0IsY0FEWCxNQUFNOztTQUNuQix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQUk3QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFFBQVE7OzBCQUMzQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1aWxkVGltZVByb3BlcnRpZXMsIGlzUHJvZHVjdGlvbkVudmlyb25tZW50IH0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7IEVOVklST05NRU5UX0NPTkZJR19UT0tFTiB9IGZyb20gJ0BvM3Ivcm91dGluZyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm9ybWF0aW9uIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi1kZXZraXQuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBPdHRlckFwcGxpY2F0aW9uRGV2dG9vbHMge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ/OiBhbnksXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChFTlZJUk9OTUVOVF9DT05GSUdfVE9LRU4pIHByaXZhdGUgZW52PzogQnVpbGRUaW1lUHJvcGVydGllcykge1xuICB9XG5cblxuICBwdWJsaWMgZ2V0QXBwbGljYXRpb25JbmZvcm1hdGlvbigpOiBBcHBsaWNhdGlvbkluZm9ybWF0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgYXBwVmVyc2lvbjogdGhpcy5lbnY/LkFQUF9WRVJTSU9OIHx8ICd1bmtub3duJyxcbiAgICAgIGlzUHJvZHVjdGlvbjogaXNQcm9kdWN0aW9uRW52aXJvbm1lbnQodGhpcy5kb2N1bWVudD8uYm9keS5kYXRhc2V0KVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -40,10 +40,10 @@ class OtterApplicationDevtools {
|
|
|
40
40
|
isProduction: isProductionEnvironment(this.document?.body.dataset)
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: OtterApplicationDevtools, deps: [{ token: DOCUMENT, optional: true }, { token: ENVIRONMENT_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
44
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: OtterApplicationDevtools, providedIn: 'root' }); }
|
|
43
45
|
}
|
|
44
|
-
|
|
45
|
-
/** @nocollapse */ OtterApplicationDevtools.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: OtterApplicationDevtools, providedIn: 'root' });
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: OtterApplicationDevtools, decorators: [{
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: OtterApplicationDevtools, decorators: [{
|
|
47
47
|
type: Injectable,
|
|
48
48
|
args: [{ providedIn: 'root' }]
|
|
49
49
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
@@ -65,6 +65,8 @@ const OTTER_APPLICATION_DEVTOOLS_OPTIONS = new InjectionToken('Otter Application
|
|
|
65
65
|
|
|
66
66
|
/* eslint-disable no-console */
|
|
67
67
|
class ApplicationDevtoolsConsoleService {
|
|
68
|
+
/** Name of the Window property to access to the devtools */
|
|
69
|
+
static { this.windowModuleName = 'application'; }
|
|
68
70
|
constructor(applicationDevtools, options) {
|
|
69
71
|
this.applicationDevtools = applicationDevtools;
|
|
70
72
|
this.options = { ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, ...options };
|
|
@@ -76,7 +78,7 @@ class ApplicationDevtoolsConsoleService {
|
|
|
76
78
|
activate() {
|
|
77
79
|
const windowWithDevtools = window;
|
|
78
80
|
// eslint-disable-next-line no-underscore-dangle
|
|
79
|
-
windowWithDevtools._OTTER_DEVTOOLS_
|
|
81
|
+
windowWithDevtools._OTTER_DEVTOOLS_ ||= {};
|
|
80
82
|
// eslint-disable-next-line no-underscore-dangle
|
|
81
83
|
windowWithDevtools._OTTER_DEVTOOLS_[ApplicationDevtoolsConsoleService.windowModuleName] = this;
|
|
82
84
|
console.info(`Otter Application Devtools is now accessible via the _OTTER_DEVTOOLS_.${ApplicationDevtoolsConsoleService.windowModuleName} variable`);
|
|
@@ -85,12 +87,10 @@ class ApplicationDevtoolsConsoleService {
|
|
|
85
87
|
displayApplicationInfo() {
|
|
86
88
|
console.info('Application info', this.applicationDevtools.getApplicationInformation());
|
|
87
89
|
}
|
|
90
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsConsoleService, deps: [{ token: OtterApplicationDevtools }, { token: OTTER_APPLICATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
91
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsConsoleService, providedIn: 'root' }); }
|
|
88
92
|
}
|
|
89
|
-
|
|
90
|
-
ApplicationDevtoolsConsoleService.windowModuleName = 'application';
|
|
91
|
-
/** @nocollapse */ ApplicationDevtoolsConsoleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsConsoleService, deps: [{ token: OtterApplicationDevtools }, { token: OTTER_APPLICATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
92
|
-
/** @nocollapse */ ApplicationDevtoolsConsoleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsConsoleService, providedIn: 'root' });
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsConsoleService, decorators: [{
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsConsoleService, decorators: [{
|
|
94
94
|
type: Injectable,
|
|
95
95
|
args: [{
|
|
96
96
|
providedIn: 'root'
|
|
@@ -179,10 +179,10 @@ class ApplicationDevtoolsMessageService {
|
|
|
179
179
|
ngOnDestroy() {
|
|
180
180
|
this.subscriptions.unsubscribe();
|
|
181
181
|
}
|
|
182
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsMessageService, deps: [{ token: i1.LoggerService }, { token: OtterApplicationDevtools }, { token: OTTER_APPLICATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
183
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsMessageService, providedIn: 'root' }); }
|
|
182
184
|
}
|
|
183
|
-
|
|
184
|
-
/** @nocollapse */ ApplicationDevtoolsMessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsMessageService, providedIn: 'root' });
|
|
185
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsMessageService, decorators: [{
|
|
185
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsMessageService, decorators: [{
|
|
186
186
|
type: Injectable,
|
|
187
187
|
args: [{
|
|
188
188
|
providedIn: 'root'
|
|
@@ -211,16 +211,16 @@ class ApplicationDevtoolsModule {
|
|
|
211
211
|
]
|
|
212
212
|
};
|
|
213
213
|
}
|
|
214
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
215
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsModule }); }
|
|
216
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsModule, providers: [
|
|
217
|
+
{ provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS },
|
|
218
|
+
ApplicationDevtoolsMessageService,
|
|
219
|
+
ApplicationDevtoolsConsoleService,
|
|
220
|
+
OtterApplicationDevtools
|
|
221
|
+
] }); }
|
|
214
222
|
}
|
|
215
|
-
|
|
216
|
-
/** @nocollapse */ ApplicationDevtoolsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsModule });
|
|
217
|
-
/** @nocollapse */ ApplicationDevtoolsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsModule, providers: [
|
|
218
|
-
{ provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS },
|
|
219
|
-
ApplicationDevtoolsMessageService,
|
|
220
|
-
ApplicationDevtoolsConsoleService,
|
|
221
|
-
OtterApplicationDevtools
|
|
222
|
-
] });
|
|
223
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsModule, decorators: [{
|
|
223
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ApplicationDevtoolsModule, decorators: [{
|
|
224
224
|
type: NgModule,
|
|
225
225
|
args: [{
|
|
226
226
|
providers: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"o3r-application.mjs","sources":["../../src/browser-preference/helper.ts","../../src/devkit/application-devkit.interface.ts","../../src/devkit/application-devtools.service.ts","../../src/devkit/application-devtools.token.ts","../../src/devkit/application-devtools.console.service.ts","../../src/devkit/application-devtools.message.service.ts","../../src/devkit/application-devtools.module.ts","../../src/o3r-application.ts"],"sourcesContent":["/**\n * Method that returns the setting of the user regarding animations.\n * This setting is generally set in the Operating System settings, and it is used by browsers.\n * Refer to: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion\n */\nexport function prefersReducedMotion(): boolean {\n const mediaQueryList = window.matchMedia('(prefers-reduced-motion)');\n\n return mediaQueryList.matches;\n}\n","import type { ConnectContentMessage, DevtoolsCommonOptions, MessageDataTypes, OtterMessageContent, RequestMessagesContentMessage } from '@o3r/core';\n\nexport interface ApplicationDevtoolsServiceOptions extends DevtoolsCommonOptions {\n /**\n * CSS classname applied to an HTML tag to hide it, ignore it, in the e2e visual testing process\n */\n e2eIgnoreClass?: string;\n}\n\n/**\n * Session information used to track all the calls done by one or several APIs of the SDK.\n */\nexport interface SessionInformation {\n /**\n * The session ID\n */\n id: string;\n /**\n * The generated time\n */\n generatedTime: Date;\n}\n\n/** Information relative loaded application */\nexport interface ApplicationInformation {\n /** Application Version */\n appVersion: string;\n /**\n * Session Information\n *\n * @note This is a session ID will be provided only with the Amadeus Otter implementation of the application package.\n */\n session?: SessionInformation;\n /**\n * Log Link\n *\n * @note This a link to Alf logs, it will be provided only with the Amadeus Otter implementation of the application package.\n */\n logLink?: string;\n /** Is Production Environment */\n isProduction: boolean;\n}\n\n/** Toggle Visual Testing */\nexport interface ToggleVisualTestingMessage extends OtterMessageContent<'toggleVisualTesting'> {\n /** Toggle the visual testing mode */\n toggle?: boolean;\n}\n\n\n/** Application Information Message Content */\nexport interface ApplicationInformationContentMessage extends ApplicationInformation, OtterMessageContent<'applicationInformation'> {\n}\n\ntype ApplicationMessageContents =\n | ApplicationInformationContentMessage\n | ToggleVisualTestingMessage;\n\n/** List of possible DataTypes for Application messages */\nexport type ApplicationMessageDataTypes = MessageDataTypes<ApplicationMessageContents>;\n\n/** List of all messages for application purpose */\nexport type AvailableApplicationMessageContents =\n | ApplicationMessageContents\n | ConnectContentMessage\n | RequestMessagesContentMessage<ApplicationMessageDataTypes>;\n\n/**\n * Determine if the given message is a Application message\n *\n * @param message message to check\n */\nexport const isApplicationMessage = (message: any): message is AvailableApplicationMessageContents => {\n return message && (\n message.dataType === 'toggleVisualTesting' ||\n message.dataType === 'applicationInformation' ||\n message.dataType === 'requestMessages' ||\n message.dataType === 'connect');\n};\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { BuildTimeProperties, isProductionEnvironment } from '@o3r/core';\nimport { ENVIRONMENT_CONFIG_TOKEN } from '@o3r/routing';\nimport { ApplicationInformation } from './application-devkit.interface';\n\n@Injectable({ providedIn: 'root' })\nexport class OtterApplicationDevtools {\n\n constructor(\n @Optional() @Inject(DOCUMENT) private document?: any,\n @Optional() @Inject(ENVIRONMENT_CONFIG_TOKEN) private env?: BuildTimeProperties) {\n }\n\n\n public getApplicationInformation(): ApplicationInformation {\n return {\n appVersion: this.env?.APP_VERSION || 'unknown',\n isProduction: isProductionEnvironment(this.document?.body.dataset)\n };\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { ApplicationDevtoolsServiceOptions } from './application-devkit.interface';\n\nexport const OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS: ApplicationDevtoolsServiceOptions = {\n isActivatedOnBootstrap: false\n};\n\nexport const OTTER_APPLICATION_DEVTOOLS_OPTIONS: InjectionToken<ApplicationDevtoolsServiceOptions> = new InjectionToken<ApplicationDevtoolsServiceOptions>('Otter Application Devtools options');\n","/* eslint-disable no-console */\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport type { DevtoolsServiceInterface, WindowWithDevtools } from '@o3r/core';\nimport { ApplicationDevtoolsServiceOptions } from './application-devkit.interface';\nimport { OtterApplicationDevtools } from './application-devtools.service';\nimport { OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS } from './application-devtools.token';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApplicationDevtoolsConsoleService implements DevtoolsServiceInterface {\n /** Name of the Window property to access to the devtools */\n public static readonly windowModuleName = 'application';\n\n private readonly options: ApplicationDevtoolsServiceOptions;\n\n constructor(\n private applicationDevtools: OtterApplicationDevtools,\n @Optional() @Inject(OTTER_APPLICATION_DEVTOOLS_OPTIONS) options?: ApplicationDevtoolsServiceOptions\n ) {\n this.options = { ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, ...options };\n\n if (this.options.isActivatedOnBootstrap) {\n this.activate();\n }\n }\n /** @inheritDoc */\n public activate() {\n const windowWithDevtools: WindowWithDevtools = window;\n // eslint-disable-next-line no-underscore-dangle\n windowWithDevtools._OTTER_DEVTOOLS_ ||= {};\n // eslint-disable-next-line no-underscore-dangle\n windowWithDevtools._OTTER_DEVTOOLS_[ApplicationDevtoolsConsoleService.windowModuleName] = this;\n\n console.info(`Otter Application Devtools is now accessible via the _OTTER_DEVTOOLS_.${ApplicationDevtoolsConsoleService.windowModuleName} variable`);\n }\n\n /** Display the information relative to the running application */\n public displayApplicationInfo() {\n console.info('Application info', this.applicationDevtools.getApplicationInformation());\n }\n}\n","import { Inject, Injectable, OnDestroy, Optional } from '@angular/core';\nimport { DevtoolsServiceInterface, filterMessageContent, sendOtterMessage } from '@o3r/core';\nimport { LoggerService } from '@o3r/logger';\nimport { isVisualTestingEnabled, prepareVisualTesting,toggleVisualTestingRender } from '@o3r/testing/visual-test/utils';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { ApplicationDevtoolsServiceOptions, ApplicationMessageDataTypes, AvailableApplicationMessageContents, isApplicationMessage } from './application-devkit.interface';\nimport { OtterApplicationDevtools } from './application-devtools.service';\nimport { OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS } from './application-devtools.token';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApplicationDevtoolsMessageService implements OnDestroy, DevtoolsServiceInterface {\n private readonly options: ApplicationDevtoolsServiceOptions;\n\n private subscriptions = new Subscription();\n\n private sendMessage = sendOtterMessage<AvailableApplicationMessageContents>;\n\n constructor(\n private logger: LoggerService,\n private applicationDevtools: OtterApplicationDevtools,\n @Optional() @Inject(OTTER_APPLICATION_DEVTOOLS_OPTIONS) options?: ApplicationDevtoolsServiceOptions) {\n this.options = {\n ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS,\n ...options\n };\n\n if (this.options.isActivatedOnBootstrap) {\n this.activate();\n }\n }\n\n private sendApplicationInformation() {\n this.sendMessage('applicationInformation', this.applicationDevtools.getApplicationInformation());\n }\n\n /**\n * Function to connect the plugin to the Otter DevTools extension\n */\n private connectPlugin() {\n this.logger.debug('Otter DevTools is plugged to application service of the application');\n void this.sendApplicationInformation();\n }\n\n /**\n * Function to trigger a re-send a requested messages to the Otter Chrome DevTools extension\n *\n * @param only restricted list of messages to re-send\n */\n private handleReEmitRequest(only?: ApplicationMessageDataTypes[]) {\n if (!only || only.includes('applicationInformation')) {\n this.sendApplicationInformation();\n }\n }\n\n /**\n * Function to handle the incoming messages from Otter Chrome DevTools extension\n *\n * @param event Event coming from the Otter Chrome DevTools extension\n * @param message\n */\n private handleEvents(message: AvailableApplicationMessageContents) {\n this.logger.debug('Message handling by the application service', message);\n\n switch (message.dataType) {\n case 'connect': {\n this.connectPlugin();\n break;\n }\n case 'requestMessages': {\n this.handleReEmitRequest(message.only);\n break;\n }\n case 'toggleVisualTesting': {\n this.toggleVisualTestingRender(message.toggle);\n break;\n }\n default: {\n this.logger.warn('Message ignored by the application service', message);\n }\n }\n }\n\n /**\n * Toggle visual testing rendering\n *\n * @param enabled activate or deactivate the visual testing mode\n */\n private toggleVisualTestingRender(enabled?: boolean) {\n toggleVisualTestingRender(enabled === undefined ? !isVisualTestingEnabled() : enabled);\n }\n\n /** @inheritDoc */\n public activate() {\n this.subscriptions.add(\n fromEvent(window, 'message').pipe(filterMessageContent(isApplicationMessage)).subscribe((e) => this.handleEvents(e))\n );\n prepareVisualTesting(this.options.e2eIgnoreClass);\n }\n\n /** @inheritDoc */\n public ngOnDestroy() {\n this.subscriptions.unsubscribe();\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport type { ApplicationDevtoolsServiceOptions } from './application-devkit.interface';\nimport { ApplicationDevtoolsConsoleService } from './application-devtools.console.service';\nimport { ApplicationDevtoolsMessageService } from './application-devtools.message.service';\nimport { OtterApplicationDevtools } from './application-devtools.service';\nimport { OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS } from './application-devtools.token';\n\n@NgModule({\n providers: [\n { provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS },\n ApplicationDevtoolsMessageService,\n ApplicationDevtoolsConsoleService,\n OtterApplicationDevtools\n ]\n})\nexport class ApplicationDevtoolsModule {\n\n /**\n * Initialize Otter Devtools\n *\n * @param options\n */\n public static instrument(options: Partial<ApplicationDevtoolsServiceOptions>): ModuleWithProviders<ApplicationDevtoolsModule> {\n return {\n ngModule: ApplicationDevtoolsModule,\n providers: [\n { provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: {...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, ...options}, multi: false },\n ApplicationDevtoolsMessageService,\n ApplicationDevtoolsConsoleService,\n OtterApplicationDevtools\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"o3r-application.mjs","sources":["../../src/browser-preference/helper.ts","../../src/devkit/application-devkit.interface.ts","../../src/devkit/application-devtools.service.ts","../../src/devkit/application-devtools.token.ts","../../src/devkit/application-devtools.console.service.ts","../../src/devkit/application-devtools.message.service.ts","../../src/devkit/application-devtools.module.ts","../../src/o3r-application.ts"],"sourcesContent":["/**\n * Method that returns the setting of the user regarding animations.\n * This setting is generally set in the Operating System settings, and it is used by browsers.\n * Refer to: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion\n */\nexport function prefersReducedMotion(): boolean {\n const mediaQueryList = window.matchMedia('(prefers-reduced-motion)');\n\n return mediaQueryList.matches;\n}\n","import type { ConnectContentMessage, DevtoolsCommonOptions, MessageDataTypes, OtterMessageContent, RequestMessagesContentMessage } from '@o3r/core';\n\nexport interface ApplicationDevtoolsServiceOptions extends DevtoolsCommonOptions {\n /**\n * CSS classname applied to an HTML tag to hide it, ignore it, in the e2e visual testing process\n */\n e2eIgnoreClass?: string;\n}\n\n/**\n * Session information used to track all the calls done by one or several APIs of the SDK.\n */\nexport interface SessionInformation {\n /**\n * The session ID\n */\n id: string;\n /**\n * The generated time\n */\n generatedTime: Date;\n}\n\n/** Information relative loaded application */\nexport interface ApplicationInformation {\n /** Application Version */\n appVersion: string;\n /**\n * Session Information\n *\n * @note This is a session ID will be provided only with the Amadeus Otter implementation of the application package.\n */\n session?: SessionInformation;\n /**\n * Log Link\n *\n * @note This a link to Alf logs, it will be provided only with the Amadeus Otter implementation of the application package.\n */\n logLink?: string;\n /** Is Production Environment */\n isProduction: boolean;\n}\n\n/** Toggle Visual Testing */\nexport interface ToggleVisualTestingMessage extends OtterMessageContent<'toggleVisualTesting'> {\n /** Toggle the visual testing mode */\n toggle?: boolean;\n}\n\n\n/** Application Information Message Content */\nexport interface ApplicationInformationContentMessage extends ApplicationInformation, OtterMessageContent<'applicationInformation'> {\n}\n\ntype ApplicationMessageContents =\n | ApplicationInformationContentMessage\n | ToggleVisualTestingMessage;\n\n/** List of possible DataTypes for Application messages */\nexport type ApplicationMessageDataTypes = MessageDataTypes<ApplicationMessageContents>;\n\n/** List of all messages for application purpose */\nexport type AvailableApplicationMessageContents =\n | ApplicationMessageContents\n | ConnectContentMessage\n | RequestMessagesContentMessage<ApplicationMessageDataTypes>;\n\n/**\n * Determine if the given message is a Application message\n *\n * @param message message to check\n */\nexport const isApplicationMessage = (message: any): message is AvailableApplicationMessageContents => {\n return message && (\n message.dataType === 'toggleVisualTesting' ||\n message.dataType === 'applicationInformation' ||\n message.dataType === 'requestMessages' ||\n message.dataType === 'connect');\n};\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { BuildTimeProperties, isProductionEnvironment } from '@o3r/core';\nimport { ENVIRONMENT_CONFIG_TOKEN } from '@o3r/routing';\nimport { ApplicationInformation } from './application-devkit.interface';\n\n@Injectable({ providedIn: 'root' })\nexport class OtterApplicationDevtools {\n\n constructor(\n @Optional() @Inject(DOCUMENT) private document?: any,\n @Optional() @Inject(ENVIRONMENT_CONFIG_TOKEN) private env?: BuildTimeProperties) {\n }\n\n\n public getApplicationInformation(): ApplicationInformation {\n return {\n appVersion: this.env?.APP_VERSION || 'unknown',\n isProduction: isProductionEnvironment(this.document?.body.dataset)\n };\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { ApplicationDevtoolsServiceOptions } from './application-devkit.interface';\n\nexport const OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS: ApplicationDevtoolsServiceOptions = {\n isActivatedOnBootstrap: false\n};\n\nexport const OTTER_APPLICATION_DEVTOOLS_OPTIONS: InjectionToken<ApplicationDevtoolsServiceOptions> = new InjectionToken<ApplicationDevtoolsServiceOptions>('Otter Application Devtools options');\n","/* eslint-disable no-console */\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport type { DevtoolsServiceInterface, WindowWithDevtools } from '@o3r/core';\nimport { ApplicationDevtoolsServiceOptions } from './application-devkit.interface';\nimport { OtterApplicationDevtools } from './application-devtools.service';\nimport { OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS } from './application-devtools.token';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApplicationDevtoolsConsoleService implements DevtoolsServiceInterface {\n /** Name of the Window property to access to the devtools */\n public static readonly windowModuleName = 'application';\n\n private readonly options: ApplicationDevtoolsServiceOptions;\n\n constructor(\n private applicationDevtools: OtterApplicationDevtools,\n @Optional() @Inject(OTTER_APPLICATION_DEVTOOLS_OPTIONS) options?: ApplicationDevtoolsServiceOptions\n ) {\n this.options = { ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, ...options };\n\n if (this.options.isActivatedOnBootstrap) {\n this.activate();\n }\n }\n /** @inheritDoc */\n public activate() {\n const windowWithDevtools: WindowWithDevtools = window;\n // eslint-disable-next-line no-underscore-dangle\n windowWithDevtools._OTTER_DEVTOOLS_ ||= {};\n // eslint-disable-next-line no-underscore-dangle\n windowWithDevtools._OTTER_DEVTOOLS_[ApplicationDevtoolsConsoleService.windowModuleName] = this;\n\n console.info(`Otter Application Devtools is now accessible via the _OTTER_DEVTOOLS_.${ApplicationDevtoolsConsoleService.windowModuleName} variable`);\n }\n\n /** Display the information relative to the running application */\n public displayApplicationInfo() {\n console.info('Application info', this.applicationDevtools.getApplicationInformation());\n }\n}\n","import { Inject, Injectable, OnDestroy, Optional } from '@angular/core';\nimport { DevtoolsServiceInterface, filterMessageContent, sendOtterMessage } from '@o3r/core';\nimport { LoggerService } from '@o3r/logger';\nimport { isVisualTestingEnabled, prepareVisualTesting,toggleVisualTestingRender } from '@o3r/testing/visual-test/utils';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { ApplicationDevtoolsServiceOptions, ApplicationMessageDataTypes, AvailableApplicationMessageContents, isApplicationMessage } from './application-devkit.interface';\nimport { OtterApplicationDevtools } from './application-devtools.service';\nimport { OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS } from './application-devtools.token';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApplicationDevtoolsMessageService implements OnDestroy, DevtoolsServiceInterface {\n private readonly options: ApplicationDevtoolsServiceOptions;\n\n private subscriptions = new Subscription();\n\n private sendMessage = sendOtterMessage<AvailableApplicationMessageContents>;\n\n constructor(\n private logger: LoggerService,\n private applicationDevtools: OtterApplicationDevtools,\n @Optional() @Inject(OTTER_APPLICATION_DEVTOOLS_OPTIONS) options?: ApplicationDevtoolsServiceOptions) {\n this.options = {\n ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS,\n ...options\n };\n\n if (this.options.isActivatedOnBootstrap) {\n this.activate();\n }\n }\n\n private sendApplicationInformation() {\n this.sendMessage('applicationInformation', this.applicationDevtools.getApplicationInformation());\n }\n\n /**\n * Function to connect the plugin to the Otter DevTools extension\n */\n private connectPlugin() {\n this.logger.debug('Otter DevTools is plugged to application service of the application');\n void this.sendApplicationInformation();\n }\n\n /**\n * Function to trigger a re-send a requested messages to the Otter Chrome DevTools extension\n *\n * @param only restricted list of messages to re-send\n */\n private handleReEmitRequest(only?: ApplicationMessageDataTypes[]) {\n if (!only || only.includes('applicationInformation')) {\n this.sendApplicationInformation();\n }\n }\n\n /**\n * Function to handle the incoming messages from Otter Chrome DevTools extension\n *\n * @param event Event coming from the Otter Chrome DevTools extension\n * @param message\n */\n private handleEvents(message: AvailableApplicationMessageContents) {\n this.logger.debug('Message handling by the application service', message);\n\n switch (message.dataType) {\n case 'connect': {\n this.connectPlugin();\n break;\n }\n case 'requestMessages': {\n this.handleReEmitRequest(message.only);\n break;\n }\n case 'toggleVisualTesting': {\n this.toggleVisualTestingRender(message.toggle);\n break;\n }\n default: {\n this.logger.warn('Message ignored by the application service', message);\n }\n }\n }\n\n /**\n * Toggle visual testing rendering\n *\n * @param enabled activate or deactivate the visual testing mode\n */\n private toggleVisualTestingRender(enabled?: boolean) {\n toggleVisualTestingRender(enabled === undefined ? !isVisualTestingEnabled() : enabled);\n }\n\n /** @inheritDoc */\n public activate() {\n this.subscriptions.add(\n fromEvent(window, 'message').pipe(filterMessageContent(isApplicationMessage)).subscribe((e) => this.handleEvents(e))\n );\n prepareVisualTesting(this.options.e2eIgnoreClass);\n }\n\n /** @inheritDoc */\n public ngOnDestroy() {\n this.subscriptions.unsubscribe();\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport type { ApplicationDevtoolsServiceOptions } from './application-devkit.interface';\nimport { ApplicationDevtoolsConsoleService } from './application-devtools.console.service';\nimport { ApplicationDevtoolsMessageService } from './application-devtools.message.service';\nimport { OtterApplicationDevtools } from './application-devtools.service';\nimport { OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS } from './application-devtools.token';\n\n@NgModule({\n providers: [\n { provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS },\n ApplicationDevtoolsMessageService,\n ApplicationDevtoolsConsoleService,\n OtterApplicationDevtools\n ]\n})\nexport class ApplicationDevtoolsModule {\n\n /**\n * Initialize Otter Devtools\n *\n * @param options\n */\n public static instrument(options: Partial<ApplicationDevtoolsServiceOptions>): ModuleWithProviders<ApplicationDevtoolsModule> {\n return {\n ngModule: ApplicationDevtoolsModule,\n providers: [\n { provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: {...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, ...options}, multi: false },\n ApplicationDevtoolsMessageService,\n ApplicationDevtoolsConsoleService,\n OtterApplicationDevtools\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@o3r/application",
|
|
3
|
-
"version": "8.4.0-alpha.
|
|
3
|
+
"version": "8.4.0-alpha.24",
|
|
4
4
|
"description": "This module provides development help to monitor your Otter Application",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"application",
|
|
@@ -16,25 +16,23 @@
|
|
|
16
16
|
},
|
|
17
17
|
".": {
|
|
18
18
|
"types": "./index.d.ts",
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"node": "./fesm2015/o3r-application.mjs",
|
|
23
|
-
"default": "./fesm2020/o3r-application.mjs"
|
|
19
|
+
"esm2022": "./esm2022/o3r-application.mjs",
|
|
20
|
+
"esm": "./esm2022/o3r-application.mjs",
|
|
21
|
+
"default": "./fesm2022/o3r-application.mjs"
|
|
24
22
|
}
|
|
25
23
|
},
|
|
26
24
|
"peerDependencies": {
|
|
27
|
-
"@angular-devkit/schematics": "
|
|
28
|
-
"@angular/common": "
|
|
29
|
-
"@angular/core": "
|
|
30
|
-
"@o3r/core": "^8.4.0-alpha.
|
|
31
|
-
"@o3r/dev-tools": "^8.4.0-alpha.
|
|
32
|
-
"@o3r/logger": "^8.4.0-alpha.
|
|
33
|
-
"@o3r/routing": "^8.4.0-alpha.
|
|
34
|
-
"@o3r/schematics": "^8.4.0-alpha.
|
|
35
|
-
"@o3r/testing": "^8.4.0-alpha.
|
|
36
|
-
"@schematics/angular": "~
|
|
37
|
-
"rxjs": "^7.
|
|
25
|
+
"@angular-devkit/schematics": "~16.0.5",
|
|
26
|
+
"@angular/common": "~16.0.5",
|
|
27
|
+
"@angular/core": "~16.0.5",
|
|
28
|
+
"@o3r/core": "^8.4.0-alpha.24",
|
|
29
|
+
"@o3r/dev-tools": "^8.4.0-alpha.24",
|
|
30
|
+
"@o3r/logger": "^8.4.0-alpha.24",
|
|
31
|
+
"@o3r/routing": "^8.4.0-alpha.24",
|
|
32
|
+
"@o3r/schematics": "^8.4.0-alpha.24",
|
|
33
|
+
"@o3r/testing": "^8.4.0-alpha.24",
|
|
34
|
+
"@schematics/angular": "~16.0.5",
|
|
35
|
+
"rxjs": "^7.8.1"
|
|
38
36
|
},
|
|
39
37
|
"peerDependenciesMeta": {
|
|
40
38
|
"@angular-devkit/schematics": {
|
|
@@ -45,17 +43,13 @@
|
|
|
45
43
|
}
|
|
46
44
|
},
|
|
47
45
|
"dependencies": {
|
|
48
|
-
"tslib": "^2.
|
|
46
|
+
"tslib": "^2.5.3"
|
|
49
47
|
},
|
|
50
48
|
"engines": {
|
|
51
|
-
"node": ">=
|
|
49
|
+
"node": ">=16.0.0"
|
|
52
50
|
},
|
|
53
51
|
"schematics": "./collection.json",
|
|
54
|
-
"module": "
|
|
55
|
-
"es2020": "fesm2020/o3r-application.mjs",
|
|
56
|
-
"esm2020": "esm2020/o3r-application.mjs",
|
|
57
|
-
"fesm2020": "fesm2020/o3r-application.mjs",
|
|
58
|
-
"fesm2015": "fesm2015/o3r-application.mjs",
|
|
52
|
+
"module": "fesm2022/o3r-application.mjs",
|
|
59
53
|
"typings": "index.d.ts",
|
|
60
54
|
"sideEffects": false,
|
|
61
55
|
"contributors": [
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-console */
|
|
2
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
|
3
|
-
import { OtterApplicationDevtools } from './application-devtools.service';
|
|
4
|
-
import { OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS } from './application-devtools.token';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./application-devtools.service";
|
|
7
|
-
export class ApplicationDevtoolsConsoleService {
|
|
8
|
-
constructor(applicationDevtools, options) {
|
|
9
|
-
this.applicationDevtools = applicationDevtools;
|
|
10
|
-
this.options = { ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, ...options };
|
|
11
|
-
if (this.options.isActivatedOnBootstrap) {
|
|
12
|
-
this.activate();
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
/** @inheritDoc */
|
|
16
|
-
activate() {
|
|
17
|
-
const windowWithDevtools = window;
|
|
18
|
-
// eslint-disable-next-line no-underscore-dangle
|
|
19
|
-
windowWithDevtools._OTTER_DEVTOOLS_ || (windowWithDevtools._OTTER_DEVTOOLS_ = {});
|
|
20
|
-
// eslint-disable-next-line no-underscore-dangle
|
|
21
|
-
windowWithDevtools._OTTER_DEVTOOLS_[ApplicationDevtoolsConsoleService.windowModuleName] = this;
|
|
22
|
-
console.info(`Otter Application Devtools is now accessible via the _OTTER_DEVTOOLS_.${ApplicationDevtoolsConsoleService.windowModuleName} variable`);
|
|
23
|
-
}
|
|
24
|
-
/** Display the information relative to the running application */
|
|
25
|
-
displayApplicationInfo() {
|
|
26
|
-
console.info('Application info', this.applicationDevtools.getApplicationInformation());
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
/** Name of the Window property to access to the devtools */
|
|
30
|
-
ApplicationDevtoolsConsoleService.windowModuleName = 'application';
|
|
31
|
-
/** @nocollapse */ ApplicationDevtoolsConsoleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsConsoleService, deps: [{ token: i1.OtterApplicationDevtools }, { token: OTTER_APPLICATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
-
/** @nocollapse */ ApplicationDevtoolsConsoleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsConsoleService, providedIn: 'root' });
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsConsoleService, decorators: [{
|
|
34
|
-
type: Injectable,
|
|
35
|
-
args: [{
|
|
36
|
-
providedIn: 'root'
|
|
37
|
-
}]
|
|
38
|
-
}], ctorParameters: function () { return [{ type: i1.OtterApplicationDevtools }, { type: undefined, decorators: [{
|
|
39
|
-
type: Optional
|
|
40
|
-
}, {
|
|
41
|
-
type: Inject,
|
|
42
|
-
args: [OTTER_APPLICATION_DEVTOOLS_OPTIONS]
|
|
43
|
-
}] }]; } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tZGV2dG9vbHMuY29uc29sZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RldmtpdC9hcHBsaWNhdGlvbi1kZXZ0b29scy5jb25zb2xlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMENBQTBDLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBSzlILE1BQU0sT0FBTyxpQ0FBaUM7SUFNNUMsWUFDVSxtQkFBNkMsRUFDRyxPQUEyQztRQUQzRix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQTBCO1FBR3JELElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxHQUFHLDBDQUEwQyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFFN0UsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFDRCxrQkFBa0I7SUFDWCxRQUFRO1FBQ2IsTUFBTSxrQkFBa0IsR0FBdUIsTUFBTSxDQUFDO1FBQ3RELGdEQUFnRDtRQUNoRCxrQkFBa0IsQ0FBQyxnQkFBZ0IsS0FBbkMsa0JBQWtCLENBQUMsZ0JBQWdCLEdBQUssRUFBRSxFQUFDO1FBQzNDLGdEQUFnRDtRQUNoRCxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxpQ0FBaUMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUUvRixPQUFPLENBQUMsSUFBSSxDQUFDLHlFQUF5RSxpQ0FBaUMsQ0FBQyxnQkFBZ0IsV0FBVyxDQUFDLENBQUM7SUFDdkosQ0FBQztJQUVELGtFQUFrRTtJQUMzRCxzQkFBc0I7UUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7O0FBN0JELDREQUE0RDtBQUNyQyxrREFBZ0IsR0FBRyxhQUFhLENBQUM7aUpBRjdDLGlDQUFpQywwREFRdEIsa0NBQWtDO3FKQVI3QyxpQ0FBaUMsY0FGaEMsTUFBTTsyRkFFUCxpQ0FBaUM7a0JBSDdDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFTSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgRGV2dG9vbHNTZXJ2aWNlSW50ZXJmYWNlLCBXaW5kb3dXaXRoRGV2dG9vbHMgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi1kZXZraXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IE90dGVyQXBwbGljYXRpb25EZXZ0b29scyB9IGZyb20gJy4vYXBwbGljYXRpb24tZGV2dG9vbHMuc2VydmljZSc7XG5pbXBvcnQgeyBPVFRFUl9BUFBMSUNBVElPTl9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIE9UVEVSX0FQUExJQ0FUSU9OX0RFVlRPT0xTX09QVElPTlMgfSBmcm9tICcuL2FwcGxpY2F0aW9uLWRldnRvb2xzLnRva2VuJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25EZXZ0b29sc0NvbnNvbGVTZXJ2aWNlIGltcGxlbWVudHMgRGV2dG9vbHNTZXJ2aWNlSW50ZXJmYWNlIHtcbiAgLyoqIE5hbWUgb2YgdGhlIFdpbmRvdyBwcm9wZXJ0eSB0byBhY2Nlc3MgdG8gdGhlIGRldnRvb2xzICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgd2luZG93TW9kdWxlTmFtZSA9ICdhcHBsaWNhdGlvbic7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBBcHBsaWNhdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnM7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkRldnRvb2xzOiBPdHRlckFwcGxpY2F0aW9uRGV2dG9vbHMsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChPVFRFUl9BUFBMSUNBVElPTl9ERVZUT09MU19PUFRJT05TKSBvcHRpb25zPzogQXBwbGljYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zXG4gICkge1xuICAgIHRoaXMub3B0aW9ucyA9IHsgLi4uT1RURVJfQVBQTElDQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmlzQWN0aXZhdGVkT25Cb290c3RyYXApIHtcbiAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICB9XG4gIH1cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBhY3RpdmF0ZSgpIHtcbiAgICBjb25zdCB3aW5kb3dXaXRoRGV2dG9vbHM6IFdpbmRvd1dpdGhEZXZ0b29scyA9IHdpbmRvdztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcbiAgICB3aW5kb3dXaXRoRGV2dG9vbHMuX09UVEVSX0RFVlRPT0xTXyB8fD0ge307XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG4gICAgd2luZG93V2l0aERldnRvb2xzLl9PVFRFUl9ERVZUT09MU19bQXBwbGljYXRpb25EZXZ0b29sc0NvbnNvbGVTZXJ2aWNlLndpbmRvd01vZHVsZU5hbWVdID0gdGhpcztcblxuICAgIGNvbnNvbGUuaW5mbyhgT3R0ZXIgQXBwbGljYXRpb24gRGV2dG9vbHMgaXMgbm93IGFjY2Vzc2libGUgdmlhIHRoZSBfT1RURVJfREVWVE9PTFNfLiR7QXBwbGljYXRpb25EZXZ0b29sc0NvbnNvbGVTZXJ2aWNlLndpbmRvd01vZHVsZU5hbWV9IHZhcmlhYmxlYCk7XG4gIH1cblxuICAvKiogRGlzcGxheSB0aGUgaW5mb3JtYXRpb24gcmVsYXRpdmUgdG8gdGhlIHJ1bm5pbmcgYXBwbGljYXRpb24gKi9cbiAgcHVibGljIGRpc3BsYXlBcHBsaWNhdGlvbkluZm8oKSB7XG4gICAgY29uc29sZS5pbmZvKCdBcHBsaWNhdGlvbiBpbmZvJywgdGhpcy5hcHBsaWNhdGlvbkRldnRvb2xzLmdldEFwcGxpY2F0aW9uSW5mb3JtYXRpb24oKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
|
2
|
-
import { filterMessageContent, sendOtterMessage } from '@o3r/core';
|
|
3
|
-
import { LoggerService } from '@o3r/logger';
|
|
4
|
-
import { isVisualTestingEnabled, prepareVisualTesting, toggleVisualTestingRender } from '@o3r/testing/visual-test/utils';
|
|
5
|
-
import { fromEvent, Subscription } from 'rxjs';
|
|
6
|
-
import { isApplicationMessage } from './application-devkit.interface';
|
|
7
|
-
import { OtterApplicationDevtools } from './application-devtools.service';
|
|
8
|
-
import { OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS } from './application-devtools.token';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@o3r/logger";
|
|
11
|
-
import * as i2 from "./application-devtools.service";
|
|
12
|
-
export class ApplicationDevtoolsMessageService {
|
|
13
|
-
constructor(logger, applicationDevtools, options) {
|
|
14
|
-
this.logger = logger;
|
|
15
|
-
this.applicationDevtools = applicationDevtools;
|
|
16
|
-
this.subscriptions = new Subscription();
|
|
17
|
-
this.sendMessage = (sendOtterMessage);
|
|
18
|
-
this.options = {
|
|
19
|
-
...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS,
|
|
20
|
-
...options
|
|
21
|
-
};
|
|
22
|
-
if (this.options.isActivatedOnBootstrap) {
|
|
23
|
-
this.activate();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
sendApplicationInformation() {
|
|
27
|
-
this.sendMessage('applicationInformation', this.applicationDevtools.getApplicationInformation());
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Function to connect the plugin to the Otter DevTools extension
|
|
31
|
-
*/
|
|
32
|
-
connectPlugin() {
|
|
33
|
-
this.logger.debug('Otter DevTools is plugged to application service of the application');
|
|
34
|
-
void this.sendApplicationInformation();
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Function to trigger a re-send a requested messages to the Otter Chrome DevTools extension
|
|
38
|
-
*
|
|
39
|
-
* @param only restricted list of messages to re-send
|
|
40
|
-
*/
|
|
41
|
-
handleReEmitRequest(only) {
|
|
42
|
-
if (!only || only.includes('applicationInformation')) {
|
|
43
|
-
this.sendApplicationInformation();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Function to handle the incoming messages from Otter Chrome DevTools extension
|
|
48
|
-
*
|
|
49
|
-
* @param event Event coming from the Otter Chrome DevTools extension
|
|
50
|
-
* @param message
|
|
51
|
-
*/
|
|
52
|
-
handleEvents(message) {
|
|
53
|
-
this.logger.debug('Message handling by the application service', message);
|
|
54
|
-
switch (message.dataType) {
|
|
55
|
-
case 'connect': {
|
|
56
|
-
this.connectPlugin();
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
case 'requestMessages': {
|
|
60
|
-
this.handleReEmitRequest(message.only);
|
|
61
|
-
break;
|
|
62
|
-
}
|
|
63
|
-
case 'toggleVisualTesting': {
|
|
64
|
-
this.toggleVisualTestingRender(message.toggle);
|
|
65
|
-
break;
|
|
66
|
-
}
|
|
67
|
-
default: {
|
|
68
|
-
this.logger.warn('Message ignored by the application service', message);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Toggle visual testing rendering
|
|
74
|
-
*
|
|
75
|
-
* @param enabled activate or deactivate the visual testing mode
|
|
76
|
-
*/
|
|
77
|
-
toggleVisualTestingRender(enabled) {
|
|
78
|
-
toggleVisualTestingRender(enabled === undefined ? !isVisualTestingEnabled() : enabled);
|
|
79
|
-
}
|
|
80
|
-
/** @inheritDoc */
|
|
81
|
-
activate() {
|
|
82
|
-
this.subscriptions.add(fromEvent(window, 'message').pipe(filterMessageContent(isApplicationMessage)).subscribe((e) => this.handleEvents(e)));
|
|
83
|
-
prepareVisualTesting(this.options.e2eIgnoreClass);
|
|
84
|
-
}
|
|
85
|
-
/** @inheritDoc */
|
|
86
|
-
ngOnDestroy() {
|
|
87
|
-
this.subscriptions.unsubscribe();
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
/** @nocollapse */ ApplicationDevtoolsMessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsMessageService, deps: [{ token: i1.LoggerService }, { token: i2.OtterApplicationDevtools }, { token: OTTER_APPLICATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
91
|
-
/** @nocollapse */ ApplicationDevtoolsMessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsMessageService, providedIn: 'root' });
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsMessageService, decorators: [{
|
|
93
|
-
type: Injectable,
|
|
94
|
-
args: [{
|
|
95
|
-
providedIn: 'root'
|
|
96
|
-
}]
|
|
97
|
-
}], ctorParameters: function () { return [{ type: i1.LoggerService }, { type: i2.OtterApplicationDevtools }, { type: undefined, decorators: [{
|
|
98
|
-
type: Optional
|
|
99
|
-
}, {
|
|
100
|
-
type: Inject,
|
|
101
|
-
args: [OTTER_APPLICATION_DEVTOOLS_OPTIONS]
|
|
102
|
-
}] }]; } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tZGV2dG9vbHMubWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RldmtpdC9hcHBsaWNhdGlvbi1kZXZ0b29scy5tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBNEIsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDN0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUMseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4SCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQXVHLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0ssT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFLOUgsTUFBTSxPQUFPLGlDQUFpQztJQU81QyxZQUNZLE1BQXFCLEVBQ3JCLG1CQUE2QyxFQUNHLE9BQTJDO1FBRjNGLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEwQjtRQU5qRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFbkMsZ0JBQVcsSUFBRyxnQkFBcUQsRUFBQztRQU0xRSxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsR0FBRywwQ0FBMEM7WUFDN0MsR0FBRyxPQUFPO1NBQ1gsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtZQUN2QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHlCQUF5QixFQUFFLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRUQ7O09BRUc7SUFDSyxhQUFhO1FBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHFFQUFxRSxDQUFDLENBQUM7UUFDekYsS0FBSyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLG1CQUFtQixDQUFDLElBQW9DO1FBQzlELElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFO1lBQ3BELElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssWUFBWSxDQUFDLE9BQTRDO1FBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDZDQUE2QyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTFFLFFBQVEsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUN4QixLQUFLLFNBQVMsQ0FBQyxDQUFDO2dCQUNkLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsTUFBTTthQUNQO1lBQ0QsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUN0QixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN2QyxNQUFNO2FBQ1A7WUFDRCxLQUFLLHFCQUFxQixDQUFDLENBQUM7Z0JBQzFCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQy9DLE1BQU07YUFDUDtZQUNELE9BQU8sQ0FBQyxDQUFDO2dCQUNQLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ3pFO1NBQ0Y7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLHlCQUF5QixDQUFDLE9BQWlCO1FBQ2pELHlCQUF5QixDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFFBQVE7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNySCxDQUFDO1FBQ0Ysb0JBQW9CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsV0FBVztRQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7O2lKQTVGVSxpQ0FBaUMsdUZBVXBCLGtDQUFrQztxSkFWL0MsaUNBQWlDLGNBRmhDLE1BQU07MkZBRVAsaUNBQWlDO2tCQUg3QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBV00sUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERldnRvb2xzU2VydmljZUludGVyZmFjZSwgZmlsdGVyTWVzc2FnZUNvbnRlbnQsIHNlbmRPdHRlck1lc3NhZ2UgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJ0BvM3IvbG9nZ2VyJztcbmltcG9ydCB7IGlzVmlzdWFsVGVzdGluZ0VuYWJsZWQsIHByZXBhcmVWaXN1YWxUZXN0aW5nLHRvZ2dsZVZpc3VhbFRlc3RpbmdSZW5kZXIgfSBmcm9tICdAbzNyL3Rlc3RpbmcvdmlzdWFsLXRlc3QvdXRpbHMnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucywgQXBwbGljYXRpb25NZXNzYWdlRGF0YVR5cGVzLCBBdmFpbGFibGVBcHBsaWNhdGlvbk1lc3NhZ2VDb250ZW50cywgaXNBcHBsaWNhdGlvbk1lc3NhZ2UgfSBmcm9tICcuL2FwcGxpY2F0aW9uLWRldmtpdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3R0ZXJBcHBsaWNhdGlvbkRldnRvb2xzIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi1kZXZ0b29scy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UVEVSX0FQUExJQ0FUSU9OX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUywgT1RURVJfQVBQTElDQVRJT05fREVWVE9PTFNfT1BUSU9OUyB9IGZyb20gJy4vYXBwbGljYXRpb24tZGV2dG9vbHMudG9rZW4nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkRldnRvb2xzTWVzc2FnZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIERldnRvb2xzU2VydmljZUludGVyZmFjZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQXBwbGljYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwcml2YXRlIHNlbmRNZXNzYWdlID0gc2VuZE90dGVyTWVzc2FnZTxBdmFpbGFibGVBcHBsaWNhdGlvbk1lc3NhZ2VDb250ZW50cz47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICAgIHByaXZhdGUgYXBwbGljYXRpb25EZXZ0b29sczogT3R0ZXJBcHBsaWNhdGlvbkRldnRvb2xzLFxuICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChPVFRFUl9BUFBMSUNBVElPTl9ERVZUT09MU19PUFRJT05TKSBvcHRpb25zPzogQXBwbGljYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zKSB7XG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgLi4uT1RURVJfQVBQTElDQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLFxuICAgICAgLi4ub3B0aW9uc1xuICAgIH07XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmlzQWN0aXZhdGVkT25Cb290c3RyYXApIHtcbiAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNlbmRBcHBsaWNhdGlvbkluZm9ybWF0aW9uKCkge1xuICAgIHRoaXMuc2VuZE1lc3NhZ2UoJ2FwcGxpY2F0aW9uSW5mb3JtYXRpb24nLCB0aGlzLmFwcGxpY2F0aW9uRGV2dG9vbHMuZ2V0QXBwbGljYXRpb25JbmZvcm1hdGlvbigpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBjb25uZWN0IHRoZSBwbHVnaW4gdG8gdGhlIE90dGVyIERldlRvb2xzIGV4dGVuc2lvblxuICAgKi9cbiAgcHJpdmF0ZSBjb25uZWN0UGx1Z2luKCkge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdPdHRlciBEZXZUb29scyBpcyBwbHVnZ2VkIHRvIGFwcGxpY2F0aW9uIHNlcnZpY2Ugb2YgdGhlIGFwcGxpY2F0aW9uJyk7XG4gICAgdm9pZCB0aGlzLnNlbmRBcHBsaWNhdGlvbkluZm9ybWF0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gdHJpZ2dlciBhIHJlLXNlbmQgYSByZXF1ZXN0ZWQgbWVzc2FnZXMgdG8gdGhlIE90dGVyIENocm9tZSBEZXZUb29scyBleHRlbnNpb25cbiAgICpcbiAgICogQHBhcmFtIG9ubHkgcmVzdHJpY3RlZCBsaXN0IG9mIG1lc3NhZ2VzIHRvIHJlLXNlbmRcbiAgICovXG4gIHByaXZhdGUgaGFuZGxlUmVFbWl0UmVxdWVzdChvbmx5PzogQXBwbGljYXRpb25NZXNzYWdlRGF0YVR5cGVzW10pIHtcbiAgICBpZiAoIW9ubHkgfHwgb25seS5pbmNsdWRlcygnYXBwbGljYXRpb25JbmZvcm1hdGlvbicpKSB7XG4gICAgICB0aGlzLnNlbmRBcHBsaWNhdGlvbkluZm9ybWF0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGhhbmRsZSB0aGUgaW5jb21pbmcgbWVzc2FnZXMgZnJvbSBPdHRlciBDaHJvbWUgRGV2VG9vbHMgZXh0ZW5zaW9uXG4gICAqXG4gICAqIEBwYXJhbSBldmVudCBFdmVudCBjb21pbmcgZnJvbSB0aGUgT3R0ZXIgQ2hyb21lIERldlRvb2xzIGV4dGVuc2lvblxuICAgKiBAcGFyYW0gbWVzc2FnZVxuICAgKi9cbiAgcHJpdmF0ZSBoYW5kbGVFdmVudHMobWVzc2FnZTogQXZhaWxhYmxlQXBwbGljYXRpb25NZXNzYWdlQ29udGVudHMpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnTWVzc2FnZSBoYW5kbGluZyBieSB0aGUgYXBwbGljYXRpb24gc2VydmljZScsIG1lc3NhZ2UpO1xuXG4gICAgc3dpdGNoIChtZXNzYWdlLmRhdGFUeXBlKSB7XG4gICAgICBjYXNlICdjb25uZWN0Jzoge1xuICAgICAgICB0aGlzLmNvbm5lY3RQbHVnaW4oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdyZXF1ZXN0TWVzc2FnZXMnOiB7XG4gICAgICAgIHRoaXMuaGFuZGxlUmVFbWl0UmVxdWVzdChtZXNzYWdlLm9ubHkpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3RvZ2dsZVZpc3VhbFRlc3RpbmcnOiB7XG4gICAgICAgIHRoaXMudG9nZ2xlVmlzdWFsVGVzdGluZ1JlbmRlcihtZXNzYWdlLnRvZ2dsZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICB0aGlzLmxvZ2dlci53YXJuKCdNZXNzYWdlIGlnbm9yZWQgYnkgdGhlIGFwcGxpY2F0aW9uIHNlcnZpY2UnLCBtZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlIHZpc3VhbCB0ZXN0aW5nIHJlbmRlcmluZ1xuICAgKlxuICAgKiBAcGFyYW0gZW5hYmxlZCBhY3RpdmF0ZSBvciBkZWFjdGl2YXRlIHRoZSB2aXN1YWwgdGVzdGluZyBtb2RlXG4gICAqL1xuICBwcml2YXRlIHRvZ2dsZVZpc3VhbFRlc3RpbmdSZW5kZXIoZW5hYmxlZD86IGJvb2xlYW4pIHtcbiAgICB0b2dnbGVWaXN1YWxUZXN0aW5nUmVuZGVyKGVuYWJsZWQgPT09IHVuZGVmaW5lZCA/ICFpc1Zpc3VhbFRlc3RpbmdFbmFibGVkKCkgOiBlbmFibGVkKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgYWN0aXZhdGUoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdtZXNzYWdlJykucGlwZShmaWx0ZXJNZXNzYWdlQ29udGVudChpc0FwcGxpY2F0aW9uTWVzc2FnZSkpLnN1YnNjcmliZSgoZSkgPT4gdGhpcy5oYW5kbGVFdmVudHMoZSkpXG4gICAgKTtcbiAgICBwcmVwYXJlVmlzdWFsVGVzdGluZyh0aGlzLm9wdGlvbnMuZTJlSWdub3JlQ2xhc3MpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { ApplicationDevtoolsConsoleService } from './application-devtools.console.service';
|
|
3
|
-
import { ApplicationDevtoolsMessageService } from './application-devtools.message.service';
|
|
4
|
-
import { OtterApplicationDevtools } from './application-devtools.service';
|
|
5
|
-
import { OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS } from './application-devtools.token';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class ApplicationDevtoolsModule {
|
|
8
|
-
/**
|
|
9
|
-
* Initialize Otter Devtools
|
|
10
|
-
*
|
|
11
|
-
* @param options
|
|
12
|
-
*/
|
|
13
|
-
static instrument(options) {
|
|
14
|
-
return {
|
|
15
|
-
ngModule: ApplicationDevtoolsModule,
|
|
16
|
-
providers: [
|
|
17
|
-
{ provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: { ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, ...options }, multi: false },
|
|
18
|
-
ApplicationDevtoolsMessageService,
|
|
19
|
-
ApplicationDevtoolsConsoleService,
|
|
20
|
-
OtterApplicationDevtools
|
|
21
|
-
]
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
/** @nocollapse */ ApplicationDevtoolsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
26
|
-
/** @nocollapse */ ApplicationDevtoolsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsModule });
|
|
27
|
-
/** @nocollapse */ ApplicationDevtoolsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsModule, providers: [
|
|
28
|
-
{ provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS },
|
|
29
|
-
ApplicationDevtoolsMessageService,
|
|
30
|
-
ApplicationDevtoolsConsoleService,
|
|
31
|
-
OtterApplicationDevtools
|
|
32
|
-
] });
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsModule, decorators: [{
|
|
34
|
-
type: NgModule,
|
|
35
|
-
args: [{
|
|
36
|
-
providers: [
|
|
37
|
-
{ provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS },
|
|
38
|
-
ApplicationDevtoolsMessageService,
|
|
39
|
-
ApplicationDevtoolsConsoleService,
|
|
40
|
-
OtterApplicationDevtools
|
|
41
|
-
]
|
|
42
|
-
}]
|
|
43
|
-
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tZGV2dG9vbHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RldmtpdC9hcHBsaWNhdGlvbi1kZXZ0b29scy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0YsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBVTlILE1BQU0sT0FBTyx5QkFBeUI7SUFFcEM7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBbUQ7UUFDMUUsT0FBTztZQUNMLFFBQVEsRUFBRSx5QkFBeUI7WUFDbkMsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLFFBQVEsRUFBRSxFQUFDLEdBQUcsMENBQTBDLEVBQUUsR0FBRyxPQUFPLEVBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO2dCQUNwSSxpQ0FBaUM7Z0JBQ2pDLGlDQUFpQztnQkFDakMsd0JBQXdCO2FBQ3pCO1NBQ0YsQ0FBQztJQUNKLENBQUM7O3lJQWpCVSx5QkFBeUI7MElBQXpCLHlCQUF5QjswSUFBekIseUJBQXlCLGFBUHpCO1FBQ1QsRUFBRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsUUFBUSxFQUFFLDBDQUEwQyxFQUFFO1FBQ3JHLGlDQUFpQztRQUNqQyxpQ0FBaUM7UUFDakMsd0JBQXdCO0tBQ3pCOzJGQUVVLHlCQUF5QjtrQkFSckMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsUUFBUSxFQUFFLDBDQUEwQyxFQUFFO3dCQUNyRyxpQ0FBaUM7d0JBQ2pDLGlDQUFpQzt3QkFDakMsd0JBQXdCO3FCQUN6QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEFwcGxpY2F0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4vYXBwbGljYXRpb24tZGV2a2l0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkRldnRvb2xzQ29uc29sZVNlcnZpY2UgfSBmcm9tICcuL2FwcGxpY2F0aW9uLWRldnRvb2xzLmNvbnNvbGUuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkRldnRvb2xzTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuL2FwcGxpY2F0aW9uLWRldnRvb2xzLm1lc3NhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBPdHRlckFwcGxpY2F0aW9uRGV2dG9vbHMgfSBmcm9tICcuL2FwcGxpY2F0aW9uLWRldnRvb2xzLnNlcnZpY2UnO1xuaW1wb3J0IHsgT1RURVJfQVBQTElDQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLCBPVFRFUl9BUFBMSUNBVElPTl9ERVZUT09MU19PUFRJT05TIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi1kZXZ0b29scy50b2tlbic7XG5cbkBOZ01vZHVsZSh7XG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogT1RURVJfQVBQTElDQVRJT05fREVWVE9PTFNfT1BUSU9OUywgdXNlVmFsdWU6IE9UVEVSX0FQUExJQ0FUSU9OX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUyB9LFxuICAgIEFwcGxpY2F0aW9uRGV2dG9vbHNNZXNzYWdlU2VydmljZSxcbiAgICBBcHBsaWNhdGlvbkRldnRvb2xzQ29uc29sZVNlcnZpY2UsXG4gICAgT3R0ZXJBcHBsaWNhdGlvbkRldnRvb2xzXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25EZXZ0b29sc01vZHVsZSB7XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgT3R0ZXIgRGV2dG9vbHNcbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaW5zdHJ1bWVudChvcHRpb25zOiBQYXJ0aWFsPEFwcGxpY2F0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucz4pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFwcGxpY2F0aW9uRGV2dG9vbHNNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFwcGxpY2F0aW9uRGV2dG9vbHNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBPVFRFUl9BUFBMSUNBVElPTl9ERVZUT09MU19PUFRJT05TLCB1c2VWYWx1ZTogey4uLk9UVEVSX0FQUExJQ0FUSU9OX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUywgLi4ub3B0aW9uc30sIG11bHRpOiBmYWxzZSB9LFxuICAgICAgICBBcHBsaWNhdGlvbkRldnRvb2xzTWVzc2FnZVNlcnZpY2UsXG4gICAgICAgIEFwcGxpY2F0aW9uRGV2dG9vbHNDb25zb2xlU2VydmljZSxcbiAgICAgICAgT3R0ZXJBcHBsaWNhdGlvbkRldnRvb2xzXG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
|
2
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
|
3
|
-
import { isProductionEnvironment } from '@o3r/core';
|
|
4
|
-
import { ENVIRONMENT_CONFIG_TOKEN } from '@o3r/routing';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class OtterApplicationDevtools {
|
|
7
|
-
constructor(document, env) {
|
|
8
|
-
this.document = document;
|
|
9
|
-
this.env = env;
|
|
10
|
-
}
|
|
11
|
-
getApplicationInformation() {
|
|
12
|
-
return {
|
|
13
|
-
appVersion: this.env?.APP_VERSION || 'unknown',
|
|
14
|
-
isProduction: isProductionEnvironment(this.document?.body.dataset)
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
/** @nocollapse */ OtterApplicationDevtools.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: OtterApplicationDevtools, deps: [{ token: DOCUMENT, optional: true }, { token: ENVIRONMENT_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
19
|
-
/** @nocollapse */ OtterApplicationDevtools.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: OtterApplicationDevtools, providedIn: 'root' });
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: OtterApplicationDevtools, decorators: [{
|
|
21
|
-
type: Injectable,
|
|
22
|
-
args: [{ providedIn: 'root' }]
|
|
23
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
24
|
-
type: Optional
|
|
25
|
-
}, {
|
|
26
|
-
type: Inject,
|
|
27
|
-
args: [DOCUMENT]
|
|
28
|
-
}] }, { type: undefined, decorators: [{
|
|
29
|
-
type: Optional
|
|
30
|
-
}, {
|
|
31
|
-
type: Inject,
|
|
32
|
-
args: [ENVIRONMENT_CONFIG_TOKEN]
|
|
33
|
-
}] }]; } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tZGV2dG9vbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXZraXQvYXBwbGljYXRpb24tZGV2dG9vbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBdUIsdUJBQXVCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUl4RCxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLFlBQ3dDLFFBQWMsRUFDRSxHQUF5QjtRQUR6QyxhQUFRLEdBQVIsUUFBUSxDQUFNO1FBQ0UsUUFBRyxHQUFILEdBQUcsQ0FBc0I7SUFDakYsQ0FBQztJQUdNLHlCQUF5QjtRQUM5QixPQUFPO1lBQ0wsVUFBVSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsV0FBVyxJQUFJLFNBQVM7WUFDOUMsWUFBWSxFQUFFLHVCQUF1QixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNuRSxDQUFDO0lBQ0osQ0FBQzs7d0lBYlUsd0JBQXdCLGtCQUdiLFFBQVEsNkJBQ1Isd0JBQXdCOzRJQUpuQyx3QkFBd0IsY0FEWCxNQUFNOzJGQUNuQix3QkFBd0I7a0JBRHBDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFJN0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxRQUFROzswQkFDM0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdWlsZFRpbWVQcm9wZXJ0aWVzLCBpc1Byb2R1Y3Rpb25FbnZpcm9ubWVudCB9IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQgeyBFTlZJUk9OTUVOVF9DT05GSUdfVE9LRU4gfSBmcm9tICdAbzNyL3JvdXRpbmcnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvcm1hdGlvbiB9IGZyb20gJy4vYXBwbGljYXRpb24tZGV2a2l0LmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgT3R0ZXJBcHBsaWNhdGlvbkRldnRvb2xzIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50PzogYW55LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRU5WSVJPTk1FTlRfQ09ORklHX1RPS0VOKSBwcml2YXRlIGVudj86IEJ1aWxkVGltZVByb3BlcnRpZXMpIHtcbiAgfVxuXG5cbiAgcHVibGljIGdldEFwcGxpY2F0aW9uSW5mb3JtYXRpb24oKTogQXBwbGljYXRpb25JbmZvcm1hdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFwcFZlcnNpb246IHRoaXMuZW52Py5BUFBfVkVSU0lPTiB8fCAndW5rbm93bicsXG4gICAgICBpc1Byb2R1Y3Rpb246IGlzUHJvZHVjdGlvbkVudmlyb25tZW50KHRoaXMuZG9jdW1lbnQ/LmJvZHkuZGF0YXNldClcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, Injectable, Optional, Inject, NgModule } from '@angular/core';
|
|
3
|
-
import { DOCUMENT } from '@angular/common';
|
|
4
|
-
import { isProductionEnvironment, sendOtterMessage, filterMessageContent } from '@o3r/core';
|
|
5
|
-
import { ENVIRONMENT_CONFIG_TOKEN } from '@o3r/routing';
|
|
6
|
-
import { toggleVisualTestingRender, isVisualTestingEnabled, prepareVisualTesting } from '@o3r/testing/visual-test/utils';
|
|
7
|
-
import { Subscription, fromEvent } from 'rxjs';
|
|
8
|
-
import * as i1 from '@o3r/logger';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Method that returns the setting of the user regarding animations.
|
|
12
|
-
* This setting is generally set in the Operating System settings, and it is used by browsers.
|
|
13
|
-
* Refer to: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion
|
|
14
|
-
*/
|
|
15
|
-
function prefersReducedMotion() {
|
|
16
|
-
const mediaQueryList = window.matchMedia('(prefers-reduced-motion)');
|
|
17
|
-
return mediaQueryList.matches;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Determine if the given message is a Application message
|
|
22
|
-
*
|
|
23
|
-
* @param message message to check
|
|
24
|
-
*/
|
|
25
|
-
const isApplicationMessage = (message) => {
|
|
26
|
-
return message && (message.dataType === 'toggleVisualTesting' ||
|
|
27
|
-
message.dataType === 'applicationInformation' ||
|
|
28
|
-
message.dataType === 'requestMessages' ||
|
|
29
|
-
message.dataType === 'connect');
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
const OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS = {
|
|
33
|
-
isActivatedOnBootstrap: false
|
|
34
|
-
};
|
|
35
|
-
const OTTER_APPLICATION_DEVTOOLS_OPTIONS = new InjectionToken('Otter Application Devtools options');
|
|
36
|
-
|
|
37
|
-
class OtterApplicationDevtools {
|
|
38
|
-
constructor(document, env) {
|
|
39
|
-
this.document = document;
|
|
40
|
-
this.env = env;
|
|
41
|
-
}
|
|
42
|
-
getApplicationInformation() {
|
|
43
|
-
var _a, _b;
|
|
44
|
-
return {
|
|
45
|
-
appVersion: ((_a = this.env) === null || _a === void 0 ? void 0 : _a.APP_VERSION) || 'unknown',
|
|
46
|
-
isProduction: isProductionEnvironment((_b = this.document) === null || _b === void 0 ? void 0 : _b.body.dataset)
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
/** @nocollapse */ OtterApplicationDevtools.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: OtterApplicationDevtools, deps: [{ token: DOCUMENT, optional: true }, { token: ENVIRONMENT_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
51
|
-
/** @nocollapse */ OtterApplicationDevtools.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: OtterApplicationDevtools, providedIn: 'root' });
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: OtterApplicationDevtools, decorators: [{
|
|
53
|
-
type: Injectable,
|
|
54
|
-
args: [{ providedIn: 'root' }]
|
|
55
|
-
}], ctorParameters: function () {
|
|
56
|
-
return [{ type: undefined, decorators: [{
|
|
57
|
-
type: Optional
|
|
58
|
-
}, {
|
|
59
|
-
type: Inject,
|
|
60
|
-
args: [DOCUMENT]
|
|
61
|
-
}] }, { type: undefined, decorators: [{
|
|
62
|
-
type: Optional
|
|
63
|
-
}, {
|
|
64
|
-
type: Inject,
|
|
65
|
-
args: [ENVIRONMENT_CONFIG_TOKEN]
|
|
66
|
-
}] }];
|
|
67
|
-
} });
|
|
68
|
-
|
|
69
|
-
/* eslint-disable no-console */
|
|
70
|
-
class ApplicationDevtoolsConsoleService {
|
|
71
|
-
constructor(applicationDevtools, options) {
|
|
72
|
-
this.applicationDevtools = applicationDevtools;
|
|
73
|
-
this.options = Object.assign(Object.assign({}, OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS), options);
|
|
74
|
-
if (this.options.isActivatedOnBootstrap) {
|
|
75
|
-
this.activate();
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
/** @inheritDoc */
|
|
79
|
-
activate() {
|
|
80
|
-
const windowWithDevtools = window;
|
|
81
|
-
// eslint-disable-next-line no-underscore-dangle
|
|
82
|
-
windowWithDevtools._OTTER_DEVTOOLS_ || (windowWithDevtools._OTTER_DEVTOOLS_ = {});
|
|
83
|
-
// eslint-disable-next-line no-underscore-dangle
|
|
84
|
-
windowWithDevtools._OTTER_DEVTOOLS_[ApplicationDevtoolsConsoleService.windowModuleName] = this;
|
|
85
|
-
console.info(`Otter Application Devtools is now accessible via the _OTTER_DEVTOOLS_.${ApplicationDevtoolsConsoleService.windowModuleName} variable`);
|
|
86
|
-
}
|
|
87
|
-
/** Display the information relative to the running application */
|
|
88
|
-
displayApplicationInfo() {
|
|
89
|
-
console.info('Application info', this.applicationDevtools.getApplicationInformation());
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
/** Name of the Window property to access to the devtools */
|
|
93
|
-
ApplicationDevtoolsConsoleService.windowModuleName = 'application';
|
|
94
|
-
/** @nocollapse */ ApplicationDevtoolsConsoleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsConsoleService, deps: [{ token: OtterApplicationDevtools }, { token: OTTER_APPLICATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
95
|
-
/** @nocollapse */ ApplicationDevtoolsConsoleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsConsoleService, providedIn: 'root' });
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsConsoleService, decorators: [{
|
|
97
|
-
type: Injectable,
|
|
98
|
-
args: [{
|
|
99
|
-
providedIn: 'root'
|
|
100
|
-
}]
|
|
101
|
-
}], ctorParameters: function () {
|
|
102
|
-
return [{ type: OtterApplicationDevtools }, { type: undefined, decorators: [{
|
|
103
|
-
type: Optional
|
|
104
|
-
}, {
|
|
105
|
-
type: Inject,
|
|
106
|
-
args: [OTTER_APPLICATION_DEVTOOLS_OPTIONS]
|
|
107
|
-
}] }];
|
|
108
|
-
} });
|
|
109
|
-
|
|
110
|
-
class ApplicationDevtoolsMessageService {
|
|
111
|
-
constructor(logger, applicationDevtools, options) {
|
|
112
|
-
this.logger = logger;
|
|
113
|
-
this.applicationDevtools = applicationDevtools;
|
|
114
|
-
this.subscriptions = new Subscription();
|
|
115
|
-
this.sendMessage = (sendOtterMessage);
|
|
116
|
-
this.options = Object.assign(Object.assign({}, OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS), options);
|
|
117
|
-
if (this.options.isActivatedOnBootstrap) {
|
|
118
|
-
this.activate();
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
sendApplicationInformation() {
|
|
122
|
-
this.sendMessage('applicationInformation', this.applicationDevtools.getApplicationInformation());
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Function to connect the plugin to the Otter DevTools extension
|
|
126
|
-
*/
|
|
127
|
-
connectPlugin() {
|
|
128
|
-
this.logger.debug('Otter DevTools is plugged to application service of the application');
|
|
129
|
-
void this.sendApplicationInformation();
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Function to trigger a re-send a requested messages to the Otter Chrome DevTools extension
|
|
133
|
-
*
|
|
134
|
-
* @param only restricted list of messages to re-send
|
|
135
|
-
*/
|
|
136
|
-
handleReEmitRequest(only) {
|
|
137
|
-
if (!only || only.includes('applicationInformation')) {
|
|
138
|
-
this.sendApplicationInformation();
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Function to handle the incoming messages from Otter Chrome DevTools extension
|
|
143
|
-
*
|
|
144
|
-
* @param event Event coming from the Otter Chrome DevTools extension
|
|
145
|
-
* @param message
|
|
146
|
-
*/
|
|
147
|
-
handleEvents(message) {
|
|
148
|
-
this.logger.debug('Message handling by the application service', message);
|
|
149
|
-
switch (message.dataType) {
|
|
150
|
-
case 'connect': {
|
|
151
|
-
this.connectPlugin();
|
|
152
|
-
break;
|
|
153
|
-
}
|
|
154
|
-
case 'requestMessages': {
|
|
155
|
-
this.handleReEmitRequest(message.only);
|
|
156
|
-
break;
|
|
157
|
-
}
|
|
158
|
-
case 'toggleVisualTesting': {
|
|
159
|
-
this.toggleVisualTestingRender(message.toggle);
|
|
160
|
-
break;
|
|
161
|
-
}
|
|
162
|
-
default: {
|
|
163
|
-
this.logger.warn('Message ignored by the application service', message);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Toggle visual testing rendering
|
|
169
|
-
*
|
|
170
|
-
* @param enabled activate or deactivate the visual testing mode
|
|
171
|
-
*/
|
|
172
|
-
toggleVisualTestingRender(enabled) {
|
|
173
|
-
toggleVisualTestingRender(enabled === undefined ? !isVisualTestingEnabled() : enabled);
|
|
174
|
-
}
|
|
175
|
-
/** @inheritDoc */
|
|
176
|
-
activate() {
|
|
177
|
-
this.subscriptions.add(fromEvent(window, 'message').pipe(filterMessageContent(isApplicationMessage)).subscribe((e) => this.handleEvents(e)));
|
|
178
|
-
prepareVisualTesting(this.options.e2eIgnoreClass);
|
|
179
|
-
}
|
|
180
|
-
/** @inheritDoc */
|
|
181
|
-
ngOnDestroy() {
|
|
182
|
-
this.subscriptions.unsubscribe();
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
/** @nocollapse */ ApplicationDevtoolsMessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsMessageService, deps: [{ token: i1.LoggerService }, { token: OtterApplicationDevtools }, { token: OTTER_APPLICATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
186
|
-
/** @nocollapse */ ApplicationDevtoolsMessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsMessageService, providedIn: 'root' });
|
|
187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsMessageService, decorators: [{
|
|
188
|
-
type: Injectable,
|
|
189
|
-
args: [{
|
|
190
|
-
providedIn: 'root'
|
|
191
|
-
}]
|
|
192
|
-
}], ctorParameters: function () {
|
|
193
|
-
return [{ type: i1.LoggerService }, { type: OtterApplicationDevtools }, { type: undefined, decorators: [{
|
|
194
|
-
type: Optional
|
|
195
|
-
}, {
|
|
196
|
-
type: Inject,
|
|
197
|
-
args: [OTTER_APPLICATION_DEVTOOLS_OPTIONS]
|
|
198
|
-
}] }];
|
|
199
|
-
} });
|
|
200
|
-
|
|
201
|
-
class ApplicationDevtoolsModule {
|
|
202
|
-
/**
|
|
203
|
-
* Initialize Otter Devtools
|
|
204
|
-
*
|
|
205
|
-
* @param options
|
|
206
|
-
*/
|
|
207
|
-
static instrument(options) {
|
|
208
|
-
return {
|
|
209
|
-
ngModule: ApplicationDevtoolsModule,
|
|
210
|
-
providers: [
|
|
211
|
-
{ provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: Object.assign(Object.assign({}, OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS), options), multi: false },
|
|
212
|
-
ApplicationDevtoolsMessageService,
|
|
213
|
-
ApplicationDevtoolsConsoleService,
|
|
214
|
-
OtterApplicationDevtools
|
|
215
|
-
]
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
/** @nocollapse */ ApplicationDevtoolsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
220
|
-
/** @nocollapse */ ApplicationDevtoolsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsModule });
|
|
221
|
-
/** @nocollapse */ ApplicationDevtoolsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsModule, providers: [
|
|
222
|
-
{ provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS },
|
|
223
|
-
ApplicationDevtoolsMessageService,
|
|
224
|
-
ApplicationDevtoolsConsoleService,
|
|
225
|
-
OtterApplicationDevtools
|
|
226
|
-
] });
|
|
227
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ApplicationDevtoolsModule, decorators: [{
|
|
228
|
-
type: NgModule,
|
|
229
|
-
args: [{
|
|
230
|
-
providers: [
|
|
231
|
-
{ provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS },
|
|
232
|
-
ApplicationDevtoolsMessageService,
|
|
233
|
-
ApplicationDevtoolsConsoleService,
|
|
234
|
-
OtterApplicationDevtools
|
|
235
|
-
]
|
|
236
|
-
}]
|
|
237
|
-
}] });
|
|
238
|
-
|
|
239
|
-
/**
|
|
240
|
-
* Generated bundle index. Do not edit.
|
|
241
|
-
*/
|
|
242
|
-
|
|
243
|
-
export { ApplicationDevtoolsConsoleService, ApplicationDevtoolsMessageService, ApplicationDevtoolsModule, OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS, OtterApplicationDevtools, isApplicationMessage, prefersReducedMotion };
|
|
244
|
-
//# sourceMappingURL=o3r-application.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"o3r-application.mjs","sources":["../../src/browser-preference/helper.ts","../../src/devkit/application-devkit.interface.ts","../../src/devkit/application-devtools.token.ts","../../src/devkit/application-devtools.service.ts","../../src/devkit/application-devtools.console.service.ts","../../src/devkit/application-devtools.message.service.ts","../../src/devkit/application-devtools.module.ts","../../src/o3r-application.ts"],"sourcesContent":["/**\n * Method that returns the setting of the user regarding animations.\n * This setting is generally set in the Operating System settings, and it is used by browsers.\n * Refer to: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion\n */\nexport function prefersReducedMotion(): boolean {\n const mediaQueryList = window.matchMedia('(prefers-reduced-motion)');\n\n return mediaQueryList.matches;\n}\n","import type { ConnectContentMessage, DevtoolsCommonOptions, MessageDataTypes, OtterMessageContent, RequestMessagesContentMessage } from '@o3r/core';\n\nexport interface ApplicationDevtoolsServiceOptions extends DevtoolsCommonOptions {\n /**\n * CSS classname applied to an HTML tag to hide it, ignore it, in the e2e visual testing process\n */\n e2eIgnoreClass?: string;\n}\n\n/**\n * Session information used to track all the calls done by one or several APIs of the SDK.\n */\nexport interface SessionInformation {\n /**\n * The session ID\n */\n id: string;\n /**\n * The generated time\n */\n generatedTime: Date;\n}\n\n/** Information relative loaded application */\nexport interface ApplicationInformation {\n /** Application Version */\n appVersion: string;\n /**\n * Session Information\n *\n * @note This is a session ID will be provided only with the Amadeus Otter implementation of the application package.\n */\n session?: SessionInformation;\n /**\n * Log Link\n *\n * @note This a link to Alf logs, it will be provided only with the Amadeus Otter implementation of the application package.\n */\n logLink?: string;\n /** Is Production Environment */\n isProduction: boolean;\n}\n\n/** Toggle Visual Testing */\nexport interface ToggleVisualTestingMessage extends OtterMessageContent<'toggleVisualTesting'> {\n /** Toggle the visual testing mode */\n toggle?: boolean;\n}\n\n\n/** Application Information Message Content */\nexport interface ApplicationInformationContentMessage extends ApplicationInformation, OtterMessageContent<'applicationInformation'> {\n}\n\ntype ApplicationMessageContents =\n | ApplicationInformationContentMessage\n | ToggleVisualTestingMessage;\n\n/** List of possible DataTypes for Application messages */\nexport type ApplicationMessageDataTypes = MessageDataTypes<ApplicationMessageContents>;\n\n/** List of all messages for application purpose */\nexport type AvailableApplicationMessageContents =\n | ApplicationMessageContents\n | ConnectContentMessage\n | RequestMessagesContentMessage<ApplicationMessageDataTypes>;\n\n/**\n * Determine if the given message is a Application message\n *\n * @param message message to check\n */\nexport const isApplicationMessage = (message: any): message is AvailableApplicationMessageContents => {\n return message && (\n message.dataType === 'toggleVisualTesting' ||\n message.dataType === 'applicationInformation' ||\n message.dataType === 'requestMessages' ||\n message.dataType === 'connect');\n};\n","import { InjectionToken } from '@angular/core';\nimport { ApplicationDevtoolsServiceOptions } from './application-devkit.interface';\n\nexport const OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS: ApplicationDevtoolsServiceOptions = {\n isActivatedOnBootstrap: false\n};\n\nexport const OTTER_APPLICATION_DEVTOOLS_OPTIONS: InjectionToken<ApplicationDevtoolsServiceOptions> = new InjectionToken<ApplicationDevtoolsServiceOptions>('Otter Application Devtools options');\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { BuildTimeProperties, isProductionEnvironment } from '@o3r/core';\nimport { ENVIRONMENT_CONFIG_TOKEN } from '@o3r/routing';\nimport { ApplicationInformation } from './application-devkit.interface';\n\n@Injectable({ providedIn: 'root' })\nexport class OtterApplicationDevtools {\n\n constructor(\n @Optional() @Inject(DOCUMENT) private document?: any,\n @Optional() @Inject(ENVIRONMENT_CONFIG_TOKEN) private env?: BuildTimeProperties) {\n }\n\n\n public getApplicationInformation(): ApplicationInformation {\n return {\n appVersion: this.env?.APP_VERSION || 'unknown',\n isProduction: isProductionEnvironment(this.document?.body.dataset)\n };\n }\n}\n","/* eslint-disable no-console */\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport type { DevtoolsServiceInterface, WindowWithDevtools } from '@o3r/core';\nimport { ApplicationDevtoolsServiceOptions } from './application-devkit.interface';\nimport { OtterApplicationDevtools } from './application-devtools.service';\nimport { OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS } from './application-devtools.token';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApplicationDevtoolsConsoleService implements DevtoolsServiceInterface {\n /** Name of the Window property to access to the devtools */\n public static readonly windowModuleName = 'application';\n\n private readonly options: ApplicationDevtoolsServiceOptions;\n\n constructor(\n private applicationDevtools: OtterApplicationDevtools,\n @Optional() @Inject(OTTER_APPLICATION_DEVTOOLS_OPTIONS) options?: ApplicationDevtoolsServiceOptions\n ) {\n this.options = { ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, ...options };\n\n if (this.options.isActivatedOnBootstrap) {\n this.activate();\n }\n }\n /** @inheritDoc */\n public activate() {\n const windowWithDevtools: WindowWithDevtools = window;\n // eslint-disable-next-line no-underscore-dangle\n windowWithDevtools._OTTER_DEVTOOLS_ ||= {};\n // eslint-disable-next-line no-underscore-dangle\n windowWithDevtools._OTTER_DEVTOOLS_[ApplicationDevtoolsConsoleService.windowModuleName] = this;\n\n console.info(`Otter Application Devtools is now accessible via the _OTTER_DEVTOOLS_.${ApplicationDevtoolsConsoleService.windowModuleName} variable`);\n }\n\n /** Display the information relative to the running application */\n public displayApplicationInfo() {\n console.info('Application info', this.applicationDevtools.getApplicationInformation());\n }\n}\n","import { Inject, Injectable, OnDestroy, Optional } from '@angular/core';\nimport { DevtoolsServiceInterface, filterMessageContent, sendOtterMessage } from '@o3r/core';\nimport { LoggerService } from '@o3r/logger';\nimport { isVisualTestingEnabled, prepareVisualTesting,toggleVisualTestingRender } from '@o3r/testing/visual-test/utils';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { ApplicationDevtoolsServiceOptions, ApplicationMessageDataTypes, AvailableApplicationMessageContents, isApplicationMessage } from './application-devkit.interface';\nimport { OtterApplicationDevtools } from './application-devtools.service';\nimport { OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS } from './application-devtools.token';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApplicationDevtoolsMessageService implements OnDestroy, DevtoolsServiceInterface {\n private readonly options: ApplicationDevtoolsServiceOptions;\n\n private subscriptions = new Subscription();\n\n private sendMessage = sendOtterMessage<AvailableApplicationMessageContents>;\n\n constructor(\n private logger: LoggerService,\n private applicationDevtools: OtterApplicationDevtools,\n @Optional() @Inject(OTTER_APPLICATION_DEVTOOLS_OPTIONS) options?: ApplicationDevtoolsServiceOptions) {\n this.options = {\n ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS,\n ...options\n };\n\n if (this.options.isActivatedOnBootstrap) {\n this.activate();\n }\n }\n\n private sendApplicationInformation() {\n this.sendMessage('applicationInformation', this.applicationDevtools.getApplicationInformation());\n }\n\n /**\n * Function to connect the plugin to the Otter DevTools extension\n */\n private connectPlugin() {\n this.logger.debug('Otter DevTools is plugged to application service of the application');\n void this.sendApplicationInformation();\n }\n\n /**\n * Function to trigger a re-send a requested messages to the Otter Chrome DevTools extension\n *\n * @param only restricted list of messages to re-send\n */\n private handleReEmitRequest(only?: ApplicationMessageDataTypes[]) {\n if (!only || only.includes('applicationInformation')) {\n this.sendApplicationInformation();\n }\n }\n\n /**\n * Function to handle the incoming messages from Otter Chrome DevTools extension\n *\n * @param event Event coming from the Otter Chrome DevTools extension\n * @param message\n */\n private handleEvents(message: AvailableApplicationMessageContents) {\n this.logger.debug('Message handling by the application service', message);\n\n switch (message.dataType) {\n case 'connect': {\n this.connectPlugin();\n break;\n }\n case 'requestMessages': {\n this.handleReEmitRequest(message.only);\n break;\n }\n case 'toggleVisualTesting': {\n this.toggleVisualTestingRender(message.toggle);\n break;\n }\n default: {\n this.logger.warn('Message ignored by the application service', message);\n }\n }\n }\n\n /**\n * Toggle visual testing rendering\n *\n * @param enabled activate or deactivate the visual testing mode\n */\n private toggleVisualTestingRender(enabled?: boolean) {\n toggleVisualTestingRender(enabled === undefined ? !isVisualTestingEnabled() : enabled);\n }\n\n /** @inheritDoc */\n public activate() {\n this.subscriptions.add(\n fromEvent(window, 'message').pipe(filterMessageContent(isApplicationMessage)).subscribe((e) => this.handleEvents(e))\n );\n prepareVisualTesting(this.options.e2eIgnoreClass);\n }\n\n /** @inheritDoc */\n public ngOnDestroy() {\n this.subscriptions.unsubscribe();\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport type { ApplicationDevtoolsServiceOptions } from './application-devkit.interface';\nimport { ApplicationDevtoolsConsoleService } from './application-devtools.console.service';\nimport { ApplicationDevtoolsMessageService } from './application-devtools.message.service';\nimport { OtterApplicationDevtools } from './application-devtools.service';\nimport { OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS } from './application-devtools.token';\n\n@NgModule({\n providers: [\n { provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS },\n ApplicationDevtoolsMessageService,\n ApplicationDevtoolsConsoleService,\n OtterApplicationDevtools\n ]\n})\nexport class ApplicationDevtoolsModule {\n\n /**\n * Initialize Otter Devtools\n *\n * @param options\n */\n public static instrument(options: Partial<ApplicationDevtoolsServiceOptions>): ModuleWithProviders<ApplicationDevtoolsModule> {\n return {\n ngModule: ApplicationDevtoolsModule,\n providers: [\n { provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: {...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, ...options}, multi: false },\n ApplicationDevtoolsMessageService,\n ApplicationDevtoolsConsoleService,\n OtterApplicationDevtools\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|