@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,198 @@
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 { DateTimeFormatter, Instant, LocalDate, LocalDateTime, LocalTime, OffsetDateTime, OffsetTime, Temporal, ZonedDateTime, } from '@js-joda/core';
15
+ import { JsonStringifier } from '@outfoxx/jackson-js';
16
+ export class WWWFormUrlEncoder {
17
+ constructor(arrayEncoding, boolEncoding, dateEncoding, json = new JsonStringifier(), encoder = new TextEncoder()) {
18
+ this.arrayEncoding = arrayEncoding;
19
+ this.boolEncoding = boolEncoding;
20
+ this.dateEncoding = dateEncoding;
21
+ this.json = json;
22
+ this.encoder = encoder;
23
+ }
24
+ static get default() {
25
+ return new WWWFormUrlEncoder(WWWFormUrlEncoder.ArrayEncoding.UNBRACKETED, WWWFormUrlEncoder.BoolEncoding.LITERAL, WWWFormUrlEncoder.DateEncoding.DECIMAL_SECONDS_SINCE_EPOCH);
26
+ }
27
+ encode(value) {
28
+ const parameters = this.json.transform(value);
29
+ return this.encoder.encode(this.encodeQueryString(parameters));
30
+ }
31
+ encodeQueryString(parameters) {
32
+ const components = [];
33
+ for (const [key, value] of Object.entries(parameters).sort()) {
34
+ components.push(...this.encodeQueryComponent(key, value));
35
+ }
36
+ return components.join('&');
37
+ }
38
+ encodeQueryComponent(key, value) {
39
+ const components = [];
40
+ if (value === undefined) {
41
+ return components;
42
+ }
43
+ if (value == null) {
44
+ //
45
+ components.push(encodeURIComponent(key));
46
+ }
47
+ else if (value instanceof Array || value instanceof Set) {
48
+ // encode key according to `arrayEncoding`
49
+ for (const item of value) {
50
+ components.push(...this.encodeQueryComponent(encodeArrayKey(key, this.arrayEncoding), item));
51
+ }
52
+ }
53
+ else if (value instanceof Map) {
54
+ //
55
+ for (const [nestedKey, nestedValue] of Array.from(value.entries()).sort()) {
56
+ components.push(...this.encodeQueryComponent(`${key}[${nestedKey}]`, nestedValue));
57
+ }
58
+ }
59
+ else if (value instanceof Date) {
60
+ //
61
+ components.push(encodeURIComponent(key) +
62
+ '=' +
63
+ encodeURIComponent(encodeInstant(Instant.ofEpochMilli(value.getTime()), this.dateEncoding)));
64
+ }
65
+ else if (value instanceof Temporal) {
66
+ //
67
+ components.push(encodeURIComponent(key) +
68
+ '=' +
69
+ encodeURIComponent(encodeTemporal(value, this.dateEncoding)));
70
+ }
71
+ else if (typeof value === 'boolean') {
72
+ //
73
+ components.push(encodeURIComponent(key) +
74
+ '=' +
75
+ encodeURIComponent(encodeBoolean(value, this.boolEncoding)));
76
+ }
77
+ else if (typeof value === 'object') {
78
+ //
79
+ const rec = (value ?? {});
80
+ for (const [nestedKey, nestedValue] of Object.entries(rec).sort()) {
81
+ components.push(...this.encodeQueryComponent(`${key}[${nestedKey}]`, nestedValue));
82
+ }
83
+ }
84
+ else {
85
+ //
86
+ components.push(encodeURIComponent(key) + '=' + encodeURIComponent(`${value}`));
87
+ }
88
+ return components;
89
+ }
90
+ }
91
+ function encodeArrayKey(key, encoding) {
92
+ return encoding === WWWFormUrlEncoder.ArrayEncoding.BRACKETED
93
+ ? `${key}[]`
94
+ : key;
95
+ }
96
+ function encodeBoolean(value, encoding) {
97
+ switch (encoding) {
98
+ case WWWFormUrlEncoder.BoolEncoding.NUMERIC:
99
+ return value ? '1' : '0';
100
+ case WWWFormUrlEncoder.BoolEncoding.LITERAL:
101
+ return value ? 'true' : 'false';
102
+ default:
103
+ throw new Error('unknown boolean encoding');
104
+ }
105
+ }
106
+ function encodeTemporal(value, encoding) {
107
+ if (value instanceof Instant) {
108
+ return encodeInstant(value, encoding);
109
+ }
110
+ else if (value instanceof OffsetDateTime) {
111
+ if (encoding == WWWFormUrlEncoder.DateEncoding.ISO8601) {
112
+ return value.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME);
113
+ }
114
+ return encodeInstant(value.toInstant(), encoding);
115
+ }
116
+ else if (value instanceof ZonedDateTime) {
117
+ if (encoding == WWWFormUrlEncoder.DateEncoding.ISO8601) {
118
+ return value.format(DateTimeFormatter.ISO_ZONED_DATE_TIME);
119
+ }
120
+ return encodeInstant(value.toInstant(), encoding);
121
+ }
122
+ else if (value instanceof LocalDateTime) {
123
+ return value.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME);
124
+ }
125
+ else if (value instanceof LocalDate) {
126
+ return value.format(DateTimeFormatter.ISO_LOCAL_DATE);
127
+ }
128
+ else if (value instanceof LocalTime) {
129
+ return value.format(DateTimeFormatter.ISO_LOCAL_TIME);
130
+ }
131
+ else if (value instanceof OffsetTime) {
132
+ return value.format(DateTimeFormatter.ISO_OFFSET_TIME);
133
+ }
134
+ else {
135
+ throw Error('unsupported temporal value for ');
136
+ }
137
+ }
138
+ function encodeInstant(value, encoding) {
139
+ switch (encoding) {
140
+ case WWWFormUrlEncoder.DateEncoding.DECIMAL_SECONDS_SINCE_EPOCH:
141
+ return (value.epochSecond() + value.nano() / 1000000000).toFixed(7);
142
+ case WWWFormUrlEncoder.DateEncoding.MILLISECONDS_SINCE_EPOCH:
143
+ return `${value.toEpochMilli()}`;
144
+ case WWWFormUrlEncoder.DateEncoding.ISO8601:
145
+ return DateTimeFormatter.ISO_INSTANT.format(value);
146
+ default:
147
+ throw new Error('unknown date encoding');
148
+ }
149
+ }
150
+ (function (WWWFormUrlEncoder) {
151
+ /**
152
+ * Configures how `Array` parameters are encoded.
153
+ */
154
+ let ArrayEncoding;
155
+ (function (ArrayEncoding) {
156
+ /**
157
+ * An empty set of square brackets is appended to the key for every value. This is the default behavior.
158
+ */
159
+ ArrayEncoding[ArrayEncoding["BRACKETED"] = 0] = "BRACKETED";
160
+ /**
161
+ * No brackets are appended. The key is encoded as is.
162
+ */
163
+ ArrayEncoding[ArrayEncoding["UNBRACKETED"] = 1] = "UNBRACKETED";
164
+ })(ArrayEncoding = WWWFormUrlEncoder.ArrayEncoding || (WWWFormUrlEncoder.ArrayEncoding = {}));
165
+ /**
166
+ * Configures how `Bool` parameters are encoded.
167
+ */
168
+ let BoolEncoding;
169
+ (function (BoolEncoding) {
170
+ /**
171
+ * Encode `true` as `1` and `false` as `0`. This is the default behavior.
172
+ */
173
+ BoolEncoding[BoolEncoding["NUMERIC"] = 0] = "NUMERIC";
174
+ /**
175
+ * Encode `true` and `false` as string literals.
176
+ */
177
+ BoolEncoding[BoolEncoding["LITERAL"] = 1] = "LITERAL";
178
+ })(BoolEncoding = WWWFormUrlEncoder.BoolEncoding || (WWWFormUrlEncoder.BoolEncoding = {}));
179
+ /**
180
+ * Configures how `Date` parameters are encoded.
181
+ */
182
+ let DateEncoding;
183
+ (function (DateEncoding) {
184
+ /**
185
+ * Encode the `Date` as a UNIX timestamp (decimal seconds since epoch).
186
+ */
187
+ DateEncoding[DateEncoding["DECIMAL_SECONDS_SINCE_EPOCH"] = 0] = "DECIMAL_SECONDS_SINCE_EPOCH";
188
+ /**
189
+ * Encode the `Date` as UNIX millisecond timestamp (integer milliseconds since epoch).
190
+ */
191
+ DateEncoding[DateEncoding["MILLISECONDS_SINCE_EPOCH"] = 1] = "MILLISECONDS_SINCE_EPOCH";
192
+ /**
193
+ * Encode the `Date` as an ISO-8601-formatted string (in RFC 3339 format). This is the default behavior.
194
+ */
195
+ DateEncoding[DateEncoding["ISO8601"] = 2] = "ISO8601";
196
+ })(DateEncoding = WWWFormUrlEncoder.DateEncoding || (WWWFormUrlEncoder.DateEncoding = {}));
197
+ })(WWWFormUrlEncoder || (WWWFormUrlEncoder = {}));
198
+ //# sourceMappingURL=www-form-url-encoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"www-form-url-encoder.js","sourceRoot":"","sources":["../../../src/media-type-codecs/www-form-url-encoder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ export declare class MediaType {
2
+ type: MediaType.Type;
3
+ tree: MediaType.Tree;
4
+ subtype: string;
5
+ suffix?: MediaType.Suffix;
6
+ parameters: Record<string, string>;
7
+ constructor(params: {
8
+ type: MediaType.Type;
9
+ tree?: MediaType.Tree;
10
+ subtype: string;
11
+ suffix?: MediaType.Suffix;
12
+ parameters?: Record<string, string>;
13
+ });
14
+ parameter(name: MediaType.ParameterName | string): string | undefined;
15
+ with(params: {
16
+ type?: MediaType.Type;
17
+ tree?: MediaType.Tree;
18
+ subtype?: string;
19
+ suffix?: MediaType.Suffix;
20
+ parameters?: Record<string, string>;
21
+ }): MediaType;
22
+ withParameter(parameter: MediaType.ParameterName | string, value: string): MediaType;
23
+ get value(): string;
24
+ compatible(other: MediaType): boolean;
25
+ equals(other: MediaType): boolean;
26
+ toString(): string;
27
+ }
28
+ export declare namespace MediaType {
29
+ enum Type {
30
+ Application = "application",
31
+ Audio = "audio",
32
+ Example = "example",
33
+ Font = "font",
34
+ Image = "image",
35
+ Message = "message",
36
+ Model = "model",
37
+ Multipart = "multipart",
38
+ Text = "text",
39
+ Video = "video",
40
+ Any = "*"
41
+ }
42
+ namespace Type {
43
+ function from(value: string): Type | undefined;
44
+ }
45
+ enum Tree {
46
+ Standard = "",
47
+ Vendor = "vnd.",
48
+ Personal = "prs.",
49
+ Unregistered = "x.",
50
+ Obsolete = "x-",
51
+ Any = "*"
52
+ }
53
+ namespace Tree {
54
+ function from(value: string): Tree | undefined;
55
+ }
56
+ enum Suffix {
57
+ XML = "xml",
58
+ JSON = "json",
59
+ BER = "ber",
60
+ DER = "der",
61
+ FastInfoSet = "fastinfoset",
62
+ WBXML = "wbxml",
63
+ Zip = "zip",
64
+ CBOR = "cbor"
65
+ }
66
+ namespace Suffix {
67
+ function from(value: string): Suffix | undefined;
68
+ }
69
+ enum ParameterName {
70
+ CharSet = "charset"
71
+ }
72
+ function from(value?: string | null): MediaType;
73
+ function from(value: string | null | undefined, def: MediaType): MediaType;
74
+ const Plain: MediaType;
75
+ const HTML: MediaType;
76
+ const JSON: MediaType;
77
+ const YAML: MediaType;
78
+ const CBOR: MediaType;
79
+ const EventStream: MediaType;
80
+ const OctetStream: MediaType;
81
+ const WWWFormUrlEncoded: MediaType;
82
+ const X509CACert: MediaType;
83
+ const X509UserCert: MediaType;
84
+ const Any: MediaType;
85
+ const AnyText: MediaType;
86
+ const AnyImage: MediaType;
87
+ const AnyAudio: MediaType;
88
+ const AnyVideo: MediaType;
89
+ const JSONStructured: MediaType;
90
+ const XMLStructured: MediaType;
91
+ const Problem: MediaType;
92
+ const JsonPatch: MediaType;
93
+ const MergePatch: MediaType;
94
+ }
@@ -0,0 +1,302 @@
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 class MediaType {
15
+ constructor(params) {
16
+ this.type = params.type;
17
+ this.tree = params.tree ?? MediaType.Tree.Standard;
18
+ this.subtype = params.subtype.toLowerCase();
19
+ this.suffix = params.suffix;
20
+ this.parameters = Object.entries(params.parameters ?? {}).reduce((obj, [name, value]) => {
21
+ obj[name.toLowerCase()] = value.toLowerCase();
22
+ return obj;
23
+ }, {});
24
+ }
25
+ parameter(name) {
26
+ return this.parameters[name];
27
+ }
28
+ with(params) {
29
+ return new MediaType({
30
+ type: params.type ?? this.type,
31
+ tree: params.tree ?? this.tree,
32
+ subtype: params.subtype ?? this.subtype,
33
+ suffix: params.suffix ?? this.suffix,
34
+ parameters: params.parameters ?? this.parameters,
35
+ });
36
+ }
37
+ withParameter(parameter, value) {
38
+ const parameters = Object.assign({}, this.parameters, {
39
+ [parameter]: value,
40
+ });
41
+ return this.with({ parameters });
42
+ }
43
+ get value() {
44
+ const type = this.type;
45
+ const tree = this.tree;
46
+ const suffix = this.suffix ? `+${this.suffix.toLowerCase()}` : '';
47
+ const parameters = Object.keys(this.parameters)
48
+ .sort()
49
+ .map((key) => `;${key}=${this.parameters[key]}`)
50
+ .join('');
51
+ return `${type}/${tree}${this.subtype}${suffix}${parameters}`;
52
+ }
53
+ compatible(other) {
54
+ if (this.type != MediaType.Type.Any &&
55
+ other.type != MediaType.Type.Any &&
56
+ this.type != other.type) {
57
+ return false;
58
+ }
59
+ if (this.tree != MediaType.Tree.Any &&
60
+ other.tree != MediaType.Tree.Any &&
61
+ this.tree != other.tree) {
62
+ return false;
63
+ }
64
+ if (this.subtype != '*' &&
65
+ other.subtype != '*' &&
66
+ this.subtype != other.subtype) {
67
+ return false;
68
+ }
69
+ if (this.suffix != other.suffix) {
70
+ return false;
71
+ }
72
+ const thisKeys = Object.keys(this.parameters);
73
+ const otherKeys = Object.keys(other.parameters);
74
+ return thisKeys
75
+ .filter((key) => otherKeys.includes(key))
76
+ .every((key) => this.parameters[key] == other.parameters[key]);
77
+ }
78
+ equals(other) {
79
+ if (this === other)
80
+ return true;
81
+ if (this.type != other.type)
82
+ return false;
83
+ if (this.tree != other.tree)
84
+ return false;
85
+ if (this.suffix != other.suffix)
86
+ return false;
87
+ if (this.subtype != other.subtype)
88
+ return false;
89
+ for (const parameterName of Object.keys(this.parameters)) {
90
+ if (this.parameters[parameterName] != other.parameters[parameterName]) {
91
+ return false;
92
+ }
93
+ }
94
+ return true;
95
+ }
96
+ toString() {
97
+ return this.value;
98
+ }
99
+ }
100
+ (function (MediaType) {
101
+ let Type;
102
+ (function (Type) {
103
+ Type["Application"] = "application";
104
+ Type["Audio"] = "audio";
105
+ Type["Example"] = "example";
106
+ Type["Font"] = "font";
107
+ Type["Image"] = "image";
108
+ Type["Message"] = "message";
109
+ Type["Model"] = "model";
110
+ Type["Multipart"] = "multipart";
111
+ Type["Text"] = "text";
112
+ Type["Video"] = "video";
113
+ Type["Any"] = "*";
114
+ })(Type = MediaType.Type || (MediaType.Type = {}));
115
+ (function (Type) {
116
+ function from(value) {
117
+ return Object.values(Type).includes(value)
118
+ ? value
119
+ : undefined;
120
+ }
121
+ Type.from = from;
122
+ })(Type = MediaType.Type || (MediaType.Type = {}));
123
+ let Tree;
124
+ (function (Tree) {
125
+ Tree["Standard"] = "";
126
+ Tree["Vendor"] = "vnd.";
127
+ Tree["Personal"] = "prs.";
128
+ Tree["Unregistered"] = "x.";
129
+ Tree["Obsolete"] = "x-";
130
+ Tree["Any"] = "*";
131
+ })(Tree = MediaType.Tree || (MediaType.Tree = {}));
132
+ (function (Tree) {
133
+ function from(value) {
134
+ return Object.values(Tree).includes(value)
135
+ ? value
136
+ : undefined;
137
+ }
138
+ Tree.from = from;
139
+ })(Tree = MediaType.Tree || (MediaType.Tree = {}));
140
+ let Suffix;
141
+ (function (Suffix) {
142
+ Suffix["XML"] = "xml";
143
+ Suffix["JSON"] = "json";
144
+ Suffix["BER"] = "ber";
145
+ Suffix["DER"] = "der";
146
+ Suffix["FastInfoSet"] = "fastinfoset";
147
+ Suffix["WBXML"] = "wbxml";
148
+ Suffix["Zip"] = "zip";
149
+ Suffix["CBOR"] = "cbor";
150
+ })(Suffix = MediaType.Suffix || (MediaType.Suffix = {}));
151
+ (function (Suffix) {
152
+ function from(value) {
153
+ return Object.values(Suffix).includes(value)
154
+ ? value
155
+ : undefined;
156
+ }
157
+ Suffix.from = from;
158
+ })(Suffix = MediaType.Suffix || (MediaType.Suffix = {}));
159
+ let ParameterName;
160
+ (function (ParameterName) {
161
+ ParameterName["CharSet"] = "charset";
162
+ })(ParameterName = MediaType.ParameterName || (MediaType.ParameterName = {}));
163
+ function from(value, def = undefined) {
164
+ const reqDef = () => {
165
+ if (!def) {
166
+ throw Error('Invalid media type');
167
+ }
168
+ return def;
169
+ };
170
+ if (!value) {
171
+ return reqDef();
172
+ }
173
+ fullRegex.lastIndex = 0;
174
+ const match = fullRegex.exec(value);
175
+ if (match?.[0] != value) {
176
+ return reqDef();
177
+ }
178
+ const type = MediaType.Type.from(match[1]?.toLowerCase());
179
+ if (!type) {
180
+ return reqDef();
181
+ }
182
+ const tree = MediaType.Tree.from(match[2]?.toLowerCase()) ?? MediaType.Tree.Standard;
183
+ const subtype = match[3]?.toLowerCase();
184
+ if (!subtype) {
185
+ return reqDef();
186
+ }
187
+ const suffix = MediaType.Suffix.from(match[4]?.toLowerCase());
188
+ const parameters = {};
189
+ let parametersMatch = paramRegex.exec(match[5] ?? '');
190
+ while (parametersMatch?.[0]) {
191
+ const name = parametersMatch[1];
192
+ if (!name)
193
+ continue;
194
+ const value = parametersMatch[2];
195
+ if (!value)
196
+ continue;
197
+ parameters[name.toLowerCase()] = value.toLowerCase();
198
+ parametersMatch = paramRegex.exec(match[5]);
199
+ }
200
+ return new MediaType({
201
+ type,
202
+ tree,
203
+ subtype,
204
+ suffix,
205
+ parameters,
206
+ });
207
+ }
208
+ MediaType.from = from;
209
+ const fullRegex = /^((?:[a-z]+|\*))\/(x(?:-|\\.)|(?:(?:vnd|prs|x)\.)|\*)?([a-z0-9\-.]+|\*)(?:\+([a-z]+))?( *(?:; *(?:(?:[\w.-]+) *= *(?:[\w.-]+)) *)*)$/gi;
210
+ const paramRegex = / *; *([\w.-]+) *= *([\w.-]+)/gi;
211
+ MediaType.Plain = new MediaType({
212
+ type: MediaType.Type.Text,
213
+ subtype: 'plain',
214
+ });
215
+ MediaType.HTML = new MediaType({
216
+ type: MediaType.Type.Text,
217
+ subtype: 'html',
218
+ });
219
+ MediaType.JSON = new MediaType({
220
+ type: MediaType.Type.Application,
221
+ subtype: 'json',
222
+ });
223
+ MediaType.YAML = new MediaType({
224
+ type: MediaType.Type.Application,
225
+ subtype: 'yaml',
226
+ });
227
+ MediaType.CBOR = new MediaType({
228
+ type: MediaType.Type.Application,
229
+ subtype: 'cbor',
230
+ });
231
+ MediaType.EventStream = new MediaType({
232
+ type: MediaType.Type.Text,
233
+ subtype: 'event-stream',
234
+ });
235
+ MediaType.OctetStream = new MediaType({
236
+ type: MediaType.Type.Application,
237
+ subtype: 'octet-stream',
238
+ });
239
+ MediaType.WWWFormUrlEncoded = new MediaType({
240
+ type: MediaType.Type.Application,
241
+ tree: MediaType.Tree.Obsolete,
242
+ subtype: 'www-form-urlencoded',
243
+ });
244
+ MediaType.X509CACert = new MediaType({
245
+ type: MediaType.Type.Application,
246
+ tree: MediaType.Tree.Obsolete,
247
+ subtype: 'x509-ca-cert',
248
+ });
249
+ MediaType.X509UserCert = new MediaType({
250
+ type: MediaType.Type.Application,
251
+ tree: MediaType.Tree.Obsolete,
252
+ subtype: 'x509-user-cert',
253
+ });
254
+ MediaType.Any = new MediaType({
255
+ type: MediaType.Type.Any,
256
+ subtype: '*',
257
+ });
258
+ MediaType.AnyText = new MediaType({
259
+ type: MediaType.Type.Text,
260
+ subtype: '*',
261
+ });
262
+ MediaType.AnyImage = new MediaType({
263
+ type: MediaType.Type.Image,
264
+ subtype: '*',
265
+ });
266
+ MediaType.AnyAudio = new MediaType({
267
+ type: MediaType.Type.Audio,
268
+ subtype: '*',
269
+ });
270
+ MediaType.AnyVideo = new MediaType({
271
+ type: MediaType.Type.Video,
272
+ subtype: '*',
273
+ });
274
+ MediaType.JSONStructured = new MediaType({
275
+ type: MediaType.Type.Any,
276
+ tree: MediaType.Tree.Any,
277
+ subtype: '*',
278
+ suffix: Suffix.JSON,
279
+ });
280
+ MediaType.XMLStructured = new MediaType({
281
+ type: MediaType.Type.Any,
282
+ tree: MediaType.Tree.Any,
283
+ subtype: '*',
284
+ suffix: Suffix.XML,
285
+ });
286
+ MediaType.Problem = new MediaType({
287
+ type: MediaType.Type.Application,
288
+ subtype: 'problem',
289
+ suffix: Suffix.JSON,
290
+ });
291
+ MediaType.JsonPatch = new MediaType({
292
+ type: MediaType.Type.Application,
293
+ subtype: 'json-patch',
294
+ suffix: Suffix.JSON,
295
+ });
296
+ MediaType.MergePatch = new MediaType({
297
+ type: MediaType.Type.Application,
298
+ subtype: 'merge-patch',
299
+ suffix: Suffix.JSON,
300
+ });
301
+ })(MediaType || (MediaType = {}));
302
+ //# sourceMappingURL=media-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-type.js","sourceRoot":"","sources":["../../src/media-type.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export interface ProblemSpec {
2
+ type: URL | string;
3
+ title: string;
4
+ status: number;
5
+ detail?: string;
6
+ instance?: URL | string;
7
+ [key: string]: unknown;
8
+ }
9
+ export interface Problem {
10
+ type: URL;
11
+ title: string;
12
+ status: number;
13
+ detail?: string;
14
+ instance?: URL;
15
+ [key: string]: unknown;
16
+ }
17
+ export declare class Problem extends Error implements Problem {
18
+ type: URL;
19
+ title: string;
20
+ status: number;
21
+ detail?: string;
22
+ instance?: URL;
23
+ private _parameters?;
24
+ get parameters(): Record<string, unknown> | undefined;
25
+ private setParameter;
26
+ constructor(spec: ProblemSpec);
27
+ toString(): string;
28
+ static fromStatus(status: number, title: string): Problem;
29
+ static fromResponse(response: Response): Promise<Problem>;
30
+ private static parseURL;
31
+ }