@openreplay/tracker 8.1.2 → 9.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -1
- package/cjs/app/index.d.ts +1 -0
- package/cjs/app/index.js +6 -2
- package/cjs/common/interaction.d.ts +1 -1
- package/cjs/index.d.ts +14 -2
- package/cjs/index.js +34 -31
- package/cjs/modules/axiosSpy.js +1 -1
- package/cjs/modules/input.d.ts +7 -6
- package/cjs/modules/input.js +17 -9
- package/lib/app/index.d.ts +1 -0
- package/lib/app/index.js +6 -2
- package/lib/common/interaction.d.ts +1 -1
- package/lib/common/tsconfig.tsbuildinfo +1 -1
- package/lib/index.d.ts +14 -2
- package/lib/index.js +34 -31
- package/lib/modules/axiosSpy.js +1 -1
- package/lib/modules/input.d.ts +7 -6
- package/lib/modules/input.js +16 -8
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
# 9.0.0
|
|
2
2
|
|
|
3
|
-
- Option to disable string dictionary
|
|
3
|
+
- Option to disable string dictionary `{disableStringDict: true}` in Tracker constructor
|
|
4
4
|
- Introduced Feature flags api
|
|
5
5
|
- Fixed input durations recorded on programmable autofill
|
|
6
|
+
- change InputMode from enum to const Object
|
|
7
|
+
|
|
8
|
+
# 8.1.2
|
|
9
|
+
|
|
10
|
+
- option to disable string dictionary `{disableStringDict: true}` in Tracker constructor
|
|
6
11
|
|
|
7
12
|
# 8.1.1
|
|
8
13
|
|
|
@@ -15,6 +20,10 @@
|
|
|
15
20
|
|
|
16
21
|
- **[breaking]** support for multi-tab sessions
|
|
17
22
|
|
|
23
|
+
# 7.0.4
|
|
24
|
+
|
|
25
|
+
- option to disable string dictionary `{disableStringDict: true}` in Tracker constructor
|
|
26
|
+
|
|
18
27
|
# 7.0.3
|
|
19
28
|
|
|
20
29
|
- Prevent auto restart after manual stop
|
package/cjs/app/index.d.ts
CHANGED
|
@@ -128,6 +128,7 @@ export default class App {
|
|
|
128
128
|
* and here we just apply 10ms delay just in case
|
|
129
129
|
* */
|
|
130
130
|
start(...args: Parameters<App['_start']>): Promise<StartPromiseReturn>;
|
|
131
|
+
forceFlushBatch(): void;
|
|
131
132
|
getTabId(): string;
|
|
132
133
|
stop(stopWorker?: boolean): void;
|
|
133
134
|
}
|
package/cjs/app/index.js
CHANGED
|
@@ -35,7 +35,7 @@ class App {
|
|
|
35
35
|
this.stopCallbacks = [];
|
|
36
36
|
this.commitCallbacks = [];
|
|
37
37
|
this.activityState = ActivityState.NotActive;
|
|
38
|
-
this.version = '
|
|
38
|
+
this.version = '9.0.0-beta.1'; // TODO: version compatability check inside each plugin.
|
|
39
39
|
this.compressionThreshold = 24 * 1000;
|
|
40
40
|
this.restartAttempts = 0;
|
|
41
41
|
this.bc = null;
|
|
@@ -90,7 +90,7 @@ class App {
|
|
|
90
90
|
this.session.applySessionHash(sessionToken);
|
|
91
91
|
}
|
|
92
92
|
try {
|
|
93
|
-
this.worker = new Worker(URL.createObjectURL(new Blob(['"use strict";class t{constructor(t,i,s,e=10,n=1e3,r){this.onUnauthorised=i,this.onFailure=s,this.MAX_ATTEMPTS_COUNT=e,this.ATTEMPT_TIMEOUT=n,this.onCompress=r,this.attemptsCount=0,this.busy=!1,this.queue=[],this.token=null,this.ingestURL=t+"/v1/web/i",this.isCompressing=void 0!==r}authorise(t){this.token=t,this.busy||this.sendNext()}push(t){this.busy||!this.token?this.queue.push(t):(this.busy=!0,this.isCompressing&&this.onCompress?this.onCompress(t):this.sendBatch(t))}sendNext(){const t=this.queue.shift();t?(this.busy=!0,this.isCompressing&&this.onCompress?this.onCompress(t):this.sendBatch(t)):this.busy=!1}retry(t,i){this.attemptsCount>=this.MAX_ATTEMPTS_COUNT?this.onFailure(`Failed to send batch after ${this.attemptsCount} attempts.`):(this.attemptsCount++,setTimeout(()=>this.sendBatch(t,i),this.ATTEMPT_TIMEOUT*this.attemptsCount))}sendBatch(t,i){this.busy=!0;const s={Authorization:"Bearer "+this.token};i&&(s["Content-Encoding"]="gzip"),null!==this.token?fetch(this.ingestURL,{body:t,method:"POST",headers:s,keepalive:t.length<65536}).then(s=>{if(401===s.status)return this.busy=!1,void this.onUnauthorised();s.status>=400?this.retry(t,i):(this.attemptsCount=0,this.sendNext())}).catch(s=>{console.warn("OpenReplay:",s),this.retry(t,i)}):setTimeout(()=>{this.sendBatch(t,i)},500)}sendCompressed(t){this.sendBatch(t,!0)}sendUncompressed(t){this.sendBatch(t,!1)}clean(){this.sendNext(),setTimeout(()=>{this.token=null,this.queue.length=0},10)}}const i="function"==typeof TextEncoder?new TextEncoder:{encode(t){const i=t.length,s=new Uint8Array(3*i);let e=-1;for(let n=0,r=0,h=0;h!==i;){if(n=t.charCodeAt(h),h+=1,n>=55296&&n<=56319){if(h===i){s[e+=1]=239,s[e+=1]=191,s[e+=1]=189;break}if(r=t.charCodeAt(h),!(r>=56320&&r<=57343)){s[e+=1]=239,s[e+=1]=191,s[e+=1]=189;continue}if(n=1024*(n-55296)+r-56320+65536,h+=1,n>65535){s[e+=1]=240|n>>>18,s[e+=1]=128|n>>>12&63,s[e+=1]=128|n>>>6&63,s[e+=1]=128|63&n;continue}}n<=127?s[e+=1]=0|n:n<=2047?(s[e+=1]=192|n>>>6,s[e+=1]=128|63&n):(s[e+=1]=224|n>>>12,s[e+=1]=128|n>>>6&63,s[e+=1]=128|63&n)}return s.subarray(0,e+1)}};class s extends class{constructor(t){this.size=t,this.offset=0,this.checkpointOffset=0,this.data=new Uint8Array(t)}getCurrentOffset(){return this.offset}checkpoint(){this.checkpointOffset=this.offset}get isEmpty(){return 0===this.offset}skip(t){return this.offset+=t,this.offset<=this.size}set(t,i){this.data.set(t,i)}boolean(t){return this.data[this.offset++]=+t,this.offset<=this.size}uint(t){for((t<0||t>Number.MAX_SAFE_INTEGER)&&(t=0);t>=128;)this.data[this.offset++]=t%256|128,t=Math.floor(t/128);return this.data[this.offset++]=t,this.offset<=this.size}int(t){return t=Math.round(t),this.uint(t>=0?2*t:-2*t-1)}string(t){const s=i.encode(t),e=s.byteLength;return!(!this.uint(e)||this.offset+e>this.size)&&(this.data.set(s,this.offset),this.offset+=e,!0)}reset(){this.offset=0,this.checkpointOffset=0}flush(){const t=this.data.slice(0,this.checkpointOffset);return this.reset(),t}}{encode(t){switch(t[0]){case 0:return this.uint(t[1]);case 4:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 5:return this.uint(t[1])&&this.uint(t[2]);case 6:return this.int(t[1])&&this.int(t[2]);case 7:return!0;case 8:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.string(t[4])&&this.boolean(t[5]);case 9:case 10:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3]);case 11:return this.uint(t[1]);case 12:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 13:case 14:return this.uint(t[1])&&this.string(t[2]);case 16:return this.uint(t[1])&&this.int(t[2])&&this.int(t[3]);case 17:return this.uint(t[1])&&this.string(t[2]);case 18:return this.uint(t[1])&&this.string(t[2])&&this.int(t[3]);case 19:return this.uint(t[1])&&this.boolean(t[2]);case 20:return this.uint(t[1])&&this.uint(t[2]);case 21:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.string(t[5])&&this.uint(t[6])&&this.uint(t[7])&&this.uint(t[8]);case 22:return this.string(t[1])&&this.string(t[2]);case 23:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.uint(t[7])&&this.uint(t[8])&&this.uint(t[9]);case 24:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3]);case 27:return this.string(t[1])&&this.string(t[2]);case 28:case 29:return this.string(t[1]);case 30:return this.string(t[1])&&this.string(t[2]);case 37:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3]);case 38:return this.uint(t[1])&&this.uint(t[2]);case 39:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.uint(t[7]);case 40:return this.string(t[1])&&this.uint(t[2])&&this.string(t[3])&&this.string(t[4]);case 41:return this.string(t[1])&&this.string(t[2]);case 42:return this.string(t[1]);case 44:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 45:case 46:return this.string(t[1])&&this.string(t[2]);case 47:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 48:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 49:return this.int(t[1])&&this.int(t[2])&&this.uint(t[3])&&this.uint(t[4]);case 50:return this.uint(t[1])&&this.string(t[2]);case 51:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3]);case 53:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.string(t[7])&&this.string(t[8]);case 54:return this.uint(t[1])&&this.string(t[2]);case 55:return this.boolean(t[1]);case 57:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 58:return this.int(t[1]);case 59:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.string(t[5])&&this.string(t[6])&&this.string(t[7]);case 60:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 61:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 63:case 64:return this.string(t[1])&&this.string(t[2]);case 67:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3])&&this.string(t[4]);case 69:return this.uint(t[1])&&this.uint(t[2])&&this.string(t[3])&&this.string(t[4]);case 70:return this.uint(t[1])&&this.uint(t[2]);case 71:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 73:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3])&&this.string(t[4]);case 75:case 76:case 77:return this.uint(t[1])&&this.uint(t[2]);case 78:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 79:return this.string(t[1])&&this.string(t[2]);case 81:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.int(t[4])&&this.string(t[5]);case 82:return this.uint(t[1])&&this.uint(t[2]);case 112:return this.uint(t[1])&&this.string(t[2])&&this.boolean(t[3])&&this.string(t[4])&&this.int(t[5])&&this.int(t[6]);case 113:return this.uint(t[1])&&this.uint(t[2])&&this.string(t[3]);case 114:case 115:return this.uint(t[1]);case 116:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.string(t[7])&&this.string(t[8])&&this.uint(t[9])&&this.boolean(t[10]);case 117:case 118:return this.string(t[1])}}}class e{constructor(t,i,e,n,r){this.pageNo=t,this.timestamp=i,this.url=e,this.onBatch=n,this.tabId=r,this.nextIndex=0,this.beaconSize=2e5,this.encoder=new s(this.beaconSize),this.sizeBuffer=new Uint8Array(3),this.isEmpty=!0,this.beaconSizeLimit=1e6,this.prepare()}writeType(t){return this.encoder.uint(t[0])}writeFields(t){return this.encoder.encode(t)}writeSizeAt(t,i){for(let i=0;i<3;i++)this.sizeBuffer[i]=t>>8*i;this.encoder.set(this.sizeBuffer,i)}prepare(){if(!this.encoder.isEmpty)return;const t=[81,1,this.pageNo,this.nextIndex,this.timestamp,this.url],i=[118,this.tabId];this.writeType(t),this.writeFields(t),this.writeWithSize(i),this.isEmpty=!0}writeWithSize(t){const i=this.encoder;if(!this.writeType(t)||!i.skip(3))return!1;const s=i.getCurrentOffset(),e=this.writeFields(t);if(e){const e=i.getCurrentOffset()-s;if(e>16777215)return console.warn("OpenReplay: max message size overflow."),!1;this.writeSizeAt(e,s-3),i.checkpoint(),this.isEmpty=this.isEmpty&&0===t[0],this.nextIndex++}return e}setBeaconSizeLimit(t){this.beaconSizeLimit=t}writeMessage(t){0===t[0]&&(this.timestamp=t[1]),4===t[0]&&(this.url=t[1]),this.writeWithSize(t)||(this.finaliseBatch(),this.writeWithSize(t)||(this.encoder=new s(this.beaconSizeLimit),this.prepare(),this.writeWithSize(t)?this.finaliseBatch():console.warn("OpenReplay: beacon size overflow. Skipping large message.",t,this),this.encoder=new s(this.beaconSize),this.prepare()))}finaliseBatch(){if(this.isEmpty)return;const t=this.encoder.flush();this.onBatch(t),this.prepare()}clean(){this.encoder.reset()}}var n;!function(t){t[t.NotActive=0]="NotActive",t[t.Starting=1]="Starting",t[t.Stopping=2]="Stopping",t[t.Active=3]="Active",t[t.Stopped=4]="Stopped"}(n||(n={}));let r=null,h=null,u=n.NotActive;function a(){h&&h.finaliseBatch()}function o(){u=n.Stopping,null!==p&&(clearInterval(p),p=null),h&&(h.clean(),h=null),r&&(r.clean(),setTimeout(()=>{r=null},20)),setTimeout(()=>{u=n.NotActive},100)}function c(){u!==n.Stopped&&(postMessage("restart"),o())}let g,p=null;self.onmessage=({data:i})=>{if(null!=i){if("stop"===i)return a(),o(),u=n.Stopped;if(!Array.isArray(i)){if("compressed"===i.type){if(!r)return console.debug("WebWorker: sender not initialised. Compressed batch."),void c();r.sendCompressed(i.batch)}if("uncompressed"===i.type){if(!r)return console.debug("WebWorker: sender not initialised. Uncompressed batch."),void c();r.sendUncompressed(i.batch)}return"start"===i.type?(u=n.Starting,r=new t(i.ingestPoint,()=>{c()},t=>{!function(t){postMessage({type:"failure",reason:t}),o()}(t)},i.connAttemptCount,i.connAttemptGap,t=>{postMessage({type:"compress",batch:t},[t.buffer])}),h=new e(i.pageNo,i.timestamp,i.url,t=>r&&r.push(t),i.tabId),null===p&&(p=setInterval(a,1e4)),u=n.Active):"auth"===i.type?r?h?(r.authorise(i.token),void(i.beaconSizeLimit&&h.setBeaconSizeLimit(i.beaconSizeLimit))):(console.debug("WebWorker: writer not initialised. Received auth."),void c()):(console.debug("WebWorker: sender not initialised. Received auth."),void c()):void 0}if(null!==h){const t=h;i.forEach(i=>{55===i[0]&&(i[1]?g=setTimeout(()=>c(),18e5):clearTimeout(g)),t.writeMessage(i)})}h||(postMessage("not_init"),c())}else a()};'], { type: 'text/javascript' })));
|
|
93
|
+
this.worker = new Worker(URL.createObjectURL(new Blob(['"use strict";class t{constructor(t,i,s,e=10,n=1e3,r){this.onUnauthorised=i,this.onFailure=s,this.MAX_ATTEMPTS_COUNT=e,this.ATTEMPT_TIMEOUT=n,this.onCompress=r,this.attemptsCount=0,this.busy=!1,this.queue=[],this.token=null,this.ingestURL=t+"/v1/web/i",this.isCompressing=void 0!==r}authorise(t){this.token=t,this.busy||this.sendNext()}push(t){this.busy||!this.token?this.queue.push(t):(this.busy=!0,this.isCompressing&&this.onCompress?this.onCompress(t):this.sendBatch(t))}sendNext(){const t=this.queue.shift();t?(this.busy=!0,this.isCompressing&&this.onCompress?this.onCompress(t):this.sendBatch(t)):this.busy=!1}retry(t,i){this.attemptsCount>=this.MAX_ATTEMPTS_COUNT?this.onFailure(`Failed to send batch after ${this.attemptsCount} attempts.`):(this.attemptsCount++,setTimeout(()=>this.sendBatch(t,i),this.ATTEMPT_TIMEOUT*this.attemptsCount))}sendBatch(t,i){this.busy=!0;const s={Authorization:"Bearer "+this.token};i&&(s["Content-Encoding"]="gzip"),null!==this.token?fetch(this.ingestURL,{body:t,method:"POST",headers:s,keepalive:t.length<65536}).then(s=>{if(401===s.status)return this.busy=!1,void this.onUnauthorised();s.status>=400?this.retry(t,i):(this.attemptsCount=0,this.sendNext())}).catch(s=>{console.warn("OpenReplay:",s),this.retry(t,i)}):setTimeout(()=>{this.sendBatch(t,i)},500)}sendCompressed(t){this.sendBatch(t,!0)}sendUncompressed(t){this.sendBatch(t,!1)}clean(){this.sendNext(),setTimeout(()=>{this.token=null,this.queue.length=0},10)}}const i="function"==typeof TextEncoder?new TextEncoder:{encode(t){const i=t.length,s=new Uint8Array(3*i);let e=-1;for(let n=0,r=0,h=0;h!==i;){if(n=t.charCodeAt(h),h+=1,n>=55296&&n<=56319){if(h===i){s[e+=1]=239,s[e+=1]=191,s[e+=1]=189;break}if(r=t.charCodeAt(h),!(r>=56320&&r<=57343)){s[e+=1]=239,s[e+=1]=191,s[e+=1]=189;continue}if(n=1024*(n-55296)+r-56320+65536,h+=1,n>65535){s[e+=1]=240|n>>>18,s[e+=1]=128|n>>>12&63,s[e+=1]=128|n>>>6&63,s[e+=1]=128|63&n;continue}}n<=127?s[e+=1]=0|n:n<=2047?(s[e+=1]=192|n>>>6,s[e+=1]=128|63&n):(s[e+=1]=224|n>>>12,s[e+=1]=128|n>>>6&63,s[e+=1]=128|63&n)}return s.subarray(0,e+1)}};class s extends class{constructor(t){this.size=t,this.offset=0,this.checkpointOffset=0,this.data=new Uint8Array(t)}getCurrentOffset(){return this.offset}checkpoint(){this.checkpointOffset=this.offset}get isEmpty(){return 0===this.offset}skip(t){return this.offset+=t,this.offset<=this.size}set(t,i){this.data.set(t,i)}boolean(t){return this.data[this.offset++]=+t,this.offset<=this.size}uint(t){for((t<0||t>Number.MAX_SAFE_INTEGER)&&(t=0);t>=128;)this.data[this.offset++]=t%256|128,t=Math.floor(t/128);return this.data[this.offset++]=t,this.offset<=this.size}int(t){return t=Math.round(t),this.uint(t>=0?2*t:-2*t-1)}string(t){const s=i.encode(t),e=s.byteLength;return!(!this.uint(e)||this.offset+e>this.size)&&(this.data.set(s,this.offset),this.offset+=e,!0)}reset(){this.offset=0,this.checkpointOffset=0}flush(){const t=this.data.slice(0,this.checkpointOffset);return this.reset(),t}}{encode(t){switch(t[0]){case 0:return this.uint(t[1]);case 4:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 5:return this.uint(t[1])&&this.uint(t[2]);case 6:return this.int(t[1])&&this.int(t[2]);case 7:return!0;case 8:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.string(t[4])&&this.boolean(t[5]);case 9:case 10:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3]);case 11:return this.uint(t[1]);case 12:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 13:case 14:return this.uint(t[1])&&this.string(t[2]);case 16:return this.uint(t[1])&&this.int(t[2])&&this.int(t[3]);case 17:return this.uint(t[1])&&this.string(t[2]);case 18:return this.uint(t[1])&&this.string(t[2])&&this.int(t[3]);case 19:return this.uint(t[1])&&this.boolean(t[2]);case 20:return this.uint(t[1])&&this.uint(t[2]);case 21:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.string(t[5])&&this.uint(t[6])&&this.uint(t[7])&&this.uint(t[8]);case 22:return this.string(t[1])&&this.string(t[2]);case 23:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.uint(t[7])&&this.uint(t[8])&&this.uint(t[9]);case 24:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3]);case 27:return this.string(t[1])&&this.string(t[2]);case 28:case 29:return this.string(t[1]);case 30:return this.string(t[1])&&this.string(t[2]);case 37:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3]);case 38:return this.uint(t[1])&&this.uint(t[2]);case 39:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.uint(t[7]);case 40:return this.string(t[1])&&this.uint(t[2])&&this.string(t[3])&&this.string(t[4]);case 41:return this.string(t[1])&&this.string(t[2]);case 42:return this.string(t[1]);case 44:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 45:case 46:return this.string(t[1])&&this.string(t[2]);case 47:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 48:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 49:return this.int(t[1])&&this.int(t[2])&&this.uint(t[3])&&this.uint(t[4]);case 50:return this.uint(t[1])&&this.string(t[2]);case 51:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3]);case 53:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.string(t[7])&&this.string(t[8]);case 54:return this.uint(t[1])&&this.string(t[2]);case 55:return this.boolean(t[1]);case 57:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 58:return this.int(t[1]);case 59:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.string(t[5])&&this.string(t[6])&&this.string(t[7]);case 60:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 61:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 63:case 64:return this.string(t[1])&&this.string(t[2]);case 67:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3])&&this.string(t[4]);case 69:return this.uint(t[1])&&this.uint(t[2])&&this.string(t[3])&&this.string(t[4]);case 70:return this.uint(t[1])&&this.uint(t[2]);case 71:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 73:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3])&&this.string(t[4]);case 75:case 76:case 77:return this.uint(t[1])&&this.uint(t[2]);case 78:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 79:return this.string(t[1])&&this.string(t[2]);case 81:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.int(t[4])&&this.string(t[5]);case 82:return this.uint(t[1])&&this.uint(t[2]);case 112:return this.uint(t[1])&&this.string(t[2])&&this.boolean(t[3])&&this.string(t[4])&&this.int(t[5])&&this.int(t[6]);case 113:return this.uint(t[1])&&this.uint(t[2])&&this.string(t[3]);case 114:case 115:return this.uint(t[1]);case 116:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.string(t[7])&&this.string(t[8])&&this.uint(t[9])&&this.boolean(t[10]);case 117:case 118:return this.string(t[1])}}}class e{constructor(t,i,e,n,r){this.pageNo=t,this.timestamp=i,this.url=e,this.onBatch=n,this.tabId=r,this.nextIndex=0,this.beaconSize=2e5,this.encoder=new s(this.beaconSize),this.sizeBuffer=new Uint8Array(3),this.isEmpty=!0,this.beaconSizeLimit=1e6,this.prepare()}writeType(t){return this.encoder.uint(t[0])}writeFields(t){return this.encoder.encode(t)}writeSizeAt(t,i){for(let i=0;i<3;i++)this.sizeBuffer[i]=t>>8*i;this.encoder.set(this.sizeBuffer,i)}prepare(){if(!this.encoder.isEmpty)return;const t=[81,1,this.pageNo,this.nextIndex,this.timestamp,this.url],i=[118,this.tabId];this.writeType(t),this.writeFields(t),this.writeWithSize(i),this.isEmpty=!0}writeWithSize(t){const i=this.encoder;if(!this.writeType(t)||!i.skip(3))return!1;const s=i.getCurrentOffset(),e=this.writeFields(t);if(e){const e=i.getCurrentOffset()-s;if(e>16777215)return console.warn("OpenReplay: max message size overflow."),!1;this.writeSizeAt(e,s-3),i.checkpoint(),this.isEmpty=this.isEmpty&&0===t[0],this.nextIndex++}return e}setBeaconSizeLimit(t){this.beaconSizeLimit=t}writeMessage(t){0===t[0]&&(this.timestamp=t[1]),4===t[0]&&(this.url=t[1]),this.writeWithSize(t)||(this.finaliseBatch(),this.writeWithSize(t)||(this.encoder=new s(this.beaconSizeLimit),this.prepare(),this.writeWithSize(t)?this.finaliseBatch():console.warn("OpenReplay: beacon size overflow. Skipping large message.",t,this),this.encoder=new s(this.beaconSize),this.prepare()))}finaliseBatch(){if(this.isEmpty)return;const t=this.encoder.flush();this.onBatch(t),this.prepare()}clean(){this.encoder.reset()}}var n;!function(t){t[t.NotActive=0]="NotActive",t[t.Starting=1]="Starting",t[t.Stopping=2]="Stopping",t[t.Active=3]="Active",t[t.Stopped=4]="Stopped"}(n||(n={}));let r=null,h=null,u=n.NotActive;function a(){h&&h.finaliseBatch()}function o(){u=n.Stopping,null!==p&&(clearInterval(p),p=null),h&&(h.clean(),h=null),r&&(r.clean(),setTimeout(()=>{r=null},20)),setTimeout(()=>{u=n.NotActive},100)}function c(){u!==n.Stopped&&(postMessage("restart"),o())}let g,p=null;self.onmessage=({data:i})=>{if(null!=i){if("stop"===i)return a(),o(),u=n.Stopped;if("forceFlushBatch"!==i){if(!Array.isArray(i)){if("compressed"===i.type){if(!r)return console.debug("WebWorker: sender not initialised. Compressed batch."),void c();r.sendCompressed(i.batch)}if("uncompressed"===i.type){if(!r)return console.debug("WebWorker: sender not initialised. Uncompressed batch."),void c();r.sendUncompressed(i.batch)}return"start"===i.type?(u=n.Starting,r=new t(i.ingestPoint,()=>{c()},t=>{!function(t){postMessage({type:"failure",reason:t}),o()}(t)},i.connAttemptCount,i.connAttemptGap,t=>{postMessage({type:"compress",batch:t},[t.buffer])}),h=new e(i.pageNo,i.timestamp,i.url,t=>r&&r.push(t),i.tabId),null===p&&(p=setInterval(a,1e4)),u=n.Active):"auth"===i.type?r?h?(r.authorise(i.token),void(i.beaconSizeLimit&&h.setBeaconSizeLimit(i.beaconSizeLimit))):(console.debug("WebWorker: writer not initialised. Received auth."),void c()):(console.debug("WebWorker: sender not initialised. Received auth."),void c()):void 0}if(null!==h){const t=h;i.forEach(i=>{55===i[0]&&(i[1]?g=setTimeout(()=>c(),18e5):clearTimeout(g)),t.writeMessage(i)})}h||(postMessage("not_init"),c())}else a()}else a()};'], { type: 'text/javascript' })));
|
|
94
94
|
this.worker.onerror = (e) => {
|
|
95
95
|
this._debug('webworker_error', e);
|
|
96
96
|
};
|
|
@@ -508,6 +508,10 @@ class App {
|
|
|
508
508
|
});
|
|
509
509
|
}
|
|
510
510
|
}
|
|
511
|
+
forceFlushBatch() {
|
|
512
|
+
var _a;
|
|
513
|
+
(_a = this.worker) === null || _a === void 0 ? void 0 : _a.postMessage('forceFlushBatch');
|
|
514
|
+
}
|
|
511
515
|
getTabId() {
|
|
512
516
|
return this.session.getTabId();
|
|
513
517
|
}
|
package/cjs/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { default as App } from './app/index.js';
|
|
|
3
3
|
import * as _Messages from './app/messages.gen.js';
|
|
4
4
|
export declare const Messages: typeof _Messages;
|
|
5
5
|
export { SanitizeLevel } from './app/sanitizer.js';
|
|
6
|
+
import FeatureFlags, { IFeatureFlag } from './modules/featureFlags.js';
|
|
6
7
|
import type { Options as AppOptions } from './app/index.js';
|
|
7
8
|
import type { Options as ConsoleOptions } from './modules/console.js';
|
|
8
9
|
import type { Options as ExceptionOptions } from './modules/exception.js';
|
|
@@ -19,18 +20,29 @@ export type Options = Partial<AppOptions & ConsoleOptions & ExceptionOptions & I
|
|
|
19
20
|
sessionToken?: string;
|
|
20
21
|
respectDoNotTrack?: boolean;
|
|
21
22
|
autoResetOnWindowOpen?: boolean;
|
|
22
|
-
network?: NetworkOptions
|
|
23
|
-
mouse?: MouseHandlerOptions
|
|
23
|
+
network?: Partial<NetworkOptions>;
|
|
24
|
+
mouse?: Partial<MouseHandlerOptions>;
|
|
25
|
+
flags?: {
|
|
26
|
+
onFlagsLoad?: (flags: IFeatureFlag[]) => void;
|
|
27
|
+
};
|
|
24
28
|
__DISABLE_SECURE_MODE?: boolean;
|
|
25
29
|
};
|
|
26
30
|
export default class API {
|
|
27
31
|
private readonly options;
|
|
32
|
+
featureFlags: FeatureFlags;
|
|
28
33
|
private readonly app;
|
|
29
34
|
constructor(options: Options);
|
|
35
|
+
isFlagEnabled(flagName: string): boolean;
|
|
36
|
+
onFlagsLoad(callback: (flags: IFeatureFlag[]) => void): void;
|
|
37
|
+
clearPersistFlags(): void;
|
|
38
|
+
reloadFlags(): Promise<void>;
|
|
39
|
+
getFeatureFlag(flagName: string): IFeatureFlag | undefined;
|
|
40
|
+
getAllFeatureFlags(): IFeatureFlag[];
|
|
30
41
|
use<T>(fn: (app: App | null, options?: Options) => T): T;
|
|
31
42
|
isActive(): boolean;
|
|
32
43
|
start(startOpts?: Partial<StartOptions>): Promise<StartPromiseReturn>;
|
|
33
44
|
stop(): string | undefined;
|
|
45
|
+
forceFlushBatch(): void;
|
|
34
46
|
getSessionToken(): string | null | undefined;
|
|
35
47
|
getSessionID(): string | null | undefined;
|
|
36
48
|
getTabId(): string | null;
|
package/cjs/index.js
CHANGED
|
@@ -27,6 +27,7 @@ const constructedStyleSheets_js_1 = require("./modules/constructedStyleSheets.js
|
|
|
27
27
|
const selection_js_1 = require("./modules/selection.js");
|
|
28
28
|
const tabs_js_1 = require("./modules/tabs.js");
|
|
29
29
|
const utils_js_1 = require("./utils.js");
|
|
30
|
+
const featureFlags_js_1 = require("./modules/featureFlags.js");
|
|
30
31
|
const DOCS_SETUP = '/installation/javascript-sdk';
|
|
31
32
|
function processOptions(obj) {
|
|
32
33
|
if (obj == null) {
|
|
@@ -58,7 +59,6 @@ function processOptions(obj) {
|
|
|
58
59
|
class API {
|
|
59
60
|
constructor(options) {
|
|
60
61
|
this.options = options;
|
|
61
|
-
// public featureFlags: FeatureFlags
|
|
62
62
|
this.app = null;
|
|
63
63
|
this.handleError = (e, metadata = {}) => {
|
|
64
64
|
if (this.app === null) {
|
|
@@ -121,13 +121,15 @@ class API {
|
|
|
121
121
|
(0, network_js_1.default)(app, options.network);
|
|
122
122
|
(0, selection_js_1.default)(app);
|
|
123
123
|
(0, tabs_js_1.default)(app);
|
|
124
|
+
this.featureFlags = new featureFlags_js_1.default(app);
|
|
124
125
|
window.__OPENREPLAY__ = this;
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
126
|
+
app.attachStartCallback(() => {
|
|
127
|
+
var _a;
|
|
128
|
+
if ((_a = options.flags) === null || _a === void 0 ? void 0 : _a.onFlagsLoad) {
|
|
129
|
+
this.onFlagsLoad(options.flags.onFlagsLoad);
|
|
130
|
+
}
|
|
131
|
+
void this.featureFlags.reloadFlags();
|
|
132
|
+
});
|
|
131
133
|
if (options.autoResetOnWindowOpen) {
|
|
132
134
|
const wOpen = window.open;
|
|
133
135
|
app.attachStartCallback(() => {
|
|
@@ -151,36 +153,31 @@ class API {
|
|
|
151
153
|
// no-cors issue only with text/plain or not-set Content-Type
|
|
152
154
|
// req.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
|
|
153
155
|
req.send(JSON.stringify({
|
|
154
|
-
trackerVersion: '
|
|
156
|
+
trackerVersion: '9.0.0-beta.1',
|
|
155
157
|
projectKey: options.projectKey,
|
|
156
158
|
doNotTrack,
|
|
157
159
|
// TODO: add precise reason (an exact API missing)
|
|
158
160
|
}));
|
|
159
161
|
}
|
|
160
162
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
// }
|
|
180
|
-
//
|
|
181
|
-
// getAllFeatureFlags() {
|
|
182
|
-
// return this.featureFlags.flags
|
|
183
|
-
// }
|
|
163
|
+
isFlagEnabled(flagName) {
|
|
164
|
+
return this.featureFlags.isFlagEnabled(flagName);
|
|
165
|
+
}
|
|
166
|
+
onFlagsLoad(callback) {
|
|
167
|
+
this.featureFlags.onFlagsLoad(callback);
|
|
168
|
+
}
|
|
169
|
+
clearPersistFlags() {
|
|
170
|
+
this.featureFlags.clearPersistFlags();
|
|
171
|
+
}
|
|
172
|
+
reloadFlags() {
|
|
173
|
+
return this.featureFlags.reloadFlags();
|
|
174
|
+
}
|
|
175
|
+
getFeatureFlag(flagName) {
|
|
176
|
+
return this.featureFlags.getFeatureFlag(flagName);
|
|
177
|
+
}
|
|
178
|
+
getAllFeatureFlags() {
|
|
179
|
+
return this.featureFlags.flags;
|
|
180
|
+
}
|
|
184
181
|
use(fn) {
|
|
185
182
|
return fn(this.app, this.options);
|
|
186
183
|
}
|
|
@@ -208,6 +205,12 @@ class API {
|
|
|
208
205
|
this.app.stop();
|
|
209
206
|
return this.app.session.getSessionHash();
|
|
210
207
|
}
|
|
208
|
+
forceFlushBatch() {
|
|
209
|
+
if (this.app === null) {
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
this.app.forceFlushBatch();
|
|
213
|
+
}
|
|
211
214
|
getSessionToken() {
|
|
212
215
|
if (this.app === null) {
|
|
213
216
|
return null;
|
package/cjs/modules/axiosSpy.js
CHANGED
|
@@ -91,7 +91,7 @@ function default_1(app, instance, opts, sanitize, stringify) {
|
|
|
91
91
|
}
|
|
92
92
|
function captureNetworkError(error) {
|
|
93
93
|
app.debug.log('Openreplay: capturing API request error', error);
|
|
94
|
-
if (isAxiosError(error)) {
|
|
94
|
+
if (isAxiosError(error) && Boolean(error.response)) {
|
|
95
95
|
captureResponseData(error.response);
|
|
96
96
|
}
|
|
97
97
|
else if (error instanceof Error) {
|
package/cjs/modules/input.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import type App from '../app/index.js';
|
|
2
2
|
type TextFieldElement = HTMLInputElement | HTMLTextAreaElement;
|
|
3
3
|
export declare function getInputLabel(node: TextFieldElement): string;
|
|
4
|
-
export declare const
|
|
5
|
-
Plain
|
|
6
|
-
Obscured
|
|
7
|
-
Hidden
|
|
8
|
-
}
|
|
4
|
+
export declare const InputMode: {
|
|
5
|
+
readonly Plain: 0;
|
|
6
|
+
readonly Obscured: 1;
|
|
7
|
+
readonly Hidden: 2;
|
|
8
|
+
};
|
|
9
|
+
export type InputModeT = (typeof InputMode)[keyof typeof InputMode];
|
|
9
10
|
export interface Options {
|
|
10
11
|
obscureInputNumbers: boolean;
|
|
11
12
|
obscureInputEmails: boolean;
|
|
12
|
-
defaultInputMode:
|
|
13
|
+
defaultInputMode: InputModeT;
|
|
13
14
|
obscureInputDates: boolean;
|
|
14
15
|
}
|
|
15
16
|
export default function (app: App, opts: Partial<Options>): void;
|
package/cjs/modules/input.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getInputLabel = void 0;
|
|
3
|
+
exports.InputMode = exports.getInputLabel = void 0;
|
|
4
4
|
const utils_js_1 = require("../utils.js");
|
|
5
5
|
const guards_js_1 = require("../app/guards.js");
|
|
6
6
|
const messages_gen_js_1 = require("../app/messages.gen.js");
|
|
@@ -74,33 +74,38 @@ function getInputLabel(node) {
|
|
|
74
74
|
return (0, utils_js_1.normSpaces)(label).slice(0, 100);
|
|
75
75
|
}
|
|
76
76
|
exports.getInputLabel = getInputLabel;
|
|
77
|
+
exports.InputMode = {
|
|
78
|
+
Plain: 0,
|
|
79
|
+
Obscured: 1,
|
|
80
|
+
Hidden: 2,
|
|
81
|
+
};
|
|
77
82
|
function default_1(app, opts) {
|
|
78
83
|
const options = Object.assign({
|
|
79
84
|
obscureInputNumbers: true,
|
|
80
85
|
obscureInputEmails: true,
|
|
81
|
-
defaultInputMode:
|
|
86
|
+
defaultInputMode: exports.InputMode.Obscured,
|
|
82
87
|
obscureInputDates: false,
|
|
83
88
|
}, opts);
|
|
84
89
|
function getInputValue(id, node) {
|
|
85
90
|
let value = node.value;
|
|
86
91
|
let inputMode = options.defaultInputMode;
|
|
87
92
|
if (node.type === 'password' || app.sanitizer.isHidden(id)) {
|
|
88
|
-
inputMode =
|
|
93
|
+
inputMode = exports.InputMode.Hidden;
|
|
89
94
|
}
|
|
90
95
|
else if (app.sanitizer.isObscured(id) ||
|
|
91
|
-
(inputMode ===
|
|
96
|
+
(inputMode === exports.InputMode.Plain &&
|
|
92
97
|
((options.obscureInputNumbers && node.type !== 'date' && /\d\d\d\d/.test(value)) ||
|
|
93
98
|
(options.obscureInputDates && node.type === 'date') ||
|
|
94
99
|
(options.obscureInputEmails && (node.type === 'email' || !!~value.indexOf('@')))))) {
|
|
95
|
-
inputMode =
|
|
100
|
+
inputMode = exports.InputMode.Obscured;
|
|
96
101
|
}
|
|
97
102
|
let mask = 0;
|
|
98
103
|
switch (inputMode) {
|
|
99
|
-
case
|
|
104
|
+
case exports.InputMode.Hidden:
|
|
100
105
|
mask = -1;
|
|
101
106
|
value = '';
|
|
102
107
|
break;
|
|
103
|
-
case
|
|
108
|
+
case exports.InputMode.Obscured:
|
|
104
109
|
mask = value.length;
|
|
105
110
|
value = '';
|
|
106
111
|
break;
|
|
@@ -170,15 +175,18 @@ function default_1(app, opts) {
|
|
|
170
175
|
nodeFocusTime = (0, utils_js_1.now)();
|
|
171
176
|
};
|
|
172
177
|
const onInput = () => {
|
|
173
|
-
if (nodeHesitationTime === 0) {
|
|
178
|
+
if (nodeHesitationTime === 0 && nodeFocusTime !== 0) {
|
|
174
179
|
nodeHesitationTime = (0, utils_js_1.now)() - nodeFocusTime;
|
|
175
180
|
}
|
|
176
181
|
};
|
|
177
182
|
const onChange = () => {
|
|
178
|
-
|
|
183
|
+
if (nodeFocusTime !== 0) {
|
|
184
|
+
inputTime = (0, utils_js_1.now)() - nodeFocusTime;
|
|
185
|
+
}
|
|
179
186
|
sendInputChange(id, node, nodeHesitationTime, inputTime);
|
|
180
187
|
nodeHesitationTime = 0;
|
|
181
188
|
inputTime = 0;
|
|
189
|
+
nodeFocusTime = 0;
|
|
182
190
|
};
|
|
183
191
|
app.nodes.attachNodeListener(node, 'focus', onFocus);
|
|
184
192
|
app.nodes.attachNodeListener(node, 'input', onInput);
|
package/lib/app/index.d.ts
CHANGED
|
@@ -128,6 +128,7 @@ export default class App {
|
|
|
128
128
|
* and here we just apply 10ms delay just in case
|
|
129
129
|
* */
|
|
130
130
|
start(...args: Parameters<App['_start']>): Promise<StartPromiseReturn>;
|
|
131
|
+
forceFlushBatch(): void;
|
|
131
132
|
getTabId(): string;
|
|
132
133
|
stop(stopWorker?: boolean): void;
|
|
133
134
|
}
|
package/lib/app/index.js
CHANGED
|
@@ -32,7 +32,7 @@ export default class App {
|
|
|
32
32
|
this.stopCallbacks = [];
|
|
33
33
|
this.commitCallbacks = [];
|
|
34
34
|
this.activityState = ActivityState.NotActive;
|
|
35
|
-
this.version = '
|
|
35
|
+
this.version = '9.0.0-beta.1'; // TODO: version compatability check inside each plugin.
|
|
36
36
|
this.compressionThreshold = 24 * 1000;
|
|
37
37
|
this.restartAttempts = 0;
|
|
38
38
|
this.bc = null;
|
|
@@ -87,7 +87,7 @@ export default class App {
|
|
|
87
87
|
this.session.applySessionHash(sessionToken);
|
|
88
88
|
}
|
|
89
89
|
try {
|
|
90
|
-
this.worker = new Worker(URL.createObjectURL(new Blob(['"use strict";class t{constructor(t,i,s,e=10,n=1e3,r){this.onUnauthorised=i,this.onFailure=s,this.MAX_ATTEMPTS_COUNT=e,this.ATTEMPT_TIMEOUT=n,this.onCompress=r,this.attemptsCount=0,this.busy=!1,this.queue=[],this.token=null,this.ingestURL=t+"/v1/web/i",this.isCompressing=void 0!==r}authorise(t){this.token=t,this.busy||this.sendNext()}push(t){this.busy||!this.token?this.queue.push(t):(this.busy=!0,this.isCompressing&&this.onCompress?this.onCompress(t):this.sendBatch(t))}sendNext(){const t=this.queue.shift();t?(this.busy=!0,this.isCompressing&&this.onCompress?this.onCompress(t):this.sendBatch(t)):this.busy=!1}retry(t,i){this.attemptsCount>=this.MAX_ATTEMPTS_COUNT?this.onFailure(`Failed to send batch after ${this.attemptsCount} attempts.`):(this.attemptsCount++,setTimeout(()=>this.sendBatch(t,i),this.ATTEMPT_TIMEOUT*this.attemptsCount))}sendBatch(t,i){this.busy=!0;const s={Authorization:"Bearer "+this.token};i&&(s["Content-Encoding"]="gzip"),null!==this.token?fetch(this.ingestURL,{body:t,method:"POST",headers:s,keepalive:t.length<65536}).then(s=>{if(401===s.status)return this.busy=!1,void this.onUnauthorised();s.status>=400?this.retry(t,i):(this.attemptsCount=0,this.sendNext())}).catch(s=>{console.warn("OpenReplay:",s),this.retry(t,i)}):setTimeout(()=>{this.sendBatch(t,i)},500)}sendCompressed(t){this.sendBatch(t,!0)}sendUncompressed(t){this.sendBatch(t,!1)}clean(){this.sendNext(),setTimeout(()=>{this.token=null,this.queue.length=0},10)}}const i="function"==typeof TextEncoder?new TextEncoder:{encode(t){const i=t.length,s=new Uint8Array(3*i);let e=-1;for(let n=0,r=0,h=0;h!==i;){if(n=t.charCodeAt(h),h+=1,n>=55296&&n<=56319){if(h===i){s[e+=1]=239,s[e+=1]=191,s[e+=1]=189;break}if(r=t.charCodeAt(h),!(r>=56320&&r<=57343)){s[e+=1]=239,s[e+=1]=191,s[e+=1]=189;continue}if(n=1024*(n-55296)+r-56320+65536,h+=1,n>65535){s[e+=1]=240|n>>>18,s[e+=1]=128|n>>>12&63,s[e+=1]=128|n>>>6&63,s[e+=1]=128|63&n;continue}}n<=127?s[e+=1]=0|n:n<=2047?(s[e+=1]=192|n>>>6,s[e+=1]=128|63&n):(s[e+=1]=224|n>>>12,s[e+=1]=128|n>>>6&63,s[e+=1]=128|63&n)}return s.subarray(0,e+1)}};class s extends class{constructor(t){this.size=t,this.offset=0,this.checkpointOffset=0,this.data=new Uint8Array(t)}getCurrentOffset(){return this.offset}checkpoint(){this.checkpointOffset=this.offset}get isEmpty(){return 0===this.offset}skip(t){return this.offset+=t,this.offset<=this.size}set(t,i){this.data.set(t,i)}boolean(t){return this.data[this.offset++]=+t,this.offset<=this.size}uint(t){for((t<0||t>Number.MAX_SAFE_INTEGER)&&(t=0);t>=128;)this.data[this.offset++]=t%256|128,t=Math.floor(t/128);return this.data[this.offset++]=t,this.offset<=this.size}int(t){return t=Math.round(t),this.uint(t>=0?2*t:-2*t-1)}string(t){const s=i.encode(t),e=s.byteLength;return!(!this.uint(e)||this.offset+e>this.size)&&(this.data.set(s,this.offset),this.offset+=e,!0)}reset(){this.offset=0,this.checkpointOffset=0}flush(){const t=this.data.slice(0,this.checkpointOffset);return this.reset(),t}}{encode(t){switch(t[0]){case 0:return this.uint(t[1]);case 4:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 5:return this.uint(t[1])&&this.uint(t[2]);case 6:return this.int(t[1])&&this.int(t[2]);case 7:return!0;case 8:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.string(t[4])&&this.boolean(t[5]);case 9:case 10:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3]);case 11:return this.uint(t[1]);case 12:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 13:case 14:return this.uint(t[1])&&this.string(t[2]);case 16:return this.uint(t[1])&&this.int(t[2])&&this.int(t[3]);case 17:return this.uint(t[1])&&this.string(t[2]);case 18:return this.uint(t[1])&&this.string(t[2])&&this.int(t[3]);case 19:return this.uint(t[1])&&this.boolean(t[2]);case 20:return this.uint(t[1])&&this.uint(t[2]);case 21:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.string(t[5])&&this.uint(t[6])&&this.uint(t[7])&&this.uint(t[8]);case 22:return this.string(t[1])&&this.string(t[2]);case 23:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.uint(t[7])&&this.uint(t[8])&&this.uint(t[9]);case 24:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3]);case 27:return this.string(t[1])&&this.string(t[2]);case 28:case 29:return this.string(t[1]);case 30:return this.string(t[1])&&this.string(t[2]);case 37:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3]);case 38:return this.uint(t[1])&&this.uint(t[2]);case 39:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.uint(t[7]);case 40:return this.string(t[1])&&this.uint(t[2])&&this.string(t[3])&&this.string(t[4]);case 41:return this.string(t[1])&&this.string(t[2]);case 42:return this.string(t[1]);case 44:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 45:case 46:return this.string(t[1])&&this.string(t[2]);case 47:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 48:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 49:return this.int(t[1])&&this.int(t[2])&&this.uint(t[3])&&this.uint(t[4]);case 50:return this.uint(t[1])&&this.string(t[2]);case 51:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3]);case 53:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.string(t[7])&&this.string(t[8]);case 54:return this.uint(t[1])&&this.string(t[2]);case 55:return this.boolean(t[1]);case 57:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 58:return this.int(t[1]);case 59:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.string(t[5])&&this.string(t[6])&&this.string(t[7]);case 60:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 61:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 63:case 64:return this.string(t[1])&&this.string(t[2]);case 67:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3])&&this.string(t[4]);case 69:return this.uint(t[1])&&this.uint(t[2])&&this.string(t[3])&&this.string(t[4]);case 70:return this.uint(t[1])&&this.uint(t[2]);case 71:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 73:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3])&&this.string(t[4]);case 75:case 76:case 77:return this.uint(t[1])&&this.uint(t[2]);case 78:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 79:return this.string(t[1])&&this.string(t[2]);case 81:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.int(t[4])&&this.string(t[5]);case 82:return this.uint(t[1])&&this.uint(t[2]);case 112:return this.uint(t[1])&&this.string(t[2])&&this.boolean(t[3])&&this.string(t[4])&&this.int(t[5])&&this.int(t[6]);case 113:return this.uint(t[1])&&this.uint(t[2])&&this.string(t[3]);case 114:case 115:return this.uint(t[1]);case 116:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.string(t[7])&&this.string(t[8])&&this.uint(t[9])&&this.boolean(t[10]);case 117:case 118:return this.string(t[1])}}}class e{constructor(t,i,e,n,r){this.pageNo=t,this.timestamp=i,this.url=e,this.onBatch=n,this.tabId=r,this.nextIndex=0,this.beaconSize=2e5,this.encoder=new s(this.beaconSize),this.sizeBuffer=new Uint8Array(3),this.isEmpty=!0,this.beaconSizeLimit=1e6,this.prepare()}writeType(t){return this.encoder.uint(t[0])}writeFields(t){return this.encoder.encode(t)}writeSizeAt(t,i){for(let i=0;i<3;i++)this.sizeBuffer[i]=t>>8*i;this.encoder.set(this.sizeBuffer,i)}prepare(){if(!this.encoder.isEmpty)return;const t=[81,1,this.pageNo,this.nextIndex,this.timestamp,this.url],i=[118,this.tabId];this.writeType(t),this.writeFields(t),this.writeWithSize(i),this.isEmpty=!0}writeWithSize(t){const i=this.encoder;if(!this.writeType(t)||!i.skip(3))return!1;const s=i.getCurrentOffset(),e=this.writeFields(t);if(e){const e=i.getCurrentOffset()-s;if(e>16777215)return console.warn("OpenReplay: max message size overflow."),!1;this.writeSizeAt(e,s-3),i.checkpoint(),this.isEmpty=this.isEmpty&&0===t[0],this.nextIndex++}return e}setBeaconSizeLimit(t){this.beaconSizeLimit=t}writeMessage(t){0===t[0]&&(this.timestamp=t[1]),4===t[0]&&(this.url=t[1]),this.writeWithSize(t)||(this.finaliseBatch(),this.writeWithSize(t)||(this.encoder=new s(this.beaconSizeLimit),this.prepare(),this.writeWithSize(t)?this.finaliseBatch():console.warn("OpenReplay: beacon size overflow. Skipping large message.",t,this),this.encoder=new s(this.beaconSize),this.prepare()))}finaliseBatch(){if(this.isEmpty)return;const t=this.encoder.flush();this.onBatch(t),this.prepare()}clean(){this.encoder.reset()}}var n;!function(t){t[t.NotActive=0]="NotActive",t[t.Starting=1]="Starting",t[t.Stopping=2]="Stopping",t[t.Active=3]="Active",t[t.Stopped=4]="Stopped"}(n||(n={}));let r=null,h=null,u=n.NotActive;function a(){h&&h.finaliseBatch()}function o(){u=n.Stopping,null!==p&&(clearInterval(p),p=null),h&&(h.clean(),h=null),r&&(r.clean(),setTimeout(()=>{r=null},20)),setTimeout(()=>{u=n.NotActive},100)}function c(){u!==n.Stopped&&(postMessage("restart"),o())}let g,p=null;self.onmessage=({data:i})=>{if(null!=i){if("stop"===i)return a(),o(),u=n.Stopped;if(!Array.isArray(i)){if("compressed"===i.type){if(!r)return console.debug("WebWorker: sender not initialised. Compressed batch."),void c();r.sendCompressed(i.batch)}if("uncompressed"===i.type){if(!r)return console.debug("WebWorker: sender not initialised. Uncompressed batch."),void c();r.sendUncompressed(i.batch)}return"start"===i.type?(u=n.Starting,r=new t(i.ingestPoint,()=>{c()},t=>{!function(t){postMessage({type:"failure",reason:t}),o()}(t)},i.connAttemptCount,i.connAttemptGap,t=>{postMessage({type:"compress",batch:t},[t.buffer])}),h=new e(i.pageNo,i.timestamp,i.url,t=>r&&r.push(t),i.tabId),null===p&&(p=setInterval(a,1e4)),u=n.Active):"auth"===i.type?r?h?(r.authorise(i.token),void(i.beaconSizeLimit&&h.setBeaconSizeLimit(i.beaconSizeLimit))):(console.debug("WebWorker: writer not initialised. Received auth."),void c()):(console.debug("WebWorker: sender not initialised. Received auth."),void c()):void 0}if(null!==h){const t=h;i.forEach(i=>{55===i[0]&&(i[1]?g=setTimeout(()=>c(),18e5):clearTimeout(g)),t.writeMessage(i)})}h||(postMessage("not_init"),c())}else a()};'], { type: 'text/javascript' })));
|
|
90
|
+
this.worker = new Worker(URL.createObjectURL(new Blob(['"use strict";class t{constructor(t,i,s,e=10,n=1e3,r){this.onUnauthorised=i,this.onFailure=s,this.MAX_ATTEMPTS_COUNT=e,this.ATTEMPT_TIMEOUT=n,this.onCompress=r,this.attemptsCount=0,this.busy=!1,this.queue=[],this.token=null,this.ingestURL=t+"/v1/web/i",this.isCompressing=void 0!==r}authorise(t){this.token=t,this.busy||this.sendNext()}push(t){this.busy||!this.token?this.queue.push(t):(this.busy=!0,this.isCompressing&&this.onCompress?this.onCompress(t):this.sendBatch(t))}sendNext(){const t=this.queue.shift();t?(this.busy=!0,this.isCompressing&&this.onCompress?this.onCompress(t):this.sendBatch(t)):this.busy=!1}retry(t,i){this.attemptsCount>=this.MAX_ATTEMPTS_COUNT?this.onFailure(`Failed to send batch after ${this.attemptsCount} attempts.`):(this.attemptsCount++,setTimeout(()=>this.sendBatch(t,i),this.ATTEMPT_TIMEOUT*this.attemptsCount))}sendBatch(t,i){this.busy=!0;const s={Authorization:"Bearer "+this.token};i&&(s["Content-Encoding"]="gzip"),null!==this.token?fetch(this.ingestURL,{body:t,method:"POST",headers:s,keepalive:t.length<65536}).then(s=>{if(401===s.status)return this.busy=!1,void this.onUnauthorised();s.status>=400?this.retry(t,i):(this.attemptsCount=0,this.sendNext())}).catch(s=>{console.warn("OpenReplay:",s),this.retry(t,i)}):setTimeout(()=>{this.sendBatch(t,i)},500)}sendCompressed(t){this.sendBatch(t,!0)}sendUncompressed(t){this.sendBatch(t,!1)}clean(){this.sendNext(),setTimeout(()=>{this.token=null,this.queue.length=0},10)}}const i="function"==typeof TextEncoder?new TextEncoder:{encode(t){const i=t.length,s=new Uint8Array(3*i);let e=-1;for(let n=0,r=0,h=0;h!==i;){if(n=t.charCodeAt(h),h+=1,n>=55296&&n<=56319){if(h===i){s[e+=1]=239,s[e+=1]=191,s[e+=1]=189;break}if(r=t.charCodeAt(h),!(r>=56320&&r<=57343)){s[e+=1]=239,s[e+=1]=191,s[e+=1]=189;continue}if(n=1024*(n-55296)+r-56320+65536,h+=1,n>65535){s[e+=1]=240|n>>>18,s[e+=1]=128|n>>>12&63,s[e+=1]=128|n>>>6&63,s[e+=1]=128|63&n;continue}}n<=127?s[e+=1]=0|n:n<=2047?(s[e+=1]=192|n>>>6,s[e+=1]=128|63&n):(s[e+=1]=224|n>>>12,s[e+=1]=128|n>>>6&63,s[e+=1]=128|63&n)}return s.subarray(0,e+1)}};class s extends class{constructor(t){this.size=t,this.offset=0,this.checkpointOffset=0,this.data=new Uint8Array(t)}getCurrentOffset(){return this.offset}checkpoint(){this.checkpointOffset=this.offset}get isEmpty(){return 0===this.offset}skip(t){return this.offset+=t,this.offset<=this.size}set(t,i){this.data.set(t,i)}boolean(t){return this.data[this.offset++]=+t,this.offset<=this.size}uint(t){for((t<0||t>Number.MAX_SAFE_INTEGER)&&(t=0);t>=128;)this.data[this.offset++]=t%256|128,t=Math.floor(t/128);return this.data[this.offset++]=t,this.offset<=this.size}int(t){return t=Math.round(t),this.uint(t>=0?2*t:-2*t-1)}string(t){const s=i.encode(t),e=s.byteLength;return!(!this.uint(e)||this.offset+e>this.size)&&(this.data.set(s,this.offset),this.offset+=e,!0)}reset(){this.offset=0,this.checkpointOffset=0}flush(){const t=this.data.slice(0,this.checkpointOffset);return this.reset(),t}}{encode(t){switch(t[0]){case 0:return this.uint(t[1]);case 4:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 5:return this.uint(t[1])&&this.uint(t[2]);case 6:return this.int(t[1])&&this.int(t[2]);case 7:return!0;case 8:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.string(t[4])&&this.boolean(t[5]);case 9:case 10:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3]);case 11:return this.uint(t[1]);case 12:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 13:case 14:return this.uint(t[1])&&this.string(t[2]);case 16:return this.uint(t[1])&&this.int(t[2])&&this.int(t[3]);case 17:return this.uint(t[1])&&this.string(t[2]);case 18:return this.uint(t[1])&&this.string(t[2])&&this.int(t[3]);case 19:return this.uint(t[1])&&this.boolean(t[2]);case 20:return this.uint(t[1])&&this.uint(t[2]);case 21:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.string(t[5])&&this.uint(t[6])&&this.uint(t[7])&&this.uint(t[8]);case 22:return this.string(t[1])&&this.string(t[2]);case 23:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.uint(t[7])&&this.uint(t[8])&&this.uint(t[9]);case 24:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3]);case 27:return this.string(t[1])&&this.string(t[2]);case 28:case 29:return this.string(t[1]);case 30:return this.string(t[1])&&this.string(t[2]);case 37:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3]);case 38:return this.uint(t[1])&&this.uint(t[2]);case 39:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.uint(t[7]);case 40:return this.string(t[1])&&this.uint(t[2])&&this.string(t[3])&&this.string(t[4]);case 41:return this.string(t[1])&&this.string(t[2]);case 42:return this.string(t[1]);case 44:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 45:case 46:return this.string(t[1])&&this.string(t[2]);case 47:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 48:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 49:return this.int(t[1])&&this.int(t[2])&&this.uint(t[3])&&this.uint(t[4]);case 50:return this.uint(t[1])&&this.string(t[2]);case 51:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3]);case 53:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.string(t[7])&&this.string(t[8]);case 54:return this.uint(t[1])&&this.string(t[2]);case 55:return this.boolean(t[1]);case 57:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 58:return this.int(t[1]);case 59:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.string(t[5])&&this.string(t[6])&&this.string(t[7]);case 60:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 61:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 63:case 64:return this.string(t[1])&&this.string(t[2]);case 67:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3])&&this.string(t[4]);case 69:return this.uint(t[1])&&this.uint(t[2])&&this.string(t[3])&&this.string(t[4]);case 70:return this.uint(t[1])&&this.uint(t[2]);case 71:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 73:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3])&&this.string(t[4]);case 75:case 76:case 77:return this.uint(t[1])&&this.uint(t[2]);case 78:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 79:return this.string(t[1])&&this.string(t[2]);case 81:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.int(t[4])&&this.string(t[5]);case 82:return this.uint(t[1])&&this.uint(t[2]);case 112:return this.uint(t[1])&&this.string(t[2])&&this.boolean(t[3])&&this.string(t[4])&&this.int(t[5])&&this.int(t[6]);case 113:return this.uint(t[1])&&this.uint(t[2])&&this.string(t[3]);case 114:case 115:return this.uint(t[1]);case 116:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.string(t[7])&&this.string(t[8])&&this.uint(t[9])&&this.boolean(t[10]);case 117:case 118:return this.string(t[1])}}}class e{constructor(t,i,e,n,r){this.pageNo=t,this.timestamp=i,this.url=e,this.onBatch=n,this.tabId=r,this.nextIndex=0,this.beaconSize=2e5,this.encoder=new s(this.beaconSize),this.sizeBuffer=new Uint8Array(3),this.isEmpty=!0,this.beaconSizeLimit=1e6,this.prepare()}writeType(t){return this.encoder.uint(t[0])}writeFields(t){return this.encoder.encode(t)}writeSizeAt(t,i){for(let i=0;i<3;i++)this.sizeBuffer[i]=t>>8*i;this.encoder.set(this.sizeBuffer,i)}prepare(){if(!this.encoder.isEmpty)return;const t=[81,1,this.pageNo,this.nextIndex,this.timestamp,this.url],i=[118,this.tabId];this.writeType(t),this.writeFields(t),this.writeWithSize(i),this.isEmpty=!0}writeWithSize(t){const i=this.encoder;if(!this.writeType(t)||!i.skip(3))return!1;const s=i.getCurrentOffset(),e=this.writeFields(t);if(e){const e=i.getCurrentOffset()-s;if(e>16777215)return console.warn("OpenReplay: max message size overflow."),!1;this.writeSizeAt(e,s-3),i.checkpoint(),this.isEmpty=this.isEmpty&&0===t[0],this.nextIndex++}return e}setBeaconSizeLimit(t){this.beaconSizeLimit=t}writeMessage(t){0===t[0]&&(this.timestamp=t[1]),4===t[0]&&(this.url=t[1]),this.writeWithSize(t)||(this.finaliseBatch(),this.writeWithSize(t)||(this.encoder=new s(this.beaconSizeLimit),this.prepare(),this.writeWithSize(t)?this.finaliseBatch():console.warn("OpenReplay: beacon size overflow. Skipping large message.",t,this),this.encoder=new s(this.beaconSize),this.prepare()))}finaliseBatch(){if(this.isEmpty)return;const t=this.encoder.flush();this.onBatch(t),this.prepare()}clean(){this.encoder.reset()}}var n;!function(t){t[t.NotActive=0]="NotActive",t[t.Starting=1]="Starting",t[t.Stopping=2]="Stopping",t[t.Active=3]="Active",t[t.Stopped=4]="Stopped"}(n||(n={}));let r=null,h=null,u=n.NotActive;function a(){h&&h.finaliseBatch()}function o(){u=n.Stopping,null!==p&&(clearInterval(p),p=null),h&&(h.clean(),h=null),r&&(r.clean(),setTimeout(()=>{r=null},20)),setTimeout(()=>{u=n.NotActive},100)}function c(){u!==n.Stopped&&(postMessage("restart"),o())}let g,p=null;self.onmessage=({data:i})=>{if(null!=i){if("stop"===i)return a(),o(),u=n.Stopped;if("forceFlushBatch"!==i){if(!Array.isArray(i)){if("compressed"===i.type){if(!r)return console.debug("WebWorker: sender not initialised. Compressed batch."),void c();r.sendCompressed(i.batch)}if("uncompressed"===i.type){if(!r)return console.debug("WebWorker: sender not initialised. Uncompressed batch."),void c();r.sendUncompressed(i.batch)}return"start"===i.type?(u=n.Starting,r=new t(i.ingestPoint,()=>{c()},t=>{!function(t){postMessage({type:"failure",reason:t}),o()}(t)},i.connAttemptCount,i.connAttemptGap,t=>{postMessage({type:"compress",batch:t},[t.buffer])}),h=new e(i.pageNo,i.timestamp,i.url,t=>r&&r.push(t),i.tabId),null===p&&(p=setInterval(a,1e4)),u=n.Active):"auth"===i.type?r?h?(r.authorise(i.token),void(i.beaconSizeLimit&&h.setBeaconSizeLimit(i.beaconSizeLimit))):(console.debug("WebWorker: writer not initialised. Received auth."),void c()):(console.debug("WebWorker: sender not initialised. Received auth."),void c()):void 0}if(null!==h){const t=h;i.forEach(i=>{55===i[0]&&(i[1]?g=setTimeout(()=>c(),18e5):clearTimeout(g)),t.writeMessage(i)})}h||(postMessage("not_init"),c())}else a()}else a()};'], { type: 'text/javascript' })));
|
|
91
91
|
this.worker.onerror = (e) => {
|
|
92
92
|
this._debug('webworker_error', e);
|
|
93
93
|
};
|
|
@@ -505,6 +505,10 @@ export default class App {
|
|
|
505
505
|
});
|
|
506
506
|
}
|
|
507
507
|
}
|
|
508
|
+
forceFlushBatch() {
|
|
509
|
+
var _a;
|
|
510
|
+
(_a = this.worker) === null || _a === void 0 ? void 0 : _a.postMessage('forceFlushBatch');
|
|
511
|
+
}
|
|
508
512
|
getTabId() {
|
|
509
513
|
return this.session.getTabId();
|
|
510
514
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../src/common/messages.gen.ts","../../src/common/interaction.ts","../../node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__generator/index.d.ts","../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@types/babel__template/index.d.ts","../../node_modules/@types/babel__traverse/index.d.ts","../../node_modules/@types/babel__core/index.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/graceful-fs/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/parse5/dist/cjs/common/html.d.ts","../../node_modules/parse5/dist/cjs/common/token.d.ts","../../node_modules/parse5/dist/cjs/common/error-codes.d.ts","../../node_modules/parse5/dist/cjs/tokenizer/preprocessor.d.ts","../../node_modules/parse5/dist/cjs/tokenizer/index.d.ts","../../node_modules/parse5/dist/cjs/tree-adapters/interface.d.ts","../../node_modules/parse5/dist/cjs/parser/open-element-stack.d.ts","../../node_modules/parse5/dist/cjs/parser/formatting-element-list.d.ts","../../node_modules/parse5/dist/cjs/parser/index.d.ts","../../node_modules/parse5/dist/cjs/tree-adapters/default.d.ts","../../node_modules/parse5/dist/cjs/serializer/index.d.ts","../../node_modules/parse5/dist/cjs/common/foreign-content.d.ts","../../node_modules/parse5/dist/cjs/index.d.ts","../../node_modules/@types/tough-cookie/index.d.ts","../../node_modules/@types/jsdom/base.d.ts","../../node_modules/@types/jsdom/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/prettier/index.d.ts","../../node_modules/@types/resolve/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","impliedFormat":1},{"version":"1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","impliedFormat":1},{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3d4da15233e593eacb3965cde7960f3fddf5878528d882bcedd5cbaba0193c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true,"impliedFormat":1},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true,"impliedFormat":1},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"9cafadf2035eabb6b00c25580c611a78d59af694ce35ae0ec5b3fe0b8d835a84","signature":"8369cd20d38d7ae5480c42031635237113922d9882b9cd29e0fa95d0a2968421","impliedFormat":99},{"version":"45c7c438abef75ee0e9a1968bd43387419c77244b70f407473bb5dc12624a79b","signature":"cd88f501f0353bce1582c3d3bb71c7968989a6ddc18e192e7de9d54abbb0a780","impliedFormat":99},{"version":"a20fc1fcd9cd7c2b79d5f00d14802c1d58c3848e09ee4f84b350591af88b7636","impliedFormat":1},{"version":"cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","impliedFormat":1},{"version":"b4f76b34637d79cefad486127115fed843762c69512d7101b7096e1293699679","impliedFormat":1},{"version":"93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","impliedFormat":1},{"version":"dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","impliedFormat":1},{"version":"b6ddf3a46ccfa4441d8be84d2e9bf3087573c48804196faedbd4a25b60631beb","impliedFormat":1},{"version":"89ccbe04e737ce613f5f04990271cfa84901446350b8551b0555ddf19319723b","impliedFormat":1},{"version":"9ee13abb39c50c2f45b5362dbadc55334e82dfc9789cfc070808e10dc5f60000","impliedFormat":1},{"version":"a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a","impliedFormat":1},{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"03c04ba2137908b3b6219ecadc3471d4e39bb9030e6404510ee6e87a3b590a2d","impliedFormat":1},{"version":"772ff00e189d93488d1ca6f0f4dfba77bd090a99ed31e19a14bc16fad4078e48","affectsGlobalScope":true,"impliedFormat":1},{"version":"3d2bcfb9c4591832ec479f830c49c291419caeb19953506bdeef1c0e6ad79b03","impliedFormat":1},{"version":"ac0c7cb0a4c1bec60be2c0460b3bda1e674eaf2c98312d7b6f16a0bb58718e2d","impliedFormat":1},{"version":"7e2181a6fc140b4525d5a45c204477c37fa78a635558e88552c68f76a4325403","affectsGlobalScope":true,"impliedFormat":1},{"version":"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","impliedFormat":1},{"version":"0ea59475772c2a8fdeb1f41ad9b02025aff6423003ec7eaf8129ee846f438aee","impliedFormat":1},{"version":"276b547eeb8eeeee9a446a3bfa6e07d1c0199269bdcf33813abab1281394a9cb","impliedFormat":1},{"version":"c999f7816955f75b447823e3e4085f699600e2a4a3327907df9af65b0a9c0df6","impliedFormat":1},{"version":"64361245fe025cbbad90451dd3698f7e6822d465ef568cbee3a4d8ddb52e7cda","impliedFormat":1},{"version":"8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","impliedFormat":1},{"version":"9b814e0806922056145bedb096f11b73bdce70cc871f3ccfc4ce00b2cba75718","impliedFormat":1},{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true,"impliedFormat":1},{"version":"2013a2215691096d953ce7cefbc71a6cd31ef14be092cd003792714c5cd23bde","affectsGlobalScope":true,"impliedFormat":1},{"version":"60155c38ec392043962a90006153f7e31187b93411f2d8f9b35f595e98b8d75f","impliedFormat":1},{"version":"2ad6a251b6ef19fd1f8498f83bb7b265033bd52287e1f6569d09544f18806713","impliedFormat":1},{"version":"bfa08f2c30c475aef1c9451855ba6b2acfdc64f61950a38fae75806d66fb85c2","impliedFormat":1},{"version":"159807eb55a9439f9a675bd493788190a6203b5f36c315f8c3acbfcb875c7072","impliedFormat":1},{"version":"fe31b2b31ac5453fc7b8eef32b62017e55b214ceb884f0b177f442af92e84682","impliedFormat":1},{"version":"dd72576c8ea64d55af46a386068503d3cfcecce84ed7e1cbd4ff4081ba67fafc","impliedFormat":1},{"version":"125af9d85cb9d5e508353f10a8d52f01652d2d48b2cea54789a33e5b4d289c1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"70a7e8a7880d55396285e4b85ff5bdf3af3083176abe07f944967836f2a43188","impliedFormat":1},{"version":"3570df7c6f3a976109f55b596a2d88c2f87e0574cd1502272594ee5c4e56d0ef","impliedFormat":1},{"version":"850e95721334c2aa7697b08782f443ec4286274e5024169d4443933544f359d7","impliedFormat":1},{"version":"74e6cd21f7b5e29fab05060ea24e2b90aa254f16f3f62ccd7055bdb8fc7b2ff5","affectsGlobalScope":true,"impliedFormat":1},{"version":"5761c90b0cabdd6bd1f5fb1c3bf942088fdd39e18ed35dbe39b0c34bc733bf13","affectsGlobalScope":true,"impliedFormat":1},{"version":"1eb6c5569d41e6021832d0a8a71f45fecbc13d03ad7d306da485999148b64955","impliedFormat":1},{"version":"c05ef0ecf06540ad3039515c10d3b27f9380639ced40f4093fd073e1b5ff21d9","impliedFormat":1},{"version":"fd25a0d3e6448b61d33e1fe4e0667a1a87a77e53570b65a454937cf2dc92f967","impliedFormat":1},{"version":"c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","impliedFormat":1},{"version":"24a68c38b5c66d6a6883624342560d88db670e97824b397e78d9dac121aa8bae","impliedFormat":1},{"version":"9a134dbb29f0af914d90b23f609b39019d66ed53db7d492ab6b04c67114559da","impliedFormat":1},{"version":"1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","impliedFormat":1},{"version":"785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","impliedFormat":1},{"version":"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","impliedFormat":1},{"version":"7b3781fbdfddbee8dba55ccee5aa74a7c8d6701ade11d49ab7d8cb1fcefe669e","impliedFormat":1},{"version":"c4aab2ec3a249f2a4caa9cbdb099752a80daf999b79d85aa3504cdfd6e559476","impliedFormat":1},{"version":"666d3f264db693828f6edc2eb53ae6013e40f6e39278ca209c7a8a99ac91b62f","affectsGlobalScope":true,"impliedFormat":1},{"version":"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","impliedFormat":1},{"version":"c764a6cf523d13f2304a23216cd1084e28c041eebabd8aa9b2a9d99866c668c0","impliedFormat":1},{"version":"1272a5c2bd05961adc473e905332b7a422b00485c10b41c752f7fcf6835e3436","impliedFormat":1},{"version":"30ef92bf8135ce36ba1231fe41715276f2a40be72a478ddeb862bc16672e8680","impliedFormat":1},{"version":"4ace0a30a70fe5963442d75ea6e69f525671ae76f6e57ab7556c44839b4237e8","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f03dbf03c001fb3ac1c9bea6dde049dfff27ef8886cc4a886374aacf2e997d","affectsGlobalScope":true,"impliedFormat":1},{"version":"66bfb3de947abf4b117ee849c245425dbe494d6903e28f9ded566e91c9d05d77","impliedFormat":1},{"version":"c28d4f58131b93d60e087b86148d4e0c9d9b5c49c23ff1a9d1a9594fdedd5d08","impliedFormat":1},{"version":"c6b5d7f259544c91024ecf2b17138574a3f6ff2476468fafd7f957d2b68d6d98","impliedFormat":1},{"version":"1ec27c4b695590464113276d174f873e260e468ef226b7dc18f9193875fa559d","affectsGlobalScope":true,"impliedFormat":1},{"version":"33da4ee2ab9fdd9ef8b3fc526d871ce02ae8c825283f5695e7cad507c087b97c","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"71709584ed5ed7d236dc225441ec4634ffc6c718853e04b9c27b9ea121459044","impliedFormat":1},{"version":"963d59066dd6742da1918a6213a209bcc205b8ee53b1876ee2b4e6d80f97c85e","impliedFormat":1},{"version":"fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","impliedFormat":1},{"version":"bf88ef4208a770ca39a844b182b3695df536326ea566893fdc5b8418702a331e","impliedFormat":1},{"version":"8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","impliedFormat":1},{"version":"7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","impliedFormat":1},{"version":"f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","impliedFormat":1},{"version":"ba600bf38b5c1a5dffa1b99dd7a783549082bbba3b4fe9497eaaf5e4c1764b20","impliedFormat":1},{"version":"ae8cd6af37275eac75f5369cdb5f01063bcf1f48d74cb434303ee50ec446acfe","impliedFormat":1},{"version":"2518830a2fda9c272ba48798d0e7b857037443b06594db8e42c87e86944ee9e4","impliedFormat":1},{"version":"95c1cf650d16b197525b5bfdf8dd7abba0a49d99ddb12a4ba66466a8a6903e49","impliedFormat":1},{"version":"1fe0aabe758d56ad72495d6e6c7b6ae75619faaeaaf03f0ddf1948eea4cfac84","impliedFormat":1},{"version":"bbc57966c8c48ee78fd58aadb893784025be056ae538ae22d1e83c502a987e68","impliedFormat":1},{"version":"5e5d6f6697e378b0660b567866bf67d099d0ea754f8810c0dabe737805f5cf03","impliedFormat":1},{"version":"99ab49d4732fdc98cf5c495925e65e796544cb4086fe42afc235dfc02bcf2351","impliedFormat":1},{"version":"af8339d509c40da075088e544c28ed37b519876e5c4d36a48644ebfb3c6ae6c8","impliedFormat":1},{"version":"d393adc32e520d4274bb4c3dfdcdb342b806a230b66ef0f82b35bffbc4aa2590","impliedFormat":1},{"version":"c26af7eaedb4f710984634e419ab15e54e5bb99a0b3cae71188c2fff572276de","impliedFormat":1},{"version":"38b58ef018d0aeee42ef74c42978bb5805503233fdeeb82cd2aed2199fb0d013","impliedFormat":1},{"version":"3b6040253231d44e6778eb6861cc86c1758562e77783d21b7ecbc73322ded539","impliedFormat":1},{"version":"cc256fd958b33576ed32c7338c64adb0d08fc0c2c6525010202fab83f32745da","impliedFormat":1},{"version":"fd0589ca571ad090b531d8c095e26caa53d4825c64d3ff2b2b1ab95d72294175","impliedFormat":1},{"version":"669843ecafb89ae1e944df06360e8966219e4c1c34c0d28aa2503272cdd444a7","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","impliedFormat":1},{"version":"bc88e4049153bc4dddb4503ed7e624eb141edfa9064b3659d6c86e900fe9e621","impliedFormat":1},{"version":"8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede","impliedFormat":1},{"version":"2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","impliedFormat":1},{"version":"2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","impliedFormat":1},{"version":"42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","impliedFormat":1},{"version":"d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","impliedFormat":1},{"version":"b9f96255e1048ed2ea33ec553122716f0e57fc1c3ad778e9aa15f5b46547bd23","impliedFormat":1},{"version":"7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","impliedFormat":1},{"version":"906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","impliedFormat":1},{"version":"5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","impliedFormat":1},{"version":"c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","impliedFormat":1},{"version":"e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","impliedFormat":1},{"version":"e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","impliedFormat":1},{"version":"9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","impliedFormat":1},{"version":"0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","impliedFormat":1},{"version":"71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","impliedFormat":1},{"version":"c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","impliedFormat":1},{"version":"2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","impliedFormat":1},{"version":"479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","impliedFormat":1},{"version":"ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","impliedFormat":1},{"version":"f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","impliedFormat":1},{"version":"86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","impliedFormat":1},{"version":"2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","impliedFormat":1},{"version":"a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","impliedFormat":1},{"version":"b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","impliedFormat":1},{"version":"61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","impliedFormat":1},{"version":"6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","impliedFormat":1},{"version":"c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","impliedFormat":1},{"version":"38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","impliedFormat":1},{"version":"d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","impliedFormat":1},{"version":"3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","impliedFormat":1},{"version":"b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","impliedFormat":1},{"version":"f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","impliedFormat":1},{"version":"843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","impliedFormat":1},{"version":"f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","impliedFormat":1},{"version":"6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","impliedFormat":1},{"version":"e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","impliedFormat":1},{"version":"a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","impliedFormat":1},{"version":"a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","impliedFormat":1},{"version":"da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"a1a261624efb3a00ff346b13580f70f3463b8cdcc58b60f5793ff11785d52cab","impliedFormat":1},{"version":"b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","impliedFormat":1},{"version":"70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","impliedFormat":1},{"version":"e9eb1b173aa166892f3eddab182e49cfe59aa2e14d33aedb6b49d175ed6a3750","impliedFormat":1}],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"module":5,"noImplicitAny":true,"noImplicitThis":true,"outDir":"..","rootDir":"../../src","strictNullChecks":true,"target":2},"fileIdsList":[[46,99],[99],[46,47,48,49,50,99],[46,48,99],[69,70,99,106,107],[70,99,106],[99,110],[99,111],[69,99,101,106,125,126,128],[99,127],[53,99],[56,99],[57,62,90,99],[58,69,70,77,87,98,99],[58,59,69,77,99],[60,99],[61,62,70,78,99],[62,87,95,99],[63,65,69,77,99],[64,99],[65,66,99],[69,99],[67,69,99],[69,70,71,87,98,99],[69,70,71,84,87,90,99],[99,103],[65,69,72,77,87,98,99],[69,70,72,73,77,87,95,98,99],[72,74,87,95,98,99],[53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105],[69,75,99],[76,98,99],[65,69,77,87,99],[78,99],[79,99],[56,80,99],[81,97,99,103],[82,99],[83,99],[69,84,85,99],[84,86,99,101],[57,69,87,88,89,90,99],[57,87,89,99],[87,88,99],[90,99],[91,99],[87,99],[69,93,94,99],[93,94,99],[62,77,87,95,99],[96,99],[77,97,99],[57,72,83,98,99],[62,99],[87,99,100],[99,101],[99,102],[57,62,69,71,80,87,98,99,101,103],[87,99,104],[99,106],[99,132,171],[99,132,156,171],[99,171],[99,132],[99,132,157,171],[99,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170],[99,157,171],[99,173],[99,114],[99,113,114],[99,113],[99,113,114,115,117,118,121,122,123,124],[99,114,118],[99,113,114,115,117,118,119,120],[99,113,118],[99,118,122],[99,114,115,116],[99,115],[99,113,114,118],[44,99],[44]],"referencedMap":[[48,1],[46,2],[51,3],[47,1],[49,4],[50,1],[52,2],[108,5],[109,6],[110,2],[111,7],[112,8],[127,9],[128,10],[129,2],[107,2],[53,11],[54,11],[56,12],[57,13],[58,14],[59,15],[60,16],[61,17],[62,18],[63,19],[64,20],[65,21],[66,21],[68,22],[67,23],[69,22],[70,24],[71,25],[55,26],[105,2],[72,27],[73,28],[74,29],[106,30],[75,31],[76,32],[77,33],[78,34],[79,35],[80,36],[81,37],[82,38],[83,39],[84,40],[85,40],[86,41],[87,42],[89,43],[88,44],[90,45],[91,46],[92,47],[93,48],[94,49],[95,50],[96,51],[97,52],[98,53],[99,54],[100,55],[101,56],[102,57],[103,58],[104,59],[130,2],[131,60],[156,61],[157,62],[132,63],[135,63],[154,61],[155,61],[145,61],[144,64],[142,61],[137,61],[150,61],[148,61],[152,61],[136,61],[149,61],[153,61],[138,61],[139,61],[151,61],[133,61],[140,61],[141,61],[143,61],[147,61],[158,65],[146,61],[134,61],[171,66],[170,2],[165,65],[167,67],[166,65],[159,65],[160,65],[162,65],[164,65],[168,67],[169,67],[161,67],[163,67],[172,2],[126,2],[173,2],[174,68],[115,69],[124,70],[113,2],[114,71],[125,72],[120,73],[121,74],[119,75],[123,76],[117,77],[116,78],[122,79],[118,70],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[34,2],[31,2],[32,2],[33,2],[35,2],[7,2],[36,2],[41,2],[42,2],[37,2],[38,2],[39,2],[40,2],[1,2],[43,2],[45,80],[44,2]],"exportedModulesMap":[[48,1],[46,2],[51,3],[47,1],[49,4],[50,1],[52,2],[108,5],[109,6],[110,2],[111,7],[112,8],[127,9],[128,10],[129,2],[107,2],[53,11],[54,11],[56,12],[57,13],[58,14],[59,15],[60,16],[61,17],[62,18],[63,19],[64,20],[65,21],[66,21],[68,22],[67,23],[69,22],[70,24],[71,25],[55,26],[105,2],[72,27],[73,28],[74,29],[106,30],[75,31],[76,32],[77,33],[78,34],[79,35],[80,36],[81,37],[82,38],[83,39],[84,40],[85,40],[86,41],[87,42],[89,43],[88,44],[90,45],[91,46],[92,47],[93,48],[94,49],[95,50],[96,51],[97,52],[98,53],[99,54],[100,55],[101,56],[102,57],[103,58],[104,59],[130,2],[131,60],[156,61],[157,62],[132,63],[135,63],[154,61],[155,61],[145,61],[144,64],[142,61],[137,61],[150,61],[148,61],[152,61],[136,61],[149,61],[153,61],[138,61],[139,61],[151,61],[133,61],[140,61],[141,61],[143,61],[147,61],[158,65],[146,61],[134,61],[171,66],[170,2],[165,65],[167,67],[166,65],[159,65],[160,65],[162,65],[164,65],[168,67],[169,67],[161,67],[163,67],[172,2],[126,2],[173,2],[174,68],[115,69],[124,70],[113,2],[114,71],[125,72],[120,73],[121,74],[119,75],[123,76],[117,77],[116,78],[122,79],[118,70],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[34,2],[31,2],[32,2],[33,2],[35,2],[7,2],[36,2],[41,2],[42,2],[37,2],[38,2],[39,2],[40,2],[1,2],[43,2],[45,81]],"semanticDiagnosticsPerFile":[48,46,51,47,49,50,52,108,109,110,111,112,127,128,129,107,53,54,56,57,58,59,60,61,62,63,64,65,66,68,67,69,70,71,55,105,72,73,74,106,75,76,77,78,79,80,81,82,83,84,85,86,87,89,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,130,131,156,157,132,135,154,155,145,144,142,137,150,148,152,136,149,153,138,139,151,133,140,141,143,147,158,146,134,171,170,165,167,166,159,160,162,164,168,169,161,163,172,126,173,174,115,124,113,114,125,120,121,119,123,117,116,122,118,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,34,31,32,33,35,7,36,41,42,37,38,39,40,1,43,45,44],"latestChangedDtsFile":"./interaction.d.ts"},"version":"4.9.5"}
|
|
1
|
+
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../src/common/messages.gen.ts","../../src/common/interaction.ts","../../node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__generator/index.d.ts","../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@types/babel__template/index.d.ts","../../node_modules/@types/babel__traverse/index.d.ts","../../node_modules/@types/babel__core/index.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/graceful-fs/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/parse5/dist/cjs/common/html.d.ts","../../node_modules/parse5/dist/cjs/common/token.d.ts","../../node_modules/parse5/dist/cjs/common/error-codes.d.ts","../../node_modules/parse5/dist/cjs/tokenizer/preprocessor.d.ts","../../node_modules/parse5/dist/cjs/tokenizer/index.d.ts","../../node_modules/parse5/dist/cjs/tree-adapters/interface.d.ts","../../node_modules/parse5/dist/cjs/parser/open-element-stack.d.ts","../../node_modules/parse5/dist/cjs/parser/formatting-element-list.d.ts","../../node_modules/parse5/dist/cjs/parser/index.d.ts","../../node_modules/parse5/dist/cjs/tree-adapters/default.d.ts","../../node_modules/parse5/dist/cjs/serializer/index.d.ts","../../node_modules/parse5/dist/cjs/common/foreign-content.d.ts","../../node_modules/parse5/dist/cjs/index.d.ts","../../node_modules/@types/tough-cookie/index.d.ts","../../node_modules/@types/jsdom/base.d.ts","../../node_modules/@types/jsdom/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/prettier/index.d.ts","../../node_modules/@types/resolve/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","impliedFormat":1},{"version":"1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","impliedFormat":1},{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3d4da15233e593eacb3965cde7960f3fddf5878528d882bcedd5cbaba0193c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true,"impliedFormat":1},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true,"impliedFormat":1},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"9cafadf2035eabb6b00c25580c611a78d59af694ce35ae0ec5b3fe0b8d835a84","signature":"8369cd20d38d7ae5480c42031635237113922d9882b9cd29e0fa95d0a2968421","impliedFormat":99},{"version":"ac3997ad50a6e14e5acbe8fd4195f000f403e6f213fd4e489ead7e0d3b3f761e","signature":"c2722e00e31621c1003f7493b8f17df623d79cfb7c6f4b23dbff729a5020b8ad","impliedFormat":99},{"version":"a20fc1fcd9cd7c2b79d5f00d14802c1d58c3848e09ee4f84b350591af88b7636","impliedFormat":1},{"version":"cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","impliedFormat":1},{"version":"b4f76b34637d79cefad486127115fed843762c69512d7101b7096e1293699679","impliedFormat":1},{"version":"93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","impliedFormat":1},{"version":"dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","impliedFormat":1},{"version":"b6ddf3a46ccfa4441d8be84d2e9bf3087573c48804196faedbd4a25b60631beb","impliedFormat":1},{"version":"89ccbe04e737ce613f5f04990271cfa84901446350b8551b0555ddf19319723b","impliedFormat":1},{"version":"9ee13abb39c50c2f45b5362dbadc55334e82dfc9789cfc070808e10dc5f60000","impliedFormat":1},{"version":"a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a","impliedFormat":1},{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"03c04ba2137908b3b6219ecadc3471d4e39bb9030e6404510ee6e87a3b590a2d","impliedFormat":1},{"version":"772ff00e189d93488d1ca6f0f4dfba77bd090a99ed31e19a14bc16fad4078e48","affectsGlobalScope":true,"impliedFormat":1},{"version":"3d2bcfb9c4591832ec479f830c49c291419caeb19953506bdeef1c0e6ad79b03","impliedFormat":1},{"version":"ac0c7cb0a4c1bec60be2c0460b3bda1e674eaf2c98312d7b6f16a0bb58718e2d","impliedFormat":1},{"version":"7e2181a6fc140b4525d5a45c204477c37fa78a635558e88552c68f76a4325403","affectsGlobalScope":true,"impliedFormat":1},{"version":"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","impliedFormat":1},{"version":"0ea59475772c2a8fdeb1f41ad9b02025aff6423003ec7eaf8129ee846f438aee","impliedFormat":1},{"version":"276b547eeb8eeeee9a446a3bfa6e07d1c0199269bdcf33813abab1281394a9cb","impliedFormat":1},{"version":"c999f7816955f75b447823e3e4085f699600e2a4a3327907df9af65b0a9c0df6","impliedFormat":1},{"version":"64361245fe025cbbad90451dd3698f7e6822d465ef568cbee3a4d8ddb52e7cda","impliedFormat":1},{"version":"8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","impliedFormat":1},{"version":"9b814e0806922056145bedb096f11b73bdce70cc871f3ccfc4ce00b2cba75718","impliedFormat":1},{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true,"impliedFormat":1},{"version":"2013a2215691096d953ce7cefbc71a6cd31ef14be092cd003792714c5cd23bde","affectsGlobalScope":true,"impliedFormat":1},{"version":"60155c38ec392043962a90006153f7e31187b93411f2d8f9b35f595e98b8d75f","impliedFormat":1},{"version":"2ad6a251b6ef19fd1f8498f83bb7b265033bd52287e1f6569d09544f18806713","impliedFormat":1},{"version":"bfa08f2c30c475aef1c9451855ba6b2acfdc64f61950a38fae75806d66fb85c2","impliedFormat":1},{"version":"159807eb55a9439f9a675bd493788190a6203b5f36c315f8c3acbfcb875c7072","impliedFormat":1},{"version":"fe31b2b31ac5453fc7b8eef32b62017e55b214ceb884f0b177f442af92e84682","impliedFormat":1},{"version":"dd72576c8ea64d55af46a386068503d3cfcecce84ed7e1cbd4ff4081ba67fafc","impliedFormat":1},{"version":"125af9d85cb9d5e508353f10a8d52f01652d2d48b2cea54789a33e5b4d289c1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"70a7e8a7880d55396285e4b85ff5bdf3af3083176abe07f944967836f2a43188","impliedFormat":1},{"version":"3570df7c6f3a976109f55b596a2d88c2f87e0574cd1502272594ee5c4e56d0ef","impliedFormat":1},{"version":"850e95721334c2aa7697b08782f443ec4286274e5024169d4443933544f359d7","impliedFormat":1},{"version":"74e6cd21f7b5e29fab05060ea24e2b90aa254f16f3f62ccd7055bdb8fc7b2ff5","affectsGlobalScope":true,"impliedFormat":1},{"version":"5761c90b0cabdd6bd1f5fb1c3bf942088fdd39e18ed35dbe39b0c34bc733bf13","affectsGlobalScope":true,"impliedFormat":1},{"version":"1eb6c5569d41e6021832d0a8a71f45fecbc13d03ad7d306da485999148b64955","impliedFormat":1},{"version":"c05ef0ecf06540ad3039515c10d3b27f9380639ced40f4093fd073e1b5ff21d9","impliedFormat":1},{"version":"fd25a0d3e6448b61d33e1fe4e0667a1a87a77e53570b65a454937cf2dc92f967","impliedFormat":1},{"version":"c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","impliedFormat":1},{"version":"24a68c38b5c66d6a6883624342560d88db670e97824b397e78d9dac121aa8bae","impliedFormat":1},{"version":"9a134dbb29f0af914d90b23f609b39019d66ed53db7d492ab6b04c67114559da","impliedFormat":1},{"version":"1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","impliedFormat":1},{"version":"785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","impliedFormat":1},{"version":"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","impliedFormat":1},{"version":"7b3781fbdfddbee8dba55ccee5aa74a7c8d6701ade11d49ab7d8cb1fcefe669e","impliedFormat":1},{"version":"c4aab2ec3a249f2a4caa9cbdb099752a80daf999b79d85aa3504cdfd6e559476","impliedFormat":1},{"version":"666d3f264db693828f6edc2eb53ae6013e40f6e39278ca209c7a8a99ac91b62f","affectsGlobalScope":true,"impliedFormat":1},{"version":"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","impliedFormat":1},{"version":"c764a6cf523d13f2304a23216cd1084e28c041eebabd8aa9b2a9d99866c668c0","impliedFormat":1},{"version":"1272a5c2bd05961adc473e905332b7a422b00485c10b41c752f7fcf6835e3436","impliedFormat":1},{"version":"30ef92bf8135ce36ba1231fe41715276f2a40be72a478ddeb862bc16672e8680","impliedFormat":1},{"version":"4ace0a30a70fe5963442d75ea6e69f525671ae76f6e57ab7556c44839b4237e8","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f03dbf03c001fb3ac1c9bea6dde049dfff27ef8886cc4a886374aacf2e997d","affectsGlobalScope":true,"impliedFormat":1},{"version":"66bfb3de947abf4b117ee849c245425dbe494d6903e28f9ded566e91c9d05d77","impliedFormat":1},{"version":"c28d4f58131b93d60e087b86148d4e0c9d9b5c49c23ff1a9d1a9594fdedd5d08","impliedFormat":1},{"version":"c6b5d7f259544c91024ecf2b17138574a3f6ff2476468fafd7f957d2b68d6d98","impliedFormat":1},{"version":"1ec27c4b695590464113276d174f873e260e468ef226b7dc18f9193875fa559d","affectsGlobalScope":true,"impliedFormat":1},{"version":"33da4ee2ab9fdd9ef8b3fc526d871ce02ae8c825283f5695e7cad507c087b97c","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"71709584ed5ed7d236dc225441ec4634ffc6c718853e04b9c27b9ea121459044","impliedFormat":1},{"version":"963d59066dd6742da1918a6213a209bcc205b8ee53b1876ee2b4e6d80f97c85e","impliedFormat":1},{"version":"fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","impliedFormat":1},{"version":"bf88ef4208a770ca39a844b182b3695df536326ea566893fdc5b8418702a331e","impliedFormat":1},{"version":"8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","impliedFormat":1},{"version":"7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","impliedFormat":1},{"version":"f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","impliedFormat":1},{"version":"ba600bf38b5c1a5dffa1b99dd7a783549082bbba3b4fe9497eaaf5e4c1764b20","impliedFormat":1},{"version":"ae8cd6af37275eac75f5369cdb5f01063bcf1f48d74cb434303ee50ec446acfe","impliedFormat":1},{"version":"2518830a2fda9c272ba48798d0e7b857037443b06594db8e42c87e86944ee9e4","impliedFormat":1},{"version":"95c1cf650d16b197525b5bfdf8dd7abba0a49d99ddb12a4ba66466a8a6903e49","impliedFormat":1},{"version":"1fe0aabe758d56ad72495d6e6c7b6ae75619faaeaaf03f0ddf1948eea4cfac84","impliedFormat":1},{"version":"bbc57966c8c48ee78fd58aadb893784025be056ae538ae22d1e83c502a987e68","impliedFormat":1},{"version":"5e5d6f6697e378b0660b567866bf67d099d0ea754f8810c0dabe737805f5cf03","impliedFormat":1},{"version":"99ab49d4732fdc98cf5c495925e65e796544cb4086fe42afc235dfc02bcf2351","impliedFormat":1},{"version":"af8339d509c40da075088e544c28ed37b519876e5c4d36a48644ebfb3c6ae6c8","impliedFormat":1},{"version":"d393adc32e520d4274bb4c3dfdcdb342b806a230b66ef0f82b35bffbc4aa2590","impliedFormat":1},{"version":"c26af7eaedb4f710984634e419ab15e54e5bb99a0b3cae71188c2fff572276de","impliedFormat":1},{"version":"38b58ef018d0aeee42ef74c42978bb5805503233fdeeb82cd2aed2199fb0d013","impliedFormat":1},{"version":"3b6040253231d44e6778eb6861cc86c1758562e77783d21b7ecbc73322ded539","impliedFormat":1},{"version":"cc256fd958b33576ed32c7338c64adb0d08fc0c2c6525010202fab83f32745da","impliedFormat":1},{"version":"fd0589ca571ad090b531d8c095e26caa53d4825c64d3ff2b2b1ab95d72294175","impliedFormat":1},{"version":"669843ecafb89ae1e944df06360e8966219e4c1c34c0d28aa2503272cdd444a7","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","impliedFormat":1},{"version":"bc88e4049153bc4dddb4503ed7e624eb141edfa9064b3659d6c86e900fe9e621","impliedFormat":1},{"version":"8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede","impliedFormat":1},{"version":"2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","impliedFormat":1},{"version":"2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","impliedFormat":1},{"version":"42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","impliedFormat":1},{"version":"d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","impliedFormat":1},{"version":"b9f96255e1048ed2ea33ec553122716f0e57fc1c3ad778e9aa15f5b46547bd23","impliedFormat":1},{"version":"7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","impliedFormat":1},{"version":"906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","impliedFormat":1},{"version":"5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","impliedFormat":1},{"version":"c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","impliedFormat":1},{"version":"e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","impliedFormat":1},{"version":"e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","impliedFormat":1},{"version":"9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","impliedFormat":1},{"version":"0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","impliedFormat":1},{"version":"71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","impliedFormat":1},{"version":"c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","impliedFormat":1},{"version":"2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","impliedFormat":1},{"version":"479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","impliedFormat":1},{"version":"ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","impliedFormat":1},{"version":"f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","impliedFormat":1},{"version":"86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","impliedFormat":1},{"version":"2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","impliedFormat":1},{"version":"a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","impliedFormat":1},{"version":"b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","impliedFormat":1},{"version":"61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","impliedFormat":1},{"version":"6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","impliedFormat":1},{"version":"c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","impliedFormat":1},{"version":"38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","impliedFormat":1},{"version":"d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","impliedFormat":1},{"version":"3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","impliedFormat":1},{"version":"b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","impliedFormat":1},{"version":"f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","impliedFormat":1},{"version":"843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","impliedFormat":1},{"version":"f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","impliedFormat":1},{"version":"6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","impliedFormat":1},{"version":"e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","impliedFormat":1},{"version":"a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","impliedFormat":1},{"version":"a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","impliedFormat":1},{"version":"da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"a1a261624efb3a00ff346b13580f70f3463b8cdcc58b60f5793ff11785d52cab","impliedFormat":1},{"version":"b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","impliedFormat":1},{"version":"70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","impliedFormat":1},{"version":"e9eb1b173aa166892f3eddab182e49cfe59aa2e14d33aedb6b49d175ed6a3750","impliedFormat":1}],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"module":5,"noImplicitAny":true,"noImplicitThis":true,"outDir":"..","rootDir":"../../src","strictNullChecks":true,"target":2},"fileIdsList":[[46,99],[99],[46,47,48,49,50,99],[46,48,99],[69,70,99,106,107],[70,99,106],[99,110],[99,111],[69,99,101,106,125,126,128],[99,127],[53,99],[56,99],[57,62,90,99],[58,69,70,77,87,98,99],[58,59,69,77,99],[60,99],[61,62,70,78,99],[62,87,95,99],[63,65,69,77,99],[64,99],[65,66,99],[69,99],[67,69,99],[69,70,71,87,98,99],[69,70,71,84,87,90,99],[99,103],[65,69,72,77,87,98,99],[69,70,72,73,77,87,95,98,99],[72,74,87,95,98,99],[53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105],[69,75,99],[76,98,99],[65,69,77,87,99],[78,99],[79,99],[56,80,99],[81,97,99,103],[82,99],[83,99],[69,84,85,99],[84,86,99,101],[57,69,87,88,89,90,99],[57,87,89,99],[87,88,99],[90,99],[91,99],[87,99],[69,93,94,99],[93,94,99],[62,77,87,95,99],[96,99],[77,97,99],[57,72,83,98,99],[62,99],[87,99,100],[99,101],[99,102],[57,62,69,71,80,87,98,99,101,103],[87,99,104],[99,106],[99,132,171],[99,132,156,171],[99,171],[99,132],[99,132,157,171],[99,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170],[99,157,171],[99,173],[99,114],[99,113,114],[99,113],[99,113,114,115,117,118,121,122,123,124],[99,114,118],[99,113,114,115,117,118,119,120],[99,113,118],[99,118,122],[99,114,115,116],[99,115],[99,113,114,118],[44,99],[44]],"referencedMap":[[48,1],[46,2],[51,3],[47,1],[49,4],[50,1],[52,2],[108,5],[109,6],[110,2],[111,7],[112,8],[127,9],[128,10],[129,2],[107,2],[53,11],[54,11],[56,12],[57,13],[58,14],[59,15],[60,16],[61,17],[62,18],[63,19],[64,20],[65,21],[66,21],[68,22],[67,23],[69,22],[70,24],[71,25],[55,26],[105,2],[72,27],[73,28],[74,29],[106,30],[75,31],[76,32],[77,33],[78,34],[79,35],[80,36],[81,37],[82,38],[83,39],[84,40],[85,40],[86,41],[87,42],[89,43],[88,44],[90,45],[91,46],[92,47],[93,48],[94,49],[95,50],[96,51],[97,52],[98,53],[99,54],[100,55],[101,56],[102,57],[103,58],[104,59],[130,2],[131,60],[156,61],[157,62],[132,63],[135,63],[154,61],[155,61],[145,61],[144,64],[142,61],[137,61],[150,61],[148,61],[152,61],[136,61],[149,61],[153,61],[138,61],[139,61],[151,61],[133,61],[140,61],[141,61],[143,61],[147,61],[158,65],[146,61],[134,61],[171,66],[170,2],[165,65],[167,67],[166,65],[159,65],[160,65],[162,65],[164,65],[168,67],[169,67],[161,67],[163,67],[172,2],[126,2],[173,2],[174,68],[115,69],[124,70],[113,2],[114,71],[125,72],[120,73],[121,74],[119,75],[123,76],[117,77],[116,78],[122,79],[118,70],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[34,2],[31,2],[32,2],[33,2],[35,2],[7,2],[36,2],[41,2],[42,2],[37,2],[38,2],[39,2],[40,2],[1,2],[43,2],[45,80],[44,2]],"exportedModulesMap":[[48,1],[46,2],[51,3],[47,1],[49,4],[50,1],[52,2],[108,5],[109,6],[110,2],[111,7],[112,8],[127,9],[128,10],[129,2],[107,2],[53,11],[54,11],[56,12],[57,13],[58,14],[59,15],[60,16],[61,17],[62,18],[63,19],[64,20],[65,21],[66,21],[68,22],[67,23],[69,22],[70,24],[71,25],[55,26],[105,2],[72,27],[73,28],[74,29],[106,30],[75,31],[76,32],[77,33],[78,34],[79,35],[80,36],[81,37],[82,38],[83,39],[84,40],[85,40],[86,41],[87,42],[89,43],[88,44],[90,45],[91,46],[92,47],[93,48],[94,49],[95,50],[96,51],[97,52],[98,53],[99,54],[100,55],[101,56],[102,57],[103,58],[104,59],[130,2],[131,60],[156,61],[157,62],[132,63],[135,63],[154,61],[155,61],[145,61],[144,64],[142,61],[137,61],[150,61],[148,61],[152,61],[136,61],[149,61],[153,61],[138,61],[139,61],[151,61],[133,61],[140,61],[141,61],[143,61],[147,61],[158,65],[146,61],[134,61],[171,66],[170,2],[165,65],[167,67],[166,65],[159,65],[160,65],[162,65],[164,65],[168,67],[169,67],[161,67],[163,67],[172,2],[126,2],[173,2],[174,68],[115,69],[124,70],[113,2],[114,71],[125,72],[120,73],[121,74],[119,75],[123,76],[117,77],[116,78],[122,79],[118,70],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[34,2],[31,2],[32,2],[33,2],[35,2],[7,2],[36,2],[41,2],[42,2],[37,2],[38,2],[39,2],[40,2],[1,2],[43,2],[45,81]],"semanticDiagnosticsPerFile":[48,46,51,47,49,50,52,108,109,110,111,112,127,128,129,107,53,54,56,57,58,59,60,61,62,63,64,65,66,68,67,69,70,71,55,105,72,73,74,106,75,76,77,78,79,80,81,82,83,84,85,86,87,89,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,130,131,156,157,132,135,154,155,145,144,142,137,150,148,152,136,149,153,138,139,151,133,140,141,143,147,158,146,134,171,170,165,167,166,159,160,162,164,168,169,161,163,172,126,173,174,115,124,113,114,125,120,121,119,123,117,116,122,118,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,34,31,32,33,35,7,36,41,42,37,38,39,40,1,43,45,44],"latestChangedDtsFile":"./interaction.d.ts"},"version":"4.9.5"}
|
package/lib/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { default as App } from './app/index.js';
|
|
|
3
3
|
import * as _Messages from './app/messages.gen.js';
|
|
4
4
|
export declare const Messages: typeof _Messages;
|
|
5
5
|
export { SanitizeLevel } from './app/sanitizer.js';
|
|
6
|
+
import FeatureFlags, { IFeatureFlag } from './modules/featureFlags.js';
|
|
6
7
|
import type { Options as AppOptions } from './app/index.js';
|
|
7
8
|
import type { Options as ConsoleOptions } from './modules/console.js';
|
|
8
9
|
import type { Options as ExceptionOptions } from './modules/exception.js';
|
|
@@ -19,18 +20,29 @@ export type Options = Partial<AppOptions & ConsoleOptions & ExceptionOptions & I
|
|
|
19
20
|
sessionToken?: string;
|
|
20
21
|
respectDoNotTrack?: boolean;
|
|
21
22
|
autoResetOnWindowOpen?: boolean;
|
|
22
|
-
network?: NetworkOptions
|
|
23
|
-
mouse?: MouseHandlerOptions
|
|
23
|
+
network?: Partial<NetworkOptions>;
|
|
24
|
+
mouse?: Partial<MouseHandlerOptions>;
|
|
25
|
+
flags?: {
|
|
26
|
+
onFlagsLoad?: (flags: IFeatureFlag[]) => void;
|
|
27
|
+
};
|
|
24
28
|
__DISABLE_SECURE_MODE?: boolean;
|
|
25
29
|
};
|
|
26
30
|
export default class API {
|
|
27
31
|
private readonly options;
|
|
32
|
+
featureFlags: FeatureFlags;
|
|
28
33
|
private readonly app;
|
|
29
34
|
constructor(options: Options);
|
|
35
|
+
isFlagEnabled(flagName: string): boolean;
|
|
36
|
+
onFlagsLoad(callback: (flags: IFeatureFlag[]) => void): void;
|
|
37
|
+
clearPersistFlags(): void;
|
|
38
|
+
reloadFlags(): Promise<void>;
|
|
39
|
+
getFeatureFlag(flagName: string): IFeatureFlag | undefined;
|
|
40
|
+
getAllFeatureFlags(): IFeatureFlag[];
|
|
30
41
|
use<T>(fn: (app: App | null, options?: Options) => T): T;
|
|
31
42
|
isActive(): boolean;
|
|
32
43
|
start(startOpts?: Partial<StartOptions>): Promise<StartPromiseReturn>;
|
|
33
44
|
stop(): string | undefined;
|
|
45
|
+
forceFlushBatch(): void;
|
|
34
46
|
getSessionToken(): string | null | undefined;
|
|
35
47
|
getSessionID(): string | null | undefined;
|
|
36
48
|
getTabId(): string | null;
|
package/lib/index.js
CHANGED
|
@@ -22,6 +22,7 @@ import ConstructedStyleSheets from './modules/constructedStyleSheets.js';
|
|
|
22
22
|
import Selection from './modules/selection.js';
|
|
23
23
|
import Tabs from './modules/tabs.js';
|
|
24
24
|
import { IN_BROWSER, deprecationWarn, DOCS_HOST } from './utils.js';
|
|
25
|
+
import FeatureFlags from './modules/featureFlags.js';
|
|
25
26
|
const DOCS_SETUP = '/installation/javascript-sdk';
|
|
26
27
|
function processOptions(obj) {
|
|
27
28
|
if (obj == null) {
|
|
@@ -53,7 +54,6 @@ function processOptions(obj) {
|
|
|
53
54
|
export default class API {
|
|
54
55
|
constructor(options) {
|
|
55
56
|
this.options = options;
|
|
56
|
-
// public featureFlags: FeatureFlags
|
|
57
57
|
this.app = null;
|
|
58
58
|
this.handleError = (e, metadata = {}) => {
|
|
59
59
|
if (this.app === null) {
|
|
@@ -116,13 +116,15 @@ export default class API {
|
|
|
116
116
|
Network(app, options.network);
|
|
117
117
|
Selection(app);
|
|
118
118
|
Tabs(app);
|
|
119
|
+
this.featureFlags = new FeatureFlags(app);
|
|
119
120
|
window.__OPENREPLAY__ = this;
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
121
|
+
app.attachStartCallback(() => {
|
|
122
|
+
var _a;
|
|
123
|
+
if ((_a = options.flags) === null || _a === void 0 ? void 0 : _a.onFlagsLoad) {
|
|
124
|
+
this.onFlagsLoad(options.flags.onFlagsLoad);
|
|
125
|
+
}
|
|
126
|
+
void this.featureFlags.reloadFlags();
|
|
127
|
+
});
|
|
126
128
|
if (options.autoResetOnWindowOpen) {
|
|
127
129
|
const wOpen = window.open;
|
|
128
130
|
app.attachStartCallback(() => {
|
|
@@ -146,36 +148,31 @@ export default class API {
|
|
|
146
148
|
// no-cors issue only with text/plain or not-set Content-Type
|
|
147
149
|
// req.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
|
|
148
150
|
req.send(JSON.stringify({
|
|
149
|
-
trackerVersion: '
|
|
151
|
+
trackerVersion: '9.0.0-beta.1',
|
|
150
152
|
projectKey: options.projectKey,
|
|
151
153
|
doNotTrack,
|
|
152
154
|
// TODO: add precise reason (an exact API missing)
|
|
153
155
|
}));
|
|
154
156
|
}
|
|
155
157
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
// }
|
|
175
|
-
//
|
|
176
|
-
// getAllFeatureFlags() {
|
|
177
|
-
// return this.featureFlags.flags
|
|
178
|
-
// }
|
|
158
|
+
isFlagEnabled(flagName) {
|
|
159
|
+
return this.featureFlags.isFlagEnabled(flagName);
|
|
160
|
+
}
|
|
161
|
+
onFlagsLoad(callback) {
|
|
162
|
+
this.featureFlags.onFlagsLoad(callback);
|
|
163
|
+
}
|
|
164
|
+
clearPersistFlags() {
|
|
165
|
+
this.featureFlags.clearPersistFlags();
|
|
166
|
+
}
|
|
167
|
+
reloadFlags() {
|
|
168
|
+
return this.featureFlags.reloadFlags();
|
|
169
|
+
}
|
|
170
|
+
getFeatureFlag(flagName) {
|
|
171
|
+
return this.featureFlags.getFeatureFlag(flagName);
|
|
172
|
+
}
|
|
173
|
+
getAllFeatureFlags() {
|
|
174
|
+
return this.featureFlags.flags;
|
|
175
|
+
}
|
|
179
176
|
use(fn) {
|
|
180
177
|
return fn(this.app, this.options);
|
|
181
178
|
}
|
|
@@ -203,6 +200,12 @@ export default class API {
|
|
|
203
200
|
this.app.stop();
|
|
204
201
|
return this.app.session.getSessionHash();
|
|
205
202
|
}
|
|
203
|
+
forceFlushBatch() {
|
|
204
|
+
if (this.app === null) {
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
this.app.forceFlushBatch();
|
|
208
|
+
}
|
|
206
209
|
getSessionToken() {
|
|
207
210
|
if (this.app === null) {
|
|
208
211
|
return null;
|
package/lib/modules/axiosSpy.js
CHANGED
|
@@ -89,7 +89,7 @@ export default function (app, instance, opts, sanitize, stringify) {
|
|
|
89
89
|
}
|
|
90
90
|
function captureNetworkError(error) {
|
|
91
91
|
app.debug.log('Openreplay: capturing API request error', error);
|
|
92
|
-
if (isAxiosError(error)) {
|
|
92
|
+
if (isAxiosError(error) && Boolean(error.response)) {
|
|
93
93
|
captureResponseData(error.response);
|
|
94
94
|
}
|
|
95
95
|
else if (error instanceof Error) {
|
package/lib/modules/input.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import type App from '../app/index.js';
|
|
2
2
|
type TextFieldElement = HTMLInputElement | HTMLTextAreaElement;
|
|
3
3
|
export declare function getInputLabel(node: TextFieldElement): string;
|
|
4
|
-
export declare const
|
|
5
|
-
Plain
|
|
6
|
-
Obscured
|
|
7
|
-
Hidden
|
|
8
|
-
}
|
|
4
|
+
export declare const InputMode: {
|
|
5
|
+
readonly Plain: 0;
|
|
6
|
+
readonly Obscured: 1;
|
|
7
|
+
readonly Hidden: 2;
|
|
8
|
+
};
|
|
9
|
+
export type InputModeT = (typeof InputMode)[keyof typeof InputMode];
|
|
9
10
|
export interface Options {
|
|
10
11
|
obscureInputNumbers: boolean;
|
|
11
12
|
obscureInputEmails: boolean;
|
|
12
|
-
defaultInputMode:
|
|
13
|
+
defaultInputMode: InputModeT;
|
|
13
14
|
obscureInputDates: boolean;
|
|
14
15
|
}
|
|
15
16
|
export default function (app: App, opts: Partial<Options>): void;
|
package/lib/modules/input.js
CHANGED
|
@@ -70,33 +70,38 @@ export function getInputLabel(node) {
|
|
|
70
70
|
}
|
|
71
71
|
return normSpaces(label).slice(0, 100);
|
|
72
72
|
}
|
|
73
|
+
export const InputMode = {
|
|
74
|
+
Plain: 0,
|
|
75
|
+
Obscured: 1,
|
|
76
|
+
Hidden: 2,
|
|
77
|
+
};
|
|
73
78
|
export default function (app, opts) {
|
|
74
79
|
const options = Object.assign({
|
|
75
80
|
obscureInputNumbers: true,
|
|
76
81
|
obscureInputEmails: true,
|
|
77
|
-
defaultInputMode:
|
|
82
|
+
defaultInputMode: InputMode.Obscured,
|
|
78
83
|
obscureInputDates: false,
|
|
79
84
|
}, opts);
|
|
80
85
|
function getInputValue(id, node) {
|
|
81
86
|
let value = node.value;
|
|
82
87
|
let inputMode = options.defaultInputMode;
|
|
83
88
|
if (node.type === 'password' || app.sanitizer.isHidden(id)) {
|
|
84
|
-
inputMode =
|
|
89
|
+
inputMode = InputMode.Hidden;
|
|
85
90
|
}
|
|
86
91
|
else if (app.sanitizer.isObscured(id) ||
|
|
87
|
-
(inputMode ===
|
|
92
|
+
(inputMode === InputMode.Plain &&
|
|
88
93
|
((options.obscureInputNumbers && node.type !== 'date' && /\d\d\d\d/.test(value)) ||
|
|
89
94
|
(options.obscureInputDates && node.type === 'date') ||
|
|
90
95
|
(options.obscureInputEmails && (node.type === 'email' || !!~value.indexOf('@')))))) {
|
|
91
|
-
inputMode =
|
|
96
|
+
inputMode = InputMode.Obscured;
|
|
92
97
|
}
|
|
93
98
|
let mask = 0;
|
|
94
99
|
switch (inputMode) {
|
|
95
|
-
case
|
|
100
|
+
case InputMode.Hidden:
|
|
96
101
|
mask = -1;
|
|
97
102
|
value = '';
|
|
98
103
|
break;
|
|
99
|
-
case
|
|
104
|
+
case InputMode.Obscured:
|
|
100
105
|
mask = value.length;
|
|
101
106
|
value = '';
|
|
102
107
|
break;
|
|
@@ -166,15 +171,18 @@ export default function (app, opts) {
|
|
|
166
171
|
nodeFocusTime = now();
|
|
167
172
|
};
|
|
168
173
|
const onInput = () => {
|
|
169
|
-
if (nodeHesitationTime === 0) {
|
|
174
|
+
if (nodeHesitationTime === 0 && nodeFocusTime !== 0) {
|
|
170
175
|
nodeHesitationTime = now() - nodeFocusTime;
|
|
171
176
|
}
|
|
172
177
|
};
|
|
173
178
|
const onChange = () => {
|
|
174
|
-
|
|
179
|
+
if (nodeFocusTime !== 0) {
|
|
180
|
+
inputTime = now() - nodeFocusTime;
|
|
181
|
+
}
|
|
175
182
|
sendInputChange(id, node, nodeHesitationTime, inputTime);
|
|
176
183
|
nodeHesitationTime = 0;
|
|
177
184
|
inputTime = 0;
|
|
185
|
+
nodeFocusTime = 0;
|
|
178
186
|
};
|
|
179
187
|
app.nodes.attachNodeListener(node, 'focus', onFocus);
|
|
180
188
|
app.nodes.attachNodeListener(node, 'input', onInput);
|