appium-mac2-driver 4.5.0 → 4.5.1

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 (295) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/build/lib/session-claim-handler.d.ts.map +1 -1
  3. package/build/lib/session-claim-handler.js +1 -2
  4. package/build/lib/session-claim-handler.js.map +1 -1
  5. package/build/lib/wda-mac.d.ts +0 -1
  6. package/build/lib/wda-mac.d.ts.map +1 -1
  7. package/build/lib/wda-mac.js +1 -1
  8. package/lib/session-claim-handler.ts +1 -2
  9. package/lib/wda-mac.ts +1 -2
  10. package/node_modules/@appium/support/build/lib/npm.d.ts.map +1 -1
  11. package/node_modules/@appium/support/build/lib/npm.js +2 -1
  12. package/node_modules/@appium/support/build/lib/npm.js.map +1 -1
  13. package/node_modules/@appium/support/build/lib/util.d.ts.map +1 -1
  14. package/node_modules/@appium/support/build/lib/util.js +13 -1
  15. package/node_modules/@appium/support/build/lib/util.js.map +1 -1
  16. package/node_modules/@appium/support/build/lib/zip.d.ts +2 -1
  17. package/node_modules/@appium/support/build/lib/zip.d.ts.map +1 -1
  18. package/node_modules/@appium/support/build/lib/zip.js +193 -64
  19. package/node_modules/@appium/support/build/lib/zip.js.map +1 -1
  20. package/node_modules/@appium/support/lib/npm.ts +2 -1
  21. package/node_modules/@appium/support/lib/util.ts +13 -1
  22. package/node_modules/@appium/support/lib/zip.ts +231 -71
  23. package/node_modules/@appium/support/node_modules/axios/CHANGELOG.md +1934 -0
  24. package/node_modules/@appium/support/node_modules/axios/LICENSE +7 -0
  25. package/node_modules/@appium/support/node_modules/axios/MIGRATION_GUIDE.md +877 -0
  26. package/node_modules/@appium/support/node_modules/axios/README.md +2851 -0
  27. package/node_modules/@appium/support/node_modules/axios/dist/axios.js +5807 -0
  28. package/node_modules/@appium/support/node_modules/axios/dist/axios.min.js +5 -0
  29. package/node_modules/@appium/support/node_modules/axios/dist/axios.min.js.map +1 -0
  30. package/node_modules/@appium/support/node_modules/axios/dist/browser/axios.cjs +5829 -0
  31. package/node_modules/@appium/support/node_modules/axios/dist/esm/axios.js +5850 -0
  32. package/node_modules/@appium/support/node_modules/axios/dist/esm/axios.min.js +3 -0
  33. package/node_modules/@appium/support/node_modules/axios/dist/esm/axios.min.js.map +1 -0
  34. package/node_modules/@appium/support/node_modules/axios/dist/node/axios.cjs +6808 -0
  35. package/node_modules/@appium/support/node_modules/axios/index.d.cts +766 -0
  36. package/node_modules/@appium/support/node_modules/axios/index.d.ts +787 -0
  37. package/node_modules/@appium/support/node_modules/axios/index.js +45 -0
  38. package/node_modules/@appium/support/node_modules/axios/lib/adapters/README.md +36 -0
  39. package/node_modules/@appium/support/node_modules/axios/lib/adapters/adapters.js +132 -0
  40. package/node_modules/@appium/support/node_modules/axios/lib/adapters/fetch.js +696 -0
  41. package/node_modules/@appium/support/node_modules/axios/lib/adapters/http.js +1490 -0
  42. package/node_modules/@appium/support/node_modules/axios/lib/adapters/xhr.js +277 -0
  43. package/node_modules/@appium/support/node_modules/axios/lib/axios.js +89 -0
  44. package/node_modules/@appium/support/node_modules/axios/lib/cancel/CancelToken.js +135 -0
  45. package/node_modules/@appium/support/node_modules/axios/lib/cancel/CanceledError.js +22 -0
  46. package/node_modules/@appium/support/node_modules/axios/lib/cancel/isCancel.js +5 -0
  47. package/node_modules/@appium/support/node_modules/axios/lib/core/Axios.js +306 -0
  48. package/node_modules/@appium/support/node_modules/axios/lib/core/AxiosError.js +219 -0
  49. package/node_modules/@appium/support/node_modules/axios/lib/core/AxiosHeaders.js +474 -0
  50. package/node_modules/@appium/support/node_modules/axios/lib/core/InterceptorManager.js +171 -0
  51. package/node_modules/@appium/support/node_modules/axios/lib/core/README.md +8 -0
  52. package/node_modules/@appium/support/node_modules/axios/lib/core/buildFullPath.js +76 -0
  53. package/node_modules/@appium/support/node_modules/axios/lib/core/dispatchRequest.js +95 -0
  54. package/node_modules/@appium/support/node_modules/axios/lib/core/mergeConfig.js +174 -0
  55. package/node_modules/@appium/support/node_modules/axios/lib/core/methodList.js +17 -0
  56. package/node_modules/@appium/support/node_modules/axios/lib/core/setFormDataHeaders.js +27 -0
  57. package/node_modules/@appium/support/node_modules/axios/lib/core/settle.js +27 -0
  58. package/node_modules/@appium/support/node_modules/axios/lib/core/transformData.js +28 -0
  59. package/node_modules/@appium/support/node_modules/axios/lib/defaults/index.js +178 -0
  60. package/node_modules/@appium/support/node_modules/axios/lib/defaults/transitional.js +10 -0
  61. package/node_modules/@appium/support/node_modules/axios/lib/env/README.md +3 -0
  62. package/node_modules/@appium/support/node_modules/axios/lib/env/classes/FormData.js +2 -0
  63. package/node_modules/@appium/support/node_modules/axios/lib/env/data.js +1 -0
  64. package/node_modules/@appium/support/node_modules/axios/lib/helpers/AxiosTransformStream.js +156 -0
  65. package/node_modules/@appium/support/node_modules/axios/lib/helpers/AxiosURLSearchParams.js +59 -0
  66. package/node_modules/@appium/support/node_modules/axios/lib/helpers/Http2Sessions.js +121 -0
  67. package/node_modules/@appium/support/node_modules/axios/lib/helpers/HttpStatusCode.js +88 -0
  68. package/node_modules/@appium/support/node_modules/axios/lib/helpers/README.md +7 -0
  69. package/node_modules/@appium/support/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js +29 -0
  70. package/node_modules/@appium/support/node_modules/axios/lib/helpers/bind.js +14 -0
  71. package/node_modules/@appium/support/node_modules/axios/lib/helpers/buildURL.js +69 -0
  72. package/node_modules/@appium/support/node_modules/axios/lib/helpers/callbackify.js +18 -0
  73. package/node_modules/@appium/support/node_modules/axios/lib/helpers/combineURLs.js +23 -0
  74. package/node_modules/@appium/support/node_modules/axios/lib/helpers/composeSignals.js +68 -0
  75. package/node_modules/@appium/support/node_modules/axios/lib/helpers/cookies.js +64 -0
  76. package/node_modules/@appium/support/node_modules/axios/lib/helpers/deprecatedMethod.js +31 -0
  77. package/node_modules/@appium/support/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +166 -0
  78. package/node_modules/@appium/support/node_modules/axios/lib/helpers/formDataToJSON.js +125 -0
  79. package/node_modules/@appium/support/node_modules/axios/lib/helpers/formDataToStream.js +119 -0
  80. package/node_modules/@appium/support/node_modules/axios/lib/helpers/fromDataURI.js +69 -0
  81. package/node_modules/@appium/support/node_modules/axios/lib/helpers/isAbsoluteURL.js +19 -0
  82. package/node_modules/@appium/support/node_modules/axios/lib/helpers/isAxiosError.js +14 -0
  83. package/node_modules/@appium/support/node_modules/axios/lib/helpers/isURLSameOrigin.js +16 -0
  84. package/node_modules/@appium/support/node_modules/axios/lib/helpers/normalizeURLForProtocolCheck.js +24 -0
  85. package/node_modules/@appium/support/node_modules/axios/lib/helpers/null.js +2 -0
  86. package/node_modules/@appium/support/node_modules/axios/lib/helpers/parseHeaders.js +71 -0
  87. package/node_modules/@appium/support/node_modules/axios/lib/helpers/parseProtocol.js +6 -0
  88. package/node_modules/@appium/support/node_modules/axios/lib/helpers/progressEventReducer.js +54 -0
  89. package/node_modules/@appium/support/node_modules/axios/lib/helpers/readBlob.js +15 -0
  90. package/node_modules/@appium/support/node_modules/axios/lib/helpers/resolveConfig.js +107 -0
  91. package/node_modules/@appium/support/node_modules/axios/lib/helpers/sanitizeHeaderValue.js +60 -0
  92. package/node_modules/@appium/support/node_modules/axios/lib/helpers/shouldBypassProxy.js +505 -0
  93. package/node_modules/@appium/support/node_modules/axios/lib/helpers/speedometer.js +55 -0
  94. package/node_modules/@appium/support/node_modules/axios/lib/helpers/spread.js +28 -0
  95. package/node_modules/@appium/support/node_modules/axios/lib/helpers/throttle.js +45 -0
  96. package/node_modules/@appium/support/node_modules/axios/lib/helpers/toFormData.js +279 -0
  97. package/node_modules/@appium/support/node_modules/axios/lib/helpers/toURLEncodedForm.js +19 -0
  98. package/node_modules/@appium/support/node_modules/axios/lib/helpers/trackStream.js +89 -0
  99. package/node_modules/@appium/support/node_modules/axios/lib/helpers/validator.js +112 -0
  100. package/node_modules/@appium/support/node_modules/axios/lib/platform/browser/classes/Blob.js +3 -0
  101. package/node_modules/@appium/support/node_modules/axios/lib/platform/browser/classes/FormData.js +3 -0
  102. package/node_modules/@appium/support/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js +4 -0
  103. package/node_modules/@appium/support/node_modules/axios/lib/platform/browser/index.js +13 -0
  104. package/node_modules/@appium/support/node_modules/axios/lib/platform/common/utils.js +52 -0
  105. package/node_modules/@appium/support/node_modules/axios/lib/platform/index.js +7 -0
  106. package/node_modules/@appium/support/node_modules/axios/lib/platform/node/classes/Buffer.js +11 -0
  107. package/node_modules/@appium/support/node_modules/axios/lib/platform/node/classes/FormData.js +3 -0
  108. package/node_modules/@appium/support/node_modules/axios/lib/platform/node/classes/URLSearchParams.js +4 -0
  109. package/node_modules/@appium/support/node_modules/axios/lib/platform/node/index.js +37 -0
  110. package/node_modules/@appium/support/node_modules/axios/lib/utils.js +1150 -0
  111. package/node_modules/@appium/support/node_modules/axios/package.json +203 -0
  112. package/node_modules/@appium/support/package.json +6 -6
  113. package/node_modules/@appium/types/build/lib/commands/basedriver.d.ts +6 -4
  114. package/node_modules/@appium/types/build/lib/commands/basedriver.d.ts.map +1 -1
  115. package/node_modules/@appium/types/lib/commands/basedriver.ts +4 -4
  116. package/node_modules/@appium/types/package.json +2 -2
  117. package/node_modules/appium-xcode/CHANGELOG.md +7 -0
  118. package/node_modules/appium-xcode/package.json +4 -4
  119. package/node_modules/asyncbox/README.md +43 -0
  120. package/node_modules/asyncbox/build/cjs/lib/asyncfilter.d.ts +9 -0
  121. package/node_modules/asyncbox/build/cjs/lib/asyncfilter.d.ts.map +1 -0
  122. package/node_modules/asyncbox/build/cjs/lib/asyncfilter.js +35 -0
  123. package/node_modules/asyncbox/build/cjs/lib/asyncfilter.js.map +1 -0
  124. package/node_modules/asyncbox/build/cjs/lib/asyncmap.d.ts +9 -0
  125. package/node_modules/asyncbox/build/cjs/lib/asyncmap.d.ts.map +1 -0
  126. package/node_modules/asyncbox/build/cjs/lib/asyncmap.js +23 -0
  127. package/node_modules/asyncbox/build/cjs/lib/asyncmap.js.map +1 -0
  128. package/node_modules/asyncbox/build/cjs/lib/errors.d.ts +9 -0
  129. package/node_modules/asyncbox/build/cjs/lib/errors.d.ts.map +1 -0
  130. package/node_modules/asyncbox/build/cjs/lib/errors.js +20 -0
  131. package/node_modules/asyncbox/build/cjs/lib/errors.js.map +1 -0
  132. package/node_modules/asyncbox/build/cjs/lib/index.d.ts +12 -0
  133. package/node_modules/asyncbox/build/cjs/lib/index.d.ts.map +1 -0
  134. package/node_modules/asyncbox/build/cjs/lib/index.js +24 -0
  135. package/node_modules/asyncbox/build/cjs/lib/index.js.map +1 -0
  136. package/node_modules/asyncbox/build/cjs/lib/limit-function.d.ts +3 -0
  137. package/node_modules/asyncbox/build/cjs/lib/limit-function.d.ts.map +1 -0
  138. package/node_modules/asyncbox/build/cjs/lib/limit-function.js +15 -0
  139. package/node_modules/asyncbox/build/cjs/lib/limit-function.js.map +1 -0
  140. package/node_modules/asyncbox/build/cjs/lib/lock.d.ts +74 -0
  141. package/node_modules/asyncbox/build/cjs/lib/lock.d.ts.map +1 -0
  142. package/node_modules/asyncbox/build/cjs/lib/lock.js +295 -0
  143. package/node_modules/asyncbox/build/cjs/lib/lock.js.map +1 -0
  144. package/node_modules/asyncbox/build/cjs/lib/long-sleep.d.ts +15 -0
  145. package/node_modules/asyncbox/build/cjs/lib/long-sleep.d.ts.map +1 -0
  146. package/node_modules/asyncbox/build/cjs/lib/long-sleep.js +36 -0
  147. package/node_modules/asyncbox/build/cjs/lib/long-sleep.js.map +1 -0
  148. package/node_modules/asyncbox/build/cjs/lib/retry.d.ts +17 -0
  149. package/node_modules/asyncbox/build/cjs/lib/retry.d.ts.map +1 -0
  150. package/node_modules/asyncbox/build/cjs/lib/retry.js +57 -0
  151. package/node_modules/asyncbox/build/cjs/lib/retry.js.map +1 -0
  152. package/node_modules/asyncbox/build/cjs/lib/sleep.d.ts +20 -0
  153. package/node_modules/asyncbox/build/cjs/lib/sleep.d.ts.map +1 -0
  154. package/node_modules/asyncbox/build/cjs/lib/sleep.js +61 -0
  155. package/node_modules/asyncbox/build/cjs/lib/sleep.js.map +1 -0
  156. package/node_modules/asyncbox/build/cjs/lib/wait-for-condition.d.ts +18 -0
  157. package/node_modules/asyncbox/build/cjs/lib/wait-for-condition.d.ts.map +1 -0
  158. package/node_modules/asyncbox/build/cjs/lib/wait-for-condition.js +51 -0
  159. package/node_modules/asyncbox/build/cjs/lib/wait-for-condition.js.map +1 -0
  160. package/node_modules/asyncbox/build/cjs/lib/with-timeout.d.ts +16 -0
  161. package/node_modules/asyncbox/build/cjs/lib/with-timeout.d.ts.map +1 -0
  162. package/node_modules/asyncbox/build/cjs/lib/with-timeout.js +45 -0
  163. package/node_modules/asyncbox/build/cjs/lib/with-timeout.js.map +1 -0
  164. package/node_modules/asyncbox/build/esm/lib/asyncfilter.d.ts +9 -0
  165. package/node_modules/asyncbox/build/esm/lib/asyncfilter.d.ts.map +1 -0
  166. package/node_modules/asyncbox/build/esm/lib/asyncfilter.js +32 -0
  167. package/node_modules/asyncbox/build/esm/lib/asyncfilter.js.map +1 -0
  168. package/node_modules/asyncbox/build/esm/lib/asyncmap.d.ts +9 -0
  169. package/node_modules/asyncbox/build/esm/lib/asyncmap.d.ts.map +1 -0
  170. package/node_modules/asyncbox/build/esm/lib/asyncmap.js +20 -0
  171. package/node_modules/asyncbox/build/esm/lib/asyncmap.js.map +1 -0
  172. package/node_modules/asyncbox/build/esm/lib/errors.d.ts +9 -0
  173. package/node_modules/asyncbox/build/esm/lib/errors.d.ts.map +1 -0
  174. package/node_modules/asyncbox/build/esm/lib/errors.js +15 -0
  175. package/node_modules/asyncbox/build/esm/lib/errors.js.map +1 -0
  176. package/node_modules/asyncbox/build/esm/lib/index.d.ts +12 -0
  177. package/node_modules/asyncbox/build/esm/lib/index.d.ts.map +1 -0
  178. package/node_modules/asyncbox/build/esm/lib/index.js +10 -0
  179. package/node_modules/asyncbox/build/esm/lib/index.js.map +1 -0
  180. package/node_modules/asyncbox/build/esm/lib/limit-function.d.ts +3 -0
  181. package/node_modules/asyncbox/build/esm/lib/limit-function.d.ts.map +1 -0
  182. package/node_modules/asyncbox/build/esm/lib/limit-function.js +12 -0
  183. package/node_modules/asyncbox/build/esm/lib/limit-function.js.map +1 -0
  184. package/node_modules/asyncbox/build/esm/lib/lock.d.ts +74 -0
  185. package/node_modules/asyncbox/build/esm/lib/lock.d.ts.map +1 -0
  186. package/node_modules/asyncbox/build/esm/lib/lock.js +291 -0
  187. package/node_modules/asyncbox/build/esm/lib/lock.js.map +1 -0
  188. package/node_modules/asyncbox/build/esm/lib/long-sleep.d.ts +15 -0
  189. package/node_modules/asyncbox/build/esm/lib/long-sleep.d.ts.map +1 -0
  190. package/node_modules/asyncbox/build/esm/lib/long-sleep.js +33 -0
  191. package/node_modules/asyncbox/build/esm/lib/long-sleep.js.map +1 -0
  192. package/node_modules/asyncbox/build/esm/lib/retry.d.ts +17 -0
  193. package/node_modules/asyncbox/build/esm/lib/retry.d.ts.map +1 -0
  194. package/node_modules/asyncbox/build/esm/lib/retry.js +53 -0
  195. package/node_modules/asyncbox/build/esm/lib/retry.js.map +1 -0
  196. package/node_modules/asyncbox/build/esm/lib/sleep.d.ts +20 -0
  197. package/node_modules/asyncbox/build/esm/lib/sleep.d.ts.map +1 -0
  198. package/node_modules/asyncbox/build/esm/lib/sleep.js +58 -0
  199. package/node_modules/asyncbox/build/esm/lib/sleep.js.map +1 -0
  200. package/node_modules/asyncbox/build/esm/lib/wait-for-condition.d.ts +18 -0
  201. package/node_modules/asyncbox/build/esm/lib/wait-for-condition.d.ts.map +1 -0
  202. package/node_modules/asyncbox/build/esm/lib/wait-for-condition.js +48 -0
  203. package/node_modules/asyncbox/build/esm/lib/wait-for-condition.js.map +1 -0
  204. package/node_modules/asyncbox/build/esm/lib/with-timeout.d.ts +16 -0
  205. package/node_modules/asyncbox/build/esm/lib/with-timeout.d.ts.map +1 -0
  206. package/node_modules/asyncbox/build/esm/lib/with-timeout.js +42 -0
  207. package/node_modules/asyncbox/build/esm/lib/with-timeout.js.map +1 -0
  208. package/node_modules/asyncbox/lib/asyncfilter.ts +38 -0
  209. package/node_modules/asyncbox/lib/asyncmap.ts +29 -0
  210. package/node_modules/asyncbox/lib/errors.ts +15 -0
  211. package/node_modules/asyncbox/lib/index.ts +21 -0
  212. package/node_modules/asyncbox/lib/limit-function.ts +18 -0
  213. package/node_modules/asyncbox/lib/lock.ts +360 -0
  214. package/node_modules/asyncbox/lib/long-sleep.ts +38 -0
  215. package/node_modules/asyncbox/lib/retry.ts +61 -0
  216. package/node_modules/asyncbox/lib/sleep.ts +79 -0
  217. package/node_modules/asyncbox/lib/wait-for-condition.ts +52 -0
  218. package/node_modules/asyncbox/lib/with-timeout.ts +43 -0
  219. package/node_modules/asyncbox/package.json +8 -8
  220. package/node_modules/axios/README.md +41 -106
  221. package/node_modules/axios/dist/axios.js +931 -278
  222. package/node_modules/axios/dist/axios.min.js +2 -2
  223. package/node_modules/axios/dist/axios.min.js.map +1 -1
  224. package/node_modules/axios/dist/browser/axios.cjs +948 -268
  225. package/node_modules/axios/dist/esm/axios.js +948 -268
  226. package/node_modules/axios/dist/esm/axios.min.js +2 -2
  227. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  228. package/node_modules/axios/dist/node/axios.cjs +925 -242
  229. package/node_modules/axios/index.d.cts +20 -1
  230. package/node_modules/axios/index.d.ts +18 -1
  231. package/node_modules/axios/lib/adapters/fetch.js +73 -20
  232. package/node_modules/axios/lib/adapters/http.js +145 -26
  233. package/node_modules/axios/lib/adapters/xhr.js +120 -13
  234. package/node_modules/axios/lib/core/Axios.js +67 -12
  235. package/node_modules/axios/lib/core/AxiosError.js +59 -0
  236. package/node_modules/axios/lib/core/AxiosHeaders.js +17 -4
  237. package/node_modules/axios/lib/core/InterceptorManager.js +13 -2
  238. package/node_modules/axios/lib/core/assertParamsAcyclic.js +49 -0
  239. package/node_modules/axios/lib/core/createMultipartBody.js +37 -0
  240. package/node_modules/axios/lib/core/dispatchRequest.js +20 -0
  241. package/node_modules/axios/lib/core/mergeConfig.js +183 -120
  242. package/node_modules/axios/lib/defaults/transitional.js +1 -0
  243. package/node_modules/axios/lib/env/data.js +1 -1
  244. package/node_modules/axios/lib/helpers/AxiosTransformStream.js +11 -2
  245. package/node_modules/axios/lib/helpers/Http2Sessions.js +2 -1
  246. package/node_modules/axios/lib/helpers/composeSignals.js +6 -3
  247. package/node_modules/axios/lib/helpers/cookies.js +30 -6
  248. package/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +34 -7
  249. package/node_modules/axios/lib/helpers/formDataToBlob.js +113 -0
  250. package/node_modules/axios/lib/helpers/formDataToJSON.js +25 -1
  251. package/node_modules/axios/lib/helpers/fromDataURI.js +8 -2
  252. package/node_modules/axios/lib/helpers/isURLSameOrigin.js +4 -9
  253. package/node_modules/axios/lib/helpers/parseHeaders.js +2 -1
  254. package/node_modules/axios/lib/helpers/parseProtocol.js +1 -1
  255. package/node_modules/axios/lib/helpers/resolveConfig.js +16 -3
  256. package/node_modules/axios/lib/helpers/shouldBypassProxy.js +16 -1
  257. package/node_modules/axios/lib/utils.js +61 -10
  258. package/node_modules/axios/package.json +1 -2
  259. package/node_modules/follow-redirects/README.md +27 -1
  260. package/node_modules/follow-redirects/index.js +1 -5
  261. package/node_modules/follow-redirects/package.json +1 -1
  262. package/node_modules/shell-quote/README.md +37 -4
  263. package/node_modules/shell-quote/package.json +10 -6
  264. package/node_modules/shell-quote/parse.d.ts +1 -1
  265. package/node_modules/shell-quote/parse.js +63 -11
  266. package/node_modules/shell-quote/quote.d.ts +2 -1
  267. package/node_modules/shell-quote/quote.js +23 -3
  268. package/node_modules/uuid/package.json +17 -17
  269. package/package.json +4 -6
  270. package/node_modules/async-lock/AUTHORS +0 -21
  271. package/node_modules/async-lock/History.md +0 -132
  272. package/node_modules/async-lock/LICENSE +0 -22
  273. package/node_modules/async-lock/README.md +0 -177
  274. package/node_modules/async-lock/index.js +0 -2
  275. package/node_modules/async-lock/lib/index.js +0 -312
  276. package/node_modules/async-lock/package.json +0 -48
  277. package/node_modules/asyncbox/build/cjs/lib/asyncbox.d.ts +0 -103
  278. package/node_modules/asyncbox/build/cjs/lib/asyncbox.d.ts.map +0 -1
  279. package/node_modules/asyncbox/build/cjs/lib/asyncbox.js +0 -311
  280. package/node_modules/asyncbox/build/cjs/lib/asyncbox.js.map +0 -1
  281. package/node_modules/asyncbox/build/esm/lib/asyncbox.d.ts +0 -103
  282. package/node_modules/asyncbox/build/esm/lib/asyncbox.d.ts.map +0 -1
  283. package/node_modules/asyncbox/build/esm/lib/asyncbox.js +0 -298
  284. package/node_modules/asyncbox/build/esm/lib/asyncbox.js.map +0 -1
  285. package/node_modules/asyncbox/lib/asyncbox.ts +0 -382
  286. package/node_modules/shell-quote/.nycrc +0 -14
  287. package/node_modules/shell-quote/eslint.config.mjs +0 -29
  288. package/node_modules/shell-quote/security.md +0 -11
  289. package/node_modules/shell-quote/test/comment.js +0 -16
  290. package/node_modules/shell-quote/test/env.js +0 -52
  291. package/node_modules/shell-quote/test/env_fn.js +0 -21
  292. package/node_modules/shell-quote/test/op.js +0 -102
  293. package/node_modules/shell-quote/test/parse.js +0 -149
  294. package/node_modules/shell-quote/test/quote.js +0 -145
  295. package/node_modules/shell-quote/test/set.js +0 -31
