@typespec/ts-http-runtime 0.3.5-alpha.20260311.2 → 0.3.6

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 (586) hide show
  1. package/dist/browser/client/clientHelpers.js +1 -1
  2. package/dist/browser/client/clientHelpers.js.map +1 -1
  3. package/dist/browser/client/common.d.ts +3 -2
  4. package/dist/browser/client/common.js.map +1 -1
  5. package/dist/browser/client/getClient.js +1 -1
  6. package/dist/browser/client/getClient.js.map +1 -1
  7. package/dist/browser/client/multipart.js +1 -1
  8. package/dist/browser/client/multipart.js.map +1 -1
  9. package/dist/browser/client/restError.js +5 -4
  10. package/dist/browser/client/restError.js.map +1 -1
  11. package/dist/browser/client/sendRequest.js +25 -14
  12. package/dist/browser/client/sendRequest.js.map +1 -1
  13. package/dist/browser/client/urlHelpers.js +9 -3
  14. package/dist/browser/client/urlHelpers.js.map +1 -1
  15. package/dist/browser/constants.js +1 -1
  16. package/dist/browser/constants.js.map +1 -1
  17. package/dist/browser/createPipelineFromOptions.d.ts +1 -1
  18. package/dist/browser/createPipelineFromOptions.js +2 -21
  19. package/dist/browser/createPipelineFromOptions.js.map +1 -1
  20. package/dist/browser/{defaultHttpClient.d.ts → defaultHttpClient-browser.d.mts} +1 -1
  21. package/dist/browser/{defaultHttpClient.js → defaultHttpClient-browser.mjs} +1 -1
  22. package/dist/browser/defaultHttpClient-browser.mjs.map +1 -0
  23. package/dist/browser/encoding.d.ts +13 -0
  24. package/dist/browser/encoding.js +19 -0
  25. package/dist/browser/encoding.js.map +1 -0
  26. package/dist/{esm/util/checkEnvironment.d.ts → browser/env-browser.d.mts} +21 -1
  27. package/dist/{esm/util/checkEnvironment.js → browser/env-browser.mjs} +26 -12
  28. package/dist/browser/env-browser.mjs.map +1 -0
  29. package/dist/browser/fetchHttpClient.d.ts +5 -0
  30. package/dist/browser/fetchHttpClient.js.map +1 -1
  31. package/dist/browser/formData-web.d.mts +9 -0
  32. package/dist/browser/formData-web.mjs +12 -0
  33. package/dist/browser/formData-web.mjs.map +1 -0
  34. package/dist/browser/httpHeaders.js +11 -1
  35. package/dist/browser/httpHeaders.js.map +1 -1
  36. package/dist/browser/index.d.ts +3 -14
  37. package/dist/browser/index.js +2 -2
  38. package/dist/browser/index.js.map +1 -1
  39. package/dist/browser/interfaces.d.ts +15 -14
  40. package/dist/browser/interfaces.js.map +1 -1
  41. package/dist/browser/logger/debug.js +3 -2
  42. package/dist/browser/logger/debug.js.map +1 -1
  43. package/dist/{react-native/logger/log.d.ts → browser/logger/log-web.d.mts} +1 -1
  44. package/dist/browser/logger/{log.js → log-web.mjs} +1 -1
  45. package/dist/browser/logger/log-web.mjs.map +1 -0
  46. package/dist/browser/logger/logger.js +2 -2
  47. package/dist/browser/logger/logger.js.map +1 -1
  48. package/dist/browser/pipelineRequest.js +1 -1
  49. package/dist/browser/pipelineRequest.js.map +1 -1
  50. package/dist/browser/policies/auth/basicAuthenticationPolicy.js +1 -1
  51. package/dist/browser/policies/auth/basicAuthenticationPolicy.js.map +1 -1
  52. package/dist/browser/policies/auth/checkInsecureConnection.js +3 -2
  53. package/dist/browser/policies/auth/checkInsecureConnection.js.map +1 -1
  54. package/dist/browser/policies/{decompressResponsePolicy.d.ts → decompressResponsePolicy-web.d.mts} +1 -1
  55. package/dist/browser/policies/{decompressResponsePolicy.js → decompressResponsePolicy-web.mjs} +1 -1
  56. package/dist/browser/policies/decompressResponsePolicy-web.mjs.map +1 -0
  57. package/dist/browser/policies/formDataPolicy.js +5 -12
  58. package/dist/browser/policies/formDataPolicy.js.map +1 -1
  59. package/dist/browser/policies/internal.d.ts +2 -2
  60. package/dist/browser/policies/internal.js +2 -2
  61. package/dist/browser/policies/internal.js.map +1 -1
  62. package/dist/browser/policies/multipartPolicy.js +7 -3
  63. package/dist/browser/policies/multipartPolicy.js.map +1 -1
  64. package/dist/browser/policies/platformPolicies-web.d.mts +10 -0
  65. package/dist/browser/policies/platformPolicies-web.mjs +12 -0
  66. package/dist/browser/policies/platformPolicies-web.mjs.map +1 -0
  67. package/dist/browser/policies/platformPolicies.d.ts +25 -0
  68. package/dist/browser/policies/platformPolicies.js +30 -0
  69. package/dist/browser/policies/platformPolicies.js.map +1 -0
  70. package/dist/browser/policies/proxyPolicy-web.d.mts +2 -0
  71. package/dist/{react-native/policies/proxyPolicy.js → browser/policies/proxyPolicy-web.mjs} +1 -1
  72. package/dist/browser/policies/proxyPolicy-web.mjs.map +1 -0
  73. package/dist/browser/policies/retryPolicy.js +4 -3
  74. package/dist/browser/policies/retryPolicy.js.map +1 -1
  75. package/dist/browser/restError.js +1 -1
  76. package/dist/browser/restError.js.map +1 -1
  77. package/dist/browser/types-browser.d.mts +19 -0
  78. package/dist/browser/{util/concat.js → types-browser.mjs} +2 -2
  79. package/dist/browser/types-browser.mjs.map +1 -0
  80. package/dist/browser/util/bytesEncoding-web.d.mts +2 -0
  81. package/dist/{react-native/util/bytesEncoding.js → browser/util/bytesEncoding-web.mjs} +1 -1
  82. package/dist/browser/util/bytesEncoding-web.mjs.map +1 -0
  83. package/dist/browser/util/bytesEncoding.common.d.ts +4 -4
  84. package/dist/browser/util/bytesEncoding.common.js +3 -4
  85. package/dist/browser/util/bytesEncoding.common.js.map +1 -1
  86. package/dist/browser/util/concat-browser.d.mts +16 -0
  87. package/dist/{esm/util/concat.common.js → browser/util/concat-browser.mjs} +4 -11
  88. package/dist/browser/util/concat-browser.mjs.map +1 -0
  89. package/dist/browser/util/inspect-web.d.mts +2 -0
  90. package/dist/{react-native/util/inspect.js → browser/util/inspect-web.mjs} +1 -1
  91. package/dist/browser/util/inspect-web.mjs.map +1 -0
  92. package/dist/browser/util/internal.d.ts +4 -4
  93. package/dist/browser/util/internal.js +4 -4
  94. package/dist/browser/util/internal.js.map +1 -1
  95. package/dist/browser/util/sanitizer.js +3 -3
  96. package/dist/browser/util/sanitizer.js.map +1 -1
  97. package/dist/browser/util/sha256-web.d.mts +2 -0
  98. package/dist/{react-native/util/sha256.js → browser/util/sha256-web.mjs} +1 -1
  99. package/dist/browser/util/sha256-web.mjs.map +1 -0
  100. package/dist/browser/util/sha256.common.js +1 -1
  101. package/dist/browser/util/sha256.common.js.map +1 -1
  102. package/dist/browser/util/typeGuards-browser.d.mts +14 -0
  103. package/dist/browser/util/typeGuards-browser.mjs +26 -0
  104. package/dist/browser/util/typeGuards-browser.mjs.map +1 -0
  105. package/dist/browser/util/typeGuards.d.ts +5 -4
  106. package/dist/browser/util/typeGuards.js +3 -9
  107. package/dist/browser/util/typeGuards.js.map +1 -1
  108. package/dist/browser/util/userAgent.d.ts +2 -0
  109. package/dist/browser/util/userAgent.js +2 -1
  110. package/dist/browser/util/userAgent.js.map +1 -1
  111. package/dist/browser/util/userAgentPlatform-browser.d.mts +37 -0
  112. package/dist/browser/util/{userAgentPlatform.js → userAgentPlatform-browser.mjs} +10 -11
  113. package/dist/browser/util/userAgentPlatform-browser.mjs.map +1 -0
  114. package/dist/browser/util/{uuidUtils.d.ts → uuidUtils-browser.d.mts} +1 -1
  115. package/dist/browser/util/{uuidUtils.js → uuidUtils-browser.mjs} +1 -1
  116. package/dist/browser/util/uuidUtils-browser.mjs.map +1 -0
  117. package/dist/browser/util/uuidUtils.common.js +1 -1
  118. package/dist/browser/util/uuidUtils.common.js.map +1 -1
  119. package/dist/commonjs/abort-controller/AbortError.js +1 -0
  120. package/dist/commonjs/abort-controller/AbortError.js.map +1 -1
  121. package/dist/commonjs/auth/credentials.js +1 -0
  122. package/dist/commonjs/auth/credentials.js.map +1 -1
  123. package/dist/commonjs/auth/oauth2Flows.js +1 -0
  124. package/dist/commonjs/auth/oauth2Flows.js.map +1 -1
  125. package/dist/commonjs/auth/schemes.js +1 -0
  126. package/dist/commonjs/auth/schemes.js.map +1 -1
  127. package/dist/commonjs/client/apiVersionPolicy.js +1 -0
  128. package/dist/commonjs/client/apiVersionPolicy.js.map +1 -1
  129. package/dist/commonjs/client/clientHelpers.js +3 -2
  130. package/dist/commonjs/client/clientHelpers.js.map +3 -3
  131. package/dist/commonjs/client/common.d.ts +3 -2
  132. package/dist/commonjs/client/common.js +1 -0
  133. package/dist/commonjs/client/common.js.map +2 -2
  134. package/dist/commonjs/client/getClient.js +4 -3
  135. package/dist/commonjs/client/getClient.js.map +3 -3
  136. package/dist/commonjs/client/multipart.js +1 -0
  137. package/dist/commonjs/client/multipart.js.map +3 -3
  138. package/dist/commonjs/client/operationOptionHelpers.js +1 -0
  139. package/dist/commonjs/client/operationOptionHelpers.js.map +1 -1
  140. package/dist/commonjs/client/restError.js +6 -4
  141. package/dist/commonjs/client/restError.js.map +3 -3
  142. package/dist/commonjs/client/sendRequest.js +39 -10
  143. package/dist/commonjs/client/sendRequest.js.map +3 -3
  144. package/dist/commonjs/client/urlHelpers.js +7 -3
  145. package/dist/commonjs/client/urlHelpers.js.map +3 -3
  146. package/dist/commonjs/constants.js +2 -1
  147. package/dist/commonjs/constants.js.map +2 -2
  148. package/dist/commonjs/createPipelineFromOptions.d.ts +1 -1
  149. package/dist/commonjs/createPipelineFromOptions.js +3 -19
  150. package/dist/commonjs/createPipelineFromOptions.js.map +3 -3
  151. package/dist/commonjs/defaultHttpClient.js +1 -0
  152. package/dist/commonjs/defaultHttpClient.js.map +1 -1
  153. package/dist/{browser/util/checkEnvironment.d.ts → commonjs/env.d.ts} +21 -1
  154. package/dist/commonjs/env.js +67 -0
  155. package/dist/commonjs/env.js.map +7 -0
  156. package/dist/commonjs/formData.d.ts +10 -0
  157. package/dist/commonjs/{logger/log.common.js → formData.js} +18 -18
  158. package/dist/commonjs/formData.js.map +7 -0
  159. package/dist/commonjs/httpHeaders.js +5 -1
  160. package/dist/commonjs/httpHeaders.js.map +3 -3
  161. package/dist/commonjs/index.d.ts +1 -12
  162. package/dist/commonjs/index.js +3 -2
  163. package/dist/commonjs/index.js.map +3 -3
  164. package/dist/commonjs/interfaces.d.ts +15 -14
  165. package/dist/commonjs/interfaces.js +1 -0
  166. package/dist/commonjs/interfaces.js.map +2 -2
  167. package/dist/commonjs/log.js +1 -0
  168. package/dist/commonjs/log.js.map +1 -1
  169. package/dist/commonjs/logger/debug.js +3 -1
  170. package/dist/commonjs/logger/debug.js.map +3 -3
  171. package/dist/commonjs/logger/internal.js +1 -0
  172. package/dist/commonjs/logger/internal.js.map +1 -1
  173. package/dist/commonjs/logger/log.js +1 -0
  174. package/dist/commonjs/logger/log.js.map +1 -1
  175. package/dist/commonjs/logger/logger.js +3 -1
  176. package/dist/commonjs/logger/logger.js.map +3 -3
  177. package/dist/commonjs/nodeHttpClient.js +4 -1
  178. package/dist/commonjs/nodeHttpClient.js.map +3 -3
  179. package/dist/commonjs/pipeline.js +1 -0
  180. package/dist/commonjs/pipeline.js.map +1 -1
  181. package/dist/commonjs/pipelineRequest.js +3 -2
  182. package/dist/commonjs/pipelineRequest.js.map +3 -3
  183. package/dist/commonjs/policies/agentPolicy.js +1 -0
  184. package/dist/commonjs/policies/agentPolicy.js.map +1 -1
  185. package/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js +1 -0
  186. package/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js.map +1 -1
  187. package/dist/commonjs/policies/auth/basicAuthenticationPolicy.js +1 -0
  188. package/dist/commonjs/policies/auth/basicAuthenticationPolicy.js.map +2 -2
  189. package/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js +1 -0
  190. package/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js.map +1 -1
  191. package/dist/commonjs/policies/auth/checkInsecureConnection.js +4 -2
  192. package/dist/commonjs/policies/auth/checkInsecureConnection.js.map +3 -3
  193. package/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js +1 -0
  194. package/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js.map +1 -1
  195. package/dist/commonjs/policies/decompressResponsePolicy.js +1 -0
  196. package/dist/commonjs/policies/decompressResponsePolicy.js.map +1 -1
  197. package/dist/commonjs/policies/defaultRetryPolicy.js +1 -0
  198. package/dist/commonjs/policies/defaultRetryPolicy.js.map +1 -1
  199. package/dist/commonjs/policies/exponentialRetryPolicy.js +1 -0
  200. package/dist/commonjs/policies/exponentialRetryPolicy.js.map +1 -1
  201. package/dist/commonjs/policies/formDataPolicy.js +5 -11
  202. package/dist/commonjs/policies/formDataPolicy.js.map +3 -3
  203. package/dist/commonjs/policies/internal.d.ts +1 -1
  204. package/dist/commonjs/policies/internal.js +8 -7
  205. package/dist/commonjs/policies/internal.js.map +3 -3
  206. package/dist/commonjs/policies/logPolicy.js +1 -0
  207. package/dist/commonjs/policies/logPolicy.js.map +1 -1
  208. package/dist/commonjs/policies/multipartPolicy.js +3 -2
  209. package/dist/commonjs/policies/multipartPolicy.js.map +3 -3
  210. package/dist/commonjs/policies/platformPolicies.d.ts +25 -0
  211. package/dist/commonjs/policies/platformPolicies.js +43 -0
  212. package/dist/commonjs/policies/platformPolicies.js.map +7 -0
  213. package/dist/commonjs/policies/proxyPolicy.js +3 -3
  214. package/dist/commonjs/policies/proxyPolicy.js.map +3 -3
  215. package/dist/commonjs/policies/redirectPolicy.js +1 -0
  216. package/dist/commonjs/policies/redirectPolicy.js.map +1 -1
  217. package/dist/commonjs/policies/retryPolicy.js +5 -3
  218. package/dist/commonjs/policies/retryPolicy.js.map +3 -3
  219. package/dist/commonjs/policies/systemErrorRetryPolicy.js +1 -0
  220. package/dist/commonjs/policies/systemErrorRetryPolicy.js.map +1 -1
  221. package/dist/commonjs/policies/throttlingRetryPolicy.js +1 -0
  222. package/dist/commonjs/policies/throttlingRetryPolicy.js.map +1 -1
  223. package/dist/commonjs/policies/tlsPolicy.js +1 -0
  224. package/dist/commonjs/policies/tlsPolicy.js.map +1 -1
  225. package/dist/commonjs/policies/userAgentPolicy.js +1 -0
  226. package/dist/commonjs/policies/userAgentPolicy.js.map +1 -1
  227. package/dist/commonjs/restError.js +1 -0
  228. package/dist/commonjs/restError.js.map +2 -2
  229. package/dist/commonjs/retryStrategies/exponentialRetryStrategy.js +1 -0
  230. package/dist/commonjs/retryStrategies/exponentialRetryStrategy.js.map +1 -1
  231. package/dist/commonjs/retryStrategies/retryStrategy.js +1 -0
  232. package/dist/commonjs/retryStrategies/retryStrategy.js.map +1 -1
  233. package/dist/commonjs/retryStrategies/throttlingRetryStrategy.js +1 -0
  234. package/dist/commonjs/retryStrategies/throttlingRetryStrategy.js.map +1 -1
  235. package/dist/commonjs/tsdoc-metadata.json +1 -1
  236. package/dist/commonjs/types.d.ts +19 -0
  237. package/dist/commonjs/types.js +16 -0
  238. package/dist/commonjs/types.js.map +7 -0
  239. package/dist/commonjs/util/bytesEncoding.js +1 -0
  240. package/dist/commonjs/util/bytesEncoding.js.map +1 -1
  241. package/dist/commonjs/util/concat.d.ts +1 -1
  242. package/dist/commonjs/util/concat.js +1 -0
  243. package/dist/commonjs/util/concat.js.map +3 -3
  244. package/dist/commonjs/util/delay.js +1 -0
  245. package/dist/commonjs/util/delay.js.map +1 -1
  246. package/dist/commonjs/util/error.js +1 -0
  247. package/dist/commonjs/util/error.js.map +1 -1
  248. package/dist/commonjs/util/helpers.js +1 -0
  249. package/dist/commonjs/util/helpers.js.map +1 -1
  250. package/dist/commonjs/util/inspect.js +1 -0
  251. package/dist/commonjs/util/inspect.js.map +1 -1
  252. package/dist/commonjs/util/internal.d.ts +1 -1
  253. package/dist/commonjs/util/internal.js +11 -10
  254. package/dist/commonjs/util/internal.js.map +3 -3
  255. package/dist/commonjs/util/object.js +1 -0
  256. package/dist/commonjs/util/object.js.map +1 -1
  257. package/dist/commonjs/util/random.js +1 -0
  258. package/dist/commonjs/util/random.js.map +1 -1
  259. package/dist/commonjs/util/sanitizer.js +4 -3
  260. package/dist/commonjs/util/sanitizer.js.map +3 -3
  261. package/dist/commonjs/util/sha256.js +1 -0
  262. package/dist/commonjs/util/sha256.js.map +1 -1
  263. package/dist/commonjs/util/typeGuards-node.d.ts +13 -0
  264. package/dist/commonjs/util/{inspect.common.js → typeGuards-node.js} +15 -6
  265. package/dist/commonjs/util/typeGuards-node.js.map +7 -0
  266. package/dist/commonjs/util/typeGuards.d.ts +5 -4
  267. package/dist/commonjs/util/typeGuards.js +6 -12
  268. package/dist/commonjs/util/typeGuards.js.map +3 -3
  269. package/dist/commonjs/util/userAgent.d.ts +2 -0
  270. package/dist/commonjs/util/userAgent.js +8 -5
  271. package/dist/commonjs/util/userAgent.js.map +3 -3
  272. package/dist/commonjs/util/userAgentPlatform.d.ts +8 -0
  273. package/dist/commonjs/util/userAgentPlatform.js +7 -7
  274. package/dist/commonjs/util/userAgentPlatform.js.map +3 -3
  275. package/dist/commonjs/util/uuidUtils.js +1 -0
  276. package/dist/commonjs/util/uuidUtils.js.map +1 -1
  277. package/dist/esm/client/clientHelpers.js.map +1 -1
  278. package/dist/esm/client/common.d.ts +3 -2
  279. package/dist/esm/client/common.js.map +1 -1
  280. package/dist/esm/client/getClient.js +1 -1
  281. package/dist/esm/client/getClient.js.map +1 -1
  282. package/dist/esm/client/multipart.js.map +1 -1
  283. package/dist/esm/client/restError.js +5 -4
  284. package/dist/esm/client/restError.js.map +1 -1
  285. package/dist/esm/client/sendRequest.js +25 -14
  286. package/dist/esm/client/sendRequest.js.map +1 -1
  287. package/dist/esm/client/urlHelpers.js +9 -3
  288. package/dist/esm/client/urlHelpers.js.map +1 -1
  289. package/dist/esm/constants.js +1 -1
  290. package/dist/esm/constants.js.map +1 -1
  291. package/dist/esm/createPipelineFromOptions.d.ts +1 -1
  292. package/dist/esm/createPipelineFromOptions.js +2 -21
  293. package/dist/esm/createPipelineFromOptions.js.map +1 -1
  294. package/dist/{react-native/util/checkEnvironment.d.ts → esm/env.d.ts} +21 -1
  295. package/dist/esm/env.js +48 -0
  296. package/dist/esm/env.js.map +1 -0
  297. package/dist/esm/formData.d.ts +10 -0
  298. package/dist/esm/formData.js +26 -0
  299. package/dist/esm/formData.js.map +1 -0
  300. package/dist/esm/httpHeaders.js +11 -1
  301. package/dist/esm/httpHeaders.js.map +1 -1
  302. package/dist/esm/index.d.ts +1 -12
  303. package/dist/esm/index.js.map +1 -1
  304. package/dist/esm/interfaces.d.ts +15 -14
  305. package/dist/esm/interfaces.js.map +1 -1
  306. package/dist/esm/logger/debug.js +2 -1
  307. package/dist/esm/logger/debug.js.map +1 -1
  308. package/dist/esm/logger/logger.js +2 -2
  309. package/dist/esm/logger/logger.js.map +1 -1
  310. package/dist/esm/nodeHttpClient.js +3 -1
  311. package/dist/esm/nodeHttpClient.js.map +1 -1
  312. package/dist/esm/pipelineRequest.js.map +1 -1
  313. package/dist/esm/policies/auth/basicAuthenticationPolicy.js.map +1 -1
  314. package/dist/esm/policies/auth/checkInsecureConnection.js +3 -2
  315. package/dist/esm/policies/auth/checkInsecureConnection.js.map +1 -1
  316. package/dist/esm/policies/formDataPolicy.js +4 -11
  317. package/dist/esm/policies/formDataPolicy.js.map +1 -1
  318. package/dist/esm/policies/internal.d.ts +1 -1
  319. package/dist/esm/policies/internal.js +1 -1
  320. package/dist/esm/policies/internal.js.map +1 -1
  321. package/dist/esm/policies/multipartPolicy.js +4 -0
  322. package/dist/esm/policies/multipartPolicy.js.map +1 -1
  323. package/dist/esm/policies/platformPolicies.d.ts +25 -0
  324. package/dist/esm/policies/platformPolicies.js +30 -0
  325. package/dist/esm/policies/platformPolicies.js.map +1 -0
  326. package/dist/esm/policies/proxyPolicy.js +2 -3
  327. package/dist/esm/policies/proxyPolicy.js.map +1 -1
  328. package/dist/esm/policies/retryPolicy.js +4 -3
  329. package/dist/esm/policies/retryPolicy.js.map +1 -1
  330. package/dist/esm/restError.js.map +1 -1
  331. package/dist/esm/types.d.ts +19 -0
  332. package/dist/esm/types.js +4 -0
  333. package/dist/esm/types.js.map +1 -0
  334. package/dist/esm/util/concat.d.ts +1 -1
  335. package/dist/esm/util/concat.js.map +1 -1
  336. package/dist/esm/util/internal.d.ts +1 -1
  337. package/dist/esm/util/internal.js +1 -1
  338. package/dist/esm/util/internal.js.map +1 -1
  339. package/dist/esm/util/sanitizer.js +3 -3
  340. package/dist/esm/util/sanitizer.js.map +1 -1
  341. package/dist/esm/util/typeGuards-node.d.ts +13 -0
  342. package/dist/esm/util/typeGuards-node.js +20 -0
  343. package/dist/esm/util/typeGuards-node.js.map +1 -0
  344. package/dist/esm/util/typeGuards.d.ts +5 -4
  345. package/dist/esm/util/typeGuards.js +3 -9
  346. package/dist/esm/util/typeGuards.js.map +1 -1
  347. package/dist/esm/util/userAgent.d.ts +2 -0
  348. package/dist/esm/util/userAgent.js +1 -0
  349. package/dist/esm/util/userAgent.js.map +1 -1
  350. package/dist/esm/util/userAgentPlatform.d.ts +8 -0
  351. package/dist/esm/util/userAgentPlatform.js +6 -7
  352. package/dist/esm/util/userAgentPlatform.js.map +1 -1
  353. package/dist/react-native/client/clientHelpers.js +1 -1
  354. package/dist/react-native/client/clientHelpers.js.map +1 -1
  355. package/dist/react-native/client/common.d.ts +3 -2
  356. package/dist/react-native/client/common.js.map +1 -1
  357. package/dist/react-native/client/getClient.js +1 -1
  358. package/dist/react-native/client/getClient.js.map +1 -1
  359. package/dist/react-native/client/multipart.js +1 -1
  360. package/dist/react-native/client/multipart.js.map +1 -1
  361. package/dist/react-native/client/restError.js +5 -4
  362. package/dist/react-native/client/restError.js.map +1 -1
  363. package/dist/react-native/client/sendRequest.js +25 -14
  364. package/dist/react-native/client/sendRequest.js.map +1 -1
  365. package/dist/react-native/client/urlHelpers.js +9 -3
  366. package/dist/react-native/client/urlHelpers.js.map +1 -1
  367. package/dist/react-native/constants.js +1 -1
  368. package/dist/react-native/constants.js.map +1 -1
  369. package/dist/react-native/createPipelineFromOptions.d.ts +1 -1
  370. package/dist/react-native/createPipelineFromOptions.js +2 -21
  371. package/dist/react-native/createPipelineFromOptions.js.map +1 -1
  372. package/dist/react-native/{defaultHttpClient.d.ts → defaultHttpClient-react-native.d.mts} +1 -1
  373. package/dist/react-native/{defaultHttpClient.js → defaultHttpClient-react-native.mjs} +1 -1
  374. package/dist/react-native/defaultHttpClient-react-native.mjs.map +1 -0
  375. package/dist/react-native/encoding-react-native.d.mts +21 -0
  376. package/dist/react-native/encoding-react-native.mjs +25 -0
  377. package/dist/react-native/encoding-react-native.mjs.map +1 -0
  378. package/dist/{commonjs/util/checkEnvironment.d.ts → react-native/env-react-native.d.mts} +21 -1
  379. package/dist/react-native/env-react-native.mjs +50 -0
  380. package/dist/react-native/env-react-native.mjs.map +1 -0
  381. package/dist/react-native/formData-web.d.mts +9 -0
  382. package/dist/react-native/formData-web.mjs +12 -0
  383. package/dist/react-native/formData-web.mjs.map +1 -0
  384. package/dist/react-native/httpHeaders.js +11 -1
  385. package/dist/react-native/httpHeaders.js.map +1 -1
  386. package/dist/react-native/index.d.ts +3 -14
  387. package/dist/react-native/index.js +2 -2
  388. package/dist/react-native/index.js.map +1 -1
  389. package/dist/react-native/interfaces.d.ts +15 -14
  390. package/dist/react-native/interfaces.js.map +1 -1
  391. package/dist/react-native/logger/debug.js +3 -2
  392. package/dist/react-native/logger/debug.js.map +1 -1
  393. package/dist/{browser/logger/log.d.ts → react-native/logger/log-web.d.mts} +1 -1
  394. package/dist/react-native/logger/{log.js → log-web.mjs} +1 -1
  395. package/dist/react-native/logger/log-web.mjs.map +1 -0
  396. package/dist/react-native/logger/logger.js +2 -2
  397. package/dist/react-native/logger/logger.js.map +1 -1
  398. package/dist/react-native/pipelineRequest.js +1 -1
  399. package/dist/react-native/pipelineRequest.js.map +1 -1
  400. package/dist/react-native/policies/auth/basicAuthenticationPolicy.js +1 -1
  401. package/dist/react-native/policies/auth/basicAuthenticationPolicy.js.map +1 -1
  402. package/dist/react-native/policies/auth/checkInsecureConnection.js +3 -2
  403. package/dist/react-native/policies/auth/checkInsecureConnection.js.map +1 -1
  404. package/dist/react-native/policies/decompressResponsePolicy-web.d.mts +8 -0
  405. package/dist/react-native/policies/decompressResponsePolicy-web.mjs +11 -0
  406. package/dist/react-native/policies/decompressResponsePolicy-web.mjs.map +1 -0
  407. package/dist/react-native/policies/formDataPolicy.js +5 -12
  408. package/dist/react-native/policies/formDataPolicy.js.map +1 -1
  409. package/dist/react-native/policies/internal.d.ts +2 -2
  410. package/dist/react-native/policies/internal.js +2 -2
  411. package/dist/react-native/policies/internal.js.map +1 -1
  412. package/dist/react-native/policies/multipartPolicy.js +7 -3
  413. package/dist/react-native/policies/multipartPolicy.js.map +1 -1
  414. package/dist/react-native/policies/platformPolicies-web.d.mts +10 -0
  415. package/dist/react-native/policies/platformPolicies-web.mjs +12 -0
  416. package/dist/react-native/policies/platformPolicies-web.mjs.map +1 -0
  417. package/dist/react-native/policies/platformPolicies.d.ts +25 -0
  418. package/dist/react-native/policies/platformPolicies.js +30 -0
  419. package/dist/react-native/policies/platformPolicies.js.map +1 -0
  420. package/dist/react-native/policies/proxyPolicy-web.d.mts +2 -0
  421. package/dist/{browser/policies/proxyPolicy.js → react-native/policies/proxyPolicy-web.mjs} +1 -1
  422. package/dist/react-native/policies/proxyPolicy-web.mjs.map +1 -0
  423. package/dist/react-native/policies/retryPolicy.js +4 -3
  424. package/dist/react-native/policies/retryPolicy.js.map +1 -1
  425. package/dist/react-native/restError.js +1 -1
  426. package/dist/react-native/restError.js.map +1 -1
  427. package/dist/react-native/types-react-native.d.mts +19 -0
  428. package/dist/react-native/types-react-native.mjs +4 -0
  429. package/dist/react-native/types-react-native.mjs.map +1 -0
  430. package/dist/react-native/util/bytesEncoding-web.d.mts +2 -0
  431. package/dist/{browser/util/bytesEncoding.js → react-native/util/bytesEncoding-web.mjs} +1 -1
  432. package/dist/react-native/util/bytesEncoding-web.mjs.map +1 -0
  433. package/dist/react-native/util/bytesEncoding.common.d.ts +4 -4
  434. package/dist/react-native/util/bytesEncoding.common.js +3 -4
  435. package/dist/react-native/util/bytesEncoding.common.js.map +1 -1
  436. package/dist/react-native/util/concat-react-native.d.mts +42 -0
  437. package/dist/react-native/util/concat-react-native.mjs +51 -0
  438. package/dist/react-native/util/concat-react-native.mjs.map +1 -0
  439. package/dist/react-native/util/inspect-web.d.mts +2 -0
  440. package/dist/{browser/util/inspect.js → react-native/util/inspect-web.mjs} +1 -1
  441. package/dist/react-native/util/inspect-web.mjs.map +1 -0
  442. package/dist/react-native/util/internal.d.ts +4 -4
  443. package/dist/react-native/util/internal.js +4 -4
  444. package/dist/react-native/util/internal.js.map +1 -1
  445. package/dist/react-native/util/sanitizer.js +3 -3
  446. package/dist/react-native/util/sanitizer.js.map +1 -1
  447. package/dist/react-native/util/sha256-web.d.mts +2 -0
  448. package/dist/{browser/util/sha256.js → react-native/util/sha256-web.mjs} +1 -1
  449. package/dist/react-native/util/sha256-web.mjs.map +1 -0
  450. package/dist/react-native/util/sha256.common.js +1 -1
  451. package/dist/react-native/util/sha256.common.js.map +1 -1
  452. package/dist/react-native/util/typeGuards-react-native.d.mts +16 -0
  453. package/dist/react-native/util/typeGuards-react-native.mjs +34 -0
  454. package/dist/react-native/util/typeGuards-react-native.mjs.map +1 -0
  455. package/dist/react-native/util/typeGuards.d.ts +5 -4
  456. package/dist/react-native/util/typeGuards.js +3 -9
  457. package/dist/react-native/util/typeGuards.js.map +1 -1
  458. package/dist/react-native/util/userAgent.d.ts +2 -0
  459. package/dist/react-native/util/userAgent.js +2 -1
  460. package/dist/react-native/util/userAgent.js.map +1 -1
  461. package/dist/react-native/util/{userAgentPlatform.d.ts → userAgentPlatform-react-native.d.mts} +1 -1
  462. package/dist/react-native/util/{userAgentPlatform.js → userAgentPlatform-react-native.mjs} +1 -1
  463. package/dist/react-native/util/userAgentPlatform-react-native.mjs.map +1 -0
  464. package/dist/react-native/util/uuidUtils-react-native.d.mts +2 -0
  465. package/dist/react-native/util/{uuidUtils.js → uuidUtils-react-native.mjs} +1 -1
  466. package/dist/react-native/util/uuidUtils-react-native.mjs.map +1 -0
  467. package/dist/react-native/util/uuidUtils.common.js +1 -1
  468. package/dist/react-native/util/uuidUtils.common.js.map +1 -1
  469. package/package.json +102 -14
  470. package/dist/browser/defaultHttpClient.js.map +0 -1
  471. package/dist/browser/logger/log.js.map +0 -1
  472. package/dist/browser/nodeHttpClient.d.ts +0 -9
  473. package/dist/browser/nodeHttpClient.js +0 -347
  474. package/dist/browser/nodeHttpClient.js.map +0 -1
  475. package/dist/browser/policies/decompressResponsePolicy.js.map +0 -1
  476. package/dist/browser/policies/proxyPolicy.d.ts +0 -2
  477. package/dist/browser/policies/proxyPolicy.js.map +0 -1
  478. package/dist/browser/util/bytesEncoding.d.ts +0 -2
  479. package/dist/browser/util/bytesEncoding.js.map +0 -1
  480. package/dist/browser/util/checkEnvironment.js +0 -41
  481. package/dist/browser/util/checkEnvironment.js.map +0 -1
  482. package/dist/browser/util/concat.common.d.ts +0 -17
  483. package/dist/browser/util/concat.common.js +0 -58
  484. package/dist/browser/util/concat.common.js.map +0 -1
  485. package/dist/browser/util/concat.d.ts +0 -2
  486. package/dist/browser/util/concat.js.map +0 -1
  487. package/dist/browser/util/inspect.d.ts +0 -2
  488. package/dist/browser/util/inspect.js.map +0 -1
  489. package/dist/browser/util/sha256.d.ts +0 -2
  490. package/dist/browser/util/sha256.js.map +0 -1
  491. package/dist/browser/util/userAgentPlatform.d.ts +0 -9
  492. package/dist/browser/util/userAgentPlatform.js.map +0 -1
  493. package/dist/browser/util/uuidUtils.js.map +0 -1
  494. package/dist/browser/xhrHttpClient.d.ts +0 -7
  495. package/dist/browser/xhrHttpClient.js +0 -174
  496. package/dist/browser/xhrHttpClient.js.map +0 -1
  497. package/dist/commonjs/fetchHttpClient.d.ts +0 -7
  498. package/dist/commonjs/fetchHttpClient.js +0 -237
  499. package/dist/commonjs/fetchHttpClient.js.map +0 -7
  500. package/dist/commonjs/logger/log.common.d.ts +0 -2
  501. package/dist/commonjs/logger/log.common.js.map +0 -7
  502. package/dist/commonjs/policies/proxyPolicy.common.d.ts +0 -19
  503. package/dist/commonjs/policies/proxyPolicy.common.js +0 -43
  504. package/dist/commonjs/policies/proxyPolicy.common.js.map +0 -7
  505. package/dist/commonjs/util/arrayBuffer.d.ts +0 -7
  506. package/dist/commonjs/util/arrayBuffer.js +0 -36
  507. package/dist/commonjs/util/arrayBuffer.js.map +0 -7
  508. package/dist/commonjs/util/bytesEncoding.common.d.ts +0 -61
  509. package/dist/commonjs/util/bytesEncoding.common.js +0 -105
  510. package/dist/commonjs/util/bytesEncoding.common.js.map +0 -7
  511. package/dist/commonjs/util/checkEnvironment.js +0 -45
  512. package/dist/commonjs/util/checkEnvironment.js.map +0 -7
  513. package/dist/commonjs/util/concat.common.d.ts +0 -17
  514. package/dist/commonjs/util/concat.common.js +0 -60
  515. package/dist/commonjs/util/concat.common.js.map +0 -7
  516. package/dist/commonjs/util/inspect.common.d.ts +0 -2
  517. package/dist/commonjs/util/inspect.common.js.map +0 -7
  518. package/dist/commonjs/util/sha256.common.d.ts +0 -14
  519. package/dist/commonjs/util/sha256.common.js +0 -69
  520. package/dist/commonjs/util/sha256.common.js.map +0 -7
  521. package/dist/commonjs/util/uuidUtils.common.d.ts +0 -13
  522. package/dist/commonjs/util/uuidUtils.common.js +0 -48
  523. package/dist/commonjs/util/uuidUtils.common.js.map +0 -7
  524. package/dist/commonjs/xhrHttpClient.d.ts +0 -7
  525. package/dist/commonjs/xhrHttpClient.js +0 -185
  526. package/dist/commonjs/xhrHttpClient.js.map +0 -7
  527. package/dist/esm/fetchHttpClient.d.ts +0 -7
  528. package/dist/esm/fetchHttpClient.js +0 -279
  529. package/dist/esm/fetchHttpClient.js.map +0 -1
  530. package/dist/esm/logger/log.common.d.ts +0 -2
  531. package/dist/esm/logger/log.common.js +0 -23
  532. package/dist/esm/logger/log.common.js.map +0 -1
  533. package/dist/esm/policies/proxyPolicy.common.d.ts +0 -19
  534. package/dist/esm/policies/proxyPolicy.common.js +0 -24
  535. package/dist/esm/policies/proxyPolicy.common.js.map +0 -1
  536. package/dist/esm/util/arrayBuffer.d.ts +0 -7
  537. package/dist/esm/util/arrayBuffer.js +0 -20
  538. package/dist/esm/util/arrayBuffer.js.map +0 -1
  539. package/dist/esm/util/bytesEncoding.common.d.ts +0 -61
  540. package/dist/esm/util/bytesEncoding.common.js +0 -110
  541. package/dist/esm/util/bytesEncoding.common.js.map +0 -1
  542. package/dist/esm/util/checkEnvironment.js.map +0 -1
  543. package/dist/esm/util/concat.common.d.ts +0 -17
  544. package/dist/esm/util/concat.common.js.map +0 -1
  545. package/dist/esm/util/inspect.common.d.ts +0 -2
  546. package/dist/esm/util/inspect.common.js +0 -4
  547. package/dist/esm/util/inspect.common.js.map +0 -1
  548. package/dist/esm/util/sha256.common.d.ts +0 -14
  549. package/dist/esm/util/sha256.common.js +0 -49
  550. package/dist/esm/util/sha256.common.js.map +0 -1
  551. package/dist/esm/util/uuidUtils.common.d.ts +0 -13
  552. package/dist/esm/util/uuidUtils.common.js +0 -40
  553. package/dist/esm/util/uuidUtils.common.js.map +0 -1
  554. package/dist/esm/xhrHttpClient.d.ts +0 -7
  555. package/dist/esm/xhrHttpClient.js +0 -174
  556. package/dist/esm/xhrHttpClient.js.map +0 -1
  557. package/dist/react-native/defaultHttpClient.js.map +0 -1
  558. package/dist/react-native/fetchHttpClient.d.ts +0 -7
  559. package/dist/react-native/fetchHttpClient.js +0 -279
  560. package/dist/react-native/fetchHttpClient.js.map +0 -1
  561. package/dist/react-native/logger/log.js.map +0 -1
  562. package/dist/react-native/nodeHttpClient.d.ts +0 -9
  563. package/dist/react-native/nodeHttpClient.js +0 -347
  564. package/dist/react-native/nodeHttpClient.js.map +0 -1
  565. package/dist/react-native/policies/decompressResponsePolicy.d.ts +0 -11
  566. package/dist/react-native/policies/decompressResponsePolicy.js +0 -23
  567. package/dist/react-native/policies/decompressResponsePolicy.js.map +0 -1
  568. package/dist/react-native/policies/proxyPolicy.d.ts +0 -2
  569. package/dist/react-native/policies/proxyPolicy.js.map +0 -1
  570. package/dist/react-native/util/bytesEncoding.d.ts +0 -2
  571. package/dist/react-native/util/bytesEncoding.js.map +0 -1
  572. package/dist/react-native/util/checkEnvironment.js +0 -41
  573. package/dist/react-native/util/checkEnvironment.js.map +0 -1
  574. package/dist/react-native/util/concat.common.d.ts +0 -17
  575. package/dist/react-native/util/concat.common.js +0 -58
  576. package/dist/react-native/util/concat.common.js.map +0 -1
  577. package/dist/react-native/util/concat.d.ts +0 -2
  578. package/dist/react-native/util/concat.js +0 -4
  579. package/dist/react-native/util/concat.js.map +0 -1
  580. package/dist/react-native/util/inspect.d.ts +0 -2
  581. package/dist/react-native/util/inspect.js.map +0 -1
  582. package/dist/react-native/util/sha256.d.ts +0 -2
  583. package/dist/react-native/util/sha256.js.map +0 -1
  584. package/dist/react-native/util/userAgentPlatform.js.map +0 -1
  585. package/dist/react-native/util/uuidUtils.d.ts +0 -2
  586. package/dist/react-native/util/uuidUtils.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/policies/throttlingRetryPolicy.ts"],
