UNPKG

cspell-lib

Version:

A library of useful functions used across various cspell tools.

46 lines 1.1 kB
export class FreqCounter { _total = 0; _counters = new Map(); get total() { return this._total; } get counters() { return this._counters; } getCount(key) { return this._counters.get(key); } getFreq(key) { return (this.getCount(key) || 0) / (this._total || 1); } addKeyCount(key, count) { this._total += count; this._counters.set(key, (this._counters.get(key) || 0) + count); return this; } addKey(key) { return this.addKeyCount(key, 1); } addKeys(keys) { for (const key of keys) { this.addKey(key); } } addKeyCounts(values) { for (const pair of values) { this.addKeyCount(pair[0], pair[1]); } } merge(...freqCounters) { for (const fc of freqCounters) { this.addKeyCounts(fc._counters); } return this; } static create(values) { const fc = new FreqCounter(); fc.addKeys(values || []); return fc; } } //# sourceMappingURL=FreqCounter.js.map