@midscene/shared 1.3.11-beta-20260211054343.0 → 1.3.11

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.
@@ -1,4 +1,4 @@
1
- import { imageInfoOfBase64, isValidPNGImageBuffer } from "./info.mjs";
1
+ import { imageInfoOfBase64, isValidImageBuffer, isValidJPEGImageBuffer, isValidPNGImageBuffer } from "./info.mjs";
2
2
  import { createImgBase64ByFormat, cropByRect, httpImg2Base64, localImg2Base64, paddingToMatchBlockByBase64, parseBase64, preProcessImageUrl, resizeAndConvertImgBuffer, resizeImgBase64, saveBase64Image, scaleImage, zoomForGPT4o } from "./transform.mjs";
3
3
  import { annotateRects, compositeElementInfoImg, processImageElementInfo } from "./box-select.mjs";
4
- export { annotateRects, compositeElementInfoImg, createImgBase64ByFormat, cropByRect, httpImg2Base64, imageInfoOfBase64, isValidPNGImageBuffer, localImg2Base64, paddingToMatchBlockByBase64, parseBase64, preProcessImageUrl, processImageElementInfo, resizeAndConvertImgBuffer, resizeImgBase64, saveBase64Image, scaleImage, zoomForGPT4o };
4
+ export { annotateRects, compositeElementInfoImg, createImgBase64ByFormat, cropByRect, httpImg2Base64, imageInfoOfBase64, isValidImageBuffer, isValidJPEGImageBuffer, isValidPNGImageBuffer, localImg2Base64, paddingToMatchBlockByBase64, parseBase64, preProcessImageUrl, processImageElementInfo, resizeAndConvertImgBuffer, resizeImgBase64, saveBase64Image, scaleImage, zoomForGPT4o };
@@ -19,4 +19,11 @@ function isValidPNGImageBuffer(buffer) {
19
19
  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];
20
20
  return isPNG;
21
21
  }
