@yume-chan/adb 0.0.18 → 0.0.19

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 (164) hide show
  1. package/CHANGELOG.json +21 -0
  2. package/CHANGELOG.md +11 -1
  3. package/esm/adb.d.ts +63 -60
  4. package/esm/adb.d.ts.map +1 -1
  5. package/esm/adb.js +257 -249
  6. package/esm/adb.js.map +1 -1
  7. package/esm/auth.d.ts +51 -51
  8. package/esm/auth.d.ts.map +1 -1
  9. package/esm/auth.js +95 -96
  10. package/esm/auth.js.map +1 -1
  11. package/esm/backend.d.ts +8 -8
  12. package/esm/backend.d.ts.map +1 -1
  13. package/esm/backend.js +1 -1
  14. package/esm/commands/base.d.ts +6 -6
  15. package/esm/commands/base.d.ts.map +1 -1
  16. package/esm/commands/base.js +8 -8
  17. package/esm/commands/framebuffer.d.ts +53 -53
  18. package/esm/commands/framebuffer.d.ts.map +1 -1
  19. package/esm/commands/framebuffer.js +46 -46
  20. package/esm/commands/framebuffer.js.map +1 -1
  21. package/esm/commands/index.d.ts +7 -8
  22. package/esm/commands/index.d.ts.map +1 -1
  23. package/esm/commands/index.js +7 -8
  24. package/esm/commands/index.js.map +1 -1
  25. package/esm/commands/install.d.ts +9 -3
  26. package/esm/commands/install.d.ts.map +1 -1
  27. package/esm/commands/install.js +26 -26
  28. package/esm/commands/install.js.map +1 -1
  29. package/esm/commands/power.d.ts +22 -22
  30. package/esm/commands/power.js +48 -48
  31. package/esm/commands/reverse.d.ts +41 -28
  32. package/esm/commands/reverse.d.ts.map +1 -1
  33. package/esm/commands/reverse.js +125 -100
  34. package/esm/commands/reverse.js.map +1 -1
  35. package/esm/commands/subprocess/command.d.ts +57 -51
  36. package/esm/commands/subprocess/command.d.ts.map +1 -1
  37. package/esm/commands/subprocess/command.js +86 -80
  38. package/esm/commands/subprocess/command.js.map +1 -1
  39. package/esm/commands/subprocess/index.d.ts +3 -3
  40. package/esm/commands/subprocess/index.js +3 -3
  41. package/esm/commands/subprocess/protocols/index.d.ts +3 -3
  42. package/esm/commands/subprocess/protocols/index.js +3 -3
  43. package/esm/commands/subprocess/protocols/none.d.ts +35 -35
  44. package/esm/commands/subprocess/protocols/none.d.ts.map +1 -1
  45. package/esm/commands/subprocess/protocols/none.js +65 -55
  46. package/esm/commands/subprocess/protocols/none.js.map +1 -1
  47. package/esm/commands/subprocess/protocols/shell.d.ts +39 -38
  48. package/esm/commands/subprocess/protocols/shell.d.ts.map +1 -1
  49. package/esm/commands/subprocess/protocols/shell.js +166 -162
  50. package/esm/commands/subprocess/protocols/shell.js.map +1 -1
  51. package/esm/commands/subprocess/protocols/types.d.ts +49 -49
  52. package/esm/commands/subprocess/protocols/types.d.ts.map +1 -1
  53. package/esm/commands/subprocess/protocols/types.js +1 -1
  54. package/esm/commands/subprocess/utils.d.ts +1 -1
  55. package/esm/commands/subprocess/utils.js +18 -18
  56. package/esm/commands/sync/index.d.ts +8 -7
  57. package/esm/commands/sync/index.d.ts.map +1 -1
  58. package/esm/commands/sync/index.js +8 -7
  59. package/esm/commands/sync/index.js.map +1 -1
  60. package/esm/commands/sync/list.d.ts +42 -40
  61. package/esm/commands/sync/list.d.ts.map +1 -1
  62. package/esm/commands/sync/list.js +67 -47
  63. package/esm/commands/sync/list.js.map +1 -1
  64. package/esm/commands/sync/pull.d.ts +13 -11
  65. package/esm/commands/sync/pull.d.ts.map +1 -1
  66. package/esm/commands/sync/pull.js +35 -37
  67. package/esm/commands/sync/pull.js.map +1 -1
  68. package/esm/commands/sync/push.d.ts +46 -7
  69. package/esm/commands/sync/push.d.ts.map +1 -1
  70. package/esm/commands/sync/push.js +89 -22
  71. package/esm/commands/sync/push.js.map +1 -1
  72. package/esm/commands/sync/request.d.ts +26 -23
  73. package/esm/commands/sync/request.d.ts.map +1 -1
  74. package/esm/commands/sync/request.js +40 -42
  75. package/esm/commands/sync/request.js.map +1 -1
  76. package/esm/commands/sync/response.d.ts +19 -19
  77. package/esm/commands/sync/response.d.ts.map +1 -1
  78. package/esm/commands/sync/response.js +54 -54
  79. package/esm/commands/sync/response.js.map +1 -1
  80. package/esm/commands/sync/socket.d.ts +27 -0
  81. package/esm/commands/sync/socket.d.ts.map +1 -0
  82. package/esm/commands/sync/socket.js +66 -0
  83. package/esm/commands/sync/socket.js.map +1 -0
  84. package/esm/commands/sync/stat.d.ts +72 -72
  85. package/esm/commands/sync/stat.d.ts.map +1 -1
  86. package/esm/commands/sync/stat.js +116 -104
  87. package/esm/commands/sync/stat.js.map +1 -1
  88. package/esm/commands/sync/sync.d.ts +72 -60
  89. package/esm/commands/sync/sync.d.ts.map +1 -1
  90. package/esm/commands/sync/sync.js +127 -149
  91. package/esm/commands/sync/sync.js.map +1 -1
  92. package/esm/commands/tcpip.d.ts +5 -5
  93. package/esm/commands/tcpip.js +18 -18
  94. package/esm/crypto.d.ts +36 -36
  95. package/esm/crypto.js +248 -248
  96. package/esm/features.d.ts +10 -7
  97. package/esm/features.d.ts.map +1 -1
  98. package/esm/features.js +13 -10
  99. package/esm/features.js.map +1 -1
  100. package/esm/index.d.ts +9 -9
  101. package/esm/index.js +9 -9
  102. package/esm/packet.d.ts +45 -46
  103. package/esm/packet.d.ts.map +1 -1
  104. package/esm/packet.js +43 -48
  105. package/esm/packet.js.map +1 -1
  106. package/esm/socket/dispatcher.d.ts +59 -59
  107. package/esm/socket/dispatcher.d.ts.map +1 -1
  108. package/esm/socket/dispatcher.js +223 -234
  109. package/esm/socket/dispatcher.js.map +1 -1
  110. package/esm/socket/index.d.ts +2 -2
  111. package/esm/socket/index.js +2 -2
  112. package/esm/socket/socket.d.ts +59 -59
  113. package/esm/socket/socket.d.ts.map +1 -1
  114. package/esm/socket/socket.js +118 -118
  115. package/esm/socket/socket.js.map +1 -1
  116. package/esm/utils/auto-reset-event.d.ts +9 -9
  117. package/esm/utils/auto-reset-event.d.ts.map +1 -1
  118. package/esm/utils/auto-reset-event.js +33 -33
  119. package/esm/utils/auto-reset-event.js.map +1 -1
  120. package/esm/utils/base64.d.ts +27 -27
  121. package/esm/utils/base64.js +246 -246
  122. package/esm/utils/conditional-variable.d.ts +9 -0
  123. package/esm/utils/conditional-variable.d.ts.map +1 -0
  124. package/esm/utils/conditional-variable.js +34 -0
  125. package/esm/utils/conditional-variable.js.map +1 -0
  126. package/esm/utils/index.d.ts +4 -3
  127. package/esm/utils/index.d.ts.map +1 -1
  128. package/esm/utils/index.js +4 -3
  129. package/esm/utils/index.js.map +1 -1
  130. package/package.json +11 -10
  131. package/src/adb.ts +47 -37
  132. package/src/auth.ts +7 -6
  133. package/src/backend.ts +4 -4
  134. package/src/commands/base.ts +1 -1
  135. package/src/commands/framebuffer.ts +4 -4
  136. package/src/commands/index.ts +7 -8
  137. package/src/commands/reverse.ts +35 -10
  138. package/src/commands/subprocess/command.ts +12 -4
  139. package/src/commands/subprocess/index.ts +3 -3
  140. package/src/commands/subprocess/protocols/index.ts +3 -3
  141. package/src/commands/subprocess/protocols/none.ts +25 -11
  142. package/src/commands/subprocess/protocols/shell.ts +50 -28
  143. package/src/commands/subprocess/protocols/types.ts +8 -7
  144. package/src/commands/subprocess/utils.ts +1 -1
  145. package/src/commands/sync/index.ts +8 -7
  146. package/src/commands/sync/list.ts +42 -23
  147. package/src/commands/sync/pull.ts +40 -45
  148. package/src/commands/sync/push.ts +146 -39
  149. package/src/commands/sync/request.ts +20 -15
  150. package/src/commands/sync/response.ts +7 -6
  151. package/src/commands/sync/socket.ts +97 -0
  152. package/src/commands/sync/stat.ts +47 -42
  153. package/src/commands/sync/sync.ts +68 -108
  154. package/src/commands/tcpip.ts +5 -5
  155. package/src/features.ts +9 -6
  156. package/src/packet.ts +19 -34
  157. package/src/socket/dispatcher.ts +32 -47
  158. package/src/socket/index.ts +2 -2
  159. package/src/socket/socket.ts +26 -17
  160. package/src/utils/auto-reset-event.ts +14 -15
  161. package/src/utils/conditional-variable.ts +45 -0
  162. package/src/utils/index.ts +4 -3
  163. package/tsconfig.build.tsbuildinfo +1 -1
  164. package/src/commands/install.ts +0 -40
