@outfoxx/sunday 1.1.0-beta.8 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. package/README.md +2 -0
  2. package/build/date-time-types.d.ts +35 -0
  3. package/build/date-time-types.js +699 -0
  4. package/build/date-time-types.js.map +1 -0
  5. package/build/{esm/event-parser.d.ts → event-parser.d.ts} +1 -1
  6. package/build/{esm/event-parser.js → event-parser.js} +10 -12
  7. package/build/event-parser.js.map +1 -0
  8. package/build/{esm/fetch-event-source.d.ts → fetch-event-source.d.ts} +26 -18
  9. package/build/fetch-event-source.js +365 -0
  10. package/build/fetch-event-source.js.map +1 -0
  11. package/build/{esnext/fetch-request-factory.d.ts → fetch-request-factory.d.ts} +18 -20
  12. package/build/fetch-request-factory.js +316 -0
  13. package/build/fetch-request-factory.js.map +1 -0
  14. package/build/fetch.d.ts +9 -0
  15. package/build/fetch.js +140 -0
  16. package/build/fetch.js.map +1 -0
  17. package/build/{esnext/header-parameters.js → header-parameters.js} +31 -2
  18. package/build/header-parameters.js.map +1 -0
  19. package/build/index.d.ts +26 -0
  20. package/build/index.js +41 -0
  21. package/build/index.js.map +1 -0
  22. package/build/{main/logger.d.ts → logger.d.ts} +9 -0
  23. package/build/logger.js +36 -0
  24. package/build/logger.js.map +1 -0
  25. package/build/media-type-codecs/any-text-decoder.d.ts +7 -0
  26. package/build/{esnext/media-type-codecs/binary-encoder.js → media-type-codecs/any-text-decoder.js} +13 -10
  27. package/build/media-type-codecs/any-text-decoder.js.map +1 -0
  28. package/build/media-type-codecs/any-text-encoder.d.ts +6 -0
  29. package/build/{esm/media-type-codecs → media-type-codecs}/any-text-encoder.js +9 -5
  30. package/build/media-type-codecs/any-text-encoder.js.map +1 -0
  31. package/build/media-type-codecs/binary-decoder.d.ts +7 -0
  32. package/build/media-type-codecs/binary-decoder.js +33 -0
  33. package/build/media-type-codecs/binary-decoder.js.map +1 -0
  34. package/build/media-type-codecs/binary-encoder.d.ts +6 -0
  35. package/build/{esm/media-type-codecs → media-type-codecs}/binary-encoder.js +12 -8
  36. package/build/media-type-codecs/binary-encoder.js.map +1 -0
  37. package/build/media-type-codecs/cbor-decoder.d.ts +13 -0
  38. package/build/media-type-codecs/cbor-decoder.js +38 -0
  39. package/build/media-type-codecs/cbor-decoder.js.map +1 -0
  40. package/build/media-type-codecs/cbor-encoder.d.ts +12 -0
  41. package/build/media-type-codecs/cbor-encoder.js +36 -0
  42. package/build/media-type-codecs/cbor-encoder.js.map +1 -0
  43. package/build/{esm/media-type-codecs → media-type-codecs}/cbor-tags.d.ts +2 -0
  44. package/build/{esnext/media-type-codecs → media-type-codecs}/cbor-tags.js +2 -0
  45. package/build/media-type-codecs/cbor-tags.js.map +1 -0
  46. package/build/media-type-codecs/default-policies.d.ts +3 -0
  47. package/build/media-type-codecs/default-policies.js +33 -0
  48. package/build/media-type-codecs/default-policies.js.map +1 -0
  49. package/build/media-type-codecs/json-decoder.d.ts +14 -0
  50. package/build/media-type-codecs/json-decoder.js +40 -0
  51. package/build/media-type-codecs/json-decoder.js.map +1 -0
  52. package/build/media-type-codecs/json-encoder.d.ts +13 -0
  53. package/build/media-type-codecs/json-encoder.js +43 -0
  54. package/build/media-type-codecs/json-encoder.js.map +1 -0
  55. package/build/media-type-codecs/media-type-decoder.d.ts +14 -0
  56. package/build/{esm/media-type-codecs → media-type-codecs}/media-type-decoder.js +1 -2
  57. package/build/media-type-codecs/media-type-decoder.js.map +1 -0
  58. package/build/{main/media-type-codecs → media-type-codecs}/media-type-decoders.d.ts +6 -8
  59. package/build/media-type-codecs/media-type-decoders.js +63 -0
  60. package/build/media-type-codecs/media-type-decoders.js.map +1 -0
  61. package/build/{main/media-type-codecs → media-type-codecs}/media-type-encoder.d.ts +3 -3
  62. package/build/{esnext/media-type-codecs → media-type-codecs}/media-type-encoder.js +2 -4
  63. package/build/media-type-codecs/media-type-encoder.js.map +1 -0
  64. package/build/{esnext/media-type-codecs → media-type-codecs}/media-type-encoders.d.ts +6 -8
  65. package/build/media-type-codecs/media-type-encoders.js +65 -0
  66. package/build/media-type-codecs/media-type-encoders.js.map +1 -0
  67. package/build/media-type-codecs/www-form-url-encoder.d.ts +31 -0
  68. package/build/media-type-codecs/www-form-url-encoder.js +281 -0
  69. package/build/media-type-codecs/www-form-url-encoder.js.map +1 -0
  70. package/build/{esm/media-type.js → media-type.js} +23 -23
  71. package/build/media-type.js.map +1 -0
  72. package/build/problem.d.ts +35 -0
  73. package/build/problem.js +122 -0
  74. package/build/problem.js.map +1 -0
  75. package/build/request-adapters.d.ts +23 -0
  76. package/build/request-adapters.js +53 -0
  77. package/build/request-adapters.js.map +1 -0
  78. package/build/request-factory.d.ts +39 -0
  79. package/build/request-factory.js.map +1 -0
  80. package/build/result-response.js.map +1 -0
  81. package/build/schema-builtins.d.ts +21 -0
  82. package/build/schema-builtins.js +201 -0
  83. package/build/schema-builtins.js.map +1 -0
  84. package/build/schema-policy.d.ts +31 -0
  85. package/build/schema-policy.js +41 -0
  86. package/build/schema-policy.js.map +1 -0
  87. package/build/schema-runtime.d.ts +25 -0
  88. package/build/schema-runtime.js +77 -0
  89. package/build/schema-runtime.js.map +1 -0
  90. package/build/{esnext/sunday-error.d.ts → sunday-error.d.ts} +2 -3
  91. package/build/sunday-error.js +36 -0
  92. package/build/sunday-error.js.map +1 -0
  93. package/build/{esm/url-template.js → url-template.js} +5 -3
  94. package/build/url-template.js.map +1 -0
  95. package/build/util/async-iterables.d.ts +15 -0
  96. package/build/util/async-iterables.js +179 -0
  97. package/build/util/async-iterables.js.map +1 -0
  98. package/build/util/errors.js +65 -0
  99. package/build/util/errors.js.map +1 -0
  100. package/build/util/nullify.d.ts +5 -0
  101. package/build/util/nullify.js +37 -0
  102. package/build/util/nullify.js.map +1 -0
  103. package/build/util/numbers.d.ts +11 -0
  104. package/build/{esm/util/temporal.js → util/numbers.js} +14 -4
  105. package/build/util/numbers.js.map +1 -0
  106. package/build/util/subscriptions.d.ts +16 -0
  107. package/build/util/subscriptions.js +78 -0
  108. package/build/util/subscriptions.js.map +1 -0
  109. package/build/{esm/util/any.js → util/unknowns.js} +2 -3
  110. package/build/util/unknowns.js.map +1 -0
  111. package/package.json +58 -56
  112. package/build/esm/any-type.d.ts +0 -4
  113. package/build/esm/any-type.js +0 -15
  114. package/build/esm/any-type.js.map +0 -1
  115. package/build/esm/class-type.d.ts +0 -2
  116. package/build/esm/class-type.js +0 -15
  117. package/build/esm/class-type.js.map +0 -1
  118. package/build/esm/date-time-types.d.ts +0 -2
  119. package/build/esm/date-time-types.js +0 -16
  120. package/build/esm/date-time-types.js.map +0 -1
  121. package/build/esm/event-parser.js.map +0 -1
  122. package/build/esm/fetch-event-source.js +0 -290
  123. package/build/esm/fetch-event-source.js.map +0 -1
  124. package/build/esm/fetch-request-factory.d.ts +0 -34
  125. package/build/esm/fetch-request-factory.js +0 -190
  126. package/build/esm/fetch-request-factory.js.map +0 -1
  127. package/build/esm/fetch.d.ts +0 -7
  128. package/build/esm/fetch.js +0 -103
  129. package/build/esm/fetch.js.map +0 -1
  130. package/build/esm/header-parameters.js +0 -53
  131. package/build/esm/header-parameters.js.map +0 -1
  132. package/build/esm/index.d.ts +0 -26
  133. package/build/esm/index.js +0 -40
  134. package/build/esm/index.js.map +0 -1
  135. package/build/esm/logger.d.ts +0 -8
  136. package/build/esm/logger.js +0 -15
  137. package/build/esm/logger.js.map +0 -1
  138. package/build/esm/media-type-codecs/any-text-decoder.d.ts +0 -7
  139. package/build/esm/media-type-codecs/any-text-decoder.js +0 -40
  140. package/build/esm/media-type-codecs/any-text-decoder.js.map +0 -1
  141. package/build/esm/media-type-codecs/any-text-encoder.d.ts +0 -5
  142. package/build/esm/media-type-codecs/any-text-encoder.js.map +0 -1
  143. package/build/esm/media-type-codecs/binary-decoder.d.ts +0 -6
  144. package/build/esm/media-type-codecs/binary-decoder.js +0 -40
  145. package/build/esm/media-type-codecs/binary-decoder.js.map +0 -1
  146. package/build/esm/media-type-codecs/binary-encoder.d.ts +0 -5
  147. package/build/esm/media-type-codecs/binary-encoder.js.map +0 -1
  148. package/build/esm/media-type-codecs/cbor-decoder.d.ts +0 -39
  149. package/build/esm/media-type-codecs/cbor-decoder.js +0 -437
  150. package/build/esm/media-type-codecs/cbor-decoder.js.map +0 -1
  151. package/build/esm/media-type-codecs/cbor-encoder.d.ts +0 -43
  152. package/build/esm/media-type-codecs/cbor-encoder.js +0 -236
  153. package/build/esm/media-type-codecs/cbor-encoder.js.map +0 -1
  154. package/build/esm/media-type-codecs/cbor-tags.js +0 -18
  155. package/build/esm/media-type-codecs/cbor-tags.js.map +0 -1
  156. package/build/esm/media-type-codecs/json-decoder.d.ts +0 -39
  157. package/build/esm/media-type-codecs/json-decoder.js +0 -391
  158. package/build/esm/media-type-codecs/json-decoder.js.map +0 -1
  159. package/build/esm/media-type-codecs/json-encoder.d.ts +0 -44
  160. package/build/esm/media-type-codecs/json-encoder.js +0 -273
  161. package/build/esm/media-type-codecs/json-encoder.js.map +0 -1
  162. package/build/esm/media-type-codecs/media-type-decoder.d.ts +0 -11
  163. package/build/esm/media-type-codecs/media-type-decoder.js.map +0 -1
  164. package/build/esm/media-type-codecs/media-type-decoders.d.ts +0 -18
  165. package/build/esm/media-type-codecs/media-type-decoders.js +0 -58
  166. package/build/esm/media-type-codecs/media-type-decoders.js.map +0 -1
  167. package/build/esm/media-type-codecs/media-type-encoder.d.ts +0 -12
  168. package/build/esm/media-type-codecs/media-type-encoder.js +0 -24
  169. package/build/esm/media-type-codecs/media-type-encoder.js.map +0 -1
  170. package/build/esm/media-type-codecs/media-type-encoders.d.ts +0 -18
  171. package/build/esm/media-type-codecs/media-type-encoders.js +0 -60
  172. package/build/esm/media-type-codecs/media-type-encoders.js.map +0 -1
  173. package/build/esm/media-type-codecs/www-form-url-encoder.d.ts +0 -59
  174. package/build/esm/media-type-codecs/www-form-url-encoder.js +0 -192
  175. package/build/esm/media-type-codecs/www-form-url-encoder.js.map +0 -1
  176. package/build/esm/media-type.js.map +0 -1
  177. package/build/esm/problem.d.ts +0 -31
  178. package/build/esm/problem.js +0 -169
  179. package/build/esm/problem.js.map +0 -1
  180. package/build/esm/request-factory.d.ts +0 -44
  181. package/build/esm/request-factory.js.map +0 -1
  182. package/build/esm/result-response.js.map +0 -1
  183. package/build/esm/sunday-error.d.ts +0 -11
  184. package/build/esm/sunday-error.js +0 -42
  185. package/build/esm/sunday-error.js.map +0 -1
  186. package/build/esm/url-template.js.map +0 -1
  187. package/build/esm/util/any.js.map +0 -1
  188. package/build/esm/util/base64.d.ts +0 -5
  189. package/build/esm/util/base64.js +0 -77
  190. package/build/esm/util/base64.js.map +0 -1
  191. package/build/esm/util/error.js +0 -26
  192. package/build/esm/util/error.js.map +0 -1
  193. package/build/esm/util/hex.d.ts +0 -4
  194. package/build/esm/util/hex.js +0 -32
  195. package/build/esm/util/hex.js.map +0 -1
  196. package/build/esm/util/rxjs.d.ts +0 -5
  197. package/build/esm/util/rxjs.js +0 -31
  198. package/build/esm/util/rxjs.js.map +0 -1
  199. package/build/esm/util/stream-rxjs.d.ts +0 -2
  200. package/build/esm/util/stream-rxjs.js +0 -50
  201. package/build/esm/util/stream-rxjs.js.map +0 -1
  202. package/build/esm/util/temporal.d.ts +0 -2
  203. package/build/esm/util/temporal.js.map +0 -1
  204. package/build/esnext/any-type.d.ts +0 -4
  205. package/build/esnext/any-type.js +0 -15
  206. package/build/esnext/any-type.js.map +0 -1
  207. package/build/esnext/class-type.d.ts +0 -2
  208. package/build/esnext/class-type.js +0 -15
  209. package/build/esnext/class-type.js.map +0 -1
  210. package/build/esnext/date-time-types.d.ts +0 -2
  211. package/build/esnext/date-time-types.js +0 -16
  212. package/build/esnext/date-time-types.js.map +0 -1
  213. package/build/esnext/event-parser.d.ts +0 -17
  214. package/build/esnext/event-parser.js +0 -153
  215. package/build/esnext/event-parser.js.map +0 -1
  216. package/build/esnext/fetch-event-source.d.ts +0 -58
  217. package/build/esnext/fetch-event-source.js +0 -290
  218. package/build/esnext/fetch-event-source.js.map +0 -1
  219. package/build/esnext/fetch-request-factory.js +0 -190
  220. package/build/esnext/fetch-request-factory.js.map +0 -1
  221. package/build/esnext/fetch.d.ts +0 -7
  222. package/build/esnext/fetch.js +0 -103
  223. package/build/esnext/fetch.js.map +0 -1
  224. package/build/esnext/header-parameters.d.ts +0 -3
  225. package/build/esnext/header-parameters.js.map +0 -1
  226. package/build/esnext/index.d.ts +0 -26
  227. package/build/esnext/index.js +0 -40
  228. package/build/esnext/index.js.map +0 -1
  229. package/build/esnext/logger.d.ts +0 -8
  230. package/build/esnext/logger.js +0 -15
  231. package/build/esnext/logger.js.map +0 -1
  232. package/build/esnext/media-type-codecs/any-text-decoder.d.ts +0 -7
  233. package/build/esnext/media-type-codecs/any-text-decoder.js +0 -40
  234. package/build/esnext/media-type-codecs/any-text-decoder.js.map +0 -1
  235. package/build/esnext/media-type-codecs/any-text-encoder.d.ts +0 -5
  236. package/build/esnext/media-type-codecs/any-text-encoder.js +0 -23
  237. package/build/esnext/media-type-codecs/any-text-encoder.js.map +0 -1
  238. package/build/esnext/media-type-codecs/binary-decoder.d.ts +0 -6
  239. package/build/esnext/media-type-codecs/binary-decoder.js +0 -40
  240. package/build/esnext/media-type-codecs/binary-decoder.js.map +0 -1
  241. package/build/esnext/media-type-codecs/binary-encoder.d.ts +0 -5
  242. package/build/esnext/media-type-codecs/binary-encoder.js.map +0 -1
  243. package/build/esnext/media-type-codecs/cbor-decoder.d.ts +0 -39
  244. package/build/esnext/media-type-codecs/cbor-decoder.js +0 -437
  245. package/build/esnext/media-type-codecs/cbor-decoder.js.map +0 -1
  246. package/build/esnext/media-type-codecs/cbor-encoder.d.ts +0 -43
  247. package/build/esnext/media-type-codecs/cbor-encoder.js +0 -236
  248. package/build/esnext/media-type-codecs/cbor-encoder.js.map +0 -1
  249. package/build/esnext/media-type-codecs/cbor-tags.d.ts +0 -4
  250. package/build/esnext/media-type-codecs/cbor-tags.js.map +0 -1
  251. package/build/esnext/media-type-codecs/json-decoder.d.ts +0 -39
  252. package/build/esnext/media-type-codecs/json-decoder.js +0 -391
  253. package/build/esnext/media-type-codecs/json-decoder.js.map +0 -1
  254. package/build/esnext/media-type-codecs/json-encoder.d.ts +0 -44
  255. package/build/esnext/media-type-codecs/json-encoder.js +0 -273
  256. package/build/esnext/media-type-codecs/json-encoder.js.map +0 -1
  257. package/build/esnext/media-type-codecs/media-type-decoder.d.ts +0 -11
  258. package/build/esnext/media-type-codecs/media-type-decoder.js +0 -19
  259. package/build/esnext/media-type-codecs/media-type-decoder.js.map +0 -1
  260. package/build/esnext/media-type-codecs/media-type-decoders.d.ts +0 -18
  261. package/build/esnext/media-type-codecs/media-type-decoders.js +0 -58
  262. package/build/esnext/media-type-codecs/media-type-decoders.js.map +0 -1
  263. package/build/esnext/media-type-codecs/media-type-encoder.d.ts +0 -12
  264. package/build/esnext/media-type-codecs/media-type-encoder.js.map +0 -1
  265. package/build/esnext/media-type-codecs/media-type-encoders.js +0 -60
  266. package/build/esnext/media-type-codecs/media-type-encoders.js.map +0 -1
  267. package/build/esnext/media-type-codecs/www-form-url-encoder.d.ts +0 -59
  268. package/build/esnext/media-type-codecs/www-form-url-encoder.js +0 -192
  269. package/build/esnext/media-type-codecs/www-form-url-encoder.js.map +0 -1
  270. package/build/esnext/media-type.d.ts +0 -94
  271. package/build/esnext/media-type.js +0 -305
  272. package/build/esnext/media-type.js.map +0 -1
  273. package/build/esnext/problem.d.ts +0 -31
  274. package/build/esnext/problem.js +0 -169
  275. package/build/esnext/problem.js.map +0 -1
  276. package/build/esnext/request-factory.d.ts +0 -44
  277. package/build/esnext/request-factory.js +0 -15
  278. package/build/esnext/request-factory.js.map +0 -1
  279. package/build/esnext/result-response.d.ts +0 -4
  280. package/build/esnext/result-response.js +0 -15
  281. package/build/esnext/result-response.js.map +0 -1
  282. package/build/esnext/sunday-error.js +0 -42
  283. package/build/esnext/sunday-error.js.map +0 -1
  284. package/build/esnext/url-template.d.ts +0 -6
  285. package/build/esnext/url-template.js +0 -31
  286. package/build/esnext/url-template.js.map +0 -1
  287. package/build/esnext/util/any.d.ts +0 -2
  288. package/build/esnext/util/any.js +0 -24
  289. package/build/esnext/util/any.js.map +0 -1
  290. package/build/esnext/util/base64.d.ts +0 -5
  291. package/build/esnext/util/base64.js +0 -77
  292. package/build/esnext/util/base64.js.map +0 -1
  293. package/build/esnext/util/error.d.ts +0 -2
  294. package/build/esnext/util/error.js +0 -26
  295. package/build/esnext/util/error.js.map +0 -1
  296. package/build/esnext/util/hex.d.ts +0 -4
  297. package/build/esnext/util/hex.js +0 -32
  298. package/build/esnext/util/hex.js.map +0 -1
  299. package/build/esnext/util/rxjs.d.ts +0 -5
  300. package/build/esnext/util/rxjs.js +0 -31
  301. package/build/esnext/util/rxjs.js.map +0 -1
  302. package/build/esnext/util/stream-rxjs.d.ts +0 -2
  303. package/build/esnext/util/stream-rxjs.js +0 -50
  304. package/build/esnext/util/stream-rxjs.js.map +0 -1
  305. package/build/esnext/util/temporal.d.ts +0 -2
  306. package/build/esnext/util/temporal.js +0 -31
  307. package/build/esnext/util/temporal.js.map +0 -1
  308. package/build/main/any-type.d.ts +0 -4
  309. package/build/main/any-type.js +0 -16
  310. package/build/main/any-type.js.map +0 -1
  311. package/build/main/class-type.d.ts +0 -2
  312. package/build/main/class-type.js +0 -16
  313. package/build/main/class-type.js.map +0 -1
  314. package/build/main/date-time-types.d.ts +0 -2
  315. package/build/main/date-time-types.js +0 -27
  316. package/build/main/date-time-types.js.map +0 -1
  317. package/build/main/event-parser.d.ts +0 -17
  318. package/build/main/event-parser.js +0 -157
  319. package/build/main/event-parser.js.map +0 -1
  320. package/build/main/fetch-event-source.d.ts +0 -58
  321. package/build/main/fetch-event-source.js +0 -294
  322. package/build/main/fetch-event-source.js.map +0 -1
  323. package/build/main/fetch-request-factory.d.ts +0 -34
  324. package/build/main/fetch-request-factory.js +0 -194
  325. package/build/main/fetch-request-factory.js.map +0 -1
  326. package/build/main/fetch.d.ts +0 -7
  327. package/build/main/fetch.js +0 -107
  328. package/build/main/fetch.js.map +0 -1
  329. package/build/main/header-parameters.d.ts +0 -3
  330. package/build/main/header-parameters.js +0 -56
  331. package/build/main/header-parameters.js.map +0 -1
  332. package/build/main/index.d.ts +0 -26
  333. package/build/main/index.js +0 -52
  334. package/build/main/index.js.map +0 -1
  335. package/build/main/logger.js +0 -16
  336. package/build/main/logger.js.map +0 -1
  337. package/build/main/media-type-codecs/any-text-decoder.d.ts +0 -7
  338. package/build/main/media-type-codecs/any-text-decoder.js +0 -44
  339. package/build/main/media-type-codecs/any-text-decoder.js.map +0 -1
  340. package/build/main/media-type-codecs/any-text-encoder.d.ts +0 -5
  341. package/build/main/media-type-codecs/any-text-encoder.js +0 -27
  342. package/build/main/media-type-codecs/any-text-encoder.js.map +0 -1
  343. package/build/main/media-type-codecs/binary-decoder.d.ts +0 -6
  344. package/build/main/media-type-codecs/binary-decoder.js +0 -44
  345. package/build/main/media-type-codecs/binary-decoder.js.map +0 -1
  346. package/build/main/media-type-codecs/binary-encoder.d.ts +0 -5
  347. package/build/main/media-type-codecs/binary-encoder.js +0 -30
  348. package/build/main/media-type-codecs/binary-encoder.js.map +0 -1
  349. package/build/main/media-type-codecs/cbor-decoder.d.ts +0 -39
  350. package/build/main/media-type-codecs/cbor-decoder.js +0 -441
  351. package/build/main/media-type-codecs/cbor-decoder.js.map +0 -1
  352. package/build/main/media-type-codecs/cbor-encoder.d.ts +0 -43
  353. package/build/main/media-type-codecs/cbor-encoder.js +0 -240
  354. package/build/main/media-type-codecs/cbor-encoder.js.map +0 -1
  355. package/build/main/media-type-codecs/cbor-tags.d.ts +0 -4
  356. package/build/main/media-type-codecs/cbor-tags.js +0 -21
  357. package/build/main/media-type-codecs/cbor-tags.js.map +0 -1
  358. package/build/main/media-type-codecs/json-decoder.d.ts +0 -39
  359. package/build/main/media-type-codecs/json-decoder.js +0 -395
  360. package/build/main/media-type-codecs/json-decoder.js.map +0 -1
  361. package/build/main/media-type-codecs/json-encoder.d.ts +0 -44
  362. package/build/main/media-type-codecs/json-encoder.js +0 -277
  363. package/build/main/media-type-codecs/json-encoder.js.map +0 -1
  364. package/build/main/media-type-codecs/media-type-decoder.d.ts +0 -11
  365. package/build/main/media-type-codecs/media-type-decoder.js +0 -23
  366. package/build/main/media-type-codecs/media-type-decoder.js.map +0 -1
  367. package/build/main/media-type-codecs/media-type-decoders.js +0 -62
  368. package/build/main/media-type-codecs/media-type-decoders.js.map +0 -1
  369. package/build/main/media-type-codecs/media-type-encoder.js +0 -29
  370. package/build/main/media-type-codecs/media-type-encoder.js.map +0 -1
  371. package/build/main/media-type-codecs/media-type-encoders.d.ts +0 -18
  372. package/build/main/media-type-codecs/media-type-encoders.js +0 -64
  373. package/build/main/media-type-codecs/media-type-encoders.js.map +0 -1
  374. package/build/main/media-type-codecs/www-form-url-encoder.d.ts +0 -59
  375. package/build/main/media-type-codecs/www-form-url-encoder.js +0 -196
  376. package/build/main/media-type-codecs/www-form-url-encoder.js.map +0 -1
  377. package/build/main/media-type.d.ts +0 -94
  378. package/build/main/media-type.js +0 -309
  379. package/build/main/media-type.js.map +0 -1
  380. package/build/main/problem.d.ts +0 -31
  381. package/build/main/problem.js +0 -172
  382. package/build/main/problem.js.map +0 -1
  383. package/build/main/request-factory.d.ts +0 -44
  384. package/build/main/request-factory.js +0 -16
  385. package/build/main/request-factory.js.map +0 -1
  386. package/build/main/result-response.d.ts +0 -4
  387. package/build/main/result-response.js +0 -16
  388. package/build/main/result-response.js.map +0 -1
  389. package/build/main/sunday-error.d.ts +0 -11
  390. package/build/main/sunday-error.js +0 -46
  391. package/build/main/sunday-error.js.map +0 -1
  392. package/build/main/url-template.d.ts +0 -6
  393. package/build/main/url-template.js +0 -35
  394. package/build/main/url-template.js.map +0 -1
  395. package/build/main/util/any.d.ts +0 -2
  396. package/build/main/util/any.js +0 -29
  397. package/build/main/util/any.js.map +0 -1
  398. package/build/main/util/base64.d.ts +0 -5
  399. package/build/main/util/base64.js +0 -80
  400. package/build/main/util/base64.js.map +0 -1
  401. package/build/main/util/error.d.ts +0 -2
  402. package/build/main/util/error.js +0 -31
  403. package/build/main/util/error.js.map +0 -1
  404. package/build/main/util/hex.d.ts +0 -4
  405. package/build/main/util/hex.js +0 -35
  406. package/build/main/util/hex.js.map +0 -1
  407. package/build/main/util/rxjs.d.ts +0 -5
  408. package/build/main/util/rxjs.js +0 -36
  409. package/build/main/util/rxjs.js.map +0 -1
  410. package/build/main/util/stream-rxjs.d.ts +0 -2
  411. package/build/main/util/stream-rxjs.js +0 -54
  412. package/build/main/util/stream-rxjs.js.map +0 -1
  413. package/build/main/util/temporal.d.ts +0 -2
  414. package/build/main/util/temporal.js +0 -36
  415. package/build/main/util/temporal.js.map +0 -1
  416. /package/build/{esm/header-parameters.d.ts → header-parameters.d.ts} +0 -0
  417. /package/build/{esm/media-type.d.ts → media-type.d.ts} +0 -0
  418. /package/build/{esm/request-factory.js → request-factory.js} +0 -0
  419. /package/build/{esm/result-response.d.ts → result-response.d.ts} +0 -0
  420. /package/build/{esm/result-response.js → result-response.js} +0 -0
  421. /package/build/{esm/url-template.d.ts → url-template.d.ts} +0 -0
  422. /package/build/{esm/util/error.d.ts → util/errors.d.ts} +0 -0
  423. /package/build/{esm/util/any.d.ts → util/unknowns.d.ts} +0 -0
