@pvorona/counter
v0.1.0
Published
A tiny mutable counter.
Downloads
266
Readme
@pvorona/counter
A tiny mutable counter.
Install
npm i @pvorona/counterUsage
import { createCounter } from '@pvorona/counter';
const counter = createCounter(5);
counter.value; // 5
counter.increment(); // 6
counter.set(20); // 20
counter.reset(); // 5
counter.value; // 5API
type Counter
Public counter interface.
export type Counter = {
readonly value: number;
increment(amount?: number): number;
decrement(amount?: number): number;
set(value: number): number;
reset(): number;
};Notes:
valueis the current count.increment(amount?)addsamount(defaults to1) and returns the updated value.decrement(amount?)subtractsamount(defaults to1) and returns the updated value.set(value)replaces the current value and returns it.reset()restores the originalinitialValueand returns it.
Example:
import type { Counter } from '@pvorona/counter';
function reset(counter: Counter) {
counter.reset();
}createCounter(initialValue?: number): Counter
Creates a new counter.
initialValue: starting value (defaults to0)- returns: a
Counter
Example:
import { createCounter } from '@pvorona/counter';
const clicks = createCounter();
clicks.increment(); // 1