@shipstatic/drop 0.1.1 → 0.1.3
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 +21 -0
- package/README.md +181 -42
- package/dist/index.cjs +24 -589
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +20 -45
- package/dist/index.d.ts +20 -45
- package/dist/index.js +25 -586
- package/dist/index.js.map +1 -1
- package/package.json +7 -9
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var react = require('react');
|
|
4
|
+
var ship = require('@shipstatic/ship');
|
|
4
5
|
|
|
5
6
|
var __create = Object.create;
|
|
6
7
|
var __defProp = Object.defineProperty;
|
|
@@ -11701,447 +11702,6 @@ var require_mime_db = __commonJS({
|
|
|
11701
11702
|
}
|
|
11702
11703
|
});
|
|
11703
11704
|
|
|
11704
|
-
// node_modules/.pnpm/spark-md5@3.0.2/node_modules/spark-md5/spark-md5.js
|
|
11705
|
-
var require_spark_md5 = __commonJS({
|
|
11706
|
-
"node_modules/.pnpm/spark-md5@3.0.2/node_modules/spark-md5/spark-md5.js"(exports, module) {
|
|
11707
|
-
(function(factory) {
|
|
11708
|
-
if (typeof exports === "object") {
|
|
11709
|
-
module.exports = factory();
|
|
11710
|
-
} else if (typeof define === "function" && define.amd) {
|
|
11711
|
-
define(factory);
|
|
11712
|
-
} else {
|
|
11713
|
-
var glob;
|
|
11714
|
-
try {
|
|
11715
|
-
glob = window;
|
|
11716
|
-
} catch (e) {
|
|
11717
|
-
glob = self;
|
|
11718
|
-
}
|
|
11719
|
-
glob.SparkMD5 = factory();
|
|
11720
|
-
}
|
|
11721
|
-
})(function(undefined2) {
|
|
11722
|
-
var hex_chr = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
|
|
11723
|
-
function md5cycle(x, k) {
|
|
11724
|
-
var a = x[0], b = x[1], c = x[2], d = x[3];
|
|
11725
|
-
a += (b & c | ~b & d) + k[0] - 680876936 | 0;
|
|
11726
|
-
a = (a << 7 | a >>> 25) + b | 0;
|
|
11727
|
-
d += (a & b | ~a & c) + k[1] - 389564586 | 0;
|
|
11728
|
-
d = (d << 12 | d >>> 20) + a | 0;
|
|
11729
|
-
c += (d & a | ~d & b) + k[2] + 606105819 | 0;
|
|
11730
|
-
c = (c << 17 | c >>> 15) + d | 0;
|
|
11731
|
-
b += (c & d | ~c & a) + k[3] - 1044525330 | 0;
|
|
11732
|
-
b = (b << 22 | b >>> 10) + c | 0;
|
|
11733
|
-
a += (b & c | ~b & d) + k[4] - 176418897 | 0;
|
|
11734
|
-
a = (a << 7 | a >>> 25) + b | 0;
|
|
11735
|
-
d += (a & b | ~a & c) + k[5] + 1200080426 | 0;
|
|
11736
|
-
d = (d << 12 | d >>> 20) + a | 0;
|
|
11737
|
-
c += (d & a | ~d & b) + k[6] - 1473231341 | 0;
|
|
11738
|
-
c = (c << 17 | c >>> 15) + d | 0;
|
|
11739
|
-
b += (c & d | ~c & a) + k[7] - 45705983 | 0;
|
|
11740
|
-
b = (b << 22 | b >>> 10) + c | 0;
|
|
11741
|
-
a += (b & c | ~b & d) + k[8] + 1770035416 | 0;
|
|
11742
|
-
a = (a << 7 | a >>> 25) + b | 0;
|
|
11743
|
-
d += (a & b | ~a & c) + k[9] - 1958414417 | 0;
|
|
11744
|
-
d = (d << 12 | d >>> 20) + a | 0;
|
|
11745
|
-
c += (d & a | ~d & b) + k[10] - 42063 | 0;
|
|
11746
|
-
c = (c << 17 | c >>> 15) + d | 0;
|
|
11747
|
-
b += (c & d | ~c & a) + k[11] - 1990404162 | 0;
|
|
11748
|
-
b = (b << 22 | b >>> 10) + c | 0;
|
|
11749
|
-
a += (b & c | ~b & d) + k[12] + 1804603682 | 0;
|
|
11750
|
-
a = (a << 7 | a >>> 25) + b | 0;
|
|
11751
|
-
d += (a & b | ~a & c) + k[13] - 40341101 | 0;
|
|
11752
|
-
d = (d << 12 | d >>> 20) + a | 0;
|
|
11753
|
-
c += (d & a | ~d & b) + k[14] - 1502002290 | 0;
|
|
11754
|
-
c = (c << 17 | c >>> 15) + d | 0;
|
|
11755
|
-
b += (c & d | ~c & a) + k[15] + 1236535329 | 0;
|
|
11756
|
-
b = (b << 22 | b >>> 10) + c | 0;
|
|
11757
|
-
a += (b & d | c & ~d) + k[1] - 165796510 | 0;
|
|
11758
|
-
a = (a << 5 | a >>> 27) + b | 0;
|
|
11759
|
-
d += (a & c | b & ~c) + k[6] - 1069501632 | 0;
|
|
11760
|
-
d = (d << 9 | d >>> 23) + a | 0;
|
|
11761
|
-
c += (d & b | a & ~b) + k[11] + 643717713 | 0;
|
|
11762
|
-
c = (c << 14 | c >>> 18) + d | 0;
|
|
11763
|
-
b += (c & a | d & ~a) + k[0] - 373897302 | 0;
|
|
11764
|
-
b = (b << 20 | b >>> 12) + c | 0;
|
|
11765
|
-
a += (b & d | c & ~d) + k[5] - 701558691 | 0;
|
|
11766
|
-
a = (a << 5 | a >>> 27) + b | 0;
|
|
11767
|
-
d += (a & c | b & ~c) + k[10] + 38016083 | 0;
|
|
11768
|
-
d = (d << 9 | d >>> 23) + a | 0;
|
|
11769
|
-
c += (d & b | a & ~b) + k[15] - 660478335 | 0;
|
|
11770
|
-
c = (c << 14 | c >>> 18) + d | 0;
|
|
11771
|
-
b += (c & a | d & ~a) + k[4] - 405537848 | 0;
|
|
11772
|
-
b = (b << 20 | b >>> 12) + c | 0;
|
|
11773
|
-
a += (b & d | c & ~d) + k[9] + 568446438 | 0;
|
|
11774
|
-
a = (a << 5 | a >>> 27) + b | 0;
|
|
11775
|
-
d += (a & c | b & ~c) + k[14] - 1019803690 | 0;
|
|
11776
|
-
d = (d << 9 | d >>> 23) + a | 0;
|
|
11777
|
-
c += (d & b | a & ~b) + k[3] - 187363961 | 0;
|
|
11778
|
-
c = (c << 14 | c >>> 18) + d | 0;
|
|
11779
|
-
b += (c & a | d & ~a) + k[8] + 1163531501 | 0;
|
|
11780
|
-
b = (b << 20 | b >>> 12) + c | 0;
|
|
11781
|
-
a += (b & d | c & ~d) + k[13] - 1444681467 | 0;
|
|
11782
|
-
a = (a << 5 | a >>> 27) + b | 0;
|
|
11783
|
-
d += (a & c | b & ~c) + k[2] - 51403784 | 0;
|
|
11784
|
-
d = (d << 9 | d >>> 23) + a | 0;
|
|
11785
|
-
c += (d & b | a & ~b) + k[7] + 1735328473 | 0;
|
|
11786
|
-
c = (c << 14 | c >>> 18) + d | 0;
|
|
11787
|
-
b += (c & a | d & ~a) + k[12] - 1926607734 | 0;
|
|
11788
|
-
b = (b << 20 | b >>> 12) + c | 0;
|
|
11789
|
-
a += (b ^ c ^ d) + k[5] - 378558 | 0;
|
|
11790
|
-
a = (a << 4 | a >>> 28) + b | 0;
|
|
11791
|
-
d += (a ^ b ^ c) + k[8] - 2022574463 | 0;
|
|
11792
|
-
d = (d << 11 | d >>> 21) + a | 0;
|
|
11793
|
-
c += (d ^ a ^ b) + k[11] + 1839030562 | 0;
|
|
11794
|
-
c = (c << 16 | c >>> 16) + d | 0;
|
|
11795
|
-
b += (c ^ d ^ a) + k[14] - 35309556 | 0;
|
|
11796
|
-
b = (b << 23 | b >>> 9) + c | 0;
|
|
11797
|
-
a += (b ^ c ^ d) + k[1] - 1530992060 | 0;
|
|
11798
|
-
a = (a << 4 | a >>> 28) + b | 0;
|
|
11799
|
-
d += (a ^ b ^ c) + k[4] + 1272893353 | 0;
|
|
11800
|
-
d = (d << 11 | d >>> 21) + a | 0;
|
|
11801
|
-
c += (d ^ a ^ b) + k[7] - 155497632 | 0;
|
|
11802
|
-
c = (c << 16 | c >>> 16) + d | 0;
|
|
11803
|
-
b += (c ^ d ^ a) + k[10] - 1094730640 | 0;
|
|
11804
|
-
b = (b << 23 | b >>> 9) + c | 0;
|
|
11805
|
-
a += (b ^ c ^ d) + k[13] + 681279174 | 0;
|
|
11806
|
-
a = (a << 4 | a >>> 28) + b | 0;
|
|
11807
|
-
d += (a ^ b ^ c) + k[0] - 358537222 | 0;
|
|
11808
|
-
d = (d << 11 | d >>> 21) + a | 0;
|
|
11809
|
-
c += (d ^ a ^ b) + k[3] - 722521979 | 0;
|
|
11810
|
-
c = (c << 16 | c >>> 16) + d | 0;
|
|
11811
|
-
b += (c ^ d ^ a) + k[6] + 76029189 | 0;
|
|
11812
|
-
b = (b << 23 | b >>> 9) + c | 0;
|
|
11813
|
-
a += (b ^ c ^ d) + k[9] - 640364487 | 0;
|
|
11814
|
-
a = (a << 4 | a >>> 28) + b | 0;
|
|
11815
|
-
d += (a ^ b ^ c) + k[12] - 421815835 | 0;
|
|
11816
|
-
d = (d << 11 | d >>> 21) + a | 0;
|
|
11817
|
-
c += (d ^ a ^ b) + k[15] + 530742520 | 0;
|
|
11818
|
-
c = (c << 16 | c >>> 16) + d | 0;
|
|
11819
|
-
b += (c ^ d ^ a) + k[2] - 995338651 | 0;
|
|
11820
|
-
b = (b << 23 | b >>> 9) + c | 0;
|
|
11821
|
-
a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;
|
|
11822
|
-
a = (a << 6 | a >>> 26) + b | 0;
|
|
11823
|
-
d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;
|
|
11824
|
-
d = (d << 10 | d >>> 22) + a | 0;
|
|
11825
|
-
c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;
|
|
11826
|
-
c = (c << 15 | c >>> 17) + d | 0;
|
|
11827
|
-
b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;
|
|
11828
|
-
b = (b << 21 | b >>> 11) + c | 0;
|
|
11829
|
-
a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;
|
|
11830
|
-
a = (a << 6 | a >>> 26) + b | 0;
|
|
11831
|
-
d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;
|
|
11832
|
-
d = (d << 10 | d >>> 22) + a | 0;
|
|
11833
|
-
c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;
|
|
11834
|
-
c = (c << 15 | c >>> 17) + d | 0;
|
|
11835
|
-
b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;
|
|
11836
|
-
b = (b << 21 | b >>> 11) + c | 0;
|
|
11837
|
-
a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;
|
|
11838
|
-
a = (a << 6 | a >>> 26) + b | 0;
|
|
11839
|
-
d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;
|
|
11840
|
-
d = (d << 10 | d >>> 22) + a | 0;
|
|
11841
|
-
c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;
|
|
11842
|
-
c = (c << 15 | c >>> 17) + d | 0;
|
|
11843
|
-
b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;
|
|
11844
|
-
b = (b << 21 | b >>> 11) + c | 0;
|
|
11845
|
-
a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;
|
|
11846
|
-
a = (a << 6 | a >>> 26) + b | 0;
|
|
11847
|
-
d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;
|
|
11848
|
-
d = (d << 10 | d >>> 22) + a | 0;
|
|
11849
|
-
c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;
|
|
11850
|
-
c = (c << 15 | c >>> 17) + d | 0;
|
|
11851
|
-
b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;
|
|
11852
|
-
b = (b << 21 | b >>> 11) + c | 0;
|
|
11853
|
-
x[0] = a + x[0] | 0;
|
|
11854
|
-
x[1] = b + x[1] | 0;
|
|
11855
|
-
x[2] = c + x[2] | 0;
|
|
11856
|
-
x[3] = d + x[3] | 0;
|
|
11857
|
-
}
|
|
11858
|
-
function md5blk(s) {
|
|
11859
|
-
var md5blks = [], i;
|
|
11860
|
-
for (i = 0; i < 64; i += 4) {
|
|
11861
|
-
md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);
|
|
11862
|
-
}
|
|
11863
|
-
return md5blks;
|
|
11864
|
-
}
|
|
11865
|
-
function md5blk_array(a) {
|
|
11866
|
-
var md5blks = [], i;
|
|
11867
|
-
for (i = 0; i < 64; i += 4) {
|
|
11868
|
-
md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);
|
|
11869
|
-
}
|
|
11870
|
-
return md5blks;
|
|
11871
|
-
}
|
|
11872
|
-
function md51(s) {
|
|
11873
|
-
var n = s.length, state = [1732584193, -271733879, -1732584194, 271733878], i, length, tail, tmp, lo, hi;
|
|
11874
|
-
for (i = 64; i <= n; i += 64) {
|
|
11875
|
-
md5cycle(state, md5blk(s.substring(i - 64, i)));
|
|
11876
|
-
}
|
|
11877
|
-
s = s.substring(i - 64);
|
|
11878
|
-
length = s.length;
|
|
11879
|
-
tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
|
11880
|
-
for (i = 0; i < length; i += 1) {
|
|
11881
|
-
tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);
|
|
11882
|
-
}
|
|
11883
|
-
tail[i >> 2] |= 128 << (i % 4 << 3);
|
|
11884
|
-
if (i > 55) {
|
|
11885
|
-
md5cycle(state, tail);
|
|
11886
|
-
for (i = 0; i < 16; i += 1) {
|
|
11887
|
-
tail[i] = 0;
|
|
11888
|
-
}
|
|
11889
|
-
}
|
|
11890
|
-
tmp = n * 8;
|
|
11891
|
-
tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);
|
|
11892
|
-
lo = parseInt(tmp[2], 16);
|
|
11893
|
-
hi = parseInt(tmp[1], 16) || 0;
|
|
11894
|
-
tail[14] = lo;
|
|
11895
|
-
tail[15] = hi;
|
|
11896
|
-
md5cycle(state, tail);
|
|
11897
|
-
return state;
|
|
11898
|
-
}
|
|
11899
|
-
function md51_array(a) {
|
|
11900
|
-
var n = a.length, state = [1732584193, -271733879, -1732584194, 271733878], i, length, tail, tmp, lo, hi;
|
|
11901
|
-
for (i = 64; i <= n; i += 64) {
|
|
11902
|
-
md5cycle(state, md5blk_array(a.subarray(i - 64, i)));
|
|
11903
|
-
}
|
|
11904
|
-
a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0);
|
|
11905
|
-
length = a.length;
|
|
11906
|
-
tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
|
11907
|
-
for (i = 0; i < length; i += 1) {
|
|
11908
|
-
tail[i >> 2] |= a[i] << (i % 4 << 3);
|
|
11909
|
-
}
|
|
11910
|
-
tail[i >> 2] |= 128 << (i % 4 << 3);
|
|
11911
|
-
if (i > 55) {
|
|
11912
|
-
md5cycle(state, tail);
|
|
11913
|
-
for (i = 0; i < 16; i += 1) {
|
|
11914
|
-
tail[i] = 0;
|
|
11915
|
-
}
|
|
11916
|
-
}
|
|
11917
|
-
tmp = n * 8;
|
|
11918
|
-
tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);
|
|
11919
|
-
lo = parseInt(tmp[2], 16);
|
|
11920
|
-
hi = parseInt(tmp[1], 16) || 0;
|
|
11921
|
-
tail[14] = lo;
|
|
11922
|
-
tail[15] = hi;
|
|
11923
|
-
md5cycle(state, tail);
|
|
11924
|
-
return state;
|
|
11925
|
-
}
|
|
11926
|
-
function rhex(n) {
|
|
11927
|
-
var s = "", j;
|
|
11928
|
-
for (j = 0; j < 4; j += 1) {
|
|
11929
|
-
s += hex_chr[n >> j * 8 + 4 & 15] + hex_chr[n >> j * 8 & 15];
|
|
11930
|
-
}
|
|
11931
|
-
return s;
|
|
11932
|
-
}
|
|
11933
|
-
function hex(x) {
|
|
11934
|
-
var i;
|
|
11935
|
-
for (i = 0; i < x.length; i += 1) {
|
|
11936
|
-
x[i] = rhex(x[i]);
|
|
11937
|
-
}
|
|
11938
|
-
return x.join("");
|
|
11939
|
-
}
|
|
11940
|
-
if (hex(md51("hello")) !== "5d41402abc4b2a76b9719d911017c592") ;
|
|
11941
|
-
if (typeof ArrayBuffer !== "undefined" && !ArrayBuffer.prototype.slice) {
|
|
11942
|
-
(function() {
|
|
11943
|
-
function clamp(val, length) {
|
|
11944
|
-
val = val | 0 || 0;
|
|
11945
|
-
if (val < 0) {
|
|
11946
|
-
return Math.max(val + length, 0);
|
|
11947
|
-
}
|
|
11948
|
-
return Math.min(val, length);
|
|
11949
|
-
}
|
|
11950
|
-
ArrayBuffer.prototype.slice = function(from, to) {
|
|
11951
|
-
var length = this.byteLength, begin = clamp(from, length), end = length, num, target, targetArray, sourceArray;
|
|
11952
|
-
if (to !== undefined2) {
|
|
11953
|
-
end = clamp(to, length);
|
|
11954
|
-
}
|
|
11955
|
-
if (begin > end) {
|
|
11956
|
-
return new ArrayBuffer(0);
|
|
11957
|
-
}
|
|
11958
|
-
num = end - begin;
|
|
11959
|
-
target = new ArrayBuffer(num);
|
|
11960
|
-
targetArray = new Uint8Array(target);
|
|
11961
|
-
sourceArray = new Uint8Array(this, begin, num);
|
|
11962
|
-
targetArray.set(sourceArray);
|
|
11963
|
-
return target;
|
|
11964
|
-
};
|
|
11965
|
-
})();
|
|
11966
|
-
}
|
|
11967
|
-
function toUtf8(str) {
|
|
11968
|
-
if (/[\u0080-\uFFFF]/.test(str)) {
|
|
11969
|
-
str = unescape(encodeURIComponent(str));
|
|
11970
|
-
}
|
|
11971
|
-
return str;
|
|
11972
|
-
}
|
|
11973
|
-
function utf8Str2ArrayBuffer(str, returnUInt8Array) {
|
|
11974
|
-
var length = str.length, buff = new ArrayBuffer(length), arr = new Uint8Array(buff), i;
|
|
11975
|
-
for (i = 0; i < length; i += 1) {
|
|
11976
|
-
arr[i] = str.charCodeAt(i);
|
|
11977
|
-
}
|
|
11978
|
-
return returnUInt8Array ? arr : buff;
|
|
11979
|
-
}
|
|
11980
|
-
function arrayBuffer2Utf8Str(buff) {
|
|
11981
|
-
return String.fromCharCode.apply(null, new Uint8Array(buff));
|
|
11982
|
-
}
|
|
11983
|
-
function concatenateArrayBuffers(first, second, returnUInt8Array) {
|
|
11984
|
-
var result = new Uint8Array(first.byteLength + second.byteLength);
|
|
11985
|
-
result.set(new Uint8Array(first));
|
|
11986
|
-
result.set(new Uint8Array(second), first.byteLength);
|
|
11987
|
-
return result ;
|
|
11988
|
-
}
|
|
11989
|
-
function hexToBinaryString(hex2) {
|
|
11990
|
-
var bytes = [], length = hex2.length, x;
|
|
11991
|
-
for (x = 0; x < length - 1; x += 2) {
|
|
11992
|
-
bytes.push(parseInt(hex2.substr(x, 2), 16));
|
|
11993
|
-
}
|
|
11994
|
-
return String.fromCharCode.apply(String, bytes);
|
|
11995
|
-
}
|
|
11996
|
-
function SparkMD52() {
|
|
11997
|
-
this.reset();
|
|
11998
|
-
}
|
|
11999
|
-
SparkMD52.prototype.append = function(str) {
|
|
12000
|
-
this.appendBinary(toUtf8(str));
|
|
12001
|
-
return this;
|
|
12002
|
-
};
|
|
12003
|
-
SparkMD52.prototype.appendBinary = function(contents) {
|
|
12004
|
-
this._buff += contents;
|
|
12005
|
-
this._length += contents.length;
|
|
12006
|
-
var length = this._buff.length, i;
|
|
12007
|
-
for (i = 64; i <= length; i += 64) {
|
|
12008
|
-
md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));
|
|
12009
|
-
}
|
|
12010
|
-
this._buff = this._buff.substring(i - 64);
|
|
12011
|
-
return this;
|
|
12012
|
-
};
|
|
12013
|
-
SparkMD52.prototype.end = function(raw) {
|
|
12014
|
-
var buff = this._buff, length = buff.length, i, tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ret;
|
|
12015
|
-
for (i = 0; i < length; i += 1) {
|
|
12016
|
-
tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3);
|
|
12017
|
-
}
|
|
12018
|
-
this._finish(tail, length);
|
|
12019
|
-
ret = hex(this._hash);
|
|
12020
|
-
if (raw) {
|
|
12021
|
-
ret = hexToBinaryString(ret);
|
|
12022
|
-
}
|
|
12023
|
-
this.reset();
|
|
12024
|
-
return ret;
|
|
12025
|
-
};
|
|
12026
|
-
SparkMD52.prototype.reset = function() {
|
|
12027
|
-
this._buff = "";
|
|
12028
|
-
this._length = 0;
|
|
12029
|
-
this._hash = [1732584193, -271733879, -1732584194, 271733878];
|
|
12030
|
-
return this;
|
|
12031
|
-
};
|
|
12032
|
-
SparkMD52.prototype.getState = function() {
|
|
12033
|
-
return {
|
|
12034
|
-
buff: this._buff,
|
|
12035
|
-
length: this._length,
|
|
12036
|
-
hash: this._hash.slice()
|
|
12037
|
-
};
|
|
12038
|
-
};
|
|
12039
|
-
SparkMD52.prototype.setState = function(state) {
|
|
12040
|
-
this._buff = state.buff;
|
|
12041
|
-
this._length = state.length;
|
|
12042
|
-
this._hash = state.hash;
|
|
12043
|
-
return this;
|
|
12044
|
-
};
|
|
12045
|
-
SparkMD52.prototype.destroy = function() {
|
|
12046
|
-
delete this._hash;
|
|
12047
|
-
delete this._buff;
|
|
12048
|
-
delete this._length;
|
|
12049
|
-
};
|
|
12050
|
-
SparkMD52.prototype._finish = function(tail, length) {
|
|
12051
|
-
var i = length, tmp, lo, hi;
|
|
12052
|
-
tail[i >> 2] |= 128 << (i % 4 << 3);
|
|
12053
|
-
if (i > 55) {
|
|
12054
|
-
md5cycle(this._hash, tail);
|
|
12055
|
-
for (i = 0; i < 16; i += 1) {
|
|
12056
|
-
tail[i] = 0;
|
|
12057
|
-
}
|
|
12058
|
-
}
|
|
12059
|
-
tmp = this._length * 8;
|
|
12060
|
-
tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);
|
|
12061
|
-
lo = parseInt(tmp[2], 16);
|
|
12062
|
-
hi = parseInt(tmp[1], 16) || 0;
|
|
12063
|
-
tail[14] = lo;
|
|
12064
|
-
tail[15] = hi;
|
|
12065
|
-
md5cycle(this._hash, tail);
|
|
12066
|
-
};
|
|
12067
|
-
SparkMD52.hash = function(str, raw) {
|
|
12068
|
-
return SparkMD52.hashBinary(toUtf8(str), raw);
|
|
12069
|
-
};
|
|
12070
|
-
SparkMD52.hashBinary = function(content, raw) {
|
|
12071
|
-
var hash = md51(content), ret = hex(hash);
|
|
12072
|
-
return raw ? hexToBinaryString(ret) : ret;
|
|
12073
|
-
};
|
|
12074
|
-
SparkMD52.ArrayBuffer = function() {
|
|
12075
|
-
this.reset();
|
|
12076
|
-
};
|
|
12077
|
-
SparkMD52.ArrayBuffer.prototype.append = function(arr) {
|
|
12078
|
-
var buff = concatenateArrayBuffers(this._buff.buffer, arr), length = buff.length, i;
|
|
12079
|
-
this._length += arr.byteLength;
|
|
12080
|
-
for (i = 64; i <= length; i += 64) {
|
|
12081
|
-
md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));
|
|
12082
|
-
}
|
|
12083
|
-
this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);
|
|
12084
|
-
return this;
|
|
12085
|
-
};
|
|
12086
|
-
SparkMD52.ArrayBuffer.prototype.end = function(raw) {
|
|
12087
|
-
var buff = this._buff, length = buff.length, tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], i, ret;
|
|
12088
|
-
for (i = 0; i < length; i += 1) {
|
|
12089
|
-
tail[i >> 2] |= buff[i] << (i % 4 << 3);
|
|
12090
|
-
}
|
|
12091
|
-
this._finish(tail, length);
|
|
12092
|
-
ret = hex(this._hash);
|
|
12093
|
-
if (raw) {
|
|
12094
|
-
ret = hexToBinaryString(ret);
|
|
12095
|
-
}
|
|
12096
|
-
this.reset();
|
|
12097
|
-
return ret;
|
|
12098
|
-
};
|
|
12099
|
-
SparkMD52.ArrayBuffer.prototype.reset = function() {
|
|
12100
|
-
this._buff = new Uint8Array(0);
|
|
12101
|
-
this._length = 0;
|
|
12102
|
-
this._hash = [1732584193, -271733879, -1732584194, 271733878];
|
|
12103
|
-
return this;
|
|
12104
|
-
};
|
|
12105
|
-
SparkMD52.ArrayBuffer.prototype.getState = function() {
|
|
12106
|
-
var state = SparkMD52.prototype.getState.call(this);
|
|
12107
|
-
state.buff = arrayBuffer2Utf8Str(state.buff);
|
|
12108
|
-
return state;
|
|
12109
|
-
};
|
|
12110
|
-
SparkMD52.ArrayBuffer.prototype.setState = function(state) {
|
|
12111
|
-
state.buff = utf8Str2ArrayBuffer(state.buff, true);
|
|
12112
|
-
return SparkMD52.prototype.setState.call(this, state);
|
|
12113
|
-
};
|
|
12114
|
-
SparkMD52.ArrayBuffer.prototype.destroy = SparkMD52.prototype.destroy;
|
|
12115
|
-
SparkMD52.ArrayBuffer.prototype._finish = SparkMD52.prototype._finish;
|
|
12116
|
-
SparkMD52.ArrayBuffer.hash = function(arr, raw) {
|
|
12117
|
-
var hash = md51_array(new Uint8Array(arr)), ret = hex(hash);
|
|
12118
|
-
return raw ? hexToBinaryString(ret) : ret;
|
|
12119
|
-
};
|
|
12120
|
-
return SparkMD52;
|
|
12121
|
-
});
|
|
12122
|
-
}
|
|
12123
|
-
});
|
|
12124
|
-
|
|
12125
|
-
// src/types.ts
|
|
12126
|
-
var FILE_STATUSES = {
|
|
12127
|
-
PENDING: "pending",
|
|
12128
|
-
PROCESSING: "processing",
|
|
12129
|
-
VALIDATION_FAILED: "validation_failed",
|
|
12130
|
-
PROCESSING_ERROR: "processing_error",
|
|
12131
|
-
EMPTY_FILE: "empty_file",
|
|
12132
|
-
READY: "ready",
|
|
12133
|
-
UPLOADING: "uploading",
|
|
12134
|
-
COMPLETE: "complete",
|
|
12135
|
-
ERROR: "error"
|
|
12136
|
-
};
|
|
12137
|
-
var DEFAULT_VALIDATION = {
|
|
12138
|
-
maxFileSize: 5 * 1024 * 1024,
|
|
12139
|
-
// 5MB
|
|
12140
|
-
maxTotalSize: 25 * 1024 * 1024,
|
|
12141
|
-
// 25MB
|
|
12142
|
-
maxFilesCount: 100
|
|
12143
|
-
};
|
|
12144
|
-
|
|
12145
11705
|
// src/utils/zipExtractor.ts
|
|
12146
11706
|
var import_jszip = __toESM(require_jszip_min());
|
|
12147
11707
|
|
|
@@ -12224,45 +11784,31 @@ function isZipFile(file) {
|
|
|
12224
11784
|
return file.type === "application/zip" || file.type === "application/x-zip-compressed" || file.name.toLowerCase().endsWith(".zip");
|
|
12225
11785
|
}
|
|
12226
11786
|
|
|
11787
|
+
// src/types.ts
|
|
11788
|
+
var FILE_STATUSES = {
|
|
11789
|
+
PENDING: "pending",
|
|
11790
|
+
PROCESSING: "processing",
|
|
11791
|
+
VALIDATION_FAILED: "validation_failed",
|
|
11792
|
+
PROCESSING_ERROR: "processing_error",
|
|
11793
|
+
EMPTY_FILE: "empty_file",
|
|
11794
|
+
READY: "ready",
|
|
11795
|
+
UPLOADING: "uploading",
|
|
11796
|
+
COMPLETE: "complete",
|
|
11797
|
+
ERROR: "error"
|
|
11798
|
+
};
|
|
11799
|
+
|
|
12227
11800
|
// src/utils/fileProcessing.ts
|
|
12228
|
-
var
|
|
12229
|
-
async function calculateMD5(buffer) {
|
|
12230
|
-
const spark = new import_spark_md5.default.ArrayBuffer();
|
|
12231
|
-
spark.append(buffer);
|
|
12232
|
-
return spark.end();
|
|
12233
|
-
}
|
|
12234
|
-
function formatFileSize(bytes, decimals = 1) {
|
|
12235
|
-
if (bytes === 0) return "0 Bytes";
|
|
12236
|
-
const k = 1024;
|
|
12237
|
-
const sizes = ["Bytes", "KB", "MB", "GB"];
|
|
12238
|
-
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
12239
|
-
return parseFloat((bytes / Math.pow(k, i)).toFixed(decimals)) + " " + sizes[i];
|
|
12240
|
-
}
|
|
11801
|
+
var formatFileSize = ship.formatFileSize;
|
|
12241
11802
|
async function createProcessedFile(file, options) {
|
|
12242
11803
|
const webkitPath = file.webkitRelativePath || "";
|
|
12243
11804
|
const path = options?.path || (webkitPath && webkitPath.trim() ? webkitPath : file.name);
|
|
12244
|
-
const shouldCalculateMD5 = options?.calculateMD5 !== false;
|
|
12245
11805
|
const type = file.type || getMimeType(path);
|
|
12246
|
-
let md5;
|
|
12247
|
-
let status = FILE_STATUSES.PENDING;
|
|
12248
|
-
let statusMessage;
|
|
12249
|
-
if (shouldCalculateMD5) {
|
|
12250
|
-
try {
|
|
12251
|
-
const buffer = await file.arrayBuffer();
|
|
12252
|
-
md5 = await calculateMD5(buffer);
|
|
12253
|
-
} catch (error) {
|
|
12254
|
-
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
12255
|
-
console.error(`Error calculating MD5 for ${path}:`, error);
|
|
12256
|
-
status = FILE_STATUSES.PROCESSING_ERROR;
|
|
12257
|
-
statusMessage = `Failed to calculate checksum: ${errorMsg}`;
|
|
12258
|
-
}
|
|
12259
|
-
}
|
|
12260
11806
|
return {
|
|
12261
11807
|
// StaticFile properties (SDK compatibility)
|
|
11808
|
+
// Note: md5 is intentionally undefined - Ship SDK will calculate it during deployment
|
|
12262
11809
|
content: file,
|
|
12263
11810
|
path,
|
|
12264
11811
|
size: file.size,
|
|
12265
|
-
md5,
|
|
12266
11812
|
// ProcessedFile-specific properties (UI functionality)
|
|
12267
11813
|
id: crypto.randomUUID(),
|
|
12268
11814
|
file,
|
|
@@ -12270,109 +11816,10 @@ async function createProcessedFile(file, options) {
|
|
|
12270
11816
|
name: path.split("/").pop() || file.name,
|
|
12271
11817
|
type,
|
|
12272
11818
|
lastModified: file.lastModified,
|
|
12273
|
-
status
|
|
12274
|
-
statusMessage
|
|
11819
|
+
status: FILE_STATUSES.PENDING
|
|
12275
11820
|
};
|
|
12276
11821
|
}
|
|
12277
|
-
|
|
12278
|
-
const result = [];
|
|
12279
|
-
const validFiles = [];
|
|
12280
|
-
let error = null;
|
|
12281
|
-
if (files.length > config.maxFilesCount) {
|
|
12282
|
-
error = {
|
|
12283
|
-
error: "File Count Exceeded",
|
|
12284
|
-
details: `Number of files (${files.length}) exceeds the limit of ${config.maxFilesCount}.`,
|
|
12285
|
-
isClientError: true
|
|
12286
|
-
};
|
|
12287
|
-
return {
|
|
12288
|
-
files: files.map((f) => ({
|
|
12289
|
-
...f,
|
|
12290
|
-
status: FILE_STATUSES.VALIDATION_FAILED,
|
|
12291
|
-
statusMessage: error.details
|
|
12292
|
-
})),
|
|
12293
|
-
validFiles: [],
|
|
12294
|
-
error
|
|
12295
|
-
};
|
|
12296
|
-
}
|
|
12297
|
-
let totalSize = 0;
|
|
12298
|
-
for (const file of files) {
|
|
12299
|
-
if (file.status === FILE_STATUSES.PROCESSING_ERROR) {
|
|
12300
|
-
result.push(file);
|
|
12301
|
-
if (!error) {
|
|
12302
|
-
error = {
|
|
12303
|
-
error: "Processing Error",
|
|
12304
|
-
details: file.statusMessage || "A file failed during processing.",
|
|
12305
|
-
isClientError: true
|
|
12306
|
-
};
|
|
12307
|
-
}
|
|
12308
|
-
continue;
|
|
12309
|
-
}
|
|
12310
|
-
if (file.size === 0) {
|
|
12311
|
-
result.push({
|
|
12312
|
-
...file,
|
|
12313
|
-
status: FILE_STATUSES.EMPTY_FILE,
|
|
12314
|
-
statusMessage: "File is empty (0 bytes)"
|
|
12315
|
-
});
|
|
12316
|
-
if (!error) {
|
|
12317
|
-
error = {
|
|
12318
|
-
error: "Empty File",
|
|
12319
|
-
details: `File ${file.name} is empty (0 bytes).`,
|
|
12320
|
-
isClientError: true
|
|
12321
|
-
};
|
|
12322
|
-
}
|
|
12323
|
-
continue;
|
|
12324
|
-
}
|
|
12325
|
-
if (file.size > config.maxFileSize) {
|
|
12326
|
-
result.push({
|
|
12327
|
-
...file,
|
|
12328
|
-
status: FILE_STATUSES.VALIDATION_FAILED,
|
|
12329
|
-
statusMessage: `File size (${formatFileSize(file.size)}) exceeds limit of ${formatFileSize(config.maxFileSize)}`
|
|
12330
|
-
});
|
|
12331
|
-
if (!error) {
|
|
12332
|
-
error = {
|
|
12333
|
-
error: "File Too Large",
|
|
12334
|
-
details: `File ${file.name} (${formatFileSize(file.size)}) exceeds individual file size limit of ${formatFileSize(config.maxFileSize)}.`,
|
|
12335
|
-
isClientError: true
|
|
12336
|
-
};
|
|
12337
|
-
}
|
|
12338
|
-
continue;
|
|
12339
|
-
}
|
|
12340
|
-
totalSize += file.size;
|
|
12341
|
-
if (totalSize > config.maxTotalSize) {
|
|
12342
|
-
result.push({
|
|
12343
|
-
...file,
|
|
12344
|
-
status: FILE_STATUSES.VALIDATION_FAILED,
|
|
12345
|
-
statusMessage: `Total size would exceed limit of ${formatFileSize(config.maxTotalSize)}`
|
|
12346
|
-
});
|
|
12347
|
-
if (!error) {
|
|
12348
|
-
error = {
|
|
12349
|
-
error: "Total Size Exceeded",
|
|
12350
|
-
details: `Total size of files (${formatFileSize(totalSize)}) exceeds the limit of ${formatFileSize(config.maxTotalSize)}.`,
|
|
12351
|
-
isClientError: true
|
|
12352
|
-
};
|
|
12353
|
-
}
|
|
12354
|
-
continue;
|
|
12355
|
-
}
|
|
12356
|
-
const validFile = {
|
|
12357
|
-
...file,
|
|
12358
|
-
status: FILE_STATUSES.READY,
|
|
12359
|
-
statusMessage: "Ready for upload"
|
|
12360
|
-
};
|
|
12361
|
-
result.push(validFile);
|
|
12362
|
-
validFiles.push(validFile);
|
|
12363
|
-
}
|
|
12364
|
-
return { files: result, validFiles, error };
|
|
12365
|
-
}
|
|
12366
|
-
function getValidFiles(files) {
|
|
12367
|
-
return files.filter((f) => f.status === FILE_STATUSES.READY);
|
|
12368
|
-
}
|
|
12369
|
-
function allValidFilesHaveChecksums(files) {
|
|
12370
|
-
const validFiles = getValidFiles(files);
|
|
12371
|
-
if (validFiles.length === 0) {
|
|
12372
|
-
return false;
|
|
12373
|
-
}
|
|
12374
|
-
return validFiles.every((f) => f.md5 !== void 0);
|
|
12375
|
-
}
|
|
11822
|
+
var getValidFiles = ship.getValidFiles;
|
|
12376
11823
|
function stripCommonPrefix(files) {
|
|
12377
11824
|
if (files.length === 0) return files;
|
|
12378
11825
|
const paths = files.map((f) => f.path);
|
|
@@ -12393,16 +11840,13 @@ function stripCommonPrefix(files) {
|
|
|
12393
11840
|
path: f.path.startsWith(prefix) ? f.path.slice(prefix.length) : f.path
|
|
12394
11841
|
}));
|
|
12395
11842
|
}
|
|
12396
|
-
|
|
12397
|
-
// src/hooks/useDrop.ts
|
|
12398
|
-
function useDrop(options = {}) {
|
|
11843
|
+
function useDrop(options) {
|
|
12399
11844
|
const {
|
|
12400
|
-
|
|
11845
|
+
ship: ship$1,
|
|
12401
11846
|
onValidationError,
|
|
12402
11847
|
onFilesReady,
|
|
12403
11848
|
stripPrefix = true
|
|
12404
11849
|
} = options;
|
|
12405
|
-
const validationConfig = { ...DEFAULT_VALIDATION, ...customConfig };
|
|
12406
11850
|
const [files, setFiles] = react.useState([]);
|
|
12407
11851
|
const [statusText, setStatusText] = react.useState("");
|
|
12408
11852
|
const [isProcessing, setIsProcessing] = react.useState(false);
|
|
@@ -12436,12 +11880,13 @@ function useDrop(options = {}) {
|
|
|
12436
11880
|
} else {
|
|
12437
11881
|
allFiles.push(...newFiles);
|
|
12438
11882
|
}
|
|
12439
|
-
setStatusText("
|
|
11883
|
+
setStatusText("Processing files...");
|
|
12440
11884
|
const processedFiles = await Promise.all(
|
|
12441
11885
|
allFiles.map((file) => createProcessedFile(file))
|
|
12442
11886
|
);
|
|
12443
11887
|
const finalFiles = stripPrefix ? stripCommonPrefix(processedFiles) : processedFiles;
|
|
12444
|
-
const
|
|
11888
|
+
const config = await ship$1.getConfig();
|
|
11889
|
+
const validation = ship.validateFiles(finalFiles, config);
|
|
12445
11890
|
setFiles(validation.files);
|
|
12446
11891
|
setValidationError(validation.error);
|
|
12447
11892
|
if (validation.error) {
|
|
@@ -12473,10 +11918,7 @@ function useDrop(options = {}) {
|
|
|
12473
11918
|
isProcessingRef.current = false;
|
|
12474
11919
|
setIsProcessing(false);
|
|
12475
11920
|
}
|
|
12476
|
-
}, [
|
|
12477
|
-
const removeFile = react.useCallback((fileId) => {
|
|
12478
|
-
setFiles((prev) => prev.filter((file) => file.id !== fileId));
|
|
12479
|
-
}, []);
|
|
11921
|
+
}, [ship$1, onValidationError, onFilesReady, stripPrefix]);
|
|
12480
11922
|
const clearAll = react.useCallback(() => {
|
|
12481
11923
|
setFiles([]);
|
|
12482
11924
|
setStatusText("");
|
|
@@ -12492,15 +11934,12 @@ function useDrop(options = {}) {
|
|
|
12492
11934
|
(file) => file.id === fileId ? { ...file, ...state } : file
|
|
12493
11935
|
));
|
|
12494
11936
|
}, []);
|
|
12495
|
-
const hasChecksums = allValidFilesHaveChecksums(files);
|
|
12496
11937
|
return {
|
|
12497
11938
|
files,
|
|
12498
11939
|
statusText,
|
|
12499
11940
|
isProcessing,
|
|
12500
11941
|
validationError,
|
|
12501
|
-
hasChecksums,
|
|
12502
11942
|
processFiles,
|
|
12503
|
-
removeFile,
|
|
12504
11943
|
clearAll,
|
|
12505
11944
|
getValidFiles: getValidFilesCallback,
|
|
12506
11945
|
updateFileStatus
|
|
@@ -12530,10 +11969,7 @@ mime-db/index.js:
|
|
|
12530
11969
|
*)
|
|
12531
11970
|
*/
|
|
12532
11971
|
|
|
12533
|
-
exports.DEFAULT_VALIDATION = DEFAULT_VALIDATION;
|
|
12534
11972
|
exports.FILE_STATUSES = FILE_STATUSES;
|
|
12535
|
-
exports.allValidFilesHaveChecksums = allValidFilesHaveChecksums;
|
|
12536
|
-
exports.calculateMD5 = calculateMD5;
|
|
12537
11973
|
exports.createProcessedFile = createProcessedFile;
|
|
12538
11974
|
exports.extractZipToFiles = extractZipToFiles;
|
|
12539
11975
|
exports.formatFileSize = formatFileSize;
|
|
@@ -12543,6 +11979,5 @@ exports.isZipFile = isZipFile;
|
|
|
12543
11979
|
exports.normalizePath = normalizePath;
|
|
12544
11980
|
exports.stripCommonPrefix = stripCommonPrefix;
|
|
12545
11981
|
exports.useDrop = useDrop;
|
|
12546
|
-
exports.validateFiles = validateFiles;
|
|
12547
11982
|
//# sourceMappingURL=index.cjs.map
|
|
12548
11983
|
//# sourceMappingURL=index.cjs.map
|