3
+ "sources": ["../../../src/policies/throttlingRetryPolicy.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PipelinePolicy } from \"../pipeline.js\";\nimport { throttlingRetryStrategy } from \"../retryStrategies/throttlingRetryStrategy.js\";\nimport { retryPolicy } from \"./retryPolicy.js\";\nimport { DEFAULT_RETRY_POLICY_COUNT } from \"../constants.js\";\n\n/**\n * Name of the {@link throttlingRetryPolicy}\n */\nexport const throttlingRetryPolicyName = \"throttlingRetryPolicy\";\n\n/**\n * Options that control how to retry failed requests.\n */\nexport interface ThrottlingRetryPolicyOptions {\n /**\n * The maximum number of retry attempts. Defaults to 3.\n */\n maxRetries?: number;\n}\n\n/**\n * A policy that retries when the server sends a 429 response with a Retry-After header.\n *\n * To learn more, please refer to\n * https://learn.microsoft.com/azure/azure-resource-manager/resource-manager-request-limits,\n * https://learn.microsoft.com/azure/azure-subscription-service-limits and\n * https://learn.microsoft.com/azure/virtual-machines/troubleshooting/troubleshooting-throttling-errors\n *\n * @param options - Options that configure retry logic.\n */\nexport function throttlingRetryPolicy(options: ThrottlingRetryPolicyOptions = {}): PipelinePolicy {\n return {\n name: throttlingRetryPolicyName,\n sendRequest: retryPolicy([throttlingRetryStrategy()], {\n maxRetries: options.maxRetries ?? DEFAULT_RETRY_POLICY_COUNT,\n }).sendRequest,\n };\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,qCAAwC;AACxC,yBAA4B;AAC5B,uBAA2C;AAKpC,MAAM,4BAA4B;AAsBlC,SAAS,sBAAsB,UAAwC,CAAC,GAAmB;AAChG,SAAO;AAAA,IACL,MAAM;AAAA,IACN,iBAAa,gCAAY,KAAC,wDAAwB,CAAC,GAAG;AAAA,MACpD,YAAY,QAAQ,cAAc;AAAA,IACpC,CAAC,EAAE;AAAA,EACL;AACF;",
6
6
  "names": []
@@ -38,3 +38,4 @@ function tlsPolicy(tlsSettings) {
38
38
  tlsPolicy,
39
39
  tlsPolicyName
40
40
  });
