@yume-chan/adb 0.0.9 → 0.0.12

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 (407) hide show
  1. package/CHANGELOG.json +55 -0
  2. package/CHANGELOG.md +35 -0
  3. package/LICENSE +21 -21
  4. package/README.md +240 -257
  5. package/esm/adb.d.ts +48 -0
  6. package/esm/adb.d.ts.map +1 -0
  7. package/esm/adb.js +141 -145
  8. package/esm/adb.js.map +1 -1
  9. package/{dts → esm}/auth.d.ts +17 -7
  10. package/esm/auth.d.ts.map +1 -0
  11. package/esm/auth.js +69 -109
  12. package/esm/auth.js.map +1 -1
  13. package/esm/backend.d.ts +9 -0
  14. package/esm/backend.d.ts.map +1 -0
  15. package/{dts → esm}/commands/base.d.ts +1 -1
  16. package/esm/commands/base.d.ts.map +1 -0
  17. package/esm/commands/base.js +1 -0
  18. package/esm/commands/base.js.map +1 -1
  19. package/{dts → esm}/commands/framebuffer.d.ts +3 -3
  20. package/esm/commands/framebuffer.d.ts.map +1 -0
  21. package/esm/commands/framebuffer.js +15 -18
  22. package/esm/commands/framebuffer.js.map +1 -1
  23. package/esm/commands/index.d.ts +9 -0
  24. package/esm/commands/index.d.ts.map +1 -0
  25. package/esm/commands/index.js +8 -8
  26. package/esm/commands/index.js.map +1 -1
  27. package/esm/commands/install.d.ts +4 -0
  28. package/esm/commands/install.d.ts.map +1 -0
  29. package/esm/commands/install.js +21 -13
  30. package/esm/commands/install.js.map +1 -1
  31. package/esm/commands/power.d.ts +23 -0
  32. package/esm/commands/power.d.ts.map +1 -0
  33. package/esm/commands/power.js +45 -0
  34. package/esm/commands/power.js.map +1 -0
  35. package/{dts → esm}/commands/reverse.d.ts +3 -3
  36. package/esm/commands/reverse.d.ts.map +1 -0
  37. package/esm/commands/reverse.js +50 -60
  38. package/esm/commands/reverse.js.map +1 -1
  39. package/esm/commands/subprocess/index.d.ts +57 -0
  40. package/esm/commands/subprocess/index.d.ts.map +1 -0
  41. package/esm/commands/subprocess/index.js +83 -0
  42. package/esm/commands/subprocess/index.js.map +1 -0
  43. package/esm/commands/subprocess/legacy.d.ts +28 -0
  44. package/esm/commands/subprocess/legacy.d.ts.map +1 -0
  45. package/esm/commands/subprocess/legacy.js +44 -0
  46. package/esm/commands/subprocess/legacy.js.map +1 -0
  47. package/esm/commands/subprocess/protocol.d.ts +38 -0
  48. package/esm/commands/subprocess/protocol.d.ts.map +1 -0
  49. package/esm/commands/subprocess/protocol.js +155 -0
  50. package/esm/commands/subprocess/protocol.js.map +1 -0
  51. package/esm/commands/subprocess/types.d.ts +47 -0
  52. package/esm/commands/subprocess/types.d.ts.map +1 -0
  53. package/esm/commands/{shell → subprocess}/types.js +0 -0
  54. package/{cjs/commands/shell → esm/commands/subprocess}/types.js.map +1 -1
  55. package/{dts/commands/shell → esm/commands/subprocess}/utils.d.ts +0 -0
  56. package/esm/commands/subprocess/utils.d.ts.map +1 -0
  57. package/esm/commands/{shell → subprocess}/utils.js +0 -0
  58. package/esm/commands/subprocess/utils.js.map +1 -0
  59. package/esm/commands/sync/index.d.ts +8 -0
  60. package/esm/commands/sync/index.d.ts.map +1 -0
  61. package/esm/commands/sync/index.js +7 -7
  62. package/esm/commands/sync/index.js.map +1 -1
  63. package/{dts → esm}/commands/sync/list.d.ts +4 -4
  64. package/esm/commands/sync/list.d.ts.map +1 -0
  65. package/esm/commands/sync/list.js +16 -19
  66. package/esm/commands/sync/list.js.map +1 -1
  67. package/esm/commands/sync/pull.d.ts +11 -0
  68. package/esm/commands/sync/pull.d.ts.map +1 -0
  69. package/esm/commands/sync/pull.js +17 -11
  70. package/esm/commands/sync/pull.js.map +1 -1
  71. package/esm/commands/sync/push.d.ts +8 -0
  72. package/esm/commands/sync/push.d.ts.map +1 -0
  73. package/esm/commands/sync/push.js +19 -37
  74. package/esm/commands/sync/push.js.map +1 -1
  75. package/{dts → esm}/commands/sync/request.d.ts +3 -3
  76. package/esm/commands/sync/request.d.ts.map +1 -0
  77. package/esm/commands/sync/request.js +24 -26
  78. package/esm/commands/sync/request.js.map +1 -1
  79. package/{dts → esm}/commands/sync/response.d.ts +3 -3
  80. package/esm/commands/sync/response.d.ts.map +1 -0
  81. package/esm/commands/sync/response.js +16 -19
  82. package/esm/commands/sync/response.js.map +1 -1
  83. package/{dts → esm}/commands/sync/stat.d.ts +4 -4
  84. package/esm/commands/sync/stat.d.ts.map +1 -0
  85. package/esm/commands/sync/stat.js +22 -27
  86. package/esm/commands/sync/stat.js.map +1 -1
  87. package/esm/commands/sync/sync.d.ts +83 -0
  88. package/esm/commands/sync/sync.d.ts.map +1 -0
  89. package/esm/commands/sync/sync.js +92 -89
  90. package/esm/commands/sync/sync.js.map +1 -1
  91. package/{dts → esm}/commands/tcpip.d.ts +1 -1
  92. package/{dts → esm}/commands/tcpip.d.ts.map +1 -1
  93. package/esm/commands/tcpip.js +14 -19
  94. package/esm/commands/tcpip.js.map +1 -1
  95. package/esm/crypto.d.ts +24 -0
  96. package/esm/crypto.d.ts.map +1 -0
  97. package/esm/crypto.js +33 -31
  98. package/esm/crypto.js.map +1 -1
  99. package/{dts → esm}/features.d.ts +0 -0
  100. package/{dts → esm}/features.d.ts.map +0 -0
  101. package/esm/features.js +1 -1
  102. package/esm/features.js.map +1 -1
  103. package/esm/index.d.ts +11 -0
  104. package/esm/index.d.ts.map +1 -0
  105. package/esm/index.js +10 -10
  106. package/esm/index.js.map +1 -1
  107. package/esm/packet.d.ts +28 -0
  108. package/esm/packet.d.ts.map +1 -0
  109. package/esm/packet.js +26 -53
  110. package/esm/packet.js.map +1 -1
  111. package/esm/socket/controller.d.ts +37 -0
  112. package/esm/socket/controller.d.ts.map +1 -0
  113. package/esm/socket/controller.js +52 -66
  114. package/esm/socket/controller.js.map +1 -1
  115. package/{dts → esm}/socket/dispatcher.d.ts +10 -23
  116. package/esm/socket/dispatcher.d.ts.map +1 -0
  117. package/esm/socket/dispatcher.js +148 -164
  118. package/esm/socket/dispatcher.js.map +1 -1
  119. package/esm/socket/index.d.ts +3 -0
  120. package/esm/socket/index.d.ts.map +1 -0
  121. package/esm/socket/index.js +2 -6
  122. package/esm/socket/index.js.map +1 -1
  123. package/esm/socket/socket.d.ts +34 -0
  124. package/esm/socket/socket.d.ts.map +1 -0
  125. package/esm/socket/socket.js +69 -14
  126. package/esm/socket/socket.js.map +1 -1
  127. package/esm/stream/buffered.d.ts +35 -0
  128. package/esm/stream/buffered.d.ts.map +1 -0
  129. package/esm/stream/buffered.js +123 -0
  130. package/esm/stream/buffered.js.map +1 -0
  131. package/esm/stream/detect.bak.d.ts +240 -0
  132. package/esm/stream/detect.bak.d.ts.map +1 -0
  133. package/esm/stream/detect.bak.js +60 -0
  134. package/esm/stream/detect.bak.js.map +1 -0
  135. package/esm/stream/detect.d.ts +18 -0
  136. package/esm/stream/detect.d.ts.map +1 -0
  137. package/esm/stream/detect.js +6 -0
  138. package/esm/stream/detect.js.map +1 -0
  139. package/esm/stream/detect.native.d.ts +240 -0
  140. package/esm/stream/detect.native.d.ts.map +1 -0
  141. package/esm/stream/detect.native.js +60 -0
  142. package/esm/stream/detect.native.js.map +1 -0
  143. package/esm/stream/detect.polyfill.d.ts +18 -0
  144. package/esm/stream/detect.polyfill.d.ts.map +1 -0
  145. package/esm/stream/detect.polyfill.js +6 -0
  146. package/esm/stream/detect.polyfill.js.map +1 -0
  147. package/esm/stream/index.d.ts +4 -0
  148. package/esm/stream/index.d.ts.map +1 -0
  149. package/esm/stream/index.js +3 -2
  150. package/esm/stream/index.js.map +1 -1
  151. package/esm/stream/transform.d.ts +98 -0
  152. package/esm/stream/transform.d.ts.map +1 -0
  153. package/esm/stream/transform.js +352 -0
  154. package/esm/stream/transform.js.map +1 -0
  155. package/{dts → esm}/utils/auto-reset-event.d.ts +1 -1
  156. package/esm/utils/auto-reset-event.d.ts.map +1 -0
  157. package/esm/utils/auto-reset-event.js +2 -1
  158. package/esm/utils/auto-reset-event.js.map +1 -1
  159. package/esm/utils/base64.d.ts +5 -0
  160. package/esm/utils/base64.d.ts.map +1 -0
  161. package/esm/utils/base64.js +116 -80
  162. package/esm/utils/base64.js.map +1 -1
  163. package/esm/utils/encoding.d.ts +3 -0
  164. package/esm/utils/encoding.d.ts.map +1 -0
  165. package/esm/utils/encoding.js +11 -0
  166. package/esm/utils/encoding.js.map +1 -0
  167. package/esm/utils/index.d.ts +4 -0
  168. package/esm/utils/index.d.ts.map +1 -0
  169. package/esm/utils/index.js +3 -4
  170. package/esm/utils/index.js.map +1 -1
  171. package/package.json +49 -50
  172. package/src/adb.ts +247 -242
  173. package/src/auth.ts +170 -156
  174. package/src/backend.ts +11 -24
  175. package/src/commands/base.ts +11 -11
  176. package/src/commands/framebuffer.ts +73 -73
  177. package/src/commands/index.ts +8 -8
  178. package/src/commands/install.ts +32 -21
  179. package/src/commands/power.ts +54 -0
  180. package/src/commands/reverse.ts +136 -133
  181. package/src/commands/subprocess/index.ts +124 -0
  182. package/src/commands/subprocess/legacy.ts +58 -0
  183. package/src/commands/subprocess/protocol.ts +185 -0
  184. package/src/commands/subprocess/types.ts +55 -0
  185. package/src/commands/{shell → subprocess}/utils.ts +20 -20
  186. package/src/commands/sync/index.ts +7 -7
  187. package/src/commands/sync/list.ts +40 -39
  188. package/src/commands/sync/pull.ts +43 -34
  189. package/src/commands/sync/push.ts +41 -46
  190. package/src/commands/sync/request.ts +49 -48
  191. package/src/commands/sync/response.ts +58 -57
  192. package/src/commands/sync/stat.ts +123 -121
  193. package/src/commands/sync/sync.ts +145 -113
  194. package/src/commands/tcpip.ts +21 -21
  195. package/src/crypto.ts +280 -280
  196. package/src/features.ts +5 -5
  197. package/src/index.ts +11 -10
  198. package/src/packet.ts +69 -89
  199. package/src/socket/dispatcher.ts +256 -269
  200. package/src/socket/index.ts +2 -6
  201. package/src/socket/socket.ts +129 -28
  202. package/src/stream/buffered.ts +147 -0
  203. package/src/stream/detect.native.ts +362 -0
  204. package/src/stream/detect.polyfill.ts +25 -0
  205. package/src/stream/detect.ts +25 -0
  206. package/src/stream/index.ts +3 -2
  207. package/src/stream/transform.ts +427 -0
  208. package/src/utils/auto-reset-event.ts +41 -41
  209. package/src/utils/base64.ts +306 -274
  210. package/src/utils/encoding.ts +13 -0
  211. package/src/utils/index.ts +3 -4
  212. package/tsconfig.build.json +3 -0
  213. package/tsconfig.build.tsbuildinfo +1 -0
  214. package/tsconfig.test.json +10 -0
  215. package/cjs/adb.js +0 -205
  216. package/cjs/adb.js.map +0 -1
  217. package/cjs/auth.js +0 -141
  218. package/cjs/auth.js.map +0 -1
  219. package/cjs/backend.js +0 -3
  220. package/cjs/backend.js.map +0 -1
  221. package/cjs/commands/base.js +0 -12
  222. package/cjs/commands/base.js.map +0 -1
  223. package/cjs/commands/demo-mode.js +0 -174
  224. package/cjs/commands/demo-mode.js.map +0 -1
  225. package/cjs/commands/framebuffer.js +0 -66
  226. package/cjs/commands/framebuffer.js.map +0 -1
  227. package/cjs/commands/index.js +0 -12
  228. package/cjs/commands/index.js.map +0 -1
  229. package/cjs/commands/install.js +0 -20
  230. package/cjs/commands/install.js.map +0 -1
  231. package/cjs/commands/reverse.js +0 -105
  232. package/cjs/commands/reverse.js.map +0 -1
  233. package/cjs/commands/shell/index.js +0 -56
  234. package/cjs/commands/shell/index.js.map +0 -1
  235. package/cjs/commands/shell/legacy.js +0 -37
  236. package/cjs/commands/shell/legacy.js.map +0 -1
  237. package/cjs/commands/shell/protocol.js +0 -83
  238. package/cjs/commands/shell/protocol.js.map +0 -1
  239. package/cjs/commands/shell/types.js +0 -3
  240. package/cjs/commands/shell/utils.js +0 -23
  241. package/cjs/commands/shell/utils.js.map +0 -1
  242. package/cjs/commands/sync/index.js +0 -11
  243. package/cjs/commands/sync/index.js.map +0 -1
  244. package/cjs/commands/sync/list.js +0 -36
  245. package/cjs/commands/sync/list.js.map +0 -1
  246. package/cjs/commands/sync/pull.js +0 -34
  247. package/cjs/commands/sync/pull.js.map +0 -1
  248. package/cjs/commands/sync/push.js +0 -49
  249. package/cjs/commands/sync/push.js.map +0 -1
  250. package/cjs/commands/sync/request.js +0 -48
  251. package/cjs/commands/sync/request.js.map +0 -1
  252. package/cjs/commands/sync/response.js +0 -53
  253. package/cjs/commands/sync/response.js.map +0 -1
  254. package/cjs/commands/sync/stat.js +0 -109
  255. package/cjs/commands/sync/stat.js.map +0 -1
  256. package/cjs/commands/sync/sync.js +0 -118
  257. package/cjs/commands/sync/sync.js.map +0 -1
  258. package/cjs/commands/tcpip.js +0 -28
  259. package/cjs/commands/tcpip.js.map +0 -1
  260. package/cjs/crypto.js +0 -231
  261. package/cjs/crypto.js.map +0 -1
  262. package/cjs/features.js +0 -10
  263. package/cjs/features.js.map +0 -1
  264. package/cjs/index.js +0 -14
  265. package/cjs/index.js.map +0 -1
  266. package/cjs/packet.js +0 -77
  267. package/cjs/packet.js.map +0 -1
  268. package/cjs/socket/close-event-emitter.js +0 -32
  269. package/cjs/socket/close-event-emitter.js.map +0 -1
  270. package/cjs/socket/controller.js +0 -84
  271. package/cjs/socket/controller.js.map +0 -1
  272. package/cjs/socket/data-event-emitter.js +0 -29
  273. package/cjs/socket/data-event-emitter.js.map +0 -1
  274. package/cjs/socket/dispatcher.js +0 -219
  275. package/cjs/socket/dispatcher.js.map +0 -1
  276. package/cjs/socket/index.js +0 -10
  277. package/cjs/socket/index.js.map +0 -1
  278. package/cjs/socket/logger.js +0 -3
  279. package/cjs/socket/logger.js.map +0 -1
  280. package/cjs/socket/socket.js +0 -24
  281. package/cjs/socket/socket.js.map +0 -1
  282. package/cjs/stream/buffered-stream.js +0 -78
  283. package/cjs/stream/buffered-stream.js.map +0 -1
  284. package/cjs/stream/index.js +0 -6
  285. package/cjs/stream/index.js.map +0 -1
  286. package/cjs/stream/stream.js +0 -45
  287. package/cjs/stream/stream.js.map +0 -1
  288. package/cjs/utils/auto-reset-event.js +0 -37
  289. package/cjs/utils/auto-reset-event.js.map +0 -1
  290. package/cjs/utils/base64.js +0 -210
  291. package/cjs/utils/base64.js.map +0 -1
  292. package/cjs/utils/chunk.js +0 -75
  293. package/cjs/utils/chunk.js.map +0 -1
  294. package/cjs/utils/event-queue.js +0 -108
  295. package/cjs/utils/event-queue.js.map +0 -1
  296. package/cjs/utils/index.js +0 -8
  297. package/cjs/utils/index.js.map +0 -1
  298. package/dts/adb.d.ts +0 -46
  299. package/dts/adb.d.ts.map +0 -1
  300. package/dts/auth.d.ts.map +0 -1
  301. package/dts/backend.d.ts +0 -15
  302. package/dts/backend.d.ts.map +0 -1
  303. package/dts/commands/base.d.ts.map +0 -1
  304. package/dts/commands/demo-mode.d.ts +0 -41
  305. package/dts/commands/demo-mode.d.ts.map +0 -1
  306. package/dts/commands/framebuffer.d.ts.map +0 -1
  307. package/dts/commands/index.d.ts +0 -9
  308. package/dts/commands/index.d.ts.map +0 -1
  309. package/dts/commands/install.d.ts +0 -3
  310. package/dts/commands/install.d.ts.map +0 -1
  311. package/dts/commands/reverse.d.ts.map +0 -1
  312. package/dts/commands/shell/index.d.ts +0 -20
  313. package/dts/commands/shell/index.d.ts.map +0 -1
  314. package/dts/commands/shell/legacy.d.ts +0 -27
  315. package/dts/commands/shell/legacy.d.ts.map +0 -1
  316. package/dts/commands/shell/protocol.d.ts +0 -37
  317. package/dts/commands/shell/protocol.d.ts.map +0 -1
  318. package/dts/commands/shell/types.d.ts +0 -15
  319. package/dts/commands/shell/types.d.ts.map +0 -1
  320. package/dts/commands/shell/utils.d.ts.map +0 -1
  321. package/dts/commands/sync/index.d.ts +0 -8
  322. package/dts/commands/sync/index.d.ts.map +0 -1
  323. package/dts/commands/sync/list.d.ts.map +0 -1
  324. package/dts/commands/sync/pull.d.ts +0 -11
  325. package/dts/commands/sync/pull.d.ts.map +0 -1
  326. package/dts/commands/sync/push.d.ts +0 -8
  327. package/dts/commands/sync/push.d.ts.map +0 -1
  328. package/dts/commands/sync/request.d.ts.map +0 -1
  329. package/dts/commands/sync/response.d.ts.map +0 -1
  330. package/dts/commands/sync/stat.d.ts.map +0 -1
  331. package/dts/commands/sync/sync.d.ts +0 -68
  332. package/dts/commands/sync/sync.d.ts.map +0 -1
  333. package/dts/crypto.d.ts +0 -17
  334. package/dts/crypto.d.ts.map +0 -1
  335. package/dts/index.d.ts +0 -11
  336. package/dts/index.d.ts.map +0 -1
  337. package/dts/packet.d.ts +0 -27
  338. package/dts/packet.d.ts.map +0 -1
  339. package/dts/socket/close-event-emitter.d.ts +0 -8
  340. package/dts/socket/close-event-emitter.d.ts.map +0 -1
  341. package/dts/socket/controller.d.ts +0 -43
  342. package/dts/socket/controller.d.ts.map +0 -1
  343. package/dts/socket/data-event-emitter.d.ts +0 -10
  344. package/dts/socket/data-event-emitter.d.ts.map +0 -1
  345. package/dts/socket/dispatcher.d.ts.map +0 -1
  346. package/dts/socket/index.d.ts +0 -7
  347. package/dts/socket/index.d.ts.map +0 -1
  348. package/dts/socket/logger.d.ts +0 -9
  349. package/dts/socket/logger.d.ts.map +0 -1
  350. package/dts/socket/socket.d.ts +0 -22
  351. package/dts/socket/socket.d.ts.map +0 -1
  352. package/dts/stream/buffered-stream.d.ts +0 -30
  353. package/dts/stream/buffered-stream.d.ts.map +0 -1
  354. package/dts/stream/index.d.ts +0 -3
  355. package/dts/stream/index.d.ts.map +0 -1
  356. package/dts/stream/stream.d.ts +0 -15
  357. package/dts/stream/stream.d.ts.map +0 -1
  358. package/dts/utils/auto-reset-event.d.ts.map +0 -1
  359. package/dts/utils/base64.d.ts +0 -7
  360. package/dts/utils/base64.d.ts.map +0 -1
  361. package/dts/utils/chunk.d.ts +0 -3
  362. package/dts/utils/chunk.d.ts.map +0 -1
  363. package/dts/utils/event-queue.d.ts +0 -35
  364. package/dts/utils/event-queue.d.ts.map +0 -1
  365. package/dts/utils/index.d.ts +0 -5
  366. package/dts/utils/index.d.ts.map +0 -1
  367. package/esm/commands/demo-mode.js +0 -170
  368. package/esm/commands/demo-mode.js.map +0 -1
  369. package/esm/commands/shell/index.js +0 -52
  370. package/esm/commands/shell/index.js.map +0 -1
  371. package/esm/commands/shell/legacy.js +0 -33
  372. package/esm/commands/shell/legacy.js.map +0 -1
  373. package/esm/commands/shell/protocol.js +0 -79
  374. package/esm/commands/shell/protocol.js.map +0 -1
  375. package/esm/commands/shell/types.js.map +0 -1
  376. package/esm/commands/shell/utils.js.map +0 -1
  377. package/esm/socket/close-event-emitter.js +0 -28
  378. package/esm/socket/close-event-emitter.js.map +0 -1
  379. package/esm/socket/data-event-emitter.js +0 -25
  380. package/esm/socket/data-event-emitter.js.map +0 -1
  381. package/esm/socket/logger.js +0 -2
  382. package/esm/socket/logger.js.map +0 -1
  383. package/esm/stream/buffered-stream.js +0 -73
  384. package/esm/stream/buffered-stream.js.map +0 -1
  385. package/esm/stream/stream.js +0 -41
  386. package/esm/stream/stream.js.map +0 -1
  387. package/esm/utils/chunk.js +0 -70
  388. package/esm/utils/chunk.js.map +0 -1
  389. package/esm/utils/event-queue.js +0 -104
  390. package/esm/utils/event-queue.js.map +0 -1
  391. package/src/commands/demo-mode.ts +0 -160
  392. package/src/commands/shell/index.ts +0 -68
  393. package/src/commands/shell/legacy.ts +0 -42
  394. package/src/commands/shell/protocol.ts +0 -94
  395. package/src/commands/shell/types.ts +0 -21
  396. package/src/socket/close-event-emitter.ts +0 -28
  397. package/src/socket/controller.ts +0 -105
  398. package/src/socket/data-event-emitter.ts +0 -27
  399. package/src/socket/logger.ts +0 -12
  400. package/src/stream/buffered-stream.ts +0 -100
  401. package/src/stream/stream.ts +0 -50
  402. package/src/utils/chunk.ts +0 -70
  403. package/src/utils/event-queue.ts +0 -145
  404. package/tsconfig.cjs.json +0 -11
  405. package/tsconfig.esm.json +0 -28
  406. package/tsconfig.esm.tsbuildinfo +0 -1305
  407. package/tsconfig.json +0 -18
