@yume-chan/adb 0.0.15 → 0.0.17

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.
Files changed (196) hide show
  1. package/CHANGELOG.json +33 -0
  2. package/CHANGELOG.md +18 -1
  3. package/LICENSE +21 -21
  4. package/README.md +247 -247
  5. package/esm/adb.d.ts +15 -3
  6. package/esm/adb.d.ts.map +1 -1
  7. package/esm/adb.js +18 -6
  8. package/esm/adb.js.map +1 -1
  9. package/esm/auth.d.ts.map +1 -1
  10. package/esm/auth.js.map +1 -1
  11. package/esm/backend.d.ts +2 -2
  12. package/esm/backend.d.ts.map +1 -1
  13. package/esm/commands/base.d.ts.map +1 -1
  14. package/esm/commands/base.js.map +1 -1
  15. package/esm/commands/framebuffer.d.ts +17 -1
  16. package/esm/commands/framebuffer.d.ts.map +1 -1
  17. package/esm/commands/framebuffer.js +4 -15
  18. package/esm/commands/framebuffer.js.map +1 -1
  19. package/esm/commands/install.d.ts +2 -2
  20. package/esm/commands/install.d.ts.map +1 -1
  21. package/esm/commands/install.js +3 -2
  22. package/esm/commands/install.js.map +1 -1
  23. package/esm/commands/power.d.ts +1 -1
  24. package/esm/commands/power.js +1 -1
  25. package/esm/commands/reverse.d.ts +3 -3
  26. package/esm/commands/reverse.d.ts.map +1 -1
  27. package/esm/commands/reverse.js +9 -9
  28. package/esm/commands/reverse.js.map +1 -1
  29. package/esm/commands/subprocess/command.d.ts +52 -0
  30. package/esm/commands/subprocess/command.d.ts.map +1 -0
  31. package/esm/commands/subprocess/command.js +83 -0
  32. package/esm/commands/subprocess/command.js.map +1 -0
  33. package/esm/commands/subprocess/index.d.ts +1 -53
  34. package/esm/commands/subprocess/index.d.ts.map +1 -1
  35. package/esm/commands/subprocess/index.js +1 -85
  36. package/esm/commands/subprocess/index.js.map +1 -1
  37. package/esm/commands/subprocess/protocols/none.d.ts +5 -4
  38. package/esm/commands/subprocess/protocols/none.d.ts.map +1 -1
  39. package/esm/commands/subprocess/protocols/none.js +11 -8
  40. package/esm/commands/subprocess/protocols/none.js.map +1 -1
  41. package/esm/commands/subprocess/protocols/shell.d.ts +4 -4
  42. package/esm/commands/subprocess/protocols/shell.d.ts.map +1 -1
  43. package/esm/commands/subprocess/protocols/shell.js +6 -6
  44. package/esm/commands/subprocess/protocols/shell.js.map +1 -1
  45. package/esm/commands/subprocess/protocols/types.d.ts +7 -7
  46. package/esm/commands/subprocess/protocols/types.d.ts.map +1 -1
  47. package/esm/commands/sync/index.d.ts +1 -1
  48. package/esm/commands/sync/index.d.ts.map +1 -1
  49. package/esm/commands/sync/index.js +1 -1
  50. package/esm/commands/sync/index.js.map +1 -1
  51. package/esm/commands/sync/list.d.ts +2 -2
  52. package/esm/commands/sync/list.d.ts.map +1 -1
  53. package/esm/commands/sync/list.js +15 -43
  54. package/esm/commands/sync/list.js.map +1 -1
  55. package/esm/commands/sync/pull.d.ts +3 -2
  56. package/esm/commands/sync/pull.d.ts.map +1 -1
  57. package/esm/commands/sync/pull.js +15 -17
  58. package/esm/commands/sync/pull.js.map +1 -1
  59. package/esm/commands/sync/push.d.ts +2 -2
  60. package/esm/commands/sync/push.d.ts.map +1 -1
  61. package/esm/commands/sync/push.js +2 -5
  62. package/esm/commands/sync/push.js.map +1 -1
  63. package/esm/commands/sync/request.d.ts +1 -1
  64. package/esm/commands/sync/request.d.ts.map +1 -1
  65. package/esm/commands/sync/request.js +1 -1
  66. package/esm/commands/sync/request.js.map +1 -1
  67. package/esm/commands/sync/response.d.ts +4 -9
  68. package/esm/commands/sync/response.d.ts.map +1 -1
  69. package/esm/commands/sync/response.js +32 -23
  70. package/esm/commands/sync/response.js.map +1 -1
  71. package/esm/commands/sync/stat.d.ts +3 -3
  72. package/esm/commands/sync/stat.d.ts.map +1 -1
  73. package/esm/commands/sync/stat.js +13 -30
  74. package/esm/commands/sync/stat.js.map +1 -1
  75. package/esm/commands/sync/sync.d.ts +2 -2
  76. package/esm/commands/sync/sync.d.ts.map +1 -1
  77. package/esm/commands/sync/sync.js +7 -5
  78. package/esm/commands/sync/sync.js.map +1 -1
  79. package/esm/crypto.js +1 -1
  80. package/esm/crypto.js.map +1 -1
  81. package/esm/index.d.ts +0 -1
  82. package/esm/index.d.ts.map +1 -1
  83. package/esm/index.js +0 -1
  84. package/esm/index.js.map +1 -1
  85. package/esm/packet.d.ts +1 -1
  86. package/esm/packet.d.ts.map +1 -1
  87. package/esm/packet.js +1 -1
  88. package/esm/packet.js.map +1 -1
  89. package/esm/socket/dispatcher.d.ts +11 -3
  90. package/esm/socket/dispatcher.d.ts.map +1 -1
  91. package/esm/socket/dispatcher.js +19 -11
  92. package/esm/socket/dispatcher.js.map +1 -1
  93. package/esm/socket/index.d.ts +1 -1
  94. package/esm/socket/index.d.ts.map +1 -1
  95. package/esm/socket/index.js +1 -1
  96. package/esm/socket/index.js.map +1 -1
  97. package/esm/socket/socket.d.ts +9 -4
  98. package/esm/socket/socket.d.ts.map +1 -1
  99. package/esm/socket/socket.js +20 -10
  100. package/esm/socket/socket.js.map +1 -1
  101. package/esm/utils/base64.d.ts +23 -0
  102. package/esm/utils/base64.d.ts.map +1 -1
  103. package/esm/utils/base64.js +6 -0
  104. package/esm/utils/base64.js.map +1 -1
  105. package/package.json +13 -14
  106. package/src/adb.ts +285 -273
  107. package/src/auth.ts +174 -173
  108. package/src/backend.ts +12 -11
  109. package/src/commands/base.ts +12 -11
  110. package/src/commands/framebuffer.ts +78 -73
  111. package/src/commands/index.ts +8 -8
  112. package/src/commands/install.ts +32 -30
  113. package/src/commands/power.ts +54 -54
  114. package/src/commands/reverse.ts +141 -140
  115. package/src/commands/subprocess/command.ts +131 -0
  116. package/src/commands/subprocess/index.ts +3 -139
  117. package/src/commands/subprocess/protocols/none.ts +73 -68
  118. package/src/commands/subprocess/protocols/shell.ts +191 -190
  119. package/src/commands/subprocess/protocols/types.ts +60 -59
  120. package/src/commands/subprocess/utils.ts +20 -20
  121. package/src/commands/sync/index.ts +7 -7
  122. package/src/commands/sync/list.ts +54 -86
  123. package/src/commands/sync/pull.ts +45 -46
  124. package/src/commands/sync/push.ts +38 -41
  125. package/src/commands/sync/request.ts +51 -50
  126. package/src/commands/sync/response.ts +68 -64
  127. package/src/commands/sync/stat.ts +129 -150
  128. package/src/commands/sync/sync.ts +182 -181
  129. package/src/commands/tcpip.ts +21 -21
  130. package/src/crypto.ts +296 -296
  131. package/src/features.ts +9 -9
  132. package/src/index.ts +10 -11
  133. package/src/packet.ts +80 -80
  134. package/src/socket/dispatcher.ts +310 -304
  135. package/src/socket/index.ts +2 -2
  136. package/src/socket/socket.ts +156 -144
  137. package/src/utils/auto-reset-event.ts +41 -41
  138. package/src/utils/base64.ts +329 -306
  139. package/src/utils/index.ts +3 -3
  140. package/tsconfig.build.json +3 -3
  141. package/tsconfig.build.tsbuildinfo +1 -1
  142. package/esm/commands/subprocess/legacy.d.ts +0 -35
  143. package/esm/commands/subprocess/legacy.d.ts.map +0 -1
  144. package/esm/commands/subprocess/legacy.js +0 -53
  145. package/esm/commands/subprocess/legacy.js.map +0 -1
  146. package/esm/commands/subprocess/protocol.d.ts +0 -39
  147. package/esm/commands/subprocess/protocol.d.ts.map +0 -1
  148. package/esm/commands/subprocess/protocol.js +0 -157
  149. package/esm/commands/subprocess/protocol.js.map +0 -1
  150. package/esm/commands/subprocess/types.d.ts +0 -50
  151. package/esm/commands/subprocess/types.d.ts.map +0 -1
  152. package/esm/commands/subprocess/types.js +0 -2
  153. package/esm/commands/subprocess/types.js.map +0 -1
  154. package/esm/socket/controller.d.ts +0 -37
  155. package/esm/socket/controller.d.ts.map +0 -1
  156. package/esm/socket/controller.js +0 -66
  157. package/esm/socket/controller.js.map +0 -1
  158. package/esm/stream/buffered.d.ts +0 -35
  159. package/esm/stream/buffered.d.ts.map +0 -1
  160. package/esm/stream/buffered.js +0 -123
  161. package/esm/stream/buffered.js.map +0 -1
  162. package/esm/stream/detect.bak.d.ts +0 -240
  163. package/esm/stream/detect.bak.d.ts.map +0 -1
  164. package/esm/stream/detect.bak.js +0 -60
  165. package/esm/stream/detect.bak.js.map +0 -1
  166. package/esm/stream/detect.d.ts +0 -2
  167. package/esm/stream/detect.d.ts.map +0 -1
  168. package/esm/stream/detect.js +0 -5
  169. package/esm/stream/detect.js.map +0 -1
  170. package/esm/stream/detect.native.d.ts +0 -240
  171. package/esm/stream/detect.native.d.ts.map +0 -1
  172. package/esm/stream/detect.native.js +0 -60
  173. package/esm/stream/detect.native.js.map +0 -1
  174. package/esm/stream/detect.polyfill.d.ts +0 -18
  175. package/esm/stream/detect.polyfill.d.ts.map +0 -1
  176. package/esm/stream/detect.polyfill.js +0 -9
  177. package/esm/stream/detect.polyfill.js.map +0 -1
  178. package/esm/stream/index.d.ts +0 -4
  179. package/esm/stream/index.d.ts.map +0 -1
  180. package/esm/stream/index.js +0 -4
  181. package/esm/stream/index.js.map +0 -1
  182. package/esm/stream/transform.d.ts +0 -104
  183. package/esm/stream/transform.d.ts.map +0 -1
  184. package/esm/stream/transform.js +0 -373
  185. package/esm/stream/transform.js.map +0 -1
  186. package/esm/utils/encoding.d.ts +0 -3
  187. package/esm/utils/encoding.d.ts.map +0 -1
  188. package/esm/utils/encoding.js +0 -11
  189. package/esm/utils/encoding.js.map +0 -1
  190. package/src/stream/buffered.ts +0 -147
  191. package/src/stream/detect.native.ts +0 -362
  192. package/src/stream/detect.polyfill.ts +0 -28
  193. package/src/stream/detect.ts +0 -5
  194. package/src/stream/index.ts +0 -3
  195. package/src/stream/transform.ts +0 -447
  196. package/tsconfig.test.json +0 -10
