@yume-chan/adb 0.0.9 → 0.0.10
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.json +23 -0
- package/CHANGELOG.md +16 -0
- package/LICENSE +21 -21
- package/README.md +227 -257
- package/dts/adb.d.ts.map +1 -1
- package/dts/auth.d.ts +11 -1
- package/dts/auth.d.ts.map +1 -1
- package/dts/backend.d.ts +3 -5
- package/dts/backend.d.ts.map +1 -1
- package/dts/commands/demo-mode.d.ts +3 -3
- package/dts/commands/demo-mode.d.ts.map +1 -1
- package/dts/commands/reverse.d.ts +2 -2
- package/dts/commands/reverse.d.ts.map +1 -1
- package/dts/commands/shell/index.d.ts +31 -5
- package/dts/commands/shell/index.d.ts.map +1 -1
- package/dts/commands/shell/legacy.d.ts +13 -2
- package/dts/commands/shell/legacy.d.ts.map +1 -1
- package/dts/commands/shell/protocol.d.ts +11 -3
- package/dts/commands/shell/protocol.d.ts.map +1 -1
- package/dts/commands/shell/types.d.ts +35 -3
- package/dts/commands/shell/types.d.ts.map +1 -1
- package/dts/commands/sync/request.d.ts +1 -1
- package/dts/commands/sync/request.d.ts.map +1 -1
- package/dts/commands/sync/response.d.ts +2 -2
- package/dts/commands/sync/response.d.ts.map +1 -1
- package/dts/commands/sync/sync.d.ts.map +1 -1
- package/dts/crypto.d.ts +7 -0
- package/dts/crypto.d.ts.map +1 -1
- package/dts/packet.d.ts.map +1 -1
- package/dts/socket/close-event-emitter.d.ts.map +1 -1
- package/dts/socket/controller.d.ts.map +1 -1
- package/dts/socket/data-event-emitter.d.ts.map +1 -1
- package/dts/socket/dispatcher.d.ts.map +1 -1
- package/dts/stream/buffered-stream.d.ts +2 -4
- package/dts/stream/buffered-stream.d.ts.map +1 -1
- package/dts/utils/encoding.d.ts +3 -0
- package/dts/utils/encoding.d.ts.map +1 -0
- package/dts/utils/index.d.ts +1 -0
- package/dts/utils/index.d.ts.map +1 -1
- package/esm/adb.js +3 -2
- package/esm/adb.js.map +1 -1
- package/esm/auth.js +2 -2
- package/esm/auth.js.map +1 -1
- package/esm/commands/demo-mode.js +9 -9
- package/esm/commands/demo-mode.js.map +1 -1
- package/esm/commands/reverse.js +3 -2
- package/esm/commands/reverse.js.map +1 -1
- package/esm/commands/shell/index.js +28 -18
- package/esm/commands/shell/index.js.map +1 -1
- package/esm/commands/shell/legacy.js +16 -0
- package/esm/commands/shell/legacy.js.map +1 -1
- package/esm/commands/shell/protocol.js +36 -9
- package/esm/commands/shell/protocol.js.map +1 -1
- package/esm/commands/sync/request.js +5 -4
- package/esm/commands/sync/request.js.map +1 -1
- package/esm/commands/sync/response.js +4 -3
- package/esm/commands/sync/response.js.map +1 -1
- package/esm/commands/sync/sync.js.map +1 -1
- package/esm/crypto.js +7 -2
- package/esm/crypto.js.map +1 -1
- package/esm/packet.js +12 -14
- package/esm/packet.js.map +1 -1
- package/esm/socket/close-event-emitter.js.map +1 -1
- package/esm/socket/controller.js.map +1 -1
- package/esm/socket/data-event-emitter.js.map +1 -1
- package/esm/socket/dispatcher.js +7 -7
- package/esm/socket/dispatcher.js.map +1 -1
- package/esm/stream/buffered-stream.js +0 -6
- package/esm/stream/buffered-stream.js.map +1 -1
- package/esm/utils/encoding.js +11 -0
- package/esm/utils/encoding.js.map +1 -0
- package/esm/utils/index.js +1 -0
- package/esm/utils/index.js.map +1 -1
- package/package.json +44 -51
- package/src/adb.ts +243 -242
- package/src/auth.ts +166 -156
- package/src/backend.ts +20 -24
- package/src/commands/base.ts +11 -11
- package/src/commands/demo-mode.ts +160 -160
- package/src/commands/framebuffer.ts +73 -73
- package/src/commands/index.ts +8 -8
- package/src/commands/install.ts +21 -21
- package/src/commands/reverse.ts +134 -133
- package/src/commands/shell/index.ts +87 -68
- package/src/commands/shell/legacy.ts +59 -42
- package/src/commands/shell/protocol.ts +121 -94
- package/src/commands/shell/types.ts +55 -21
- package/src/commands/shell/utils.ts +20 -20
- package/src/commands/sync/index.ts +7 -7
- package/src/commands/sync/list.ts +39 -39
- package/src/commands/sync/pull.ts +34 -34
- package/src/commands/sync/push.ts +46 -46
- package/src/commands/sync/request.ts +49 -48
- package/src/commands/sync/response.ts +58 -57
- package/src/commands/sync/stat.ts +121 -121
- package/src/commands/sync/sync.ts +113 -113
- package/src/commands/tcpip.ts +21 -21
- package/src/crypto.ts +285 -280
- package/src/features.ts +5 -5
- package/src/index.ts +10 -10
- package/src/packet.ts +84 -89
- package/src/socket/close-event-emitter.ts +28 -28
- package/src/socket/controller.ts +105 -105
- package/src/socket/data-event-emitter.ts +27 -27
- package/src/socket/dispatcher.ts +269 -269
- package/src/socket/index.ts +6 -6
- package/src/socket/logger.ts +12 -12
- package/src/socket/socket.ts +28 -28
- package/src/stream/buffered-stream.ts +92 -100
- package/src/stream/index.ts +2 -2
- package/src/stream/stream.ts +50 -50
- package/src/utils/auto-reset-event.ts +41 -41
- package/src/utils/base64.ts +274 -274
- package/src/utils/chunk.ts +70 -70
- package/src/utils/encoding.ts +13 -0
- package/src/utils/event-queue.ts +145 -145
- package/src/utils/index.ts +5 -4
- package/cjs/adb.js +0 -205
- package/cjs/adb.js.map +0 -1
- package/cjs/auth.js +0 -141
- package/cjs/auth.js.map +0 -1
- package/cjs/backend.js +0 -3
- package/cjs/backend.js.map +0 -1
- package/cjs/commands/base.js +0 -12
- package/cjs/commands/base.js.map +0 -1
- package/cjs/commands/demo-mode.js +0 -174
- package/cjs/commands/demo-mode.js.map +0 -1
- package/cjs/commands/framebuffer.js +0 -66
- package/cjs/commands/framebuffer.js.map +0 -1
- package/cjs/commands/index.js +0 -12
- package/cjs/commands/index.js.map +0 -1
- package/cjs/commands/install.js +0 -20
- package/cjs/commands/install.js.map +0 -1
- package/cjs/commands/reverse.js +0 -105
- package/cjs/commands/reverse.js.map +0 -1
- package/cjs/commands/shell/index.js +0 -56
- package/cjs/commands/shell/index.js.map +0 -1
- package/cjs/commands/shell/legacy.js +0 -37
- package/cjs/commands/shell/legacy.js.map +0 -1
- package/cjs/commands/shell/protocol.js +0 -83
- package/cjs/commands/shell/protocol.js.map +0 -1
- package/cjs/commands/shell/types.js +0 -3
- package/cjs/commands/shell/types.js.map +0 -1
- package/cjs/commands/shell/utils.js +0 -23
- package/cjs/commands/shell/utils.js.map +0 -1
- package/cjs/commands/sync/index.js +0 -11
- package/cjs/commands/sync/index.js.map +0 -1
- package/cjs/commands/sync/list.js +0 -36
- package/cjs/commands/sync/list.js.map +0 -1
- package/cjs/commands/sync/pull.js +0 -34
- package/cjs/commands/sync/pull.js.map +0 -1
- package/cjs/commands/sync/push.js +0 -49
- package/cjs/commands/sync/push.js.map +0 -1
- package/cjs/commands/sync/request.js +0 -48
- package/cjs/commands/sync/request.js.map +0 -1
- package/cjs/commands/sync/response.js +0 -53
- package/cjs/commands/sync/response.js.map +0 -1
- package/cjs/commands/sync/stat.js +0 -109
- package/cjs/commands/sync/stat.js.map +0 -1
- package/cjs/commands/sync/sync.js +0 -118
- package/cjs/commands/sync/sync.js.map +0 -1
- package/cjs/commands/tcpip.js +0 -28
- package/cjs/commands/tcpip.js.map +0 -1
- package/cjs/crypto.js +0 -231
- package/cjs/crypto.js.map +0 -1
- package/cjs/features.js +0 -10
- package/cjs/features.js.map +0 -1
- package/cjs/index.js +0 -14
- package/cjs/index.js.map +0 -1
- package/cjs/packet.js +0 -77
- package/cjs/packet.js.map +0 -1
- package/cjs/socket/close-event-emitter.js +0 -32
- package/cjs/socket/close-event-emitter.js.map +0 -1
- package/cjs/socket/controller.js +0 -84
- package/cjs/socket/controller.js.map +0 -1
- package/cjs/socket/data-event-emitter.js +0 -29
- package/cjs/socket/data-event-emitter.js.map +0 -1
- package/cjs/socket/dispatcher.js +0 -219
- package/cjs/socket/dispatcher.js.map +0 -1
- package/cjs/socket/index.js +0 -10
- package/cjs/socket/index.js.map +0 -1
- package/cjs/socket/logger.js +0 -3
- package/cjs/socket/logger.js.map +0 -1
- package/cjs/socket/socket.js +0 -24
- package/cjs/socket/socket.js.map +0 -1
- package/cjs/stream/buffered-stream.js +0 -78
- package/cjs/stream/buffered-stream.js.map +0 -1
- package/cjs/stream/index.js +0 -6
- package/cjs/stream/index.js.map +0 -1
- package/cjs/stream/stream.js +0 -45
- package/cjs/stream/stream.js.map +0 -1
- package/cjs/utils/auto-reset-event.js +0 -37
- package/cjs/utils/auto-reset-event.js.map +0 -1
- package/cjs/utils/base64.js +0 -210
- package/cjs/utils/base64.js.map +0 -1
- package/cjs/utils/chunk.js +0 -75
- package/cjs/utils/chunk.js.map +0 -1
- package/cjs/utils/event-queue.js +0 -108
- package/cjs/utils/event-queue.js.map +0 -1
- package/cjs/utils/index.js +0 -8
- package/cjs/utils/index.js.map +0 -1
- package/tsconfig.cjs.json +0 -11
- package/tsconfig.esm.json +0 -28
- package/tsconfig.esm.tsbuildinfo +0 -1305
- package/tsconfig.json +0 -18
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AdbLegacyShell = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const event_1 = require("@yume-chan/event");
|
|
6
|
-
class AdbLegacyShell {
|
|
7
|
-
constructor(socket) {
|
|
8
|
-
this.stdoutEvent = new event_1.EventEmitter();
|
|
9
|
-
this.stderrEvent = new event_1.EventEmitter();
|
|
10
|
-
this.exitEvent = new event_1.EventEmitter();
|
|
11
|
-
this.socket = socket;
|
|
12
|
-
this.socket.onData(this.handleData, this);
|
|
13
|
-
this.socket.onClose(this.handleExit, this);
|
|
14
|
-
}
|
|
15
|
-
get onStdout() { return this.stdoutEvent.event; }
|
|
16
|
-
get onStderr() { return this.stderrEvent.event; }
|
|
17
|
-
get onExit() { return this.exitEvent.event; }
|
|
18
|
-
handleData(data) {
|
|
19
|
-
this.stdoutEvent.fire(data);
|
|
20
|
-
}
|
|
21
|
-
handleExit() {
|
|
22
|
-
this.exitEvent.fire(0);
|
|
23
|
-
}
|
|
24
|
-
write(data) {
|
|
25
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
this.socket.write(data);
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
resize() {
|
|
30
|
-
// Not supported
|
|
31
|
-
}
|
|
32
|
-
kill() {
|
|
33
|
-
return this.socket.close();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
exports.AdbLegacyShell = AdbLegacyShell;
|
|
37
|
-
//# sourceMappingURL=legacy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../../src/commands/shell/legacy.ts"],"names":[],"mappings":";;;;AAAA,4CAAgD;AAIhD,MAAa,cAAc;IAYvB,YAAmB,MAAiB;QATnB,gBAAW,GAAG,IAAI,oBAAY,EAAe,CAAC;QAG9C,gBAAW,GAAG,IAAI,oBAAY,EAAe,CAAC;QAG9C,cAAS,GAAG,IAAI,oBAAY,EAAU,CAAC;QAIpD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAZD,IAAW,QAAQ,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAGxD,IAAW,QAAQ,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAGxD,IAAW,MAAM,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAQ5C,UAAU,CAAC,IAAiB;QAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAEO,UAAU;QACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAEY,KAAK,CAAC,IAAiB;;YAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;KAAA;IAEM,MAAM;QACT,gBAAgB;IACpB,CAAC;IAEM,IAAI;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACJ;AArCD,wCAqCC"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AdbShellProtocol = exports.AdbShellProtocolId = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const event_1 = require("@yume-chan/event");
|
|
6
|
-
const struct_1 = tslib_1.__importStar(require("@yume-chan/struct"));
|
|
7
|
-
const stream_1 = require("../../stream");
|
|
8
|
-
var AdbShellProtocolId;
|
|
9
|
-
(function (AdbShellProtocolId) {
|
|
10
|
-
AdbShellProtocolId[AdbShellProtocolId["Stdin"] = 0] = "Stdin";
|
|
11
|
-
AdbShellProtocolId[AdbShellProtocolId["Stdout"] = 1] = "Stdout";
|
|
12
|
-
AdbShellProtocolId[AdbShellProtocolId["Stderr"] = 2] = "Stderr";
|
|
13
|
-
AdbShellProtocolId[AdbShellProtocolId["Exit"] = 3] = "Exit";
|
|
14
|
-
AdbShellProtocolId[AdbShellProtocolId["CloseStdin"] = 4] = "CloseStdin";
|
|
15
|
-
AdbShellProtocolId[AdbShellProtocolId["WindowSizeChange"] = 5] = "WindowSizeChange";
|
|
16
|
-
})(AdbShellProtocolId = exports.AdbShellProtocolId || (exports.AdbShellProtocolId = {}));
|
|
17
|
-
const AdbShellProtocolPacket = new struct_1.default({ littleEndian: true })
|
|
18
|
-
.uint8('id', struct_1.placeholder())
|
|
19
|
-
.uint32('length')
|
|
20
|
-
.arrayBuffer('data', { lengthField: 'length' });
|
|
21
|
-
/**
|
|
22
|
-
* Shell v2 is also called Shell Protocol
|
|
23
|
-
*/
|
|
24
|
-
class AdbShellProtocol {
|
|
25
|
-
constructor(socket) {
|
|
26
|
-
this.stdoutEvent = new event_1.EventEmitter();
|
|
27
|
-
this.stderrEvent = new event_1.EventEmitter();
|
|
28
|
-
this.exitEvent = new event_1.EventEmitter();
|
|
29
|
-
this.stream = new stream_1.AdbBufferedStream(socket);
|
|
30
|
-
this.readData();
|
|
31
|
-
}
|
|
32
|
-
get onStdout() { return this.stdoutEvent.event; }
|
|
33
|
-
get onStderr() { return this.stderrEvent.event; }
|
|
34
|
-
get onExit() { return this.exitEvent.event; }
|
|
35
|
-
readData() {
|
|
36
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
while (true) {
|
|
38
|
-
try {
|
|
39
|
-
const packet = yield AdbShellProtocolPacket.deserialize(this.stream);
|
|
40
|
-
switch (packet.id) {
|
|
41
|
-
case AdbShellProtocolId.Stdout:
|
|
42
|
-
this.stdoutEvent.fire(packet.data);
|
|
43
|
-
break;
|
|
44
|
-
case AdbShellProtocolId.Stderr:
|
|
45
|
-
this.stderrEvent.fire(packet.data);
|
|
46
|
-
break;
|
|
47
|
-
case AdbShellProtocolId.Exit:
|
|
48
|
-
this.exitEvent.fire(new Uint8Array(packet.data)[0]);
|
|
49
|
-
break;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
catch (_a) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
write(data) {
|
|
59
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
60
|
-
this.stream.write(AdbShellProtocolPacket.serialize({
|
|
61
|
-
id: AdbShellProtocolId.Stdin,
|
|
62
|
-
data,
|
|
63
|
-
}, this.stream));
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
resize(rows, cols) {
|
|
67
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
68
|
-
this.stream.write(AdbShellProtocolPacket.serialize({
|
|
69
|
-
id: AdbShellProtocolId.WindowSizeChange,
|
|
70
|
-
data: this.stream.encodeUtf8(
|
|
71
|
-
// Correct format is ${rows}x${cols},${x_pixels}x${y_pixels}
|
|
72
|
-
// But from https://linux.die.net/man/4/tty_ioctl
|
|
73
|
-
// x_pixels and y_pixels are unused
|
|
74
|
-
`${rows}x${cols},${0}x${0}\0`),
|
|
75
|
-
}, this.stream));
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
kill() {
|
|
79
|
-
return this.stream.close();
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
exports.AdbShellProtocol = AdbShellProtocol;
|
|
83
|
-
//# sourceMappingURL=protocol.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/commands/shell/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/shell/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.escapeArg = void 0;
|
|
4
|
-
function escapeArg(s) {
|
|
5
|
-
let result = '';
|
|
6
|
-
result += `'`;
|
|
7
|
-
let base = 0;
|
|
8
|
-
while (true) {
|
|
9
|
-
const found = s.indexOf(`'`, base);
|
|
10
|
-
if (found === -1) {
|
|
11
|
-
result += s.substring(base);
|
|
12
|
-
break;
|
|
13
|
-
}
|
|
14
|
-
result += s.substring(base, found);
|
|
15
|
-
// a'b becomes a'\'b
|
|
16
|
-
result += String.raw `'\''`;
|
|
17
|
-
base = found + 1;
|
|
18
|
-
}
|
|
19
|
-
result += `'`;
|
|
20
|
-
return result;
|
|
21
|
-
}
|
|
22
|
-
exports.escapeArg = escapeArg;
|
|
23
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/shell/utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,SAAS,CAAC,CAAS;IAC/B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,IAAI,GAAG,CAAC;IAEd,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,OAAO,IAAI,EAAE;QACT,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM;SACT;QACD,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnC,oBAAoB;QACpB,MAAM,IAAI,MAAM,CAAC,GAAG,CAAA,MAAM,CAAC;QAC3B,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;KACpB;IAED,MAAM,IAAI,GAAG,CAAC;IACd,OAAO,MAAM,CAAC;AAClB,CAAC;AAnBD,8BAmBC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./list"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./pull"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./request"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./response"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./push"), exports);
|
|
9
|
-
tslib_1.__exportStar(require("./stat"), exports);
|
|
10
|
-
tslib_1.__exportStar(require("./sync"), exports);
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/sync/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,iDAAuB;AACvB,oDAA0B;AAC1B,qDAA2B;AAC3B,iDAAuB;AACvB,iDAAuB;AACvB,iDAAuB"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.adbSyncOpenDir = exports.AdbSyncEntryResponse = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const struct_1 = tslib_1.__importDefault(require("@yume-chan/struct"));
|
|
6
|
-
const request_1 = require("./request");
|
|
7
|
-
const response_1 = require("./response");
|
|
8
|
-
const stat_1 = require("./stat");
|
|
9
|
-
exports.AdbSyncEntryResponse = new struct_1.default({ littleEndian: true })
|
|
10
|
-
.fields(stat_1.AdbSyncLstatResponse)
|
|
11
|
-
.uint32('nameLength')
|
|
12
|
-
.string('name', { lengthField: 'nameLength' })
|
|
13
|
-
.extra({ id: response_1.AdbSyncResponseId.Entry });
|
|
14
|
-
const ResponseTypes = {
|
|
15
|
-
[response_1.AdbSyncResponseId.Entry]: exports.AdbSyncEntryResponse,
|
|
16
|
-
[response_1.AdbSyncResponseId.Done]: new response_1.AdbSyncDoneResponse(exports.AdbSyncEntryResponse.size),
|
|
17
|
-
};
|
|
18
|
-
function adbSyncOpenDir(stream, path) {
|
|
19
|
-
return tslib_1.__asyncGenerator(this, arguments, function* adbSyncOpenDir_1() {
|
|
20
|
-
yield tslib_1.__await(request_1.adbSyncWriteRequest(stream, request_1.AdbSyncRequestId.List, path));
|
|
21
|
-
while (true) {
|
|
22
|
-
const response = yield tslib_1.__await(response_1.adbSyncReadResponse(stream, ResponseTypes));
|
|
23
|
-
switch (response.id) {
|
|
24
|
-
case response_1.AdbSyncResponseId.Entry:
|
|
25
|
-
yield yield tslib_1.__await(response);
|
|
26
|
-
break;
|
|
27
|
-
case response_1.AdbSyncResponseId.Done:
|
|
28
|
-
return yield tslib_1.__await(void 0);
|
|
29
|
-
default:
|
|
30
|
-
throw new Error('Unexpected response id');
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
exports.adbSyncOpenDir = adbSyncOpenDir;
|
|
36
|
-
//# sourceMappingURL=list.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/sync/list.ts"],"names":[],"mappings":";;;;AAAA,uEAAuC;AAEvC,uCAAkE;AAClE,yCAAyF;AACzF,iCAA8C;AAEjC,QAAA,oBAAoB,GAC7B,IAAI,gBAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,2BAAoB,CAAC;KAC5B,MAAM,CAAC,YAAY,CAAC;KACpB,MAAM,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;KAC7C,KAAK,CAAC,EAAE,EAAE,EAAE,4BAAiB,CAAC,KAAc,EAAE,CAAC,CAAC;AAIzD,MAAM,aAAa,GAAG;IAClB,CAAC,4BAAiB,CAAC,KAAK,CAAC,EAAE,4BAAoB;IAC/C,CAAC,4BAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,8BAAmB,CAAC,4BAAoB,CAAC,IAAI,CAAC;CAC/E,CAAC;AAEF,SAAuB,cAAc,CACjC,MAAyB,EACzB,IAAY;;QAEZ,sBAAM,6BAAmB,CAAC,MAAM,EAAE,0BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA,CAAC;QAE/D,OAAO,IAAI,EAAE;YACT,MAAM,QAAQ,GAAG,sBAAM,8BAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA,CAAC;YAClE,QAAQ,QAAQ,CAAC,EAAE,EAAE;gBACjB,KAAK,4BAAiB,CAAC,KAAK;oBACxB,4BAAM,QAAQ,CAAA,CAAC;oBACf,MAAM;gBACV,KAAK,4BAAiB,CAAC,IAAI;oBACvB,qCAAO;gBACX;oBACI,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;aACjD;SACJ;IACL,CAAC;CAAA;AAlBD,wCAkBC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.adbSyncPull = exports.AdbSyncDataResponse = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const struct_1 = tslib_1.__importDefault(require("@yume-chan/struct"));
|
|
6
|
-
const request_1 = require("./request");
|
|
7
|
-
const response_1 = require("./response");
|
|
8
|
-
exports.AdbSyncDataResponse = new struct_1.default({ littleEndian: true })
|
|
9
|
-
.uint32('dataLength')
|
|
10
|
-
.arrayBuffer('data', { lengthField: 'dataLength' })
|
|
11
|
-
.extra({ id: response_1.AdbSyncResponseId.Data });
|
|
12
|
-
const ResponseTypes = {
|
|
13
|
-
[response_1.AdbSyncResponseId.Data]: exports.AdbSyncDataResponse,
|
|
14
|
-
[response_1.AdbSyncResponseId.Done]: new response_1.AdbSyncDoneResponse(exports.AdbSyncDataResponse.size),
|
|
15
|
-
};
|
|
16
|
-
function adbSyncPull(stream, path) {
|
|
17
|
-
return tslib_1.__asyncGenerator(this, arguments, function* adbSyncPull_1() {
|
|
18
|
-
yield tslib_1.__await(request_1.adbSyncWriteRequest(stream, request_1.AdbSyncRequestId.Receive, path));
|
|
19
|
-
while (true) {
|
|
20
|
-
const response = yield tslib_1.__await(response_1.adbSyncReadResponse(stream, ResponseTypes));
|
|
21
|
-
switch (response.id) {
|
|
22
|
-
case response_1.AdbSyncResponseId.Data:
|
|
23
|
-
yield yield tslib_1.__await(response.data);
|
|
24
|
-
break;
|
|
25
|
-
case response_1.AdbSyncResponseId.Done:
|
|
26
|
-
return yield tslib_1.__await(void 0);
|
|
27
|
-
default:
|
|
28
|
-
throw new Error('Unexpected response id');
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
exports.adbSyncPull = adbSyncPull;
|
|
34
|
-
//# sourceMappingURL=pull.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/commands/sync/pull.ts"],"names":[],"mappings":";;;;AAAA,uEAAuC;AAEvC,uCAAkE;AAClE,yCAAyF;AAE5E,QAAA,mBAAmB,GAC5B,IAAI,gBAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,YAAY,CAAC;KACpB,WAAW,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;KAClD,KAAK,CAAC,EAAE,EAAE,EAAE,4BAAiB,CAAC,IAAa,EAAE,CAAC,CAAC;AAExD,MAAM,aAAa,GAAG;IAClB,CAAC,4BAAiB,CAAC,IAAI,CAAC,EAAE,2BAAmB;IAC7C,CAAC,4BAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,8BAAmB,CAAC,2BAAmB,CAAC,IAAI,CAAC;CAC9E,CAAC;AAEF,SAAuB,WAAW,CAC9B,MAAyB,EACzB,IAAY;;QAEZ,sBAAM,6BAAmB,CAAC,MAAM,EAAE,0BAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA,CAAC;QAClE,OAAO,IAAI,EAAE;YACT,MAAM,QAAQ,GAAG,sBAAM,8BAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA,CAAC;YAClE,QAAQ,QAAQ,CAAC,EAAE,EAAE;gBACjB,KAAK,4BAAiB,CAAC,IAAI;oBACvB,4BAAM,QAAQ,CAAC,IAAK,CAAA,CAAC;oBACrB,MAAM;gBACV,KAAK,4BAAiB,CAAC,IAAI;oBACvB,qCAAO;gBACX;oBACI,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;aACjD;SACJ;IACL,CAAC;CAAA;AAjBD,kCAiBC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.adbSyncPush = exports.AdbSyncMaxPacketSize = exports.AdbSyncOkResponse = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const struct_1 = tslib_1.__importDefault(require("@yume-chan/struct"));
|
|
6
|
-
const utils_1 = require("../../utils");
|
|
7
|
-
const request_1 = require("./request");
|
|
8
|
-
const response_1 = require("./response");
|
|
9
|
-
const stat_1 = require("./stat");
|
|
10
|
-
exports.AdbSyncOkResponse = new struct_1.default({ littleEndian: true })
|
|
11
|
-
.uint32('unused');
|
|
12
|
-
const ResponseTypes = {
|
|
13
|
-
[response_1.AdbSyncResponseId.Ok]: exports.AdbSyncOkResponse,
|
|
14
|
-
};
|
|
15
|
-
exports.AdbSyncMaxPacketSize = 64 * 1024;
|
|
16
|
-
function adbSyncPush(stream, filename, content, mode = (stat_1.LinuxFileType.File << 12) | 0o666, mtime = (Date.now() / 1000) | 0, packetSize = exports.AdbSyncMaxPacketSize, onProgress) {
|
|
17
|
-
var e_1, _a;
|
|
18
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
19
|
-
const pathAndMode = `${filename},${mode.toString()}`;
|
|
20
|
-
yield request_1.adbSyncWriteRequest(stream, request_1.AdbSyncRequestId.Send, pathAndMode);
|
|
21
|
-
let chunkReader;
|
|
22
|
-
if ('length' in content || 'byteLength' in content) {
|
|
23
|
-
chunkReader = utils_1.chunkArrayLike(content, packetSize);
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
chunkReader = utils_1.chunkAsyncIterable(content, packetSize);
|
|
27
|
-
}
|
|
28
|
-
let uploaded = 0;
|
|
29
|
-
try {
|
|
30
|
-
for (var chunkReader_1 = tslib_1.__asyncValues(chunkReader), chunkReader_1_1; chunkReader_1_1 = yield chunkReader_1.next(), !chunkReader_1_1.done;) {
|
|
31
|
-
const buffer = chunkReader_1_1.value;
|
|
32
|
-
yield request_1.adbSyncWriteRequest(stream, request_1.AdbSyncRequestId.Data, buffer);
|
|
33
|
-
uploaded += buffer.byteLength;
|
|
34
|
-
onProgress === null || onProgress === void 0 ? void 0 : onProgress(uploaded);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
38
|
-
finally {
|
|
39
|
-
try {
|
|
40
|
-
if (chunkReader_1_1 && !chunkReader_1_1.done && (_a = chunkReader_1.return)) yield _a.call(chunkReader_1);
|
|
41
|
-
}
|
|
42
|
-
finally { if (e_1) throw e_1.error; }
|
|
43
|
-
}
|
|
44
|
-
yield request_1.adbSyncWriteRequest(stream, request_1.AdbSyncRequestId.Done, mtime);
|
|
45
|
-
yield response_1.adbSyncReadResponse(stream, ResponseTypes);
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
exports.adbSyncPush = adbSyncPush;
|
|
49
|
-
//# sourceMappingURL=push.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":";;;;AAAA,uEAAuC;AAEvC,uCAAiE;AACjE,uCAAkE;AAClE,yCAAoE;AACpE,iCAAuC;AAE1B,QAAA,iBAAiB,GAC1B,IAAI,gBAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,QAAQ,CAAC,CAAC;AAE1B,MAAM,aAAa,GAAG;IAClB,CAAC,4BAAiB,CAAC,EAAE,CAAC,EAAE,yBAAiB;CAC5C,CAAC;AAEW,QAAA,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;AAE9C,SAAsB,WAAW,CAC7B,MAAyB,EACzB,QAAgB,EAChB,OAAyE,EACzE,OAAe,CAAC,oBAAa,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,EACjD,QAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EACvC,aAAqB,4BAAoB,EACzC,UAAuC;;;QAEvC,MAAM,WAAW,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACrD,MAAM,6BAAmB,CAAC,MAAM,EAAE,0BAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAEtE,IAAI,WAA+D,CAAC;QACpE,IAAI,QAAQ,IAAI,OAAO,IAAI,YAAY,IAAI,OAAO,EAAE;YAChD,WAAW,GAAG,sBAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SACrD;aAAM;YACH,WAAW,GAAG,0BAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SACzD;QAED,IAAI,QAAQ,GAAG,CAAC,CAAC;;YACjB,KAA2B,IAAA,gBAAA,sBAAA,WAAW,CAAA,iBAAA;gBAA3B,MAAM,MAAM,wBAAA,CAAA;gBACnB,MAAM,6BAAmB,CAAC,MAAM,EAAE,0BAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACjE,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC;gBAC9B,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,QAAQ,CAAC,CAAC;aAC1B;;;;;;;;;QAED,MAAM,6BAAmB,CAAC,MAAM,EAAE,0BAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,8BAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;;CACpD;AA5BD,kCA4BC"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.adbSyncWriteRequest = exports.AdbSyncDataRequest = exports.AdbSyncNumberRequest = exports.AdbSyncRequestId = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const struct_1 = tslib_1.__importDefault(require("@yume-chan/struct"));
|
|
6
|
-
var AdbSyncRequestId;
|
|
7
|
-
(function (AdbSyncRequestId) {
|
|
8
|
-
AdbSyncRequestId["List"] = "LIST";
|
|
9
|
-
AdbSyncRequestId["Send"] = "SEND";
|
|
10
|
-
AdbSyncRequestId["Lstat"] = "STAT";
|
|
11
|
-
AdbSyncRequestId["Stat"] = "STA2";
|
|
12
|
-
AdbSyncRequestId["Lstat2"] = "LST2";
|
|
13
|
-
AdbSyncRequestId["Data"] = "DATA";
|
|
14
|
-
AdbSyncRequestId["Done"] = "DONE";
|
|
15
|
-
AdbSyncRequestId["Receive"] = "RECV";
|
|
16
|
-
})(AdbSyncRequestId = exports.AdbSyncRequestId || (exports.AdbSyncRequestId = {}));
|
|
17
|
-
exports.AdbSyncNumberRequest = new struct_1.default({ littleEndian: true })
|
|
18
|
-
.string('id', { length: 4 })
|
|
19
|
-
.uint32('arg');
|
|
20
|
-
exports.AdbSyncDataRequest = new struct_1.default({ littleEndian: true })
|
|
21
|
-
.fields(exports.AdbSyncNumberRequest)
|
|
22
|
-
.arrayBuffer('data', { lengthField: 'arg' });
|
|
23
|
-
function adbSyncWriteRequest(stream, id, value) {
|
|
24
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
let buffer;
|
|
26
|
-
if (typeof value === 'number') {
|
|
27
|
-
buffer = exports.AdbSyncNumberRequest.serialize({
|
|
28
|
-
id,
|
|
29
|
-
arg: value,
|
|
30
|
-
}, stream);
|
|
31
|
-
}
|
|
32
|
-
else if (typeof value === 'string') {
|
|
33
|
-
buffer = exports.AdbSyncDataRequest.serialize({
|
|
34
|
-
id,
|
|
35
|
-
data: stream.encodeUtf8(value),
|
|
36
|
-
}, stream);
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
buffer = exports.AdbSyncDataRequest.serialize({
|
|
40
|
-
id,
|
|
41
|
-
data: value,
|
|
42
|
-
}, stream);
|
|
43
|
-
}
|
|
44
|
-
yield stream.write(buffer);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
exports.adbSyncWriteRequest = adbSyncWriteRequest;
|
|
48
|
-
//# sourceMappingURL=request.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/commands/sync/request.ts"],"names":[],"mappings":";;;;AAAA,uEAAuC;AAGvC,IAAY,gBASX;AATD,WAAY,gBAAgB;IACxB,iCAAa,CAAA;IACb,iCAAa,CAAA;IACb,kCAAc,CAAA;IACd,iCAAa,CAAA;IACb,mCAAe,CAAA;IACf,iCAAa,CAAA;IACb,iCAAa,CAAA;IACb,oCAAgB,CAAA;AACpB,CAAC,EATW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAS3B;AAEY,QAAA,oBAAoB,GAC7B,IAAI,gBAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;KAC3B,MAAM,CAAC,KAAK,CAAC,CAAC;AAEV,QAAA,kBAAkB,GAC3B,IAAI,gBAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,4BAAoB,CAAC;KAC5B,WAAW,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AAErD,SAAsB,mBAAmB,CACrC,MAAyB,EACzB,EAA6B,EAC7B,KAAoC;;QAEpC,IAAI,MAAmB,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,MAAM,GAAG,4BAAoB,CAAC,SAAS,CAAC;gBACpC,EAAE;gBACF,GAAG,EAAE,KAAK;aACb,EAAE,MAAM,CAAC,CAAC;SACd;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAClC,MAAM,GAAG,0BAAkB,CAAC,SAAS,CAAC;gBAClC,EAAE;gBACF,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;aACjC,EAAE,MAAM,CAAC,CAAC;SACd;aAAM;YACH,MAAM,GAAG,0BAAkB,CAAC,SAAS,CAAC;gBAClC,EAAE;gBACF,IAAI,EAAE,KAAK;aACd,EAAE,MAAM,CAAC,CAAC;SACd;QACD,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CAAA;AAvBD,kDAuBC"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.adbSyncReadResponse = exports.AdbSyncFailResponse = exports.AdbSyncDoneResponse = exports.AdbSyncResponseId = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const struct_1 = tslib_1.__importDefault(require("@yume-chan/struct"));
|
|
6
|
-
var AdbSyncResponseId;
|
|
7
|
-
(function (AdbSyncResponseId) {
|
|
8
|
-
AdbSyncResponseId["Entry"] = "DENT";
|
|
9
|
-
AdbSyncResponseId["Lstat"] = "STAT";
|
|
10
|
-
AdbSyncResponseId["Stat"] = "STA2";
|
|
11
|
-
AdbSyncResponseId["Lstat2"] = "LST2";
|
|
12
|
-
AdbSyncResponseId["Done"] = "DONE";
|
|
13
|
-
AdbSyncResponseId["Data"] = "DATA";
|
|
14
|
-
AdbSyncResponseId["Ok"] = "OKAY";
|
|
15
|
-
AdbSyncResponseId["Fail"] = "FAIL";
|
|
16
|
-
})(AdbSyncResponseId = exports.AdbSyncResponseId || (exports.AdbSyncResponseId = {}));
|
|
17
|
-
// DONE responses' size are always same as the request's normal response.
|
|
18
|
-
// For example DONE responses for LIST requests are 16 bytes (same as DENT responses),
|
|
19
|
-
// but DONE responses for STAT requests are 12 bytes (same as STAT responses)
|
|
20
|
-
// So we need to know responses' size in advance.
|
|
21
|
-
class AdbSyncDoneResponse {
|
|
22
|
-
constructor(length) {
|
|
23
|
-
this.id = AdbSyncResponseId.Done;
|
|
24
|
-
this.length = length;
|
|
25
|
-
}
|
|
26
|
-
deserialize(context) {
|
|
27
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
yield context.read(this.length);
|
|
29
|
-
return this;
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.AdbSyncDoneResponse = AdbSyncDoneResponse;
|
|
34
|
-
exports.AdbSyncFailResponse = new struct_1.default({ littleEndian: true })
|
|
35
|
-
.uint32('messageLength')
|
|
36
|
-
.string('message', { lengthField: 'messageLength' })
|
|
37
|
-
.postDeserialize(object => {
|
|
38
|
-
throw new Error(object.message);
|
|
39
|
-
});
|
|
40
|
-
function adbSyncReadResponse(stream, types) {
|
|
41
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
const id = stream.backend.decodeUtf8(yield stream.read(4));
|
|
43
|
-
if (id === AdbSyncResponseId.Fail) {
|
|
44
|
-
yield exports.AdbSyncFailResponse.deserialize(stream);
|
|
45
|
-
}
|
|
46
|
-
if (types[id]) {
|
|
47
|
-
return types[id].deserialize(stream);
|
|
48
|
-
}
|
|
49
|
-
throw new Error('Unexpected response id');
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
exports.adbSyncReadResponse = adbSyncReadResponse;
|
|
53
|
-
//# sourceMappingURL=response.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/commands/sync/response.ts"],"names":[],"mappings":";;;;AAAA,uEAAsG;AAGtG,IAAY,iBASX;AATD,WAAY,iBAAiB;IACzB,mCAAc,CAAA;IACd,mCAAc,CAAA;IACd,kCAAa,CAAA;IACb,oCAAe,CAAA;IACf,kCAAa,CAAA;IACb,kCAAa,CAAA;IACb,gCAAW,CAAA;IACX,kCAAa,CAAA;AACjB,CAAC,EATW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAS5B;AAED,yEAAyE;AACzE,sFAAsF;AACtF,6EAA6E;AAC7E,iDAAiD;AACjD,MAAa,mBAAmB;IAK5B,YAAmB,MAAc;QAFjB,OAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC;QAGxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAEY,WAAW,CAAC,OAAqC;;YAC1D,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;CACJ;AAbD,kDAaC;AAEY,QAAA,mBAAmB,GAC5B,IAAI,gBAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,eAAe,CAAC;KACvB,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;KACnD,eAAe,CAAC,MAAM,CAAC,EAAE;IACtB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEX,SAAsB,mBAAmB,CACrC,MAAyB,EACzB,KAAQ;;QAER,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3D,IAAI,EAAE,KAAK,iBAAiB,CAAC,IAAI,EAAE;YAC/B,MAAM,2BAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACjD;QAED,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;YACX,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACxC;QAED,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;CAAA;AAfD,kDAeC"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.adbSyncStat = exports.adbSyncLstat = exports.AdbSyncStatResponse = exports.AdbSyncStatErrorCode = exports.AdbSyncLstatResponse = exports.LinuxFileType = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const struct_1 = tslib_1.__importStar(require("@yume-chan/struct"));
|
|
6
|
-
const request_1 = require("./request");
|
|
7
|
-
const response_1 = require("./response");
|
|
8
|
-
// https://github.com/python/cpython/blob/4e581d64b8aff3e2eda99b12f080c877bb78dfca/Lib/stat.py#L36
|
|
9
|
-
var LinuxFileType;
|
|
10
|
-
(function (LinuxFileType) {
|
|
11
|
-
LinuxFileType[LinuxFileType["Directory"] = 4] = "Directory";
|
|
12
|
-
LinuxFileType[LinuxFileType["File"] = 8] = "File";
|
|
13
|
-
LinuxFileType[LinuxFileType["Link"] = 10] = "Link";
|
|
14
|
-
})(LinuxFileType = exports.LinuxFileType || (exports.LinuxFileType = {}));
|
|
15
|
-
exports.AdbSyncLstatResponse = new struct_1.default({ littleEndian: true })
|
|
16
|
-
.int32('mode')
|
|
17
|
-
.int32('size')
|
|
18
|
-
.int32('mtime')
|
|
19
|
-
.extra({
|
|
20
|
-
id: response_1.AdbSyncResponseId.Lstat,
|
|
21
|
-
get type() { return this.mode >> 12; },
|
|
22
|
-
get permission() { return this.mode & 4095; },
|
|
23
|
-
})
|
|
24
|
-
.postDeserialize((object) => {
|
|
25
|
-
if (object.mode === 0 &&
|
|
26
|
-
object.size === 0 &&
|
|
27
|
-
object.mtime === 0) {
|
|
28
|
-
throw new Error('lstat failed');
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
var AdbSyncStatErrorCode;
|
|
32
|
-
(function (AdbSyncStatErrorCode) {
|
|
33
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["EACCES"] = 13] = "EACCES";
|
|
34
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["EEXIST"] = 17] = "EEXIST";
|
|
35
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["EFAULT"] = 14] = "EFAULT";
|
|
36
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["EFBIG"] = 27] = "EFBIG";
|
|
37
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["EINTR"] = 4] = "EINTR";
|
|
38
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["EINVAL"] = 22] = "EINVAL";
|
|
39
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["EIO"] = 5] = "EIO";
|
|
40
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["EISDIR"] = 21] = "EISDIR";
|
|
41
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["ELOOP"] = 40] = "ELOOP";
|
|
42
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["EMFILE"] = 24] = "EMFILE";
|
|
43
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["ENAMETOOLONG"] = 36] = "ENAMETOOLONG";
|
|
44
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["ENFILE"] = 23] = "ENFILE";
|
|
45
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["ENOENT"] = 2] = "ENOENT";
|
|
46
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["ENOMEM"] = 12] = "ENOMEM";
|
|
47
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["ENOSPC"] = 28] = "ENOSPC";
|
|
48
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["ENOTDIR"] = 20] = "ENOTDIR";
|
|
49
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["EOVERFLOW"] = 75] = "EOVERFLOW";
|
|
50
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["EPERM"] = 1] = "EPERM";
|
|
51
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["EROFS"] = 30] = "EROFS";
|
|
52
|
-
AdbSyncStatErrorCode[AdbSyncStatErrorCode["ETXTBSY"] = 26] = "ETXTBSY";
|
|
53
|
-
})(AdbSyncStatErrorCode = exports.AdbSyncStatErrorCode || (exports.AdbSyncStatErrorCode = {}));
|
|
54
|
-
exports.AdbSyncStatResponse = new struct_1.default({ littleEndian: true })
|
|
55
|
-
.uint32('error', struct_1.placeholder())
|
|
56
|
-
.uint64('dev')
|
|
57
|
-
.uint64('ino')
|
|
58
|
-
.uint32('mode')
|
|
59
|
-
.uint32('nlink')
|
|
60
|
-
.uint32('uid')
|
|
61
|
-
.uint32('gid')
|
|
62
|
-
.uint64('size')
|
|
63
|
-
.uint64('atime')
|
|
64
|
-
.uint64('mtime')
|
|
65
|
-
.uint64('ctime')
|
|
66
|
-
.extra({
|
|
67
|
-
id: response_1.AdbSyncResponseId.Stat,
|
|
68
|
-
get type() { return this.mode >> 12; },
|
|
69
|
-
get permission() { return this.mode & 4095; },
|
|
70
|
-
})
|
|
71
|
-
.postDeserialize((object) => {
|
|
72
|
-
if (object.error) {
|
|
73
|
-
throw new Error(AdbSyncStatErrorCode[object.error]);
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
const StatResponseType = {
|
|
77
|
-
[response_1.AdbSyncResponseId.Stat]: exports.AdbSyncStatResponse,
|
|
78
|
-
};
|
|
79
|
-
const LstatResponseType = {
|
|
80
|
-
[response_1.AdbSyncResponseId.Lstat]: exports.AdbSyncLstatResponse,
|
|
81
|
-
};
|
|
82
|
-
const Lstat2ResponseType = {
|
|
83
|
-
[response_1.AdbSyncResponseId.Lstat2]: exports.AdbSyncStatResponse,
|
|
84
|
-
};
|
|
85
|
-
function adbSyncLstat(stream, path, v2) {
|
|
86
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
87
|
-
let requestId;
|
|
88
|
-
let responseType;
|
|
89
|
-
if (v2) {
|
|
90
|
-
requestId = request_1.AdbSyncRequestId.Lstat2;
|
|
91
|
-
responseType = Lstat2ResponseType;
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
requestId = request_1.AdbSyncRequestId.Lstat;
|
|
95
|
-
responseType = LstatResponseType;
|
|
96
|
-
}
|
|
97
|
-
yield request_1.adbSyncWriteRequest(stream, requestId, path);
|
|
98
|
-
return response_1.adbSyncReadResponse(stream, responseType);
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
exports.adbSyncLstat = adbSyncLstat;
|
|
102
|
-
function adbSyncStat(stream, path) {
|
|
103
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
104
|
-
yield request_1.adbSyncWriteRequest(stream, request_1.AdbSyncRequestId.Stat, path);
|
|
105
|
-
return response_1.adbSyncReadResponse(stream, StatResponseType);
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
exports.adbSyncStat = adbSyncStat;
|
|
109
|
-
//# sourceMappingURL=stat.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stat.js","sourceRoot":"","sources":["../../../src/commands/sync/stat.ts"],"names":[],"mappings":"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"}
|