@typespec/ts-http-runtime 0.3.5 → 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 (454) 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 +13 -10
  12. package/dist/browser/client/sendRequest.js.map +1 -1
  13. package/dist/browser/constants.js +1 -1
  14. package/dist/browser/constants.js.map +1 -1
  15. package/dist/browser/createPipelineFromOptions.d.ts +1 -1
  16. package/dist/browser/createPipelineFromOptions.js +2 -21
  17. package/dist/browser/createPipelineFromOptions.js.map +1 -1
  18. package/dist/browser/{defaultHttpClient.d.ts → defaultHttpClient-browser.d.mts} +1 -1
  19. package/dist/browser/{defaultHttpClient.js → defaultHttpClient-browser.mjs} +1 -1
  20. package/dist/browser/defaultHttpClient-browser.mjs.map +1 -0
  21. package/dist/browser/encoding.d.ts +13 -0
  22. package/dist/browser/encoding.js +19 -0
  23. package/dist/browser/encoding.js.map +1 -0
  24. package/dist/{commonjs/util/checkEnvironment.d.ts → browser/env-browser.d.mts} +21 -1
  25. package/dist/{esm/util/checkEnvironment.js → browser/env-browser.mjs} +26 -12
  26. package/dist/browser/env-browser.mjs.map +1 -0
  27. package/dist/browser/formData-web.d.mts +9 -0
  28. package/dist/browser/formData-web.mjs +12 -0
  29. package/dist/browser/formData-web.mjs.map +1 -0
  30. package/dist/browser/httpHeaders.js +11 -1
  31. package/dist/browser/httpHeaders.js.map +1 -1
  32. package/dist/browser/index.d.ts +3 -14
  33. package/dist/browser/index.js +2 -2
  34. package/dist/browser/index.js.map +1 -1
  35. package/dist/browser/interfaces.d.ts +15 -14
  36. package/dist/browser/interfaces.js.map +1 -1
  37. package/dist/browser/logger/debug.js +3 -2
  38. package/dist/browser/logger/debug.js.map +1 -1
  39. package/dist/{react-native/logger/log.d.ts → browser/logger/log-web.d.mts} +1 -1
  40. package/dist/browser/logger/{log.js → log-web.mjs} +1 -1
  41. package/dist/browser/logger/log-web.mjs.map +1 -0
  42. package/dist/browser/logger/logger.js +2 -2
  43. package/dist/browser/logger/logger.js.map +1 -1
  44. package/dist/browser/pipelineRequest.js +1 -1
  45. package/dist/browser/pipelineRequest.js.map +1 -1
  46. package/dist/browser/policies/auth/basicAuthenticationPolicy.js +1 -1
  47. package/dist/browser/policies/auth/basicAuthenticationPolicy.js.map +1 -1
  48. package/dist/browser/policies/auth/checkInsecureConnection.js +3 -2
  49. package/dist/browser/policies/auth/checkInsecureConnection.js.map +1 -1
  50. package/dist/browser/policies/{decompressResponsePolicy.d.ts → decompressResponsePolicy-web.d.mts} +1 -1
  51. package/dist/browser/policies/{decompressResponsePolicy.js → decompressResponsePolicy-web.mjs} +1 -1
  52. package/dist/browser/policies/decompressResponsePolicy-web.mjs.map +1 -0
  53. package/dist/browser/policies/formDataPolicy.js +5 -12
  54. package/dist/browser/policies/formDataPolicy.js.map +1 -1
  55. package/dist/browser/policies/internal.d.ts +2 -2
  56. package/dist/browser/policies/internal.js +2 -2
  57. package/dist/browser/policies/internal.js.map +1 -1
  58. package/dist/browser/policies/multipartPolicy.js +7 -3
  59. package/dist/browser/policies/multipartPolicy.js.map +1 -1
  60. package/dist/browser/policies/platformPolicies-web.d.mts +10 -0
  61. package/dist/browser/policies/platformPolicies-web.mjs +12 -0
  62. package/dist/browser/policies/platformPolicies-web.mjs.map +1 -0
  63. package/dist/browser/policies/platformPolicies.d.ts +25 -0
  64. package/dist/browser/policies/platformPolicies.js +30 -0
  65. package/dist/browser/policies/platformPolicies.js.map +1 -0
  66. package/dist/browser/policies/proxyPolicy-web.d.mts +2 -0
  67. package/dist/{react-native/policies/proxyPolicy.js → browser/policies/proxyPolicy-web.mjs} +1 -1
  68. package/dist/browser/policies/proxyPolicy-web.mjs.map +1 -0
  69. package/dist/browser/restError.js +1 -1
  70. package/dist/browser/restError.js.map +1 -1
  71. package/dist/browser/types-browser.d.mts +19 -0
  72. package/dist/browser/types-browser.mjs +4 -0
  73. package/dist/browser/types-browser.mjs.map +1 -0
  74. package/dist/browser/util/bytesEncoding-web.d.mts +2 -0
  75. package/dist/{react-native/util/bytesEncoding.js → browser/util/bytesEncoding-web.mjs} +1 -1
  76. package/dist/browser/util/bytesEncoding-web.mjs.map +1 -0
  77. package/dist/browser/util/bytesEncoding.common.d.ts +4 -4
  78. package/dist/browser/util/bytesEncoding.common.js +3 -4
  79. package/dist/browser/util/bytesEncoding.common.js.map +1 -1
  80. package/dist/browser/util/concat-browser.d.mts +16 -0
  81. package/dist/browser/util/{concat.js → concat-browser.mjs} +4 -11
  82. package/dist/browser/util/concat-browser.mjs.map +1 -0
  83. package/dist/browser/util/inspect-web.d.mts +2 -0
  84. package/dist/{react-native/util/inspect.js → browser/util/inspect-web.mjs} +1 -1
  85. package/dist/browser/util/inspect-web.mjs.map +1 -0
  86. package/dist/browser/util/internal.d.ts +4 -4
  87. package/dist/browser/util/internal.js +4 -4
  88. package/dist/browser/util/internal.js.map +1 -1
  89. package/dist/browser/util/sha256-web.d.mts +2 -0
  90. package/dist/{react-native/util/sha256.js → browser/util/sha256-web.mjs} +1 -1
  91. package/dist/browser/util/sha256-web.mjs.map +1 -0
  92. package/dist/browser/util/sha256.common.js +1 -1
  93. package/dist/browser/util/sha256.common.js.map +1 -1
  94. package/dist/browser/util/typeGuards-browser.d.mts +14 -0
  95. package/dist/browser/util/typeGuards-browser.mjs +26 -0
  96. package/dist/browser/util/typeGuards-browser.mjs.map +1 -0
  97. package/dist/browser/util/typeGuards.d.ts +5 -4
  98. package/dist/browser/util/typeGuards.js +4 -10
  99. package/dist/browser/util/typeGuards.js.map +1 -1
  100. package/dist/browser/util/userAgent.d.ts +2 -0
  101. package/dist/browser/util/userAgent.js +2 -1
  102. package/dist/browser/util/userAgent.js.map +1 -1
  103. package/dist/browser/util/{userAgentPlatform.d.ts → userAgentPlatform-browser.d.mts} +1 -1
  104. package/dist/browser/util/{userAgentPlatform.js → userAgentPlatform-browser.mjs} +1 -1
  105. package/dist/browser/util/userAgentPlatform-browser.mjs.map +1 -0
  106. package/dist/browser/util/{uuidUtils.d.ts → uuidUtils-browser.d.mts} +1 -1
  107. package/dist/browser/util/{uuidUtils.js → uuidUtils-browser.mjs} +1 -1
  108. package/dist/browser/util/uuidUtils-browser.mjs.map +1 -0
  109. package/dist/commonjs/client/clientHelpers.js +2 -2
  110. package/dist/commonjs/client/clientHelpers.js.map +2 -2
  111. package/dist/commonjs/client/common.d.ts +3 -2
  112. package/dist/commonjs/client/common.js.map +1 -1
  113. package/dist/commonjs/client/getClient.js +3 -3
  114. package/dist/commonjs/client/getClient.js.map +2 -2
  115. package/dist/commonjs/client/multipart.js.map +1 -1
  116. package/dist/commonjs/client/restError.js +5 -4
  117. package/dist/commonjs/client/restError.js.map +2 -2
  118. package/dist/commonjs/client/sendRequest.js +26 -8
  119. package/dist/commonjs/client/sendRequest.js.map +2 -2
  120. package/dist/commonjs/constants.js +1 -1
  121. package/dist/commonjs/constants.js.map +1 -1
  122. package/dist/commonjs/createPipelineFromOptions.d.ts +1 -1
  123. package/dist/commonjs/createPipelineFromOptions.js +2 -19
  124. package/dist/commonjs/createPipelineFromOptions.js.map +2 -2
  125. package/dist/{browser/util/checkEnvironment.d.ts → commonjs/env.d.ts} +21 -1
  126. package/dist/commonjs/env.js +67 -0
  127. package/dist/commonjs/env.js.map +7 -0
  128. package/dist/commonjs/formData.d.ts +10 -0
  129. package/dist/commonjs/{logger/log.common.js → formData.js} +18 -19
  130. package/dist/commonjs/formData.js.map +7 -0
  131. package/dist/commonjs/httpHeaders.js +4 -1
  132. package/dist/commonjs/httpHeaders.js.map +2 -2
  133. package/dist/commonjs/index.d.ts +1 -12
  134. package/dist/commonjs/index.js +2 -2
  135. package/dist/commonjs/index.js.map +2 -2
  136. package/dist/commonjs/interfaces.d.ts +15 -14
  137. package/dist/commonjs/interfaces.js.map +1 -1
  138. package/dist/commonjs/logger/debug.js +2 -1
  139. package/dist/commonjs/logger/debug.js.map +2 -2
  140. package/dist/commonjs/logger/logger.js +2 -1
  141. package/dist/commonjs/logger/logger.js.map +2 -2
  142. package/dist/commonjs/nodeHttpClient.js +3 -1
  143. package/dist/commonjs/nodeHttpClient.js.map +2 -2
  144. package/dist/commonjs/pipelineRequest.js +2 -2
  145. package/dist/commonjs/pipelineRequest.js.map +2 -2
  146. package/dist/commonjs/policies/auth/basicAuthenticationPolicy.js.map +1 -1
  147. package/dist/commonjs/policies/auth/checkInsecureConnection.js +3 -2
  148. package/dist/commonjs/policies/auth/checkInsecureConnection.js.map +2 -2
  149. package/dist/commonjs/policies/formDataPolicy.js +4 -11
  150. package/dist/commonjs/policies/formDataPolicy.js.map +2 -2
  151. package/dist/commonjs/policies/internal.d.ts +1 -1
  152. package/dist/commonjs/policies/internal.js +7 -7
  153. package/dist/commonjs/policies/internal.js.map +2 -2
  154. package/dist/commonjs/policies/multipartPolicy.js +2 -2
  155. package/dist/commonjs/policies/multipartPolicy.js.map +2 -2
  156. package/dist/commonjs/policies/platformPolicies.d.ts +25 -0
  157. package/dist/commonjs/policies/platformPolicies.js +43 -0
  158. package/dist/commonjs/policies/platformPolicies.js.map +7 -0
  159. package/dist/commonjs/restError.js.map +1 -1
  160. package/dist/commonjs/tsdoc-metadata.json +1 -1
  161. package/dist/commonjs/types.d.ts +19 -0
  162. package/dist/commonjs/types.js +16 -0
  163. package/dist/commonjs/types.js.map +7 -0
  164. package/dist/commonjs/util/concat.d.ts +1 -1
  165. package/dist/commonjs/util/concat.js.map +2 -2
  166. package/dist/commonjs/util/internal.d.ts +1 -1
  167. package/dist/commonjs/util/internal.js +10 -10
  168. package/dist/commonjs/util/internal.js.map +2 -2
  169. package/dist/commonjs/util/typeGuards-node.d.ts +13 -0
  170. package/dist/commonjs/util/{inspect.common.js → typeGuards-node.js} +15 -7
  171. package/dist/commonjs/util/typeGuards-node.js.map +7 -0
  172. package/dist/commonjs/util/typeGuards.d.ts +5 -4
  173. package/dist/commonjs/util/typeGuards.js +6 -13
  174. package/dist/commonjs/util/typeGuards.js.map +2 -2
  175. package/dist/commonjs/util/userAgent.d.ts +2 -0
  176. package/dist/commonjs/util/userAgent.js +7 -5
  177. package/dist/commonjs/util/userAgent.js.map +2 -2
  178. package/dist/esm/client/clientHelpers.js.map +1 -1
  179. package/dist/esm/client/common.d.ts +3 -2
  180. package/dist/esm/client/common.js.map +1 -1
  181. package/dist/esm/client/getClient.js +1 -1
  182. package/dist/esm/client/getClient.js.map +1 -1
  183. package/dist/esm/client/multipart.js.map +1 -1
  184. package/dist/esm/client/restError.js +5 -4
  185. package/dist/esm/client/restError.js.map +1 -1
  186. package/dist/esm/client/sendRequest.js +13 -10
  187. package/dist/esm/client/sendRequest.js.map +1 -1
  188. package/dist/esm/constants.js +1 -1
  189. package/dist/esm/constants.js.map +1 -1
  190. package/dist/esm/createPipelineFromOptions.d.ts +1 -1
  191. package/dist/esm/createPipelineFromOptions.js +2 -21
  192. package/dist/esm/createPipelineFromOptions.js.map +1 -1
  193. package/dist/{react-native/util/checkEnvironment.d.ts → esm/env.d.ts} +21 -1
  194. package/dist/esm/env.js +48 -0
  195. package/dist/esm/env.js.map +1 -0
  196. package/dist/esm/formData.d.ts +10 -0
  197. package/dist/esm/formData.js +26 -0
  198. package/dist/esm/formData.js.map +1 -0
  199. package/dist/esm/httpHeaders.js +11 -1
  200. package/dist/esm/httpHeaders.js.map +1 -1
  201. package/dist/esm/index.d.ts +1 -12
  202. package/dist/esm/index.js.map +1 -1
  203. package/dist/esm/interfaces.d.ts +15 -14
  204. package/dist/esm/interfaces.js.map +1 -1
  205. package/dist/esm/logger/debug.js +2 -1
  206. package/dist/esm/logger/debug.js.map +1 -1
  207. package/dist/esm/logger/logger.js +2 -2
  208. package/dist/esm/logger/logger.js.map +1 -1
  209. package/dist/esm/nodeHttpClient.js +3 -1
  210. package/dist/esm/nodeHttpClient.js.map +1 -1
  211. package/dist/esm/pipelineRequest.js.map +1 -1
  212. package/dist/esm/policies/auth/basicAuthenticationPolicy.js.map +1 -1
  213. package/dist/esm/policies/auth/checkInsecureConnection.js +3 -2
  214. package/dist/esm/policies/auth/checkInsecureConnection.js.map +1 -1
  215. package/dist/esm/policies/formDataPolicy.js +4 -11
  216. package/dist/esm/policies/formDataPolicy.js.map +1 -1
  217. package/dist/esm/policies/internal.d.ts +1 -1
  218. package/dist/esm/policies/internal.js +1 -1
  219. package/dist/esm/policies/internal.js.map +1 -1
  220. package/dist/esm/policies/multipartPolicy.js +4 -0
  221. package/dist/esm/policies/multipartPolicy.js.map +1 -1
  222. package/dist/esm/policies/platformPolicies.d.ts +25 -0
  223. package/dist/esm/policies/platformPolicies.js +30 -0
  224. package/dist/esm/policies/platformPolicies.js.map +1 -0
  225. package/dist/esm/restError.js.map +1 -1
  226. package/dist/esm/types.d.ts +19 -0
  227. package/dist/esm/types.js +4 -0
  228. package/dist/esm/types.js.map +1 -0
  229. package/dist/esm/util/concat.d.ts +1 -1
  230. package/dist/esm/util/concat.js.map +1 -1
  231. package/dist/esm/util/internal.d.ts +1 -1
  232. package/dist/esm/util/internal.js +1 -1
  233. package/dist/esm/util/internal.js.map +1 -1
  234. package/dist/esm/util/typeGuards-node.d.ts +13 -0
  235. package/dist/esm/util/typeGuards-node.js +20 -0
  236. package/dist/esm/util/typeGuards-node.js.map +1 -0
  237. package/dist/esm/util/typeGuards.d.ts +5 -4
  238. package/dist/esm/util/typeGuards.js +4 -10
  239. package/dist/esm/util/typeGuards.js.map +1 -1
  240. package/dist/esm/util/userAgent.d.ts +2 -0
  241. package/dist/esm/util/userAgent.js +1 -0
  242. package/dist/esm/util/userAgent.js.map +1 -1
  243. package/dist/react-native/client/clientHelpers.js +1 -1
  244. package/dist/react-native/client/clientHelpers.js.map +1 -1
  245. package/dist/react-native/client/common.d.ts +3 -2
  246. package/dist/react-native/client/common.js.map +1 -1
  247. package/dist/react-native/client/getClient.js +1 -1
  248. package/dist/react-native/client/getClient.js.map +1 -1
  249. package/dist/react-native/client/multipart.js +1 -1
  250. package/dist/react-native/client/multipart.js.map +1 -1
  251. package/dist/react-native/client/restError.js +5 -4
  252. package/dist/react-native/client/restError.js.map +1 -1
  253. package/dist/react-native/client/sendRequest.js +13 -10
  254. package/dist/react-native/client/sendRequest.js.map +1 -1
  255. package/dist/react-native/constants.js +1 -1
  256. package/dist/react-native/constants.js.map +1 -1
  257. package/dist/react-native/createPipelineFromOptions.d.ts +1 -1
  258. package/dist/react-native/createPipelineFromOptions.js +2 -21
  259. package/dist/react-native/createPipelineFromOptions.js.map +1 -1
  260. package/dist/react-native/{defaultHttpClient.d.ts → defaultHttpClient-react-native.d.mts} +1 -1
  261. package/dist/react-native/{defaultHttpClient.js → defaultHttpClient-react-native.mjs} +1 -1
  262. package/dist/react-native/defaultHttpClient-react-native.mjs.map +1 -0
  263. package/dist/react-native/encoding-react-native.d.mts +21 -0
  264. package/dist/react-native/encoding-react-native.mjs +25 -0
  265. package/dist/react-native/encoding-react-native.mjs.map +1 -0
  266. package/dist/{esm/util/checkEnvironment.d.ts → react-native/env-react-native.d.mts} +21 -1
  267. package/dist/react-native/env-react-native.mjs +50 -0
  268. package/dist/react-native/env-react-native.mjs.map +1 -0
  269. package/dist/react-native/formData-web.d.mts +9 -0
  270. package/dist/react-native/formData-web.mjs +12 -0
  271. package/dist/react-native/formData-web.mjs.map +1 -0
  272. package/dist/react-native/httpHeaders.js +11 -1
  273. package/dist/react-native/httpHeaders.js.map +1 -1
  274. package/dist/react-native/index.d.ts +3 -14
  275. package/dist/react-native/index.js +2 -2
  276. package/dist/react-native/index.js.map +1 -1
  277. package/dist/react-native/interfaces.d.ts +15 -14
  278. package/dist/react-native/interfaces.js.map +1 -1
  279. package/dist/react-native/logger/debug.js +3 -2
  280. package/dist/react-native/logger/debug.js.map +1 -1
  281. package/dist/{browser/logger/log.d.ts → react-native/logger/log-web.d.mts} +1 -1
  282. package/dist/react-native/logger/{log.js → log-web.mjs} +1 -1
  283. package/dist/react-native/logger/log-web.mjs.map +1 -0
  284. package/dist/react-native/logger/logger.js +2 -2
  285. package/dist/react-native/logger/logger.js.map +1 -1
  286. package/dist/react-native/pipelineRequest.js +1 -1
  287. package/dist/react-native/pipelineRequest.js.map +1 -1
  288. package/dist/react-native/policies/auth/basicAuthenticationPolicy.js +1 -1
  289. package/dist/react-native/policies/auth/basicAuthenticationPolicy.js.map +1 -1
  290. package/dist/react-native/policies/auth/checkInsecureConnection.js +3 -2
  291. package/dist/react-native/policies/auth/checkInsecureConnection.js.map +1 -1
  292. package/dist/react-native/policies/decompressResponsePolicy-web.d.mts +8 -0
  293. package/dist/react-native/policies/decompressResponsePolicy-web.mjs +11 -0
  294. package/dist/react-native/policies/decompressResponsePolicy-web.mjs.map +1 -0
  295. package/dist/react-native/policies/formDataPolicy.js +5 -12
  296. package/dist/react-native/policies/formDataPolicy.js.map +1 -1
  297. package/dist/react-native/policies/internal.d.ts +2 -2
  298. package/dist/react-native/policies/internal.js +2 -2
  299. package/dist/react-native/policies/internal.js.map +1 -1
  300. package/dist/react-native/policies/multipartPolicy.js +7 -3
  301. package/dist/react-native/policies/multipartPolicy.js.map +1 -1
  302. package/dist/react-native/policies/platformPolicies-web.d.mts +10 -0
  303. package/dist/react-native/policies/platformPolicies-web.mjs +12 -0
  304. package/dist/react-native/policies/platformPolicies-web.mjs.map +1 -0
  305. package/dist/react-native/policies/platformPolicies.d.ts +25 -0
  306. package/dist/react-native/policies/platformPolicies.js +30 -0
  307. package/dist/react-native/policies/platformPolicies.js.map +1 -0
  308. package/dist/react-native/policies/proxyPolicy-web.d.mts +2 -0
  309. package/dist/{browser/policies/proxyPolicy.js → react-native/policies/proxyPolicy-web.mjs} +1 -1
  310. package/dist/react-native/policies/proxyPolicy-web.mjs.map +1 -0
  311. package/dist/react-native/restError.js +1 -1
  312. package/dist/react-native/restError.js.map +1 -1
  313. package/dist/react-native/types-react-native.d.mts +19 -0
  314. package/dist/react-native/types-react-native.mjs +4 -0
  315. package/dist/react-native/types-react-native.mjs.map +1 -0
  316. package/dist/react-native/util/bytesEncoding-web.d.mts +2 -0
  317. package/dist/{browser/util/bytesEncoding.js → react-native/util/bytesEncoding-web.mjs} +1 -1
  318. package/dist/react-native/util/bytesEncoding-web.mjs.map +1 -0
  319. package/dist/react-native/util/bytesEncoding.common.d.ts +4 -4
  320. package/dist/react-native/util/bytesEncoding.common.js +3 -4
  321. package/dist/react-native/util/bytesEncoding.common.js.map +1 -1
  322. package/dist/react-native/util/{concat.d.ts → concat-react-native.d.mts} +10 -3
  323. package/dist/react-native/util/{concat.js → concat-react-native.mjs} +2 -2
  324. package/dist/react-native/util/concat-react-native.mjs.map +1 -0
  325. package/dist/react-native/util/inspect-web.d.mts +2 -0
  326. package/dist/{browser/util/inspect.js → react-native/util/inspect-web.mjs} +1 -1
  327. package/dist/react-native/util/inspect-web.mjs.map +1 -0
  328. package/dist/react-native/util/internal.d.ts +4 -4
  329. package/dist/react-native/util/internal.js +4 -4
  330. package/dist/react-native/util/internal.js.map +1 -1
  331. package/dist/react-native/util/sha256-web.d.mts +2 -0
  332. package/dist/{browser/util/sha256.js → react-native/util/sha256-web.mjs} +1 -1
  333. package/dist/react-native/util/sha256-web.mjs.map +1 -0
  334. package/dist/react-native/util/sha256.common.js +1 -1
  335. package/dist/react-native/util/sha256.common.js.map +1 -1
  336. package/dist/react-native/util/typeGuards-react-native.d.mts +16 -0
  337. package/dist/react-native/util/typeGuards-react-native.mjs +34 -0
  338. package/dist/react-native/util/typeGuards-react-native.mjs.map +1 -0
  339. package/dist/react-native/util/typeGuards.d.ts +5 -4
  340. package/dist/react-native/util/typeGuards.js +4 -10
  341. package/dist/react-native/util/typeGuards.js.map +1 -1
  342. package/dist/react-native/util/userAgent.d.ts +2 -0
  343. package/dist/react-native/util/userAgent.js +2 -1
  344. package/dist/react-native/util/userAgent.js.map +1 -1
  345. package/dist/react-native/util/{userAgentPlatform.d.ts → userAgentPlatform-react-native.d.mts} +1 -1
  346. package/dist/react-native/util/{userAgentPlatform.js → userAgentPlatform-react-native.mjs} +1 -1
  347. package/dist/react-native/util/userAgentPlatform-react-native.mjs.map +1 -0
  348. package/dist/react-native/util/uuidUtils-react-native.d.mts +2 -0
  349. package/dist/react-native/util/{uuidUtils.js → uuidUtils-react-native.mjs} +1 -1
  350. package/dist/react-native/util/uuidUtils-react-native.mjs.map +1 -0
  351. package/package.json +94 -8
  352. package/dist/browser/defaultHttpClient.js.map +0 -1
  353. package/dist/browser/logger/log.js.map +0 -1
  354. package/dist/browser/nodeHttpClient.d.ts +0 -9
  355. package/dist/browser/nodeHttpClient.js +0 -347
  356. package/dist/browser/nodeHttpClient.js.map +0 -1
  357. package/dist/browser/policies/decompressResponsePolicy.js.map +0 -1
  358. package/dist/browser/policies/proxyPolicy.d.ts +0 -2
  359. package/dist/browser/policies/proxyPolicy.js.map +0 -1
  360. package/dist/browser/util/bytesEncoding.d.ts +0 -2
  361. package/dist/browser/util/bytesEncoding.js.map +0 -1
  362. package/dist/browser/util/checkEnvironment.js +0 -41
  363. package/dist/browser/util/checkEnvironment.js.map +0 -1
  364. package/dist/browser/util/concat.d.ts +0 -17
  365. package/dist/browser/util/concat.js.map +0 -1
  366. package/dist/browser/util/inspect.d.ts +0 -2
  367. package/dist/browser/util/inspect.js.map +0 -1
  368. package/dist/browser/util/sha256.d.ts +0 -2
  369. package/dist/browser/util/sha256.js.map +0 -1
  370. package/dist/browser/util/userAgentPlatform.js.map +0 -1
  371. package/dist/browser/util/uuidUtils.js.map +0 -1
  372. package/dist/browser/xhrHttpClient.d.ts +0 -7
  373. package/dist/browser/xhrHttpClient.js +0 -174
  374. package/dist/browser/xhrHttpClient.js.map +0 -1
  375. package/dist/commonjs/fetchHttpClient.d.ts +0 -12
  376. package/dist/commonjs/fetchHttpClient.js +0 -238
  377. package/dist/commonjs/fetchHttpClient.js.map +0 -7
  378. package/dist/commonjs/logger/log.common.d.ts +0 -2
  379. package/dist/commonjs/logger/log.common.js.map +0 -7
  380. package/dist/commonjs/policies/proxyPolicy.common.d.ts +0 -19
  381. package/dist/commonjs/policies/proxyPolicy.common.js +0 -44
  382. package/dist/commonjs/policies/proxyPolicy.common.js.map +0 -7
  383. package/dist/commonjs/util/arrayBuffer.d.ts +0 -7
  384. package/dist/commonjs/util/arrayBuffer.js +0 -37
  385. package/dist/commonjs/util/arrayBuffer.js.map +0 -7
  386. package/dist/commonjs/util/bytesEncoding.common.d.ts +0 -61
  387. package/dist/commonjs/util/bytesEncoding.common.js +0 -106
  388. package/dist/commonjs/util/bytesEncoding.common.js.map +0 -7
  389. package/dist/commonjs/util/checkEnvironment.js +0 -46
  390. package/dist/commonjs/util/checkEnvironment.js.map +0 -7
  391. package/dist/commonjs/util/inspect.common.d.ts +0 -2
  392. package/dist/commonjs/util/inspect.common.js.map +0 -7
  393. package/dist/commonjs/util/sha256.common.d.ts +0 -14
  394. package/dist/commonjs/util/sha256.common.js +0 -70
  395. package/dist/commonjs/util/sha256.common.js.map +0 -7
  396. package/dist/commonjs/util/uuidUtils.common.d.ts +0 -13
  397. package/dist/commonjs/util/uuidUtils.common.js +0 -49
  398. package/dist/commonjs/util/uuidUtils.common.js.map +0 -7
  399. package/dist/commonjs/xhrHttpClient.d.ts +0 -7
  400. package/dist/commonjs/xhrHttpClient.js +0 -186
  401. package/dist/commonjs/xhrHttpClient.js.map +0 -7
  402. package/dist/esm/fetchHttpClient.d.ts +0 -12
  403. package/dist/esm/fetchHttpClient.js +0 -279
  404. package/dist/esm/fetchHttpClient.js.map +0 -1
  405. package/dist/esm/logger/log.common.d.ts +0 -2
  406. package/dist/esm/logger/log.common.js +0 -23
  407. package/dist/esm/logger/log.common.js.map +0 -1
  408. package/dist/esm/policies/proxyPolicy.common.d.ts +0 -19
  409. package/dist/esm/policies/proxyPolicy.common.js +0 -24
  410. package/dist/esm/policies/proxyPolicy.common.js.map +0 -1
  411. package/dist/esm/util/arrayBuffer.d.ts +0 -7
  412. package/dist/esm/util/arrayBuffer.js +0 -20
  413. package/dist/esm/util/arrayBuffer.js.map +0 -1
  414. package/dist/esm/util/bytesEncoding.common.d.ts +0 -61
  415. package/dist/esm/util/bytesEncoding.common.js +0 -110
  416. package/dist/esm/util/bytesEncoding.common.js.map +0 -1
  417. package/dist/esm/util/checkEnvironment.js.map +0 -1
  418. package/dist/esm/util/inspect.common.d.ts +0 -2
  419. package/dist/esm/util/inspect.common.js +0 -4
  420. package/dist/esm/util/inspect.common.js.map +0 -1
  421. package/dist/esm/util/sha256.common.d.ts +0 -14
  422. package/dist/esm/util/sha256.common.js +0 -49
  423. package/dist/esm/util/sha256.common.js.map +0 -1
  424. package/dist/esm/util/uuidUtils.common.d.ts +0 -13
  425. package/dist/esm/util/uuidUtils.common.js +0 -40
  426. package/dist/esm/util/uuidUtils.common.js.map +0 -1
  427. package/dist/esm/xhrHttpClient.d.ts +0 -7
  428. package/dist/esm/xhrHttpClient.js +0 -174
  429. package/dist/esm/xhrHttpClient.js.map +0 -1
  430. package/dist/react-native/defaultHttpClient.js.map +0 -1
  431. package/dist/react-native/fetchHttpClient.d.ts +0 -12
  432. package/dist/react-native/fetchHttpClient.js +0 -279
  433. package/dist/react-native/fetchHttpClient.js.map +0 -1
  434. package/dist/react-native/logger/log.js.map +0 -1
  435. package/dist/react-native/nodeHttpClient.d.ts +0 -9
  436. package/dist/react-native/nodeHttpClient.js +0 -347
  437. package/dist/react-native/nodeHttpClient.js.map +0 -1
  438. package/dist/react-native/policies/decompressResponsePolicy.d.ts +0 -11
  439. package/dist/react-native/policies/decompressResponsePolicy.js +0 -23
  440. package/dist/react-native/policies/decompressResponsePolicy.js.map +0 -1
  441. package/dist/react-native/policies/proxyPolicy.d.ts +0 -2
  442. package/dist/react-native/policies/proxyPolicy.js.map +0 -1
  443. package/dist/react-native/util/bytesEncoding.d.ts +0 -2
  444. package/dist/react-native/util/bytesEncoding.js.map +0 -1
  445. package/dist/react-native/util/checkEnvironment.js +0 -41
  446. package/dist/react-native/util/checkEnvironment.js.map +0 -1
  447. package/dist/react-native/util/concat.js.map +0 -1
  448. package/dist/react-native/util/inspect.d.ts +0 -2
  449. package/dist/react-native/util/inspect.js.map +0 -1
  450. package/dist/react-native/util/sha256.d.ts +0 -2
  451. package/dist/react-native/util/sha256.js.map +0 -1
  452. package/dist/react-native/util/userAgentPlatform.js.map +0 -1
  453. package/dist/react-native/util/uuidUtils.d.ts +0 -2
  454. package/dist/react-native/util/uuidUtils.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/policies/auth/basicAuthenticationPolicy.ts"],
