Skip to content

Envov/progress-it

Repository files navigation


Logo

Create any progress-bar you like use functional api
Preview | Example

start

yarn add progress-it 
or
npm install progress-it
import progress from "progress-it"
const effect=console.log
const stateSetter = progress(effect)(false);
const finish=()=>stateSetter(true)
const fail=()=>stateSetter('fail')
setTimeout(finish,1000)

output

0.0000001 false
0.0000002 false
0.0000004 false
...
0.9999999 false
# after 1000ms 
1 true

api

type Effect = (percent: number, state: boolean | 'fail') => void;
interface IProgressPotions {
    interval: number;//default 100
    speed: number; //default 0.01
}
type Setter=(newState: boolean | 'fail')=>Setter
const progress: (effect: Effect, option: Partial<IProgressPotions>) => (initState: boolean) => (newState: boolean) => Setter;
const stateSetter:Setter = progress(effect)(false);