@ars9/decay
Version:
A library for numeric values decaying with time
35 lines (34 loc) • 863 B
TypeScript
/// <reference types="node" />
import EventEmitter from 'events';
export declare enum DecayType {
Linear = 0,
Exponential = 1
}
export interface DecayConfig {
initialValue: number;
decayValue: number;
minValue: number;
maxValue: number;
interval: number;
type: DecayType;
}
export declare class Decay extends EventEmitter {
private timer?;
private _value;
private iter;
private readonly interval;
private readonly decayValue;
private readonly minValue;
private readonly maxValue;
private readonly type;
constructor(config?: Partial<DecayConfig>);
increment(value?: number): void;
decrement(value?: number): void;
get value(): number;
set value(newValue: number);
start(): void;
stop(): number;
wait(): Promise<unknown>;
private tick;
private enforceMinMax;
}