@eodash/eodash 5.0.0-alpha.2.9 → 5.0.0-processing

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/README.md +1 -1
  2. package/core/client/App.vue +13 -1
  3. package/core/client/asWebComponent.js +13 -3
  4. package/core/client/components/DashboardLayout.vue +6 -2
  5. package/core/client/composables/DefineEodash.js +1 -1
  6. package/core/client/composables/EodashMap.js +349 -0
  7. package/core/client/composables/EodashProcess.js +575 -0
  8. package/core/client/composables/index.js +107 -24
  9. package/core/client/eodash.js +83 -10
  10. package/core/client/plugins/axios.js +8 -0
  11. package/core/client/plugins/index.js +2 -1
  12. package/core/client/store/Actions.js +63 -12
  13. package/core/client/store/States.js +19 -0
  14. package/core/client/store/stac.js +98 -8
  15. package/core/client/types.d.ts +25 -18
  16. package/core/client/utils/createLayers.js +313 -0
  17. package/core/client/utils/eodashSTAC.js +320 -170
  18. package/core/client/utils/helpers.js +369 -9
  19. package/core/client/utils/keys.js +2 -0
  20. package/core/client/utils/states.js +17 -0
  21. package/core/client/views/Dashboard.vue +17 -46
  22. package/core/client/vite-env.d.ts +1 -9
  23. package/dist/client/DashboardLayout-CVMJ4l8M.js +87 -0
  24. package/dist/client/DynamicWebComponent-Cv8n457T.js +88 -0
  25. package/dist/client/EodashDatePicker-VVkiPmpc.js +394 -0
  26. package/dist/client/EodashItemFilter-CugWNQ86.js +194 -0
  27. package/dist/client/EodashLayerControl-53WghA8G.js +110 -0
  28. package/dist/client/EodashMap-CQnOePpy.js +486 -0
  29. package/dist/client/EodashMapBtns-uaRwFtfB.js +66 -0
  30. package/dist/client/EodashProcess-cF0unIy8.js +1477 -0
  31. package/dist/client/ExportState-BT8MLAW7.js +644 -0
  32. package/dist/client/Footer-C6GUG84G.js +141 -0
  33. package/dist/client/Header-D2dtCWp8.js +437 -0
  34. package/dist/client/IframeWrapper-BgM9aU8f.js +28 -0
  35. package/dist/client/MobileLayout-BAo8Wr8T.js +1210 -0
  36. package/dist/client/PopUp-Bm01q7Ko.js +389 -0
  37. package/dist/client/VImg-B8AbetCE.js +384 -0
  38. package/dist/client/VMain-DnGlQUyr.js +43 -0
  39. package/dist/client/VOverlay-B8Qj7LRG.js +1453 -0
  40. package/dist/client/WidgetsContainer-CwXRRLS1.js +83 -0
  41. package/dist/client/asWebComponent-DUUoR7MZ.js +11621 -0
  42. package/dist/client/eo-dash.js +2 -6
  43. package/dist/client/forwardRefs-CZJhEAKW.js +245 -0
  44. package/dist/client/index-DlIO7sJ3.js +199 -0
  45. package/dist/client/ssrBoot-BP7SYRyC.js +22 -0
  46. package/dist/client/style.css +2 -2
  47. package/dist/client/transition-BiR8wMn1.js +37 -0
  48. package/dist/node/cli.js +4 -4
  49. package/dist/node/types.d.ts +2 -0
  50. package/dist/types/core/client/App.vue.d.ts +7 -0
  51. package/dist/types/core/client/asWebComponent.d.ts +9 -0
  52. package/dist/types/core/client/components/DashboardLayout.vue.d.ts +2 -0
  53. package/dist/types/core/client/components/DynamicWebComponent.vue.d.ts +18 -0
  54. package/dist/types/core/client/components/ErrorAlert.vue.d.ts +2 -0
  55. package/dist/types/core/client/components/Footer.vue.d.ts +2 -0
  56. package/dist/types/core/client/components/Header.vue.d.ts +2 -0
  57. package/dist/types/core/client/components/IframeWrapper.vue.d.ts +7 -0
  58. package/dist/types/core/client/components/Loading.vue.d.ts +2 -0
  59. package/dist/types/core/client/components/MobileLayout.vue.d.ts +2 -0
  60. package/dist/types/core/client/composables/DefineEodash.d.ts +2 -0
  61. package/dist/types/core/client/composables/DefineTemplate.d.ts +15 -0
  62. package/dist/types/core/client/composables/DefineWidgets.d.ts +14 -0
  63. package/dist/types/core/client/composables/EodashMap.d.ts +5 -0
  64. package/dist/types/core/client/composables/index.d.ts +30 -0
  65. package/dist/types/core/client/eodash.d.ts +8 -0
  66. package/dist/types/core/client/main.d.ts +2 -0
  67. package/dist/types/core/client/plugins/axios.d.ts +2 -0
  68. package/dist/types/core/client/plugins/index.d.ts +3 -0
  69. package/dist/types/core/client/plugins/vuetify.d.ts +82 -0
  70. package/dist/types/core/client/render.d.ts +1 -0
  71. package/dist/types/core/client/store/Actions.d.ts +12 -0
  72. package/dist/types/core/client/store/States.d.ts +22 -0
  73. package/dist/types/core/client/store/index.d.ts +2 -0
  74. package/dist/types/core/client/store/stac.d.ts +25 -0
  75. package/dist/types/core/client/types.d.ts +279 -0
  76. package/dist/types/core/client/utils/createLayers.d.ts +45 -0
  77. package/dist/types/core/client/utils/eodashSTAC.d.ts +82 -0
  78. package/dist/types/core/client/utils/helpers.d.ts +84 -0
  79. package/dist/types/core/client/utils/index.d.ts +2 -0
  80. package/dist/types/core/client/utils/keys.d.ts +6 -0
  81. package/dist/types/core/client/utils/states.d.ts +14 -0
  82. package/dist/types/core/client/views/Dashboard.vue.d.ts +9 -0
  83. package/dist/types/widgets/EodashDatePicker.vue.d.ts +7 -0
  84. package/dist/types/widgets/EodashItemFilter.vue.d.ts +42 -0
  85. package/dist/types/widgets/EodashLayerControl.vue.d.ts +11 -0
  86. package/dist/types/widgets/EodashLayoutSwitcher.vue.d.ts +9 -0
  87. package/dist/types/widgets/EodashMap.vue.d.ts +7 -0
  88. package/dist/types/widgets/EodashMapBtns.vue.d.ts +11 -0
  89. package/dist/types/widgets/EodashStacInfo.vue.d.ts +21 -0
  90. package/dist/types/widgets/EodashTools.vue.d.ts +15 -0
  91. package/dist/types/widgets/ExportState.vue.d.ts +7 -0
  92. package/dist/types/widgets/PopUp.vue.d.ts +22 -0
  93. package/dist/types/widgets/WidgetsContainer.vue.d.ts +7 -0
  94. package/package.json +58 -37
  95. package/widgets/EodashDatePicker.vue +128 -100
  96. package/widgets/EodashItemFilter.vue +100 -14
  97. package/widgets/EodashLayerControl.vue +98 -0
  98. package/widgets/EodashMap.vue +98 -122
  99. package/widgets/EodashMapBtns.vue +24 -7
  100. package/widgets/EodashProcess.vue +151 -0
  101. package/widgets/ExportState.vue +15 -11
  102. package/core/client/SuspensedDashboard.ce.vue +0 -105
  103. package/dist/client/DashboardLayout-D0ZF6V2S.js +0 -156
  104. package/dist/client/DynamicWebComponent-CPsMSBHi.js +0 -57
  105. package/dist/client/EodashDatePicker-CBQP7u2X.js +0 -252
  106. package/dist/client/EodashItemFilter-DL2ScI-5.js +0 -7671
  107. package/dist/client/EodashMap-CkKoQlmR.js +0 -86917
  108. package/dist/client/EodashMapBtns-yuO2QmiR.js +0 -36
  109. package/dist/client/ExportState-CCzOhppU.js +0 -558
  110. package/dist/client/Footer-BPAND0yG.js +0 -115
  111. package/dist/client/Header-DLhebNvG.js +0 -350
  112. package/dist/client/IframeWrapper-1GEMHlsW.js +0 -19
  113. package/dist/client/MobileLayout-mGkOYRhu.js +0 -945
  114. package/dist/client/PopUp-1d2bBFjw.js +0 -300
  115. package/dist/client/VImg-DxHcztfM.js +0 -291
  116. package/dist/client/VMain-BLX5vRRn.js +0 -39
  117. package/dist/client/VOverlay-CvrYEmLu.js +0 -967
  118. package/dist/client/WidgetsContainer-CmYjvGm7.js +0 -129
  119. package/dist/client/_commonjsHelpers-DaMA6jEr.js +0 -8
  120. package/dist/client/asWebComponent-B91uK0U7.js +0 -20361
  121. package/dist/client/basedecoder-DHcBySSe-BmCFNFnw.js +0 -88
  122. package/dist/client/decoder-CP4lv0Kb-B6yqkcfC.js +0 -10
  123. package/dist/client/deflate-BXt-9JA_-CWfClgpK.js +0 -10
  124. package/dist/client/eodashSTAC-DBjqe_Ho.js +0 -2788
  125. package/dist/client/eox-stacinfo-l7ALSV90.js +0 -13969
  126. package/dist/client/forwardRefs-BJJiadQP.js +0 -185
  127. package/dist/client/index-Q-bHLjxx.js +0 -153
  128. package/dist/client/jpeg-BAgeD1d3-oeHbFPUL.js +0 -514
  129. package/dist/client/lerc-DzVumYtB-P-KXC0TO.js +0 -1027
  130. package/dist/client/lzw-LAGDNbSC-DkP96qO9.js +0 -84
  131. package/dist/client/packbits-BlDR4Kj5-C66n1-zr.js +0 -24
  132. package/dist/client/pako.esm-CB1uQYY0-DB0PYm1P.js +0 -1081
  133. package/dist/client/raw-CMGvRjfu-BRi6E4i1.js +0 -9
  134. package/dist/client/ssrBoot-yo11mybw.js +0 -17
  135. package/dist/client/transition-CSJhuYGK.js +0 -34
  136. package/dist/client/webfontloader-qotgY98I.js +0 -435
  137. package/dist/client/webimage-BM_pbLN3-L2cGWK5l.js +0 -19
