appium-adb 12.4.5 → 12.4.6
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/CHANGELOG.md +6 -0
- package/build/lib/logcat.d.ts +4 -4
- package/build/lib/logcat.d.ts.map +1 -1
- package/build/lib/logcat.js +18 -19
- package/build/lib/logcat.js.map +1 -1
- package/lib/logcat.js +18 -21
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [12.4.6](https://github.com/appium/appium-adb/compare/v12.4.5...v12.4.6) (2024-06-30)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* Prefer indexes over timestamps as logcat keys ([#752](https://github.com/appium/appium-adb/issues/752)) ([f499875](https://github.com/appium/appium-adb/commit/f49987590e9a4935e8fac07bdc1d237c4aec5cd1))
|
|
6
|
+
|
|
1
7
|
## [12.4.5](https://github.com/appium/appium-adb/compare/v12.4.4...v12.4.5) (2024-06-30)
|
|
2
8
|
|
|
3
9
|
### Miscellaneous Chores
|
package/build/lib/logcat.d.ts
CHANGED
|
@@ -36,10 +36,10 @@ declare class Logcat extends EventEmitter<[never]> {
|
|
|
36
36
|
debug: any;
|
|
37
37
|
debugTrace: any;
|
|
38
38
|
maxBufferSize: any;
|
|
39
|
-
/** @type {LRUCache<
|
|
40
|
-
logs: LRUCache<
|
|
41
|
-
/** @type {
|
|
42
|
-
|
|
39
|
+
/** @type {LRUCache<number, [string, number]>} */
|
|
40
|
+
logs: LRUCache<number, [string, number]>;
|
|
41
|
+
/** @type {number?} */
|
|
42
|
+
logIndexSinceLastRequest: number | null;
|
|
43
43
|
startCapture(opts?: {}): Promise<any>;
|
|
44
44
|
proc: SubProcess | null | undefined;
|
|
45
45
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logcat.d.ts","sourceRoot":"","sources":["../../lib/logcat.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;eAkDc,MAAM;WACN,KAAK;aACL,MAAM;;AAyDpB;IACE,uBAaC;IAXC,SAAmB;IACnB,eAAqD;IACrD,WAAuB;IACvB,gBAAiC;IACjC,mBAA0D;IAC1D,iDAAiD;IACjD,MADW,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAG3C;IACF,sBAAsB;IACtB,
|
|
1
|
+
{"version":3,"file":"logcat.d.ts","sourceRoot":"","sources":["../../lib/logcat.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;eAkDc,MAAM;WACN,KAAK;aACL,MAAM;;AAyDpB;IACE,uBAaC;IAXC,SAAmB;IACnB,eAAqD;IACrD,WAAuB;IACvB,gBAAiC;IACjC,mBAA0D;IAC1D,iDAAiD;IACjD,MADW,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAG3C;IACF,sBAAsB;IACtB,0BADW,MAAM,OAAC,CACkB;IAGtC,sCAwDC;IA7BG,oCAA8C;IA+BlD;;;;;OAKG;IACH,uBAJW,MAAM,gCAEJ,IAAI,CAiBhB;IAED;;;OAGG;IACH,eAFa,OAAO,CAAC,IAAI,CAAC,CAYzB;IAED;;OAEG;IACH,WAFa,QAAQ,EAAE,CAkBtB;IAED;;OAEG;IACH,cAFa,QAAQ,EAAE,CAStB;IAED;;OAEG;IACH,SAFa,OAAO,CAAC,IAAI,CAAC,CAUzB;CACF;6BAxQ4B,aAAa;yBAEjB,WAAW;2BADH,cAAc"}
|
package/build/lib/logcat.js
CHANGED
|
@@ -111,12 +111,12 @@ class Logcat extends node_events_1.EventEmitter {
|
|
|
111
111
|
this.debug = opts.debug;
|
|
112
112
|
this.debugTrace = opts.debugTrace;
|
|
113
113
|
this.maxBufferSize = opts.maxBufferSize || MAX_BUFFER_SIZE;
|
|
114
|
-
/** @type {LRUCache<
|
|
114
|
+
/** @type {LRUCache<number, [string, number]>} */
|
|
115
115
|
this.logs = new lru_cache_1.LRUCache({
|
|
116
116
|
max: this.maxBufferSize,
|
|
117
117
|
});
|
|
118
|
-
/** @type {
|
|
119
|
-
this.
|
|
118
|
+
/** @type {number?} */
|
|
119
|
+
this.logIndexSinceLastRequest = null;
|
|
120
120
|
}
|
|
121
121
|
async startCapture(opts = {}) {
|
|
122
122
|
let started = false;
|
|
@@ -177,9 +177,14 @@ class Logcat extends node_events_1.EventEmitter {
|
|
|
177
177
|
* @returns {void}
|
|
178
178
|
*/
|
|
179
179
|
outputHandler(logLine, prefix = '') {
|
|
180
|
-
const hrTime = process.hrtime.bigint();
|
|
181
180
|
const timestamp = Date.now();
|
|
182
|
-
|
|
181
|
+
/** @type {number} */
|
|
182
|
+
let recentIndex = -1;
|
|
183
|
+
for (const key of this.logs.rkeys()) {
|
|
184
|
+
recentIndex = key;
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
this.logs.set(++recentIndex, [logLine, timestamp]);
|
|
183
188
|
if (this.listenerCount('output')) {
|
|
184
189
|
this.emit('output', toLogEntry(logLine, timestamp));
|
|
185
190
|
}
|
|
@@ -206,22 +211,19 @@ class Logcat extends node_events_1.EventEmitter {
|
|
|
206
211
|
* @returns {LogEntry[]}
|
|
207
212
|
*/
|
|
208
213
|
getLogs() {
|
|
209
|
-
if (!this.logs.size) {
|
|
210
|
-
return [];
|
|
211
|
-
}
|
|
212
214
|
/** @type {LogEntry[]} */
|
|
213
215
|
const result = [];
|
|
214
|
-
/** @type {
|
|
215
|
-
let
|
|
216
|
-
for (const [
|
|
217
|
-
if (this.
|
|
218
|
-
|| !this.
|
|
219
|
-
|
|
216
|
+
/** @type {number?} */
|
|
217
|
+
let recentLogIndex = null;
|
|
218
|
+
for (const [index, [message, timestamp]] of this.logs.entries()) {
|
|
219
|
+
if (this.logIndexSinceLastRequest && index > this.logIndexSinceLastRequest
|
|
220
|
+
|| !this.logIndexSinceLastRequest) {
|
|
221
|
+
recentLogIndex = index;
|
|
220
222
|
result.push(toLogEntry(message, timestamp));
|
|
221
223
|
}
|
|
222
224
|
}
|
|
223
|
-
if (
|
|
224
|
-
this.
|
|
225
|
+
if (lodash_1.default.isInteger(recentLogIndex)) {
|
|
226
|
+
this.logIndexSinceLastRequest = recentLogIndex;
|
|
225
227
|
}
|
|
226
228
|
return result;
|
|
227
229
|
}
|
|
@@ -229,9 +231,6 @@ class Logcat extends node_events_1.EventEmitter {
|
|
|
229
231
|
* @returns {LogEntry[]}
|
|
230
232
|
*/
|
|
231
233
|
getAllLogs() {
|
|
232
|
-
if (!this.logs.size) {
|
|
233
|
-
return [];
|
|
234
|
-
}
|
|
235
234
|
/** @type {LogEntry[]} */
|
|
236
235
|
const result = [];
|
|
237
236
|
for (const [message, timestamp] of this.logs.values()) {
|
package/build/lib/logcat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logcat.js","sourceRoot":"","sources":["../../lib/logcat.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"logcat.js","sourceRoot":"","sources":["../../lib/logcat.js"],"names":[],"mappings":"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"}
|
package/lib/logcat.js
CHANGED
|
@@ -115,12 +115,12 @@ class Logcat extends EventEmitter {
|
|
|
115
115
|
this.debug = opts.debug;
|
|
116
116
|
this.debugTrace = opts.debugTrace;
|
|
117
117
|
this.maxBufferSize = opts.maxBufferSize || MAX_BUFFER_SIZE;
|
|
118
|
-
/** @type {LRUCache<
|
|
118
|
+
/** @type {LRUCache<number, [string, number]>} */
|
|
119
119
|
this.logs = new LRUCache({
|
|
120
120
|
max: this.maxBufferSize,
|
|
121
121
|
});
|
|
122
|
-
/** @type {
|
|
123
|
-
this.
|
|
122
|
+
/** @type {number?} */
|
|
123
|
+
this.logIndexSinceLastRequest = null;
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
async startCapture (opts = {}) {
|
|
@@ -188,9 +188,14 @@ class Logcat extends EventEmitter {
|
|
|
188
188
|
* @returns {void}
|
|
189
189
|
*/
|
|
190
190
|
outputHandler (logLine, prefix = '') {
|
|
191
|
-
const hrTime = process.hrtime.bigint();
|
|
192
191
|
const timestamp = Date.now();
|
|
193
|
-
|
|
192
|
+
/** @type {number} */
|
|
193
|
+
let recentIndex = -1;
|
|
194
|
+
for (const key of this.logs.rkeys()) {
|
|
195
|
+
recentIndex = key;
|
|
196
|
+
break;
|
|
197
|
+
}
|
|
198
|
+
this.logs.set(++recentIndex, [logLine, timestamp]);
|
|
194
199
|
if (this.listenerCount('output')) {
|
|
195
200
|
this.emit('output', toLogEntry(logLine, timestamp));
|
|
196
201
|
}
|
|
@@ -219,23 +224,19 @@ class Logcat extends EventEmitter {
|
|
|
219
224
|
* @returns {LogEntry[]}
|
|
220
225
|
*/
|
|
221
226
|
getLogs () {
|
|
222
|
-
if (!this.logs.size) {
|
|
223
|
-
return [];
|
|
224
|
-
}
|
|
225
|
-
|
|
226
227
|
/** @type {LogEntry[]} */
|
|
227
228
|
const result = [];
|
|
228
|
-
/** @type {
|
|
229
|
-
let
|
|
230
|
-
for (const [
|
|
231
|
-
if (this.
|
|
232
|
-
|| !this.
|
|
233
|
-
|
|
229
|
+
/** @type {number?} */
|
|
230
|
+
let recentLogIndex = null;
|
|
231
|
+
for (const [index, [message, timestamp]] of this.logs.entries()) {
|
|
232
|
+
if (this.logIndexSinceLastRequest && index > this.logIndexSinceLastRequest
|
|
233
|
+
|| !this.logIndexSinceLastRequest) {
|
|
234
|
+
recentLogIndex = index;
|
|
234
235
|
result.push(toLogEntry(message, timestamp));
|
|
235
236
|
}
|
|
236
237
|
}
|
|
237
|
-
if (
|
|
238
|
-
this.
|
|
238
|
+
if (_.isInteger(recentLogIndex)) {
|
|
239
|
+
this.logIndexSinceLastRequest = recentLogIndex;
|
|
239
240
|
}
|
|
240
241
|
return result;
|
|
241
242
|
}
|
|
@@ -244,10 +245,6 @@ class Logcat extends EventEmitter {
|
|
|
244
245
|
* @returns {LogEntry[]}
|
|
245
246
|
*/
|
|
246
247
|
getAllLogs () {
|
|
247
|
-
if (!this.logs.size) {
|
|
248
|
-
return [];
|
|
249
|
-
}
|
|
250
|
-
|
|
251
248
|
/** @type {LogEntry[]} */
|
|
252
249
|
const result = [];
|
|
253
250
|
for (const [message, timestamp] of this.logs.values()) {
|