package/esm/packet.d.ts CHANGED
@@ -1,47 +1,46 @@
1
- import { TransformStream } from "@yume-chan/stream-extra";
2
- import Struct from "@yume-chan/struct";
3
- export declare enum AdbCommand {
4
- Auth = 1213486401,
5
- Close = 1163086915,
6
- Connect = 1314410051,
7
- OK = 1497451343,
8
- Open = 1313165391,
9
- Write = 1163154007
10
- }
11
- export declare const AdbPacketHeader: Struct<{
12
- command: number;
13
- arg0: number;
14
- arg1: number;
15
- payloadLength: number;
16
- checksum: number;
17
- magic: number;
18
- }, never, Record<never, never>, undefined>;
19
- export type AdbPacketHeader = typeof AdbPacketHeader["TDeserializeResult"];
20
- export declare const AdbPacket: Struct<{
21
- command: number;
22
- arg0: number;
23
- arg1: number;
24
- payloadLength: number;
25
- checksum: number;
26
- magic: number;
27
- payload: Uint8Array;
28
- }, "payloadLength", Record<never, never>, undefined>;
29
- export type AdbPacket = typeof AdbPacket["TDeserializeResult"];
30
- /**
31
- * `AdbPacketData` contains all the useful fields of `AdbPacket`.
32
- *
33
- * `AdbBackend#connect` will return a `ReadableStream<AdbPacketData>`,
34
- * so each backend can encode `AdbPacket` in different ways.
35
- *
36
- * `AdbBackend#connect` will return a `WritableStream<AdbPacketInit>`,
37
- * however, `AdbPacketDispatcher` will transform `AdbPacketData` to `AdbPacketInit` for you,
38
- * so `AdbSocket#writable#write` only needs `AdbPacketData`.
39
- */
40
- export type AdbPacketData = Omit<typeof AdbPacket["TInit"], "checksum" | "magic">;
41
- export type AdbPacketInit = Omit<typeof AdbPacket["TInit"], "magic">;
42
- export declare function calculateChecksum(payload: Uint8Array): number;
43
- export declare function calculateChecksum(init: AdbPacketData): AdbPacketInit;
44
- export declare class AdbPacketSerializeStream extends TransformStream<AdbPacketInit, Uint8Array> {
45
- constructor();
46
- }
1
+ import { ConsumableTransformStream } from "@yume-chan/stream-extra";
2
+ import Struct from "@yume-chan/struct";
3
+ export declare enum AdbCommand {
4
+ Auth = 1213486401,
5
+ Close = 1163086915,
6
+ Connect = 1314410051,
7
+ OK = 1497451343,
8
+ Open = 1313165391,
9
+ Write = 1163154007
10
+ }
11
+ export declare const AdbPacketHeader: Struct<{
12
+ command: number;
13
+ arg0: number;
14
+ arg1: number;
15
+ payloadLength: number;
16
+ checksum: number;
17
+ magic: number;
18
+ }, never, Record<never, never>, undefined>;
19
+ export type AdbPacketHeader = (typeof AdbPacketHeader)["TDeserializeResult"];
20
+ export declare const AdbPacket: Struct<{
21
+ command: number;
22
+ arg0: number;
23
+ arg1: number;
24
+ payloadLength: number;
25
+ checksum: number;
26
+ magic: number;
27
+ payload: Uint8Array;
28
+ }, "payloadLength", Record<never, never>, undefined>;
29
+ export type AdbPacket = (typeof AdbPacket)["TDeserializeResult"];
30
+ /**
31
+ * `AdbPacketData` contains all the useful fields of `AdbPacket`.
32
+ *
33
+ * `AdbBackend#connect` will return a `ReadableStream<AdbPacketData>`,
34
+ * so each backend can encode `AdbPacket` in different ways.
35
+ *
36
+ * `AdbBackend#connect` will return a `WritableStream<AdbPacketInit>`,
37
+ * however, `AdbPacketDispatcher` will transform `AdbPacketData` to `AdbPacketInit` for you,
38
+ * so `AdbSocket#writable#write` only needs `AdbPacketData`.
39
+ */
40
+ export type AdbPacketData = Omit<(typeof AdbPacket)["TInit"], "checksum" | "magic">;
41
+ export type AdbPacketInit = (typeof AdbPacket)["TInit"];
42
+ export declare function calculateChecksum(payload: Uint8Array): number;
43
+ export declare class AdbPacketSerializeStream extends ConsumableTransformStream<AdbPacketInit, Uint8Array> {
44
+ constructor();
45
+ }
47
46
  //# sourceMappingURL=packet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"packet.d.ts","sourceRoot":"","sources":["../src/packet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,oBAAY,UAAU;IAClB,IAAI,aAAa;IACjB,KAAK,aAAa;IAClB,OAAO,aAAa;IACpB,EAAE,aAAa;IACf,IAAI,aAAa;IACjB,KAAK,aAAa;CACrB;AAED,eAAO,MAAM,eAAe;;;;;;;0CAMT,CAAC;AAEpB,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,oBAAoB,CAAC,CAAC;AAI3E,eAAO,MAAM,SAAS;;;;;;;;oDAEsC,CAAC;AAE7D,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,oBAAoB,CAAC,CAAC;AAE/D;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAC5B,OAAO,SAAS,CAAC,OAAO,CAAC,EACzB,UAAU,GAAG,OAAO,CACvB,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAErE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC;AAC/D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC;AActE,qBAAa,wBAAyB,SAAQ,eAAe,CACzD,aAAa,EACb,UAAU,CACb;;CAuBA"}
