@o3r/third-party 12.0.0-next.2 → 12.0.0-next.21
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/package.json +6 -8
- package/schematics/package.json +3 -0
- package/esm2022/bridge/ab-testing/ab-testing-bridge.mjs +0 -78
- package/esm2022/bridge/ab-testing/index.mjs +0 -2
- package/esm2022/bridge/iframe/bridge.mjs +0 -67
- package/esm2022/bridge/iframe/contracts.mjs +0 -2
- package/esm2022/bridge/iframe/helpers.mjs +0 -103
- package/esm2022/bridge/iframe/index.mjs +0 -4
- package/esm2022/bridge/index.mjs +0 -3
- package/esm2022/index.mjs +0 -2
- package/esm2022/o3r-third-party.mjs +0 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@o3r/third-party",
|
|
3
|
-
"version": "12.0.0-next.
|
|
3
|
+
"version": "12.0.0-next.21",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -13,13 +13,13 @@
|
|
|
13
13
|
],
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"tslib": "^2.6.2",
|
|
16
|
-
"uuid": "^
|
|
16
|
+
"uuid": "^11.0.5"
|
|
17
17
|
},
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"@angular-devkit/schematics": "^
|
|
20
|
-
"@o3r/core": "^12.0.0-next.
|
|
21
|
-
"@o3r/schematics": "^12.0.0-next.
|
|
22
|
-
"@schematics/angular": "^
|
|
19
|
+
"@angular-devkit/schematics": "^19.0.0",
|
|
20
|
+
"@o3r/core": "^12.0.0-next.21",
|
|
21
|
+
"@o3r/schematics": "^12.0.0-next.21",
|
|
22
|
+
"@schematics/angular": "^19.0.0",
|
|
23
23
|
"rxjs": "^7.8.1",
|
|
24
24
|
"typescript": "^5.5.4"
|
|
25
25
|
},
|
|
@@ -51,8 +51,6 @@
|
|
|
51
51
|
},
|
|
52
52
|
".": {
|
|
53
53
|
"types": "./index.d.ts",
|
|
54
|
-
"esm2022": "./esm2022/o3r-third-party.mjs",
|
|
55
|
-
"esm": "./esm2022/o3r-third-party.mjs",
|
|
56
54
|
"default": "./fesm2022/o3r-third-party.mjs"
|
|
57
55
|
}
|
|
58
56
|
},
|
|
@@ -1,78 +0,0 @@
|
|
|
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=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './ab-testing-bridge';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYnJpZGdlL2FiLXRlc3RpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWItdGVzdGluZy1icmlkZ2UnO1xuIl19
|
|
@@ -1,67 +0,0 @@
|
|
|
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
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JyaWRnZS9pZnJhbWUvY29udHJhY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlcHJlc2VudHMgbWVzc2FnZXMgZXhjaGFuZ2VkIGJldHdlZW4gaG9zdCBhbmQgaUZyYW1lLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElmcmFtZU1lc3NhZ2Uge1xuICAvKipcbiAgICogU3RyaW5nIHVzZWQgdG8gaWRlbnRpZnkgdGhlIHR5cGUgb2YgYWN0aW9uIHRvIHBlcmZvcm0uXG4gICAqL1xuICBhY3Rpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZlcnNpb24gb2YgdGhlIGFjdGlvbiwgdG8gYWxsb3cgZm9yIGJhY2t3YXJkIGFuZCBmb3J3YXJkIGNvbXBhdGliaWxpdHkuXG4gICAqL1xuICB2ZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBheWxvYWQgb2YgdGhlIG1lc3NhZ2UuXG4gICAqL1xuICBkYXRhPzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcm5hbElmcmFtZU1lc3NhZ2UgZXh0ZW5kcyBJZnJhbWVNZXNzYWdlIHtcbiAgLyoqXG4gICAqIFRoZSBJRCBhc3NvY2lhdGVkIHRvIHRoZSBjaGFubmVsIEhvc3QgPC0+IGlGcmFtZVxuICAgKi9cbiAgY2hhbm5lbElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElEIHVzZWQgdG8gaGFuZGxlIG1lc3NhZ2VzIHRoYXQgZXhwZWN0IGEgcmVzcG9uc2UgZnJvbSB0aGUgb3RoZXIgcGFydHkuXG4gICAqIE5vIHVzZWQgZm9yIHVuaWRpcmVjdGlvbmFsIG1lc3NhZ2VzLlxuICAgKi9cbiAgaWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gY29uZmlndXJlIGFuIElGcmFtZUJyaWRnZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElGcmFtZUJyaWRnZU9wdGlvbnMge1xuICAvKipcbiAgICogTnVtYmVyIG9mIHRpbWVzIHRoZSBIb3N0IHdpbGwgdHJ5IHRvIGhhbmRzaGFrZSB3aXRoIHRoZSBpRnJhbWUgYmVmb3JlIGZhaWxpbmcuXG4gICAqL1xuICBoYW5kc2hha2VUcmllczogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBGb3IgYSBnaXZlbiBoYW5kc2hha2UgdHJ5LCBob3cgbG9uZyB3aWxsIHRoZSBob3N0IHdhaXQgZm9yIGFuIGFuc3dlciBiZWZvcmUgY29uc2lkZXJpbmdcbiAgICogdGhhdCB0aGUgdHJ5IGZhaWxlZC5cbiAgICovXG4gIGhhbmRzaGFrZVRpbWVvdXQ6IG51bWJlcjtcblxuICAvKipcbiAgICogV2hlbiBzZW5kaW5nIGEgbWVzc2FnZSB0aGF0IGV4cGVjdHMgYSByZXNwb25zZSwgaG93IGxvbmcgc2hvdWxkIHRoZSBCcmlkZ2Ugd2FpdCBiZWZvcmVcbiAgICogY29uc2lkZXJpbmcgdGhlcmUgd2lsbCBiZSBhbnN3ZXIuXG4gICAqL1xuICBtZXNzYWdlV2l0aFJlc3BvbnNlVGltZW91dDogbnVtYmVyO1xufVxuIl19
|
|
@@ -1,103 +0,0 @@
|
|
|
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
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './bridge';
|
|
2
|
-
export * from './contracts';
|
|
3
|
-
export * from './helpers';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYnJpZGdlL2lmcmFtZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnJpZGdlJztcbmV4cG9ydCAqIGZyb20gJy4vY29udHJhY3RzJztcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycyc7XG4iXX0=
|
package/esm2022/bridge/index.mjs
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './ab-testing/index';
|
|
2
|
-
export * from './iframe/index';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnJpZGdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWItdGVzdGluZy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2lmcmFtZS9pbmRleCc7XG4iXX0=
|
package/esm2022/index.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './bridge/index';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnJpZGdlL2luZGV4JztcbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibzNyLXRoaXJkLXBhcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL28zci10aGlyZC1wYXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|