@typespec/ts-http-runtime 0.3.5 → 0.3.7

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 (477) hide show
  1. package/dist/browser/auth/credentials.js.map +1 -1
  2. package/dist/browser/auth/oauth2Flows.js.map +1 -1
  3. package/dist/browser/client/clientHelpers.js +1 -1
  4. package/dist/browser/client/clientHelpers.js.map +1 -1
  5. package/dist/browser/client/common.d.ts +3 -2
  6. package/dist/browser/client/common.js.map +1 -1
  7. package/dist/browser/client/getClient.js +1 -1
  8. package/dist/browser/client/getClient.js.map +1 -1
  9. package/dist/browser/client/multipart.js +1 -1
  10. package/dist/browser/client/multipart.js.map +1 -1
  11. package/dist/browser/client/restError.js +5 -4
  12. package/dist/browser/client/restError.js.map +1 -1
  13. package/dist/browser/client/sendRequest.js +13 -10
  14. package/dist/browser/client/sendRequest.js.map +1 -1
  15. package/dist/browser/constants.js +1 -1
  16. package/dist/browser/constants.js.map +1 -1
  17. package/dist/browser/createPipelineFromOptions.d.ts +1 -1
  18. package/dist/browser/createPipelineFromOptions.js +2 -21
  19. package/dist/browser/createPipelineFromOptions.js.map +1 -1
  20. package/dist/browser/{defaultHttpClient.d.ts → defaultHttpClient-browser.d.mts} +1 -1
  21. package/dist/browser/{defaultHttpClient.js → defaultHttpClient-browser.mjs} +1 -1
  22. package/dist/browser/defaultHttpClient-browser.mjs.map +1 -0
  23. package/dist/browser/encoding.d.ts +13 -0
  24. package/dist/browser/encoding.js +19 -0
  25. package/dist/browser/encoding.js.map +1 -0
  26. package/dist/{commonjs/util/checkEnvironment.d.ts → browser/env-browser.d.mts} +21 -1
  27. package/dist/{esm/util/checkEnvironment.js → browser/env-browser.mjs} +26 -12
  28. package/dist/browser/env-browser.mjs.map +1 -0
  29. package/dist/browser/formData-web.d.mts +9 -0
  30. package/dist/browser/formData-web.mjs +12 -0
  31. package/dist/browser/formData-web.mjs.map +1 -0
  32. package/dist/browser/httpHeaders.js +11 -1
  33. package/dist/browser/httpHeaders.js.map +1 -1
  34. package/dist/browser/index.d.ts +3 -14
  35. package/dist/browser/index.js +2 -2
  36. package/dist/browser/index.js.map +1 -1
  37. package/dist/browser/interfaces.d.ts +15 -14
  38. package/dist/browser/interfaces.js.map +1 -1
  39. package/dist/browser/logger/debug.js +3 -2
  40. package/dist/browser/logger/debug.js.map +1 -1
  41. package/dist/{react-native/logger/log.d.ts → browser/logger/log-web.d.mts} +1 -1
  42. package/dist/browser/logger/{log.js → log-web.mjs} +1 -1
  43. package/dist/browser/logger/log-web.mjs.map +1 -0
  44. package/dist/browser/logger/logger.js +2 -2
  45. package/dist/browser/logger/logger.js.map +1 -1
  46. package/dist/browser/pipelineRequest.js.map +1 -1
  47. package/dist/browser/policies/auth/basicAuthenticationPolicy.js +1 -1
  48. package/dist/browser/policies/auth/basicAuthenticationPolicy.js.map +1 -1
  49. package/dist/browser/policies/auth/checkInsecureConnection.js +3 -2
  50. package/dist/browser/policies/auth/checkInsecureConnection.js.map +1 -1
  51. package/dist/browser/policies/{decompressResponsePolicy.d.ts → decompressResponsePolicy-web.d.mts} +1 -1
  52. package/dist/browser/policies/{decompressResponsePolicy.js → decompressResponsePolicy-web.mjs} +1 -1
  53. package/dist/browser/policies/decompressResponsePolicy-web.mjs.map +1 -0
  54. package/dist/browser/policies/formDataPolicy.js +5 -12
  55. package/dist/browser/policies/formDataPolicy.js.map +1 -1
  56. package/dist/browser/policies/internal.d.ts +2 -2
  57. package/dist/browser/policies/internal.js +2 -2
  58. package/dist/browser/policies/internal.js.map +1 -1
  59. package/dist/browser/policies/logPolicy.js +1 -1
  60. package/dist/browser/policies/logPolicy.js.map +1 -1
  61. package/dist/browser/policies/multipartPolicy.js +6 -2
  62. package/dist/browser/policies/multipartPolicy.js.map +1 -1
  63. package/dist/browser/policies/platformPolicies-web.d.mts +10 -0
  64. package/dist/browser/policies/platformPolicies-web.mjs +12 -0
  65. package/dist/browser/policies/platformPolicies-web.mjs.map +1 -0
  66. package/dist/browser/policies/platformPolicies.d.ts +25 -0
  67. package/dist/browser/policies/platformPolicies.js +30 -0
  68. package/dist/browser/policies/platformPolicies.js.map +1 -0
  69. package/dist/browser/policies/proxyPolicy-web.d.mts +2 -0
  70. package/dist/{react-native/policies/proxyPolicy.js → browser/policies/proxyPolicy-web.mjs} +1 -1
  71. package/dist/browser/policies/proxyPolicy-web.mjs.map +1 -0
  72. package/dist/browser/restError.js +1 -1
  73. package/dist/browser/restError.js.map +1 -1
  74. package/dist/browser/types-browser.d.mts +19 -0
  75. package/dist/browser/types-browser.mjs +4 -0
  76. package/dist/browser/types-browser.mjs.map +1 -0
  77. package/dist/browser/util/bytesEncoding-web.d.mts +2 -0
  78. package/dist/{react-native/util/bytesEncoding.js → browser/util/bytesEncoding-web.mjs} +1 -1
  79. package/dist/browser/util/bytesEncoding-web.mjs.map +1 -0
  80. package/dist/browser/util/bytesEncoding.common.d.ts +4 -4
  81. package/dist/browser/util/bytesEncoding.common.js +3 -4
  82. package/dist/browser/util/bytesEncoding.common.js.map +1 -1
  83. package/dist/browser/util/concat-browser.d.mts +16 -0
  84. package/dist/browser/util/{concat.js → concat-browser.mjs} +4 -11
  85. package/dist/browser/util/concat-browser.mjs.map +1 -0
  86. package/dist/browser/util/inspect-web.d.mts +2 -0
  87. package/dist/{react-native/util/inspect.js → browser/util/inspect-web.mjs} +1 -1
  88. package/dist/browser/util/inspect-web.mjs.map +1 -0
  89. package/dist/browser/util/internal.d.ts +3 -3
  90. package/dist/browser/util/internal.js +3 -3
  91. package/dist/browser/util/internal.js.map +1 -1
  92. package/dist/browser/util/sha256-web.d.mts +2 -0
  93. package/dist/{react-native/util/sha256.js → browser/util/sha256-web.mjs} +1 -1
  94. package/dist/browser/util/sha256-web.mjs.map +1 -0
  95. package/dist/browser/util/sha256.common.js +1 -1
  96. package/dist/browser/util/sha256.common.js.map +1 -1
  97. package/dist/browser/util/typeGuards-browser.d.mts +14 -0
  98. package/dist/browser/util/typeGuards-browser.mjs +26 -0
  99. package/dist/browser/util/typeGuards-browser.mjs.map +1 -0
  100. package/dist/browser/util/typeGuards.d.ts +5 -4
  101. package/dist/browser/util/typeGuards.js +4 -10
  102. package/dist/browser/util/typeGuards.js.map +1 -1
  103. package/dist/browser/util/userAgent.d.ts +2 -0
  104. package/dist/browser/util/userAgent.js +2 -1
  105. package/dist/browser/util/userAgent.js.map +1 -1
  106. package/dist/browser/util/{userAgentPlatform.d.ts → userAgentPlatform-browser.d.mts} +1 -1
  107. package/dist/browser/util/{userAgentPlatform.js → userAgentPlatform-browser.mjs} +1 -1
  108. package/dist/browser/util/userAgentPlatform-browser.mjs.map +1 -0
  109. package/dist/browser/util/uuidUtils.js +1 -6
  110. package/dist/browser/util/uuidUtils.js.map +1 -1
  111. package/dist/commonjs/auth/credentials.js.map +2 -2
  112. package/dist/commonjs/auth/oauth2Flows.js.map +1 -1
  113. package/dist/commonjs/client/clientHelpers.js +2 -2
  114. package/dist/commonjs/client/clientHelpers.js.map +2 -2
  115. package/dist/commonjs/client/common.d.ts +3 -2
  116. package/dist/commonjs/client/common.js.map +1 -1
  117. package/dist/commonjs/client/getClient.js +3 -3
  118. package/dist/commonjs/client/getClient.js.map +2 -2
  119. package/dist/commonjs/client/multipart.js.map +1 -1
  120. package/dist/commonjs/client/restError.js +5 -4
  121. package/dist/commonjs/client/restError.js.map +2 -2
  122. package/dist/commonjs/client/sendRequest.js +26 -8
  123. package/dist/commonjs/client/sendRequest.js.map +2 -2
  124. package/dist/commonjs/constants.js +1 -1
  125. package/dist/commonjs/constants.js.map +1 -1
  126. package/dist/commonjs/createPipelineFromOptions.d.ts +1 -1
  127. package/dist/commonjs/createPipelineFromOptions.js +2 -19
  128. package/dist/commonjs/createPipelineFromOptions.js.map +2 -2
  129. package/dist/{browser/util/checkEnvironment.d.ts → commonjs/env.d.ts} +21 -1
  130. package/dist/commonjs/env.js +67 -0
  131. package/dist/commonjs/env.js.map +7 -0
  132. package/dist/commonjs/formData.d.ts +10 -0
  133. package/dist/commonjs/{logger/log.common.js → formData.js} +18 -19
  134. package/dist/commonjs/formData.js.map +7 -0
  135. package/dist/commonjs/httpHeaders.js +4 -1
  136. package/dist/commonjs/httpHeaders.js.map +2 -2
  137. package/dist/commonjs/index.d.ts +1 -12
  138. package/dist/commonjs/index.js +2 -2
  139. package/dist/commonjs/index.js.map +2 -2
  140. package/dist/commonjs/interfaces.d.ts +15 -14
  141. package/dist/commonjs/interfaces.js.map +1 -1
  142. package/dist/commonjs/logger/debug.js +2 -1
  143. package/dist/commonjs/logger/debug.js.map +2 -2
  144. package/dist/commonjs/logger/logger.js +2 -1
  145. package/dist/commonjs/logger/logger.js.map +2 -2
  146. package/dist/commonjs/nodeHttpClient.js +3 -1
  147. package/dist/commonjs/nodeHttpClient.js.map +2 -2
  148. package/dist/commonjs/pipelineRequest.js +2 -2
  149. package/dist/commonjs/pipelineRequest.js.map +2 -2
  150. package/dist/commonjs/policies/auth/basicAuthenticationPolicy.js.map +1 -1
  151. package/dist/commonjs/policies/auth/checkInsecureConnection.js +3 -2
  152. package/dist/commonjs/policies/auth/checkInsecureConnection.js.map +2 -2
  153. package/dist/commonjs/policies/formDataPolicy.js +4 -11
  154. package/dist/commonjs/policies/formDataPolicy.js.map +2 -2
  155. package/dist/commonjs/policies/internal.d.ts +1 -1
  156. package/dist/commonjs/policies/internal.js +7 -7
  157. package/dist/commonjs/policies/internal.js.map +2 -2
  158. package/dist/commonjs/policies/logPolicy.js +1 -1
  159. package/dist/commonjs/policies/logPolicy.js.map +2 -2
  160. package/dist/commonjs/policies/multipartPolicy.js +2 -2
  161. package/dist/commonjs/policies/multipartPolicy.js.map +2 -2
  162. package/dist/commonjs/policies/platformPolicies.d.ts +25 -0
  163. package/dist/commonjs/policies/platformPolicies.js +43 -0
  164. package/dist/commonjs/policies/platformPolicies.js.map +7 -0
  165. package/dist/commonjs/restError.js.map +1 -1
  166. package/dist/commonjs/tsdoc-metadata.json +1 -1
  167. package/dist/commonjs/types.d.ts +19 -0
  168. package/dist/commonjs/types.js +16 -0
  169. package/dist/commonjs/types.js.map +7 -0
  170. package/dist/commonjs/util/concat.d.ts +1 -1
  171. package/dist/commonjs/util/concat.js.map +2 -2
  172. package/dist/commonjs/util/internal.d.ts +1 -1
  173. package/dist/commonjs/util/internal.js +10 -10
  174. package/dist/commonjs/util/internal.js.map +2 -2
  175. package/dist/commonjs/util/typeGuards-node.d.ts +13 -0
  176. package/dist/commonjs/util/{inspect.common.js → typeGuards-node.js} +15 -7
  177. package/dist/commonjs/util/typeGuards-node.js.map +7 -0
  178. package/dist/commonjs/util/typeGuards.d.ts +5 -4
  179. package/dist/commonjs/util/typeGuards.js +6 -13
  180. package/dist/commonjs/util/typeGuards.js.map +2 -2
  181. package/dist/commonjs/util/userAgent.d.ts +2 -0
  182. package/dist/commonjs/util/userAgent.js +7 -5
  183. package/dist/commonjs/util/userAgent.js.map +2 -2
  184. package/dist/commonjs/util/uuidUtils.js +1 -1
  185. package/dist/commonjs/util/uuidUtils.js.map +2 -2
  186. package/dist/esm/auth/credentials.js.map +1 -1
  187. package/dist/esm/auth/oauth2Flows.js.map +1 -1
  188. package/dist/esm/client/clientHelpers.js.map +1 -1
  189. package/dist/esm/client/common.d.ts +3 -2
  190. package/dist/esm/client/common.js.map +1 -1
  191. package/dist/esm/client/getClient.js +1 -1
  192. package/dist/esm/client/getClient.js.map +1 -1
  193. package/dist/esm/client/multipart.js.map +1 -1
  194. package/dist/esm/client/restError.js +5 -4
  195. package/dist/esm/client/restError.js.map +1 -1
  196. package/dist/esm/client/sendRequest.js +13 -10
  197. package/dist/esm/client/sendRequest.js.map +1 -1
  198. package/dist/esm/constants.js +1 -1
  199. package/dist/esm/constants.js.map +1 -1
  200. package/dist/esm/createPipelineFromOptions.d.ts +1 -1
  201. package/dist/esm/createPipelineFromOptions.js +2 -21
  202. package/dist/esm/createPipelineFromOptions.js.map +1 -1
  203. package/dist/{react-native/util/checkEnvironment.d.ts → esm/env.d.ts} +21 -1
  204. package/dist/esm/env.js +48 -0
  205. package/dist/esm/env.js.map +1 -0
  206. package/dist/esm/formData.d.ts +10 -0
  207. package/dist/esm/formData.js +26 -0
  208. package/dist/esm/formData.js.map +1 -0
  209. package/dist/esm/httpHeaders.js +11 -1
  210. package/dist/esm/httpHeaders.js.map +1 -1
  211. package/dist/esm/index.d.ts +1 -12
  212. package/dist/esm/index.js.map +1 -1
  213. package/dist/esm/interfaces.d.ts +15 -14
  214. package/dist/esm/interfaces.js.map +1 -1
  215. package/dist/esm/logger/debug.js +2 -1
  216. package/dist/esm/logger/debug.js.map +1 -1
  217. package/dist/esm/logger/logger.js +2 -2
  218. package/dist/esm/logger/logger.js.map +1 -1
  219. package/dist/esm/nodeHttpClient.js +3 -1
  220. package/dist/esm/nodeHttpClient.js.map +1 -1
  221. package/dist/esm/pipelineRequest.js.map +1 -1
  222. package/dist/esm/policies/auth/basicAuthenticationPolicy.js.map +1 -1
  223. package/dist/esm/policies/auth/checkInsecureConnection.js +3 -2
  224. package/dist/esm/policies/auth/checkInsecureConnection.js.map +1 -1
  225. package/dist/esm/policies/formDataPolicy.js +4 -11
  226. package/dist/esm/policies/formDataPolicy.js.map +1 -1
  227. package/dist/esm/policies/internal.d.ts +1 -1
  228. package/dist/esm/policies/internal.js +1 -1
  229. package/dist/esm/policies/internal.js.map +1 -1
  230. package/dist/esm/policies/logPolicy.js +1 -1
  231. package/dist/esm/policies/logPolicy.js.map +1 -1
  232. package/dist/esm/policies/multipartPolicy.js +4 -0
  233. package/dist/esm/policies/multipartPolicy.js.map +1 -1
  234. package/dist/esm/policies/platformPolicies.d.ts +25 -0
  235. package/dist/esm/policies/platformPolicies.js +30 -0
  236. package/dist/esm/policies/platformPolicies.js.map +1 -0
  237. package/dist/esm/restError.js.map +1 -1
  238. package/dist/esm/types.d.ts +19 -0
  239. package/dist/esm/types.js +4 -0
  240. package/dist/esm/types.js.map +1 -0
  241. package/dist/esm/util/concat.d.ts +1 -1
  242. package/dist/esm/util/concat.js.map +1 -1
  243. package/dist/esm/util/internal.d.ts +1 -1
  244. package/dist/esm/util/internal.js +1 -1
  245. package/dist/esm/util/internal.js.map +1 -1
  246. package/dist/esm/util/typeGuards-node.d.ts +13 -0
  247. package/dist/esm/util/typeGuards-node.js +20 -0
  248. package/dist/esm/util/typeGuards-node.js.map +1 -0
  249. package/dist/esm/util/typeGuards.d.ts +5 -4
  250. package/dist/esm/util/typeGuards.js +4 -10
  251. package/dist/esm/util/typeGuards.js.map +1 -1
  252. package/dist/esm/util/userAgent.d.ts +2 -0
  253. package/dist/esm/util/userAgent.js +1 -0
  254. package/dist/esm/util/userAgent.js.map +1 -1
  255. package/dist/esm/util/uuidUtils.js +1 -1
  256. package/dist/esm/util/uuidUtils.js.map +1 -1
  257. package/dist/react-native/auth/credentials.js.map +1 -1
  258. package/dist/react-native/auth/oauth2Flows.js.map +1 -1
  259. package/dist/react-native/client/clientHelpers.js +1 -1
  260. package/dist/react-native/client/clientHelpers.js.map +1 -1
  261. package/dist/react-native/client/common.d.ts +3 -2
  262. package/dist/react-native/client/common.js.map +1 -1
  263. package/dist/react-native/client/getClient.js +1 -1
  264. package/dist/react-native/client/getClient.js.map +1 -1
  265. package/dist/react-native/client/multipart.js +1 -1
  266. package/dist/react-native/client/multipart.js.map +1 -1
  267. package/dist/react-native/client/restError.js +5 -4
  268. package/dist/react-native/client/restError.js.map +1 -1
  269. package/dist/react-native/client/sendRequest.js +13 -10
  270. package/dist/react-native/client/sendRequest.js.map +1 -1
  271. package/dist/react-native/constants.js +1 -1
  272. package/dist/react-native/constants.js.map +1 -1
  273. package/dist/react-native/createPipelineFromOptions.d.ts +1 -1
  274. package/dist/react-native/createPipelineFromOptions.js +2 -21
  275. package/dist/react-native/createPipelineFromOptions.js.map +1 -1
  276. package/dist/react-native/{defaultHttpClient.d.ts → defaultHttpClient-react-native.d.mts} +1 -1
  277. package/dist/react-native/{defaultHttpClient.js → defaultHttpClient-react-native.mjs} +1 -1
  278. package/dist/react-native/defaultHttpClient-react-native.mjs.map +1 -0
  279. package/dist/react-native/encoding-react-native.d.mts +21 -0
  280. package/dist/react-native/encoding-react-native.mjs +25 -0
  281. package/dist/react-native/encoding-react-native.mjs.map +1 -0
  282. package/dist/{esm/util/checkEnvironment.d.ts → react-native/env-react-native.d.mts} +21 -1
  283. package/dist/react-native/env-react-native.mjs +50 -0
  284. package/dist/react-native/env-react-native.mjs.map +1 -0
  285. package/dist/react-native/formData-web.d.mts +9 -0
  286. package/dist/react-native/formData-web.mjs +12 -0
  287. package/dist/react-native/formData-web.mjs.map +1 -0
  288. package/dist/react-native/httpHeaders.js +11 -1
  289. package/dist/react-native/httpHeaders.js.map +1 -1
  290. package/dist/react-native/index.d.ts +3 -14
  291. package/dist/react-native/index.js +2 -2
  292. package/dist/react-native/index.js.map +1 -1
  293. package/dist/react-native/interfaces.d.ts +15 -14
  294. package/dist/react-native/interfaces.js.map +1 -1
  295. package/dist/react-native/logger/debug.js +3 -2
  296. package/dist/react-native/logger/debug.js.map +1 -1
  297. package/dist/{browser/logger/log.d.ts → react-native/logger/log-web.d.mts} +1 -1
  298. package/dist/react-native/logger/{log.js → log-web.mjs} +1 -1
  299. package/dist/react-native/logger/log-web.mjs.map +1 -0
  300. package/dist/react-native/logger/logger.js +2 -2
  301. package/dist/react-native/logger/logger.js.map +1 -1
  302. package/dist/react-native/pipelineRequest.js +1 -1
  303. package/dist/react-native/pipelineRequest.js.map +1 -1
  304. package/dist/react-native/policies/auth/basicAuthenticationPolicy.js +1 -1
  305. package/dist/react-native/policies/auth/basicAuthenticationPolicy.js.map +1 -1
  306. package/dist/react-native/policies/auth/checkInsecureConnection.js +3 -2
  307. package/dist/react-native/policies/auth/checkInsecureConnection.js.map +1 -1
  308. package/dist/react-native/policies/decompressResponsePolicy-web.d.mts +8 -0
  309. package/dist/react-native/policies/decompressResponsePolicy-web.mjs +11 -0
  310. package/dist/react-native/policies/decompressResponsePolicy-web.mjs.map +1 -0
  311. package/dist/react-native/policies/formDataPolicy.js +5 -12
  312. package/dist/react-native/policies/formDataPolicy.js.map +1 -1
  313. package/dist/react-native/policies/internal.d.ts +2 -2
  314. package/dist/react-native/policies/internal.js +2 -2
  315. package/dist/react-native/policies/internal.js.map +1 -1
  316. package/dist/react-native/policies/logPolicy.js +1 -1
  317. package/dist/react-native/policies/logPolicy.js.map +1 -1
  318. package/dist/react-native/policies/multipartPolicy.js +7 -3
  319. package/dist/react-native/policies/multipartPolicy.js.map +1 -1
  320. package/dist/react-native/policies/platformPolicies-web.d.mts +10 -0
  321. package/dist/react-native/policies/platformPolicies-web.mjs +12 -0
  322. package/dist/react-native/policies/platformPolicies-web.mjs.map +1 -0
  323. package/dist/react-native/policies/platformPolicies.d.ts +25 -0
  324. package/dist/react-native/policies/platformPolicies.js +30 -0
  325. package/dist/react-native/policies/platformPolicies.js.map +1 -0
  326. package/dist/react-native/policies/proxyPolicy-web.d.mts +2 -0
  327. package/dist/{browser/policies/proxyPolicy.js → react-native/policies/proxyPolicy-web.mjs} +1 -1
  328. package/dist/react-native/policies/proxyPolicy-web.mjs.map +1 -0
  329. package/dist/react-native/restError.js +1 -1
  330. package/dist/react-native/restError.js.map +1 -1
  331. package/dist/react-native/types-react-native.d.mts +19 -0
  332. package/dist/react-native/types-react-native.mjs +4 -0
  333. package/dist/react-native/types-react-native.mjs.map +1 -0
  334. package/dist/react-native/util/bytesEncoding-web.d.mts +2 -0
  335. package/dist/{browser/util/bytesEncoding.js → react-native/util/bytesEncoding-web.mjs} +1 -1
  336. package/dist/react-native/util/bytesEncoding-web.mjs.map +1 -0
  337. package/dist/react-native/util/bytesEncoding.common.d.ts +4 -4
  338. package/dist/react-native/util/bytesEncoding.common.js +3 -4
  339. package/dist/react-native/util/bytesEncoding.common.js.map +1 -1
  340. package/dist/react-native/util/{concat.d.ts → concat-react-native.d.mts} +10 -3
  341. package/dist/react-native/util/{concat.js → concat-react-native.mjs} +2 -2
  342. package/dist/react-native/util/concat-react-native.mjs.map +1 -0
  343. package/dist/react-native/util/inspect-web.d.mts +2 -0
  344. package/dist/{browser/util/inspect.js → react-native/util/inspect-web.mjs} +1 -1
  345. package/dist/react-native/util/inspect-web.mjs.map +1 -0
  346. package/dist/react-native/util/internal.d.ts +4 -4
  347. package/dist/react-native/util/internal.js +4 -4
  348. package/dist/react-native/util/internal.js.map +1 -1
  349. package/dist/react-native/util/sha256-web.d.mts +2 -0
  350. package/dist/{browser/util/sha256.js → react-native/util/sha256-web.mjs} +1 -1
  351. package/dist/react-native/util/sha256-web.mjs.map +1 -0
  352. package/dist/react-native/util/sha256.common.js +1 -1
  353. package/dist/react-native/util/sha256.common.js.map +1 -1
  354. package/dist/react-native/util/typeGuards-react-native.d.mts +16 -0
  355. package/dist/react-native/util/typeGuards-react-native.mjs +34 -0
  356. package/dist/react-native/util/typeGuards-react-native.mjs.map +1 -0
  357. package/dist/react-native/util/typeGuards.d.ts +5 -4
  358. package/dist/react-native/util/typeGuards.js +4 -10
  359. package/dist/react-native/util/typeGuards.js.map +1 -1
  360. package/dist/react-native/util/userAgent.d.ts +2 -0
  361. package/dist/react-native/util/userAgent.js +2 -1
  362. package/dist/react-native/util/userAgent.js.map +1 -1
  363. package/dist/react-native/util/{userAgentPlatform.d.ts → userAgentPlatform-react-native.d.mts} +1 -1
  364. package/dist/react-native/util/{userAgentPlatform.js → userAgentPlatform-react-native.mjs} +1 -1
  365. package/dist/react-native/util/userAgentPlatform-react-native.mjs.map +1 -0
  366. package/dist/react-native/util/uuidUtils-react-native.d.mts +7 -0
  367. package/dist/react-native/util/{uuidUtils.common.js → uuidUtils-react-native.mjs} +8 -3
  368. package/dist/react-native/util/uuidUtils-react-native.mjs.map +1 -0
  369. package/package.json +96 -11
  370. package/dist/browser/defaultHttpClient.js.map +0 -1
  371. package/dist/browser/logger/log.js.map +0 -1
  372. package/dist/browser/nodeHttpClient.d.ts +0 -9
  373. package/dist/browser/nodeHttpClient.js +0 -347
  374. package/dist/browser/nodeHttpClient.js.map +0 -1
  375. package/dist/browser/policies/decompressResponsePolicy.js.map +0 -1
  376. package/dist/browser/policies/proxyPolicy.d.ts +0 -2
  377. package/dist/browser/policies/proxyPolicy.js.map +0 -1
  378. package/dist/browser/util/bytesEncoding.d.ts +0 -2
  379. package/dist/browser/util/bytesEncoding.js.map +0 -1
  380. package/dist/browser/util/checkEnvironment.js +0 -41
  381. package/dist/browser/util/checkEnvironment.js.map +0 -1
  382. package/dist/browser/util/concat.d.ts +0 -17
  383. package/dist/browser/util/concat.js.map +0 -1
  384. package/dist/browser/util/inspect.d.ts +0 -2
  385. package/dist/browser/util/inspect.js.map +0 -1
  386. package/dist/browser/util/sha256.d.ts +0 -2
  387. package/dist/browser/util/sha256.js.map +0 -1
  388. package/dist/browser/util/userAgentPlatform.js.map +0 -1
  389. package/dist/browser/util/uuidUtils.common.d.ts +0 -13
  390. package/dist/browser/util/uuidUtils.common.js +0 -40
  391. package/dist/browser/util/uuidUtils.common.js.map +0 -1
  392. package/dist/browser/xhrHttpClient.d.ts +0 -7
  393. package/dist/browser/xhrHttpClient.js +0 -174
  394. package/dist/browser/xhrHttpClient.js.map +0 -1
  395. package/dist/commonjs/fetchHttpClient.d.ts +0 -12
  396. package/dist/commonjs/fetchHttpClient.js +0 -238
  397. package/dist/commonjs/fetchHttpClient.js.map +0 -7
  398. package/dist/commonjs/logger/log.common.d.ts +0 -2
  399. package/dist/commonjs/logger/log.common.js.map +0 -7
  400. package/dist/commonjs/policies/proxyPolicy.common.d.ts +0 -19
  401. package/dist/commonjs/policies/proxyPolicy.common.js +0 -44
  402. package/dist/commonjs/policies/proxyPolicy.common.js.map +0 -7
  403. package/dist/commonjs/util/arrayBuffer.d.ts +0 -7
  404. package/dist/commonjs/util/arrayBuffer.js +0 -37
  405. package/dist/commonjs/util/arrayBuffer.js.map +0 -7
  406. package/dist/commonjs/util/bytesEncoding.common.d.ts +0 -61
  407. package/dist/commonjs/util/bytesEncoding.common.js +0 -106
  408. package/dist/commonjs/util/bytesEncoding.common.js.map +0 -7
  409. package/dist/commonjs/util/checkEnvironment.js +0 -46
  410. package/dist/commonjs/util/checkEnvironment.js.map +0 -7
  411. package/dist/commonjs/util/inspect.common.d.ts +0 -2
  412. package/dist/commonjs/util/inspect.common.js.map +0 -7
  413. package/dist/commonjs/util/sha256.common.d.ts +0 -14
  414. package/dist/commonjs/util/sha256.common.js +0 -70
  415. package/dist/commonjs/util/sha256.common.js.map +0 -7
  416. package/dist/commonjs/util/uuidUtils.common.d.ts +0 -13
  417. package/dist/commonjs/util/uuidUtils.common.js +0 -49
  418. package/dist/commonjs/util/uuidUtils.common.js.map +0 -7
  419. package/dist/commonjs/xhrHttpClient.d.ts +0 -7
  420. package/dist/commonjs/xhrHttpClient.js +0 -186
  421. package/dist/commonjs/xhrHttpClient.js.map +0 -7
  422. package/dist/esm/fetchHttpClient.d.ts +0 -12
  423. package/dist/esm/fetchHttpClient.js +0 -279
  424. package/dist/esm/fetchHttpClient.js.map +0 -1
  425. package/dist/esm/logger/log.common.d.ts +0 -2
  426. package/dist/esm/logger/log.common.js +0 -23
  427. package/dist/esm/logger/log.common.js.map +0 -1
  428. package/dist/esm/policies/proxyPolicy.common.d.ts +0 -19
  429. package/dist/esm/policies/proxyPolicy.common.js +0 -24
  430. package/dist/esm/policies/proxyPolicy.common.js.map +0 -1
  431. package/dist/esm/util/arrayBuffer.d.ts +0 -7
  432. package/dist/esm/util/arrayBuffer.js +0 -20
  433. package/dist/esm/util/arrayBuffer.js.map +0 -1
  434. package/dist/esm/util/bytesEncoding.common.d.ts +0 -61
  435. package/dist/esm/util/bytesEncoding.common.js +0 -110
  436. package/dist/esm/util/bytesEncoding.common.js.map +0 -1
  437. package/dist/esm/util/checkEnvironment.js.map +0 -1
  438. package/dist/esm/util/inspect.common.d.ts +0 -2
  439. package/dist/esm/util/inspect.common.js +0 -4
  440. package/dist/esm/util/inspect.common.js.map +0 -1
  441. package/dist/esm/util/sha256.common.d.ts +0 -14
  442. package/dist/esm/util/sha256.common.js +0 -49
  443. package/dist/esm/util/sha256.common.js.map +0 -1
  444. package/dist/esm/util/uuidUtils.common.d.ts +0 -13
  445. package/dist/esm/util/uuidUtils.common.js +0 -40
  446. package/dist/esm/util/uuidUtils.common.js.map +0 -1
  447. package/dist/esm/xhrHttpClient.d.ts +0 -7
  448. package/dist/esm/xhrHttpClient.js +0 -174
  449. package/dist/esm/xhrHttpClient.js.map +0 -1
  450. package/dist/react-native/defaultHttpClient.js.map +0 -1
  451. package/dist/react-native/fetchHttpClient.d.ts +0 -12
  452. package/dist/react-native/fetchHttpClient.js +0 -279
  453. package/dist/react-native/fetchHttpClient.js.map +0 -1
  454. package/dist/react-native/logger/log.js.map +0 -1
  455. package/dist/react-native/nodeHttpClient.d.ts +0 -9
  456. package/dist/react-native/nodeHttpClient.js +0 -347
  457. package/dist/react-native/nodeHttpClient.js.map +0 -1
  458. package/dist/react-native/policies/decompressResponsePolicy.d.ts +0 -11
  459. package/dist/react-native/policies/decompressResponsePolicy.js +0 -23
  460. package/dist/react-native/policies/decompressResponsePolicy.js.map +0 -1
  461. package/dist/react-native/policies/proxyPolicy.d.ts +0 -2
  462. package/dist/react-native/policies/proxyPolicy.js.map +0 -1
  463. package/dist/react-native/util/bytesEncoding.d.ts +0 -2
  464. package/dist/react-native/util/bytesEncoding.js.map +0 -1
  465. package/dist/react-native/util/checkEnvironment.js +0 -41
  466. package/dist/react-native/util/checkEnvironment.js.map +0 -1
  467. package/dist/react-native/util/concat.js.map +0 -1
  468. package/dist/react-native/util/inspect.d.ts +0 -2
  469. package/dist/react-native/util/inspect.js.map +0 -1
  470. package/dist/react-native/util/sha256.d.ts +0 -2
  471. package/dist/react-native/util/sha256.js.map +0 -1
  472. package/dist/react-native/util/userAgentPlatform.js.map +0 -1
  473. package/dist/react-native/util/uuidUtils.common.d.ts +0 -13
  474. package/dist/react-native/util/uuidUtils.common.js.map +0 -1
  475. package/dist/react-native/util/uuidUtils.d.ts +0 -2
  476. package/dist/react-native/util/uuidUtils.js +0 -4
  477. package/dist/react-native/util/uuidUtils.js.map +0 -1
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/xhrHttpClient.ts"],
4
- "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AbortError } from \"./abort-controller/AbortError.js\";\nimport type {\n HttpClient,\n HttpHeaders,\n PipelineRequest,\n PipelineResponse,\n TransferProgressEvent,\n} from \"./interfaces.js\";\nimport { createHttpHeaders } from \"./httpHeaders.js\";\nimport { RestError } from \"./restError.js\";\nimport { isReadableStream } from \"./util/typeGuards.js\";\nimport { arrayBufferViewToArrayBuffer } from \"./util/arrayBuffer.js\";\n\n/**\n * A HttpClient implementation that uses XMLHttpRequest to send HTTP requests.\n * @internal\n */\nclass XhrHttpClient 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 const xhr = new XMLHttpRequest();\n\n if (request.proxySettings) {\n throw new Error(\"HTTP proxy is not supported in browser environment\");\n }\n\n const abortSignal = request.abortSignal;\n if (abortSignal) {\n if (abortSignal.aborted) {\n throw new AbortError(\"The operation was aborted. Request has already been canceled.\");\n }\n\n const listener = (): void => {\n xhr.abort();\n };\n abortSignal.addEventListener(\"abort\", listener);\n xhr.addEventListener(\"readystatechange\", () => {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n abortSignal.removeEventListener(\"abort\", listener);\n }\n });\n }\n\n addProgressListener(xhr.upload, request.onUploadProgress);\n addProgressListener(xhr, request.onDownloadProgress);\n\n xhr.open(request.method, request.url);\n xhr.timeout = request.timeout;\n xhr.withCredentials = request.withCredentials;\n for (const [name, value] of request.headers) {\n xhr.setRequestHeader(name, value);\n }\n\n xhr.responseType = request.streamResponseStatusCodes?.size ? \"blob\" : \"text\";\n\n const body = typeof request.body === \"function\" ? request.body() : request.body;\n if (isReadableStream(body)) {\n throw new Error(\"streams are not supported in XhrHttpClient.\");\n }\n\n if (body instanceof ArrayBuffer) {\n xhr.send(body);\n } else if (typeof body === \"object\" && body && \"buffer\" in body) {\n xhr.send(arrayBufferViewToArrayBuffer(body));\n } else {\n xhr.send(body === undefined ? null : body);\n }\n\n if (xhr.responseType === \"blob\") {\n return new Promise((resolve, reject) => {\n handleBlobResponse(xhr, request, resolve, reject);\n rejectOnTerminalEvent(request, xhr, reject);\n });\n } else {\n return new Promise(function (resolve, reject) {\n xhr.addEventListener(\"load\", () =>\n resolve({\n request,\n status: xhr.status,\n headers: parseHeaders(xhr),\n bodyAsText: xhr.responseText,\n }),\n );\n rejectOnTerminalEvent(request, xhr, reject);\n });\n }\n }\n}\n\nfunction handleBlobResponse(\n xhr: XMLHttpRequest,\n request: PipelineRequest,\n res: (value: PipelineResponse | PromiseLike<PipelineResponse>) => void,\n rej: (reason?: any) => void,\n): void {\n xhr.addEventListener(\"readystatechange\", () => {\n // Resolve as soon as headers are loaded\n if (xhr.readyState === XMLHttpRequest.HEADERS_RECEIVED) {\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(xhr.status)\n ) {\n const blobBody = new Promise<Blob>((resolve, reject) => {\n xhr.addEventListener(\"load\", () => {\n resolve(xhr.response);\n });\n rejectOnTerminalEvent(request, xhr, reject);\n });\n res({\n request,\n status: xhr.status,\n headers: parseHeaders(xhr),\n blobBody,\n });\n } else {\n xhr.addEventListener(\"load\", () => {\n // xhr.response is of Blob type if the request is sent with xhr.responseType === \"blob\"\n // but the status code is not one of the stream response status codes,\n // so treat it as text and convert from Blob to text\n if (xhr.response) {\n xhr.response\n .text()\n .then((text: string) => {\n res({\n request: request,\n status: xhr.status,\n headers: parseHeaders(xhr),\n bodyAsText: text,\n });\n return;\n })\n .catch((e: any) => {\n rej(e);\n });\n } else {\n res({\n request,\n status: xhr.status,\n headers: parseHeaders(xhr),\n });\n }\n });\n }\n }\n });\n}\n\nfunction addProgressListener(\n xhr: XMLHttpRequestEventTarget,\n listener?: (progress: TransferProgressEvent) => void,\n): void {\n if (listener) {\n xhr.addEventListener(\"progress\", (rawEvent) =>\n listener({\n loadedBytes: rawEvent.loaded,\n }),\n );\n }\n}\n\nfunction parseHeaders(xhr: XMLHttpRequest): HttpHeaders {\n const responseHeaders = createHttpHeaders();\n const headerLines = xhr\n .getAllResponseHeaders()\n .trim()\n .split(/[\\r\\n]+/);\n for (const line of headerLines) {\n const index = line.indexOf(\":\");\n const headerName = line.slice(0, index);\n const headerValue = line.slice(index + 2);\n responseHeaders.set(headerName, headerValue);\n }\n return responseHeaders;\n}\n\nfunction rejectOnTerminalEvent(\n request: PipelineRequest,\n xhr: XMLHttpRequest,\n reject: (err: any) => void,\n): void {\n xhr.addEventListener(\"error\", () =>\n reject(\n new RestError(`Failed to send request to ${request.url}`, {\n code: RestError.REQUEST_SEND_ERROR,\n request,\n }),\n ),\n );\n const abortError = new AbortError(\"The operation was aborted.\");\n xhr.addEventListener(\"abort\", () => reject(abortError));\n xhr.addEventListener(\"timeout\", () => reject(abortError));\n}\n\n/**\n * Create a new HttpClient instance for the browser environment.\n * @internal\n */\nexport function createXhrHttpClient(): HttpClient {\n return new XhrHttpClient();\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,12 +0,0 @@
1
- import type { HttpClient } from "./interfaces.js";
2
- declare global {
3
- interface RequestInit {
4
- duplex?: "half";
5
- }
6
- }
7
- /**
8
- * Create a new HttpClient instance for the browser environment.
9
- * @internal
10
- */
11
- export declare function createFetchHttpClient(): HttpClient;
12
- //# sourceMappingURL=fetchHttpClient.d.ts.map
@@ -1,279 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- import { AbortError } from "./abort-controller/AbortError.js";
4
- import { RestError } from "./restError.js";
5
- import { createHttpHeaders } from "./httpHeaders.js";
6
- import { isNodeReadableStream, isWebReadableStream } from "./util/typeGuards.js";
7
- import { arrayBufferViewToArrayBuffer } from "./util/arrayBuffer.js";
8
- /**
9
- * Checks if the body is a Blob or Blob-like
10
- */
11
- function isBlob(body) {
12
- // File objects count as a type of Blob, so we want to use instanceof explicitly
13
- return (typeof Blob === "function" || typeof Blob === "object") && body instanceof Blob;
14
- }
15
- /**
16
- * A HttpClient implementation that uses window.fetch to send HTTP requests.
17
- * @internal
18
- */
19
- class FetchHttpClient {
20
- /**
21
- * Makes a request over an underlying transport layer and returns the response.
22
- * @param request - The request to be made.
23
- */
24
- async sendRequest(request) {
25
- const url = new URL(request.url);
26
- const isInsecure = url.protocol !== "https:";
27
- if (isInsecure && !request.allowInsecureConnection) {
28
- throw new Error(`Cannot connect to ${request.url} while allowInsecureConnection is false.`);
29
- }
30
- if (request.proxySettings) {
31
- throw new Error("HTTP proxy is not supported in browser environment");
32
- }
33
- try {
34
- return await makeRequest(request);
35
- }
36
- catch (e) {
37
- throw getError(e, request);
38
- }
39
- }
40
- }
41
- /**
42
- * Sends a request
43
- */
44
- async function makeRequest(request) {
45
- const { abortController, abortControllerCleanup } = setupAbortSignal(request);
46
- try {
47
- const headers = buildFetchHeaders(request.headers);
48
- const { streaming, body: requestBody } = buildRequestBody(request);
49
- const requestInit = {
50
- body: requestBody,
51
- method: request.method,
52
- headers: headers,
53
- signal: abortController.signal,
54
- // Cloudflare doesn't implement the full Fetch API spec
55
- // because of some of it doesn't make sense in the edge.
56
- // See https://github.com/cloudflare/workerd/issues/902
57
- ...("credentials" in Request.prototype
58
- ? { credentials: request.withCredentials ? "include" : "same-origin" }
59
- : {}),
60
- ...("cache" in Request.prototype ? { cache: "no-store" } : {}),
61
- };
62
- // According to https://fetch.spec.whatwg.org/#fetch-method,
63
- // init.duplex must be set when body is a ReadableStream object.
64
- // currently "half" is the only valid value.
65
- if (streaming) {
66
- requestInit.duplex = "half";
67
- }
68
- /**
69
- * Developers of the future:
70
- * Do not set redirect: "manual" as part
71
- * of request options.
72
- * It will not work as you expect.
73
- */
74
- const response = await fetch(request.url, {
75
- ...requestInit,
76
- ...request.requestOverrides,
77
- });
78
- // If we're uploading a blob, we need to fire the progress event manually
79
- if (isBlob(request.body) && request.onUploadProgress) {
80
- request.onUploadProgress({ loadedBytes: request.body.size });
81
- }
82
- return buildPipelineResponse(response, request, abortControllerCleanup);
83
- }
84
- catch (e) {
85
- abortControllerCleanup?.();
86
- throw e;
87
- }
88
- }
89
- /**
90
- * Creates a pipeline response from a Fetch response;
91
- */
92
- async function buildPipelineResponse(httpResponse, request, abortControllerCleanup) {
93
- const headers = buildPipelineHeaders(httpResponse);
94
- const response = {
95
- request,
96
- headers,
97
- status: httpResponse.status,
98
- };
99
- const bodyStream = isWebReadableStream(httpResponse.body)
100
- ? buildBodyStream(httpResponse.body, {
101
- onProgress: request.onDownloadProgress,
102
- onEnd: abortControllerCleanup,
103
- })
104
- : httpResponse.body;
105
- if (
106
- // Value of POSITIVE_INFINITY in streamResponseStatusCodes is considered as any status code
107
- request.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY) ||
108
- request.streamResponseStatusCodes?.has(response.status)) {
109
- if (request.enableBrowserStreams) {
110
- response.browserStreamBody = bodyStream ?? undefined;
111
- }
112
- else {
113
- const responseStream = new Response(bodyStream);
114
- response.blobBody = responseStream.blob();
115
- abortControllerCleanup?.();
116
- }
117
- }
118
- else {
119
- const responseStream = new Response(bodyStream);
120
- response.bodyAsText = await responseStream.text();
121
- abortControllerCleanup?.();
122
- }
123
- return response;
124
- }
125
- function setupAbortSignal(request) {
126
- const abortController = new AbortController();
127
- // Cleanup function
128
- let abortControllerCleanup;
129
- /**
130
- * Attach an abort listener to the request
131
- */
132
- let abortListener;
133
- if (request.abortSignal) {
134
- if (request.abortSignal.aborted) {
135
- throw new AbortError("The operation was aborted. Request has already been canceled.");
136
- }
137
- abortListener = (event) => {
138
- if (event.type === "abort") {
139
- abortController.abort();
140
- }
141
- };
142
- request.abortSignal.addEventListener("abort", abortListener);
143
- abortControllerCleanup = () => {
144
- if (abortListener) {
145
- request.abortSignal?.removeEventListener("abort", abortListener);
146
- }
147
- };
148
- }
149
- // If a timeout was passed, call the abort signal once the time elapses
150
- if (request.timeout > 0) {
151
- setTimeout(() => {
152
- abortController.abort();
153
- }, request.timeout);
154
- }
155
- return { abortController, abortControllerCleanup };
156
- }
157
- /**
158
- * Gets the specific error
159
- */
160
- // eslint-disable-next-line @azure/azure-sdk/ts-use-interface-parameters
161
- function getError(e, request) {
162
- if (e && e?.name === "AbortError") {
163
- return e;
164
- }
165
- else {
166
- return new RestError(`Error sending request: ${e.message}`, {
167
- code: e?.code ?? RestError.REQUEST_SEND_ERROR,
168
- request,
169
- });
170
- }
171
- }
172
- /**
173
- * Converts PipelineRequest headers to Fetch headers
174
- */
175
- function buildFetchHeaders(pipelineHeaders) {
176
- const headers = new Headers();
177
- for (const [name, value] of pipelineHeaders) {
178
- headers.append(name, value);
179
- }
180
- return headers;
181
- }
182
- function buildPipelineHeaders(httpResponse) {
183
- const responseHeaders = createHttpHeaders();
184
- for (const [name, value] of httpResponse.headers) {
185
- responseHeaders.set(name, value);
186
- }
187
- return responseHeaders;
188
- }
189
- function buildRequestBody(request) {
190
- const body = typeof request.body === "function" ? request.body() : request.body;
191
- if (isNodeReadableStream(body)) {
192
- throw new Error("Node streams are not supported in browser environment.");
193
- }
194
- if (isWebReadableStream(body)) {
195
- return {
196
- streaming: true,
197
- body: buildBodyStream(body, { onProgress: request.onUploadProgress }),
198
- };
199
- }
200
- else if (typeof body === "object" && body && "buffer" in body) {
201
- // ArrayBufferView
202
- return { streaming: false, body: arrayBufferViewToArrayBuffer(body) };
203
- }
204
- else if (body === undefined) {
205
- return { streaming: false };
206
- }
207
- else {
208
- return { streaming: false, body };
209
- }
210
- }
211
- /**
212
- * Reads the request/response original stream and stream it through a new
213
- * ReadableStream, this is done to be able to report progress in a way that
214
- * all modern browsers support. TransformStreams would be an alternative,
215
- * however they are not yet supported by all browsers i.e Firefox
216
- */
217
- function buildBodyStream(readableStream, options = {}) {
218
- let loadedBytes = 0;
219
- const { onProgress, onEnd } = options;
220
- // If the current browser supports pipeThrough we use a TransformStream
221
- // to report progress
222
- if (isTransformStreamSupported(readableStream)) {
223
- return readableStream.pipeThrough(new TransformStream({
224
- transform(chunk, controller) {
225
- if (chunk === null) {
226
- controller.terminate();
227
- return;
228
- }
229
- controller.enqueue(chunk);
230
- loadedBytes += chunk.length;
231
- if (onProgress) {
232
- onProgress({ loadedBytes });
233
- }
234
- },
235
- flush() {
236
- onEnd?.();
237
- },
238
- }));
239
- }
240
- else {
241
- // If we can't use transform streams, wrap the original stream in a new readable stream
242
- // and use pull to enqueue each chunk and report progress.
243
- const reader = readableStream.getReader();
244
- return new ReadableStream({
245
- async pull(controller) {
246
- const { done, value } = await reader.read();
247
- // When no more data needs to be consumed, break the reading
248
- if (done || !value) {
249
- onEnd?.();
250
- // Close the stream
251
- controller.close();
252
- reader.releaseLock();
253
- return;
254
- }
255
- loadedBytes += value?.length ?? 0;
256
- // Enqueue the next data chunk into our target stream
257
- controller.enqueue(value);
258
- if (onProgress) {
259
- onProgress({ loadedBytes });
260
- }
261
- },
262
- cancel(reason) {
263
- onEnd?.();
264
- return reader.cancel(reason);
265
- },
266
- });
267
- }
268
- }
269
- /**
270
- * Create a new HttpClient instance for the browser environment.
271
- * @internal
272
- */
273
- export function createFetchHttpClient() {
274
- return new FetchHttpClient();
275
- }
276
- function isTransformStreamSupported(readableStream) {
277
- return readableStream.pipeThrough !== undefined && self.TransformStream !== undefined;
278
- }
279
- //# sourceMappingURL=fetchHttpClient.js.map
@@ -1 +0,0 @@
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 type {\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, isWebReadableStream } from \"./util/typeGuards.js\";\nimport { arrayBufferViewToArrayBuffer } from \"./util/arrayBuffer.js\";\n\n// The Fetch spec requires `duplex: \"half\"` when body is a ReadableStream,\n// but TypeScript's lib.dom.d.ts hasn't added it to RequestInit yet.\ndeclare global {\n interface RequestInit {\n duplex?: \"half\";\n }\n}\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.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, {\n ...requestInit,\n ...request.requestOverrides,\n });\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 = isWebReadableStream(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. Request has already been canceled.\");\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\ninterface BuildRequestBodyResponse {\n body?: BodyInit | null;\n streaming: boolean;\n}\n\nfunction buildRequestBody(request: PipelineRequest): BuildRequestBodyResponse {\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 if (isWebReadableStream(body)) {\n return {\n streaming: true,\n body: buildBodyStream(body, { onProgress: request.onUploadProgress }),\n };\n } else if (typeof body === \"object\" && body && \"buffer\" in body) {\n // ArrayBufferView\n return { streaming: false, body: arrayBufferViewToArrayBuffer(body) };\n } else if (body === undefined) {\n return { streaming: false };\n } else {\n return { streaming: false, body };\n }\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,2 +0,0 @@
1
- export declare function log(...args: any[]): void;
2
- //# sourceMappingURL=log.common.d.ts.map
@@ -1,23 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- export function log(...args) {
4
- if (args.length > 0) {
5
- const firstArg = String(args[0]);
6
- if (firstArg.includes(":error")) {
7
- console.error(...args);
8
- }
9
- else if (firstArg.includes(":warning")) {
10
- console.warn(...args);
11
- }
12
- else if (firstArg.includes(":info")) {
13
- console.info(...args);
14
- }
15
- else if (firstArg.includes(":verbose")) {
16
- console.debug(...args);
17
- }
18
- else {
19
- console.debug(...args);
20
- }
21
- }
22
- }
23
- //# sourceMappingURL=log.common.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"log.common.js","sourceRoot":"","sources":["../../../src/logger/log.common.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,UAAU,GAAG,CAAC,GAAG,IAAW;IAChC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport function log(...args: any[]): void {\n if (args.length > 0) {\n const firstArg = String(args[0]);\n if (firstArg.includes(\":error\")) {\n console.error(...args);\n } else if (firstArg.includes(\":warning\")) {\n console.warn(...args);\n } else if (firstArg.includes(\":info\")) {\n console.info(...args);\n } else if (firstArg.includes(\":verbose\")) {\n console.debug(...args);\n } else {\n console.debug(...args);\n }\n }\n}\n"]}
@@ -1,19 +0,0 @@
1
- import type { ProxySettings } from "../interfaces.js";
2
- import type { PipelinePolicy } from "../pipeline.js";
3
- export declare const proxyPolicyName = "proxyPolicy";
4
- export declare function getDefaultProxySettings(_proxyUrl?: string): ProxySettings | undefined;
5
- /**
6
- * proxyPolicy is not supported in the browser and attempting
7
- * to use it will raise an error.
8
- */
9
- export declare function proxyPolicy(_proxySettings?: ProxySettings, _options?: {
10
- customNoProxyList?: string[];
11
- }): PipelinePolicy;
12
- /**
13
- * A function to reset the cached agents.
14
- * proxyPolicy is not supported in the browser and attempting
15
- * to use it will raise an error.
16
- * @internal
17
- */
18
- export declare function resetCachedProxyAgents(): void;
19
- //# sourceMappingURL=proxyPolicy.common.d.ts.map
@@ -1,24 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- export const proxyPolicyName = "proxyPolicy";
4
- const errorMessage = "proxyPolicy is not supported in browser environment";
5
- export function getDefaultProxySettings(_proxyUrl) {
6
- throw new Error(errorMessage);
7
- }
8
- /**
9
- * proxyPolicy is not supported in the browser and attempting
10
- * to use it will raise an error.
11
- */
12
- export function proxyPolicy(_proxySettings, _options) {
13
- throw new Error(errorMessage);
14
- }
15
- /**
16
- * A function to reset the cached agents.
17
- * proxyPolicy is not supported in the browser and attempting
18
- * to use it will raise an error.
19
- * @internal
20
- */
21
- export function resetCachedProxyAgents() {
22
- throw new Error(errorMessage);
23
- }
24
- //# sourceMappingURL=proxyPolicy.common.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proxyPolicy.common.js","sourceRoot":"","sources":["../../../src/policies/proxyPolicy.common.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC;AAC7C,MAAM,YAAY,GAAG,qDAAqD,CAAC;AAE3E,MAAM,UAAU,uBAAuB,CAAC,SAAkB;IACxD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,cAA8B,EAC9B,QAEC;IAED,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { ProxySettings } from \"../interfaces.js\";\nimport type { PipelinePolicy } from \"../pipeline.js\";\n\nexport const proxyPolicyName = \"proxyPolicy\";\nconst errorMessage = \"proxyPolicy is not supported in browser environment\";\n\nexport function getDefaultProxySettings(_proxyUrl?: string): ProxySettings | undefined {\n throw new Error(errorMessage);\n}\n\n/**\n * proxyPolicy is not supported in the browser and attempting\n * to use it will raise an error.\n */\nexport function proxyPolicy(\n _proxySettings?: ProxySettings,\n _options?: {\n customNoProxyList?: string[];\n },\n): PipelinePolicy {\n throw new Error(errorMessage);\n}\n\n/**\n * A function to reset the cached agents.\n * proxyPolicy is not supported in the browser and attempting\n * to use it will raise an error.\n * @internal\n */\nexport function resetCachedProxyAgents(): void {\n throw new Error(errorMessage);\n}\n"]}
@@ -1,7 +0,0 @@
1
- /**
2
- * Converts an ArrayBufferView to an ArrayBuffer.
3
- * @param source - The source ArrayBufferView.
4
- * @returns The resulting ArrayBuffer.
5
- */
6
- export declare function arrayBufferViewToArrayBuffer(source: ArrayBufferView): ArrayBuffer;
7
- //# sourceMappingURL=arrayBuffer.d.ts.map
@@ -1,20 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- /**
4
- * Converts an ArrayBufferView to an ArrayBuffer.
5
- * @param source - The source ArrayBufferView.
6
- * @returns The resulting ArrayBuffer.
7
- */
8
- export function arrayBufferViewToArrayBuffer(source) {
9
- if (source.buffer instanceof ArrayBuffer &&
10
- source.byteOffset === 0 &&
11
- source.byteLength === source.buffer.byteLength) {
12
- return source.buffer;
13
- }
14
- const arrayBuffer = new ArrayBuffer(source.byteLength);
15
- const view = new Uint8Array(arrayBuffer);
16
- const sourceView = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);
17
- view.set(sourceView);
18
- return view.buffer;
19
- }
20
- //# sourceMappingURL=arrayBuffer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrayBuffer.js","sourceRoot":"","sources":["../../../src/util/arrayBuffer.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAuB;IAClE,IACE,MAAM,CAAC,MAAM,YAAY,WAAW;QACpC,MAAM,CAAC,UAAU,KAAK,CAAC;QACvB,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAC9C,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACvF,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACrB,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Converts an ArrayBufferView to an ArrayBuffer.\n * @param source - The source ArrayBufferView.\n * @returns The resulting ArrayBuffer.\n */\nexport function arrayBufferViewToArrayBuffer(source: ArrayBufferView): ArrayBuffer {\n if (\n source.buffer instanceof ArrayBuffer &&\n source.byteOffset === 0 &&\n source.byteLength === source.buffer.byteLength\n ) {\n return source.buffer;\n }\n\n const arrayBuffer = new ArrayBuffer(source.byteLength);\n const view = new Uint8Array(arrayBuffer);\n const sourceView = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);\n view.set(sourceView);\n return view.buffer;\n}\n"]}
@@ -1,61 +0,0 @@
1
- declare global {
2
- function btoa(input: string): string;
3
- function atob(input: string): string;
4
- }
5
- /** The supported character encoding type */
6
- export type EncodingType = "utf-8" | "base64" | "base64url" | "hex";
7
- /**
8
- * The helper that transforms bytes with specific character encoding into string
9
- * @param bytes - the uint8array bytes
10
- * @param format - the format we use to encode the byte
11
- * @returns a string of the encoded string
12
- */
13
- export declare function uint8ArrayToString(bytes: Uint8Array, format: EncodingType): string;
14
- /**
15
- * The helper that transforms string to specific character encoded bytes array.
16
- * @param value - the string to be converted
17
- * @param format - the format we use to decode the value
18
- * @returns a uint8array
19
- */
20
- export declare function stringToUint8Array(value: string, format: EncodingType): Uint8Array;
21
- /**
22
- * Decodes a Uint8Array into a Base64 string.
23
- * @internal
24
- */
25
- export declare function uint8ArrayToBase64(bytes: Uint8Array): string;
26
- /**
27
- * Decodes a Uint8Array into a Base64Url string.
28
- * @internal
29
- */
30
- export declare function uint8ArrayToBase64Url(bytes: Uint8Array): string;
31
- /**
32
- * Decodes a Uint8Array into a javascript string.
33
- * @internal
34
- */
35
- export declare function uint8ArrayToUtf8String(bytes: Uint8Array): string;
36
- /**
37
- * Decodes a Uint8Array into a hex string
38
- * @internal
39
- */
40
- export declare function uint8ArrayToHexString(bytes: Uint8Array): string;
41
- /**
42
- * Encodes a JavaScript string into a Uint8Array.
43
- * @internal
44
- */
45
- export declare function utf8StringToUint8Array(value: string): Uint8Array;
46
- /**
47
- * Encodes a Base64 string into a Uint8Array.
48
- * @internal
49
- */
50
- export declare function base64ToUint8Array(value: string): Uint8Array;
51
- /**
52
- * Encodes a Base64Url string into a Uint8Array.
53
- * @internal
54
- */
55
- export declare function base64UrlToUint8Array(value: string): Uint8Array;
56
- /**
57
- * Encodes a hex string into a Uint8Array
58
- * @internal
59
- */
60
- export declare function hexStringToUint8Array(value: string): Uint8Array;
61
- //# sourceMappingURL=bytesEncoding.common.d.ts.map
@@ -1,110 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- /**
4
- * The helper that transforms bytes with specific character encoding into string
5
- * @param bytes - the uint8array bytes
6
- * @param format - the format we use to encode the byte
7
- * @returns a string of the encoded string
8
- */
9
- export function uint8ArrayToString(bytes, format) {
10
- switch (format) {
11
- case "utf-8":
12
- return uint8ArrayToUtf8String(bytes);
13
- case "base64":
14
- return uint8ArrayToBase64(bytes);
15
- case "base64url":
16
- return uint8ArrayToBase64Url(bytes);
17
- case "hex":
18
- return uint8ArrayToHexString(bytes);
19
- }
20
- }
21
- /**
22
- * The helper that transforms string to specific character encoded bytes array.
23
- * @param value - the string to be converted
24
- * @param format - the format we use to decode the value
25
- * @returns a uint8array
26
- */
27
- export function stringToUint8Array(value, format) {
28
- switch (format) {
29
- case "utf-8":
30
- return utf8StringToUint8Array(value);
31
- case "base64":
32
- return base64ToUint8Array(value);
33
- case "base64url":
34
- return base64UrlToUint8Array(value);
35
- case "hex":
36
- return hexStringToUint8Array(value);
37
- }
38
- }
39
- /**
40
- * Decodes a Uint8Array into a Base64 string.
41
- * @internal
42
- */
43
- export function uint8ArrayToBase64(bytes) {
44
- return btoa([...bytes].map((x) => String.fromCharCode(x)).join(""));
45
- }
46
- /**
47
- * Decodes a Uint8Array into a Base64Url string.
48
- * @internal
49
- */
50
- export function uint8ArrayToBase64Url(bytes) {
51
- return uint8ArrayToBase64(bytes).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
52
- }
53
- /**
54
- * Decodes a Uint8Array into a javascript string.
55
- * @internal
56
- */
57
- export function uint8ArrayToUtf8String(bytes) {
58
- const decoder = new TextDecoder();
59
- const dataString = decoder.decode(bytes);
60
- return dataString;
61
- }
62
- /**
63
- * Decodes a Uint8Array into a hex string
64
- * @internal
65
- */
66
- export function uint8ArrayToHexString(bytes) {
67
- return [...bytes].map((x) => x.toString(16).padStart(2, "0")).join("");
68
- }
69
- /**
70
- * Encodes a JavaScript string into a Uint8Array.
71
- * @internal
72
- */
73
- export function utf8StringToUint8Array(value) {
74
- return new TextEncoder().encode(value);
75
- }
76
- /**
77
- * Encodes a Base64 string into a Uint8Array.
78
- * @internal
79
- */
80
- export function base64ToUint8Array(value) {
81
- return new Uint8Array([...atob(value)].map((x) => x.charCodeAt(0)));
82
- }
83
- /**
84
- * Encodes a Base64Url string into a Uint8Array.
85
- * @internal
86
- */
87
- export function base64UrlToUint8Array(value) {
88
- const base64String = value.replace(/-/g, "+").replace(/_/g, "/");
89
- return base64ToUint8Array(base64String);
90
- }
91
- const hexDigits = new Set("0123456789abcdefABCDEF");
92
- /**
93
- * Encodes a hex string into a Uint8Array
94
- * @internal
95
- */
96
- export function hexStringToUint8Array(value) {
97
- // If value has odd length, the last character will be ignored, consistent with NodeJS Buffer behavior
98
- const bytes = new Uint8Array(value.length / 2);
99
- for (let i = 0; i < value.length / 2; ++i) {
100
- const highNibble = value[2 * i];
101
- const lowNibble = value[2 * i + 1];
102
- if (!hexDigits.has(highNibble) || !hexDigits.has(lowNibble)) {
103
- // Replicate Node Buffer behavior by exiting early when we encounter an invalid byte
104
- return bytes.slice(0, i);
105
- }
106
- bytes[i] = parseInt(`${highNibble}${lowNibble}`, 16);
107
- }
108
- return bytes;
109
- }
110
- //# sourceMappingURL=bytesEncoding.common.js.map