@uploadcare/upload-client 3.0.0-alpha.0 → 3.1.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.
- package/README.md +16 -0
- package/dist/index.browser.cjs +149 -95
- package/dist/index.browser.js +145 -90
- package/dist/index.cjs +149 -95
- package/dist/index.js +145 -90
- package/dist/types.d.ts +33 -8
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -218,28 +218,80 @@ function identity(obj) {
|
|
|
218
218
|
var transformFile = identity;
|
|
219
219
|
var getFormData = (function () { return new NodeFormData__default["default"](); });
|
|
220
220
|
|
|
221
|
-
|
|
222
|
-
|
|
221
|
+
/**
|
|
222
|
+
* FileData type guard.
|
|
223
|
+
*/
|
|
224
|
+
var isFileData = function (data) {
|
|
225
|
+
return (data !== undefined &&
|
|
226
|
+
((typeof Blob !== 'undefined' && data instanceof Blob) ||
|
|
227
|
+
(typeof File !== 'undefined' && data instanceof File) ||
|
|
228
|
+
(typeof Buffer !== 'undefined' && data instanceof Buffer)));
|
|
223
229
|
};
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
230
|
+
/**
|
|
231
|
+
* Uuid type guard.
|
|
232
|
+
*/
|
|
233
|
+
var isUuid = function (data) {
|
|
234
|
+
var UUID_REGEX = '[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}';
|
|
235
|
+
var regExp = new RegExp(UUID_REGEX);
|
|
236
|
+
return !isFileData(data) && regExp.test(data);
|
|
237
|
+
};
|
|
238
|
+
/**
|
|
239
|
+
* Url type guard.
|
|
240
|
+
*
|
|
241
|
+
* @param {NodeFile | BrowserFile | Url | Uuid} data
|
|
242
|
+
*/
|
|
243
|
+
var isUrl = function (data) {
|
|
244
|
+
var URL_REGEX = '^(?:\\w+:)?\\/\\/([^\\s\\.]+\\.\\S{2}|localhost[\\:?\\d]*)\\S*$';
|
|
245
|
+
var regExp = new RegExp(URL_REGEX);
|
|
246
|
+
return !isFileData(data) && regExp.test(data);
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
var isSimpleValue = function (value) {
|
|
250
|
+
return (typeof value === 'string' ||
|
|
251
|
+
typeof value === 'number' ||
|
|
252
|
+
typeof value === 'undefined');
|
|
253
|
+
};
|
|
254
|
+
var isObjectValue = function (value) {
|
|
255
|
+
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
256
|
+
};
|
|
257
|
+
var isFileValue = function (value) {
|
|
258
|
+
return !!value &&
|
|
259
|
+
typeof value === 'object' &&
|
|
260
|
+
'data' in value &&
|
|
261
|
+
isFileData(value.data);
|
|
262
|
+
};
|
|
263
|
+
function collectParams(params, inputKey, inputValue) {
|
|
264
|
+
if (isFileValue(inputValue)) {
|
|
265
|
+
var name_1 = inputValue.name;
|
|
266
|
+
var file = transformFile(inputValue.data); // lgtm [js/superfluous-trailing-arguments]
|
|
267
|
+
params.push(name_1 ? [inputKey, file, name_1] : [inputKey, file]);
|
|
268
|
+
}
|
|
269
|
+
else if (isObjectValue(inputValue)) {
|
|
270
|
+
for (var _i = 0, _a = Object.entries(inputValue); _i < _a.length; _i++) {
|
|
271
|
+
var _b = _a[_i], key = _b[0], value = _b[1];
|
|
272
|
+
if (typeof value !== 'undefined') {
|
|
273
|
+
params.push([inputKey + "[" + key + "]", String(value)]);
|
|
274
|
+
}
|
|
238
275
|
}
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
276
|
+
}
|
|
277
|
+
else if (isSimpleValue(inputValue) && inputValue) {
|
|
278
|
+
params.push([inputKey, inputValue.toString()]);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
function getFormDataParams(options) {
|
|
282
|
+
var params = [];
|
|
283
|
+
for (var _i = 0, _a = Object.entries(options); _i < _a.length; _i++) {
|
|
284
|
+
var _b = _a[_i], key = _b[0], value = _b[1];
|
|
285
|
+
collectParams(params, key, value);
|
|
286
|
+
}
|
|
287
|
+
return params;
|
|
288
|
+
}
|
|
289
|
+
function buildFormData(options) {
|
|
290
|
+
var formData = getFormData();
|
|
291
|
+
var params = getFormDataParams(options);
|
|
292
|
+
for (var _i = 0, params_1 = params; _i < params_1.length; _i++) {
|
|
293
|
+
var param = params_1[_i];
|
|
294
|
+
formData.append.apply(formData, param);
|
|
243
295
|
}
|
|
244
296
|
return formData;
|
|
245
297
|
}
|
|
@@ -247,13 +299,26 @@ function buildFormData(body) {
|
|
|
247
299
|
var serializePair = function (key, value) {
|
|
248
300
|
return typeof value !== 'undefined' ? key + "=" + encodeURIComponent(value) : null;
|
|
249
301
|
};
|
|
302
|
+
// TODO: generalize value transforming logic and use it here and inside `buildFormData`
|
|
250
303
|
var createQuery = function (query) {
|
|
251
304
|
return Object.entries(query)
|
|
252
305
|
.reduce(function (params, _a) {
|
|
253
306
|
var key = _a[0], value = _a[1];
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
307
|
+
var param;
|
|
308
|
+
if (typeof value === 'object' && !Array.isArray(value)) {
|
|
309
|
+
param = Object.entries(value)
|
|
310
|
+
.filter(function (entry) { return typeof entry[1] !== 'undefined'; })
|
|
311
|
+
.map(function (entry) {
|
|
312
|
+
return serializePair(key + "[" + entry[0] + "]", String(entry[1]));
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
else if (Array.isArray(value)) {
|
|
316
|
+
param = value.map(function (val) { return serializePair(key + "[]", val); });
|
|
317
|
+
}
|
|
318
|
+
else {
|
|
319
|
+
param = serializePair(key, value);
|
|
320
|
+
}
|
|
321
|
+
return params.concat(param);
|
|
257
322
|
}, [])
|
|
258
323
|
.filter(function (x) { return !!x; })
|
|
259
324
|
.join('&');
|
|
@@ -289,7 +354,7 @@ var defaultSettings = {
|
|
|
289
354
|
var defaultContentType = 'application/octet-stream';
|
|
290
355
|
var defaultFilename = 'original';
|
|
291
356
|
|
|
292
|
-
var version = '3.
|
|
357
|
+
var version = '3.1.1';
|
|
293
358
|
|
|
294
359
|
/**
|
|
295
360
|
* Returns User Agent based on version and settings.
|
|
@@ -400,12 +465,16 @@ function retryIfThrottled(fn, retryThrottledMaxTimes) {
|
|
|
400
465
|
});
|
|
401
466
|
}
|
|
402
467
|
|
|
468
|
+
function getStoreValue(store) {
|
|
469
|
+
return typeof store === 'undefined' ? 'auto' : store ? '1' : '0';
|
|
470
|
+
}
|
|
471
|
+
|
|
403
472
|
/**
|
|
404
473
|
* Performs file uploading request to Uploadcare Upload API.
|
|
405
474
|
* Can be canceled and has progress.
|
|
406
475
|
*/
|
|
407
476
|
function base(file, _a) {
|
|
408
|
-
var publicKey = _a.publicKey, fileName = _a.fileName, _b = _a.baseURL, baseURL = _b === void 0 ? defaultSettings.baseURL : _b, secureSignature = _a.secureSignature, secureExpire = _a.secureExpire, store = _a.store, signal = _a.signal, onProgress = _a.onProgress, _c = _a.source, source = _c === void 0 ? 'local' : _c, integration = _a.integration, userAgent = _a.userAgent, _d = _a.retryThrottledRequestMaxTimes, retryThrottledRequestMaxTimes = _d === void 0 ? defaultSettings.retryThrottledRequestMaxTimes : _d;
|
|
477
|
+
var publicKey = _a.publicKey, fileName = _a.fileName, _b = _a.baseURL, baseURL = _b === void 0 ? defaultSettings.baseURL : _b, secureSignature = _a.secureSignature, secureExpire = _a.secureExpire, store = _a.store, signal = _a.signal, onProgress = _a.onProgress, _c = _a.source, source = _c === void 0 ? 'local' : _c, integration = _a.integration, userAgent = _a.userAgent, _d = _a.retryThrottledRequestMaxTimes, retryThrottledRequestMaxTimes = _d === void 0 ? defaultSettings.retryThrottledRequestMaxTimes : _d, metadata = _a.metadata;
|
|
409
478
|
return retryIfThrottled(function () {
|
|
410
479
|
var _a;
|
|
411
480
|
return request({
|
|
@@ -416,17 +485,18 @@ function base(file, _a) {
|
|
|
416
485
|
headers: {
|
|
417
486
|
'X-UC-User-Agent': getUserAgent({ publicKey: publicKey, integration: integration, userAgent: userAgent })
|
|
418
487
|
},
|
|
419
|
-
data: buildFormData(
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
488
|
+
data: buildFormData({
|
|
489
|
+
file: {
|
|
490
|
+
data: file,
|
|
491
|
+
name: (_a = fileName !== null && fileName !== void 0 ? fileName : file.name) !== null && _a !== void 0 ? _a : defaultFilename
|
|
492
|
+
},
|
|
493
|
+
UPLOADCARE_PUB_KEY: publicKey,
|
|
494
|
+
UPLOADCARE_STORE: getStoreValue(store),
|
|
495
|
+
signature: secureSignature,
|
|
496
|
+
expire: secureExpire,
|
|
497
|
+
source: source,
|
|
498
|
+
metadata: metadata
|
|
499
|
+
}),
|
|
430
500
|
signal: signal,
|
|
431
501
|
onProgress: onProgress
|
|
432
502
|
}).then(function (_a) {
|
|
@@ -451,7 +521,7 @@ var TypeEnum;
|
|
|
451
521
|
* Uploading files from URL.
|
|
452
522
|
*/
|
|
453
523
|
function fromUrl(sourceUrl, _a) {
|
|
454
|
-
var publicKey = _a.publicKey, _b = _a.baseURL, baseURL = _b === void 0 ? defaultSettings.baseURL : _b, store = _a.store, fileName = _a.fileName, checkForUrlDuplicates = _a.checkForUrlDuplicates, saveUrlForRecurrentUploads = _a.saveUrlForRecurrentUploads, secureSignature = _a.secureSignature, secureExpire = _a.secureExpire, _c = _a.source, source = _c === void 0 ? 'url' : _c, signal = _a.signal, integration = _a.integration, userAgent = _a.userAgent, _d = _a.retryThrottledRequestMaxTimes, retryThrottledRequestMaxTimes = _d === void 0 ? defaultSettings.retryThrottledRequestMaxTimes : _d;
|
|
524
|
+
var publicKey = _a.publicKey, _b = _a.baseURL, baseURL = _b === void 0 ? defaultSettings.baseURL : _b, store = _a.store, fileName = _a.fileName, checkForUrlDuplicates = _a.checkForUrlDuplicates, saveUrlForRecurrentUploads = _a.saveUrlForRecurrentUploads, secureSignature = _a.secureSignature, secureExpire = _a.secureExpire, _c = _a.source, source = _c === void 0 ? 'url' : _c, signal = _a.signal, integration = _a.integration, userAgent = _a.userAgent, _d = _a.retryThrottledRequestMaxTimes, retryThrottledRequestMaxTimes = _d === void 0 ? defaultSettings.retryThrottledRequestMaxTimes : _d, metadata = _a.metadata;
|
|
455
525
|
return retryIfThrottled(function () {
|
|
456
526
|
return request({
|
|
457
527
|
method: 'POST',
|
|
@@ -462,13 +532,14 @@ function fromUrl(sourceUrl, _a) {
|
|
|
462
532
|
jsonerrors: 1,
|
|
463
533
|
pub_key: publicKey,
|
|
464
534
|
source_url: sourceUrl,
|
|
465
|
-
store:
|
|
535
|
+
store: getStoreValue(store),
|
|
466
536
|
filename: fileName,
|
|
467
537
|
check_URL_duplicates: checkForUrlDuplicates ? 1 : undefined,
|
|
468
538
|
save_URL_duplicates: saveUrlForRecurrentUploads ? 1 : undefined,
|
|
469
539
|
signature: secureSignature,
|
|
470
540
|
expire: secureExpire,
|
|
471
|
-
source: source
|
|
541
|
+
source: source,
|
|
542
|
+
metadata: metadata
|
|
472
543
|
}),
|
|
473
544
|
signal: signal
|
|
474
545
|
}).then(function (_a) {
|
|
@@ -630,7 +701,7 @@ function info(uuid, _a) {
|
|
|
630
701
|
* Start multipart uploading.
|
|
631
702
|
*/
|
|
632
703
|
function multipartStart(size, _a) {
|
|
633
|
-
var publicKey = _a.publicKey, contentType = _a.contentType, fileName = _a.fileName, _b = _a.multipartChunkSize, multipartChunkSize = _b === void 0 ? defaultSettings.multipartChunkSize : _b, _c = _a.baseURL, baseURL = _c === void 0 ? '' : _c, secureSignature = _a.secureSignature, secureExpire = _a.secureExpire, store = _a.store, signal = _a.signal, _d = _a.source, source = _d === void 0 ? 'local' : _d, integration = _a.integration, userAgent = _a.userAgent, _e = _a.retryThrottledRequestMaxTimes, retryThrottledRequestMaxTimes = _e === void 0 ? defaultSettings.retryThrottledRequestMaxTimes : _e;
|
|
704
|
+
var publicKey = _a.publicKey, contentType = _a.contentType, fileName = _a.fileName, _b = _a.multipartChunkSize, multipartChunkSize = _b === void 0 ? defaultSettings.multipartChunkSize : _b, _c = _a.baseURL, baseURL = _c === void 0 ? '' : _c, secureSignature = _a.secureSignature, secureExpire = _a.secureExpire, store = _a.store, signal = _a.signal, _d = _a.source, source = _d === void 0 ? 'local' : _d, integration = _a.integration, userAgent = _a.userAgent, _e = _a.retryThrottledRequestMaxTimes, retryThrottledRequestMaxTimes = _e === void 0 ? defaultSettings.retryThrottledRequestMaxTimes : _e, metadata = _a.metadata;
|
|
634
705
|
return retryIfThrottled(function () {
|
|
635
706
|
return request({
|
|
636
707
|
method: 'POST',
|
|
@@ -638,17 +709,18 @@ function multipartStart(size, _a) {
|
|
|
638
709
|
headers: {
|
|
639
710
|
'X-UC-User-Agent': getUserAgent({ publicKey: publicKey, integration: integration, userAgent: userAgent })
|
|
640
711
|
},
|
|
641
|
-
data: buildFormData(
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
712
|
+
data: buildFormData({
|
|
713
|
+
filename: fileName !== null && fileName !== void 0 ? fileName : defaultFilename,
|
|
714
|
+
size: size,
|
|
715
|
+
content_type: contentType !== null && contentType !== void 0 ? contentType : defaultContentType,
|
|
716
|
+
part_size: multipartChunkSize,
|
|
717
|
+
UPLOADCARE_STORE: getStoreValue(store),
|
|
718
|
+
UPLOADCARE_PUB_KEY: publicKey,
|
|
719
|
+
signature: secureSignature,
|
|
720
|
+
expire: secureExpire,
|
|
721
|
+
source: source,
|
|
722
|
+
metadata: metadata
|
|
723
|
+
}),
|
|
652
724
|
signal: signal
|
|
653
725
|
}).then(function (_a) {
|
|
654
726
|
var data = _a.data, headers = _a.headers, request = _a.request;
|
|
@@ -705,11 +777,11 @@ function multipartComplete(uuid, _a) {
|
|
|
705
777
|
headers: {
|
|
706
778
|
'X-UC-User-Agent': getUserAgent({ publicKey: publicKey, integration: integration, userAgent: userAgent })
|
|
707
779
|
},
|
|
708
|
-
data: buildFormData(
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
780
|
+
data: buildFormData({
|
|
781
|
+
uuid: uuid,
|
|
782
|
+
UPLOADCARE_PUB_KEY: publicKey,
|
|
783
|
+
source: source
|
|
784
|
+
}),
|
|
713
785
|
signal: signal
|
|
714
786
|
}).then(function (_a) {
|
|
715
787
|
var data = _a.data, headers = _a.headers, request = _a.request;
|
|
@@ -738,6 +810,8 @@ var UploadcareFile = /** @class */ (function () {
|
|
|
738
810
|
this.originalFilename = null;
|
|
739
811
|
this.imageInfo = null;
|
|
740
812
|
this.videoInfo = null;
|
|
813
|
+
this.contentInfo = null;
|
|
814
|
+
this.metadata = null;
|
|
741
815
|
var uuid = fileInfo.uuid, s3Bucket = fileInfo.s3Bucket;
|
|
742
816
|
var urlBase = s3Bucket
|
|
743
817
|
? "https://" + s3Bucket + ".s3.amazonaws.com/" + uuid + "/" + fileInfo.filename
|
|
@@ -757,6 +831,8 @@ var UploadcareFile = /** @class */ (function () {
|
|
|
757
831
|
this.originalFilename = fileInfo.originalFilename;
|
|
758
832
|
this.imageInfo = camelizeKeys(fileInfo.imageInfo);
|
|
759
833
|
this.videoInfo = camelizeKeys(fileInfo.videoInfo);
|
|
834
|
+
this.contentInfo = camelizeKeys(fileInfo.contentInfo);
|
|
835
|
+
this.metadata = fileInfo.metadata || null;
|
|
760
836
|
}
|
|
761
837
|
return UploadcareFile;
|
|
762
838
|
}());
|
|
@@ -816,7 +892,7 @@ function isReadyPoll(_a) {
|
|
|
816
892
|
}
|
|
817
893
|
|
|
818
894
|
var uploadFromObject = function (file, _a) {
|
|
819
|
-
var publicKey = _a.publicKey, fileName = _a.fileName, baseURL = _a.baseURL, secureSignature = _a.secureSignature, secureExpire = _a.secureExpire, store = _a.store, signal = _a.signal, onProgress = _a.onProgress, source = _a.source, integration = _a.integration, userAgent = _a.userAgent, retryThrottledRequestMaxTimes = _a.retryThrottledRequestMaxTimes, baseCDN = _a.baseCDN;
|
|
895
|
+
var publicKey = _a.publicKey, fileName = _a.fileName, baseURL = _a.baseURL, secureSignature = _a.secureSignature, secureExpire = _a.secureExpire, store = _a.store, signal = _a.signal, onProgress = _a.onProgress, source = _a.source, integration = _a.integration, userAgent = _a.userAgent, retryThrottledRequestMaxTimes = _a.retryThrottledRequestMaxTimes, baseCDN = _a.baseCDN, metadata = _a.metadata;
|
|
820
896
|
return base(file, {
|
|
821
897
|
publicKey: publicKey,
|
|
822
898
|
fileName: fileName,
|
|
@@ -829,7 +905,8 @@ var uploadFromObject = function (file, _a) {
|
|
|
829
905
|
source: source,
|
|
830
906
|
integration: integration,
|
|
831
907
|
userAgent: userAgent,
|
|
832
|
-
retryThrottledRequestMaxTimes: retryThrottledRequestMaxTimes
|
|
908
|
+
retryThrottledRequestMaxTimes: retryThrottledRequestMaxTimes,
|
|
909
|
+
metadata: metadata
|
|
833
910
|
})
|
|
834
911
|
.then(function (_a) {
|
|
835
912
|
var file = _a.file;
|
|
@@ -1137,7 +1214,7 @@ var pushStrategy = function (_a) {
|
|
|
1137
1214
|
});
|
|
1138
1215
|
};
|
|
1139
1216
|
var uploadFromUrl = function (sourceUrl, _a) {
|
|
1140
|
-
var publicKey = _a.publicKey, fileName = _a.fileName, baseURL = _a.baseURL, baseCDN = _a.baseCDN, checkForUrlDuplicates = _a.checkForUrlDuplicates, saveUrlForRecurrentUploads = _a.saveUrlForRecurrentUploads, secureSignature = _a.secureSignature, secureExpire = _a.secureExpire, store = _a.store, signal = _a.signal, onProgress = _a.onProgress, source = _a.source, integration = _a.integration, userAgent = _a.userAgent, retryThrottledRequestMaxTimes = _a.retryThrottledRequestMaxTimes, _b = _a.pusherKey, pusherKey = _b === void 0 ? defaultSettings.pusherKey : _b;
|
|
1217
|
+
var publicKey = _a.publicKey, fileName = _a.fileName, baseURL = _a.baseURL, baseCDN = _a.baseCDN, checkForUrlDuplicates = _a.checkForUrlDuplicates, saveUrlForRecurrentUploads = _a.saveUrlForRecurrentUploads, secureSignature = _a.secureSignature, secureExpire = _a.secureExpire, store = _a.store, signal = _a.signal, onProgress = _a.onProgress, source = _a.source, integration = _a.integration, userAgent = _a.userAgent, retryThrottledRequestMaxTimes = _a.retryThrottledRequestMaxTimes, _b = _a.pusherKey, pusherKey = _b === void 0 ? defaultSettings.pusherKey : _b, metadata = _a.metadata;
|
|
1141
1218
|
return Promise.resolve(preconnect(pusherKey))
|
|
1142
1219
|
.then(function () {
|
|
1143
1220
|
return fromUrl(sourceUrl, {
|
|
@@ -1153,7 +1230,8 @@ var uploadFromUrl = function (sourceUrl, _a) {
|
|
|
1153
1230
|
source: source,
|
|
1154
1231
|
integration: integration,
|
|
1155
1232
|
userAgent: userAgent,
|
|
1156
|
-
retryThrottledRequestMaxTimes: retryThrottledRequestMaxTimes
|
|
1233
|
+
retryThrottledRequestMaxTimes: retryThrottledRequestMaxTimes,
|
|
1234
|
+
metadata: metadata
|
|
1157
1235
|
});
|
|
1158
1236
|
})
|
|
1159
1237
|
.catch(function (error) {
|
|
@@ -1235,34 +1313,6 @@ var uploadFromUploaded = function (uuid, _a) {
|
|
|
1235
1313
|
});
|
|
1236
1314
|
};
|
|
1237
1315
|
|
|
1238
|
-
/**
|
|
1239
|
-
* FileData type guard.
|
|
1240
|
-
*/
|
|
1241
|
-
var isFileData = function (data) {
|
|
1242
|
-
return (data !== undefined &&
|
|
1243
|
-
((typeof Blob !== 'undefined' && data instanceof Blob) ||
|
|
1244
|
-
(typeof File !== 'undefined' && data instanceof File) ||
|
|
1245
|
-
(typeof Buffer !== 'undefined' && data instanceof Buffer)));
|
|
1246
|
-
};
|
|
1247
|
-
/**
|
|
1248
|
-
* Uuid type guard.
|
|
1249
|
-
*/
|
|
1250
|
-
var isUuid = function (data) {
|
|
1251
|
-
var UUID_REGEX = '[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}';
|
|
1252
|
-
var regExp = new RegExp(UUID_REGEX);
|
|
1253
|
-
return !isFileData(data) && regExp.test(data);
|
|
1254
|
-
};
|
|
1255
|
-
/**
|
|
1256
|
-
* Url type guard.
|
|
1257
|
-
*
|
|
1258
|
-
* @param {NodeFile | BrowserFile | Url | Uuid} data
|
|
1259
|
-
*/
|
|
1260
|
-
var isUrl = function (data) {
|
|
1261
|
-
var URL_REGEX = '^(?:\\w+:)?\\/\\/([^\\s\\.]+\\.\\S{2}|localhost[\\:?\\d]*)\\S*$';
|
|
1262
|
-
var regExp = new RegExp(URL_REGEX);
|
|
1263
|
-
return !isFileData(data) && regExp.test(data);
|
|
1264
|
-
};
|
|
1265
|
-
|
|
1266
1316
|
/**
|
|
1267
1317
|
* Get file size.
|
|
1268
1318
|
*/
|
|
@@ -1342,7 +1392,7 @@ var uploadPartWithRetry = function (chunk, url, _a) {
|
|
|
1342
1392
|
});
|
|
1343
1393
|
};
|
|
1344
1394
|
var uploadMultipart = function (file, _a) {
|
|
1345
|
-
var publicKey = _a.publicKey, fileName = _a.fileName, fileSize = _a.fileSize, baseURL = _a.baseURL, secureSignature = _a.secureSignature, secureExpire = _a.secureExpire, store = _a.store, signal = _a.signal, onProgress = _a.onProgress, source = _a.source, integration = _a.integration, userAgent = _a.userAgent, retryThrottledRequestMaxTimes = _a.retryThrottledRequestMaxTimes, contentType = _a.contentType, _b = _a.multipartChunkSize, multipartChunkSize = _b === void 0 ? defaultSettings.multipartChunkSize : _b, _c = _a.maxConcurrentRequests, maxConcurrentRequests = _c === void 0 ? defaultSettings.maxConcurrentRequests : _c, _d = _a.multipartMaxAttempts, multipartMaxAttempts = _d === void 0 ? defaultSettings.multipartMaxAttempts : _d, baseCDN = _a.baseCDN;
|
|
1395
|
+
var publicKey = _a.publicKey, fileName = _a.fileName, fileSize = _a.fileSize, baseURL = _a.baseURL, secureSignature = _a.secureSignature, secureExpire = _a.secureExpire, store = _a.store, signal = _a.signal, onProgress = _a.onProgress, source = _a.source, integration = _a.integration, userAgent = _a.userAgent, retryThrottledRequestMaxTimes = _a.retryThrottledRequestMaxTimes, contentType = _a.contentType, _b = _a.multipartChunkSize, multipartChunkSize = _b === void 0 ? defaultSettings.multipartChunkSize : _b, _c = _a.maxConcurrentRequests, maxConcurrentRequests = _c === void 0 ? defaultSettings.maxConcurrentRequests : _c, _d = _a.multipartMaxAttempts, multipartMaxAttempts = _d === void 0 ? defaultSettings.multipartMaxAttempts : _d, baseCDN = _a.baseCDN, metadata = _a.metadata;
|
|
1346
1396
|
var size = fileSize || getFileSize(file);
|
|
1347
1397
|
var progressValues;
|
|
1348
1398
|
var createProgressHandler = function (totalChunks, chunkIdx) {
|
|
@@ -1377,7 +1427,8 @@ var uploadMultipart = function (file, _a) {
|
|
|
1377
1427
|
source: source,
|
|
1378
1428
|
integration: integration,
|
|
1379
1429
|
userAgent: userAgent,
|
|
1380
|
-
retryThrottledRequestMaxTimes: retryThrottledRequestMaxTimes
|
|
1430
|
+
retryThrottledRequestMaxTimes: retryThrottledRequestMaxTimes,
|
|
1431
|
+
metadata: metadata
|
|
1381
1432
|
})
|
|
1382
1433
|
.then(function (_a) {
|
|
1383
1434
|
var uuid = _a.uuid, parts = _a.parts;
|
|
@@ -1431,10 +1482,10 @@ var uploadMultipart = function (file, _a) {
|
|
|
1431
1482
|
* Uploads file from provided data.
|
|
1432
1483
|
*/
|
|
1433
1484
|
function uploadFile(data, _a) {
|
|
1434
|
-
var publicKey = _a.publicKey, fileName = _a.fileName, _b = _a.baseURL, baseURL = _b === void 0 ? defaultSettings.baseURL : _b, secureSignature = _a.secureSignature, secureExpire = _a.secureExpire, store = _a.store, signal = _a.signal, onProgress = _a.onProgress, source = _a.source, integration = _a.integration, userAgent = _a.userAgent, retryThrottledRequestMaxTimes = _a.retryThrottledRequestMaxTimes, contentType = _a.contentType, multipartChunkSize = _a.multipartChunkSize, multipartMaxAttempts = _a.multipartMaxAttempts, maxConcurrentRequests = _a.maxConcurrentRequests, _c = _a.baseCDN, baseCDN = _c === void 0 ? defaultSettings.baseCDN : _c, checkForUrlDuplicates = _a.checkForUrlDuplicates, saveUrlForRecurrentUploads = _a.saveUrlForRecurrentUploads, pusherKey = _a.pusherKey;
|
|
1485
|
+
var publicKey = _a.publicKey, fileName = _a.fileName, _b = _a.baseURL, baseURL = _b === void 0 ? defaultSettings.baseURL : _b, secureSignature = _a.secureSignature, secureExpire = _a.secureExpire, store = _a.store, signal = _a.signal, onProgress = _a.onProgress, source = _a.source, integration = _a.integration, userAgent = _a.userAgent, retryThrottledRequestMaxTimes = _a.retryThrottledRequestMaxTimes, contentType = _a.contentType, multipartMinFileSize = _a.multipartMinFileSize, multipartChunkSize = _a.multipartChunkSize, multipartMaxAttempts = _a.multipartMaxAttempts, maxConcurrentRequests = _a.maxConcurrentRequests, _c = _a.baseCDN, baseCDN = _c === void 0 ? defaultSettings.baseCDN : _c, checkForUrlDuplicates = _a.checkForUrlDuplicates, saveUrlForRecurrentUploads = _a.saveUrlForRecurrentUploads, pusherKey = _a.pusherKey, metadata = _a.metadata;
|
|
1435
1486
|
if (isFileData(data)) {
|
|
1436
1487
|
var fileSize = getFileSize(data);
|
|
1437
|
-
if (isMultipart(fileSize)) {
|
|
1488
|
+
if (isMultipart(fileSize, multipartMinFileSize)) {
|
|
1438
1489
|
return uploadMultipart(data, {
|
|
1439
1490
|
publicKey: publicKey,
|
|
1440
1491
|
contentType: contentType,
|
|
@@ -1452,7 +1503,8 @@ function uploadFile(data, _a) {
|
|
|
1452
1503
|
userAgent: userAgent,
|
|
1453
1504
|
maxConcurrentRequests: maxConcurrentRequests,
|
|
1454
1505
|
retryThrottledRequestMaxTimes: retryThrottledRequestMaxTimes,
|
|
1455
|
-
baseCDN: baseCDN
|
|
1506
|
+
baseCDN: baseCDN,
|
|
1507
|
+
metadata: metadata
|
|
1456
1508
|
});
|
|
1457
1509
|
}
|
|
1458
1510
|
return uploadFromObject(data, {
|
|
@@ -1468,7 +1520,8 @@ function uploadFile(data, _a) {
|
|
|
1468
1520
|
integration: integration,
|
|
1469
1521
|
userAgent: userAgent,
|
|
1470
1522
|
retryThrottledRequestMaxTimes: retryThrottledRequestMaxTimes,
|
|
1471
|
-
baseCDN: baseCDN
|
|
1523
|
+
baseCDN: baseCDN,
|
|
1524
|
+
metadata: metadata
|
|
1472
1525
|
});
|
|
1473
1526
|
}
|
|
1474
1527
|
if (isUrl(data)) {
|
|
@@ -1488,7 +1541,8 @@ function uploadFile(data, _a) {
|
|
|
1488
1541
|
integration: integration,
|
|
1489
1542
|
userAgent: userAgent,
|
|
1490
1543
|
retryThrottledRequestMaxTimes: retryThrottledRequestMaxTimes,
|
|
1491
|
-
pusherKey: pusherKey
|
|
1544
|
+
pusherKey: pusherKey,
|
|
1545
|
+
metadata: metadata
|
|
1492
1546
|
});
|
|
1493
1547
|
}
|
|
1494
1548
|
if (isUuid(data)) {
|