websocket-ts 1.1.1 → 2.1.2
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/LICENSE +1 -1
- package/README.md +157 -93
- package/dist/cjs/src/backoff/backoff.d.ts +24 -0
- package/dist/cjs/src/backoff/backoff.d.ts.map +1 -0
- package/{lib → dist/cjs/src}/backoff/backoff.js.map +1 -1
- package/dist/cjs/src/backoff/constantbackoff.d.ts +18 -0
- package/dist/cjs/src/backoff/constantbackoff.d.ts.map +1 -0
- package/dist/cjs/src/backoff/constantbackoff.js +43 -0
- package/dist/cjs/src/backoff/constantbackoff.js.map +1 -0
- package/dist/cjs/src/backoff/exponentialbackoff.d.ts +48 -0
- package/dist/cjs/src/backoff/exponentialbackoff.d.ts.map +1 -0
- package/dist/cjs/src/backoff/exponentialbackoff.js +81 -0
- package/dist/cjs/src/backoff/exponentialbackoff.js.map +1 -0
- package/dist/cjs/src/backoff/linearbackoff.d.ts +51 -0
- package/dist/cjs/src/backoff/linearbackoff.d.ts.map +1 -0
- package/dist/cjs/src/backoff/linearbackoff.js +89 -0
- package/dist/cjs/src/backoff/linearbackoff.js.map +1 -0
- package/dist/cjs/src/index.d.ts +14 -0
- package/dist/cjs/src/index.d.ts.map +1 -0
- package/dist/cjs/src/index.js +20 -0
- package/dist/cjs/src/index.js.map +1 -0
- package/dist/cjs/src/queue/array_queue.d.ts +17 -0
- package/dist/cjs/src/queue/array_queue.d.ts.map +1 -0
- package/dist/cjs/src/queue/array_queue.js +36 -0
- package/dist/cjs/src/queue/array_queue.js.map +1 -0
- package/dist/cjs/src/queue/queue.d.ts +41 -0
- package/dist/cjs/src/queue/queue.d.ts.map +1 -0
- package/{lib/buffer/buffer.js → dist/cjs/src/queue/queue.js} +1 -1
- package/dist/cjs/src/queue/queue.js.map +1 -0
- package/dist/cjs/src/queue/ring_queue.d.ts +20 -0
- package/dist/cjs/src/queue/ring_queue.d.ts.map +1 -0
- package/dist/cjs/src/queue/ring_queue.js +57 -0
- package/dist/cjs/src/queue/ring_queue.js.map +1 -0
- package/dist/cjs/src/websocket.d.ts +206 -0
- package/dist/cjs/src/websocket.d.ts.map +1 -0
- package/dist/cjs/src/websocket.js +434 -0
- package/dist/cjs/src/websocket.js.map +1 -0
- package/dist/cjs/src/websocket_buffer.d.ts +16 -0
- package/dist/cjs/src/websocket_buffer.d.ts.map +1 -0
- package/dist/cjs/src/websocket_buffer.js +3 -0
- package/dist/cjs/src/websocket_buffer.js.map +1 -0
- package/dist/cjs/src/websocket_builder.d.ts +147 -0
- package/dist/cjs/src/websocket_builder.d.ts.map +1 -0
- package/dist/cjs/src/websocket_builder.js +263 -0
- package/dist/cjs/src/websocket_builder.js.map +1 -0
- package/dist/cjs/src/websocket_event.d.ts +67 -0
- package/dist/cjs/src/websocket_event.d.ts.map +1 -0
- package/dist/cjs/src/websocket_event.js +22 -0
- package/dist/cjs/src/websocket_event.js.map +1 -0
- package/dist/cjs/src/websocket_options.d.ts +21 -0
- package/dist/cjs/src/websocket_options.d.ts.map +1 -0
- package/dist/cjs/src/websocket_options.js +3 -0
- package/dist/cjs/src/websocket_options.js.map +1 -0
- package/dist/cjs/src/websocket_retry_options.d.ts +20 -0
- package/dist/cjs/src/websocket_retry_options.d.ts.map +1 -0
- package/dist/cjs/src/websocket_retry_options.js +3 -0
- package/dist/cjs/src/websocket_retry_options.js.map +1 -0
- package/dist/esm/src/backoff/backoff.d.ts +24 -0
- package/dist/esm/src/backoff/backoff.d.ts.map +1 -0
- package/dist/esm/src/backoff/backoff.js +2 -0
- package/dist/esm/src/backoff/backoff.js.map +1 -0
- package/dist/esm/src/backoff/constantbackoff.d.ts +18 -0
- package/dist/esm/src/backoff/constantbackoff.d.ts.map +1 -0
- package/dist/esm/src/backoff/constantbackoff.js +30 -0
- package/dist/esm/src/backoff/constantbackoff.js.map +1 -0
- package/dist/esm/src/backoff/exponentialbackoff.d.ts +48 -0
- package/dist/esm/src/backoff/exponentialbackoff.d.ts.map +1 -0
- package/dist/esm/src/backoff/exponentialbackoff.js +68 -0
- package/dist/esm/src/backoff/exponentialbackoff.js.map +1 -0
- package/dist/esm/src/backoff/linearbackoff.d.ts +51 -0
- package/dist/esm/src/backoff/linearbackoff.d.ts.map +1 -0
- package/dist/esm/src/backoff/linearbackoff.js +76 -0
- package/dist/esm/src/backoff/linearbackoff.js.map +1 -0
- package/dist/esm/src/index.d.ts +14 -0
- package/dist/esm/src/index.d.ts.map +1 -0
- package/dist/esm/src/index.js +9 -0
- package/dist/esm/src/index.js.map +1 -0
- package/dist/esm/src/queue/array_queue.d.ts +17 -0
- package/dist/esm/src/queue/array_queue.d.ts.map +1 -0
- package/dist/esm/src/queue/array_queue.js +31 -0
- package/dist/esm/src/queue/array_queue.js.map +1 -0
- package/dist/esm/src/queue/queue.d.ts +41 -0
- package/dist/esm/src/queue/queue.d.ts.map +1 -0
- package/dist/esm/src/queue/queue.js +2 -0
- package/dist/esm/src/queue/queue.js.map +1 -0
- package/dist/esm/src/queue/ring_queue.d.ts +20 -0
- package/dist/esm/src/queue/ring_queue.d.ts.map +1 -0
- package/dist/esm/src/queue/ring_queue.js +52 -0
- package/dist/esm/src/queue/ring_queue.js.map +1 -0
- package/dist/esm/src/websocket.d.ts +206 -0
- package/dist/esm/src/websocket.d.ts.map +1 -0
- package/dist/esm/src/websocket.js +356 -0
- package/dist/esm/src/websocket.js.map +1 -0
- package/dist/esm/src/websocket_buffer.d.ts +16 -0
- package/dist/esm/src/websocket_buffer.d.ts.map +1 -0
- package/dist/esm/src/websocket_buffer.js +2 -0
- package/dist/esm/src/websocket_buffer.js.map +1 -0
- package/dist/esm/src/websocket_builder.d.ts +147 -0
- package/dist/esm/src/websocket_builder.d.ts.map +1 -0
- package/dist/esm/src/websocket_builder.js +213 -0
- package/dist/esm/src/websocket_builder.js.map +1 -0
- package/dist/esm/src/websocket_event.d.ts +67 -0
- package/dist/esm/src/websocket_event.d.ts.map +1 -0
- package/dist/esm/src/websocket_event.js +19 -0
- package/dist/esm/src/websocket_event.js.map +1 -0
- package/dist/esm/src/websocket_options.d.ts +21 -0
- package/dist/esm/src/websocket_options.d.ts.map +1 -0
- package/dist/esm/src/websocket_options.js +2 -0
- package/dist/esm/src/websocket_options.js.map +1 -0
- package/dist/esm/src/websocket_retry_options.d.ts +20 -0
- package/dist/esm/src/websocket_retry_options.d.ts.map +1 -0
- package/dist/esm/src/websocket_retry_options.js +2 -0
- package/dist/esm/src/websocket_retry_options.js.map +1 -0
- package/package.json +27 -14
- package/src/backoff/backoff.ts +21 -13
- package/src/backoff/constantbackoff.ts +29 -11
- package/src/backoff/exponentialbackoff.ts +68 -28
- package/src/backoff/linearbackoff.ts +77 -26
- package/src/index.ts +23 -9
- package/src/queue/array_queue.ts +41 -0
- package/src/queue/queue.ts +46 -0
- package/src/queue/ring_queue.ts +69 -0
- package/src/websocket.ts +463 -138
- package/src/websocket_buffer.ts +18 -0
- package/src/websocket_builder.ts +274 -0
- package/src/websocket_event.ts +88 -0
- package/src/websocket_options.ts +23 -0
- package/src/websocket_retry_options.ts +22 -0
- package/{tsconfig.json → tsconfig.cjs.json} +8 -8
- package/tsconfig.esm.json +71 -0
- package/jest.config.js +0 -9
- package/lib/backoff/backoff.d.ts +0 -18
- package/lib/backoff/backoff.d.ts.map +0 -1
- package/lib/backoff/constantbackoff.d.ts +0 -11
- package/lib/backoff/constantbackoff.d.ts.map +0 -1
- package/lib/backoff/constantbackoff.js +0 -20
- package/lib/backoff/constantbackoff.js.map +0 -1
- package/lib/backoff/exponentialbackoff.d.ts +0 -22
- package/lib/backoff/exponentialbackoff.d.ts.map +0 -1
- package/lib/backoff/exponentialbackoff.js +0 -35
- package/lib/backoff/exponentialbackoff.js.map +0 -1
- package/lib/backoff/linearbackoff.d.ts +0 -19
- package/lib/backoff/linearbackoff.d.ts.map +0 -1
- package/lib/backoff/linearbackoff.js +0 -34
- package/lib/backoff/linearbackoff.js.map +0 -1
- package/lib/buffer/buffer.d.ts +0 -41
- package/lib/buffer/buffer.d.ts.map +0 -1
- package/lib/buffer/buffer.js.map +0 -1
- package/lib/buffer/lrubuffer.d.ts +0 -24
- package/lib/buffer/lrubuffer.d.ts.map +0 -1
- package/lib/buffer/lrubuffer.js +0 -76
- package/lib/buffer/lrubuffer.js.map +0 -1
- package/lib/buffer/timebuffer.d.ts +0 -25
- package/lib/buffer/timebuffer.d.ts.map +0 -1
- package/lib/buffer/timebuffer.js +0 -92
- package/lib/buffer/timebuffer.js.map +0 -1
- package/lib/index.d.ts +0 -10
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -22
- package/lib/index.js.map +0 -1
- package/lib/websocket.d.ts +0 -47
- package/lib/websocket.d.ts.map +0 -1
- package/lib/websocket.js +0 -120
- package/lib/websocket.js.map +0 -1
- package/lib/websocketBuilder.d.ts +0 -32
- package/lib/websocketBuilder.d.ts.map +0 -1
- package/lib/websocketBuilder.js +0 -68
- package/lib/websocketBuilder.js.map +0 -1
- package/src/buffer/buffer.ts +0 -45
- package/src/buffer/lrubuffer.ts +0 -80
- package/src/buffer/timebuffer.ts +0 -105
- package/src/websocketBuilder.ts +0 -98
- package/test/backoff/constantbackoff.test.ts +0 -21
- package/test/backoff/exponentialbackoff.test.ts +0 -13
- package/test/backoff/linearbackoff.test.ts +0 -32
- package/test/buffer/common.ts +0 -10
- package/test/buffer/lrubuffer.test.ts +0 -128
- package/test/buffer/timebuffer.test.ts +0 -115
- package/test/websocket.test.ts +0 -341
- package/test/websocketBuilder.test.ts +0 -36
- /package/{lib → dist/cjs/src}/backoff/backoff.js +0 -0
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Backoff } from "./backoff";
|
|
2
|
-
/**
|
|
3
|
-
* LinearBackoff increases the backoff-time by a constant number with
|
|
4
|
-
* every step. An optional maximum can be provided as an upper bound
|
|
5
|
-
* to the returned backoff.
|
|
6
|
-
*
|
|
7
|
-
* Example: for initial=0, increment=2000, maximum=8000 the Linear-
|
|
8
|
-
* Backoff will produce the series [0, 2000, 4000, 6000, 8000].
|
|
9
|
-
*/
|
|
10
|
-
export declare class LinearBackoff implements Backoff {
|
|
11
|
-
private readonly initial;
|
|
12
|
-
private readonly increment;
|
|
13
|
-
private readonly maximum?;
|
|
14
|
-
private current;
|
|
15
|
-
constructor(initial: number, increment: number, maximum?: number);
|
|
16
|
-
next(): number;
|
|
17
|
-
reset(): void;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=linearbackoff.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"linearbackoff.d.ts","sourceRoot":"","sources":["../../src/backoff/linearbackoff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAElC;;;;;;;GAOG;AACH,qBAAa,aAAc,YAAW,OAAO;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAOhE,IAAI;IAUJ,KAAK;CAGR"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LinearBackoff = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* LinearBackoff increases the backoff-time by a constant number with
|
|
6
|
-
* every step. An optional maximum can be provided as an upper bound
|
|
7
|
-
* to the returned backoff.
|
|
8
|
-
*
|
|
9
|
-
* Example: for initial=0, increment=2000, maximum=8000 the Linear-
|
|
10
|
-
* Backoff will produce the series [0, 2000, 4000, 6000, 8000].
|
|
11
|
-
*/
|
|
12
|
-
var LinearBackoff = /** @class */ (function () {
|
|
13
|
-
function LinearBackoff(initial, increment, maximum) {
|
|
14
|
-
this.initial = initial;
|
|
15
|
-
this.increment = increment;
|
|
16
|
-
this.maximum = maximum;
|
|
17
|
-
this.current = this.initial;
|
|
18
|
-
}
|
|
19
|
-
LinearBackoff.prototype.next = function () {
|
|
20
|
-
var backoff = this.current;
|
|
21
|
-
var next = this.current + this.increment;
|
|
22
|
-
if (this.maximum === undefined)
|
|
23
|
-
this.current = next;
|
|
24
|
-
else if (next <= this.maximum)
|
|
25
|
-
this.current = next;
|
|
26
|
-
return backoff;
|
|
27
|
-
};
|
|
28
|
-
LinearBackoff.prototype.reset = function () {
|
|
29
|
-
this.current = this.initial;
|
|
30
|
-
};
|
|
31
|
-
return LinearBackoff;
|
|
32
|
-
}());
|
|
33
|
-
exports.LinearBackoff = LinearBackoff;
|
|
34
|
-
//# sourceMappingURL=linearbackoff.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"linearbackoff.js","sourceRoot":"","sources":["../../src/backoff/linearbackoff.ts"],"names":[],"mappings":";;;AAEA;;;;;;;GAOG;AACH;IAMI,uBAAY,OAAe,EAAE,SAAiB,EAAE,OAAgB;QAC5D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,4BAAI,GAAJ;QACI,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAM,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACnB,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO;YACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,6BAAK,GAAL;QACI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAChC,CAAC;IACL,oBAAC;AAAD,CAAC,AA1BD,IA0BC;AA1BY,sCAAa"}
|
package/lib/buffer/buffer.d.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Temporary container for generic elements.
|
|
3
|
-
*/
|
|
4
|
-
export interface Buffer<E> {
|
|
5
|
-
/**
|
|
6
|
-
* Length of the buffer, the count of elements
|
|
7
|
-
* that can be read from the buffer.
|
|
8
|
-
* @return the length of the buffer
|
|
9
|
-
*/
|
|
10
|
-
len(): number;
|
|
11
|
-
/**
|
|
12
|
-
* Capacity of the buffer, the total amount of
|
|
13
|
-
* elements the buffer can contain.
|
|
14
|
-
* @return the capacity of the buffer
|
|
15
|
-
*/
|
|
16
|
-
cap(): number;
|
|
17
|
-
/**
|
|
18
|
-
* Reads elements from the buffer.
|
|
19
|
-
* @param es array to read into from the buffer
|
|
20
|
-
* @return the count of elements that were read
|
|
21
|
-
*/
|
|
22
|
-
read(es: E[]): number;
|
|
23
|
-
/**
|
|
24
|
-
* Writes elements to the buffer.
|
|
25
|
-
* @param es array to write to the buffer
|
|
26
|
-
* @return the count of elements that were written
|
|
27
|
-
*/
|
|
28
|
-
write(es: E[]): number;
|
|
29
|
-
/**
|
|
30
|
-
* Applies a function to every element in the buffer.
|
|
31
|
-
* @param fn the function to apply to every element
|
|
32
|
-
* @return: the count of elements that were used
|
|
33
|
-
*/
|
|
34
|
-
forEach(fn: (e: E) => any): number;
|
|
35
|
-
/**
|
|
36
|
-
* Clears the buffer. This effectively removes all
|
|
37
|
-
* items in the buffer.
|
|
38
|
-
*/
|
|
39
|
-
clear(): void;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=buffer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../src/buffer/buffer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC;IACrB;;;;OAIG;IACH,GAAG,IAAI,MAAM,CAAA;IAEb;;;;OAIG;IACH,GAAG,IAAI,MAAM,CAAA;IAEb;;;;OAIG;IACH,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM,CAAA;IAErB;;;;OAIG;IACH,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM,CAAA;IAEtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,GAAG,MAAM,CAAA;IAElC;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAA;CAChB"}
|
package/lib/buffer/buffer.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../src/buffer/buffer.ts"],"names":[],"mappings":""}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Buffer } from "./buffer";
|
|
2
|
-
/**
|
|
3
|
-
* LRUBuffer is a buffer that keeps the last n elements. When it is
|
|
4
|
-
* full and written to, the oldest element in the buffer will be
|
|
5
|
-
* replaced. When reading from the LRUBuffer, elements are returned
|
|
6
|
-
* in FIFO-order (queue).
|
|
7
|
-
*
|
|
8
|
-
* LRUBuffer has linear space- and time-requirements. Internally
|
|
9
|
-
* an array is used as a circular-buffer. All memory is allocated
|
|
10
|
-
* on initialization.
|
|
11
|
-
*/
|
|
12
|
-
export declare class LRUBuffer<E> implements Buffer<E> {
|
|
13
|
-
private readonly buffer;
|
|
14
|
-
private writePtr;
|
|
15
|
-
private wrapped;
|
|
16
|
-
constructor(len: number);
|
|
17
|
-
len(): number;
|
|
18
|
-
cap(): number;
|
|
19
|
-
read(es: E[]): number;
|
|
20
|
-
write(es: E[]): number;
|
|
21
|
-
forEach(fn: (e: E) => any): number;
|
|
22
|
-
clear(): void;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=lrubuffer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lrubuffer.d.ts","sourceRoot":"","sources":["../../src/buffer/lrubuffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAEhC;;;;;;;;;GASG;AACH,qBAAa,SAAS,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAM;IAC7B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,OAAO,CAAkB;gBAErB,GAAG,EAAE,MAAM;IAIvB,GAAG,IAAI,MAAM;IAIb,GAAG,IAAI,MAAM;IAIb,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM;IAkBrB,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM;IAatB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,GAAG,MAAM;IAelC,KAAK,IAAI,IAAI;CAIhB"}
|
package/lib/buffer/lrubuffer.js
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LRUBuffer = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* LRUBuffer is a buffer that keeps the last n elements. When it is
|
|
6
|
-
* full and written to, the oldest element in the buffer will be
|
|
7
|
-
* replaced. When reading from the LRUBuffer, elements are returned
|
|
8
|
-
* in FIFO-order (queue).
|
|
9
|
-
*
|
|
10
|
-
* LRUBuffer has linear space- and time-requirements. Internally
|
|
11
|
-
* an array is used as a circular-buffer. All memory is allocated
|
|
12
|
-
* on initialization.
|
|
13
|
-
*/
|
|
14
|
-
var LRUBuffer = /** @class */ (function () {
|
|
15
|
-
function LRUBuffer(len) {
|
|
16
|
-
this.writePtr = 0;
|
|
17
|
-
this.wrapped = false;
|
|
18
|
-
this.buffer = Array(len);
|
|
19
|
-
}
|
|
20
|
-
LRUBuffer.prototype.len = function () {
|
|
21
|
-
return this.wrapped ? this.buffer.length : this.writePtr;
|
|
22
|
-
};
|
|
23
|
-
LRUBuffer.prototype.cap = function () {
|
|
24
|
-
return this.buffer.length;
|
|
25
|
-
};
|
|
26
|
-
LRUBuffer.prototype.read = function (es) {
|
|
27
|
-
if (es === null || es === undefined || es.length === 0 || this.buffer.length === 0)
|
|
28
|
-
return 0;
|
|
29
|
-
if (this.writePtr === 0 && !this.wrapped)
|
|
30
|
-
return 0;
|
|
31
|
-
var first = this.wrapped ? this.writePtr : 0;
|
|
32
|
-
var last = (first - 1) < 0 ?
|
|
33
|
-
this.buffer.length - 1 :
|
|
34
|
-
first - 1;
|
|
35
|
-
for (var i = 0; i < es.length; i++) {
|
|
36
|
-
var r = (first + i) % this.buffer.length;
|
|
37
|
-
es[i] = this.buffer[r];
|
|
38
|
-
if (r === last)
|
|
39
|
-
return i + 1;
|
|
40
|
-
}
|
|
41
|
-
return es.length;
|
|
42
|
-
};
|
|
43
|
-
LRUBuffer.prototype.write = function (es) {
|
|
44
|
-
if (es === null || es === undefined || es.length === 0 || this.buffer.length === 0)
|
|
45
|
-
return 0;
|
|
46
|
-
var start = es.length > this.buffer.length ? es.length - this.buffer.length : 0;
|
|
47
|
-
for (var i = 0; i < es.length - start; i++) {
|
|
48
|
-
this.buffer[this.writePtr] = es[start + i];
|
|
49
|
-
this.writePtr = (this.writePtr + 1) % this.buffer.length;
|
|
50
|
-
if (this.writePtr === 0)
|
|
51
|
-
this.wrapped = true;
|
|
52
|
-
}
|
|
53
|
-
return es.length;
|
|
54
|
-
};
|
|
55
|
-
LRUBuffer.prototype.forEach = function (fn) {
|
|
56
|
-
if (this.writePtr === 0 && !this.wrapped)
|
|
57
|
-
return 0;
|
|
58
|
-
var cur = this.wrapped ? this.writePtr : 0;
|
|
59
|
-
var last = this.wrapped ? (cur - 1) < 0 ? this.buffer.length - 1 : cur - 1 : this.writePtr - 1;
|
|
60
|
-
var len = this.len();
|
|
61
|
-
while (true) {
|
|
62
|
-
fn(this.buffer[cur]);
|
|
63
|
-
if (cur === last)
|
|
64
|
-
break;
|
|
65
|
-
cur = (cur + 1) % this.buffer.length;
|
|
66
|
-
}
|
|
67
|
-
return len;
|
|
68
|
-
};
|
|
69
|
-
LRUBuffer.prototype.clear = function () {
|
|
70
|
-
this.writePtr = 0;
|
|
71
|
-
this.wrapped = false;
|
|
72
|
-
};
|
|
73
|
-
return LRUBuffer;
|
|
74
|
-
}());
|
|
75
|
-
exports.LRUBuffer = LRUBuffer;
|
|
76
|
-
//# sourceMappingURL=lrubuffer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lrubuffer.js","sourceRoot":"","sources":["../../src/buffer/lrubuffer.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;GASG;AACH;IAKI,mBAAY,GAAW;QAHf,aAAQ,GAAW,CAAC,CAAC;QACrB,YAAO,GAAY,KAAK,CAAC;QAG7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAI,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,uBAAG,GAAH;QACI,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC7D,CAAC;IAED,uBAAG,GAAH;QACI,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,wBAAI,GAAJ,UAAK,EAAO;QACR,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAC9E,OAAO,CAAC,CAAC;QACb,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;YACpC,OAAO,CAAC,CAAC;QACb,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAM,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxB,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACzC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,IAAI;gBACV,OAAO,CAAC,GAAG,CAAC,CAAC;SACpB;QACD,OAAO,EAAE,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,yBAAK,GAAL,UAAM,EAAO;QACT,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAC9E,OAAO,CAAC,CAAC;QACb,IAAM,KAAK,GAAG,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACzD,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;gBACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SAC3B;QACD,OAAO,EAAE,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,2BAAO,GAAP,UAAQ,EAAiB;QACrB,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;YACpC,OAAO,CAAC,CAAC;QACb,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QACjG,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,EAAE;YACT,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACrB,IAAI,GAAG,KAAK,IAAI;gBACZ,MAAM;YACV,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;SACxC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,yBAAK,GAAL;QACI,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IACL,gBAAC;AAAD,CAAC,AAnED,IAmEC;AAnEY,8BAAS"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Buffer } from "./buffer";
|
|
2
|
-
/**
|
|
3
|
-
* TimeBuffer keeps the elements that were written to the buffer
|
|
4
|
-
* within maxAge milliseconds. For example, to keep items in the
|
|
5
|
-
* buffer that are less than a minute old, create the buffer with
|
|
6
|
-
* maxAge equal to 60.000.
|
|
7
|
-
*
|
|
8
|
-
* When reading from the TimeBuffer, elements will be returned
|
|
9
|
-
* in FIFO-order (queue).
|
|
10
|
-
*/
|
|
11
|
-
export declare class TimeBuffer<E> implements Buffer<E> {
|
|
12
|
-
private readonly maxAge;
|
|
13
|
-
private tail?;
|
|
14
|
-
private head?;
|
|
15
|
-
constructor(maxAge: number);
|
|
16
|
-
cap(): number;
|
|
17
|
-
len(): number;
|
|
18
|
-
read(es: E[]): number;
|
|
19
|
-
write(es: E[]): number;
|
|
20
|
-
forEach(fn: (e: E) => any): number;
|
|
21
|
-
private putElement;
|
|
22
|
-
private forwardTail;
|
|
23
|
-
clear(): void;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=timebuffer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"timebuffer.d.ts","sourceRoot":"","sources":["../../src/buffer/timebuffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAEhC;;;;;;;;GAQG;AACH,qBAAa,UAAU,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,IAAI,CAAC,CAA0B;IACvC,OAAO,CAAC,IAAI,CAAC,CAA0B;gBAE3B,MAAM,EAAE,MAAM;IAI1B,GAAG,IAAI,MAAM;IAIb,GAAG,IAAI,MAAM;IAWb,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM;IAerB,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM;IAMtB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,GAAG,MAAM;IAYlC,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,WAAW;IAenB,KAAK,IAAI,IAAI;CAGhB"}
|
package/lib/buffer/timebuffer.js
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TimeBuffer = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* TimeBuffer keeps the elements that were written to the buffer
|
|
6
|
-
* within maxAge milliseconds. For example, to keep items in the
|
|
7
|
-
* buffer that are less than a minute old, create the buffer with
|
|
8
|
-
* maxAge equal to 60.000.
|
|
9
|
-
*
|
|
10
|
-
* When reading from the TimeBuffer, elements will be returned
|
|
11
|
-
* in FIFO-order (queue).
|
|
12
|
-
*/
|
|
13
|
-
var TimeBuffer = /** @class */ (function () {
|
|
14
|
-
function TimeBuffer(maxAge) {
|
|
15
|
-
this.maxAge = maxAge;
|
|
16
|
-
}
|
|
17
|
-
TimeBuffer.prototype.cap = function () {
|
|
18
|
-
return Number.POSITIVE_INFINITY;
|
|
19
|
-
};
|
|
20
|
-
TimeBuffer.prototype.len = function () {
|
|
21
|
-
this.forwardTail();
|
|
22
|
-
var cur = this.tail;
|
|
23
|
-
var i = 0;
|
|
24
|
-
while (cur !== undefined) {
|
|
25
|
-
i++;
|
|
26
|
-
cur = cur.n;
|
|
27
|
-
}
|
|
28
|
-
return i;
|
|
29
|
-
};
|
|
30
|
-
TimeBuffer.prototype.read = function (es) {
|
|
31
|
-
this.forwardTail();
|
|
32
|
-
if (es.length === 0)
|
|
33
|
-
return 0;
|
|
34
|
-
var cur = this.tail;
|
|
35
|
-
var i = 0;
|
|
36
|
-
while (cur !== undefined) {
|
|
37
|
-
es[i++] = cur.e;
|
|
38
|
-
if (i === es.length)
|
|
39
|
-
break;
|
|
40
|
-
cur = cur.n;
|
|
41
|
-
}
|
|
42
|
-
return i;
|
|
43
|
-
};
|
|
44
|
-
TimeBuffer.prototype.write = function (es) {
|
|
45
|
-
for (var i = 0; i < es.length; i++)
|
|
46
|
-
this.putElement(es[i]);
|
|
47
|
-
return es.length;
|
|
48
|
-
};
|
|
49
|
-
TimeBuffer.prototype.forEach = function (fn) {
|
|
50
|
-
this.forwardTail();
|
|
51
|
-
var cur = this.tail;
|
|
52
|
-
var i = 0;
|
|
53
|
-
while (cur !== undefined) {
|
|
54
|
-
fn(cur.e);
|
|
55
|
-
i++;
|
|
56
|
-
cur = cur.n;
|
|
57
|
-
}
|
|
58
|
-
return i;
|
|
59
|
-
};
|
|
60
|
-
TimeBuffer.prototype.putElement = function (e) {
|
|
61
|
-
var newElement = { e: e, t: Date.now(), n: undefined };
|
|
62
|
-
if (this.tail === undefined)
|
|
63
|
-
this.tail = newElement;
|
|
64
|
-
if (this.head === undefined)
|
|
65
|
-
this.head = newElement;
|
|
66
|
-
else {
|
|
67
|
-
this.head.n = newElement;
|
|
68
|
-
this.head = newElement;
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
TimeBuffer.prototype.forwardTail = function () {
|
|
72
|
-
if (this.tail === undefined)
|
|
73
|
-
return;
|
|
74
|
-
var d = Date.now();
|
|
75
|
-
while (d - this.tail.t > this.maxAge) {
|
|
76
|
-
if (this.tail === this.head) {
|
|
77
|
-
this.tail = undefined;
|
|
78
|
-
this.head = undefined;
|
|
79
|
-
}
|
|
80
|
-
else
|
|
81
|
-
this.tail = this.tail.n;
|
|
82
|
-
if (this.tail === undefined)
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
TimeBuffer.prototype.clear = function () {
|
|
87
|
-
// TODO
|
|
88
|
-
};
|
|
89
|
-
return TimeBuffer;
|
|
90
|
-
}());
|
|
91
|
-
exports.TimeBuffer = TimeBuffer;
|
|
92
|
-
//# sourceMappingURL=timebuffer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"timebuffer.js","sourceRoot":"","sources":["../../src/buffer/timebuffer.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * from './backoff/backoff';
|
|
2
|
-
export * from './backoff/constantbackoff';
|
|
3
|
-
export * from './backoff/exponentialbackoff';
|
|
4
|
-
export * from './backoff/linearbackoff';
|
|
5
|
-
export * from './buffer/buffer';
|
|
6
|
-
export * from './buffer/lrubuffer';
|
|
7
|
-
export * from './buffer/timebuffer';
|
|
8
|
-
export * from './websocket';
|
|
9
|
-
export * from './websocketBuilder';
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
|
package/lib/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
-
};
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
__exportStar(require("./backoff/backoff"), exports);
|
|
14
|
-
__exportStar(require("./backoff/constantbackoff"), exports);
|
|
15
|
-
__exportStar(require("./backoff/exponentialbackoff"), exports);
|
|
16
|
-
__exportStar(require("./backoff/linearbackoff"), exports);
|
|
17
|
-
__exportStar(require("./buffer/buffer"), exports);
|
|
18
|
-
__exportStar(require("./buffer/lrubuffer"), exports);
|
|
19
|
-
__exportStar(require("./buffer/timebuffer"), exports);
|
|
20
|
-
__exportStar(require("./websocket"), exports);
|
|
21
|
-
__exportStar(require("./websocketBuilder"), exports);
|
|
22
|
-
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAkC;AAClC,4DAAyC;AACzC,+DAA4C;AAC5C,0DAAuC;AACvC,kDAAgC;AAChC,qDAAkC;AAClC,sDAAmC;AACnC,8CAA4B;AAC5B,qDAAmC"}
|
package/lib/websocket.d.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Backoff } from "./backoff/backoff";
|
|
2
|
-
import { Buffer } from "./buffer/buffer";
|
|
3
|
-
export declare enum WebsocketEvents {
|
|
4
|
-
open = "open",
|
|
5
|
-
close = "close",
|
|
6
|
-
error = "error",
|
|
7
|
-
message = "message",
|
|
8
|
-
retry = "retry"
|
|
9
|
-
}
|
|
10
|
-
interface WebsocketEventMap {
|
|
11
|
-
close: CloseEvent;
|
|
12
|
-
error: Event;
|
|
13
|
-
message: MessageEvent;
|
|
14
|
-
open: Event;
|
|
15
|
-
retry: CustomEvent<RetryEventDetails>;
|
|
16
|
-
}
|
|
17
|
-
export interface RetryEventDetails {
|
|
18
|
-
readonly retries: number;
|
|
19
|
-
readonly backoff: number;
|
|
20
|
-
}
|
|
21
|
-
declare type WebsocketBuffer = Buffer<string | ArrayBufferLike | Blob | ArrayBufferView>;
|
|
22
|
-
export declare class Websocket {
|
|
23
|
-
private readonly url;
|
|
24
|
-
private readonly protocols?;
|
|
25
|
-
private readonly buffer?;
|
|
26
|
-
private readonly backoff?;
|
|
27
|
-
private readonly eventListeners;
|
|
28
|
-
private closedByUser;
|
|
29
|
-
private websocket?;
|
|
30
|
-
private retries;
|
|
31
|
-
constructor(url: string, protocols?: string | string[], buffer?: WebsocketBuffer, backoff?: Backoff);
|
|
32
|
-
get underlyingWebsocket(): WebSocket | undefined;
|
|
33
|
-
send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void;
|
|
34
|
-
close(code?: number, reason?: string): void;
|
|
35
|
-
addEventListener<K extends WebsocketEvents>(type: K, listener: (instance: Websocket, ev: WebsocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
36
|
-
removeEventListener<K extends WebsocketEvents>(type: K, listener: (instance: Websocket, ev: WebsocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
37
|
-
private dispatchEvent;
|
|
38
|
-
private tryConnect;
|
|
39
|
-
private handleOpenEvent;
|
|
40
|
-
private handleCloseEvent;
|
|
41
|
-
private handleErrorEvent;
|
|
42
|
-
private handleMessageEvent;
|
|
43
|
-
private handleEvent;
|
|
44
|
-
private reconnect;
|
|
45
|
-
}
|
|
46
|
-
export {};
|
|
47
|
-
//# sourceMappingURL=websocket.d.ts.map
|
package/lib/websocket.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAOvC,oBAAY,eAAe;IACvB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,KAAK,UAAU;CAClB;AAED,UAAU,iBAAiB;IACvB,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAC3B;AAUD,aAAK,eAAe,GAAG,MAAM,CAAC,MAAM,GAAG,eAAe,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC;AAEjF,qBAAa,SAAS;IAClB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqF;IACpH,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAa;gBAEhB,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO;IAQnG,IAAI,mBAAmB,IAAI,SAAS,GAAG,SAAS,CAE/C;IAEM,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,GAAG,eAAe,GAAG,IAAI;IASnE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAK3C,gBAAgB,CAAC,CAAC,SAAS,eAAe,EAC7C,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,GAAG,EAChE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI;IAM/C,mBAAmB,CAAC,CAAC,SAAS,eAAe,EAChD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,GAAG,EAChE,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI;IAQnD,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,eAAe,CAA6D;IAEpF,OAAO,CAAC,gBAAgB,CAAmE;IAE3F,OAAO,CAAC,gBAAgB,CAA8D;IAEtF,OAAO,CAAC,kBAAkB,CAAuE;IAEjG,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,SAAS;CAgBpB"}
|
package/lib/websocket.js
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Websocket = exports.WebsocketEvents = void 0;
|
|
4
|
-
var WebsocketEvents;
|
|
5
|
-
(function (WebsocketEvents) {
|
|
6
|
-
WebsocketEvents["open"] = "open";
|
|
7
|
-
WebsocketEvents["close"] = "close";
|
|
8
|
-
WebsocketEvents["error"] = "error";
|
|
9
|
-
WebsocketEvents["message"] = "message";
|
|
10
|
-
WebsocketEvents["retry"] = "retry"; // A try to re-connect is made
|
|
11
|
-
})(WebsocketEvents = exports.WebsocketEvents || (exports.WebsocketEvents = {}));
|
|
12
|
-
var Websocket = /** @class */ (function () {
|
|
13
|
-
function Websocket(url, protocols, buffer, backoff) {
|
|
14
|
-
var _this = this;
|
|
15
|
-
this.eventListeners = { open: [], close: [], error: [], message: [], retry: [] };
|
|
16
|
-
this.closedByUser = false;
|
|
17
|
-
this.retries = 0;
|
|
18
|
-
this.handleOpenEvent = function (ev) { return _this.handleEvent(WebsocketEvents.open, ev); };
|
|
19
|
-
this.handleCloseEvent = function (ev) { return _this.handleEvent(WebsocketEvents.close, ev); };
|
|
20
|
-
this.handleErrorEvent = function (ev) { return _this.handleEvent(WebsocketEvents.error, ev); };
|
|
21
|
-
this.handleMessageEvent = function (ev) { return _this.handleEvent(WebsocketEvents.message, ev); };
|
|
22
|
-
this.url = url;
|
|
23
|
-
this.protocols = protocols;
|
|
24
|
-
this.buffer = buffer;
|
|
25
|
-
this.backoff = backoff;
|
|
26
|
-
this.tryConnect();
|
|
27
|
-
}
|
|
28
|
-
Object.defineProperty(Websocket.prototype, "underlyingWebsocket", {
|
|
29
|
-
get: function () {
|
|
30
|
-
return this.websocket;
|
|
31
|
-
},
|
|
32
|
-
enumerable: false,
|
|
33
|
-
configurable: true
|
|
34
|
-
});
|
|
35
|
-
Websocket.prototype.send = function (data) {
|
|
36
|
-
var _a;
|
|
37
|
-
if (this.closedByUser)
|
|
38
|
-
return;
|
|
39
|
-
if (this.websocket === undefined || this.websocket.readyState !== this.websocket.OPEN)
|
|
40
|
-
(_a = this.buffer) === null || _a === void 0 ? void 0 : _a.write([data]);
|
|
41
|
-
else
|
|
42
|
-
this.websocket.send(data);
|
|
43
|
-
};
|
|
44
|
-
Websocket.prototype.close = function (code, reason) {
|
|
45
|
-
var _a;
|
|
46
|
-
this.closedByUser = true;
|
|
47
|
-
(_a = this.websocket) === null || _a === void 0 ? void 0 : _a.close(code, reason);
|
|
48
|
-
};
|
|
49
|
-
Websocket.prototype.addEventListener = function (type, listener, options) {
|
|
50
|
-
var eventListener = { listener: listener, options: options };
|
|
51
|
-
var eventListeners = this.eventListeners[type];
|
|
52
|
-
eventListeners.push(eventListener);
|
|
53
|
-
};
|
|
54
|
-
Websocket.prototype.removeEventListener = function (type, listener, options) {
|
|
55
|
-
this.eventListeners[type] =
|
|
56
|
-
this.eventListeners[type]
|
|
57
|
-
.filter(function (l) {
|
|
58
|
-
return l.listener !== listener && (l.options === undefined || l.options !== options);
|
|
59
|
-
});
|
|
60
|
-
};
|
|
61
|
-
Websocket.prototype.dispatchEvent = function (type, ev) {
|
|
62
|
-
var _this = this;
|
|
63
|
-
var listeners = this.eventListeners[type];
|
|
64
|
-
var onceListeners = [];
|
|
65
|
-
listeners.forEach(function (l) {
|
|
66
|
-
l.listener(_this, ev); // call listener
|
|
67
|
-
if (l.options !== undefined && l.options.once)
|
|
68
|
-
onceListeners.push(l);
|
|
69
|
-
});
|
|
70
|
-
onceListeners.forEach(function (l) { return _this.removeEventListener(type, l.listener, l.options); }); // remove 'once'-listeners
|
|
71
|
-
};
|
|
72
|
-
Websocket.prototype.tryConnect = function () {
|
|
73
|
-
if (this.websocket !== undefined) { // remove all event-listeners from broken socket
|
|
74
|
-
this.websocket.removeEventListener(WebsocketEvents.open, this.handleOpenEvent);
|
|
75
|
-
this.websocket.removeEventListener(WebsocketEvents.close, this.handleCloseEvent);
|
|
76
|
-
this.websocket.removeEventListener(WebsocketEvents.error, this.handleErrorEvent);
|
|
77
|
-
this.websocket.removeEventListener(WebsocketEvents.message, this.handleMessageEvent);
|
|
78
|
-
this.websocket.close();
|
|
79
|
-
}
|
|
80
|
-
this.websocket = new WebSocket(this.url, this.protocols); // create new socket and attach handlers
|
|
81
|
-
this.websocket.addEventListener(WebsocketEvents.open, this.handleOpenEvent);
|
|
82
|
-
this.websocket.addEventListener(WebsocketEvents.close, this.handleCloseEvent);
|
|
83
|
-
this.websocket.addEventListener(WebsocketEvents.error, this.handleErrorEvent);
|
|
84
|
-
this.websocket.addEventListener(WebsocketEvents.message, this.handleMessageEvent);
|
|
85
|
-
};
|
|
86
|
-
Websocket.prototype.handleEvent = function (type, ev) {
|
|
87
|
-
var _a, _b, _c;
|
|
88
|
-
switch (type) {
|
|
89
|
-
case WebsocketEvents.close:
|
|
90
|
-
if (!this.closedByUser) // failed to connect or connection lost, try to reconnect
|
|
91
|
-
this.reconnect();
|
|
92
|
-
break;
|
|
93
|
-
case WebsocketEvents.open:
|
|
94
|
-
this.retries = 0;
|
|
95
|
-
(_a = this.backoff) === null || _a === void 0 ? void 0 : _a.reset(); // reset backoff
|
|
96
|
-
(_b = this.buffer) === null || _b === void 0 ? void 0 : _b.forEach(this.send.bind(this)); // send all buffered messages
|
|
97
|
-
(_c = this.buffer) === null || _c === void 0 ? void 0 : _c.clear();
|
|
98
|
-
break;
|
|
99
|
-
}
|
|
100
|
-
this.dispatchEvent(type, ev); // forward to all listeners
|
|
101
|
-
};
|
|
102
|
-
Websocket.prototype.reconnect = function () {
|
|
103
|
-
var _this = this;
|
|
104
|
-
if (this.backoff === undefined) // no backoff, we're done
|
|
105
|
-
return;
|
|
106
|
-
var backoff = this.backoff.next();
|
|
107
|
-
setTimeout(function () {
|
|
108
|
-
_this.dispatchEvent(WebsocketEvents.retry, new CustomEvent(WebsocketEvents.retry, {
|
|
109
|
-
detail: {
|
|
110
|
-
retries: ++_this.retries,
|
|
111
|
-
backoff: backoff
|
|
112
|
-
}
|
|
113
|
-
}));
|
|
114
|
-
_this.tryConnect();
|
|
115
|
-
}, backoff);
|
|
116
|
-
};
|
|
117
|
-
return Websocket;
|
|
118
|
-
}());
|
|
119
|
-
exports.Websocket = Websocket;
|
|
120
|
-
//# sourceMappingURL=websocket.js.map
|
package/lib/websocket.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Backoff } from "./backoff/backoff";
|
|
2
|
-
import { Buffer } from "./buffer/buffer";
|
|
3
|
-
import { RetryEventDetails, Websocket } from "./websocket";
|
|
4
|
-
/**
|
|
5
|
-
* Used to build Websocket-instances.
|
|
6
|
-
*/
|
|
7
|
-
export declare class WebsocketBuilder {
|
|
8
|
-
private readonly url;
|
|
9
|
-
private ws;
|
|
10
|
-
private protocols?;
|
|
11
|
-
private backoff?;
|
|
12
|
-
private buffer?;
|
|
13
|
-
private onOpenListeners;
|
|
14
|
-
private onCloseListeners;
|
|
15
|
-
private onErrorListeners;
|
|
16
|
-
private onMessageListeners;
|
|
17
|
-
private onRetryListeners;
|
|
18
|
-
constructor(url: string);
|
|
19
|
-
withProtocols(p: string | string[]): WebsocketBuilder;
|
|
20
|
-
withBackoff(backoff: Backoff): WebsocketBuilder;
|
|
21
|
-
withBuffer(buffer: Buffer<any>): WebsocketBuilder;
|
|
22
|
-
onOpen(listener: (instance: Websocket, ev: Event) => any, options?: boolean | EventListenerOptions): WebsocketBuilder;
|
|
23
|
-
onClose(listener: (instance: Websocket, ev: CloseEvent) => any, options?: boolean | EventListenerOptions): WebsocketBuilder;
|
|
24
|
-
onError(listener: (instance: Websocket, ev: Event) => any, options?: boolean | EventListenerOptions): WebsocketBuilder;
|
|
25
|
-
onMessage(listener: (instance: Websocket, ev: MessageEvent) => any, options?: boolean | EventListenerOptions): WebsocketBuilder;
|
|
26
|
-
onRetry(listener: (instance: Websocket, ev: CustomEvent<RetryEventDetails>) => any, options?: boolean | EventListenerOptions): WebsocketBuilder;
|
|
27
|
-
/**
|
|
28
|
-
* Multiple calls to build() will always return the same websocket-instance.
|
|
29
|
-
*/
|
|
30
|
-
build(): Websocket;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=websocketBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websocketBuilder.d.ts","sourceRoot":"","sources":["../src/websocketBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,iBAAiB,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAC;AAE1E;;GAEG;AACH,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,SAAS,CAAC,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAC,CAAU;IAC1B,OAAO,CAAC,MAAM,CAAC,CAA4D;IAC3E,OAAO,CAAC,eAAe,CAGb;IACV,OAAO,CAAC,gBAAgB,CAGd;IACV,OAAO,CAAC,gBAAgB,CAGd;IACV,OAAO,CAAC,kBAAkB,CAGhB;IACV,OAAO,CAAC,gBAAgB,CAGd;gBAEE,GAAG,EAAE,MAAM;IAIhB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,gBAAgB;IAKrD,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB;IAK/C,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB;IAKjD,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,KAAK,GAAG,EACjD,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,gBAAgB;IAKlE,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,KAAK,GAAG,EACtD,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,gBAAgB;IAKnE,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,KAAK,GAAG,EACjD,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,gBAAgB;IAKnE,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,GAAG,EACxD,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,gBAAgB;IAKrE,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,CAAC,iBAAiB,CAAC,KAAK,GAAG,EAC1E,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,gBAAgB;IAK1E;;OAEG;IACI,KAAK,IAAI,SAAS;CAW5B"}
|