4
- "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { BasicCredential } from \"../../auth/credentials.js\";\nimport type { AuthScheme } from \"../../auth/schemes.js\";\nimport type { PipelineRequest, PipelineResponse, SendRequest } from \"../../interfaces.js\";\nimport type { PipelinePolicy } from \"../../pipeline.js\";\nimport { stringToUint8Array, uint8ArrayToString } from \"../../util/bytesEncoding.js\";\nimport { ensureSecureConnection } from \"./checkInsecureConnection.js\";\n\n/**\n * Name of the Basic Authentication Policy\n */\nexport const basicAuthenticationPolicyName = \"bearerAuthenticationPolicy\";\n\n/**\n * Options for configuring the basic authentication policy\n */\nexport interface BasicAuthenticationPolicyOptions {\n /**\n * The credential used to authenticate requests\n */\n credential: BasicCredential;\n /**\n * Optional authentication schemes to use. If not provided, schemes from the request will be used.\n */\n authSchemes?: AuthScheme[];\n /**\n * Allows for connecting to HTTP endpoints instead of enforcing HTTPS.\n * CAUTION: Never use this option in production.\n */\n allowInsecureConnection?: boolean;\n}\n\n/**\n * Gets a pipeline policy that adds basic authentication to requests\n */\nexport function basicAuthenticationPolicy(\n options: BasicAuthenticationPolicyOptions,\n): PipelinePolicy {\n return {\n name: basicAuthenticationPolicyName,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n // Ensure allowInsecureConnection is explicitly set when sending request to non-https URLs\n ensureSecureConnection(request, options);\n\n const scheme = (request.authSchemes ?? options.authSchemes)?.find(\n (x) => x.kind === \"http\" && x.scheme === \"basic\",\n );\n\n // Skip adding authentication header if no basic authentication scheme is found\n if (!scheme) {\n return next(request);\n }\n\n const { username, password } = options.credential;\n const headerValue = uint8ArrayToString(\n stringToUint8Array(`${username}:${password}`, \"utf-8\"),\n \"base64\",\n );\n request.headers.set(\"Authorization\", `Basic ${headerValue}`);\n return next(request);\n },\n };\n}\n"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { BasicCredential } from \"../../auth/credentials.js\";\nimport type { AuthScheme } from \"../../auth/schemes.js\";\nimport type { PipelineRequest, PipelineResponse, SendRequest } from \"../../interfaces.js\";\nimport type { PipelinePolicy } from \"../../pipeline.js\";\nimport { stringToUint8Array, uint8ArrayToString } from \"#platform/bytesEncoding\";\nimport { ensureSecureConnection } from \"./checkInsecureConnection.js\";\n\n/**\n * Name of the Basic Authentication Policy\n */\nexport const basicAuthenticationPolicyName = \"bearerAuthenticationPolicy\";\n\n/**\n * Options for configuring the basic authentication policy\n */\nexport interface BasicAuthenticationPolicyOptions {\n /**\n * The credential used to authenticate requests\n */\n credential: BasicCredential;\n /**\n * Optional authentication schemes to use. If not provided, schemes from the request will be used.\n */\n authSchemes?: AuthScheme[];\n /**\n * Allows for connecting to HTTP endpoints instead of enforcing HTTPS.\n * CAUTION: Never use this option in production.\n */\n allowInsecureConnection?: boolean;\n}\n\n/**\n * Gets a pipeline policy that adds basic authentication to requests\n */\nexport function basicAuthenticationPolicy(\n options: BasicAuthenticationPolicyOptions,\n): PipelinePolicy {\n return {\n name: basicAuthenticationPolicyName,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n // Ensure allowInsecureConnection is explicitly set when sending request to non-https URLs\n ensureSecureConnection(request, options);\n\n const scheme = (request.authSchemes ?? options.authSchemes)?.find(\n (x) => x.kind === \"http\" && x.scheme === \"basic\",\n );\n\n // Skip adding authentication header if no basic authentication scheme is found\n if (!scheme) {\n return next(request);\n }\n\n const { username, password } = options.credential;\n const headerValue = uint8ArrayToString(\n stringToUint8Array(`${username}:${password}`, \"utf-8\"),\n \"base64\",\n );\n request.headers.set(\"Authorization\", `Basic ${headerValue}`);\n return next(request);\n },\n };\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,2BAAuD;AACvD,qCAAuC;AAKhC,MAAM,gCAAgC;AAwBtC,SAAS,0BACd,SACgB;AAChB,SAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM,YAAY,SAA0B,MAA8C;AAExF,iEAAuB,SAAS,OAAO;AAEvC,YAAM,UAAU,QAAQ,eAAe,QAAQ,cAAc;AAAA,QAC3D,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,WAAW;AAAA,MAC3C;AAGA,UAAI,CAAC,QAAQ;AACX,eAAO,KAAK,OAAO;AAAA,MACrB;AAEA,YAAM,EAAE,UAAU,SAAS,IAAI,QAAQ;AACvC,YAAM,kBAAc;AAAA,YAClB,yCAAmB,GAAG,QAAQ,IAAI,QAAQ,IAAI,OAAO;AAAA,QACrD;AAAA,MACF;AACA,cAAQ,QAAQ,IAAI,iBAAiB,SAAS,WAAW,EAAE;AAC3D,aAAO,KAAK,OAAO;AAAA,IACrB;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -21,6 +21,7 @@ __export(checkInsecureConnection_exports, {
21
21
  });