@@ -1,88 +1,4 @@
1
- import { DecodeUtf8Stream, GatherStringStream } from "../../stream/index.js";
2
- import { AdbSubprocessNoneProtocol, AdbSubprocessShellProtocol } from './protocols/index.js';
1
+ export * from './command.js';
3
2
  export * from './protocols/index.js';
4
3
  export * from './utils.js';
5
- const DEFAULT_OPTIONS = {
6
- protocols: [AdbSubprocessShellProtocol, AdbSubprocessNoneProtocol],
7
- };
8
- export class AdbSubprocess {
9
- adb;
10
- constructor(adb) {
11
- this.adb = adb;
12
- }
13
- async createProtocol(mode, command, options) {
14
- const { protocols } = { ...DEFAULT_OPTIONS, ...options };
15
- let Constructor;
16
- for (const item of protocols) {
17
- // It's async so can't use `Array#find`
18
- if (await item.isSupported(this.adb)) {
19
- Constructor = item;
20
- break;
21
- }
22
- }
23
- if (!Constructor) {
24
- throw new Error('No specified protocol is supported by the device');
25
- }
26
- if (Array.isArray(command)) {
27
- command = command.join(' ');
28
- }
29
- else if (command === undefined) {
30
- // spawn the default shell
31
- command = '';
32
- }
33
- return await Constructor[mode](this.adb, command);
34
- }
35
- /**
36
- * Spawns an executable in PTY (interactive) mode.
37
- * @param command The command to run. If omitted, the default shell will be spawned.
38
- * @param options The options for creating the `AdbSubprocessProtocol`
39
- * @returns A new `AdbSubprocessProtocol` instance connecting to the spawned process.
40
- */
41
- shell(command, options) {
42
- return this.createProtocol('pty', command, options);
43
- }
44
- /**
45
- * Spawns an executable and pipe the output.
46
- * @param command The command to run, or an array of strings containing both command and args.
47
- * @param options The options for creating the `AdbSubprocessProtocol`
48
- * @returns A new `AdbSubprocessProtocol` instance connecting to the spawned process.
49
- */
50
- spawn(command, options) {
51
- return this.createProtocol('raw', command, options);
52
- }
53
- /**
54
- * Spawns a new process, waits until it exits, and returns the entire output.
55
- * @param command The command to run
56
- * @param options The options for creating the `AdbSubprocessProtocol`
57
- * @returns The entire output of the command
58
- */
59
- async spawnAndWait(command, options) {
60
- const shell = await this.spawn(command, options);
61
- const stdout = new GatherStringStream();
62
- const stderr = new GatherStringStream();
63
- const [, , exitCode] = await Promise.all([
64
- shell.stdout
65
- .pipeThrough(new DecodeUtf8Stream())
66
- .pipeTo(stdout),
67
- shell.stderr
68
- .pipeThrough(new DecodeUtf8Stream())
69
- .pipeTo(stderr),
70
- shell.exit
71
- ]);
72
- return {
73
- stdout: stdout.result,
74
- stderr: stderr.result,
75
- exitCode,
76
- };
77
- }
78
- /**
79
- * Spawns a new process, waits until it exits, and returns the entire output.
80
- * @param command The command to run
81
- * @returns The entire output of the command
82
- */
83
- async spawnAndWaitLegacy(command) {
84
- const { stdout } = await this.spawnAndWait(command, { protocols: [AdbSubprocessNoneProtocol] });
85
- return stdout;
86
- }
87
- }
88
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/subprocess/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAqE,MAAM,sBAAsB,CAAC;AAEhK,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAiB3B,MAAM,eAAe,GAAyB;IAC1C,SAAS,EAAE,CAAC,0BAA0B,EAAE,yBAAyB,CAAC;CACrE,CAAC;AAQF,MAAM,OAAO,aAAa;IACN,GAAG,CAAM;IAEzB,YAAmB,GAAQ;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,cAAc,CACxB,IAAmB,EACnB,OAA2B,EAC3B,OAAuC;QAEvC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC;QAEzD,IAAI,WAAyD,CAAC;QAC9D,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;YAC1B,uCAAuC;YACvC,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAClC,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM;aACT;SACJ;QAED,IAAI,CAAC,WAAW,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;SACvE;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACxB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC/B;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE;YAC9B,0BAA0B;YAC1B,OAAO,GAAG,EAAE,CAAC;SAChB;QACD,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACI,KAAK,CACR,OAA2B,EAC3B,OAAuC;QAEvC,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACI,KAAK,CACR,OAA0B,EAC1B,OAAuC;QAEvC,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,YAAY,CACrB,OAA0B,EAC1B,OAAuC;QAEvC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAExC,MAAM,CAAC,EAAE,AAAD,EAAG,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrC,KAAK,CAAC,MAAM;iBACP,WAAW,CAAC,IAAI,gBAAgB,EAAE,CAAC;iBACnC,MAAM,CAAC,MAAM,CAAC;YACnB,KAAK,CAAC,MAAM;iBACP,WAAW,CAAC,IAAI,gBAAgB,EAAE,CAAC;iBACnC,MAAM,CAAC,MAAM,CAAC;YACnB,KAAK,CAAC,IAAI;SACb,CAAC,CAAC;QAEH,OAAO;YACH,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ;SACX,CAAC;IACN,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,kBAAkB,CAAC,OAA0B;QACtD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CACtC,OAAO,EACP,EAAE,SAAS,EAAE,CAAC,yBAAyB,CAAC,EAAE,CAC7C,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/subprocess/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC"}
@@ -1,7 +1,7 @@
1
- import type { Adb } from "../../../adb.js";
2
- import type { AdbSocket } from "../../../socket/index.js";
3
- import { ReadableStream } from "../../../stream/index.js";
4
- import type { AdbSubprocessProtocol } from "./types.js";
1
+ import { ReadableStream } from '@yume-chan/stream-extra';
2
+ import type { Adb } from '../../../adb.js';
3
+ import type { AdbSocket } from '../../../socket/index.js';
4
+ import type { AdbSubprocessProtocol } from './types.js';
5
5
  /**
6
6
  * The legacy shell
7
7
  *
@@ -15,6 +15,7 @@ export declare class AdbSubprocessNoneProtocol implements AdbSubprocessProtocol
15
15
  static pty(adb: Adb, command: string): Promise<AdbSubprocessNoneProtocol>;
16
16
  static raw(adb: Adb, command: string): Promise<AdbSubprocessNoneProtocol>;
17
17
  private readonly socket;
18
+ private readonly duplex;
18
19
  get stdin(): import("web-streams-polyfill").WritableStream<Uint8Array>;
19
20
  private _stdout;
20
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"none.d.ts","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/none.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAuB,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD;;;;;;;GAOG;AACH,qBAAa,yBAA0B,YAAW,qBAAqB;WACrD,WAAW;WAEL,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM;WAI7B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM;IAMjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IAGnC,IAAW,KAAK,8DAAmC;IAEnD,OAAO,CAAC,OAAO,CAA6B;IAC5C;;OAEG;IACH,IAAW,MAAM,+BAA2B;IAE5C,OAAO,CAAC,OAAO,CAA6B;IAC5C;;OAEG;IACH,IAAW,MAAM,+BAA2B;IAE5C,OAAO,CAAC,KAAK,CAAkB;IAC/B,IAAW,IAAI,oBAAyB;gBAErB,MAAM,EAAE,SAAS;IAc7B,MAAM;IAIN,IAAI;CAGd"}
1
+ {"version":3,"file":"none.d.ts","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/none.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD;;;;;;;GAOG;AACH,qBAAa,yBAA0B,YAAW,qBAAqB;WACrD,WAAW;WAEL,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM;WAI7B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM;IAMjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IAEnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8C;IAGrE,IAAW,KAAK,8DAAmC;IAEnD,OAAO,CAAC,OAAO,CAA6B;IAC5C;;OAEG;IACH,IAAW,MAAM,+BAA2B;IAE5C,OAAO,CAAC,OAAO,CAA6B;IAC5C;;OAEG;IACH,IAAW,MAAM,+BAA2B;IAE5C,OAAO,CAAC,KAAK,CAAkB;IAC/B,IAAW,IAAI,oBAAyB;gBAErB,MAAM,EAAE,SAAS;IAgB7B,MAAM;IAIN,IAAI;CAGd"}
@@ -1,4 +1,4 @@
1
- import { DuplexStreamFactory, ReadableStream } from "../../../stream/index.js";
1
+ import { DuplexStreamFactory, ReadableStream } from '@yume-chan/stream-extra';
2
2
  /**
3
3
  * The legacy shell
4
4
  *
@@ -14,10 +14,11 @@ export class AdbSubprocessNoneProtocol {
14
14
  }
15
15
  static async raw(adb, command) {
16
16
  // `shell,raw:${command}` also triggers raw mode,
17
- // But is not supported before Android 7.
17
+ // But is not supported on Android version <7.
18
18
  return new AdbSubprocessNoneProtocol(await adb.createSocket(`exec:${command}`));
19
19
  }
20
20
  socket;
21
+ duplex;
21
22
  // Legacy shell forwards all data to stdin.
22
23
  get stdin() { return this.socket.writable; }
23
24
  _stdout;
@@ -34,20 +35,22 @@ export class AdbSubprocessNoneProtocol {
34
35
  get exit() { return this._exit; }
35
36
  constructor(socket) {
36
37
  this.socket = socket;
37
- const factory = new DuplexStreamFactory({
38
+ // Link `stdout`, `stderr` and `stdin` together,
39
+ // so closing any of them will close the others.
40
+ this.duplex = new DuplexStreamFactory({
38
41
  close: async () => {
39
42
  await this.socket.close();
40
43
  },
41
44
  });
42
- this._stdout = factory.wrapReadable(this.socket.readable);
43
- this._stderr = factory.wrapReadable(new ReadableStream());
44
- this._exit = factory.closed.then(() => 0);
45
+ this._stdout = this.duplex.wrapReadable(this.socket.readable);
46
+ this._stderr = this.duplex.wrapReadable(new ReadableStream());
47
+ this._exit = this.duplex.closed.then(() => 0);
45
48
  }
46
49
  resize() {
47
- // Not supported
50
+ // Not supported, but don't throw.
48
51
  }
49
52
  kill() {
50
- return this.socket.close();
53
+ return this.duplex.close();
51
54
  }
52
55
  }
53
56
  //# sourceMappingURL=none.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"none.js","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/none.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/E;;;;;;;GAOG;AACH,MAAM,OAAO,yBAAyB;IAC3B,MAAM,CAAC,WAAW,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IAErC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAQ,EAAE,OAAe;QAC7C,OAAO,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,YAAY,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAQ,EAAE,OAAe;QAC7C,iDAAiD;QACjD,yCAAyC;QACzC,OAAO,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,YAAY,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC;IACpF,CAAC;IAEgB,MAAM,CAAY;IAEnC,2CAA2C;IAC3C,IAAW,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE3C,OAAO,CAA6B;IAC5C;;OAEG;IACH,IAAW,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpC,OAAO,CAA6B;IAC5C;;OAEG;IACH,IAAW,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpC,KAAK,CAAkB;IAC/B,IAAW,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAExC,YAAmB,MAAiB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAyB;YAC5D,KAAK,EAAE,KAAK,IAAI,EAAE;gBACd,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IAEM,MAAM;QACT,gBAAgB;IACpB,CAAC;IAEM,IAAI;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACJ"}
1
+ {"version":3,"file":"none.js","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/none.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAM9E;;;;;;;GAOG;AACH,MAAM,OAAO,yBAAyB;IAC3B,MAAM,CAAC,WAAW,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IAErC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAQ,EAAE,OAAe;QAC7C,OAAO,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,YAAY,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAQ,EAAE,OAAe;QAC7C,iDAAiD;QACjD,8CAA8C;QAC9C,OAAO,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,YAAY,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC;IACpF,CAAC;IAEgB,MAAM,CAAY;IAElB,MAAM,CAA8C;IAErE,2CAA2C;IAC3C,IAAW,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE3C,OAAO,CAA6B;IAC5C;;OAEG;IACH,IAAW,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpC,OAAO,CAA6B;IAC5C;;OAEG;IACH,IAAW,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpC,KAAK,CAAkB;IAC/B,IAAW,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAExC,YAAmB,MAAiB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,gDAAgD;QAChD,gDAAgD;QAChD,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAmB,CAAyB;YAC1D,KAAK,EAAE,KAAK,IAAI,EAAE;gBACd,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAEM,MAAM;QACT,kCAAkC;IACtC,CAAC;IAEM,IAAI;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACJ"}
@@ -1,7 +1,7 @@
1
- import type { Adb } from "../../../adb.js";
2
- import type { AdbSocket } from "../../../socket/index.js";
3
- import { ReadableStream, WritableStream } from "../../../stream/index.js";
4
- import type { AdbSubprocessProtocol } from "./types.js";
1
+ import { WritableStream, type ReadableStream } from '@yume-chan/stream-extra';
2
+ import type { Adb } from '../../../adb.js';
3
+ import type { AdbSocket } from '../../../socket/index.js';
4
+ import type { AdbSubprocessProtocol } from './types.js';
5
5
  export declare enum AdbShellProtocolId {
6
6
  Stdin = 0,
7
7
  Stdout = 1,
@@ -1 +1 @@
1
- {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/shell.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAgC,cAAc,EAAmE,cAAc,EAAkE,MAAM,0BAA0B,CAAC;AAEzO,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,oBAAY,kBAAkB;IAC1B,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,IAAI,IAAA;IACJ,UAAU,IAAA;IACV,gBAAgB,IAAA;CACnB;AA8ED;;;;;;;GAOG;AACH,qBAAa,0BAA2B,YAAW,qBAAqB;WACtD,WAAW,CAAC,GAAG,EAAE,GAAG;WAId,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM;WAK7B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM;IAIjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,aAAa,CAA0D;IAE/E,OAAO,CAAC,MAAM,CAA6B;IAC3C,IAAW,KAAK,+BAA0B;IAE1C,OAAO,CAAC,OAAO,CAA6B;IAC5C,IAAW,MAAM,+BAA2B;IAE5C,OAAO,CAAC,OAAO,CAA6B;IAC5C,IAAW,MAAM,+BAA2B;IAE5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IACvD,IAAW,IAAI,oBAAiC;gBAE7B,MAAM,EAAE,SAAS;IA2CvB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAYvC,IAAI;CAGd"}
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/shell.ts"],"names":[],"mappings":"AACA,OAAO,EAAiG,cAAc,EAAqC,KAAK,cAAc,EAAoC,MAAM,yBAAyB,CAAC;AAGlP,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,oBAAY,kBAAkB;IAC1B,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,IAAI,IAAA;IACJ,UAAU,IAAA;IACV,gBAAgB,IAAA;CACnB;AA8ED;;;;;;;GAOG;AACH,qBAAa,0BAA2B,YAAW,qBAAqB;WACtD,WAAW,CAAC,GAAG,EAAE,GAAG;WAId,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM;WAK7B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM;IAIjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,aAAa,CAA0D;IAE/E,OAAO,CAAC,MAAM,CAA6B;IAC3C,IAAW,KAAK,+BAA0B;IAE1C,OAAO,CAAC,OAAO,CAA6B;IAC5C,IAAW,MAAM,+BAA2B;IAE5C,OAAO,CAAC,OAAO,CAA6B;IAC5C,IAAW,MAAM,+BAA2B;IAE5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IACvD,IAAW,IAAI,oBAAiC;gBAE7B,MAAM,EAAE,SAAS;IA2CvB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAYvC,IAAI;CAGd"}
@@ -1,8 +1,8 @@
1
- import { PromiseResolver } from "@yume-chan/async";
2
- import Struct, { placeholder } from "@yume-chan/struct";
3
- import { AdbFeatures } from "../../../features.js";
4
- import { pipeFrom, PushReadableStream, StructDeserializeStream, StructSerializeStream, TransformStream, WritableStream } from "../../../stream/index.js";
5
- import { encodeUtf8 } from "../../../utils/index.js";
1
+ import { PromiseResolver } from '@yume-chan/async';
2
+ import { pipeFrom, PushReadableStream, StructDeserializeStream, StructSerializeStream, TransformStream, WritableStream } from '@yume-chan/stream-extra';
3
+ import Struct, { placeholder } from '@yume-chan/struct';
4
+ import { AdbFeatures } from '../../../features.js';
5
+ import { encodeUtf8 } from '../../../utils/index.js';
6
6
  export var AdbShellProtocolId;
7
7
  (function (AdbShellProtocolId) {
8
8
  AdbShellProtocolId[AdbShellProtocolId["Stdin"] = 0] = "Stdin";
@@ -144,7 +144,7 @@ export class AdbSubprocessShellProtocol {
144
144
  data: encodeUtf8(
145
145
  // The "correct" format is `${rows}x${cols},${x_pixels}x${y_pixels}`
146
146
  // However, according to https://linux.die.net/man/4/tty_ioctl
147
- // `x_pixels` and `y_pixels` are not used, so always passing `0` is fine.
147
+ // `x_pixels` and `y_pixels` are unused, so always sending `0` should be fine.
148
148
  `${rows}x${cols},0x0\0`),
149
149
  });
150
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/shell.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,18 @@
1
- import type { ValueOrPromise } from "@yume-chan/struct";
2
- import type { Adb } from "../../../adb.js";
3
- import type { AdbSocket } from "../../../socket/index.js";
4
- import type { ReadableStream, WritableStream } from "../../../stream/index.js";
1
+ import type { ReadableStream, WritableStream } from '@yume-chan/stream-extra';
2
+ import type { ValueOrPromise } from '@yume-chan/struct';
3
+ import type { Adb } from '../../../adb.js';
4
+ import type { AdbSocket } from '../../../socket/index.js';
5
5
  export interface AdbSubprocessProtocol {
6
6
  /**
7
- * A WritableStream that writes to the `stdin` pipe.
7
+ * A WritableStream that writes to the `stdin` stream.
8
8
  */
