@outfoxx/sunday 1.1.0-beta.6 → 1.1.0-beta.7

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 (403) hide show
  1. package/{dist → build/esm}/any-type.d.ts +0 -0
  2. package/{dist → build/esm}/any-type.js +0 -0
  3. package/build/esm/any-type.js.map +1 -0
  4. package/{dist → build/esm}/class-type.d.ts +0 -0
  5. package/{dist → build/esm}/class-type.js +0 -0
  6. package/build/esm/class-type.js.map +1 -0
  7. package/{dist → build/esm}/date-time-types.d.ts +0 -0
  8. package/{dist → build/esm}/date-time-types.js +0 -0
  9. package/build/esm/date-time-types.js.map +1 -0
  10. package/{dist → build/esm}/event-parser.d.ts +0 -0
  11. package/{dist → build/esm}/event-parser.js +0 -0
  12. package/build/esm/event-parser.js.map +1 -0
  13. package/{dist → build/esm}/fetch-event-source.d.ts +0 -0
  14. package/{dist → build/esm}/fetch-event-source.js +0 -0
  15. package/build/esm/fetch-event-source.js.map +1 -0
  16. package/{dist → build/esm}/fetch-request-factory.d.ts +0 -0
  17. package/{dist → build/esm}/fetch-request-factory.js +17 -8
  18. package/build/esm/fetch-request-factory.js.map +1 -0
  19. package/{dist → build/esm}/fetch.d.ts +0 -0
  20. package/build/esm/fetch.js +103 -0
  21. package/build/esm/fetch.js.map +1 -0
  22. package/{dist → build/esm}/header-parameters.d.ts +0 -0
  23. package/{dist → build/esm}/header-parameters.js +0 -0
  24. package/build/esm/header-parameters.js.map +1 -0
  25. package/{dist → build/esm}/index.d.ts +0 -0
  26. package/{dist → build/esm}/index.js +0 -0
  27. package/build/esm/index.js.map +1 -0
  28. package/{dist → build/esm}/logger.d.ts +0 -0
  29. package/{dist → build/esm}/logger.js +0 -0
  30. package/build/esm/logger.js.map +1 -0
  31. package/{dist → build/esm}/media-type-codecs/any-text-decoder.d.ts +0 -0
  32. package/build/esm/media-type-codecs/any-text-decoder.js +40 -0
  33. package/build/esm/media-type-codecs/any-text-decoder.js.map +1 -0
  34. package/{dist → build/esm}/media-type-codecs/any-text-encoder.d.ts +0 -0
  35. package/{dist → build/esm}/media-type-codecs/any-text-encoder.js +0 -0
  36. package/build/esm/media-type-codecs/any-text-encoder.js.map +1 -0
  37. package/{dist → build/esm}/media-type-codecs/binary-decoder.d.ts +0 -0
  38. package/build/esm/media-type-codecs/binary-decoder.js +40 -0
  39. package/build/esm/media-type-codecs/binary-decoder.js.map +1 -0
  40. package/{dist → build/esm}/media-type-codecs/binary-encoder.d.ts +0 -0
  41. package/{dist → build/esm}/media-type-codecs/binary-encoder.js +0 -0
  42. package/build/esm/media-type-codecs/binary-encoder.js.map +1 -0
  43. package/{dist → build/esm}/media-type-codecs/cbor-decoder.d.ts +0 -0
  44. package/{dist → build/esm}/media-type-codecs/cbor-decoder.js +13 -2
  45. package/build/esm/media-type-codecs/cbor-decoder.js.map +1 -0
  46. package/{dist → build/esm}/media-type-codecs/cbor-encoder.d.ts +0 -0
  47. package/{dist → build/esm}/media-type-codecs/cbor-encoder.js +0 -0
  48. package/build/esm/media-type-codecs/cbor-encoder.js.map +1 -0
  49. package/{dist → build/esm}/media-type-codecs/cbor-tags.d.ts +0 -0
  50. package/{dist → build/esm}/media-type-codecs/cbor-tags.js +0 -0
  51. package/build/esm/media-type-codecs/cbor-tags.js.map +1 -0
  52. package/{dist → build/esm}/media-type-codecs/json-decoder.d.ts +0 -0
  53. package/{dist → build/esm}/media-type-codecs/json-decoder.js +13 -2
  54. package/build/esm/media-type-codecs/json-decoder.js.map +1 -0
  55. package/{dist → build/esm}/media-type-codecs/json-encoder.d.ts +0 -0
  56. package/{dist → build/esm}/media-type-codecs/json-encoder.js +0 -0
  57. package/build/esm/media-type-codecs/json-encoder.js.map +1 -0
  58. package/{dist → build/esm}/media-type-codecs/media-type-decoder.d.ts +0 -0
  59. package/{dist → build/esm}/media-type-codecs/media-type-decoder.js +0 -0
  60. package/build/esm/media-type-codecs/media-type-decoder.js.map +1 -0
  61. package/{dist → build/esm}/media-type-codecs/media-type-decoders.d.ts +0 -0
  62. package/{dist → build/esm}/media-type-codecs/media-type-decoders.js +0 -0
  63. package/build/esm/media-type-codecs/media-type-decoders.js.map +1 -0
  64. package/{dist → build/esm}/media-type-codecs/media-type-encoder.d.ts +0 -0
  65. package/{dist → build/esm}/media-type-codecs/media-type-encoder.js +0 -0
  66. package/build/esm/media-type-codecs/media-type-encoder.js.map +1 -0
  67. package/{dist → build/esm}/media-type-codecs/media-type-encoders.d.ts +0 -0
  68. package/{dist → build/esm}/media-type-codecs/media-type-encoders.js +0 -0
  69. package/build/esm/media-type-codecs/media-type-encoders.js.map +1 -0
  70. package/{dist → build/esm}/media-type-codecs/www-form-url-encoder.d.ts +0 -0
  71. package/{dist → build/esm}/media-type-codecs/www-form-url-encoder.js +0 -0
  72. package/build/esm/media-type-codecs/www-form-url-encoder.js.map +1 -0
  73. package/{dist → build/esm}/media-type.d.ts +0 -0
  74. package/{dist → build/esm}/media-type.js +0 -0
  75. package/build/esm/media-type.js.map +1 -0
  76. package/{dist → build/esm}/problem.d.ts +0 -0
  77. package/{dist → build/esm}/problem.js +30 -19
  78. package/build/esm/problem.js.map +1 -0
  79. package/{dist → build/esm}/request-factory.d.ts +0 -0
  80. package/{dist → build/esm}/request-factory.js +0 -0
  81. package/build/esm/request-factory.js.map +1 -0
  82. package/{dist → build/esm}/result-response.d.ts +0 -0
  83. package/{dist → build/esm}/result-response.js +0 -0
  84. package/build/esm/result-response.js.map +1 -0
  85. package/{dist → build/esm}/sunday-error.d.ts +0 -0
  86. package/build/esm/sunday-error.js +42 -0
  87. package/build/esm/sunday-error.js.map +1 -0
  88. package/{dist → build/esm}/url-template.d.ts +0 -0
  89. package/{dist → build/esm}/url-template.js +0 -0
  90. package/build/esm/url-template.js.map +1 -0
  91. package/{dist → build/esm}/util/any.d.ts +0 -0
  92. package/{dist → build/esm}/util/any.js +0 -0
  93. package/build/esm/util/any.js.map +1 -0
  94. package/{dist → build/esm}/util/base64.d.ts +0 -0
  95. package/{dist → build/esm}/util/base64.js +0 -0
  96. package/build/esm/util/base64.js.map +1 -0
  97. package/{dist → build/esm}/util/error.d.ts +0 -0
  98. package/{dist → build/esm}/util/error.js +0 -0
  99. package/build/esm/util/error.js.map +1 -0
  100. package/{dist → build/esm}/util/hex.d.ts +0 -0
  101. package/{dist → build/esm}/util/hex.js +0 -0
  102. package/build/esm/util/hex.js.map +1 -0
  103. package/{dist → build/esm}/util/rxjs.d.ts +0 -0
  104. package/{dist → build/esm}/util/rxjs.js +0 -0
  105. package/build/esm/util/rxjs.js.map +1 -0
  106. package/{dist → build/esm}/util/stream-rxjs.d.ts +0 -0
  107. package/build/esm/util/stream-rxjs.js +50 -0
  108. package/build/esm/util/stream-rxjs.js.map +1 -0
  109. package/{dist → build/esm}/util/temporal.d.ts +0 -0
  110. package/{dist → build/esm}/util/temporal.js +0 -0
  111. package/build/esm/util/temporal.js.map +1 -0
  112. package/build/esnext/any-type.d.ts +4 -0
  113. package/build/esnext/any-type.js +15 -0
  114. package/build/esnext/any-type.js.map +1 -0
  115. package/build/esnext/class-type.d.ts +2 -0
  116. package/build/esnext/class-type.js +15 -0
  117. package/build/esnext/class-type.js.map +1 -0
  118. package/build/esnext/date-time-types.d.ts +2 -0
  119. package/build/esnext/date-time-types.js +16 -0
  120. package/build/esnext/date-time-types.js.map +1 -0
  121. package/build/esnext/event-parser.d.ts +17 -0
  122. package/build/esnext/event-parser.js +153 -0
  123. package/build/esnext/event-parser.js.map +1 -0
  124. package/build/esnext/fetch-event-source.d.ts +58 -0
  125. package/build/esnext/fetch-event-source.js +290 -0
  126. package/build/esnext/fetch-event-source.js.map +1 -0
  127. package/build/esnext/fetch-request-factory.d.ts +34 -0
  128. package/build/esnext/fetch-request-factory.js +190 -0
  129. package/build/esnext/fetch-request-factory.js.map +1 -0
  130. package/build/esnext/fetch.d.ts +7 -0
  131. package/build/esnext/fetch.js +103 -0
  132. package/build/esnext/fetch.js.map +1 -0
  133. package/build/esnext/header-parameters.d.ts +3 -0
  134. package/build/esnext/header-parameters.js +53 -0
  135. package/build/esnext/header-parameters.js.map +1 -0
  136. package/build/esnext/index.d.ts +26 -0
  137. package/{src/index.ts → build/esnext/index.js} +1 -2
  138. package/build/esnext/index.js.map +1 -0
  139. package/build/esnext/logger.d.ts +8 -0
  140. package/build/esnext/logger.js +15 -0
  141. package/build/esnext/logger.js.map +1 -0
  142. package/build/esnext/media-type-codecs/any-text-decoder.d.ts +7 -0
  143. package/build/esnext/media-type-codecs/any-text-decoder.js +40 -0
  144. package/build/esnext/media-type-codecs/any-text-decoder.js.map +1 -0
  145. package/build/esnext/media-type-codecs/any-text-encoder.d.ts +5 -0
  146. package/build/esnext/media-type-codecs/any-text-encoder.js +23 -0
  147. package/build/esnext/media-type-codecs/any-text-encoder.js.map +1 -0
  148. package/build/esnext/media-type-codecs/binary-decoder.d.ts +6 -0
  149. package/build/esnext/media-type-codecs/binary-decoder.js +40 -0
  150. package/build/esnext/media-type-codecs/binary-decoder.js.map +1 -0
  151. package/build/esnext/media-type-codecs/binary-encoder.d.ts +5 -0
  152. package/build/esnext/media-type-codecs/binary-encoder.js +26 -0
  153. package/build/esnext/media-type-codecs/binary-encoder.js.map +1 -0
  154. package/build/esnext/media-type-codecs/cbor-decoder.d.ts +39 -0
  155. package/build/esnext/media-type-codecs/cbor-decoder.js +437 -0
  156. package/build/esnext/media-type-codecs/cbor-decoder.js.map +1 -0
  157. package/build/esnext/media-type-codecs/cbor-encoder.d.ts +43 -0
  158. package/build/esnext/media-type-codecs/cbor-encoder.js +236 -0
  159. package/build/esnext/media-type-codecs/cbor-encoder.js.map +1 -0
  160. package/build/esnext/media-type-codecs/cbor-tags.d.ts +4 -0
  161. package/{src/media-type-codecs/cbor-tags.ts → build/esnext/media-type-codecs/cbor-tags.js} +1 -1
  162. package/build/esnext/media-type-codecs/cbor-tags.js.map +1 -0
  163. package/build/esnext/media-type-codecs/json-decoder.d.ts +39 -0
  164. package/build/esnext/media-type-codecs/json-decoder.js +391 -0
  165. package/build/esnext/media-type-codecs/json-decoder.js.map +1 -0
  166. package/build/esnext/media-type-codecs/json-encoder.d.ts +44 -0
  167. package/build/esnext/media-type-codecs/json-encoder.js +273 -0
  168. package/build/esnext/media-type-codecs/json-encoder.js.map +1 -0
  169. package/build/esnext/media-type-codecs/media-type-decoder.d.ts +11 -0
  170. package/{src/result-response.ts → build/esnext/media-type-codecs/media-type-decoder.js} +5 -4
  171. package/build/esnext/media-type-codecs/media-type-decoder.js.map +1 -0
  172. package/build/esnext/media-type-codecs/media-type-decoders.d.ts +18 -0
  173. package/build/esnext/media-type-codecs/media-type-decoders.js +58 -0
  174. package/build/esnext/media-type-codecs/media-type-decoders.js.map +1 -0
  175. package/build/esnext/media-type-codecs/media-type-encoder.d.ts +12 -0
  176. package/{src/util/any.ts → build/esnext/media-type-codecs/media-type-encoder.js} +9 -9
  177. package/build/esnext/media-type-codecs/media-type-encoder.js.map +1 -0
  178. package/build/esnext/media-type-codecs/media-type-encoders.d.ts +18 -0
  179. package/build/esnext/media-type-codecs/media-type-encoders.js +60 -0
  180. package/build/esnext/media-type-codecs/media-type-encoders.js.map +1 -0
  181. package/build/esnext/media-type-codecs/www-form-url-encoder.d.ts +59 -0
  182. package/build/esnext/media-type-codecs/www-form-url-encoder.js +192 -0
  183. package/build/esnext/media-type-codecs/www-form-url-encoder.js.map +1 -0
  184. package/build/esnext/media-type.d.ts +94 -0
  185. package/build/esnext/media-type.js +305 -0
  186. package/build/esnext/media-type.js.map +1 -0
  187. package/build/esnext/problem.d.ts +31 -0
  188. package/build/esnext/problem.js +169 -0
  189. package/build/esnext/problem.js.map +1 -0
  190. package/build/esnext/request-factory.d.ts +44 -0
  191. package/build/esnext/request-factory.js +15 -0
  192. package/build/esnext/request-factory.js.map +1 -0
  193. package/build/esnext/result-response.d.ts +4 -0
  194. package/build/esnext/result-response.js +15 -0
  195. package/build/esnext/result-response.js.map +1 -0
  196. package/build/esnext/sunday-error.d.ts +11 -0
  197. package/build/esnext/sunday-error.js +42 -0
  198. package/build/esnext/sunday-error.js.map +1 -0
  199. package/build/esnext/url-template.d.ts +6 -0
  200. package/{src/url-template.ts → build/esnext/url-template.js} +15 -19
  201. package/build/esnext/url-template.js.map +1 -0
  202. package/build/esnext/util/any.d.ts +2 -0
  203. package/{src/logger.ts → build/esnext/util/any.js} +10 -8
  204. package/build/esnext/util/any.js.map +1 -0
  205. package/build/esnext/util/base64.d.ts +5 -0
  206. package/build/esnext/util/base64.js +77 -0
  207. package/build/esnext/util/base64.js.map +1 -0
  208. package/build/esnext/util/error.d.ts +2 -0
  209. package/{src/media-type-codecs/any-text-encoder.ts → build/esnext/util/error.js} +11 -11
  210. package/build/esnext/util/error.js.map +1 -0
  211. package/build/esnext/util/hex.d.ts +4 -0
  212. package/build/esnext/util/hex.js +32 -0
  213. package/build/esnext/util/hex.js.map +1 -0
  214. package/build/esnext/util/rxjs.d.ts +5 -0
  215. package/build/esnext/util/rxjs.js +31 -0
  216. package/build/esnext/util/rxjs.js.map +1 -0
  217. package/build/esnext/util/stream-rxjs.d.ts +2 -0
  218. package/build/esnext/util/stream-rxjs.js +50 -0
  219. package/build/esnext/util/stream-rxjs.js.map +1 -0
  220. package/build/esnext/util/temporal.d.ts +2 -0
  221. package/{dist/media-type-codecs/any-text-decoder.js → build/esnext/util/temporal.js} +14 -12
  222. package/build/esnext/util/temporal.js.map +1 -0
  223. package/build/main/any-type.d.ts +4 -0
  224. package/build/main/any-type.js +16 -0
  225. package/build/main/any-type.js.map +1 -0
  226. package/build/main/class-type.d.ts +2 -0
  227. package/build/main/class-type.js +16 -0
  228. package/build/main/class-type.js.map +1 -0
  229. package/build/main/date-time-types.d.ts +2 -0
  230. package/build/main/date-time-types.js +27 -0
  231. package/build/main/date-time-types.js.map +1 -0
  232. package/build/main/event-parser.d.ts +17 -0
  233. package/build/main/event-parser.js +157 -0
  234. package/build/main/event-parser.js.map +1 -0
  235. package/build/main/fetch-event-source.d.ts +58 -0
  236. package/build/main/fetch-event-source.js +294 -0
  237. package/build/main/fetch-event-source.js.map +1 -0
  238. package/build/main/fetch-request-factory.d.ts +34 -0
  239. package/build/main/fetch-request-factory.js +194 -0
  240. package/build/main/fetch-request-factory.js.map +1 -0
  241. package/build/main/fetch.d.ts +7 -0
  242. package/build/main/fetch.js +107 -0
  243. package/build/main/fetch.js.map +1 -0
  244. package/build/main/header-parameters.d.ts +3 -0
  245. package/build/main/header-parameters.js +56 -0
  246. package/build/main/header-parameters.js.map +1 -0
  247. package/build/main/index.d.ts +26 -0
  248. package/build/main/index.js +52 -0
  249. package/build/main/index.js.map +1 -0
  250. package/build/main/logger.d.ts +8 -0
  251. package/build/main/logger.js +16 -0
  252. package/build/main/logger.js.map +1 -0
  253. package/build/main/media-type-codecs/any-text-decoder.d.ts +7 -0
  254. package/build/main/media-type-codecs/any-text-decoder.js +44 -0
  255. package/build/main/media-type-codecs/any-text-decoder.js.map +1 -0
  256. package/build/main/media-type-codecs/any-text-encoder.d.ts +5 -0
  257. package/build/main/media-type-codecs/any-text-encoder.js +27 -0
  258. package/build/main/media-type-codecs/any-text-encoder.js.map +1 -0
  259. package/build/main/media-type-codecs/binary-decoder.d.ts +6 -0
  260. package/build/main/media-type-codecs/binary-decoder.js +44 -0
  261. package/build/main/media-type-codecs/binary-decoder.js.map +1 -0
  262. package/build/main/media-type-codecs/binary-encoder.d.ts +5 -0
  263. package/{dist/media-type-codecs/binary-decoder.js → build/main/media-type-codecs/binary-encoder.js} +14 -13
  264. package/build/main/media-type-codecs/binary-encoder.js.map +1 -0
  265. package/build/main/media-type-codecs/cbor-decoder.d.ts +39 -0
  266. package/build/main/media-type-codecs/cbor-decoder.js +441 -0
  267. package/build/main/media-type-codecs/cbor-decoder.js.map +1 -0
  268. package/build/main/media-type-codecs/cbor-encoder.d.ts +43 -0
  269. package/build/main/media-type-codecs/cbor-encoder.js +240 -0
  270. package/build/main/media-type-codecs/cbor-encoder.js.map +1 -0
  271. package/build/main/media-type-codecs/cbor-tags.d.ts +4 -0
  272. package/build/main/media-type-codecs/cbor-tags.js +21 -0
  273. package/build/main/media-type-codecs/cbor-tags.js.map +1 -0
  274. package/build/main/media-type-codecs/json-decoder.d.ts +39 -0
  275. package/build/main/media-type-codecs/json-decoder.js +395 -0
  276. package/build/main/media-type-codecs/json-decoder.js.map +1 -0
  277. package/build/main/media-type-codecs/json-encoder.d.ts +44 -0
  278. package/build/main/media-type-codecs/json-encoder.js +277 -0
  279. package/build/main/media-type-codecs/json-encoder.js.map +1 -0
  280. package/build/main/media-type-codecs/media-type-decoder.d.ts +11 -0
  281. package/build/main/media-type-codecs/media-type-decoder.js +23 -0
  282. package/build/main/media-type-codecs/media-type-decoder.js.map +1 -0
  283. package/build/main/media-type-codecs/media-type-decoders.d.ts +18 -0
  284. package/build/main/media-type-codecs/media-type-decoders.js +62 -0
  285. package/build/main/media-type-codecs/media-type-decoders.js.map +1 -0
  286. package/build/main/media-type-codecs/media-type-encoder.d.ts +12 -0
  287. package/build/main/media-type-codecs/media-type-encoder.js +29 -0
  288. package/build/main/media-type-codecs/media-type-encoder.js.map +1 -0
  289. package/build/main/media-type-codecs/media-type-encoders.d.ts +18 -0
  290. package/build/main/media-type-codecs/media-type-encoders.js +64 -0
  291. package/build/main/media-type-codecs/media-type-encoders.js.map +1 -0
  292. package/build/main/media-type-codecs/www-form-url-encoder.d.ts +59 -0
  293. package/build/main/media-type-codecs/www-form-url-encoder.js +196 -0
  294. package/build/main/media-type-codecs/www-form-url-encoder.js.map +1 -0
  295. package/build/main/media-type.d.ts +94 -0
  296. package/build/main/media-type.js +309 -0
  297. package/build/main/media-type.js.map +1 -0
  298. package/build/main/problem.d.ts +31 -0
  299. package/build/main/problem.js +172 -0
  300. package/build/main/problem.js.map +1 -0
  301. package/build/main/request-factory.d.ts +44 -0
  302. package/build/main/request-factory.js +16 -0
  303. package/build/main/request-factory.js.map +1 -0
  304. package/build/main/result-response.d.ts +4 -0
  305. package/build/main/result-response.js +16 -0
  306. package/build/main/result-response.js.map +1 -0
  307. package/build/main/sunday-error.d.ts +11 -0
  308. package/build/main/sunday-error.js +46 -0
  309. package/build/main/sunday-error.js.map +1 -0
  310. package/build/main/url-template.d.ts +6 -0
  311. package/build/main/url-template.js +35 -0
  312. package/build/main/url-template.js.map +1 -0
  313. package/build/main/util/any.d.ts +2 -0
  314. package/build/main/util/any.js +29 -0
  315. package/build/main/util/any.js.map +1 -0
  316. package/build/main/util/base64.d.ts +5 -0
  317. package/build/main/util/base64.js +80 -0
  318. package/build/main/util/base64.js.map +1 -0
  319. package/build/main/util/error.d.ts +2 -0
  320. package/{src/util/temporal.ts → build/main/util/error.js} +15 -16
  321. package/build/main/util/error.js.map +1 -0
  322. package/build/main/util/hex.d.ts +4 -0
  323. package/build/main/util/hex.js +35 -0
  324. package/build/main/util/hex.js.map +1 -0
  325. package/build/main/util/rxjs.d.ts +5 -0
  326. package/build/main/util/rxjs.js +36 -0
  327. package/build/main/util/rxjs.js.map +1 -0
  328. package/build/main/util/stream-rxjs.d.ts +2 -0
  329. package/build/main/util/stream-rxjs.js +54 -0
  330. package/build/main/util/stream-rxjs.js.map +1 -0
  331. package/build/main/util/temporal.d.ts +2 -0
  332. package/build/main/util/temporal.js +36 -0
  333. package/build/main/util/temporal.js.map +1 -0
  334. package/package.json +37 -27
  335. package/dist/any-type.js.map +0 -1
  336. package/dist/class-type.js.map +0 -1
  337. package/dist/date-time-types.js.map +0 -1
  338. package/dist/event-parser.js.map +0 -1
  339. package/dist/fetch-event-source.js.map +0 -1
  340. package/dist/fetch-request-factory.js.map +0 -1
  341. package/dist/fetch.js +0 -90
  342. package/dist/fetch.js.map +0 -1
  343. package/dist/header-parameters.js.map +0 -1
  344. package/dist/index.js.map +0 -1
  345. package/dist/logger.js.map +0 -1
  346. package/dist/media-type-codecs/any-text-decoder.js.map +0 -1
  347. package/dist/media-type-codecs/any-text-encoder.js.map +0 -1
  348. package/dist/media-type-codecs/binary-decoder.js.map +0 -1
  349. package/dist/media-type-codecs/binary-encoder.js.map +0 -1
  350. package/dist/media-type-codecs/cbor-decoder.js.map +0 -1
  351. package/dist/media-type-codecs/cbor-encoder.js.map +0 -1
  352. package/dist/media-type-codecs/cbor-tags.js.map +0 -1
  353. package/dist/media-type-codecs/json-decoder.js.map +0 -1
  354. package/dist/media-type-codecs/json-encoder.js.map +0 -1
  355. package/dist/media-type-codecs/media-type-decoder.js.map +0 -1
  356. package/dist/media-type-codecs/media-type-decoders.js.map +0 -1
  357. package/dist/media-type-codecs/media-type-encoder.js.map +0 -1
  358. package/dist/media-type-codecs/media-type-encoders.js.map +0 -1
  359. package/dist/media-type-codecs/www-form-url-encoder.js.map +0 -1
  360. package/dist/media-type.js.map +0 -1
  361. package/dist/problem.js.map +0 -1
  362. package/dist/request-factory.js.map +0 -1
  363. package/dist/result-response.js.map +0 -1
  364. package/dist/sunday-error.js +0 -31
  365. package/dist/sunday-error.js.map +0 -1
  366. package/dist/url-template.js.map +0 -1
  367. package/dist/util/any.js.map +0 -1
  368. package/dist/util/base64.js.map +0 -1
  369. package/dist/util/error.js.map +0 -1
  370. package/dist/util/hex.js.map +0 -1
  371. package/dist/util/rxjs.js.map +0 -1
  372. package/dist/util/stream-rxjs.js +0 -39
  373. package/dist/util/stream-rxjs.js.map +0 -1
  374. package/dist/util/temporal.js.map +0 -1
  375. package/src/any-type.ts +0 -22
  376. package/src/class-type.ts +0 -21
  377. package/src/date-time-types.ts +0 -37
  378. package/src/event-parser.ts +0 -204
  379. package/src/fetch-event-source.ts +0 -406
  380. package/src/fetch-request-factory.ts +0 -315
  381. package/src/fetch.ts +0 -99
  382. package/src/header-parameters.ts +0 -66
  383. package/src/media-type-codecs/any-text-decoder.ts +0 -34
  384. package/src/media-type-codecs/binary-decoder.ts +0 -38
  385. package/src/media-type-codecs/binary-encoder.ts +0 -33
  386. package/src/media-type-codecs/cbor-decoder.ts +0 -529
  387. package/src/media-type-codecs/cbor-encoder.ts +0 -314
  388. package/src/media-type-codecs/json-decoder.ts +0 -484
  389. package/src/media-type-codecs/json-encoder.ts +0 -335
  390. package/src/media-type-codecs/media-type-decoder.ts +0 -34
  391. package/src/media-type-codecs/media-type-decoders.ts +0 -86
  392. package/src/media-type-codecs/media-type-encoder.ts +0 -45
  393. package/src/media-type-codecs/media-type-encoders.ts +0 -88
  394. package/src/media-type-codecs/www-form-url-encoder.ts +0 -243
  395. package/src/media-type.ts +0 -362
  396. package/src/problem.ts +0 -171
  397. package/src/request-factory.ts +0 -124
  398. package/src/sunday-error.ts +0 -51
  399. package/src/util/base64.ts +0 -91
  400. package/src/util/error.ts +0 -28
  401. package/src/util/hex.ts +0 -30
  402. package/src/util/rxjs.ts +0 -43
  403. package/src/util/stream-rxjs.ts +0 -42
