{"version":3,"file":"upload.mjs","sources":["../../../../../src/uni-adapter/methods/upload.ts"],"sourcesContent":["import { AxiosError, AxiosHeaders } from \"axios\";\n// @ts-expect-error ignore\nimport settle from \"axios/unsafe/core/settle\";\nimport { resolveUniAppRequestOptions } from \"../utils\";\nimport OnCanceled from \"./onCanceled\";\nimport type { Method } from \"../type\";\nimport type { AxiosResponse, InternalAxiosRequestConfig } from \"axios\";\n\nconst upload: Method = (config) => {\n\treturn new Promise((resolve, reject) => {\n\t\tconst requestOptions = resolveUniAppRequestOptions(config);\n\t\tconst responseConfig = config as InternalAxiosRequestConfig;\n\t\tresponseConfig.headers = new AxiosHeaders(requestOptions.header);\n\n\t\tconst onCanceled = new OnCanceled(config);\n\n\t\tlet task: UniApp.UploadTask | null = uni.uploadFile({\n\t\t\t...requestOptions,\n\t\t\tsuccess(result) {\n\t\t\t\tif (!task) return;\n\n\t\t\t\tconst headers = new AxiosHeaders(result.header);\n\t\t\t\tconst response: AxiosResponse = {\n\t\t\t\t\tconfig: responseConfig,\n\t\t\t\t\tdata: result.data,\n\t\t\t\t\theaders,\n\t\t\t\t\tstatus: result.statusCode,\n\t\t\t\t\tstatusText: result.errMsg ?? \"OK\",\n\t\t\t\t\trequest: task,\n\t\t\t\t};\n\t\t\t\tsettle(resolve, reject, response);\n\t\t\t\ttask = null;\n\t\t\t},\n\t\t\tfail(error) {\n\t\t\t\tconst { errMsg = \"\" } = error ?? {};\n\t\t\t\tif (errMsg) {\n\t\t\t\t\tconst isTimeoutError = errMsg === \"uploadFile:fail timeout\";\n\t\t\t\t\tconst isNetworkError = errMsg === \"uploadFile:fail file error\";\n\t\t\t\t\tif (isTimeoutError) reject(new AxiosError(errMsg, AxiosError.ETIMEDOUT, responseConfig, task));\n\n\t\t\t\t\tif (isNetworkError) {\n\t\t\t\t\t\treject(new AxiosError(errMsg, AxiosError.ERR_NETWORK, responseConfig, task));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treject(new AxiosError(error.errMsg, undefined, responseConfig, task));\n\t\t\t\ttask = null;\n\t\t\t},\n\t\t\tcomplete() {\n\t\t\t\tonCanceled.unsubscribe();\n\t\t\t},\n\t\t});\n\t\tif (typeof config.onHeadersReceived === \"function\") task.onHeadersReceived(config.onHeadersReceived);\n\n\t\tonCanceled.subscribe(task, reject);\n\t});\n};\n\nexport default upload;\n"],"names":["upload","config","Promise","resolve","reject","requestOptions","resolveUniAppRequestOptions","responseConfig","headers","AxiosHeaders","header","onCanceled","OnCanceled","task","uni","uploadFile","success","result","response","data","status","statusCode","statusText","errMsg","request","settle","fail","error","isNetworkError","AxiosError","ETIMEDOUT","ERR_NETWORK","complete","unsubscribe","onHeadersReceived","subscribe"],"mappings":"kPAQA,MAAMA,EAAkBC,GAChB,IAAIC,QAAQ,CAACC,EAASC,KAC5B,MAAMC,EAAiBC,EAA4BL,GAC7CM,EAAiBN,EACvBM,EAAeC,QAAU,IAAIC,EAAaJ,EAAeK,QAEzD,MAAMC,EAAa,IAAIC,EAAWX,GAElC,IAAIY,EAAiCC,IAAIC,WAAW,IAChDV,EACH,OAAAW,CAAQC,GACP,IAAKJ,EAAM,OAEX,MAAML,EAAU,IAAIC,EAAaQ,EAAOP,QAClCQ,EAA0B,CAC/BjB,OAAQM,EACRY,KAAMF,EAAOE,KACbX,UACAY,OAAQH,EAAOI,WACfC,WAAYL,EAAOM,QAAU,KAC7BC,QAASX,GAEVY,EAAOtB,EAASC,EAAQc,GACxBL,EAAO,IACR,EACA,IAAAa,CAAKC,GACJ,MAAMJ,OAAEA,EAAS,IAAOI,GAAS,CAAA,EACjC,GAAIJ,EAAQ,CACX,MACMK,EAA4B,+BAAXL,EADW,4BAAXA,KAEI,IAAIM,EAAWN,EAAQM,EAAWC,UAAWvB,EAAgBM,IAEpFe,GACHxB,EAAO,IAAIyB,EAAWN,EAAQM,EAAWE,YAAaxB,EAAgBM,GAExE,CACAT,EAAO,IAAIyB,EAAWF,EAAMJ,YAAQ,EAAWhB,EAAgBM,IAC/DA,EAAO,IACR,EACA,QAAAmB,GACCrB,EAAWsB,aACZ,IAEuC,mBAA7BhC,EAAOiC,mBAAkCrB,EAAKqB,kBAAkBjC,EAAOiC,mBAElFvB,EAAWwB,UAAUtB,EAAMT"}