websocket-ts 2.3.0 → 3.0.0

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.
Files changed (188) hide show
  1. package/README.md +134 -9
  2. package/dist/cjs/{src/backoff → backoff}/backoff.d.ts +6 -3
  3. package/dist/{esm/src → cjs}/backoff/backoff.d.ts.map +1 -1
  4. package/dist/{esm/src → cjs}/backoff/backoff.js.map +1 -1
  5. package/dist/cjs/{src/backoff → backoff}/constantbackoff.d.ts +2 -2
  6. package/dist/cjs/backoff/constantbackoff.d.ts.map +1 -0
  7. package/dist/cjs/backoff/constantbackoff.js +34 -0
  8. package/dist/cjs/backoff/constantbackoff.js.map +1 -0
  9. package/dist/{esm/src → cjs}/backoff/exponentialbackoff.d.ts +2 -2
  10. package/dist/cjs/backoff/exponentialbackoff.d.ts.map +1 -0
  11. package/dist/cjs/{src/backoff → backoff}/exponentialbackoff.js +19 -27
  12. package/dist/cjs/backoff/exponentialbackoff.js.map +1 -0
  13. package/dist/{esm/src → cjs}/backoff/linearbackoff.d.ts +1 -1
  14. package/dist/cjs/backoff/linearbackoff.d.ts.map +1 -0
  15. package/dist/cjs/{src/backoff → backoff}/linearbackoff.js +23 -31
  16. package/dist/cjs/backoff/linearbackoff.js.map +1 -0
  17. package/dist/cjs/index.d.ts +14 -0
  18. package/dist/cjs/index.d.ts.map +1 -0
  19. package/dist/cjs/index.js +20 -0
  20. package/dist/cjs/index.js.map +1 -0
  21. package/dist/cjs/package.json +1 -0
  22. package/dist/{esm/src → cjs}/queue/array_queue.d.ts +1 -1
  23. package/dist/cjs/queue/array_queue.d.ts.map +1 -0
  24. package/dist/cjs/{src/queue → queue}/array_queue.js +17 -18
  25. package/dist/cjs/queue/array_queue.js.map +1 -0
  26. package/dist/cjs/queue/queue.d.ts.map +1 -0
  27. package/dist/cjs/{src/queue → queue}/queue.js.map +1 -1
  28. package/dist/cjs/{src/queue → queue}/ring_queue.d.ts +1 -1
  29. package/dist/cjs/queue/ring_queue.d.ts.map +1 -0
  30. package/dist/cjs/{src/queue → queue}/ring_queue.js +25 -22
  31. package/dist/cjs/queue/ring_queue.js.map +1 -0
  32. package/dist/cjs/{src/websocket.d.ts → websocket.d.ts} +75 -17
  33. package/dist/cjs/websocket.d.ts.map +1 -0
  34. package/dist/cjs/websocket.js +588 -0
  35. package/dist/cjs/websocket.js.map +1 -0
  36. package/dist/cjs/{src/websocket_buffer.d.ts → websocket_buffer.d.ts} +1 -1
  37. package/dist/cjs/websocket_buffer.d.ts.map +1 -0
  38. package/dist/cjs/websocket_buffer.js.map +1 -0
  39. package/dist/{esm/src → cjs}/websocket_builder.d.ts +14 -5
  40. package/dist/cjs/{src/websocket_builder.d.ts.map → websocket_builder.d.ts.map} +1 -1
  41. package/dist/cjs/websocket_builder.js +236 -0
  42. package/dist/cjs/websocket_builder.js.map +1 -0
  43. package/dist/{esm/src → cjs}/websocket_event.d.ts +20 -5
  44. package/dist/cjs/websocket_event.d.ts.map +1 -0
  45. package/dist/cjs/{src/websocket_event.js → websocket_event.js} +7 -1
  46. package/dist/cjs/websocket_event.js.map +1 -0
  47. package/dist/{esm/src → cjs}/websocket_options.d.ts +6 -5
  48. package/dist/cjs/websocket_options.d.ts.map +1 -0
  49. package/dist/cjs/websocket_options.js.map +1 -0
  50. package/dist/{esm/src → cjs}/websocket_retry_options.d.ts +3 -2
  51. package/dist/cjs/websocket_retry_options.d.ts.map +1 -0
  52. package/dist/cjs/websocket_retry_options.js.map +1 -0
  53. package/dist/esm/{src/backoff → backoff}/backoff.d.ts +6 -3
  54. package/dist/{cjs/src → esm}/backoff/backoff.d.ts.map +1 -1
  55. package/dist/{cjs/src → esm}/backoff/backoff.js.map +1 -1
  56. package/dist/esm/{src/backoff → backoff}/constantbackoff.d.ts +2 -2
  57. package/dist/esm/backoff/constantbackoff.d.ts.map +1 -0
  58. package/dist/esm/{src/backoff → backoff}/constantbackoff.js +3 -3
  59. package/dist/esm/backoff/constantbackoff.js.map +1 -0
  60. package/dist/{cjs/src → esm}/backoff/exponentialbackoff.d.ts +2 -2
  61. package/dist/esm/backoff/exponentialbackoff.d.ts.map +1 -0
  62. package/dist/esm/{src/backoff → backoff}/exponentialbackoff.js +6 -5
  63. package/dist/esm/backoff/exponentialbackoff.js.map +1 -0
  64. package/dist/{cjs/src → esm}/backoff/linearbackoff.d.ts +1 -1
  65. package/dist/esm/backoff/linearbackoff.d.ts.map +1 -0
  66. package/dist/esm/{src/backoff → backoff}/linearbackoff.js +8 -7
  67. package/dist/esm/backoff/linearbackoff.js.map +1 -0
  68. package/dist/esm/index.d.ts +14 -0
  69. package/dist/esm/index.d.ts.map +1 -0
  70. package/dist/esm/index.js +9 -0
  71. package/dist/esm/index.js.map +1 -0
  72. package/dist/esm/package.json +1 -0
  73. package/dist/{cjs/src → esm}/queue/array_queue.d.ts +1 -1
  74. package/dist/esm/queue/array_queue.d.ts.map +1 -0
  75. package/dist/esm/queue/array_queue.js.map +1 -0
  76. package/dist/esm/queue/queue.d.ts.map +1 -0
  77. package/dist/esm/{src/queue → queue}/queue.js.map +1 -1
  78. package/dist/esm/{src/queue → queue}/ring_queue.d.ts +1 -1
  79. package/dist/esm/queue/ring_queue.d.ts.map +1 -0
  80. package/dist/esm/{src/queue → queue}/ring_queue.js +7 -3
  81. package/dist/esm/queue/ring_queue.js.map +1 -0
  82. package/dist/esm/{src/websocket.d.ts → websocket.d.ts} +75 -17
  83. package/dist/esm/websocket.d.ts.map +1 -0
  84. package/dist/esm/websocket.js +584 -0
  85. package/dist/esm/websocket.js.map +1 -0
  86. package/dist/esm/{src/websocket_buffer.d.ts → websocket_buffer.d.ts} +1 -1
  87. package/dist/esm/websocket_buffer.d.ts.map +1 -0
  88. package/dist/esm/websocket_buffer.js.map +1 -0
  89. package/dist/{cjs/src → esm}/websocket_builder.d.ts +14 -5
  90. package/dist/esm/{src/websocket_builder.d.ts.map → websocket_builder.d.ts.map} +1 -1
  91. package/dist/esm/{src/websocket_builder.js → websocket_builder.js} +36 -17
  92. package/dist/esm/websocket_builder.js.map +1 -0
  93. package/dist/{cjs/src → esm}/websocket_event.d.ts +20 -5
  94. package/dist/esm/websocket_event.d.ts.map +1 -0
  95. package/dist/esm/{src/websocket_event.js → websocket_event.js} +7 -1
  96. package/dist/esm/websocket_event.js.map +1 -0
  97. package/dist/{cjs/src → esm}/websocket_options.d.ts +6 -5
  98. package/dist/esm/websocket_options.d.ts.map +1 -0
  99. package/dist/esm/websocket_options.js.map +1 -0
  100. package/dist/{cjs/src → esm}/websocket_retry_options.d.ts +3 -2
  101. package/dist/esm/websocket_retry_options.d.ts.map +1 -0
  102. package/dist/esm/websocket_retry_options.js.map +1 -0
  103. package/package.json +35 -16
  104. package/src/backoff/backoff.ts +6 -3
  105. package/src/backoff/constantbackoff.ts +4 -4
  106. package/src/backoff/exponentialbackoff.ts +7 -6
  107. package/src/backoff/linearbackoff.ts +9 -8
  108. package/src/index.ts +14 -13
  109. package/src/queue/array_queue.ts +1 -1
  110. package/src/queue/ring_queue.ts +12 -8
  111. package/src/websocket.ts +333 -79
  112. package/src/websocket_buffer.ts +1 -3
  113. package/src/websocket_builder.ts +24 -13
  114. package/src/websocket_event.ts +25 -6
  115. package/src/websocket_options.ts +6 -5
  116. package/src/websocket_retry_options.ts +3 -2
  117. package/dist/cjs/src/backoff/constantbackoff.d.ts.map +0 -1
  118. package/dist/cjs/src/backoff/constantbackoff.js +0 -43
  119. package/dist/cjs/src/backoff/constantbackoff.js.map +0 -1
  120. package/dist/cjs/src/backoff/exponentialbackoff.d.ts.map +0 -1
  121. package/dist/cjs/src/backoff/exponentialbackoff.js.map +0 -1
  122. package/dist/cjs/src/backoff/linearbackoff.d.ts.map +0 -1
  123. package/dist/cjs/src/backoff/linearbackoff.js.map +0 -1
  124. package/dist/cjs/src/index.d.ts +0 -14
  125. package/dist/cjs/src/index.d.ts.map +0 -1
  126. package/dist/cjs/src/index.js +0 -20
  127. package/dist/cjs/src/index.js.map +0 -1
  128. package/dist/cjs/src/queue/array_queue.d.ts.map +0 -1
  129. package/dist/cjs/src/queue/array_queue.js.map +0 -1
  130. package/dist/cjs/src/queue/queue.d.ts.map +0 -1
  131. package/dist/cjs/src/queue/ring_queue.d.ts.map +0 -1
  132. package/dist/cjs/src/queue/ring_queue.js.map +0 -1
  133. package/dist/cjs/src/websocket.d.ts.map +0 -1
  134. package/dist/cjs/src/websocket.js +0 -439
  135. package/dist/cjs/src/websocket.js.map +0 -1
  136. package/dist/cjs/src/websocket_buffer.d.ts.map +0 -1
  137. package/dist/cjs/src/websocket_buffer.js.map +0 -1
  138. package/dist/cjs/src/websocket_builder.js +0 -263
  139. package/dist/cjs/src/websocket_builder.js.map +0 -1
  140. package/dist/cjs/src/websocket_event.d.ts.map +0 -1
  141. package/dist/cjs/src/websocket_event.js.map +0 -1
  142. package/dist/cjs/src/websocket_options.d.ts.map +0 -1
  143. package/dist/cjs/src/websocket_options.js.map +0 -1
  144. package/dist/cjs/src/websocket_retry_options.d.ts.map +0 -1
  145. package/dist/cjs/src/websocket_retry_options.js.map +0 -1
  146. package/dist/esm/src/backoff/constantbackoff.d.ts.map +0 -1
  147. package/dist/esm/src/backoff/constantbackoff.js.map +0 -1
  148. package/dist/esm/src/backoff/exponentialbackoff.d.ts.map +0 -1
  149. package/dist/esm/src/backoff/exponentialbackoff.js.map +0 -1
  150. package/dist/esm/src/backoff/linearbackoff.d.ts.map +0 -1
  151. package/dist/esm/src/backoff/linearbackoff.js.map +0 -1
  152. package/dist/esm/src/index.d.ts +0 -14
  153. package/dist/esm/src/index.d.ts.map +0 -1
  154. package/dist/esm/src/index.js +0 -9
  155. package/dist/esm/src/index.js.map +0 -1
  156. package/dist/esm/src/queue/array_queue.d.ts.map +0 -1
  157. package/dist/esm/src/queue/array_queue.js.map +0 -1
  158. package/dist/esm/src/queue/queue.d.ts.map +0 -1
  159. package/dist/esm/src/queue/ring_queue.d.ts.map +0 -1
  160. package/dist/esm/src/queue/ring_queue.js.map +0 -1
  161. package/dist/esm/src/websocket.d.ts.map +0 -1
  162. package/dist/esm/src/websocket.js +0 -361
  163. package/dist/esm/src/websocket.js.map +0 -1
  164. package/dist/esm/src/websocket_buffer.d.ts.map +0 -1
  165. package/dist/esm/src/websocket_buffer.js.map +0 -1
  166. package/dist/esm/src/websocket_builder.js.map +0 -1
  167. package/dist/esm/src/websocket_event.d.ts.map +0 -1
  168. package/dist/esm/src/websocket_event.js.map +0 -1
  169. package/dist/esm/src/websocket_options.d.ts.map +0 -1
  170. package/dist/esm/src/websocket_options.js.map +0 -1
  171. package/dist/esm/src/websocket_retry_options.d.ts.map +0 -1
  172. package/dist/esm/src/websocket_retry_options.js.map +0 -1
  173. package/eslint.config.mjs +0 -43
  174. package/tsconfig.cjs.json +0 -74
  175. package/tsconfig.esm.json +0 -74
  176. /package/dist/cjs/{src/backoff → backoff}/backoff.js +0 -0
  177. /package/dist/cjs/{src/queue → queue}/queue.d.ts +0 -0
  178. /package/dist/cjs/{src/queue → queue}/queue.js +0 -0
  179. /package/dist/cjs/{src/websocket_buffer.js → websocket_buffer.js} +0 -0
  180. /package/dist/cjs/{src/websocket_options.js → websocket_options.js} +0 -0
  181. /package/dist/cjs/{src/websocket_retry_options.js → websocket_retry_options.js} +0 -0
  182. /package/dist/esm/{src/backoff → backoff}/backoff.js +0 -0
  183. /package/dist/esm/{src/queue → queue}/array_queue.js +0 -0
  184. /package/dist/esm/{src/queue → queue}/queue.d.ts +0 -0
  185. /package/dist/esm/{src/queue → queue}/queue.js +0 -0
  186. /package/dist/esm/{src/websocket_buffer.js → websocket_buffer.js} +0 -0
  187. /package/dist/esm/{src/websocket_options.js → websocket_options.js} +0 -0
  188. /package/dist/esm/{src/websocket_retry_options.js → websocket_retry_options.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"websocket_builder.d.ts","sourceRoot":"","sources":["../../../src/websocket_builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IAEnC,OAAO,CAAC,UAAU,CAAC,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAC,CAAmB;IAEpC;;;;OAIG;gBACS,GAAG,EAAE,WAAW;IAI5B;;;;OAIG;IACH,IAAI,GAAG,IAAI,WAAW,CAErB;IAED;;;;OAIG;IACI,aAAa,CAClB,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GACvC,gBAAgB;IAKnB;;;;OAIG;IACH,IAAI,SAAS,IAAI,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAE7C;IAED;;;;OAIG;IACI,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB;IAQvE;;;;OAIG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED;;;;OAIG;IACI,oBAAoB,CACzB,gBAAgB,EAAE,OAAO,GAAG,SAAS,GACpC,gBAAgB;IAQnB;;;;OAIG;IACH,IAAI,gBAAgB,IAAI,OAAO,GAAG,SAAS,CAE1C;IAED;;;;OAIG;IACI,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,gBAAgB;IAQlE;;;;OAIG;IACH,IAAI,OAAO,IAAI,OAAO,GAAG,SAAS,CAEjC;IAED;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,gBAAgB;IAKxE;;;;OAIG;IACH,IAAI,MAAM,IAAI,eAAe,GAAG,SAAS,CAExC;IAED;;;;;;OAMG;IACI,MAAM,CACX,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,EACrD,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;;;OAMG;IACI,OAAO,CACZ,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,KAAK,CAAC,EACtD,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;;;OAMG;IACI,OAAO,CACZ,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,KAAK,CAAC,EACtD,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;;;OAMG;IACI,SAAS,CACd,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,OAAO,CAAC,EACxD,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;;;OAMG;IACI,OAAO,CACZ,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,KAAK,CAAC,EACtD,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;;;OAMG;IACI,WAAW,CAChB,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,SAAS,CAAC,EAC1D,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;OAIG;IACI,KAAK,IAAI,SAAS;IAIzB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;CAsBpB"}
1
+ {"version":3,"file":"websocket_builder.d.ts","sourceRoot":"","sources":["../../src/websocket_builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IAEnC,OAAO,CAAC,UAAU,CAAC,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAC,CAAmB;IAEpC;;;;OAIG;gBACS,GAAG,EAAE,WAAW;IAI5B;;;;OAIG;IACH,IAAI,GAAG,IAAI,WAAW,CAErB;IAED;;;;OAIG;IACI,aAAa,CAClB,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GACvC,gBAAgB;IAKnB;;;;OAIG;IACH,IAAI,SAAS,IAAI,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAE7C;IAED;;;;;OAKG;IACI,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB;IAQvE;;;;OAIG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED;;;;OAIG;IACI,oBAAoB,CACzB,gBAAgB,EAAE,OAAO,GAAG,SAAS,GACpC,gBAAgB;IAQnB;;;;OAIG;IACH,IAAI,gBAAgB,IAAI,OAAO,GAAG,SAAS,CAE1C;IAED;;;;OAIG;IACI,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,gBAAgB;IAQlE;;;;OAIG;IACH,IAAI,OAAO,IAAI,OAAO,GAAG,SAAS,CAEjC;IAED;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,gBAAgB;IAKxE;;;;OAIG;IACH,IAAI,MAAM,IAAI,eAAe,GAAG,SAAS,CAExC;IAED;;;;;;OAMG;IACI,MAAM,CACX,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,EACrD,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;;;OAMG;IACI,OAAO,CACZ,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,KAAK,CAAC,EACtD,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;;;OAMG;IACI,OAAO,CACZ,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,KAAK,CAAC,EACtD,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;;;OAMG;IACI,SAAS,CACd,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,OAAO,CAAC,EACxD,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;;;OAMG;IACI,OAAO,CACZ,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,KAAK,CAAC,EACtD,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;;;OAMG;IACI,WAAW,CAChB,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,SAAS,CAAC,EAC1D,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;;;OAMG;IACI,WAAW,CAChB,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,SAAS,CAAC,EAC1D,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB;IAKnB;;;;OAIG;IACI,KAAK,IAAI,SAAS;IAIzB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;CAiBpB"}
@@ -0,0 +1,236 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebsocketBuilder = void 0;
4
+ const websocket_event_js_1 = require("./websocket_event.js");
5
+ const websocket_js_1 = require("./websocket.js");
6
+ /**
7
+ * Builder for websockets.
8
+ */
9
+ class WebsocketBuilder {
10
+ /**
11
+ * Creates a new WebsocketBuilder.
12
+ *
13
+ * @param url the url to connect to, or a function that returns a URL
14
+ */
15
+ constructor(url) {
16
+ this._url = url;
17
+ }
18
+ /**
19
+ * Getter for the url.
20
+ *
21
+ * @returns the url or url provider
22
+ */
23
+ get url() {
24
+ return this._url;
25
+ }
26
+ /**
27
+ * Adds protocols to the websocket. Subsequent calls to this method will override the previously set protocols.
28
+ *
29
+ * @param protocols the protocols to add
30
+ */
31
+ withProtocols(protocols) {
32
+ this._protocols = protocols;
33
+ return this;
34
+ }
35
+ /**
36
+ * Getter for the protocols.
37
+ *
38
+ * @returns the protocols, undefined if no protocols have been set
39
+ */
40
+ get protocols() {
41
+ return this._protocols;
42
+ }
43
+ /**
44
+ * Sets the maximum number of retries before giving up. No limit if undefined or Infinity.
45
+ * Must be Infinity or a non-negative integer, otherwise build() will throw.
46
+ *
47
+ * @param maxRetries the maximum number of retries before giving up
48
+ */
49
+ withMaxRetries(maxRetries) {
50
+ var _a;
51
+ this._options = {
52
+ ...this._options,
53
+ retry: { ...(_a = this._options) === null || _a === void 0 ? void 0 : _a.retry, maxRetries },
54
+ };
55
+ return this;
56
+ }
57
+ /**
58
+ * Getter for the maximum number of retries before giving up.
59
+ *
60
+ * @returns the maximum number of retries before giving up, undefined if no maximum has been set
61
+ */
62
+ get maxRetries() {
63
+ var _a, _b;
64
+ return (_b = (_a = this._options) === null || _a === void 0 ? void 0 : _a.retry) === null || _b === void 0 ? void 0 : _b.maxRetries;
65
+ }
66
+ /**
67
+ * Sets whether to reconnect immediately after a connection has been lost, ignoring the backoff strategy for the first retry.
68
+ *
69
+ * @param instantReconnect whether to reconnect immediately after a connection has been lost
70
+ */
71
+ withInstantReconnect(instantReconnect) {
72
+ var _a;
73
+ this._options = {
74
+ ...this._options,
75
+ retry: { ...(_a = this._options) === null || _a === void 0 ? void 0 : _a.retry, instantReconnect },
76
+ };
77
+ return this;
78
+ }
79
+ /**
80
+ * Getter for whether to reconnect immediately after a connection has been lost, ignoring the backoff strategy for the first retry.
81
+ *
82
+ * @returns whether to reconnect immediately after a connection has been lost, undefined if no value has been set
83
+ */
84
+ get instantReconnect() {
85
+ var _a, _b;
86
+ return (_b = (_a = this._options) === null || _a === void 0 ? void 0 : _a.retry) === null || _b === void 0 ? void 0 : _b.instantReconnect;
87
+ }
88
+ /**
89
+ * Adds a backoff to the websocket. Subsequent calls to this method will override the previously set backoff.
90
+ *
91
+ * @param backoff the backoff to add
92
+ */
93
+ withBackoff(backoff) {
94
+ var _a;
95
+ this._options = {
96
+ ...this._options,
97
+ retry: { ...(_a = this._options) === null || _a === void 0 ? void 0 : _a.retry, backoff },
98
+ };
99
+ return this;
100
+ }
101
+ /**
102
+ * Getter for the backoff.
103
+ *
104
+ * @returns the backoff, undefined if no backoff has been set
105
+ */
106
+ get backoff() {
107
+ var _a, _b;
108
+ return (_b = (_a = this._options) === null || _a === void 0 ? void 0 : _a.retry) === null || _b === void 0 ? void 0 : _b.backoff;
109
+ }
110
+ /**
111
+ * Adds a buffer to the websocket. Subsequent calls to this method will override the previously set buffer.
112
+ *
113
+ * @param buffer the buffer to add
114
+ */
115
+ withBuffer(buffer) {
116
+ this._options = { ...this._options, buffer };
117
+ return this;
118
+ }
119
+ /**
120
+ * Getter for the buffer.
121
+ *
122
+ * @returns the buffer, undefined if no buffer has been set
123
+ */
124
+ get buffer() {
125
+ var _a;
126
+ return (_a = this._options) === null || _a === void 0 ? void 0 : _a.buffer;
127
+ }
128
+ /**
129
+ * Adds an 'open' event listener to the websocket. Subsequent calls to this method will add additional listeners that will be
130
+ * called in the order they were added.
131
+ *
132
+ * @param listener the listener to add
133
+ * @param options the listener options
134
+ */
135
+ onOpen(listener, options) {
136
+ this.addListener(websocket_event_js_1.WebsocketEvent.open, listener, options);
137
+ return this;
138
+ }
139
+ /**
140
+ * Adds an 'close' event listener to the websocket. Subsequent calls to this method will add additional listeners that will be
141
+ * called in the order they were added.
142
+ *
143
+ * @param listener the listener to add
144
+ * @param options the listener options
145
+ */
146
+ onClose(listener, options) {
147
+ this.addListener(websocket_event_js_1.WebsocketEvent.close, listener, options);
148
+ return this;
149
+ }
150
+ /**
151
+ * Adds an 'error' event listener to the websocket. Subsequent calls to this method will add additional listeners that will be
152
+ * called in the order they were added.
153
+ *
154
+ * @param listener the listener to add
155
+ * @param options the listener options
156
+ */
157
+ onError(listener, options) {
158
+ this.addListener(websocket_event_js_1.WebsocketEvent.error, listener, options);
159
+ return this;
160
+ }
161
+ /**
162
+ * Adds an 'message' event listener to the websocket. Subsequent calls to this method will add additional listeners that will be
163
+ * called in the order they were added.
164
+ *
165
+ * @param listener the listener to add
166
+ * @param options the listener options
167
+ */
168
+ onMessage(listener, options) {
169
+ this.addListener(websocket_event_js_1.WebsocketEvent.message, listener, options);
170
+ return this;
171
+ }
172
+ /**
173
+ * Adds an 'retry' event listener to the websocket. Subsequent calls to this method will add additional listeners that will be
174
+ * called in the order they were added.
175
+ *
176
+ * @param listener the listener to add
177
+ * @param options the listener options
178
+ */
179
+ onRetry(listener, options) {
180
+ this.addListener(websocket_event_js_1.WebsocketEvent.retry, listener, options);
181
+ return this;
182
+ }
183
+ /**
184
+ * Adds an 'reconnect' event listener to the websocket. Subsequent calls to this method will add additional listeners that will be
185
+ * called in the order they were added.
186
+ *
187
+ * @param listener the listener to add
188
+ * @param options the listener options
189
+ */
190
+ onReconnect(listener, options) {
191
+ this.addListener(websocket_event_js_1.WebsocketEvent.reconnect, listener, options);
192
+ return this;
193
+ }
194
+ /**
195
+ * Adds an 'exhausted' event listener to the websocket. Subsequent calls to this method will add additional listeners that will be
196
+ * called in the order they were added.
197
+ *
198
+ * @param listener the listener to add
199
+ * @param options the listener options
200
+ */
201
+ onExhausted(listener, options) {
202
+ this.addListener(websocket_event_js_1.WebsocketEvent.exhausted, listener, options);
203
+ return this;
204
+ }
205
+ /**
206
+ * Builds the websocket.
207
+ *
208
+ * @return a new websocket, with the set options
209
+ */
210
+ build() {
211
+ return new websocket_js_1.Websocket(this._url, this._protocols, this._options); // instantiate the websocket with the set options
212
+ }
213
+ /**
214
+ * Adds an event listener to the options.
215
+ *
216
+ * @param event the event to add the listener to
217
+ * @param listener the listener to add
218
+ * @param options the listener options
219
+ */
220
+ addListener(event, listener, options) {
221
+ var _a, _b, _c, _d;
222
+ this._options = {
223
+ ...this._options,
224
+ listeners: {
225
+ ...(_a = this._options) === null || _a === void 0 ? void 0 : _a.listeners,
226
+ [event]: [
227
+ ...((_d = (_c = (_b = this._options) === null || _b === void 0 ? void 0 : _b.listeners) === null || _c === void 0 ? void 0 : _c[event]) !== null && _d !== void 0 ? _d : []),
228
+ { listener, options },
229
+ ],
230
+ },
231
+ };
232
+ return this;
233
+ }
234
+ }
235
+ exports.WebsocketBuilder = WebsocketBuilder;
236
+ //# sourceMappingURL=websocket_builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket_builder.js","sourceRoot":"","sources":["../../src/websocket_builder.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Websocket } from "./websocket";
1
+ import { Websocket } from "./websocket.js";
2
2
  /**
3
3
  * Events that can be fired by the websocket.
4
4
  */
@@ -7,7 +7,11 @@ export declare const WebsocketEvent: {
7
7
  readonly open: "open";
8
8
  /** Fired when the connection is closed. */
9
9
  readonly close: "close";
10
- /** Fired when the connection has been closed because of an error, such as when some data couldn't be sent. */
10
+ /**
11
+ * Fired when the connection has been closed because of an error, such as when some data couldn't be sent.
12
+ * Also fired when an automatic retry fails because the URL provider or the WebSocket constructor threw;
13
+ * that event is an ErrorEvent whose 'error' is the thrown value.
14
+ */
11
15
  readonly error: "error";
12
16
  /** Fired when a message is received. */
13
17
  readonly message: "message";
@@ -15,6 +19,8 @@ export declare const WebsocketEvent: {
15
19
  readonly retry: "retry";
16
20
  /** Fired when the websocket successfully reconnects after a connection loss. */
17
21
  readonly reconnect: "reconnect";
22
+ /** Fired when the websocket gives up reconnecting after exceeding maxRetries. */
23
+ readonly exhausted: "exhausted";
18
24
  };
19
25
  /** Union of all event type strings, allowing plain strings like "open" as event types. */
20
26
  export type WebsocketEvent = (typeof WebsocketEvent)[keyof typeof WebsocketEvent];
@@ -26,6 +32,7 @@ export declare namespace WebsocketEvent {
26
32
  type message = typeof WebsocketEvent.message;
27
33
  type retry = typeof WebsocketEvent.retry;
28
34
  type reconnect = typeof WebsocketEvent.reconnect;
35
+ type exhausted = typeof WebsocketEvent.exhausted;
29
36
  }
30
37
  /***
31
38
  * Details/properties of a retry-event.
@@ -35,13 +42,18 @@ export type RetryEventDetail = {
35
42
  readonly retries: number;
36
43
  /** Time (ms) waited since the last connection-retry. */
37
44
  readonly backoff: number;
38
- /** Timestamp of when the connection was lost or undefined if the connection has never been established. */
45
+ /** Timestamp of the last successful connection ('open' event) or undefined if the connection has never been established. */
39
46
  readonly lastConnection: Date | undefined;
40
47
  };
41
48
  /**
42
49
  * Properties of a reconnect-event.
43
50
  */
44
51
  export type ReconnectEventDetail = Omit<RetryEventDetail, "backoff">;
52
+ /**
53
+ * Properties of an exhausted-event. The 'retries' field holds the number of
54
+ * retries that were performed before giving up, i.e. the configured maxRetries.
55
+ */
56
+ export type ExhaustedEventDetail = Omit<RetryEventDetail, "backoff">;
45
57
  /**
46
58
  * Maps websocket events to their corresponding event.
47
59
  */
@@ -52,6 +64,7 @@ export type WebsocketEventMap = {
52
64
  [WebsocketEvent.message]: MessageEvent;
53
65
  [WebsocketEvent.retry]: CustomEvent<RetryEventDetail>;
54
66
  [WebsocketEvent.reconnect]: CustomEvent<ReconnectEventDetail>;
67
+ [WebsocketEvent.exhausted]: CustomEvent<ExhaustedEventDetail>;
55
68
  };
56
69
  /**
57
70
  * Listener for websocket events.
@@ -59,9 +72,11 @@ export type WebsocketEventMap = {
59
72
  export type WebsocketEventListener<K extends WebsocketEvent> = (instance: Websocket, ev: WebsocketEventMap[K]) => unknown;
60
73
  export type WebsocketEventListenerParams<K extends WebsocketEvent> = Parameters<WebsocketEventListener<K>>;
61
74
  /**
62
- * Options for websocket events.
75
+ * Options for websocket event listeners. Only 'once' and 'signal' are
76
+ * supported: a websocket has no capture/bubble phases and its events are not
77
+ * cancelable, so the remaining AddEventListenerOptions have no meaning here.
63
78
  */
64
- export type WebsocketEventListenerOptions = EventListenerOptions & AddEventListenerOptions;
79
+ export type WebsocketEventListenerOptions = Pick<AddEventListenerOptions, "once" | "signal">;
65
80
  /**
66
81
  * Listener for websocket events with options.
67
82
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket_event.d.ts","sourceRoot":"","sources":["../../src/websocket_event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,cAAc;IACzB,2CAA2C;;IAG3C,2CAA2C;;IAG3C;;;;OAIG;;IAGH,wCAAwC;;IAGxC,2EAA2E;;IAG3E,gFAAgF;;IAGhF,iFAAiF;;CAEzE,CAAC;AAEX,0FAA0F;AAC1F,MAAM,MAAM,cAAc,GACxB,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEvD,0FAA0F;AAE1F,yBAAiB,cAAc,CAAC;IAC9B,KAAY,IAAI,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;IAC9C,KAAY,KAAK,GAAG,OAAO,cAAc,CAAC,KAAK,CAAC;IAChD,KAAY,KAAK,GAAG,OAAO,cAAc,CAAC,KAAK,CAAC;IAChD,KAAY,OAAO,GAAG,OAAO,cAAc,CAAC,OAAO,CAAC;IACpD,KAAY,KAAK,GAAG,OAAO,cAAc,CAAC,KAAK,CAAC;IAChD,KAAY,SAAS,GAAG,OAAO,cAAc,CAAC,SAAS,CAAC;IACxD,KAAY,SAAS,GAAG,OAAO,cAAc,CAAC,SAAS,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,4HAA4H;IAC5H,QAAQ,CAAC,cAAc,EAAE,IAAI,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;AAErE;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IAC7B,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnC,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAC9B,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IACvC,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAC9D,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAC;CAC/D,CAAC;AAEF;;KAEK;AACL,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,cAAc,IAAI,CAC7D,QAAQ,EAAE,SAAS,EACnB,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC,KACrB,OAAO,CAAC;AAEb,MAAM,MAAM,4BAA4B,CAAC,CAAC,SAAS,cAAc,IAAI,UAAU,CAC7E,sBAAsB,CAAC,CAAC,CAAC,CAC1B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAC9C,uBAAuB,EACvB,MAAM,GAAG,QAAQ,CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iCAAiC,CAAC,CAAC,SAAS,cAAc,IAAI;IACxE,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,6BAA6B,CAAC;CAClD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;KACnC,CAAC,IAAI,cAAc,GAAG,iCAAiC,CAAC,CAAC,CAAC,EAAE;CAC9D,CAAC"}
@@ -9,7 +9,11 @@ exports.WebsocketEvent = {
9
9
  open: "open",
10
10
  /** Fired when the connection is closed. */
11
11
  close: "close",
12
- /** Fired when the connection has been closed because of an error, such as when some data couldn't be sent. */
12
+ /**
13
+ * Fired when the connection has been closed because of an error, such as when some data couldn't be sent.
14
+ * Also fired when an automatic retry fails because the URL provider or the WebSocket constructor threw;
15
+ * that event is an ErrorEvent whose 'error' is the thrown value.
16
+ */
13
17
  error: "error",
14
18
  /** Fired when a message is received. */
15
19
  message: "message",
@@ -17,5 +21,7 @@ exports.WebsocketEvent = {
17
21
  retry: "retry",
18
22
  /** Fired when the websocket successfully reconnects after a connection loss. */
19
23
  reconnect: "reconnect",
24
+ /** Fired when the websocket gives up reconnecting after exceeding maxRetries. */
25
+ exhausted: "exhausted",
20
26
  };
21
27
  //# sourceMappingURL=websocket_event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket_event.js","sourceRoot":"","sources":["../../src/websocket_event.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,cAAc,GAAG;IAC5B,2CAA2C;IAC3C,IAAI,EAAE,MAAM;IAEZ,2CAA2C;IAC3C,KAAK,EAAE,OAAO;IAEd;;;;OAIG;IACH,KAAK,EAAE,OAAO;IAEd,wCAAwC;IACxC,OAAO,EAAE,SAAS;IAElB,2EAA2E;IAC3E,KAAK,EAAE,OAAO;IAEd,gFAAgF;IAChF,SAAS,EAAE,WAAW;IAEtB,iFAAiF;IACjF,SAAS,EAAE,WAAW;CACd,CAAC"}
@@ -1,6 +1,6 @@
1
- import { WebsocketBuffer } from "./websocket_buffer";
2
- import { WebsocketConnectionRetryOptions } from "./websocket_retry_options";
3
- import { WebsocketEventListeners } from "./websocket_event";
1
+ import { WebsocketBuffer } from "./websocket_buffer.js";
2
+ import { WebsocketConnectionRetryOptions } from "./websocket_retry_options.js";
3
+ import { WebsocketEventListeners } from "./websocket_event.js";
4
4
  /**
5
5
  * Options that can be passed to the Websocket constructor.
6
6
  */
@@ -14,8 +14,9 @@ export interface WebsocketOptions {
14
14
  */
15
15
  readonly retry?: WebsocketConnectionRetryOptions;
16
16
  /**
17
- * The initial listeners to add to the websocket.
17
+ * The initial listeners to add to the websocket. Event-types without
18
+ * listeners can be omitted.
18
19
  */
19
- readonly listeners?: WebsocketEventListeners;
20
+ readonly listeners?: Partial<WebsocketEventListeners>;
20
21
  }
21
22
  //# sourceMappingURL=websocket_options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket_options.d.ts","sourceRoot":"","sources":["../../src/websocket_options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,+BAA+B,CAAC;IAEjD;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACvD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket_options.js","sourceRoot":"","sources":["../../src/websocket_options.ts"],"names":[],"mappings":""}
@@ -1,10 +1,11 @@
1
- import { Backoff } from "./backoff/backoff";
1
+ import { Backoff } from "./backoff/backoff.js";
2
2
  /**
3
3
  * Options for the websockets retry-strategy.
4
4
  */
5
5
  export interface WebsocketConnectionRetryOptions {
6
6
  /**
7
- * The maximum number of retries before giving up. No limit if undefined.
7
+ * The maximum number of retries before giving up. No limit if undefined or Infinity.
8
+ * Must be Infinity or a non-negative integer; zero means no retry is ever made.
8
9
  */
9
10
  readonly maxRetries?: number;
10
11
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket_retry_options.d.ts","sourceRoot":"","sources":["../../src/websocket_retry_options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket_retry_options.js","sourceRoot":"","sources":["../../src/websocket_retry_options.ts"],"names":[],"mappings":""}
@@ -1,6 +1,9 @@
1
1
  /**
2
2
  * A Backoff produces a series of numbers that are used to determine
3
3
  * the delay between connection-retries. Values are expected to be in milliseconds.
4
+ *
5
+ * Implementations must not call back into the websocket (e.g. close() or reconnect()):
6
+ * the websocket calls them in the middle of its lifecycle transitions.
4
7
  */
5
8
  export interface Backoff {
6
9
  /**
@@ -8,12 +11,12 @@ export interface Backoff {
8
11
  */
9
12
  readonly retries: number;
10
13
  /**
11
- * Current number in the series.
14
+ * Current number in the series, i.e. the value that the next call to next() will return.
12
15
  */
13
16
  readonly current: number;
14
17
  /**
15
- * Advances the series to the next number and returns it.
16
- * @return the next number in the series
18
+ * Returns the current number in the series and advances the series by one step.
19
+ * @return the current number in the series
17
20
  */
18
21
  next(): number;
19
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"backoff.d.ts","sourceRoot":"","sources":["../../../../src/backoff/backoff.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,IAAI,IAAI,MAAM,CAAC;IAEf;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACf"}
1
+ {"version":3,"file":"backoff.d.ts","sourceRoot":"","sources":["../../../src/backoff/backoff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,IAAI,IAAI,MAAM,CAAC;IAEf;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACf"}
@@ -1 +1 @@
1
- {"version":3,"file":"backoff.js","sourceRoot":"","sources":["../../../../src/backoff/backoff.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"backoff.js","sourceRoot":"","sources":["../../../src/backoff/backoff.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import { Backoff } from "./backoff";
1
+ import { Backoff } from "./backoff.js";
2
2
  /**
3
3
  * ConstantBackoff always returns the same backoff-time.
4
4
  */
@@ -7,7 +7,7 @@ export declare class ConstantBackoff implements Backoff {
7
7
  private _retries;
8
8
  /**
9
9
  * Creates a new ConstantBackoff.
10
- * @param backoff the backoff-time to return
10
+ * @param backoff the backoff-time (in milliseconds) to return
11
11
  */
12
12
  constructor(backoff: number);
13
13
  get retries(): number;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constantbackoff.d.ts","sourceRoot":"","sources":["../../../src/backoff/constantbackoff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;GAEG;AACH,qBAAa,eAAgB,YAAW,OAAO;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAa;IAE7B;;;OAGG;gBACS,OAAO,EAAE,MAAM;IAQ3B,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,IAAI,MAAM;IAKd,KAAK,IAAI,IAAI;CAGd"}
@@ -4,12 +4,12 @@
4
4
  export class ConstantBackoff {
5
5
  /**
6
6
  * Creates a new ConstantBackoff.
7
- * @param backoff the backoff-time to return
7
+ * @param backoff the backoff-time (in milliseconds) to return
8
8
  */
9
9
  constructor(backoff) {
10
10
  this._retries = 0;
11
- if (!Number.isInteger(backoff) || backoff < 0) {
12
- throw new Error("Backoff must be a positive integer");
11
+ if (!Number.isFinite(backoff) || backoff < 0) {
12
+ throw new Error("Backoff must be a finite, non-negative number");
13
13
  }
14
14
  this.backoff = backoff;
15
15
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constantbackoff.js","sourceRoot":"","sources":["../../../src/backoff/constantbackoff.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,eAAe;IAI1B;;;OAGG;IACH,YAAY,OAAe;QANnB,aAAQ,GAAW,CAAC,CAAC;QAO3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACpB,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import { Backoff } from "./backoff";
1
+ import { Backoff } from "./backoff.js";
2
2
  /**
3
3
  * ExponentialBackoff increases the backoff-time exponentially.
4
4
  * An optional maximum can be provided as an upper bound to the
@@ -36,7 +36,7 @@ export declare class ExponentialBackoff implements Backoff {
36
36
  private _retries;
37
37
  /**
38
38
  * Creates a new ExponentialBackoff.
39
- * @param base the base of the exponentiation
39
+ * @param base the base of the exponentiation (in milliseconds)
40
40
  * @param expMax the maximum exponent, no bound if undefined
41
41
  */
42
42
  constructor(base: number, expMax?: number);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exponentialbackoff.d.ts","sourceRoot":"","sources":["../../../src/backoff/exponentialbackoff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,kBAAmB,YAAW,OAAO;IAChD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,CAAC,CAAS;IAClB,OAAO,CAAC,QAAQ,CAAa;IAE7B;;;;OAIG;gBACS,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAazC,IAAI,OAAO,WAEV;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,IAAI,MAAM;IAUd,KAAK,IAAI,IAAI;CAId"}
@@ -31,16 +31,16 @@
31
31
  export class ExponentialBackoff {
32
32
  /**
33
33
  * Creates a new ExponentialBackoff.
34
- * @param base the base of the exponentiation
34
+ * @param base the base of the exponentiation (in milliseconds)
35
35
  * @param expMax the maximum exponent, no bound if undefined
36
36
  */
37
37
  constructor(base, expMax) {
38
38
  this._retries = 0;
39
- if (!Number.isInteger(base) || base < 0) {
40
- throw new Error("Base must be a positive integer or zero");
39
+ if (!Number.isFinite(base) || base < 0) {
40
+ throw new Error("Base must be a finite, non-negative number");
41
41
  }
42
42
  if (expMax !== undefined && (!Number.isInteger(expMax) || expMax < 0)) {
43
- throw new Error("ExpMax must be undefined, a positive integer, or zero");
43
+ throw new Error("ExpMax must be undefined or a non-negative integer");
44
44
  }
45
45
  this.base = base;
46
46
  this.expMax = expMax;
@@ -53,12 +53,13 @@ export class ExponentialBackoff {
53
53
  return this.base * Math.pow(2, this.i);
54
54
  }
55
55
  next() {
56
+ const backoff = this.current;
56
57
  this._retries++;
57
58
  this.i =
58
59
  this.expMax === undefined
59
60
  ? this.i + 1
60
61
  : Math.min(this.i + 1, this.expMax);
61
- return this.current;
62
+ return backoff;
62
63
  }
63
64
  reset() {
64
65
  this._retries = 0;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exponentialbackoff.js","sourceRoot":"","sources":["../../../src/backoff/exponentialbackoff.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAO,kBAAkB;IAM7B;;;;OAIG;IACH,YAAY,IAAY,EAAE,MAAe;QAPjC,aAAQ,GAAW,CAAC,CAAC;QAQ3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,IAAI;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,CAAC;YACJ,IAAI,CAAC,MAAM,KAAK,SAAS;gBACvB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;gBACZ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import { Backoff } from "./backoff";
1
+ import { Backoff } from "./backoff.js";
2
2
  /**
3
3
  * LinearBackoff returns a backoff-time that is incremented by a fixed amount
4
4
  * with every step/retry. An optional maximum can be provided as an upper bound
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linearbackoff.d.ts","sourceRoot":"","sources":["../../../src/backoff/linearbackoff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,aAAc,YAAW,OAAO;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAS;IAC9B,OAAO,CAAC,CAAC,CAAa;IACtB,OAAO,CAAC,QAAQ,CAAa;IAE7B;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAqB5D,IAAI,OAAO,WAEV;IAED,IAAI,OAAO,IAAI,MAAM,CAIpB;IAED,IAAI,IAAI,MAAM;IAOd,KAAK,IAAI,IAAI;CAId"}
@@ -39,14 +39,14 @@ export class LinearBackoff {
39
39
  constructor(initial, increment, max) {
40
40
  this.i = 0;
41
41
  this._retries = 0;
42
- if (initial < 0) {
43
- throw new Error("Initial must be a positive number or zero");
42
+ if (!Number.isFinite(initial) || initial < 0) {
43
+ throw new Error("Initial must be a finite, non-negative number");
44
44
  }
45
- if (increment < 0) {
46
- throw new Error("Increment must be a positive number or zero");
45
+ if (!Number.isFinite(increment) || increment < 0) {
46
+ throw new Error("Increment must be a finite, non-negative number");
47
47
  }
48
- if (max !== undefined && max < 0) {
49
- throw new Error("Max must be undefined, a positive number or zero");
48
+ if (max !== undefined && (!Number.isFinite(max) || max < 0)) {
49
+ throw new Error("Max must be undefined or a finite, non-negative number");
50
50
  }
51
51
  if (max !== undefined && max < initial) {
52
52
  throw new Error("Max must be undefined or greater than or equal to initial");
@@ -64,9 +64,10 @@ export class LinearBackoff {
64
64
  : Math.min(this.initial + this.increment * this.i, this.max);
65
65
  }
66
66
  next() {
67
+ const backoff = this.current;
67
68
  this._retries++;
68
69
  this.i++;
69
- return this.current;
70
+ return backoff;
70
71
  }
71
72
  reset() {
72
73
  this._retries = 0;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linearbackoff.js","sourceRoot":"","sources":["../../../src/backoff/linearbackoff.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,OAAO,aAAa;IAOxB;;;;;OAKG;IACH,YAAY,OAAe,EAAE,SAAiB,EAAE,GAAY;QATpD,MAAC,GAAW,CAAC,CAAC;QACd,aAAQ,GAAW,CAAC,CAAC;QAS3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,OAAO,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,GAAG,KAAK,SAAS;YAC3B,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;YACxC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,IAAI;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ export { Backoff } from "./backoff/backoff.js";
2
+ export { ConstantBackoff } from "./backoff/constantbackoff.js";
3
+ export { ExponentialBackoff } from "./backoff/exponentialbackoff.js";
4
+ export { LinearBackoff } from "./backoff/linearbackoff.js";
5
+ export { Queue } from "./queue/queue.js";
6
+ export { ArrayQueue } from "./queue/array_queue.js";
7
+ export { RingQueue } from "./queue/ring_queue.js";
8
+ export { UrlProvider, Websocket } from "./websocket.js";
9
+ export { WebsocketBuffer } from "./websocket_buffer.js";
10
+ export { WebsocketBuilder } from "./websocket_builder.js";
11
+ export { WebsocketEvent, RetryEventDetail, ReconnectEventDetail, ExhaustedEventDetail, WebsocketEventMap, WebsocketEventListener, WebsocketEventListenerParams, WebsocketEventListenerOptions, WebsocketEventListenerWithOptions, WebsocketEventListeners, } from "./websocket_event.js";
12
+ export { WebsocketOptions } from "./websocket_options.js";
13
+ export { WebsocketConnectionRetryOptions } from "./websocket_retry_options.js";
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { ConstantBackoff } from "./backoff/constantbackoff.js";
2
+ export { ExponentialBackoff } from "./backoff/exponentialbackoff.js";
3
+ export { LinearBackoff } from "./backoff/linearbackoff.js";
4
+ export { ArrayQueue } from "./queue/array_queue.js";
5
+ export { RingQueue } from "./queue/ring_queue.js";
6
+ export { Websocket } from "./websocket.js";
7
+ export { WebsocketBuilder } from "./websocket_builder.js";
8
+ export { WebsocketEvent, } from "./websocket_event.js";
9
+ //# sourceMappingURL=index.js.map