41
+ //# sourceMappingURL=tlsPolicy.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/policies/tlsPolicy.ts"],
3
+ "sources": ["../../../src/policies/tlsPolicy.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PipelinePolicy } from \"../pipeline.js\";\nimport type { TlsSettings } from \"../interfaces.js\";\n\n/**\n * Name of the TLS Policy\n */\nexport const tlsPolicyName = \"tlsPolicy\";\n\n/**\n * Gets a pipeline policy that adds the client certificate to the HttpClient agent for authentication.\n */\nexport function tlsPolicy(tlsSettings?: TlsSettings): PipelinePolicy {\n return {\n name: tlsPolicyName,\n sendRequest: async (req, next) => {\n // Users may define a request tlsSettings, honor those over the client level one\n if (!req.tlsSettings) {\n req.tlsSettings = tlsSettings;\n }\n return next(req);\n },\n };\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASO,MAAM,gBAAgB;AAKtB,SAAS,UAAU,aAA2C;AACnE,SAAO;AAAA,IACL,MAAM;AAAA,IACN,aAAa,OAAO,KAAK,SAAS;AAEhC,UAAI,CAAC,IAAI,aAAa;AACpB,YAAI,cAAc;AAAA,MACpB;AACA,aAAO,KAAK,GAAG;AAAA,IACjB;AAAA,EACF;AACF;",
6
6
  "names": []
@@ -41,3 +41,4 @@ function userAgentPolicy(options = {}) {
41
41
  userAgentPolicy,
42
42
  userAgentPolicyName
43
43
  });
