velocious 1.0.338 → 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.
@@ -39,13 +39,21 @@ export default class VelociousWebsocketClientSubscription {
39
39
  _onDisconnect: (() => void) | undefined;
40
40
  _onResume: (() => void) | undefined;
41
41
  _onClose: ((reason: string) => void) | undefined;
42
+ _ready: boolean;
43
+ _resumeReadyOnResume: boolean;
42
44
  _subscribed: boolean;
43
45
  _subscribeSent: boolean;
44
46
  _closed: boolean;
47
+ /** @returns {Promise<void>} */
48
+ _ensureReadyPromise(): Promise<void>;
45
49
  /** @type {Promise<void>} */
46
- ready: Promise<void>;
47
- _resolveReady: (value: void | PromiseLike<void>) => void;
48
- _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;
49
57
  /** @returns {void} */
50
58
  _handleSubscribed(): void;
51
59
  /** @returns {void} */
@@ -66,11 +74,20 @@ export default class VelociousWebsocketClientSubscription {
66
74
  * @returns {void}
67
75
  */
68
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>;
69
84
  /** @returns {void} */
70
85
  close(): void;
71
86
  /** @returns {boolean} */
72
87
  isClosed(): boolean;
73
88
  /** @returns {boolean} */
89
+ isReady(): boolean;
90
+ /** @returns {boolean} */
74
91
  isSubscribed(): boolean;
75
92
  }
76
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;;;;;;;;;;;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,EAqBlD;IAlBC,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,qBAAwB;IACxB,wBAA2B;IAC3B,iBAAoB;IAEpB,4BAA4B;IAC5B,OADW,OAAO,CAAC,IAAI,CAAC,CAItB;IAFA,yDAA4B;IAC5B,qCAA0B;IAI9B,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,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"}
@@ -30,21 +30,41 @@ export default class VelociousWebsocketClientSubscription {
30
30
  this._onDisconnect = onDisconnect;
31
31
  this._onResume = onResume;
32
32
  this._onClose = onClose;
33
+ this._ready = false;
34
+ this._resumeReadyOnResume = false;
33
35
  this._subscribed = false;
34
36
  this._subscribeSent = false;
35
37
  this._closed = false;
36
- /** @type {Promise<void>} */
37
- this.ready = new Promise((resolve, reject) => {
38
- this._resolveReady = resolve;
39
- this._rejectReady = reject;
40
- });
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;
41
61
  }
42
62
  /** @returns {void} */
43
63
  _handleSubscribed() {
44
64
  if (this._closed || this._subscribed)
45
65
  return;
46
66
  this._subscribed = true;
47
- this._resolveReady?.();
67
+ this._resolveReadyState();
48
68
  }
49
69
  /** @returns {void} */
50
70
  _markSubscribeSent() {
@@ -67,12 +87,20 @@ export default class VelociousWebsocketClientSubscription {
67
87
  _handleDisconnected() {
68
88
  if (this._closed)
69
89
  return;
90
+ this._resumeReadyOnResume ||= this._subscribed;
91
+ this._subscribed = false;
92
+ this._markNotReady();
70
93
  this._onDisconnect?.();
71
94
  }
72
95
  /** @returns {void} */
73
96
  _handleResumed() {
74
97
  if (this._closed)
75
98
  return;
99
+ if (this._resumeReadyOnResume) {
100
+ this._subscribed = true;
101
+ this._resolveReadyState();
102
+ }
103
+ this._resumeReadyOnResume = false;
76
104
  this._onResume?.();
77
105
  }
78
106
  /**
@@ -87,11 +115,27 @@ export default class VelociousWebsocketClientSubscription {
87
115
  this._onClose?.(reason);
88
116
  }
89
117
  finally {
90
- if (!this._subscribed) {
118
+ this._resumeReadyOnResume = false;
119
+ if (!this._ready) {
91
120
  this._rejectReady?.(new Error(`Subscription closed before acknowledgement: ${reason}`));
92
121
  }
122
+ this._resolveReady = null;
123
+ this._rejectReady = null;
93
124
  }
94
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
+ }
95
139
  /** @returns {void} */
96
140
  close() {
97
141
  if (this._closed)
@@ -110,6 +154,8 @@ export default class VelociousWebsocketClientSubscription {
110
154
  /** @returns {boolean} */
111
155
  isClosed() { return this._closed; }
112
156
  /** @returns {boolean} */
157
+ isReady() { return this._ready; }
158
+ /** @returns {boolean} */
113
159
  isSubscribed() { return this._subscribed && !this._closed; }
114
160
  }
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWNoYW5uZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaHR0cC1jbGllbnQvd2Vic29ja2V0LWNoYW5uZWwuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFPLG9DQUFvQztJQUN2RDs7Ozs7Ozs7Ozs7T0FXRztJQUNILFlBQVksRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBQztRQUNoSCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQTtRQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUE7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUE7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUE7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUE7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUE7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUE7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUE7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7UUFFcEIsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUE7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUE7UUFDNUIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsc0JBQXNCO0lBQ3RCLGlCQUFpQjtRQUNmLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU07UUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUE7UUFDdkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUE7SUFDeEIsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUE7SUFDNUIsQ0FBQztJQUVELHlCQUF5QjtJQUN6QixlQUFlO1FBQ2IsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFBO0lBQzlDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQUMsSUFBSTtRQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTTtRQUN4QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixtQkFBbUI7UUFDakIsSUFBSSxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU07UUFDeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUE7SUFDeEIsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixjQUFjO1FBQ1osSUFBSSxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU07UUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUE7SUFDcEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWEsQ0FBQyxNQUFNO1FBQ2xCLElBQUksSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFNO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1FBRW5CLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN6QixDQUFDO2dCQUFTLENBQUM7WUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsK0NBQStDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUN6RixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxzQkFBc0I7SUFDdEIsS0FBSztRQUNILElBQUksSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFNO1FBRXhCLElBQUksQ0FBQztZQUNILElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFDLElBQUksRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBQyxDQUFDLENBQUE7WUFDOUYsQ0FBQztRQUNILENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxpRUFBaUU7UUFDbkUsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQzNELElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBRUQseUJBQXlCO0lBQ3pCLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFDO0lBRWxDLHlCQUF5QjtJQUN6QixZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUM7Q0FDNUQiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuLyoqXG4gKiBDbGllbnQtc2lkZSBoYW5kbGUgZm9yIGEgY2hhbm5lbCBzdWJzY3JpcHRpb24gb3BlbmVkIHZpYVxuICogYFZlbG9jaW91c1dlYnNvY2tldENsaWVudC5zdWJzY3JpYmVDaGFubmVsKClgLiBNaXJyb3JzIHRoZSBzZXJ2ZXInc1xuICogc3Vic2NyaXB0aW9uIGxpZmVjeWNsZSDigJQgYHN1YnNjcmliZWRgIChyZXNvbHZlcyBgcmVhZHlgKSAvIGBvbk1lc3NhZ2VgIC9cbiAqIGBvbkNsb3NlYC5cbiAqXG4gKiBTZWUgYGRvY3Mvd2Vic29ja2V0LWNoYW5uZWxzLm1kYCBmb3IgdGhlIHdpcmUgcHJvdG9jb2wuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c1dlYnNvY2tldENsaWVudFN1YnNjcmlwdGlvbiB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vd2Vic29ja2V0LWNsaWVudC5qc1wiKS5kZWZhdWx0fSBhcmdzLmNsaWVudFxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5zdWJzY3JpcHRpb25JZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5jaGFubmVsVHlwZVxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFthcmdzLnBhcmFtc11cbiAgICogQHBhcmFtIHtzdHJpbmd9IFthcmdzLmxhc3RFdmVudElkXVxuICAgKiBAcGFyYW0geyhib2R5OiBhbnkpID0+IHZvaWR9IFthcmdzLm9uTWVzc2FnZV1cbiAgICogQHBhcmFtIHsoKSA9PiB2b2lkfSBbYXJncy5vbkRpc2Nvbm5lY3RdXG4gICAqIEBwYXJhbSB7KCkgPT4gdm9pZH0gW2FyZ3Mub25SZXN1bWVdXG4gICAqIEBwYXJhbSB7KHJlYXNvbjogc3RyaW5nKSA9PiB2b2lkfSBbYXJncy5vbkNsb3NlXVxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NsaWVudCwgc3Vic2NyaXB0aW9uSWQsIGNoYW5uZWxUeXBlLCBwYXJhbXMsIGxhc3RFdmVudElkLCBvbk1lc3NhZ2UsIG9uRGlzY29ubmVjdCwgb25SZXN1bWUsIG9uQ2xvc2V9KSB7XG4gICAgdGhpcy5jbGllbnQgPSBjbGllbnRcbiAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gc3Vic2NyaXB0aW9uSWRcbiAgICB0aGlzLmNoYW5uZWxUeXBlID0gY2hhbm5lbFR5cGVcbiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcyB8fCB7fVxuICAgIHRoaXMubGFzdEV2ZW50SWQgPSBsYXN0RXZlbnRJZFxuICAgIHRoaXMuX29uTWVzc2FnZSA9IG9uTWVzc2FnZVxuICAgIHRoaXMuX29uRGlzY29ubmVjdCA9IG9uRGlzY29ubmVjdFxuICAgIHRoaXMuX29uUmVzdW1lID0gb25SZXN1bWVcbiAgICB0aGlzLl9vbkNsb3NlID0gb25DbG9zZVxuICAgIHRoaXMuX3N1YnNjcmliZWQgPSBmYWxzZVxuICAgIHRoaXMuX3N1YnNjcmliZVNlbnQgPSBmYWxzZVxuICAgIHRoaXMuX2Nsb3NlZCA9IGZhbHNlXG5cbiAgICAvKiogQHR5cGUge1Byb21pc2U8dm9pZD59ICovXG4gICAgdGhpcy5yZWFkeSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuX3Jlc29sdmVSZWFkeSA9IHJlc29sdmVcbiAgICAgIHRoaXMuX3JlamVjdFJlYWR5ID0gcmVqZWN0XG4gICAgfSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgX2hhbmRsZVN1YnNjcmliZWQoKSB7XG4gICAgaWYgKHRoaXMuX2Nsb3NlZCB8fCB0aGlzLl9zdWJzY3JpYmVkKSByZXR1cm5cbiAgICB0aGlzLl9zdWJzY3JpYmVkID0gdHJ1ZVxuICAgIHRoaXMuX3Jlc29sdmVSZWFkeT8uKClcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgX21hcmtTdWJzY3JpYmVTZW50KCkge1xuICAgIHRoaXMuX3N1YnNjcmliZVNlbnQgPSB0cnVlXG4gIH1cblxuICAvKiogQHJldHVybnMge2Jvb2xlYW59ICovXG4gIF9uZWVkc1N1YnNjcmliZSgpIHtcbiAgICByZXR1cm4gIXRoaXMuX2Nsb3NlZCAmJiAhdGhpcy5fc3Vic2NyaWJlU2VudFxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7YW55fSBib2R5XG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgX2hhbmRsZU1lc3NhZ2UoYm9keSkge1xuICAgIGlmICh0aGlzLl9jbG9zZWQpIHJldHVyblxuICAgIHRoaXMuX29uTWVzc2FnZT8uKGJvZHkpXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIF9oYW5kbGVEaXNjb25uZWN0ZWQoKSB7XG4gICAgaWYgKHRoaXMuX2Nsb3NlZCkgcmV0dXJuXG4gICAgdGhpcy5fb25EaXNjb25uZWN0Py4oKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBfaGFuZGxlUmVzdW1lZCgpIHtcbiAgICBpZiAodGhpcy5fY2xvc2VkKSByZXR1cm5cbiAgICB0aGlzLl9vblJlc3VtZT8uKClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVhc29uXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgX2hhbmRsZUNsb3NlZChyZWFzb24pIHtcbiAgICBpZiAodGhpcy5fY2xvc2VkKSByZXR1cm5cbiAgICB0aGlzLl9jbG9zZWQgPSB0cnVlXG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5fb25DbG9zZT8uKHJlYXNvbilcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKCF0aGlzLl9zdWJzY3JpYmVkKSB7XG4gICAgICAgIHRoaXMuX3JlamVjdFJlYWR5Py4obmV3IEVycm9yKGBTdWJzY3JpcHRpb24gY2xvc2VkIGJlZm9yZSBhY2tub3dsZWRnZW1lbnQ6ICR7cmVhc29ufWApKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgY2xvc2UoKSB7XG4gICAgaWYgKHRoaXMuX2Nsb3NlZCkgcmV0dXJuXG5cbiAgICB0cnkge1xuICAgICAgaWYgKHRoaXMuY2xpZW50LmlzT3BlbigpKSB7XG4gICAgICAgIHRoaXMuY2xpZW50Ll9zZW5kTWVzc2FnZSh7dHlwZTogXCJjaGFubmVsLXVuc3Vic2NyaWJlXCIsIHN1YnNjcmlwdGlvbklkOiB0aGlzLnN1YnNjcmlwdGlvbklkfSlcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIFNvY2tldCBhbHJlYWR5IGdvbmU7IHNlcnZlciB3aWxsIGNsZWFuIHVwIG9uIHNlc3Npb24gdGVhcmRvd24uXG4gICAgfVxuXG4gICAgdGhpcy5jbGllbnQuX3JlbW92ZUNoYW5uZWxTdWJzY3JpcHRpb24odGhpcy5zdWJzY3JpcHRpb25JZClcbiAgICB0aGlzLl9oYW5kbGVDbG9zZWQoXCJjbGllbnRfdW5zdWJzY3JpYmVcIilcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7Ym9vbGVhbn0gKi9cbiAgaXNDbG9zZWQoKSB7IHJldHVybiB0aGlzLl9jbG9zZWQgfVxuXG4gIC8qKiBAcmV0dXJucyB7Ym9vbGVhbn0gKi9cbiAgaXNTdWJzY3JpYmVkKCkgeyByZXR1cm4gdGhpcy5fc3Vic2NyaWJlZCAmJiAhdGhpcy5fY2xvc2VkIH1cbn1cbiJdfQ==
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWNoYW5uZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaHR0cC1jbGllbnQvd2Vic29ja2V0LWNoYW5uZWwuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFPLG9DQUFvQztJQUN2RDs7Ozs7Ozs7Ozs7T0FXRztJQUNILFlBQVksRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBQztRQUNoSCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQTtRQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUE7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUE7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUE7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUE7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUE7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7UUFDbkIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQTtRQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQTtRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQTtRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtRQUVwQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQTtJQUM1QixDQUFDO0lBRUQsK0JBQStCO0lB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MEIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDM0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0lBQzFDLENBQUM7SUFFRCx5QkFBeUI7SUFDekIsUUFBUSxLQUFLLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUM7SUFFbEMseUJBQXlCO0lBQ3pCLE9BQU8sS0FBSyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUEsQ0FBQyxDQUFDO0lBRWhDLHlCQUF5QjtJQUN6QixZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUM7Q0FDNUQiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuLyoqXG4gKiBDbGllbnQtc2lkZSBoYW5kbGUgZm9yIGEgY2hhbm5lbCBzdWJzY3JpcHRpb24gb3BlbmVkIHZpYVxuICogYFZlbG9jaW91c1dlYnNvY2tldENsaWVudC5zdWJzY3JpYmVDaGFubmVsKClgLiBNaXJyb3JzIHRoZSBzZXJ2ZXInc1xuICogc3Vic2NyaXB0aW9uIGxpZmVjeWNsZSDigJQgYHN1YnNjcmliZWRgIChyZXNvbHZlcyBgcmVhZHlgKSAvIGBvbk1lc3NhZ2VgIC9cbiAqIGBvbkNsb3NlYC5cbiAqXG4gKiBTZWUgYGRvY3Mvd2Vic29ja2V0LWNoYW5uZWxzLm1kYCBmb3IgdGhlIHdpcmUgcHJvdG9jb2wuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c1dlYnNvY2tldENsaWVudFN1YnNjcmlwdGlvbiB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vd2Vic29ja2V0LWNsaWVudC5qc1wiKS5kZWZhdWx0fSBhcmdzLmNsaWVudFxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5zdWJzY3JpcHRpb25JZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5jaGFubmVsVHlwZVxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFthcmdzLnBhcmFtc11cbiAgICogQHBhcmFtIHtzdHJpbmd9IFthcmdzLmxhc3RFdmVudElkXVxuICAgKiBAcGFyYW0geyhib2R5OiBhbnkpID0+IHZvaWR9IFthcmdzLm9uTWVzc2FnZV1cbiAgICogQHBhcmFtIHsoKSA9PiB2b2lkfSBbYXJncy5vbkRpc2Nvbm5lY3RdXG4gICAqIEBwYXJhbSB7KCkgPT4gdm9pZH0gW2FyZ3Mub25SZXN1bWVdXG4gICAqIEBwYXJhbSB7KHJlYXNvbjogc3RyaW5nKSA9PiB2b2lkfSBbYXJncy5vbkNsb3NlXVxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NsaWVudCwgc3Vic2NyaXB0aW9uSWQsIGNoYW5uZWxUeXBlLCBwYXJhbXMsIGxhc3RFdmVudElkLCBvbk1lc3NhZ2UsIG9uRGlzY29ubmVjdCwgb25SZXN1bWUsIG9uQ2xvc2V9KSB7XG4gICAgdGhpcy5jbGllbnQgPSBjbGllbnRcbiAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gc3Vic2NyaXB0aW9uSWRcbiAgICB0aGlzLmNoYW5uZWxUeXBlID0gY2hhbm5lbFR5cGVcbiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcyB8fCB7fVxuICAgIHRoaXMubGFzdEV2ZW50SWQgPSBsYXN0RXZlbnRJZFxuICAgIHRoaXMuX29uTWVzc2FnZSA9IG9uTWVzc2FnZVxuICAgIHRoaXMuX29uRGlzY29ubmVjdCA9IG9uRGlzY29ubmVjdFxuICAgIHRoaXMuX29uUmVzdW1lID0gb25SZXN1bWVcbiAgICB0aGlzLl9vbkNsb3NlID0gb25DbG9zZVxuICAgIHRoaXMuX3JlYWR5ID0gZmFsc2VcbiAgICB0aGlzLl9yZXN1bWVSZWFkeU9uUmVzdW1lID0gZmFsc2VcbiAgICB0aGlzLl9zdWJzY3JpYmVkID0gZmFsc2VcbiAgICB0aGlzLl9zdWJzY3JpYmVTZW50ID0gZmFsc2VcbiAgICB0aGlzLl9jbG9zZWQgPSBmYWxzZVxuXG4gICAgdGhpcy5fZW5zdXJlUmVhZHlQcm9taXNlKClcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gKi9cbiAgX2Vuc3VyZVJlYWR5UHJvbWlzZSgpIHtcbiAgICBpZiAoIXRoaXMucmVhZHkgfHwgIXRoaXMuX3Jlc29sdmVSZWFkeSB8fCAhdGhpcy5fcmVqZWN0UmVhZHkpIHtcbiAgICAgIC8qKiBAdHlwZSB7UHJvbWlzZTx2b2lkPn0gKi9cbiAgICAgIHRoaXMucmVhZHkgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIHRoaXMuX3Jlc29sdmVSZWFkeSA9IHJlc29sdmVcbiAgICAgICAgdGhpcy5fcmVqZWN0UmVhZHkgPSByZWplY3RcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmVhZHlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgX3Jlc29sdmVSZWFkeVN0YXRlKCkge1xuICAgIHRoaXMuX3JlYWR5ID0gdHJ1ZVxuICAgIHRoaXMuX3Jlc29sdmVSZWFkeT8uKClcbiAgICB0aGlzLl9yZXNvbHZlUmVhZHkgPSBudWxsXG4gICAgdGhpcy5fcmVqZWN0UmVhZHkgPSBudWxsXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIF9tYXJrTm90UmVhZHkoKSB7XG4gICAgdGhpcy5fcmVhZHkgPSBmYWxzZVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBfaGFuZGxlU3Vic2NyaWJlZCgpIHtcbiAgICBpZiAodGhpcy5fY2xvc2VkIHx8IHRoaXMuX3N1YnNjcmliZWQpIHJldHVyblxuICAgIHRoaXMuX3N1YnNjcmliZWQgPSB0cnVlXG4gICAgdGhpcy5fcmVzb2x2ZVJlYWR5U3RhdGUoKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBfbWFya1N1YnNjcmliZVNlbnQoKSB7XG4gICAgdGhpcy5fc3Vic2NyaWJlU2VudCA9IHRydWVcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7Ym9vbGVhbn0gKi9cbiAgX25lZWRzU3Vic2NyaWJlKCkge1xuICAgIHJldHVybiAhdGhpcy5fY2xvc2VkICYmICF0aGlzLl9zdWJzY3JpYmVTZW50XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHthbnl9IGJvZHlcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBfaGFuZGxlTWVzc2FnZShib2R5KSB7XG4gICAgaWYgKHRoaXMuX2Nsb3NlZCkgcmV0dXJuXG4gICAgdGhpcy5fb25NZXNzYWdlPy4oYm9keSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgX2hhbmRsZURpc2Nvbm5lY3RlZCgpIHtcbiAgICBpZiAodGhpcy5fY2xvc2VkKSByZXR1cm5cbiAgICB0aGlzLl9yZXN1bWVSZWFkeU9uUmVzdW1lIHx8PSB0aGlzLl9zdWJzY3JpYmVkXG4gICAgdGhpcy5fc3Vic2NyaWJlZCA9IGZhbHNlXG4gICAgdGhpcy5fbWFya05vdFJlYWR5KClcbiAgICB0aGlzLl9vbkRpc2Nvbm5lY3Q/LigpXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIF9oYW5kbGVSZXN1bWVkKCkge1xuICAgIGlmICh0aGlzLl9jbG9zZWQpIHJldHVyblxuICAgIGlmICh0aGlzLl9yZXN1bWVSZWFkeU9uUmVzdW1lKSB7XG4gICAgICB0aGlzLl9zdWJzY3JpYmVkID0gdHJ1ZVxuICAgICAgdGhpcy5fcmVzb2x2ZVJlYWR5U3RhdGUoKVxuICAgIH1cbiAgICB0aGlzLl9yZXN1bWVSZWFkeU9uUmVzdW1lID0gZmFsc2VcbiAgICB0aGlzLl9vblJlc3VtZT8uKClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVhc29uXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgX2hhbmRsZUNsb3NlZChyZWFzb24pIHtcbiAgICBpZiAodGhpcy5fY2xvc2VkKSByZXR1cm5cbiAgICB0aGlzLl9jbG9zZWQgPSB0cnVlXG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5fb25DbG9zZT8uKHJlYXNvbilcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5fcmVzdW1lUmVhZHlPblJlc3VtZSA9IGZhbHNlXG4gICAgICBpZiAoIXRoaXMuX3JlYWR5KSB7XG4gICAgICAgIHRoaXMuX3JlamVjdFJlYWR5Py4obmV3IEVycm9yKGBTdWJzY3JpcHRpb24gY2xvc2VkIGJlZm9yZSBhY2tub3dsZWRnZW1lbnQ6ICR7cmVhc29ufWApKVxuICAgICAgfVxuXG4gICAgICB0aGlzLl9yZXNvbHZlUmVhZHkgPSBudWxsXG4gICAgICB0aGlzLl9yZWplY3RSZWFkeSA9IG51bGxcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHt7dGltZW91dE1zPzogbnVtYmVyfX0gW3BhcmFtc11cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBhc3luYyB3YWl0Rm9yUmVhZHkoe3RpbWVvdXRNcyA9IDUwMDB9ID0ge30pIHtcbiAgICBpZiAodGhpcy5fcmVhZHkpIHJldHVyblxuXG4gICAgY29uc3QgcmVhZHlQcm9taXNlID0gdGhpcy5fZW5zdXJlUmVhZHlQcm9taXNlKClcbiAgICBjb25zdCB0aW1lb3V0UHJvbWlzZSA9IG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KG5ldyBFcnJvcihgU3Vic2NyaXB0aW9uIG5vdCByZWFkeSBhZnRlciAke3RpbWVvdXRNc31tc2ApKSwgdGltZW91dE1zKVxuICAgIH0pXG5cbiAgICBhd2FpdCBQcm9taXNlLnJhY2UoW3JlYWR5UHJvbWlzZSwgdGltZW91dFByb21pc2VdKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBjbG9zZSgpIHtcbiAgICBpZiAodGhpcy5fY2xvc2VkKSByZXR1cm5cblxuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy5jbGllbnQuaXNPcGVuKCkpIHtcbiAgICAgICAgdGhpcy5jbGllbnQuX3NlbmRNZXNzYWdlKHt0eXBlOiBcImNoYW5uZWwtdW5zdWJzY3JpYmVcIiwgc3Vic2NyaXB0aW9uSWQ6IHRoaXMuc3Vic2NyaXB0aW9uSWR9KVxuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gU29ja2V0IGFscmVhZHkgZ29uZTsgc2VydmVyIHdpbGwgY2xlYW4gdXAgb24gc2Vzc2lvbiB0ZWFyZG93bi5cbiAgICB9XG5cbiAgICB0aGlzLmNsaWVudC5fcmVtb3ZlQ2hhbm5lbFN1YnNjcmlwdGlvbih0aGlzLnN1YnNjcmlwdGlvbklkKVxuICAgIHRoaXMuX2hhbmRsZUNsb3NlZChcImNsaWVudF91bnN1YnNjcmliZVwiKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtib29sZWFufSAqL1xuICBpc0Nsb3NlZCgpIHsgcmV0dXJuIHRoaXMuX2Nsb3NlZCB9XG5cbiAgLyoqIEByZXR1cm5zIHtib29sZWFufSAqL1xuICBpc1JlYWR5KCkgeyByZXR1cm4gdGhpcy5fcmVhZHkgfVxuXG4gIC8qKiBAcmV0dXJucyB7Ym9vbGVhbn0gKi9cbiAgaXNTdWJzY3JpYmVkKCkgeyByZXR1cm4gdGhpcy5fc3Vic2NyaWJlZCAmJiAhdGhpcy5fY2xvc2VkIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "velocious": "build/bin/velocious.js"
4
4
  },
5
5
  "name": "velocious",
6
- "version": "1.0.338",
6
+ "version": "1.0.339",
7
7
  "main": "build/index.js",
8
8
  "types": "build/index.d.ts",
9
9
  "files": [