()
| 32 | } |
| 33 | |
| 34 | export function useInstallQueue() { |
| 35 | // 使用 bind 确保 this 绑定正确 |
| 36 | const items = useSyncExternalStore( |
| 37 | cb=>installList.subscribe(cb), |
| 38 | ()=>installList.snapshot(), |
| 39 | ()=>installList.snapshot(), |
| 40 | ); |
| 41 | return { |
| 42 | items, |
| 43 | add: installList.add.bind(installList), |
| 44 | remove: installList.remove.bind(installList), |
| 45 | clear: installList.clear.bind(installList), |
| 46 | status: installList.status, |
| 47 | progress: installList.progress, |
| 48 | start: installList.run.bind(installList), |
| 49 | stop: installList.stop.bind(installList), |
| 50 | } |
| 51 | } |
no test coverage detected