@@ -0,0 +1,696 @@
1
+ import platform from '../platform/index.js';
2
+ import utils from '../utils.js';
3
+ import AxiosError from '../core/AxiosError.js';
4
+ import composeSignals from '../helpers/composeSignals.js';
5
+ import { trackStream } from '../helpers/trackStream.js';
6
+ import AxiosHeaders from '../core/AxiosHeaders.js';
7
+ import {
8
+ progressEventReducer,
9
+ progressEventDecorator,
10
+ asyncDecorator,
11
+ } from '../helpers/progressEventReducer.js';
12
+ import resolveConfig from '../helpers/resolveConfig.js';
13
+ import settle from '../core/settle.js';
14
+ import estimateDataURLDecodedBytes from '../helpers/estimateDataURLDecodedBytes.js';
15
+ import { VERSION } from '../env/data.js';
16
+ import { toByteStringHeaderObject } from '../helpers/sanitizeHeaderValue.js';
17
+
18
+ const DEFAULT_CHUNK_SIZE = 64 * 1024;
19
+
20
+ const DEFAULT_REQUEST_OPTIONS = {
21
+ cache: 'default',
22
+ redirect: 'follow',
23
+ referrer: 'about:client',
24
+ referrerPolicy: '',
25
+ mode: 'cors',
26
+ integrity: '',
27
+ keepalive: false,
28
+ priority: 'auto',
29
+ window: null,
30
+ };
31
+
32
+ const { isFunction } = utils;
33
+
34
+ /**
35
+ * Encode a UTF-8 string to a Latin-1 byte string for use with btoa().
36
+ * This is a modern replacement for the deprecated unescape(encodeURIComponent(str)) pattern.
37
+ *
38
+ * @param {string} str The string to encode
39
+ *
40
+ * @returns {string} UTF-8 bytes as a Latin-1 string
41
+ */
42
+ const encodeUTF8 = (str) =>
43
+ encodeURIComponent(str).replace(/%([0-9A-F]{2})/gi, (_, hex) =>
44
+ String.fromCharCode(parseInt(hex, 16))
45
+ );
46
+
47
+ // Node's WHATWG URL parser returns `username` and `password` percent-encoded.
48
+ // Decode before composing the `auth` option so credentials such as
49
+ // `my%40email.com:pass` are sent as `my@email.com:pass`. Falls back to the
50
+ // original value for malformed input so a bad encoding never throws.
51
+ const decodeURIComponentSafe = (value) => {
52
+ if (!utils.isString(value)) {
53
+ return value;
54
+ }
55
+
56
+ try {
57
+ return decodeURIComponent(value);
58
+ } catch (error) {
59
+ return value;
60
+ }
61
+ };
62
+
63
+ const test = (fn, ...args) => {
64
+ try {
65
+ return !!fn(...args);
66
+ } catch (e) {
67
+ return false;
68
+ }
69
+ };
70
+
71
+ const maybeWithAuthCredentials = (url) => {
72
+ const protocolIndex = url.indexOf('://');
73
+ let urlToCheck = url;
74
+ if (protocolIndex !== -1) {
75
+ urlToCheck = urlToCheck.slice(protocolIndex + 3);
76
+ }
77
+ return urlToCheck.includes('@') || urlToCheck.includes(':');
78
+ };
79
+
80
+ const factory = (env) => {
81
+ const globalObject =
82
+ utils.global !== undefined && utils.global !== null ? utils.global : globalThis;
83
+ const { ReadableStream, TextEncoder } = globalObject;
84
+
85
+ env = utils.merge.call(
86
+ {
87
+ skipUndefined: true,
88
+ },
89
+ {
90
+ Request: globalObject.Request,
91
+ Response: globalObject.Response,
92
+ },
93
+ env
94
+ );
95
+
96
+ const { fetch: envFetch, Request, Response } = env;
97
+ const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';
98
+ const isRequestSupported = isFunction(Request);
99
+ const isResponseSupported = isFunction(Response);
100
+
101
+ if (!isFetchSupported) {
102
+ return false;
103
+ }
104
+
105
+ const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);
106
+
107
+ const encodeText =
108
+ isFetchSupported &&
109
+ (typeof TextEncoder === 'function'
110
+ ? (
111
+ (encoder) => (str) =>
112
+ encoder.encode(str)
113
+ )(new TextEncoder())
114
+ : async (str) => new Uint8Array(await new Request(str).arrayBuffer()));
115
+
116
+ const supportsRequestStream =
117
+ isRequestSupported &&
118
+ isReadableStreamSupported &&
119
+ test(() => {
120
+ let duplexAccessed = false;
121
+
122
+ const request = new Request(platform.origin, {
123
+ body: new ReadableStream(),
124
+ method: 'POST',
125
+ get duplex() {
126
+ duplexAccessed = true;
127
+ return 'half';
128
+ },
129
+ });
130
+
131
+ const hasContentType = request.headers.has('Content-Type');
132
+
133
+ if (request.body != null) {
134
+ request.body.cancel();
135
+ }
136
+
137
+ return duplexAccessed && !hasContentType;
138
+ });
139
+
140
+ const supportsResponseStream =
141
+ isResponseSupported &&
142
+ isReadableStreamSupported &&
143
+ test(() => utils.isReadableStream(new Response('').body));
144
+
145
+ const resolvers = {
146
+ stream: supportsResponseStream && ((res) => res.body),
147
+ };
148
+
149
+ isFetchSupported &&
150
+ (() => {
151
+ ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach((type) => {
152
+ !resolvers[type] &&
153
+ (resolvers[type] = (res, config) => {
154
+ let method = res && res[type];
155
+
156
+ if (method) {
157
+ return method.call(res);
158
+ }
159
+
160
+ throw new AxiosError(
161
+ `Response type '${type}' is not supported`,
162
+ AxiosError.ERR_NOT_SUPPORT,
163
+ config
164
+ );
165
+ });
166
+ });
167
+ })();
168
+
169
+ const getBodyLength = async (body) => {
170
+ if (body == null) {
171
+ return 0;
172
+ }
173
+
174
+ if (utils.isBlob(body)) {
175
+ return body.size;
176
+ }
177
+
178
+ if (utils.isSpecCompliantForm(body)) {
179
+ const _request = new Request(platform.origin, {
180
+ method: 'POST',
181
+ body,
182
+ });
183
+ return (await _request.arrayBuffer()).byteLength;
184
+ }
185
+
186
+ if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {
187
+ return body.byteLength;
188
+ }
189
+
190
+ if (utils.isURLSearchParams(body)) {
191
+ body = body + '';
192
+ }
193
+
194
+ if (utils.isString(body)) {
195
+ return (await encodeText(body)).byteLength;
196
+ }
197
+ };
198
+
199
+ const resolveBodyLength = async (headers, body) => {
200
+ const length = utils.toFiniteNumber(headers.getContentLength());
201
+
202
+ return length == null ? getBodyLength(body) : length;
203
+ };
204
+
205
+ return async (config) => {
206
+ let {
207
+ url,
208
+ method,
209
+ data,
210
+ signal,
211
+ cancelToken,
212
+ timeout,
213
+ onDownloadProgress,
214
+ onUploadProgress,
215
+ responseType,
216
+ headers,
217
+ withCredentials = 'same-origin',
218
+ fetchOptions,
219
+ maxContentLength,
220
+ maxBodyLength,
221
+ maxRedirects,
222
+ } = resolveConfig(config);
223
+
224
+ const hasMaxContentLength = utils.isNumber(maxContentLength) && maxContentLength > -1;
225
+ const hasMaxBodyLength = utils.isNumber(maxBodyLength) && maxBodyLength > -1;
226
+ const own = (key) => (utils.hasOwnProp(config, key) ? config[key] : undefined);
227
+
228
+ let _fetch = envFetch || fetch;
229
+
230
+ responseType = responseType ? (responseType + '').toLowerCase() : 'text';
231
+
232
+ let composedSignal = composeSignals(
233
+ [signal, cancelToken && cancelToken.toAbortSignal()],
234
+ timeout
235
+ );
236
+
237
+ let request = null;
238
+
239
+ const unsubscribe =
240
+ composedSignal &&
241
+ composedSignal.unsubscribe &&
242
+ (() => {
243
+ composedSignal.unsubscribe();
244
+ });
245
+
246
+ let requestContentLength;
247
+
248
+ // AxiosError we raise while the request body is being streamed. Captured
249
+ // by identity so the catch block can surface it directly, regardless of
250
+ // how the runtime wraps the resulting fetch rejection (undici exposes it
251
+ // as `err.cause`; some browsers drop the original error entirely).
252
+ let pendingBodyError = null;
253
+
254
+ const maxBodyLengthError = () =>
255
+ new AxiosError(
256
+ 'Request body larger than maxBodyLength limit',
257
+ AxiosError.ERR_BAD_REQUEST,
258
+ config,
259
+ request
260
+ );
261
+
262
+ try {
263
+ // HTTP basic authentication
264
+ let auth = undefined;
265
+ const configAuth = own('auth');
266
+
267
+ if (configAuth) {
268
+ const username = utils.getSafeProp(configAuth, 'username') || '';
269
+ const password = utils.getSafeProp(configAuth, 'password') || '';
270
+ auth = {
271
+ username,
272
+ password,
273
+ };
274
+ }
275
+
276
+ if (maybeWithAuthCredentials(url)) {
277
+ const parsedURL = new URL(url, platform.origin);
278
+
279
+ if (!auth && (parsedURL.username || parsedURL.password)) {
280
+ const urlUsername = decodeURIComponentSafe(parsedURL.username);
281
+ const urlPassword = decodeURIComponentSafe(parsedURL.password);
282
+ auth = {
283
+ username: urlUsername,
284
+ password: urlPassword,
285
+ };
286
+ }
287
+
288
+ if (parsedURL.username || parsedURL.password) {
289
+ parsedURL.username = '';
290
+ parsedURL.password = '';
291
+ url = parsedURL.href;
292
+ }
293
+ }
294
+
295
+ if (auth) {
296
+ headers.delete('authorization');
297
+ headers.set(
298
+ 'Authorization',
299
+ 'Basic ' + btoa(encodeUTF8((auth.username || '') + ':' + (auth.password || '')))
300
+ );
301
+ }
302
+
303
+ // Enforce maxContentLength for data: URLs up-front so we never materialize
304
+ // an oversized payload. The HTTP adapter applies the same check (see http.js
305
+ // "if (protocol === 'data:')" branch).
306
+ if (hasMaxContentLength && typeof url === 'string' && url.startsWith('data:')) {
307
+ const estimated = estimateDataURLDecodedBytes(url);
308
+ if (estimated > maxContentLength) {
309
+ throw new AxiosError(
310
+ 'maxContentLength size of ' + maxContentLength + ' exceeded',
311
+ AxiosError.ERR_BAD_RESPONSE,
312
+ config,
313
+ request
314
+ );
315
+ }
316
+ }
317
+
318
+ // Enforce maxBodyLength against known-size bodies before dispatch using
319
+ // the body's *actual* size — never a caller-declared Content-Length,
320
+ // which could under-report to slip an oversized body past the check.
321
+ // Unknown-size streams return undefined here and are counted per-chunk
322
+ // below as fetch consumes them.
323
+ if (hasMaxBodyLength && method !== 'get' && method !== 'head') {
324
+ const outboundLength = await getBodyLength(data);
325
+ if (typeof outboundLength === 'number' && isFinite(outboundLength)) {
326
+ requestContentLength = outboundLength;
327
+ if (outboundLength > maxBodyLength) {
328
+ throw maxBodyLengthError();
329
+ }
330
+ }
331
+ }
332
+
333
+ // A streamed body under maxBodyLength must be counted as fetch consumes
334
+ // it; its size is never trusted from a caller-declared Content-Length.
335
+ const mustEnforceStreamBody =
336
+ hasMaxBodyLength && (utils.isReadableStream(data) || utils.isStream(data));
337
+
338
+ const trackRequestStream = (stream, onProgress, flush) =>
339
+ trackStream(
340
+ stream,
341
+ DEFAULT_CHUNK_SIZE,
342
+ (loadedBytes) => {
343
+ if (hasMaxBodyLength && loadedBytes > maxBodyLength) {
344
+ throw (pendingBodyError = maxBodyLengthError());
345
+ }
346
+ onProgress && onProgress(loadedBytes);
347
+ },
348
+ flush
349
+ );
350
+
351
+ if (
352
+ supportsRequestStream &&
353
+ method !== 'get' &&
354
+ method !== 'head' &&
355
+ (onUploadProgress || mustEnforceStreamBody)
356
+ ) {
357
+ requestContentLength =
358
+ requestContentLength == null
359
+ ? await resolveBodyLength(headers, data)
360
+ : requestContentLength;
361
+
362
+ // A declared length of 0 is only trusted to skip the wrap when we are
363
+ // not enforcing a stream limit (which must not rely on that header).
364
+ if (requestContentLength !== 0 || mustEnforceStreamBody) {
365
+ let _request = new Request(url, {
366
+ method: 'POST',
367
+ body: data,
368
+ duplex: 'half',
369
+ });
370
+
371
+ let contentTypeHeader;
372
+
373
+ if (
374
+ utils.isFormData(data) &&
375
+ (contentTypeHeader = _request.headers.get('content-type'))
376
+ ) {
377
+ headers.setContentType(contentTypeHeader);
378
+ }
379
+
380
+ if (_request.body) {
381
+ const [onProgress, flush] =
382
+ (onUploadProgress &&
383
+ progressEventDecorator(
384
+ requestContentLength,
385
+ progressEventReducer(asyncDecorator(onUploadProgress))
386
+ )) ||
387
+ [];
388
+
389
+ data = trackRequestStream(_request.body, onProgress, flush);
390
+ }
391
+ }
392
+ } else if (
393
+ mustEnforceStreamBody &&
394
+ !isRequestSupported &&
395
+ isReadableStreamSupported &&
396
+ method !== 'get' &&
397
+ method !== 'head'
398
+ ) {
399
+ data = trackRequestStream(data);
400
+ } else if (
401
+ mustEnforceStreamBody &&
402
+ isRequestSupported &&
403
+ !supportsRequestStream &&
404
+ method !== 'get' &&
405
+ method !== 'head'
406
+ ) {
407
+ throw new AxiosError(
408
+ 'Stream request bodies are not supported by the current fetch implementation',
409
+ AxiosError.ERR_NOT_SUPPORT,
410
+ config,
411
+ request
412
+ );
413
+ }
414
+
415
+ if (!utils.isString(withCredentials)) {
416
+ withCredentials = withCredentials ? 'include' : 'omit';
417
+ }
418
+
419
+ // Cloudflare Workers throws when credentials are defined
420
+ // see https://github.com/cloudflare/workerd/issues/902
421
+ const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype;
422
+
423
+ // If data is FormData and Content-Type is multipart/form-data without boundary,
424
+ // delete it so fetch can set it correctly with the boundary
425
+ if (utils.isFormData(data)) {
426
+ const contentType = headers.getContentType();
427
+ if (
428
+ contentType &&
429
+ /^multipart\/form-data/i.test(contentType) &&
430
+ !/boundary=/i.test(contentType)
431
+ ) {
432
+ headers.delete('content-type');
433
+ }
434
+ }
435
+
436
+ // Set User-Agent header if not already set (fetch defaults to 'node' in Node.js)
437
+ headers.set('User-Agent', 'axios/' + VERSION, false);
438
+
439
+ const safeFetchOptions =
440
+ fetchOptions == null ? fetchOptions : Object.assign(Object.create(null), fetchOptions);
441
+
442
+ if (safeFetchOptions) {
443
+ // These options are owned by Axios and are already reflected in the
444
+ // resolved Request passed to fetch.
445
+ delete safeFetchOptions.body;
446
+ delete safeFetchOptions.headers;
447
+ delete safeFetchOptions.method;
448
+ delete safeFetchOptions.signal;
449
+ delete safeFetchOptions.duplex;
450
+ delete safeFetchOptions.credentials;
451
+ }
452
+
453
+ const resolvedOptions = Object.assign(Object.create(null), safeFetchOptions, {
454
+ signal: composedSignal,
455
+ method: method.toUpperCase(),
456
+ headers: toByteStringHeaderObject(headers.normalize()),
457
+ body: data,
458
+ duplex: 'half',
459
+ credentials: isCredentialsSupported ? withCredentials : undefined,
460
+ });
461
+
462
+ if (isRequestSupported) {
463
+ utils.forEach(DEFAULT_REQUEST_OPTIONS, (value, key) => {
464
+ if (resolvedOptions[key] === undefined) {
465
+ resolvedOptions[key] = value;
466
+ }
467
+ });
468
+
469
+ if (resolvedOptions.signal === undefined) {
470
+ resolvedOptions.signal = null;
471
+ }
472
+
473
+ if (resolvedOptions.body === undefined) {
474
+ resolvedOptions.body = null;
475
+ }
476
+ }
477
+
478
+ if (maxRedirects === 0) {
479
+ resolvedOptions.redirect = 'manual';
480
+
481
+ if (safeFetchOptions) {
482
+ safeFetchOptions.redirect = 'manual';
483
+ }
484
+ }
485
+
486
+ request = isRequestSupported && new Request(url, resolvedOptions);
487
+
488
+ let response = await (isRequestSupported
489
+ ? _fetch(request, safeFetchOptions)
490
+ : _fetch(url, resolvedOptions));
491
+
492
+ const responseHeaders = AxiosHeaders.from(response.headers);
493
+
494
+ // Cheap pre-check: if the server honestly declares a content-length that
495
+ // already exceeds the cap, reject before we start streaming.
496
+ if (hasMaxContentLength) {
497
+ const declaredLength = utils.toFiniteNumber(responseHeaders.getContentLength());
498
+ if (declaredLength != null && declaredLength > maxContentLength) {
499
+ throw new AxiosError(
500
+ 'maxContentLength size of ' + maxContentLength + ' exceeded',
501
+ AxiosError.ERR_BAD_RESPONSE,
502
+ config,
503
+ request
504
+ );
505
+ }
506
+ }
507
+
508
+ const isStreamResponse =
509
+ supportsResponseStream && (responseType === 'stream' || responseType === 'response');
510
+
511
+ if (
512
+ supportsResponseStream &&
513
+ response.body &&
514
+ (onDownloadProgress || hasMaxContentLength || (isStreamResponse && unsubscribe))
515
+ ) {
516
+ const options = {};
517
+
518
+ ['status', 'statusText', 'headers'].forEach((prop) => {
519
+ options[prop] = response[prop];
520
+ });
521
+
522
+ const responseContentLength = utils.toFiniteNumber(responseHeaders.getContentLength());
523
+
524
+ const [onProgress, flush] =
525
+ (onDownloadProgress &&
526
+ progressEventDecorator(
527
+ responseContentLength,
528
+ progressEventReducer(asyncDecorator(onDownloadProgress), true)
529
+ )) ||
530
+ [];
531
+
532
+ let bytesRead = 0;
533
+ const onChunkProgress = (loadedBytes) => {
534
+ if (hasMaxContentLength) {
535
+ bytesRead = loadedBytes;
536
+ if (bytesRead > maxContentLength) {
537
+ throw new AxiosError(
538
+ 'maxContentLength size of ' + maxContentLength + ' exceeded',
539
+ AxiosError.ERR_BAD_RESPONSE,
540
+ config,
541
+ request
542
+ );
543
+ }
544
+ }
545
+ onProgress && onProgress(loadedBytes);
546
+ };
547
+
548
+ response = new Response(
549
+ trackStream(response.body, DEFAULT_CHUNK_SIZE, onChunkProgress, () => {
550
+ flush && flush();
551
+ unsubscribe && unsubscribe();
552
+ }),
553
+ options
554
+ );
555
+ }
556
+
557
+ responseType = responseType || 'text';
558
+
559
+ let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](
560
+ response,
561
+ config
562
+ );
563
+
564
+ // Fallback enforcement for environments without ReadableStream support
565
+ // (legacy runtimes). Detect materialized size from typed output; skip
566
+ // streams/Response passthrough since the user will read those themselves.
567
+ if (hasMaxContentLength && !supportsResponseStream && !isStreamResponse) {
568
+ let materializedSize;
569
+ if (responseData != null) {
570
+ if (typeof responseData.byteLength === 'number') {
571
+ materializedSize = responseData.byteLength;
572
+ } else if (typeof responseData.size === 'number') {
573
+ materializedSize = responseData.size;
574
+ } else if (typeof responseData === 'string') {
575
+ materializedSize =
576
+ typeof TextEncoder === 'function'
577
+ ? new TextEncoder().encode(responseData).byteLength
578
+ : responseData.length;
579
+ }
580
+ }
581
+ if (typeof materializedSize === 'number' && materializedSize > maxContentLength) {
582
+ throw new AxiosError(
583
+ 'maxContentLength size of ' + maxContentLength + ' exceeded',
584
+ AxiosError.ERR_BAD_RESPONSE,
585
+ config,
586
+ request
587
+ );
588
+ }
589
+ }
590
+
591
+ !isStreamResponse && unsubscribe && unsubscribe();
592
+
593
+ return await new Promise((resolve, reject) => {
594
+ settle(resolve, reject, {
595
+ data: responseData,
596
+ headers: AxiosHeaders.from(response.headers),
597
+ status: response.status,
598
+ statusText: response.statusText,
599
+ config,
600
+ request,
601
+ });
602
+ });
603
+ } catch (err) {
604
+ unsubscribe && unsubscribe();
605
+
606
+ // Safari can surface fetch aborts as a DOMException-like object whose
607
+ // branded getters throw. Prefer our composed signal reason before reading
608
+ // the caught error, preserving timeout vs cancellation semantics.
609
+ if (composedSignal && composedSignal.aborted && composedSignal.reason instanceof AxiosError) {
610
+ const canceledError = composedSignal.reason;
611
+ canceledError.config = config;
612
+ request && (canceledError.request = request);
613
+ if (err !== canceledError) {
614
+ // Non-enumerable to match native Error `cause` semantics so loggers
615
+ // don't recurse into circular fetch internals (see #7205).
616
+ Object.defineProperty(canceledError, 'cause', {
617
+ __proto__: null,
618
+ value: err,
619
+ writable: true,
620
+ enumerable: false,
621
+ configurable: true,
622
+ });
623
+ }
624
+ throw canceledError;
625
+ }
626
+
627
+ // Surface a maxBodyLength violation we raised while the request body was
628
+ // being streamed. Matching by identity (rather than reading
629
+ // `err.cause.isAxiosError`) keeps the error deterministic across runtimes
630
+ // and avoids both prototype-pollution reads and mis-attributing a foreign
631
+ // AxiosError that merely happened to land in `err.cause`.
632
+ if (pendingBodyError) {
633
+ request && !pendingBodyError.request && (pendingBodyError.request = request);
634
+ throw pendingBodyError;
635
+ }
636
+
637
+ // Re-throw AxiosErrors we raised synchronously (data: URL / content-length
638
+ // pre-checks, response size enforcement) without re-wrapping them.
639
+ if (err instanceof AxiosError) {
640
+ request && !err.request && (err.request = request);
641
+ throw err;
642
+ }
643
+
644
+ if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {
645
+ const networkError = new AxiosError(
646
+ 'Network Error',
647
+ AxiosError.ERR_NETWORK,
648
+ config,
649
+ request,
650
+ err && err.response
651
+ );
652
+ // Non-enumerable to match native Error `cause` semantics so loggers
653
+ // don't recurse into circular fetch internals (see #7205).
654
+ Object.defineProperty(networkError, 'cause', {
655
+ __proto__: null,
656
+ value: err.cause || err,
657
+ writable: true,
658
+ enumerable: false,
659
+ configurable: true,
660
+ });
661
+ throw networkError;
662
+ }
663
+
664
+ throw AxiosError.from(err, err && err.code, config, request, err && err.response);
665
+ }
666
+ };
667
+ };
668
+
669
+ const seedCache = new Map();
670
+
671
+ export const getFetch = (config) => {
672
+ let env = (config && config.env) || {};
673
+ const { fetch, Request, Response } = env;
674
+ const seeds = [Request, Response, fetch];
675
+
676
+ let len = seeds.length,
677
+ i = len,
678
+ seed,
679
+ target,
680
+ map = seedCache;
681
+
682
+ while (i--) {
683
+ seed = seeds[i];
684
+ target = map.get(seed);
685
+
686
+ target === undefined && map.set(seed, (target = i ? new Map() : factory(env)));
687
+
688
+ map = target;
689
+ }
690
+
691
+ return target;
692
+ };
693
+
694
+ const adapter = getFetch();
695
+
696
+ export default adapter;