@o3r/third-party 12.1.0-prerelease.8 → 12.1.0-prerelease.81

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.
@@ -0,0 +1,78 @@
1
+ import { BehaviorSubject, distinctUntilChanged, } from 'rxjs';
2
+ /**
3
+ * Default options that will represent the interface
4
+ */
5
+ const defaultOptions = {
6
+ bridgeName: 'abTestBridge',
7
+ readyEventName: 'ab-test-ready',
8
+ logger: console
9
+ };
10
+ /**
11
+ * Bridge between the application and a third party A/B testing provider.
12
+ * Exposes a start and stop methods to allow the external script to set the list of experiments to run over the
13
+ * application.
14
+ *
15
+ * Share the resulting list of experiments with the rest of the application via an observable.
16
+ */
17
+ export class AbTestBridge {
18
+ /**
19
+ * AbTestBridge constructor
20
+ * @param isExperimentEqual check two different experiments match to identify an experiment to start or to stop
21
+ * @param options configure the communication with the A/B testing third party provider
22
+ */
23
+ constructor(isExperimentEqual, options) {
24
+ this.isExperimentEqual = isExperimentEqual;
25
+ /**
26
+ * Behaviour subject to control the experiments via the exposed interface
27
+ */
28
+ this.experimentSubject$ = new BehaviorSubject([]);
29
+ this.experiments$ = this.experimentSubject$.pipe(distinctUntilChanged((experimentsA, experimentsB) => experimentsB.length === experimentsA.length && experimentsA.every((eA) => experimentsB.find((eB) => isExperimentEqual(eA, eB)))));
30
+ this.options = {
31
+ ...defaultOptions,
32
+ ...options
33
+ };
34
+ if (window[this.options.bridgeName]) {
35
+ this.log(`An instance of ${this.options.bridgeName} already exists. This AbTestBridge instance will be ignored`);
36
+ }
37
+ else {
38
+ window[this.options.bridgeName] = { start: this.start.bind(this), stop: this.stop.bind(this) };
39
+ }
40
+ document.dispatchEvent(new CustomEvent(this.options.readyEventName));
41
+ }
42
+ /**
43
+ * Use configured logger to log AB testing related information
44
+ * @param args
45
+ */
46
+ log(...args) {
47
+ (this.options.logger.debug || this.options.logger.log)('A/B Test', ...args);
48
+ }
49
+ /**
50
+ * @inheritDoc
51
+ */
52
+ start(experiments) {
53
+ this.log('Start experiment', experiments);
54
+ const currentProfile = this.experimentSubject$.getValue();
55
+ this.experimentSubject$.next([
56
+ ...currentProfile,
57
+ ...(Array.isArray(experiments)
58
+ ? experiments
59
+ : [experiments]).filter((exp) => !currentProfile.some((expB) => this.isExperimentEqual(exp, expB)))
60
+ ]);
61
+ }
62
+ /**
63
+ * @inheritDoc
64
+ */
65
+ stop(experiments) {
66
+ this.log('Stop experiment', experiments);
67
+ const currentExperiments = this.experimentSubject$.getValue();
68
+ if (experiments) {
69
+ // Stop the mentioned experiment
70
+ this.experimentSubject$.next(currentExperiments.filter((expB) => !(Array.isArray(experiments) ? experiments : [experiments]).some((expA) => this.isExperimentEqual(expB, expA))));
71
+ }
72
+ else {
73
+ // Stop all the experiment
74
+ this.experimentSubject$.next([]);
75
+ }
76
+ }
77
+ }
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWItdGVzdGluZy1icmlkZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYnJpZGdlL2FiLXRlc3RpbmcvYWItdGVzdGluZy1icmlkZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUNMLGVBQWUsRUFDZixvQkFBb0IsR0FFckIsTUFBTSxNQUFNLENBQUM7QUFxQ2Q7O0dBRUc7QUFDSCxNQUFNLGNBQWMsR0FBRztJQUNyQixVQUFVLEVBQUUsY0FBYztJQUMxQixjQUFjLEVBQUUsZUFBZTtJQUMvQixNQUFNLEVBQUUsT0FBTztDQUNzQixDQUFDO0FBRXhDOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBY3ZCOzs7O09BSUc7SUFDSCxZQUE2QixpQkFBc0QsRUFBRSxPQUFxQztRQUE3RixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXFDO1FBbEJuRjs7V0FFRztRQUNjLHVCQUFrQixHQUF5QixJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztRQWdCdkYsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUM5QyxvQkFBb0IsQ0FBQyxDQUFDLFlBQWlCLEVBQUUsWUFBaUIsRUFBRSxFQUFFLENBQzVELFlBQVksQ0FBQyxNQUFNLEtBQUssWUFBWSxDQUFDLE1BQU0sSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDN0gsQ0FBQyxDQUNMLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsR0FBRyxjQUFjO1lBQ2pCLEdBQUcsT0FBTztTQUNYLENBQUM7UUFDRixJQUFLLE1BQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLDZEQUE2RCxDQUFDLENBQUM7UUFDbkgsQ0FBQzthQUFNLENBQUM7WUFDTCxNQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUMxRyxDQUFDO1FBQ0QsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOzs7T0FHRztJQUNLLEdBQUcsQ0FBQyxHQUFHLElBQVc7UUFDeEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFdBQW9CO1FBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDMUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7WUFDM0IsR0FBRyxjQUFjO1lBQ2pCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztnQkFDNUIsQ0FBQyxDQUFDLFdBQVc7Z0JBQ2IsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUN0RztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLElBQUksQ0FBQyxXQUFxQjtRQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlELElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsZ0NBQWdDO1lBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDbEwsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sMEJBQTBCO1lBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgTG9nZ2VyLFxufSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgT2JzZXJ2YWJsZSxcbn0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogU2hhcmVkIGludGVyZmFjZSB3aXRoIHRoZSBBL0IgdGVzdGluZyBwcm92aWRlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFiVGVzdEJyaWRnZUludGVyZmFjZTxUPiB7XG4gIC8qKlxuICAgKiBTdGFydCBhbiBBQiB0ZXN0aW5nIGV4cGVyaW1lbnRcbiAgICovXG4gIHN0YXJ0KGV4cGVyaW1lbnRzOiBUIHwgVFtdKTogdm9pZDtcbiAgLyoqXG4gICAqIFN0b3AgYW4gQUIgdGVzdGluZyBleHBlcmltZW50XG4gICAqL1xuICBzdG9wKGV4cGVyaW1lbnRzPzogVCB8IFRbXSk6IHZvaWQ7XG59XG5cbi8qKlxuICogQ29uZmlndXJlIHRoZSBBL0IgdGVzdGluZyBzY3JpcHQgaW50ZXJmYWNlcyB3aXRoIHRoZSBhcHBsaWNhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFiVGVzdEJyaWRnZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgYnJpZGdlIGZyb20gdGhlIHdpbmRvd1xuICAgKiBAZGVmYXVsdCAnYWJUZXN0QnJpZGdlJ1xuICAgKi9cbiAgYnJpZGdlTmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogRGVidWcgbG9nZ2VyXG4gICAqIEBkZWZhdWx0IGNvbnNvbGVcbiAgICovXG4gIGxvZ2dlcjogTG9nZ2VyO1xuICAvKipcbiAgICogRXZlbnQgYSB0aGlyZCBwYXJ0eSBjYW4gc3Vic2NyaWJlIHRvIGJlZm9yZSBzdGFydGluZyB0aGUgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSBicmlkZ2VcbiAgICogQGRlZmF1bHQgJ2FiLXRlc3QtcmVhZHknXG4gICAqL1xuICByZWFkeUV2ZW50TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlZmF1bHQgb3B0aW9ucyB0aGF0IHdpbGwgcmVwcmVzZW50IHRoZSBpbnRlcmZhY2VcbiAqL1xuY29uc3QgZGVmYXVsdE9wdGlvbnMgPSB7XG4gIGJyaWRnZU5hbWU6ICdhYlRlc3RCcmlkZ2UnLFxuICByZWFkeUV2ZW50TmFtZTogJ2FiLXRlc3QtcmVhZHknLFxuICBsb2dnZXI6IGNvbnNvbGVcbn0gYXMgY29uc3Qgc2F0aXNmaWVzIEFiVGVzdEJyaWRnZUNvbmZpZztcblxuLyoqXG4gKiBCcmlkZ2UgYmV0d2VlbiB0aGUgYXBwbGljYXRpb24gYW5kIGEgdGhpcmQgcGFydHkgQS9CIHRlc3RpbmcgcHJvdmlkZXIuXG4gKiBFeHBvc2VzIGEgc3RhcnQgYW5kIHN0b3AgbWV0aG9kcyB0byBhbGxvdyB0aGUgZXh0ZXJuYWwgc2NyaXB0IHRvIHNldCB0aGUgbGlzdCBvZiBleHBlcmltZW50cyB0byBydW4gb3ZlciB0aGVcbiAqIGFwcGxpY2F0aW9uLlxuICpcbiAqIFNoYXJlIHRoZSByZXN1bHRpbmcgbGlzdCBvZiBleHBlcmltZW50cyB3aXRoIHRoZSByZXN0IG9mIHRoZSBhcHBsaWNhdGlvbiB2aWEgYW4gb2JzZXJ2YWJsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFiVGVzdEJyaWRnZTxUPiBpbXBsZW1lbnRzIEFiVGVzdEJyaWRnZUludGVyZmFjZTxUPiB7XG4gIC8qKlxuICAgKiBCZWhhdmlvdXIgc3ViamVjdCB0byBjb250cm9sIHRoZSBleHBlcmltZW50cyB2aWEgdGhlIGV4cG9zZWQgaW50ZXJmYWNlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGV4cGVyaW1lbnRTdWJqZWN0JDogQmVoYXZpb3JTdWJqZWN0PFRbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRbXT4oW10pO1xuICAvKipcbiAgICogT3B0aW9ucyB0byBjb25maWd1cmUgdGhlIGNvbW11bmljYXRpb24gYmV0d2VlbiB0aGUgQUIgVGVzdGluZyBicmlkZ2UgYW5kIHRoaXJkIHBhcnRpZXNcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQWJUZXN0QnJpZGdlQ29uZmlnO1xuICAvKipcbiAgICogT2JzZXJ2YWJsZSB3aXRoIHRoZSBsaXN0IG9mIEFCIHRlc3RpbmcgZXhwZXJpbWVudHMgY3VycmVudGx5IGFwcGxpZWRcbiAgICovXG4gIHB1YmxpYyBleHBlcmltZW50cyQ6IE9ic2VydmFibGU8VFtdPjtcblxuICAvKipcbiAgICogQWJUZXN0QnJpZGdlIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSBpc0V4cGVyaW1lbnRFcXVhbCBjaGVjayB0d28gZGlmZmVyZW50IGV4cGVyaW1lbnRzIG1hdGNoIHRvIGlkZW50aWZ5IGFuIGV4cGVyaW1lbnQgdG8gc3RhcnQgb3IgdG8gc3RvcFxuICAgKiBAcGFyYW0gb3B0aW9ucyBjb25maWd1cmUgdGhlIGNvbW11bmljYXRpb24gd2l0aCB0aGUgQS9CIHRlc3RpbmcgdGhpcmQgcGFydHkgcHJvdmlkZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaXNFeHBlcmltZW50RXF1YWw6ICh2YWx1ZTE/OiBULCB2YWx1ZTI/OiBUKSA9PiBib29sZWFuLCBvcHRpb25zPzogUGFydGlhbDxBYlRlc3RCcmlkZ2VDb25maWc+KSB7XG4gICAgdGhpcy5leHBlcmltZW50cyQgPSB0aGlzLmV4cGVyaW1lbnRTdWJqZWN0JC5waXBlKFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGV4cGVyaW1lbnRzQTogVFtdLCBleHBlcmltZW50c0I6IFRbXSkgPT5cbiAgICAgICAgZXhwZXJpbWVudHNCLmxlbmd0aCA9PT0gZXhwZXJpbWVudHNBLmxlbmd0aCAmJiBleHBlcmltZW50c0EuZXZlcnkoKGVBKSA9PiBleHBlcmltZW50c0IuZmluZCgoZUIpID0+IGlzRXhwZXJpbWVudEVxdWFsKGVBLCBlQikpXG4gICAgICAgICkpXG4gICAgKTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICAuLi5kZWZhdWx0T3B0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnNcbiAgICB9O1xuICAgIGlmICgod2luZG93IGFzIGFueSlbdGhpcy5vcHRpb25zLmJyaWRnZU5hbWVdKSB7XG4gICAgICB0aGlzLmxvZyhgQW4gaW5zdGFuY2Ugb2YgJHt0aGlzLm9wdGlvbnMuYnJpZGdlTmFtZX0gYWxyZWFkeSBleGlzdHMuIFRoaXMgQWJUZXN0QnJpZGdlIGluc3RhbmNlIHdpbGwgYmUgaWdub3JlZGApO1xuICAgIH0gZWxzZSB7XG4gICAgICAod2luZG93IGFzIGFueSlbdGhpcy5vcHRpb25zLmJyaWRnZU5hbWVdID0geyBzdGFydDogdGhpcy5zdGFydC5iaW5kKHRoaXMpLCBzdG9wOiB0aGlzLnN0b3AuYmluZCh0aGlzKSB9O1xuICAgIH1cbiAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCh0aGlzLm9wdGlvbnMucmVhZHlFdmVudE5hbWUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2UgY29uZmlndXJlZCBsb2dnZXIgdG8gbG9nIEFCIHRlc3RpbmcgcmVsYXRlZCBpbmZvcm1hdGlvblxuICAgKiBAcGFyYW0gYXJnc1xuICAgKi9cbiAgcHJpdmF0ZSBsb2coLi4uYXJnczogYW55W10pIHtcbiAgICAodGhpcy5vcHRpb25zLmxvZ2dlci5kZWJ1ZyB8fCB0aGlzLm9wdGlvbnMubG9nZ2VyLmxvZykoJ0EvQiBUZXN0JywgLi4uYXJncyk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXREb2NcbiAgICovXG4gIHB1YmxpYyBzdGFydChleHBlcmltZW50czogVCB8IFRbXSkge1xuICAgIHRoaXMubG9nKCdTdGFydCBleHBlcmltZW50JywgZXhwZXJpbWVudHMpO1xuICAgIGNvbnN0IGN1cnJlbnRQcm9maWxlID0gdGhpcy5leHBlcmltZW50U3ViamVjdCQuZ2V0VmFsdWUoKTtcbiAgICB0aGlzLmV4cGVyaW1lbnRTdWJqZWN0JC5uZXh0KFtcbiAgICAgIC4uLmN1cnJlbnRQcm9maWxlLFxuICAgICAgLi4uKEFycmF5LmlzQXJyYXkoZXhwZXJpbWVudHMpXG4gICAgICAgID8gZXhwZXJpbWVudHNcbiAgICAgICAgOiBbZXhwZXJpbWVudHNdKS5maWx0ZXIoKGV4cCkgPT4gIWN1cnJlbnRQcm9maWxlLnNvbWUoKGV4cEI6IFQpID0+IHRoaXMuaXNFeHBlcmltZW50RXF1YWwoZXhwLCBleHBCKSlcbiAgICAgIClcbiAgICBdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdERvY1xuICAgKi9cbiAgcHVibGljIHN0b3AoZXhwZXJpbWVudHM/OiBUIHwgVFtdKSB7XG4gICAgdGhpcy5sb2coJ1N0b3AgZXhwZXJpbWVudCcsIGV4cGVyaW1lbnRzKTtcbiAgICBjb25zdCBjdXJyZW50RXhwZXJpbWVudHMgPSB0aGlzLmV4cGVyaW1lbnRTdWJqZWN0JC5nZXRWYWx1ZSgpO1xuICAgIGlmIChleHBlcmltZW50cykge1xuICAgICAgLy8gU3RvcCB0aGUgbWVudGlvbmVkIGV4cGVyaW1lbnRcbiAgICAgIHRoaXMuZXhwZXJpbWVudFN1YmplY3QkLm5leHQoY3VycmVudEV4cGVyaW1lbnRzLmZpbHRlcigoZXhwQjogVCkgPT4gIShBcnJheS5pc0FycmF5KGV4cGVyaW1lbnRzKSA/IGV4cGVyaW1lbnRzIDogW2V4cGVyaW1lbnRzXSkuc29tZSgoZXhwQSkgPT4gdGhpcy5pc0V4cGVyaW1lbnRFcXVhbChleHBCLCBleHBBKSkpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTdG9wIGFsbCB0aGUgZXhwZXJpbWVudFxuICAgICAgdGhpcy5leHBlcmltZW50U3ViamVjdCQubmV4dChbXSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './ab-testing-bridge';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYnJpZGdlL2FiLXRlc3RpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWItdGVzdGluZy1icmlkZ2UnO1xuIl19
@@ -0,0 +1,67 @@
1
+ import { firstValueFrom, fromEvent, } from 'rxjs';
2
+ import { filter, map, share, timeout, } from 'rxjs/operators';
3
+ import { v4, } from 'uuid';
4
+ import { IFRAME_BRIDGE_DEFAULT_OPTIONS, isSupportedMessage, } from './helpers';
5
+ /**
6
+ * Bridge that exposes an easy abstraction layer to communicate between a Host and an IFrame using the
7
+ * postMessage API.
8
+ */
9
+ export class IframeBridge {
10
+ constructor(parent, child, options = {}) {
11
+ this.child = child;
12
+ this.options = { ...IFRAME_BRIDGE_DEFAULT_OPTIONS, ...options };
13
+ this.channelId = v4();
14
+ this.internalMessages$ = fromEvent(parent, 'message').pipe(filter((event) => {
15
+ const messageEvent = event;
16
+ return isSupportedMessage(messageEvent.data) && messageEvent.data.channelId === this.channelId;
17
+ }), map((event) => event.data), share());
18
+ this.messages$ = this.internalMessages$.pipe(
19
+ // Here we remove all the messages having an "ID" because they are bound to their corresponding request and
20
+ // are returned directly by the function sendMessageAndWaitForResponse
21
+ filter((message) => !message.id));
22
+ this.handshakePromise = this.handshake();
23
+ }
24
+ async handshake() {
25
+ for (let i = 0; i < this.options.handshakeTries; i++) {
26
+ try {
27
+ await this._sendMessageAndWaitForResponse({
28
+ action: 'HANDSHAKE_PARENT',
29
+ version: '1.0'
30
+ }, this.options.handshakeTimeout);
31
+ return;
32
+ }
33
+ catch { }
34
+ }
35
+ throw new Error('Handshake failed.');
36
+ }
37
+ _sendMessage(message, messageId) {
38
+ if (this.child.contentWindow) {
39
+ this.child.contentWindow.postMessage({ ...message, channelId: this.channelId, id: messageId }, '*');
40
+ }
41
+ }
42
+ _sendMessageAndWaitForResponse(message, timeoutMilliseconds = this.options.messageWithResponseTimeout) {
43
+ const id = v4();
44
+ const promise = firstValueFrom(this.internalMessages$.pipe(filter((response) => response.id === id), timeout(timeoutMilliseconds)));
45
+ void this._sendMessage(message, id);
46
+ return promise;
47
+ }
48
+ /**
49
+ * Method to send a message to the script run in the iframe
50
+ * @param message message object
51
+ * @param messageId message identifier
52
+ */
53
+ async sendMessage(message, messageId) {
54
+ await this.handshakePromise;
55
+ this._sendMessage(message, messageId);
56
+ }
57
+ /**
58
+ * Method to send a message to the script run in the iframe and wait for an answer
59
+ * @param message
60
+ * @param timeoutMilliseconds
61
+ */
62
+ async sendMessageAndWaitForResponse(message, timeoutMilliseconds = this.options.messageWithResponseTimeout) {
63
+ await this.handshakePromise;
64
+ return this._sendMessageAndWaitForResponse(message, timeoutMilliseconds);
65
+ }
66
+ }
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JyaWRnZS9pZnJhbWUvYnJpZGdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2QsU0FBUyxHQUVWLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUNMLE1BQU0sRUFDTixHQUFHLEVBQ0gsS0FBSyxFQUNMLE9BQU8sR0FDUixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxFQUFFLEdBQ0gsTUFBTSxNQUFNLENBQUM7QUFNZCxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLGtCQUFrQixHQUNuQixNQUFNLFdBQVcsQ0FBQztBQUVuQjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQW1CdkIsWUFBWSxNQUFjLEVBQW1CLEtBQXdCLEVBQUUsVUFBd0MsRUFBRTtRQUFwRSxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUNuRSxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsR0FBRyw2QkFBNkIsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUN4RCxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQWdELEVBQUU7WUFDN0QsTUFBTSxZQUFZLEdBQUcsS0FBNEMsQ0FBQztZQUNsRSxPQUFPLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pHLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUMxQixLQUFLLEVBQUUsQ0FDUixDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSTtRQUMxQywyR0FBMkc7UUFDM0csc0VBQXNFO1FBQ3RFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQ2pDLENBQUM7UUFFRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFTyxLQUFLLENBQUMsU0FBUztRQUNyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxJQUFJLENBQUMsOEJBQThCLENBQUM7b0JBQ3hDLE1BQU0sRUFBRSxrQkFBa0I7b0JBQzFCLE9BQU8sRUFBRSxLQUFLO2lCQUNmLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUNsQyxPQUFPO1lBQ1QsQ0FBQztZQUFDLE1BQU0sQ0FBQyxDQUFBLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxZQUFZLENBQUMsT0FBc0IsRUFBRSxTQUFrQjtRQUM3RCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3RHLENBQUM7SUFDSCxDQUFDO0lBRU8sOEJBQThCLENBQUMsT0FBc0IsRUFBRSxzQkFBOEIsSUFBSSxDQUFDLE9BQU8sQ0FBQywwQkFBMEI7UUFDbEksTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDaEIsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUM1QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUN6QixNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQ3hDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUM3QixDQUNGLENBQUM7UUFDRixLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFzQixFQUFFLFNBQWtCO1FBQ2pFLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLDZCQUE2QixDQUFDLE9BQXNCLEVBQUUsc0JBQThCLElBQUksQ0FBQyxPQUFPLENBQUMsMEJBQTBCO1FBQ3RJLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQzNFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZpcnN0VmFsdWVGcm9tLFxuICBmcm9tRXZlbnQsXG4gIE9ic2VydmFibGUsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZmlsdGVyLFxuICBtYXAsXG4gIHNoYXJlLFxuICB0aW1lb3V0LFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICB2NCxcbn0gZnJvbSAndXVpZCc7XG5pbXBvcnQge1xuICBJRnJhbWVCcmlkZ2VPcHRpb25zLFxuICBJZnJhbWVNZXNzYWdlLFxuICBJbnRlcm5hbElmcmFtZU1lc3NhZ2UsXG59IGZyb20gJy4vY29udHJhY3RzJztcbmltcG9ydCB7XG4gIElGUkFNRV9CUklER0VfREVGQVVMVF9PUFRJT05TLFxuICBpc1N1cHBvcnRlZE1lc3NhZ2UsXG59IGZyb20gJy4vaGVscGVycyc7XG5cbi8qKlxuICogQnJpZGdlIHRoYXQgZXhwb3NlcyBhbiBlYXN5IGFic3RyYWN0aW9uIGxheWVyIHRvIGNvbW11bmljYXRlIGJldHdlZW4gYSBIb3N0IGFuZCBhbiBJRnJhbWUgdXNpbmcgdGhlXG4gKiBwb3N0TWVzc2FnZSBBUEkuXG4gKi9cbmV4cG9ydCBjbGFzcyBJZnJhbWVCcmlkZ2Uge1xuICAvKiogSUQgdXNlZCB0byBlbnN1cmUgdGhhdCB0aGUgQnJpZGdlIG9ubHkgcHJvY2Vzc2VzIG1lc3NhZ2VzIG1lYW50IGZvciB0aGlzIGluc3RhbmNlLCBzaW5jZSBwb3N0TWVzc2FnZSBpcyBnbG9iYWwgdG8gdGhlIHdpbmRvdy4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBjaGFubmVsSWQ6IHN0cmluZztcblxuICAvKiogT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGFsbCB0aGUgbWVzc2FnZXMgcmVjZWl2ZWQgZnJvbSB0aGUgSUZyYW1lLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGludGVybmFsTWVzc2FnZXMkOiBPYnNlcnZhYmxlPEludGVybmFsSWZyYW1lTWVzc2FnZT47XG5cbiAgLyoqIFByb21pc2UgdGhhdCB3aWxsIHJlc29sdmUgb25jZSB0aGUgaGFuZHNoYWtlIGhhcyBiZWVuIGNvbXBsZXRlZCwgdW5kZWZpbmVkIGlmIGl0J3MgYWxyZWFkeSBkb25lLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGhhbmRzaGFrZVByb21pc2U/OiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKiBPcHRpb25zIHRvIGNvbmZpZ3VyZSB0aGUgYmVoYXZpb3VyIG9mIHRoZSBCcmlkZ2UuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogSUZyYW1lQnJpZGdlT3B0aW9ucztcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGFsbCB0aGUgbWVzc2FnZXMgcmVjZWl2ZWQgZnJvbSB0aGUgSUZyYW1lIGFuZCB0aGF0IGFyZVxuICAgKiBub3QgYSBkaXJlY3QgcmVzcG9uc2UgdG8gYSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG1lc3NhZ2VzJDogT2JzZXJ2YWJsZTxJbnRlcm5hbElmcmFtZU1lc3NhZ2U+O1xuXG4gIGNvbnN0cnVjdG9yKHBhcmVudDogV2luZG93LCBwcml2YXRlIHJlYWRvbmx5IGNoaWxkOiBIVE1MSUZyYW1lRWxlbWVudCwgb3B0aW9uczogUGFydGlhbDxJRnJhbWVCcmlkZ2VPcHRpb25zPiA9IHt9KSB7XG4gICAgdGhpcy5vcHRpb25zID0geyAuLi5JRlJBTUVfQlJJREdFX0RFRkFVTFRfT1BUSU9OUywgLi4ub3B0aW9ucyB9O1xuICAgIHRoaXMuY2hhbm5lbElkID0gdjQoKTtcbiAgICB0aGlzLmludGVybmFsTWVzc2FnZXMkID0gZnJvbUV2ZW50KHBhcmVudCwgJ21lc3NhZ2UnKS5waXBlKFxuICAgICAgZmlsdGVyKChldmVudCk6IGV2ZW50IGlzIE1lc3NhZ2VFdmVudDxJbnRlcm5hbElmcmFtZU1lc3NhZ2U+ID0+IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZUV2ZW50ID0gZXZlbnQgYXMgTWVzc2FnZUV2ZW50PEludGVybmFsSWZyYW1lTWVzc2FnZT47XG4gICAgICAgIHJldHVybiBpc1N1cHBvcnRlZE1lc3NhZ2UobWVzc2FnZUV2ZW50LmRhdGEpICYmIG1lc3NhZ2VFdmVudC5kYXRhLmNoYW5uZWxJZCA9PT0gdGhpcy5jaGFubmVsSWQ7XG4gICAgICB9KSxcbiAgICAgIG1hcCgoZXZlbnQpID0+IGV2ZW50LmRhdGEpLFxuICAgICAgc2hhcmUoKVxuICAgICk7XG4gICAgdGhpcy5tZXNzYWdlcyQgPSB0aGlzLmludGVybmFsTWVzc2FnZXMkLnBpcGUoXG4gICAgICAvLyBIZXJlIHdlIHJlbW92ZSBhbGwgdGhlIG1lc3NhZ2VzIGhhdmluZyBhbiBcIklEXCIgYmVjYXVzZSB0aGV5IGFyZSBib3VuZCB0byB0aGVpciBjb3JyZXNwb25kaW5nIHJlcXVlc3QgYW5kXG4gICAgICAvLyBhcmUgcmV0dXJuZWQgZGlyZWN0bHkgYnkgdGhlIGZ1bmN0aW9uIHNlbmRNZXNzYWdlQW5kV2FpdEZvclJlc3BvbnNlXG4gICAgICBmaWx0ZXIoKG1lc3NhZ2UpID0+ICFtZXNzYWdlLmlkKVxuICAgICk7XG5cbiAgICB0aGlzLmhhbmRzaGFrZVByb21pc2UgPSB0aGlzLmhhbmRzaGFrZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYW5kc2hha2UoKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm9wdGlvbnMuaGFuZHNoYWtlVHJpZXM7IGkrKykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5fc2VuZE1lc3NhZ2VBbmRXYWl0Rm9yUmVzcG9uc2Uoe1xuICAgICAgICAgIGFjdGlvbjogJ0hBTkRTSEFLRV9QQVJFTlQnLFxuICAgICAgICAgIHZlcnNpb246ICcxLjAnXG4gICAgICAgIH0sIHRoaXMub3B0aW9ucy5oYW5kc2hha2VUaW1lb3V0KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBjYXRjaCB7fVxuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0hhbmRzaGFrZSBmYWlsZWQuJyk7XG4gIH1cblxuICBwcml2YXRlIF9zZW5kTWVzc2FnZShtZXNzYWdlOiBJZnJhbWVNZXNzYWdlLCBtZXNzYWdlSWQ/OiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5jaGlsZC5jb250ZW50V2luZG93KSB7XG4gICAgICB0aGlzLmNoaWxkLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoeyAuLi5tZXNzYWdlLCBjaGFubmVsSWQ6IHRoaXMuY2hhbm5lbElkLCBpZDogbWVzc2FnZUlkIH0sICcqJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2VuZE1lc3NhZ2VBbmRXYWl0Rm9yUmVzcG9uc2UobWVzc2FnZTogSWZyYW1lTWVzc2FnZSwgdGltZW91dE1pbGxpc2Vjb25kczogbnVtYmVyID0gdGhpcy5vcHRpb25zLm1lc3NhZ2VXaXRoUmVzcG9uc2VUaW1lb3V0KSB7XG4gICAgY29uc3QgaWQgPSB2NCgpO1xuICAgIGNvbnN0IHByb21pc2UgPSBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuaW50ZXJuYWxNZXNzYWdlcyQucGlwZShcbiAgICAgICAgZmlsdGVyKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuaWQgPT09IGlkKSxcbiAgICAgICAgdGltZW91dCh0aW1lb3V0TWlsbGlzZWNvbmRzKVxuICAgICAgKVxuICAgICk7XG4gICAgdm9pZCB0aGlzLl9zZW5kTWVzc2FnZShtZXNzYWdlLCBpZCk7XG4gICAgcmV0dXJuIHByb21pc2U7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIHRvIHNlbmQgYSBtZXNzYWdlIHRvIHRoZSBzY3JpcHQgcnVuIGluIHRoZSBpZnJhbWVcbiAgICogQHBhcmFtIG1lc3NhZ2UgbWVzc2FnZSBvYmplY3RcbiAgICogQHBhcmFtIG1lc3NhZ2VJZCBtZXNzYWdlIGlkZW50aWZpZXJcbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZW5kTWVzc2FnZShtZXNzYWdlOiBJZnJhbWVNZXNzYWdlLCBtZXNzYWdlSWQ/OiBzdHJpbmcpIHtcbiAgICBhd2FpdCB0aGlzLmhhbmRzaGFrZVByb21pc2U7XG4gICAgdGhpcy5fc2VuZE1lc3NhZ2UobWVzc2FnZSwgbWVzc2FnZUlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2QgdG8gc2VuZCBhIG1lc3NhZ2UgdG8gdGhlIHNjcmlwdCBydW4gaW4gdGhlIGlmcmFtZSBhbmQgd2FpdCBmb3IgYW4gYW5zd2VyXG4gICAqIEBwYXJhbSBtZXNzYWdlXG4gICAqIEBwYXJhbSB0aW1lb3V0TWlsbGlzZWNvbmRzXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2VuZE1lc3NhZ2VBbmRXYWl0Rm9yUmVzcG9uc2UobWVzc2FnZTogSWZyYW1lTWVzc2FnZSwgdGltZW91dE1pbGxpc2Vjb25kczogbnVtYmVyID0gdGhpcy5vcHRpb25zLm1lc3NhZ2VXaXRoUmVzcG9uc2VUaW1lb3V0KSB7XG4gICAgYXdhaXQgdGhpcy5oYW5kc2hha2VQcm9taXNlO1xuICAgIHJldHVybiB0aGlzLl9zZW5kTWVzc2FnZUFuZFdhaXRGb3JSZXNwb25zZShtZXNzYWdlLCB0aW1lb3V0TWlsbGlzZWNvbmRzKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JyaWRnZS9pZnJhbWUvY29udHJhY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlcHJlc2VudHMgbWVzc2FnZXMgZXhjaGFuZ2VkIGJldHdlZW4gaG9zdCBhbmQgaUZyYW1lLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElmcmFtZU1lc3NhZ2Uge1xuICAvKipcbiAgICogU3RyaW5nIHVzZWQgdG8gaWRlbnRpZnkgdGhlIHR5cGUgb2YgYWN0aW9uIHRvIHBlcmZvcm0uXG4gICAqL1xuICBhY3Rpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZlcnNpb24gb2YgdGhlIGFjdGlvbiwgdG8gYWxsb3cgZm9yIGJhY2t3YXJkIGFuZCBmb3J3YXJkIGNvbXBhdGliaWxpdHkuXG4gICAqL1xuICB2ZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBheWxvYWQgb2YgdGhlIG1lc3NhZ2UuXG4gICAqL1xuICBkYXRhPzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcm5hbElmcmFtZU1lc3NhZ2UgZXh0ZW5kcyBJZnJhbWVNZXNzYWdlIHtcbiAgLyoqXG4gICAqIFRoZSBJRCBhc3NvY2lhdGVkIHRvIHRoZSBjaGFubmVsIEhvc3QgPC0+IGlGcmFtZVxuICAgKi9cbiAgY2hhbm5lbElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElEIHVzZWQgdG8gaGFuZGxlIG1lc3NhZ2VzIHRoYXQgZXhwZWN0IGEgcmVzcG9uc2UgZnJvbSB0aGUgb3RoZXIgcGFydHkuXG4gICAqIE5vIHVzZWQgZm9yIHVuaWRpcmVjdGlvbmFsIG1lc3NhZ2VzLlxuICAgKi9cbiAgaWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gY29uZmlndXJlIGFuIElGcmFtZUJyaWRnZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElGcmFtZUJyaWRnZU9wdGlvbnMge1xuICAvKipcbiAgICogTnVtYmVyIG9mIHRpbWVzIHRoZSBIb3N0IHdpbGwgdHJ5IHRvIGhhbmRzaGFrZSB3aXRoIHRoZSBpRnJhbWUgYmVmb3JlIGZhaWxpbmcuXG4gICAqL1xuICBoYW5kc2hha2VUcmllczogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBGb3IgYSBnaXZlbiBoYW5kc2hha2UgdHJ5LCBob3cgbG9uZyB3aWxsIHRoZSBob3N0IHdhaXQgZm9yIGFuIGFuc3dlciBiZWZvcmUgY29uc2lkZXJpbmdcbiAgICogdGhhdCB0aGUgdHJ5IGZhaWxlZC5cbiAgICovXG4gIGhhbmRzaGFrZVRpbWVvdXQ6IG51bWJlcjtcblxuICAvKipcbiAgICogV2hlbiBzZW5kaW5nIGEgbWVzc2FnZSB0aGF0IGV4cGVjdHMgYSByZXNwb25zZSwgaG93IGxvbmcgc2hvdWxkIHRoZSBCcmlkZ2Ugd2FpdCBiZWZvcmVcbiAgICogY29uc2lkZXJpbmcgdGhlcmUgd2lsbCBiZSBhbnN3ZXIuXG4gICAqL1xuICBtZXNzYWdlV2l0aFJlc3BvbnNlVGltZW91dDogbnVtYmVyO1xufVxuIl19
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Default options for an IFrameBridge
3
+ */
4
+ export const IFRAME_BRIDGE_DEFAULT_OPTIONS = {
5
+ handshakeTries: 10,
6
+ handshakeTimeout: 200,
7
+ messageWithResponseTimeout: 1000
8
+ };
9
+ /**
10
+ * Verifies if a message respects the format expected by an IFrameBridge
11
+ * @param message
12
+ */
13
+ export function isSupportedMessage(message) {
14
+ return typeof message === 'object'
15
+ && !!message.action
16
+ && !!message.version
17
+ && !!message.channelId;
18
+ }
19
+ /**
20
+ * Generates the html content of an iframe
21
+ * @param scriptUrl script to be executed inside the iframe
22
+ * @param additionalHeader custom html headers stringified
23
+ */
24
+ export function generateIFrameContent(scriptUrl, additionalHeader = '') {
25
+ return `<html>
26
+ <head>
27
+ <script>
28
+ class Bridge {
29
+ handshakeDone = false;
30
+
31
+ queuedMessages = [];
32
+
33
+ channelId;
34
+
35
+ messagesBuffer = [];
36
+
37
+ listener;
38
+
39
+ constructor() {
40
+ if (window.parent) {
41
+ window.addEventListener('message', (event) => {
42
+ const message = event.data;
43
+ if (this.isValidMessage(message)) {
44
+ if (message.action === 'HANDSHAKE_PARENT') {
45
+ this.channelId = message.channelId;
46
+ this.sendMessage({action: 'HANDSHAKE_CHILD', version: '1.0', id: message.id});
47
+ this.handshakeDone = true;
48
+ this.queuedMessages.forEach((queuedMessage) => this.sendMessage(queuedMessage));
49
+ this.queuedMessages = [];
50
+ } else if (this.channelId && this.channelId === message.channelId) {
51
+ // actual message
52
+ if (this.listener) {
53
+ this.listener(message);
54
+ } else {
55
+ this.messagesBuffer.push(message);
56
+ }
57
+ }
58
+ }
59
+ });
60
+ } else {
61
+ throw new Error('Error in child frame bridge: can\\'t access parent window.');
62
+ }
63
+ }
64
+
65
+ register(handlerFunction, replayMissedMessages) {
66
+ if (!this.listener) {
67
+ this.listener = handlerFunction;
68
+ if (replayMissedMessages) {
69
+ this.messagesBuffer.forEach((message) => handlerFunction(message));
70
+ }
71
+ this.messagesBuffer = [];
72
+ }
73
+ }
74
+
75
+ isValidMessage(message) {
76
+ return !!message.action && !!message.version && !!message.channelId;
77
+ }
78
+
79
+ sendMessage(message) {
80
+ if(this.handshakeDone) {
81
+ window.parent.postMessage({...message, channelId: this.channelId}, '*');
82
+ } else {
83
+ this.queuedMessages.push(message);
84
+ }
85
+ }
86
+
87
+ uuid() {
88
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
89
+ var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
90
+ return v.toString(16);
91
+ });
92
+ }
93
+ }
94
+
95
+ const BRIDGE = new Bridge();
96
+ </script>
97
+ <script src='${scriptUrl}'></script>
98
+ ${additionalHeader}
99
+ </head>
100
+ <body></body>
101
+ </html>`;
102
+ }
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9icmlkZ2UvaWZyYW1lL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBa0M7SUFDMUUsY0FBYyxFQUFFLEVBQUU7SUFDbEIsZ0JBQWdCLEVBQUUsR0FBRztJQUNyQiwwQkFBMEIsRUFBRSxJQUFJO0NBQ3hCLENBQUM7QUFFWDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBWTtJQUM3QyxPQUFPLE9BQU8sT0FBTyxLQUFLLFFBQVE7V0FDN0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNO1dBQ2hCLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTztXQUNqQixDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztBQUMzQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxTQUFpQixFQUFFLGdCQUFnQixHQUFHLEVBQUU7SUFDNUUsT0FBTzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3FCQXdFWSxTQUFTO1FBQ3RCLGdCQUFnQjs7O1FBR2hCLENBQUM7QUFDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSUZyYW1lQnJpZGdlT3B0aW9ucyxcbiAgSW50ZXJuYWxJZnJhbWVNZXNzYWdlLFxufSBmcm9tICcuL2NvbnRyYWN0cyc7XG5cbi8qKlxuICogRGVmYXVsdCBvcHRpb25zIGZvciBhbiBJRnJhbWVCcmlkZ2VcbiAqL1xuZXhwb3J0IGNvbnN0IElGUkFNRV9CUklER0VfREVGQVVMVF9PUFRJT05TOiBSZWFkb25seTxJRnJhbWVCcmlkZ2VPcHRpb25zPiA9IHtcbiAgaGFuZHNoYWtlVHJpZXM6IDEwLFxuICBoYW5kc2hha2VUaW1lb3V0OiAyMDAsXG4gIG1lc3NhZ2VXaXRoUmVzcG9uc2VUaW1lb3V0OiAxMDAwXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIFZlcmlmaWVzIGlmIGEgbWVzc2FnZSByZXNwZWN0cyB0aGUgZm9ybWF0IGV4cGVjdGVkIGJ5IGFuIElGcmFtZUJyaWRnZVxuICogQHBhcmFtIG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3VwcG9ydGVkTWVzc2FnZShtZXNzYWdlOiBhbnkpOiBtZXNzYWdlIGlzIEludGVybmFsSWZyYW1lTWVzc2FnZSB7XG4gIHJldHVybiB0eXBlb2YgbWVzc2FnZSA9PT0gJ29iamVjdCdcbiAgICAmJiAhIW1lc3NhZ2UuYWN0aW9uXG4gICAgJiYgISFtZXNzYWdlLnZlcnNpb25cbiAgICAmJiAhIW1lc3NhZ2UuY2hhbm5lbElkO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyB0aGUgaHRtbCBjb250ZW50IG9mIGFuIGlmcmFtZVxuICogQHBhcmFtIHNjcmlwdFVybCBzY3JpcHQgdG8gYmUgZXhlY3V0ZWQgaW5zaWRlIHRoZSBpZnJhbWVcbiAqIEBwYXJhbSBhZGRpdGlvbmFsSGVhZGVyIGN1c3RvbSBodG1sIGhlYWRlcnMgc3RyaW5naWZpZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlSUZyYW1lQ29udGVudChzY3JpcHRVcmw6IHN0cmluZywgYWRkaXRpb25hbEhlYWRlciA9ICcnKSB7XG4gIHJldHVybiBgPGh0bWw+XG4gIDxoZWFkPlxuICAgICAgPHNjcmlwdD5cbiAgICAgICAgICBjbGFzcyBCcmlkZ2Uge1xuICAgICAgICAgICAgaGFuZHNoYWtlRG9uZSA9IGZhbHNlO1xuXG4gICAgICAgICAgICBxdWV1ZWRNZXNzYWdlcyA9IFtdO1xuXG4gICAgICAgICAgICBjaGFubmVsSWQ7XG5cbiAgICAgICAgICAgIG1lc3NhZ2VzQnVmZmVyID0gW107XG5cbiAgICAgICAgICAgIGxpc3RlbmVyO1xuXG4gICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgICAgICAgaWYgKHdpbmRvdy5wYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGV2ZW50LmRhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNWYWxpZE1lc3NhZ2UobWVzc2FnZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtZXNzYWdlLmFjdGlvbiA9PT0gJ0hBTkRTSEFLRV9QQVJFTlQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbm5lbElkID0gbWVzc2FnZS5jaGFubmVsSWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2Uoe2FjdGlvbjogJ0hBTkRTSEFLRV9DSElMRCcsIHZlcnNpb246ICcxLjAnLCBpZDogbWVzc2FnZS5pZH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRzaGFrZURvbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnF1ZXVlZE1lc3NhZ2VzLmZvckVhY2goKHF1ZXVlZE1lc3NhZ2UpID0+IHRoaXMuc2VuZE1lc3NhZ2UocXVldWVkTWVzc2FnZSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnF1ZXVlZE1lc3NhZ2VzID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY2hhbm5lbElkICYmIHRoaXMuY2hhbm5lbElkID09PSBtZXNzYWdlLmNoYW5uZWxJZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhY3R1YWwgbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5saXN0ZW5lcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdGVuZXIobWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlc0J1ZmZlci5wdXNoKG1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciBpbiBjaGlsZCBmcmFtZSBicmlkZ2U6IGNhblxcXFwndCBhY2Nlc3MgcGFyZW50IHdpbmRvdy4nKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZWdpc3RlcihoYW5kbGVyRnVuY3Rpb24sIHJlcGxheU1pc3NlZE1lc3NhZ2VzKSB7XG4gICAgICAgICAgICAgIGlmICghdGhpcy5saXN0ZW5lcikge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdGVuZXIgPSBoYW5kbGVyRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgaWYgKHJlcGxheU1pc3NlZE1lc3NhZ2VzKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzQnVmZmVyLmZvckVhY2goKG1lc3NhZ2UpID0+IGhhbmRsZXJGdW5jdGlvbihtZXNzYWdlKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZXNCdWZmZXIgPSBbXTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpc1ZhbGlkTWVzc2FnZShtZXNzYWdlKSB7XG4gICAgICAgICAgICAgIHJldHVybiAhIW1lc3NhZ2UuYWN0aW9uICYmICEhbWVzc2FnZS52ZXJzaW9uICYmICEhbWVzc2FnZS5jaGFubmVsSWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNlbmRNZXNzYWdlKG1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgaWYodGhpcy5oYW5kc2hha2VEb25lKSB7XG4gICAgICAgICAgICAgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSh7Li4ubWVzc2FnZSwgY2hhbm5lbElkOiB0aGlzLmNoYW5uZWxJZH0sICcqJyk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5xdWV1ZWRNZXNzYWdlcy5wdXNoKG1lc3NhZ2UpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHV1aWQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICd4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgnLnJlcGxhY2UoL1t4eV0vZywgZnVuY3Rpb24oYykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgciA9IE1hdGgucmFuZG9tKCkgKiAxNiB8IDAsIHYgPSBjID09ICd4JyA/IHIgOiAociAmIDB4MyB8IDB4OCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2LnRvU3RyaW5nKDE2KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBCUklER0UgPSBuZXcgQnJpZGdlKCk7XG4gICAgICA8L3NjcmlwdD5cbiAgICAgIDxzY3JpcHQgc3JjPScke3NjcmlwdFVybH0nPjwvc2NyaXB0PlxuICAgICAgJHthZGRpdGlvbmFsSGVhZGVyfVxuICA8L2hlYWQ+XG4gIDxib2R5PjwvYm9keT5cbjwvaHRtbD5gO1xufVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './bridge';
2
+ export * from './contracts';
3
+ export * from './helpers';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYnJpZGdlL2lmcmFtZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnJpZGdlJztcbmV4cG9ydCAqIGZyb20gJy4vY29udHJhY3RzJztcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycyc7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './ab-testing/index';
2
+ export * from './iframe/index';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnJpZGdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWItdGVzdGluZy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2lmcmFtZS9pbmRleCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './bridge/index';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnJpZGdlL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibzNyLXRoaXJkLXBhcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL28zci10aGlyZC1wYXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@o3r/third-party",
3
- "version": "12.1.0-prerelease.8",
3
+ "version": "12.1.0-prerelease.81",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -17,8 +17,8 @@
17
17
  },
