cesr
Version:
[](https://www.npmjs.com/package/cesr) [](https://github.com/lenkan/cesr-js/blob/main/LICENSE)
34 lines (33 loc) • 803 B
JavaScript
import { createReadStream } from "node:fs";
import { execute } from "./cli.js";
async function* resolveInputStream(input) {
if (input === "-") {
yield* process.stdin;
return;
}
if (input.startsWith("http") || input.startsWith("https")) {
const response = await fetch(input);
if (response.body) {
for await (const chunk of response.body) {
yield chunk;
}
}
return;
}
const stream = createReadStream(input);
for await (const chunk of stream) {
yield chunk;
}
stream.close();
}
try {
await execute({
args: process.argv.slice(2),
read: resolveInputStream,
});
}
catch (error) {
console.error(error.message);
process.exit(1);
}