@outfoxx/sunday 1.1.0-beta.9 → 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 (421) 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/{esm/media-type-codecs → media-type-codecs}/any-text-decoder.js +9 -9
  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/{esnext/media-type-codecs → media-type-codecs}/binary-decoder.js +13 -9
  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/{esnext/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/{esm/sunday-error.js → sunday-error.js} +9 -4
  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/{esnext/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 -58
  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 -181
  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 -90
  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.map +0 -1
  140. package/build/esm/media-type-codecs/any-text-encoder.d.ts +0 -5
  141. package/build/esm/media-type-codecs/any-text-encoder.js.map +0 -1
  142. package/build/esm/media-type-codecs/binary-decoder.d.ts +0 -6
  143. package/build/esm/media-type-codecs/binary-decoder.js +0 -29
  144. package/build/esm/media-type-codecs/binary-decoder.js.map +0 -1
  145. package/build/esm/media-type-codecs/binary-encoder.d.ts +0 -5
  146. package/build/esm/media-type-codecs/binary-encoder.js +0 -26
  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 -426
  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 -380
  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 -158
  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.map +0 -1
  185. package/build/esm/url-template.js.map +0 -1
  186. package/build/esm/util/any.js.map +0 -1
  187. package/build/esm/util/base64.d.ts +0 -5
  188. package/build/esm/util/base64.js +0 -77
  189. package/build/esm/util/base64.js.map +0 -1
  190. package/build/esm/util/error.js +0 -26
  191. package/build/esm/util/error.js.map +0 -1
  192. package/build/esm/util/hex.d.ts +0 -4
  193. package/build/esm/util/hex.js +0 -32
  194. package/build/esm/util/hex.js.map +0 -1
  195. package/build/esm/util/rxjs.d.ts +0 -5
  196. package/build/esm/util/rxjs.js +0 -31
  197. package/build/esm/util/rxjs.js.map +0 -1
  198. package/build/esm/util/stream-rxjs.d.ts +0 -2
  199. package/build/esm/util/stream-rxjs.js +0 -39
  200. package/build/esm/util/stream-rxjs.js.map +0 -1
  201. package/build/esm/util/temporal.d.ts +0 -2
  202. package/build/esm/util/temporal.js +0 -31
  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 -181
  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 -90
  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 -29
  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.map +0 -1
  240. package/build/esnext/media-type-codecs/binary-encoder.d.ts +0 -5
  241. package/build/esnext/media-type-codecs/binary-encoder.js.map +0 -1
  242. package/build/esnext/media-type-codecs/cbor-decoder.d.ts +0 -39
  243. package/build/esnext/media-type-codecs/cbor-decoder.js +0 -426
  244. package/build/esnext/media-type-codecs/cbor-decoder.js.map +0 -1
  245. package/build/esnext/media-type-codecs/cbor-encoder.d.ts +0 -43
  246. package/build/esnext/media-type-codecs/cbor-encoder.js +0 -236
  247. package/build/esnext/media-type-codecs/cbor-encoder.js.map +0 -1
  248. package/build/esnext/media-type-codecs/cbor-tags.d.ts +0 -4
  249. package/build/esnext/media-type-codecs/cbor-tags.js.map +0 -1
  250. package/build/esnext/media-type-codecs/json-decoder.d.ts +0 -39
  251. package/build/esnext/media-type-codecs/json-decoder.js +0 -380
  252. package/build/esnext/media-type-codecs/json-decoder.js.map +0 -1
  253. package/build/esnext/media-type-codecs/json-encoder.d.ts +0 -44
  254. package/build/esnext/media-type-codecs/json-encoder.js +0 -273
  255. package/build/esnext/media-type-codecs/json-encoder.js.map +0 -1
  256. package/build/esnext/media-type-codecs/media-type-decoder.d.ts +0 -11
  257. package/build/esnext/media-type-codecs/media-type-decoder.js +0 -19
  258. package/build/esnext/media-type-codecs/media-type-decoder.js.map +0 -1
  259. package/build/esnext/media-type-codecs/media-type-decoders.d.ts +0 -18
  260. package/build/esnext/media-type-codecs/media-type-decoders.js +0 -58
  261. package/build/esnext/media-type-codecs/media-type-decoders.js.map +0 -1
  262. package/build/esnext/media-type-codecs/media-type-encoder.d.ts +0 -12
  263. package/build/esnext/media-type-codecs/media-type-encoder.js.map +0 -1
  264. package/build/esnext/media-type-codecs/media-type-encoders.js +0 -60
  265. package/build/esnext/media-type-codecs/media-type-encoders.js.map +0 -1
  266. package/build/esnext/media-type-codecs/www-form-url-encoder.d.ts +0 -59
  267. package/build/esnext/media-type-codecs/www-form-url-encoder.js +0 -192
  268. package/build/esnext/media-type-codecs/www-form-url-encoder.js.map +0 -1
  269. package/build/esnext/media-type.d.ts +0 -94
  270. package/build/esnext/media-type.js +0 -305
  271. package/build/esnext/media-type.js.map +0 -1
  272. package/build/esnext/problem.d.ts +0 -31
  273. package/build/esnext/problem.js +0 -158
  274. package/build/esnext/problem.js.map +0 -1
  275. package/build/esnext/request-factory.d.ts +0 -44
  276. package/build/esnext/request-factory.js +0 -15
  277. package/build/esnext/request-factory.js.map +0 -1
  278. package/build/esnext/result-response.d.ts +0 -4
  279. package/build/esnext/result-response.js +0 -15
  280. package/build/esnext/result-response.js.map +0 -1
  281. package/build/esnext/sunday-error.js +0 -31
  282. package/build/esnext/sunday-error.js.map +0 -1
  283. package/build/esnext/url-template.d.ts +0 -6
  284. package/build/esnext/url-template.js +0 -31
  285. package/build/esnext/url-template.js.map +0 -1
  286. package/build/esnext/util/any.d.ts +0 -2
  287. package/build/esnext/util/any.js +0 -24
  288. package/build/esnext/util/any.js.map +0 -1
  289. package/build/esnext/util/base64.d.ts +0 -5
  290. package/build/esnext/util/base64.js +0 -77
  291. package/build/esnext/util/base64.js.map +0 -1
  292. package/build/esnext/util/error.d.ts +0 -2
  293. package/build/esnext/util/error.js +0 -26
  294. package/build/esnext/util/error.js.map +0 -1
  295. package/build/esnext/util/hex.d.ts +0 -4
  296. package/build/esnext/util/hex.js +0 -32
  297. package/build/esnext/util/hex.js.map +0 -1
  298. package/build/esnext/util/rxjs.d.ts +0 -5
  299. package/build/esnext/util/rxjs.js +0 -31
  300. package/build/esnext/util/rxjs.js.map +0 -1
  301. package/build/esnext/util/stream-rxjs.d.ts +0 -2
  302. package/build/esnext/util/stream-rxjs.js +0 -39
  303. package/build/esnext/util/stream-rxjs.js.map +0 -1
  304. package/build/esnext/util/temporal.d.ts +0 -2
  305. package/build/esnext/util/temporal.js.map +0 -1
  306. package/build/main/any-type.d.ts +0 -4
  307. package/build/main/any-type.js +0 -16
  308. package/build/main/any-type.js.map +0 -1
  309. package/build/main/class-type.d.ts +0 -2
  310. package/build/main/class-type.js +0 -16
  311. package/build/main/class-type.js.map +0 -1
  312. package/build/main/date-time-types.d.ts +0 -2
  313. package/build/main/date-time-types.js +0 -27
  314. package/build/main/date-time-types.js.map +0 -1
  315. package/build/main/event-parser.d.ts +0 -17
  316. package/build/main/event-parser.js +0 -157
  317. package/build/main/event-parser.js.map +0 -1
  318. package/build/main/fetch-event-source.d.ts +0 -58
  319. package/build/main/fetch-event-source.js +0 -294
  320. package/build/main/fetch-event-source.js.map +0 -1
  321. package/build/main/fetch-request-factory.d.ts +0 -34
  322. package/build/main/fetch-request-factory.js +0 -185
  323. package/build/main/fetch-request-factory.js.map +0 -1
  324. package/build/main/fetch.d.ts +0 -7
  325. package/build/main/fetch.js +0 -94
  326. package/build/main/fetch.js.map +0 -1
  327. package/build/main/header-parameters.d.ts +0 -3
  328. package/build/main/header-parameters.js +0 -56
  329. package/build/main/header-parameters.js.map +0 -1
  330. package/build/main/index.d.ts +0 -26
  331. package/build/main/index.js +0 -52
  332. package/build/main/index.js.map +0 -1
  333. package/build/main/logger.js +0 -16
  334. package/build/main/logger.js.map +0 -1
  335. package/build/main/media-type-codecs/any-text-decoder.d.ts +0 -7
  336. package/build/main/media-type-codecs/any-text-decoder.js +0 -33
  337. package/build/main/media-type-codecs/any-text-decoder.js.map +0 -1
  338. package/build/main/media-type-codecs/any-text-encoder.d.ts +0 -5
  339. package/build/main/media-type-codecs/any-text-encoder.js +0 -27
  340. package/build/main/media-type-codecs/any-text-encoder.js.map +0 -1
  341. package/build/main/media-type-codecs/binary-decoder.d.ts +0 -6
  342. package/build/main/media-type-codecs/binary-decoder.js +0 -33
  343. package/build/main/media-type-codecs/binary-decoder.js.map +0 -1
  344. package/build/main/media-type-codecs/binary-encoder.d.ts +0 -5
  345. package/build/main/media-type-codecs/binary-encoder.js +0 -30
  346. package/build/main/media-type-codecs/binary-encoder.js.map +0 -1
  347. package/build/main/media-type-codecs/cbor-decoder.d.ts +0 -39
  348. package/build/main/media-type-codecs/cbor-decoder.js +0 -430
  349. package/build/main/media-type-codecs/cbor-decoder.js.map +0 -1
  350. package/build/main/media-type-codecs/cbor-encoder.d.ts +0 -43
  351. package/build/main/media-type-codecs/cbor-encoder.js +0 -240
  352. package/build/main/media-type-codecs/cbor-encoder.js.map +0 -1
  353. package/build/main/media-type-codecs/cbor-tags.d.ts +0 -4
  354. package/build/main/media-type-codecs/cbor-tags.js +0 -21
  355. package/build/main/media-type-codecs/cbor-tags.js.map +0 -1
  356. package/build/main/media-type-codecs/json-decoder.d.ts +0 -39
  357. package/build/main/media-type-codecs/json-decoder.js +0 -384
  358. package/build/main/media-type-codecs/json-decoder.js.map +0 -1
  359. package/build/main/media-type-codecs/json-encoder.d.ts +0 -44
  360. package/build/main/media-type-codecs/json-encoder.js +0 -277
  361. package/build/main/media-type-codecs/json-encoder.js.map +0 -1
  362. package/build/main/media-type-codecs/media-type-decoder.d.ts +0 -11
  363. package/build/main/media-type-codecs/media-type-decoder.js +0 -23
  364. package/build/main/media-type-codecs/media-type-decoder.js.map +0 -1
  365. package/build/main/media-type-codecs/media-type-decoders.js +0 -62
  366. package/build/main/media-type-codecs/media-type-decoders.js.map +0 -1
  367. package/build/main/media-type-codecs/media-type-encoder.js +0 -29
  368. package/build/main/media-type-codecs/media-type-encoder.js.map +0 -1
  369. package/build/main/media-type-codecs/media-type-encoders.d.ts +0 -18
  370. package/build/main/media-type-codecs/media-type-encoders.js +0 -64
  371. package/build/main/media-type-codecs/media-type-encoders.js.map +0 -1
  372. package/build/main/media-type-codecs/www-form-url-encoder.d.ts +0 -59
  373. package/build/main/media-type-codecs/www-form-url-encoder.js +0 -196
  374. package/build/main/media-type-codecs/www-form-url-encoder.js.map +0 -1
  375. package/build/main/media-type.d.ts +0 -94
  376. package/build/main/media-type.js +0 -309
  377. package/build/main/media-type.js.map +0 -1
  378. package/build/main/problem.d.ts +0 -31
  379. package/build/main/problem.js +0 -161
  380. package/build/main/problem.js.map +0 -1
  381. package/build/main/request-factory.d.ts +0 -44
  382. package/build/main/request-factory.js +0 -16
  383. package/build/main/request-factory.js.map +0 -1
  384. package/build/main/result-response.d.ts +0 -4
  385. package/build/main/result-response.js +0 -16
  386. package/build/main/result-response.js.map +0 -1
  387. package/build/main/sunday-error.d.ts +0 -11
  388. package/build/main/sunday-error.js +0 -35
  389. package/build/main/sunday-error.js.map +0 -1
  390. package/build/main/url-template.d.ts +0 -6
  391. package/build/main/url-template.js +0 -35
  392. package/build/main/url-template.js.map +0 -1
  393. package/build/main/util/any.d.ts +0 -2
  394. package/build/main/util/any.js +0 -29
  395. package/build/main/util/any.js.map +0 -1
  396. package/build/main/util/base64.d.ts +0 -5
  397. package/build/main/util/base64.js +0 -80
  398. package/build/main/util/base64.js.map +0 -1
  399. package/build/main/util/error.d.ts +0 -2
  400. package/build/main/util/error.js +0 -31
  401. package/build/main/util/error.js.map +0 -1
  402. package/build/main/util/hex.d.ts +0 -4
  403. package/build/main/util/hex.js +0 -35
  404. package/build/main/util/hex.js.map +0 -1
  405. package/build/main/util/rxjs.d.ts +0 -5
  406. package/build/main/util/rxjs.js +0 -36
  407. package/build/main/util/rxjs.js.map +0 -1
  408. package/build/main/util/stream-rxjs.d.ts +0 -2
  409. package/build/main/util/stream-rxjs.js +0 -43
  410. package/build/main/util/stream-rxjs.js.map +0 -1
  411. package/build/main/util/temporal.d.ts +0 -2
  412. package/build/main/util/temporal.js +0 -36
  413. package/build/main/util/temporal.js.map +0 -1
  414. /package/build/{esm/header-parameters.d.ts → header-parameters.d.ts} +0 -0
  415. /package/build/{esm/media-type.d.ts → media-type.d.ts} +0 -0
  416. /package/build/{esm/request-factory.js → request-factory.js} +0 -0
  417. /package/build/{esm/result-response.d.ts → result-response.d.ts} +0 -0
  418. /package/build/{esm/result-response.js → result-response.js} +0 -0
  419. /package/build/{esm/url-template.d.ts → url-template.d.ts} +0 -0
  420. /package/build/{esm/util/error.d.ts → util/errors.d.ts} +0 -0
  421. /package/build/{esm/util/any.d.ts → util/unknowns.d.ts} +0 -0
package/build/index.js ADDED
@@ -0,0 +1,41 @@
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 * from './schema-runtime.js';
15
+ export { ArrayBufferSchema, BooleanSchema, NullSchema, NumberSchema, StringSchema, UnknownSchema, URLSchema, } from './schema-builtins.js';
16
+ export * from './request-factory.js';
17
+ export * from './fetch-request-factory.js';
18
+ export * from './fetch-event-source.js';
19
+ export * from './url-template.js';
20
+ export * from './media-type.js';
21
+ export * from './media-type-codecs/media-type-decoder.js';
22
+ export * from './media-type-codecs/media-type-decoders.js';
23
+ export * from './media-type-codecs/media-type-encoder.js';
24
+ export * from './media-type-codecs/media-type-encoders.js';
25
+ export * from './media-type-codecs/json-decoder.js';
26
+ export * from './media-type-codecs/json-encoder.js';
27
+ export * from './media-type-codecs/cbor-decoder.js';
28
+ export * from './media-type-codecs/cbor-encoder.js';
29
+ export * from './media-type-codecs/binary-decoder.js';
30
+ export * from './media-type-codecs/binary-encoder.js';
31
+ export * from './media-type-codecs/www-form-url-encoder.js';
32
+ export * from './logger.js';
33
+ export * from './sunday-error.js';
34
+ export * from './problem.js';
35
+ export * from './date-time-types.js';
36
+ export * from './result-response.js';
37
+ export * from './request-adapters.js';
38
+ // Select exports from util
39
+ export * from './util/errors.js';
40
+ export * from './util/nullify.js';
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.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,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,SAAS,GACV,MAAM,sBAAsB,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AAEtC,2BAA2B;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
@@ -6,3 +6,12 @@ export interface Logger {
6
6
  warn?(...data: unknown[]): void;
7
7
  error?(...data: unknown[]): void;
8
8
  }
9
+ export declare enum LogLevel {
10
+ Trace = 4,
11
+ Debug = 3,
12
+ Info = 2,
13
+ Warn = 1,
14
+ Error = 0,
15
+ None = -1
16
+ }
17
+ export declare function levelLogger(level: LogLevel, logger?: Logger): Logger | undefined;
@@ -0,0 +1,36 @@
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 var LogLevel;
15
+ (function (LogLevel) {
16
+ LogLevel[LogLevel["Trace"] = 4] = "Trace";
17
+ LogLevel[LogLevel["Debug"] = 3] = "Debug";
18
+ LogLevel[LogLevel["Info"] = 2] = "Info";
19
+ LogLevel[LogLevel["Warn"] = 1] = "Warn";
20
+ LogLevel[LogLevel["Error"] = 0] = "Error";
21
+ LogLevel[LogLevel["None"] = -1] = "None";
22
+ })(LogLevel || (LogLevel = {}));
23
+ export function levelLogger(level, logger) {
24
+ if (!logger) {
25
+ return undefined;
26
+ }
27
+ return {
28
+ log: logger?.log?.bind(logger),
29
+ trace: level >= LogLevel.Trace ? logger?.trace?.bind(logger) : undefined,
30
+ debug: level >= LogLevel.Debug ? logger?.debug?.bind(logger) : undefined,
31
+ info: level >= LogLevel.Info ? logger?.info?.bind(logger) : undefined,
32
+ warn: level >= LogLevel.Warn ? logger?.warn?.bind(logger) : undefined,
33
+ error: level >= LogLevel.Error ? logger?.error?.bind(logger) : undefined,
34
+ };
35
+ }
36
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.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;AAWjC,MAAM,CAAN,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;IACT,wCAAS,CAAA;AACX,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB;AAED,MAAM,UAAU,WAAW,CACzB,KAAe,EACf,MAAe;IAEf,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;QAC9B,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACxE,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACxE,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACrE,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACrE,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KACzE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { TextMediaTypeDecoder } from './media-type-decoder.js';
2
+ import { SchemaLike } from '../schema-runtime.js';
3
+ export declare class AnyTextDecoder implements TextMediaTypeDecoder {
4
+ static readonly default: AnyTextDecoder;
5
+ decode<T>(response: Response, type: SchemaLike<T>): Promise<T>;
6
+ decodeText<T>(text: string, schema: SchemaLike<T>): T;
7
+ }
@@ -11,19 +11,19 @@
11
11
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
+ import { isSchema } from '../schema-runtime.js';
14
15
  export class AnyTextDecoder {
16
+ static default = new AnyTextDecoder();
15
17
  async decode(response, type) {
16
- if (type[0] != String) {
17
- throw Error('Invalid type, expected String');
18
- }
19
- return (await response.text());
18
+ return this.decodeText(await response.text(), type);
20
19
  }
21
- decodeText(text, type) {
22
- if (type[0] != String) {
23
- throw Error('Invalid type, expected String');
20
+ decodeText(text, schema) {
21
+ if (isSchema(schema)) {
22
+ return schema.parse(text);
23
+ }
24
+ else {
25
+ throw new Error(`Unsupported schema type: ${typeof schema}`);
24
26
  }
25
- return text;
26
27
  }
27
28
  }
28
- AnyTextDecoder.default = new AnyTextDecoder();
29
29
  //# sourceMappingURL=any-text-decoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"any-text-decoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/any-text-decoder.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAGjC,OAAO,EAAE,QAAQ,EAAc,MAAM,sBAAsB,CAAC;AAE5D,MAAM,OAAO,cAAc;IACzB,MAAM,CAAU,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;IAE/C,KAAK,CAAC,MAAM,CAAI,QAAkB,EAAE,IAAmB;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,UAAU,CAAI,IAAY,EAAE,MAAqB;QAC/C,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { MediaTypeEncoder } from './media-type-encoder.js';
2
+ import { SchemaLike } from '../schema-runtime.js';
3
+ export declare class AnyTextEncoder implements MediaTypeEncoder {
4
+ static readonly default: AnyTextEncoder;
5
+ encode<T>(value: T, _?: SchemaLike<T>): BodyInit;
6
+ }
@@ -12,12 +12,16 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
  export class AnyTextEncoder {
15
- encode(value) {
16
- if (typeof value != 'string') {
17
- throw Error('Invalid value, expected string');
15
+ static default = new AnyTextEncoder();
16
+ encode(value, _) {
17
+ let str;
18
+ if (typeof value == 'string') {
19
+ str = value;
18
20
  }
19
- return value;
21
+ else {
22
+ throw new TypeError(`Unsupported value type for text encoding: ${typeof value}`);
23
+ }
24
+ return str;
20
25
  }
21
26
  }
22
- AnyTextEncoder.default = new AnyTextEncoder();
23
27
  //# sourceMappingURL=any-text-encoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"any-text-encoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/any-text-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;AAKjC,MAAM,OAAO,cAAc;IACzB,MAAM,CAAU,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;IAE/C,MAAM,CAAI,KAAQ,EAAE,CAAiB;QACnC,IAAI,GAAW,CAAC;QAChB,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,GAAG,GAAG,KAAe,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,SAAS,CAAC,6CAA6C,OAAO,KAAK,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { BufferMediaTypeDecoder } from './media-type-decoder.js';
2
+ import { SchemaLike } from '../schema-runtime.js';
3
+ export declare class BinaryDecoder implements BufferMediaTypeDecoder {
4
+ static readonly default: BinaryDecoder;
5
+ decode<T>(response: Response, type: SchemaLike<T>): Promise<T>;
6
+ decodeBuffer<T>(buffer: ArrayBuffer, schema: SchemaLike<T>): T;
7
+ }
@@ -11,19 +11,23 @@
11
11
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
+ import { ArrayBufferSchema } from '../schema-builtins.js';
15
+ import { isSchema } from '../schema-runtime.js';
14
16
  export class BinaryDecoder {
17
+ static default = new BinaryDecoder();
15
18
  async decode(response, type) {
16
- const arrayBuffer = await response.arrayBuffer();
17
- if (type[0] === ArrayBuffer) {
18
- return arrayBuffer;
19
+ return this.decodeBuffer(await response.arrayBuffer(), type);
20
+ }
21
+ decodeBuffer(buffer, schema) {
22
+ if (isSchema(schema)) {
23
+ return schema.parse(buffer);
24
+ }
25
+ else if (schema === ArrayBufferSchema) {
26
+ return buffer;
19
27
  }
20
- else if (type[0] === Uint8Array ||
21
- type[0] === Int8Array ||
22
- type[0] === DataView) {
23
- return new type[0](arrayBuffer);
28
+ else {
29
+ throw new Error(`Unsupported schema type: ${typeof schema}`);
24
30
  }
25
- throw Error('Invalid value, expected ArrayBuffer, (Int|Uint)Array or DataView');
26
31
  }
27
32
  }
28
- BinaryDecoder.default = new BinaryDecoder();
29
33
  //# sourceMappingURL=binary-decoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary-decoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/binary-decoder.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAc,MAAM,sBAAsB,CAAC;AAE5D,MAAM,OAAO,aAAa;IACxB,MAAM,CAAU,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;IAE9C,KAAK,CAAC,MAAM,CAAI,QAAkB,EAAE,IAAmB;QACrD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,YAAY,CAAI,MAAmB,EAAE,MAAqB;QACxD,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;YACxC,OAAO,MAAsB,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { MediaTypeEncoder } from './media-type-encoder.js';
2
+ import { SchemaLike } from '../schema-runtime.js';
3
+ export declare class BinaryEncoder implements MediaTypeEncoder {
4
+ static readonly default: BinaryEncoder;
5
+ encode<T>(value: T, _?: SchemaLike<T>): BodyInit;
6
+ }
@@ -12,15 +12,19 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
  export class BinaryEncoder {
15
- encode(value) {
16
- if (!ArrayBuffer.isView(value) &&
17
- !(value instanceof ArrayBuffer) &&
18
- !(value instanceof Blob) &&
19
- !(value instanceof ReadableStream)) {
20
- throw Error('Invalid value, expected BufferSource, Blob or ReadableStream');
15
+ static default = new BinaryEncoder();
16
+ encode(value, _) {
17
+ let buffer;
18
+ if (value instanceof ArrayBuffer) {
19
+ buffer = value;
21
20
  }
22
- return value;
21
+ else if (ArrayBuffer.isView(value)) {
22
+ buffer = value;
23
+ }
24
+ else {
25
+ throw new TypeError(`Unsupported value type for binary decoding: ${typeof value}`);
26
+ }
27
+ return buffer;
23
28
  }
24
29
  }
25
- BinaryEncoder.default = new BinaryEncoder();
26
30
  //# sourceMappingURL=binary-encoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary-encoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/binary-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;AAKjC,MAAM,OAAO,aAAa;IACxB,MAAM,CAAU,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;IAE9C,MAAM,CAAI,KAAQ,EAAE,CAAiB;QACnC,IAAI,MAAkD,CAAC;QACvD,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,MAAM,GAAG,KAAoB,CAAC;QAChC,CAAC;aAAM,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,GAAG,KAAqC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,SAAS,CAAC,+CAA+C,OAAO,KAAK,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { NumericDateDecoding as SchemaNumericDateDecoding, SchemaLike, SchemaPolicy, SchemaRuntime } from '../schema-runtime.js';
2
+ import { BufferMediaTypeDecoder } from './media-type-decoder.js';
3
+ export declare class CBORDecoder implements BufferMediaTypeDecoder {
4
+ readonly runtime: SchemaRuntime;
5
+ static readonly default: CBORDecoder;
6
+ static fromPolicy(policy: Partial<Omit<SchemaPolicy, 'format'>>): CBORDecoder;
7
+ constructor(runtime?: SchemaRuntime);
8
+ decode<T>(response: Response, type: SchemaLike<T>): Promise<T>;
9
+ decodeBuffer<T>(buffer: ArrayBuffer, type: SchemaLike<T>): T;
10
+ }
11
+ export declare namespace CBORDecoder {
12
+ const NumericDateDecoding: typeof SchemaNumericDateDecoding;
13
+ }
@@ -0,0 +1,38 @@
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 { CBOR } from 'cbor-redux';
15
+ import { NumericDateDecoding as SchemaNumericDateDecoding, } from '../schema-runtime.js';
16
+ import { createCBORSchemaRuntime } from './default-policies.js';
17
+ export class CBORDecoder {
18
+ runtime;
19
+ static default = new CBORDecoder();
20
+ static fromPolicy(policy) {
21
+ return new CBORDecoder(createCBORSchemaRuntime(policy));
22
+ }
23
+ constructor(runtime = createCBORSchemaRuntime()) {
24
+ this.runtime = runtime;
25
+ }
26
+ async decode(response, type) {
27
+ const buffer = await response.arrayBuffer();
28
+ return this.decodeBuffer(buffer, type);
29
+ }
30
+ decodeBuffer(buffer, type) {
31
+ const data = CBOR.decode(buffer);
32
+ return this.runtime.resolveSchema(type).decode(data);
33
+ }
34
+ }
35
+ (function (CBORDecoder) {
36
+ CBORDecoder.NumericDateDecoding = SchemaNumericDateDecoding;
37
+ })(CBORDecoder || (CBORDecoder = {}));
38
+ //# sourceMappingURL=cbor-decoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cbor-decoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/cbor-decoder.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EACL,mBAAmB,IAAI,yBAAyB,GAGjD,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,MAAM,OAAO,WAAW;IAOD;IANrB,MAAM,CAAU,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAE5C,MAAM,CAAC,UAAU,CAAC,MAA6C;QAC7D,OAAO,IAAI,WAAW,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,YAAqB,UAAyB,uBAAuB,EAAE;QAAlD,YAAO,GAAP,OAAO,CAA2C;IACvE,CAAC;IAED,KAAK,CAAC,MAAM,CAAI,QAAkB,EAAE,IAAmB;QACrD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,YAAY,CAAI,MAAmB,EAAE,IAAmB;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;;AAGH,WAAiB,WAAW;IACb,+BAAmB,GAAG,yBAAyB,CAAC;AAC/D,CAAC,EAFgB,WAAW,KAAX,WAAW,QAE3B"}
@@ -0,0 +1,12 @@
1
+ import { DateEncoding as SchemaDateEncoding, SchemaLike, SchemaPolicy, SchemaRuntime } from '../schema-runtime.js';
2
+ import { MediaTypeEncoder } from './media-type-encoder.js';
3
+ export declare class CBOREncoder implements MediaTypeEncoder {
4
+ readonly runtime: SchemaRuntime;
5
+ static readonly default: CBOREncoder;
6
+ static fromPolicy(policy: Partial<Omit<SchemaPolicy, 'format'>>): CBOREncoder;
7
+ constructor(runtime?: SchemaRuntime);
8
+ encode<T>(value: T, type?: SchemaLike<T>): ArrayBuffer;
9
+ }
10
+ export declare namespace CBOREncoder {
11
+ const DateEncoding: typeof SchemaDateEncoding;
12
+ }
@@ -0,0 +1,36 @@
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 { CBOR } from 'cbor-redux';
15
+ import { DateEncoding as SchemaDateEncoding, } from '../schema-runtime.js';
16
+ import { createCBORSchemaRuntime } from './default-policies.js';
17
+ export class CBOREncoder {
18
+ runtime;
19
+ static default = new CBOREncoder();
20
+ static fromPolicy(policy) {
21
+ return new CBOREncoder(createCBORSchemaRuntime(policy));
22
+ }
23
+ constructor(runtime = createCBORSchemaRuntime()) {
24
+ this.runtime = runtime;
25
+ }
26
+ encode(value, type) {
27
+ const serialized = type
28
+ ? this.runtime.resolveSchema(type).encode(value)
29
+ : value;
30
+ return CBOR.encode(serialized);
31
+ }
32
+ }
33
+ (function (CBOREncoder) {
34
+ CBOREncoder.DateEncoding = SchemaDateEncoding;
35
+ })(CBOREncoder || (CBOREncoder = {}));
36
+ //# sourceMappingURL=cbor-encoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cbor-encoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/cbor-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;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EACL,YAAY,IAAI,kBAAkB,GAGnC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,MAAM,OAAO,WAAW;IAOD;IANrB,MAAM,CAAU,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAE5C,MAAM,CAAC,UAAU,CAAC,MAA6C;QAC7D,OAAO,IAAI,WAAW,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,YAAqB,UAAyB,uBAAuB,EAAE;QAAlD,YAAO,GAAP,OAAO,CAA2C;IACvE,CAAC;IAED,MAAM,CAAI,KAAQ,EAAE,IAAoB;QACtC,MAAM,UAAU,GAAG,IAAI;YACrB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAChD,CAAC,CAAC,KAAK,CAAC;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;;AAGH,WAAiB,WAAW;IACb,wBAAY,GAAG,kBAAkB,CAAC;AACjD,CAAC,EAFgB,WAAW,KAAX,WAAW,QAE3B"}
@@ -1,4 +1,6 @@
1
1
  export declare const isoDateTimeTag = 0;
2
2
  export declare const epochDateTimeTag = 1;
3
3
  export declare const uriTag = 32;
4
+ export declare const base64UrlTag = 33;
5
+ export declare const base64Tag = 34;
4
6
  export declare const epochDateTag = 100;
@@ -14,5 +14,7 @@
14
14
  export const isoDateTimeTag = 0;
15
15
  export const epochDateTimeTag = 1;
16
16
  export const uriTag = 32;
17
+ export const base64UrlTag = 33;
18
+ export const base64Tag = 34;
17
19
  export const epochDateTag = 100;
18
20
  //# sourceMappingURL=cbor-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cbor-tags.js","sourceRoot":"","sources":["../../src/media-type-codecs/cbor-tags.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC;AACzB,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC5B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { SchemaRuntime, SchemaPolicy } from '../schema-runtime.js';
2
+ export declare function createJSONSchemaRuntime(options?: Partial<Omit<SchemaPolicy, 'format'>>): SchemaRuntime;
3
+ export declare function createCBORSchemaRuntime(options?: Partial<Omit<SchemaPolicy, 'format'>>): SchemaRuntime;
@@ -0,0 +1,33 @@
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 { ArrayBufferEncoding, createSchemaRuntime, NumericDateDecoding, DateEncoding, } from '../schema-runtime.js';
15
+ export function createJSONSchemaRuntime(options) {
16
+ return createSchemaRuntime({
17
+ format: 'json',
18
+ dateEncoding: DateEncoding.DECIMAL_SECONDS_SINCE_EPOCH,
19
+ numericDateDecoding: NumericDateDecoding.DECIMAL_SECONDS_SINCE_EPOCH,
20
+ arrayBufferEncoding: ArrayBufferEncoding.BASE64,
21
+ ...options,
22
+ });
23
+ }
24
+ export function createCBORSchemaRuntime(options) {
25
+ return createSchemaRuntime({
26
+ format: 'cbor',
27
+ dateEncoding: DateEncoding.DECIMAL_SECONDS_SINCE_EPOCH,
28
+ numericDateDecoding: NumericDateDecoding.DECIMAL_SECONDS_SINCE_EPOCH,
29
+ arrayBufferEncoding: ArrayBufferEncoding.RAW_BYTES,
30
+ ...options,
31
+ });
32
+ }
33
+ //# sourceMappingURL=default-policies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-policies.js","sourceRoot":"","sources":["../../src/media-type-codecs/default-policies.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,GAEb,MAAM,sBAAsB,CAAC;AAE9B,MAAM,UAAU,uBAAuB,CAAC,OAA+C;IACrF,OAAO,mBAAmB,CACxB;QACE,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,YAAY,CAAC,2BAA2B;QACtD,mBAAmB,EAAE,mBAAmB,CAAC,2BAA2B;QACpE,mBAAmB,EAAE,mBAAmB,CAAC,MAAM;QAC/C,GAAG,OAAO;KACX,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAA+C;IACrF,OAAO,mBAAmB,CACxB;QACE,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,YAAY,CAAC,2BAA2B;QACtD,mBAAmB,EAAE,mBAAmB,CAAC,2BAA2B;QACpE,mBAAmB,EAAE,mBAAmB,CAAC,SAAS;QAClD,GAAG,OAAO;KACX,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { NumericDateDecoding as SchemaNumericDateDecoding, SchemaLike, SchemaPolicy, SchemaRuntime } from '../schema-runtime.js';
2
+ import { StructuredMediaTypeDecoder, TextMediaTypeDecoder } from './media-type-decoder.js';
3
+ export declare class JSONDecoder implements TextMediaTypeDecoder, StructuredMediaTypeDecoder {
4
+ readonly runtime: SchemaRuntime;
5
+ static readonly default: JSONDecoder;
6
+ static fromPolicy(policy: Partial<Omit<SchemaPolicy, 'format'>>): JSONDecoder;
7
+ constructor(runtime?: SchemaRuntime);
8
+ decode<T>(response: Response, type: SchemaLike<T>): Promise<T>;
9
+ decodeText<T>(text: string, type: SchemaLike<T>): T;
10
+ decodeObject<T>(value: unknown, type: SchemaLike<T>): T;
11
+ }
12
+ export declare namespace JSONDecoder {
13
+ const NumericDateDecoding: typeof SchemaNumericDateDecoding;
14
+ }
@@ -0,0 +1,40 @@
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 { NumericDateDecoding as SchemaNumericDateDecoding, } from '../schema-runtime.js';
15
+ import { createJSONSchemaRuntime } from './default-policies.js';
16
+ export class JSONDecoder {
17
+ runtime;
18
+ static default = new JSONDecoder();
19
+ static fromPolicy(policy) {
20
+ return new JSONDecoder(createJSONSchemaRuntime(policy));
21
+ }
22
+ constructor(runtime = createJSONSchemaRuntime()) {
23
+ this.runtime = runtime;
24
+ }
25
+ async decode(response, type) {
26
+ const data = await response.json();
27
+ return this.decodeObject(data, type);
28
+ }
29
+ decodeText(text, type) {
30
+ const value = JSON.parse(text);
31
+ return this.decodeObject(value, type);
32
+ }
33
+ decodeObject(value, type) {
34
+ return this.runtime.resolveSchema(type).decode(value);
35
+ }
36
+ }
37
+ (function (JSONDecoder) {
38
+ JSONDecoder.NumericDateDecoding = SchemaNumericDateDecoding;
39
+ })(JSONDecoder || (JSONDecoder = {}));
40
+ //# sourceMappingURL=json-decoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-decoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/json-decoder.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EACL,mBAAmB,IAAI,yBAAyB,GAIjD,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAMhE,MAAM,OAAO,WAAW;IASD;IANrB,MAAM,CAAU,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAE5C,MAAM,CAAC,UAAU,CAAC,MAA6C;QAC7D,OAAO,IAAI,WAAW,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,YAAqB,UAAyB,uBAAuB,EAAE;QAAlD,YAAO,GAAP,OAAO,CAA2C;IACvE,CAAC;IAED,KAAK,CAAC,MAAM,CAAI,QAAkB,EAAE,IAAmB;QACrD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,CAAI,IAAY,EAAE,IAAmB;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,YAAY,CAAI,KAAc,EAAE,IAAmB;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;;AAGH,WAAiB,WAAW;IACb,+BAAmB,GAAG,yBAAyB,CAAC;AAC/D,CAAC,EAFgB,WAAW,KAAX,WAAW,QAE3B"}
@@ -0,0 +1,13 @@
1
+ import { DateEncoding as SchemaDateEncoding, SchemaLike, SchemaPolicy, SchemaRuntime } from '../schema-runtime.js';
2
+ import { StructuredMediaTypeEncoder } from './media-type-encoder.js';
3
+ export declare class JSONEncoder implements StructuredMediaTypeEncoder {
4
+ readonly runtime: SchemaRuntime;
5
+ static readonly default: JSONEncoder;
6
+ static fromPolicy(policy: Partial<Omit<SchemaPolicy, 'format'>>): JSONEncoder;
7
+ constructor(runtime?: SchemaRuntime);
8
+ encode<T>(value: T, type?: SchemaLike<T>): string;
9
+ encodeObject<T>(value: T, type?: SchemaLike<T>): Record<string, unknown>;
10
+ }
11
+ export declare namespace JSONEncoder {
12
+ const DateEncoding: typeof SchemaDateEncoding;
13
+ }
@@ -0,0 +1,43 @@
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 { DateEncoding as SchemaDateEncoding, } from '../schema-runtime.js';
15
+ import { createJSONSchemaRuntime } from './default-policies.js';
16
+ import { z } from 'zod';
17
+ const JSON_OBJECT_SCHEMA = z.record(z.string(), z.unknown());
18
+ export class JSONEncoder {
19
+ runtime;
20
+ static default = new JSONEncoder();
21
+ static fromPolicy(policy) {
22
+ return new JSONEncoder(createJSONSchemaRuntime(policy));
23
+ }
24
+ constructor(runtime = createJSONSchemaRuntime()) {
25
+ this.runtime = runtime;
26
+ }
27
+ encode(value, type) {
28
+ const serialized = type
29
+ ? this.runtime.resolveSchema(type).encode(value)
30
+ : value;
31
+ return JSON.stringify(serialized);
32
+ }
33
+ encodeObject(value, type) {
34
+ const serialized = type
35
+ ? this.runtime.resolveSchema(type).encode(value)
36
+ : value;
37
+ return JSON_OBJECT_SCHEMA.parse(serialized);
38
+ }
39
+ }
40
+ (function (JSONEncoder) {
41
+ JSONEncoder.DateEncoding = SchemaDateEncoding;
42
+ })(JSONEncoder || (JSONEncoder = {}));
43
+ //# sourceMappingURL=json-encoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-encoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/json-encoder.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EACL,YAAY,IAAI,kBAAkB,GAInC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAE7D,MAAM,OAAO,WAAW;IAOD;IANrB,MAAM,CAAU,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAE5C,MAAM,CAAC,UAAU,CAAC,MAA6C;QAC7D,OAAO,IAAI,WAAW,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,YAAqB,UAAyB,uBAAuB,EAAE;QAAlD,YAAO,GAAP,OAAO,CAA2C;IACvE,CAAC;IAED,MAAM,CAAI,KAAQ,EAAE,IAAoB;QACtC,MAAM,UAAU,GAAG,IAAI;YACrB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAChD,CAAC,CAAC,KAAK,CAAC;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,YAAY,CACV,KAAQ,EACR,IAAoB;QAEpB,MAAM,UAAU,GAAG,IAAI;YACrB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAChD,CAAC,CAAC,KAAK,CAAC;QACV,OAAO,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;;AAGH,WAAiB,WAAW;IACb,wBAAY,GAAG,kBAAkB,CAAC;AACjD,CAAC,EAFgB,WAAW,KAAX,WAAW,QAE3B"}
@@ -0,0 +1,14 @@
1
+ import { SchemaLike } from '../schema-runtime.js';
2
+ export interface MediaTypeDecoder {
3
+ decode<T>(response: Response, type: SchemaLike<T>): Promise<T>;
4
+ }
5
+ export interface BufferMediaTypeDecoder extends MediaTypeDecoder {
6
+ decodeBuffer<T>(data: ArrayBuffer, type: SchemaLike<T>): T;
7
+ }
8
+ export interface TextMediaTypeDecoder extends MediaTypeDecoder {
9
+ decodeText<T>(text: string, type: SchemaLike<T>): T;
10
+ }
11
+ export interface StructuredMediaTypeDecoder extends MediaTypeDecoder {
12
+ decodeObject<T>(data: unknown, type: SchemaLike<T>): T;
13
+ }
14
+ export declare function isStructuredMediaTypeDecoder(decoder: MediaTypeDecoder | StructuredMediaTypeDecoder | undefined): decoder is StructuredMediaTypeDecoder;
@@ -12,8 +12,7 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
  export function isStructuredMediaTypeDecoder(decoder) {
15
- var _a;
16
15
  const rec = decoder;
17
- return (_a = !!rec.decodeObject) !== null && _a !== void 0 ? _a : false;
16
+ return typeof rec.decodeObject === 'function';
18
17
  }
19
18
  //# sourceMappingURL=media-type-decoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-type-decoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/media-type-decoder.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAoBjC,MAAM,UAAU,4BAA4B,CAC1C,OAAkE;IAElE,MAAM,GAAG,GAAG,OAA6C,CAAC;IAC1D,OAAO,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU,CAAC;AAChD,CAAC"}