18
18
  "peerDependencies": {
19
19
  "@angular-devkit/schematics": "^19.0.0",
20
- "@o3r/core": "^12.1.0-prerelease.8",
21
- "@o3r/schematics": "^12.1.0-prerelease.8",
20
+ "@o3r/core": "^12.1.0-prerelease.81",
21
+ "@o3r/schematics": "^12.1.0-prerelease.81",
22
22
  "@schematics/angular": "^19.0.0",
23
23
  "rxjs": "^7.8.1",
24
24
  "typescript": "^5.5.4"
@@ -9,5 +9,5 @@ export declare function ngAddIframeFn(options: NgAddIframeSchematicsSchema): Rul
9
9
  * Add iframe to an existing component
10
10
  * @param options
11
11
  */
12
- export declare const ngAddIframe: (options: NgAddIframeSchematicsSchema) => Rule;
12
+ export declare const ngAddIframe: (options: any) => Rule;
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/iframe-to-component/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,IAAI,EAGL,MAAM,4BAA4B,CAAC;AAmBpC,OAAO,KAAK,EACV,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AA0BlB;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAwKxE;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,gDAAuD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/iframe-to-component/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,IAAI,EAGL,MAAM,4BAA4B,CAAC;AAmBpC,OAAO,KAAK,EACV,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AA0BlB;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAwKxE;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,wBAAsC,CAAC"}
@@ -158,5 +158,5 @@ function ngAddIframeFn(options) {
158
158
  * Add iframe to an existing component
159
159
  * @param options
160
160
  */
161
- exports.ngAddIframe = (0, schematics_2.createSchematicWithMetricsIfInstalled)(ngAddIframeFn);
161
+ exports.ngAddIframe = (0, schematics_2.createOtterSchematic)(ngAddIframeFn);
162
162
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/iframe-to-component/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../schematics/iframe-to-component/schema.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,IAAI,EACV,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,UAAU,CAAC;AA4BlB;;;GAGG;AACH,eAAO,MAAM,KAAK,YAAa,qBAAqB,KAAG,IAGtD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,IAAI,EACV,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,UAAU,CAAC;AA4BlB;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,SAAS,qBAAqB,KAAG,IAKtD,CAAC"}
@@ -33,8 +33,8 @@ function ngAddFn(options) {
33
33
  * @param options
34
34
  */
35
35
  const ngAdd = (options) => async (_, { logger }) => {
36
- const { createSchematicWithMetricsIfInstalled } = await Promise.resolve().then(() => require('@o3r/schematics')).catch(reportMissingSchematicsDep(logger));
37
- return createSchematicWithMetricsIfInstalled(ngAddFn)(options);
36
+ const { createOtterSchematic } = await Promise.resolve().then(() => require('@o3r/schematics')).catch(reportMissingSchematicsDep(logger));
37
+ return createOtterSchematic(ngAddFn)(options);
38
38
  };
39
39
  exports.ngAdd = ngAdd;
40
40
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":";;;AAAA,8BAA8B;AAC9B,kCAAkC;AAClC,2DAGoC;AAKpC,MAAM,0BAA0B,GAAG,CAAC,MAA2C,EAAE,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE;IAClG,MAAM,CAAC,KAAK,CAAC;;8CAE+B,CAAC,CAAC;IAC9C,MAAM,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;;;GAGG;AACH,SAAS,OAAO,CAAC,OAA8B;IAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACvF,MAAM,EAAE,uBAAuB,EAAE,mCAAmC,EAAE,iBAAiB,EAAE,GAAG,2CAAa,iBAAiB,EAAC,CAAC;QAC5H,OAAO,IAAA,kBAAK,EAAC;YACX,mCAAmC,CAAC,WAAW,CAAC;YAChD,iBAAiB,CAAC;gBAChB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,YAAY,EAAE,uBAAuB,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;aACpH,CAAC;SACH,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,MAAM,KAAK,GAAG,CAAC,OAA8B,EAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IACrF,MAAM,EACJ,oBAAoB,EACrB,GAAG,MAAM,qCAAO,iBAAiB,GAAE,KAAK,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AAChD,CAAC,CAAC;AALW,QAAA,KAAK,SAKhB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../schematics/ng-add/schema.ts"],"names":[],"mappings":""}
@@ -13,8 +13,7 @@
13
13
  },
14
14
  "exactO3rVersion": {
15
15
  "type": "boolean",
16
- "description": "Use a pinned version for otter packages",
17
- "default": false
16
+ "description": "Use a pinned version for otter packages"
18
17
  }
19
18
  },
20
19
  "additionalProperties": true,