@@ -0,0 +1,47 @@
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";
5
+ export interface AdbSubprocessProtocol {
6
+ /**
7
+ * A WritableStream that writes to the `stdin` pipe.
8
+ */
9
+ readonly stdin: WritableStream<Uint8Array>;
10
+ /**
11
+ * The `stdout` pipe of the process.
12
+ */
13
+ readonly stdout: ReadableStream<Uint8Array>;
14
+ /**
15
+ * The `stderr` pipe of the process.
16
+ *
17
+ * Note: Some `AdbShell` doesn't separate `stdout` and `stderr`,
18
+ * All output will be sent to `stdout`.
19
+ */
20
+ readonly stderr: ReadableStream<Uint8Array>;
21
+ /**
22
+ * A `Promise` that resolves to the exit code of the process.
23
+ *
24
+ * Note: Some `AdbShell` doesn't support exit code,
25
+ * They will always resolve with `0`.
26
+ */
27
+ readonly exit: Promise<number>;
28
+ /**
29
+ * Resizes the current shell.
30
+ *
31
+ * Some `AdbShell`s may not support resizing and will always ignore calls to this method.
32
+ */
33
+ resize(rows: number, cols: number): ValueOrPromise<void>;
34
+ /**
35
+ * Kills the current process.
36
+ */
37
+ kill(): ValueOrPromise<void>;
38
+ }
39
+ export interface AdbSubprocessProtocolConstructor {
40
+ /** Returns `true` if the `adb` instance supports this shell */
41
+ isSupported(adb: Adb): ValueOrPromise<boolean>;
42
+ /** Creates a new `AdbShell` using the specified `Adb` and `command` */
43
+ spawn(adb: Adb, command: string): ValueOrPromise<AdbSubprocessProtocol>;
44
+ /** Creates a new `AdbShell` by attaching to an exist `AdbSocket` */
45
+ new (socket: AdbSocket): AdbSubprocessProtocol;
46
+ }
47
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/subprocess/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5E,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;;;;OAIG;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,uEAAuE;IACvE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAExE,oEAAoE;IACpE,KAAI,MAAM,EAAE,SAAS,GAAG,qBAAqB,CAAC;CACjD"}
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/shell/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/subprocess/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/commands/subprocess/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,UAmBlC"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/subprocess/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CAAC,CAAS;IAC/B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,IAAI,GAAG,CAAC;IAEd,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,OAAO,IAAI,EAAE;QACT,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM;SACT;QACD,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnC,oBAAoB;QACpB,MAAM,IAAI,MAAM,CAAC,GAAG,CAAA,MAAM,CAAC;QAC3B,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;KACpB;IAED,MAAM,IAAI,GAAG,CAAC;IACd,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export * from './list.js';
2
+ export * from './pull.js';
3
+ export * from './request.js';
4
+ export * from './response.js';
5
+ export * from './push.js';
6
+ export * from './stat.js';
7
+ export * from './sync.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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,8 +1,8 @@
1
- export * from './list';
2
- export * from './pull';
3
- export * from './request';
4
- export * from './response';
5
- export * from './push';
6
- export * from './stat';
7
- export * from './sync';
1
+ export * from './list.js';
2
+ export * from './pull.js';
3
+ export * from './request.js';
4
+ export * from './response.js';
5
+ export * from './push.js';
6
+ export * from './stat.js';
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,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,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,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import Struct from '@yume-chan/struct';
2
- import { AdbBufferedStream } from '../../stream';
3
- import { AdbSyncResponseId } from './response';
2
+ import type { AdbBufferedStream, WritableStreamDefaultWriter } from '../../stream/index.js';
3
+ import { AdbSyncResponseId } from './response.js';
4
4
  export declare const AdbSyncEntryResponse: Struct<{
5
5
  mode: number;
6
6
  size: number;
@@ -8,10 +8,10 @@ export declare const AdbSyncEntryResponse: Struct<{
8
8
  nameLength: number;
9
9
  name: string;
10
10
  }, "nameLength", {
11
- readonly type: import("./stat").LinuxFileType;
11
+ readonly type: import("./stat.js").LinuxFileType;
12
12
  readonly permission: number;
13
13
  id: AdbSyncResponseId.Entry;
14
14
  }, undefined>;
15
15
  export declare type AdbSyncEntryResponse = typeof AdbSyncEntryResponse['TDeserializeResult'];
16
- export declare function adbSyncOpenDir(stream: AdbBufferedStream, path: string): AsyncGenerator<AdbSyncEntryResponse, void, void>;
16
+ export declare function adbSyncOpenDir(stream: AdbBufferedStream, writer: WritableStreamDefaultWriter<Uint8Array>, path: string): AsyncGenerator<AdbSyncEntryResponse, void, void>;
17
17
  //# sourceMappingURL=list.d.ts.map
@@ -0,0 +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;AAG5F,eAAO,MAAM,oBAAoB;;;;;;;;;;aAKuB,CAAC;AAEzD,oBAAY,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;AAOrF,wBAAuB,cAAc,CACjC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,EAC/C,IAAI,EAAE,MAAM,GACb,cAAc,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,CAAC,CAelD"}
@@ -1,8 +1,7 @@
1
- import { __asyncGenerator, __await } from "tslib";
2
1
  import Struct from '@yume-chan/struct';
3
- import { AdbSyncRequestId, adbSyncWriteRequest } from './request';
4
- import { AdbSyncDoneResponse, adbSyncReadResponse, AdbSyncResponseId } from './response';
5
- import { AdbSyncLstatResponse } from './stat';
2
+ import { AdbSyncRequestId, adbSyncWriteRequest } from './request.js';
3
+ import { AdbSyncDoneResponse, adbSyncReadResponse, AdbSyncResponseId } from './response.js';
4
+ import { AdbSyncLstatResponse } from './stat.js';
6
5
  export const AdbSyncEntryResponse = new Struct({ littleEndian: true })
7
6
  .fields(AdbSyncLstatResponse)
8
7
  .uint32('nameLength')
@@ -12,21 +11,19 @@ const ResponseTypes = {
12
11
  [AdbSyncResponseId.Entry]: AdbSyncEntryResponse,
13
12
  [AdbSyncResponseId.Done]: new AdbSyncDoneResponse(AdbSyncEntryResponse.size),
14
13
  };
15
- export function adbSyncOpenDir(stream, path) {
16
- return __asyncGenerator(this, arguments, function* adbSyncOpenDir_1() {
17
- yield __await(adbSyncWriteRequest(stream, AdbSyncRequestId.List, path));
18
- while (true) {
19
- const response = yield __await(adbSyncReadResponse(stream, ResponseTypes));
20
- switch (response.id) {
21
- case AdbSyncResponseId.Entry:
22
- yield yield __await(response);
23
- break;
24
- case AdbSyncResponseId.Done:
25
- return yield __await(void 0);
26
- default:
27
- throw new Error('Unexpected response id');
28
- }
14
+ export async function* adbSyncOpenDir(stream, writer, path) {
15
+ await adbSyncWriteRequest(writer, AdbSyncRequestId.List, path);
16
+ while (true) {
17
+ const response = await adbSyncReadResponse(stream, ResponseTypes);
18
+ switch (response.id) {
19
+ case AdbSyncResponseId.Entry:
20
+ yield response;
21
+ break;
22
+ case AdbSyncResponseId.Done:
23
+ return;
24
+ default:
25
+ throw new Error('Unexpected response id');
29
26
  }
30
- });
27
+ }
31
28
  }
32
29
  //# sourceMappingURL=list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/sync/list.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAE9C,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,aAAa,GAAG;IAClB,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,oBAAoB;IAC/C,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,CAAC;CAC/E,CAAC;AAEF,MAAM,UAAiB,cAAc,CACjC,MAAyB,EACzB,IAAY;;QAEZ,cAAM,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA,CAAC;QAE/D,OAAO,IAAI,EAAE;YACT,MAAM,QAAQ,GAAG,cAAM,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA,CAAC;YAClE,QAAQ,QAAQ,CAAC,EAAE,EAAE;gBACjB,KAAK,iBAAiB,CAAC,KAAK;oBACxB,oBAAM,QAAQ,CAAA,CAAC;oBACf,MAAM;gBACV,KAAK,iBAAiB,CAAC,IAAI;oBACvB,6BAAO;gBACX;oBACI,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;aACjD;SACJ;IACL,CAAC;CAAA"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/sync/list.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,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,aAAa,GAAG;IAClB,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,oBAAoB;IAC/C,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,CAAC;CAC/E,CAAC;AAEF,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,cAAc,CACjC,MAAyB,EACzB,MAA+C,EAC/C,IAAY;IAEZ,MAAM,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAE/D,OAAO,IAAI,EAAE;QACT,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAClE,QAAQ,QAAQ,CAAC,EAAE,EAAE;YACjB,KAAK,iBAAiB,CAAC,KAAK;gBACxB,MAAM,QAAQ,CAAC;gBACf,MAAM;YACV,KAAK,iBAAiB,CAAC,IAAI;gBACvB,OAAO;YACX;gBACI,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SACjD;KACJ;AACL,CAAC"}
@@ -0,0 +1,11 @@
1
+ import Struct from '@yume-chan/struct';
2
+ import { AdbBufferedStream, ReadableStream, WritableStreamDefaultWriter } from '../../stream/index.js';
3
+ import { AdbSyncResponseId } from './response.js';
4
+ export declare const AdbSyncDataResponse: Struct<{
5
+ dataLength: number;
6
+ data: Uint8Array;
7
+ }, "dataLength", {
8
+ id: AdbSyncResponseId.Data;
9
+ }, undefined>;
10
+ export declare function adbSyncPull(stream: AdbBufferedStream, writer: WritableStreamDefaultWriter<Uint8Array>, path: string): ReadableStream<Uint8Array>;
11
+ //# sourceMappingURL=pull.d.ts.map
@@ -0,0 +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,CAsB5B"}
@@ -1,30 +1,36 @@
1
- import { __asyncGenerator, __await } from "tslib";
2
1
  import Struct from '@yume-chan/struct';
3
- import { AdbSyncRequestId, adbSyncWriteRequest } from './request';
4
- import { AdbSyncDoneResponse, adbSyncReadResponse, AdbSyncResponseId } from './response';
2
+ import { ReadableStream } from '../../stream/index.js';
3
+ import { AdbSyncRequestId, adbSyncWriteRequest } from './request.js';
4
+ import { AdbSyncDoneResponse, adbSyncReadResponse, AdbSyncResponseId } from './response.js';
5
5
  export const AdbSyncDataResponse = new Struct({ littleEndian: true })
6
6
  .uint32('dataLength')
7
- .arrayBuffer('data', { lengthField: 'dataLength' })
7
+ .uint8Array('data', { lengthField: 'dataLength' })
8
8
  .extra({ id: AdbSyncResponseId.Data });
9
9
  const ResponseTypes = {
10
10
  [AdbSyncResponseId.Data]: AdbSyncDataResponse,
11
11
  [AdbSyncResponseId.Done]: new AdbSyncDoneResponse(AdbSyncDataResponse.size),
12
12
  };
13
- export function adbSyncPull(stream, path) {
14
- return __asyncGenerator(this, arguments, function* adbSyncPull_1() {
15
- yield __await(adbSyncWriteRequest(stream, AdbSyncRequestId.Receive, path));
16
- while (true) {
17
- const response = yield __await(adbSyncReadResponse(stream, ResponseTypes));
13
+ export function adbSyncPull(stream, writer, path) {
14
+ return new ReadableStream({
15
+ async start() {
16
+ await adbSyncWriteRequest(writer, AdbSyncRequestId.Receive, path);
17
+ },
18
+ async pull(controller) {
19
+ const response = await adbSyncReadResponse(stream, ResponseTypes);
18
20
  switch (response.id) {
19
21
  case AdbSyncResponseId.Data:
20
- yield yield __await(response.data);
22
+ controller.enqueue(response.data);
21
23
  break;
22
24
  case AdbSyncResponseId.Done:
23
- return yield __await(void 0);
25
+ controller.close();
26
+ break;
24
27
  default:
25
28
  throw new Error('Unexpected response id');
26
29
  }
27
30
  }
31
+ }, {
32
+ highWaterMark: 16 * 1024,
33
+ size(chunk) { return chunk.byteLength; }
28
34
  });
29
35
  }
30
36
  //# sourceMappingURL=pull.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/commands/sync/pull.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEzF,MAAM,CAAC,MAAM,mBAAmB,GAC5B,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,YAAY,CAAC;KACpB,WAAW,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;KAClD,KAAK,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,IAAa,EAAE,CAAC,CAAC;AAExD,MAAM,aAAa,GAAG;IAClB,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,UAAiB,WAAW,CAC9B,MAAyB,EACzB,IAAY;;QAEZ,cAAM,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA,CAAC;QAClE,OAAO,IAAI,EAAE;YACT,MAAM,QAAQ,GAAG,cAAM,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA,CAAC;YAClE,QAAQ,QAAQ,CAAC,EAAE,EAAE;gBACjB,KAAK,iBAAiB,CAAC,IAAI;oBACvB,oBAAM,QAAQ,CAAC,IAAK,CAAA,CAAC;oBACrB,MAAM;gBACV,KAAK,iBAAiB,CAAC,IAAI;oBACvB,6BAAO;gBACX;oBACI,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;aACjD;SACJ;IACL,CAAC;CAAA"}
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,aAAa,GAAG;IAClB,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,aAAa,CAAC,CAAC;YAClE,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;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"}
@@ -0,0 +1,8 @@
1
+ import Struct from '@yume-chan/struct';
2
+ import { AdbBufferedStream, WritableStream, WritableStreamDefaultWriter } from '../../stream/index.js';
3
+ export declare const AdbSyncOkResponse: Struct<{
4
+ unused: number;
5
+ }, never, {}, undefined>;
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>;
8
+ //# sourceMappingURL=push.d.ts.map
@@ -0,0 +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,45 +1,27 @@
1
- import { __asyncValues, __awaiter } from "tslib";
2
1
  import Struct from '@yume-chan/struct';
3
- import { chunkArrayLike, chunkAsyncIterable } from '../../utils';
4
- import { AdbSyncRequestId, adbSyncWriteRequest } from './request';
5
- import { adbSyncReadResponse, AdbSyncResponseId } from './response';
6
- import { LinuxFileType } from './stat';
2
+ import { ChunkStream, pipeFrom, WritableStream } from '../../stream/index.js';
3
+ import { AdbSyncRequestId, adbSyncWriteRequest } from './request.js';
4
+ import { adbSyncReadResponse, AdbSyncResponseId } from './response.js';
5
+ import { LinuxFileType } from './stat.js';
7
6
  export const AdbSyncOkResponse = new Struct({ littleEndian: true })
8
7
  .uint32('unused');
9
8
  const ResponseTypes = {
10
9
  [AdbSyncResponseId.Ok]: AdbSyncOkResponse,
11
10
  };
12
- export const AdbSyncMaxPacketSize = 64 * 1024;
13
- export function adbSyncPush(stream, filename, content, mode = (LinuxFileType.File << 12) | 0o666, mtime = (Date.now() / 1000) | 0, packetSize = AdbSyncMaxPacketSize, onProgress) {
14
- var e_1, _a;
15
- return __awaiter(this, void 0, void 0, function* () {
16
- const pathAndMode = `${filename},${mode.toString()}`;
17
- yield adbSyncWriteRequest(stream, AdbSyncRequestId.Send, pathAndMode);
18
- let chunkReader;
19
- if ('length' in content || 'byteLength' in content) {
20
- chunkReader = chunkArrayLike(content, packetSize);
21
- }
22
- else {
23
- chunkReader = chunkAsyncIterable(content, packetSize);
24
- }
25
- let uploaded = 0;
26
- try {
27
- for (var chunkReader_1 = __asyncValues(chunkReader), chunkReader_1_1; chunkReader_1_1 = yield chunkReader_1.next(), !chunkReader_1_1.done;) {
28
- const buffer = chunkReader_1_1.value;
29
- yield adbSyncWriteRequest(stream, AdbSyncRequestId.Data, buffer);
30
- uploaded += buffer.byteLength;
31
- onProgress === null || onProgress === void 0 ? void 0 : onProgress(uploaded);
32
- }
33
- }
34
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
35
- finally {
36
- try {
37
- if (chunkReader_1_1 && !chunkReader_1_1.done && (_a = chunkReader_1.return)) yield _a.call(chunkReader_1);
38
- }
39
- finally { if (e_1) throw e_1.error; }
40
- }
41
- yield adbSyncWriteRequest(stream, AdbSyncRequestId.Done, mtime);
42
- yield adbSyncReadResponse(stream, ResponseTypes);
43
- });
11
+ export const ADB_SYNC_MAX_PACKET_SIZE = 64 * 1024;
12
+ export function adbSyncPush(stream, writer, filename, mode = (LinuxFileType.File << 12) | 0o666, mtime = (Date.now() / 1000) | 0, packetSize = ADB_SYNC_MAX_PACKET_SIZE) {
13
+ return pipeFrom(new WritableStream({
14
+ async start() {
15
+ const pathAndMode = `${filename},${mode.toString()}`;
16
+ await adbSyncWriteRequest(writer, AdbSyncRequestId.Send, pathAndMode);
17
+ },
18
+ async write(chunk) {
19
+ await adbSyncWriteRequest(writer, AdbSyncRequestId.Data, chunk);
20
+ },
21
+ async close() {
22
+ await adbSyncWriteRequest(writer, AdbSyncRequestId.Done, mtime);
23
+ await adbSyncReadResponse(stream, ResponseTypes);
24
+ },
25
+ }), new ChunkStream(packetSize));
44
26
  }
45
27
  //# sourceMappingURL=push.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,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,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;AAE9C,MAAM,UAAgB,WAAW,CAC7B,MAAyB,EACzB,QAAgB,EAChB,OAAyE,EACzE,OAAe,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,EACjD,QAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EACvC,aAAqB,oBAAoB,EACzC,UAAuC;;;QAEvC,MAAM,WAAW,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACrD,MAAM,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAEtE,IAAI,WAA+D,CAAC;QACpE,IAAI,QAAQ,IAAI,OAAO,IAAI,YAAY,IAAI,OAAO,EAAE;YAChD,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SACrD;aAAM;YACH,WAAW,GAAG,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SACzD;QAED,IAAI,QAAQ,GAAG,CAAC,CAAC;;YACjB,KAA2B,IAAA,gBAAA,cAAA,WAAW,CAAA,iBAAA;gBAA3B,MAAM,MAAM,wBAAA,CAAA;gBACnB,MAAM,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACjE,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC;gBAC9B,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,QAAQ,CAAC,CAAC;aAC1B;;;;;;;;;QAED,MAAM,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;;CACpD"}
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,5 +1,5 @@
1
1
  import Struct from '@yume-chan/struct';
2
- import { AdbBufferedStream } from '../../stream';
2
+ import type { WritableStreamDefaultWriter } from "../../stream/index.js";
3
3
  export declare enum AdbSyncRequestId {
4
4
  List = "LIST",
5
5
  Send = "SEND",
@@ -17,7 +17,7 @@ export declare const AdbSyncNumberRequest: Struct<{
17
17
  export declare const AdbSyncDataRequest: Struct<{
18
18
  id: string;
19
19
  arg: number;
20
- data: ArrayBuffer;
20
+ data: Uint8Array;
21
21
  }, "arg", {}, undefined>;
22
- export declare function adbSyncWriteRequest(stream: AdbBufferedStream, id: AdbSyncRequestId | string, value: number | string | ArrayBuffer): Promise<void>;
22
+ export declare function adbSyncWriteRequest(writer: WritableStreamDefaultWriter<Uint8Array>, id: AdbSyncRequestId | string, value: number | string | Uint8Array): Promise<void>;
23
23
  //# sourceMappingURL=request.d.ts.map
@@ -0,0 +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,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
- import { __awaiter } from "tslib";
2
1
  import Struct from '@yume-chan/struct';
2
+ import { encodeUtf8 } from "../../utils/index.js";
3
3
  export var AdbSyncRequestId;
4
4
  (function (AdbSyncRequestId) {
5
5
  AdbSyncRequestId["List"] = "LIST";
@@ -10,35 +10,33 @@ export var AdbSyncRequestId;
10
10
  AdbSyncRequestId["Data"] = "DATA";
11
11
  AdbSyncRequestId["Done"] = "DONE";
12
12
  AdbSyncRequestId["Receive"] = "RECV";
13
- })(AdbSyncRequestId || (AdbSyncRequestId = {}));
13
+ })(AdbSyncRequestId = AdbSyncRequestId || (AdbSyncRequestId = {}));
14
14
  export const AdbSyncNumberRequest = new Struct({ littleEndian: true })
15
15
  .string('id', { length: 4 })
16
16
  .uint32('arg');
17
17
  export const AdbSyncDataRequest = new Struct({ littleEndian: true })
18
18
  .fields(AdbSyncNumberRequest)
19
- .arrayBuffer('data', { lengthField: 'arg' });
20
- export function adbSyncWriteRequest(stream, id, value) {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- let buffer;
23
- if (typeof value === 'number') {
24
- buffer = AdbSyncNumberRequest.serialize({
25
- id,
26
- arg: value,
27
- }, stream);
28
- }
29
- else if (typeof value === 'string') {
30
- buffer = AdbSyncDataRequest.serialize({
31
- id,
32
- data: stream.encodeUtf8(value),
33
- }, stream);
34
- }
35
- else {
36
- buffer = AdbSyncDataRequest.serialize({
37
- id,
38
- data: value,
39
- }, stream);
40
- }
41
- yield stream.write(buffer);
42
- });
19
+ .uint8Array('data', { lengthField: 'arg' });
20
+ export async function adbSyncWriteRequest(writer, id, value) {
21
+ let buffer;
22
+ if (typeof value === 'number') {
23
+ buffer = AdbSyncNumberRequest.serialize({
24
+ id,
25
+ arg: value,
26
+ });
27
+ }
28
+ else if (typeof value === 'string') {
29
+ buffer = AdbSyncDataRequest.serialize({
30
+ id,
31
+ data: encodeUtf8(value),
32
+ });
33
+ }
34
+ else {
35
+ buffer = AdbSyncDataRequest.serialize({
36
+ id,
37
+ data: value,
38
+ });
39
+ }
40
+ await writer.write(buffer);
43
41
  }
44
42
  //# sourceMappingURL=request.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/commands/sync/request.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAGvC,MAAM,CAAN,IAAY,gBASX;AATD,WAAY,gBAAgB;IACxB,iCAAa,CAAA;IACb,iCAAa,CAAA;IACb,kCAAc,CAAA;IACd,iCAAa,CAAA;IACb,mCAAe,CAAA;IACf,iCAAa,CAAA;IACb,iCAAa,CAAA;IACb,oCAAgB,CAAA;AACpB,CAAC,EATW,gBAAgB,KAAhB,gBAAgB,QAS3B;AAED,MAAM,CAAC,MAAM,oBAAoB,GAC7B,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;KAC3B,MAAM,CAAC,KAAK,CAAC,CAAC;AAEvB,MAAM,CAAC,MAAM,kBAAkB,GAC3B,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,oBAAoB,CAAC;KAC5B,WAAW,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AAErD,MAAM,UAAgB,mBAAmB,CACrC,MAAyB,EACzB,EAA6B,EAC7B,KAAoC;;QAEpC,IAAI,MAAmB,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC;gBACpC,EAAE;gBACF,GAAG,EAAE,KAAK;aACb,EAAE,MAAM,CAAC,CAAC;SACd;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAClC,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC;gBAClC,EAAE;gBACF,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;aACjC,EAAE,MAAM,CAAC,CAAC;SACd;aAAM;YACH,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC;gBAClC,EAAE;gBACF,IAAI,EAAE,KAAK;aACd,EAAE,MAAM,CAAC,CAAC;SACd;QACD,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CAAA"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/commands/sync/request.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAN,IAAY,gBASX;AATD,WAAY,gBAAgB;IACxB,iCAAa,CAAA;IACb,iCAAa,CAAA;IACb,kCAAc,CAAA;IACd,iCAAa,CAAA;IACb,mCAAe,CAAA;IACf,iCAAa,CAAA;IACb,iCAAa,CAAA;IACb,oCAAgB,CAAA;AACpB,CAAC,EATW,gBAAgB,GAAhB,gBAAgB,KAAhB,gBAAgB,QAS3B;AAED,MAAM,CAAC,MAAM,oBAAoB,GAC7B,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;KAC3B,MAAM,CAAC,KAAK,CAAC,CAAC;AAEvB,MAAM,CAAC,MAAM,kBAAkB,GAC3B,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,oBAAoB,CAAC;KAC5B,UAAU,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAA+C,EAC/C,EAA6B,EAC7B,KAAmC;IAEnC,IAAI,MAAkB,CAAC;IACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC;YACpC,EAAE;YACF,GAAG,EAAE,KAAK;SACb,CAAC,CAAC;KACN;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAClC,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC;YAClC,EAAE;YACF,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC;SAC1B,CAAC,CAAC;KACN;SAAM;QACH,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC;YAClC,EAAE;YACF,IAAI,EAAE,KAAK;SACd,CAAC,CAAC;KACN;IACD,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
@@ -1,5 +1,5 @@
1
- import Struct, { StructDeserializationContext, StructLike, StructValueType } from '@yume-chan/struct';
2
- import { AdbBufferedStream } from '../../stream';
1
+ import Struct, { type StructAsyncDeserializeStream, type StructLike, type StructValueType } from '@yume-chan/struct';
2
+ import type { AdbBufferedStream } from '../../stream/index.js';
3
3
  export declare enum AdbSyncResponseId {
4
4
  Entry = "DENT",
5
5
  Lstat = "STAT",
@@ -14,7 +14,7 @@ export declare class AdbSyncDoneResponse implements StructLike<AdbSyncDoneRespon
14
14
  private length;
15
15
  readonly id = AdbSyncResponseId.Done;
16
16
  constructor(length: number);
17
- deserialize(context: StructDeserializationContext): Promise<this>;
17
+ deserialize(stream: StructAsyncDeserializeStream): Promise<this>;
18
18
  }
19
19
  export declare const AdbSyncFailResponse: Struct<{
20
20
  messageLength: number;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/response.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,KAAK,4BAA4B,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG/D,oBAAY,iBAAiB;IACzB,KAAK,SAAS;IACd,KAAK,SAAS;IACd,IAAI,SAAS;IACb,MAAM,SAAS;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,EAAE,SAAS;IACX,IAAI,SAAS;CAChB;AAMD,qBAAa,mBAAoB,YAAW,UAAU,CAAC,mBAAmB,CAAC;IACvE,OAAO,CAAC,MAAM,CAAS;IAEvB,SAAgB,EAAE,0BAA0B;gBAEzB,MAAM,EAAE,MAAM;IAIpB,WAAW,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;CAIhF;AAED,eAAO,MAAM,mBAAmB;;;8BAMtB,CAAC;AAEX,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAC/E,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,CAAC,GACT,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAYtC"}
@@ -1,5 +1,5 @@
1
- import { __awaiter } from "tslib";
2
1
  import Struct from '@yume-chan/struct';
2
+ import { decodeUtf8 } from "../../utils/index.js";
3
3
  export var AdbSyncResponseId;
4
4
  (function (AdbSyncResponseId) {
5
5
  AdbSyncResponseId["Entry"] = "DENT";
@@ -10,21 +10,20 @@ export var AdbSyncResponseId;
10
10
  AdbSyncResponseId["Data"] = "DATA";
11
11
  AdbSyncResponseId["Ok"] = "OKAY";
12
12
  AdbSyncResponseId["Fail"] = "FAIL";
13
- })(AdbSyncResponseId || (AdbSyncResponseId = {}));
13
+ })(AdbSyncResponseId = AdbSyncResponseId || (AdbSyncResponseId = {}));
14
14
  // DONE responses' size are always same as the request's normal response.
15
15
  // For example DONE responses for LIST requests are 16 bytes (same as DENT responses),
16
16
  // but DONE responses for STAT requests are 12 bytes (same as STAT responses)
17
17
  // So we need to know responses' size in advance.
18
18
  export class AdbSyncDoneResponse {
19
+ length;
20
+ id = AdbSyncResponseId.Done;
19
21
  constructor(length) {
20
- this.id = AdbSyncResponseId.Done;
21
22
  this.length = length;
22
23
  }
23
- deserialize(context) {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- yield context.read(this.length);
26
- return this;
27
- });
24
+ async deserialize(stream) {
25
+ await stream.read(this.length);
26
+ return this;
28
27
  }
29
28
  }
30
29
  export const AdbSyncFailResponse = new Struct({ littleEndian: true })
@@ -33,16 +32,14 @@ export const AdbSyncFailResponse = new Struct({ littleEndian: true })
33
32
  .postDeserialize(object => {
34
33
  throw new Error(object.message);
35
34
  });
36
- export function adbSyncReadResponse(stream, types) {
37
- return __awaiter(this, void 0, void 0, function* () {
38
- const id = stream.backend.decodeUtf8(yield stream.read(4));
39
- if (id === AdbSyncResponseId.Fail) {
40
- yield AdbSyncFailResponse.deserialize(stream);
41
- }
42
- if (types[id]) {
43
- return types[id].deserialize(stream);
44
- }
45
- throw new Error('Unexpected response id');
46
- });
35
+ export async function adbSyncReadResponse(stream, types) {
36
+ const id = decodeUtf8(await stream.read(4));
37
+ if (id === AdbSyncResponseId.Fail) {
38
+ await AdbSyncFailResponse.deserialize(stream);
39
+ }
40
+ if (types[id]) {
41
+ return types[id].deserialize(stream);
42
+ }
43
+ throw new Error('Unexpected response id');
47
44
  }
48
45
  //# sourceMappingURL=response.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/commands/sync/response.ts"],"names":[],"mappings":";AAAA,OAAO,MAAqE,MAAM,mBAAmB,CAAC;AAGtG,MAAM,CAAN,IAAY,iBASX;AATD,WAAY,iBAAiB;IACzB,mCAAc,CAAA;IACd,mCAAc,CAAA;IACd,kCAAa,CAAA;IACb,oCAAe,CAAA;IACf,kCAAa,CAAA;IACb,kCAAa,CAAA;IACb,gCAAW,CAAA;IACX,kCAAa,CAAA;AACjB,CAAC,EATW,iBAAiB,KAAjB,iBAAiB,QAS5B;AAED,yEAAyE;AACzE,sFAAsF;AACtF,6EAA6E;AAC7E,iDAAiD;AACjD,MAAM,OAAO,mBAAmB;IAK5B,YAAmB,MAAc;QAFjB,OAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC;QAGxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAEY,WAAW,CAAC,OAAqC;;YAC1D,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;CACJ;AAED,MAAM,CAAC,MAAM,mBAAmB,GAC5B,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,eAAe,CAAC;KACvB,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;KACnD,eAAe,CAAC,MAAM,CAAC,EAAE;IACtB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEX,MAAM,UAAgB,mBAAmB,CACrC,MAAyB,EACzB,KAAQ;;QAER,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3D,IAAI,EAAE,KAAK,iBAAiB,CAAC,IAAI,EAAE;YAC/B,MAAM,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACjD;QAED,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;YACX,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACxC;QAED,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;CAAA"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/commands/sync/response.ts"],"names":[],"mappings":"AAAA,OAAO,MAAoF,MAAM,mBAAmB,CAAC;AAErH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAN,IAAY,iBASX;AATD,WAAY,iBAAiB;IACzB,mCAAc,CAAA;IACd,mCAAc,CAAA;IACd,kCAAa,CAAA;IACb,oCAAe,CAAA;IACf,kCAAa,CAAA;IACb,kCAAa,CAAA;IACb,gCAAW,CAAA;IACX,kCAAa,CAAA;AACjB,CAAC,EATW,iBAAiB,GAAjB,iBAAiB,KAAjB,iBAAiB,QAS5B;AAED,yEAAyE;AACzE,sFAAsF;AACtF,6EAA6E;AAC7E,iDAAiD;AACjD,MAAM,OAAO,mBAAmB;IACpB,MAAM,CAAS;IAEP,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC;IAE5C,YAAmB,MAAc;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,MAAoC;QACzD,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,mBAAmB,GAC5B,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7B,MAAM,CAAC,eAAe,CAAC;KACvB,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;KACnD,eAAe,CAAC,MAAM,CAAC,EAAE;IACtB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEX,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAAyB,EACzB,KAAQ;IAER,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5C,IAAI,EAAE,KAAK,iBAAiB,CAAC,IAAI,EAAE;QAC/B,MAAM,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;KACjD;IAED,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;QACX,OAAO,KAAK,CAAC,EAAE,CAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;KACzC;IAED,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAC9C,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import Struct from '@yume-chan/struct';
2
- import { AdbBufferedStream } from '../../stream';
3
- import { AdbSyncResponseId } from './response';
2
+ import type { AdbBufferedStream, WritableStreamDefaultWriter } from '../../stream/index.js';
3
+ import { AdbSyncResponseId } from './response.js';
4
4
  export declare enum LinuxFileType {
5
5
  Directory = 4,
6
6
  File = 8,
@@ -56,6 +56,6 @@ export declare const AdbSyncStatResponse: Struct<{
56
56
  readonly permission: number;
57
57
  }, undefined>;
58
58
  export declare type AdbSyncStatResponse = typeof AdbSyncStatResponse['TDeserializeResult'];
59
- export declare function adbSyncLstat(stream: AdbBufferedStream, path: string, v2: boolean): Promise<AdbSyncLstatResponse | AdbSyncStatResponse>;
60
- export declare function adbSyncStat(stream: AdbBufferedStream, path: string): Promise<AdbSyncStatResponse>;
59
+ export declare function adbSyncLstat(stream: AdbBufferedStream, writer: WritableStreamDefaultWriter<Uint8Array>, path: string, v2: boolean): Promise<AdbSyncLstatResponse | AdbSyncStatResponse>;
60
+ export declare function adbSyncStat(stream: AdbBufferedStream, writer: WritableStreamDefaultWriter<Uint8Array>, path: string): Promise<AdbSyncStatResponse>;
61
61
  //# sourceMappingURL=stat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stat.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/stat.ts"],"names":[],"mappings":"AAAA,OAAO,MAAuB,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EAAuB,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvE,oBAAY,aAAa;IACrB,SAAS,IAAO;IAChB,IAAI,IAAO;IACX,IAAI,KAAO;CACd;AAED,eAAO,MAAM,oBAAoB;;;;;;;;aAiBvB,CAAC;AAEX,oBAAY,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;AAErF,oBAAY,oBAAoB;IAC5B,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,KAAK,KAAK;IACV,KAAK,IAAI;IACT,MAAM,KAAK;IACX,GAAG,IAAI;IACP,MAAM,KAAK;IACX,KAAK,KAAK;IACV,MAAM,KAAK;IACX,YAAY,KAAK;IACjB,MAAM,KAAK;IACX,MAAM,IAAI;IACV,MAAM,KAAK;IACX,MAAM,KAAK;IACX,OAAO,KAAK;IACZ,SAAS,KAAK;IACd,KAAK,IAAI;IACT,KAAK,KAAK;IACV,OAAO,KAAK;CACf;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;aAsBtB,CAAC;AAEX,oBAAY,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;AAcnF,wBAAsB,YAAY,CAC9B,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,EAC/C,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,OAAO,GACZ,OAAO,CAAC,oBAAoB,GAAG,mBAAmB,CAAC,CAcrD;AAED,wBAAsB,WAAW,CAC7B,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,EAC/C,IAAI,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC,CAG9B"}