UNPKG

852 BJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const React = require("react");
4const react_1 = require("react");
5const ink_1 = require("ink");
6const spinners = require("cli-spinners");
7/**
8 * Spinner.
9 */
10const Spinner = ({ type = 'dots' }) => {
11 const [frame, setFrame] = react_1.useState(0);
12 const spinner = spinners[type];
13 react_1.useEffect(() => {
14 const timer = setInterval(() => {
15 setFrame(previousFrame => {
16 const isLastFrame = previousFrame === spinner.frames.length - 1;
17 return isLastFrame ? 0 : previousFrame + 1;
18 });
19 }, spinner.interval);
20 return () => {
21 clearInterval(timer);
22 };
23 }, [spinner]);
24 return React.createElement(ink_1.Text, null, spinner.frames[frame]);
25};
26exports.default = Spinner;