44
+ //# sourceMappingURL=userAgentPolicy.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/policies/userAgentPolicy.ts"],
3
+ "sources": ["../../../src/policies/userAgentPolicy.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PipelineRequest, PipelineResponse, SendRequest } from \"../interfaces.js\";\nimport type { PipelinePolicy } from \"../pipeline.js\";\nimport { getUserAgentHeaderName, getUserAgentValue } from \"../util/userAgent.js\";\n\nconst UserAgentHeaderName = getUserAgentHeaderName();\n\n/**\n * The programmatic identifier of the userAgentPolicy.\n */\nexport const userAgentPolicyName = \"userAgentPolicy\";\n\n/**\n * Options for adding user agent details to outgoing requests.\n */\nexport interface UserAgentPolicyOptions {\n /**\n * String prefix to add to the user agent for outgoing requests.\n * Defaults to an empty string.\n */\n userAgentPrefix?: string;\n}\n\n/**\n * A policy that sets the User-Agent header (or equivalent) to reflect\n * the library version.\n * @param options - Options to customize the user agent value.\n */\nexport function userAgentPolicy(options: UserAgentPolicyOptions = {}): PipelinePolicy {\n const userAgentValue = getUserAgentValue(options.userAgentPrefix);\n return {\n name: userAgentPolicyName,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n if (!request.headers.has(UserAgentHeaderName)) {\n request.headers.set(UserAgentHeaderName, await userAgentValue);\n }\n return next(request);\n },\n };\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,uBAA0D;AAE1D,MAAM,0BAAsB,yCAAuB;AAK5C,MAAM,sBAAsB;AAkB5B,SAAS,gBAAgB,UAAkC,CAAC,GAAmB;AACpF,QAAM,qBAAiB,oCAAkB,QAAQ,eAAe;AAChE,SAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM,YAAY,SAA0B,MAA8C;AACxF,UAAI,CAAC,QAAQ,QAAQ,IAAI,mBAAmB,GAAG;AAC7C,gBAAQ,QAAQ,IAAI,qBAAqB,MAAM,cAAc;AAAA,MAC/D;AACA,aAAO,KAAK,OAAO;AAAA,IACrB;AAAA,EACF;AACF;",
6
6
  "names": []
@@ -95,3 +95,4 @@ function isRestError(e) {
95
95
  RestError,
96
96
  isRestError
97
97
  });
98
+ //# sourceMappingURL=restError.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/restError.ts"],
4
- "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { isError } from \"./util/error.js\";\nimport type { PipelineRequest, PipelineResponse } from \"./interfaces.js\";\nimport { custom } from \"./util/inspect.js\";\nimport { Sanitizer } from \"./util/sanitizer.js\";\n\nconst errorSanitizer = new Sanitizer();\n\n/**\n * The options supported by RestError.\n */\nexport interface RestErrorOptions {\n /**\n * The code of the error itself (use statics on RestError if possible.)\n */\n code?: string;\n /**\n * The HTTP status code of the request (if applicable.)\n */\n statusCode?: number;\n /**\n * The request that was made.\n */\n request?: PipelineRequest;\n /**\n * The response received (if any.)\n */\n response?: PipelineResponse;\n}\n\n/**\n * A custom error type for failed pipeline requests.\n */\nexport class RestError extends Error {\n /**\n * Something went wrong when making the request.\n * This means the actual request failed for some reason,\n * such as a DNS issue or the connection being lost.\n */\n static readonly REQUEST_SEND_ERROR: string = \"REQUEST_SEND_ERROR\";\n /**\n * This means that parsing the response from the server failed.\n * It may have been malformed.\n */\n static readonly PARSE_ERROR: string = \"PARSE_ERROR\";\n\n /**\n * The code of the error itself (use statics on RestError if possible.)\n */\n public code?: string;\n /**\n * The HTTP status code of the request (if applicable.)\n */\n public statusCode?: number;\n /**\n * The request that was made.\n * This property is non-enumerable.\n */\n public request?: PipelineRequest;\n /**\n * The response received (if any.)\n * This property is non-enumerable.\n */\n public response?: PipelineResponse;\n /**\n * Bonus property set by the throw site.\n */\n public details?: unknown;\n\n constructor(message: string, options: RestErrorOptions = {}) {\n super(message);\n this.name = \"RestError\";\n this.code = options.code;\n this.statusCode = options.statusCode;\n\n // The request and response may contain sensitive information in the headers or body.\n // To help prevent this sensitive information being accidentally logged, the request and response\n // properties are marked as non-enumerable here. This prevents them showing up in the output of\n // JSON.stringify and console.log.\n Object.defineProperty(this, \"request\", { value: options.request, enumerable: false });\n Object.defineProperty(this, \"response\", { value: options.response, enumerable: false });\n\n // Only include useful agent information in the request for logging, as the full agent object\n // may contain large binary data.\n const agent = this.request?.agent\n ? {\n maxFreeSockets: this.request.agent.maxFreeSockets,\n maxSockets: this.request.agent.maxSockets,\n }\n : undefined;\n\n // Logging method for util.inspect in Node\n Object.defineProperty(this, custom, {\n value: () => {\n // Extract non-enumerable properties and add them back. This is OK since in this output the request and\n // response get sanitized.\n return `RestError: ${this.message} \\n ${errorSanitizer.sanitize({\n ...this,\n request: { ...this.request, agent },\n response: this.response,\n })}`;\n },\n enumerable: false,\n });\n\n Object.setPrototypeOf(this, RestError.prototype);\n }\n}\n\n/**\n * Typeguard for RestError\n * @param e - Something caught by a catch clause.\n */\nexport function isRestError(e: unknown): e is RestError {\n if (e instanceof RestError) {\n return true;\n }\n return isError(e) && e.name === \"RestError\";\n}\n"],
3
+ "sources": ["../../src/restError.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { isError } from \"./util/error.js\";\nimport type { PipelineRequest, PipelineResponse } from \"./interfaces.js\";\nimport { custom } from \"#platform/inspect\";\nimport { Sanitizer } from \"./util/sanitizer.js\";\n\nconst errorSanitizer = new Sanitizer();\n\n/**\n * The options supported by RestError.\n */\nexport interface RestErrorOptions {\n /**\n * The code of the error itself (use statics on RestError if possible.)\n */\n code?: string;\n /**\n * The HTTP status code of the request (if applicable.)\n */\n statusCode?: number;\n /**\n * The request that was made.\n */\n request?: PipelineRequest;\n /**\n * The response received (if any.)\n */\n response?: PipelineResponse;\n}\n\n/**\n * A custom error type for failed pipeline requests.\n */\nexport class RestError extends Error {\n /**\n * Something went wrong when making the request.\n * This means the actual request failed for some reason,\n * such as a DNS issue or the connection being lost.\n */\n static readonly REQUEST_SEND_ERROR: string = \"REQUEST_SEND_ERROR\";\n /**\n * This means that parsing the response from the server failed.\n * It may have been malformed.\n */\n static readonly PARSE_ERROR: string = \"PARSE_ERROR\";\n\n /**\n * The code of the error itself (use statics on RestError if possible.)\n */\n public code?: string;\n /**\n * The HTTP status code of the request (if applicable.)\n */\n public statusCode?: number;\n /**\n * The request that was made.\n * This property is non-enumerable.\n */\n public request?: PipelineRequest;\n /**\n * The response received (if any.)\n * This property is non-enumerable.\n */\n public response?: PipelineResponse;\n /**\n * Bonus property set by the throw site.\n */\n public details?: unknown;\n\n constructor(message: string, options: RestErrorOptions = {}) {\n super(message);\n this.name = \"RestError\";\n this.code = options.code;\n this.statusCode = options.statusCode;\n\n // The request and response may contain sensitive information in the headers or body.\n // To help prevent this sensitive information being accidentally logged, the request and response\n // properties are marked as non-enumerable here. This prevents them showing up in the output of\n // JSON.stringify and console.log.\n Object.defineProperty(this, \"request\", { value: options.request, enumerable: false });\n Object.defineProperty(this, \"response\", { value: options.response, enumerable: false });\n\n // Only include useful agent information in the request for logging, as the full agent object\n // may contain large binary data.\n const agent = this.request?.agent\n ? {\n maxFreeSockets: this.request.agent.maxFreeSockets,\n maxSockets: this.request.agent.maxSockets,\n }\n : undefined;\n\n // Logging method for util.inspect in Node\n Object.defineProperty(this, custom, {\n value: () => {\n // Extract non-enumerable properties and add them back. This is OK since in this output the request and\n // response get sanitized.\n return `RestError: ${this.message} \\n ${errorSanitizer.sanitize({\n ...this,\n request: { ...this.request, agent },\n response: this.response,\n })}`;\n },\n enumerable: false,\n });\n\n Object.setPrototypeOf(this, RestError.prototype);\n }\n}\n\n/**\n * Typeguard for RestError\n * @param e - Something caught by a catch clause.\n */\nexport function isRestError(e: unknown): e is RestError {\n if (e instanceof RestError) {\n return true;\n }\n return isError(e) && e.name === \"RestError\";\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAAwB;AAExB,qBAAuB;AACvB,uBAA0B;AAE1B,MAAM,iBAAiB,IAAI,2BAAU;AA2B9B,MAAM,kBAAkB,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnC,OAAgB,qBAA6B;AAAA;AAAA;AAAA;AAAA;AAAA,EAK7C,OAAgB,cAAsB;AAAA;AAAA;AAAA;AAAA,EAK/B;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA,EAEP,YAAY,SAAiB,UAA4B,CAAC,GAAG;AAC3D,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,OAAO,QAAQ;AACpB,SAAK,aAAa,QAAQ;AAM1B,WAAO,eAAe,MAAM,WAAW,EAAE,OAAO,QAAQ,SAAS,YAAY,MAAM,CAAC;AACpF,WAAO,eAAe,MAAM,YAAY,EAAE,OAAO,QAAQ,UAAU,YAAY,MAAM,CAAC;AAItF,UAAM,QAAQ,KAAK,SAAS,QACxB;AAAA,MACE,gBAAgB,KAAK,QAAQ,MAAM;AAAA,MACnC,YAAY,KAAK,QAAQ,MAAM;AAAA,IACjC,IACA;AAGJ,WAAO,eAAe,MAAM,uBAAQ;AAAA,MAClC,OAAO,MAAM;AAGX,eAAO,cAAc,KAAK,OAAO;AAAA,GAAO,eAAe,SAAS;AAAA,UAC9D,GAAG;AAAA,UACH,SAAS,EAAE,GAAG,KAAK,SAAS,MAAM;AAAA,UAClC,UAAU,KAAK;AAAA,QACjB,CAAC,CAAC;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,IACd,CAAC;AAED,WAAO,eAAe,MAAM,UAAU,SAAS;AAAA,EACjD;AACF;AAMO,SAAS,YAAY,GAA4B;AACtD,MAAI,aAAa,WAAW;AAC1B,WAAO;AAAA,EACT;AACA,aAAO,sBAAQ,CAAC,KAAK,EAAE,SAAS;AAClC;",
6
6
  "names": []
7
7
  }
@@ -67,3 +67,4 @@ function isSystemError(err) {
67
67
  isExponentialRetryResponse,
68
68
  isSystemError
69
69
  });