1
+ {"version":3,"file":"packet.d.ts","sourceRoot":"","sources":["../src/packet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,oBAAY,UAAU;IAClB,IAAI,aAAa;IACjB,KAAK,aAAa;IAClB,OAAO,aAAa;IACpB,EAAE,aAAa;IACf,IAAI,aAAa;IACjB,KAAK,aAAa;CACrB;AAED,eAAO,MAAM,eAAe;;;;;;;0CAMT,CAAC;AAEpB,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAI7E,eAAO,MAAM,SAAS;;;;;;;;oDAEsC,CAAC;AAE7D,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAEjE;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAC5B,CAAC,OAAO,SAAS,CAAC,CAAC,OAAO,CAAC,EAC3B,UAAU,GAAG,OAAO,CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;AAExD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAE7D;AAED,qBAAa,wBAAyB,SAAQ,yBAAyB,CACnE,aAAa,EACb,UAAU,CACb;;CAoBA"}
package/esm/packet.js CHANGED
@@ -1,49 +1,44 @@
1
- import { TransformStream } from "@yume-chan/stream-extra";
2
- import Struct from "@yume-chan/struct";
3
- export var AdbCommand;
4
- (function (AdbCommand) {
5
- AdbCommand[AdbCommand["Auth"] = 1213486401] = "Auth";
6
- AdbCommand[AdbCommand["Close"] = 1163086915] = "Close";
7
- AdbCommand[AdbCommand["Connect"] = 1314410051] = "Connect";
8
- AdbCommand[AdbCommand["OK"] = 1497451343] = "OK";
9
- AdbCommand[AdbCommand["Open"] = 1313165391] = "Open";
10
- AdbCommand[AdbCommand["Write"] = 1163154007] = "Write";
11
- })(AdbCommand = AdbCommand || (AdbCommand = {}));
12
- export const AdbPacketHeader = new Struct({ littleEndian: true })
13
- .uint32("command")
14
- .uint32("arg0")
15
- .uint32("arg1")
16
- .uint32("payloadLength")
17
- .uint32("checksum")
18
- .int32("magic");
19
- export const AdbPacket = new Struct({ littleEndian: true })
20
- .fields(AdbPacketHeader)
21
- .uint8Array("payload", { lengthField: "payloadLength" });
22
- export function calculateChecksum(payload) {
23
- if (payload instanceof Uint8Array) {
24
- return payload.reduce((result, item) => result + item, 0);
25
- }
26
- else {
27
- payload.checksum = calculateChecksum(payload.payload);
28
- return payload;
29
- }
30
- }
31
- export class AdbPacketSerializeStream extends TransformStream {
32
- constructor() {
33
- super({
34
- transform: (init, controller) => {
35
- // This syntax is ugly, but I don't want to create a new object.
36
- init.magic =
37
- init.command ^ 0xffffffff;
38
- init.payloadLength =
39
- init.payload.byteLength;
40
- controller.enqueue(AdbPacketHeader.serialize(init));
41
- if (init.payload.byteLength) {
42
- // Enqueue payload separately to avoid copying
43
- controller.enqueue(init.payload);
44
- }
45
- },
46
- });
47
- }
48
- }
1
+ import { ConsumableTransformStream } from "@yume-chan/stream-extra";
2
+ import Struct from "@yume-chan/struct";
3
+ export var AdbCommand;
4
+ (function (AdbCommand) {
5
+ AdbCommand[AdbCommand["Auth"] = 1213486401] = "Auth";
6
+ AdbCommand[AdbCommand["Close"] = 1163086915] = "Close";
7
+ AdbCommand[AdbCommand["Connect"] = 1314410051] = "Connect";
8
+ AdbCommand[AdbCommand["OK"] = 1497451343] = "OK";
9
+ AdbCommand[AdbCommand["Open"] = 1313165391] = "Open";
10
+ AdbCommand[AdbCommand["Write"] = 1163154007] = "Write";
11
+ })(AdbCommand = AdbCommand || (AdbCommand = {}));
12
+ export const AdbPacketHeader = new Struct({ littleEndian: true })
13
+ .uint32("command")
14
+ .uint32("arg0")
15
+ .uint32("arg1")
16
+ .uint32("payloadLength")
17
+ .uint32("checksum")
18
+ .int32("magic");
19
+ export const AdbPacket = new Struct({ littleEndian: true })
20
+ .fields(AdbPacketHeader)
21
+ .uint8Array("payload", { lengthField: "payloadLength" });
22
+ export function calculateChecksum(payload) {
23
+ return payload.reduce((result, item) => result + item, 0);
24
+ }
25
+ export class AdbPacketSerializeStream extends ConsumableTransformStream {
26
+ constructor() {
27
+ const headerBuffer = new Uint8Array(AdbPacketHeader.size);
28
+ super({
29
+ transform: async (chunk, controller) => {
30
+ const init = chunk;
31
+ init.payloadLength = init.payload.byteLength;
32
+ AdbPacketHeader.serialize(init, headerBuffer);
33
+ await controller.enqueue(headerBuffer);
34
+ if (init.payload.byteLength) {
35
+ // USB protocol preserves packet boundaries,
36
+ // so we must write payload separately as native ADB does,
37
+ // otherwise the read operation on device will fail.
38
+ await controller.enqueue(init.payload);
39
+ }
40
+ },
41
+ });
42
+ }
43
+ }
49
44
  //# sourceMappingURL=packet.js.map
package/esm/packet.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"packet.js","sourceRoot":"","sources":["../src/packet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,MAAM,CAAN,IAAY,UAOX;AAPD,WAAY,UAAU;IAClB,oDAAiB,CAAA;IACjB,sDAAkB,CAAA;IAClB,0DAAoB,CAAA;IACpB,gDAAe,CAAA;IACf,oDAAiB,CAAA;IACjB,sDAAkB,CAAA;AACtB,CAAC,EAPW,UAAU,GAAV,UAAU,KAAV,UAAU,QAOrB;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC5D,MAAM,CAAC,SAAS,CAAC;KACjB,MAAM,CAAC,MAAM,CAAC;KACd,MAAM,CAAC,MAAM,CAAC;KACd,MAAM,CAAC,eAAe,CAAC;KACvB,MAAM,CAAC,UAAU,CAAC;KAClB,KAAK,CAAC,OAAO,CAAC,CAAC;AAMpB,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KACtD,MAAM,CAAC,eAAe,CAAC;KACvB,UAAU,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC;AAwB7D,MAAM,UAAU,iBAAiB,CAC7B,OAAmC;IAEnC,IAAI,OAAO,YAAY,UAAU,EAAE;QAC/B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;KAC7D;SAAM;QACF,OAAyB,CAAC,QAAQ,GAAG,iBAAiB,CACnD,OAAO,CAAC,OAAO,CAClB,CAAC;QACF,OAAO,OAAwB,CAAC;KACnC;AACL,CAAC;AAED,MAAM,OAAO,wBAAyB,SAAQ,eAG7C;IACG;QACI,KAAK,CAAC;YACF,SAAS,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;gBAC5B,gEAAgE;gBAC/D,IAAuC,CAAC,KAAK;oBAC1C,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;gBAC7B,IAAuC,CAAC,aAAa;oBAClD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;gBAE5B,UAAU,CAAC,OAAO,CACd,eAAe,CAAC,SAAS,CACrB,IAAsC,CACzC,CACJ,CAAC;gBAEF,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;oBACzB,8CAA8C;oBAC9C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACpC;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"packet.js","sourceRoot":"","sources":["../src/packet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,MAAM,CAAN,IAAY,UAOX;AAPD,WAAY,UAAU;IAClB,oDAAiB,CAAA;IACjB,sDAAkB,CAAA;IAClB,0DAAoB,CAAA;IACpB,gDAAe,CAAA;IACf,oDAAiB,CAAA;IACjB,sDAAkB,CAAA;AACtB,CAAC,EAPW,UAAU,GAAV,UAAU,KAAV,UAAU,QAOrB;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC5D,MAAM,CAAC,SAAS,CAAC;KACjB,MAAM,CAAC,MAAM,CAAC;KACd,MAAM,CAAC,MAAM,CAAC;KACd,MAAM,CAAC,eAAe,CAAC;KACvB,MAAM,CAAC,UAAU,CAAC;KAClB,KAAK,CAAC,OAAO,CAAC,CAAC;AAMpB,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KACtD,MAAM,CAAC,eAAe,CAAC;KACvB,UAAU,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC;AAqB7D,MAAM,UAAU,iBAAiB,CAAC,OAAmB;IACjD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,OAAO,wBAAyB,SAAQ,yBAG7C;IACG;QACI,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1D,KAAK,CAAC;YACF,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;gBACnC,MAAM,IAAI,GAAG,KAA4C,CAAC;gBAC1D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;gBAE7C,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBAC9C,MAAM,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;oBACzB,4CAA4C;oBAC5C,0DAA0D;oBAC1D,oDAAoD;oBACpD,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC1C;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -1,60 +1,60 @@
1
- import { type RemoveEventListener } from "@yume-chan/event";
2
- import { type ReadableWritablePair } from "@yume-chan/stream-extra";
3
- import { type ValueOrPromise } from "@yume-chan/struct";
4
- import { AdbCommand, type AdbPacketData, type AdbPacketInit } from "../packet.js";
5
- import { type AdbSocket } from "./socket.js";
6
- export interface AdbPacketDispatcherOptions {
7
- calculateChecksum: boolean;
8
- /**
9
- * Before Android 9.0, ADB uses `char*` to parse service string,
10
- * thus requires a null character to terminate.
11
- *
12
- * Usually it should have the same value as `calculateChecksum`.
13
- */
14
- appendNullToServiceString: boolean;
15
- maxPayloadSize: number;
16
- }
17
- export type AdbIncomingSocketHandler = (socket: AdbSocket) => ValueOrPromise<boolean>;
18
- export interface Closeable {
19
- close(): ValueOrPromise<void>;
20
- }
21
- /**
22
- * The dispatcher is the "dumb" part of the connection handling logic.
23
- *
24
- * Except some options to change some minor behaviors,
25
- * its only job is forwarding packets between authenticated underlying streams
26
- * and abstracted socket objects.
27
- *
28
- * The `Adb` class is responsible for doing the authentication,
29
- * negotiating the options, and has shortcuts to high-level services.
30
- */
31
- export declare class AdbPacketDispatcher implements Closeable {
32
- private readonly initializers;
33
- /**
34
- * Socket local ID to the socket controller.
35
- */
36
- private readonly sockets;
37
- private _writer;
38
- readonly options: AdbPacketDispatcherOptions;
39
- private _closed;
40
- private _disconnected;
41
- get disconnected(): Promise<void>;
42
- private _incomingSocketHandlers;
43
- private _abortController;
44
- constructor(connection: ReadableWritablePair<AdbPacketData, AdbPacketInit>, options: AdbPacketDispatcherOptions);
45
- private handleOk;
46
- private handleClose;
47
- /**
48
- * Add a handler for incoming socket.
49
- * @param handler A function to call with new incoming sockets. It must return `true` if it accepts the socket.
50
- * @returns A function to remove the handler.
51
- */
52
- onIncomingSocket(handler: AdbIncomingSocketHandler): RemoveEventListener;
53
- private handleOpen;
54
- createSocket(serviceString: string): Promise<AdbSocket>;
55
- sendPacket(packet: AdbPacketInit): Promise<void>;
56
- sendPacket(command: AdbCommand, arg0: number, arg1: number, payload?: string | Uint8Array): Promise<void>;
57
- close(): Promise<void>;
58
- private dispose;
59
- }
1
+ import type { RemoveEventListener } from "@yume-chan/event";
2
+ import type { Consumable, ReadableWritablePair } from "@yume-chan/stream-extra";
3
+ import type { ValueOrPromise } from "@yume-chan/struct";
4
+ import type { AdbPacketData, AdbPacketInit } from "../packet.js";
5
+ import { AdbCommand } from "../packet.js";
6
+ import type { AdbSocket } from "./socket.js";
7
+ export interface AdbPacketDispatcherOptions {
8
+ calculateChecksum: boolean;
9
+ /**
10
+ * Before Android 9.0, ADB uses `char*` to parse service string,
11
+ * thus requires a null character to terminate.
12
+ *
13
+ * Usually it should have the same value as `calculateChecksum`.
14
+ */
15
+ appendNullToServiceString: boolean;
16
+ maxPayloadSize: number;
17
+ }
18
+ export type AdbIncomingSocketHandler = (socket: AdbSocket) => ValueOrPromise<boolean>;
19
+ export interface Closeable {
20
+ close(): ValueOrPromise<void>;
21
+ }
22
+ /**
23
+ * The dispatcher is the "dumb" part of the connection handling logic.
24
+ *
25
+ * Except some options to change some minor behaviors,
26
+ * its only job is forwarding packets between authenticated underlying streams
27
+ * and abstracted socket objects.
28
+ *
29
+ * The `Adb` class is responsible for doing the authentication,
30
+ * negotiating the options, and has shortcuts to high-level services.
31
+ */
32
+ export declare class AdbPacketDispatcher implements Closeable {
33
+ private readonly initializers;
34
+ /**
35
+ * Socket local ID to the socket controller.
36
+ */
37
+ private readonly sockets;
38
+ private _writer;
39
+ readonly options: AdbPacketDispatcherOptions;
40
+ private _closed;
41
+ private _disconnected;
42
+ get disconnected(): Promise<void>;
43
+ private _incomingSocketHandlers;
44
+ private _abortController;
45
+ constructor(connection: ReadableWritablePair<AdbPacketData, Consumable<AdbPacketInit>>, options: AdbPacketDispatcherOptions);
46
+ private handleOk;
47
+ private handleClose;
48
+ /**
49
+ * Add a handler for incoming socket.
50
+ * @param handler A function to call with new incoming sockets. It must return `true` if it accepts the socket.
51
+ * @returns A function to remove the handler.
52
+ */
53
+ onIncomingSocket(handler: AdbIncomingSocketHandler): RemoveEventListener;
54
+ private handleOpen;
55
+ createSocket(serviceString: string): Promise<AdbSocket>;
56
+ sendPacket(command: AdbCommand, arg0: number, arg1: number, payload?: string | Uint8Array): Promise<void>;
57
+ close(): Promise<void>;
58
+ private dispose;
59
+ }
60
60
  //# sourceMappingURL=dispatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/socket/dispatcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAGH,KAAK,oBAAoB,EAE5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE3E,OAAO,EACH,UAAU,EAEV,KAAK,aAAa,EAClB,KAAK,aAAa,EACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAElE,MAAM,WAAW,0BAA0B;IACvC,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,yBAAyB,EAAE,OAAO,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,wBAAwB,GAAG,CACnC,MAAM,EAAE,SAAS,KAChB,cAAc,CAAC,OAAO,CAAC,CAAC;AAE7B,MAAM,WAAW,SAAS;IACtB,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,qBAAa,mBAAoB,YAAW,SAAS;IAGjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0C;IAElE,OAAO,CAAC,OAAO,CAA8C;IAE7D,SAAgB,OAAO,EAAE,0BAA0B,CAAC;IAEpD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAA+B;IACpD,IAAW,YAAY,kBAEtB;IAED,OAAO,CAAC,uBAAuB,CAA4C;IAE3E,OAAO,CAAC,gBAAgB,CAAyB;gBAG7C,UAAU,EAAE,oBAAoB,CAAC,aAAa,EAAE,aAAa,CAAC,EAC9D,OAAO,EAAE,0BAA0B;IAuEvC,OAAO,CAAC,QAAQ;YAkBF,WAAW;IA6CzB;;;;OAIG;IACI,gBAAgB,CACnB,OAAO,EAAE,wBAAwB,GAClC,mBAAmB;YASR,UAAU;IA4BX,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAsB7D,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAChD,UAAU,CACb,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAC9B,OAAO,CAAC,IAAI,CAAC;IAwCH,KAAK;IAgBlB,OAAO,CAAC,OAAO;CASlB"}
1
+ {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/socket/dispatcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EACR,UAAU,EACV,oBAAoB,EAEvB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,UAAU,EAAqB,MAAM,cAAc,CAAC;AAG7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,WAAW,0BAA0B;IACvC,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,yBAAyB,EAAE,OAAO,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,wBAAwB,GAAG,CACnC,MAAM,EAAE,SAAS,KAChB,cAAc,CAAC,OAAO,CAAC,CAAC;AAE7B,MAAM,WAAW,SAAS;IACtB,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,qBAAa,mBAAoB,YAAW,SAAS;IAGjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0C;IAElE,OAAO,CAAC,OAAO,CAAyD;IAExE,SAAgB,OAAO,EAAE,0BAA0B,CAAC;IAEpD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAA+B;IACpD,IAAW,YAAY,kBAEtB;IAED,OAAO,CAAC,uBAAuB,CAA4C;IAE3E,OAAO,CAAC,gBAAgB,CAAyB;gBAG7C,UAAU,EAAE,oBAAoB,CAC5B,aAAa,EACb,UAAU,CAAC,aAAa,CAAC,CAC5B,EACD,OAAO,EAAE,0BAA0B;IAuEvC,OAAO,CAAC,QAAQ;YAkBF,WAAW;IA6CzB;;;;OAIG;IACI,gBAAgB,CACnB,OAAO,EAAE,wBAAwB,GAClC,mBAAmB;YASR,UAAU;IA4BX,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAsBvD,UAAU,CACnB,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAAM,GAAG,UAA8B,GACjD,OAAO,CAAC,IAAI,CAAC;IAqBH,KAAK;IAgBlB,OAAO,CAAC,OAAO;CASlB"}