console/examples/spinner.ts

35 lines
756 B
TypeScript
Raw Normal View History

2025-03-14 20:24:43 -07:00
import { Spinner } from "@paperclover/console/Spinner";
const first = new Spinner({
2025-06-26 23:43:54 -07:00
text: "Spinner 1: ",
color: "blueBright",
2025-03-14 20:24:43 -07:00
});
const second = new Spinner({
2025-06-26 23:43:54 -07:00
text: () => `Spinner 2: ${random()}`,
color: "blueBright",
2025-03-14 20:24:43 -07:00
});
second.fps = 30;
const third = new Spinner<{ value: string }>({
2025-06-26 23:43:54 -07:00
text: ({ value }) => `Spinner 3: ${value}`,
color: "blueBright",
2025-03-14 20:24:43 -07:00
});
third.fps = 4;
for (let i = 0; i < 40; i++) {
2025-06-26 23:43:54 -07:00
await new Promise((resolve) => setTimeout(resolve, 100));
first.text = `Spinner 1: ${random()}`;
if (i === 20) {
second.success("second done!");
}
third.update({ value: random() });
2025-03-14 20:24:43 -07:00
}
2025-06-26 23:43:54 -07:00
first.success("first done!");
2025-03-14 20:24:43 -07:00
// third.success('third done!');
function random() {
2025-06-26 23:43:54 -07:00
return Math.random().toString(36).substring(2, 15);
}