70
+ //# sourceMappingURL=exponentialRetryStrategy.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/retryStrategies/exponentialRetryStrategy.ts"],
3
+ "sources": ["../../../src/retryStrategies/exponentialRetryStrategy.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PipelineResponse } from \"../interfaces.js\";\nimport type { RestError } from \"../restError.js\";\nimport { calculateRetryDelay } from \"../util/delay.js\";\nimport type { RetryStrategy } from \"./retryStrategy.js\";\nimport { isThrottlingRetryResponse } from \"./throttlingRetryStrategy.js\";\n\n// intervals are in milliseconds\nconst DEFAULT_CLIENT_RETRY_INTERVAL = 1000;\nconst DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1000 * 64;\n\n/**\n * A retry strategy that retries with an exponentially increasing delay in these two cases:\n * - When there are errors in the underlying transport layer (e.g. DNS lookup failures).\n * - Or otherwise if the outgoing request fails (408, greater or equal than 500, except for 501 and 505).\n */\nexport function exponentialRetryStrategy(\n options: {\n /**\n * The amount of delay in milliseconds between retry attempts. Defaults to 1000\n * (1 second.) The delay increases exponentially with each retry up to a maximum\n * specified by maxRetryDelayInMs.\n */\n retryDelayInMs?: number;\n\n /**\n * The maximum delay in milliseconds allowed before retrying an operation. Defaults\n * to 64000 (64 seconds).\n */\n maxRetryDelayInMs?: number;\n\n /**\n * If true it won't retry if it received a system error.\n */\n ignoreSystemErrors?: boolean;\n\n /**\n * If true it won't retry if it received a non-fatal HTTP status code.\n */\n ignoreHttpStatusCodes?: boolean;\n } = {},\n): RetryStrategy {\n const retryInterval = options.retryDelayInMs ?? DEFAULT_CLIENT_RETRY_INTERVAL;\n const maxRetryInterval = options.maxRetryDelayInMs ?? DEFAULT_CLIENT_MAX_RETRY_INTERVAL;\n\n return {\n name: \"exponentialRetryStrategy\",\n retry({ retryCount, response, responseError }) {\n const matchedSystemError = isSystemError(responseError);\n const ignoreSystemErrors = matchedSystemError && options.ignoreSystemErrors;\n\n const isExponential = isExponentialRetryResponse(response);\n const ignoreExponentialResponse = isExponential && options.ignoreHttpStatusCodes;\n const unknownResponse = response && (isThrottlingRetryResponse(response) || !isExponential);\n\n if (unknownResponse || ignoreExponentialResponse || ignoreSystemErrors) {\n return { skipStrategy: true };\n }\n\n if (responseError && !matchedSystemError && !isExponential) {\n return { errorToThrow: responseError };\n }\n\n return calculateRetryDelay(retryCount, {\n retryDelayInMs: retryInterval,\n maxRetryDelayInMs: maxRetryInterval,\n });\n },\n };\n}\n\n/**\n * A response is a retry response if it has status codes:\n * - 408, or\n * - Greater or equal than 500, except for 501 and 505.\n */\nexport function isExponentialRetryResponse(response?: PipelineResponse): boolean {\n return Boolean(\n response &&\n response.status !== undefined &&\n (response.status >= 500 || response.status === 408) &&\n response.status !== 501 &&\n response.status !== 505,\n );\n}\n\n/**\n * Determines whether an error from a pipeline response was triggered in the network layer.\n */\nexport function isSystemError(err?: RestError): boolean {\n if (!err) {\n return false;\n }\n return (\n err.code === \"ETIMEDOUT\" ||\n err.code === \"ESOCKETTIMEDOUT\" ||\n err.code === \"ECONNREFUSED\" ||\n err.code === \"ECONNRESET\" ||\n err.code === \"ENOENT\" ||\n err.code === \"ENOTFOUND\"\n );\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,mBAAoC;AAEpC,qCAA0C;AAG1C,MAAM,gCAAgC;AACtC,MAAM,oCAAoC,MAAO;AAO1C,SAAS,yBACd,UAuBI,CAAC,GACU;AACf,QAAM,gBAAgB,QAAQ,kBAAkB;AAChD,QAAM,mBAAmB,QAAQ,qBAAqB;AAEtD,SAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM,EAAE,YAAY,UAAU,cAAc,GAAG;AAC7C,YAAM,qBAAqB,cAAc,aAAa;AACtD,YAAM,qBAAqB,sBAAsB,QAAQ;AAEzD,YAAM,gBAAgB,2BAA2B,QAAQ;AACzD,YAAM,4BAA4B,iBAAiB,QAAQ;AAC3D,YAAM,kBAAkB,iBAAa,0DAA0B,QAAQ,KAAK,CAAC;AAE7E,UAAI,mBAAmB,6BAA6B,oBAAoB;AACtE,eAAO,EAAE,cAAc,KAAK;AAAA,MAC9B;AAEA,UAAI,iBAAiB,CAAC,sBAAsB,CAAC,eAAe;AAC1D,eAAO,EAAE,cAAc,cAAc;AAAA,MACvC;AAEA,iBAAO,kCAAoB,YAAY;AAAA,QACrC,gBAAgB;AAAA,QAChB,mBAAmB;AAAA,MACrB,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAOO,SAAS,2BAA2B,UAAsC;AAC/E,SAAO;AAAA,IACL,YACA,SAAS,WAAW,WACnB,SAAS,UAAU,OAAO,SAAS,WAAW,QAC/C,SAAS,WAAW,OACpB,SAAS,WAAW;AAAA,EACtB;AACF;AAKO,SAAS,cAAc,KAA0B;AACtD,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AACA,SACE,IAAI,SAAS,eACb,IAAI,SAAS,qBACb,IAAI,SAAS,kBACb,IAAI,SAAS,gBACb,IAAI,SAAS,YACb,IAAI,SAAS;AAEjB;",
6
6
  "names": []
@@ -13,3 +13,4 @@ var __copyProps = (to, from, except, desc) => {
13
13
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
14
  var retryStrategy_exports = {};
15
15
  module.exports = __toCommonJS(retryStrategy_exports);
16
+ //# sourceMappingURL=retryStrategy.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/retryStrategies/retryStrategy.ts"],
3
+ "sources": ["../../../src/retryStrategies/retryStrategy.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { TypeSpecRuntimeLogger } from \"../logger/logger.js\";\nimport type { PipelineResponse } from \"../interfaces.js\";\nimport type { RestError } from \"../restError.js\";\n\n/**\n * Information provided to the retry strategy about the current progress of the retry policy.\n */\nexport interface RetryInformation {\n /**\n * A {@link PipelineResponse}, if the last retry attempt succeeded.\n */\n response?: PipelineResponse;\n /**\n * A {@link RestError}, if the last retry attempt failed.\n */\n responseError?: RestError;\n /**\n * Total number of retries so far.\n */\n retryCount: number;\n}\n\n/**\n * Properties that can modify the behavior of the retry policy.\n */\nexport interface RetryModifiers {\n /**\n * If true, allows skipping the current strategy from running on the retry policy.\n */\n skipStrategy?: boolean;\n /**\n * Indicates to retry against this URL.\n */\n redirectTo?: string;\n /**\n * Controls whether to retry in a given number of milliseconds.\n * If provided, a new retry will be attempted.\n */\n retryAfterInMs?: number;\n /**\n * Indicates to throw this error instead of retrying.\n */\n errorToThrow?: RestError;\n}\n\n/**\n * A retry strategy is intended to define whether to retry or not, and how to retry.\n */\nexport interface RetryStrategy {\n /**\n * Name of the retry strategy. Used for logging.\n */\n name: string;\n /**\n * Logger. If it's not provided, a default logger for all retry strategies is used.\n */\n logger?: TypeSpecRuntimeLogger;\n /**\n * Function that determines how to proceed with the subsequent requests.\n * @param state - Retry state\n */\n retry(state: RetryInformation): RetryModifiers;\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -65,3 +65,4 @@ function throttlingRetryStrategy() {
65
65
  isThrottlingRetryResponse,
66
66
  throttlingRetryStrategy
67
67
  });
68
+ //# sourceMappingURL=throttlingRetryStrategy.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/retryStrategies/throttlingRetryStrategy.ts"],
3
+ "sources": ["../../../src/retryStrategies/throttlingRetryStrategy.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PipelineResponse } from \"../interfaces.js\";\nimport { parseHeaderValueAsNumber } from \"../util/helpers.js\";\nimport type { RetryStrategy } from \"./retryStrategy.js\";\n\n/**\n * The header that comes back from services representing\n * the amount of time (minimum) to wait to retry (in seconds or timestamp after which we can retry).\n */\nconst RetryAfterHeader = \"Retry-After\";\n/**\n * The headers that come back from services representing\n * the amount of time (minimum) to wait to retry.\n *\n * \"retry-after-ms\", \"x-ms-retry-after-ms\" : milliseconds\n * \"Retry-After\" : seconds or timestamp\n */\nconst AllRetryAfterHeaders: string[] = [\"retry-after-ms\", \"x-ms-retry-after-ms\", RetryAfterHeader];\n\n/**\n * A response is a throttling retry response if it has a throttling status code (429 or 503),\n * as long as one of the [ \"Retry-After\" or \"retry-after-ms\" or \"x-ms-retry-after-ms\" ] headers has a valid value.\n *\n * Returns the `retryAfterInMs` value if the response is a throttling retry response.\n * If not throttling retry response, returns `undefined`.\n *\n * @internal\n */\nfunction getRetryAfterInMs(response?: PipelineResponse): number | undefined {\n if (!(response && [429, 503].includes(response.status))) return undefined;\n try {\n // Headers: \"retry-after-ms\", \"x-ms-retry-after-ms\", \"Retry-After\"\n for (const header of AllRetryAfterHeaders) {\n const retryAfterValue = parseHeaderValueAsNumber(response, header);\n if (retryAfterValue === 0 || retryAfterValue) {\n // \"Retry-After\" header ==> seconds\n // \"retry-after-ms\", \"x-ms-retry-after-ms\" headers ==> milli-seconds\n const multiplyingFactor = header === RetryAfterHeader ? 1000 : 1;\n return retryAfterValue * multiplyingFactor; // in milli-seconds\n }\n }\n\n // RetryAfterHeader (\"Retry-After\") has a special case where it might be formatted as a date instead of a number of seconds\n const retryAfterHeader = response.headers.get(RetryAfterHeader);\n if (!retryAfterHeader) return;\n\n const date = Date.parse(retryAfterHeader);\n const diff = date - Date.now();\n // negative diff would mean a date in the past, so retry asap with 0 milliseconds\n return Number.isFinite(diff) ? Math.max(0, diff) : undefined;\n } catch {\n return undefined;\n }\n}\n\n/**\n * A response is a retry response if it has a throttling status code (429 or 503),\n * as long as one of the [ \"Retry-After\" or \"retry-after-ms\" or \"x-ms-retry-after-ms\" ] headers has a valid value.\n */\nexport function isThrottlingRetryResponse(response?: PipelineResponse): boolean {\n return Number.isFinite(getRetryAfterInMs(response));\n}\n\nexport function throttlingRetryStrategy(): RetryStrategy {\n return {\n name: \"throttlingRetryStrategy\",\n retry({ response }) {\n const retryAfterInMs = getRetryAfterInMs(response);\n if (!Number.isFinite(retryAfterInMs)) {\n return { skipStrategy: true };\n }\n return {\n retryAfterInMs,\n };\n },\n };\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,qBAAyC;AAOzC,MAAM,mBAAmB;AAQzB,MAAM,uBAAiC,CAAC,kBAAkB,uBAAuB,gBAAgB;AAWjG,SAAS,kBAAkB,UAAiD;AAC1E,MAAI,EAAE,YAAY,CAAC,KAAK,GAAG,EAAE,SAAS,SAAS,MAAM,GAAI,QAAO;AAChE,MAAI;AAEF,eAAW,UAAU,sBAAsB;AACzC,YAAM,sBAAkB,yCAAyB,UAAU,MAAM;AACjE,UAAI,oBAAoB,KAAK,iBAAiB;AAG5C,cAAM,oBAAoB,WAAW,mBAAmB,MAAO;AAC/D,eAAO,kBAAkB;AAAA,MAC3B;AAAA,IACF;AAGA,UAAM,mBAAmB,SAAS,QAAQ,IAAI,gBAAgB;AAC9D,QAAI,CAAC,iBAAkB;AAEvB,UAAM,OAAO,KAAK,MAAM,gBAAgB;AACxC,UAAM,OAAO,OAAO,KAAK,IAAI;AAE7B,WAAO,OAAO,SAAS,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI;AAAA,EACrD,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAMO,SAAS,0BAA0B,UAAsC;AAC9E,SAAO,OAAO,SAAS,kBAAkB,QAAQ,CAAC;AACpD;AAEO,SAAS,0BAAyC;AACvD,SAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM,EAAE,SAAS,GAAG;AAClB,YAAM,iBAAiB,kBAAkB,QAAQ;AACjD,UAAI,CAAC,OAAO,SAAS,cAAc,GAAG;AACpC,eAAO,EAAE,cAAc,KAAK;AAAA,MAC9B;AACA,aAAO;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
6
6
  "names": []
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.57.6"
8
+ "packageVersion": "7.58.7"
9
9
  }
10
10
  ]
11
11
  }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Re-export of `NodeJS.ReadableStream` for use in platform-neutral code.
3
+ *
4
+ * @public
5
+ */
6
+ export type NodeReadableStream = NodeJS.ReadableStream;
7
+ /**
8
+ * Re-export of `Buffer` for use in platform-neutral code.
9
+ *
10
+ * @public
11
+ */
12
+ export type NodeBuffer = Buffer;
13
+ /**
14
+ * Re-export of the Web `ReadableStream` for use in platform-neutral code.
15
+ *
16
+ * @public
17
+ */
18
+ export type WebReadableStream<R = any> = ReadableStream<R>;
19
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,16 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var types_exports = {};
15
+ module.exports = __toCommonJS(types_exports);
16
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/types.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Re-export of `NodeJS.ReadableStream` for use in platform-neutral code.\n *\n * @public\n */\nexport type NodeReadableStream = NodeJS.ReadableStream;\n\n/**\n * Re-export of `Buffer` for use in platform-neutral code.\n *\n * @public\n */\nexport type NodeBuffer = Buffer;\n\n/**\n * Re-export of the Web `ReadableStream` for use in platform-neutral code.\n *\n * @public\n */\nexport type WebReadableStream<R = any> = ReadableStream<R>;\n"],
5
+ "mappings": ";;;;;;;;;;;;;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -32,3 +32,4 @@ function stringToUint8Array(value, format) {
32
32
  stringToUint8Array,
33
33
  uint8ArrayToString
34
34
  });