9
9
  readonly stdin: WritableStream<Uint8Array>;
10
10
  /**
11
- * The `stdout` pipe of the process.
11
+ * The `stdout` stream of the process.
12
12
  */
13
13
  readonly stdout: ReadableStream<Uint8Array>;
14
14
  /**
15
- * The `stderr` pipe of the process.
15
+ * The `stderr` stream of the process.
16
16
  *
17
17
  * Note: Some `AdbSubprocessProtocol` doesn't separate `stdout` and `stderr`,
18
18
  * All output will be sent to `stdout`.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/E,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/B;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEzD;;OAEG;IACH,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gCAAgC;IAC7C,+DAA+D;IAC/D,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAE/C,sDAAsD;IACtD,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAEtE,gDAAgD;IAChD,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAEtE,oEAAoE;IACpE,KAAI,MAAM,EAAE,SAAS,GAAG,qBAAqB,CAAC;CACjD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/B;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEzD;;OAEG;IACH,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gCAAgC;IAC7C,+DAA+D;IAC/D,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAE/C,sDAAsD;IACtD,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAEtE,gDAAgD;IAChD,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAEtE,oEAAoE;IACpE,KAAI,MAAM,EAAE,SAAS,GAAG,qBAAqB,CAAC;CACjD"}
@@ -1,8 +1,8 @@
1
1
  export * from './list.js';
2
2
  export * from './pull.js';
3
+ export * from './push.js';
3
4
  export * from './request.js';
4
5
  export * from './response.js';
5
- export * from './push.js';
6
6
  export * from './stat.js';
7
7
  export * from './sync.js';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
@@ -1,8 +1,8 @@
1
1
  export * from './list.js';
2
2
  export * from './pull.js';
3
+ export * from './push.js';
3
4
  export * from './request.js';
4
5
  export * from './response.js';
5
- export * from './push.js';
6
6
  export * from './stat.js';
7
7
  export * from './sync.js';
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/sync/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/sync/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
@@ -1,5 +1,5 @@
1
+ import type { BufferedReadableStream, WritableStreamDefaultWriter } from '@yume-chan/stream-extra';
1
2
  import Struct from '@yume-chan/struct';
2
- import type { AdbBufferedStream, WritableStreamDefaultWriter } from '../../stream/index.js';
3
3
  import { AdbSyncResponseId } from './response.js';
4
4
  import { type AdbSyncStat } from './stat.js';
5
5
  export interface AdbSyncEntry extends AdbSyncStat {
@@ -37,5 +37,5 @@ export declare const AdbSyncEntry2Response: Struct<{
37
37
  id: AdbSyncResponseId.Entry2;
38
38
  }, undefined>;
39
39
  export declare type AdbSyncEntry2Response = typeof AdbSyncEntry2Response['TDeserializeResult'];
40
- export declare function adbSyncOpenDir(stream: AdbBufferedStream, writer: WritableStreamDefaultWriter<Uint8Array>, path: string, v2: boolean): AsyncGenerator<AdbSyncEntry, void, void>;
40
+ export declare function adbSyncOpenDir(stream: BufferedReadableStream, writer: WritableStreamDefaultWriter<Uint8Array>, path: string, v2: boolean): AsyncGenerator<AdbSyncEntry, void, void>;
41
41
  //# sourceMappingURL=list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/list.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EAA4C,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAA6C,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAExF,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC7C,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;aAKuB,CAAC;AAEzD,oBAAY,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;AAErF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;aAKuB,CAAC;AAE1D,oBAAY,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;AAYvF,wBAAuB,cAAc,CACjC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,EAC/C,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,OAAO,GACZ,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CA0C1C"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAGvC,OAAO,EAAwB,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAA6C,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAExF,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC7C,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;aAKuB,CAAC;AAEzD,oBAAY,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;AAErF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;aAKuB,CAAC;AAE1D,oBAAY,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;AAEvF,wBAAuB,cAAc,CACjC,MAAM,EAAE,sBAAsB,EAC9B,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,EAC/C,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,OAAO,GACZ,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAmB1C"}
@@ -1,6 +1,6 @@
1
1
  import Struct from '@yume-chan/struct';
2
2
  import { AdbSyncRequestId, adbSyncWriteRequest } from './request.js';
3
- import { AdbSyncDoneResponse, adbSyncReadResponse, AdbSyncResponseId } from './response.js';
3
+ import { adbSyncReadResponses, AdbSyncResponseId } from './response.js';
4
4
  import { AdbSyncLstatResponse, AdbSyncStatResponse } from './stat.js';
5
5
  export const AdbSyncEntryResponse = new Struct({ littleEndian: true })
6
6
  .fields(AdbSyncLstatResponse)
@@ -12,52 +12,24 @@ export const AdbSyncEntry2Response = new Struct({ littleEndian: true })
12
12
  .uint32('nameLength')
13
13
  .string('name', { lengthField: 'nameLength' })
14
14
  .extra({ id: AdbSyncResponseId.Entry2 });
15
- const LIST_V1_RESPONSE_TYPES = {
16
- [AdbSyncResponseId.Entry]: AdbSyncEntryResponse,
17
- [AdbSyncResponseId.Done]: new AdbSyncDoneResponse(AdbSyncEntryResponse.size),
18
- };
19
- const LIST_V2_RESPONSE_TYPES = {
20
- [AdbSyncResponseId.Entry2]: AdbSyncEntry2Response,
21
- [AdbSyncResponseId.Done]: new AdbSyncDoneResponse(AdbSyncEntry2Response.size),
22
- };
23
15
  export async function* adbSyncOpenDir(stream, writer, path, v2) {
24
- let requestId;
25
- let responseType;
26
16
  if (v2) {
27
- requestId = AdbSyncRequestId.List2;
28
- responseType = LIST_V2_RESPONSE_TYPES;
17
+ await adbSyncWriteRequest(writer, AdbSyncRequestId.List2, path);
18
+ yield* adbSyncReadResponses(stream, AdbSyncResponseId.Entry2, AdbSyncEntry2Response);
29
19
  }
30
20
  else {
31
- requestId = AdbSyncRequestId.List;
32
- responseType = LIST_V1_RESPONSE_TYPES;
33
- }
34
- await adbSyncWriteRequest(writer, requestId, path);
35
- while (true) {
36
- const response = await adbSyncReadResponse(stream, responseType);
37
- switch (response.id) {
38
- case AdbSyncResponseId.Entry:
39
- yield {
40
- mode: response.mode,
41
- size: BigInt(response.size),
42
- mtime: BigInt(response.mtime),
43
- get type() { return response.type; },
44
- get permission() { return response.permission; },
45
- name: response.name,
46
- };
47
- break;
48
- case AdbSyncResponseId.Entry2:
49
- // `LST2` can return error codes for failed `lstat` calls.
50
- // `LIST` just ignores them.
51
- // But they only contain `name` so still pretty useless.
52
- if (response.error !== 0) {
53
- continue;
54
- }
55
- yield response;
56
- break;
57
- case AdbSyncResponseId.Done:
58
- return;
59
- default:
60
- throw new Error('Unexpected response id');
21
+ await adbSyncWriteRequest(writer, AdbSyncRequestId.List, path);
22
+ for await (const item of adbSyncReadResponses(stream, AdbSyncResponseId.Entry, AdbSyncEntryResponse)) {
23
+ // Convert to same format as `AdbSyncEntry2Response` for easier consumption.
24
+ // However it will add some overhead.
25
+ yield {
26
+ mode: item.mode,
27
+ size: BigInt(item.size),
28
+ mtime: BigInt(item.mtime),
29
+ get type() { return item.type; },
30
+ get permission() { return item.permission; },
31
+ name: item.name,
32
+ };
61
33
  }
62
34
  }
63
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/sync/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/sync/list.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAoB,MAAM,WAAW,CAAC;AAMxF,MAAM,CAAC,MAAM,oBAAoB,GAC7B,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,oBAAoB,CAAC;KAC5B,MAAM,CAAC,YAAY,CAAC;KACpB,MAAM,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;KAC7C,KAAK,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,KAAc,EAAE,CAAC,CAAC;AAIzD,MAAM,CAAC,MAAM,qBAAqB,GAC9B,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,mBAAmB,CAAC;KAC3B,MAAM,CAAC,YAAY,CAAC;KACpB,MAAM,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;KAC7C,KAAK,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,MAAe,EAAE,CAAC,CAAC;AAI1D,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,cAAc,CACjC,MAA8B,EAC9B,MAA+C,EAC/C,IAAY,EACZ,EAAW;IAEX,IAAI,EAAE,EAAE;QACJ,MAAM,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAChE,KAAK,CAAC,CAAC,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;KACxF;SAAM;QACH,MAAM,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,CAAC,EAAE;YAClG,4EAA4E;YAC5E,qCAAqC;YACrC,MAAM;gBACF,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;gBACvB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzB,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChC,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC5C,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB,CAAC;SACL;KACJ;AACL,CAAC"}
@@ -1,5 +1,5 @@
1
+ import { BufferedReadableStream, ReadableStream, WritableStreamDefaultWriter } from '@yume-chan/stream-extra';
1
2
  import Struct from '@yume-chan/struct';
2
- import { AdbBufferedStream, ReadableStream, WritableStreamDefaultWriter } from '../../stream/index.js';
3
3
  import { AdbSyncResponseId } from './response.js';
4
4
  export declare const AdbSyncDataResponse: Struct<{
5
5
  dataLength: number;
@@ -7,5 +7,6 @@ export declare const AdbSyncDataResponse: Struct<{
7
7
  }, "dataLength", {
8
8
  id: AdbSyncResponseId.Data;
9
9
  }, undefined>;
10
- export declare function adbSyncPull(stream: AdbBufferedStream, writer: WritableStreamDefaultWriter<Uint8Array>, path: string): ReadableStream<Uint8Array>;
10
+ export declare type AdbSyncDataResponse = typeof AdbSyncDataResponse['TDeserializeResult'];
11
+ export declare function adbSyncPull(stream: BufferedReadableStream, writer: WritableStreamDefaultWriter<Uint8Array>, path: string): ReadableStream<Uint8Array>;
11
12
  //# sourceMappingURL=pull.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/pull.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEvG,OAAO,EAA4C,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE5F,eAAO,MAAM,mBAAmB;;;;;aAIuB,CAAC;AAOxD,wBAAgB,WAAW,CACvB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,EAC/C,IAAI,EAAE,MAAM,GACb,cAAc,CAAC,UAAU,CAAC,CAyB5B"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/pull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAGvC,OAAO,EAAwB,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAExE,eAAO,MAAM,mBAAmB;;;;;aAIuB,CAAC;AAExD,oBAAY,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;AAEnF,wBAAgB,WAAW,CACvB,MAAM,EAAE,sBAAsB,EAC9B,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,EAC/C,IAAI,EAAE,MAAM,GACb,cAAc,CAAC,UAAU,CAAC,CA0B5B"}
@@ -1,35 +1,33 @@
1
+ import { ReadableStream } from '@yume-chan/stream-extra';
1
2
  import Struct from '@yume-chan/struct';
2
- import { ReadableStream } from '../../stream/index.js';
3
3
  import { AdbSyncRequestId, adbSyncWriteRequest } from './request.js';
4
- import { AdbSyncDoneResponse, adbSyncReadResponse, AdbSyncResponseId } from './response.js';
4
+ import { adbSyncReadResponses, AdbSyncResponseId } from './response.js';
5
5
  export const AdbSyncDataResponse = new Struct({ littleEndian: true })
6
6
  .uint32('dataLength')
7
7
  .uint8Array('data', { lengthField: 'dataLength' })
8
8
  .extra({ id: AdbSyncResponseId.Data });
9
- const RESPONSE_TYPES = {
10
- [AdbSyncResponseId.Data]: AdbSyncDataResponse,
11
- [AdbSyncResponseId.Done]: new AdbSyncDoneResponse(AdbSyncDataResponse.size),
12
- };
13
9
  export function adbSyncPull(stream, writer, path) {
10
+ let generator;
14
11
  return new ReadableStream({
15
12
  async start() {
13
+ // TODO: If `ReadableStream.from(AsyncGenerator)` is added to spec, use it instead.
16
14
  await adbSyncWriteRequest(writer, AdbSyncRequestId.Receive, path);
15
+ generator = adbSyncReadResponses(stream, AdbSyncResponseId.Data, AdbSyncDataResponse);
17
16
  },
18
17
  async pull(controller) {
19
- const response = await adbSyncReadResponse(stream, RESPONSE_TYPES);
20
- switch (response.id) {
21
- case AdbSyncResponseId.Data:
22
- controller.enqueue(response.data);
23
- break;
24
- case AdbSyncResponseId.Done:
25
- controller.close();
26
- break;
27
- default:
28
- throw new Error('Unexpected response id');
18
+ const { done, value } = await generator.next();
19
+ if (done) {
20
+ controller.close();
21
+ return;
29
22
  }
23
+ controller.enqueue(value.data);
30
24
  },
31
25
  cancel() {
32
- throw new Error(`Sync commands don't support cancel.`);
26
+ try {
27
+ generator.return();
28
+ }
29
+ catch { }
30
+ throw new Error(`Sync commands can't be canceled.`);
33
31
  },
34
32
  }, {
35
33
  highWaterMark: 16 * 1024,
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/commands/sync/pull.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAqB,cAAc,EAA+B,MAAM,uBAAuB,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE5F,MAAM,CAAC,MAAM,mBAAmB,GAC5B,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,YAAY,CAAC;KACpB,UAAU,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;KACjD,KAAK,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,IAAa,EAAE,CAAC,CAAC;AAExD,MAAM,cAAc,GAAG;IACnB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,mBAAmB;IAC7C,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC;CAC9E,CAAC;AAEF,MAAM,UAAU,WAAW,CACvB,MAAyB,EACzB,MAA+C,EAC/C,IAAY;IAEZ,OAAO,IAAI,cAAc,CAAa;QAClC,KAAK,CAAC,KAAK;YACP,MAAM,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,UAAU;YACjB,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACnE,QAAQ,QAAQ,CAAC,EAAE,EAAE;gBACjB,KAAK,iBAAiB,CAAC,IAAI;oBACvB,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAK,CAAC,CAAC;oBACnC,MAAM;gBACV,KAAK,iBAAiB,CAAC,IAAI;oBACvB,UAAU,CAAC,KAAK,EAAE,CAAC;oBACnB,MAAM;gBACV;oBACI,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;aACjD;QACL,CAAC;QACD,MAAM;YACF,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;KACJ,EAAE;QACC,aAAa,EAAE,EAAE,GAAG,IAAI;QACxB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;KAC3C,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/commands/sync/pull.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,cAAc,EAA+B,MAAM,yBAAyB,CAAC;AAC9G,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAExE,MAAM,CAAC,MAAM,mBAAmB,GAC5B,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,YAAY,CAAC;KACpB,UAAU,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;KACjD,KAAK,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,IAAa,EAAE,CAAC,CAAC;AAIxD,MAAM,UAAU,WAAW,CACvB,MAA8B,EAC9B,MAA+C,EAC/C,IAAY;IAEZ,IAAI,SAA2D,CAAC;IAChE,OAAO,IAAI,cAAc,CAAa;QAClC,KAAK,CAAC,KAAK;YACP,mFAAmF;YACnF,MAAM,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAClE,SAAS,GAAG,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC1F,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,UAAU;YACjB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,IAAI,EAAE;gBACN,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO;aACV;YACD,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QACD,MAAM;YACF,IAAI;gBACA,SAAS,CAAC,MAAM,EAAE,CAAC;aACtB;YAAC,MAAM,GAAG;YACX,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;KACJ,EAAE;QACC,aAAa,EAAE,EAAE,GAAG,IAAI;QACxB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;KAC3C,CAAC,CAAC;AACP,CAAC"}
@@ -1,8 +1,8 @@
1
+ import { BufferedReadableStream, WritableStream, WritableStreamDefaultWriter } from '@yume-chan/stream-extra';
1
2
  import Struct from '@yume-chan/struct';
2
- import { AdbBufferedStream, WritableStream, WritableStreamDefaultWriter } from '../../stream/index.js';
3
3
  export declare const AdbSyncOkResponse: Struct<{
4
4
  unused: number;
5
5
  }, never, {}, undefined>;
6
6
  export declare const ADB_SYNC_MAX_PACKET_SIZE: number;
7
- export declare function adbSyncPush(stream: AdbBufferedStream, writer: WritableStreamDefaultWriter<Uint8Array>, filename: string, mode?: number, mtime?: number, packetSize?: number): WritableStream<Uint8Array>;
7
+ export declare function adbSyncPush(stream: BufferedReadableStream, writer: WritableStreamDefaultWriter<Uint8Array>, filename: string, mode?: number, mtime?: number, packetSize?: number): WritableStream<Uint8Array>;
8
8
  //# sourceMappingURL=push.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAyB,cAAc,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAK9H,eAAO,MAAM,iBAAiB;;wBAEL,CAAC;AAM1B,eAAO,MAAM,wBAAwB,QAAY,CAAC;AAElD,wBAAgB,WAAW,CACvB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,EAC/C,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAA2C,EACjD,KAAK,GAAE,MAAgC,EACvC,UAAU,GAAE,MAAiC,GAC9C,cAAc,CAAC,UAAU,CAAC,CAiB5B"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAyB,cAAc,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACrI,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAMvC,eAAO,MAAM,iBAAiB;;wBAEL,CAAC;AAE1B,eAAO,MAAM,wBAAwB,QAAY,CAAC;AAElD,wBAAgB,WAAW,CACvB,MAAM,EAAE,sBAAsB,EAC9B,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,EAC/C,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAA2C,EACjD,KAAK,GAAE,MAAgC,EACvC,UAAU,GAAE,MAAiC,GAC9C,cAAc,CAAC,UAAU,CAAC,CAiB5B"}
@@ -1,13 +1,10 @@
1
+ import { ChunkStream, pipeFrom, WritableStream } from '@yume-chan/stream-extra';
1
2
  import Struct from '@yume-chan/struct';
2
- import { ChunkStream, pipeFrom, WritableStream } from '../../stream/index.js';
3
3
  import { AdbSyncRequestId, adbSyncWriteRequest } from './request.js';
4
4
  import { adbSyncReadResponse, AdbSyncResponseId } from './response.js';
5
5
  import { LinuxFileType } from './stat.js';
6
6
  export const AdbSyncOkResponse = new Struct({ littleEndian: true })
7
7
  .uint32('unused');
8
- const ResponseTypes = {
9
- [AdbSyncResponseId.Ok]: AdbSyncOkResponse,
10
- };
11
8
  export const ADB_SYNC_MAX_PACKET_SIZE = 64 * 1024;
12
9
  export function adbSyncPush(stream, writer, filename, mode = (LinuxFileType.File << 12) | 0o666, mtime = (Date.now() / 1000) | 0, packetSize = ADB_SYNC_MAX_PACKET_SIZE) {
13
10
  return pipeFrom(new WritableStream({
@@ -20,7 +17,7 @@ export function adbSyncPush(stream, writer, filename, mode = (LinuxFileType.File
20
17
  },
21
18
  async close() {
22
19
  await adbSyncWriteRequest(writer, AdbSyncRequestId.Done, mtime);
23
- await adbSyncReadResponse(stream, ResponseTypes);
20
+ await adbSyncReadResponse(stream, AdbSyncResponseId.Ok, AdbSyncOkResponse);
24
21
  },
25
22
  }), new ChunkStream(packetSize));
26
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAqB,WAAW,EAAE,QAAQ,EAAE,cAAc,EAA+B,MAAM,uBAAuB,CAAC;AAC9H,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,iBAAiB,GAC1B,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,QAAQ,CAAC,CAAC;AAE1B,MAAM,aAAa,GAAG;IAClB,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,iBAAiB;CAC5C,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,GAAG,IAAI,CAAC;AAElD,MAAM,UAAU,WAAW,CACvB,MAAyB,EACzB,MAA+C,EAC/C,QAAgB,EAChB,OAAe,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,EACjD,QAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EACvC,aAAqB,wBAAwB;IAE7C,OAAO,QAAQ,CACX,IAAI,cAAc,CAAa;QAC3B,KAAK,CAAC,KAAK;YACP,MAAM,WAAW,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrD,MAAM,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC1E,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,KAAK;YACb,MAAM,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,CAAC,KAAK;YACP,MAAM,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChE,MAAM,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACrD,CAAC;KACJ,CAAC,EACF,IAAI,WAAW,CAAC,UAAU,CAAC,CAC9B,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,WAAW,EAAE,QAAQ,EAAE,cAAc,EAA+B,MAAM,yBAAyB,CAAC;AACrI,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,iBAAiB,GAC1B,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,QAAQ,CAAC,CAAC;AAE1B,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,GAAG,IAAI,CAAC;AAElD,MAAM,UAAU,WAAW,CACvB,MAA8B,EAC9B,MAA+C,EAC/C,QAAgB,EAChB,OAAe,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,EACjD,QAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EACvC,aAAqB,wBAAwB;IAE7C,OAAO,QAAQ,CACX,IAAI,cAAc,CAAa;QAC3B,KAAK,CAAC,KAAK;YACP,MAAM,WAAW,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrD,MAAM,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC1E,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,KAAK;YACb,MAAM,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,CAAC,KAAK;YACP,MAAM,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChE,MAAM,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAC/E,CAAC;KACJ,CAAC,EACF,IAAI,WAAW,CAAC,UAAU,CAAC,CAC9B,CAAC;AACN,CAAC"}
@@ -1,5 +1,5 @@
1
+ import type { WritableStreamDefaultWriter } from '@yume-chan/stream-extra';
1
2
  import Struct from '@yume-chan/struct';
2
- import type { WritableStreamDefaultWriter } from "../../stream/index.js";
3
3
  export declare enum AdbSyncRequestId {
4
4
  List = "LIST",
5
5
  List2 = "LIS2",
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/request.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAGzE,oBAAY,gBAAgB;IACxB,IAAI,SAAS;IACb,KAAK,SAAS;IACd,IAAI,SAAS;IACb,KAAK,SAAS;IACd,IAAI,SAAS;IACb,MAAM,SAAS;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,OAAO,SAAS;CACnB;AAED,eAAO,MAAM,oBAAoB;;;wBAGX,CAAC;AAEvB,eAAO,MAAM,kBAAkB;;;;wBAGoB,CAAC;AAEpD,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,EAC/C,EAAE,EAAE,gBAAgB,GAAG,MAAM,EAC7B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GACpC,OAAO,CAAC,IAAI,CAAC,CAmBf"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAIvC,oBAAY,gBAAgB;IACxB,IAAI,SAAS;IACb,KAAK,SAAS;IACd,IAAI,SAAS;IACb,KAAK,SAAS;IACd,IAAI,SAAS;IACb,MAAM,SAAS;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,OAAO,SAAS;CACnB;AAED,eAAO,MAAM,oBAAoB;;;wBAGX,CAAC;AAEvB,eAAO,MAAM,kBAAkB;;;;wBAGoB,CAAC;AAEpD,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,EAC/C,EAAE,EAAE,gBAAgB,GAAG,MAAM,EAC7B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GACpC,OAAO,CAAC,IAAI,CAAC,CAmBf"}
@@ -1,5 +1,5 @@
1
1
  import Struct from '@yume-chan/struct';
2
- import { encodeUtf8 } from "../../utils/index.js";
2
+ import { encodeUtf8 } from '../../utils/index.js';
3
3
  export var AdbSyncRequestId;
4
4
  (function (AdbSyncRequestId) {
5
5
  AdbSyncRequestId["List"] = "LIST";