@appium/support 3.1.10 → 4.0.0
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/build/lib/fs.d.ts +14 -3
- package/build/lib/fs.d.ts.map +1 -1
- package/build/lib/fs.js +13 -6
- package/build/lib/fs.js.map +1 -1
- package/build/lib/image-util.d.ts +5 -50
- package/build/lib/image-util.d.ts.map +1 -1
- package/build/lib/image-util.js +7 -146
- package/build/lib/image-util.js.map +1 -1
- package/build/lib/mjpeg.d.ts.map +1 -1
- package/build/lib/mjpeg.js +2 -3
- package/build/lib/mjpeg.js.map +1 -1
- package/build/lib/net.js +1 -1
- package/build/lib/net.js.map +1 -1
- package/lib/fs.js +14 -8
- package/lib/image-util.js +7 -171
- package/lib/mjpeg.js +2 -3
- package/lib/net.js +1 -1
- package/package.json +8 -12
package/build/lib/fs.d.ts
CHANGED
|
@@ -37,8 +37,20 @@ export namespace fs {
|
|
|
37
37
|
* @param {PathLike} path
|
|
38
38
|
*/
|
|
39
39
|
export function exists(path: import("fs").PathLike): Promise<boolean>;
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Remove a directory and all its contents, recursively
|
|
42
|
+
* @param {PathLike} filepath
|
|
43
|
+
* @returns Promise<void>
|
|
44
|
+
* @see https://nodejs.org/api/fs.html#fspromisesrmpath-options
|
|
45
|
+
*/
|
|
46
|
+
export function rimraf(filepath: import("fs").PathLike): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Remove a directory and all its contents, recursively in sync
|
|
49
|
+
* @param {PathLike} filepath
|
|
50
|
+
* @returns undefined
|
|
51
|
+
* @see https://nodejs.org/api/fs.html#fsrmsyncpath-options
|
|
52
|
+
*/
|
|
53
|
+
export function rimrafSync(filepath: import("fs").PathLike): void;
|
|
42
54
|
/**
|
|
43
55
|
* Like Node.js' `fsPromises.mkdir()`, but will _not_ reject if the directory already exists.
|
|
44
56
|
*
|
|
@@ -148,7 +160,6 @@ export namespace fs {
|
|
|
148
160
|
import glob from "glob";
|
|
149
161
|
import mv from "mv";
|
|
150
162
|
import B from "bluebird";
|
|
151
|
-
import rimrafIdx from "rimraf";
|
|
152
163
|
import ncp from "ncp";
|
|
153
164
|
import which from "which";
|
|
154
165
|
import sanitize from "sanitize-filename";
|
package/build/lib/fs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../lib/fs.js"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../lib/fs.js"],"names":[],"mappings":";;;;;yCAyYW,MAAM,eACN,OAAO,KACN,OAAO,GAAC,IAAI;;;uBAMX,OAAO,IAAI,EAAE,QAAQ;kEAMvB,MAAM,UACN,OAAO,GAAC,OAAO,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,qGAIjD,EAAE;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAC,CAAC;;IAvXlD;;;;;;;;OAQG;IACH,yEAOC;IAED;;;;;;;;OAQG;IACH,4EAUC;IAED;;;OAGG;IACH,sEAEC;IAED;;;;;OAKG;IACH,uEAEC;IAED;;;;;OAKG;IACH,kEAEC;IAED;;;;;;;OAOG;IACH,0IAQC;IACD;;;;;;;OAOG;IACH,6GAKC;IAED;;;;OAIG;IACH,sEAEC;IAKc,uFAAwD;;;IAYtD,uFAAsD;;;IAQvE;;;;;OAKG;IACH,uGAcC;IAED;;;;;;;OAOG;IACH,gFAEC;IAED;;;;OAIG;IACH,gFAEC;IAED;;;;;;;OAOG;IAEH,4GAwEC;IACD;;;;;;OAMG;IACH,oHAUC;IACD;;;;;;OAMG;IACH,8CASC;;;;;;;;;;;;IA+EA;;;OAOF"}
|
package/build/lib/fs.js
CHANGED
|
@@ -16,7 +16,6 @@ const ncp_1 = __importDefault(require("ncp"));
|
|
|
16
16
|
const path_1 = __importDefault(require("path"));
|
|
17
17
|
const pkg_dir_1 = __importDefault(require("pkg-dir"));
|
|
18
18
|
const read_pkg_1 = __importDefault(require("read-pkg"));
|
|
19
|
-
const rimraf_1 = __importDefault(require("rimraf"));
|
|
20
19
|
const sanitize_filename_1 = __importDefault(require("sanitize-filename"));
|
|
21
20
|
const which_1 = __importDefault(require("which"));
|
|
22
21
|
const logger_1 = __importDefault(require("./logger"));
|
|
@@ -75,14 +74,22 @@ const fs = {
|
|
|
75
74
|
},
|
|
76
75
|
/**
|
|
77
76
|
* Remove a directory and all its contents, recursively
|
|
78
|
-
* @
|
|
77
|
+
* @param {PathLike} filepath
|
|
78
|
+
* @returns Promise<void>
|
|
79
|
+
* @see https://nodejs.org/api/fs.html#fspromisesrmpath-options
|
|
79
80
|
*/
|
|
80
|
-
rimraf
|
|
81
|
+
async rimraf(filepath) {
|
|
82
|
+
return await fs_1.promises.rm(filepath, { recursive: true, force: true });
|
|
83
|
+
},
|
|
81
84
|
/**
|
|
82
|
-
*
|
|
83
|
-
* @
|
|
85
|
+
* Remove a directory and all its contents, recursively in sync
|
|
86
|
+
* @param {PathLike} filepath
|
|
87
|
+
* @returns undefined
|
|
88
|
+
* @see https://nodejs.org/api/fs.html#fsrmsyncpath-options
|
|
84
89
|
*/
|
|
85
|
-
rimrafSync
|
|
90
|
+
rimrafSync(filepath) {
|
|
91
|
+
return (0, fs_1.rmSync)(filepath, { recursive: true, force: true });
|
|
92
|
+
},
|
|
86
93
|
/**
|
|
87
94
|
* Like Node.js' `fsPromises.mkdir()`, but will _not_ reject if the directory already exists.
|
|
88
95
|
*
|
package/build/lib/fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../lib/fs.js"],"names":[],"mappings":";AAAA,YAAY;;;;;;AAEZ,wDAAyB;AACzB,oDAA4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../lib/fs.js"],"names":[],"mappings":"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"}
|
|
@@ -1,56 +1,11 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
export type AppiumJimp = Omit<Jimp, 'getBuffer'> & {
|
|
3
|
-
getBuffer: Jimp['getBufferAsync'];
|
|
4
|
-
};
|
|
5
|
-
export type Region = {
|
|
6
|
-
left: number;
|
|
7
|
-
top: number;
|
|
8
|
-
width: number;
|
|
9
|
-
height: number;
|
|
10
|
-
};
|
|
11
1
|
/**
|
|
12
2
|
* Crop the image by given rectangle (use base64 string as input and output)
|
|
13
3
|
*
|
|
14
|
-
* @param {string} base64Image The string with base64 encoded image
|
|
15
|
-
*
|
|
4
|
+
* @param {string} base64Image The string with base64 encoded image.
|
|
5
|
+
* Supports all image formats natively supported by Sharp library.
|
|
6
|
+
* @param {sharp.Region} rect The selected region of image
|
|
16
7
|
* @return {Promise<string>} base64 encoded string of cropped image
|
|
17
8
|
*/
|
|
18
|
-
export function cropBase64Image(base64Image: string, rect: Region): Promise<string>;
|
|
19
|
-
|
|
20
|
-
* Create a pngjs image from given base64 image
|
|
21
|
-
*
|
|
22
|
-
* @param {string} base64Image The string with base64 encoded image
|
|
23
|
-
* @return {Promise<PNG>} The image object
|
|
24
|
-
*/
|
|
25
|
-
export function base64ToImage(base64Image: string): Promise<PNG>;
|
|
26
|
-
/**
|
|
27
|
-
* Create a base64 string for given image object
|
|
28
|
-
*
|
|
29
|
-
* @param {PNG} image The image object
|
|
30
|
-
* @return {Promise<string>} The string with base64 encoded image
|
|
31
|
-
*/
|
|
32
|
-
export function imageToBase64(image: PNG): Promise<string>;
|
|
33
|
-
/**
|
|
34
|
-
* Crop the image by given rectangle
|
|
35
|
-
*
|
|
36
|
-
* @param {PNG} image The image to mutate by cropping
|
|
37
|
-
* @param {Region} rect The selected region of image
|
|
38
|
-
*/
|
|
39
|
-
export function cropImage(image: PNG, rect: Region): PNG;
|
|
40
|
-
/**
|
|
41
|
-
* Utility function to get a Jimp image object from buffer or base64 data. Jimp
|
|
42
|
-
* is a great library however it does IO in the constructor so it's not
|
|
43
|
-
* convenient for our async/await model.
|
|
44
|
-
*
|
|
45
|
-
* @param {Buffer|string} data - binary image buffer or base64-encoded image
|
|
46
|
-
* string
|
|
47
|
-
* @returns {Promise<AppiumJimp>} - the jimp image object
|
|
48
|
-
*/
|
|
49
|
-
export function getJimpImage(data: Buffer | string): Promise<AppiumJimp>;
|
|
50
|
-
export const MIME_JPEG: "image/jpeg";
|
|
51
|
-
export const MIME_PNG: "image/png";
|
|
52
|
-
export const MIME_BMP: "image/bmp";
|
|
53
|
-
import Jimp from "jimp";
|
|
54
|
-
import { PNG } from "pngjs";
|
|
55
|
-
import { Buffer } from "buffer";
|
|
9
|
+
export function cropBase64Image(base64Image: string, rect: sharp.Region): Promise<string>;
|
|
10
|
+
import sharp from "sharp";
|
|
56
11
|
//# sourceMappingURL=image-util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-util.d.ts","sourceRoot":"","sources":["../../lib/image-util.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"image-util.d.ts","sourceRoot":"","sources":["../../lib/image-util.js"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,6CALW,MAAM,QAEN,MAAM,MAAM,GACX,QAAQ,MAAM,CAAC,CAK1B"}
|
package/build/lib/image-util.js
CHANGED
|
@@ -3,158 +3,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
const
|
|
8
|
-
const jimp_1 = __importDefault(require("jimp"));
|
|
9
|
-
const buffer_1 = require("buffer");
|
|
10
|
-
const pngjs_1 = require("pngjs");
|
|
11
|
-
const bluebird_1 = __importDefault(require("bluebird"));
|
|
12
|
-
const BYTES_IN_PIXEL_BLOCK = 4;
|
|
13
|
-
const SCANLINE_FILTER_METHOD = 4;
|
|
14
|
-
const { MIME_JPEG, MIME_PNG, MIME_BMP } = jimp_1.default;
|
|
15
|
-
exports.MIME_JPEG = MIME_JPEG;
|
|
16
|
-
exports.MIME_PNG = MIME_PNG;
|
|
17
|
-
exports.MIME_BMP = MIME_BMP;
|
|
18
|
-
/**
|
|
19
|
-
* Utility function to get a Jimp image object from buffer or base64 data. Jimp
|
|
20
|
-
* is a great library however it does IO in the constructor so it's not
|
|
21
|
-
* convenient for our async/await model.
|
|
22
|
-
*
|
|
23
|
-
* @param {Buffer|string} data - binary image buffer or base64-encoded image
|
|
24
|
-
* string
|
|
25
|
-
* @returns {Promise<AppiumJimp>} - the jimp image object
|
|
26
|
-
*/
|
|
27
|
-
async function getJimpImage(data) {
|
|
28
|
-
return await new bluebird_1.default((resolve, reject) => {
|
|
29
|
-
if (!lodash_1.default.isString(data) && !buffer_1.Buffer.isBuffer(data)) {
|
|
30
|
-
return reject(new Error('Must initialize jimp object with string or buffer'));
|
|
31
|
-
}
|
|
32
|
-
const truncatedData = lodash_1.default.truncate(buffer_1.Buffer.isBuffer(data) ? data.toString('utf8') : data, { length: 50 });
|
|
33
|
-
new jimp_1.default(
|
|
34
|
-
// if data is a string, assume it is a base64-encoded image
|
|
35
|
-
buffer_1.Buffer.isBuffer(data) ? data : buffer_1.Buffer.from(String(data), 'base64'),
|
|
36
|
-
/**
|
|
37
|
-
* @param {Error?} err
|
|
38
|
-
* @param {AppiumJimp} imgObj
|
|
39
|
-
*/
|
|
40
|
-
(err, imgObj) => {
|
|
41
|
-
if (err) {
|
|
42
|
-
err.message = `The argument must be a valid base64-encoded image payload. ` +
|
|
43
|
-
`'${truncatedData}' was passed instead. Original error: ${err.message}`;
|
|
44
|
-
return reject(err);
|
|
45
|
-
}
|
|
46
|
-
if (!imgObj) {
|
|
47
|
-
return reject(new Error('Could not create jimp image from that data'));
|
|
48
|
-
}
|
|
49
|
-
imgObj.getBuffer = bluebird_1.default.promisify(imgObj.getBuffer.bind(imgObj), {
|
|
50
|
-
context: imgObj,
|
|
51
|
-
});
|
|
52
|
-
resolve(imgObj);
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
exports.getJimpImage = getJimpImage;
|
|
6
|
+
exports.cropBase64Image = void 0;
|
|
7
|
+
const sharp_1 = __importDefault(require("sharp"));
|
|
57
8
|
/**
|
|
58
9
|
* Crop the image by given rectangle (use base64 string as input and output)
|
|
59
10
|
*
|
|
60
|
-
* @param {string} base64Image The string with base64 encoded image
|
|
61
|
-
*
|
|
11
|
+
* @param {string} base64Image The string with base64 encoded image.
|
|
12
|
+
* Supports all image formats natively supported by Sharp library.
|
|
13
|
+
* @param {sharp.Region} rect The selected region of image
|
|
62
14
|
* @return {Promise<string>} base64 encoded string of cropped image
|
|
63
15
|
*/
|
|
64
16
|
async function cropBase64Image(base64Image, rect) {
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
return await imageToBase64(image);
|
|
17
|
+
const buf = await (0, sharp_1.default)(Buffer.from(base64Image, 'base64')).extract(rect).toBuffer();
|
|
18
|
+
return buf.toString('base64');
|
|
68
19
|
}
|
|
69
20
|
exports.cropBase64Image = cropBase64Image;
|
|
70
|
-
/**
|
|
71
|
-
* Create a pngjs image from given base64 image
|
|
72
|
-
*
|
|
73
|
-
* @param {string} base64Image The string with base64 encoded image
|
|
74
|
-
* @return {Promise<PNG>} The image object
|
|
75
|
-
*/
|
|
76
|
-
async function base64ToImage(base64Image) {
|
|
77
|
-
const imageBuffer = buffer_1.Buffer.from(base64Image, 'base64');
|
|
78
|
-
return await new bluebird_1.default((resolve, reject) => {
|
|
79
|
-
const image = new pngjs_1.PNG({ filterType: SCANLINE_FILTER_METHOD });
|
|
80
|
-
image.parse(imageBuffer, (err, image) => {
|
|
81
|
-
// eslint-disable-line promise/prefer-await-to-callbacks
|
|
82
|
-
if (err) {
|
|
83
|
-
return reject(err);
|
|
84
|
-
}
|
|
85
|
-
resolve(image);
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
exports.base64ToImage = base64ToImage;
|
|
90
|
-
/**
|
|
91
|
-
* Create a base64 string for given image object
|
|
92
|
-
*
|
|
93
|
-
* @param {PNG} image The image object
|
|
94
|
-
* @return {Promise<string>} The string with base64 encoded image
|
|
95
|
-
*/
|
|
96
|
-
async function imageToBase64(image) {
|
|
97
|
-
return await new bluebird_1.default((resolve, reject) => {
|
|
98
|
-
const chunks = [];
|
|
99
|
-
image
|
|
100
|
-
.pack()
|
|
101
|
-
.on('data', (chunk) => chunks.push(chunk))
|
|
102
|
-
.on('end', () => {
|
|
103
|
-
resolve(buffer_1.Buffer.concat(chunks).toString('base64'));
|
|
104
|
-
})
|
|
105
|
-
.on('error', (err) => {
|
|
106
|
-
// eslint-disable-line promise/prefer-await-to-callbacks
|
|
107
|
-
reject(err);
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
exports.imageToBase64 = imageToBase64;
|
|
112
|
-
/**
|
|
113
|
-
* Crop the image by given rectangle
|
|
114
|
-
*
|
|
115
|
-
* @param {PNG} image The image to mutate by cropping
|
|
116
|
-
* @param {Region} rect The selected region of image
|
|
117
|
-
*/
|
|
118
|
-
function cropImage(image, rect) {
|
|
119
|
-
const imageRect = { width: image.width, height: image.height };
|
|
120
|
-
const interRect = getRectIntersection(rect, imageRect);
|
|
121
|
-
if (interRect.width < rect.width || interRect.height < rect.height) {
|
|
122
|
-
throw new Error(`Cannot crop ${JSON.stringify(rect)} from ${JSON.stringify(imageRect)} because the intersection between them was not the size of the rect`);
|
|
123
|
-
}
|
|
124
|
-
const firstVerticalPixel = interRect.top;
|
|
125
|
-
const lastVerticalPixel = interRect.top + interRect.height;
|
|
126
|
-
const firstHorizontalPixel = interRect.left;
|
|
127
|
-
const lastHorizontalPixel = interRect.left + interRect.width;
|
|
128
|
-
const croppedArray = [];
|
|
129
|
-
for (let y = firstVerticalPixel; y < lastVerticalPixel; y++) {
|
|
130
|
-
for (let x = firstHorizontalPixel; x < lastHorizontalPixel; x++) {
|
|
131
|
-
const firstByteIdxInPixelBlock = (imageRect.width * y + x) << 2;
|
|
132
|
-
for (let byteIdx = 0; byteIdx < BYTES_IN_PIXEL_BLOCK; byteIdx++) {
|
|
133
|
-
croppedArray.push(image.data[firstByteIdxInPixelBlock + byteIdx]);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
image.data = buffer_1.Buffer.from(croppedArray);
|
|
138
|
-
image.width = interRect.width;
|
|
139
|
-
image.height = interRect.height;
|
|
140
|
-
return image;
|
|
141
|
-
}
|
|
142
|
-
exports.cropImage = cropImage;
|
|
143
|
-
function getRectIntersection(rect, imageSize) {
|
|
144
|
-
const left = rect.left >= imageSize.width ? imageSize.width : rect.left;
|
|
145
|
-
const top = rect.top >= imageSize.height ? imageSize.height : rect.top;
|
|
146
|
-
const width = imageSize.width >= left + rect.width ? rect.width : imageSize.width - left;
|
|
147
|
-
const height = imageSize.height >= top + rect.height ? rect.height : imageSize.height - top;
|
|
148
|
-
return { left, top, width, height };
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* @typedef {Omit<Jimp,'getBuffer'> & {getBuffer: Jimp['getBufferAsync']}} AppiumJimp
|
|
152
|
-
*/
|
|
153
|
-
/**
|
|
154
|
-
* @typedef Region
|
|
155
|
-
* @property {number} left
|
|
156
|
-
* @property {number} top
|
|
157
|
-
* @property {number} width
|
|
158
|
-
* @property {number} height
|
|
159
|
-
*/
|
|
160
21
|
//# sourceMappingURL=image-util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-util.js","sourceRoot":"","sources":["../../lib/image-util.js"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"image-util.js","sourceRoot":"","sources":["../../lib/image-util.js"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B;;;;;;;GAOG;AACI,KAAK,UAAU,eAAe,CAAC,WAAW,EAAE,IAAI;IACrD,MAAM,GAAG,GAAG,MAAM,IAAA,eAAK,EAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrF,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC;AAHD,0CAGC"}
|
package/build/lib/mjpeg.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mjpeg.d.ts","sourceRoot":"","sources":["../../lib/mjpeg.js"],"names":[],"mappings":"AA+BA,+DAA+D;AAC/D;IAME;;;;;;OAMG;IACH,sBALW,MAAM,iDAGN,MAAM,EAQhB;IAlBD;;OAEG;IACH,aAFU,MAAM,CAEA;IAYd,uBAAgC;IAChC,YAAmB;IAIrB;;;;;OAKG;IACH,qCAKC;IAED;;;;;OAKG;IACH,gBAHa,QAAQ,MAAM,QAAE,
|
|
1
|
+
{"version":3,"file":"mjpeg.d.ts","sourceRoot":"","sources":["../../lib/mjpeg.js"],"names":[],"mappings":"AA+BA,+DAA+D;AAC/D;IAME;;;;;;OAMG;IACH,sBALW,MAAM,iDAGN,MAAM,EAQhB;IAlBD;;OAEG;IACH,aAFU,MAAM,CAEA;IAYd,uBAAgC;IAChC,YAAmB;IAIrB;;;;;OAKG;IACH,qCAKC;IAED;;;;;OAKG;IACH,gBAHa,QAAQ,MAAM,QAAE,CAc5B;IAED;;;;;OAKG;IACH,sBAHa,QAAQ,MAAM,QAAE,CAM5B;IAED;;OAEG;IACH,cAOC;IANC,4EAAgC;IAChC,iEAAgC;IAChC,oBAA0B;IAC1B,cAAoB;IACpB,qCAAqB;IAIvB;;OAEG;IACH,6CAwDC;IAED;;;OAGG;IACH,aASC;IAED;;;;;OAKG;IACH,qBAFW,MAAM,WAYhB;CACF"}
|
package/build/lib/mjpeg.js
CHANGED
|
@@ -7,7 +7,7 @@ exports.MJpegStream = void 0;
|
|
|
7
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
8
8
|
const logger_1 = __importDefault(require("./logger"));
|
|
9
9
|
const bluebird_1 = __importDefault(require("bluebird"));
|
|
10
|
-
const
|
|
10
|
+
const sharp_1 = __importDefault(require("sharp"));
|
|
11
11
|
const stream_1 = require("stream");
|
|
12
12
|
const node_1 = require("./node");
|
|
13
13
|
const axios_1 = __importDefault(require("axios"));
|
|
@@ -73,8 +73,7 @@ class MJpegStream extends stream_1.Writable {
|
|
|
73
73
|
return null;
|
|
74
74
|
}
|
|
75
75
|
try {
|
|
76
|
-
|
|
77
|
-
return await jpg.getBuffer(image_util_1.MIME_PNG);
|
|
76
|
+
return await (0, sharp_1.default)(lastChunk).png().toBuffer();
|
|
78
77
|
}
|
|
79
78
|
catch (e) {
|
|
80
79
|
return null;
|
package/build/lib/mjpeg.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mjpeg.js","sourceRoot":"","sources":["../../lib/mjpeg.js"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,sDAA2B;AAC3B,wDAAyB;AACzB,
|
|
1
|
+
{"version":3,"file":"mjpeg.js","sourceRoot":"","sources":["../../lib/mjpeg.js"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,sDAA2B;AAC3B,wDAAyB;AACzB,kDAA0B;AAC1B,mCAAgC;AAChC,iCAAsC;AACtC,kDAA0B;AAE1B,+CAA+C;AAC/C,IAAI,aAAa,GAAG,IAAI,CAAC;AAEzB;;GAEG;AACH,KAAK,UAAU,iBAAiB;IAC9B,IAAI,CAAC,aAAa,EAAE;QAClB,IAAI;YACF,aAAa,GAAG,MAAM,IAAA,qBAAc,EAAC,gBAAgB,CAAC,CAAC;SACxD;QAAC,OAAO,GAAG,EAAE,GAAE;KACjB;IACD,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,IAAI,KAAK,CACb,qEAAqE;YACnE,uEAAuE,CAC1E,CAAC;KACH;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAEtC,+DAA+D;AAC/D,MAAM,WAAY,SAAQ,iBAAQ;IAMhC;;;;;;OAMG;IACH,YAAY,QAAQ,EAAE,YAAY,GAAG,gBAAC,CAAC,IAAI,EAAE,OAAO,GAAG,EAAE;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QAbjB;;WAEG;QACH,gBAAW,GAAG,CAAC,CAAC;QAYd,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,IAAI,eAAe;QACjB,MAAM,SAAS,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,OAAO,CAAC,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YAC7D,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC9B,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,SAAS,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,gBAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAClD,OAAO,IAAI,CAAC;SACb;QAED,IAAI;YACF,OAAO,MAAM,IAAA,eAAK,EAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;SAChD;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB;QACtB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,uBAAuB;QACjD,mCAAmC;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,MAAM,iBAAiB,EAAE,CAAC;QAE1B,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QAEpC,sEAAsE;QACtE,+CAA+C;QAC/C,MAAM,YAAY,GAAG,IAAI,kBAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACtC,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC;YAChC,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC;QAClC,CAAC,CAAC;YACA,uEAAuE;YACvE,iBAAiB;aAChB,OAAO,CACN,aAAa,EACb,UAAU,aAAa,+CAA+C,CACvE,CAAC;QAEJ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,EAAE;YACpB,sEAAsE;YACtE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,gBAAG,CAAC,KAAK,CAAC,yCAAyC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;aAChC;QACH,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,gBAAG,CAAC,KAAK,CAAC,qCAAqC,GAAG,kBAAkB,CAAC,CAAC;YACtE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC,CAAC;QAEF,IAAI;YACF,IAAI,CAAC,cAAc,GAAG,CACpB,MAAM,IAAA,eAAK,EAAC;gBACV,GAAG;gBACH,YAAY,EAAE,QAAQ;gBACtB,OAAO,EAAE,aAAa;aACvB,CAAC,CACH,CAAC,IAAI,CAAC;SACR;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;SACjB;QAED,IAAI,CAAC,cAAc;aAChB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;aACtB,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,qCAAqC;aACxD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,+CAA+C;aACnE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAmC;QAElD,MAAM,YAAY,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SAClC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAEO,kCAAW"}
|
package/build/lib/net.js
CHANGED
|
@@ -59,7 +59,6 @@ async function uploadFileToHttp(localFileStream, parsedUri, uploadOptions = /**
|
|
|
59
59
|
}
|
|
60
60
|
if (fileFieldName) {
|
|
61
61
|
const form = new form_data_1.default();
|
|
62
|
-
form.append(fileFieldName, localFileStream);
|
|
63
62
|
if (formFields) {
|
|
64
63
|
let pairs = [];
|
|
65
64
|
if (lodash_1.default.isArray(formFields)) {
|
|
@@ -74,6 +73,7 @@ async function uploadFileToHttp(localFileStream, parsedUri, uploadOptions = /**
|
|
|
74
73
|
}
|
|
75
74
|
}
|
|
76
75
|
}
|
|
76
|
+
form.append(fileFieldName, localFileStream); // AWS S3 POST upload requires this to be the last field
|
|
77
77
|
requestOpts.headers = {
|
|
78
78
|
...(lodash_1.default.isPlainObject(headers) ? headers : {}),
|
|
79
79
|
...form.getHeaders(),
|
package/build/lib/net.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"net.js","sourceRoot":"","sources":["../../lib/net.js"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,8CAAsB;AACtB,wDAAyB;AACzB,iCAA4C;AAC5C,sDAA2B;AAC3B,kDAAwB;AACxB,sDAA6B;AAC7B,kDAA0B;AAC1B,0DAAiC;AAEjC,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEzC;;;;GAIG;AACH,SAAS,WAAW,CAAC,KAAK;IACxB,OAAO,gBAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAI;IACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;QACtB,OAAO,IAAI,CAAC;KACb;IAED,MAAM,SAAS,GAAG;QAChB,QAAQ,EAAE,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;QACxD,QAAQ,EAAE,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;KACzD,CAAC;IACF,OAAO,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACrE,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAC7B,eAAe,EACf,SAAS,EACT,aAAa,GAAG,6CAA6C,CAAC,CAAC,EAAE,CAAC;IAElE,MAAM,EACJ,MAAM,GAAG,MAAM,EACf,OAAO,GAAG,kBAAkB,EAC5B,OAAO,EACP,IAAI,EACJ,aAAa,GAAG,MAAM,EACtB,UAAU,GACX,GAAG,aAAa,CAAC;IAClB,MAAM,EAAC,IAAI,EAAC,GAAG,SAAS,CAAC;IAEzB,oDAAoD;IACpD,MAAM,WAAW,GAAG;QAClB,GAAG,EAAE,IAAI;QACT,MAAM;QACN,OAAO;QACP,gBAAgB,EAAE,QAAQ;QAC1B,aAAa,EAAE,QAAQ;KACxB,CAAC;IACF,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,SAAS,EAAE;QACb,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC;KAC9B;IACD,IAAI,aAAa,EAAE;QACjB,MAAM,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAC5B,IAAI,
|
|
1
|
+
{"version":3,"file":"net.js","sourceRoot":"","sources":["../../lib/net.js"],"names":[],"mappings":"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"}
|
package/lib/fs.js
CHANGED
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
promises as fsPromises,
|
|
11
11
|
read,
|
|
12
12
|
write,
|
|
13
|
+
rmSync,
|
|
13
14
|
open,
|
|
14
15
|
} from 'fs';
|
|
15
16
|
import glob from 'glob';
|
|
@@ -20,7 +21,6 @@ import ncp from 'ncp';
|
|
|
20
21
|
import path from 'path';
|
|
21
22
|
import pkgDir from 'pkg-dir';
|
|
22
23
|
import readPkg from 'read-pkg';
|
|
23
|
-
import rimrafIdx from 'rimraf';
|
|
24
24
|
import sanitize from 'sanitize-filename';
|
|
25
25
|
import which from 'which';
|
|
26
26
|
import log from './logger';
|
|
@@ -84,17 +84,23 @@ const fs = {
|
|
|
84
84
|
|
|
85
85
|
/**
|
|
86
86
|
* Remove a directory and all its contents, recursively
|
|
87
|
-
* @
|
|
87
|
+
* @param {PathLike} filepath
|
|
88
|
+
* @returns Promise<void>
|
|
89
|
+
* @see https://nodejs.org/api/fs.html#fspromisesrmpath-options
|
|
88
90
|
*/
|
|
89
|
-
rimraf
|
|
90
|
-
|
|
91
|
-
|
|
91
|
+
async rimraf(filepath) {
|
|
92
|
+
return await fsPromises.rm(filepath, {recursive: true, force: true});
|
|
93
|
+
},
|
|
92
94
|
|
|
93
95
|
/**
|
|
94
|
-
*
|
|
95
|
-
* @
|
|
96
|
+
* Remove a directory and all its contents, recursively in sync
|
|
97
|
+
* @param {PathLike} filepath
|
|
98
|
+
* @returns undefined
|
|
99
|
+
* @see https://nodejs.org/api/fs.html#fsrmsyncpath-options
|
|
96
100
|
*/
|
|
97
|
-
rimrafSync
|
|
101
|
+
rimrafSync(filepath) {
|
|
102
|
+
return rmSync(filepath, {recursive: true, force: true});
|
|
103
|
+
},
|
|
98
104
|
|
|
99
105
|
/**
|
|
100
106
|
* Like Node.js' `fsPromises.mkdir()`, but will _not_ reject if the directory already exists.
|
package/lib/image-util.js
CHANGED
|
@@ -1,178 +1,14 @@
|
|
|
1
|
-
import
|
|
2
|
-
import Jimp from 'jimp';
|
|
3
|
-
import {Buffer} from 'buffer';
|
|
4
|
-
import {PNG} from 'pngjs';
|
|
5
|
-
import B from 'bluebird';
|
|
6
|
-
|
|
7
|
-
const BYTES_IN_PIXEL_BLOCK = 4;
|
|
8
|
-
const SCANLINE_FILTER_METHOD = 4;
|
|
9
|
-
const {MIME_JPEG, MIME_PNG, MIME_BMP} = Jimp;
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Utility function to get a Jimp image object from buffer or base64 data. Jimp
|
|
13
|
-
* is a great library however it does IO in the constructor so it's not
|
|
14
|
-
* convenient for our async/await model.
|
|
15
|
-
*
|
|
16
|
-
* @param {Buffer|string} data - binary image buffer or base64-encoded image
|
|
17
|
-
* string
|
|
18
|
-
* @returns {Promise<AppiumJimp>} - the jimp image object
|
|
19
|
-
*/
|
|
20
|
-
async function getJimpImage(data) {
|
|
21
|
-
return await new B((resolve, reject) => {
|
|
22
|
-
if (!_.isString(data) && !Buffer.isBuffer(data)) {
|
|
23
|
-
return reject(new Error('Must initialize jimp object with string or buffer'));
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const truncatedData = _.truncate(
|
|
27
|
-
Buffer.isBuffer(data) ? data.toString('utf8') : data,
|
|
28
|
-
{length: 50}
|
|
29
|
-
);
|
|
30
|
-
new Jimp(
|
|
31
|
-
// if data is a string, assume it is a base64-encoded image
|
|
32
|
-
Buffer.isBuffer(data) ? data : Buffer.from(String(data), 'base64'),
|
|
33
|
-
/**
|
|
34
|
-
* @param {Error?} err
|
|
35
|
-
* @param {AppiumJimp} imgObj
|
|
36
|
-
*/
|
|
37
|
-
(err, imgObj) => {
|
|
38
|
-
if (err) {
|
|
39
|
-
err.message = `The argument must be a valid base64-encoded image payload. ` +
|
|
40
|
-
`'${truncatedData}' was passed instead. Original error: ${err.message}`;
|
|
41
|
-
return reject(err);
|
|
42
|
-
}
|
|
43
|
-
if (!imgObj) {
|
|
44
|
-
return reject(new Error('Could not create jimp image from that data'));
|
|
45
|
-
}
|
|
46
|
-
imgObj.getBuffer = B.promisify(imgObj.getBuffer.bind(imgObj), {
|
|
47
|
-
context: imgObj,
|
|
48
|
-
});
|
|
49
|
-
resolve(imgObj);
|
|
50
|
-
}
|
|
51
|
-
);
|
|
52
|
-
});
|
|
53
|
-
}
|
|
1
|
+
import sharp from 'sharp';
|
|
54
2
|
|
|
55
3
|
/**
|
|
56
4
|
* Crop the image by given rectangle (use base64 string as input and output)
|
|
57
5
|
*
|
|
58
|
-
* @param {string} base64Image The string with base64 encoded image
|
|
59
|
-
*
|
|
6
|
+
* @param {string} base64Image The string with base64 encoded image.
|
|
7
|
+
* Supports all image formats natively supported by Sharp library.
|
|
8
|
+
* @param {sharp.Region} rect The selected region of image
|
|
60
9
|
* @return {Promise<string>} base64 encoded string of cropped image
|
|
61
10
|
*/
|
|
62
|
-
async function cropBase64Image(base64Image, rect) {
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
return await imageToBase64(image);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Create a pngjs image from given base64 image
|
|
70
|
-
*
|
|
71
|
-
* @param {string} base64Image The string with base64 encoded image
|
|
72
|
-
* @return {Promise<PNG>} The image object
|
|
73
|
-
*/
|
|
74
|
-
async function base64ToImage(base64Image) {
|
|
75
|
-
const imageBuffer = Buffer.from(base64Image, 'base64');
|
|
76
|
-
return await new B((resolve, reject) => {
|
|
77
|
-
const image = new PNG({filterType: SCANLINE_FILTER_METHOD});
|
|
78
|
-
image.parse(imageBuffer, (err, image) => {
|
|
79
|
-
// eslint-disable-line promise/prefer-await-to-callbacks
|
|
80
|
-
if (err) {
|
|
81
|
-
return reject(err);
|
|
82
|
-
}
|
|
83
|
-
resolve(image);
|
|
84
|
-
});
|
|
85
|
-
});
|
|
11
|
+
export async function cropBase64Image(base64Image, rect) {
|
|
12
|
+
const buf = await sharp(Buffer.from(base64Image, 'base64')).extract(rect).toBuffer();
|
|
13
|
+
return buf.toString('base64');
|
|
86
14
|
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Create a base64 string for given image object
|
|
90
|
-
*
|
|
91
|
-
* @param {PNG} image The image object
|
|
92
|
-
* @return {Promise<string>} The string with base64 encoded image
|
|
93
|
-
*/
|
|
94
|
-
async function imageToBase64(image) {
|
|
95
|
-
return await new B((resolve, reject) => {
|
|
96
|
-
const chunks = [];
|
|
97
|
-
image
|
|
98
|
-
.pack()
|
|
99
|
-
.on('data', (chunk) => chunks.push(chunk))
|
|
100
|
-
.on('end', () => {
|
|
101
|
-
resolve(Buffer.concat(chunks).toString('base64'));
|
|
102
|
-
})
|
|
103
|
-
.on('error', (err) => {
|
|
104
|
-
// eslint-disable-line promise/prefer-await-to-callbacks
|
|
105
|
-
reject(err);
|
|
106
|
-
});
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Crop the image by given rectangle
|
|
112
|
-
*
|
|
113
|
-
* @param {PNG} image The image to mutate by cropping
|
|
114
|
-
* @param {Region} rect The selected region of image
|
|
115
|
-
*/
|
|
116
|
-
function cropImage(image, rect) {
|
|
117
|
-
const imageRect = {width: image.width, height: image.height};
|
|
118
|
-
const interRect = getRectIntersection(rect, imageRect);
|
|
119
|
-
if (interRect.width < rect.width || interRect.height < rect.height) {
|
|
120
|
-
throw new Error(
|
|
121
|
-
`Cannot crop ${JSON.stringify(rect)} from ${JSON.stringify(
|
|
122
|
-
imageRect
|
|
123
|
-
)} because the intersection between them was not the size of the rect`
|
|
124
|
-
);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
const firstVerticalPixel = interRect.top;
|
|
128
|
-
const lastVerticalPixel = interRect.top + interRect.height;
|
|
129
|
-
|
|
130
|
-
const firstHorizontalPixel = interRect.left;
|
|
131
|
-
const lastHorizontalPixel = interRect.left + interRect.width;
|
|
132
|
-
|
|
133
|
-
const croppedArray = [];
|
|
134
|
-
for (let y = firstVerticalPixel; y < lastVerticalPixel; y++) {
|
|
135
|
-
for (let x = firstHorizontalPixel; x < lastHorizontalPixel; x++) {
|
|
136
|
-
const firstByteIdxInPixelBlock = (imageRect.width * y + x) << 2;
|
|
137
|
-
for (let byteIdx = 0; byteIdx < BYTES_IN_PIXEL_BLOCK; byteIdx++) {
|
|
138
|
-
croppedArray.push(image.data[firstByteIdxInPixelBlock + byteIdx]);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
image.data = Buffer.from(croppedArray);
|
|
144
|
-
image.width = interRect.width;
|
|
145
|
-
image.height = interRect.height;
|
|
146
|
-
return image;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
function getRectIntersection(rect, imageSize) {
|
|
150
|
-
const left = rect.left >= imageSize.width ? imageSize.width : rect.left;
|
|
151
|
-
const top = rect.top >= imageSize.height ? imageSize.height : rect.top;
|
|
152
|
-
const width = imageSize.width >= left + rect.width ? rect.width : imageSize.width - left;
|
|
153
|
-
const height = imageSize.height >= top + rect.height ? rect.height : imageSize.height - top;
|
|
154
|
-
return {left, top, width, height};
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
export {
|
|
158
|
-
cropBase64Image,
|
|
159
|
-
base64ToImage,
|
|
160
|
-
imageToBase64,
|
|
161
|
-
cropImage,
|
|
162
|
-
getJimpImage,
|
|
163
|
-
MIME_JPEG,
|
|
164
|
-
MIME_PNG,
|
|
165
|
-
MIME_BMP,
|
|
166
|
-
};
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* @typedef {Omit<Jimp,'getBuffer'> & {getBuffer: Jimp['getBufferAsync']}} AppiumJimp
|
|
170
|
-
*/
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* @typedef Region
|
|
174
|
-
* @property {number} left
|
|
175
|
-
* @property {number} top
|
|
176
|
-
* @property {number} width
|
|
177
|
-
* @property {number} height
|
|
178
|
-
*/
|
package/lib/mjpeg.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
2
|
import log from './logger';
|
|
3
3
|
import B from 'bluebird';
|
|
4
|
-
import
|
|
4
|
+
import sharp from 'sharp';
|
|
5
5
|
import {Writable} from 'stream';
|
|
6
6
|
import {requirePackage} from './node';
|
|
7
7
|
import axios from 'axios';
|
|
@@ -77,8 +77,7 @@ class MJpegStream extends Writable {
|
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
try {
|
|
80
|
-
|
|
81
|
-
return await jpg.getBuffer(MIME_PNG);
|
|
80
|
+
return await sharp(lastChunk).png().toBuffer();
|
|
82
81
|
} catch (e) {
|
|
83
82
|
return null;
|
|
84
83
|
}
|
package/lib/net.js
CHANGED
|
@@ -70,7 +70,6 @@ async function uploadFileToHttp(
|
|
|
70
70
|
}
|
|
71
71
|
if (fileFieldName) {
|
|
72
72
|
const form = new FormData();
|
|
73
|
-
form.append(fileFieldName, localFileStream);
|
|
74
73
|
if (formFields) {
|
|
75
74
|
let pairs = [];
|
|
76
75
|
if (_.isArray(formFields)) {
|
|
@@ -84,6 +83,7 @@ async function uploadFileToHttp(
|
|
|
84
83
|
}
|
|
85
84
|
}
|
|
86
85
|
}
|
|
86
|
+
form.append(fileFieldName, localFileStream); // AWS S3 POST upload requires this to be the last field
|
|
87
87
|
requestOpts.headers = {
|
|
88
88
|
...(_.isPlainObject(headers) ? headers : {}),
|
|
89
89
|
...form.getHeaders(),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appium/support",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "Support libs used across appium packages",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"automation",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@appium/tsconfig": "^0.3.0",
|
|
45
|
-
"@appium/types": "^0.
|
|
45
|
+
"@appium/types": "^0.11.1",
|
|
46
46
|
"@colors/colors": "1.5.0",
|
|
47
47
|
"@types/archiver": "5.3.2",
|
|
48
48
|
"@types/base64-stream": "1.0.2",
|
|
@@ -55,15 +55,13 @@
|
|
|
55
55
|
"@types/ncp": "2.0.5",
|
|
56
56
|
"@types/npmlog": "4.1.4",
|
|
57
57
|
"@types/pluralize": "0.0.29",
|
|
58
|
-
"@types/pngjs": "6.0.1",
|
|
59
|
-
"@types/rimraf": "3.0.2",
|
|
60
58
|
"@types/semver": "7.3.13",
|
|
61
59
|
"@types/shell-quote": "1.7.1",
|
|
62
60
|
"@types/supports-color": "8.1.1",
|
|
63
61
|
"@types/teen_process": "2.0.0",
|
|
64
62
|
"@types/uuid": "9.0.1",
|
|
65
63
|
"archiver": "5.3.1",
|
|
66
|
-
"axios": "1.
|
|
64
|
+
"axios": "1.4.0",
|
|
67
65
|
"base64-stream": "1.0.0",
|
|
68
66
|
"bluebird": "3.7.2",
|
|
69
67
|
"bplist-creator": "0.1.1",
|
|
@@ -71,7 +69,6 @@
|
|
|
71
69
|
"form-data": "4.0.0",
|
|
72
70
|
"get-stream": "6.0.1",
|
|
73
71
|
"glob": "8.1.0",
|
|
74
|
-
"jimp": "0.22.7",
|
|
75
72
|
"jsftp": "2.1.3",
|
|
76
73
|
"klaw": "4.1.0",
|
|
77
74
|
"lockfile": "1.0.4",
|
|
@@ -85,19 +82,18 @@
|
|
|
85
82
|
"pkg-dir": "5.0.0",
|
|
86
83
|
"plist": "3.0.6",
|
|
87
84
|
"pluralize": "8.0.0",
|
|
88
|
-
"pngjs": "7.0.0",
|
|
89
85
|
"read-pkg": "5.2.0",
|
|
90
86
|
"resolve-from": "5.0.0",
|
|
91
|
-
"rimraf": "3.0.2",
|
|
92
87
|
"sanitize-filename": "1.6.3",
|
|
93
|
-
"semver": "7.
|
|
88
|
+
"semver": "7.5.0",
|
|
89
|
+
"sharp": "0.32.1",
|
|
94
90
|
"shell-quote": "1.8.1",
|
|
95
91
|
"source-map-support": "0.5.21",
|
|
96
92
|
"supports-color": "8.1.1",
|
|
97
93
|
"teen_process": "2.0.2",
|
|
98
|
-
"type-fest": "3.
|
|
94
|
+
"type-fest": "3.10.0",
|
|
99
95
|
"uuid": "9.0.0",
|
|
100
|
-
"which": "3.0.
|
|
96
|
+
"which": "3.0.1",
|
|
101
97
|
"yauzl": "2.10.0"
|
|
102
98
|
},
|
|
103
99
|
"engines": {
|
|
@@ -107,7 +103,7 @@
|
|
|
107
103
|
"publishConfig": {
|
|
108
104
|
"access": "public"
|
|
109
105
|
},
|
|
110
|
-
"gitHead": "
|
|
106
|
+
"gitHead": "6b245534c213f3b8d6405515aee1e89133295098",
|
|
111
107
|
"typedoc": {
|
|
112
108
|
"entryPoint": "./lib/index.js"
|
|
113
109
|
}
|