@@ -1,17 +1,15 @@
1
- import { MediaType } from '../media-type';
2
- import { MediaTypeDecoder } from './media-type-decoder';
1
+ import { MediaType } from '../media-type.js';
2
+ import { MediaTypeDecoder } from './media-type-decoder.js';
3
3
  export interface MediaTypeDecodersBuilder {
4
4
  addDefaults(): MediaTypeDecodersBuilder;
5
5
  add(mediaType: MediaType, decoder: MediaTypeDecoder): MediaTypeDecodersBuilder;
6
6
  build(): MediaTypeDecoders;
7
7
  }
8
- export interface MediaTypeDecodersBuilderConstructor {
9
- new (): MediaTypeDecodersBuilder;
10
- }
8
+ export type MediaTypeDecodersBuilderConstructor = new () => MediaTypeDecodersBuilder;
11
9
  export declare class MediaTypeDecoders {
12
- private decoders;
13
- static Builder: MediaTypeDecodersBuilderConstructor;
14
- static DEFAULT: MediaTypeDecoders;
10
+ private readonly decoders;
11
+ static readonly Builder: MediaTypeDecodersBuilderConstructor;
12
+ static readonly DEFAULT: MediaTypeDecoders;
15
13
  constructor(decoders: Map<MediaType, MediaTypeDecoder>);
16
14
  supports(mediaType: MediaType): boolean;
17
15
  find(mediaType: MediaType): MediaTypeDecoder;
@@ -0,0 +1,63 @@
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 { AnyTextDecoder } from './any-text-decoder.js';
15
+ import { BinaryDecoder } from './binary-decoder.js';
16
+ import { CBORDecoder } from './cbor-decoder.js';
17
+ import { JSONDecoder } from './json-decoder.js';
18
+ import { MediaType } from '../media-type.js';
19
+ export class MediaTypeDecoders {
20
+ decoders;
21
+ static Builder = class Builder {
22
+ decoders = new Map();
23
+ add(mediaType, decoder) {
24
+ this.decoders.set(mediaType, decoder);
25
+ return this;
26
+ }
27
+ addDefaults() {
28
+ return this.add(MediaType.OctetStream, BinaryDecoder.default)
29
+ .add(MediaType.JSON, JSONDecoder.default)
30
+ .add(MediaType.CBOR, CBORDecoder.default)
31
+ .add(MediaType.EventStream, BinaryDecoder.default)
32
+ .add(MediaType.AnyText, AnyTextDecoder.default)
33
+ .add(MediaType.X509CACert, BinaryDecoder.default)
34
+ .add(MediaType.X509UserCert, BinaryDecoder.default);
35
+ }
36
+ build() {
37
+ return new MediaTypeDecoders(this.decoders);
38
+ }
39
+ };
40
+ static DEFAULT = new MediaTypeDecoders.Builder()
41
+ .addDefaults()
42
+ .build();
43
+ constructor(decoders) {
44
+ this.decoders = decoders;
45
+ }
46
+ supports(mediaType) {
47
+ for (const key of this.decoders.keys()) {
48
+ if (key.compatible(mediaType)) {
49
+ return true;
50
+ }
51
+ }
52
+ return false;
53
+ }
54
+ find(mediaType) {
55
+ for (const [type, decoder] of this.decoders.entries()) {
56
+ if (type.compatible(mediaType)) {
57
+ return decoder;
58
+ }
59
+ }
60
+ throw new Error(`Unsupported media type - ${mediaType}`);
61
+ }
62
+ }
63
+ //# 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,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAe7C,MAAM,OAAO,iBAAiB;IAiCC;IAhC7B,MAAM,CAAU,OAAO,GAAwC,MAAM,OAAO;QAG1E,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;QAElD,GAAG,CACD,SAAoB,EACpB,OAAyB;YAEzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,WAAW;YACT,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC;iBAC1D,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;iBACxC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;iBACxC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC;iBACjD,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC;iBAC9C,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC;iBAChD,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC;QAED,KAAK;YACH,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;KACF,CAAC;IAEF,MAAM,CAAU,OAAO,GAAsB,IAAI,iBAAiB,CAAC,OAAO,EAAE;SACzE,WAAW,EAAE;SACb,KAAK,EAAE,CAAC;IAEX,YAA6B,QAA0C;QAA1C,aAAQ,GAAR,QAAQ,CAAkC;IAAG,CAAC;IAE3E,QAAQ,CAAC,SAAoB;QAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACvC,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,SAAoB;QACvB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;IAC3D,CAAC"}
@@ -1,12 +1,12 @@
1
- import { AnyType } from '../any-type';
1
+ import { SchemaLike } from '../schema-runtime.js';
2
2
  export interface MediaTypeEncoder {
3
- encode<T = unknown>(value: T, type: AnyType | undefined): BodyInit;
3
+ encode<T>(value: T, type?: SchemaLike<T>): BodyInit;
4
4
  }
5
5
  export interface URLQueryParamsEncoder extends MediaTypeEncoder {
6
6
  encodeQueryString(value: Record<string, unknown>): string;
7
7
  }
8
8
  export declare function isURLQueryParamsEncoder(encoder: MediaTypeEncoder | URLQueryParamsEncoder | undefined): encoder is URLQueryParamsEncoder;
9
9
  export interface StructuredMediaTypeEncoder extends MediaTypeEncoder {
10
- encodeObject<T = unknown>(value: T, type?: AnyType, includeNulls?: boolean): Record<string, unknown>;
10
+ encodeObject<T>(value: T, type?: SchemaLike<T>): Record<string, unknown>;
11
11
  }
12
12
  export declare function isStructuredMediaTypeEncoder(encoder: MediaTypeEncoder | StructuredMediaTypeEncoder | undefined): encoder is StructuredMediaTypeEncoder;
@@ -12,13 +12,11 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
  export function isURLQueryParamsEncoder(encoder) {
15
- var _a;
16
15
  const rec = encoder;
17
- return (_a = !!rec.encodeQueryString) !== null && _a !== void 0 ? _a : false;
16
+ return typeof rec.encodeQueryString === 'function';
18
17
  }
19
18
  export function isStructuredMediaTypeEncoder(encoder) {
20
- var _a;
21
19
  const rec = encoder;
22
- return (_a = !!rec.encodeObject) !== null && _a !== void 0 ? _a : false;
20
+ return typeof rec.encodeObject === 'function';
23
21
  }
24
22
  //# 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,MAAM,UAAU,uBAAuB,CACrC,OAA6D;IAE7D,MAAM,GAAG,GAAG,OAA6C,CAAC;IAC1D,OAAO,OAAO,GAAG,CAAC,iBAAiB,KAAK,UAAU,CAAC;AACrD,CAAC;AASD,MAAM,UAAU,4BAA4B,CAC1C,OAAkE;IAElE,MAAM,GAAG,GAAG,OAA6C,CAAC;IAC1D,OAAO,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU,CAAC;AAChD,CAAC"}
@@ -1,17 +1,15 @@
1
- import { MediaType } from '../media-type';
2
- import { MediaTypeEncoder } from './media-type-encoder';
1
+ import { MediaType } from '../media-type.js';
2
+ import { MediaTypeEncoder } from './media-type-encoder.js';
3
3
  export interface MediaTypeEncodersBuilder {
4
4
  addDefaults(): MediaTypeEncodersBuilder;
5
5
  add(mediaType: MediaType, encoder: MediaTypeEncoder): MediaTypeEncodersBuilder;
6
6
  build(): MediaTypeEncoders;
7
7
  }
8
- export interface MediaTypeEncodersBuilderConstructor {
9
- new (): MediaTypeEncodersBuilder;
10
- }
8
+ export type MediaTypeEncodersBuilderConstructor = new () => MediaTypeEncodersBuilder;
11
9
  export declare class MediaTypeEncoders {
12
- private encoders;
13
- static Builder: MediaTypeEncodersBuilderConstructor;
14
- static DEFAULT: MediaTypeEncoders;
10
+ private readonly encoders;
11
+ static readonly Builder: MediaTypeEncodersBuilderConstructor;
12
+ static readonly DEFAULT: MediaTypeEncoders;
15
13
  constructor(encoders: Map<MediaType, MediaTypeEncoder>);
16
14
  supports(mediaType: MediaType): boolean;
17
15
  find(mediaType: MediaType): MediaTypeEncoder;
@@ -0,0 +1,65 @@
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 { MediaType } from '../media-type.js';
15
+ import { AnyTextEncoder } from './any-text-encoder.js';
16
+ import { BinaryEncoder } from './binary-encoder.js';
17
+ import { CBOREncoder } from './cbor-encoder.js';
18
+ import { JSONEncoder } from './json-encoder.js';
19
+ import { WWWFormUrlEncoder } from './www-form-url-encoder.js';
20
+ export class MediaTypeEncoders {
21
+ encoders;
22
+ static Builder = class Builder {
23
+ encoders = new Map();
24
+ add(mediaType, encoder) {
25
+ this.encoders.set(mediaType, encoder);
26
+ return this;
27
+ }
28
+ addDefaults() {
29
+ return this.add(MediaType.OctetStream, BinaryEncoder.default)
30
+ .add(MediaType.WWWFormUrlEncoded, WWWFormUrlEncoder.default)
31
+ .add(MediaType.JSON, JSONEncoder.default)
32
+ .add(MediaType.JSONStructured, JSONEncoder.default)
33
+ .add(MediaType.CBOR, CBOREncoder.default)
34
+ .add(MediaType.AnyText, AnyTextEncoder.default)
35
+ .add(MediaType.X509CACert, BinaryEncoder.default)
36
+ .add(MediaType.X509UserCert, BinaryEncoder.default);
37
+ }
38
+ build() {
39
+ return new MediaTypeEncoders(this.encoders);
40
+ }
41
+ };
42
+ static DEFAULT = new MediaTypeEncoders.Builder()
43
+ .addDefaults()
44
+ .build();
45
+ constructor(encoders) {
46
+ this.encoders = encoders;
47
+ }
48
+ supports(mediaType) {
49
+ for (const key of this.encoders.keys()) {
50
+ if (key.compatible(mediaType)) {
51
+ return true;
52
+ }
53
+ }
54
+ return false;
55
+ }
56
+ find(mediaType) {
57
+ for (const [type, encoder] of this.encoders.entries()) {
58
+ if (type.compatible(mediaType)) {
59
+ return encoder;
60
+ }
61
+ }
62
+ throw new Error(`Unsupported media type - ${mediaType}`);
63
+ }
64
+ }
65
+ //# 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,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAc9D,MAAM,OAAO,iBAAiB;IAkCC;IAjC7B,MAAM,CAAU,OAAO,GAAwC,MAAM,OAAO;QAG1E,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;QAElD,GAAG,CACD,SAAoB,EACpB,OAAyB;YAEzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,WAAW;YACT,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC;iBAC1D,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,CAAC;iBAC3D,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;iBACxC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,OAAO,CAAC;iBAClD,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;iBACxC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC;iBAC9C,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC;iBAChD,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC;QAED,KAAK;YACH,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;KACF,CAAC;IAEF,MAAM,CAAU,OAAO,GAAsB,IAAI,iBAAiB,CAAC,OAAO,EAAE;SACzE,WAAW,EAAE;SACb,KAAK,EAAE,CAAC;IAEX,YAA6B,QAA0C;QAA1C,aAAQ,GAAR,QAAQ,CAAkC;IAAG,CAAC;IAE3E,QAAQ,CAAC,SAAoB;QAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACvC,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,SAAoB;QACvB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;IAC3D,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { SchemaLike, SchemaRuntime } from '../schema-runtime.js';
2
+ import { URLQueryParamsEncoder } from './media-type-encoder.js';
3
+ export declare class WWWFormUrlEncoder implements URLQueryParamsEncoder {
4
+ private readonly arrayEncoding;
5
+ private readonly boolEncoding;
6
+ private readonly dateEncoding;
7
+ private readonly encoder;
8
+ static get default(): WWWFormUrlEncoder;
9
+ runtime: SchemaRuntime;
10
+ constructor(arrayEncoding: WWWFormUrlEncoder.ArrayEncoding, boolEncoding: WWWFormUrlEncoder.BoolEncoding, dateEncoding: WWWFormUrlEncoder.DateEncoding, encoder?: TextEncoder);
11
+ encode<T = unknown>(value: T, type?: SchemaLike<T>): BodyInit;
12
+ encodeQueryString(parameters: Record<string, unknown>): string;
13
+ encodeQueryComponent(key: string, value: unknown): string[];
14
+ private encodeMapQueryComponent;
15
+ private encodeIterableQueryComponent;
16
+ }
17
+ export declare namespace WWWFormUrlEncoder {
18
+ enum ArrayEncoding {
19
+ UNBRACKETED = 0,
20
+ BRACKETED = 1
21
+ }
22
+ enum BoolEncoding {
23
+ LITERAL = 0,
24
+ NUMERIC = 1
25
+ }
26
+ enum DateEncoding {
27
+ DECIMAL_SECONDS_SINCE_EPOCH = 0,
28
+ MILLISECONDS_SINCE_EPOCH = 1,
29
+ ISO8601 = 2
30
+ }
31
+ }
@@ -0,0 +1,281 @@
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, Duration, Instant, LocalDate, LocalDateTime, LocalTime, OffsetDateTime, OffsetTime, Period, Temporal, TemporalAmount, ZoneId, ZoneOffset, ZonedDateTime, } from '@js-joda/core';
15
+ import { z } from 'zod';
16
+ import { ArrayBufferEncoding, createSchemaRuntime, NumericDateDecoding, } from '../schema-runtime.js';
17
+ import { appendNumericTimeFields, secondsToNumber } from '../util/numbers.js';
18
+ const FORM_OBJECT_SCHEMA = z.record(z.string(), z.unknown());
19
+ export class WWWFormUrlEncoder {
20
+ arrayEncoding;
21
+ boolEncoding;
22
+ dateEncoding;
23
+ encoder;
24
+ static get default() {
25
+ return new WWWFormUrlEncoder(WWWFormUrlEncoder.ArrayEncoding.UNBRACKETED, WWWFormUrlEncoder.BoolEncoding.LITERAL, WWWFormUrlEncoder.DateEncoding.DECIMAL_SECONDS_SINCE_EPOCH);
26
+ }
27
+ runtime;
28
+ constructor(arrayEncoding, boolEncoding, dateEncoding, encoder = new TextEncoder()) {
29
+ this.arrayEncoding = arrayEncoding;
30
+ this.boolEncoding = boolEncoding;
31
+ this.dateEncoding = dateEncoding;
32
+ this.encoder = encoder;
33
+ this.runtime = createSchemaRuntime({
34
+ format: 'json',
35
+ dateEncoding: this.dateEncoding,
36
+ numericDateDecoding: NumericDateDecoding.DECIMAL_SECONDS_SINCE_EPOCH,
37
+ arrayBufferEncoding: ArrayBufferEncoding.BASE64,
38
+ });
39
+ }
40
+ encode(value, type) {
41
+ const parameters = type
42
+ ? this.runtime.resolveSchema(type).encode(value)
43
+ : value;
44
+ return this.encoder.encode(this.encodeQueryString(FORM_OBJECT_SCHEMA.parse(parameters)));
45
+ }
46
+ encodeQueryString(parameters) {
47
+ const components = [];
48
+ for (const [key, value] of Object.entries(parameters).sort(compareEntryKeys)) {
49
+ components.push(...this.encodeQueryComponent(key, value));
50
+ }
51
+ return components.join('&');
52
+ }
53
+ encodeQueryComponent(key, value) {
54
+ const components = [];
55
+ if (value === undefined) {
56
+ return components;
57
+ }
58
+ if (value == null) {
59
+ //
60
+ components.push(encodeURIComponent(key));
61
+ }
62
+ else if (Array.isArray(value) || value instanceof Set) {
63
+ //
64
+ components.push(...this.encodeIterableQueryComponent(key, value));
65
+ }
66
+ else if (value instanceof Map) {
67
+ //
68
+ components.push(...this.encodeMapQueryComponent(key, value));
69
+ }
70
+ else if (value instanceof Date) {
71
+ //
72
+ components.push(encodeURIComponent(key) +
73
+ '=' +
74
+ encodeURIComponent(encodeInstant(Instant.ofEpochMilli(value.getTime()), this.dateEncoding)));
75
+ }
76
+ else if (value instanceof Temporal) {
77
+ //
78
+ components.push(encodeURIComponent(key) + '=' +
79
+ encodeURIComponent(encodeTemporal(value, this.dateEncoding)));
80
+ }
81
+ else if (value instanceof TemporalAmount) {
82
+ components.push(encodeURIComponent(key) + '=' +
83
+ encodeURIComponent(encodeTemporalAmount(value, this.dateEncoding)));
84
+ }
85
+ else if (typeof value === 'boolean') {
86
+ //
87
+ components.push(encodeURIComponent(key) +
88
+ '=' +
89
+ encodeURIComponent(encodeBool(value, this.boolEncoding)));
90
+ }
91
+ else if (value instanceof URL) {
92
+ //
93
+ components.push(encodeURIComponent(key) + '=' + encodeURIComponent(value.toString()));
94
+ }
95
+ else if (value instanceof ZoneId || value instanceof ZoneOffset) {
96
+ //
97
+ components.push(encodeURIComponent(key) + '=' + encodeURIComponent(value.toString()));
98
+ }
99
+ else if (value instanceof ArrayBuffer) {
100
+ //
101
+ throw new TypeError('Encoding ArrayBuffer to form data is not supported');
102
+ }
103
+ else if (typeof value === 'object') {
104
+ //
105
+ for (const [nestedKey, nestedValue] of Object.entries(value).sort(compareEntryKeys)) {
106
+ components.push(...this.encodeQueryComponent(`${key}[${nestedKey}]`, nestedValue));
107
+ }
108
+ }
109
+ else if (isStringInterpolable(value)) {
110
+ //
111
+ components.push(encodeURIComponent(key) + '=' + encodeURIComponent(`${value}`));
112
+ }
113
+ else {
114
+ throw new TypeError(`Unsupported value type: ${typeof value}`);
115
+ }
116
+ return components;
117
+ }
118
+ encodeMapQueryComponent(key, value) {
119
+ const components = [];
120
+ const entries = Array.from(value.entries()).sort(compareEntryKeys);
121
+ for (const [nestedKey, nestedValue] of entries) {
122
+ components.push(...this.encodeQueryComponent(`${key}[${nestedKey}]`, nestedValue));
123
+ }
124
+ return components;
125
+ }
126
+ encodeIterableQueryComponent(key, value) {
127
+ const components = [];
128
+ for (const item of value) {
129
+ components.push(...this.encodeQueryComponent(encodeArrayKey(key, this.arrayEncoding), item));
130
+ }
131
+ return components;
132
+ }
133
+ }
134
+ function encodeInstant(instant, dateEncoding) {
135
+ switch (dateEncoding) {
136
+ case WWWFormUrlEncoder.DateEncoding.ISO8601:
137
+ return DateTimeFormatter.ISO_INSTANT.format(instant);
138
+ case WWWFormUrlEncoder.DateEncoding.MILLISECONDS_SINCE_EPOCH:
139
+ return `${instant.toEpochMilli()}`;
140
+ case WWWFormUrlEncoder.DateEncoding.DECIMAL_SECONDS_SINCE_EPOCH:
141
+ return `${secondsToNumber(instant.epochSecond(), instant.nano())}`;
142
+ }
143
+ }
144
+ function encodeLocalDateTime(temporal, dateEncoding) {
145
+ if (dateEncoding == WWWFormUrlEncoder.DateEncoding.ISO8601) {
146
+ return temporal.toString();
147
+ }
148
+ return JSON.stringify(appendNumericTimeFields([
149
+ temporal.year(),
150
+ temporal.monthValue(),
151
+ temporal.dayOfMonth(),
152
+ temporal.hour(),
153
+ temporal.minute(),
154
+ ], temporal.second(), numericFraction(temporal.nano(), dateEncoding)));
155
+ }
156
+ function encodeOffsetTime(temporal, dateEncoding) {
157
+ if (dateEncoding == WWWFormUrlEncoder.DateEncoding.ISO8601) {
158
+ return temporal.toString();
159
+ }
160
+ return JSON.stringify([
161
+ ...appendNumericTimeFields([temporal.hour(), temporal.minute()], temporal.second(), numericFraction(temporal.nano(), dateEncoding)),
162
+ temporal.offset().toString(),
163
+ ]);
164
+ }
165
+ function encodeLocalTime(temporal, dateEncoding) {
166
+ if (dateEncoding == WWWFormUrlEncoder.DateEncoding.ISO8601) {
167
+ return temporal.toString();
168
+ }
169
+ return JSON.stringify(appendNumericTimeFields([temporal.hour(), temporal.minute()], temporal.second(), numericFraction(temporal.nano(), dateEncoding)));
170
+ }
171
+ function encodeLocalDate(temporal, dateEncoding) {
172
+ if (dateEncoding == WWWFormUrlEncoder.DateEncoding.ISO8601) {
173
+ return temporal.toString();
174
+ }
175
+ return JSON.stringify([
176
+ temporal.year(),
177
+ temporal.monthValue(),
178
+ temporal.dayOfMonth(),
179
+ ]);
180
+ }
181
+ function encodeTemporal(temporal, dateEncoding) {
182
+ if (temporal instanceof Instant) {
183
+ return encodeInstant(temporal, dateEncoding);
184
+ }
185
+ else if (temporal instanceof ZonedDateTime) {
186
+ return encodeInstant(temporal.toInstant(), dateEncoding);
187
+ }
188
+ else if (temporal instanceof OffsetDateTime) {
189
+ return encodeInstant(temporal.toInstant(), dateEncoding);
190
+ }
191
+ else if (temporal instanceof LocalDateTime) {
192
+ return encodeLocalDateTime(temporal, dateEncoding);
193
+ }
194
+ else if (temporal instanceof OffsetTime) {
195
+ return encodeOffsetTime(temporal, dateEncoding);
196
+ }
197
+ else if (temporal instanceof LocalTime) {
198
+ return encodeLocalTime(temporal, dateEncoding);
199
+ }
200
+ else if (temporal instanceof LocalDate) {
201
+ return encodeLocalDate(temporal, dateEncoding);
202
+ }
203
+ else {
204
+ throw new TypeError(`Unsupported Temporal type: ${temporal.constructor.name}`);
205
+ }
206
+ }
207
+ function encodeDuration(duration, dateEncoding) {
208
+ switch (dateEncoding) {
209
+ case WWWFormUrlEncoder.DateEncoding.ISO8601:
210
+ return duration.toString();
211
+ case WWWFormUrlEncoder.DateEncoding.MILLISECONDS_SINCE_EPOCH:
212
+ return `${duration.toMillis()}`;
213
+ case WWWFormUrlEncoder.DateEncoding.DECIMAL_SECONDS_SINCE_EPOCH:
214
+ return `${secondsToNumber(duration.seconds(), duration.nano())}`;
215
+ }
216
+ }
217
+ function encodePeriod(period) {
218
+ return period.toString();
219
+ }
220
+ function encodeTemporalAmount(temporalAmount, dateEncoding) {
221
+ if (temporalAmount instanceof Duration) {
222
+ return encodeDuration(temporalAmount, dateEncoding);
223
+ }
224
+ else if (temporalAmount instanceof Period) {
225
+ return encodePeriod(temporalAmount);
226
+ }
227
+ else {
228
+ throw new TypeError(`Unsupported TemporalAmount type: ${temporalAmount.constructor.name}`);
229
+ }
230
+ }
231
+ function numericFraction(nanos, dateEncoding) {
232
+ switch (dateEncoding) {
233
+ case WWWFormUrlEncoder.DateEncoding.MILLISECONDS_SINCE_EPOCH:
234
+ return Math.trunc(nanos / 1_000_000);
235
+ case WWWFormUrlEncoder.DateEncoding.DECIMAL_SECONDS_SINCE_EPOCH:
236
+ case WWWFormUrlEncoder.DateEncoding.ISO8601:
237
+ return nanos;
238
+ }
239
+ }
240
+ function encodeBool(value, boolEncoding) {
241
+ switch (boolEncoding) {
242
+ case WWWFormUrlEncoder.BoolEncoding.LITERAL:
243
+ return value ? 'true' : 'false';
244
+ case WWWFormUrlEncoder.BoolEncoding.NUMERIC:
245
+ return value ? '1' : '0';
246
+ }
247
+ }
248
+ function encodeArrayKey(key, arrayEncoding) {
249
+ switch (arrayEncoding) {
250
+ case WWWFormUrlEncoder.ArrayEncoding.UNBRACKETED:
251
+ return key;
252
+ case WWWFormUrlEncoder.ArrayEncoding.BRACKETED:
253
+ return `${key}[]`;
254
+ }
255
+ }
256
+ (function (WWWFormUrlEncoder) {
257
+ let ArrayEncoding;
258
+ (function (ArrayEncoding) {
259
+ ArrayEncoding[ArrayEncoding["UNBRACKETED"] = 0] = "UNBRACKETED";
260
+ ArrayEncoding[ArrayEncoding["BRACKETED"] = 1] = "BRACKETED";
261
+ })(ArrayEncoding = WWWFormUrlEncoder.ArrayEncoding || (WWWFormUrlEncoder.ArrayEncoding = {}));
262
+ let BoolEncoding;
263
+ (function (BoolEncoding) {
264
+ BoolEncoding[BoolEncoding["LITERAL"] = 0] = "LITERAL";
265
+ BoolEncoding[BoolEncoding["NUMERIC"] = 1] = "NUMERIC";
266
+ })(BoolEncoding = WWWFormUrlEncoder.BoolEncoding || (WWWFormUrlEncoder.BoolEncoding = {}));
267
+ let DateEncoding;
268
+ (function (DateEncoding) {
269
+ DateEncoding[DateEncoding["DECIMAL_SECONDS_SINCE_EPOCH"] = 0] = "DECIMAL_SECONDS_SINCE_EPOCH";
270
+ DateEncoding[DateEncoding["MILLISECONDS_SINCE_EPOCH"] = 1] = "MILLISECONDS_SINCE_EPOCH";
271
+ DateEncoding[DateEncoding["ISO8601"] = 2] = "ISO8601";
272
+ })(DateEncoding = WWWFormUrlEncoder.DateEncoding || (WWWFormUrlEncoder.DateEncoding = {}));
273
+ })(WWWFormUrlEncoder || (WWWFormUrlEncoder = {}));
274
+ function isStringInterpolable(value) {
275
+ const type = typeof value;
276
+ return type === 'string' || type === 'number' || type === 'bigint' || type === 'boolean';
277
+ }
278
+ function compareEntryKeys(e1, e2) {
279
+ return e1[0].localeCompare(e2[0], 'und');
280
+ }
281
+ //# 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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"}