@@ -1,514 +0,0 @@
1
- import { g as oe } from "./basedecoder-DHcBySSe-BmCFNFnw.js";
2
- const J = new Int32Array([
3
- 0,
4
- 1,
5
- 8,
6
- 16,
7
- 9,
8
- 2,
9
- 3,
10
- 10,
11
- 17,
12
- 24,
13
- 32,
14
- 25,
15
- 18,
16
- 11,
17
- 4,
18
- 5,
19
- 12,
20
- 19,
21
- 26,
22
- 33,
23
- 40,
24
- 48,
25
- 41,
26
- 34,
27
- 27,
28
- 20,
29
- 13,
30
- 6,
31
- 7,
32
- 14,
33
- 21,
34
- 28,
35
- 35,
36
- 42,
37
- 49,
38
- 56,
39
- 57,
40
- 50,
41
- 43,
42
- 36,
43
- 29,
44
- 22,
45
- 15,
46
- 23,
47
- 30,
48
- 37,
49
- 44,
50
- 51,
51
- 58,
52
- 59,
53
- 52,
54
- 45,
55
- 38,
56
- 31,
57
- 39,
58
- 46,
59
- 53,
60
- 60,
61
- 61,
62
- 54,
63
- 47,
64
- 55,
65
- 62,
66
- 63
67
- ]), $ = 4017, B = 799, Q = 3406, W = 2276, K = 1567, N = 3784, j = 5793, Z = 2896;
68
- function ne(F, a) {
69
- let s = 0;
70
- const u = [];
71
- let D = 16;
72
- for (; D > 0 && !F[D - 1]; )
73
- --D;
74
- u.push({ children: [], index: 0 });
75
- let y = u[0], P;
76
- for (let t = 0; t < D; t++) {
77
- for (let f = 0; f < F[t]; f++) {
78
- for (y = u.pop(), y.children[y.index] = a[s]; y.index > 0; )
79
- y = u.pop();
80
- for (y.index++, u.push(y); u.length <= t; )
81
- u.push(P = { children: [], index: 0 }), y.children[y.index] = P.children, y = P;
82
- s++;
83
- }
84
- t + 1 < D && (u.push(P = { children: [], index: 0 }), y.children[y.index] = P.children, y = P);
85
- }
86
- return u[0].children;
87
- }
88
- function ce(F, a, s, u, D, y, P, t, f) {
89
- const { mcusPerLine: m, progressive: o } = s, i = a;
90
- let k = a, c = 0, b = 0;
91
- function d() {
92
- if (b > 0)
93
- return b--, c >> b & 1;
94
- if (c = F[k++], c === 255) {
95
- const l = F[k++];
96
- if (l)
97
- throw new Error(`unexpected marker: ${(c << 8 | l).toString(16)}`);
98
- }
99
- return b = 7, c >>> 7;
100
- }
101
- function p(l) {
102
- let h = l, w;
103
- for (; (w = d()) !== null; ) {
104
- if (h = h[w], typeof h == "number")
105
- return h;
106
- if (typeof h != "object")
107
- throw new Error("invalid huffman sequence");
108
- }
109
- return null;
110
- }
111
- function T(l) {
112
- let h = l, w = 0;
113
- for (; h > 0; ) {
114
- const E = d();
115
- if (E === null)
116
- return;
117
- w = w << 1 | E, --h;
118
- }
119
- return w;
120
- }
121
- function x(l) {
122
- const h = T(l);
123
- return h >= 1 << l - 1 ? h : h + (-1 << l) + 1;
124
- }
125
- function g(l, h) {
126
- const w = p(l.huffmanTableDC), E = w === 0 ? 0 : x(w);
127
- l.pred += E, h[0] = l.pred;
128
- let L = 1;
129
- for (; L < 64; ) {
130
- const v = p(l.huffmanTableAC), I = v & 15, z = v >> 4;
131
- if (I === 0) {
132
- if (z < 15)
133
- break;
134
- L += 16;
135
- } else {
136
- L += z;
137
- const U = J[L];
138
- h[U] = x(I), L++;
139
- }
140
- }
141
- }
142
- function A(l, h) {
143
- const w = p(l.huffmanTableDC), E = w === 0 ? 0 : x(w) << f;
144
- l.pred += E, h[0] = l.pred;
145
- }
146
- function r(l, h) {
147
- h[0] |= d() << f;
148
- }
149
- let n = 0;
150
- function C(l, h) {
151
- if (n > 0) {
152
- n--;
153
- return;
154
- }
155
- let w = y;
156
- const E = P;
157
- for (; w <= E; ) {
158
- const L = p(l.huffmanTableAC), v = L & 15, I = L >> 4;
159
- if (v === 0) {
160
- if (I < 15) {
161
- n = T(I) + (1 << I) - 1;
162
- break;
163
- }
164
- w += 16;
165
- } else {
166
- w += I;
167
- const z = J[w];
168
- h[z] = x(v) * (1 << f), w++;
169
- }
170
- }
171
- }
172
- let e = 0, _;
173
- function te(l, h) {
174
- let w = y;
175
- const E = P;
176
- let L = 0;
177
- for (; w <= E; ) {
178
- const v = J[w], I = h[v] < 0 ? -1 : 1;
179
- switch (e) {
180
- case 0: {
181
- const z = p(l.huffmanTableAC), U = z & 15;
182
- if (L = z >> 4, U === 0)
183
- L < 15 ? (n = T(L) + (1 << L), e = 4) : (L = 16, e = 1);
184
- else {
185
- if (U !== 1)
186
- throw new Error("invalid ACn encoding");
187
- _ = x(U), e = L ? 2 : 3;
188
- }
189
- continue;
190
- }
191
- case 1:
192
- case 2:
193
- h[v] ? h[v] += (d() << f) * I : (L--, L === 0 && (e = e === 2 ? 3 : 0));
194
- break;
195
- case 3:
196
- h[v] ? h[v] += (d() << f) * I : (h[v] = _ << f, e = 0);
197
- break;
198
- case 4:
199
- h[v] && (h[v] += (d() << f) * I);
200
- break;
201
- }
202
- w++;
203
- }
204
- e === 4 && (n--, n === 0 && (e = 0));
205
- }
206
- function re(l, h, w, E, L) {
207
- const v = w / m | 0, I = w % m, z = v * l.v + E, U = I * l.h + L;
208
- h(l, l.blocks[z][U]);
209
- }
210
- function se(l, h, w) {
211
- const E = w / l.blocksPerLine | 0, L = w % l.blocksPerLine;
212
- h(l, l.blocks[E][L]);
213
- }
214
- const R = u.length;
215
- let q, O, V, X, M, G;
216
- o ? y === 0 ? G = t === 0 ? A : r : G = t === 0 ? C : te : G = g;
217
- let S = 0, Y, H;
218
- R === 1 ? H = u[0].blocksPerLine * u[0].blocksPerColumn : H = m * s.mcusPerColumn;
219
- const ee = D || H;
220
- for (; S < H; ) {
221
- for (O = 0; O < R; O++)
222
- u[O].pred = 0;
223
- if (n = 0, R === 1)
224
- for (q = u[0], M = 0; M < ee; M++)
225
- se(q, G, S), S++;
226
- else
227
- for (M = 0; M < ee; M++) {
228
- for (O = 0; O < R; O++) {
229
- q = u[O];
230
- const { h: l, v: h } = q;
231
- for (V = 0; V < h; V++)
232
- for (X = 0; X < l; X++)
233
- re(q, G, S, V, X);
234
- }
235
- if (S++, S === H)
236
- break;
237
- }
238
- if (b = 0, Y = F[k] << 8 | F[k + 1], Y < 65280)
239
- throw new Error("marker was not found");
240
- if (Y >= 65488 && Y <= 65495)
241
- k += 2;
242
- else
243
- break;
244
- }
245
- return k - i;
246
- }
247
- function ie(F, a) {
248
- const s = [], { blocksPerLine: u, blocksPerColumn: D } = a, y = u << 3, P = new Int32Array(64), t = new Uint8Array(64);
249
- function f(m, o, i) {
250
- const k = a.quantizationTable;
251
- let c, b, d, p, T, x, g, A, r;
252
- const n = i;
253
- let C;
254
- for (C = 0; C < 64; C++)
255
- n[C] = m[C] * k[C];
256
- for (C = 0; C < 8; ++C) {
257
- const e = 8 * C;
258
- if (n[1 + e] === 0 && n[2 + e] === 0 && n[3 + e] === 0 && n[4 + e] === 0 && n[5 + e] === 0 && n[6 + e] === 0 && n[7 + e] === 0) {
259
- r = j * n[0 + e] + 512 >> 10, n[0 + e] = r, n[1 + e] = r, n[2 + e] = r, n[3 + e] = r, n[4 + e] = r, n[5 + e] = r, n[6 + e] = r, n[7 + e] = r;
260
- continue;
261
- }
262
- c = j * n[0 + e] + 128 >> 8, b = j * n[4 + e] + 128 >> 8, d = n[2 + e], p = n[6 + e], T = Z * (n[1 + e] - n[7 + e]) + 128 >> 8, A = Z * (n[1 + e] + n[7 + e]) + 128 >> 8, x = n[3 + e] << 4, g = n[5 + e] << 4, r = c - b + 1 >> 1, c = c + b + 1 >> 1, b = r, r = d * N + p * K + 128 >> 8, d = d * K - p * N + 128 >> 8, p = r, r = T - g + 1 >> 1, T = T + g + 1 >> 1, g = r, r = A + x + 1 >> 1, x = A - x + 1 >> 1, A = r, r = c - p + 1 >> 1, c = c + p + 1 >> 1, p = r, r = b - d + 1 >> 1, b = b + d + 1 >> 1, d = r, r = T * W + A * Q + 2048 >> 12, T = T * Q - A * W + 2048 >> 12, A = r, r = x * B + g * $ + 2048 >> 12, x = x * $ - g * B + 2048 >> 12, g = r, n[0 + e] = c + A, n[7 + e] = c - A, n[1 + e] = b + g, n[6 + e] = b - g, n[2 + e] = d + x, n[5 + e] = d - x, n[3 + e] = p + T, n[4 + e] = p - T;
263
- }
264
- for (C = 0; C < 8; ++C) {
265
- const e = C;
266
- if (n[1 * 8 + e] === 0 && n[2 * 8 + e] === 0 && n[3 * 8 + e] === 0 && n[4 * 8 + e] === 0 && n[5 * 8 + e] === 0 && n[6 * 8 + e] === 0 && n[7 * 8 + e] === 0) {
267
- r = j * i[C + 0] + 8192 >> 14, n[0 * 8 + e] = r, n[1 * 8 + e] = r, n[2 * 8 + e] = r, n[3 * 8 + e] = r, n[4 * 8 + e] = r, n[5 * 8 + e] = r, n[6 * 8 + e] = r, n[7 * 8 + e] = r;
268
- continue;
269
- }
270
- c = j * n[0 * 8 + e] + 2048 >> 12, b = j * n[4 * 8 + e] + 2048 >> 12, d = n[2 * 8 + e], p = n[6 * 8 + e], T = Z * (n[1 * 8 + e] - n[7 * 8 + e]) + 2048 >> 12, A = Z * (n[1 * 8 + e] + n[7 * 8 + e]) + 2048 >> 12, x = n[3 * 8 + e], g = n[5 * 8 + e], r = c - b + 1 >> 1, c = c + b + 1 >> 1, b = r, r = d * N + p * K + 2048 >> 12, d = d * K - p * N + 2048 >> 12, p = r, r = T - g + 1 >> 1, T = T + g + 1 >> 1, g = r, r = A + x + 1 >> 1, x = A - x + 1 >> 1, A = r, r = c - p + 1 >> 1, c = c + p + 1 >> 1, p = r, r = b - d + 1 >> 1, b = b + d + 1 >> 1, d = r, r = T * W + A * Q + 2048 >> 12, T = T * Q - A * W + 2048 >> 12, A = r, r = x * B + g * $ + 2048 >> 12, x = x * $ - g * B + 2048 >> 12, g = r, n[0 * 8 + e] = c + A, n[7 * 8 + e] = c - A, n[1 * 8 + e] = b + g, n[6 * 8 + e] = b - g, n[2 * 8 + e] = d + x, n[5 * 8 + e] = d - x, n[3 * 8 + e] = p + T, n[4 * 8 + e] = p - T;
271
- }
272
- for (C = 0; C < 64; ++C) {
273
- const e = 128 + (n[C] + 8 >> 4);
274
- e < 0 ? o[C] = 0 : e > 255 ? o[C] = 255 : o[C] = e;
275
- }
276
- }
277
- for (let m = 0; m < D; m++) {
278
- const o = m << 3;
279
- for (let i = 0; i < 8; i++)
280
- s.push(new Uint8Array(y));
281
- for (let i = 0; i < u; i++) {
282
- f(a.blocks[m][i], t, P);
283
- let k = 0;
284
- const c = i << 3;
285
- for (let b = 0; b < 8; b++) {
286
- const d = s[o + b];
287
- for (let p = 0; p < 8; p++)
288
- d[c + p] = t[k++];
289
- }
290
- }
291
- }
292
- return s;
293
- }
294
- class ae {
295
- constructor() {
296
- this.jfif = null, this.adobe = null, this.quantizationTables = [], this.huffmanTablesAC = [], this.huffmanTablesDC = [], this.resetFrames();
297
- }
298
- resetFrames() {
299
- this.frames = [];
300
- }
301
- parse(a) {
302
- let s = 0;
303
- function u() {
304
- const t = a[s] << 8 | a[s + 1];
305
- return s += 2, t;
306
- }
307
- function D() {
308
- const t = u(), f = a.subarray(s, s + t - 2);
309
- return s += f.length, f;
310
- }
311
- function y(t) {
312
- let f = 0, m = 0, o, i;
313
- for (i in t.components)
314
- t.components.hasOwnProperty(i) && (o = t.components[i], f < o.h && (f = o.h), m < o.v && (m = o.v));
315
- const k = Math.ceil(t.samplesPerLine / 8 / f), c = Math.ceil(t.scanLines / 8 / m);
316
- for (i in t.components)
317
- if (t.components.hasOwnProperty(i)) {
318
- o = t.components[i];
319
- const b = Math.ceil(Math.ceil(t.samplesPerLine / 8) * o.h / f), d = Math.ceil(Math.ceil(t.scanLines / 8) * o.v / m), p = k * o.h, T = c * o.v, x = [];
320
- for (let g = 0; g < T; g++) {
321
- const A = [];
322
- for (let r = 0; r < p; r++)
323
- A.push(new Int32Array(64));
324
- x.push(A);
325
- }
326
- o.blocksPerLine = b, o.blocksPerColumn = d, o.blocks = x;
327
- }
328
- t.maxH = f, t.maxV = m, t.mcusPerLine = k, t.mcusPerColumn = c;
329
- }
330
- let P = u();
331
- if (P !== 65496)
332
- throw new Error("SOI not found");
333
- for (P = u(); P !== 65497; ) {
334
- switch (P) {
335
- case 65280:
336
- break;
337
- case 65504:
338
- case 65505:
339
- case 65506:
340
- case 65507:
341
- case 65508:
342
- case 65509:
343
- case 65510:
344
- case 65511:
345
- case 65512:
346
- case 65513:
347
- case 65514:
348
- case 65515:
349
- case 65516:
350
- case 65517:
351
- case 65518:
352
- case 65519:
353
- case 65534: {
354
- const t = D();
355
- P === 65504 && t[0] === 74 && t[1] === 70 && t[2] === 73 && t[3] === 70 && t[4] === 0 && (this.jfif = {
356
- version: { major: t[5], minor: t[6] },
357
- densityUnits: t[7],
358
- xDensity: t[8] << 8 | t[9],
359
- yDensity: t[10] << 8 | t[11],
360
- thumbWidth: t[12],
361
- thumbHeight: t[13],
362
- thumbData: t.subarray(14, 14 + 3 * t[12] * t[13])
363
- }), P === 65518 && t[0] === 65 && t[1] === 100 && t[2] === 111 && t[3] === 98 && t[4] === 101 && t[5] === 0 && (this.adobe = {
364
- version: t[6],
365
- flags0: t[7] << 8 | t[8],
366
- flags1: t[9] << 8 | t[10],
367
- transformCode: t[11]
368
- });
369
- break;
370
- }
371
- case 65499: {
372
- const t = u() + s - 2;
373
- for (; s < t; ) {
374
- const f = a[s++], m = new Int32Array(64);
375
- if (f >> 4)
376
- if (f >> 4 === 1)
377
- for (let o = 0; o < 64; o++) {
378
- const i = J[o];
379
- m[i] = u();
380
- }
381
- else
382
- throw new Error("DQT: invalid table spec");
383
- else for (let o = 0; o < 64; o++) {
384
- const i = J[o];
385
- m[i] = a[s++];
386
- }
387
- this.quantizationTables[f & 15] = m;
388
- }
389
- break;
390
- }
391
- case 65472:
392
- case 65473:
393
- case 65474: {
394
- u();
395
- const t = {
396
- extended: P === 65473,
397
- progressive: P === 65474,
398
- precision: a[s++],
399
- scanLines: u(),
400
- samplesPerLine: u(),
401
- components: {},
402
- componentsOrder: []
403
- }, f = a[s++];
404
- let m;
405
- for (let o = 0; o < f; o++) {
406
- m = a[s];
407
- const i = a[s + 1] >> 4, k = a[s + 1] & 15, c = a[s + 2];
408
- t.componentsOrder.push(m), t.components[m] = {
409
- h: i,
410
- v: k,
411
- quantizationIdx: c
412
- }, s += 3;
413
- }
414
- y(t), this.frames.push(t);
415
- break;
416
- }
417
- case 65476: {
418
- const t = u();
419
- for (let f = 2; f < t; ) {
420
- const m = a[s++], o = new Uint8Array(16);
421
- let i = 0;
422
- for (let c = 0; c < 16; c++, s++)
423
- o[c] = a[s], i += o[c];
424
- const k = new Uint8Array(i);
425
- for (let c = 0; c < i; c++, s++)
426
- k[c] = a[s];
427
- f += 17 + i, m >> 4 ? this.huffmanTablesAC[m & 15] = ne(
428
- o,
429
- k
430
- ) : this.huffmanTablesDC[m & 15] = ne(
431
- o,
432
- k
433
- );
434
- }
435
- break;
436
- }
437
- case 65501:
438
- u(), this.resetInterval = u();
439
- break;
440
- case 65498: {
441
- u();
442
- const t = a[s++], f = [], m = this.frames[0];
443
- for (let b = 0; b < t; b++) {
444
- const d = m.components[a[s++]], p = a[s++];
445
- d.huffmanTableDC = this.huffmanTablesDC[p >> 4], d.huffmanTableAC = this.huffmanTablesAC[p & 15], f.push(d);
446
- }
447
- const o = a[s++], i = a[s++], k = a[s++], c = ce(
448
- a,
449
- s,
450
- m,
451
- f,
452
- this.resetInterval,
453
- o,
454
- i,
455
- k >> 4,
456
- k & 15
457
- );
458
- s += c;
459
- break;
460
- }
461
- case 65535:
462
- a[s] !== 255 && s--;
463
- break;
464
- default:
465
- if (a[s - 3] === 255 && a[s - 2] >= 192 && a[s - 2] <= 254) {
466
- s -= 3;
467
- break;
468
- }
469
- throw new Error(`unknown JPEG marker ${P.toString(16)}`);
470
- }
471
- P = u();
472
- }
473
- }
474
- getResult() {
475
- const { frames: a } = this;
476
- if (this.frames.length === 0)
477
- throw new Error("no frames were decoded");
478
- this.frames.length > 1 && console.warn("more than one frame is not supported");
479
- for (let o = 0; o < this.frames.length; o++) {
480
- const i = this.frames[o].components;
481
- for (const k of Object.keys(i))
482
- i[k].quantizationTable = this.quantizationTables[i[k].quantizationIdx], delete i[k].quantizationIdx;
483
- }
484
- const s = a[0], { components: u, componentsOrder: D } = s, y = [], P = s.samplesPerLine, t = s.scanLines;
485
- for (let o = 0; o < D.length; o++) {
486
- const i = u[D[o]];
487
- y.push({
488
- lines: ie(s, i),
489
- scaleX: i.h / s.maxH,
490
- scaleY: i.v / s.maxV
491
- });
492
- }
493
- const f = new Uint8Array(P * t * y.length);
494
- let m = 0;
495
- for (let o = 0; o < t; ++o)
496
- for (let i = 0; i < P; ++i)
497
- for (let k = 0; k < y.length; ++k) {
498
- const c = y[k];
499
- f[m] = c.lines[0 | o * c.scaleY][0 | i * c.scaleX], ++m;
500
- }
501
- return f;
502
- }
503
- }
504
- class le extends oe {
505
- constructor(a) {
506
- super(), this.reader = new ae(), a.JPEGTables && this.reader.parse(a.JPEGTables);
507
- }
508
- decodeBlock(a) {
509
- return this.reader.resetFrames(), this.reader.parse(new Uint8Array(a)), this.reader.getResult().buffer;
510
- }
511
- }
512
- export {
513
- le as default
514
- };