velocious 1.0.337 → 1.0.339

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.
@@ -13,16 +13,18 @@ export default class VelociousWebsocketClientSubscription {
13
13
  * @param {string} args.subscriptionId
14
14
  * @param {string} args.channelType
15
15
  * @param {Record<string, any>} [args.params]
16
+ * @param {string} [args.lastEventId]
16
17
  * @param {(body: any) => void} [args.onMessage]
17
18
  * @param {() => void} [args.onDisconnect]
18
19
  * @param {() => void} [args.onResume]
19
20
  * @param {(reason: string) => void} [args.onClose]
20
21
  */
21
- constructor({ client, subscriptionId, channelType, params, onMessage, onDisconnect, onResume, onClose }: {
22
+ constructor({ client, subscriptionId, channelType, params, lastEventId, onMessage, onDisconnect, onResume, onClose }: {
22
23
  client: import("./websocket-client.js").default;
23
24
  subscriptionId: string;
24
25
  channelType: string;
25
26
  params?: Record<string, any> | undefined;
27
+ lastEventId?: string | undefined;
26
28
  onMessage?: ((body: any) => void) | undefined;
27
29
  onDisconnect?: (() => void) | undefined;
28
30
  onResume?: (() => void) | undefined;
@@ -32,18 +34,32 @@ export default class VelociousWebsocketClientSubscription {
32
34
  subscriptionId: string;
33
35
  channelType: string;
34
36
  params: Record<string, any>;
37
+ lastEventId: string | undefined;
35
38
  _onMessage: ((body: any) => void) | undefined;
36
39
  _onDisconnect: (() => void) | undefined;
37
40
  _onResume: (() => void) | undefined;
38
41
  _onClose: ((reason: string) => void) | undefined;
42
+ _ready: boolean;
43
+ _resumeReadyOnResume: boolean;
39
44
  _subscribed: boolean;
45
+ _subscribeSent: boolean;
40
46
  _closed: boolean;
47
+ /** @returns {Promise<void>} */
48
+ _ensureReadyPromise(): Promise<void>;
41
49
  /** @type {Promise<void>} */
42
- ready: Promise<void>;
43
- _resolveReady: (value: void | PromiseLike<void>) => void;
44
- _rejectReady: (reason?: any) => void;
50
+ ready: Promise<void> | undefined;
51
+ _resolveReady: ((value: void | PromiseLike<void>) => void) | null | undefined;
52
+ _rejectReady: ((reason?: any) => void) | null | undefined;
53
+ /** @returns {void} */
54
+ _resolveReadyState(): void;
55
+ /** @returns {void} */
56
+ _markNotReady(): void;
45
57
  /** @returns {void} */
46
58
  _handleSubscribed(): void;
59
+ /** @returns {void} */
60
+ _markSubscribeSent(): void;
61
+ /** @returns {boolean} */
62
+ _needsSubscribe(): boolean;
47
63
  /**
48
64
  * @param {any} body
49
65
  * @returns {void}
@@ -58,11 +74,20 @@ export default class VelociousWebsocketClientSubscription {
58
74
  * @returns {void}
59
75
  */
60
76
  _handleClosed(reason: string): void;
77
+ /**
78
+ * @param {{timeoutMs?: number}} [params]
79
+ * @returns {Promise<void>}
80
+ */
81
+ waitForReady({ timeoutMs }?: {
82
+ timeoutMs?: number;
83
+ }): Promise<void>;
61
84
  /** @returns {void} */
62
85
  close(): void;
63
86
  /** @returns {boolean} */
64
87
  isClosed(): boolean;
65
88
  /** @returns {boolean} */
89
+ isReady(): boolean;
90
+ /** @returns {boolean} */
66
91
  isSubscribed(): boolean;
67
92
  }
68
93
  //# sourceMappingURL=websocket-channel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-channel.d.ts","sourceRoot":"","sources":["../../../src/http-client/websocket-channel.js"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH;IACE;;;;;;;;;;OAUG;IACH,yGATG;QAAsD,MAAM,EAApD,OAAO,uBAAuB,EAAE,OAAO;QAC1B,cAAc,EAA3B,MAAM;QACO,WAAW,EAAxB,MAAM;QACqB,MAAM;QACN,SAAS,WAA7B,GAAG,KAAK,IAAI;QACD,YAAY,UAAxB,IAAI;QACQ,QAAQ,UAApB,IAAI;QACsB,OAAO,aAA9B,MAAM,KAAK,IAAI;KAAgB,EAmBlD;IAhBC,gDAAoB;IACpB,uBAAoC;IACpC,oBAA8B;IAC9B,4BAA0B;IAC1B,oBAVgB,GAAG,KAAK,IAAI,cAUD;IAC3B,sBAVe,IAAI,cAUc;IACjC,kBAVe,IAAI,cAUM;IACzB,oBAVkB,MAAM,KAAK,IAAI,cAUV;IACvB,qBAAwB;IACxB,iBAAoB;IAEpB,4BAA4B;IAC5B,OADW,OAAO,CAAC,IAAI,CAAC,CAItB;IAFA,yDAA4B;IAC5B,qCAA0B;IAI9B,sBAAsB;IACtB,qBADc,IAAI,CAKjB;IAED;;;OAGG;IACH,qBAHW,GAAG,GACD,IAAI,CAKhB;IAED,sBAAsB;IACtB,uBADc,IAAI,CAIjB;IAED,sBAAsB;IACtB,kBADc,IAAI,CAIjB;IAED;;;OAGG;IACH,sBAHW,MAAM,GACJ,IAAI,CAahB;IAED,sBAAsB;IACtB,SADc,IAAI,CAcjB;IAED,yBAAyB;IACzB,YADc,OAAO,CACa;IAElC,yBAAyB;IACzB,gBADc,OAAO,CACsC;CAC5D"}
1
+ {"version":3,"file":"websocket-channel.d.ts","sourceRoot":"","sources":["../../../src/http-client/websocket-channel.js"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH;IACE;;;;;;;;;;;OAWG;IACH,sHAVG;QAAsD,MAAM,EAApD,OAAO,uBAAuB,EAAE,OAAO;QAC1B,cAAc,EAA3B,MAAM;QACO,WAAW,EAAxB,MAAM;QACqB,MAAM;QACnB,WAAW;QACE,SAAS,WAA7B,GAAG,KAAK,IAAI;QACD,YAAY,UAAxB,IAAI;QACQ,QAAQ,UAApB,IAAI;QACsB,OAAO,aAA9B,MAAM,KAAK,IAAI;KAAgB,EAmBlD;IAhBC,gDAAoB;IACpB,uBAAoC;IACpC,oBAA8B;IAC9B,4BAA0B;IAC1B,gCAA8B;IAC9B,oBAXgB,GAAG,KAAK,IAAI,cAWD;IAC3B,sBAXe,IAAI,cAWc;IACjC,kBAXe,IAAI,cAWM;IACzB,oBAXkB,MAAM,KAAK,IAAI,cAWV;IACvB,gBAAmB;IACnB,8BAAiC;IACjC,qBAAwB;IACxB,wBAA2B;IAC3B,iBAAoB;IAKtB,+BAA+B;IAC/B,uBADc,OAAO,CAAC,IAAI,CAAC,CAW1B;IARG,4BAA4B;IAC5B,iCAGE;IAFA,8EAA4B;IAC5B,0DAA0B;IAOhC,sBAAsB;IACtB,sBADc,IAAI,CAMjB;IAED,sBAAsB;IACtB,iBADc,IAAI,CAGjB;IAED,sBAAsB;IACtB,qBADc,IAAI,CAKjB;IAED,sBAAsB;IACtB,sBADc,IAAI,CAGjB;IAED,yBAAyB;IACzB,mBADc,OAAO,CAGpB;IAED;;;OAGG;IACH,qBAHW,GAAG,GACD,IAAI,CAKhB;IAED,sBAAsB;IACtB,uBADc,IAAI,CAOjB;IAED,sBAAsB;IACtB,kBADc,IAAI,CASjB;IAED;;;OAGG;IACH,sBAHW,MAAM,GACJ,IAAI,CAiBhB;IAED;;;OAGG;IACH,6BAHW;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAC,GAClB,OAAO,CAAC,IAAI,CAAC,CAWzB;IAED,sBAAsB;IACtB,SADc,IAAI,CAcjB;IAED,yBAAyB;IACzB,YADc,OAAO,CACa;IAElC,yBAAyB;IACzB,WADc,OAAO,CACW;IAEhC,yBAAyB;IACzB,gBADc,OAAO,CACsC;CAC5D"}
@@ -14,34 +14,65 @@ export default class VelociousWebsocketClientSubscription {
14
14
  * @param {string} args.subscriptionId
15
15
  * @param {string} args.channelType
16
16
  * @param {Record<string, any>} [args.params]
17
+ * @param {string} [args.lastEventId]
17
18
  * @param {(body: any) => void} [args.onMessage]
18
19
  * @param {() => void} [args.onDisconnect]
19
20
  * @param {() => void} [args.onResume]
20
21
  * @param {(reason: string) => void} [args.onClose]
21
22
  */
22
- constructor({ client, subscriptionId, channelType, params, onMessage, onDisconnect, onResume, onClose }) {
23
+ constructor({ client, subscriptionId, channelType, params, lastEventId, onMessage, onDisconnect, onResume, onClose }) {
23
24
  this.client = client;
24
25
  this.subscriptionId = subscriptionId;
25
26
  this.channelType = channelType;
26
27
  this.params = params || {};
28
+ this.lastEventId = lastEventId;
27
29
  this._onMessage = onMessage;
28
30
  this._onDisconnect = onDisconnect;
29
31
  this._onResume = onResume;
30
32
  this._onClose = onClose;
33
+ this._ready = false;
34
+ this._resumeReadyOnResume = false;
31
35
  this._subscribed = false;
36
+ this._subscribeSent = false;
32
37
  this._closed = false;
33
- /** @type {Promise<void>} */
34
- this.ready = new Promise((resolve, reject) => {
35
- this._resolveReady = resolve;
36
- this._rejectReady = reject;
37
- });
38
+ this._ensureReadyPromise();
39
+ }
40
+ /** @returns {Promise<void>} */
41
+ _ensureReadyPromise() {
42
+ if (!this.ready || !this._resolveReady || !this._rejectReady) {
43
+ /** @type {Promise<void>} */
44
+ this.ready = new Promise((resolve, reject) => {
45
+ this._resolveReady = resolve;
46
+ this._rejectReady = reject;
47
+ });
48
+ }
49
+ return this.ready;
50
+ }
51
+ /** @returns {void} */
52
+ _resolveReadyState() {
53
+ this._ready = true;
54
+ this._resolveReady?.();
55
+ this._resolveReady = null;
56
+ this._rejectReady = null;
57
+ }
58
+ /** @returns {void} */
59
+ _markNotReady() {
60
+ this._ready = false;
38
61
  }
39
62
  /** @returns {void} */
40
63
  _handleSubscribed() {
41
64
  if (this._closed || this._subscribed)
42
65
  return;
43
66
  this._subscribed = true;
44
- this._resolveReady?.();
67
+ this._resolveReadyState();
68
+ }
69
+ /** @returns {void} */
70
+ _markSubscribeSent() {
71
+ this._subscribeSent = true;
72
+ }
73
+ /** @returns {boolean} */
74
+ _needsSubscribe() {
75
+ return !this._closed && !this._subscribeSent;
45
76
  }
46
77
  /**
47
78
  * @param {any} body
@@ -56,12 +87,20 @@ export default class VelociousWebsocketClientSubscription {
56
87
  _handleDisconnected() {
57
88
  if (this._closed)
58
89
  return;
90
+ this._resumeReadyOnResume ||= this._subscribed;
91
+ this._subscribed = false;
92
+ this._markNotReady();
59
93
  this._onDisconnect?.();
60
94
  }
61
95
  /** @returns {void} */
62
96
  _handleResumed() {
63
97
  if (this._closed)
64
98
  return;
99
+ if (this._resumeReadyOnResume) {
100
+ this._subscribed = true;
101
+ this._resolveReadyState();
102
+ }
103
+ this._resumeReadyOnResume = false;
65
104
  this._onResume?.();
66
105
  }
67
106
  /**
@@ -76,11 +115,27 @@ export default class VelociousWebsocketClientSubscription {
76
115
  this._onClose?.(reason);
77
116
  }
78
117
  finally {
79
- if (!this._subscribed) {
118
+ this._resumeReadyOnResume = false;
119
+ if (!this._ready) {
80
120
  this._rejectReady?.(new Error(`Subscription closed before acknowledgement: ${reason}`));
81
121
  }
122
+ this._resolveReady = null;
123
+ this._rejectReady = null;
82
124
  }
83
125
  }
126
+ /**
127
+ * @param {{timeoutMs?: number}} [params]
128
+ * @returns {Promise<void>}
129
+ */
130
+ async waitForReady({ timeoutMs = 5000 } = {}) {
131
+ if (this._ready)
132
+ return;
133
+ const readyPromise = this._ensureReadyPromise();
134
+ const timeoutPromise = new Promise((_, reject) => {
135
+ setTimeout(() => reject(new Error(`Subscription not ready after ${timeoutMs}ms`)), timeoutMs);
136
+ });
137
+ await Promise.race([readyPromise, timeoutPromise]);
138
+ }
84
139
  /** @returns {void} */
85
140
  close() {
86
141
  if (this._closed)
@@ -99,6 +154,8 @@ export default class VelociousWebsocketClientSubscription {
99
154
  /** @returns {boolean} */
100
155
  isClosed() { return this._closed; }
101
156
  /** @returns {boolean} */
157
+ isReady() { return this._ready; }
158
+ /** @returns {boolean} */
102
159
  isSubscribed() { return this._subscribed && !this._closed; }
103
160
  }
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWNoYW5uZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaHR0cC1jbGllbnQvd2Vic29ja2V0LWNoYW5uZWwuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFPLG9DQUFvQztJQUN2RDs7Ozs7Ozs7OztPQVVHO0lBQ0gsWUFBWSxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUM7UUFDbkcsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDcEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUE7UUFDcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUE7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLElBQUksRUFBRSxDQUFBO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFBO1FBQzNCLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFBO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFBO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFBO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO1FBRXBCLDRCQUE0QjtRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFBO1lBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFBO1FBQzVCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELHNCQUFzQjtJQUN0QixpQkFBaUI7UUFDZixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFNO1FBQzVDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFBO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQUMsSUFBSTtRQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTTtRQUN4QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixtQkFBbUI7UUFDakIsSUFBSSxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU07UUFDeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUE7SUFDeEIsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixjQUFjO1FBQ1osSUFBSSxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU07UUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUE7SUFDcEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWEsQ0FBQyxNQUFNO1FBQ2xCLElBQUksSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFNO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1FBRW5CLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN6QixDQUFDO2dCQUFTLENBQUM7WUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsK0NBQStDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUN6RixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxzQkFBc0I7SUFDdEIsS0FBSztRQUNILElBQUksSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFNO1FBRXhCLElBQUksQ0FBQztZQUNILElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFDLElBQUksRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBQyxDQUFDLENBQUE7WUFDOUYsQ0FBQztRQUNILENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxpRUFBaUU7UUFDbkUsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQzNELElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBRUQseUJBQXlCO0lBQ3pCLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFDO0lBRWxDLHlCQUF5QjtJQUN6QixZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUM7Q0FDNUQiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuLyoqXG4gKiBDbGllbnQtc2lkZSBoYW5kbGUgZm9yIGEgY2hhbm5lbCBzdWJzY3JpcHRpb24gb3BlbmVkIHZpYVxuICogYFZlbG9jaW91c1dlYnNvY2tldENsaWVudC5zdWJzY3JpYmVDaGFubmVsKClgLiBNaXJyb3JzIHRoZSBzZXJ2ZXInc1xuICogc3Vic2NyaXB0aW9uIGxpZmVjeWNsZSDigJQgYHN1YnNjcmliZWRgIChyZXNvbHZlcyBgcmVhZHlgKSAvIGBvbk1lc3NhZ2VgIC9cbiAqIGBvbkNsb3NlYC5cbiAqXG4gKiBTZWUgYGRvY3Mvd2Vic29ja2V0LWNoYW5uZWxzLm1kYCBmb3IgdGhlIHdpcmUgcHJvdG9jb2wuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c1dlYnNvY2tldENsaWVudFN1YnNjcmlwdGlvbiB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vd2Vic29ja2V0LWNsaWVudC5qc1wiKS5kZWZhdWx0fSBhcmdzLmNsaWVudFxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5zdWJzY3JpcHRpb25JZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5jaGFubmVsVHlwZVxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFthcmdzLnBhcmFtc11cbiAgICogQHBhcmFtIHsoYm9keTogYW55KSA9PiB2b2lkfSBbYXJncy5vbk1lc3NhZ2VdXG4gICAqIEBwYXJhbSB7KCkgPT4gdm9pZH0gW2FyZ3Mub25EaXNjb25uZWN0XVxuICAgKiBAcGFyYW0geygpID0+IHZvaWR9IFthcmdzLm9uUmVzdW1lXVxuICAgKiBAcGFyYW0geyhyZWFzb246IHN0cmluZykgPT4gdm9pZH0gW2FyZ3Mub25DbG9zZV1cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtjbGllbnQsIHN1YnNjcmlwdGlvbklkLCBjaGFubmVsVHlwZSwgcGFyYW1zLCBvbk1lc3NhZ2UsIG9uRGlzY29ubmVjdCwgb25SZXN1bWUsIG9uQ2xvc2V9KSB7XG4gICAgdGhpcy5jbGllbnQgPSBjbGllbnRcbiAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gc3Vic2NyaXB0aW9uSWRcbiAgICB0aGlzLmNoYW5uZWxUeXBlID0gY2hhbm5lbFR5cGVcbiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcyB8fCB7fVxuICAgIHRoaXMuX29uTWVzc2FnZSA9IG9uTWVzc2FnZVxuICAgIHRoaXMuX29uRGlzY29ubmVjdCA9IG9uRGlzY29ubmVjdFxuICAgIHRoaXMuX29uUmVzdW1lID0gb25SZXN1bWVcbiAgICB0aGlzLl9vbkNsb3NlID0gb25DbG9zZVxuICAgIHRoaXMuX3N1YnNjcmliZWQgPSBmYWxzZVxuICAgIHRoaXMuX2Nsb3NlZCA9IGZhbHNlXG5cbiAgICAvKiogQHR5cGUge1Byb21pc2U8dm9pZD59ICovXG4gICAgdGhpcy5yZWFkeSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuX3Jlc29sdmVSZWFkeSA9IHJlc29sdmVcbiAgICAgIHRoaXMuX3JlamVjdFJlYWR5ID0gcmVqZWN0XG4gICAgfSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgX2hhbmRsZVN1YnNjcmliZWQoKSB7XG4gICAgaWYgKHRoaXMuX2Nsb3NlZCB8fCB0aGlzLl9zdWJzY3JpYmVkKSByZXR1cm5cbiAgICB0aGlzLl9zdWJzY3JpYmVkID0gdHJ1ZVxuICAgIHRoaXMuX3Jlc29sdmVSZWFkeT8uKClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2FueX0gYm9keVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIF9oYW5kbGVNZXNzYWdlKGJvZHkpIHtcbiAgICBpZiAodGhpcy5fY2xvc2VkKSByZXR1cm5cbiAgICB0aGlzLl9vbk1lc3NhZ2U/Lihib2R5KVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBfaGFuZGxlRGlzY29ubmVjdGVkKCkge1xuICAgIGlmICh0aGlzLl9jbG9zZWQpIHJldHVyblxuICAgIHRoaXMuX29uRGlzY29ubmVjdD8uKClcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgX2hhbmRsZVJlc3VtZWQoKSB7XG4gICAgaWYgKHRoaXMuX2Nsb3NlZCkgcmV0dXJuXG4gICAgdGhpcy5fb25SZXN1bWU/LigpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IHJlYXNvblxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIF9oYW5kbGVDbG9zZWQocmVhc29uKSB7XG4gICAgaWYgKHRoaXMuX2Nsb3NlZCkgcmV0dXJuXG4gICAgdGhpcy5fY2xvc2VkID0gdHJ1ZVxuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuX29uQ2xvc2U/LihyZWFzb24pXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmICghdGhpcy5fc3Vic2NyaWJlZCkge1xuICAgICAgICB0aGlzLl9yZWplY3RSZWFkeT8uKG5ldyBFcnJvcihgU3Vic2NyaXB0aW9uIGNsb3NlZCBiZWZvcmUgYWNrbm93bGVkZ2VtZW50OiAke3JlYXNvbn1gKSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIGNsb3NlKCkge1xuICAgIGlmICh0aGlzLl9jbG9zZWQpIHJldHVyblxuXG4gICAgdHJ5IHtcbiAgICAgIGlmICh0aGlzLmNsaWVudC5pc09wZW4oKSkge1xuICAgICAgICB0aGlzLmNsaWVudC5fc2VuZE1lc3NhZ2Uoe3R5cGU6IFwiY2hhbm5lbC11bnN1YnNjcmliZVwiLCBzdWJzY3JpcHRpb25JZDogdGhpcy5zdWJzY3JpcHRpb25JZH0pXG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBTb2NrZXQgYWxyZWFkeSBnb25lOyBzZXJ2ZXIgd2lsbCBjbGVhbiB1cCBvbiBzZXNzaW9uIHRlYXJkb3duLlxuICAgIH1cblxuICAgIHRoaXMuY2xpZW50Ll9yZW1vdmVDaGFubmVsU3Vic2NyaXB0aW9uKHRoaXMuc3Vic2NyaXB0aW9uSWQpXG4gICAgdGhpcy5faGFuZGxlQ2xvc2VkKFwiY2xpZW50X3Vuc3Vic2NyaWJlXCIpXG4gIH1cblxuICAvKiogQHJldHVybnMge2Jvb2xlYW59ICovXG4gIGlzQ2xvc2VkKCkgeyByZXR1cm4gdGhpcy5fY2xvc2VkIH1cblxuICAvKiogQHJldHVybnMge2Jvb2xlYW59ICovXG4gIGlzU3Vic2NyaWJlZCgpIHsgcmV0dXJuIHRoaXMuX3N1YnNjcmliZWQgJiYgIXRoaXMuX2Nsb3NlZCB9XG59XG4iXX0=
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWNoYW5uZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaHR0cC1jbGllbnQvd2Vic29ja2V0LWNoYW5uZWwuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFPLG9DQUFvQztJQUN2RDs7Ozs7Ozs7Ozs7T0FXRztJQUNILFlBQVksRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBQztRQUNoSCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQTtRQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUE7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUE7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUE7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUE7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUE7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7UUFDbkIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQTtRQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQTtRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQTtRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtRQUVwQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQTtJQUM1QixDQUFDO0lBRUQsK0JBQStCO0lBQy9CLG1CQUFtQjtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDN0QsNEJBQTRCO1lBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFBO2dCQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQTtZQUM1QixDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUE7SUFDbkIsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUE7UUFDbEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUE7UUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUE7UUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUE7SUFDMUIsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixhQUFhO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7SUFDckIsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixpQkFBaUI7UUFDZixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFNO1FBQzVDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO0lBQzNCLENBQUM7SUFFRCxzQkFBc0I7SUFDdEIsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFBO0lBQzVCLENBQUM7SUFFRCx5QkFBeUI7SUFDekIsZUFBZTtRQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYyxDQUFDLElBQUk7UUFDakIsSUFBSSxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU07UUFDeEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3pCLENBQUM7SUFFRCxzQkFBc0I7SUFDdEIsbUJBQW1CO1FBQ2pCLElBQUksSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFNO1FBQ3hCLElBQUksQ0FBQyxvQkFBb0IsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFBO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFBO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUNwQixJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBRUQsc0JBQXNCO0lBQ3RCLGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTTtRQUN4QixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO1lBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO1FBQzNCLENBQUM7UUFDRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFBO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFBO0lBQ3BCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhLENBQUMsTUFBTTtRQUNsQixJQUFJLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTTtRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtRQUVuQixJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDekIsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQTtZQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsK0NBQStDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUN6RixDQUFDO1lBRUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUE7WUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUE7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUMsU0FBUyxHQUFHLElBQUksRUFBQyxHQUFHLEVBQUU7UUFDeEMsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU07UUFFdkIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUE7UUFDL0MsTUFBTSxjQUFjLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDL0MsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsU0FBUyxJQUFJLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQy9GLENBQUMsQ0FBQyxDQUFBO1FBRUYsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU07UUFFeEIsSUFBSSxDQUFDO1lBQ0gsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUMsSUFBSSxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFDLENBQUMsQ0FBQTtZQUM5RixDQUFDO1FBQ0gsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLGlFQUFpRTtRQUNuRSxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDM0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0lBQzFDLENBQUM7SUFFRCx5QkFBeUI7SUFDekIsUUFBUSxLQUFLLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUM7SUFFbEMseUJBQXlCO0lBQ3pCLE9BQU8sS0FBSyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUEsQ0FBQyxDQUFDO0lBRWhDLHlCQUF5QjtJQUN6QixZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUM7Q0FDNUQiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuLyoqXG4gKiBDbGllbnQtc2lkZSBoYW5kbGUgZm9yIGEgY2hhbm5lbCBzdWJzY3JpcHRpb24gb3BlbmVkIHZpYVxuICogYFZlbG9jaW91c1dlYnNvY2tldENsaWVudC5zdWJzY3JpYmVDaGFubmVsKClgLiBNaXJyb3JzIHRoZSBzZXJ2ZXInc1xuICogc3Vic2NyaXB0aW9uIGxpZmVjeWNsZSDigJQgYHN1YnNjcmliZWRgIChyZXNvbHZlcyBgcmVhZHlgKSAvIGBvbk1lc3NhZ2VgIC9cbiAqIGBvbkNsb3NlYC5cbiAqXG4gKiBTZWUgYGRvY3Mvd2Vic29ja2V0LWNoYW5uZWxzLm1kYCBmb3IgdGhlIHdpcmUgcHJvdG9jb2wuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c1dlYnNvY2tldENsaWVudFN1YnNjcmlwdGlvbiB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vd2Vic29ja2V0LWNsaWVudC5qc1wiKS5kZWZhdWx0fSBhcmdzLmNsaWVudFxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5zdWJzY3JpcHRpb25JZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5jaGFubmVsVHlwZVxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFthcmdzLnBhcmFtc11cbiAgICogQHBhcmFtIHtzdHJpbmd9IFthcmdzLmxhc3RFdmVudElkXVxuICAgKiBAcGFyYW0geyhib2R5OiBhbnkpID0+IHZvaWR9IFthcmdzLm9uTWVzc2FnZV1cbiAgICogQHBhcmFtIHsoKSA9PiB2b2lkfSBbYXJncy5vbkRpc2Nvbm5lY3RdXG4gICAqIEBwYXJhbSB7KCkgPT4gdm9pZH0gW2FyZ3Mub25SZXN1bWVdXG4gICAqIEBwYXJhbSB7KHJlYXNvbjogc3RyaW5nKSA9PiB2b2lkfSBbYXJncy5vbkNsb3NlXVxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NsaWVudCwgc3Vic2NyaXB0aW9uSWQsIGNoYW5uZWxUeXBlLCBwYXJhbXMsIGxhc3RFdmVudElkLCBvbk1lc3NhZ2UsIG9uRGlzY29ubmVjdCwgb25SZXN1bWUsIG9uQ2xvc2V9KSB7XG4gICAgdGhpcy5jbGllbnQgPSBjbGllbnRcbiAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gc3Vic2NyaXB0aW9uSWRcbiAgICB0aGlzLmNoYW5uZWxUeXBlID0gY2hhbm5lbFR5cGVcbiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcyB8fCB7fVxuICAgIHRoaXMubGFzdEV2ZW50SWQgPSBsYXN0RXZlbnRJZFxuICAgIHRoaXMuX29uTWVzc2FnZSA9IG9uTWVzc2FnZVxuICAgIHRoaXMuX29uRGlzY29ubmVjdCA9IG9uRGlzY29ubmVjdFxuICAgIHRoaXMuX29uUmVzdW1lID0gb25SZXN1bWVcbiAgICB0aGlzLl9vbkNsb3NlID0gb25DbG9zZVxuICAgIHRoaXMuX3JlYWR5ID0gZmFsc2VcbiAgICB0aGlzLl9yZXN1bWVSZWFkeU9uUmVzdW1lID0gZmFsc2VcbiAgICB0aGlzLl9zdWJzY3JpYmVkID0gZmFsc2VcbiAgICB0aGlzLl9zdWJzY3JpYmVTZW50ID0gZmFsc2VcbiAgICB0aGlzLl9jbG9zZWQgPSBmYWxzZVxuXG4gICAgdGhpcy5fZW5zdXJlUmVhZHlQcm9taXNlKClcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gKi9cbiAgX2Vuc3VyZVJlYWR5UHJvbWlzZSgpIHtcbiAgICBpZiAoIXRoaXMucmVhZHkgfHwgIXRoaXMuX3Jlc29sdmVSZWFkeSB8fCAhdGhpcy5fcmVqZWN0UmVhZHkpIHtcbiAgICAgIC8qKiBAdHlwZSB7UHJvbWlzZTx2b2lkPn0gKi9cbiAgICAgIHRoaXMucmVhZHkgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIHRoaXMuX3Jlc29sdmVSZWFkeSA9IHJlc29sdmVcbiAgICAgICAgdGhpcy5fcmVqZWN0UmVhZHkgPSByZWplY3RcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmVhZHlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgX3Jlc29sdmVSZWFkeVN0YXRlKCkge1xuICAgIHRoaXMuX3JlYWR5ID0gdHJ1ZVxuICAgIHRoaXMuX3Jlc29sdmVSZWFkeT8uKClcbiAgICB0aGlzLl9yZXNvbHZlUmVhZHkgPSBudWxsXG4gICAgdGhpcy5fcmVqZWN0UmVhZHkgPSBudWxsXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIF9tYXJrTm90UmVhZHkoKSB7XG4gICAgdGhpcy5fcmVhZHkgPSBmYWxzZVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBfaGFuZGxlU3Vic2NyaWJlZCgpIHtcbiAgICBpZiAodGhpcy5fY2xvc2VkIHx8IHRoaXMuX3N1YnNjcmliZWQpIHJldHVyblxuICAgIHRoaXMuX3N1YnNjcmliZWQgPSB0cnVlXG4gICAgdGhpcy5fcmVzb2x2ZVJlYWR5U3RhdGUoKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBfbWFya1N1YnNjcmliZVNlbnQoKSB7XG4gICAgdGhpcy5fc3Vic2NyaWJlU2VudCA9IHRydWVcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7Ym9vbGVhbn0gKi9cbiAgX25lZWRzU3Vic2NyaWJlKCkge1xuICAgIHJldHVybiAhdGhpcy5fY2xvc2VkICYmICF0aGlzLl9zdWJzY3JpYmVTZW50XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHthbnl9IGJvZHlcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBfaGFuZGxlTWVzc2FnZShib2R5KSB7XG4gICAgaWYgKHRoaXMuX2Nsb3NlZCkgcmV0dXJuXG4gICAgdGhpcy5fb25NZXNzYWdlPy4oYm9keSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgX2hhbmRsZURpc2Nvbm5lY3RlZCgpIHtcbiAgICBpZiAodGhpcy5fY2xvc2VkKSByZXR1cm5cbiAgICB0aGlzLl9yZXN1bWVSZWFkeU9uUmVzdW1lIHx8PSB0aGlzLl9zdWJzY3JpYmVkXG4gICAgdGhpcy5fc3Vic2NyaWJlZCA9IGZhbHNlXG4gICAgdGhpcy5fbWFya05vdFJlYWR5KClcbiAgICB0aGlzLl9vbkRpc2Nvbm5lY3Q/LigpXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIF9oYW5kbGVSZXN1bWVkKCkge1xuICAgIGlmICh0aGlzLl9jbG9zZWQpIHJldHVyblxuICAgIGlmICh0aGlzLl9yZXN1bWVSZWFkeU9uUmVzdW1lKSB7XG4gICAgICB0aGlzLl9zdWJzY3JpYmVkID0gdHJ1ZVxuICAgICAgdGhpcy5fcmVzb2x2ZVJlYWR5U3RhdGUoKVxuICAgIH1cbiAgICB0aGlzLl9yZXN1bWVSZWFkeU9uUmVzdW1lID0gZmFsc2VcbiAgICB0aGlzLl9vblJlc3VtZT8uKClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVhc29uXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgX2hhbmRsZUNsb3NlZChyZWFzb24pIHtcbiAgICBpZiAodGhpcy5fY2xvc2VkKSByZXR1cm5cbiAgICB0aGlzLl9jbG9zZWQgPSB0cnVlXG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5fb25DbG9zZT8uKHJlYXNvbilcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5fcmVzdW1lUmVhZHlPblJlc3VtZSA9IGZhbHNlXG4gICAgICBpZiAoIXRoaXMuX3JlYWR5KSB7XG4gICAgICAgIHRoaXMuX3JlamVjdFJlYWR5Py4obmV3IEVycm9yKGBTdWJzY3JpcHRpb24gY2xvc2VkIGJlZm9yZSBhY2tub3dsZWRnZW1lbnQ6ICR7cmVhc29ufWApKVxuICAgICAgfVxuXG4gICAgICB0aGlzLl9yZXNvbHZlUmVhZHkgPSBudWxsXG4gICAgICB0aGlzLl9yZWplY3RSZWFkeSA9IG51bGxcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHt7dGltZW91dE1zPzogbnVtYmVyfX0gW3BhcmFtc11cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBhc3luYyB3YWl0Rm9yUmVhZHkoe3RpbWVvdXRNcyA9IDUwMDB9ID0ge30pIHtcbiAgICBpZiAodGhpcy5fcmVhZHkpIHJldHVyblxuXG4gICAgY29uc3QgcmVhZHlQcm9taXNlID0gdGhpcy5fZW5zdXJlUmVhZHlQcm9taXNlKClcbiAgICBjb25zdCB0aW1lb3V0UHJvbWlzZSA9IG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KG5ldyBFcnJvcihgU3Vic2NyaXB0aW9uIG5vdCByZWFkeSBhZnRlciAke3RpbWVvdXRNc31tc2ApKSwgdGltZW91dE1zKVxuICAgIH0pXG5cbiAgICBhd2FpdCBQcm9taXNlLnJhY2UoW3JlYWR5UHJvbWlzZSwgdGltZW91dFByb21pc2VdKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBjbG9zZSgpIHtcbiAgICBpZiAodGhpcy5fY2xvc2VkKSByZXR1cm5cblxuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy5jbGllbnQuaXNPcGVuKCkpIHtcbiAgICAgICAgdGhpcy5jbGllbnQuX3NlbmRNZXNzYWdlKHt0eXBlOiBcImNoYW5uZWwtdW5zdWJzY3JpYmVcIiwgc3Vic2NyaXB0aW9uSWQ6IHRoaXMuc3Vic2NyaXB0aW9uSWR9KVxuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gU29ja2V0IGFscmVhZHkgZ29uZTsgc2VydmVyIHdpbGwgY2xlYW4gdXAgb24gc2Vzc2lvbiB0ZWFyZG93bi5cbiAgICB9XG5cbiAgICB0aGlzLmNsaWVudC5fcmVtb3ZlQ2hhbm5lbFN1YnNjcmlwdGlvbih0aGlzLnN1YnNjcmlwdGlvbklkKVxuICAgIHRoaXMuX2hhbmRsZUNsb3NlZChcImNsaWVudF91bnN1YnNjcmliZVwiKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtib29sZWFufSAqL1xuICBpc0Nsb3NlZCgpIHsgcmV0dXJuIHRoaXMuX2Nsb3NlZCB9XG5cbiAgLyoqIEByZXR1cm5zIHtib29sZWFufSAqL1xuICBpc1JlYWR5KCkgeyByZXR1cm4gdGhpcy5fcmVhZHkgfVxuXG4gIC8qKiBAcmV0dXJucyB7Ym9vbGVhbn0gKi9cbiAgaXNTdWJzY3JpYmVkKCkgeyByZXR1cm4gdGhpcy5fc3Vic2NyaWJlZCAmJiAhdGhpcy5fY2xvc2VkIH1cbn1cbiJdfQ==
@@ -7,13 +7,20 @@ export default class VelociousWebsocketClient {
7
7
  * @param {object} [args] - Options object.
8
8
  * @param {boolean} [args.autoReconnect] - Enable auto-reconnect with exponential backoff.
9
9
  * @param {boolean} [args.debug] - Whether debug.
10
+ * @param {{getIsOnline?: () => boolean | Promise<boolean>, subscribe?: (callback: (isOnline: boolean) => void) => (() => void) | {remove: () => void}}} [args.networkMonitor] - Optional online-state adapter. When provided, auto-reconnect can wait for the network to report online before reconnecting, and open sockets are closed when the monitor reports offline.
10
11
  * @param {number[]} [args.reconnectDelays] - Backoff delays in ms (default: [1000, 2000, 4000, 8000, 15000]).
11
12
  * @param {{get: () => string | null | undefined | Promise<string | null | undefined>, set: (sessionId: string) => void | Promise<void>, clear: () => void | Promise<void>}} [args.sessionStore] - Optional sessionId persistence hook. When provided, the client writes every `session-established` / `session-resumed` id via `store.set(id)` and clears it on `session-gone`. Before the first `connect()`, the client reads any persisted id via `store.get()` and attempts resumption. Apps should back this by whatever persistence layer survives page reloads (localStorage, a cookie, SQLite, etc.).
12
13
  * @param {string} [args.url] Full websocket URL (default: ws://127.0.0.1:3006/websocket)
13
14
  */
14
- constructor({ autoReconnect, debug, reconnectDelays, sessionStore, url }?: {
15
+ constructor({ autoReconnect, debug, networkMonitor, reconnectDelays, sessionStore, url }?: {
15
16
  autoReconnect?: boolean | undefined;
16
17
  debug?: boolean | undefined;
18
+ networkMonitor?: {
19
+ getIsOnline?: () => boolean | Promise<boolean>;
20
+ subscribe?: (callback: (isOnline: boolean) => void) => (() => void) | {
21
+ remove: () => void;
22
+ };
23
+ } | undefined;
17
24
  reconnectDelays?: number[] | undefined;
18
25
  sessionStore?: {
19
26
  get: () => string | null | undefined | Promise<string | null | undefined>;
@@ -46,6 +53,8 @@ export default class VelociousWebsocketClient {
46
53
  disconnectedSince: number | null;
47
54
  /** @type {number} */
48
55
  reconnectAttempt: number;
56
+ /** @type {number} */
57
+ connectionAttempts: number;
49
58
  /** @type {number[]} */
50
59
  reconnectDelays: number[];
51
60
  /** @type {ReturnType<typeof setTimeout> | null} */
@@ -74,6 +83,19 @@ export default class VelociousWebsocketClient {
74
83
  } | undefined;
75
84
  /** @type {boolean} - true once the sessionStore has been consulted for a restored id. */
76
85
  _sessionStoreRestored: boolean;
86
+ /** @type {{getIsOnline?: () => boolean | Promise<boolean>, subscribe?: (callback: (isOnline: boolean) => void) => (() => void) | {remove: () => void}} | undefined} */
87
+ _networkMonitor: {
88
+ getIsOnline?: () => boolean | Promise<boolean>;
89
+ subscribe?: (callback: (isOnline: boolean) => void) => (() => void) | {
90
+ remove: () => void;
91
+ };
92
+ } | undefined;
93
+ /** @type {null | (() => void) | {remove: () => void}} */
94
+ _networkMonitorSubscription: null | (() => void) | {
95
+ remove: () => void;
96
+ };
97
+ /** @type {boolean} */
98
+ _waitingForOnline: boolean;
77
99
  /** @returns {boolean} */
78
100
  isOpen(): boolean;
79
101
  /**
@@ -103,8 +125,9 @@ export default class VelociousWebsocketClient {
103
125
  */
104
126
  _removeConnection(connectionId: string): void;
105
127
  /**
106
- * Subscribes to a named WebsocketChannel. Requires the socket to
107
- * already be connected.
128
+ * Subscribes to a named WebsocketChannel. If the socket is not yet
129
+ * open, the subscription is queued and sent once a connection is
130
+ * established.
108
131
  *
109
132
  * @param {string} channelType - Name the server registered the channel under.
110
133
  * @param {{params?: Record<string, any>, lastEventId?: string, onMessage?: (body: any) => void, onDisconnect?: () => void, onResume?: () => void, onClose?: (reason: string) => void}} [options]
@@ -123,6 +146,21 @@ export default class VelociousWebsocketClient {
123
146
  * @returns {void}
124
147
  */
125
148
  _removeChannelSubscription(subscriptionId: string): void;
149
+ /**
150
+ * @param {VelociousWebsocketClientSubscription} subscription
151
+ * @returns {void}
152
+ */
153
+ _sendChannelSubscribe(subscription: VelociousWebsocketClientSubscription): void;
154
+ /** @returns {void} */
155
+ _sendPendingChannelSubscriptions(): void;
156
+ /** @returns {Promise<boolean>} */
157
+ _isOnline(): Promise<boolean>;
158
+ /** @returns {Promise<boolean>} */
159
+ _shouldWaitForOnline(): Promise<boolean>;
160
+ /** @returns {void} */
161
+ _ensureNetworkMonitorSubscription(): void;
162
+ /** @returns {void} */
163
+ _teardownNetworkMonitorSubscription(): void;
126
164
  /**
127
165
  * Sets a global metadata value that is sent to the server.
128
166
  * For WebSocket connections, a metadata update message is sent immediately.
@@ -135,16 +173,19 @@ export default class VelociousWebsocketClient {
135
173
  getMetadata(): Record<string, any>;
136
174
  /**
137
175
  * Ensure a websocket connection is open.
176
+ * Auto-reconnect and online gating are enabled by default.
177
+ * Pass `autoReconnect: false` or `waitForOnline: false` only when a caller
178
+ * explicitly needs lower-level behavior.
179
+ * @param {{autoReconnect?: boolean, waitForOnline?: boolean, resetReconnectState?: boolean}} [options]
138
180
  * @returns {Promise<void>} - Resolves when complete.
139
181
  */
140
- connect(): Promise<void>;
182
+ connect({ autoReconnect, waitForOnline, resetReconnectState }?: {
183
+ autoReconnect?: boolean;
184
+ waitForOnline?: boolean;
185
+ resetReconnectState?: boolean;
186
+ }): Promise<void>;
141
187
  connectPromise: Promise<any> | undefined;
142
188
  socket: WebSocket | undefined;
143
- /**
144
- * Connect and enable auto-reconnect. Resets reconnect state.
145
- * @returns {Promise<void>} - Resolves when connected.
146
- */
147
- connectWithReconnect(): Promise<void>;
148
189
  /**
149
190
  * Close the websocket and clear pending state.
150
191
  * @returns {Promise<void>} - Resolves when complete.
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../../../src/http-client/websocket-client.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../../../src/http-client/websocket-client.js"],"names":[],"mappings":"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"}