35
+ //# sourceMappingURL=bytesEncoding.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/util/bytesEncoding.ts"],
3
+ "sources": ["../../../src/util/bytesEncoding.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/** The supported character encoding type */\nexport type EncodingType = \"utf-8\" | \"base64\" | \"base64url\" | \"hex\";\n\n/**\n * The helper that transforms bytes with specific character encoding into string\n * @param bytes - the uint8array bytes\n * @param format - the format we use to encode the byte\n * @returns a string of the encoded string\n */\nexport function uint8ArrayToString(bytes: Uint8Array, format: EncodingType): string {\n return Buffer.from(bytes).toString(format);\n}\n\n/**\n * The helper that transforms string to specific character encoded bytes array.\n * @param value - the string to be converted\n * @param format - the format we use to decode the value\n * @returns a uint8array\n */\nexport function stringToUint8Array(value: string, format: EncodingType): Uint8Array {\n return Buffer.from(value, format);\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYO,SAAS,mBAAmB,OAAmB,QAA8B;AAClF,SAAO,OAAO,KAAK,KAAK,EAAE,SAAS,MAAM;AAC3C;AAQO,SAAS,mBAAmB,OAAe,QAAkC;AAClF,SAAO,OAAO,KAAK,OAAO,MAAM;AAClC;",
6
6
  "names": []
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @internal
5
5
  */
6
- export type ConcatSource = ReadableStream<Uint8Array> | NodeJS.ReadableStream | Uint8Array | Blob;
6
+ export type ConcatSource = ReadableStream<Uint8Array<ArrayBuffer>> | NodeJS.ReadableStream | Uint8Array<ArrayBuffer> | Blob;
7
7
  /**
8
8
  * Utility function that concatenates a set of binary inputs into one combined output.
9
9
  *
@@ -79,3 +79,4 @@ async function concat(sources) {
79
79
  0 && (module.exports = {
80
80
  concat
81
81
  });
82
+ //# sourceMappingURL=concat.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/util/concat.ts"],
4
- "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Readable } from \"stream\";\nimport type { ReadableStream as AsyncIterableReadableStream } from \"stream/web\";\nimport { isBlob } from \"./typeGuards.js\";\n\nasync function* streamAsyncIterator(\n this: ReadableStream<Uint8Array>,\n): AsyncIterableIterator<Uint8Array> {\n const reader = this.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n return;\n }\n\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\n\nfunction makeAsyncIterable<T>(webStream: any): asserts webStream is AsyncIterableReadableStream<T> {\n if (!webStream[Symbol.asyncIterator]) {\n webStream[Symbol.asyncIterator] = streamAsyncIterator.bind(webStream);\n }\n\n if (!webStream.values) {\n webStream.values = streamAsyncIterator.bind(webStream);\n }\n}\n\nfunction ensureNodeStream(\n stream: ReadableStream<Uint8Array> | NodeJS.ReadableStream,\n): NodeJS.ReadableStream {\n if (stream instanceof ReadableStream) {\n makeAsyncIterable<Uint8Array>(stream);\n return Readable.fromWeb(stream);\n } else {\n return stream;\n }\n}\n\nfunction toStream(\n source: ReadableStream<Uint8Array> | NodeJS.ReadableStream | Uint8Array | Blob,\n): NodeJS.ReadableStream {\n if (source instanceof Uint8Array) {\n return Readable.from(Buffer.from(source));\n } else if (isBlob(source)) {\n return ensureNodeStream(source.stream());\n } else {\n return ensureNodeStream(source);\n }\n}\n\n/**\n * Accepted binary data types for concat\n *\n * @internal\n */\nexport type ConcatSource = ReadableStream<Uint8Array> | NodeJS.ReadableStream | Uint8Array | Blob;\n\n/**\n * Utility function that concatenates a set of binary inputs into one combined output.\n *\n * @param sources - array of sources for the concatenation\n * @returns - in Node, a (() =\\> NodeJS.ReadableStream) which, when read, produces a concatenation of all the inputs.\n * In browser, returns a `Blob` representing all the concatenated inputs.\n *\n * @internal\n */\nexport async function concat(\n sources: (ConcatSource | (() => ConcatSource))[],\n): Promise<(() => NodeJS.ReadableStream) | Blob> {\n return function () {\n const streams = sources.map((x) => (typeof x === \"function\" ? x() : x)).map(toStream);\n\n return Readable.from(\n (async function* () {\n for (const stream of streams as NodeJS.ReadableStream[]) {\n for await (const chunk of stream) {\n yield chunk;\n }\n }\n })(),\n );\n };\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAyB;AAEzB,wBAAuB;AAEvB,gBAAgB,sBAEqB;AACnC,QAAM,SAAS,KAAK,UAAU;AAC9B,MAAI;AACF,WAAO,MAAM;AACX,YAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,UAAI,MAAM;AACR;AAAA,MACF;AAEA,YAAM;AAAA,IACR;AAAA,EACF,UAAE;AACA,WAAO,YAAY;AAAA,EACrB;AACF;AAEA,SAAS,kBAAqB,WAAqE;AACjG,MAAI,CAAC,UAAU,OAAO,aAAa,GAAG;AACpC,cAAU,OAAO,aAAa,IAAI,oBAAoB,KAAK,SAAS;AAAA,EACtE;AAEA,MAAI,CAAC,UAAU,QAAQ;AACrB,cAAU,SAAS,oBAAoB,KAAK,SAAS;AAAA,EACvD;AACF;AAEA,SAAS,iBACP,QACuB;AACvB,MAAI,kBAAkB,gBAAgB;AACpC,sBAA8B,MAAM;AACpC,WAAO,uBAAS,QAAQ,MAAM;AAAA,EAChC,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEA,SAAS,SACP,QACuB;AACvB,MAAI,kBAAkB,YAAY;AAChC,WAAO,uBAAS,KAAK,OAAO,KAAK,MAAM,CAAC;AAAA,EAC1C,eAAW,0BAAO,MAAM,GAAG;AACzB,WAAO,iBAAiB,OAAO,OAAO,CAAC;AAAA,EACzC,OAAO;AACL,WAAO,iBAAiB,MAAM;AAAA,EAChC;AACF;AAkBA,eAAsB,OACpB,SAC+C;AAC/C,SAAO,WAAY;AACjB,UAAM,UAAU,QAAQ,IAAI,CAAC,MAAO,OAAO,MAAM,aAAa,EAAE,IAAI,CAAE,EAAE,IAAI,QAAQ;AAEpF,WAAO,uBAAS;AAAA,OACb,mBAAmB;AAClB,mBAAW,UAAU,SAAoC;AACvD,2BAAiB,SAAS,QAAQ;AAChC,kBAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF,GAAG;AAAA,IACL;AAAA,EACF;AACF;",
3
+ "sources": ["../../../src/util/concat.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Readable } from \"stream\";\nimport type { ReadableStream as AsyncIterableReadableStream } from \"stream/web\";\nimport { isBlob } from \"./typeGuards.js\";\n\nasync function* streamAsyncIterator(\n this: ReadableStream<Uint8Array>,\n): AsyncIterableIterator<Uint8Array> {\n const reader = this.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n return;\n }\n\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\n\nfunction makeAsyncIterable<T>(webStream: any): asserts webStream is AsyncIterableReadableStream<T> {\n if (!webStream[Symbol.asyncIterator]) {\n webStream[Symbol.asyncIterator] = streamAsyncIterator.bind(webStream);\n }\n\n if (!webStream.values) {\n webStream.values = streamAsyncIterator.bind(webStream);\n }\n}\n\nfunction ensureNodeStream(\n stream: ReadableStream<Uint8Array> | NodeJS.ReadableStream,\n): NodeJS.ReadableStream {\n if (stream instanceof ReadableStream) {\n makeAsyncIterable<Uint8Array>(stream);\n return Readable.fromWeb(stream);\n } else {\n return stream;\n }\n}\n\nfunction toStream(\n source: ReadableStream<Uint8Array> | NodeJS.ReadableStream | Uint8Array | Blob,\n): NodeJS.ReadableStream {\n if (source instanceof Uint8Array) {\n return Readable.from(Buffer.from(source));\n } else if (isBlob(source)) {\n return ensureNodeStream(source.stream());\n } else {\n return ensureNodeStream(source);\n }\n}\n\n/**\n * Accepted binary data types for concat\n *\n * @internal\n */\nexport type ConcatSource =\n | ReadableStream<Uint8Array<ArrayBuffer>>\n | NodeJS.ReadableStream\n | Uint8Array<ArrayBuffer>\n | Blob;\n\n/**\n * Utility function that concatenates a set of binary inputs into one combined output.\n *\n * @param sources - array of sources for the concatenation\n * @returns - in Node, a (() =\\> NodeJS.ReadableStream) which, when read, produces a concatenation of all the inputs.\n * In browser, returns a `Blob` representing all the concatenated inputs.\n *\n * @internal\n */\nexport async function concat(\n sources: (ConcatSource | (() => ConcatSource))[],\n): Promise<(() => NodeJS.ReadableStream) | Blob> {\n return function () {\n const streams = sources.map((x) => (typeof x === \"function\" ? x() : x)).map(toStream);\n\n return Readable.from(\n (async function* () {\n for (const stream of streams) {\n for await (const chunk of stream) {\n yield chunk;\n }\n }\n })(),\n );\n };\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAyB;AAEzB,wBAAuB;AAEvB,gBAAgB,sBAEqB;AACnC,QAAM,SAAS,KAAK,UAAU;AAC9B,MAAI;AACF,WAAO,MAAM;AACX,YAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,UAAI,MAAM;AACR;AAAA,MACF;AAEA,YAAM;AAAA,IACR;AAAA,EACF,UAAE;AACA,WAAO,YAAY;AAAA,EACrB;AACF;AAEA,SAAS,kBAAqB,WAAqE;AACjG,MAAI,CAAC,UAAU,OAAO,aAAa,GAAG;AACpC,cAAU,OAAO,aAAa,IAAI,oBAAoB,KAAK,SAAS;AAAA,EACtE;AAEA,MAAI,CAAC,UAAU,QAAQ;AACrB,cAAU,SAAS,oBAAoB,KAAK,SAAS;AAAA,EACvD;AACF;AAEA,SAAS,iBACP,QACuB;AACvB,MAAI,kBAAkB,gBAAgB;AACpC,sBAA8B,MAAM;AACpC,WAAO,uBAAS,QAAQ,MAAM;AAAA,EAChC,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEA,SAAS,SACP,QACuB;AACvB,MAAI,kBAAkB,YAAY;AAChC,WAAO,uBAAS,KAAK,OAAO,KAAK,MAAM,CAAC;AAAA,EAC1C,eAAW,0BAAO,MAAM,GAAG;AACzB,WAAO,iBAAiB,OAAO,OAAO,CAAC;AAAA,EACzC,OAAO;AACL,WAAO,iBAAiB,MAAM;AAAA,EAChC;AACF;AAsBA,eAAsB,OACpB,SAC+C;AAC/C,SAAO,WAAY;AACjB,UAAM,UAAU,QAAQ,IAAI,CAAC,MAAO,OAAO,MAAM,aAAa,EAAE,IAAI,CAAE,EAAE,IAAI,QAAQ;AAEpF,WAAO,uBAAS;AAAA,OACb,mBAAmB;AAClB,mBAAW,UAAU,SAAS;AAC5B,2BAAiB,SAAS,QAAQ;AAChC,kBAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF,GAAG;AAAA,IACL;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -31,3 +31,4 @@ function calculateRetryDelay(retryAttempt, config) {
31
31
  0 && (module.exports = {
32
32
  calculateRetryDelay
33
33
  });
34
+ //# sourceMappingURL=delay.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/util/delay.ts"],
3
+ "sources": ["../../../src/util/delay.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { getRandomIntegerInclusive } from \"./random.js\";\n\n/**\n * Calculates the delay interval for retry attempts using exponential delay with jitter.\n * @param retryAttempt - The current retry attempt number.\n * @param config - The exponential retry configuration.\n * @returns An object containing the calculated retry delay.\n */\nexport function calculateRetryDelay(\n retryAttempt: number,\n config: {\n retryDelayInMs: number;\n maxRetryDelayInMs: number;\n },\n): { retryAfterInMs: number } {\n // Exponentially increase the delay each time\n const exponentialDelay = config.retryDelayInMs * Math.pow(2, retryAttempt);\n\n // Don't let the delay exceed the maximum\n const clampedDelay = Math.min(config.maxRetryDelayInMs, exponentialDelay);\n\n // Allow the final value to have some \"jitter\" (within 50% of the delay size) so\n // that retries across multiple clients don't occur simultaneously.\n const retryAfterInMs = clampedDelay / 2 + getRandomIntegerInclusive(0, clampedDelay / 2);\n\n return { retryAfterInMs };\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAA0C;AAQnC,SAAS,oBACd,cACA,QAI4B;AAE5B,QAAM,mBAAmB,OAAO,iBAAiB,KAAK,IAAI,GAAG,YAAY;AAGzE,QAAM,eAAe,KAAK,IAAI,OAAO,mBAAmB,gBAAgB;AAIxE,QAAM,iBAAiB,eAAe,QAAI,yCAA0B,GAAG,eAAe,CAAC;AAEvF,SAAO,EAAE,eAAe;AAC1B;",
6
6
  "names": []
@@ -33,3 +33,4 @@ function isError(e) {
33
33
  0 && (module.exports = {
34
34
  isError
35
35
  });
36
+ //# sourceMappingURL=error.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/util/error.ts"],
3
+ "sources": ["../../../src/util/error.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { isObject } from \"./object.js\";\n\n/**\n * Typeguard for an error object shape (has name and message)\n * @param e - Something caught by a catch clause.\n */\nexport function isError(e: unknown): e is Error {\n if (isObject(e)) {\n const hasName = typeof e.name === \"string\";\n const hasMessage = typeof e.message === \"string\";\n return hasName && hasMessage;\n }\n return false;\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAyB;AAMlB,SAAS,QAAQ,GAAwB;AAC9C,UAAI,wBAAS,CAAC,GAAG;AACf,UAAM,UAAU,OAAO,EAAE,SAAS;AAClC,UAAM,aAAa,OAAO,EAAE,YAAY;AACxC,WAAO,WAAW;AAAA,EACpB;AACA,SAAO;AACT;",
6
6
  "names": []
@@ -68,3 +68,4 @@ function parseHeaderValueAsNumber(response, headerName) {
68
68
  delay,
69
69
  parseHeaderValueAsNumber
70
70
  });
71
+ //# sourceMappingURL=helpers.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/util/helpers.ts"],
3
+ "sources": ["../../../src/util/helpers.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AbortError } from \"../abort-controller/AbortError.js\";\nimport type { PipelineResponse } from \"../interfaces.js\";\n\nconst StandardAbortMessage = \"The operation was aborted.\";\n\n/**\n * A wrapper for setTimeout that resolves a promise after delayInMs milliseconds.\n * @param delayInMs - The number of milliseconds to be delayed.\n * @param value - The value to be resolved with after a timeout of t milliseconds.\n * @param options - The options for delay - currently abort options\n * - abortSignal - The abortSignal associated with containing operation.\n * - abortErrorMsg - The abort error message associated with containing operation.\n * @returns Resolved promise\n */\nexport function delay<T>(\n delayInMs: number,\n value?: T,\n options?: {\n abortSignal?: AbortSignal;\n abortErrorMsg?: string;\n },\n): Promise<T | void> {\n return new Promise((resolve, reject) => {\n let timer: ReturnType<typeof setTimeout> | undefined = undefined;\n let onAborted: (() => void) | undefined = undefined;\n\n const rejectOnAbort = (): void => {\n return reject(\n new AbortError(options?.abortErrorMsg ? options?.abortErrorMsg : StandardAbortMessage),\n );\n };\n\n const removeListeners = (): void => {\n if (options?.abortSignal && onAborted) {\n options.abortSignal.removeEventListener(\"abort\", onAborted);\n }\n };\n\n onAborted = (): void => {\n if (timer) {\n clearTimeout(timer);\n }\n removeListeners();\n return rejectOnAbort();\n };\n\n if (options?.abortSignal && options.abortSignal.aborted) {\n return rejectOnAbort();\n }\n\n timer = setTimeout(() => {\n removeListeners();\n resolve(value);\n }, delayInMs);\n\n if (options?.abortSignal) {\n options.abortSignal.addEventListener(\"abort\", onAborted);\n }\n });\n}\n\n/**\n * @internal\n * @returns the parsed value or undefined if the parsed value is invalid.\n */\nexport function parseHeaderValueAsNumber(\n response: PipelineResponse,\n headerName: string,\n): number | undefined {\n const value = response.headers.get(headerName);\n if (!value) return;\n const valueAsNum = Number(value);\n if (Number.isNaN(valueAsNum)) return;\n return valueAsNum;\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAA2B;AAG3B,MAAM,uBAAuB;AAWtB,SAAS,MACd,WACA,OACA,SAImB;AACnB,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,QAAI,QAAmD;AACvD,QAAI,YAAsC;AAE1C,UAAM,gBAAgB,MAAY;AAChC,aAAO;AAAA,QACL,IAAI,6BAAW,SAAS,gBAAgB,SAAS,gBAAgB,oBAAoB;AAAA,MACvF;AAAA,IACF;AAEA,UAAM,kBAAkB,MAAY;AAClC,UAAI,SAAS,eAAe,WAAW;AACrC,gBAAQ,YAAY,oBAAoB,SAAS,SAAS;AAAA,MAC5D;AAAA,IACF;AAEA,gBAAY,MAAY;AACtB,UAAI,OAAO;AACT,qBAAa,KAAK;AAAA,MACpB;AACA,sBAAgB;AAChB,aAAO,cAAc;AAAA,IACvB;AAEA,QAAI,SAAS,eAAe,QAAQ,YAAY,SAAS;AACvD,aAAO,cAAc;AAAA,IACvB;AAEA,YAAQ,WAAW,MAAM;AACvB,sBAAgB;AAChB,cAAQ,KAAK;AAAA,IACf,GAAG,SAAS;AAEZ,QAAI,SAAS,aAAa;AACxB,cAAQ,YAAY,iBAAiB,SAAS,SAAS;AAAA,IACzD;AAAA,EACF,CAAC;AACH;AAMO,SAAS,yBACd,UACA,YACoB;AACpB,QAAM,QAAQ,SAAS,QAAQ,IAAI,UAAU;AAC7C,MAAI,CAAC,MAAO;AACZ,QAAM,aAAa,OAAO,KAAK;AAC/B,MAAI,OAAO,MAAM,UAAU,EAAG;AAC9B,SAAO;AACT;",
6
6
  "names": []
@@ -26,3 +26,4 @@ const custom = import_node_util.inspect.custom;
26
26
  0 && (module.exports = {
27
27
  custom
28
28
  });
29
+ //# sourceMappingURL=inspect.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/util/inspect.ts"],
3
+ "sources": ["../../../src/util/inspect.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { inspect } from \"node:util\";\n\nexport const custom = inspect.custom;\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,uBAAwB;AAEjB,MAAM,SAAS,yBAAQ;",
6
6
  "names": []
@@ -4,7 +4,7 @@ export { isObject, type UnknownObject } from "./object.js";
4
4
  export { isError } from "./error.js";
5
5
  export { computeSha256Hash, computeSha256Hmac } from "./sha256.js";
6
6
  export { randomUUID } from "./uuidUtils.js";
7
- export { isBrowser, isBun, isNodeLike, isNodeRuntime, isDeno, isReactNative, isWebWorker, } from "./checkEnvironment.js";
7
+ export { isBrowser, isBun, isNodeLike, isNodeRuntime, isDeno, isReactNative, isWebWorker, } from "../env.js";
8
8
  export { stringToUint8Array, uint8ArrayToString, type EncodingType } from "./bytesEncoding.js";
9
9
  export { Sanitizer, type SanitizerOptions } from "./sanitizer.js";
10
10
  //# sourceMappingURL=internal.d.ts.map
@@ -22,16 +22,16 @@ __export(internal_exports, {
22
22
  computeSha256Hash: () => import_sha256.computeSha256Hash,
23
23
  computeSha256Hmac: () => import_sha256.computeSha256Hmac,
24
24
  getRandomIntegerInclusive: () => import_random.getRandomIntegerInclusive,
25
- isBrowser: () => import_checkEnvironment.isBrowser,
26
- isBun: () => import_checkEnvironment.isBun,
27
- isDeno: () => import_checkEnvironment.isDeno,
25
+ isBrowser: () => import_env.isBrowser,
26
+ isBun: () => import_env.isBun,
27
+ isDeno: () => import_env.isDeno,
28
28
  isError: () => import_error.isError,
29
- isNodeLike: () => import_checkEnvironment.isNodeLike,
30
- isNodeRuntime: () => import_checkEnvironment.isNodeRuntime,
29
+ isNodeLike: () => import_env.isNodeLike,
30
+ isNodeRuntime: () => import_env.isNodeRuntime,
31
31
  isObject: () => import_object.isObject,
32
- isReactNative: () => import_checkEnvironment.isReactNative,
33
- isWebWorker: () => import_checkEnvironment.isWebWorker,
34
- randomUUID: () => import_uuidUtils.randomUUID,
32
+ isReactNative: () => import_env.isReactNative,
33
+ isWebWorker: () => import_env.isWebWorker,
34
+ randomUUID: () => import_uuid.randomUUID,
35
35
  stringToUint8Array: () => import_bytesEncoding.stringToUint8Array,
36
36
  uint8ArrayToString: () => import_bytesEncoding.uint8ArrayToString
37
37
  });
@@ -41,8 +41,8 @@ var import_random = require("./random.js");
41
41
  var import_object = require("./object.js");
42
42
  var import_error = require("./error.js");
43
43
  var import_sha256 = require("./sha256.js");
44
- var import_uuidUtils = require("./uuidUtils.js");
45
- var import_checkEnvironment = require("./checkEnvironment.js");
44
+ var import_uuid = require("./uuidUtils.js");
45
+ var import_env = require("../env.js");
46
46
  var import_bytesEncoding = require("./bytesEncoding.js");
47
47
  var import_sanitizer = require("./sanitizer.js");
48
48
  // Annotate the CommonJS export names for ESM import in node:
@@ -65,3 +65,4 @@ var import_sanitizer = require("./sanitizer.js");
65
65
  stringToUint8Array,
66
66
  uint8ArrayToString
67
67
  });
68
+ //# sourceMappingURL=internal.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/util/internal.ts"],
4
- "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { calculateRetryDelay } from \"./delay.js\";\nexport { getRandomIntegerInclusive } from \"./random.js\";\nexport { isObject, type UnknownObject } from \"./object.js\";\nexport { isError } from \"./error.js\";\nexport { computeSha256Hash, computeSha256Hmac } from \"./sha256.js\";\nexport { randomUUID } from \"./uuidUtils.js\";\nexport {\n isBrowser,\n isBun,\n isNodeLike,\n isNodeRuntime,\n isDeno,\n isReactNative,\n isWebWorker,\n} from \"./checkEnvironment.js\";\nexport { stringToUint8Array, uint8ArrayToString, type EncodingType } from \"./bytesEncoding.js\";\nexport { Sanitizer, type SanitizerOptions } from \"./sanitizer.js\";\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAAoC;AACpC,oBAA0C;AAC1C,oBAA6C;AAC7C,mBAAwB;AACxB,oBAAqD;AACrD,uBAA2B;AAC3B,8BAQO;AACP,2BAA0E;AAC1E,uBAAiD;",
3
+ "sources": ["../../../src/util/internal.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { calculateRetryDelay } from \"./delay.js\";\nexport { getRandomIntegerInclusive } from \"./random.js\";\nexport { isObject, type UnknownObject } from \"./object.js\";\nexport { isError } from \"./error.js\";\nexport { computeSha256Hash, computeSha256Hmac } from \"#platform/sha256\";\nexport { randomUUID } from \"#platform/uuid\";\nexport {\n isBrowser,\n isBun,\n isNodeLike,\n isNodeRuntime,\n isDeno,\n isReactNative,\n isWebWorker,\n} from \"#platform/env\";\nexport { stringToUint8Array, uint8ArrayToString, type EncodingType } from \"#platform/bytesEncoding\";\nexport { Sanitizer, type SanitizerOptions } from \"./sanitizer.js\";\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAAoC;AACpC,oBAA0C;AAC1C,oBAA6C;AAC7C,mBAAwB;AACxB,oBAAqD;AACrD,kBAA2B;AAC3B,iBAQO;AACP,2BAA0E;AAC1E,uBAAiD;",
6
6
  "names": []
7
7
  }
@@ -27,3 +27,4 @@ function isObject(input) {
27
27
  0 && (module.exports = {
28
28
  isObject
29
29
  });
30
+ //# sourceMappingURL=object.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/util/object.ts"],
3
+ "sources": ["../../../src/util/object.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * A generic shape for a plain JS object.\n */\nexport type UnknownObject = { [s: string]: unknown };\n\n/**\n * Helper to determine when an input is a generic JS object.\n * @returns true when input is an object type that is not null, Array, RegExp, or Date.\n */\nexport function isObject(input: unknown): input is UnknownObject {\n return (\n typeof input === \"object\" &&\n input !== null &&\n !Array.isArray(input) &&\n !(input instanceof RegExp) &&\n !(input instanceof Date)\n );\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAYO,SAAS,SAAS,OAAwC;AAC/D,SACE,OAAO,UAAU,YACjB,UAAU,QACV,CAAC,MAAM,QAAQ,KAAK,KACpB,EAAE,iBAAiB,WACnB,EAAE,iBAAiB;AAEvB;",
6
6
  "names": []
@@ -30,3 +30,4 @@ function getRandomIntegerInclusive(min, max) {
30
30
  0 && (module.exports = {
31
31
  getRandomIntegerInclusive
32
32
  });
33
+ //# sourceMappingURL=random.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/util/random.ts"],
3
+ "sources": ["../../../src/util/random.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Returns a random integer value between a lower and upper bound,\n * inclusive of both bounds.\n * Note that this uses Math.random and isn't secure. If you need to use\n * this for any kind of security purpose, find a better source of random.\n * @param min - The smallest integer value allowed.\n * @param max - The largest integer value allowed.\n */\nexport function getRandomIntegerInclusive(min: number, max: number): number {\n // Make sure inputs are integers.\n min = Math.ceil(min);\n max = Math.floor(max);\n // Pick a random offset from zero to the size of the range.\n // Since Math.random() can never return 1, we have to make the range one larger\n // in order to be inclusive of the maximum value after we take the floor.\n const offset = Math.floor(Math.random() * (max - min + 1));\n return offset + min;\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAWO,SAAS,0BAA0B,KAAa,KAAqB;AAE1E,QAAM,KAAK,KAAK,GAAG;AACnB,QAAM,KAAK,MAAM,GAAG;AAIpB,QAAM,SAAS,KAAK,MAAM,KAAK,OAAO,KAAK,MAAM,MAAM,EAAE;AACzD,SAAO,SAAS;AAClB;",
6
6
  "names": []
@@ -93,11 +93,11 @@ class Sanitizer {
93
93
  message: value.message
94
94
  };
95
95
  }
96
- if (key === "headers") {
96
+ if (key === "headers" && (0, import_object.isObject)(value)) {
97
97
  return this.sanitizeHeaders(value);
98
- } else if (key === "url") {
98
+ } else if (key === "url" && typeof value === "string") {
99
99
  return this.sanitizeUrl(value);
100
- } else if (key === "query") {
100
+ } else if (key === "query" && (0, import_object.isObject)(value)) {
101
101
  return this.sanitizeQuery(value);
102
102
  } else if (key === "body") {
103
103
  return void 0;
@@ -166,3 +166,4 @@ class Sanitizer {
166
166
  0 && (module.exports = {
167
167
  Sanitizer
168
168
  });
169
+ //# sourceMappingURL=sanitizer.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/util/sanitizer.ts"],
4
- "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { type UnknownObject, isObject } from \"./object.js\";\n\n/**\n * Sanitizer options\n */\nexport interface SanitizerOptions {\n /**\n * Header names whose values will be logged when logging is enabled.\n * Defaults include a list of well-known safe headers. Any headers\n * specified in this field will be added to that list. Any other values will\n * be written to logs as \"REDACTED\".\n */\n additionalAllowedHeaderNames?: string[];\n\n /**\n * Query string names whose values will be logged when logging is enabled. By default no\n * query string values are logged.\n */\n additionalAllowedQueryParameters?: string[];\n}\n\nconst RedactedString = \"REDACTED\";\n\n// Make sure this list is up-to-date with the one under core/logger/Readme#Keyconcepts\nconst defaultAllowedHeaderNames = [\n \"x-ms-client-request-id\",\n \"x-ms-return-client-request-id\",\n \"x-ms-useragent\",\n \"x-ms-correlation-request-id\",\n \"x-ms-request-id\",\n \"client-request-id\",\n \"ms-cv\",\n \"return-client-request-id\",\n \"traceparent\",\n\n \"Access-Control-Allow-Credentials\",\n \"Access-Control-Allow-Headers\",\n \"Access-Control-Allow-Methods\",\n \"Access-Control-Allow-Origin\",\n \"Access-Control-Expose-Headers\",\n \"Access-Control-Max-Age\",\n \"Access-Control-Request-Headers\",\n \"Access-Control-Request-Method\",\n \"Origin\",\n\n \"Accept\",\n \"Accept-Encoding\",\n \"Cache-Control\",\n \"Connection\",\n \"Content-Length\",\n \"Content-Type\",\n \"Date\",\n \"ETag\",\n \"Expires\",\n \"If-Match\",\n \"If-Modified-Since\",\n \"If-None-Match\",\n \"If-Unmodified-Since\",\n \"Last-Modified\",\n \"Pragma\",\n \"Request-Id\",\n \"Retry-After\",\n \"Server\",\n \"Transfer-Encoding\",\n \"User-Agent\",\n \"WWW-Authenticate\",\n];\n\nconst defaultAllowedQueryParameters: string[] = [\"api-version\"];\n\n/**\n * A utility class to sanitize objects for logging.\n */\nexport class Sanitizer {\n private allowedHeaderNames: Set<string>;\n private allowedQueryParameters: Set<string>;\n\n constructor({\n additionalAllowedHeaderNames: allowedHeaderNames = [],\n additionalAllowedQueryParameters: allowedQueryParameters = [],\n }: SanitizerOptions = {}) {\n allowedHeaderNames = defaultAllowedHeaderNames.concat(allowedHeaderNames);\n allowedQueryParameters = defaultAllowedQueryParameters.concat(allowedQueryParameters);\n\n this.allowedHeaderNames = new Set(allowedHeaderNames.map((n) => n.toLowerCase()));\n this.allowedQueryParameters = new Set(allowedQueryParameters.map((p) => p.toLowerCase()));\n }\n\n /**\n * Sanitizes an object for logging.\n * @param obj - The object to sanitize\n * @returns - The sanitized object as a string\n */\n public sanitize(obj: unknown): string {\n const seen = new Set<unknown>();\n return JSON.stringify(\n obj,\n (key: string, value: unknown) => {\n // Ensure Errors include their interesting non-enumerable members\n if (value instanceof Error) {\n return {\n ...value,\n name: value.name,\n message: value.message,\n };\n }\n\n if (key === \"headers\") {\n return this.sanitizeHeaders(value as UnknownObject);\n } else if (key === \"url\") {\n return this.sanitizeUrl(value as string);\n } else if (key === \"query\") {\n return this.sanitizeQuery(value as UnknownObject);\n } else if (key === \"body\") {\n // Don't log the request body\n return undefined;\n } else if (key === \"response\") {\n // Don't log response again\n return undefined;\n } else if (key === \"operationSpec\") {\n // When using sendOperationRequest, the request carries a massive\n // field with the autorest spec. No need to log it.\n return undefined;\n } else if (Array.isArray(value) || isObject(value)) {\n if (seen.has(value)) {\n return \"[Circular]\";\n }\n seen.add(value);\n }\n\n return value;\n },\n 2,\n );\n }\n\n /**\n * Sanitizes a URL for logging.\n * @param value - The URL to sanitize\n * @returns - The sanitized URL as a string\n */\n public sanitizeUrl(value: string): string {\n if (typeof value !== \"string\" || value === null || value === \"\") {\n return value;\n }\n\n const url = new URL(value);\n\n if (!url.search) {\n return value;\n }\n\n for (const [key] of url.searchParams) {\n if (!this.allowedQueryParameters.has(key.toLowerCase())) {\n url.searchParams.set(key, RedactedString);\n }\n }\n\n return url.toString();\n }\n\n private sanitizeHeaders(obj: UnknownObject): UnknownObject {\n const sanitized: UnknownObject = {};\n for (const key of Object.keys(obj)) {\n if (this.allowedHeaderNames.has(key.toLowerCase())) {\n sanitized[key] = obj[key];\n } else {\n sanitized[key] = RedactedString;\n }\n }\n return sanitized;\n }\n\n private sanitizeQuery(value: UnknownObject): UnknownObject {\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n\n const sanitized: UnknownObject = {};\n\n for (const k of Object.keys(value)) {\n if (this.allowedQueryParameters.has(k.toLowerCase())) {\n sanitized[k] = value[k];\n } else {\n sanitized[k] = RedactedString;\n }\n }\n\n return sanitized;\n }\n}\n"],
5
- "mappings": "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",
3
+ "sources": ["../../../src/util/sanitizer.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { type UnknownObject, isObject } from \"./object.js\";\n\n/**\n * Sanitizer options\n */\nexport interface SanitizerOptions {\n /**\n * Header names whose values will be logged when logging is enabled.\n * Defaults include a list of well-known safe headers. Any headers\n * specified in this field will be added to that list. Any other values will\n * be written to logs as \"REDACTED\".\n */\n additionalAllowedHeaderNames?: string[];\n\n /**\n * Query string names whose values will be logged when logging is enabled. By default no\n * query string values are logged.\n */\n additionalAllowedQueryParameters?: string[];\n}\n\nconst RedactedString = \"REDACTED\";\n\n// Make sure this list is up-to-date with the one under core/logger/Readme#Keyconcepts\nconst defaultAllowedHeaderNames = [\n \"x-ms-client-request-id\",\n \"x-ms-return-client-request-id\",\n \"x-ms-useragent\",\n \"x-ms-correlation-request-id\",\n \"x-ms-request-id\",\n \"client-request-id\",\n \"ms-cv\",\n \"return-client-request-id\",\n \"traceparent\",\n\n \"Access-Control-Allow-Credentials\",\n \"Access-Control-Allow-Headers\",\n \"Access-Control-Allow-Methods\",\n \"Access-Control-Allow-Origin\",\n \"Access-Control-Expose-Headers\",\n \"Access-Control-Max-Age\",\n \"Access-Control-Request-Headers\",\n \"Access-Control-Request-Method\",\n \"Origin\",\n\n \"Accept\",\n \"Accept-Encoding\",\n \"Cache-Control\",\n \"Connection\",\n \"Content-Length\",\n \"Content-Type\",\n \"Date\",\n \"ETag\",\n \"Expires\",\n \"If-Match\",\n \"If-Modified-Since\",\n \"If-None-Match\",\n \"If-Unmodified-Since\",\n \"Last-Modified\",\n \"Pragma\",\n \"Request-Id\",\n \"Retry-After\",\n \"Server\",\n \"Transfer-Encoding\",\n \"User-Agent\",\n \"WWW-Authenticate\",\n];\n\nconst defaultAllowedQueryParameters: string[] = [\"api-version\"];\n\n/**\n * A utility class to sanitize objects for logging.\n */\nexport class Sanitizer {\n private allowedHeaderNames: Set<string>;\n private allowedQueryParameters: Set<string>;\n\n constructor({\n additionalAllowedHeaderNames: allowedHeaderNames = [],\n additionalAllowedQueryParameters: allowedQueryParameters = [],\n }: SanitizerOptions = {}) {\n allowedHeaderNames = defaultAllowedHeaderNames.concat(allowedHeaderNames);\n allowedQueryParameters = defaultAllowedQueryParameters.concat(allowedQueryParameters);\n\n this.allowedHeaderNames = new Set(allowedHeaderNames.map((n) => n.toLowerCase()));\n this.allowedQueryParameters = new Set(allowedQueryParameters.map((p) => p.toLowerCase()));\n }\n\n /**\n * Sanitizes an object for logging.\n * @param obj - The object to sanitize\n * @returns - The sanitized object as a string\n */\n public sanitize(obj: unknown): string {\n const seen = new Set<unknown>();\n return JSON.stringify(\n obj,\n (key: string, value: unknown) => {\n // Ensure Errors include their interesting non-enumerable members\n if (value instanceof Error) {\n return {\n ...value,\n name: value.name,\n message: value.message,\n };\n }\n\n if (key === \"headers\" && isObject(value)) {\n return this.sanitizeHeaders(value);\n } else if (key === \"url\" && typeof value === \"string\") {\n return this.sanitizeUrl(value);\n } else if (key === \"query\" && isObject(value)) {\n return this.sanitizeQuery(value);\n } else if (key === \"body\") {\n // Don't log the request body\n return undefined;\n } else if (key === \"response\") {\n // Don't log response again\n return undefined;\n } else if (key === \"operationSpec\") {\n // When using sendOperationRequest, the request carries a massive\n // field with the autorest spec. No need to log it.\n return undefined;\n } else if (Array.isArray(value) || isObject(value)) {\n if (seen.has(value)) {\n return \"[Circular]\";\n }\n seen.add(value);\n }\n\n return value;\n },\n 2,\n );\n }\n\n /**\n * Sanitizes a URL for logging.\n * @param value - The URL to sanitize\n * @returns - The sanitized URL as a string\n */\n public sanitizeUrl(value: string): string {\n if (typeof value !== \"string\" || value === null || value === \"\") {\n return value;\n }\n\n const url = new URL(value);\n\n if (!url.search) {\n return value;\n }\n\n for (const [key] of url.searchParams) {\n if (!this.allowedQueryParameters.has(key.toLowerCase())) {\n url.searchParams.set(key, RedactedString);\n }\n }\n\n return url.toString();\n }\n\n private sanitizeHeaders(obj: UnknownObject): UnknownObject {\n const sanitized: UnknownObject = {};\n for (const key of Object.keys(obj)) {\n if (this.allowedHeaderNames.has(key.toLowerCase())) {\n sanitized[key] = obj[key];\n } else {\n sanitized[key] = RedactedString;\n }\n }\n return sanitized;\n }\n\n private sanitizeQuery(value: UnknownObject): UnknownObject {\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n\n const sanitized: UnknownObject = {};\n\n for (const k of Object.keys(value)) {\n if (this.allowedQueryParameters.has(k.toLowerCase())) {\n sanitized[k] = value[k];\n } else {\n sanitized[k] = RedactedString;\n }\n }\n\n return sanitized;\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAA6C;AAqB7C,MAAM,iBAAiB;AAGvB,MAAM,4BAA4B;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,gCAA0C,CAAC,aAAa;AAKvD,MAAM,UAAU;AAAA,EACb;AAAA,EACA;AAAA,EAER,YAAY;AAAA,IACV,8BAA8B,qBAAqB,CAAC;AAAA,IACpD,kCAAkC,yBAAyB,CAAC;AAAA,EAC9D,IAAsB,CAAC,GAAG;AACxB,yBAAqB,0BAA0B,OAAO,kBAAkB;AACxE,6BAAyB,8BAA8B,OAAO,sBAAsB;AAEpF,SAAK,qBAAqB,IAAI,IAAI,mBAAmB,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAChF,SAAK,yBAAyB,IAAI,IAAI,uBAAuB,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAAA,EAC1F;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,SAAS,KAAsB;AACpC,UAAM,OAAO,oBAAI,IAAa;AAC9B,WAAO,KAAK;AAAA,MACV;AAAA,MACA,CAAC,KAAa,UAAmB;AAE/B,YAAI,iBAAiB,OAAO;AAC1B,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,MAAM,MAAM;AAAA,YACZ,SAAS,MAAM;AAAA,UACjB;AAAA,QACF;AAEA,YAAI,QAAQ,iBAAa,wBAAS,KAAK,GAAG;AACxC,iBAAO,KAAK,gBAAgB,KAAK;AAAA,QACnC,WAAW,QAAQ,SAAS,OAAO,UAAU,UAAU;AACrD,iBAAO,KAAK,YAAY,KAAK;AAAA,QAC/B,WAAW,QAAQ,eAAW,wBAAS,KAAK,GAAG;AAC7C,iBAAO,KAAK,cAAc,KAAK;AAAA,QACjC,WAAW,QAAQ,QAAQ;AAEzB,iBAAO;AAAA,QACT,WAAW,QAAQ,YAAY;AAE7B,iBAAO;AAAA,QACT,WAAW,QAAQ,iBAAiB;AAGlC,iBAAO;AAAA,QACT,WAAW,MAAM,QAAQ,KAAK,SAAK,wBAAS,KAAK,GAAG;AAClD,cAAI,KAAK,IAAI,KAAK,GAAG;AACnB,mBAAO;AAAA,UACT;AACA,eAAK,IAAI,KAAK;AAAA,QAChB;AAEA,eAAO;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,YAAY,OAAuB;AACxC,QAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,UAAU,IAAI;AAC/D,aAAO;AAAA,IACT;AAEA,UAAM,MAAM,IAAI,IAAI,KAAK;AAEzB,QAAI,CAAC,IAAI,QAAQ;AACf,aAAO;AAAA,IACT;AAEA,eAAW,CAAC,GAAG,KAAK,IAAI,cAAc;AACpC,UAAI,CAAC,KAAK,uBAAuB,IAAI,IAAI,YAAY,CAAC,GAAG;AACvD,YAAI,aAAa,IAAI,KAAK,cAAc;AAAA,MAC1C;AAAA,IACF;AAEA,WAAO,IAAI,SAAS;AAAA,EACtB;AAAA,EAEQ,gBAAgB,KAAmC;AACzD,UAAM,YAA2B,CAAC;AAClC,eAAW,OAAO,OAAO,KAAK,GAAG,GAAG;AAClC,UAAI,KAAK,mBAAmB,IAAI,IAAI,YAAY,CAAC,GAAG;AAClD,kBAAU,GAAG,IAAI,IAAI,GAAG;AAAA,MAC1B,OAAO;AACL,kBAAU,GAAG,IAAI;AAAA,MACnB;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAEQ,cAAc,OAAqC;AACzD,QAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,aAAO;AAAA,IACT;AAEA,UAAM,YAA2B,CAAC;AAElC,eAAW,KAAK,OAAO,KAAK,KAAK,GAAG;AAClC,UAAI,KAAK,uBAAuB,IAAI,EAAE,YAAY,CAAC,GAAG;AACpD,kBAAU,CAAC,IAAI,MAAM,CAAC;AAAA,MACxB,OAAO;AACL,kBAAU,CAAC,IAAI;AAAA,MACjB;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AACF;",
6
6
  "names": []
7
7
  }
@@ -34,3 +34,4 @@ async function computeSha256Hash(content, encoding) {
34
34
  computeSha256Hash,
35
35
  computeSha256Hmac
36
36
  });
37
+ //# sourceMappingURL=sha256.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/util/sha256.ts"],
3
+ "sources": ["../../../src/util/sha256.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createHash, createHmac } from \"node:crypto\";\n\n/**\n * Generates a SHA-256 HMAC signature.\n * @param key - The HMAC key represented as a base64 string, used to generate the cryptographic HMAC hash.\n * @param stringToSign - The data to be signed.\n * @param encoding - The textual encoding to use for the returned HMAC digest.\n */\nexport async function computeSha256Hmac(\n key: string,\n stringToSign: string,\n encoding: \"base64\" | \"hex\",\n): Promise<string> {\n const decodedKey = Buffer.from(key, \"base64\");\n\n return createHmac(\"sha256\", decodedKey).update(stringToSign).digest(encoding);\n}\n\n/**\n * Generates a SHA-256 hash.\n * @param content - The data to be included in the hash.\n * @param encoding - The textual encoding to use for the returned hash.\n */\nexport async function computeSha256Hash(\n content: string,\n encoding: \"base64\" | \"hex\",\n): Promise<string> {\n return createHash(\"sha256\").update(content).digest(encoding);\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,yBAAuC;AAQvC,eAAsB,kBACpB,KACA,cACA,UACiB;AACjB,QAAM,aAAa,OAAO,KAAK,KAAK,QAAQ;AAE5C,aAAO,+BAAW,UAAU,UAAU,EAAE,OAAO,YAAY,EAAE,OAAO,QAAQ;AAC9E;AAOA,eAAsB,kBACpB,SACA,UACiB;AACjB,aAAO,+BAAW,QAAQ,EAAE,OAAO,OAAO,EAAE,OAAO,QAAQ;AAC7D;",
6
6
  "names": []
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Checks if the given value is a Node.js readable stream.
3
+ *
4
+ * @internal
5
+ */
6
+ export declare function isNodeReadableStream(x: unknown): x is NodeJS.ReadableStream;
7
+ /**
8
+ * Checks if the given value is a web ReadableStream.
9
+ *
10
+ * @internal
11
+ */
12
+ export declare function isWebReadableStream(x: unknown): x is ReadableStream;
13
+ //# sourceMappingURL=typeGuards-node.d.ts.map
@@ -15,13 +15,22 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var inspect_common_exports = {};
19
- __export(inspect_common_exports, {
20
- custom: () => custom
18
+ var typeGuards_node_exports = {};
19
+ __export(typeGuards_node_exports, {
20
+ isNodeReadableStream: () => isNodeReadableStream,
21
+ isWebReadableStream: () => isWebReadableStream
21
22
  });
22
- module.exports = __toCommonJS(inspect_common_exports);
23
- const custom = /* @__PURE__ */ Symbol();
23
+ module.exports = __toCommonJS(typeGuards_node_exports);
24
+ var import_stream = require("stream");
25
+ function isNodeReadableStream(x) {
26
+ return x instanceof import_stream.Readable;
27
+ }
28
+ function isWebReadableStream(x) {
29
+ return x instanceof ReadableStream;
30
+ }
24
31
  // Annotate the CommonJS export names for ESM import in node:
25
32
  0 && (module.exports = {
26
- custom
33
+ isNodeReadableStream,
34
+ isWebReadableStream
27
35
  });
36
+ //# sourceMappingURL=typeGuards-node.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/typeGuards-node.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Readable } from \"stream\";\n\n/**\n * Checks if the given value is a Node.js readable stream.\n *\n * @internal\n */\nexport function isNodeReadableStream(x: unknown): x is NodeJS.ReadableStream {\n return x instanceof Readable;\n}\n\n/**\n * Checks if the given value is a web ReadableStream.\n *\n * @internal\n */\nexport function isWebReadableStream(x: unknown): x is ReadableStream {\n return x instanceof ReadableStream;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAyB;AAOlB,SAAS,qBAAqB,GAAwC;AAC3E,SAAO,aAAa;AACtB;AAOO,SAAS,oBAAoB,GAAiC;AACnE,SAAO,aAAa;AACtB;",
6
+ "names": []
7
+ }