@xiuchang-midscene/shared 2.0.2 → 2.0.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/dist/es/oss/index.mjs +1 -1
- package/dist/lib/oss/index.js +1 -1
- package/package.json +1 -1
- package/src/oss/index.ts +1 -1
- package/dist/es/baseDB.mjs.bak +0 -109
- package/dist/es/build/copy-static.mjs.bak +0 -31
- package/dist/es/build/rspack-config.mjs.bak +0 -4
- package/dist/es/cli/cli-runner.mjs.bak +0 -140
- package/dist/es/cli/index.mjs.bak +0 -2
- package/dist/es/common.mjs.bak +0 -37
- package/dist/es/constants/example-code.mjs.bak +0 -223
- package/dist/es/constants/index.mjs.bak +0 -23
- package/dist/es/env/basic.mjs.bak +0 -6
- package/dist/es/env/constants.mjs.bak +0 -70
- package/dist/es/env/global-config-manager.mjs.bak +0 -94
- package/dist/es/env/helper.mjs.bak +0 -43
- package/dist/es/env/index.mjs.bak +0 -5
- package/dist/es/env/init-debug.mjs.bak +0 -18
- package/dist/es/env/model-config-manager.mjs.bak +0 -79
- package/dist/es/env/parse-model-config.mjs.bak +0 -132
- package/dist/es/env/types.mjs.bak +0 -220
- package/dist/es/env/utils.mjs.bak +0 -26
- package/dist/es/extractor/constants.mjs.bak +0 -2
- package/dist/es/extractor/debug.mjs.bak +0 -6
- package/dist/es/extractor/dom-util.mjs.bak +0 -92
- package/dist/es/extractor/index.mjs.bak +0 -5
- package/dist/es/extractor/locator.mjs.bak +0 -250
- package/dist/es/extractor/tree.mjs.bak +0 -78
- package/dist/es/extractor/util.mjs.bak +0 -245
- package/dist/es/extractor/web-extractor.mjs.bak +0 -303
- package/dist/es/img/box-select.mjs.bak +0 -824
- package/dist/es/img/canvas-fallback.mjs.bak +0 -238
- package/dist/es/img/get-photon.mjs.bak +0 -45
- package/dist/es/img/get-sharp.mjs.bak +0 -11
- package/dist/es/img/index.mjs.bak +0 -4
- package/dist/es/img/info.mjs.bak +0 -29
- package/dist/es/img/transform.mjs.bak +0 -295
- package/dist/es/index.mjs.bak +0 -4
- package/dist/es/logger.mjs.bak +0 -64
- package/dist/es/mcp/base-server.mjs.bak +0 -281
- package/dist/es/mcp/base-tools.mjs.bak +0 -91
- package/dist/es/mcp/chrome-path.mjs.bak +0 -35
- package/dist/es/mcp/index.mjs.bak +0 -7
- package/dist/es/mcp/inject-report-html-plugin.mjs.bak +0 -53
- package/dist/es/mcp/launcher-helper.mjs.bak +0 -52
- package/dist/es/mcp/tool-generator.mjs.bak +0 -297
- package/dist/es/mcp/types.mjs.bak +0 -3
- package/dist/es/node/fs.mjs.bak +0 -44
- package/dist/es/node/index.mjs.bak +0 -2
- package/dist/es/node/port.mjs.bak +0 -24
- package/dist/es/oss/demo.mjs.bak +0 -30
- package/dist/es/oss/index.mjs.bak +0 -90
- package/dist/es/polyfills/async-hooks.mjs.bak +0 -2
- package/dist/es/polyfills/index.mjs.bak +0 -1
- package/dist/es/types/index.mjs.bak +0 -3
- package/dist/es/us-keyboard-layout.mjs.bak +0 -1414
- package/dist/es/utils.mjs.bak +0 -72
- package/dist/es/zod-schema-utils.mjs.bak +0 -54
- package/dist/lib/baseDB.js.bak +0 -149
- package/dist/lib/build/copy-static.js.bak +0 -79
- package/dist/lib/build/rspack-config.js.bak +0 -38
- package/dist/lib/cli/cli-runner.js.bak +0 -196
- package/dist/lib/cli/index.js.bak +0 -48
- package/dist/lib/common.js.bak +0 -93
- package/dist/lib/constants/example-code.js.bak +0 -260
- package/dist/lib/constants/index.js.bak +0 -96
- package/dist/lib/env/basic.js.bak +0 -40
- package/dist/lib/env/constants.js.bak +0 -113
- package/dist/lib/env/global-config-manager.js.bak +0 -128
- package/dist/lib/env/helper.js.bak +0 -80
- package/dist/lib/env/index.js.bak +0 -90
- package/dist/lib/env/init-debug.js.bak +0 -52
- package/dist/lib/env/model-config-manager.js.bak +0 -113
- package/dist/lib/env/parse-model-config.js.bak +0 -178
- package/dist/lib/env/types.js.bak +0 -554
- package/dist/lib/env/utils.js.bak +0 -72
- package/dist/lib/extractor/constants.js.bak +0 -42
- package/dist/lib/extractor/debug.js.bak +0 -12
- package/dist/lib/extractor/dom-util.js.bak +0 -153
- package/dist/lib/extractor/index.js.bak +0 -81
- package/dist/lib/extractor/locator.js.bak +0 -296
- package/dist/lib/extractor/tree.js.bak +0 -124
- package/dist/lib/extractor/util.js.bak +0 -336
- package/dist/lib/extractor/web-extractor.js.bak +0 -349
- package/dist/lib/img/box-select.js.bak +0 -875
- package/dist/lib/img/canvas-fallback.js.bak +0 -305
- package/dist/lib/img/get-photon.js.bak +0 -82
- package/dist/lib/img/get-sharp.js.bak +0 -45
- package/dist/lib/img/index.js.bak +0 -95
- package/dist/lib/img/info.js.bak +0 -83
- package/dist/lib/img/transform.js.bak +0 -387
- package/dist/lib/index.js.bak +0 -47
- package/dist/lib/logger.js.bak +0 -114
- package/dist/lib/mcp/base-server.js.bak +0 -331
- package/dist/lib/mcp/base-tools.js.bak +0 -125
- package/dist/lib/mcp/chrome-path.js.bak +0 -72
- package/dist/lib/mcp/index.js.bak +0 -100
- package/dist/lib/mcp/inject-report-html-plugin.js.bak +0 -98
- package/dist/lib/mcp/launcher-helper.js.bak +0 -86
- package/dist/lib/mcp/tool-generator.js.bak +0 -334
- package/dist/lib/mcp/types.js.bak +0 -40
- package/dist/lib/node/fs.js.bak +0 -97
- package/dist/lib/node/index.js.bak +0 -65
- package/dist/lib/node/port.js.bak +0 -61
- package/dist/lib/oss/demo.js.bak +0 -36
- package/dist/lib/oss/index.js.bak +0 -138
- package/dist/lib/polyfills/async-hooks.js.bak +0 -36
- package/dist/lib/polyfills/index.js.bak +0 -58
- package/dist/lib/types/index.js.bak +0 -37
- package/dist/lib/us-keyboard-layout.js.bak +0 -1457
- package/dist/lib/utils.js.bak +0 -148
- package/dist/lib/zod-schema-utils.js.bak +0 -97
- package/dist/types/baseDB.d.ts.bak +0 -25
- package/dist/types/build/copy-static.d.ts.bak +0 -31
- package/dist/types/build/rspack-config.d.ts.bak +0 -8
- package/dist/types/cli/cli-runner.d.ts.bak +0 -14
- package/dist/types/cli/index.d.ts.bak +0 -2
- package/dist/types/common.d.ts.bak +0 -12
- package/dist/types/constants/example-code.d.ts.bak +0 -2
- package/dist/types/constants/index.d.ts.bak +0 -21
- package/dist/types/env/basic.d.ts.bak +0 -6
- package/dist/types/env/constants.d.ts.bak +0 -40
- package/dist/types/env/global-config-manager.d.ts.bak +0 -32
- package/dist/types/env/helper.d.ts.bak +0 -4
- package/dist/types/env/index.d.ts.bak +0 -4
- package/dist/types/env/init-debug.d.ts.bak +0 -1
- package/dist/types/env/model-config-manager.d.ts.bak +0 -25
- package/dist/types/env/parse-model-config.d.ts.bak +0 -31
- package/dist/types/env/types.d.ts.bak +0 -318
- package/dist/types/env/utils.d.ts.bak +0 -38
- package/dist/types/extractor/constants.d.ts.bak +0 -1
- package/dist/types/extractor/debug.d.ts.bak +0 -1
- package/dist/types/extractor/dom-util.d.ts.bak +0 -56
- package/dist/types/extractor/index.d.ts.bak +0 -32
- package/dist/types/extractor/locator.d.ts.bak +0 -9
- package/dist/types/extractor/tree.d.ts.bak +0 -6
- package/dist/types/extractor/util.d.ts.bak +0 -47
- package/dist/types/extractor/web-extractor.d.ts.bak +0 -19
- package/dist/types/img/box-select.d.ts.bak +0 -26
- package/dist/types/img/canvas-fallback.d.ts.bak +0 -105
- package/dist/types/img/get-photon.d.ts.bak +0 -19
- package/dist/types/img/get-sharp.d.ts.bak +0 -3
- package/dist/types/img/index.d.ts.bak +0 -3
- package/dist/types/img/info.d.ts.bak +0 -29
- package/dist/types/img/transform.d.ts.bak +0 -107
- package/dist/types/index.d.ts.bak +0 -4
- package/dist/types/logger.d.ts.bak +0 -5
- package/dist/types/mcp/base-server.d.ts.bak +0 -93
- package/dist/types/mcp/base-tools.d.ts.bak +0 -79
- package/dist/types/mcp/chrome-path.d.ts.bak +0 -2
- package/dist/types/mcp/index.d.ts.bak +0 -7
- package/dist/types/mcp/inject-report-html-plugin.d.ts.bak +0 -18
- package/dist/types/mcp/launcher-helper.d.ts.bak +0 -94
- package/dist/types/mcp/tool-generator.d.ts.bak +0 -10
- package/dist/types/mcp/types.d.ts.bak +0 -103
- package/dist/types/node/fs.d.ts.bak +0 -15
- package/dist/types/node/index.d.ts.bak +0 -2
- package/dist/types/node/port.d.ts.bak +0 -8
- package/dist/types/oss/demo.d.ts.bak +0 -1
- package/dist/types/oss/index.d.ts.bak +0 -34
- package/dist/types/polyfills/async-hooks.d.ts.bak +0 -6
- package/dist/types/polyfills/index.d.ts.bak +0 -4
- package/dist/types/types/index.d.ts.bak +0 -34
- package/dist/types/us-keyboard-layout.d.ts.bak +0 -32
- package/dist/types/utils.d.ts.bak +0 -34
- package/dist/types/zod-schema-utils.d.ts.bak +0 -23
|
@@ -1,305 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __webpack_require__ = {};
|
|
3
|
-
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
-
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: definition[key]
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
})();
|
|
11
|
-
(()=>{
|
|
12
|
-
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
-
})();
|
|
14
|
-
(()=>{
|
|
15
|
-
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
-
value: 'Module'
|
|
18
|
-
});
|
|
19
|
-
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
-
value: true
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
})();
|
|
24
|
-
var __webpack_exports__ = {};
|
|
25
|
-
__webpack_require__.r(__webpack_exports__);
|
|
26
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
CanvasSamplingFilter: ()=>CanvasSamplingFilter,
|
|
28
|
-
canvasPaddingBottom: ()=>canvasPaddingBottom,
|
|
29
|
-
createCanvasFallbackModule: ()=>createCanvasFallbackModule,
|
|
30
|
-
canvasPaddingUniform: ()=>canvasPaddingUniform,
|
|
31
|
-
CanvasImage: ()=>CanvasImage,
|
|
32
|
-
canvasPaddingTop: ()=>canvasPaddingTop,
|
|
33
|
-
canvasCrop: ()=>canvasCrop,
|
|
34
|
-
canvasResize: ()=>canvasResize,
|
|
35
|
-
canvasPaddingRight: ()=>canvasPaddingRight,
|
|
36
|
-
CanvasRgba: ()=>CanvasRgba,
|
|
37
|
-
canvasPaddingLeft: ()=>canvasPaddingLeft,
|
|
38
|
-
canvasWatermark: ()=>canvasWatermark
|
|
39
|
-
});
|
|
40
|
-
const external_logger_js_namespaceObject = require("../logger.js");
|
|
41
|
-
function _define_property(obj, key, value) {
|
|
42
|
-
if (key in obj) Object.defineProperty(obj, key, {
|
|
43
|
-
value: value,
|
|
44
|
-
enumerable: true,
|
|
45
|
-
configurable: true,
|
|
46
|
-
writable: true
|
|
47
|
-
});
|
|
48
|
-
else obj[key] = value;
|
|
49
|
-
return obj;
|
|
50
|
-
}
|
|
51
|
-
const debug = (0, external_logger_js_namespaceObject.getDebug)('img:canvas-fallback');
|
|
52
|
-
class CanvasImage {
|
|
53
|
-
get_width() {
|
|
54
|
-
return this._width;
|
|
55
|
-
}
|
|
56
|
-
get_height() {
|
|
57
|
-
return this._height;
|
|
58
|
-
}
|
|
59
|
-
get_raw_pixels() {
|
|
60
|
-
const imageData = this.ctx.getImageData(0, 0, this._width, this._height);
|
|
61
|
-
return new Uint8Array(imageData.data.buffer);
|
|
62
|
-
}
|
|
63
|
-
get_bytes_jpeg(quality) {
|
|
64
|
-
const dataUrl = this.canvas.toDataURL('image/jpeg', quality / 100);
|
|
65
|
-
const base64 = dataUrl.split(',')[1];
|
|
66
|
-
const binary = atob(base64);
|
|
67
|
-
const bytes = new Uint8Array(binary.length);
|
|
68
|
-
for(let i = 0; i < binary.length; i++)bytes[i] = binary.charCodeAt(i);
|
|
69
|
-
return bytes;
|
|
70
|
-
}
|
|
71
|
-
free() {}
|
|
72
|
-
_getCanvas() {
|
|
73
|
-
return this.canvas;
|
|
74
|
-
}
|
|
75
|
-
_getContext() {
|
|
76
|
-
return this.ctx;
|
|
77
|
-
}
|
|
78
|
-
static async new_from_base64(base64Body) {
|
|
79
|
-
return new Promise((resolve, reject)=>{
|
|
80
|
-
const img = new Image();
|
|
81
|
-
img.onload = ()=>{
|
|
82
|
-
const canvas = document.createElement('canvas');
|
|
83
|
-
canvas.width = img.width;
|
|
84
|
-
canvas.height = img.height;
|
|
85
|
-
const ctx = canvas.getContext('2d');
|
|
86
|
-
if (!ctx) return void reject(new Error('Failed to get 2d context'));
|
|
87
|
-
ctx.drawImage(img, 0, 0);
|
|
88
|
-
resolve(new CanvasImage(canvas));
|
|
89
|
-
};
|
|
90
|
-
img.onerror = ()=>{
|
|
91
|
-
reject(new Error('Failed to load image'));
|
|
92
|
-
};
|
|
93
|
-
if (base64Body.startsWith('data:')) img.src = base64Body;
|
|
94
|
-
else img.src = `data:image/png;base64,${base64Body}`;
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
static async new_from_byteslice(bytes) {
|
|
98
|
-
return new Promise((resolve, reject)=>{
|
|
99
|
-
const blob = new Blob([
|
|
100
|
-
bytes
|
|
101
|
-
], {
|
|
102
|
-
type: 'image/png'
|
|
103
|
-
});
|
|
104
|
-
const url = URL.createObjectURL(blob);
|
|
105
|
-
const img = new Image();
|
|
106
|
-
img.onload = ()=>{
|
|
107
|
-
const canvas = document.createElement('canvas');
|
|
108
|
-
canvas.width = img.width;
|
|
109
|
-
canvas.height = img.height;
|
|
110
|
-
const ctx = canvas.getContext('2d');
|
|
111
|
-
if (!ctx) {
|
|
112
|
-
URL.revokeObjectURL(url);
|
|
113
|
-
reject(new Error('Failed to get 2d context'));
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
ctx.drawImage(img, 0, 0);
|
|
117
|
-
URL.revokeObjectURL(url);
|
|
118
|
-
resolve(new CanvasImage(canvas));
|
|
119
|
-
};
|
|
120
|
-
img.onerror = ()=>{
|
|
121
|
-
URL.revokeObjectURL(url);
|
|
122
|
-
reject(new Error('Failed to load image from bytes'));
|
|
123
|
-
};
|
|
124
|
-
img.src = url;
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
constructor(canvas){
|
|
128
|
-
_define_property(this, "canvas", void 0);
|
|
129
|
-
_define_property(this, "ctx", void 0);
|
|
130
|
-
_define_property(this, "_width", void 0);
|
|
131
|
-
_define_property(this, "_height", void 0);
|
|
132
|
-
this.canvas = canvas;
|
|
133
|
-
const ctx = canvas.getContext('2d');
|
|
134
|
-
if (!ctx) throw new Error('Failed to get 2d context');
|
|
135
|
-
this.ctx = ctx;
|
|
136
|
-
this._width = canvas.width;
|
|
137
|
-
this._height = canvas.height;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
const CanvasSamplingFilter = {
|
|
141
|
-
Nearest: 'nearest',
|
|
142
|
-
Triangle: 'triangle',
|
|
143
|
-
CatmullRom: 'catmullrom',
|
|
144
|
-
Gaussian: 'gaussian',
|
|
145
|
-
Lanczos3: 'lanczos3'
|
|
146
|
-
};
|
|
147
|
-
class CanvasRgba {
|
|
148
|
-
constructor(r, g, b, a){
|
|
149
|
-
_define_property(this, "r", void 0);
|
|
150
|
-
_define_property(this, "g", void 0);
|
|
151
|
-
_define_property(this, "b", void 0);
|
|
152
|
-
_define_property(this, "a", void 0);
|
|
153
|
-
this.r = r;
|
|
154
|
-
this.g = g;
|
|
155
|
-
this.b = b;
|
|
156
|
-
this.a = a;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
function canvasResize(image, newWidth, newHeight, _filter) {
|
|
160
|
-
const canvas = document.createElement('canvas');
|
|
161
|
-
canvas.width = newWidth;
|
|
162
|
-
canvas.height = newHeight;
|
|
163
|
-
const ctx = canvas.getContext('2d');
|
|
164
|
-
if (!ctx) throw new Error('Failed to get 2d context');
|
|
165
|
-
ctx.imageSmoothingEnabled = true;
|
|
166
|
-
ctx.imageSmoothingQuality = 'high';
|
|
167
|
-
ctx.drawImage(image._getCanvas(), 0, 0, newWidth, newHeight);
|
|
168
|
-
return new CanvasImage(canvas);
|
|
169
|
-
}
|
|
170
|
-
function canvasCrop(image, x1, y1, x2, y2) {
|
|
171
|
-
const width = x2 - x1;
|
|
172
|
-
const height = y2 - y1;
|
|
173
|
-
const canvas = document.createElement('canvas');
|
|
174
|
-
canvas.width = width;
|
|
175
|
-
canvas.height = height;
|
|
176
|
-
const ctx = canvas.getContext('2d');
|
|
177
|
-
if (!ctx) throw new Error('Failed to get 2d context');
|
|
178
|
-
ctx.drawImage(image._getCanvas(), x1, y1, width, height, 0, 0, width, height);
|
|
179
|
-
return new CanvasImage(canvas);
|
|
180
|
-
}
|
|
181
|
-
function canvasPaddingRight(image, padding, color) {
|
|
182
|
-
const newWidth = image.get_width() + padding;
|
|
183
|
-
const height = image.get_height();
|
|
184
|
-
const canvas = document.createElement('canvas');
|
|
185
|
-
canvas.width = newWidth;
|
|
186
|
-
canvas.height = height;
|
|
187
|
-
const ctx = canvas.getContext('2d');
|
|
188
|
-
if (!ctx) throw new Error('Failed to get 2d context');
|
|
189
|
-
ctx.fillStyle = `rgba(${color.r}, ${color.g}, ${color.b}, ${color.a / 255})`;
|
|
190
|
-
ctx.fillRect(0, 0, newWidth, height);
|
|
191
|
-
ctx.drawImage(image._getCanvas(), 0, 0);
|
|
192
|
-
return new CanvasImage(canvas);
|
|
193
|
-
}
|
|
194
|
-
function canvasPaddingBottom(image, padding, color) {
|
|
195
|
-
const width = image.get_width();
|
|
196
|
-
const newHeight = image.get_height() + padding;
|
|
197
|
-
const canvas = document.createElement('canvas');
|
|
198
|
-
canvas.width = width;
|
|
199
|
-
canvas.height = newHeight;
|
|
200
|
-
const ctx = canvas.getContext('2d');
|
|
201
|
-
if (!ctx) throw new Error('Failed to get 2d context');
|
|
202
|
-
ctx.fillStyle = `rgba(${color.r}, ${color.g}, ${color.b}, ${color.a / 255})`;
|
|
203
|
-
ctx.fillRect(0, 0, width, newHeight);
|
|
204
|
-
ctx.drawImage(image._getCanvas(), 0, 0);
|
|
205
|
-
return new CanvasImage(canvas);
|
|
206
|
-
}
|
|
207
|
-
function canvasPaddingUniform(image, padding, color) {
|
|
208
|
-
const newWidth = image.get_width() + 2 * padding;
|
|
209
|
-
const newHeight = image.get_height() + 2 * padding;
|
|
210
|
-
const canvas = document.createElement('canvas');
|
|
211
|
-
canvas.width = newWidth;
|
|
212
|
-
canvas.height = newHeight;
|
|
213
|
-
const ctx = canvas.getContext('2d');
|
|
214
|
-
if (!ctx) throw new Error('Failed to get 2d context');
|
|
215
|
-
ctx.fillStyle = `rgba(${color.r}, ${color.g}, ${color.b}, ${color.a / 255})`;
|
|
216
|
-
ctx.fillRect(0, 0, newWidth, newHeight);
|
|
217
|
-
ctx.drawImage(image._getCanvas(), padding, padding);
|
|
218
|
-
return new CanvasImage(canvas);
|
|
219
|
-
}
|
|
220
|
-
function canvasPaddingLeft(image, padding, color) {
|
|
221
|
-
const newWidth = image.get_width() + padding;
|
|
222
|
-
const height = image.get_height();
|
|
223
|
-
const canvas = document.createElement('canvas');
|
|
224
|
-
canvas.width = newWidth;
|
|
225
|
-
canvas.height = height;
|
|
226
|
-
const ctx = canvas.getContext('2d');
|
|
227
|
-
if (!ctx) throw new Error('Failed to get 2d context');
|
|
228
|
-
ctx.fillStyle = `rgba(${color.r}, ${color.g}, ${color.b}, ${color.a / 255})`;
|
|
229
|
-
ctx.fillRect(0, 0, newWidth, height);
|
|
230
|
-
ctx.drawImage(image._getCanvas(), padding, 0);
|
|
231
|
-
return new CanvasImage(canvas);
|
|
232
|
-
}
|
|
233
|
-
function canvasPaddingTop(image, padding, color) {
|
|
234
|
-
const width = image.get_width();
|
|
235
|
-
const newHeight = image.get_height() + padding;
|
|
236
|
-
const canvas = document.createElement('canvas');
|
|
237
|
-
canvas.width = width;
|
|
238
|
-
canvas.height = newHeight;
|
|
239
|
-
const ctx = canvas.getContext('2d');
|
|
240
|
-
if (!ctx) throw new Error('Failed to get 2d context');
|
|
241
|
-
ctx.fillStyle = `rgba(${color.r}, ${color.g}, ${color.b}, ${color.a / 255})`;
|
|
242
|
-
ctx.fillRect(0, 0, width, newHeight);
|
|
243
|
-
ctx.drawImage(image._getCanvas(), 0, padding);
|
|
244
|
-
return new CanvasImage(canvas);
|
|
245
|
-
}
|
|
246
|
-
function canvasWatermark(base, overlay, x, y) {
|
|
247
|
-
const canvas = document.createElement('canvas');
|
|
248
|
-
canvas.width = base.get_width();
|
|
249
|
-
canvas.height = base.get_height();
|
|
250
|
-
const ctx = canvas.getContext('2d');
|
|
251
|
-
if (!ctx) throw new Error('Failed to get 2d context');
|
|
252
|
-
ctx.drawImage(base._getCanvas(), 0, 0);
|
|
253
|
-
ctx.drawImage(overlay._getCanvas(), x, y);
|
|
254
|
-
return new CanvasImage(canvas);
|
|
255
|
-
}
|
|
256
|
-
function createCanvasFallbackModule() {
|
|
257
|
-
debug('Creating Canvas fallback module');
|
|
258
|
-
console.log('[midscene:img] Using Canvas fallback (Photon WASM not available)');
|
|
259
|
-
return {
|
|
260
|
-
PhotonImage: CanvasImage,
|
|
261
|
-
SamplingFilter: CanvasSamplingFilter,
|
|
262
|
-
resize: canvasResize,
|
|
263
|
-
crop: canvasCrop,
|
|
264
|
-
open_image: ()=>{
|
|
265
|
-
throw new Error('open_image not supported in Canvas fallback');
|
|
266
|
-
},
|
|
267
|
-
base64_to_image: CanvasImage.new_from_base64,
|
|
268
|
-
padding_uniform: canvasPaddingUniform,
|
|
269
|
-
padding_left: canvasPaddingLeft,
|
|
270
|
-
padding_right: canvasPaddingRight,
|
|
271
|
-
padding_top: canvasPaddingTop,
|
|
272
|
-
padding_bottom: canvasPaddingBottom,
|
|
273
|
-
watermark: canvasWatermark,
|
|
274
|
-
Rgba: CanvasRgba
|
|
275
|
-
};
|
|
276
|
-
}
|
|
277
|
-
exports.CanvasImage = __webpack_exports__.CanvasImage;
|
|
278
|
-
exports.CanvasRgba = __webpack_exports__.CanvasRgba;
|
|
279
|
-
exports.CanvasSamplingFilter = __webpack_exports__.CanvasSamplingFilter;
|
|
280
|
-
exports.canvasCrop = __webpack_exports__.canvasCrop;
|
|
281
|
-
exports.canvasPaddingBottom = __webpack_exports__.canvasPaddingBottom;
|
|
282
|
-
exports.canvasPaddingLeft = __webpack_exports__.canvasPaddingLeft;
|
|
283
|
-
exports.canvasPaddingRight = __webpack_exports__.canvasPaddingRight;
|
|
284
|
-
exports.canvasPaddingTop = __webpack_exports__.canvasPaddingTop;
|
|
285
|
-
exports.canvasPaddingUniform = __webpack_exports__.canvasPaddingUniform;
|
|
286
|
-
exports.canvasResize = __webpack_exports__.canvasResize;
|
|
287
|
-
exports.canvasWatermark = __webpack_exports__.canvasWatermark;
|
|
288
|
-
exports.createCanvasFallbackModule = __webpack_exports__.createCanvasFallbackModule;
|
|
289
|
-
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
290
|
-
"CanvasImage",
|
|
291
|
-
"CanvasRgba",
|
|
292
|
-
"CanvasSamplingFilter",
|
|
293
|
-
"canvasCrop",
|
|
294
|
-
"canvasPaddingBottom",
|
|
295
|
-
"canvasPaddingLeft",
|
|
296
|
-
"canvasPaddingRight",
|
|
297
|
-
"canvasPaddingTop",
|
|
298
|
-
"canvasPaddingUniform",
|
|
299
|
-
"canvasResize",
|
|
300
|
-
"canvasWatermark",
|
|
301
|
-
"createCanvasFallbackModule"
|
|
302
|
-
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
303
|
-
Object.defineProperty(exports, '__esModule', {
|
|
304
|
-
value: true
|
|
305
|
-
});
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __webpack_require__ = {};
|
|
3
|
-
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
-
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: definition[key]
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
})();
|
|
11
|
-
(()=>{
|
|
12
|
-
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
-
})();
|
|
14
|
-
(()=>{
|
|
15
|
-
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
-
value: 'Module'
|
|
18
|
-
});
|
|
19
|
-
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
-
value: true
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
})();
|
|
24
|
-
var __webpack_exports__ = {};
|
|
25
|
-
__webpack_require__.r(__webpack_exports__);
|
|
26
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
default: ()=>getPhoton,
|
|
28
|
-
isUsingCanvasFallback: ()=>isUsingCanvasFallback
|
|
29
|
-
});
|
|
30
|
-
const external_logger_js_namespaceObject = require("../logger.js");
|
|
31
|
-
const external_utils_js_namespaceObject = require("../utils.js");
|
|
32
|
-
const debug = (0, external_logger_js_namespaceObject.getDebug)('img');
|
|
33
|
-
let photonModule = null;
|
|
34
|
-
let isInitialized = false;
|
|
35
|
-
let usingCanvasFallback = false;
|
|
36
|
-
async function getPhoton() {
|
|
37
|
-
if (photonModule && isInitialized) return photonModule;
|
|
38
|
-
const env = external_utils_js_namespaceObject.ifInBrowser ? 'browser' : external_utils_js_namespaceObject.ifInWorker ? 'worker' : external_utils_js_namespaceObject.ifInNode ? 'node' : 'unknown';
|
|
39
|
-
debug(`Loading photon module in ${env} environment`);
|
|
40
|
-
try {
|
|
41
|
-
if (external_utils_js_namespaceObject.ifInBrowser || external_utils_js_namespaceObject.ifInWorker) {
|
|
42
|
-
const photon = await import("@silvia-odwyer/photon");
|
|
43
|
-
if ('function' == typeof photon.default) await photon.default();
|
|
44
|
-
debug('Photon loaded: @silvia-odwyer/photon (browser/worker)');
|
|
45
|
-
photonModule = photon;
|
|
46
|
-
} else if (external_utils_js_namespaceObject.ifInNode) {
|
|
47
|
-
photonModule = await import("@silvia-odwyer/photon-node");
|
|
48
|
-
debug('Photon loaded: @silvia-odwyer/photon-node (node)');
|
|
49
|
-
}
|
|
50
|
-
if (!photonModule?.PhotonImage) throw new Error('PhotonImage is not available');
|
|
51
|
-
if (!photonModule.PhotonImage.new_from_byteslice && !photonModule.PhotonImage.new_from_base64) throw new Error('PhotonImage.new_from_byteslice or new_from_base64 is not available');
|
|
52
|
-
isInitialized = true;
|
|
53
|
-
return photonModule;
|
|
54
|
-
} catch (error) {
|
|
55
|
-
debug(`Photon load failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
56
|
-
if (external_utils_js_namespaceObject.ifInBrowser) {
|
|
57
|
-
console.warn(`[midscene:img] Photon WASM failed to load, falling back to Canvas API. Error: ${error instanceof Error ? error.message : String(error)}`);
|
|
58
|
-
try {
|
|
59
|
-
const { createCanvasFallbackModule } = await import("./canvas-fallback.js");
|
|
60
|
-
photonModule = createCanvasFallbackModule();
|
|
61
|
-
usingCanvasFallback = true;
|
|
62
|
-
isInitialized = true;
|
|
63
|
-
return photonModule;
|
|
64
|
-
} catch (fallbackError) {
|
|
65
|
-
debug(`Canvas fallback also failed: ${fallbackError instanceof Error ? fallbackError.message : String(fallbackError)}`);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
throw new Error(`Failed to load photon module: ${error instanceof Error ? error.message : String(error)}`);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
function isUsingCanvasFallback() {
|
|
72
|
-
return usingCanvasFallback;
|
|
73
|
-
}
|
|
74
|
-
exports["default"] = __webpack_exports__["default"];
|
|
75
|
-
exports.isUsingCanvasFallback = __webpack_exports__.isUsingCanvasFallback;
|
|
76
|
-
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
77
|
-
"default",
|
|
78
|
-
"isUsingCanvasFallback"
|
|
79
|
-
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
80
|
-
Object.defineProperty(exports, '__esModule', {
|
|
81
|
-
value: true
|
|
82
|
-
});
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __webpack_require__ = {};
|
|
3
|
-
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
-
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: definition[key]
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
})();
|
|
11
|
-
(()=>{
|
|
12
|
-
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
-
})();
|
|
14
|
-
(()=>{
|
|
15
|
-
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
-
value: 'Module'
|
|
18
|
-
});
|
|
19
|
-
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
-
value: true
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
})();
|
|
24
|
-
var __webpack_exports__ = {};
|
|
25
|
-
__webpack_require__.r(__webpack_exports__);
|
|
26
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
default: ()=>getSharp
|
|
28
|
-
});
|
|
29
|
-
const external_utils_js_namespaceObject = require("../utils.js");
|
|
30
|
-
async function getSharp() {
|
|
31
|
-
if (!external_utils_js_namespaceObject.ifInNode) throw new Error('Sharp is only available in Node.js environment');
|
|
32
|
-
try {
|
|
33
|
-
const sharp = await import("sharp");
|
|
34
|
-
return sharp.default;
|
|
35
|
-
} catch (error) {
|
|
36
|
-
throw new Error(`Failed to load sharp module: ${error instanceof Error ? error.message : String(error)}`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
exports["default"] = __webpack_exports__["default"];
|
|
40
|
-
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
41
|
-
"default"
|
|
42
|
-
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
43
|
-
Object.defineProperty(exports, '__esModule', {
|
|
44
|
-
value: true
|
|
45
|
-
});
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __webpack_require__ = {};
|
|
3
|
-
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
-
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: definition[key]
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
})();
|
|
11
|
-
(()=>{
|
|
12
|
-
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
-
})();
|
|
14
|
-
(()=>{
|
|
15
|
-
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
-
value: 'Module'
|
|
18
|
-
});
|
|
19
|
-
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
-
value: true
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
})();
|
|
24
|
-
var __webpack_exports__ = {};
|
|
25
|
-
__webpack_require__.r(__webpack_exports__);
|
|
26
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
paddingToMatchBlockByBase64: ()=>external_transform_js_namespaceObject.paddingToMatchBlockByBase64,
|
|
28
|
-
localImg2Base64: ()=>external_transform_js_namespaceObject.localImg2Base64,
|
|
29
|
-
parseBase64: ()=>external_transform_js_namespaceObject.parseBase64,
|
|
30
|
-
resizeAndConvertImgBuffer: ()=>external_transform_js_namespaceObject.resizeAndConvertImgBuffer,
|
|
31
|
-
resizeImgBase64: ()=>external_transform_js_namespaceObject.resizeImgBase64,
|
|
32
|
-
saveBase64Image: ()=>external_transform_js_namespaceObject.saveBase64Image,
|
|
33
|
-
convertToJpegBase64: ()=>external_transform_js_namespaceObject.convertToJpegBase64,
|
|
34
|
-
isValidImageBuffer: ()=>external_info_js_namespaceObject.isValidImageBuffer,
|
|
35
|
-
preProcessImageUrl: ()=>external_transform_js_namespaceObject.preProcessImageUrl,
|
|
36
|
-
annotateRects: ()=>external_box_select_js_namespaceObject.annotateRects,
|
|
37
|
-
compositeElementInfoImg: ()=>external_box_select_js_namespaceObject.compositeElementInfoImg,
|
|
38
|
-
isValidPNGImageBuffer: ()=>external_info_js_namespaceObject.isValidPNGImageBuffer,
|
|
39
|
-
cropByRect: ()=>external_transform_js_namespaceObject.cropByRect,
|
|
40
|
-
processImageElementInfo: ()=>external_box_select_js_namespaceObject.processImageElementInfo,
|
|
41
|
-
scaleImage: ()=>external_transform_js_namespaceObject.scaleImage,
|
|
42
|
-
isValidJPEGImageBuffer: ()=>external_info_js_namespaceObject.isValidJPEGImageBuffer,
|
|
43
|
-
zoomForGPT4o: ()=>external_transform_js_namespaceObject.zoomForGPT4o,
|
|
44
|
-
createImgBase64ByFormat: ()=>external_transform_js_namespaceObject.createImgBase64ByFormat,
|
|
45
|
-
imageInfoOfBase64: ()=>external_info_js_namespaceObject.imageInfoOfBase64,
|
|
46
|
-
httpImg2Base64: ()=>external_transform_js_namespaceObject.httpImg2Base64
|
|
47
|
-
});
|
|
48
|
-
const external_info_js_namespaceObject = require("./info.js");
|
|
49
|
-
const external_transform_js_namespaceObject = require("./transform.js");
|
|
50
|
-
const external_box_select_js_namespaceObject = require("./box-select.js");
|
|
51
|
-
exports.annotateRects = __webpack_exports__.annotateRects;
|
|
52
|
-
exports.compositeElementInfoImg = __webpack_exports__.compositeElementInfoImg;
|
|
53
|
-
exports.convertToJpegBase64 = __webpack_exports__.convertToJpegBase64;
|
|
54
|
-
exports.createImgBase64ByFormat = __webpack_exports__.createImgBase64ByFormat;
|
|
55
|
-
exports.cropByRect = __webpack_exports__.cropByRect;
|
|
56
|
-
exports.httpImg2Base64 = __webpack_exports__.httpImg2Base64;
|
|
57
|
-
exports.imageInfoOfBase64 = __webpack_exports__.imageInfoOfBase64;
|
|
58
|
-
exports.isValidImageBuffer = __webpack_exports__.isValidImageBuffer;
|
|
59
|
-
exports.isValidJPEGImageBuffer = __webpack_exports__.isValidJPEGImageBuffer;
|
|
60
|
-
exports.isValidPNGImageBuffer = __webpack_exports__.isValidPNGImageBuffer;
|
|
61
|
-
exports.localImg2Base64 = __webpack_exports__.localImg2Base64;
|
|
62
|
-
exports.paddingToMatchBlockByBase64 = __webpack_exports__.paddingToMatchBlockByBase64;
|
|
63
|
-
exports.parseBase64 = __webpack_exports__.parseBase64;
|
|
64
|
-
exports.preProcessImageUrl = __webpack_exports__.preProcessImageUrl;
|
|
65
|
-
exports.processImageElementInfo = __webpack_exports__.processImageElementInfo;
|
|
66
|
-
exports.resizeAndConvertImgBuffer = __webpack_exports__.resizeAndConvertImgBuffer;
|
|
67
|
-
exports.resizeImgBase64 = __webpack_exports__.resizeImgBase64;
|
|
68
|
-
exports.saveBase64Image = __webpack_exports__.saveBase64Image;
|
|
69
|
-
exports.scaleImage = __webpack_exports__.scaleImage;
|
|
70
|
-
exports.zoomForGPT4o = __webpack_exports__.zoomForGPT4o;
|
|
71
|
-
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
72
|
-
"annotateRects",
|
|
73
|
-
"compositeElementInfoImg",
|
|
74
|
-
"convertToJpegBase64",
|
|
75
|
-
"createImgBase64ByFormat",
|
|
76
|
-
"cropByRect",
|
|
77
|
-
"httpImg2Base64",
|
|
78
|
-
"imageInfoOfBase64",
|
|
79
|
-
"isValidImageBuffer",
|
|
80
|
-
"isValidJPEGImageBuffer",
|
|
81
|
-
"isValidPNGImageBuffer",
|
|
82
|
-
"localImg2Base64",
|
|
83
|
-
"paddingToMatchBlockByBase64",
|
|
84
|
-
"parseBase64",
|
|
85
|
-
"preProcessImageUrl",
|
|
86
|
-
"processImageElementInfo",
|
|
87
|
-
"resizeAndConvertImgBuffer",
|
|
88
|
-
"resizeImgBase64",
|
|
89
|
-
"saveBase64Image",
|
|
90
|
-
"scaleImage",
|
|
91
|
-
"zoomForGPT4o"
|
|
92
|
-
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
93
|
-
Object.defineProperty(exports, '__esModule', {
|
|
94
|
-
value: true
|
|
95
|
-
});
|
package/dist/lib/img/info.js.bak
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __webpack_require__ = {};
|
|
3
|
-
(()=>{
|
|
4
|
-
__webpack_require__.n = (module)=>{
|
|
5
|
-
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
-
__webpack_require__.d(getter, {
|
|
7
|
-
a: getter
|
|
8
|
-
});
|
|
9
|
-
return getter;
|
|
10
|
-
};
|
|
11
|
-
})();
|
|
12
|
-
(()=>{
|
|
13
|
-
__webpack_require__.d = (exports1, definition)=>{
|
|
14
|
-
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: definition[key]
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
})();
|
|
20
|
-
(()=>{
|
|
21
|
-
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
22
|
-
})();
|
|
23
|
-
(()=>{
|
|
24
|
-
__webpack_require__.r = (exports1)=>{
|
|
25
|
-
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
26
|
-
value: 'Module'
|
|
27
|
-
});
|
|
28
|
-
Object.defineProperty(exports1, '__esModule', {
|
|
29
|
-
value: true
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
})();
|
|
33
|
-
var __webpack_exports__ = {};
|
|
34
|
-
__webpack_require__.r(__webpack_exports__);
|
|
35
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
36
|
-
isValidPNGImageBuffer: ()=>isValidPNGImageBuffer,
|
|
37
|
-
isValidImageBuffer: ()=>isValidImageBuffer,
|
|
38
|
-
imageInfoOfBase64: ()=>imageInfoOfBase64,
|
|
39
|
-
isValidJPEGImageBuffer: ()=>isValidJPEGImageBuffer
|
|
40
|
-
});
|
|
41
|
-
const external_node_assert_namespaceObject = require("node:assert");
|
|
42
|
-
var external_node_assert_default = /*#__PURE__*/ __webpack_require__.n(external_node_assert_namespaceObject);
|
|
43
|
-
const external_get_photon_js_namespaceObject = require("./get-photon.js");
|
|
44
|
-
var external_get_photon_js_default = /*#__PURE__*/ __webpack_require__.n(external_get_photon_js_namespaceObject);
|
|
45
|
-
async function imageInfoOfBase64(imageBase64) {
|
|
46
|
-
const { PhotonImage } = await external_get_photon_js_default()();
|
|
47
|
-
const base64Data = imageBase64.replace(/^data:image\/\w+;base64,/, '');
|
|
48
|
-
const result = PhotonImage.new_from_base64(base64Data);
|
|
49
|
-
const image = result instanceof Promise ? await result : result;
|
|
50
|
-
const width = image.get_width();
|
|
51
|
-
const height = image.get_height();
|
|
52
|
-
image.free();
|
|
53
|
-
external_node_assert_default()(width && height, 'Invalid image: cannot get width or height');
|
|
54
|
-
return {
|
|
55
|
-
width,
|
|
56
|
-
height
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
function isValidPNGImageBuffer(buffer) {
|
|
60
|
-
if (!buffer || buffer.length < 8) return false;
|
|
61
|
-
const isPNG = 0x89 === buffer[0] && 0x50 === buffer[1] && 0x4e === buffer[2] && 0x47 === buffer[3] && 0x0d === buffer[4] && 0x0a === buffer[5] && 0x1a === buffer[6] && 0x0a === buffer[7];
|
|
62
|
-
return isPNG;
|
|
63
|
-
}
|
|
64
|
-
function isValidJPEGImageBuffer(buffer) {
|
|
65
|
-
if (!buffer || buffer.length < 3) return false;
|
|
66
|
-
return 0xff === buffer[0] && 0xd8 === buffer[1] && 0xff === buffer[2];
|
|
67
|
-
}
|
|
68
|
-
function isValidImageBuffer(buffer) {
|
|
69
|
-
return isValidPNGImageBuffer(buffer) || isValidJPEGImageBuffer(buffer);
|
|
70
|
-
}
|
|
71
|
-
exports.imageInfoOfBase64 = __webpack_exports__.imageInfoOfBase64;
|
|
72
|
-
exports.isValidImageBuffer = __webpack_exports__.isValidImageBuffer;
|
|
73
|
-
exports.isValidJPEGImageBuffer = __webpack_exports__.isValidJPEGImageBuffer;
|
|
74
|
-
exports.isValidPNGImageBuffer = __webpack_exports__.isValidPNGImageBuffer;
|
|
75
|
-
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
76
|
-
"imageInfoOfBase64",
|
|
77
|
-
"isValidImageBuffer",
|
|
78
|
-
"isValidJPEGImageBuffer",
|
|
79
|
-
"isValidPNGImageBuffer"
|
|
80
|
-
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
81
|
-
Object.defineProperty(exports, '__esModule', {
|
|
82
|
-
value: true
|
|
83
|
-
});
|