22
- export { imageInfoOfBase64, isValidPNGImageBuffer };
22
+ function isValidJPEGImageBuffer(buffer) {
23
+ if (!buffer || buffer.length < 3) return false;
24
+ return 0xff === buffer[0] && 0xd8 === buffer[1] && 0xff === buffer[2];
25
+ }
26
+ function isValidImageBuffer(buffer) {
27
+ return isValidPNGImageBuffer(buffer) || isValidJPEGImageBuffer(buffer);
28
+ }
29
+ export { imageInfoOfBase64, isValidImageBuffer, isValidJPEGImageBuffer, isValidPNGImageBuffer };
@@ -30,6 +30,7 @@ __webpack_require__.d(__webpack_exports__, {
30
30
  resizeAndConvertImgBuffer: ()=>external_transform_js_namespaceObject.resizeAndConvertImgBuffer,
31
31
  resizeImgBase64: ()=>external_transform_js_namespaceObject.resizeImgBase64,
32
32
  saveBase64Image: ()=>external_transform_js_namespaceObject.saveBase64Image,
33
+ isValidImageBuffer: ()=>external_info_js_namespaceObject.isValidImageBuffer,
33
34
  preProcessImageUrl: ()=>external_transform_js_namespaceObject.preProcessImageUrl,
34
35
  annotateRects: ()=>external_box_select_js_namespaceObject.annotateRects,
35
36
  compositeElementInfoImg: ()=>external_box_select_js_namespaceObject.compositeElementInfoImg,
@@ -37,6 +38,7 @@ __webpack_require__.d(__webpack_exports__, {
37
38
  processImageElementInfo: ()=>external_box_select_js_namespaceObject.processImageElementInfo,
38
39
  cropByRect: ()=>external_transform_js_namespaceObject.cropByRect,
39
40
  scaleImage: ()=>external_transform_js_namespaceObject.scaleImage,
41
+ isValidJPEGImageBuffer: ()=>external_info_js_namespaceObject.isValidJPEGImageBuffer,
40
42
  zoomForGPT4o: ()=>external_transform_js_namespaceObject.zoomForGPT4o,
41
43
  createImgBase64ByFormat: ()=>external_transform_js_namespaceObject.createImgBase64ByFormat,
42
44
  imageInfoOfBase64: ()=>external_info_js_namespaceObject.imageInfoOfBase64,
@@ -51,6 +53,8 @@ exports.createImgBase64ByFormat = __webpack_exports__.createImgBase64ByFormat;
51
53
  exports.cropByRect = __webpack_exports__.cropByRect;
52
54
  exports.httpImg2Base64 = __webpack_exports__.httpImg2Base64;
53
55
  exports.imageInfoOfBase64 = __webpack_exports__.imageInfoOfBase64;
56
+ exports.isValidImageBuffer = __webpack_exports__.isValidImageBuffer;
57
+ exports.isValidJPEGImageBuffer = __webpack_exports__.isValidJPEGImageBuffer;
54
58
  exports.isValidPNGImageBuffer = __webpack_exports__.isValidPNGImageBuffer;
55
59
  exports.localImg2Base64 = __webpack_exports__.localImg2Base64;
56
60
  exports.paddingToMatchBlockByBase64 = __webpack_exports__.paddingToMatchBlockByBase64;
@@ -69,6 +73,8 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
69
73
  "cropByRect",
70
74
  "httpImg2Base64",
71
75
  "imageInfoOfBase64",
76
+ "isValidImageBuffer",
77
+ "isValidJPEGImageBuffer",
72
78
  "isValidPNGImageBuffer",
73
79
  "localImg2Base64",
74
80
  "paddingToMatchBlockByBase64",
@@ -34,7 +34,9 @@ var __webpack_exports__ = {};
34
34
  __webpack_require__.r(__webpack_exports__);
35
35
  __webpack_require__.d(__webpack_exports__, {
36
36
  isValidPNGImageBuffer: ()=>isValidPNGImageBuffer,
37
- imageInfoOfBase64: ()=>imageInfoOfBase64
37
+ isValidImageBuffer: ()=>isValidImageBuffer,
38
+ imageInfoOfBase64: ()=>imageInfoOfBase64,
39
+ isValidJPEGImageBuffer: ()=>isValidJPEGImageBuffer
38
40
  });
39
41
  const external_node_assert_namespaceObject = require("node:assert");
40
42
  var external_node_assert_default = /*#__PURE__*/ __webpack_require__.n(external_node_assert_namespaceObject);
@@ -59,10 +61,21 @@ function isValidPNGImageBuffer(buffer) {
59
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];
60
62
  return isPNG;
61
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
+ }
62
71
  exports.imageInfoOfBase64 = __webpack_exports__.imageInfoOfBase64;
72
+ exports.isValidImageBuffer = __webpack_exports__.isValidImageBuffer;
73
+ exports.isValidJPEGImageBuffer = __webpack_exports__.isValidJPEGImageBuffer;
63
74
  exports.isValidPNGImageBuffer = __webpack_exports__.isValidPNGImageBuffer;
64
75
  for(var __rspack_i in __webpack_exports__)if (-1 === [
65
76
  "imageInfoOfBase64",
77
+ "isValidImageBuffer",
78
+ "isValidJPEGImageBuffer",
66
79
  "isValidPNGImageBuffer"
67
80
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
68
81
  Object.defineProperty(exports, '__esModule', {
@@ -1,3 +1,3 @@
1
- export { imageInfoOfBase64, isValidPNGImageBuffer } from './info';
1
+ export { imageInfoOfBase64, isValidPNGImageBuffer, isValidJPEGImageBuffer, isValidImageBuffer, } from './info';
2
2
  export { resizeAndConvertImgBuffer, resizeImgBase64, zoomForGPT4o, saveBase64Image, paddingToMatchBlockByBase64, cropByRect, scaleImage, localImg2Base64, httpImg2Base64, preProcessImageUrl, parseBase64, createImgBase64ByFormat, } from './transform';
3
3
  export { processImageElementInfo, compositeElementInfoImg, annotateRects, } from './box-select';
@@ -15,3 +15,15 @@ export declare function imageInfoOfBase64(imageBase64: string): Promise<ImageInf
15
15
  * @returns true if the Buffer is a valid PNG image, otherwise false
16
16
  */
17
17
  export declare function isValidPNGImageBuffer(buffer: Buffer): boolean;
18
+ /**
19
+ * Check if the Buffer is a valid JPEG image
20
+ * @param buffer The Buffer to check
21
+ * @returns true if the Buffer is a valid JPEG image, otherwise false
22
+ */
23
+ export declare function isValidJPEGImageBuffer(buffer: Buffer): boolean;
24
+ /**
25
+ * Check if the Buffer is a valid image (PNG or JPEG)
26
+ * @param buffer The Buffer to check
27
+ * @returns true if the Buffer is a valid PNG or JPEG image, otherwise false
28
+ */
29
+ export declare function isValidImageBuffer(buffer: Buffer): boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@midscene/shared",
3
- "version": "1.3.11-beta-20260211054343.0",
3
+ "version": "1.3.11",
4
4
  "repository": "https://github.com/web-infra-dev/midscene",
5
5
  "homepage": "https://midscenejs.com/",
6
6
  "types": "./dist/types/index.d.ts",
package/src/img/index.ts CHANGED
@@ -1,4 +1,9 @@
1
- export { imageInfoOfBase64, isValidPNGImageBuffer } from './info';
1
+ export {
2
+ imageInfoOfBase64,
3
+ isValidPNGImageBuffer,
4
+ isValidJPEGImageBuffer,
5
+ isValidImageBuffer,
6
+ } from './info';
2
7
  export {
3
8
  resizeAndConvertImgBuffer,
4
9
  resizeImgBase64,
package/src/img/info.ts CHANGED
@@ -50,3 +50,26 @@ export function isValidPNGImageBuffer(buffer: Buffer): boolean {
50
50
 
51
51
  return isPNG;
52
52
  }
53
+
54
+ /**
55
+ * Check if the Buffer is a valid JPEG image
56
+ * @param buffer The Buffer to check
57
+ * @returns true if the Buffer is a valid JPEG image, otherwise false
58
+ */
59
+ export function isValidJPEGImageBuffer(buffer: Buffer): boolean {
60
+ if (!buffer || buffer.length < 3) {
61
+ return false;
62
+ }
63
+
64
+ // Check JPEG signature (3 bytes): FF D8 FF
65
+ return buffer[0] === 0xff && buffer[1] === 0xd8 && buffer[2] === 0xff;
66
+ }
67
+
68
+ /**
69
+ * Check if the Buffer is a valid image (PNG or JPEG)
70
+ * @param buffer The Buffer to check
71
+ * @returns true if the Buffer is a valid PNG or JPEG image, otherwise false
72
+ */
73
+ export function isValidImageBuffer(buffer: Buffer): boolean {
74
+ return isValidPNGImageBuffer(buffer) || isValidJPEGImageBuffer(buffer);
75
+ }