0.1.2 • Published 8 months ago

@effectionx/tinyexec v0.1.2

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

tinyexec

Effection compatible wrapper around tinyexec package.


To run a process, use the x function:

import { x } from "@effectionx/tinyexec";
import { each, main } from "effection";

await main(function* () {
  let proc = yield* x("echo", ["Hello, World"]);

  for (let line of yield* each(proc.lines)) {
    console.log(line);
    yield* each.next();
  }
});
// => prints "Hello, World"

The process will be automatically destroyed whenever it passes out of scope. For example, the following shows the output of the top command for five seconds before exiting.

import { x } from "@effectionx/tinyexec";
import { each, main, sleep, spawn } from "effection";

await main(function* () {
  yield* spawn(function* () {
    let proc = yield* x("top");

    for (let line of yield* each(proc.lines)) {
      console.log(line);
      yield* each.next();
    }
  });

  yield* sleep(5000);
});
0.1.2

8 months ago