dsherret / dax

Cross-platform shell tools for Deno and Node.js inspired by zx.
MIT License
967 stars 33 forks source link

feat: `KillSignalController` #169

Closed dsherret closed 11 months ago

dsherret commented 11 months ago
import $, { KillSignalController } from "...";

const controller = new KillSignalController();
const signal = controller.signal;

const promise = Promise.all([
  $`sleep 1000s`.signal(signal),
  $`sleep 2000s`.signal(signal),
  $`sleep 3000s`.signal(signal),
]);

$.sleep("1s").then(() => controller.kill());

await promise; // throws after 1 second