@bedelightful/upload-sdk 0.0.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.
- package/LICENSE +8 -0
- package/README.md +132 -0
- package/dist/es/Exception/BaseException.js +14 -0
- package/dist/es/Exception/BaseException.js.map +1 -0
- package/dist/es/Exception/DownloadException.js +40 -0
- package/dist/es/Exception/DownloadException.js.map +1 -0
- package/dist/es/Exception/HttpException.js +50 -0
- package/dist/es/Exception/HttpException.js.map +1 -0
- package/dist/es/Exception/InitException.js +49 -0
- package/dist/es/Exception/InitException.js.map +1 -0
- package/dist/es/Exception/UploadException.js +50 -0
- package/dist/es/Exception/UploadException.js.map +1 -0
- package/dist/es/index.d.ts +867 -0
- package/dist/es/index.js +162 -0
- package/dist/es/index.js.map +1 -0
- package/dist/es/modules/Kodo/defaultUpload.js +38 -0
- package/dist/es/modules/Kodo/defaultUpload.js.map +1 -0
- package/dist/es/modules/Kodo/index.js +8 -0
- package/dist/es/modules/Kodo/index.js.map +1 -0
- package/dist/es/modules/Local/index.js +31 -0
- package/dist/es/modules/Local/index.js.map +1 -0
- package/dist/es/modules/MinIO/MultipartUpload.js +335 -0
- package/dist/es/modules/MinIO/MultipartUpload.js.map +1 -0
- package/dist/es/modules/MinIO/STSUpload.js +10 -0
- package/dist/es/modules/MinIO/STSUpload.js.map +1 -0
- package/dist/es/modules/MinIO/defaultUpload.js +124 -0
- package/dist/es/modules/MinIO/defaultUpload.js.map +1 -0
- package/dist/es/modules/MinIO/index.js +16 -0
- package/dist/es/modules/MinIO/index.js.map +1 -0
- package/dist/es/modules/OBS/MultipartUpload.js +269 -0
- package/dist/es/modules/OBS/MultipartUpload.js.map +1 -0
- package/dist/es/modules/OBS/STSUpload.js +71 -0
- package/dist/es/modules/OBS/STSUpload.js.map +1 -0
- package/dist/es/modules/OBS/defaultUpload.js +59 -0
- package/dist/es/modules/OBS/defaultUpload.js.map +1 -0
- package/dist/es/modules/OBS/index.js +16 -0
- package/dist/es/modules/OBS/index.js.map +1 -0
- package/dist/es/modules/OBS/utils/index.js +25 -0
- package/dist/es/modules/OBS/utils/index.js.map +1 -0
- package/dist/es/modules/OSS/MultipartUpload.js +232 -0
- package/dist/es/modules/OSS/MultipartUpload.js.map +1 -0
- package/dist/es/modules/OSS/STSUpload.js +48 -0
- package/dist/es/modules/OSS/STSUpload.js.map +1 -0
- package/dist/es/modules/OSS/defaultUpload.js +53 -0
- package/dist/es/modules/OSS/defaultUpload.js.map +1 -0
- package/dist/es/modules/OSS/index.js +16 -0
- package/dist/es/modules/OSS/index.js.map +1 -0
- package/dist/es/modules/OSS/utils/helper.js +137 -0
- package/dist/es/modules/OSS/utils/helper.js.map +1 -0
- package/dist/es/modules/OSS/utils/signature.js +96 -0
- package/dist/es/modules/OSS/utils/signature.js.map +1 -0
- package/dist/es/modules/TOS/MultipartUpload.js +288 -0
- package/dist/es/modules/TOS/MultipartUpload.js.map +1 -0
- package/dist/es/modules/TOS/STSUpload.js +92 -0
- package/dist/es/modules/TOS/STSUpload.js.map +1 -0
- package/dist/es/modules/TOS/defaultUpload.js +65 -0
- package/dist/es/modules/TOS/defaultUpload.js.map +1 -0
- package/dist/es/modules/TOS/index.js +16 -0
- package/dist/es/modules/TOS/index.js.map +1 -0
- package/dist/es/modules/TOS/utils/TosClientError.js +15 -0
- package/dist/es/modules/TOS/utils/TosClientError.js.map +1 -0
- package/dist/es/modules/TOS/utils/index.js +38 -0
- package/dist/es/modules/TOS/utils/index.js.map +1 -0
- package/dist/es/modules/TOS/utils/signatureV4.js +269 -0
- package/dist/es/modules/TOS/utils/signatureV4.js.map +1 -0
- package/dist/es/modules/TOS/utils/signatureV4Credentials.js +21 -0
- package/dist/es/modules/TOS/utils/signatureV4Credentials.js.map +1 -0
- package/dist/es/modules/TOS/utils/universal/crypto.browser.js +56 -0
- package/dist/es/modules/TOS/utils/universal/crypto.browser.js.map +1 -0
- package/dist/es/modules/TOS/utils/utils.js +18 -0
- package/dist/es/modules/TOS/utils/utils.js.map +1 -0
- package/dist/es/modules/index.js +20 -0
- package/dist/es/modules/index.js.map +1 -0
- package/dist/es/types/Kodo.js +1 -0
- package/dist/es/types/Kodo.js.map +1 -0
- package/dist/es/types/Local.js +1 -0
- package/dist/es/types/Local.js.map +1 -0
- package/dist/es/types/MinIO.js +1 -0
- package/dist/es/types/MinIO.js.map +1 -0
- package/dist/es/types/OBS.js +8 -0
- package/dist/es/types/OBS.js.map +1 -0
- package/dist/es/types/OSS.js +1 -0
- package/dist/es/types/OSS.js.map +1 -0
- package/dist/es/types/TOS.js +1 -0
- package/dist/es/types/TOS.js.map +1 -0
- package/dist/es/types/error.js +1 -0
- package/dist/es/types/error.js.map +1 -0
- package/dist/es/types/index.js +13 -0
- package/dist/es/types/index.js.map +1 -0
- package/dist/es/types/log.js +1 -0
- package/dist/es/types/log.js.map +1 -0
- package/dist/es/types/request.js +1 -0
- package/dist/es/types/request.js.map +1 -0
- package/dist/es/utils/EventEmitter.js +32 -0
- package/dist/es/utils/EventEmitter.js.map +1 -0
- package/dist/es/utils/UploadManger.js +276 -0
- package/dist/es/utils/UploadManger.js.map +1 -0
- package/dist/es/utils/UploadTask.js +13 -0
- package/dist/es/utils/UploadTask.js.map +1 -0
- package/dist/es/utils/checkDataFormat.js +41 -0
- package/dist/es/utils/checkDataFormat.js.map +1 -0
- package/dist/es/utils/global.js +83 -0
- package/dist/es/utils/global.js.map +1 -0
- package/dist/es/utils/index.js +20 -0
- package/dist/es/utils/index.js.map +1 -0
- package/dist/es/utils/logPubSub.js +59 -0
- package/dist/es/utils/logPubSub.js.map +1 -0
- package/dist/es/utils/multipart.js +159 -0
- package/dist/es/utils/multipart.js.map +1 -0
- package/dist/es/utils/nanoid.js +10 -0
- package/dist/es/utils/nanoid.js.map +1 -0
- package/dist/es/utils/regExpUtil.js +21 -0
- package/dist/es/utils/regExpUtil.js.map +1 -0
- package/dist/es/utils/request.js +234 -0
- package/dist/es/utils/request.js.map +1 -0
- package/dist/es/utils/response.js +20 -0
- package/dist/es/utils/response.js.map +1 -0
- package/dist/index.d.ts +867 -0
- package/dist/index.js +60913 -0
- package/dist/index.js.map +1 -0
- package/dist/index.min.js +130 -0
- package/dist/index.min.js.map +1 -0
- package/dist/lib/Exception/BaseException.js +37 -0
- package/dist/lib/Exception/BaseException.js.map +1 -0
- package/dist/lib/Exception/DownloadException.js +65 -0
- package/dist/lib/Exception/DownloadException.js.map +1 -0
- package/dist/lib/Exception/HttpException.js +75 -0
- package/dist/lib/Exception/HttpException.js.map +1 -0
- package/dist/lib/Exception/InitException.js +73 -0
- package/dist/lib/Exception/InitException.js.map +1 -0
- package/dist/lib/Exception/UploadException.js +75 -0
- package/dist/lib/Exception/UploadException.js.map +1 -0
- package/dist/lib/index.d.cts +867 -0
- package/dist/lib/index.js +203 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/modules/Kodo/defaultUpload.js +61 -0
- package/dist/lib/modules/Kodo/defaultUpload.js.map +1 -0
- package/dist/lib/modules/Kodo/index.js +28 -0
- package/dist/lib/modules/Kodo/index.js.map +1 -0
- package/dist/lib/modules/Local/index.js +50 -0
- package/dist/lib/modules/Local/index.js.map +1 -0
- package/dist/lib/modules/MinIO/MultipartUpload.js +357 -0
- package/dist/lib/modules/MinIO/MultipartUpload.js.map +1 -0
- package/dist/lib/modules/MinIO/STSUpload.js +33 -0
- package/dist/lib/modules/MinIO/STSUpload.js.map +1 -0
- package/dist/lib/modules/MinIO/defaultUpload.js +158 -0
- package/dist/lib/modules/MinIO/defaultUpload.js.map +1 -0
- package/dist/lib/modules/MinIO/index.js +35 -0
- package/dist/lib/modules/MinIO/index.js.map +1 -0
- package/dist/lib/modules/OBS/MultipartUpload.js +296 -0
- package/dist/lib/modules/OBS/MultipartUpload.js.map +1 -0
- package/dist/lib/modules/OBS/STSUpload.js +104 -0
- package/dist/lib/modules/OBS/STSUpload.js.map +1 -0
- package/dist/lib/modules/OBS/defaultUpload.js +88 -0
- package/dist/lib/modules/OBS/defaultUpload.js.map +1 -0
- package/dist/lib/modules/OBS/index.js +45 -0
- package/dist/lib/modules/OBS/index.js.map +1 -0
- package/dist/lib/modules/OBS/utils/index.js +49 -0
- package/dist/lib/modules/OBS/utils/index.js.map +1 -0
- package/dist/lib/modules/OSS/MultipartUpload.js +259 -0
- package/dist/lib/modules/OSS/MultipartUpload.js.map +1 -0
- package/dist/lib/modules/OSS/STSUpload.js +71 -0
- package/dist/lib/modules/OSS/STSUpload.js.map +1 -0
- package/dist/lib/modules/OSS/defaultUpload.js +76 -0
- package/dist/lib/modules/OSS/defaultUpload.js.map +1 -0
- package/dist/lib/modules/OSS/index.js +35 -0
- package/dist/lib/modules/OSS/index.js.map +1 -0
- package/dist/lib/modules/OSS/utils/helper.js +173 -0
- package/dist/lib/modules/OSS/utils/helper.js.map +1 -0
- package/dist/lib/modules/OSS/utils/signature.js +132 -0
- package/dist/lib/modules/OSS/utils/signature.js.map +1 -0
- package/dist/lib/modules/TOS/MultipartUpload.js +315 -0
- package/dist/lib/modules/TOS/MultipartUpload.js.map +1 -0
- package/dist/lib/modules/TOS/STSUpload.js +125 -0
- package/dist/lib/modules/TOS/STSUpload.js.map +1 -0
- package/dist/lib/modules/TOS/defaultUpload.js +94 -0
- package/dist/lib/modules/TOS/defaultUpload.js.map +1 -0
- package/dist/lib/modules/TOS/index.js +45 -0
- package/dist/lib/modules/TOS/index.js.map +1 -0
- package/dist/lib/modules/TOS/utils/TosClientError.js +34 -0
- package/dist/lib/modules/TOS/utils/TosClientError.js.map +1 -0
- package/dist/lib/modules/TOS/utils/index.js +64 -0
- package/dist/lib/modules/TOS/utils/index.js.map +1 -0
- package/dist/lib/modules/TOS/utils/signatureV4.js +294 -0
- package/dist/lib/modules/TOS/utils/signatureV4.js.map +1 -0
- package/dist/lib/modules/TOS/utils/signatureV4Credentials.js +44 -0
- package/dist/lib/modules/TOS/utils/signatureV4Credentials.js.map +1 -0
- package/dist/lib/modules/TOS/utils/universal/crypto.browser.js +93 -0
- package/dist/lib/modules/TOS/utils/universal/crypto.browser.js.map +1 -0
- package/dist/lib/modules/TOS/utils/utils.js +42 -0
- package/dist/lib/modules/TOS/utils/utils.js.map +1 -0
- package/dist/lib/modules/index.js +50 -0
- package/dist/lib/modules/index.js.map +1 -0
- package/dist/lib/types/Kodo.js +17 -0
- package/dist/lib/types/Kodo.js.map +1 -0
- package/dist/lib/types/Local.js +17 -0
- package/dist/lib/types/Local.js.map +1 -0
- package/dist/lib/types/MinIO.js +17 -0
- package/dist/lib/types/MinIO.js.map +1 -0
- package/dist/lib/types/OBS.js +32 -0
- package/dist/lib/types/OBS.js.map +1 -0
- package/dist/lib/types/OSS.js +17 -0
- package/dist/lib/types/OSS.js.map +1 -0
- package/dist/lib/types/TOS.js +17 -0
- package/dist/lib/types/TOS.js.map +1 -0
- package/dist/lib/types/error.js +17 -0
- package/dist/lib/types/error.js.map +1 -0
- package/dist/lib/types/index.js +37 -0
- package/dist/lib/types/index.js.map +1 -0
- package/dist/lib/types/log.js +17 -0
- package/dist/lib/types/log.js.map +1 -0
- package/dist/lib/types/request.js +17 -0
- package/dist/lib/types/request.js.map +1 -0
- package/dist/lib/utils/EventEmitter.js +51 -0
- package/dist/lib/utils/EventEmitter.js.map +1 -0
- package/dist/lib/utils/UploadManger.js +309 -0
- package/dist/lib/utils/UploadManger.js.map +1 -0
- package/dist/lib/utils/UploadTask.js +32 -0
- package/dist/lib/utils/UploadTask.js.map +1 -0
- package/dist/lib/utils/checkDataFormat.js +70 -0
- package/dist/lib/utils/checkDataFormat.js.map +1 -0
- package/dist/lib/utils/global.js +106 -0
- package/dist/lib/utils/global.js.map +1 -0
- package/dist/lib/utils/index.js +44 -0
- package/dist/lib/utils/index.js.map +1 -0
- package/dist/lib/utils/logPubSub.js +78 -0
- package/dist/lib/utils/logPubSub.js.map +1 -0
- package/dist/lib/utils/multipart.js +197 -0
- package/dist/lib/utils/multipart.js.map +1 -0
- package/dist/lib/utils/nanoid.js +33 -0
- package/dist/lib/utils/nanoid.js.map +1 -0
- package/dist/lib/utils/regExpUtil.js +44 -0
- package/dist/lib/utils/regExpUtil.js.map +1 -0
- package/dist/lib/utils/request.js +264 -0
- package/dist/lib/utils/request.js.map +1 -0
- package/dist/lib/utils/response.js +43 -0
- package/dist/lib/utils/response.js.map +1 -0
- package/dist/package.json +120 -0
- package/package.json +120 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import * as buffer from "buffer";
|
|
4
|
+
import { InitException, InitExceptionCode } from "../Exception/InitException";
|
|
5
|
+
import { isBlob, isFile } from "./checkDataFormat";
|
|
6
|
+
function parallelSend(todo, parallel, jobPromise) {
|
|
7
|
+
return new Promise((resolve) => {
|
|
8
|
+
const jobErr = [];
|
|
9
|
+
if (parallel <= 0 || !todo) {
|
|
10
|
+
resolve(jobErr);
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
function onlyOnce(fn) {
|
|
14
|
+
return (...args) => {
|
|
15
|
+
if (fn === null)
|
|
16
|
+
throw new Error("Callback was already called.");
|
|
17
|
+
const callFn = fn;
|
|
18
|
+
fn = null;
|
|
19
|
+
callFn.apply("", args);
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
__name(onlyOnce, "onlyOnce");
|
|
23
|
+
function createArrayIterator(coll) {
|
|
24
|
+
let i = -1;
|
|
25
|
+
const len = coll.length;
|
|
26
|
+
return /* @__PURE__ */ __name(function next() {
|
|
27
|
+
return ++i < len ? { value: coll[i], key: i } : null;
|
|
28
|
+
}, "next");
|
|
29
|
+
}
|
|
30
|
+
__name(createArrayIterator, "createArrayIterator");
|
|
31
|
+
const nextElem = createArrayIterator(todo);
|
|
32
|
+
let done = false;
|
|
33
|
+
let running = 0;
|
|
34
|
+
let looping = false;
|
|
35
|
+
function iteratee(value, callback) {
|
|
36
|
+
jobPromise(value).then((result) => {
|
|
37
|
+
callback(null, result);
|
|
38
|
+
}).catch((err) => {
|
|
39
|
+
callback(err);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
__name(iteratee, "iteratee");
|
|
43
|
+
function iterateeCallback(err) {
|
|
44
|
+
running -= 1;
|
|
45
|
+
if (err) {
|
|
46
|
+
done = true;
|
|
47
|
+
jobErr.push(err);
|
|
48
|
+
resolve(jobErr);
|
|
49
|
+
} else if (done && running <= 0) {
|
|
50
|
+
done = true;
|
|
51
|
+
resolve(jobErr);
|
|
52
|
+
} else if (!looping) {
|
|
53
|
+
replenish();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
__name(iterateeCallback, "iterateeCallback");
|
|
57
|
+
function replenish() {
|
|
58
|
+
looping = true;
|
|
59
|
+
while (running < parallel && !done) {
|
|
60
|
+
const elem = nextElem();
|
|
61
|
+
if (elem === null || jobErr.length > 0) {
|
|
62
|
+
done = true;
|
|
63
|
+
if (running <= 0) {
|
|
64
|
+
resolve(jobErr);
|
|
65
|
+
}
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
running += 1;
|
|
69
|
+
iteratee(elem.value, onlyOnce(iterateeCallback));
|
|
70
|
+
}
|
|
71
|
+
looping = false;
|
|
72
|
+
}
|
|
73
|
+
__name(replenish, "replenish");
|
|
74
|
+
replenish();
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
__name(parallelSend, "parallelSend");
|
|
78
|
+
function divideParts(fileSize, partSize) {
|
|
79
|
+
const numParts = Math.ceil(fileSize / partSize);
|
|
80
|
+
const partOffs = [];
|
|
81
|
+
for (let i = 0; i < numParts; i += 1) {
|
|
82
|
+
const start = partSize * i;
|
|
83
|
+
const end = Math.min(start + partSize, fileSize);
|
|
84
|
+
partOffs.push({
|
|
85
|
+
start,
|
|
86
|
+
end
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
return partOffs;
|
|
90
|
+
}
|
|
91
|
+
__name(divideParts, "divideParts");
|
|
92
|
+
function getBuffer(file) {
|
|
93
|
+
return new Promise((resolve, reject) => {
|
|
94
|
+
if (file.arrayBuffer) {
|
|
95
|
+
resolve(file.arrayBuffer());
|
|
96
|
+
}
|
|
97
|
+
const reader = new FileReader();
|
|
98
|
+
reader.onload = (e) => {
|
|
99
|
+
if (e?.target) {
|
|
100
|
+
if (e.target.result !== null) {
|
|
101
|
+
resolve(e.target.result);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
reader.onerror = (e) => {
|
|
106
|
+
reject(e);
|
|
107
|
+
};
|
|
108
|
+
reader.readAsArrayBuffer(file);
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
__name(getBuffer, "getBuffer");
|
|
112
|
+
async function createBuffer(file, start, end) {
|
|
113
|
+
if (isBlob(file) || isFile(file)) {
|
|
114
|
+
const tempFile = file.slice(start, end);
|
|
115
|
+
const fileContent = await getBuffer(tempFile);
|
|
116
|
+
if (typeof fileContent === "string") {
|
|
117
|
+
return buffer.Buffer.from(fileContent);
|
|
118
|
+
}
|
|
119
|
+
return buffer.Buffer.from(new Uint8Array(fileContent));
|
|
120
|
+
}
|
|
121
|
+
throw new InitException(InitExceptionCode.UPLOAD_HEAD_NO_EXPOSE_ETAG);
|
|
122
|
+
}
|
|
123
|
+
__name(createBuffer, "createBuffer");
|
|
124
|
+
function getPartSize(fileSize, partSize, defaultPartSize = 1024 * 1024) {
|
|
125
|
+
const maxNumParts = 10 * 1e3;
|
|
126
|
+
let tempPartSize = partSize || defaultPartSize;
|
|
127
|
+
const safeSize = Math.ceil(fileSize / maxNumParts);
|
|
128
|
+
if (partSize < safeSize) {
|
|
129
|
+
tempPartSize = safeSize;
|
|
130
|
+
console.warn(
|
|
131
|
+
"partSize has been set to ".concat(
|
|
132
|
+
String(tempPartSize),
|
|
133
|
+
", because the partSize you provided causes partNumber to be greater than 10,000"
|
|
134
|
+
)
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
return tempPartSize;
|
|
138
|
+
}
|
|
139
|
+
__name(getPartSize, "getPartSize");
|
|
140
|
+
function initCheckpoint(file, name, fileSize, partSize, UploadId) {
|
|
141
|
+
return {
|
|
142
|
+
file,
|
|
143
|
+
name,
|
|
144
|
+
fileSize,
|
|
145
|
+
partSize,
|
|
146
|
+
UploadId,
|
|
147
|
+
doneParts: []
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
__name(initCheckpoint, "initCheckpoint");
|
|
151
|
+
export {
|
|
152
|
+
createBuffer,
|
|
153
|
+
divideParts,
|
|
154
|
+
getBuffer,
|
|
155
|
+
getPartSize,
|
|
156
|
+
initCheckpoint,
|
|
157
|
+
parallelSend
|
|
158
|
+
};
|
|
159
|
+
//# sourceMappingURL=multipart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/multipart.ts"],"sourcesContent":["import * as buffer from \"buffer\"\nimport { InitException, InitExceptionCode } from \"../Exception/InitException\"\nimport type { Checkpoint } from \"../types\"\nimport type { ErrorType } from \"../types/error\"\nimport { isBlob, isFile } from \"./checkDataFormat\"\n\nexport function parallelSend(\n\ttodo: number[],\n\tparallel: number,\n\tjobPromise: (value: number) => Promise<void>,\n): Promise<ErrorType.UploadPartException[]> {\n\treturn new Promise((resolve) => {\n\t\tconst jobErr: ErrorType.UploadPartException[] = []\n\t\tif (parallel <= 0 || !todo) {\n\t\t\tresolve(jobErr)\n\t\t\treturn\n\t\t}\n\n\t\tfunction onlyOnce(fn: Function | null) {\n\t\t\treturn (...args: ErrorType.UploadPartException[]) => {\n\t\t\t\tif (fn === null) throw new Error(\"Callback was already called.\")\n\t\t\t\tconst callFn = fn\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tfn = null\n\t\t\t\tcallFn.apply(\"\", args)\n\t\t\t}\n\t\t}\n\n\t\tfunction createArrayIterator(coll: number[]) {\n\t\t\tlet i = -1\n\t\t\tconst len = coll.length\n\t\t\treturn function next() {\n\t\t\t\t// eslint-disable-next-line no-plusplus\n\t\t\t\treturn ++i < len ? { value: coll[i], key: i } : null\n\t\t\t}\n\t\t}\n\n\t\tconst nextElem = createArrayIterator(todo)\n\t\tlet done = false\n\t\tlet running = 0\n\t\tlet looping = false\n\n\t\tfunction iteratee(value: number, callback: Function) {\n\t\t\tjobPromise(value)\n\t\t\t\t.then((result) => {\n\t\t\t\t\tcallback(null, result)\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tcallback(err)\n\t\t\t\t})\n\t\t}\n\n\t\tfunction iterateeCallback(err: ErrorType.UploadPartException) {\n\t\t\trunning -= 1\n\t\t\tif (err) {\n\t\t\t\tdone = true\n\t\t\t\tjobErr.push(err)\n\t\t\t\tresolve(jobErr)\n\t\t\t} else if (done && running <= 0) {\n\t\t\t\tdone = true\n\t\t\t\tresolve(jobErr)\n\t\t\t} else if (!looping) {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\t\treplenish()\n\t\t\t}\n\t\t}\n\t\tfunction replenish() {\n\t\t\tlooping = true\n\t\t\twhile (running < parallel && !done) {\n\t\t\t\tconst elem = nextElem()\n\t\t\t\tif (elem === null || jobErr.length > 0) {\n\t\t\t\t\tdone = true\n\t\t\t\t\tif (running <= 0) {\n\t\t\t\t\t\tresolve(jobErr)\n\t\t\t\t\t}\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\trunning += 1\n\t\t\t\titeratee(elem.value, onlyOnce(iterateeCallback))\n\t\t\t}\n\t\t\tlooping = false\n\t\t}\n\n\t\treplenish()\n\t})\n}\n\nexport function divideParts(fileSize: number, partSize: number) {\n\tconst numParts = Math.ceil(fileSize / partSize)\n\tconst partOffs = []\n\tfor (let i = 0; i < numParts; i += 1) {\n\t\tconst start = partSize * i\n\t\tconst end = Math.min(start + partSize, fileSize)\n\n\t\tpartOffs.push({\n\t\t\tstart,\n\t\t\tend,\n\t\t})\n\t}\n\treturn partOffs\n}\n\nexport function getBuffer(file: File | Blob): Promise<string | ArrayBuffer> {\n\t// Some browsers do not support Blob.prototype.arrayBuffer, such as IE\n\treturn new Promise((resolve, reject) => {\n\t\tif (file.arrayBuffer) {\n\t\t\tresolve(file.arrayBuffer())\n\t\t}\n\t\tconst reader = new FileReader()\n\t\treader.onload = (e) => {\n\t\t\tif (e?.target) {\n\t\t\t\tif (e.target.result !== null) {\n\t\t\t\t\tresolve(e.target.result)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treader.onerror = (e) => {\n\t\t\treject(e)\n\t\t}\n\t\treader.readAsArrayBuffer(file)\n\t})\n}\n\nexport async function createBuffer(file: File | Blob, start: number, end: number) {\n\tif (isBlob(file) || isFile(file)) {\n\t\tconst tempFile = file.slice(start, end)\n\t\tconst fileContent = await getBuffer(tempFile)\n\t\tif (typeof fileContent === \"string\") {\n\t\t\treturn buffer.Buffer.from(fileContent)\n\t\t}\n\t\treturn buffer.Buffer.from(new Uint8Array(fileContent))\n\t}\n\tthrow new InitException(InitExceptionCode.UPLOAD_HEAD_NO_EXPOSE_ETAG)\n}\n\nexport function getPartSize(\n\tfileSize: number,\n\tpartSize: number,\n\tdefaultPartSize: number = 1024 * 1024,\n) {\n\tconst maxNumParts = 10 * 1000\n\tlet tempPartSize = partSize || defaultPartSize\n\tconst safeSize = Math.ceil(fileSize / maxNumParts)\n\n\tif (partSize < safeSize) {\n\t\ttempPartSize = safeSize\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(\n\t\t\t\"partSize has been set to \".concat(\n\t\t\t\tString(tempPartSize),\n\t\t\t\t\", because the partSize you provided causes partNumber to be greater than 10,000\",\n\t\t\t),\n\t\t)\n\t}\n\n\treturn tempPartSize\n}\n\nexport function initCheckpoint(\n\tfile: File | Blob,\n\tname: string,\n\tfileSize: number,\n\tpartSize: number,\n\tUploadId: string,\n): Checkpoint {\n\treturn {\n\t\tfile,\n\t\tname,\n\t\tfileSize,\n\t\tpartSize,\n\t\tUploadId,\n\t\tdoneParts: [],\n\t}\n}\n\n\n\n\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
const nanoid = /* @__PURE__ */ __name((t = 21) => crypto.getRandomValues(new Uint8Array(t)).reduce(
|
|
4
|
+
(t2, e) => t2 += (e &= 63) < 36 ? e.toString(36) : e < 62 ? (e - 26).toString(36).toUpperCase() : e > 62 ? "-" : "_",
|
|
5
|
+
""
|
|
6
|
+
), "nanoid");
|
|
7
|
+
export {
|
|
8
|
+
nanoid
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=nanoid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/nanoid.ts"],"sourcesContent":["/* eslint-disable */\n/**\n * @description: Generate a unique id similar to uuid (borrowed from nanoid)\n * @param {*} t String length\n * @return {*} Unique id\n */\nexport const nanoid = (t = 21) =>\n\tcrypto\n\t\t.getRandomValues(new Uint8Array(t))\n\t\t.reduce(\n\t\t\t(t, e) =>\n\t\t\t\t(t +=\n\t\t\t\t\t(e &= 63) < 36\n\t\t\t\t\t\t? e.toString(36)\n\t\t\t\t\t\t: e < 62\n\t\t\t\t\t\t\t? (e - 26).toString(36).toUpperCase()\n\t\t\t\t\t\t\t: e > 62\n\t\t\t\t\t\t\t\t? \"-\"\n\t\t\t\t\t\t\t\t: \"_\"),\n\t\t\t\"\",\n\t\t)\n\n\n\n\n"],"mappings":";;AAMO,MAAM,SAAS,wBAAC,IAAI,OAC1B,OACE,gBAAgB,IAAI,WAAW,CAAC,CAAC,EACjC;AAAA,EACA,CAACA,IAAG,MACFA,OACC,KAAK,MAAM,KACT,EAAE,SAAS,EAAE,IACb,IAAI,MACF,IAAI,IAAI,SAAS,EAAE,EAAE,YAAY,IAClC,IAAI,KACH,MACA;AAAA,EACP;AACD,GAdoB;","names":["t"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
function parseExtname(path) {
|
|
4
|
+
if (!path)
|
|
5
|
+
return "";
|
|
6
|
+
if (path.endsWith("/") || path.endsWith("\\"))
|
|
7
|
+
return "";
|
|
8
|
+
const fileName = path.split(/[/\\]/).pop() || "";
|
|
9
|
+
if (fileName.startsWith(".") && fileName.indexOf(".", 1) === -1) {
|
|
10
|
+
return fileName;
|
|
11
|
+
}
|
|
12
|
+
const lastDotIndex = fileName.lastIndexOf(".");
|
|
13
|
+
if (lastDotIndex === -1)
|
|
14
|
+
return "";
|
|
15
|
+
return fileName.substring(lastDotIndex);
|
|
16
|
+
}
|
|
17
|
+
__name(parseExtname, "parseExtname");
|
|
18
|
+
export {
|
|
19
|
+
parseExtname
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=regExpUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/regExpUtil.ts"],"sourcesContent":["/**\n * @description: Extract the extension from a file path\n * @param {string} path File path\n * @return {string} File extension (with dot, e.g., \".mp4\") or empty string if none\n */\nexport function parseExtname(path: string) {\n\t// First check if empty\n\tif (!path) return \"\"\n\n\t// Check whether the path ends with a slash or backslash\n\tif (path.endsWith(\"/\") || path.endsWith(\"\\\\\")) return \"\"\n\n\t// Get the part after the last / or \\\\\n\tconst fileName = path.split(/[/\\\\]/).pop() || \"\"\n\n\t// If the filename starts with a dot and has no other dots, return the whole name\n\tif (fileName.startsWith(\".\") && fileName.indexOf(\".\", 1) === -1) {\n\t\treturn fileName\n\t}\n\n\t// Find the part after the last dot\n\tconst lastDotIndex = fileName.lastIndexOf(\".\")\n\tif (lastDotIndex === -1) return \"\" // No extension\n\n\treturn fileName.substring(lastDotIndex)\n}\n\n\n\n\n"],"mappings":";;AAKO,SAAS,aAAa,MAAc;AAE1C,MAAI,CAAC;AAAM,WAAO;AAGlB,MAAI,KAAK,SAAS,GAAG,KAAK,KAAK,SAAS,IAAI;AAAG,WAAO;AAGtD,QAAM,WAAW,KAAK,MAAM,OAAO,EAAE,IAAI,KAAK;AAG9C,MAAI,SAAS,WAAW,GAAG,KAAK,SAAS,QAAQ,KAAK,CAAC,MAAM,IAAI;AAChE,WAAO;AAAA,EACR;AAGA,QAAM,eAAe,SAAS,YAAY,GAAG;AAC7C,MAAI,iBAAiB;AAAI,WAAO;AAEhC,SAAO,SAAS,UAAU,YAAY;AACvC;AApBgB;","names":[]}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { HttpException, HttpExceptionCode } from "../Exception/HttpException";
|
|
4
|
+
import { isObject } from "./checkDataFormat";
|
|
5
|
+
import { formatHeaders } from "../modules/TOS/utils";
|
|
6
|
+
let requestTasks = [];
|
|
7
|
+
let abortControllers = /* @__PURE__ */ new Map();
|
|
8
|
+
let taskAbortStates = /* @__PURE__ */ new Map();
|
|
9
|
+
function registerAbortController(taskId, controller) {
|
|
10
|
+
if (!abortControllers.has(taskId)) {
|
|
11
|
+
abortControllers.set(taskId, []);
|
|
12
|
+
}
|
|
13
|
+
abortControllers.get(taskId)?.push(controller);
|
|
14
|
+
}
|
|
15
|
+
__name(registerAbortController, "registerAbortController");
|
|
16
|
+
function getAbortSignal(taskId) {
|
|
17
|
+
const controllers = abortControllers.get(taskId);
|
|
18
|
+
if (controllers && controllers.length > 0) {
|
|
19
|
+
const controller = new AbortController();
|
|
20
|
+
controllers.push(controller);
|
|
21
|
+
return controller.signal;
|
|
22
|
+
}
|
|
23
|
+
return void 0;
|
|
24
|
+
}
|
|
25
|
+
__name(getAbortSignal, "getAbortSignal");
|
|
26
|
+
function createAbortSignal(taskId) {
|
|
27
|
+
const controller = new AbortController();
|
|
28
|
+
registerAbortController(taskId, controller);
|
|
29
|
+
return controller.signal;
|
|
30
|
+
}
|
|
31
|
+
__name(createAbortSignal, "createAbortSignal");
|
|
32
|
+
function getTaskAbortState(taskId) {
|
|
33
|
+
return taskAbortStates.get(taskId);
|
|
34
|
+
}
|
|
35
|
+
__name(getTaskAbortState, "getTaskAbortState");
|
|
36
|
+
function createXHR() {
|
|
37
|
+
if (typeof XMLHttpRequest !== "undefined") {
|
|
38
|
+
return new XMLHttpRequest();
|
|
39
|
+
}
|
|
40
|
+
throw new HttpException(HttpExceptionCode.REQUEST_NO_XHR_OBJ_AVAILABLE);
|
|
41
|
+
}
|
|
42
|
+
__name(createXHR, "createXHR");
|
|
43
|
+
function cancelRequest(taskId) {
|
|
44
|
+
taskAbortStates.set(taskId, "cancel");
|
|
45
|
+
requestTasks.forEach((task) => {
|
|
46
|
+
if (task.taskId === taskId) {
|
|
47
|
+
task.makeCancel();
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
const controllers = abortControllers.get(taskId);
|
|
51
|
+
if (controllers) {
|
|
52
|
+
controllers.forEach((controller) => {
|
|
53
|
+
controller.abort();
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
__name(cancelRequest, "cancelRequest");
|
|
58
|
+
function pauseRequest(taskId) {
|
|
59
|
+
taskAbortStates.set(taskId, "pause");
|
|
60
|
+
requestTasks.forEach((task) => {
|
|
61
|
+
if (task.taskId === taskId) {
|
|
62
|
+
task.makePause();
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
const controllers = abortControllers.get(taskId);
|
|
66
|
+
if (controllers) {
|
|
67
|
+
controllers.forEach((controller) => {
|
|
68
|
+
controller.abort();
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
__name(pauseRequest, "pauseRequest");
|
|
73
|
+
function parseXML(xml) {
|
|
74
|
+
let convertedObj = {};
|
|
75
|
+
if (xml?.children && xml.children.length !== 0) {
|
|
76
|
+
Object.values(xml.children).forEach((childNode) => {
|
|
77
|
+
convertedObj = {
|
|
78
|
+
...convertedObj,
|
|
79
|
+
[childNode.nodeName]: parseXML(childNode)
|
|
80
|
+
};
|
|
81
|
+
});
|
|
82
|
+
} else {
|
|
83
|
+
return xml?.textContent ? xml.textContent : {};
|
|
84
|
+
}
|
|
85
|
+
return convertedObj;
|
|
86
|
+
}
|
|
87
|
+
__name(parseXML, "parseXML");
|
|
88
|
+
function parseHeaderString(str) {
|
|
89
|
+
return str.split("\r\n").reduce((obj, header) => {
|
|
90
|
+
let tempObj = { ...obj };
|
|
91
|
+
if (header !== "" && header.split(":").length > 0) {
|
|
92
|
+
const [key, value] = header.split(":");
|
|
93
|
+
tempObj = {
|
|
94
|
+
...tempObj,
|
|
95
|
+
[key]: value.replace(" ", "")
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
return tempObj;
|
|
99
|
+
}, {});
|
|
100
|
+
}
|
|
101
|
+
__name(parseHeaderString, "parseHeaderString");
|
|
102
|
+
function completeRequest(taskId) {
|
|
103
|
+
if (taskId === void 0)
|
|
104
|
+
return;
|
|
105
|
+
requestTasks = requestTasks.filter((task) => task.taskId !== taskId);
|
|
106
|
+
abortControllers.delete(taskId);
|
|
107
|
+
taskAbortStates.delete(taskId);
|
|
108
|
+
}
|
|
109
|
+
__name(completeRequest, "completeRequest");
|
|
110
|
+
function isJSONResponse(req) {
|
|
111
|
+
return req.responseType === "json" && typeof req.response === "string";
|
|
112
|
+
}
|
|
113
|
+
__name(isJSONResponse, "isJSONResponse");
|
|
114
|
+
function addHeadersToResponse(result, responseHeaders) {
|
|
115
|
+
return {
|
|
116
|
+
...result,
|
|
117
|
+
headers: responseHeaders
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
__name(addHeadersToResponse, "addHeadersToResponse");
|
|
121
|
+
function request(uploadRequestConfig) {
|
|
122
|
+
const {
|
|
123
|
+
method,
|
|
124
|
+
url,
|
|
125
|
+
data,
|
|
126
|
+
query,
|
|
127
|
+
headers,
|
|
128
|
+
success,
|
|
129
|
+
fail,
|
|
130
|
+
taskId,
|
|
131
|
+
onProgress,
|
|
132
|
+
xmlResponse,
|
|
133
|
+
withoutWrapper
|
|
134
|
+
} = uploadRequestConfig;
|
|
135
|
+
return new Promise((resolve, reject) => {
|
|
136
|
+
const req = createXHR();
|
|
137
|
+
let isCancel = false;
|
|
138
|
+
let isPause = false;
|
|
139
|
+
req.responseType = xmlResponse ? "document" : "json";
|
|
140
|
+
req.upload.onloadstart = () => {
|
|
141
|
+
if (taskId) {
|
|
142
|
+
requestTasks.push({
|
|
143
|
+
taskId,
|
|
144
|
+
makeCancel: () => {
|
|
145
|
+
isCancel = true;
|
|
146
|
+
req.abort();
|
|
147
|
+
},
|
|
148
|
+
makePause: () => {
|
|
149
|
+
isPause = true;
|
|
150
|
+
req.abort();
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
req.upload.onprogress = (evt) => {
|
|
156
|
+
if (onProgress)
|
|
157
|
+
onProgress(evt.loaded / evt.total * 100, evt.loaded, evt.total, null);
|
|
158
|
+
};
|
|
159
|
+
let handledUrl = url;
|
|
160
|
+
if (query) {
|
|
161
|
+
const queryString = Object.entries(query).map(([key, value]) => {
|
|
162
|
+
if (value) {
|
|
163
|
+
return `${key}=${value}`;
|
|
164
|
+
}
|
|
165
|
+
return key;
|
|
166
|
+
}).join("&");
|
|
167
|
+
if (queryString) {
|
|
168
|
+
handledUrl += `?${queryString}`;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
req.open(method.toUpperCase(), handledUrl, true);
|
|
172
|
+
req.setRequestHeader("language", "zh_CN");
|
|
173
|
+
if (headers && Object.keys(headers).length > 0) {
|
|
174
|
+
const handledHeaders = formatHeaders(headers);
|
|
175
|
+
Object.keys(handledHeaders).forEach((key) => {
|
|
176
|
+
req.setRequestHeader(key, headers[key]);
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
req.send(data);
|
|
180
|
+
req.onreadystatechange = () => {
|
|
181
|
+
if (req.readyState !== 4) {
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
if (/^2\d{2}/.test(String(req.status))) {
|
|
185
|
+
let result = isJSONResponse(req) ? JSON.parse(req.response) : req.response;
|
|
186
|
+
const responseHeaders = {
|
|
187
|
+
...parseHeaderString(req.getAllResponseHeaders())
|
|
188
|
+
};
|
|
189
|
+
if (xmlResponse) {
|
|
190
|
+
result = {
|
|
191
|
+
data: parseXML(req.responseXML)
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
if (withoutWrapper || !isObject(result)) {
|
|
195
|
+
result = {
|
|
196
|
+
data: result
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
result = addHeadersToResponse(result, responseHeaders);
|
|
200
|
+
resolve(result);
|
|
201
|
+
if (success && typeof success === "function") {
|
|
202
|
+
success(result);
|
|
203
|
+
}
|
|
204
|
+
} else {
|
|
205
|
+
if (fail && typeof fail === "function") {
|
|
206
|
+
fail(req.status, reject);
|
|
207
|
+
}
|
|
208
|
+
if (isCancel) {
|
|
209
|
+
reject(new HttpException(HttpExceptionCode.REQUEST_IS_CANCEL));
|
|
210
|
+
} else if (isPause) {
|
|
211
|
+
reject(new HttpException(HttpExceptionCode.REQUEST_IS_PAUSE));
|
|
212
|
+
}
|
|
213
|
+
reject(
|
|
214
|
+
new HttpException(
|
|
215
|
+
HttpExceptionCode.REQUEST_FAILED_WITH_STATUS_CODE,
|
|
216
|
+
req.status
|
|
217
|
+
)
|
|
218
|
+
);
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
__name(request, "request");
|
|
224
|
+
export {
|
|
225
|
+
cancelRequest,
|
|
226
|
+
completeRequest,
|
|
227
|
+
createAbortSignal,
|
|
228
|
+
getAbortSignal,
|
|
229
|
+
getTaskAbortState,
|
|
230
|
+
pauseRequest,
|
|
231
|
+
registerAbortController,
|
|
232
|
+
request
|
|
233
|
+
};
|
|
234
|
+
//# sourceMappingURL=request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/request.ts"],"sourcesContent":["/**\n * @file Global request\n */\n\nimport { HttpException, HttpExceptionCode } from \"../Exception/HttpException\"\nimport type { TaskId } from \"../types\"\nimport type { RequestTask, UploadRequestConfig } from \"../types/request\"\nimport { isObject } from \"./checkDataFormat\"\nimport { formatHeaders } from \"../modules/TOS/utils\"\n\n// Maintain a request queue\nlet requestTasks: RequestTask[] = []\n\n// Maintain AbortController queue (for AWS SDK and other Fetch-based requests)\nlet abortControllers: Map<TaskId, AbortController[]> = new Map()\n\n// Maintain task cancel/pause state (to distinguish between cancel and pause)\nlet taskAbortStates: Map<TaskId, \"cancel\" | \"pause\"> = new Map()\n\n/**\n * Register an AbortController for a task (used for AWS SDK requests)\n * @param {TaskId} taskId Task ID\n * @param {AbortController} controller AbortController instance\n */\nexport function registerAbortController(taskId: TaskId, controller: AbortController): void {\n\tif (!abortControllers.has(taskId)) {\n\t\tabortControllers.set(taskId, [])\n\t}\n\tabortControllers.get(taskId)?.push(controller)\n}\n\n/**\n * Get the AbortSignal for a task\n * @param {TaskId} taskId Task ID\n * @returns {AbortSignal | undefined} AbortSignal if exists\n */\nexport function getAbortSignal(taskId: TaskId): AbortSignal | undefined {\n\tconst controllers = abortControllers.get(taskId)\n\tif (controllers && controllers.length > 0) {\n\t\t// Create a new controller for this specific request\n\t\tconst controller = new AbortController()\n\t\tcontrollers.push(controller)\n\t\treturn controller.signal\n\t}\n\treturn undefined\n}\n\n/**\n * Create a new AbortController for a task and return its signal\n * @param {TaskId} taskId Task ID\n * @returns {AbortSignal} AbortSignal\n */\nexport function createAbortSignal(taskId: TaskId): AbortSignal {\n\tconst controller = new AbortController()\n\tregisterAbortController(taskId, controller)\n\treturn controller.signal\n}\n\n/**\n * Get the abort state of a task (cancel or pause)\n * @param {TaskId} taskId Task ID\n * @returns {\"cancel\" | \"pause\" | undefined} The abort state\n */\nexport function getTaskAbortState(taskId: TaskId): \"cancel\" | \"pause\" | undefined {\n\treturn taskAbortStates.get(taskId)\n}\n\n/**\n * XMLHttpRequest object compatibility handling\n */\nfunction createXHR() {\n\tif (typeof XMLHttpRequest !== \"undefined\") {\n\t\t// Firefox, Opera, Safari, Chrome\n\t\treturn new XMLHttpRequest()\n\t}\n\tthrow new HttpException(HttpExceptionCode.REQUEST_NO_XHR_OBJ_AVAILABLE)\n}\n/**\n * @description Terminate file upload\n * @param {TaskId} taskId Task ID\n */\nexport function cancelRequest(taskId: TaskId): void {\n\t// Set abort state to cancel\n\ttaskAbortStates.set(taskId, \"cancel\")\n\t\n\t// Cancel XHR requests\n\trequestTasks.forEach((task) => {\n\t\tif (task.taskId === taskId) {\n\t\t\ttask.makeCancel()\n\t\t}\n\t})\n\t\n\t// Cancel Fetch-based requests (AWS SDK)\n\tconst controllers = abortControllers.get(taskId)\n\tif (controllers) {\n\t\tcontrollers.forEach((controller) => {\n\t\t\tcontroller.abort()\n\t\t})\n\t}\n}\n\n/**\n * @description Pause file upload\n * @param {TaskId} taskId Task ID\n */\nexport function pauseRequest(taskId: TaskId): void {\n\t// Set abort state to pause\n\ttaskAbortStates.set(taskId, \"pause\")\n\t\n\t// Pause XHR requests\n\trequestTasks.forEach((task) => {\n\t\tif (task.taskId === taskId) {\n\t\t\ttask.makePause()\n\t\t}\n\t})\n\t\n\t// Pause Fetch-based requests (AWS SDK)\n\tconst controllers = abortControllers.get(taskId)\n\tif (controllers) {\n\t\tcontrollers.forEach((controller) => {\n\t\t\tcontroller.abort()\n\t\t})\n\t}\n}\n\n/**\n * @description XML =>>> Object\n * @param {XMLDocument} xml\n * @return {Object} convertedObj Converted Object\n */\nfunction parseXML(xml: XMLDocument | null): Record<string, string | object> | {} {\n\t// output\n\tlet convertedObj: Record<string, object | string> = {}\n\tif (xml?.children && xml.children.length !== 0) {\n\t\tObject.values(xml.children).forEach((childNode: any) => {\n\t\t\tconvertedObj = {\n\t\t\t\t...convertedObj,\n\t\t\t\t[childNode.nodeName]: parseXML(childNode),\n\t\t\t}\n\t\t})\n\t} else {\n\t\treturn xml?.textContent ? xml.textContent : {}\n\t}\n\treturn convertedObj\n}\n\n/**\n * Parse header string to object\n * @param str\n */\nfunction parseHeaderString(str: string) {\n\treturn str.split(\"\\r\\n\").reduce((obj, header) => {\n\t\tlet tempObj = { ...obj }\n\t\tif (header !== \"\" && header.split(\":\").length > 0) {\n\t\t\tconst [key, value] = header.split(\":\")\n\t\t\ttempObj = {\n\t\t\t\t...tempObj,\n\t\t\t\t[key]: value.replace(\" \", \"\"),\n\t\t\t}\n\t\t}\n\t\treturn tempObj\n\t}, {})\n}\n\n/**\n * @description Request completion (whether success or failure)\n * @param {TaskId} taskId Task ID\n */\nexport function completeRequest(taskId: TaskId | undefined): void {\n\tif (taskId === undefined) return\n\n\trequestTasks = requestTasks.filter((task) => task.taskId !== taskId)\n\t\n\t// Clean up AbortControllers\n\tabortControllers.delete(taskId)\n\t\n\t// Clean up abort state\n\ttaskAbortStates.delete(taskId)\n}\n\n/**\n * Determine if response is JSON\n * @param req\n */\nfunction isJSONResponse(req: XMLHttpRequest) {\n\treturn req.responseType === \"json\" && typeof req.response === \"string\"\n}\n\n/**\n * Add headers object to response object\n * @param result\n * @param responseHeaders\n */\nfunction addHeadersToResponse<T extends Record<string, any>, H extends Record<string, string>>(\n\tresult: T,\n\tresponseHeaders: H,\n): T & { headers: H } {\n\treturn {\n\t\t...result,\n\t\theaders: responseHeaders,\n\t}\n}\n\n/**\n * Encapsulate XHR request method\n * @param {UploadRequestConfig} uploadRequestConfig\n * @return {Promise<Result>}\n */\nexport function request<T>(uploadRequestConfig: UploadRequestConfig): Promise<T> {\n\tconst {\n\t\tmethod,\n\t\turl,\n\t\tdata,\n\t\tquery,\n\t\theaders,\n\t\tsuccess,\n\t\tfail,\n\t\ttaskId,\n\t\tonProgress,\n\t\txmlResponse,\n\t\twithoutWrapper,\n\t} = uploadRequestConfig\n\n\treturn new Promise((resolve, reject) => {\n\t\t// Create a request\n\t\tconst req = createXHR()\n\t\t// Cancel state\n\t\tlet isCancel: boolean = false\n\n\t\t// Pause state\n\t\tlet isPause: boolean = false\n\n\t\treq.responseType = xmlResponse ? \"document\" : \"json\"\n\n\t\t// Monitor upload file start\n\t\treq.upload.onloadstart = () => {\n\t\t\tif (taskId) {\n\t\t\t\trequestTasks.push({\n\t\t\t\t\ttaskId,\n\t\t\t\t\tmakeCancel: () => {\n\t\t\t\t\t\tisCancel = true\n\t\t\t\t\t\treq.abort()\n\t\t\t\t\t},\n\t\t\t\t\tmakePause: () => {\n\t\t\t\t\t\tisPause = true\n\t\t\t\t\t\treq.abort()\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\t// Monitor upload file progress event\n\t\treq.upload.onprogress = (evt: any) => {\n\t\t\tif (onProgress) onProgress((evt.loaded / evt.total) * 100, evt.loaded, evt.total, null)\n\t\t}\n\n\t\t// Handle query parameters\n\t\tlet handledUrl = url\n\t\tif (query) {\n\t\t\tconst queryString = Object.entries(query)\n\t\t\t\t.map(([key, value]) => {\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\treturn `${key}=${value}`\n\t\t\t\t\t}\n\t\t\t\t\treturn key\n\t\t\t\t})\n\t\t\t\t.join(\"&\")\n\n\t\t\tif (queryString) {\n\t\t\t\thandledUrl += `?${queryString}`\n\t\t\t}\n\t\t}\n\n\t\t// Set request method, URL, async\n\t\treq.open(method.toUpperCase(), handledUrl, true)\n\n\t\t// Set request headers\n\t\treq.setRequestHeader(\"language\", \"zh_CN\")\n\n\t\tif (headers && Object.keys(headers).length > 0) {\n\t\t\tconst handledHeaders = formatHeaders(headers)\n\t\t\tObject.keys(handledHeaders).forEach((key) => {\n\t\t\t\treq.setRequestHeader(key, headers[key])\n\t\t\t})\n\t\t}\n\n\t\t// Send request\n\t\treq.send(data as XMLHttpRequestBodyInit | null)\n\n\t\t// Receive response\n\t\treq.onreadystatechange = () => {\n\t\t\tif (req.readyState !== 4) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Judge response status\n\t\t\tif (/^2\\d{2}/.test(String(req.status))) {\n\t\t\t\t// Request success\n\t\t\t\tlet result = isJSONResponse(req) ? JSON.parse(req.response) : req.response\n\t\t\t\tconst responseHeaders: Record<string, string> = {\n\t\t\t\t\t...parseHeaderString(req.getAllResponseHeaders()),\n\t\t\t\t}\n\n\t\t\t\t// aliyun initMultipleUpload\n\t\t\t\tif (xmlResponse) {\n\t\t\t\t\tresult = {\n\t\t\t\t\t\tdata: parseXML(req.responseXML),\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// tos post\n\t\t\t\tif (withoutWrapper || !isObject(result)) {\n\t\t\t\t\tresult = {\n\t\t\t\t\t\tdata: result,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tresult = addHeadersToResponse(result, responseHeaders)\n\n\t\t\t\tresolve(result)\n\t\t\t\tif (success && typeof success === \"function\") {\n\t\t\t\t\tsuccess(result)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Request failure\n\t\t\t\tif (fail && typeof fail === \"function\") {\n\t\t\t\t\tfail(req.status, reject)\n\t\t\t\t}\n\t\t\t\tif (isCancel) {\n\t\t\t\t\treject(new HttpException(HttpExceptionCode.REQUEST_IS_CANCEL))\n\t\t\t\t} else if (isPause) {\n\t\t\t\t\treject(new HttpException(HttpExceptionCode.REQUEST_IS_PAUSE))\n\t\t\t\t}\n\t\t\t\treject(\n\t\t\t\t\tnew HttpException(\n\t\t\t\t\t\tHttpExceptionCode.REQUEST_FAILED_WITH_STATUS_CODE,\n\t\t\t\t\t\treq.status,\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t})\n}\n\n\n\n\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
const DEFAULT_SUCCESS_CODE = 1e3;
|
|
4
|
+
const DEFAULT_SUCCESS_MESSAGE = "Request successful";
|
|
5
|
+
function normalizeSuccessResponse(key, platform, headers) {
|
|
6
|
+
return {
|
|
7
|
+
code: DEFAULT_SUCCESS_CODE,
|
|
8
|
+
message: DEFAULT_SUCCESS_MESSAGE,
|
|
9
|
+
headers,
|
|
10
|
+
data: {
|
|
11
|
+
path: key,
|
|
12
|
+
platform
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
__name(normalizeSuccessResponse, "normalizeSuccessResponse");
|
|
17
|
+
export {
|
|
18
|
+
normalizeSuccessResponse
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/response.ts"],"sourcesContent":["import type { NormalSuccessResponse, PlatformType } from \"../types\"\n\nconst DEFAULT_SUCCESS_CODE = 1000\nconst DEFAULT_SUCCESS_MESSAGE = \"Request successful\"\n\nexport function normalizeSuccessResponse(\n\tkey: string,\n\tplatform: PlatformType,\n\theaders: Record<string, string>,\n): NormalSuccessResponse {\n\treturn {\n\t\tcode: DEFAULT_SUCCESS_CODE,\n\t\tmessage: DEFAULT_SUCCESS_MESSAGE,\n\t\theaders,\n\t\tdata: {\n\t\t\tpath: key,\n\t\t\tplatform,\n\t\t},\n\t}\n}\n\n\n\n\n"],"mappings":";;AAEA,MAAM,uBAAuB;AAC7B,MAAM,0BAA0B;AAEzB,SAAS,yBACf,KACA,UACA,SACwB;AACxB,SAAO;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT;AAAA,IACA,MAAM;AAAA,MACL,MAAM;AAAA,MACN;AAAA,IACD;AAAA,EACD;AACD;AAdgB;","names":[]}
|