@eodash/eodash 5.0.0-alpha.1.9 → 5.0.0-alpha.2.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.
Files changed (80) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -1
  3. package/bin/cli.js +15 -8
  4. package/bin/main.js +9 -0
  5. package/bin/serverConfig.js +58 -29
  6. package/bin/types.d.ts +52 -0
  7. package/bin/utils.js +70 -20
  8. package/core/App.vue +10 -12
  9. package/core/SuspensedDashboard.ce.vue +65 -0
  10. package/core/asWebComponent.d.ts +18 -0
  11. package/core/asWebComponent.js +12 -0
  12. package/core/components/DashboardLayout.vue +11 -25
  13. package/core/components/DynamicWebComponent.vue +6 -6
  14. package/core/components/Footer.vue +11 -12
  15. package/core/components/Header.vue +5 -29
  16. package/core/components/Loading.vue +27 -0
  17. package/core/components/MobileLayout.vue +34 -63
  18. package/core/composables/DefineEodash.js +57 -0
  19. package/core/composables/DefineWidgets.js +26 -15
  20. package/core/composables/index.js +139 -67
  21. package/core/eodash.js +100 -0
  22. package/core/main.js +2 -4
  23. package/core/plugins/index.js +3 -12
  24. package/core/plugins/vuetify.js +5 -2
  25. package/core/store/Actions.js +0 -28
  26. package/core/store/States.js +12 -3
  27. package/core/store/stac.js +7 -5
  28. package/core/types.d.ts +149 -124
  29. package/core/utils/eodashSTAC.js +164 -0
  30. package/core/utils/helpers.js +40 -0
  31. package/core/utils/index.js +28 -0
  32. package/core/utils/keys.js +6 -0
  33. package/core/views/Dashboard.vue +33 -23
  34. package/core/vite-env.d.ts +16 -2
  35. package/dist/.gitkeep +0 -0
  36. package/dist/DashboardLayout-Dp8AnYD9.js +141 -0
  37. package/dist/DynamicWebComponent-BrHVTesn.js +57 -0
  38. package/dist/EodashDatePicker-D_udZ26j.js +1645 -0
  39. package/dist/EodashItemFilter-BLAGx2UD.js +51 -0
  40. package/dist/EodashMap-Bxl_aqY2.js +53405 -0
  41. package/dist/Footer-AohCH8U7.js +118 -0
  42. package/dist/Header-DC50S6GR.js +609 -0
  43. package/dist/IframeWrapper-Dd9zrX9s.js +19 -0
  44. package/dist/MobileLayout-CgToA7Gp.js +523 -0
  45. package/dist/VBtn-Bz7ruRUg.js +1106 -0
  46. package/dist/VMain-BHfWJU2j.js +35 -0
  47. package/dist/WidgetsContainer-DxfCu0I3.js +122 -0
  48. package/dist/_commonjsHelpers-DaMA6jEr.js +8 -0
  49. package/dist/asWebComponent-C8rb3b1D.js +11323 -0
  50. package/dist/basedecoder-Qm25PwVp-CHo5Pomv.js +89 -0
  51. package/dist/color-DpYEub1f.js +115 -0
  52. package/dist/decoder-kAoyGIq9-BBR5CgzS.js +10 -0
  53. package/dist/deflate-Be2Arps5-hDqMz3RA.js +10 -0
  54. package/dist/dimensions-CJaGeSrj.js +53 -0
  55. package/dist/eo-dash.js +6 -0
  56. package/dist/eox-itemfilter-DcQkRD2l.js +7537 -0
  57. package/dist/eox-map-BJ9SIixs.js +36205 -0
  58. package/dist/eox-stacinfo-B-YrT7Ug.js +13698 -0
  59. package/dist/forwardRefs-Bxeu9Obx.js +142 -0
  60. package/dist/index-DTkOfh2g.js +152 -0
  61. package/dist/index-Sa2Vg_gx.js +65 -0
  62. package/dist/jpeg-DNfUpLwy-Fjan-04T.js +515 -0
  63. package/dist/lerc-C9VL9kri-cIdbW0sg.js +1029 -0
  64. package/dist/lzw-BOMhmEDy-Dboc93VO.js +84 -0
  65. package/dist/packbits-DaUD6MLm-Bu1PoTGa.js +24 -0
  66. package/dist/pako.esm-C3kYPGGQ-BMki8cQY.js +1087 -0
  67. package/dist/raw-CcGKjn8q-DFOt-i8n.js +9 -0
  68. package/dist/ssrBoot-D-b4-M19.js +17 -0
  69. package/dist/style.css +5 -0
  70. package/dist/webfontloader-CyOFAuFB.js +471 -0
  71. package/dist/webimage-D2c098k3-DLj1LQxB.js +19 -0
  72. package/package.json +40 -12
  73. package/widgets/EodashDatePicker.vue +56 -0
  74. package/widgets/EodashItemFilter.vue +60 -0
  75. package/widgets/EodashMap.vue +82 -0
  76. package/widgets/WidgetsContainer.vue +1 -1
  77. package/core/composables/DefineConfig.js +0 -45
  78. package/core/eodashConfig.js +0 -136
  79. package/core/plugins/router.js +0 -20
  80. package/core/store/Keys.js +0 -6
