@typespec/ts-http-runtime 1.0.0-alpha.20240322.2 → 1.0.0-alpha.20240329.3

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 (328) hide show
  1. package/dist/browser/accessTokenCache.js +0 -2
  2. package/dist/browser/accessTokenCache.js.map +1 -1
  3. package/dist/browser/client/clientHelpers.js +4 -3
  4. package/dist/browser/client/clientHelpers.js.map +1 -1
  5. package/dist/browser/client/getClient.js +9 -7
  6. package/dist/browser/client/getClient.js.map +1 -1
  7. package/dist/browser/client/operationOptionHelpers.js +7 -6
  8. package/dist/browser/client/operationOptionHelpers.js.map +1 -1
  9. package/dist/browser/client/restError.js +4 -2
  10. package/dist/browser/client/restError.js.map +1 -1
  11. package/dist/browser/client/sendRequest.js +18 -19
  12. package/dist/browser/client/sendRequest.js.map +1 -1
  13. package/dist/browser/client/urlHelpers.js +2 -1
  14. package/dist/browser/client/urlHelpers.js.map +1 -1
  15. package/dist/browser/fetchHttpClient.js +20 -26
  16. package/dist/browser/fetchHttpClient.js.map +1 -1
  17. package/dist/browser/httpHeaders.js +2 -2
  18. package/dist/browser/httpHeaders.js.map +1 -1
  19. package/dist/browser/index.d.ts +1 -1
  20. package/dist/browser/index.d.ts.map +1 -1
  21. package/dist/browser/index.js +1 -1
  22. package/dist/browser/index.js.map +1 -1
  23. package/dist/browser/nodeHttpClient.js +20 -18
  24. package/dist/browser/nodeHttpClient.js.map +1 -1
  25. package/dist/browser/pipeline.js +3 -3
  26. package/dist/browser/pipeline.js.map +1 -1
  27. package/dist/browser/pipelineRequest.js +8 -25
  28. package/dist/browser/pipelineRequest.js.map +1 -1
  29. package/dist/browser/policies/bearerTokenAuthenticationPolicy.js +3 -7
  30. package/dist/browser/policies/bearerTokenAuthenticationPolicy.js.map +1 -1
  31. package/dist/browser/policies/defaultRetryPolicy.js +2 -1
  32. package/dist/browser/policies/defaultRetryPolicy.js.map +1 -1
  33. package/dist/browser/policies/exponentialRetryPolicy.js +3 -5
  34. package/dist/browser/policies/exponentialRetryPolicy.js.map +1 -1
  35. package/dist/browser/policies/formDataPolicy.js +1 -1
  36. package/dist/browser/policies/formDataPolicy.js.map +1 -1
  37. package/dist/browser/policies/logPolicy.js +2 -1
  38. package/dist/browser/policies/logPolicy.js.map +1 -1
  39. package/dist/browser/policies/multipartPolicy.js +3 -2
  40. package/dist/browser/policies/multipartPolicy.js.map +1 -1
  41. package/dist/browser/policies/retryPolicy.js +3 -2
  42. package/dist/browser/policies/retryPolicy.js.map +1 -1
  43. package/dist/browser/policies/systemErrorRetryPolicy.js +3 -5
  44. package/dist/browser/policies/systemErrorRetryPolicy.js.map +1 -1
  45. package/dist/browser/policies/throttlingRetryPolicy.js +2 -1
  46. package/dist/browser/policies/throttlingRetryPolicy.js.map +1 -1
  47. package/dist/browser/policies/tracingPolicy.js +3 -2
  48. package/dist/browser/policies/tracingPolicy.js.map +1 -1
  49. package/dist/browser/restError.js +11 -31
  50. package/dist/browser/restError.js.map +1 -1
  51. package/dist/browser/retryStrategies/exponentialRetryStrategy.js +3 -2
  52. package/dist/browser/retryStrategies/exponentialRetryStrategy.js.map +1 -1
  53. package/dist/browser/tracing/tracingClient.js +3 -7
  54. package/dist/browser/tracing/tracingClient.js.map +1 -1
  55. package/dist/browser/tracing/tracingContext.js +0 -1
  56. package/dist/browser/tracing/tracingContext.js.map +1 -1
  57. package/dist/browser/util/aborterUtils.js +3 -2
  58. package/dist/browser/util/aborterUtils.js.map +1 -1
  59. package/dist/browser/util/checkEnvironment.d.ts +10 -1
  60. package/dist/browser/util/checkEnvironment.d.ts.map +1 -1
  61. package/dist/browser/util/checkEnvironment.js +18 -11
  62. package/dist/browser/util/checkEnvironment.js.map +1 -1
  63. package/dist/browser/util/createAbortablePromise.js +6 -6
  64. package/dist/browser/util/createAbortablePromise.js.map +1 -1
  65. package/dist/browser/util/delay.js +2 -2
  66. package/dist/browser/util/delay.js.map +1 -1
  67. package/dist/browser/util/file.js +5 -22
  68. package/dist/browser/util/file.js.map +1 -1
  69. package/dist/browser/util/helpers.js +4 -4
  70. package/dist/browser/util/helpers.js.map +1 -1
  71. package/dist/browser/util/sanitizer.js +1 -7
  72. package/dist/browser/util/sanitizer.js.map +1 -1
  73. package/dist/browser/util/tokenCycler.js +6 -7
  74. package/dist/browser/util/tokenCycler.js.map +1 -1
  75. package/dist/browser/util/userAgentPlatform-browser.mjs.map +1 -1
  76. package/dist/browser/util/userAgentPlatform.js +2 -1
  77. package/dist/browser/util/uuidUtils-browser.mjs.map +1 -1
  78. package/dist/browser/util/uuidUtils.js +2 -1
  79. package/dist/browser/xhrHttpClient.js +5 -3
  80. package/dist/browser/xhrHttpClient.js.map +1 -1
  81. package/dist/commonjs/accessTokenCache.js +0 -2
  82. package/dist/commonjs/accessTokenCache.js.map +1 -1
  83. package/dist/commonjs/client/clientHelpers.js +4 -3
  84. package/dist/commonjs/client/clientHelpers.js.map +1 -1
  85. package/dist/commonjs/client/getClient.js +9 -7
  86. package/dist/commonjs/client/getClient.js.map +1 -1
  87. package/dist/commonjs/client/operationOptionHelpers.js +7 -6
  88. package/dist/commonjs/client/operationOptionHelpers.js.map +1 -1
  89. package/dist/commonjs/client/restError.js +4 -2
  90. package/dist/commonjs/client/restError.js.map +1 -1
  91. package/dist/commonjs/client/sendRequest.js +18 -19
  92. package/dist/commonjs/client/sendRequest.js.map +1 -1
  93. package/dist/commonjs/client/urlHelpers.js +2 -1
  94. package/dist/commonjs/client/urlHelpers.js.map +1 -1
  95. package/dist/commonjs/fetchHttpClient.js +20 -26
  96. package/dist/commonjs/fetchHttpClient.js.map +1 -1
  97. package/dist/commonjs/httpHeaders.js +2 -2
  98. package/dist/commonjs/httpHeaders.js.map +1 -1
  99. package/dist/commonjs/index.d.ts +1 -1
  100. package/dist/commonjs/index.d.ts.map +1 -1
  101. package/dist/commonjs/index.js +3 -1
  102. package/dist/commonjs/index.js.map +1 -1
  103. package/dist/commonjs/nodeHttpClient.js +20 -18
  104. package/dist/commonjs/nodeHttpClient.js.map +1 -1
  105. package/dist/commonjs/pipeline.js +3 -3
  106. package/dist/commonjs/pipeline.js.map +1 -1
  107. package/dist/commonjs/pipelineRequest.js +8 -25
  108. package/dist/commonjs/pipelineRequest.js.map +1 -1
  109. package/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js +3 -7
  110. package/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js.map +1 -1
  111. package/dist/commonjs/policies/defaultRetryPolicy.js +2 -1
  112. package/dist/commonjs/policies/defaultRetryPolicy.js.map +1 -1
  113. package/dist/commonjs/policies/exponentialRetryPolicy.js +3 -5
  114. package/dist/commonjs/policies/exponentialRetryPolicy.js.map +1 -1
  115. package/dist/commonjs/policies/formDataPolicy.js +1 -1
  116. package/dist/commonjs/policies/formDataPolicy.js.map +1 -1
  117. package/dist/commonjs/policies/logPolicy.js +2 -1
  118. package/dist/commonjs/policies/logPolicy.js.map +1 -1
  119. package/dist/commonjs/policies/multipartPolicy.js +3 -2
  120. package/dist/commonjs/policies/multipartPolicy.js.map +1 -1
  121. package/dist/commonjs/policies/proxyPolicy.js +4 -3
  122. package/dist/commonjs/policies/proxyPolicy.js.map +1 -1
  123. package/dist/commonjs/policies/retryPolicy.js +3 -2
  124. package/dist/commonjs/policies/retryPolicy.js.map +1 -1
  125. package/dist/commonjs/policies/systemErrorRetryPolicy.js +3 -5
  126. package/dist/commonjs/policies/systemErrorRetryPolicy.js.map +1 -1
  127. package/dist/commonjs/policies/throttlingRetryPolicy.js +2 -1
  128. package/dist/commonjs/policies/throttlingRetryPolicy.js.map +1 -1
  129. package/dist/commonjs/policies/tracingPolicy.js +3 -2
  130. package/dist/commonjs/policies/tracingPolicy.js.map +1 -1
  131. package/dist/commonjs/restError.js +11 -31
  132. package/dist/commonjs/restError.js.map +1 -1
  133. package/dist/commonjs/retryStrategies/exponentialRetryStrategy.js +3 -2
  134. package/dist/commonjs/retryStrategies/exponentialRetryStrategy.js.map +1 -1
  135. package/dist/commonjs/tracing/tracingClient.js +3 -7
  136. package/dist/commonjs/tracing/tracingClient.js.map +1 -1
  137. package/dist/commonjs/tracing/tracingContext.js +0 -1
  138. package/dist/commonjs/tracing/tracingContext.js.map +1 -1
  139. package/dist/commonjs/util/aborterUtils.js +3 -2
  140. package/dist/commonjs/util/aborterUtils.js.map +1 -1
  141. package/dist/commonjs/util/checkEnvironment.d.ts +10 -1
  142. package/dist/commonjs/util/checkEnvironment.d.ts.map +1 -1
  143. package/dist/commonjs/util/checkEnvironment.js +19 -12
  144. package/dist/commonjs/util/checkEnvironment.js.map +1 -1
  145. package/dist/commonjs/util/concat.js +35 -17
  146. package/dist/commonjs/util/concat.js.map +1 -1
  147. package/dist/commonjs/util/createAbortablePromise.js +6 -6
  148. package/dist/commonjs/util/createAbortablePromise.js.map +1 -1
  149. package/dist/commonjs/util/delay.js +2 -2
  150. package/dist/commonjs/util/delay.js.map +1 -1
  151. package/dist/commonjs/util/file.js +5 -22
  152. package/dist/commonjs/util/file.js.map +1 -1
  153. package/dist/commonjs/util/helpers.js +4 -4
  154. package/dist/commonjs/util/helpers.js.map +1 -1
  155. package/dist/commonjs/util/sanitizer.js +1 -7
  156. package/dist/commonjs/util/sanitizer.js.map +1 -1
  157. package/dist/commonjs/util/tokenCycler.js +6 -7
  158. package/dist/commonjs/util/tokenCycler.js.map +1 -1
  159. package/dist/commonjs/util/uuidUtils.js +2 -1
  160. package/dist/commonjs/util/uuidUtils.js.map +1 -1
  161. package/dist/commonjs/xhrHttpClient.js +5 -3
  162. package/dist/commonjs/xhrHttpClient.js.map +1 -1
  163. package/dist/esm/accessTokenCache.js +0 -2
  164. package/dist/esm/accessTokenCache.js.map +1 -1
  165. package/dist/esm/client/clientHelpers.js +4 -3
  166. package/dist/esm/client/clientHelpers.js.map +1 -1
  167. package/dist/esm/client/getClient.js +9 -7
  168. package/dist/esm/client/getClient.js.map +1 -1
  169. package/dist/esm/client/operationOptionHelpers.js +7 -6
  170. package/dist/esm/client/operationOptionHelpers.js.map +1 -1
  171. package/dist/esm/client/restError.js +4 -2
  172. package/dist/esm/client/restError.js.map +1 -1
  173. package/dist/esm/client/sendRequest.js +18 -19
  174. package/dist/esm/client/sendRequest.js.map +1 -1
  175. package/dist/esm/client/urlHelpers.js +2 -1
  176. package/dist/esm/client/urlHelpers.js.map +1 -1
  177. package/dist/esm/fetchHttpClient.js +20 -26
  178. package/dist/esm/fetchHttpClient.js.map +1 -1
  179. package/dist/esm/httpHeaders.js +2 -2
  180. package/dist/esm/httpHeaders.js.map +1 -1
  181. package/dist/esm/index.d.ts +1 -1
  182. package/dist/esm/index.d.ts.map +1 -1
  183. package/dist/esm/index.js +1 -1
  184. package/dist/esm/index.js.map +1 -1
  185. package/dist/esm/nodeHttpClient.js +20 -18
  186. package/dist/esm/nodeHttpClient.js.map +1 -1
  187. package/dist/esm/pipeline.js +3 -3
  188. package/dist/esm/pipeline.js.map +1 -1
  189. package/dist/esm/pipelineRequest.js +8 -25
  190. package/dist/esm/pipelineRequest.js.map +1 -1
  191. package/dist/esm/policies/bearerTokenAuthenticationPolicy.js +3 -7
  192. package/dist/esm/policies/bearerTokenAuthenticationPolicy.js.map +1 -1
  193. package/dist/esm/policies/defaultRetryPolicy.js +2 -1
  194. package/dist/esm/policies/defaultRetryPolicy.js.map +1 -1
  195. package/dist/esm/policies/exponentialRetryPolicy.js +3 -5
  196. package/dist/esm/policies/exponentialRetryPolicy.js.map +1 -1
  197. package/dist/esm/policies/formDataPolicy.js +1 -1
  198. package/dist/esm/policies/formDataPolicy.js.map +1 -1
  199. package/dist/esm/policies/logPolicy.js +2 -1
  200. package/dist/esm/policies/logPolicy.js.map +1 -1
  201. package/dist/esm/policies/multipartPolicy.js +3 -2
  202. package/dist/esm/policies/multipartPolicy.js.map +1 -1
  203. package/dist/esm/policies/proxyPolicy.js +4 -3
  204. package/dist/esm/policies/proxyPolicy.js.map +1 -1
  205. package/dist/esm/policies/retryPolicy.js +3 -2
  206. package/dist/esm/policies/retryPolicy.js.map +1 -1
  207. package/dist/esm/policies/systemErrorRetryPolicy.js +3 -5
  208. package/dist/esm/policies/systemErrorRetryPolicy.js.map +1 -1
  209. package/dist/esm/policies/throttlingRetryPolicy.js +2 -1
  210. package/dist/esm/policies/throttlingRetryPolicy.js.map +1 -1
  211. package/dist/esm/policies/tracingPolicy.js +3 -2
  212. package/dist/esm/policies/tracingPolicy.js.map +1 -1
  213. package/dist/esm/restError.js +11 -31
  214. package/dist/esm/restError.js.map +1 -1
  215. package/dist/esm/retryStrategies/exponentialRetryStrategy.js +3 -2
  216. package/dist/esm/retryStrategies/exponentialRetryStrategy.js.map +1 -1
  217. package/dist/esm/tracing/tracingClient.js +3 -7
  218. package/dist/esm/tracing/tracingClient.js.map +1 -1
  219. package/dist/esm/tracing/tracingContext.js +0 -1
  220. package/dist/esm/tracing/tracingContext.js.map +1 -1
  221. package/dist/esm/util/aborterUtils.js +3 -2
  222. package/dist/esm/util/aborterUtils.js.map +1 -1
  223. package/dist/esm/util/checkEnvironment.d.ts +10 -1
  224. package/dist/esm/util/checkEnvironment.d.ts.map +1 -1
  225. package/dist/esm/util/checkEnvironment.js +18 -11
  226. package/dist/esm/util/checkEnvironment.js.map +1 -1
  227. package/dist/esm/util/concat.js +35 -17
  228. package/dist/esm/util/concat.js.map +1 -1
  229. package/dist/esm/util/createAbortablePromise.js +6 -6
  230. package/dist/esm/util/createAbortablePromise.js.map +1 -1
  231. package/dist/esm/util/delay.js +2 -2
  232. package/dist/esm/util/delay.js.map +1 -1
  233. package/dist/esm/util/file.js +5 -22
  234. package/dist/esm/util/file.js.map +1 -1
  235. package/dist/esm/util/helpers.js +4 -4
  236. package/dist/esm/util/helpers.js.map +1 -1
  237. package/dist/esm/util/sanitizer.js +1 -7
  238. package/dist/esm/util/sanitizer.js.map +1 -1
  239. package/dist/esm/util/tokenCycler.js +6 -7
  240. package/dist/esm/util/tokenCycler.js.map +1 -1
  241. package/dist/esm/util/uuidUtils.js +2 -1
  242. package/dist/esm/util/uuidUtils.js.map +1 -1
  243. package/dist/esm/xhrHttpClient.js +5 -3
  244. package/dist/esm/xhrHttpClient.js.map +1 -1
  245. package/dist/react-native/accessTokenCache.js +0 -2
  246. package/dist/react-native/accessTokenCache.js.map +1 -1
  247. package/dist/react-native/client/clientHelpers.js +4 -3
  248. package/dist/react-native/client/clientHelpers.js.map +1 -1
  249. package/dist/react-native/client/getClient.js +9 -7
  250. package/dist/react-native/client/getClient.js.map +1 -1
  251. package/dist/react-native/client/operationOptionHelpers.js +7 -6
  252. package/dist/react-native/client/operationOptionHelpers.js.map +1 -1
  253. package/dist/react-native/client/restError.js +4 -2
  254. package/dist/react-native/client/restError.js.map +1 -1
  255. package/dist/react-native/client/sendRequest.js +18 -19
  256. package/dist/react-native/client/sendRequest.js.map +1 -1
  257. package/dist/react-native/client/urlHelpers.js +2 -1
  258. package/dist/react-native/client/urlHelpers.js.map +1 -1
  259. package/dist/react-native/fetchHttpClient.js +20 -26
  260. package/dist/react-native/fetchHttpClient.js.map +1 -1
  261. package/dist/react-native/httpHeaders.js +2 -2
  262. package/dist/react-native/httpHeaders.js.map +1 -1
  263. package/dist/react-native/index.d.ts +1 -1
  264. package/dist/react-native/index.d.ts.map +1 -1
  265. package/dist/react-native/index.js +1 -1
  266. package/dist/react-native/index.js.map +1 -1
  267. package/dist/react-native/nodeHttpClient.js +20 -18
  268. package/dist/react-native/nodeHttpClient.js.map +1 -1
  269. package/dist/react-native/pipeline.js +3 -3
  270. package/dist/react-native/pipeline.js.map +1 -1
  271. package/dist/react-native/pipelineRequest.js +8 -25
  272. package/dist/react-native/pipelineRequest.js.map +1 -1
  273. package/dist/react-native/policies/bearerTokenAuthenticationPolicy.js +3 -7
  274. package/dist/react-native/policies/bearerTokenAuthenticationPolicy.js.map +1 -1
  275. package/dist/react-native/policies/defaultRetryPolicy.js +2 -1
  276. package/dist/react-native/policies/defaultRetryPolicy.js.map +1 -1
  277. package/dist/react-native/policies/exponentialRetryPolicy.js +3 -5
  278. package/dist/react-native/policies/exponentialRetryPolicy.js.map +1 -1
  279. package/dist/react-native/policies/formDataPolicy.js +1 -1
  280. package/dist/react-native/policies/formDataPolicy.js.map +1 -1
  281. package/dist/react-native/policies/logPolicy.js +2 -1
  282. package/dist/react-native/policies/logPolicy.js.map +1 -1
  283. package/dist/react-native/policies/multipartPolicy.js +3 -2
  284. package/dist/react-native/policies/multipartPolicy.js.map +1 -1
  285. package/dist/react-native/policies/proxyPolicy.js +4 -3
  286. package/dist/react-native/policies/proxyPolicy.js.map +1 -1
  287. package/dist/react-native/policies/retryPolicy.js +3 -2
  288. package/dist/react-native/policies/retryPolicy.js.map +1 -1
  289. package/dist/react-native/policies/systemErrorRetryPolicy.js +3 -5
  290. package/dist/react-native/policies/systemErrorRetryPolicy.js.map +1 -1
  291. package/dist/react-native/policies/throttlingRetryPolicy.js +2 -1
  292. package/dist/react-native/policies/throttlingRetryPolicy.js.map +1 -1
  293. package/dist/react-native/policies/tracingPolicy.js +3 -2
  294. package/dist/react-native/policies/tracingPolicy.js.map +1 -1
  295. package/dist/react-native/restError.js +11 -31
  296. package/dist/react-native/restError.js.map +1 -1
  297. package/dist/react-native/retryStrategies/exponentialRetryStrategy.js +3 -2
  298. package/dist/react-native/retryStrategies/exponentialRetryStrategy.js.map +1 -1
  299. package/dist/react-native/tracing/tracingClient.js +3 -7
  300. package/dist/react-native/tracing/tracingClient.js.map +1 -1
  301. package/dist/react-native/tracing/tracingContext.js +0 -1
  302. package/dist/react-native/tracing/tracingContext.js.map +1 -1
  303. package/dist/react-native/util/aborterUtils.js +3 -2
  304. package/dist/react-native/util/aborterUtils.js.map +1 -1
  305. package/dist/react-native/util/checkEnvironment.d.ts +10 -1
  306. package/dist/react-native/util/checkEnvironment.d.ts.map +1 -1
  307. package/dist/react-native/util/checkEnvironment.js +18 -11
  308. package/dist/react-native/util/checkEnvironment.js.map +1 -1
  309. package/dist/react-native/util/concat.js +35 -17
  310. package/dist/react-native/util/concat.js.map +1 -1
  311. package/dist/react-native/util/createAbortablePromise.js +6 -6
  312. package/dist/react-native/util/createAbortablePromise.js.map +1 -1
  313. package/dist/react-native/util/delay.js +2 -2
  314. package/dist/react-native/util/delay.js.map +1 -1
  315. package/dist/react-native/util/file.js +5 -22
  316. package/dist/react-native/util/file.js.map +1 -1
  317. package/dist/react-native/util/helpers.js +4 -4
  318. package/dist/react-native/util/helpers.js.map +1 -1
  319. package/dist/react-native/util/sanitizer.js +1 -7
  320. package/dist/react-native/util/sanitizer.js.map +1 -1
  321. package/dist/react-native/util/tokenCycler.js +6 -7
  322. package/dist/react-native/util/tokenCycler.js.map +1 -1
  323. package/dist/react-native/util/userAgentPlatform-react-native.mjs.map +1 -1
  324. package/dist/react-native/util/userAgentPlatform.js +2 -1
  325. package/dist/react-native/xhrHttpClient.js +5 -3
  326. package/dist/react-native/xhrHttpClient.js.map +1 -1
  327. package/dist/ts-http-runtime.d.ts +12 -1
  328. package/package.json +2 -2
