@yume-chan/adb 0.0.16 → 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 (165) hide show
  1. package/CHANGELOG.json +12 -0
  2. package/CHANGELOG.md +8 -1
  3. package/esm/adb.d.ts +8 -3
  4. package/esm/adb.d.ts.map +1 -1
  5. package/esm/adb.js +11 -6
  6. package/esm/adb.js.map +1 -1
  7. package/esm/auth.d.ts.map +1 -1
  8. package/esm/auth.js.map +1 -1
  9. package/esm/backend.d.ts +2 -2
  10. package/esm/backend.d.ts.map +1 -1
  11. package/esm/commands/base.d.ts.map +1 -1
  12. package/esm/commands/base.js.map +1 -1
  13. package/esm/commands/framebuffer.d.ts +17 -1
  14. package/esm/commands/framebuffer.d.ts.map +1 -1
  15. package/esm/commands/framebuffer.js +4 -15
  16. package/esm/commands/framebuffer.js.map +1 -1
  17. package/esm/commands/install.d.ts +2 -2
  18. package/esm/commands/install.d.ts.map +1 -1
  19. package/esm/commands/install.js +3 -2
  20. package/esm/commands/install.js.map +1 -1
  21. package/esm/commands/power.d.ts +1 -1
  22. package/esm/commands/power.js +1 -1
  23. package/esm/commands/reverse.d.ts +3 -3
  24. package/esm/commands/reverse.d.ts.map +1 -1
  25. package/esm/commands/reverse.js +9 -9
  26. package/esm/commands/reverse.js.map +1 -1
  27. package/esm/commands/subprocess/command.d.ts +52 -0
  28. package/esm/commands/subprocess/command.d.ts.map +1 -0
  29. package/esm/commands/subprocess/command.js +83 -0
  30. package/esm/commands/subprocess/command.js.map +1 -0
  31. package/esm/commands/subprocess/index.d.ts +1 -53
  32. package/esm/commands/subprocess/index.d.ts.map +1 -1
  33. package/esm/commands/subprocess/index.js +1 -85
  34. package/esm/commands/subprocess/index.js.map +1 -1
  35. package/esm/commands/subprocess/protocols/none.d.ts +4 -4
  36. package/esm/commands/subprocess/protocols/none.d.ts.map +1 -1
  37. package/esm/commands/subprocess/protocols/none.js +5 -3
  38. package/esm/commands/subprocess/protocols/none.js.map +1 -1
  39. package/esm/commands/subprocess/protocols/shell.d.ts +4 -4
  40. package/esm/commands/subprocess/protocols/shell.d.ts.map +1 -1
  41. package/esm/commands/subprocess/protocols/shell.js +6 -6
  42. package/esm/commands/subprocess/protocols/shell.js.map +1 -1
  43. package/esm/commands/subprocess/protocols/types.d.ts +7 -7
  44. package/esm/commands/subprocess/protocols/types.d.ts.map +1 -1
  45. package/esm/commands/sync/index.d.ts +1 -1
  46. package/esm/commands/sync/index.d.ts.map +1 -1
  47. package/esm/commands/sync/index.js +1 -1
  48. package/esm/commands/sync/index.js.map +1 -1
  49. package/esm/commands/sync/list.d.ts +2 -2
  50. package/esm/commands/sync/list.d.ts.map +1 -1
  51. package/esm/commands/sync/list.js +15 -43
  52. package/esm/commands/sync/list.js.map +1 -1
  53. package/esm/commands/sync/pull.d.ts +3 -2
  54. package/esm/commands/sync/pull.d.ts.map +1 -1
  55. package/esm/commands/sync/pull.js +15 -17
  56. package/esm/commands/sync/pull.js.map +1 -1
  57. package/esm/commands/sync/push.d.ts +2 -2
  58. package/esm/commands/sync/push.d.ts.map +1 -1
  59. package/esm/commands/sync/push.js +2 -5
  60. package/esm/commands/sync/push.js.map +1 -1
  61. package/esm/commands/sync/request.d.ts +1 -1
  62. package/esm/commands/sync/request.d.ts.map +1 -1
  63. package/esm/commands/sync/request.js +1 -1
  64. package/esm/commands/sync/request.js.map +1 -1
  65. package/esm/commands/sync/response.d.ts +4 -9
  66. package/esm/commands/sync/response.d.ts.map +1 -1
  67. package/esm/commands/sync/response.js +32 -23
  68. package/esm/commands/sync/response.js.map +1 -1
  69. package/esm/commands/sync/stat.d.ts +3 -3
  70. package/esm/commands/sync/stat.d.ts.map +1 -1
  71. package/esm/commands/sync/stat.js +13 -30
  72. package/esm/commands/sync/stat.js.map +1 -1
  73. package/esm/commands/sync/sync.d.ts +2 -2
  74. package/esm/commands/sync/sync.d.ts.map +1 -1
  75. package/esm/commands/sync/sync.js +7 -5
  76. package/esm/commands/sync/sync.js.map +1 -1
  77. package/esm/crypto.js +1 -1
  78. package/esm/crypto.js.map +1 -1
  79. package/esm/index.d.ts +0 -1
  80. package/esm/index.d.ts.map +1 -1
  81. package/esm/index.js +0 -1
  82. package/esm/index.js.map +1 -1
  83. package/esm/packet.d.ts +1 -1
  84. package/esm/packet.d.ts.map +1 -1
  85. package/esm/packet.js +1 -1
  86. package/esm/packet.js.map +1 -1
  87. package/esm/socket/dispatcher.d.ts +8 -3
  88. package/esm/socket/dispatcher.d.ts.map +1 -1
  89. package/esm/socket/dispatcher.js +9 -4
  90. package/esm/socket/dispatcher.js.map +1 -1
  91. package/esm/socket/index.d.ts +1 -1
  92. package/esm/socket/index.d.ts.map +1 -1
  93. package/esm/socket/index.js +1 -1
  94. package/esm/socket/index.js.map +1 -1
  95. package/esm/socket/socket.d.ts +3 -3
  96. package/esm/socket/socket.d.ts.map +1 -1
  97. package/esm/socket/socket.js +3 -3
  98. package/esm/socket/socket.js.map +1 -1
  99. package/esm/utils/base64.d.ts +23 -0
  100. package/esm/utils/base64.d.ts.map +1 -1
  101. package/esm/utils/base64.js +6 -0
  102. package/esm/utils/base64.js.map +1 -1
  103. package/package.json +13 -14
  104. package/src/adb.ts +12 -7
  105. package/src/auth.ts +1 -0
  106. package/src/backend.ts +3 -2
  107. package/src/commands/base.ts +1 -0
  108. package/src/commands/framebuffer.ts +21 -16
  109. package/src/commands/install.ts +6 -4
  110. package/src/commands/power.ts +1 -1
  111. package/src/commands/reverse.ts +11 -10
  112. package/src/commands/subprocess/command.ts +131 -0
  113. package/src/commands/subprocess/index.ts +1 -137
  114. package/src/commands/subprocess/protocols/none.ts +9 -6
  115. package/src/commands/subprocess/protocols/shell.ts +11 -10
  116. package/src/commands/subprocess/protocols/types.ts +8 -7
  117. package/src/commands/sync/index.ts +1 -1
  118. package/src/commands/sync/list.ts +18 -50
  119. package/src/commands/sync/pull.ts +17 -18
  120. package/src/commands/sync/push.ts +4 -7
  121. package/src/commands/sync/request.ts +3 -2
  122. package/src/commands/sync/response.ts +43 -39
  123. package/src/commands/sync/stat.ts +17 -39
  124. package/src/commands/sync/sync.ts +13 -12
  125. package/src/crypto.ts +1 -1
  126. package/src/features.ts +1 -1
  127. package/src/index.ts +0 -1
  128. package/src/packet.ts +1 -1
  129. package/src/socket/dispatcher.ts +9 -4
  130. package/src/socket/index.ts +1 -1
  131. package/src/socket/socket.ts +5 -4
  132. package/src/utils/base64.ts +23 -0
  133. package/tsconfig.build.tsbuildinfo +1 -1
  134. package/esm/stream/buffered.d.ts +0 -39
  135. package/esm/stream/buffered.d.ts.map +0 -1
  136. package/esm/stream/buffered.js +0 -143
  137. package/esm/stream/buffered.js.map +0 -1
  138. package/esm/stream/detect.d.ts +0 -2
  139. package/esm/stream/detect.d.ts.map +0 -1
  140. package/esm/stream/detect.js +0 -6
  141. package/esm/stream/detect.js.map +0 -1
  142. package/esm/stream/detect.native.d.ts +0 -240
  143. package/esm/stream/detect.native.d.ts.map +0 -1
  144. package/esm/stream/detect.native.js +0 -60
  145. package/esm/stream/detect.native.js.map +0 -1
  146. package/esm/stream/detect.polyfill.d.ts +0 -18
  147. package/esm/stream/detect.polyfill.d.ts.map +0 -1
  148. package/esm/stream/detect.polyfill.js +0 -4
  149. package/esm/stream/detect.polyfill.js.map +0 -1
  150. package/esm/stream/index.d.ts +0 -4
  151. package/esm/stream/index.d.ts.map +0 -1
  152. package/esm/stream/index.js +0 -4
  153. package/esm/stream/index.js.map +0 -1
  154. package/esm/stream/transform.d.ts +0 -124
  155. package/esm/stream/transform.d.ts.map +0 -1
  156. package/esm/stream/transform.js +0 -379
  157. package/esm/stream/transform.js.map +0 -1
  158. package/src/stream/buffered.ts +0 -168
  159. package/src/stream/detect.native.ts +0 -362
  160. package/src/stream/detect.polyfill.ts +0 -22
  161. package/src/stream/detect.ts +0 -7
  162. package/src/stream/index.ts +0 -3
  163. package/src/stream/transform.ts +0 -474
  164. package/tsconfig.test.json +0 -9
  165. package/web-streams-polyfill-4.0.0-beta.2.tgz +0 -0