@@ -0,0 +1,277 @@
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.JSONEncoder = void 0;
17
+ const core_1 = require("@js-joda/core");
18
+ const jackson_js_1 = require("@outfoxx/jackson-js");
19
+ require("reflect-metadata");
20
+ const base64_1 = require("../util/base64");
21
+ const temporal_1 = require("../util/temporal");
22
+ class JSONEncoder {
23
+ constructor(dateEncoding) {
24
+ this.dateEncoding = dateEncoding;
25
+ this.stringifier = new jackson_js_1.JsonStringifier();
26
+ this.instantSerializer = (_, value) => {
27
+ if (value == null) {
28
+ return null;
29
+ }
30
+ switch (this.dateEncoding) {
31
+ case JSONEncoder.DateEncoding.ISO8601:
32
+ return core_1.DateTimeFormatter.ISO_INSTANT.format(value);
33
+ case JSONEncoder.DateEncoding.MILLISECONDS_SINCE_EPOCH:
34
+ return value.toEpochMilli();
35
+ case JSONEncoder.DateEncoding.DECIMAL_SECONDS_SINCE_EPOCH:
36
+ return (0, temporal_1.secondsToNumber)(value.epochSecond(), value.nano());
37
+ }
38
+ };
39
+ this.zonedDateTimeSerializer = (_, value) => {
40
+ if (value == null) {
41
+ return null;
42
+ }
43
+ switch (this.dateEncoding) {
44
+ case JSONEncoder.DateEncoding.ISO8601:
45
+ return core_1.DateTimeFormatter.ISO_ZONED_DATE_TIME.format(value);
46
+ case JSONEncoder.DateEncoding.MILLISECONDS_SINCE_EPOCH:
47
+ return value.toInstant().toEpochMilli();
48
+ case JSONEncoder.DateEncoding.DECIMAL_SECONDS_SINCE_EPOCH:
49
+ const instant = value.toInstant();
50
+ return (0, temporal_1.secondsToNumber)(instant.epochSecond(), instant.nano());
51
+ }
52
+ };
53
+ this.offsetDateTimeSerializer = (_, value) => {
54
+ if (value == null) {
55
+ return null;
56
+ }
57
+ switch (this.dateEncoding) {
58
+ case JSONEncoder.DateEncoding.ISO8601:
59
+ return core_1.DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value);
60
+ case JSONEncoder.DateEncoding.MILLISECONDS_SINCE_EPOCH:
61
+ return value.toInstant().toEpochMilli();
62
+ case JSONEncoder.DateEncoding.DECIMAL_SECONDS_SINCE_EPOCH:
63
+ const instant = value.toInstant();
64
+ return (0, temporal_1.secondsToNumber)(instant.epochSecond(), instant.nano());
65
+ }
66
+ };
67
+ this.offsetTimeFormatter = new core_1.DateTimeFormatterBuilder()
68
+ .parseCaseInsensitive()
69
+ .append(core_1.DateTimeFormatter.ISO_LOCAL_TIME)
70
+ .appendOffsetId()
71
+ .toFormatter(core_1.ResolverStyle.STRICT);
72
+ this.offsetTimeSerializer = (_, value) => {
73
+ if (value == null) {
74
+ return null;
75
+ }
76
+ if (this.dateEncoding == JSONEncoder.DateEncoding.ISO8601) {
77
+ return this.offsetTimeFormatter.format(value);
78
+ }
79
+ else {
80
+ return [
81
+ value.hour(),
82
+ value.minute(),
83
+ ...(0, temporal_1.encodeSeconds)(value.second(), this.dateEncoding == JSONEncoder.DateEncoding.MILLISECONDS_SINCE_EPOCH
84
+ ? value.get(core_1.ChronoField.MILLI_OF_SECOND)
85
+ : value.nano()),
86
+ value.offset().toString(),
87
+ ];
88
+ }
89
+ };
90
+ this.localDateTimeSerializer = (_, value) => {
91
+ if (value == null) {
92
+ return null;
93
+ }
94
+ if (this.dateEncoding == JSONEncoder.DateEncoding.ISO8601) {
95
+ return core_1.DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(value);
96
+ }
97
+ else {
98
+ return [
99
+ value.year(),
100
+ value.monthValue(),
101
+ value.dayOfMonth(),
102
+ value.hour(),
103
+ value.minute(),
104
+ ...(0, temporal_1.encodeSeconds)(value.second(), this.dateEncoding == JSONEncoder.DateEncoding.MILLISECONDS_SINCE_EPOCH
105
+ ? value.get(core_1.ChronoField.MILLI_OF_SECOND)
106
+ : value.nano()),
107
+ ];
108
+ }
109
+ };
110
+ this.localDateSerializer = (_, value) => {
111
+ if (value == null) {
112
+ return null;
113
+ }
114
+ if (this.dateEncoding == JSONEncoder.DateEncoding.ISO8601) {
115
+ return core_1.DateTimeFormatter.ISO_LOCAL_DATE.format(value);
116
+ }
117
+ else {
118
+ return [value.year(), value.monthValue(), value.dayOfMonth()];
119
+ }
120
+ };
121
+ this.localTimeSerializer = (_, value) => {
122
+ if (value == null) {
123
+ return null;
124
+ }
125
+ if (this.dateEncoding == JSONEncoder.DateEncoding.ISO8601) {
126
+ return core_1.DateTimeFormatter.ISO_LOCAL_TIME.format(value);
127
+ }
128
+ else {
129
+ return [
130
+ value.hour(),
131
+ value.minute(),
132
+ ...(0, temporal_1.encodeSeconds)(value.second(), this.dateEncoding == JSONEncoder.DateEncoding.MILLISECONDS_SINCE_EPOCH
133
+ ? value.get(core_1.ChronoField.MILLI_OF_SECOND)
134
+ : value.nano()),
135
+ ];
136
+ }
137
+ };
138
+ this.dateSerializer = (_, value) => {
139
+ if (value == null) {
140
+ return null;
141
+ }
142
+ switch (this.dateEncoding) {
143
+ case JSONEncoder.DateEncoding.ISO8601:
144
+ return value.toISOString();
145
+ case JSONEncoder.DateEncoding.MILLISECONDS_SINCE_EPOCH:
146
+ return value.getTime();
147
+ case JSONEncoder.DateEncoding.DECIMAL_SECONDS_SINCE_EPOCH:
148
+ return value.getTime() / 1000.0;
149
+ }
150
+ };
151
+ this.urlSerializer = (_, value) => {
152
+ if (value == null) {
153
+ return null;
154
+ }
155
+ return value.toString();
156
+ };
157
+ this.arrayBufferSerializer = (_, value) => {
158
+ if (value == null) {
159
+ return null;
160
+ }
161
+ return base64_1.Base64.encode(value);
162
+ };
163
+ this.customSerializers = [
164
+ {
165
+ type: () => Date,
166
+ mapper: this.dateSerializer,
167
+ },
168
+ {
169
+ type: () => core_1.Instant,
170
+ mapper: this.instantSerializer,
171
+ },
172
+ {
173
+ type: () => core_1.ZonedDateTime,
174
+ mapper: this.zonedDateTimeSerializer,
175
+ },
176
+ {
177
+ type: () => core_1.OffsetDateTime,
178
+ mapper: this.offsetDateTimeSerializer,
179
+ },
180
+ {
181
+ type: () => core_1.OffsetTime,
182
+ mapper: this.offsetTimeSerializer,
183
+ },
184
+ {
185
+ type: () => core_1.LocalDateTime,
186
+ mapper: this.localDateTimeSerializer,
187
+ },
188
+ {
189
+ type: () => core_1.LocalDate,
190
+ mapper: this.localDateSerializer,
191
+ },
192
+ {
193
+ type: () => core_1.LocalTime,
194
+ mapper: this.localTimeSerializer,
195
+ },
196
+ {
197
+ type: () => URL,
198
+ mapper: this.urlSerializer,
199
+ },
200
+ {
201
+ type: () => ArrayBuffer,
202
+ mapper: this.arrayBufferSerializer,
203
+ },
204
+ ];
205
+ }
206
+ static get default() {
207
+ return new JSONEncoder(JSONEncoder.DateEncoding.DECIMAL_SECONDS_SINCE_EPOCH);
208
+ }
209
+ encode(value, type, includeNulls = false) {
210
+ var _a;
211
+ // Use natural type when subtypes exist
212
+ if (Reflect.hasMetadata('jackson:defaultContextGroup:JsonSubTypes',
213
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
214
+ (_a = value.constructor) !== null && _a !== void 0 ? _a : {})) {
215
+ type = [Object];
216
+ }
217
+ return this.stringifier.stringify(value, {
218
+ serializers: this.customSerializers,
219
+ features: {
220
+ serialization: {
221
+ DEFAULT_PROPERTY_INCLUSION: {
222
+ value: includeNulls
223
+ ? jackson_js_1.JsonIncludeType.ALWAYS
224
+ : jackson_js_1.JsonIncludeType.NON_NULL,
225
+ },
226
+ },
227
+ },
228
+ mainCreator: () => type !== null && type !== void 0 ? type : [Object],
229
+ });
230
+ }
231
+ encodeObject(value, type, includeNulls = false) {
232
+ var _a;
233
+ // Use natural type when subtypes exist
234
+ if (Reflect.hasMetadata('jackson:defaultContextGroup:JsonSubTypes',
235
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
236
+ (_a = value.constructor) !== null && _a !== void 0 ? _a : {})) {
237
+ type = [Object];
238
+ }
239
+ return this.stringifier.transform(value, {
240
+ serializers: this.customSerializers,
241
+ features: {
242
+ serialization: {
243
+ DEFAULT_PROPERTY_INCLUSION: {
244
+ value: includeNulls
245
+ ? jackson_js_1.JsonIncludeType.ALWAYS
246
+ : jackson_js_1.JsonIncludeType.NON_NULL,
247
+ },
248
+ },
249
+ },
250
+ mainCreator: () => type !== null && type !== void 0 ? type : [Object],
251
+ });
252
+ }
253
+ }
254
+ exports.JSONEncoder = JSONEncoder;
255
+ (function (JSONEncoder) {
256
+ /**
257
+ * Configures how temporal values are encoded.
258
+ */
259
+ let DateEncoding;
260
+ (function (DateEncoding) {
261
+ /**
262
+ * Encode temporal values numerically using seconds with decimal
263
+ * sub-second precision.
264
+ */
265
+ DateEncoding[DateEncoding["DECIMAL_SECONDS_SINCE_EPOCH"] = 0] = "DECIMAL_SECONDS_SINCE_EPOCH";
266
+ /**
267
+ * Encode temporal values numerically using integer milliseconds.
268
+ */
269
+ DateEncoding[DateEncoding["MILLISECONDS_SINCE_EPOCH"] = 1] = "MILLISECONDS_SINCE_EPOCH";
270
+ /**
271
+ * Encode temporal values values as an ISO-8601-formatted string (in
272
+ * RFC 3339 format). This is the default behavior.
273
+ */
274
+ DateEncoding[DateEncoding["ISO8601"] = 2] = "ISO8601";
275
+ })(DateEncoding = JSONEncoder.DateEncoding || (JSONEncoder.DateEncoding = {}));
276
+ })(JSONEncoder = exports.JSONEncoder || (exports.JSONEncoder = {}));
277
+ //# sourceMappingURL=json-encoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-encoder.js","sourceRoot":"","sources":["../../../src/media-type-codecs/json-encoder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { AnyType } from '../any-type';
2
+ export interface MediaTypeDecoder {
3
+ decode<T>(response: Response, type: AnyType): Promise<T>;
4
+ }
5
+ export interface TextMediaTypeDecoder extends MediaTypeDecoder {
6
+ decodeText<T>(text: string, type: AnyType): T;
7
+ }
8
+ export interface StructuredMediaTypeDecoder extends MediaTypeDecoder {
9
+ decodeObject<T>(data: unknown, type: AnyType): T;
10
+ }
11
+ export declare function isStructuredMediaTypeDecoder(decoder: MediaTypeDecoder | StructuredMediaTypeDecoder | undefined): decoder is StructuredMediaTypeDecoder;
@@ -0,0 +1,23 @@
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.isStructuredMediaTypeDecoder = void 0;
17
+ function isStructuredMediaTypeDecoder(decoder) {
18
+ var _a;
19
+ const rec = decoder;
20
+ return (_a = !!rec.decodeObject) !== null && _a !== void 0 ? _a : false;
21
+ }
22
+ exports.isStructuredMediaTypeDecoder = isStructuredMediaTypeDecoder;
23
+ //# sourceMappingURL=media-type-decoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-type-decoder.js","sourceRoot":"","sources":["../../../src/media-type-codecs/media-type-decoder.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;;;AAgBjC,SAAgB,4BAA4B,CAC1C,OAAkE;;IAElE,MAAM,GAAG,GAAG,OAA6C,CAAC;IAC1D,OAAO,MAAA,CAAC,CAAC,GAAG,CAAC,YAAY,mCAAI,KAAK,CAAC;AACrC,CAAC;AALD,oEAKC"}
@@ -0,0 +1,18 @@
1
+ import { MediaType } from '../media-type';
2
+ import { MediaTypeDecoder } from './media-type-decoder';
3
+ export interface MediaTypeDecodersBuilder {
4
+ addDefaults(): MediaTypeDecodersBuilder;
5
+ add(mediaType: MediaType, decoder: MediaTypeDecoder): MediaTypeDecodersBuilder;
6
+ build(): MediaTypeDecoders;
7
+ }
8
+ export interface MediaTypeDecodersBuilderConstructor {
9
+ new (): MediaTypeDecodersBuilder;
10
+ }
11
+ export declare class MediaTypeDecoders {
12
+ private decoders;
13
+ static Builder: MediaTypeDecodersBuilderConstructor;
14
+ static DEFAULT: MediaTypeDecoders;
15
+ constructor(decoders: Map<MediaType, MediaTypeDecoder>);
16
+ supports(mediaType: MediaType): boolean;
17
+ find(mediaType: MediaType): MediaTypeDecoder;
18
+ }
@@ -0,0 +1,62 @@
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.MediaTypeDecoders = void 0;
17
+ const any_text_decoder_1 = require("./any-text-decoder");
18
+ const binary_decoder_1 = require("./binary-decoder");
19
+ const cbor_decoder_1 = require("./cbor-decoder");
20
+ const json_decoder_1 = require("./json-decoder");
21
+ const media_type_1 = require("../media-type");
22
+ class MediaTypeDecoders {
23
+ constructor(decoders) {
24
+ this.decoders = decoders;
25
+ }
26
+ supports(mediaType) {
27
+ return Array.from(this.decoders.keys()).some((key) => key.compatible(mediaType));
28
+ }
29
+ find(mediaType) {
30
+ const found = Array.from(this.decoders.entries()).find(([type]) => type.compatible(mediaType));
31
+ if (!found) {
32
+ throw Error(`Unsupported media type - ${mediaType}`);
33
+ }
34
+ return found[1];
35
+ }
36
+ }
37
+ exports.MediaTypeDecoders = MediaTypeDecoders;
38
+ MediaTypeDecoders.Builder = class Builder {
39
+ constructor() {
40
+ this.decoders = new Map();
41
+ }
42
+ add(mediaType, decoder) {
43
+ this.decoders.set(mediaType, decoder);
44
+ return this;
45
+ }
46
+ addDefaults() {
47
+ return this.add(media_type_1.MediaType.OctetStream, binary_decoder_1.BinaryDecoder.default)
48
+ .add(media_type_1.MediaType.JSON, json_decoder_1.JSONDecoder.default)
49
+ .add(media_type_1.MediaType.CBOR, cbor_decoder_1.CBORDecoder.default)
50
+ .add(media_type_1.MediaType.EventStream, binary_decoder_1.BinaryDecoder.default)
51
+ .add(media_type_1.MediaType.AnyText, any_text_decoder_1.AnyTextDecoder.default)
52
+ .add(media_type_1.MediaType.X509CACert, binary_decoder_1.BinaryDecoder.default)
53
+ .add(media_type_1.MediaType.X509UserCert, binary_decoder_1.BinaryDecoder.default);
54
+ }
55
+ build() {
56
+ return new MediaTypeDecoders(this.decoders);
57
+ }
58
+ };
59
+ MediaTypeDecoders.DEFAULT = new MediaTypeDecoders.Builder()
60
+ .addDefaults()
61
+ .build();
62
+ //# sourceMappingURL=media-type-decoders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-type-decoders.js","sourceRoot":"","sources":["../../../src/media-type-codecs/media-type-decoders.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,yDAAoD;AACpD,qDAAiD;AACjD,iDAA6C;AAC7C,iDAA6C;AAC7C,8CAA0C;AAiB1C,MAAa,iBAAiB;IAiC5B,YAAoB,QAA0C;QAA1C,aAAQ,GAAR,QAAQ,CAAkC;IAAG,CAAC;IAElE,QAAQ,CAAC,SAAoB;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACnD,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAC1B,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,SAAoB;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAChE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAC3B,CAAC;QACF,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;SACtD;QACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;;AAjDH,8CAkDC;AAjDQ,yBAAO,GAAwC,MAAM,OAAO;IAAb;QAGpD,aAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IAuBpD,CAAC;IArBC,GAAG,CACD,SAAoB,EACpB,OAAyB;QAEzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAS,CAAC,WAAW,EAAE,8BAAa,CAAC,OAAO,CAAC;aAC1D,GAAG,CAAC,sBAAS,CAAC,IAAI,EAAE,0BAAW,CAAC,OAAO,CAAC;aACxC,GAAG,CAAC,sBAAS,CAAC,IAAI,EAAE,0BAAW,CAAC,OAAO,CAAC;aACxC,GAAG,CAAC,sBAAS,CAAC,WAAW,EAAE,8BAAa,CAAC,OAAO,CAAC;aACjD,GAAG,CAAC,sBAAS,CAAC,OAAO,EAAE,iCAAc,CAAC,OAAO,CAAC;aAC9C,GAAG,CAAC,sBAAS,CAAC,UAAU,EAAE,8BAAa,CAAC,OAAO,CAAC;aAChD,GAAG,CAAC,sBAAS,CAAC,YAAY,EAAE,8BAAa,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK;QACH,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC;AAEK,yBAAO,GAAsB,IAAI,iBAAiB,CAAC,OAAO,EAAE;KAChE,WAAW,EAAE;KACb,KAAK,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { AnyType } from '../any-type';
2
+ export interface MediaTypeEncoder {
3
+ encode<T = unknown>(value: T, type: AnyType | undefined): BodyInit;
4
+ }
5
+ export interface URLQueryParamsEncoder extends MediaTypeEncoder {
6
+ encodeQueryString(value: Record<string, unknown>): string;
7
+ }
8
+ export declare function isURLQueryParamsEncoder(encoder: MediaTypeEncoder | URLQueryParamsEncoder | undefined): encoder is URLQueryParamsEncoder;
9
+ export interface StructuredMediaTypeEncoder extends MediaTypeEncoder {
10
+ encodeObject<T = unknown>(value: T, type?: AnyType, includeNulls?: boolean): Record<string, unknown>;
11
+ }
12
+ export declare function isStructuredMediaTypeEncoder(encoder: MediaTypeEncoder | StructuredMediaTypeEncoder | undefined): encoder is StructuredMediaTypeEncoder;
@@ -0,0 +1,29 @@
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.isStructuredMediaTypeEncoder = exports.isURLQueryParamsEncoder = void 0;
17
+ function isURLQueryParamsEncoder(encoder) {
18
+ var _a;
19
+ const rec = encoder;
20
+ return (_a = !!rec.encodeQueryString) !== null && _a !== void 0 ? _a : false;
21
+ }
22
+ exports.isURLQueryParamsEncoder = isURLQueryParamsEncoder;
23
+ function isStructuredMediaTypeEncoder(encoder) {
24
+ var _a;
25
+ const rec = encoder;
26
+ return (_a = !!rec.encodeObject) !== null && _a !== void 0 ? _a : false;
27
+ }
28
+ exports.isStructuredMediaTypeEncoder = isStructuredMediaTypeEncoder;
29
+ //# sourceMappingURL=media-type-encoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-type-encoder.js","sourceRoot":"","sources":["../../../src/media-type-codecs/media-type-encoder.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;;;AAYjC,SAAgB,uBAAuB,CACrC,OAA6D;;IAE7D,MAAM,GAAG,GAAG,OAA6C,CAAC;IAC1D,OAAO,MAAA,CAAC,CAAC,GAAG,CAAC,iBAAiB,mCAAI,KAAK,CAAC;AAC1C,CAAC;AALD,0DAKC;AAUD,SAAgB,4BAA4B,CAC1C,OAAkE;;IAElE,MAAM,GAAG,GAAG,OAA6C,CAAC;IAC1D,OAAO,MAAA,CAAC,CAAC,GAAG,CAAC,YAAY,mCAAI,KAAK,CAAC;AACrC,CAAC;AALD,oEAKC"}
@@ -0,0 +1,18 @@
1
+ import { MediaType } from '../media-type';
2
+ import { MediaTypeEncoder } from './media-type-encoder';
3
+ export interface MediaTypeEncodersBuilder {
4
+ addDefaults(): MediaTypeEncodersBuilder;
5
+ add(mediaType: MediaType, encoder: MediaTypeEncoder): MediaTypeEncodersBuilder;
6
+ build(): MediaTypeEncoders;
7
+ }
8
+ export interface MediaTypeEncodersBuilderConstructor {
9
+ new (): MediaTypeEncodersBuilder;
10
+ }
11
+ export declare class MediaTypeEncoders {
12
+ private encoders;
13
+ static Builder: MediaTypeEncodersBuilderConstructor;
14
+ static DEFAULT: MediaTypeEncoders;
15
+ constructor(encoders: Map<MediaType, MediaTypeEncoder>);
16
+ supports(mediaType: MediaType): boolean;
17
+ find(mediaType: MediaType): MediaTypeEncoder;
18
+ }
@@ -0,0 +1,64 @@
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.MediaTypeEncoders = void 0;
17
+ const media_type_1 = require("../media-type");
18
+ const any_text_encoder_1 = require("./any-text-encoder");
19
+ const binary_encoder_1 = require("./binary-encoder");
20
+ const cbor_encoder_1 = require("./cbor-encoder");
21
+ const json_encoder_1 = require("./json-encoder");
22
+ const www_form_url_encoder_1 = require("./www-form-url-encoder");
23
+ class MediaTypeEncoders {
24
+ constructor(encoders) {
25
+ this.encoders = encoders;
26
+ }
27
+ supports(mediaType) {
28
+ return Array.from(this.encoders.keys()).some((key) => key.compatible(mediaType));
29
+ }
30
+ find(mediaType) {
31
+ const found = Array.from(this.encoders.entries()).find(([type]) => type.compatible(mediaType));
32
+ if (!found) {
33
+ throw Error(`Unsupported media type - ${mediaType}`);
34
+ }
35
+ return found[1];
36
+ }
37
+ }
38
+ exports.MediaTypeEncoders = MediaTypeEncoders;
39
+ MediaTypeEncoders.Builder = class Builder {
40
+ constructor() {
41
+ this.encoders = new Map();
42
+ }
43
+ add(mediaType, encoder) {
44
+ this.encoders.set(mediaType, encoder);
45
+ return this;
46
+ }
47
+ addDefaults() {
48
+ return this.add(media_type_1.MediaType.OctetStream, binary_encoder_1.BinaryEncoder.default)
49
+ .add(media_type_1.MediaType.WWWFormUrlEncoded, www_form_url_encoder_1.WWWFormUrlEncoder.default)
50
+ .add(media_type_1.MediaType.JSON, json_encoder_1.JSONEncoder.default)
51
+ .add(media_type_1.MediaType.JSONStructured, json_encoder_1.JSONEncoder.default)
52
+ .add(media_type_1.MediaType.CBOR, cbor_encoder_1.CBOREncoder.default)
53
+ .add(media_type_1.MediaType.AnyText, any_text_encoder_1.AnyTextEncoder.default)
54
+ .add(media_type_1.MediaType.X509CACert, binary_encoder_1.BinaryEncoder.default)
55
+ .add(media_type_1.MediaType.X509UserCert, binary_encoder_1.BinaryEncoder.default);
56
+ }
57
+ build() {
58
+ return new MediaTypeEncoders(this.encoders);
59
+ }
60
+ };
61
+ MediaTypeEncoders.DEFAULT = new MediaTypeEncoders.Builder()
62
+ .addDefaults()
63
+ .build();
64
+ //# sourceMappingURL=media-type-encoders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-type-encoders.js","sourceRoot":"","sources":["../../../src/media-type-codecs/media-type-encoders.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,8CAA0C;AAC1C,yDAAoD;AACpD,qDAAiD;AACjD,iDAA6C;AAC7C,iDAA6C;AAE7C,iEAA2D;AAgB3D,MAAa,iBAAiB;IAkC5B,YAAoB,QAA0C;QAA1C,aAAQ,GAAR,QAAQ,CAAkC;IAAG,CAAC;IAElE,QAAQ,CAAC,SAAoB;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACnD,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAC1B,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,SAAoB;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAChE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAC3B,CAAC;QACF,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;SACtD;QACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;;AAlDH,8CAmDC;AAlDQ,yBAAO,GAAwC,MAAM,OAAO;IAAb;QAGpD,aAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IAwBpD,CAAC;IAtBC,GAAG,CACD,SAAoB,EACpB,OAAyB;QAEzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAS,CAAC,WAAW,EAAE,8BAAa,CAAC,OAAO,CAAC;aAC1D,GAAG,CAAC,sBAAS,CAAC,iBAAiB,EAAE,wCAAiB,CAAC,OAAO,CAAC;aAC3D,GAAG,CAAC,sBAAS,CAAC,IAAI,EAAE,0BAAW,CAAC,OAAO,CAAC;aACxC,GAAG,CAAC,sBAAS,CAAC,cAAc,EAAE,0BAAW,CAAC,OAAO,CAAC;aAClD,GAAG,CAAC,sBAAS,CAAC,IAAI,EAAE,0BAAW,CAAC,OAAO,CAAC;aACxC,GAAG,CAAC,sBAAS,CAAC,OAAO,EAAE,iCAAc,CAAC,OAAO,CAAC;aAC9C,GAAG,CAAC,sBAAS,CAAC,UAAU,EAAE,8BAAa,CAAC,OAAO,CAAC;aAChD,GAAG,CAAC,sBAAS,CAAC,YAAY,EAAE,8BAAa,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK;QACH,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC;AAEK,yBAAO,GAAsB,IAAI,iBAAiB,CAAC,OAAO,EAAE;KAChE,WAAW,EAAE;KACb,KAAK,EAAE,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { JsonStringifier } from '@outfoxx/jackson-js';
2
+ import { URLQueryParamsEncoder } from './media-type-encoder';
3
+ export declare class WWWFormUrlEncoder implements URLQueryParamsEncoder {
4
+ private arrayEncoding;
5
+ private boolEncoding;
6
+ private dateEncoding;
7
+ private json;
8
+ private encoder;
9
+ static get default(): WWWFormUrlEncoder;
10
+ constructor(arrayEncoding: WWWFormUrlEncoder.ArrayEncoding, boolEncoding: WWWFormUrlEncoder.BoolEncoding, dateEncoding: WWWFormUrlEncoder.DateEncoding, json?: JsonStringifier<unknown>, encoder?: TextEncoder);
11
+ encode<T = unknown>(value: T): ArrayBuffer | SharedArrayBuffer;
12
+ encodeQueryString(parameters: Record<string, unknown>): string;
13
+ encodeQueryComponent(key: string, value: unknown): string[];
14
+ }
15
+ export declare namespace WWWFormUrlEncoder {
16
+ /**
17
+ * Configures how `Array` parameters are encoded.
18
+ */
19
+ enum ArrayEncoding {
20
+ /**
21
+ * An empty set of square brackets is appended to the key for every value. This is the default behavior.
22
+ */
23
+ BRACKETED = 0,
24
+ /**
25
+ * No brackets are appended. The key is encoded as is.
26
+ */
27
+ UNBRACKETED = 1
28
+ }
29
+ /**
30
+ * Configures how `Bool` parameters are encoded.
31
+ */
32
+ enum BoolEncoding {
33
+ /**
34
+ * Encode `true` as `1` and `false` as `0`. This is the default behavior.
35
+ */
36
+ NUMERIC = 0,
37
+ /**
38
+ * Encode `true` and `false` as string literals.
39
+ */
40
+ LITERAL = 1
41
+ }
42
+ /**
43
+ * Configures how `Date` parameters are encoded.
44
+ */
45
+ enum DateEncoding {
46
+ /**
47
+ * Encode the `Date` as a UNIX timestamp (decimal seconds since epoch).
48
+ */
49
+ DECIMAL_SECONDS_SINCE_EPOCH = 0,
50
+ /**
51
+ * Encode the `Date` as UNIX millisecond timestamp (integer milliseconds since epoch).
52
+ */
53
+ MILLISECONDS_SINCE_EPOCH = 1,
54
+ /**
55
+ * Encode the `Date` as an ISO-8601-formatted string (in RFC 3339 format). This is the default behavior.
56
+ */
57
+ ISO8601 = 2
58
+ }
59
+ }