@@ -0,0 +1,515 @@
1
+ import { g as oe } from "./basedecoder-Qm25PwVp-CHo5Pomv.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
384
+ for (let o = 0; o < 64; o++) {
385
+ const i = J[o];
386
+ m[i] = a[s++];
387
+ }
388
+ this.quantizationTables[f & 15] = m;
389
+ }
390
+ break;
391
+ }
392
+ case 65472:
393
+ case 65473:
394
+ case 65474: {
395
+ u();
396
+ const t = {
397
+ extended: P === 65473,
398
+ progressive: P === 65474,
399
+ precision: a[s++],
400
+ scanLines: u(),
401
+ samplesPerLine: u(),
402
+ components: {},
403
+ componentsOrder: []
404
+ }, f = a[s++];
405
+ let m;
406
+ for (let o = 0; o < f; o++) {
407
+ m = a[s];
408
+ const i = a[s + 1] >> 4, k = a[s + 1] & 15, c = a[s + 2];
409
+ t.componentsOrder.push(m), t.components[m] = {
410
+ h: i,
411
+ v: k,
412
+ quantizationIdx: c
413
+ }, s += 3;
414
+ }
415
+ y(t), this.frames.push(t);
416
+ break;
417
+ }
418
+ case 65476: {
419
+ const t = u();
420
+ for (let f = 2; f < t; ) {
421
+ const m = a[s++], o = new Uint8Array(16);
422
+ let i = 0;
423
+ for (let c = 0; c < 16; c++, s++)
424
+ o[c] = a[s], i += o[c];
425
+ const k = new Uint8Array(i);
426
+ for (let c = 0; c < i; c++, s++)
427
+ k[c] = a[s];
428
+ f += 17 + i, m >> 4 ? this.huffmanTablesAC[m & 15] = ne(
429
+ o,
430
+ k
431
+ ) : this.huffmanTablesDC[m & 15] = ne(
432
+ o,
433
+ k
434
+ );
435
+ }
436
+ break;
437
+ }
438
+ case 65501:
439
+ u(), this.resetInterval = u();
440
+ break;
441
+ case 65498: {
442
+ u();
443
+ const t = a[s++], f = [], m = this.frames[0];
444
+ for (let b = 0; b < t; b++) {
445
+ const d = m.components[a[s++]], p = a[s++];
446
+ d.huffmanTableDC = this.huffmanTablesDC[p >> 4], d.huffmanTableAC = this.huffmanTablesAC[p & 15], f.push(d);
447
+ }
448
+ const o = a[s++], i = a[s++], k = a[s++], c = ce(
449
+ a,
450
+ s,
451
+ m,
452
+ f,
453
+ this.resetInterval,
454
+ o,
455
+ i,
456
+ k >> 4,
457
+ k & 15
458
+ );
459
+ s += c;
460
+ break;
461
+ }
462
+ case 65535:
463
+ a[s] !== 255 && s--;
464
+ break;
465
+ default:
466
+ if (a[s - 3] === 255 && a[s - 2] >= 192 && a[s - 2] <= 254) {
467
+ s -= 3;
468
+ break;
469
+ }
470
+ throw new Error(`unknown JPEG marker ${P.toString(16)}`);
471
+ }
472
+ P = u();
473
+ }
474
+ }
475
+ getResult() {
476
+ const { frames: a } = this;
477
+ if (this.frames.length === 0)
478
+ throw new Error("no frames were decoded");
479
+ this.frames.length > 1 && console.warn("more than one frame is not supported");
480
+ for (let o = 0; o < this.frames.length; o++) {
481
+ const i = this.frames[o].components;
482
+ for (const k of Object.keys(i))
483
+ i[k].quantizationTable = this.quantizationTables[i[k].quantizationIdx], delete i[k].quantizationIdx;
484
+ }
485
+ const s = a[0], { components: u, componentsOrder: D } = s, y = [], P = s.samplesPerLine, t = s.scanLines;
486
+ for (let o = 0; o < D.length; o++) {
487
+ const i = u[D[o]];
488
+ y.push({
489
+ lines: ie(s, i),
490
+ scaleX: i.h / s.maxH,
491
+ scaleY: i.v / s.maxV
492
+ });
493
+ }
494
+ const f = new Uint8Array(P * t * y.length);
495
+ let m = 0;
496
+ for (let o = 0; o < t; ++o)
497
+ for (let i = 0; i < P; ++i)
498
+ for (let k = 0; k < y.length; ++k) {
499
+ const c = y[k];
500
+ f[m] = c.lines[0 | o * c.scaleY][0 | i * c.scaleX], ++m;
501
+ }
502
+ return f;
503
+ }
504
+ }
505
+ class le extends oe {
506
+ constructor(a) {
507
+ super(), this.reader = new ae(), a.JPEGTables && this.reader.parse(a.JPEGTables);
508
+ }
509
+ decodeBlock(a) {
510
+ return this.reader.resetFrames(), this.reader.parse(new Uint8Array(a)), this.reader.getResult().buffer;
511
+ }
512
+ }
513
+ export {
514
+ le as default
515
+ };