@@ -1,56 +1,4 @@
1
- import type { Adb } from '../../adb.js';
2
- import { type AdbSubprocessProtocol, type AdbSubprocessProtocolConstructor } from './protocols/index.js';
1
+ export * from './command.js';
3
2
  export * from './protocols/index.js';
4
3
  export * from './utils.js';
5
- export interface AdbSubprocessOptions {
6
- /**
7
- * A list of `AdbSubprocessProtocolConstructor`s to be used.
8
- *
9
- * Different `AdbSubprocessProtocol` has different capabilities, thus requires specific adaptations.
10
- * Check their documentations for details.
11
- *
12
- * The first protocol whose `isSupported` returns `true` will be used.
13
- * If no `AdbSubprocessProtocol` is supported, an error will be thrown.
14
- *
15
- * @default [AdbSubprocessShellProtocol, AdbSubprocessNoneProtocol]
16
- */
17
- protocols: AdbSubprocessProtocolConstructor[];
18
- }
19
- export interface AdbSubprocessWaitResult {
20
- stdout: string;
21
- stderr: string;
22
- exitCode: number;
23
- }
24
- export declare class AdbSubprocess {
25
- readonly adb: Adb;
26
- constructor(adb: Adb);
27
- private createProtocol;
28
- /**
29
- * Spawns an executable in PTY (interactive) mode.
30
- * @param command The command to run. If omitted, the default shell will be spawned.
31
- * @param options The options for creating the `AdbSubprocessProtocol`
32
- * @returns A new `AdbSubprocessProtocol` instance connecting to the spawned process.
33
- */
34
- shell(command?: string | string[], options?: Partial<AdbSubprocessOptions>): Promise<AdbSubprocessProtocol>;
35
- /**
36
- * Spawns an executable and pipe the output.
37
- * @param command The command to run, or an array of strings containing both command and args.
38
- * @param options The options for creating the `AdbSubprocessProtocol`
39
- * @returns A new `AdbSubprocessProtocol` instance connecting to the spawned process.
40
- */
41
- spawn(command: string | string[], options?: Partial<AdbSubprocessOptions>): Promise<AdbSubprocessProtocol>;
42
- /**
43
- * Spawns a new process, waits until it exits, and returns the entire output.
44
- * @param command The command to run
45
- * @param options The options for creating the `AdbSubprocessProtocol`
46
- * @returns The entire output of the command
47
- */
48
- spawnAndWait(command: string | string[], options?: Partial<AdbSubprocessOptions>): Promise<AdbSubprocessWaitResult>;
49
- /**
50
- * Spawns a new process, waits until it exits, and returns the entire output.
51
- * @param command The command to run
52
- * @returns The entire output of the command
53
- */
54
- spawnAndWaitLegacy(command: string | string[]): Promise<string>;
55
- }
56
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/subprocess/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAyD,KAAK,qBAAqB,EAAE,KAAK,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAEhK,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAE3B,MAAM,WAAW,oBAAoB;IACjC;;;;;;;;;;OAUG;IACH,SAAS,EAAE,gCAAgC,EAAE,CAAC;CACjD;AAMD,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,aAAa;IACtB,SAAgB,GAAG,EAAE,GAAG,CAAC;gBAEN,GAAG,EAAE,GAAG;YAIb,cAAc;IA6B5B;;;;;OAKG;IACI,KAAK,CACR,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACxC,OAAO,CAAC,qBAAqB,CAAC;IAIjC;;;;;OAKG;IACI,KAAK,CACR,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACxC,OAAO,CAAC,qBAAqB,CAAC;IAIjC;;;;;OAKG;IACU,YAAY,CACrB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACxC,OAAO,CAAC,uBAAuB,CAAC;IAuBnC;;;;OAIG;IACU,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAO/E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/subprocess/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC"}
@@ -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":"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"}
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
  *
@@ -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;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;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,7 +14,7 @@ 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;
@@ -35,6 +35,8 @@ export class AdbSubprocessNoneProtocol {
35
35
  get exit() { return this._exit; }
36
36
  constructor(socket) {
37
37
  this.socket = socket;
38
+ // Link `stdout`, `stderr` and `stdin` together,
39
+ // so closing any of them will close the others.
38
40
  this.duplex = new DuplexStreamFactory({
39
41
  close: async () => {
40
42
  await this.socket.close();
@@ -45,7 +47,7 @@ export class AdbSubprocessNoneProtocol {
45
47
  this._exit = this.duplex.closed.then(() => 0);
46
48
  }
47
49
  resize() {
48
- // Not supported
50
+ // Not supported, but don't throw.
49
51
  }
50
52
  kill() {
51
53
  return this.duplex.close();
@@ -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;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,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,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
  }