UNPKG

@ars9/decay

Version:

A library for numeric values decaying with time

35 lines (34 loc) 863 B
/// <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; }