@@ -19,15 +19,16 @@ const file_js_1 = require("../util/file.js");
19
19
  * @returns returns and HttpResponse
20
20
  */
21
21
  async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
22
- const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
22
+ var _a;
23
+ const httpClient = customHttpClient !== null && customHttpClient !== void 0 ? customHttpClient : (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
23
24
  const request = buildPipelineRequest(method, url, options);
24
25
  const response = await pipeline.sendRequest(httpClient, request);
25
26
  const headers = response.headers.toJSON();
26
- const stream = response.readableStreamBody ?? response.browserStreamBody;
27
+ const stream = (_a = response.readableStreamBody) !== null && _a !== void 0 ? _a : response.browserStreamBody;
27
28
  const parsedBody = options.responseAsStream || stream !== undefined ? undefined : getResponseBody(response);
28
- const body = stream ?? parsedBody;
29
- if (options?.onResponse) {
30
- options.onResponse({ ...response, request, rawHeaders: headers, parsedBody });
29
+ const body = stream !== null && stream !== void 0 ? stream : parsedBody;
30
+ if (options === null || options === void 0 ? void 0 : options.onResponse) {
31
+ options.onResponse(Object.assign(Object.assign({}, response), { request, rawHeaders: headers, parsedBody }));
31
32
  }
32
33
  return {
33
34
  request,
@@ -43,9 +44,8 @@ exports.sendRequest = sendRequest;
43
44
  * @returns returns the content-type
44
45
  */
45
46
  function getRequestContentType(options = {}) {
46
- return (options.contentType ??
47
- options.headers?.["content-type"] ??
48
- getContentType(options.body));
47
+ var _a, _b, _c;
48
+ return ((_c = (_a = options.contentType) !== null && _a !== void 0 ? _a : (_b = options.headers) === null || _b === void 0 ? void 0 : _b["content-type"]) !== null && _c !== void 0 ? _c : getContentType(options.body));
49
49
  }
50
50
  /**
51
51
  * Function to determine the content-type of a body
@@ -71,17 +71,14 @@ function getContentType(body) {
71
71
  return "application/json; charset=UTF-8";
72
72
  }
73
73
  function buildPipelineRequest(method, url, options = {}) {
74
+ var _a;
74
75
  const requestContentType = getRequestContentType(options);
75
76
  const { body, formData } = getRequestBody(options.body, requestContentType);
76
77
  const hasContent = body !== undefined || formData !== undefined;
77
- const headers = (0, httpHeaders_js_1.createHttpHeaders)({
78
- ...(options.headers ? options.headers : {}),
79
- accept: options.accept ?? "application/json",
80
- ...(hasContent &&
81
- requestContentType && {
82
- "content-type": requestContentType,
83
- }),
84
- });
78
+ const headers = (0, httpHeaders_js_1.createHttpHeaders)(Object.assign(Object.assign(Object.assign({}, (options.headers ? options.headers : {})), { accept: (_a = options.accept) !== null && _a !== void 0 ? _a : "application/json" }), (hasContent &&
79
+ requestContentType && {
80
+ "content-type": requestContentType,
81
+ })));
85
82
  return (0, pipelineRequest_js_1.createPipelineRequest)({
86
83
  url,
87
84
  method,
@@ -163,10 +160,11 @@ function processFormData(formData) {
163
160
  * Prepares the response body
164
161
  */
165
162
  function getResponseBody(response) {
163
+ var _a, _b;
166
164
  // Set the default response type
167
- const contentType = response.headers.get("content-type") ?? "";
165
+ const contentType = (_a = response.headers.get("content-type")) !== null && _a !== void 0 ? _a : "";
168
166
  const firstType = contentType.split(";")[0];
169
- const bodyToParse = response.bodyAsText ?? "";
167
+ const bodyToParse = (_b = response.bodyAsText) !== null && _b !== void 0 ? _b : "";
170
168
  if (firstType === "text/plain") {
171
169
  return String(bodyToParse);
172
170
  }
@@ -186,8 +184,9 @@ function getResponseBody(response) {
186
184
  }
187
185
  }
188
186
  function createParseError(response, err) {
187
+ var _a;
189
188
  const msg = `Error "${err}" occurred while parsing the response body - ${response.bodyAsText}.`;
190
- const errCode = err.code ?? restError_js_1.RestError.PARSE_ERROR;
189
+ const errCode = (_a = err.code) !== null && _a !== void 0 ? _a : restError_js_1.RestError.PARSE_ERROR;
191
190
  return new restError_js_1.RestError(msg, {
192
191
  code: errCode,
193
192
  statusCode: response.status,
@@ -1 +1 @@
1
- {"version":3,"file":"sendRequest.js","sourceRoot":"","sources":["../../../src/client/sendRequest.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n FormDataMap,\n FormDataValue,\n HttpClient,\n HttpMethods,\n PipelineRequest,\n PipelineResponse,\n RequestBodyType,\n} from \"../interfaces.js\";\nimport { RestError } from \"../restError.js\";\nimport { Pipeline } from \"../pipeline.js\";\nimport { createHttpHeaders } from \"../httpHeaders.js\";\nimport { createPipelineRequest } from \"../pipelineRequest.js\";\nimport { getCachedDefaultHttpsClient } from \"./clientHelpers.js\";\nimport { isReadableStream } from \"../util/typeGuards.js\";\nimport { HttpResponse, RequestParameters } from \"./common.js\";\nimport { createFile } from \"../util/file.js\";\n\n/**\n * Helper function to send request used by the client\n * @param method - method to use to send the request\n * @param url - url to send the request to\n * @param pipeline - pipeline with the policies to run when sending the request\n * @param options - request options\n * @param customHttpClient - a custom HttpClient to use when making the request\n * @returns returns and HttpResponse\n */\nexport async function sendRequest(\n method: HttpMethods,\n url: string,\n pipeline: Pipeline,\n options: InternalRequestParameters = {},\n customHttpClient?: HttpClient,\n): Promise<HttpResponse> {\n const httpClient = customHttpClient ?? getCachedDefaultHttpsClient();\n const request = buildPipelineRequest(method, url, options);\n const response = await pipeline.sendRequest(httpClient, request);\n const headers = response.headers.toJSON();\n const stream = response.readableStreamBody ?? response.browserStreamBody;\n const parsedBody =\n options.responseAsStream || stream !== undefined ? undefined : getResponseBody(response);\n const body = stream ?? parsedBody;\n\n if (options?.onResponse) {\n options.onResponse({ ...response, request, rawHeaders: headers, parsedBody });\n }\n\n return {\n request,\n headers,\n status: `${response.status}`,\n body,\n };\n}\n\n/**\n * Function to determine the request content type\n * @param options - request options InternalRequestParameters\n * @returns returns the content-type\n */\nfunction getRequestContentType(options: InternalRequestParameters = {}): string {\n return (\n options.contentType ??\n (options.headers?.[\"content-type\"] as string) ??\n getContentType(options.body)\n );\n}\n\n/**\n * Function to determine the content-type of a body\n * this is used if an explicit content-type is not provided\n * @param body - body in the request\n * @returns returns the content-type\n */\nfunction getContentType(body: any): string | undefined {\n if (ArrayBuffer.isView(body)) {\n return \"application/octet-stream\";\n }\n\n if (typeof body === \"string\") {\n try {\n JSON.parse(body);\n return \"application/json; charset=UTF-8\";\n } catch (error: any) {\n // If we fail to parse the body, it is not json\n return undefined;\n }\n }\n // By default return json\n return \"application/json; charset=UTF-8\";\n}\n\nexport interface InternalRequestParameters extends RequestParameters {\n responseAsStream?: boolean;\n}\n\nfunction buildPipelineRequest(\n method: HttpMethods,\n url: string,\n options: InternalRequestParameters = {},\n): PipelineRequest {\n const requestContentType = getRequestContentType(options);\n const { body, formData } = getRequestBody(options.body, requestContentType);\n const hasContent = body !== undefined || formData !== undefined;\n\n const headers = createHttpHeaders({\n ...(options.headers ? options.headers : {}),\n accept: options.accept ?? \"application/json\",\n ...(hasContent &&\n requestContentType && {\n \"content-type\": requestContentType,\n }),\n });\n\n return createPipelineRequest({\n url,\n method,\n body,\n formData,\n headers,\n allowInsecureConnection: options.allowInsecureConnection,\n tracingOptions: options.tracingOptions,\n abortSignal: options.abortSignal,\n onUploadProgress: options.onUploadProgress,\n onDownloadProgress: options.onDownloadProgress,\n timeout: options.timeout,\n enableBrowserStreams: true,\n streamResponseStatusCodes: options.responseAsStream\n ? new Set([Number.POSITIVE_INFINITY])\n : undefined,\n });\n}\n\ninterface RequestBody {\n body?: RequestBodyType;\n formData?: FormDataMap;\n}\n\n/**\n * Prepares the body before sending the request\n */\nfunction getRequestBody(body?: unknown, contentType: string = \"\"): RequestBody {\n if (body === undefined) {\n return { body: undefined };\n }\n\n if (isReadableStream(body)) {\n return { body };\n }\n\n const firstType = contentType.split(\";\")[0];\n\n if (firstType === \"application/json\") {\n return { body: JSON.stringify(body) };\n }\n\n if (ArrayBuffer.isView(body)) {\n return { body: body instanceof Uint8Array ? body : JSON.stringify(body) };\n }\n\n switch (firstType) {\n case \"multipart/form-data\":\n return isRLCFormDataInput(body)\n ? { formData: processFormData(body) }\n : { body: JSON.stringify(body) };\n case \"text/plain\":\n return { body: String(body) };\n default:\n if (typeof body === \"string\") {\n return { body };\n }\n return { body: JSON.stringify(body) };\n }\n}\n\n/**\n * Union of possible input types for multipart/form-data values that are accepted by RLCs.\n * This extends the default FormDataValue type to include Uint8Array, which is accepted as an input by RLCs.\n */\ntype RLCFormDataValue = FormDataValue | Uint8Array;\n\n/**\n * Input shape for a form data body type as generated by an RLC\n */\ntype RLCFormDataInput = Record<string, RLCFormDataValue | RLCFormDataValue[]>;\n\nfunction isRLCFormDataValue(value: unknown): value is RLCFormDataValue {\n return (\n typeof value === \"string\" ||\n value instanceof Uint8Array ||\n // We don't do `instanceof Blob` since we should also accept polyfills of e.g. File in Node.\n typeof (value as Blob).stream === \"function\"\n );\n}\n\nfunction isRLCFormDataInput(body: unknown): body is RLCFormDataInput {\n return (\n body !== undefined &&\n body instanceof Object &&\n Object.values(body).every(\n (value) =>\n isRLCFormDataValue(value) || (Array.isArray(value) && value.every(isRLCFormDataValue)),\n )\n );\n}\n\nfunction processFormDataValue(value: RLCFormDataValue): FormDataValue {\n return value instanceof Uint8Array ? createFile(value, \"blob\") : value;\n}\n\n/**\n * Checks if binary data is in Uint8Array format, if so wrap it in a Blob\n * to send over the wire\n */\nfunction processFormData(formData: RLCFormDataInput): FormDataMap {\n const processedFormData: FormDataMap = {};\n\n for (const element in formData) {\n const value = formData[element];\n\n processedFormData[element] = Array.isArray(value)\n ? value.map(processFormDataValue)\n : processFormDataValue(value);\n }\n\n return processedFormData;\n}\n\n/**\n * Prepares the response body\n */\nfunction getResponseBody(response: PipelineResponse): RequestBodyType | undefined {\n // Set the default response type\n const contentType = response.headers.get(\"content-type\") ?? \"\";\n const firstType = contentType.split(\";\")[0];\n const bodyToParse: string = response.bodyAsText ?? \"\";\n\n if (firstType === \"text/plain\") {\n return String(bodyToParse);\n }\n // Default to \"application/json\" and fallback to string;\n try {\n return bodyToParse ? JSON.parse(bodyToParse) : undefined;\n } catch (error: any) {\n // If we were supposed to get a JSON object and failed to\n // parse, throw a parse error\n if (firstType === \"application/json\") {\n throw createParseError(response, error);\n }\n\n // We are not sure how to handle the response so we return it as\n // plain text.\n return String(bodyToParse);\n }\n}\n\nfunction createParseError(response: PipelineResponse, err: any): RestError {\n const msg = `Error \"${err}\" occurred while parsing the response body - ${response.bodyAsText}.`;\n const errCode = err.code ?? RestError.PARSE_ERROR;\n return new RestError(msg, {\n code: errCode,\n statusCode: response.status,\n request: response.request,\n response: response,\n });\n}\n"]}
1
+ {"version":3,"file":"sendRequest.js","sourceRoot":"","sources":["../../../src/client/sendRequest.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n FormDataMap,\n FormDataValue,\n HttpClient,\n HttpMethods,\n PipelineRequest,\n PipelineResponse,\n RequestBodyType,\n} from \"../interfaces.js\";\nimport { RestError } from \"../restError.js\";\nimport { Pipeline } from \"../pipeline.js\";\nimport { createHttpHeaders } from \"../httpHeaders.js\";\nimport { createPipelineRequest } from \"../pipelineRequest.js\";\nimport { getCachedDefaultHttpsClient } from \"./clientHelpers.js\";\nimport { isReadableStream } from \"../util/typeGuards.js\";\nimport { HttpResponse, RequestParameters } from \"./common.js\";\nimport { createFile } from \"../util/file.js\";\n\n/**\n * Helper function to send request used by the client\n * @param method - method to use to send the request\n * @param url - url to send the request to\n * @param pipeline - pipeline with the policies to run when sending the request\n * @param options - request options\n * @param customHttpClient - a custom HttpClient to use when making the request\n * @returns returns and HttpResponse\n */\nexport async function sendRequest(\n method: HttpMethods,\n url: string,\n pipeline: Pipeline,\n options: InternalRequestParameters = {},\n customHttpClient?: HttpClient,\n): Promise<HttpResponse> {\n const httpClient = customHttpClient ?? getCachedDefaultHttpsClient();\n const request = buildPipelineRequest(method, url, options);\n const response = await pipeline.sendRequest(httpClient, request);\n const headers = response.headers.toJSON();\n const stream = response.readableStreamBody ?? response.browserStreamBody;\n const parsedBody =\n options.responseAsStream || stream !== undefined ? undefined : getResponseBody(response);\n const body = stream ?? parsedBody;\n\n if (options?.onResponse) {\n options.onResponse({ ...response, request, rawHeaders: headers, parsedBody });\n }\n\n return {\n request,\n headers,\n status: `${response.status}`,\n body,\n };\n}\n\n/**\n * Function to determine the request content type\n * @param options - request options InternalRequestParameters\n * @returns returns the content-type\n */\nfunction getRequestContentType(options: InternalRequestParameters = {}): string {\n return (\n options.contentType ??\n (options.headers?.[\"content-type\"] as string) ??\n getContentType(options.body)\n );\n}\n\n/**\n * Function to determine the content-type of a body\n * this is used if an explicit content-type is not provided\n * @param body - body in the request\n * @returns returns the content-type\n */\nfunction getContentType(body: any): string | undefined {\n if (ArrayBuffer.isView(body)) {\n return \"application/octet-stream\";\n }\n\n if (typeof body === \"string\") {\n try {\n JSON.parse(body);\n return \"application/json; charset=UTF-8\";\n } catch (error: any) {\n // If we fail to parse the body, it is not json\n return undefined;\n }\n }\n // By default return json\n return \"application/json; charset=UTF-8\";\n}\n\nexport interface InternalRequestParameters extends RequestParameters {\n responseAsStream?: boolean;\n}\n\nfunction buildPipelineRequest(\n method: HttpMethods,\n url: string,\n options: InternalRequestParameters = {},\n): PipelineRequest {\n const requestContentType = getRequestContentType(options);\n const { body, formData } = getRequestBody(options.body, requestContentType);\n const hasContent = body !== undefined || formData !== undefined;\n\n const headers = createHttpHeaders({\n ...(options.headers ? options.headers : {}),\n accept: options.accept ?? \"application/json\",\n ...(hasContent &&\n requestContentType && {\n \"content-type\": requestContentType,\n }),\n });\n\n return createPipelineRequest({\n url,\n method,\n body,\n formData,\n headers,\n allowInsecureConnection: options.allowInsecureConnection,\n tracingOptions: options.tracingOptions,\n abortSignal: options.abortSignal,\n onUploadProgress: options.onUploadProgress,\n onDownloadProgress: options.onDownloadProgress,\n timeout: options.timeout,\n enableBrowserStreams: true,\n streamResponseStatusCodes: options.responseAsStream\n ? new Set([Number.POSITIVE_INFINITY])\n : undefined,\n });\n}\n\ninterface RequestBody {\n body?: RequestBodyType;\n formData?: FormDataMap;\n}\n\n/**\n * Prepares the body before sending the request\n */\nfunction getRequestBody(body?: unknown, contentType: string = \"\"): RequestBody {\n if (body === undefined) {\n return { body: undefined };\n }\n\n if (isReadableStream(body)) {\n return { body };\n }\n\n const firstType = contentType.split(\";\")[0];\n\n if (firstType === \"application/json\") {\n return { body: JSON.stringify(body) };\n }\n\n if (ArrayBuffer.isView(body)) {\n return { body: body instanceof Uint8Array ? body : JSON.stringify(body) };\n }\n\n switch (firstType) {\n case \"multipart/form-data\":\n return isRLCFormDataInput(body)\n ? { formData: processFormData(body) }\n : { body: JSON.stringify(body) };\n case \"text/plain\":\n return { body: String(body) };\n default:\n if (typeof body === \"string\") {\n return { body };\n }\n return { body: JSON.stringify(body) };\n }\n}\n\n/**\n * Union of possible input types for multipart/form-data values that are accepted by RLCs.\n * This extends the default FormDataValue type to include Uint8Array, which is accepted as an input by RLCs.\n */\ntype RLCFormDataValue = FormDataValue | Uint8Array;\n\n/**\n * Input shape for a form data body type as generated by an RLC\n */\ntype RLCFormDataInput = Record<string, RLCFormDataValue | RLCFormDataValue[]>;\n\nfunction isRLCFormDataValue(value: unknown): value is RLCFormDataValue {\n return (\n typeof value === \"string\" ||\n value instanceof Uint8Array ||\n // We don't do `instanceof Blob` since we should also accept polyfills of e.g. File in Node.\n typeof (value as Blob).stream === \"function\"\n );\n}\n\nfunction isRLCFormDataInput(body: unknown): body is RLCFormDataInput {\n return (\n body !== undefined &&\n body instanceof Object &&\n Object.values(body).every(\n (value) =>\n isRLCFormDataValue(value) || (Array.isArray(value) && value.every(isRLCFormDataValue)),\n )\n );\n}\n\nfunction processFormDataValue(value: RLCFormDataValue): FormDataValue {\n return value instanceof Uint8Array ? createFile(value, \"blob\") : value;\n}\n\n/**\n * Checks if binary data is in Uint8Array format, if so wrap it in a Blob\n * to send over the wire\n */\nfunction processFormData(formData: RLCFormDataInput): FormDataMap {\n const processedFormData: FormDataMap = {};\n\n for (const element in formData) {\n const value = formData[element];\n\n processedFormData[element] = Array.isArray(value)\n ? value.map(processFormDataValue)\n : processFormDataValue(value);\n }\n\n return processedFormData;\n}\n\n/**\n * Prepares the response body\n */\nfunction getResponseBody(response: PipelineResponse): RequestBodyType | undefined {\n // Set the default response type\n const contentType = response.headers.get(\"content-type\") ?? \"\";\n const firstType = contentType.split(\";\")[0];\n const bodyToParse: string = response.bodyAsText ?? \"\";\n\n if (firstType === \"text/plain\") {\n return String(bodyToParse);\n }\n // Default to \"application/json\" and fallback to string;\n try {\n return bodyToParse ? JSON.parse(bodyToParse) : undefined;\n } catch (error: any) {\n // If we were supposed to get a JSON object and failed to\n // parse, throw a parse error\n if (firstType === \"application/json\") {\n throw createParseError(response, error);\n }\n\n // We are not sure how to handle the response so we return it as\n // plain text.\n return String(bodyToParse);\n }\n}\n\nfunction createParseError(response: PipelineResponse, err: any): RestError {\n const msg = `Error \"${err}\" occurred while parsing the response body - ${response.bodyAsText}.`;\n const errCode = err.code ?? RestError.PARSE_ERROR;\n return new RestError(msg, {\n code: errCode,\n statusCode: response.status,\n request: response.request,\n response: response,\n });\n}\n"]}
@@ -61,6 +61,7 @@ function skipQueryParameterEncoding(url) {
61
61
  return url;
62
62
  }
63
63
  function buildBaseUrl(endpoint, options) {
64
+ var _a;
64
65
  if (!options.pathParameters) {
65
66
  return endpoint;
66
67
  }
@@ -76,7 +77,7 @@ function buildBaseUrl(endpoint, options) {
76
77
  if (!options.skipUrlEncoding) {
77
78
  value = encodeURIComponent(param);
78
79
  }
79
- endpoint = replaceAll(endpoint, `{${key}}`, value) ?? "";
80
+ endpoint = (_a = replaceAll(endpoint, `{${key}}`, value)) !== null && _a !== void 0 ? _a : "";
80
81
  }
81
82
  return endpoint;
82
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"urlHelpers.js","sourceRoot":"","sources":["../../../src/client/urlHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { RequestParameters } from \"./common.js\";\n\n/**\n * Builds the request url, filling in query and path parameters\n * @param endpoint - base url which can be a template url\n * @param routePath - path to append to the endpoint\n * @param pathParameters - values of the path parameters\n * @param options - request parameters including query parameters\n * @returns a full url with path and query parameters\n */\nexport function buildRequestUrl(\n endpoint: string,\n routePath: string,\n pathParameters: string[],\n options: RequestParameters = {},\n): string {\n if (routePath.startsWith(\"https://\") || routePath.startsWith(\"http://\")) {\n return routePath;\n }\n endpoint = buildBaseUrl(endpoint, options);\n routePath = buildRoutePath(routePath, pathParameters, options);\n const requestUrl = appendQueryParams(`${endpoint}/${routePath}`, options);\n const url = new URL(requestUrl);\n\n return (\n url\n .toString()\n // Remove double forward slashes\n .replace(/([^:]\\/)\\/+/g, \"$1\")\n );\n}\n\nfunction appendQueryParams(url: string, options: RequestParameters = {}): string {\n if (!options.queryParameters) {\n return url;\n }\n let parsedUrl = new URL(url);\n const queryParams = options.queryParameters;\n for (const key of Object.keys(queryParams)) {\n const param = queryParams[key] as any;\n if (param === undefined || param === null) {\n continue;\n }\n if (!param.toString || typeof param.toString !== \"function\") {\n throw new Error(`Query parameters must be able to be represented as string, ${key} can't`);\n }\n const value = param.toISOString !== undefined ? param.toISOString() : param.toString();\n parsedUrl.searchParams.append(key, value);\n }\n\n if (options.skipUrlEncoding) {\n parsedUrl = skipQueryParameterEncoding(parsedUrl);\n }\n return parsedUrl.toString();\n}\n\nfunction skipQueryParameterEncoding(url: URL): URL {\n if (!url) {\n return url;\n }\n const searchPieces: string[] = [];\n for (const [name, value] of url.searchParams) {\n // QUIRK: searchParams.get retrieves the values decoded\n searchPieces.push(`${name}=${value}`);\n }\n // QUIRK: we have to set search manually as searchParams will encode comma when it shouldn't.\n url.search = searchPieces.length ? `?${searchPieces.join(\"&\")}` : \"\";\n return url;\n}\n\nexport function buildBaseUrl(endpoint: string, options: RequestParameters): string {\n if (!options.pathParameters) {\n return endpoint;\n }\n const pathParams = options.pathParameters;\n for (const [key, param] of Object.entries(pathParams)) {\n if (param === undefined || param === null) {\n throw new Error(`Path parameters ${key} must not be undefined or null`);\n }\n if (!param.toString || typeof param.toString !== \"function\") {\n throw new Error(`Path parameters must be able to be represented as string, ${key} can't`);\n }\n let value = param.toISOString !== undefined ? param.toISOString() : String(param);\n if (!options.skipUrlEncoding) {\n value = encodeURIComponent(param);\n }\n endpoint = replaceAll(endpoint, `{${key}}`, value) ?? \"\";\n }\n return endpoint;\n}\n\nfunction buildRoutePath(\n routePath: string,\n pathParameters: string[],\n options: RequestParameters = {},\n): string {\n for (const pathParam of pathParameters) {\n let value = pathParam;\n if (!options.skipUrlEncoding) {\n value = encodeURIComponent(pathParam);\n }\n\n routePath = routePath.replace(/\\{\\w+\\}/, value);\n }\n return routePath;\n}\n\n/**\n * Replace all of the instances of searchValue in value with the provided replaceValue.\n * @param value - The value to search and replace in.\n * @param searchValue - The value to search for in the value argument.\n * @param replaceValue - The value to replace searchValue with in the value argument.\n * @returns The value where each instance of searchValue was replaced with replacedValue.\n */\nexport function replaceAll(\n value: string | undefined,\n searchValue: string,\n replaceValue: string,\n): string | undefined {\n return !value || !searchValue ? value : value.split(searchValue).join(replaceValue || \"\");\n}\n"]}
1
+ {"version":3,"file":"urlHelpers.js","sourceRoot":"","sources":["../../../src/client/urlHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { RequestParameters } from \"./common.js\";\n\n/**\n * Builds the request url, filling in query and path parameters\n * @param endpoint - base url which can be a template url\n * @param routePath - path to append to the endpoint\n * @param pathParameters - values of the path parameters\n * @param options - request parameters including query parameters\n * @returns a full url with path and query parameters\n */\nexport function buildRequestUrl(\n endpoint: string,\n routePath: string,\n pathParameters: string[],\n options: RequestParameters = {},\n): string {\n if (routePath.startsWith(\"https://\") || routePath.startsWith(\"http://\")) {\n return routePath;\n }\n endpoint = buildBaseUrl(endpoint, options);\n routePath = buildRoutePath(routePath, pathParameters, options);\n const requestUrl = appendQueryParams(`${endpoint}/${routePath}`, options);\n const url = new URL(requestUrl);\n\n return (\n url\n .toString()\n // Remove double forward slashes\n .replace(/([^:]\\/)\\/+/g, \"$1\")\n );\n}\n\nfunction appendQueryParams(url: string, options: RequestParameters = {}): string {\n if (!options.queryParameters) {\n return url;\n }\n let parsedUrl = new URL(url);\n const queryParams = options.queryParameters;\n for (const key of Object.keys(queryParams)) {\n const param = queryParams[key] as any;\n if (param === undefined || param === null) {\n continue;\n }\n if (!param.toString || typeof param.toString !== \"function\") {\n throw new Error(`Query parameters must be able to be represented as string, ${key} can't`);\n }\n const value = param.toISOString !== undefined ? param.toISOString() : param.toString();\n parsedUrl.searchParams.append(key, value);\n }\n\n if (options.skipUrlEncoding) {\n parsedUrl = skipQueryParameterEncoding(parsedUrl);\n }\n return parsedUrl.toString();\n}\n\nfunction skipQueryParameterEncoding(url: URL): URL {\n if (!url) {\n return url;\n }\n const searchPieces: string[] = [];\n for (const [name, value] of url.searchParams) {\n // QUIRK: searchParams.get retrieves the values decoded\n searchPieces.push(`${name}=${value}`);\n }\n // QUIRK: we have to set search manually as searchParams will encode comma when it shouldn't.\n url.search = searchPieces.length ? `?${searchPieces.join(\"&\")}` : \"\";\n return url;\n}\n\nexport function buildBaseUrl(endpoint: string, options: RequestParameters): string {\n if (!options.pathParameters) {\n return endpoint;\n }\n const pathParams = options.pathParameters;\n for (const [key, param] of Object.entries(pathParams)) {\n if (param === undefined || param === null) {\n throw new Error(`Path parameters ${key} must not be undefined or null`);\n }\n if (!param.toString || typeof param.toString !== \"function\") {\n throw new Error(`Path parameters must be able to be represented as string, ${key} can't`);\n }\n let value = param.toISOString !== undefined ? param.toISOString() : String(param);\n if (!options.skipUrlEncoding) {\n value = encodeURIComponent(param);\n }\n endpoint = replaceAll(endpoint, `{${key}}`, value) ?? \"\";\n }\n return endpoint;\n}\n\nfunction buildRoutePath(\n routePath: string,\n pathParameters: string[],\n options: RequestParameters = {},\n): string {\n for (const pathParam of pathParameters) {\n let value = pathParam;\n if (!options.skipUrlEncoding) {\n value = encodeURIComponent(pathParam);\n }\n\n routePath = routePath.replace(/\\{\\w+\\}/, value);\n }\n return routePath;\n}\n\n/**\n * Replace all of the instances of searchValue in value with the provided replaceValue.\n * @param value - The value to search and replace in.\n * @param searchValue - The value to search for in the value argument.\n * @param replaceValue - The value to replace searchValue with in the value argument.\n * @returns The value where each instance of searchValue was replaced with replacedValue.\n */\nexport function replaceAll(\n value: string | undefined,\n searchValue: string,\n replaceValue: string,\n): string | undefined {\n return !value || !searchValue ? value : value.split(searchValue).join(replaceValue || \"\");\n}\n"]}
@@ -48,19 +48,9 @@ async function makeRequest(request) {
48
48
  try {
49
49
  const headers = buildFetchHeaders(request.headers);
50
50
  const { streaming, body: requestBody } = buildRequestBody(request);
51
- const requestInit = {
52
- body: requestBody,
53
- method: request.method,
54
- headers: headers,
55
- signal: abortController.signal,
56
- // Cloudflare doesn't implement the full Fetch API spec
57
- // because of some of it doesn't make sense in the edge.
58
- // See https://github.com/cloudflare/workerd/issues/902
59
- ...("credentials" in Request.prototype
60
- ? { credentials: request.withCredentials ? "include" : "same-origin" }
61
- : {}),
62
- ...("cache" in Request.prototype ? { cache: "no-store" } : {}),
63
- };
51
+ const requestInit = Object.assign(Object.assign({ body: requestBody, method: request.method, headers: headers, signal: abortController.signal }, ("credentials" in Request.prototype
52
+ ? { credentials: request.withCredentials ? "include" : "same-origin" }
53
+ : {})), ("cache" in Request.prototype ? { cache: "no-store" } : {}));
64
54
  // According to https://fetch.spec.whatwg.org/#fetch-method,
65
55
  // init.duplex must be set when body is a ReadableStream object.
66
56
  // currently "half" is the only valid value.
@@ -81,7 +71,7 @@ async function makeRequest(request) {
81
71
  return buildPipelineResponse(response, request, abortControllerCleanup);
82
72
  }
83
73
  catch (e) {
84
- abortControllerCleanup?.();
74
+ abortControllerCleanup === null || abortControllerCleanup === void 0 ? void 0 : abortControllerCleanup();
85
75
  throw e;
86
76
  }
87
77
  }
@@ -89,6 +79,7 @@ async function makeRequest(request) {
89
79
  * Creates a pipeline response from a Fetch response;
90
80
  */
91
81
  async function buildPipelineResponse(httpResponse, request, abortControllerCleanup) {
82
+ var _a, _b;
92
83
  const headers = buildPipelineHeaders(httpResponse);
93
84
  const response = {
94
85
  request,
@@ -103,21 +94,21 @@ async function buildPipelineResponse(httpResponse, request, abortControllerClean
103
94
  : httpResponse.body;
104
95
  if (
105
96
  // Value of POSITIVE_INFINITY in streamResponseStatusCodes is considered as any status code
106
- request.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY) ||
107
- request.streamResponseStatusCodes?.has(response.status)) {
97
+ ((_a = request.streamResponseStatusCodes) === null || _a === void 0 ? void 0 : _a.has(Number.POSITIVE_INFINITY)) ||
98
+ ((_b = request.streamResponseStatusCodes) === null || _b === void 0 ? void 0 : _b.has(response.status))) {
108
99
  if (request.enableBrowserStreams) {
109
- response.browserStreamBody = bodyStream ?? undefined;
100
+ response.browserStreamBody = bodyStream !== null && bodyStream !== void 0 ? bodyStream : undefined;
110
101
  }
111
102
  else {
112
103
  const responseStream = new Response(bodyStream);
113
104
  response.blobBody = responseStream.blob();
114
- abortControllerCleanup?.();
105
+ abortControllerCleanup === null || abortControllerCleanup === void 0 ? void 0 : abortControllerCleanup();
115
106
  }
116
107
  }
117
108
  else {
118
109
  const responseStream = new Response(bodyStream);
119
110
  response.bodyAsText = await responseStream.text();
120
- abortControllerCleanup?.();
111
+ abortControllerCleanup === null || abortControllerCleanup === void 0 ? void 0 : abortControllerCleanup();
121
112
  }
122
113
  return response;
123
114
  }
@@ -140,8 +131,9 @@ function setupAbortSignal(request) {
140
131
  };
141
132
  request.abortSignal.addEventListener("abort", abortListener);
142
133
  abortControllerCleanup = () => {
134
+ var _a;
143
135
  if (abortListener) {
144
- request.abortSignal?.removeEventListener("abort", abortListener);
136
+ (_a = request.abortSignal) === null || _a === void 0 ? void 0 : _a.removeEventListener("abort", abortListener);
145
137
  }
146
138
  };
147
139
  }
@@ -158,12 +150,13 @@ function setupAbortSignal(request) {
158
150
  */
159
151
  // eslint-disable-next-line @azure/azure-sdk/ts-use-interface-parameters
160
152
  function getError(e, request) {
161
- if (e && e?.name === "AbortError") {
153
+ var _a;
154
+ if (e && (e === null || e === void 0 ? void 0 : e.name) === "AbortError") {
162
155
  return e;
163
156
  }
164
157
  else {
165
158
  return new restError_js_1.RestError(`Error sending request: ${e.message}`, {
166
- code: e?.code ?? restError_js_1.RestError.REQUEST_SEND_ERROR,
159
+ code: (_a = e === null || e === void 0 ? void 0 : e.code) !== null && _a !== void 0 ? _a : restError_js_1.RestError.REQUEST_SEND_ERROR,
167
160
  request,
168
161
  });
169
162
  }
@@ -219,7 +212,7 @@ function buildBodyStream(readableStream, options = {}) {
219
212
  }
220
213
  },
221
214
  flush() {
222
- onEnd?.();
215
+ onEnd === null || onEnd === void 0 ? void 0 : onEnd();
223
216
  },
224
217
  }));
225
218
  }
@@ -229,16 +222,17 @@ function buildBodyStream(readableStream, options = {}) {
229
222
  const reader = readableStream.getReader();
230
223
  return new ReadableStream({
231
224
  async pull(controller) {
225
+ var _a;
232
226
  const { done, value } = await reader.read();
233
227
  // When no more data needs to be consumed, break the reading
234
228
  if (done || !value) {
235
- onEnd?.();
229
+ onEnd === null || onEnd === void 0 ? void 0 : onEnd();
236
230
  // Close the stream
237
231
  controller.close();
238
232
  reader.releaseLock();
239
233
  return;
240
234
  }
241
- loadedBytes += value?.length ?? 0;
235
+ loadedBytes += (_a = value === null || value === void 0 ? void 0 : value.length) !== null && _a !== void 0 ? _a : 0;
242
236
  // Enqueue the next data chunk into our target stream
243
237
  controller.enqueue(value);
244
238
  if (onProgress) {
@@ -246,7 +240,7 @@ function buildBodyStream(readableStream, options = {}) {
246
240
  }
247
241
  },
248
242
  cancel(reason) {
249
- onEnd?.();
243
+ onEnd === null || onEnd === void 0 ? void 0 : onEnd();
250
244
  return reader.cancel(reason);
251
245
  },
252
246
  });
@@ -1 +1 @@
1
- {"version":3,"file":"fetchHttpClient.js","sourceRoot":"","sources":["../../src/fetchHttpClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { AbortError } from \"./abort-controller/AbortError.js\";\nimport {\n HttpClient,\n HttpHeaders as PipelineHeaders,\n PipelineRequest,\n PipelineResponse,\n TransferProgressEvent,\n} from \"./interfaces.js\";\nimport { RestError } from \"./restError.js\";\nimport { createHttpHeaders } from \"./httpHeaders.js\";\nimport { isNodeReadableStream, isReadableStream } from \"./util/typeGuards.js\";\n\n/**\n * Checks if the body is a Blob or Blob-like\n */\nfunction isBlob(body: unknown): body is Blob {\n // File objects count as a type of Blob, so we want to use instanceof explicitly\n return (typeof Blob === \"function\" || typeof Blob === \"object\") && body instanceof Blob;\n}\n\n/**\n * A HttpClient implementation that uses window.fetch to send HTTP requests.\n * @internal\n */\nclass FetchHttpClient implements HttpClient {\n /**\n * Makes a request over an underlying transport layer and returns the response.\n * @param request - The request to be made.\n */\n public async sendRequest(request: PipelineRequest): Promise<PipelineResponse> {\n const url = new URL(request.url);\n const isInsecure = url.protocol !== \"https:\";\n\n if (isInsecure && !request.allowInsecureConnection) {\n throw new Error(`Cannot connect to ${request.url} while allowInsecureConnection is false.`);\n }\n\n if (request.proxySettings) {\n throw new Error(\"HTTP proxy is not supported in browser environment\");\n }\n\n try {\n return await makeRequest(request);\n } catch (e: any) {\n throw getError(e, request);\n }\n }\n}\n\n/**\n * Sends a request\n */\nasync function makeRequest(request: PipelineRequest): Promise<PipelineResponse> {\n const { abortController, abortControllerCleanup } = setupAbortSignal(request);\n try {\n const headers = buildFetchHeaders(request.headers);\n const { streaming, body: requestBody } = buildRequestBody(request);\n const requestInit: RequestInit = {\n body: requestBody,\n method: request.method,\n headers: headers,\n signal: abortController.signal,\n // Cloudflare doesn't implement the full Fetch API spec\n // because of some of it doesn't make sense in the edge.\n // See https://github.com/cloudflare/workerd/issues/902\n ...(\"credentials\" in Request.prototype\n ? { credentials: request.withCredentials ? \"include\" : \"same-origin\" }\n : {}),\n ...(\"cache\" in Request.prototype ? { cache: \"no-store\" } : {}),\n };\n\n // According to https://fetch.spec.whatwg.org/#fetch-method,\n // init.duplex must be set when body is a ReadableStream object.\n // currently \"half\" is the only valid value.\n if (streaming) {\n (requestInit as any).duplex = \"half\";\n }\n /**\n * Developers of the future:\n * Do not set redirect: \"manual\" as part\n * of request options.\n * It will not work as you expect.\n */\n const response = await fetch(request.url, requestInit);\n // If we're uploading a blob, we need to fire the progress event manually\n if (isBlob(request.body) && request.onUploadProgress) {\n request.onUploadProgress({ loadedBytes: request.body.size });\n }\n return buildPipelineResponse(response, request, abortControllerCleanup);\n } catch (e) {\n abortControllerCleanup?.();\n throw e;\n }\n}\n\n/**\n * Creates a pipeline response from a Fetch response;\n */\nasync function buildPipelineResponse(\n httpResponse: Response,\n request: PipelineRequest,\n abortControllerCleanup?: () => void,\n): Promise<PipelineResponse> {\n const headers = buildPipelineHeaders(httpResponse);\n const response: PipelineResponse = {\n request,\n headers,\n status: httpResponse.status,\n };\n\n const bodyStream = isReadableStream(httpResponse.body)\n ? buildBodyStream(httpResponse.body, {\n onProgress: request.onDownloadProgress,\n onEnd: abortControllerCleanup,\n })\n : httpResponse.body;\n\n if (\n // Value of POSITIVE_INFINITY in streamResponseStatusCodes is considered as any status code\n request.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY) ||\n request.streamResponseStatusCodes?.has(response.status)\n ) {\n if (request.enableBrowserStreams) {\n response.browserStreamBody = bodyStream ?? undefined;\n } else {\n const responseStream = new Response(bodyStream);\n response.blobBody = responseStream.blob();\n abortControllerCleanup?.();\n }\n } else {\n const responseStream = new Response(bodyStream);\n\n response.bodyAsText = await responseStream.text();\n abortControllerCleanup?.();\n }\n\n return response;\n}\n\nfunction setupAbortSignal(request: PipelineRequest): {\n abortController: AbortController;\n abortControllerCleanup: (() => void) | undefined;\n} {\n const abortController = new AbortController();\n\n // Cleanup function\n let abortControllerCleanup: (() => void) | undefined;\n\n /**\n * Attach an abort listener to the request\n */\n let abortListener: ((event: any) => void) | undefined;\n if (request.abortSignal) {\n if (request.abortSignal.aborted) {\n throw new AbortError(\"The operation was aborted.\");\n }\n\n abortListener = (event: Event) => {\n if (event.type === \"abort\") {\n abortController.abort();\n }\n };\n request.abortSignal.addEventListener(\"abort\", abortListener);\n abortControllerCleanup = () => {\n if (abortListener) {\n request.abortSignal?.removeEventListener(\"abort\", abortListener);\n }\n };\n }\n\n // If a timeout was passed, call the abort signal once the time elapses\n if (request.timeout > 0) {\n setTimeout(() => {\n abortController.abort();\n }, request.timeout);\n }\n\n return { abortController, abortControllerCleanup };\n}\n\n/**\n * Gets the specific error\n */\n// eslint-disable-next-line @azure/azure-sdk/ts-use-interface-parameters\nfunction getError(e: RestError, request: PipelineRequest): RestError {\n if (e && e?.name === \"AbortError\") {\n return e;\n } else {\n return new RestError(`Error sending request: ${e.message}`, {\n code: e?.code ?? RestError.REQUEST_SEND_ERROR,\n request,\n });\n }\n}\n\n/**\n * Converts PipelineRequest headers to Fetch headers\n */\nfunction buildFetchHeaders(pipelineHeaders: PipelineHeaders): Headers {\n const headers = new Headers();\n for (const [name, value] of pipelineHeaders) {\n headers.append(name, value);\n }\n\n return headers;\n}\n\nfunction buildPipelineHeaders(httpResponse: Response): PipelineHeaders {\n const responseHeaders = createHttpHeaders();\n for (const [name, value] of httpResponse.headers) {\n responseHeaders.set(name, value);\n }\n\n return responseHeaders;\n}\n\nfunction buildRequestBody(request: PipelineRequest):\n | {\n streaming: boolean;\n body: ReadableStream<Uint8Array>;\n }\n | {\n streaming: boolean;\n body: string | Blob | ArrayBuffer | ArrayBufferView | FormData | null | undefined;\n } {\n const body = typeof request.body === \"function\" ? request.body() : request.body;\n if (isNodeReadableStream(body)) {\n throw new Error(\"Node streams are not supported in browser environment.\");\n }\n\n return isReadableStream(body)\n ? { streaming: true, body: buildBodyStream(body, { onProgress: request.onUploadProgress }) }\n : { streaming: false, body };\n}\n\n/**\n * Reads the request/response original stream and stream it through a new\n * ReadableStream, this is done to be able to report progress in a way that\n * all modern browsers support. TransformStreams would be an alternative,\n * however they are not yet supported by all browsers i.e Firefox\n */\nfunction buildBodyStream(\n readableStream: ReadableStream<Uint8Array>,\n options: { onProgress?: (progress: TransferProgressEvent) => void; onEnd?: () => void } = {},\n): ReadableStream<Uint8Array> {\n let loadedBytes = 0;\n const { onProgress, onEnd } = options;\n\n // If the current browser supports pipeThrough we use a TransformStream\n // to report progress\n if (isTransformStreamSupported(readableStream)) {\n return readableStream.pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n if (chunk === null) {\n controller.terminate();\n return;\n }\n\n controller.enqueue(chunk);\n loadedBytes += chunk.length;\n if (onProgress) {\n onProgress({ loadedBytes });\n }\n },\n flush() {\n onEnd?.();\n },\n }),\n );\n } else {\n // If we can't use transform streams, wrap the original stream in a new readable stream\n // and use pull to enqueue each chunk and report progress.\n const reader = readableStream.getReader();\n return new ReadableStream({\n async pull(controller) {\n const { done, value } = await reader.read();\n // When no more data needs to be consumed, break the reading\n if (done || !value) {\n onEnd?.();\n // Close the stream\n controller.close();\n reader.releaseLock();\n return;\n }\n\n loadedBytes += value?.length ?? 0;\n\n // Enqueue the next data chunk into our target stream\n controller.enqueue(value);\n\n if (onProgress) {\n onProgress({ loadedBytes });\n }\n },\n cancel(reason?: string) {\n onEnd?.();\n return reader.cancel(reason);\n },\n });\n }\n}\n\n/**\n * Create a new HttpClient instance for the browser environment.\n * @internal\n */\nexport function createFetchHttpClient(): HttpClient {\n return new FetchHttpClient();\n}\n\nfunction isTransformStreamSupported(readableStream: ReadableStream): boolean {\n return readableStream.pipeThrough !== undefined && self.TransformStream !== undefined;\n}\n"]}
1
+ {"version":3,"file":"fetchHttpClient.js","sourceRoot":"","sources":["../../src/fetchHttpClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { AbortError } from \"./abort-controller/AbortError.js\";\nimport {\n HttpClient,\n HttpHeaders as PipelineHeaders,\n PipelineRequest,\n PipelineResponse,\n TransferProgressEvent,\n} from \"./interfaces.js\";\nimport { RestError } from \"./restError.js\";\nimport { createHttpHeaders } from \"./httpHeaders.js\";\nimport { isNodeReadableStream, isReadableStream } from \"./util/typeGuards.js\";\n\n/**\n * Checks if the body is a Blob or Blob-like\n */\nfunction isBlob(body: unknown): body is Blob {\n // File objects count as a type of Blob, so we want to use instanceof explicitly\n return (typeof Blob === \"function\" || typeof Blob === \"object\") && body instanceof Blob;\n}\n\n/**\n * A HttpClient implementation that uses window.fetch to send HTTP requests.\n * @internal\n */\nclass FetchHttpClient implements HttpClient {\n /**\n * Makes a request over an underlying transport layer and returns the response.\n * @param request - The request to be made.\n */\n public async sendRequest(request: PipelineRequest): Promise<PipelineResponse> {\n const url = new URL(request.url);\n const isInsecure = url.protocol !== \"https:\";\n\n if (isInsecure && !request.allowInsecureConnection) {\n throw new Error(`Cannot connect to ${request.url} while allowInsecureConnection is false.`);\n }\n\n if (request.proxySettings) {\n throw new Error(\"HTTP proxy is not supported in browser environment\");\n }\n\n try {\n return await makeRequest(request);\n } catch (e: any) {\n throw getError(e, request);\n }\n }\n}\n\n/**\n * Sends a request\n */\nasync function makeRequest(request: PipelineRequest): Promise<PipelineResponse> {\n const { abortController, abortControllerCleanup } = setupAbortSignal(request);\n try {\n const headers = buildFetchHeaders(request.headers);\n const { streaming, body: requestBody } = buildRequestBody(request);\n const requestInit: RequestInit = {\n body: requestBody,\n method: request.method,\n headers: headers,\n signal: abortController.signal,\n // Cloudflare doesn't implement the full Fetch API spec\n // because of some of it doesn't make sense in the edge.\n // See https://github.com/cloudflare/workerd/issues/902\n ...(\"credentials\" in Request.prototype\n ? { credentials: request.withCredentials ? \"include\" : \"same-origin\" }\n : {}),\n ...(\"cache\" in Request.prototype ? { cache: \"no-store\" } : {}),\n };\n\n // According to https://fetch.spec.whatwg.org/#fetch-method,\n // init.duplex must be set when body is a ReadableStream object.\n // currently \"half\" is the only valid value.\n if (streaming) {\n (requestInit as any).duplex = \"half\";\n }\n /**\n * Developers of the future:\n * Do not set redirect: \"manual\" as part\n * of request options.\n * It will not work as you expect.\n */\n const response = await fetch(request.url, requestInit);\n // If we're uploading a blob, we need to fire the progress event manually\n if (isBlob(request.body) && request.onUploadProgress) {\n request.onUploadProgress({ loadedBytes: request.body.size });\n }\n return buildPipelineResponse(response, request, abortControllerCleanup);\n } catch (e) {\n abortControllerCleanup?.();\n throw e;\n }\n}\n\n/**\n * Creates a pipeline response from a Fetch response;\n */\nasync function buildPipelineResponse(\n httpResponse: Response,\n request: PipelineRequest,\n abortControllerCleanup?: () => void,\n): Promise<PipelineResponse> {\n const headers = buildPipelineHeaders(httpResponse);\n const response: PipelineResponse = {\n request,\n headers,\n status: httpResponse.status,\n };\n\n const bodyStream = isReadableStream(httpResponse.body)\n ? buildBodyStream(httpResponse.body, {\n onProgress: request.onDownloadProgress,\n onEnd: abortControllerCleanup,\n })\n : httpResponse.body;\n\n if (\n // Value of POSITIVE_INFINITY in streamResponseStatusCodes is considered as any status code\n request.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY) ||\n request.streamResponseStatusCodes?.has(response.status)\n ) {\n if (request.enableBrowserStreams) {\n response.browserStreamBody = bodyStream ?? undefined;\n } else {\n const responseStream = new Response(bodyStream);\n response.blobBody = responseStream.blob();\n abortControllerCleanup?.();\n }\n } else {\n const responseStream = new Response(bodyStream);\n\n response.bodyAsText = await responseStream.text();\n abortControllerCleanup?.();\n }\n\n return response;\n}\n\nfunction setupAbortSignal(request: PipelineRequest): {\n abortController: AbortController;\n abortControllerCleanup: (() => void) | undefined;\n} {\n const abortController = new AbortController();\n\n // Cleanup function\n let abortControllerCleanup: (() => void) | undefined;\n\n /**\n * Attach an abort listener to the request\n */\n let abortListener: ((event: any) => void) | undefined;\n if (request.abortSignal) {\n if (request.abortSignal.aborted) {\n throw new AbortError(\"The operation was aborted.\");\n }\n\n abortListener = (event: Event) => {\n if (event.type === \"abort\") {\n abortController.abort();\n }\n };\n request.abortSignal.addEventListener(\"abort\", abortListener);\n abortControllerCleanup = () => {\n if (abortListener) {\n request.abortSignal?.removeEventListener(\"abort\", abortListener);\n }\n };\n }\n\n // If a timeout was passed, call the abort signal once the time elapses\n if (request.timeout > 0) {\n setTimeout(() => {\n abortController.abort();\n }, request.timeout);\n }\n\n return { abortController, abortControllerCleanup };\n}\n\n/**\n * Gets the specific error\n */\n// eslint-disable-next-line @azure/azure-sdk/ts-use-interface-parameters\nfunction getError(e: RestError, request: PipelineRequest): RestError {\n if (e && e?.name === \"AbortError\") {\n return e;\n } else {\n return new RestError(`Error sending request: ${e.message}`, {\n code: e?.code ?? RestError.REQUEST_SEND_ERROR,\n request,\n });\n }\n}\n\n/**\n * Converts PipelineRequest headers to Fetch headers\n */\nfunction buildFetchHeaders(pipelineHeaders: PipelineHeaders): Headers {\n const headers = new Headers();\n for (const [name, value] of pipelineHeaders) {\n headers.append(name, value);\n }\n\n return headers;\n}\n\nfunction buildPipelineHeaders(httpResponse: Response): PipelineHeaders {\n const responseHeaders = createHttpHeaders();\n for (const [name, value] of httpResponse.headers) {\n responseHeaders.set(name, value);\n }\n\n return responseHeaders;\n}\n\nfunction buildRequestBody(request: PipelineRequest):\n | {\n streaming: boolean;\n body: ReadableStream<Uint8Array>;\n }\n | {\n streaming: boolean;\n body: string | Blob | ArrayBuffer | ArrayBufferView | FormData | null | undefined;\n } {\n const body = typeof request.body === \"function\" ? request.body() : request.body;\n if (isNodeReadableStream(body)) {\n throw new Error(\"Node streams are not supported in browser environment.\");\n }\n\n return isReadableStream(body)\n ? { streaming: true, body: buildBodyStream(body, { onProgress: request.onUploadProgress }) }\n : { streaming: false, body };\n}\n\n/**\n * Reads the request/response original stream and stream it through a new\n * ReadableStream, this is done to be able to report progress in a way that\n * all modern browsers support. TransformStreams would be an alternative,\n * however they are not yet supported by all browsers i.e Firefox\n */\nfunction buildBodyStream(\n readableStream: ReadableStream<Uint8Array>,\n options: { onProgress?: (progress: TransferProgressEvent) => void; onEnd?: () => void } = {},\n): ReadableStream<Uint8Array> {\n let loadedBytes = 0;\n const { onProgress, onEnd } = options;\n\n // If the current browser supports pipeThrough we use a TransformStream\n // to report progress\n if (isTransformStreamSupported(readableStream)) {\n return readableStream.pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n if (chunk === null) {\n controller.terminate();\n return;\n }\n\n controller.enqueue(chunk);\n loadedBytes += chunk.length;\n if (onProgress) {\n onProgress({ loadedBytes });\n }\n },\n flush() {\n onEnd?.();\n },\n }),\n );\n } else {\n // If we can't use transform streams, wrap the original stream in a new readable stream\n // and use pull to enqueue each chunk and report progress.\n const reader = readableStream.getReader();\n return new ReadableStream({\n async pull(controller) {\n const { done, value } = await reader.read();\n // When no more data needs to be consumed, break the reading\n if (done || !value) {\n onEnd?.();\n // Close the stream\n controller.close();\n reader.releaseLock();\n return;\n }\n\n loadedBytes += value?.length ?? 0;\n\n // Enqueue the next data chunk into our target stream\n controller.enqueue(value);\n\n if (onProgress) {\n onProgress({ loadedBytes });\n }\n },\n cancel(reason?: string) {\n onEnd?.();\n return reader.cancel(reason);\n },\n });\n }\n}\n\n/**\n * Create a new HttpClient instance for the browser environment.\n * @internal\n */\nexport function createFetchHttpClient(): HttpClient {\n return new FetchHttpClient();\n}\n\nfunction isTransformStreamSupported(readableStream: ReadableStream): boolean {\n return readableStream.pipeThrough !== undefined && self.TransformStream !== undefined;\n}\n"]}
@@ -12,7 +12,6 @@ function* headerIterator(map) {
12
12
  }
13
13
  }
14
14
  class HttpHeadersImpl {
15
- _headersMap;
16
15
  constructor(rawHeaders) {
17
16
  this._headersMap = new Map();
18
17
  if (rawHeaders) {
@@ -36,7 +35,8 @@ class HttpHeadersImpl {
36
35
  * @param name - The name of the header. This value is case-insensitive.
37
36
  */
38
37
  get(name) {
39
- return this._headersMap.get(normalizeName(name))?.value;
38
+ var _a;
39
+ return (_a = this._headersMap.get(normalizeName(name))) === null || _a === void 0 ? void 0 : _a.value;
40
40
  }
41
41
  /**
42
42
  * Get whether or not this header collection contains a header entry for the provided header name.
@@ -1 +1 @@
1
- {"version":3,"file":"httpHeaders.js","sourceRoot":"","sources":["../../src/httpHeaders.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AASlC,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC;AAED,QAAQ,CAAC,CAAC,cAAc,CAAC,GAA6B;IACpD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,MAAM,eAAe;IACF,WAAW,CAA2B;IAEvD,YAAY,UAAiD;QAC3D,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;QAClD,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,GAAG,CAAC,IAAY,EAAE,KAAgC;QACvD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACI,GAAG,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,IAAY;QACxB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,UAAsC,EAAE;QACpD,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACvD,MAAM,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YACvC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,QAAQ;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,UAAgC;IAChE,OAAO,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC;AAFD,8CAEC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { HttpHeaders, RawHttpHeaders, RawHttpHeadersInput } from \"./interfaces.js\";\n\ninterface HeaderEntry {\n name: string;\n value: string;\n}\n\nfunction normalizeName(name: string): string {\n return name.toLowerCase();\n}\n\nfunction* headerIterator(map: Map<string, HeaderEntry>): IterableIterator<[string, string]> {\n for (const entry of map.values()) {\n yield [entry.name, entry.value];\n }\n}\n\nclass HttpHeadersImpl implements HttpHeaders {\n private readonly _headersMap: Map<string, HeaderEntry>;\n\n constructor(rawHeaders?: RawHttpHeaders | RawHttpHeadersInput) {\n this._headersMap = new Map<string, HeaderEntry>();\n if (rawHeaders) {\n for (const headerName of Object.keys(rawHeaders)) {\n this.set(headerName, rawHeaders[headerName]);\n }\n }\n }\n\n /**\n * Set a header in this collection with the provided name and value. The name is\n * case-insensitive.\n * @param name - The name of the header to set. This value is case-insensitive.\n * @param value - The value of the header to set.\n */\n public set(name: string, value: string | number | boolean): void {\n this._headersMap.set(normalizeName(name), { name, value: String(value).trim() });\n }\n\n /**\n * Get the header value for the provided header name, or undefined if no header exists in this\n * collection with the provided name.\n * @param name - The name of the header. This value is case-insensitive.\n */\n public get(name: string): string | undefined {\n return this._headersMap.get(normalizeName(name))?.value;\n }\n\n /**\n * Get whether or not this header collection contains a header entry for the provided header name.\n * @param name - The name of the header to set. This value is case-insensitive.\n */\n public has(name: string): boolean {\n return this._headersMap.has(normalizeName(name));\n }\n\n /**\n * Remove the header with the provided headerName.\n * @param name - The name of the header to remove.\n */\n public delete(name: string): void {\n this._headersMap.delete(normalizeName(name));\n }\n\n /**\n * Get the JSON object representation of this HTTP header collection.\n */\n public toJSON(options: { preserveCase?: boolean } = {}): RawHttpHeaders {\n const result: RawHttpHeaders = {};\n if (options.preserveCase) {\n for (const entry of this._headersMap.values()) {\n result[entry.name] = entry.value;\n }\n } else {\n for (const [normalizedName, entry] of this._headersMap) {\n result[normalizedName] = entry.value;\n }\n }\n\n return result;\n }\n\n /**\n * Get the string representation of this HTTP header collection.\n */\n public toString(): string {\n return JSON.stringify(this.toJSON({ preserveCase: true }));\n }\n\n /**\n * Iterate over tuples of header [name, value] pairs.\n */\n [Symbol.iterator](): Iterator<[string, string]> {\n return headerIterator(this._headersMap);\n }\n}\n\n/**\n * Creates an object that satisfies the `HttpHeaders` interface.\n * @param rawHeaders - A simple object representing initial headers\n */\nexport function createHttpHeaders(rawHeaders?: RawHttpHeadersInput): HttpHeaders {\n return new HttpHeadersImpl(rawHeaders);\n}\n"]}
1
+ {"version":3,"file":"httpHeaders.js","sourceRoot":"","sources":["../../src/httpHeaders.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AASlC,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC;AAED,QAAQ,CAAC,CAAC,cAAc,CAAC,GAA6B;IACpD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,MAAM,eAAe;IAGnB,YAAY,UAAiD;QAC3D,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;QAClD,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,GAAG,CAAC,IAAY,EAAE,KAAgC;QACvD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,IAAY;;QACrB,OAAO,MAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,0CAAE,KAAK,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACI,GAAG,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,IAAY;QACxB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,UAAsC,EAAE;QACpD,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACvD,MAAM,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YACvC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,QAAQ;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,UAAgC;IAChE,OAAO,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC;AAFD,8CAEC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { HttpHeaders, RawHttpHeaders, RawHttpHeadersInput } from \"./interfaces.js\";\n\ninterface HeaderEntry {\n name: string;\n value: string;\n}\n\nfunction normalizeName(name: string): string {\n return name.toLowerCase();\n}\n\nfunction* headerIterator(map: Map<string, HeaderEntry>): IterableIterator<[string, string]> {\n for (const entry of map.values()) {\n yield [entry.name, entry.value];\n }\n}\n\nclass HttpHeadersImpl implements HttpHeaders {\n private readonly _headersMap: Map<string, HeaderEntry>;\n\n constructor(rawHeaders?: RawHttpHeaders | RawHttpHeadersInput) {\n this._headersMap = new Map<string, HeaderEntry>();\n if (rawHeaders) {\n for (const headerName of Object.keys(rawHeaders)) {\n this.set(headerName, rawHeaders[headerName]);\n }\n }\n }\n\n /**\n * Set a header in this collection with the provided name and value. The name is\n * case-insensitive.\n * @param name - The name of the header to set. This value is case-insensitive.\n * @param value - The value of the header to set.\n */\n public set(name: string, value: string | number | boolean): void {\n this._headersMap.set(normalizeName(name), { name, value: String(value).trim() });\n }\n\n /**\n * Get the header value for the provided header name, or undefined if no header exists in this\n * collection with the provided name.\n * @param name - The name of the header. This value is case-insensitive.\n */\n public get(name: string): string | undefined {\n return this._headersMap.get(normalizeName(name))?.value;\n }\n\n /**\n * Get whether or not this header collection contains a header entry for the provided header name.\n * @param name - The name of the header to set. This value is case-insensitive.\n */\n public has(name: string): boolean {\n return this._headersMap.has(normalizeName(name));\n }\n\n /**\n * Remove the header with the provided headerName.\n * @param name - The name of the header to remove.\n */\n public delete(name: string): void {\n this._headersMap.delete(normalizeName(name));\n }\n\n /**\n * Get the JSON object representation of this HTTP header collection.\n */\n public toJSON(options: { preserveCase?: boolean } = {}): RawHttpHeaders {\n const result: RawHttpHeaders = {};\n if (options.preserveCase) {\n for (const entry of this._headersMap.values()) {\n result[entry.name] = entry.value;\n }\n } else {\n for (const [normalizedName, entry] of this._headersMap) {\n result[normalizedName] = entry.value;\n }\n }\n\n return result;\n }\n\n /**\n * Get the string representation of this HTTP header collection.\n */\n public toString(): string {\n return JSON.stringify(this.toJSON({ preserveCase: true }));\n }\n\n /**\n * Iterate over tuples of header [name, value] pairs.\n */\n [Symbol.iterator](): Iterator<[string, string]> {\n return headerIterator(this._headersMap);\n }\n}\n\n/**\n * Creates an object that satisfies the `HttpHeaders` interface.\n * @param rawHeaders - A simple object representing initial headers\n */\nexport function createHttpHeaders(rawHeaders?: RawHttpHeadersInput): HttpHeaders {\n return new HttpHeadersImpl(rawHeaders);\n}\n"]}
@@ -45,7 +45,7 @@ export { createFile, createFileFromStream, CreateFileOptions, CreateFileFromStre
45
45
  export { computeSha256Hash, computeSha256Hmac } from "./util/sha256.js";
46
46
  export { isDefined, isObjectWithProperties, objectHasProperty } from "./util/typeGuards.js";
47
47
  export { randomUUID } from "./util/uuidUtils.js";
48
- export { isBrowser, isBun, isNode, isDeno, isReactNative, isWebWorker, } from "./util/checkEnvironment.js";
48
+ export { isBrowser, isBun, isNode, isNodeLike, isNodeRuntime, isDeno, isReactNative, isWebWorker, } from "./util/checkEnvironment.js";
49
49
  export { uint8ArrayToString, stringToUint8Array, EncodingType } from "./util/bytesEncoding.js";
50
50
  export { Debugger, TypeSpecRuntimeLogger, TypeSpecRuntimeLogLevel, TypeSpecRuntimeClientLogger, } from "./logger/logger.js";
51
51
  export { createRestError } from "./client/restError.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  // Licensed under the MIT license.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.isBun = exports.isBrowser = exports.randomUUID = exports.objectHasProperty = exports.isObjectWithProperties = exports.isDefined = exports.computeSha256Hmac = exports.computeSha256Hash = exports.createFileFromStream = exports.createFile = exports.getErrorMessage = exports.isError = exports.isObject = exports.getRandomIntegerInclusive = exports.createAbortablePromise = exports.cancelablePromiseRace = exports.delay = exports.createTracingClient = exports.useInstrumenter = exports.isKeyCredential = exports.AbortError = exports.bearerTokenAuthenticationPolicyName = exports.bearerTokenAuthenticationPolicy = exports.formDataPolicyName = exports.formDataPolicy = exports.tlsPolicyName = exports.tlsPolicy = exports.userAgentPolicyName = exports.userAgentPolicy = exports.defaultRetryPolicy = exports.tracingPolicyName = exports.tracingPolicy = exports.redirectPolicyName = exports.redirectPolicy = exports.getDefaultProxySettings = exports.proxyPolicyName = exports.proxyPolicy = exports.multipartPolicyName = exports.multipartPolicy = exports.logPolicyName = exports.logPolicy = exports.decompressResponsePolicyName = exports.decompressResponsePolicy = exports.isRestError = exports.RestError = exports.createPipelineRequest = exports.createHttpHeaders = exports.createDefaultHttpClient = exports.createPipelineFromOptions = exports.createEmptyPipeline = void 0;
6
- exports.operationOptionsToRequestParameters = exports.addCredentialPipelinePolicy = exports.createRestError = exports.TypeSpecRuntimeLogger = exports.stringToUint8Array = exports.uint8ArrayToString = exports.isWebWorker = exports.isReactNative = exports.isDeno = exports.isNode = void 0;
6
+ exports.operationOptionsToRequestParameters = exports.addCredentialPipelinePolicy = exports.createRestError = exports.TypeSpecRuntimeLogger = exports.stringToUint8Array = exports.uint8ArrayToString = exports.isWebWorker = exports.isReactNative = exports.isDeno = exports.isNodeRuntime = exports.isNodeLike = exports.isNode = void 0;
7
7
  const tslib_1 = require("tslib");
8
8
  var pipeline_js_1 = require("./pipeline.js");
9
9
  Object.defineProperty(exports, "createEmptyPipeline", { enumerable: true, get: function () { return pipeline_js_1.createEmptyPipeline; } });
@@ -89,6 +89,8 @@ var checkEnvironment_js_1 = require("./util/checkEnvironment.js");
89
89
  Object.defineProperty(exports, "isBrowser", { enumerable: true, get: function () { return checkEnvironment_js_1.isBrowser; } });
90
90
  Object.defineProperty(exports, "isBun", { enumerable: true, get: function () { return checkEnvironment_js_1.isBun; } });
91
91
  Object.defineProperty(exports, "isNode", { enumerable: true, get: function () { return checkEnvironment_js_1.isNode; } });
92
+ Object.defineProperty(exports, "isNodeLike", { enumerable: true, get: function () { return checkEnvironment_js_1.isNodeLike; } });
93
+ Object.defineProperty(exports, "isNodeRuntime", { enumerable: true, get: function () { return checkEnvironment_js_1.isNodeRuntime; } });
92
94
  Object.defineProperty(exports, "isDeno", { enumerable: true, get: function () { return checkEnvironment_js_1.isDeno; } });
93
95
  Object.defineProperty(exports, "isReactNative", { enumerable: true, get: function () { return checkEnvironment_js_1.isReactNative; } });
94
96
  Object.defineProperty(exports, "isWebWorker", { enumerable: true, get: function () { return checkEnvironment_js_1.isWebWorker; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;AAkClC,6CAMuB;AADrB,kHAAA,mBAAmB,OAAA;AAErB,+EAKwC;AAJtC,yIAAA,yBAAyB,OAAA;AAK3B,+DAAiE;AAAxD,+HAAA,uBAAuB,OAAA;AAChC,mDAAqD;AAA5C,mHAAA,iBAAiB,OAAA;AAC1B,2DAAqF;AAA5E,2HAAA,qBAAqB,OAAA;AAC9B,+CAA0E;AAAjE,yGAAA,SAAS,OAAA;AAAoB,2GAAA,WAAW,OAAA;AACjD,sFAGgD;AAF9C,uIAAA,wBAAwB,OAAA;AACxB,2IAAA,4BAA4B,OAAA;AAE9B,wDAAqF;AAA5E,yGAAA,SAAS,OAAA;AAAE,6GAAA,aAAa,OAAA;AACjC,oEAAqF;AAA5E,qHAAA,eAAe,OAAA;AAAE,yHAAA,mBAAmB,OAAA;AAC7C,4DAAkG;AAAzF,6GAAA,WAAW,OAAA;AAAE,iHAAA,eAAe,OAAA;AAAE,yHAAA,uBAAuB,OAAA;AAC9D,kEAIsC;AAHpC,mHAAA,cAAc,OAAA;AACd,uHAAA,kBAAkB,OAAA;AAGpB,gEAIqC;AAHnC,iHAAA,aAAa,OAAA;AACb,qHAAA,iBAAiB,OAAA;AAGnB,0EAAiG;AAAxF,2HAAA,kBAAkB,OAAA;AAC3B,oEAIuC;AAHrC,qHAAA,eAAe,OAAA;AACf,yHAAA,mBAAmB,OAAA;AAGrB,wDAAmE;AAA1D,yGAAA,SAAS,OAAA;AAAE,6GAAA,aAAa,OAAA;AACjC,kEAAkF;AAAzE,mHAAA,cAAc,OAAA;AAAE,uHAAA,kBAAkB,OAAA;AAC3C,oGAOuD;AANrD,qJAAA,+BAA+B,OAAA;AAE/B,yJAAA,mCAAmC,OAAA;AAMrC,kEAA8D;AAArD,2GAAA,UAAU,OAAA;AAEnB,4DAAyE;AAAjD,mHAAA,eAAe,OAAA;AAkBvC,6DAA4D;AAAnD,kHAAA,eAAe,OAAA;AACxB,+DAAiE;AAAxD,uHAAA,mBAAmB,OAAA;AAC5B,iBAAiB;AACjB,4CAAsD;AAA7C,iGAAA,KAAK,OAAA;AACd,0DAIgC;AAF9B,wHAAA,qBAAqB,OAAA;AAGvB,8EAG0C;AAFxC,mIAAA,sBAAsB,OAAA;AAGxB,8CAA6D;AAApD,sHAAA,yBAAyB,OAAA;AAClC,8CAA2D;AAAlD,qGAAA,QAAQ,OAAA;AACjB,4CAA2D;AAAlD,mGAAA,OAAO,OAAA;AAAE,2GAAA,eAAe,OAAA;AACjC,0CAKwB;AAJtB,qGAAA,UAAU,OAAA;AACV,+GAAA,oBAAoB,OAAA;AAItB,8CAAwE;AAA/D,8GAAA,iBAAiB,OAAA;AAAE,8GAAA,iBAAiB,OAAA;AAC7C,sDAA4F;AAAnF,0GAAA,SAAS,OAAA;AAAE,uHAAA,sBAAsB,OAAA;AAAE,kHAAA,iBAAiB,OAAA;AAC7D,oDAAiD;AAAxC,0GAAA,UAAU,OAAA;AACnB,kEAOoC;AANlC,gHAAA,SAAS,OAAA;AACT,4GAAA,KAAK,OAAA;AACL,6GAAA,MAAM,OAAA;AACN,6GAAA,MAAM,OAAA;AACN,oHAAA,aAAa,OAAA;AACb,kHAAA,WAAW,OAAA;AAEb,4DAA+F;AAAtF,sHAAA,kBAAkB,OAAA;AAAE,sHAAA,kBAAkB,OAAA;AAC/C,gDAK4B;AAH1B,kHAAA,qBAAqB,OAAA;AAIvB,SAAS;AACT,sDAAwD;AAA/C,+GAAA,eAAe,OAAA;AACxB,8DAGmC;AAFjC,+HAAA,2BAA2B,OAAA;AAG7B,gFAAyF;AAAhF,gJAAA,mCAAmC,OAAA;AAC5C,gEAAsC;AACtC,6DAAmC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\ndeclare global {\n interface FormData {}\n interface Blob {}\n interface File {}\n interface ReadableStream<R = any> {}\n interface TransformStream<I = any, O = any> {}\n}\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\nexport {\n Agent,\n BodyPart,\n FormDataMap,\n FormDataValue,\n HttpClient,\n HttpHeaders,\n HttpMethods,\n KeyObject,\n MultipartRequestBody,\n PipelineRequest,\n PipelineResponse,\n PipelineRetryOptions,\n ProxySettings,\n PxfObject,\n RawHttpHeaders,\n RawHttpHeadersInput,\n RequestBodyType,\n SendRequest,\n TlsSettings,\n TransferProgressEvent,\n} from \"./interfaces.js\";\nexport {\n AddPolicyOptions as AddPipelineOptions,\n PipelinePhase,\n PipelinePolicy,\n Pipeline,\n createEmptyPipeline,\n} from \"./pipeline.js\";\nexport {\n createPipelineFromOptions,\n TelemetryOptions,\n InternalPipelineOptions,\n PipelineOptions,\n} from \"./createPipelineFromOptions.js\";\nexport { createDefaultHttpClient } from \"./defaultHttpClient.js\";\nexport { createHttpHeaders } from \"./httpHeaders.js\";\nexport { createPipelineRequest, PipelineRequestOptions } from \"./pipelineRequest.js\";\nexport { RestError, RestErrorOptions, isRestError } from \"./restError.js\";\nexport {\n decompressResponsePolicy,\n decompressResponsePolicyName,\n} from \"./policies/decompressResponsePolicy.js\";\nexport { logPolicy, logPolicyName, LogPolicyOptions } from \"./policies/logPolicy.js\";\nexport { multipartPolicy, multipartPolicyName } from \"./policies/multipartPolicy.js\";\nexport { proxyPolicy, proxyPolicyName, getDefaultProxySettings } from \"./policies/proxyPolicy.js\";\nexport {\n redirectPolicy,\n redirectPolicyName,\n RedirectPolicyOptions,\n} from \"./policies/redirectPolicy.js\";\nexport {\n tracingPolicy,\n tracingPolicyName,\n TracingPolicyOptions,\n} from \"./policies/tracingPolicy.js\";\nexport { defaultRetryPolicy, DefaultRetryPolicyOptions } from \"./policies/defaultRetryPolicy.js\";\nexport {\n userAgentPolicy,\n userAgentPolicyName,\n UserAgentPolicyOptions,\n} from \"./policies/userAgentPolicy.js\";\nexport { tlsPolicy, tlsPolicyName } from \"./policies/tlsPolicy.js\";\nexport { formDataPolicy, formDataPolicyName } from \"./policies/formDataPolicy.js\";\nexport {\n bearerTokenAuthenticationPolicy,\n BearerTokenAuthenticationPolicyOptions,\n bearerTokenAuthenticationPolicyName,\n ChallengeCallbacks,\n AuthorizeRequestOptions,\n AuthorizeRequestOnChallengeOptions,\n} from \"./policies/bearerTokenAuthenticationPolicy.js\";\nexport { AbortSignalLike } from \"./abort-controller/AbortSignalLike.js\";\nexport { AbortError } from \"./abort-controller/AbortError.js\";\nexport { AccessToken, GetTokenOptions, TokenCredential } from \"./auth/tokenCredential.js\";\nexport { KeyCredential, isKeyCredential } from \"./auth/keyCredential.js\";\nexport {\n Instrumenter,\n InstrumenterSpanOptions,\n OperationTracingOptions,\n OptionsWithTracingContext,\n Resolved,\n SpanStatus,\n SpanStatusError,\n SpanStatusSuccess,\n TracingClient,\n TracingClientOptions,\n TracingContext,\n TracingSpan,\n TracingSpanKind,\n TracingSpanLink,\n TracingSpanOptions,\n} from \"./tracing/interfaces.js\";\nexport { useInstrumenter } from \"./tracing/instrumenter.js\";\nexport { createTracingClient } from \"./tracing/tracingClient.js\";\n// from core-util\nexport { delay, DelayOptions } from \"./util/delay.js\";\nexport {\n AbortOptions,\n cancelablePromiseRace,\n AbortablePromiseBuilder,\n} from \"./util/aborterUtils.js\";\nexport {\n createAbortablePromise,\n CreateAbortablePromiseOptions,\n} from \"./util/createAbortablePromise.js\";\nexport { getRandomIntegerInclusive } from \"./util/random.js\";\nexport { isObject, UnknownObject } from \"./util/object.js\";\nexport { isError, getErrorMessage } from \"./util/error.js\";\nexport {\n createFile,\n createFileFromStream,\n CreateFileOptions,\n CreateFileFromStreamOptions,\n} from \"./util/file.js\";\nexport { computeSha256Hash, computeSha256Hmac } from \"./util/sha256.js\";\nexport { isDefined, isObjectWithProperties, objectHasProperty } from \"./util/typeGuards.js\";\nexport { randomUUID } from \"./util/uuidUtils.js\";\nexport {\n isBrowser,\n isBun,\n isNode,\n isDeno,\n isReactNative,\n isWebWorker,\n} from \"./util/checkEnvironment.js\";\nexport { uint8ArrayToString, stringToUint8Array, EncodingType } from \"./util/bytesEncoding.js\";\nexport {\n Debugger,\n TypeSpecRuntimeLogger,\n TypeSpecRuntimeLogLevel,\n TypeSpecRuntimeClientLogger,\n} from \"./logger/logger.js\";\n// client\nexport { createRestError } from \"./client/restError.js\";\nexport {\n addCredentialPipelinePolicy,\n AddCredentialPipelinePolicyOptions,\n} from \"./client/clientHelpers.js\";\nexport { operationOptionsToRequestParameters } from \"./client/operationOptionHelpers.js\";\nexport * from \"./client/getClient.js\";\nexport * from \"./client/common.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;AAkClC,6CAMuB;AADrB,kHAAA,mBAAmB,OAAA;AAErB,+EAKwC;AAJtC,yIAAA,yBAAyB,OAAA;AAK3B,+DAAiE;AAAxD,+HAAA,uBAAuB,OAAA;AAChC,mDAAqD;AAA5C,mHAAA,iBAAiB,OAAA;AAC1B,2DAAqF;AAA5E,2HAAA,qBAAqB,OAAA;AAC9B,+CAA0E;AAAjE,yGAAA,SAAS,OAAA;AAAoB,2GAAA,WAAW,OAAA;AACjD,sFAGgD;AAF9C,uIAAA,wBAAwB,OAAA;AACxB,2IAAA,4BAA4B,OAAA;AAE9B,wDAAqF;AAA5E,yGAAA,SAAS,OAAA;AAAE,6GAAA,aAAa,OAAA;AACjC,oEAAqF;AAA5E,qHAAA,eAAe,OAAA;AAAE,yHAAA,mBAAmB,OAAA;AAC7C,4DAAkG;AAAzF,6GAAA,WAAW,OAAA;AAAE,iHAAA,eAAe,OAAA;AAAE,yHAAA,uBAAuB,OAAA;AAC9D,kEAIsC;AAHpC,mHAAA,cAAc,OAAA;AACd,uHAAA,kBAAkB,OAAA;AAGpB,gEAIqC;AAHnC,iHAAA,aAAa,OAAA;AACb,qHAAA,iBAAiB,OAAA;AAGnB,0EAAiG;AAAxF,2HAAA,kBAAkB,OAAA;AAC3B,oEAIuC;AAHrC,qHAAA,eAAe,OAAA;AACf,yHAAA,mBAAmB,OAAA;AAGrB,wDAAmE;AAA1D,yGAAA,SAAS,OAAA;AAAE,6GAAA,aAAa,OAAA;AACjC,kEAAkF;AAAzE,mHAAA,cAAc,OAAA;AAAE,uHAAA,kBAAkB,OAAA;AAC3C,oGAOuD;AANrD,qJAAA,+BAA+B,OAAA;AAE/B,yJAAA,mCAAmC,OAAA;AAMrC,kEAA8D;AAArD,2GAAA,UAAU,OAAA;AAEnB,4DAAyE;AAAjD,mHAAA,eAAe,OAAA;AAkBvC,6DAA4D;AAAnD,kHAAA,eAAe,OAAA;AACxB,+DAAiE;AAAxD,uHAAA,mBAAmB,OAAA;AAC5B,iBAAiB;AACjB,4CAAsD;AAA7C,iGAAA,KAAK,OAAA;AACd,0DAIgC;AAF9B,wHAAA,qBAAqB,OAAA;AAGvB,8EAG0C;AAFxC,mIAAA,sBAAsB,OAAA;AAGxB,8CAA6D;AAApD,sHAAA,yBAAyB,OAAA;AAClC,8CAA2D;AAAlD,qGAAA,QAAQ,OAAA;AACjB,4CAA2D;AAAlD,mGAAA,OAAO,OAAA;AAAE,2GAAA,eAAe,OAAA;AACjC,0CAKwB;AAJtB,qGAAA,UAAU,OAAA;AACV,+GAAA,oBAAoB,OAAA;AAItB,8CAAwE;AAA/D,8GAAA,iBAAiB,OAAA;AAAE,8GAAA,iBAAiB,OAAA;AAC7C,sDAA4F;AAAnF,0GAAA,SAAS,OAAA;AAAE,uHAAA,sBAAsB,OAAA;AAAE,kHAAA,iBAAiB,OAAA;AAC7D,oDAAiD;AAAxC,0GAAA,UAAU,OAAA;AACnB,kEASoC;AARlC,gHAAA,SAAS,OAAA;AACT,4GAAA,KAAK,OAAA;AACL,6GAAA,MAAM,OAAA;AACN,iHAAA,UAAU,OAAA;AACV,oHAAA,aAAa,OAAA;AACb,6GAAA,MAAM,OAAA;AACN,oHAAA,aAAa,OAAA;AACb,kHAAA,WAAW,OAAA;AAEb,4DAA+F;AAAtF,sHAAA,kBAAkB,OAAA;AAAE,sHAAA,kBAAkB,OAAA;AAC/C,gDAK4B;AAH1B,kHAAA,qBAAqB,OAAA;AAIvB,SAAS;AACT,sDAAwD;AAA/C,+GAAA,eAAe,OAAA;AACxB,8DAGmC;AAFjC,+HAAA,2BAA2B,OAAA;AAG7B,gFAAyF;AAAhF,gJAAA,mCAAmC,OAAA;AAC5C,gEAAsC;AACtC,6DAAmC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\ndeclare global {\n interface FormData {}\n interface Blob {}\n interface File {}\n interface ReadableStream<R = any> {}\n interface TransformStream<I = any, O = any> {}\n}\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\nexport {\n Agent,\n BodyPart,\n FormDataMap,\n FormDataValue,\n HttpClient,\n HttpHeaders,\n HttpMethods,\n KeyObject,\n MultipartRequestBody,\n PipelineRequest,\n PipelineResponse,\n PipelineRetryOptions,\n ProxySettings,\n PxfObject,\n RawHttpHeaders,\n RawHttpHeadersInput,\n RequestBodyType,\n SendRequest,\n TlsSettings,\n TransferProgressEvent,\n} from \"./interfaces.js\";\nexport {\n AddPolicyOptions as AddPipelineOptions,\n PipelinePhase,\n PipelinePolicy,\n Pipeline,\n createEmptyPipeline,\n} from \"./pipeline.js\";\nexport {\n createPipelineFromOptions,\n TelemetryOptions,\n InternalPipelineOptions,\n PipelineOptions,\n} from \"./createPipelineFromOptions.js\";\nexport { createDefaultHttpClient } from \"./defaultHttpClient.js\";\nexport { createHttpHeaders } from \"./httpHeaders.js\";\nexport { createPipelineRequest, PipelineRequestOptions } from \"./pipelineRequest.js\";\nexport { RestError, RestErrorOptions, isRestError } from \"./restError.js\";\nexport {\n decompressResponsePolicy,\n decompressResponsePolicyName,\n} from \"./policies/decompressResponsePolicy.js\";\nexport { logPolicy, logPolicyName, LogPolicyOptions } from \"./policies/logPolicy.js\";\nexport { multipartPolicy, multipartPolicyName } from \"./policies/multipartPolicy.js\";\nexport { proxyPolicy, proxyPolicyName, getDefaultProxySettings } from \"./policies/proxyPolicy.js\";\nexport {\n redirectPolicy,\n redirectPolicyName,\n RedirectPolicyOptions,\n} from \"./policies/redirectPolicy.js\";\nexport {\n tracingPolicy,\n tracingPolicyName,\n TracingPolicyOptions,\n} from \"./policies/tracingPolicy.js\";\nexport { defaultRetryPolicy, DefaultRetryPolicyOptions } from \"./policies/defaultRetryPolicy.js\";\nexport {\n userAgentPolicy,\n userAgentPolicyName,\n UserAgentPolicyOptions,\n} from \"./policies/userAgentPolicy.js\";\nexport { tlsPolicy, tlsPolicyName } from \"./policies/tlsPolicy.js\";\nexport { formDataPolicy, formDataPolicyName } from \"./policies/formDataPolicy.js\";\nexport {\n bearerTokenAuthenticationPolicy,\n BearerTokenAuthenticationPolicyOptions,\n bearerTokenAuthenticationPolicyName,\n ChallengeCallbacks,\n AuthorizeRequestOptions,\n AuthorizeRequestOnChallengeOptions,\n} from \"./policies/bearerTokenAuthenticationPolicy.js\";\nexport { AbortSignalLike } from \"./abort-controller/AbortSignalLike.js\";\nexport { AbortError } from \"./abort-controller/AbortError.js\";\nexport { AccessToken, GetTokenOptions, TokenCredential } from \"./auth/tokenCredential.js\";\nexport { KeyCredential, isKeyCredential } from \"./auth/keyCredential.js\";\nexport {\n Instrumenter,\n InstrumenterSpanOptions,\n OperationTracingOptions,\n OptionsWithTracingContext,\n Resolved,\n SpanStatus,\n SpanStatusError,\n SpanStatusSuccess,\n TracingClient,\n TracingClientOptions,\n TracingContext,\n TracingSpan,\n TracingSpanKind,\n TracingSpanLink,\n TracingSpanOptions,\n} from \"./tracing/interfaces.js\";\nexport { useInstrumenter } from \"./tracing/instrumenter.js\";\nexport { createTracingClient } from \"./tracing/tracingClient.js\";\n// from core-util\nexport { delay, DelayOptions } from \"./util/delay.js\";\nexport {\n AbortOptions,\n cancelablePromiseRace,\n AbortablePromiseBuilder,\n} from \"./util/aborterUtils.js\";\nexport {\n createAbortablePromise,\n CreateAbortablePromiseOptions,\n} from \"./util/createAbortablePromise.js\";\nexport { getRandomIntegerInclusive } from \"./util/random.js\";\nexport { isObject, UnknownObject } from \"./util/object.js\";\nexport { isError, getErrorMessage } from \"./util/error.js\";\nexport {\n createFile,\n createFileFromStream,\n CreateFileOptions,\n CreateFileFromStreamOptions,\n} from \"./util/file.js\";\nexport { computeSha256Hash, computeSha256Hmac } from \"./util/sha256.js\";\nexport { isDefined, isObjectWithProperties, objectHasProperty } from \"./util/typeGuards.js\";\nexport { randomUUID } from \"./util/uuidUtils.js\";\nexport {\n isBrowser,\n isBun,\n isNode,\n isNodeLike,\n isNodeRuntime,\n isDeno,\n isReactNative,\n isWebWorker,\n} from \"./util/checkEnvironment.js\";\nexport { uint8ArrayToString, stringToUint8Array, EncodingType } from \"./util/bytesEncoding.js\";\nexport {\n Debugger,\n TypeSpecRuntimeLogger,\n TypeSpecRuntimeLogLevel,\n TypeSpecRuntimeClientLogger,\n} from \"./logger/logger.js\";\n// client\nexport { createRestError } from \"./client/restError.js\";\nexport {\n addCredentialPipelinePolicy,\n AddCredentialPipelinePolicyOptions,\n} from \"./client/clientHelpers.js\";\nexport { operationOptionsToRequestParameters } from \"./client/operationOptionHelpers.js\";\nexport * from \"./client/getClient.js\";\nexport * from \"./client/common.js\";\n"]}