22
22
  module.exports = __toCommonJS(checkInsecureConnection_exports);
23
23
  var import_log = require("../../log.js");
24
+ var import_env = require("../../env.js");
24
25
  let insecureConnectionWarningEmmitted = false;
25
26
  function allowInsecureConnection(request, options) {
26
27
  if (options.allowInsecureConnection && request.allowInsecureConnection) {
@@ -34,9 +35,9 @@ function allowInsecureConnection(request, options) {
34
35
  function emitInsecureConnectionWarning() {
35
36
  const warning = "Sending token over insecure transport. Assume any token issued is compromised.";
36
37
  import_log.logger.warning(warning);
37
- if (typeof process?.emitWarning === "function" && !insecureConnectionWarningEmmitted) {
38
+ if (!insecureConnectionWarningEmmitted) {
38
39
  insecureConnectionWarningEmmitted = true;
39
- process.emitWarning(warning);
40
+ (0, import_env.emitNodeWarning)(warning);
40
41
  }
41
42
  }
42
43
  function ensureSecureConnection(request, options) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/policies/auth/checkInsecureConnection.ts"],
4
- "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PipelineRequest } from \"../../interfaces.js\";\nimport { logger } from \"../../log.js\";\n\n// Ensure the warining is only emitted once\nlet insecureConnectionWarningEmmitted = false;\n\n/**\n * Checks if the request is allowed to be sent over an insecure connection.\n *\n * A request is allowed to be sent over an insecure connection when:\n * - The `allowInsecureConnection` option is set to `true`.\n * - The request has the `allowInsecureConnection` property set to `true`.\n * - The request is being sent to `localhost` or `127.0.0.1`\n */\nfunction allowInsecureConnection(\n request: PipelineRequest,\n options: { allowInsecureConnection?: boolean },\n): boolean {\n if (options.allowInsecureConnection && request.allowInsecureConnection) {\n const url = new URL(request.url);\n if (url.hostname === \"localhost\" || url.hostname === \"127.0.0.1\") {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * Logs a warning about sending a token over an insecure connection.\n *\n * This function will emit a node warning once, but log the warning every time.\n */\nfunction emitInsecureConnectionWarning(): void {\n const warning = \"Sending token over insecure transport. Assume any token issued is compromised.\";\n\n logger.warning(warning);\n\n if (typeof process?.emitWarning === \"function\" && !insecureConnectionWarningEmmitted) {\n insecureConnectionWarningEmmitted = true;\n process.emitWarning(warning);\n }\n}\n\n/**\n * Ensures that authentication is only allowed over HTTPS unless explicitly allowed.\n * Throws an error if the connection is not secure and not explicitly allowed.\n */\nexport function ensureSecureConnection(\n request: PipelineRequest,\n options: { allowInsecureConnection?: boolean },\n): void {\n if (!request.url.toLowerCase().startsWith(\"https://\")) {\n if (allowInsecureConnection(request, options)) {\n emitInsecureConnectionWarning();\n } else {\n throw new Error(\n \"Authentication is not permitted for non-TLS protected (non-https) URLs when allowInsecureConnection is false.\",\n );\n }\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,iBAAuB;AAGvB,IAAI,oCAAoC;AAUxC,SAAS,wBACP,SACA,SACS;AACT,MAAI,QAAQ,2BAA2B,QAAQ,yBAAyB;AACtE,UAAM,MAAM,IAAI,IAAI,QAAQ,GAAG;AAC/B,QAAI,IAAI,aAAa,eAAe,IAAI,aAAa,aAAa;AAChE,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;AAOA,SAAS,gCAAsC;AAC7C,QAAM,UAAU;AAEhB,oBAAO,QAAQ,OAAO;AAEtB,MAAI,OAAO,SAAS,gBAAgB,cAAc,CAAC,mCAAmC;AACpF,wCAAoC;AACpC,YAAQ,YAAY,OAAO;AAAA,EAC7B;AACF;AAMO,SAAS,uBACd,SACA,SACM;AACN,MAAI,CAAC,QAAQ,IAAI,YAAY,EAAE,WAAW,UAAU,GAAG;AACrD,QAAI,wBAAwB,SAAS,OAAO,GAAG;AAC7C,oCAA8B;AAAA,IAChC,OAAO;AACL,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PipelineRequest } from \"../../interfaces.js\";\nimport { logger } from \"../../log.js\";\nimport { emitNodeWarning } from \"#platform/env\";\n\n// Ensure the warining is only emitted once\nlet insecureConnectionWarningEmmitted = false;\n\n/**\n * Checks if the request is allowed to be sent over an insecure connection.\n *\n * A request is allowed to be sent over an insecure connection when:\n * - The `allowInsecureConnection` option is set to `true`.\n * - The request has the `allowInsecureConnection` property set to `true`.\n * - The request is being sent to `localhost` or `127.0.0.1`\n */\nfunction allowInsecureConnection(\n request: PipelineRequest,\n options: { allowInsecureConnection?: boolean },\n): boolean {\n if (options.allowInsecureConnection && request.allowInsecureConnection) {\n const url = new URL(request.url);\n if (url.hostname === \"localhost\" || url.hostname === \"127.0.0.1\") {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * Logs a warning about sending a token over an insecure connection.\n *\n * This function will emit a node warning once, but log the warning every time.\n */\nfunction emitInsecureConnectionWarning(): void {\n const warning = \"Sending token over insecure transport. Assume any token issued is compromised.\";\n\n logger.warning(warning);\n\n if (!insecureConnectionWarningEmmitted) {\n insecureConnectionWarningEmmitted = true;\n emitNodeWarning(warning);\n }\n}\n\n/**\n * Ensures that authentication is only allowed over HTTPS unless explicitly allowed.\n * Throws an error if the connection is not secure and not explicitly allowed.\n */\nexport function ensureSecureConnection(\n request: PipelineRequest,\n options: { allowInsecureConnection?: boolean },\n): void {\n if (!request.url.toLowerCase().startsWith(\"https://\")) {\n if (allowInsecureConnection(request, options)) {\n emitInsecureConnectionWarning();\n } else {\n throw new Error(\n \"Authentication is not permitted for non-TLS protected (non-https) URLs when allowInsecureConnection is false.\",\n );\n }\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,iBAAuB;AACvB,iBAAgC;AAGhC,IAAI,oCAAoC;AAUxC,SAAS,wBACP,SACA,SACS;AACT,MAAI,QAAQ,2BAA2B,QAAQ,yBAAyB;AACtE,UAAM,MAAM,IAAI,IAAI,QAAQ,GAAG;AAC/B,QAAI,IAAI,aAAa,eAAe,IAAI,aAAa,aAAa;AAChE,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;AAOA,SAAS,gCAAsC;AAC7C,QAAM,UAAU;AAEhB,oBAAO,QAAQ,OAAO;AAEtB,MAAI,CAAC,mCAAmC;AACtC,wCAAoC;AACpC,oCAAgB,OAAO;AAAA,EACzB;AACF;AAMO,SAAS,uBACd,SACA,SACM;AACN,MAAI,CAAC,QAAQ,IAAI,YAAY,EAAE,WAAW,UAAU,GAAG;AACrD,QAAI,wBAAwB,SAAS,OAAO,GAAG;AAC7C,oCAA8B;AAAA,IAChC,OAAO;AACL,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -22,23 +22,16 @@ __export(formDataPolicy_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(formDataPolicy_exports);
24
24
  var import_bytesEncoding = require("../util/bytesEncoding.js");
25
- var import_checkEnvironment = require("../util/checkEnvironment.js");
25
+ var import_formData = require("../formData.js");
26
26
  var import_httpHeaders = require("../httpHeaders.js");
27
27
  const formDataPolicyName = "formDataPolicy";
28
- function formDataToFormDataMap(formData) {
29
- const formDataMap = {};
30
- for (const [key, value] of formData.entries()) {
31
- formDataMap[key] ??= [];
32
- formDataMap[key].push(value);
33
- }
34
- return formDataMap;
35
- }
36
28
  function formDataPolicy() {
37
29
  return {
38
30
  name: formDataPolicyName,
39
31
  async sendRequest(request, next) {
40
- if (import_checkEnvironment.isNodeLike && typeof FormData !== "undefined" && request.body instanceof FormData) {
41
- request.formData = formDataToFormDataMap(request.body);
32
+ const converted = (0, import_formData.convertBodyToFormDataMap)(request.body);
33
+ if (converted) {
34
+ request.formData = converted;
42
35
  request.body = void 0;
43
36
  }
44
37
  if (request.formData) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/policies/formDataPolicy.ts"],
4
- "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { stringToUint8Array } from \"../util/bytesEncoding.js\";\nimport { isNodeLike } from \"../util/checkEnvironment.js\";\nimport { createHttpHeaders } from \"../httpHeaders.js\";\nimport type {\n BodyPart,\n FormDataMap,\n FormDataValue,\n PipelineRequest,\n PipelineResponse,\n SendRequest,\n} from \"../interfaces.js\";\nimport type { PipelinePolicy } from \"../pipeline.js\";\n\n/**\n * The programmatic identifier of the formDataPolicy.\n */\nexport const formDataPolicyName = \"formDataPolicy\";\n\nfunction formDataToFormDataMap(formData: FormData): FormDataMap {\n const formDataMap: FormDataMap = {};\n for (const [key, value] of formData.entries()) {\n formDataMap[key] ??= [];\n (formDataMap[key] as FormDataValue[]).push(value);\n }\n return formDataMap;\n}\n\n/**\n * A policy that encodes FormData on the request into the body.\n */\nexport function formDataPolicy(): PipelinePolicy {\n return {\n name: formDataPolicyName,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n if (isNodeLike && typeof FormData !== \"undefined\" && request.body instanceof FormData) {\n request.formData = formDataToFormDataMap(request.body);\n request.body = undefined;\n }\n\n if (request.formData) {\n const contentType = request.headers.get(\"Content-Type\");\n if (contentType && contentType.indexOf(\"application/x-www-form-urlencoded\") !== -1) {\n request.body = wwwFormUrlEncode(request.formData);\n } else {\n await prepareFormData(request.formData, request);\n }\n\n request.formData = undefined;\n }\n return next(request);\n },\n };\n}\n\nfunction wwwFormUrlEncode(formData: FormDataMap): string {\n const urlSearchParams = new URLSearchParams();\n for (const [key, value] of Object.entries(formData)) {\n if (Array.isArray(value)) {\n for (const subValue of value) {\n urlSearchParams.append(key, subValue.toString());\n }\n } else {\n urlSearchParams.append(key, value.toString());\n }\n }\n return urlSearchParams.toString();\n}\n\nasync function prepareFormData(formData: FormDataMap, request: PipelineRequest): Promise<void> {\n // validate content type (multipart/form-data)\n const contentType = request.headers.get(\"Content-Type\");\n if (contentType && !contentType.startsWith(\"multipart/form-data\")) {\n // content type is specified and is not multipart/form-data. Exit.\n return;\n }\n\n request.headers.set(\"Content-Type\", contentType ?? \"multipart/form-data\");\n\n // set body to MultipartRequestBody using content from FormDataMap\n const parts: BodyPart[] = [];\n\n for (const [fieldName, values] of Object.entries(formData)) {\n for (const value of Array.isArray(values) ? values : [values]) {\n if (typeof value === \"string\") {\n parts.push({\n headers: createHttpHeaders({\n \"Content-Disposition\": `form-data; name=\"${fieldName}\"`,\n }),\n body: stringToUint8Array(value, \"utf-8\"),\n });\n } else if (value === undefined || value === null || typeof value !== \"object\") {\n throw new Error(\n `Unexpected value for key ${fieldName}: ${value}. Value should be serialized to string first.`,\n );\n } else {\n // using || instead of ?? here since if value.name is empty we should create a file name\n const fileName = (value as File).name || \"blob\";\n const headers = createHttpHeaders();\n headers.set(\n \"Content-Disposition\",\n `form-data; name=\"${fieldName}\"; filename=\"${fileName}\"`,\n );\n\n // again, || is used since an empty value.type means the content type is unset\n headers.set(\"Content-Type\", value.type || \"application/octet-stream\");\n\n parts.push({\n headers,\n body: value,\n });\n }\n }\n }\n request.multipartBody = { parts };\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,2BAAmC;AACnC,8BAA2B;AAC3B,yBAAkC;AAc3B,MAAM,qBAAqB;AAElC,SAAS,sBAAsB,UAAiC;AAC9D,QAAM,cAA2B,CAAC;AAClC,aAAW,CAAC,KAAK,KAAK,KAAK,SAAS,QAAQ,GAAG;AAC7C,gBAAY,GAAG,MAAM,CAAC;AACtB,IAAC,YAAY,GAAG,EAAsB,KAAK,KAAK;AAAA,EAClD;AACA,SAAO;AACT;AAKO,SAAS,iBAAiC;AAC/C,SAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM,YAAY,SAA0B,MAA8C;AACxF,UAAI,sCAAc,OAAO,aAAa,eAAe,QAAQ,gBAAgB,UAAU;AACrF,gBAAQ,WAAW,sBAAsB,QAAQ,IAAI;AACrD,gBAAQ,OAAO;AAAA,MACjB;AAEA,UAAI,QAAQ,UAAU;AACpB,cAAM,cAAc,QAAQ,QAAQ,IAAI,cAAc;AACtD,YAAI,eAAe,YAAY,QAAQ,mCAAmC,MAAM,IAAI;AAClF,kBAAQ,OAAO,iBAAiB,QAAQ,QAAQ;AAAA,QAClD,OAAO;AACL,gBAAM,gBAAgB,QAAQ,UAAU,OAAO;AAAA,QACjD;AAEA,gBAAQ,WAAW;AAAA,MACrB;AACA,aAAO,KAAK,OAAO;AAAA,IACrB;AAAA,EACF;AACF;AAEA,SAAS,iBAAiB,UAA+B;AACvD,QAAM,kBAAkB,IAAI,gBAAgB;AAC5C,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,QAAQ,GAAG;AACnD,QAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,iBAAW,YAAY,OAAO;AAC5B,wBAAgB,OAAO,KAAK,SAAS,SAAS,CAAC;AAAA,MACjD;AAAA,IACF,OAAO;AACL,sBAAgB,OAAO,KAAK,MAAM,SAAS,CAAC;AAAA,IAC9C;AAAA,EACF;AACA,SAAO,gBAAgB,SAAS;AAClC;AAEA,eAAe,gBAAgB,UAAuB,SAAyC;AAE7F,QAAM,cAAc,QAAQ,QAAQ,IAAI,cAAc;AACtD,MAAI,eAAe,CAAC,YAAY,WAAW,qBAAqB,GAAG;AAEjE;AAAA,EACF;AAEA,UAAQ,QAAQ,IAAI,gBAAgB,eAAe,qBAAqB;AAGxE,QAAM,QAAoB,CAAC;AAE3B,aAAW,CAAC,WAAW,MAAM,KAAK,OAAO,QAAQ,QAAQ,GAAG;AAC1D,eAAW,SAAS,MAAM,QAAQ,MAAM,IAAI,SAAS,CAAC,MAAM,GAAG;AAC7D,UAAI,OAAO,UAAU,UAAU;AAC7B,cAAM,KAAK;AAAA,UACT,aAAS,sCAAkB;AAAA,YACzB,uBAAuB,oBAAoB,SAAS;AAAA,UACtD,CAAC;AAAA,UACD,UAAM,yCAAmB,OAAO,OAAO;AAAA,QACzC,CAAC;AAAA,MACH,WAAW,UAAU,UAAa,UAAU,QAAQ,OAAO,UAAU,UAAU;AAC7E,cAAM,IAAI;AAAA,UACR,4BAA4B,SAAS,KAAK,KAAK;AAAA,QACjD;AAAA,MACF,OAAO;AAEL,cAAM,WAAY,MAAe,QAAQ;AACzC,cAAM,cAAU,sCAAkB;AAClC,gBAAQ;AAAA,UACN;AAAA,UACA,oBAAoB,SAAS,gBAAgB,QAAQ;AAAA,QACvD;AAGA,gBAAQ,IAAI,gBAAgB,MAAM,QAAQ,0BAA0B;AAEpE,cAAM,KAAK;AAAA,UACT;AAAA,UACA,MAAM;AAAA,QACR,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACA,UAAQ,gBAAgB,EAAE,MAAM;AAClC;",
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { stringToUint8Array } from \"#platform/bytesEncoding\";\nimport { convertBodyToFormDataMap } from \"#platform/formData\";\nimport { createHttpHeaders } from \"../httpHeaders.js\";\nimport type {\n BodyPart,\n FormDataMap,\n PipelineRequest,\n PipelineResponse,\n SendRequest,\n} from \"../interfaces.js\";\nimport type { PipelinePolicy } from \"../pipeline.js\";\n\n/**\n * The programmatic identifier of the formDataPolicy.\n */\nexport const formDataPolicyName = \"formDataPolicy\";\n\n/**\n * A policy that encodes FormData on the request into the body.\n */\nexport function formDataPolicy(): PipelinePolicy {\n return {\n name: formDataPolicyName,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n const converted = convertBodyToFormDataMap(request.body);\n if (converted) {\n request.formData = converted;\n request.body = undefined;\n }\n\n if (request.formData) {\n const contentType = request.headers.get(\"Content-Type\");\n if (contentType && contentType.indexOf(\"application/x-www-form-urlencoded\") !== -1) {\n request.body = wwwFormUrlEncode(request.formData);\n } else {\n await prepareFormData(request.formData, request);\n }\n\n request.formData = undefined;\n }\n return next(request);\n },\n };\n}\n\nfunction wwwFormUrlEncode(formData: FormDataMap): string {\n const urlSearchParams = new URLSearchParams();\n for (const [key, value] of Object.entries(formData)) {\n if (Array.isArray(value)) {\n for (const subValue of value) {\n urlSearchParams.append(key, subValue.toString());\n }\n } else {\n urlSearchParams.append(key, value.toString());\n }\n }\n return urlSearchParams.toString();\n}\n\nasync function prepareFormData(formData: FormDataMap, request: PipelineRequest): Promise<void> {\n // validate content type (multipart/form-data)\n const contentType = request.headers.get(\"Content-Type\");\n if (contentType && !contentType.startsWith(\"multipart/form-data\")) {\n // content type is specified and is not multipart/form-data. Exit.\n return;\n }\n\n request.headers.set(\"Content-Type\", contentType ?? \"multipart/form-data\");\n\n // set body to MultipartRequestBody using content from FormDataMap\n const parts: BodyPart[] = [];\n\n for (const [fieldName, values] of Object.entries(formData)) {\n for (const value of Array.isArray(values) ? values : [values]) {\n if (typeof value === \"string\") {\n parts.push({\n headers: createHttpHeaders({\n \"Content-Disposition\": `form-data; name=\"${fieldName}\"`,\n }),\n body: stringToUint8Array(value, \"utf-8\"),\n });\n } else if (value === undefined || value === null || typeof value !== \"object\") {\n throw new Error(\n `Unexpected value for key ${fieldName}: ${value}. Value should be serialized to string first.`,\n );\n } else {\n // using || instead of ?? here since if value.name is empty we should create a file name\n const fileName = (value as File).name || \"blob\";\n const headers = createHttpHeaders();\n headers.set(\n \"Content-Disposition\",\n `form-data; name=\"${fieldName}\"; filename=\"${fileName}\"`,\n );\n\n // again, || is used since an empty value.type means the content type is unset\n headers.set(\"Content-Type\", value.type || \"application/octet-stream\");\n\n parts.push({\n headers,\n body: value,\n });\n }\n }\n }\n request.multipartBody = { parts };\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,2BAAmC;AACnC,sBAAyC;AACzC,yBAAkC;AAa3B,MAAM,qBAAqB;AAK3B,SAAS,iBAAiC;AAC/C,SAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM,YAAY,SAA0B,MAA8C;AACxF,YAAM,gBAAY,0CAAyB,QAAQ,IAAI;AACvD,UAAI,WAAW;AACb,gBAAQ,WAAW;AACnB,gBAAQ,OAAO;AAAA,MACjB;AAEA,UAAI,QAAQ,UAAU;AACpB,cAAM,cAAc,QAAQ,QAAQ,IAAI,cAAc;AACtD,YAAI,eAAe,YAAY,QAAQ,mCAAmC,MAAM,IAAI;AAClF,kBAAQ,OAAO,iBAAiB,QAAQ,QAAQ;AAAA,QAClD,OAAO;AACL,gBAAM,gBAAgB,QAAQ,UAAU,OAAO;AAAA,QACjD;AAEA,gBAAQ,WAAW;AAAA,MACrB;AACA,aAAO,KAAK,OAAO;AAAA,IACrB;AAAA,EACF;AACF;AAEA,SAAS,iBAAiB,UAA+B;AACvD,QAAM,kBAAkB,IAAI,gBAAgB;AAC5C,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,QAAQ,GAAG;AACnD,QAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,iBAAW,YAAY,OAAO;AAC5B,wBAAgB,OAAO,KAAK,SAAS,SAAS,CAAC;AAAA,MACjD;AAAA,IACF,OAAO;AACL,sBAAgB,OAAO,KAAK,MAAM,SAAS,CAAC;AAAA,IAC9C;AAAA,EACF;AACA,SAAO,gBAAgB,SAAS;AAClC;AAEA,eAAe,gBAAgB,UAAuB,SAAyC;AAE7F,QAAM,cAAc,QAAQ,QAAQ,IAAI,cAAc;AACtD,MAAI,eAAe,CAAC,YAAY,WAAW,qBAAqB,GAAG;AAEjE;AAAA,EACF;AAEA,UAAQ,QAAQ,IAAI,gBAAgB,eAAe,qBAAqB;AAGxE,QAAM,QAAoB,CAAC;AAE3B,aAAW,CAAC,WAAW,MAAM,KAAK,OAAO,QAAQ,QAAQ,GAAG;AAC1D,eAAW,SAAS,MAAM,QAAQ,MAAM,IAAI,SAAS,CAAC,MAAM,GAAG;AAC7D,UAAI,OAAO,UAAU,UAAU;AAC7B,cAAM,KAAK;AAAA,UACT,aAAS,sCAAkB;AAAA,YACzB,uBAAuB,oBAAoB,SAAS;AAAA,UACtD,CAAC;AAAA,UACD,UAAM,yCAAmB,OAAO,OAAO;AAAA,QACzC,CAAC;AAAA,MACH,WAAW,UAAU,UAAa,UAAU,QAAQ,OAAO,UAAU,UAAU;AAC7E,cAAM,IAAI;AAAA,UACR,4BAA4B,SAAS,KAAK,KAAK;AAAA,QACjD;AAAA,MACF,OAAO;AAEL,cAAM,WAAY,MAAe,QAAQ;AACzC,cAAM,cAAU,sCAAkB;AAClC,gBAAQ;AAAA,UACN;AAAA,UACA,oBAAoB,SAAS,gBAAgB,QAAQ;AAAA,QACvD;AAGA,gBAAQ,IAAI,gBAAgB,MAAM,QAAQ,0BAA0B;AAEpE,cAAM,KAAK;AAAA,UACT;AAAA,UACA,MAAM;AAAA,QACR,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACA,UAAQ,gBAAgB,EAAE,MAAM;AAClC;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,5 @@
1
1
  export { agentPolicy, agentPolicyName } from "./agentPolicy.js";
2
- export { decompressResponsePolicy, decompressResponsePolicyName, } from "./decompressResponsePolicy.js";
2
+ export { decompressResponsePolicy, decompressResponsePolicyName } from "./decompressResponsePolicy.js";
3
3
  export { defaultRetryPolicy, defaultRetryPolicyName, type DefaultRetryPolicyOptions, } from "./defaultRetryPolicy.js";
4
4
  export { exponentialRetryPolicy, exponentialRetryPolicyName, type ExponentialRetryPolicyOptions, } from "./exponentialRetryPolicy.js";
5
5
  export { retryPolicy, type RetryPolicyOptions } from "./retryPolicy.js";
@@ -19,21 +19,21 @@ var internal_exports = {};
19
19
  __export(internal_exports, {
20
20
  agentPolicy: () => import_agentPolicy.agentPolicy,
21
21
  agentPolicyName: () => import_agentPolicy.agentPolicyName,
22
- decompressResponsePolicy: () => import_decompressResponsePolicy.decompressResponsePolicy,
23
- decompressResponsePolicyName: () => import_decompressResponsePolicy.decompressResponsePolicyName,
22
+ decompressResponsePolicy: () => import_decompress.decompressResponsePolicy,
23
+ decompressResponsePolicyName: () => import_decompress.decompressResponsePolicyName,
24
24
  defaultRetryPolicy: () => import_defaultRetryPolicy.defaultRetryPolicy,
25
25
  defaultRetryPolicyName: () => import_defaultRetryPolicy.defaultRetryPolicyName,
26
26
  exponentialRetryPolicy: () => import_exponentialRetryPolicy.exponentialRetryPolicy,
27
27
  exponentialRetryPolicyName: () => import_exponentialRetryPolicy.exponentialRetryPolicyName,
28
28
  formDataPolicy: () => import_formDataPolicy.formDataPolicy,
29
29
  formDataPolicyName: () => import_formDataPolicy.formDataPolicyName,
30
- getDefaultProxySettings: () => import_proxyPolicy.getDefaultProxySettings,
30
+ getDefaultProxySettings: () => import_proxy.getDefaultProxySettings,
31
31
  logPolicy: () => import_logPolicy.logPolicy,
32
32
  logPolicyName: () => import_logPolicy.logPolicyName,
33
33
  multipartPolicy: () => import_multipartPolicy.multipartPolicy,
34
34
  multipartPolicyName: () => import_multipartPolicy.multipartPolicyName,
35
- proxyPolicy: () => import_proxyPolicy.proxyPolicy,
36
- proxyPolicyName: () => import_proxyPolicy.proxyPolicyName,
35
+ proxyPolicy: () => import_proxy.proxyPolicy,
36
+ proxyPolicyName: () => import_proxy.proxyPolicyName,
37
37
  redirectPolicy: () => import_redirectPolicy.redirectPolicy,
38
38
  redirectPolicyName: () => import_redirectPolicy.redirectPolicyName,
39
39
  retryPolicy: () => import_retryPolicy.retryPolicy,
@@ -48,7 +48,7 @@ __export(internal_exports, {
48
48
  });
49
49
  module.exports = __toCommonJS(internal_exports);
50
50
  var import_agentPolicy = require("./agentPolicy.js");
51
- var import_decompressResponsePolicy = require("./decompressResponsePolicy.js");
51
+ var import_decompress = require("./decompressResponsePolicy.js");
52
52
  var import_defaultRetryPolicy = require("./defaultRetryPolicy.js");
53
53
  var import_exponentialRetryPolicy = require("./exponentialRetryPolicy.js");
54
54
  var import_retryPolicy = require("./retryPolicy.js");
@@ -57,7 +57,7 @@ var import_throttlingRetryPolicy = require("./throttlingRetryPolicy.js");
57
57
  var import_formDataPolicy = require("./formDataPolicy.js");
58
58
  var import_logPolicy = require("./logPolicy.js");
59
59
  var import_multipartPolicy = require("./multipartPolicy.js");
60
- var import_proxyPolicy = require("./proxyPolicy.js");
60
+ var import_proxy = require("./proxyPolicy.js");
61
61
  var import_redirectPolicy = require("./redirectPolicy.js");
62
62
  var import_tlsPolicy = require("./tlsPolicy.js");
63
63
  var import_userAgentPolicy = require("./userAgentPolicy.js");
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/policies/internal.ts"],
4
- "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { agentPolicy, agentPolicyName } from \"./agentPolicy.js\";\nexport {\n decompressResponsePolicy,\n decompressResponsePolicyName,\n} from \"./decompressResponsePolicy.js\";\nexport {\n defaultRetryPolicy,\n defaultRetryPolicyName,\n type DefaultRetryPolicyOptions,\n} from \"./defaultRetryPolicy.js\";\nexport {\n exponentialRetryPolicy,\n exponentialRetryPolicyName,\n type ExponentialRetryPolicyOptions,\n} from \"./exponentialRetryPolicy.js\";\nexport { retryPolicy, type RetryPolicyOptions } from \"./retryPolicy.js\";\nexport type {\n RetryInformation,\n RetryModifiers,\n RetryStrategy,\n} from \"../retryStrategies/retryStrategy.js\";\nexport { systemErrorRetryPolicy, systemErrorRetryPolicyName } from \"./systemErrorRetryPolicy.js\";\nexport { throttlingRetryPolicy, throttlingRetryPolicyName } from \"./throttlingRetryPolicy.js\";\nexport { formDataPolicy, formDataPolicyName } from \"./formDataPolicy.js\";\nexport { logPolicy, logPolicyName, type LogPolicyOptions } from \"./logPolicy.js\";\nexport { multipartPolicy, multipartPolicyName } from \"./multipartPolicy.js\";\nexport { proxyPolicy, proxyPolicyName, getDefaultProxySettings } from \"./proxyPolicy.js\";\nexport {\n redirectPolicy,\n redirectPolicyName,\n type RedirectPolicyOptions,\n} from \"./redirectPolicy.js\";\nexport { tlsPolicy, tlsPolicyName } from \"./tlsPolicy.js\";\nexport {\n userAgentPolicy,\n userAgentPolicyName,\n type UserAgentPolicyOptions,\n} from \"./userAgentPolicy.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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,yBAA6C;AAC7C,sCAGO;AACP,gCAIO;AACP,oCAIO;AACP,yBAAqD;AAMrD,oCAAmE;AACnE,mCAAiE;AACjE,4BAAmD;AACnD,uBAAgE;AAChE,6BAAqD;AACrD,yBAAsE;AACtE,4BAIO;AACP,uBAAyC;AACzC,6BAIO;",
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { agentPolicy, agentPolicyName } from \"./agentPolicy.js\";\nexport { decompressResponsePolicy, decompressResponsePolicyName } from \"#platform/decompress\";\nexport {\n defaultRetryPolicy,\n defaultRetryPolicyName,\n type DefaultRetryPolicyOptions,\n} from \"./defaultRetryPolicy.js\";\nexport {\n exponentialRetryPolicy,\n exponentialRetryPolicyName,\n type ExponentialRetryPolicyOptions,\n} from \"./exponentialRetryPolicy.js\";\nexport { retryPolicy, type RetryPolicyOptions } from \"./retryPolicy.js\";\nexport type {\n RetryInformation,\n RetryModifiers,\n RetryStrategy,\n} from \"../retryStrategies/retryStrategy.js\";\nexport { systemErrorRetryPolicy, systemErrorRetryPolicyName } from \"./systemErrorRetryPolicy.js\";\nexport { throttlingRetryPolicy, throttlingRetryPolicyName } from \"./throttlingRetryPolicy.js\";\nexport { formDataPolicy, formDataPolicyName } from \"./formDataPolicy.js\";\nexport { logPolicy, logPolicyName, type LogPolicyOptions } from \"./logPolicy.js\";\nexport { multipartPolicy, multipartPolicyName } from \"./multipartPolicy.js\";\nexport { proxyPolicy, proxyPolicyName, getDefaultProxySettings } from \"#platform/proxy\";\nexport {\n redirectPolicy,\n redirectPolicyName,\n type RedirectPolicyOptions,\n} from \"./redirectPolicy.js\";\nexport { tlsPolicy, tlsPolicyName } from \"./tlsPolicy.js\";\nexport {\n userAgentPolicy,\n userAgentPolicyName,\n type UserAgentPolicyOptions,\n} from \"./userAgentPolicy.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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,yBAA6C;AAC7C,wBAAuE;AACvE,gCAIO;AACP,oCAIO;AACP,yBAAqD;AAMrD,oCAAmE;AACnE,mCAAiE;AACjE,4BAAmD;AACnD,uBAAgE;AAChE,6BAAqD;AACrD,mBAAsE;AACtE,4BAIO;AACP,uBAAyC;AACzC,6BAIO;",
6
6
  "names": []
7
7
  }
@@ -23,10 +23,10 @@ __export(multipartPolicy_exports, {
23
23
  module.exports = __toCommonJS(multipartPolicy_exports);
24
24
  var import_bytesEncoding = require("../util/bytesEncoding.js");
25
25
  var import_typeGuards = require("../util/typeGuards.js");
26
- var import_uuidUtils = require("../util/uuidUtils.js");
26
+ var import_uuid = require("../util/uuidUtils.js");
27
27
  var import_concat = require("../util/concat.js");
28
28
  function generateBoundary() {
29
- return `----AzSDKFormBoundary${(0, import_uuidUtils.randomUUID)()}`;
29
+ return `----AzSDKFormBoundary${(0, import_uuid.randomUUID)()}`;
30
30
  }
31
31
  function encodeHeaders(headers) {
32
32
  let result = "";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/policies/multipartPolicy.ts"],
4
- "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { BodyPart, HttpHeaders, PipelineRequest, PipelineResponse } from \"../interfaces.js\";\nimport type { PipelinePolicy } from \"../pipeline.js\";\nimport { stringToUint8Array } from \"../util/bytesEncoding.js\";\nimport { isBlob } from \"../util/typeGuards.js\";\nimport { randomUUID } from \"../util/uuidUtils.js\";\nimport { concat } from \"../util/concat.js\";\n\nfunction generateBoundary(): string {\n return `----AzSDKFormBoundary${randomUUID()}`;\n}\n\nfunction encodeHeaders(headers: HttpHeaders): string {\n let result = \"\";\n for (const [key, value] of headers) {\n result += `${key}: ${value}\\r\\n`;\n }\n return result;\n}\n\nfunction getLength(\n source:\n | (() => ReadableStream<Uint8Array>)\n | (() => NodeJS.ReadableStream)\n | Uint8Array\n | Blob\n | ReadableStream\n | NodeJS.ReadableStream,\n): number | undefined {\n if (source instanceof Uint8Array) {\n return source.byteLength;\n } else if (isBlob(source)) {\n // if was created using createFile then -1 means we have an unknown size\n return source.size === -1 ? undefined : source.size;\n } else {\n return undefined;\n }\n}\n\nfunction getTotalLength(\n sources: (\n | (() => ReadableStream<Uint8Array>)\n | (() => NodeJS.ReadableStream)\n | Uint8Array\n | Blob\n | ReadableStream\n | NodeJS.ReadableStream\n )[],\n): number | undefined {\n let total = 0;\n for (const source of sources) {\n const partLength = getLength(source);\n if (partLength === undefined) {\n return undefined;\n } else {\n total += partLength;\n }\n }\n return total;\n}\n\nasync function buildRequestBody(\n request: PipelineRequest,\n parts: BodyPart[],\n boundary: string,\n): Promise<void> {\n const sources = [\n stringToUint8Array(`--${boundary}`, \"utf-8\"),\n ...parts.flatMap((part) => [\n stringToUint8Array(\"\\r\\n\", \"utf-8\"),\n stringToUint8Array(encodeHeaders(part.headers), \"utf-8\"),\n stringToUint8Array(\"\\r\\n\", \"utf-8\"),\n part.body,\n stringToUint8Array(`\\r\\n--${boundary}`, \"utf-8\"),\n ]),\n stringToUint8Array(\"--\\r\\n\\r\\n\", \"utf-8\"),\n ];\n\n const contentLength = getTotalLength(sources);\n if (contentLength) {\n request.headers.set(\"Content-Length\", contentLength);\n }\n\n request.body = await concat(sources);\n}\n\n/**\n * Name of multipart policy\n */\nexport const multipartPolicyName = \"multipartPolicy\";\n\nconst maxBoundaryLength = 70;\nconst validBoundaryCharacters = new Set(\n `abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?`,\n);\n\nfunction assertValidBoundary(boundary: string): void {\n if (boundary.length > maxBoundaryLength) {\n throw new Error(`Multipart boundary \"${boundary}\" exceeds maximum length of 70 characters`);\n }\n\n if (Array.from(boundary).some((x) => !validBoundaryCharacters.has(x))) {\n throw new Error(`Multipart boundary \"${boundary}\" contains invalid characters`);\n }\n}\n\n/**\n * Pipeline policy for multipart requests\n */\nexport function multipartPolicy(): PipelinePolicy {\n return {\n name: multipartPolicyName,\n async sendRequest(request, next): Promise<PipelineResponse> {\n if (!request.multipartBody) {\n return next(request);\n }\n\n if (request.body) {\n throw new Error(\"multipartBody and regular body cannot be set at the same time\");\n }\n\n let boundary = request.multipartBody.boundary;\n\n const contentTypeHeader = request.headers.get(\"Content-Type\") ?? \"multipart/mixed\";\n const parsedHeader = contentTypeHeader.match(/^(multipart\\/[^ ;]+)(?:; *boundary=(.+))?$/);\n if (!parsedHeader) {\n throw new Error(\n `Got multipart request body, but content-type header was not multipart: ${contentTypeHeader}`,\n );\n }\n\n const [, contentType, parsedBoundary] = parsedHeader;\n if (parsedBoundary && boundary && parsedBoundary !== boundary) {\n throw new Error(\n `Multipart boundary was specified as ${parsedBoundary} in the header, but got ${boundary} in the request body`,\n );\n }\n\n boundary ??= parsedBoundary;\n if (boundary) {\n assertValidBoundary(boundary);\n } else {\n boundary = generateBoundary();\n }\n request.headers.set(\"Content-Type\", `${contentType}; boundary=${boundary}`);\n await buildRequestBody(request, request.multipartBody.parts, boundary);\n\n request.multipartBody = undefined;\n\n return next(request);\n },\n };\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { BodyPart, HttpHeaders, PipelineRequest, PipelineResponse } from \"../interfaces.js\";\nimport type { PipelinePolicy } from \"../pipeline.js\";\nimport type { NodeReadableStream, WebReadableStream } from \"#platform/types\";\nimport { stringToUint8Array } from \"#platform/bytesEncoding\";\nimport { isBlob } from \"../util/typeGuards.js\";\nimport { randomUUID } from \"#platform/uuid\";\nimport { concat } from \"#platform/concat\";\n\nfunction generateBoundary(): string {\n return `----AzSDKFormBoundary${randomUUID()}`;\n}\n\nfunction encodeHeaders(headers: HttpHeaders): string {\n let result = \"\";\n for (const [key, value] of headers) {\n result += `${key}: ${value}\\r\\n`;\n }\n return result;\n}\n\nfunction getLength(\n source:\n | (() => WebReadableStream<Uint8Array>)\n | (() => NodeReadableStream)\n | Uint8Array\n | Blob\n | WebReadableStream\n | NodeReadableStream,\n): number | undefined {\n if (source instanceof Uint8Array) {\n return source.byteLength;\n } else if (isBlob(source)) {\n // if was created using createFile then -1 means we have an unknown size\n return source.size === -1 ? undefined : source.size;\n } else {\n return undefined;\n }\n}\n\nfunction getTotalLength(\n sources: (\n | (() => WebReadableStream<Uint8Array>)\n | (() => NodeReadableStream)\n | Uint8Array\n | Blob\n | WebReadableStream\n | NodeReadableStream\n )[],\n): number | undefined {\n let total = 0;\n for (const source of sources) {\n const partLength = getLength(source);\n if (partLength === undefined) {\n return undefined;\n } else {\n total += partLength;\n }\n }\n return total;\n}\n\nasync function buildRequestBody(\n request: PipelineRequest,\n parts: BodyPart[],\n boundary: string,\n): Promise<void> {\n const sources = [\n stringToUint8Array(`--${boundary}`, \"utf-8\"),\n ...parts.flatMap((part) => [\n stringToUint8Array(\"\\r\\n\", \"utf-8\"),\n stringToUint8Array(encodeHeaders(part.headers), \"utf-8\"),\n stringToUint8Array(\"\\r\\n\", \"utf-8\"),\n part.body,\n stringToUint8Array(`\\r\\n--${boundary}`, \"utf-8\"),\n ]),\n stringToUint8Array(\"--\\r\\n\\r\\n\", \"utf-8\"),\n ];\n\n const contentLength = getTotalLength(sources);\n if (contentLength) {\n request.headers.set(\"Content-Length\", contentLength);\n }\n\n // The public BodyPart.body type uses Uint8Array (= Uint8Array<ArrayBufferLike>) for\n // backward compatibility. Internally, concat requires Uint8Array<ArrayBuffer> to ensure\n // SharedArrayBuffer-backed arrays don't flow into Blob construction. In practice, HTTP\n // request bodies are always ArrayBuffer-backed, so this narrowing is safe.\n request.body = await concat(sources as Parameters<typeof concat>[0]);\n}\n\n/**\n * Name of multipart policy\n */\nexport const multipartPolicyName = \"multipartPolicy\";\n\nconst maxBoundaryLength = 70;\nconst validBoundaryCharacters = new Set(\n `abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?`,\n);\n\nfunction assertValidBoundary(boundary: string): void {\n if (boundary.length > maxBoundaryLength) {\n throw new Error(`Multipart boundary \"${boundary}\" exceeds maximum length of 70 characters`);\n }\n\n if (Array.from(boundary).some((x) => !validBoundaryCharacters.has(x))) {\n throw new Error(`Multipart boundary \"${boundary}\" contains invalid characters`);\n }\n}\n\n/**\n * Pipeline policy for multipart requests\n */\nexport function multipartPolicy(): PipelinePolicy {\n return {\n name: multipartPolicyName,\n async sendRequest(request, next): Promise<PipelineResponse> {\n if (!request.multipartBody) {\n return next(request);\n }\n\n if (request.body) {\n throw new Error(\"multipartBody and regular body cannot be set at the same time\");\n }\n\n let boundary = request.multipartBody.boundary;\n\n const contentTypeHeader = request.headers.get(\"Content-Type\") ?? \"multipart/mixed\";\n const parsedHeader = contentTypeHeader.match(/^(multipart\\/[^ ;]+)(?:; *boundary=(.+))?$/);\n if (!parsedHeader) {\n throw new Error(\n `Got multipart request body, but content-type header was not multipart: ${contentTypeHeader}`,\n );\n }\n\n const [, contentType, parsedBoundary] = parsedHeader;\n if (parsedBoundary && boundary && parsedBoundary !== boundary) {\n throw new Error(\n `Multipart boundary was specified as ${parsedBoundary} in the header, but got ${boundary} in the request body`,\n );\n }\n\n boundary ??= parsedBoundary;\n if (boundary) {\n assertValidBoundary(boundary);\n } else {\n boundary = generateBoundary();\n }\n request.headers.set(\"Content-Type\", `${contentType}; boundary=${boundary}`);\n await buildRequestBody(request, request.multipartBody.parts, boundary);\n\n request.multipartBody = undefined;\n\n return next(request);\n },\n };\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,25 @@
1
+ import type { Pipeline } from "../pipeline.js";
2
+ import type { Agent, ProxySettings, TlsSettings } from "../interfaces.js";
3
+ import type { RedirectPolicyOptions } from "./redirectPolicy.js";
4
+ /**
5
+ * Options for configuring platform-specific pipeline policies.
6
+ *
7
+ * @internal
8
+ */
9
+ export interface PlatformPoliciesOptions {
10
+ agent?: Agent;
11
+ tlsOptions?: TlsSettings;
12
+ proxyOptions?: ProxySettings;
13
+ redirectOptions?: RedirectPolicyOptions;
14
+ }
15
+ /**
16
+ * Add platform-specific policies to the pipeline.
17
+ *
18
+ * On Node.js, this adds agent, TLS, proxy, decompression, and redirect
19
+ * policies. On browser and React Native these concerns are handled
20
+ * natively by the runtime, so this is a no-op.
21
+ *
22
+ * @internal
23
+ */
24
+ export declare function addPlatformPolicies(pipeline: Pipeline, options: PlatformPoliciesOptions): void;
25
+ //# sourceMappingURL=platformPolicies.d.ts.map
@@ -0,0 +1,43 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var platformPolicies_exports = {};
19
+ __export(platformPolicies_exports, {
20
+ addPlatformPolicies: () => addPlatformPolicies
21
+ });
22
+ module.exports = __toCommonJS(platformPolicies_exports);
23
+ var import_agentPolicy = require("./agentPolicy.js");
24
+ var import_tlsPolicy = require("./tlsPolicy.js");
25
+ var import_proxy = require("./proxyPolicy.js");
26
+ var import_decompress = require("./decompressResponsePolicy.js");
27
+ var import_redirectPolicy = require("./redirectPolicy.js");
28
+ function addPlatformPolicies(pipeline, options) {
29
+ if (options.agent) {
30
+ pipeline.addPolicy((0, import_agentPolicy.agentPolicy)(options.agent));
31
+ }
32
+ if (options.tlsOptions) {
33
+ pipeline.addPolicy((0, import_tlsPolicy.tlsPolicy)(options.tlsOptions));
34
+ }
35
+ pipeline.addPolicy((0, import_proxy.proxyPolicy)(options.proxyOptions));
36
+ pipeline.addPolicy((0, import_decompress.decompressResponsePolicy)());
37
+ pipeline.addPolicy((0, import_redirectPolicy.redirectPolicy)(options.redirectOptions), { afterPhase: "Retry" });
38
+ }
39
+ // Annotate the CommonJS export names for ESM import in node:
40
+ 0 && (module.exports = {
41
+ addPlatformPolicies
42
+ });
43
+ //# sourceMappingURL=platformPolicies.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/policies/platformPolicies.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Pipeline } from \"../pipeline.js\";\nimport type { Agent, ProxySettings, TlsSettings } from \"../interfaces.js\";\nimport type { RedirectPolicyOptions } from \"./redirectPolicy.js\";\nimport { agentPolicy } from \"./agentPolicy.js\";\nimport { tlsPolicy } from \"./tlsPolicy.js\";\nimport { proxyPolicy } from \"#platform/proxy\";\nimport { decompressResponsePolicy } from \"#platform/decompress\";\nimport { redirectPolicy } from \"./redirectPolicy.js\";\n\n/**\n * Options for configuring platform-specific pipeline policies.\n *\n * @internal\n */\nexport interface PlatformPoliciesOptions {\n agent?: Agent;\n tlsOptions?: TlsSettings;\n proxyOptions?: ProxySettings;\n redirectOptions?: RedirectPolicyOptions;\n}\n\n/**\n * Add platform-specific policies to the pipeline.\n *\n * On Node.js, this adds agent, TLS, proxy, decompression, and redirect\n * policies. On browser and React Native these concerns are handled\n * natively by the runtime, so this is a no-op.\n *\n * @internal\n */\nexport function addPlatformPolicies(pipeline: Pipeline, options: PlatformPoliciesOptions): void {\n if (options.agent) {\n pipeline.addPolicy(agentPolicy(options.agent));\n }\n if (options.tlsOptions) {\n pipeline.addPolicy(tlsPolicy(options.tlsOptions));\n }\n pipeline.addPolicy(proxyPolicy(options.proxyOptions));\n pipeline.addPolicy(decompressResponsePolicy());\n // Both XHR and Fetch expect to handle redirects automatically,\n // so this only takes effect on Node.\n pipeline.addPolicy(redirectPolicy(options.redirectOptions), { afterPhase: \"Retry\" });\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAA4B;AAC5B,uBAA0B;AAC1B,mBAA4B;AAC5B,wBAAyC;AACzC,4BAA+B;AAuBxB,SAAS,oBAAoB,UAAoB,SAAwC;AAC9F,MAAI,QAAQ,OAAO;AACjB,aAAS,cAAU,gCAAY,QAAQ,KAAK,CAAC;AAAA,EAC/C;AACA,MAAI,QAAQ,YAAY;AACtB,aAAS,cAAU,4BAAU,QAAQ,UAAU,CAAC;AAAA,EAClD;AACA,WAAS,cAAU,0BAAY,QAAQ,YAAY,CAAC;AACpD,WAAS,cAAU,4CAAyB,CAAC;AAG7C,WAAS,cAAU,sCAAe,QAAQ,eAAe,GAAG,EAAE,YAAY,QAAQ,CAAC;AACrF;",
6
+ "names": []
7
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
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 \"./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"],
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
  }
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.58.1"
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
+ }
@@ -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
  *
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
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 = 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;",
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
  }
@@ -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:
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
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 \"./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;",
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
  }
@@ -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,14 +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
  });
28
- //# sourceMappingURL=inspect.common.js.map
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
+ }
@@ -1,6 +1,7 @@
1
- export declare function isNodeReadableStream(x: unknown): x is NodeJS.ReadableStream;
2
- export declare function isWebReadableStream(x: unknown): x is ReadableStream;
3
- export declare function isBinaryBody(body: unknown): body is Uint8Array | NodeJS.ReadableStream | ReadableStream<Uint8Array> | (() => NodeJS.ReadableStream) | (() => ReadableStream<Uint8Array>) | Blob;
4
- export declare function isReadableStream(x: unknown): x is ReadableStream | NodeJS.ReadableStream;
1
+ import type { NodeReadableStream, WebReadableStream } from "../types.js";
2
+ import { isNodeReadableStream, isWebReadableStream } from "./typeGuards-node.js";
3
+ export { isNodeReadableStream, isWebReadableStream };
4
+ export declare function isBinaryBody(body: unknown): body is Uint8Array | NodeReadableStream | WebReadableStream<Uint8Array> | (() => NodeReadableStream) | (() => WebReadableStream<Uint8Array>) | Blob;
5
+ export declare function isReadableStream(x: unknown): x is WebReadableStream | NodeReadableStream;
5
6
  export declare function isBlob(x: unknown): x is Blob;
6
7
  //# sourceMappingURL=typeGuards.d.ts.map