@outfoxx/sunday 1.1.0-beta.2 → 1.1.0-beta.21

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 (389) hide show
  1. package/README.md +1 -1
  2. package/build/esm/any-type.js.map +1 -0
  3. package/build/esm/class-type.js.map +1 -0
  4. package/build/esm/date-time-types.js.map +1 -0
  5. package/{dist → build/esm}/event-parser.js +3 -4
  6. package/build/esm/event-parser.js.map +1 -0
  7. package/{dist → build/esm}/fetch-event-source.d.ts +0 -2
  8. package/{dist → build/esm}/fetch-event-source.js +59 -50
  9. package/build/esm/fetch-event-source.js.map +1 -0
  10. package/{dist → build/esm}/fetch-request-factory.js +11 -14
  11. package/build/esm/fetch-request-factory.js.map +1 -0
  12. package/{dist → build/esm}/fetch.js +5 -7
  13. package/build/esm/fetch.js.map +1 -0
  14. package/build/esm/header-parameters.js.map +1 -0
  15. package/{dist → build/esm}/index.d.ts +1 -0
  16. package/{dist → build/esm}/index.js +1 -0
  17. package/build/esm/index.js.map +1 -0
  18. package/build/esm/logger.js.map +1 -0
  19. package/build/esm/media-type-codecs/any-text-decoder.js.map +1 -0
  20. package/build/esm/media-type-codecs/any-text-encoder.js.map +1 -0
  21. package/build/esm/media-type-codecs/binary-decoder.js.map +1 -0
  22. package/build/esm/media-type-codecs/binary-encoder.js.map +1 -0
  23. package/{dist → build/esm}/media-type-codecs/cbor-decoder.js +11 -7
  24. package/build/esm/media-type-codecs/cbor-decoder.js.map +1 -0
  25. package/{dist → build/esm}/media-type-codecs/cbor-encoder.d.ts +2 -1
  26. package/{dist → build/esm}/media-type-codecs/cbor-encoder.js +53 -50
  27. package/build/esm/media-type-codecs/cbor-encoder.js.map +1 -0
  28. package/build/esm/media-type-codecs/cbor-tags.js.map +1 -0
  29. package/build/esm/media-type-codecs/json-decoder.js.map +1 -0
  30. package/{dist → build/esm}/media-type-codecs/json-encoder.js +46 -51
  31. package/build/esm/media-type-codecs/json-encoder.js.map +1 -0
  32. package/{dist → build/esm}/media-type-codecs/media-type-decoder.js +1 -2
  33. package/build/esm/media-type-codecs/media-type-decoder.js.map +1 -0
  34. package/build/esm/media-type-codecs/media-type-decoders.js.map +1 -0
  35. package/{dist → build/esm}/media-type-codecs/media-type-encoder.js +2 -4
  36. package/build/esm/media-type-codecs/media-type-encoder.js.map +1 -0
  37. package/build/esm/media-type-codecs/media-type-encoders.js.map +1 -0
  38. package/{dist → build/esm}/media-type-codecs/www-form-url-encoder.js +12 -6
  39. package/build/esm/media-type-codecs/www-form-url-encoder.js.map +1 -0
  40. package/{dist → build/esm}/media-type.js +14 -17
  41. package/build/esm/media-type.js.map +1 -0
  42. package/{dist → build/esm}/problem.js +5 -7
  43. package/build/esm/problem.js.map +1 -0
  44. package/build/esm/request-adapters.d.ts +23 -0
  45. package/build/esm/request-adapters.js +52 -0
  46. package/build/esm/request-adapters.js.map +1 -0
  47. package/{dist → build/esm}/request-factory.d.ts +3 -1
  48. package/build/esm/request-factory.js.map +1 -0
  49. package/build/esm/result-response.js.map +1 -0
  50. package/build/esm/sunday-error.js.map +1 -0
  51. package/{dist → build/esm}/url-template.js +2 -2
  52. package/build/esm/url-template.js.map +1 -0
  53. package/{dist → build/esm}/util/any.js +1 -2
  54. package/build/esm/util/any.js.map +1 -0
  55. package/build/esm/util/base64.js.map +1 -0
  56. package/{dist → build/esm}/util/error.js +1 -1
  57. package/build/esm/util/error.js.map +1 -0
  58. package/build/esm/util/hex.js.map +1 -0
  59. package/build/esm/util/rxjs.d.ts +27 -0
  60. package/build/esm/util/rxjs.js +79 -0
  61. package/build/esm/util/rxjs.js.map +1 -0
  62. package/build/esm/util/temporal.js.map +1 -0
  63. package/build/esnext/any-type.d.ts +4 -0
  64. package/build/esnext/any-type.js +15 -0
  65. package/build/esnext/any-type.js.map +1 -0
  66. package/build/esnext/class-type.d.ts +2 -0
  67. package/build/esnext/class-type.js +15 -0
  68. package/build/esnext/class-type.js.map +1 -0
  69. package/build/esnext/date-time-types.d.ts +2 -0
  70. package/build/esnext/date-time-types.js +16 -0
  71. package/build/esnext/date-time-types.js.map +1 -0
  72. package/build/esnext/event-parser.d.ts +17 -0
  73. package/build/esnext/event-parser.js +152 -0
  74. package/build/esnext/event-parser.js.map +1 -0
  75. package/build/esnext/fetch-event-source.d.ts +56 -0
  76. package/build/esnext/fetch-event-source.js +296 -0
  77. package/build/esnext/fetch-event-source.js.map +1 -0
  78. package/build/esnext/fetch-request-factory.d.ts +34 -0
  79. package/build/esnext/fetch-request-factory.js +178 -0
  80. package/build/esnext/fetch-request-factory.js.map +1 -0
  81. package/build/esnext/fetch.d.ts +7 -0
  82. package/build/esnext/fetch.js +88 -0
  83. package/build/esnext/fetch.js.map +1 -0
  84. package/build/esnext/header-parameters.d.ts +3 -0
  85. package/build/esnext/header-parameters.js +53 -0
  86. package/build/esnext/header-parameters.js.map +1 -0
  87. package/build/esnext/index.d.ts +27 -0
  88. package/build/esnext/index.js +41 -0
  89. package/build/esnext/index.js.map +1 -0
  90. package/build/esnext/logger.d.ts +8 -0
  91. package/build/esnext/logger.js +15 -0
  92. package/build/esnext/logger.js.map +1 -0
  93. package/build/esnext/media-type-codecs/any-text-decoder.d.ts +7 -0
  94. package/build/esnext/media-type-codecs/any-text-decoder.js +29 -0
  95. package/build/esnext/media-type-codecs/any-text-decoder.js.map +1 -0
  96. package/build/esnext/media-type-codecs/any-text-encoder.d.ts +5 -0
  97. package/build/esnext/media-type-codecs/any-text-encoder.js +23 -0
  98. package/build/esnext/media-type-codecs/any-text-encoder.js.map +1 -0
  99. package/build/esnext/media-type-codecs/binary-decoder.d.ts +6 -0
  100. package/build/esnext/media-type-codecs/binary-decoder.js +29 -0
  101. package/build/esnext/media-type-codecs/binary-decoder.js.map +1 -0
  102. package/build/esnext/media-type-codecs/binary-encoder.d.ts +5 -0
  103. package/build/esnext/media-type-codecs/binary-encoder.js +26 -0
  104. package/build/esnext/media-type-codecs/binary-encoder.js.map +1 -0
  105. package/build/esnext/media-type-codecs/cbor-decoder.d.ts +39 -0
  106. package/build/esnext/media-type-codecs/cbor-decoder.js +430 -0
  107. package/build/esnext/media-type-codecs/cbor-decoder.js.map +1 -0
  108. package/build/esnext/media-type-codecs/cbor-encoder.d.ts +44 -0
  109. package/build/esnext/media-type-codecs/cbor-encoder.js +242 -0
  110. package/build/esnext/media-type-codecs/cbor-encoder.js.map +1 -0
  111. package/build/esnext/media-type-codecs/cbor-tags.d.ts +4 -0
  112. package/build/esnext/media-type-codecs/cbor-tags.js +18 -0
  113. package/build/esnext/media-type-codecs/cbor-tags.js.map +1 -0
  114. package/build/esnext/media-type-codecs/json-decoder.d.ts +39 -0
  115. package/build/esnext/media-type-codecs/json-decoder.js +380 -0
  116. package/build/esnext/media-type-codecs/json-decoder.js.map +1 -0
  117. package/build/esnext/media-type-codecs/json-encoder.d.ts +44 -0
  118. package/build/esnext/media-type-codecs/json-encoder.js +271 -0
  119. package/build/esnext/media-type-codecs/json-encoder.js.map +1 -0
  120. package/build/esnext/media-type-codecs/media-type-decoder.d.ts +11 -0
  121. package/build/esnext/media-type-codecs/media-type-decoder.js +18 -0
  122. package/build/esnext/media-type-codecs/media-type-decoder.js.map +1 -0
  123. package/build/esnext/media-type-codecs/media-type-decoders.d.ts +18 -0
  124. package/build/esnext/media-type-codecs/media-type-decoders.js +58 -0
  125. package/build/esnext/media-type-codecs/media-type-decoders.js.map +1 -0
  126. package/build/esnext/media-type-codecs/media-type-encoder.d.ts +12 -0
  127. package/build/esnext/media-type-codecs/media-type-encoder.js +22 -0
  128. package/build/esnext/media-type-codecs/media-type-encoder.js.map +1 -0
  129. package/build/esnext/media-type-codecs/media-type-encoders.d.ts +18 -0
  130. package/build/esnext/media-type-codecs/media-type-encoders.js +60 -0
  131. package/build/esnext/media-type-codecs/media-type-encoders.js.map +1 -0
  132. package/build/esnext/media-type-codecs/www-form-url-encoder.d.ts +59 -0
  133. package/build/esnext/media-type-codecs/www-form-url-encoder.js +198 -0
  134. package/build/esnext/media-type-codecs/www-form-url-encoder.js.map +1 -0
  135. package/build/esnext/media-type.d.ts +94 -0
  136. package/build/esnext/media-type.js +302 -0
  137. package/build/esnext/media-type.js.map +1 -0
  138. package/build/esnext/problem.d.ts +31 -0
  139. package/build/esnext/problem.js +156 -0
  140. package/build/esnext/problem.js.map +1 -0
  141. package/build/esnext/request-adapters.d.ts +23 -0
  142. package/build/esnext/request-adapters.js +52 -0
  143. package/build/esnext/request-adapters.js.map +1 -0
  144. package/build/esnext/request-factory.d.ts +46 -0
  145. package/build/esnext/request-factory.js +15 -0
  146. package/build/esnext/request-factory.js.map +1 -0
  147. package/build/esnext/result-response.d.ts +4 -0
  148. package/build/esnext/result-response.js +15 -0
  149. package/build/esnext/result-response.js.map +1 -0
  150. package/build/esnext/sunday-error.d.ts +11 -0
  151. package/build/esnext/sunday-error.js +31 -0
  152. package/build/esnext/sunday-error.js.map +1 -0
  153. package/build/esnext/url-template.d.ts +6 -0
  154. package/build/esnext/url-template.js +31 -0
  155. package/build/esnext/url-template.js.map +1 -0
  156. package/build/esnext/util/any.d.ts +2 -0
  157. package/build/esnext/util/any.js +23 -0
  158. package/build/esnext/util/any.js.map +1 -0
  159. package/build/esnext/util/base64.d.ts +5 -0
  160. package/build/esnext/util/base64.js +77 -0
  161. package/build/esnext/util/base64.js.map +1 -0
  162. package/build/esnext/util/error.d.ts +2 -0
  163. package/build/esnext/util/error.js +26 -0
  164. package/build/esnext/util/error.js.map +1 -0
  165. package/build/esnext/util/hex.d.ts +4 -0
  166. package/build/esnext/util/hex.js +32 -0
  167. package/build/esnext/util/hex.js.map +1 -0
  168. package/build/esnext/util/rxjs.d.ts +27 -0
  169. package/build/esnext/util/rxjs.js +79 -0
  170. package/build/esnext/util/rxjs.js.map +1 -0
  171. package/build/esnext/util/temporal.d.ts +2 -0
  172. package/build/esnext/util/temporal.js +31 -0
  173. package/build/esnext/util/temporal.js.map +1 -0
  174. package/build/main/any-type.d.ts +4 -0
  175. package/build/main/any-type.js +16 -0
  176. package/build/main/any-type.js.map +1 -0
  177. package/build/main/class-type.d.ts +2 -0
  178. package/build/main/class-type.js +16 -0
  179. package/build/main/class-type.js.map +1 -0
  180. package/build/main/date-time-types.d.ts +2 -0
  181. package/build/main/date-time-types.js +27 -0
  182. package/build/main/date-time-types.js.map +1 -0
  183. package/build/main/event-parser.d.ts +17 -0
  184. package/build/main/event-parser.js +156 -0
  185. package/build/main/event-parser.js.map +1 -0
  186. package/build/main/fetch-event-source.d.ts +56 -0
  187. package/build/main/fetch-event-source.js +300 -0
  188. package/build/main/fetch-event-source.js.map +1 -0
  189. package/build/main/fetch-request-factory.d.ts +34 -0
  190. package/build/main/fetch-request-factory.js +182 -0
  191. package/build/main/fetch-request-factory.js.map +1 -0
  192. package/build/main/fetch.d.ts +7 -0
  193. package/build/main/fetch.js +92 -0
  194. package/build/main/fetch.js.map +1 -0
  195. package/build/main/header-parameters.d.ts +3 -0
  196. package/build/main/header-parameters.js +56 -0
  197. package/build/main/header-parameters.js.map +1 -0
  198. package/build/main/index.d.ts +27 -0
  199. package/build/main/index.js +53 -0
  200. package/build/main/index.js.map +1 -0
  201. package/build/main/logger.d.ts +8 -0
  202. package/build/main/logger.js +16 -0
  203. package/build/main/logger.js.map +1 -0
  204. package/build/main/media-type-codecs/any-text-decoder.d.ts +7 -0
  205. package/build/main/media-type-codecs/any-text-decoder.js +33 -0
  206. package/build/main/media-type-codecs/any-text-decoder.js.map +1 -0
  207. package/build/main/media-type-codecs/any-text-encoder.d.ts +5 -0
  208. package/build/main/media-type-codecs/any-text-encoder.js +27 -0
  209. package/build/main/media-type-codecs/any-text-encoder.js.map +1 -0
  210. package/build/main/media-type-codecs/binary-decoder.d.ts +6 -0
  211. package/build/main/media-type-codecs/binary-decoder.js +33 -0
  212. package/build/main/media-type-codecs/binary-decoder.js.map +1 -0
  213. package/build/main/media-type-codecs/binary-encoder.d.ts +5 -0
  214. package/build/main/media-type-codecs/binary-encoder.js +30 -0
  215. package/build/main/media-type-codecs/binary-encoder.js.map +1 -0
  216. package/build/main/media-type-codecs/cbor-decoder.d.ts +39 -0
  217. package/build/main/media-type-codecs/cbor-decoder.js +434 -0
  218. package/build/main/media-type-codecs/cbor-decoder.js.map +1 -0
  219. package/build/main/media-type-codecs/cbor-encoder.d.ts +44 -0
  220. package/build/main/media-type-codecs/cbor-encoder.js +246 -0
  221. package/build/main/media-type-codecs/cbor-encoder.js.map +1 -0
  222. package/build/main/media-type-codecs/cbor-tags.d.ts +4 -0
  223. package/build/main/media-type-codecs/cbor-tags.js +21 -0
  224. package/build/main/media-type-codecs/cbor-tags.js.map +1 -0
  225. package/build/main/media-type-codecs/json-decoder.d.ts +39 -0
  226. package/build/main/media-type-codecs/json-decoder.js +384 -0
  227. package/build/main/media-type-codecs/json-decoder.js.map +1 -0
  228. package/build/main/media-type-codecs/json-encoder.d.ts +44 -0
  229. package/build/main/media-type-codecs/json-encoder.js +275 -0
  230. package/build/main/media-type-codecs/json-encoder.js.map +1 -0
  231. package/build/main/media-type-codecs/media-type-decoder.d.ts +11 -0
  232. package/build/main/media-type-codecs/media-type-decoder.js +22 -0
  233. package/build/main/media-type-codecs/media-type-decoder.js.map +1 -0
  234. package/build/main/media-type-codecs/media-type-decoders.d.ts +18 -0
  235. package/build/main/media-type-codecs/media-type-decoders.js +62 -0
  236. package/build/main/media-type-codecs/media-type-decoders.js.map +1 -0
  237. package/build/main/media-type-codecs/media-type-encoder.d.ts +12 -0
  238. package/build/main/media-type-codecs/media-type-encoder.js +27 -0
  239. package/build/main/media-type-codecs/media-type-encoder.js.map +1 -0
  240. package/build/main/media-type-codecs/media-type-encoders.d.ts +18 -0
  241. package/build/main/media-type-codecs/media-type-encoders.js +64 -0
  242. package/build/main/media-type-codecs/media-type-encoders.js.map +1 -0
  243. package/build/main/media-type-codecs/www-form-url-encoder.d.ts +59 -0
  244. package/build/main/media-type-codecs/www-form-url-encoder.js +202 -0
  245. package/build/main/media-type-codecs/www-form-url-encoder.js.map +1 -0
  246. package/build/main/media-type.d.ts +94 -0
  247. package/build/main/media-type.js +306 -0
  248. package/build/main/media-type.js.map +1 -0
  249. package/build/main/problem.d.ts +31 -0
  250. package/build/main/problem.js +159 -0
  251. package/build/main/problem.js.map +1 -0
  252. package/build/main/request-adapters.d.ts +23 -0
  253. package/build/main/request-adapters.js +58 -0
  254. package/build/main/request-adapters.js.map +1 -0
  255. package/build/main/request-factory.d.ts +46 -0
  256. package/build/main/request-factory.js +16 -0
  257. package/build/main/request-factory.js.map +1 -0
  258. package/build/main/result-response.d.ts +4 -0
  259. package/build/main/result-response.js +16 -0
  260. package/build/main/result-response.js.map +1 -0
  261. package/build/main/sunday-error.d.ts +11 -0
  262. package/build/main/sunday-error.js +35 -0
  263. package/build/main/sunday-error.js.map +1 -0
  264. package/build/main/url-template.d.ts +6 -0
  265. package/build/main/url-template.js +35 -0
  266. package/build/main/url-template.js.map +1 -0
  267. package/build/main/util/any.d.ts +2 -0
  268. package/build/main/util/any.js +28 -0
  269. package/build/main/util/any.js.map +1 -0
  270. package/build/main/util/base64.d.ts +5 -0
  271. package/build/main/util/base64.js +80 -0
  272. package/build/main/util/base64.js.map +1 -0
  273. package/build/main/util/error.d.ts +2 -0
  274. package/build/main/util/error.js +31 -0
  275. package/build/main/util/error.js.map +1 -0
  276. package/build/main/util/hex.d.ts +4 -0
  277. package/build/main/util/hex.js +35 -0
  278. package/build/main/util/hex.js.map +1 -0
  279. package/build/main/util/rxjs.d.ts +27 -0
  280. package/build/main/util/rxjs.js +86 -0
  281. package/build/main/util/rxjs.js.map +1 -0
  282. package/build/main/util/temporal.d.ts +2 -0
  283. package/build/main/util/temporal.js +36 -0
  284. package/build/main/util/temporal.js.map +1 -0
  285. package/package.json +48 -34
  286. package/src/fetch-event-source.ts +68 -42
  287. package/src/fetch-request-factory.ts +8 -5
  288. package/src/index.ts +1 -0
  289. package/src/media-type-codecs/cbor-decoder.ts +19 -10
  290. package/src/media-type-codecs/cbor-encoder.ts +57 -56
  291. package/src/media-type-codecs/json-encoder.ts +47 -54
  292. package/src/media-type-codecs/www-form-url-encoder.ts +14 -5
  293. package/src/problem.ts +1 -0
  294. package/src/request-adapters.ts +81 -0
  295. package/src/request-factory.ts +3 -1
  296. package/src/url-template.ts +2 -3
  297. package/src/util/rxjs.ts +84 -2
  298. package/dist/any-type.js.map +0 -1
  299. package/dist/class-type.js.map +0 -1
  300. package/dist/date-time-types.js.map +0 -1
  301. package/dist/event-parser.js.map +0 -1
  302. package/dist/fetch-event-source.js.map +0 -1
  303. package/dist/fetch-request-factory.js.map +0 -1
  304. package/dist/fetch.js.map +0 -1
  305. package/dist/header-parameters.js.map +0 -1
  306. package/dist/index.js.map +0 -1
  307. package/dist/logger.js.map +0 -1
  308. package/dist/media-type-codecs/any-text-decoder.js.map +0 -1
  309. package/dist/media-type-codecs/any-text-encoder.js.map +0 -1
  310. package/dist/media-type-codecs/binary-decoder.js.map +0 -1
  311. package/dist/media-type-codecs/binary-encoder.js.map +0 -1
  312. package/dist/media-type-codecs/cbor-decoder.js.map +0 -1
  313. package/dist/media-type-codecs/cbor-encoder.js.map +0 -1
  314. package/dist/media-type-codecs/cbor-tags.js.map +0 -1
  315. package/dist/media-type-codecs/json-decoder.js.map +0 -1
  316. package/dist/media-type-codecs/json-encoder.js.map +0 -1
  317. package/dist/media-type-codecs/media-type-decoder.js.map +0 -1
  318. package/dist/media-type-codecs/media-type-decoders.js.map +0 -1
  319. package/dist/media-type-codecs/media-type-encoder.js.map +0 -1
  320. package/dist/media-type-codecs/media-type-encoders.js.map +0 -1
  321. package/dist/media-type-codecs/www-form-url-encoder.js.map +0 -1
  322. package/dist/media-type.js.map +0 -1
  323. package/dist/problem.js.map +0 -1
  324. package/dist/request-factory.js.map +0 -1
  325. package/dist/result-response.js.map +0 -1
  326. package/dist/sunday-error.js.map +0 -1
  327. package/dist/url-template.js.map +0 -1
  328. package/dist/util/any.js.map +0 -1
  329. package/dist/util/base64.js.map +0 -1
  330. package/dist/util/error.js.map +0 -1
  331. package/dist/util/hex.js.map +0 -1
  332. package/dist/util/rxjs.d.ts +0 -5
  333. package/dist/util/rxjs.js +0 -31
  334. package/dist/util/rxjs.js.map +0 -1
  335. package/dist/util/stream-rxjs.d.ts +0 -2
  336. package/dist/util/stream-rxjs.js +0 -39
  337. package/dist/util/stream-rxjs.js.map +0 -1
  338. package/dist/util/temporal.js.map +0 -1
  339. package/src/util/stream-rxjs.ts +0 -42
  340. /package/{dist → build/esm}/any-type.d.ts +0 -0
  341. /package/{dist → build/esm}/any-type.js +0 -0
  342. /package/{dist → build/esm}/class-type.d.ts +0 -0
  343. /package/{dist → build/esm}/class-type.js +0 -0
  344. /package/{dist → build/esm}/date-time-types.d.ts +0 -0
  345. /package/{dist → build/esm}/date-time-types.js +0 -0
  346. /package/{dist → build/esm}/event-parser.d.ts +0 -0
  347. /package/{dist → build/esm}/fetch-request-factory.d.ts +0 -0
  348. /package/{dist → build/esm}/fetch.d.ts +0 -0
  349. /package/{dist → build/esm}/header-parameters.d.ts +0 -0
  350. /package/{dist → build/esm}/header-parameters.js +0 -0
  351. /package/{dist → build/esm}/logger.d.ts +0 -0
  352. /package/{dist → build/esm}/logger.js +0 -0
  353. /package/{dist → build/esm}/media-type-codecs/any-text-decoder.d.ts +0 -0
  354. /package/{dist → build/esm}/media-type-codecs/any-text-decoder.js +0 -0
  355. /package/{dist → build/esm}/media-type-codecs/any-text-encoder.d.ts +0 -0
  356. /package/{dist → build/esm}/media-type-codecs/any-text-encoder.js +0 -0
  357. /package/{dist → build/esm}/media-type-codecs/binary-decoder.d.ts +0 -0
  358. /package/{dist → build/esm}/media-type-codecs/binary-decoder.js +0 -0
  359. /package/{dist → build/esm}/media-type-codecs/binary-encoder.d.ts +0 -0
  360. /package/{dist → build/esm}/media-type-codecs/binary-encoder.js +0 -0
  361. /package/{dist → build/esm}/media-type-codecs/cbor-decoder.d.ts +0 -0
  362. /package/{dist → build/esm}/media-type-codecs/cbor-tags.d.ts +0 -0
  363. /package/{dist → build/esm}/media-type-codecs/cbor-tags.js +0 -0
  364. /package/{dist → build/esm}/media-type-codecs/json-decoder.d.ts +0 -0
  365. /package/{dist → build/esm}/media-type-codecs/json-decoder.js +0 -0
  366. /package/{dist → build/esm}/media-type-codecs/json-encoder.d.ts +0 -0
  367. /package/{dist → build/esm}/media-type-codecs/media-type-decoder.d.ts +0 -0
  368. /package/{dist → build/esm}/media-type-codecs/media-type-decoders.d.ts +0 -0
  369. /package/{dist → build/esm}/media-type-codecs/media-type-decoders.js +0 -0
  370. /package/{dist → build/esm}/media-type-codecs/media-type-encoder.d.ts +0 -0
  371. /package/{dist → build/esm}/media-type-codecs/media-type-encoders.d.ts +0 -0
  372. /package/{dist → build/esm}/media-type-codecs/media-type-encoders.js +0 -0
  373. /package/{dist → build/esm}/media-type-codecs/www-form-url-encoder.d.ts +0 -0
  374. /package/{dist → build/esm}/media-type.d.ts +0 -0
  375. /package/{dist → build/esm}/problem.d.ts +0 -0
  376. /package/{dist → build/esm}/request-factory.js +0 -0
  377. /package/{dist → build/esm}/result-response.d.ts +0 -0
  378. /package/{dist → build/esm}/result-response.js +0 -0
  379. /package/{dist → build/esm}/sunday-error.d.ts +0 -0
  380. /package/{dist → build/esm}/sunday-error.js +0 -0
  381. /package/{dist → build/esm}/url-template.d.ts +0 -0
  382. /package/{dist → build/esm}/util/any.d.ts +0 -0
  383. /package/{dist → build/esm}/util/base64.d.ts +0 -0
  384. /package/{dist → build/esm}/util/base64.js +0 -0
  385. /package/{dist → build/esm}/util/error.d.ts +0 -0
  386. /package/{dist → build/esm}/util/hex.d.ts +0 -0
  387. /package/{dist → build/esm}/util/hex.js +0 -0
  388. /package/{dist → build/esm}/util/temporal.d.ts +0 -0
  389. /package/{dist → build/esm}/util/temporal.js +0 -0
@@ -0,0 +1,27 @@
1
+ import { Observable } from 'rxjs';
2
+ import { ClassType } from '../class-type';
3
+ import { Problem } from '../problem';
4
+ export declare function nullifyNotFound<T>(): (source: Observable<T>) => Observable<T | null>;
5
+ export declare function nullifyResponse<T>(statuses: number[], problemTypes: ClassType<Problem>[]): (source: Observable<T>) => Observable<T | null>;
6
+ export declare function nullifyPromiseResponse<T>(statuses: number[], problemTypes: ClassType<Problem>[]): (error: unknown) => Promise<T | null>;
7
+ export interface AbortError extends Error {
8
+ }
9
+ export declare type AbortErrorCtor = new () => AbortError;
10
+ /**
11
+ * An error thrown when an Observable converted to a promise is aborted with
12
+ * via a provided `AbortSignal`.
13
+ *
14
+ * @see {@link promiseFrom}
15
+ *
16
+ * @class AbortError
17
+ */
18
+ export declare const AbortError: AbortErrorCtor;
19
+ /**
20
+ * Converts an Observable to a Promise, optionally aborting the Observable via
21
+ * a provided `AbortSignal`.
22
+ *
23
+ * @param obs Observable to convert to a Promise
24
+ * @param signal Optional AbortSignal to abort the Observable
25
+ * @returns Promise that resolves to the first value from the Observable
26
+ */
27
+ export declare function promiseFrom<T>(obs: Observable<T>, signal?: AbortSignal): Promise<T>;
@@ -0,0 +1,79 @@
1
+ // Copyright 2020 Outfox, Inc.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ import { catchError, firstValueFrom, from, fromEvent, switchMap, take, takeUntil, throwError, } from 'rxjs';
15
+ import { createErrorClass } from 'rxjs/internal/util/createErrorClass';
16
+ import { Problem } from '../problem';
17
+ export function nullifyNotFound() {
18
+ return nullifyResponse([404], []);
19
+ }
20
+ export function nullifyResponse(statuses, problemTypes) {
21
+ return function (source) {
22
+ return source.pipe(catchError((error) => {
23
+ const errorType = error.constructor;
24
+ if (error instanceof Problem &&
25
+ (statuses.includes(error.status) || problemTypes.includes(errorType))) {
26
+ return from([null]);
27
+ }
28
+ return throwError(() => error);
29
+ }));
30
+ };
31
+ }
32
+ export function nullifyPromiseResponse(statuses, problemTypes) {
33
+ return function (error) {
34
+ const errorType = error
35
+ .constructor;
36
+ if (error instanceof Problem &&
37
+ (statuses.includes(error.status) || problemTypes.includes(errorType))) {
38
+ return Promise.resolve(null);
39
+ }
40
+ return Promise.reject(error);
41
+ };
42
+ }
43
+ /**
44
+ * An error thrown when an Observable converted to a promise is aborted with
45
+ * via a provided `AbortSignal`.
46
+ *
47
+ * @see {@link promiseFrom}
48
+ *
49
+ * @class AbortError
50
+ */
51
+ export const AbortError = createErrorClass((_super) => function AbortErrorImpl() {
52
+ _super(this);
53
+ this.name = 'AbortError';
54
+ this.message = 'sequence was aborted';
55
+ });
56
+ /**
57
+ * Converts an Observable to a Promise, optionally aborting the Observable via
58
+ * a provided `AbortSignal`.
59
+ *
60
+ * @param obs Observable to convert to a Promise
61
+ * @param signal Optional AbortSignal to abort the Observable
62
+ * @returns Promise that resolves to the first value from the Observable
63
+ */
64
+ export function promiseFrom(obs, signal) {
65
+ if (!signal) {
66
+ return firstValueFrom(obs);
67
+ }
68
+ // Reject immediately if the signal has already fired. Use `AbortError`
69
+ // because that's what `first` will fail with per the note below
70
+ if (signal.aborted) {
71
+ return Promise.reject(new AbortError());
72
+ }
73
+ const stop = fromEvent(signal, 'abort').pipe(take(1), switchMap(() => throwError(() => new AbortError())));
74
+ // Note that `takeUntil` will cause the observable to complete when the
75
+ // Signal fires, but `firstValueFrom` will fail with EmptyError if there
76
+ // wasn't a value, which will reject out of the returned Promise.
77
+ return firstValueFrom(obs.pipe(takeUntil(stop)));
78
+ }
79
+ //# sourceMappingURL=rxjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rxjs.js","sourceRoot":"","sources":["../../../src/util/rxjs.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EACL,UAAU,EACV,cAAc,EACd,IAAI,EACJ,SAAS,EAET,SAAS,EACT,IAAI,EACJ,SAAS,EACT,UAAU,GACX,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,UAAU,eAAe;IAG7B,OAAO,eAAe,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,QAAkB,EAClB,YAAkC;IAElC,OAAO,UAAa,MAAqB;QACvC,OAAO,MAAM,CAAC,IAAI,CAChB,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;YACnB,MAAM,SAAS,GAAG,KAAK,CAAC,WAAiC,CAAC;YAC1D,IACE,KAAK,YAAY,OAAO;gBACxB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EACrE;gBACA,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;aACrB;YACD,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,QAAkB,EAClB,YAAkC;IAElC,OAAO,UAAa,KAAc;QAChC,MAAM,SAAS,GAAI,KAAiC;aACjD,WAAiC,CAAC;QACrC,IACE,KAAK,YAAY,OAAO;YACxB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EACrE;YACA,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC9B;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;AACJ,CAAC;AAOD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAmB,gBAAgB,CACxD,CAAC,MAAiC,EAAE,EAAE,CACpC,SAAS,cAAc;IACrB,MAAM,CAAC,IAAI,CAAC,CAAC;IACb,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IACzB,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;AACxC,CAAC,CACJ,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CACzB,GAAkB,EAClB,MAAoB;IAEpB,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;KAC5B;IACD,uEAAuE;IACvE,gEAAgE;IAChE,IAAI,MAAM,CAAC,OAAO,EAAE;QAClB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;KACzC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAC1C,IAAI,CAAC,CAAC,CAAC,EACP,SAAS,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CACpD,CAAC;IAEF,uEAAuE;IACvE,wEAAwE;IACxE,iEAAiE;IACjE,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function secondsToNumber(seconds: number, nanos: number): number;
2
+ export declare function encodeSeconds(seconds: number, fraction: number): unknown[];
@@ -0,0 +1,31 @@
1
+ // Copyright 2020 Outfox, Inc.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ export function secondsToNumber(seconds, nanos) {
15
+ if (nanos == 0) {
16
+ return seconds;
17
+ }
18
+ const nanoStr = nanos.toString();
19
+ return parseFloat(`${seconds}.${'0'.repeat(9 - nanoStr.length)}${nanos}`);
20
+ }
21
+ export function encodeSeconds(seconds, fraction) {
22
+ const result = [];
23
+ if (seconds != 0 || fraction != 0) {
24
+ result.push(seconds);
25
+ if (fraction != 0) {
26
+ result.push(fraction);
27
+ }
28
+ }
29
+ return result;
30
+ }
31
+ //# sourceMappingURL=temporal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temporal.js","sourceRoot":"","sources":["../../../src/util/temporal.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,KAAa;IAC5D,IAAI,KAAK,IAAI,CAAC,EAAE;QACd,OAAO,OAAO,CAAC;KAChB;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IACjC,OAAO,UAAU,CAAC,GAAG,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,QAAgB;IAC7D,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,OAAO,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE;QACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,QAAQ,IAAI,CAAC,EAAE;YACjB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACvB;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { ClassList, ClassType } from '@outfoxx/jackson-js/dist/@types';
2
+ import { ConstructableClassType } from './class-type';
3
+ export declare type AnyType = ClassList<ClassType<any>>;
4
+ export declare type AnyConstructableType = ClassList<ConstructableClassType<any>>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ // Copyright 2020 Outfox, Inc.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ //# sourceMappingURL=any-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"any-type.js","sourceRoot":"","sources":["../../src/any-type.ts"],"names":[],"mappings":";AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC"}
@@ -0,0 +1,2 @@
1
+ export declare type ClassType<T> = (abstract new () => T) | (abstract new (...args: any[]) => T);
2
+ export declare type ConstructableClassType<T> = (new () => T) | (new (...args: any[]) => T);
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ // Copyright 2020 Outfox, Inc.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ //# sourceMappingURL=class-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class-type.js","sourceRoot":"","sources":["../../src/class-type.ts"],"names":[],"mappings":";AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC"}
@@ -0,0 +1,2 @@
1
+ import { Duration, Instant, LocalDate, LocalDateTime, LocalTime, OffsetDateTime, OffsetTime, Period, ZonedDateTime } from '@js-joda/core';
2
+ export { Duration, Instant, LocalDate, LocalTime, LocalDateTime, OffsetDateTime, OffsetTime, Period, ZonedDateTime, };
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ // Copyright 2020 Outfox, Inc.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.ZonedDateTime = exports.Period = exports.OffsetTime = exports.OffsetDateTime = exports.LocalDateTime = exports.LocalTime = exports.LocalDate = exports.Instant = exports.Duration = void 0;
17
+ const core_1 = require("@js-joda/core");
18
+ Object.defineProperty(exports, "Duration", { enumerable: true, get: function () { return core_1.Duration; } });
19
+ Object.defineProperty(exports, "Instant", { enumerable: true, get: function () { return core_1.Instant; } });
20
+ Object.defineProperty(exports, "LocalDate", { enumerable: true, get: function () { return core_1.LocalDate; } });
21
+ Object.defineProperty(exports, "LocalDateTime", { enumerable: true, get: function () { return core_1.LocalDateTime; } });
22
+ Object.defineProperty(exports, "LocalTime", { enumerable: true, get: function () { return core_1.LocalTime; } });
23
+ Object.defineProperty(exports, "OffsetDateTime", { enumerable: true, get: function () { return core_1.OffsetDateTime; } });
24
+ Object.defineProperty(exports, "OffsetTime", { enumerable: true, get: function () { return core_1.OffsetTime; } });
25
+ Object.defineProperty(exports, "Period", { enumerable: true, get: function () { return core_1.Period; } });
26
+ Object.defineProperty(exports, "ZonedDateTime", { enumerable: true, get: function () { return core_1.ZonedDateTime; } });
27
+ //# sourceMappingURL=date-time-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-time-types.js","sourceRoot":"","sources":["../../src/date-time-types.ts"],"names":[],"mappings":";AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;;AAEjC,wCAUuB;AAGrB,yFAZA,eAAQ,OAYA;AACR,wFAZA,cAAO,OAYA;AACP,0FAZA,gBAAS,OAYA;AAET,8FAbA,oBAAa,OAaA;AADb,0FAXA,gBAAS,OAWA;AAET,+FAZA,qBAAc,OAYA;AACd,2FAZA,iBAAU,OAYA;AACV,uFAZA,aAAM,OAYA;AACN,8FAZA,oBAAa,OAYA"}
@@ -0,0 +1,17 @@
1
+ export interface EventInfo {
2
+ id?: string;
3
+ event?: string;
4
+ data?: string;
5
+ retry?: string;
6
+ }
7
+ export declare class EventParser {
8
+ private decoder;
9
+ private unprocessedBuffer?;
10
+ process(buffer: ArrayBuffer, dispatcher: (eventInfo: EventInfo) => void): void;
11
+ private buildAvailableBuffer;
12
+ private extractEventStringsFromBuffer;
13
+ private static findEventSeparator;
14
+ private static parseAndDispatchEvents;
15
+ private static parseEvent;
16
+ private static trimFieldValue;
17
+ }
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ // Copyright 2020 Outfox, Inc.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.EventParser = void 0;
17
+ class EventParser {
18
+ constructor() {
19
+ this.decoder = new TextDecoder('utf-8');
20
+ }
21
+ process(buffer, dispatcher) {
22
+ const availableBuffer = this.buildAvailableBuffer(buffer);
23
+ if (!availableBuffer) {
24
+ return;
25
+ }
26
+ const eventStrings = this.extractEventStringsFromBuffer(availableBuffer);
27
+ if (!eventStrings.length) {
28
+ return;
29
+ }
30
+ EventParser.parseAndDispatchEvents(eventStrings, dispatcher);
31
+ }
32
+ buildAvailableBuffer(buffer) {
33
+ const unprocessedBuffer = this.unprocessedBuffer;
34
+ this.unprocessedBuffer = undefined;
35
+ if (!buffer.byteLength) {
36
+ return unprocessedBuffer;
37
+ }
38
+ else if (!unprocessedBuffer?.byteLength) {
39
+ return buffer;
40
+ }
41
+ const newBuffer = new Uint8Array(unprocessedBuffer.byteLength + buffer.byteLength);
42
+ newBuffer.set(new Uint8Array(unprocessedBuffer), 0);
43
+ newBuffer.set(new Uint8Array(buffer), unprocessedBuffer.byteLength);
44
+ return newBuffer.buffer;
45
+ }
46
+ extractEventStringsFromBuffer(buffer) {
47
+ const eventStrings = [];
48
+ while (buffer.byteLength) {
49
+ // Find end of next event separator in buffer, exiting if none found.
50
+ const eventSeparator = EventParser.findEventSeparator(buffer);
51
+ if (!eventSeparator) {
52
+ // Save unprocessed data
53
+ this.unprocessedBuffer = buffer;
54
+ break;
55
+ }
56
+ const [endOfCurrentEventIdx, startOfNextEventIdx] = eventSeparator;
57
+ const eventBuffer = buffer.slice(0, endOfCurrentEventIdx);
58
+ buffer = buffer.slice(startOfNextEventIdx);
59
+ const eventString = this.decoder.decode(eventBuffer, {
60
+ stream: true,
61
+ });
62
+ eventStrings.push(eventString);
63
+ }
64
+ return eventStrings;
65
+ }
66
+ static findEventSeparator(buffer) {
67
+ const bytes = new Uint8Array(buffer);
68
+ for (let idx = 0; idx < bytes.length; ++idx) {
69
+ const byte = bytes[idx];
70
+ switch (byte) {
71
+ // line-feed
72
+ case 0xa: {
73
+ // if next byte is same,
74
+ // we found a separator
75
+ if (bytes[idx + 1] == 0xa) {
76
+ return [idx, idx + 2];
77
+ }
78
+ break;
79
+ }
80
+ // carriage-return
81
+ case 0xd: {
82
+ // if next byte is same,
83
+ // we found a separator
84
+ if (bytes[idx + 1] == 0xd) {
85
+ return [idx, idx + 2];
86
+ }
87
+ // if next is line-feed, and pattern
88
+ // repeats, we found a separator.
89
+ if (bytes[idx + 1] == 0xa &&
90
+ bytes[idx + 2] == 0xd &&
91
+ bytes[idx + 3] == 0xa) {
92
+ return [idx, idx + 4];
93
+ }
94
+ break;
95
+ }
96
+ default:
97
+ }
98
+ }
99
+ return undefined;
100
+ }
101
+ static parseAndDispatchEvents(eventStrings, dispatcher) {
102
+ for (const eventString of eventStrings) {
103
+ if (!eventString.length) {
104
+ continue;
105
+ }
106
+ const parsedEvent = EventParser.parseEvent(eventString);
107
+ dispatcher(parsedEvent);
108
+ }
109
+ }
110
+ static parseEvent(eventString) {
111
+ const event = {};
112
+ for (const line of eventString.split(lineSeparatorsRegEx)) {
113
+ const keyValueSeparatorIdx = line.indexOf(':');
114
+ let key;
115
+ let value;
116
+ if (keyValueSeparatorIdx != -1) {
117
+ key = line.slice(0, keyValueSeparatorIdx);
118
+ value = line.slice(keyValueSeparatorIdx + 1);
119
+ }
120
+ else {
121
+ key = line;
122
+ value = '';
123
+ }
124
+ switch (key) {
125
+ case 'retry':
126
+ event.retry = EventParser.trimFieldValue(value);
127
+ break;
128
+ case 'data': {
129
+ const data = event.data ?? '';
130
+ event.data = `${data}${EventParser.trimFieldValue(value)}\n`;
131
+ break;
132
+ }
133
+ case '':
134
+ // comment do nothing
135
+ break;
136
+ default: {
137
+ event[key] =
138
+ EventParser.trimFieldValue(value);
139
+ }
140
+ }
141
+ }
142
+ if (event.data?.[event.data?.length - 1] == '\n') {
143
+ event.data = event.data.slice(0, -1);
144
+ }
145
+ return event;
146
+ }
147
+ static trimFieldValue(value) {
148
+ if (value[0] != ' ') {
149
+ return value;
150
+ }
151
+ return value.slice(1);
152
+ }
153
+ }
154
+ exports.EventParser = EventParser;
155
+ const lineSeparatorsRegEx = /\r\n|\r|\n/;
156
+ //# sourceMappingURL=event-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-parser.js","sourceRoot":"","sources":["../../src/event-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { Observable } from 'rxjs';
2
+ import { Logger } from './logger';
3
+ import { ExtEventSource } from './request-factory';
4
+ export interface FetchEventSource {
5
+ addEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6
+ removeEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7
+ }
8
+ export declare class FetchEventSource extends EventTarget implements ExtEventSource {
9
+ private static LAST_EVENT_ID_HEADER;
10
+ private static MAX_RETRY_TIME_MULTIPLE;
11
+ private static EVENT_TIMEOUT_DEFAULT;
12
+ private static EVENT_TIMEOUT_CHECK_INTERVAL;
13
+ CONNECTING: number;
14
+ OPEN: number;
15
+ CLOSED: number;
16
+ readyState: number;
17
+ url: string;
18
+ withCredentials: boolean;
19
+ onerror: ((this: EventSource, ev: Event) => unknown) | null;
20
+ onmessage: ((this: EventSource, ev: MessageEvent) => unknown) | null;
21
+ onopen: ((this: EventSource, ev: Event) => unknown) | null;
22
+ get retryTime(): number;
23
+ private adapter;
24
+ private connectionSubscription?;
25
+ private internalRetryTime;
26
+ private retryAttempt;
27
+ private connectionAttemptTime;
28
+ private connectionOrigin?;
29
+ private reconnectTimeoutHandle?;
30
+ private lastEventId?;
31
+ private logger?;
32
+ private readonly eventTimeout?;
33
+ private eventTimeoutCheckHandle?;
34
+ private lastEventReceivedTime;
35
+ private eventParser;
36
+ constructor(url: string, eventSourceInit?: EventSourceInit & {
37
+ adapter?: (url: string, requestInit: RequestInit) => Observable<Request>;
38
+ eventTimeout?: number;
39
+ logger?: Logger;
40
+ });
41
+ connect(): void;
42
+ private internalConnect;
43
+ close(): void;
44
+ private internalClose;
45
+ private startEventTimeoutCheck;
46
+ private stopEventTimeoutCheck;
47
+ private checkEventTimeout;
48
+ private receivedHeaders;
49
+ private receivedData;
50
+ private receivedError;
51
+ private receivedComplete;
52
+ private scheduleReconnect;
53
+ private clearReconnect;
54
+ private dispatchParsedEvent;
55
+ fireErrorEvent(error: unknown): void;
56
+ }