repomix
Version:
A tool to pack repository contents to single file for AI consumption
20 lines (19 loc) • 689 B
JavaScript
import { logger } from '../../shared/logger.js';
import { TokenCounter } from './TokenCounter.js';
const tokenCounters = new Map();
export const getTokenCounter = async (encoding) => {
let tokenCounter = tokenCounters.get(encoding);
if (!tokenCounter) {
tokenCounter = new TokenCounter(encoding);
await tokenCounter.init();
tokenCounters.set(encoding, tokenCounter);
}
return tokenCounter;
};
export const freeTokenCounters = () => {
for (const [encoding, tokenCounter] of tokenCounters.entries()) {
tokenCounter.free();
logger.debug(`Freed TokenCounter resources for encoding: ${encoding}`);
}
tokenCounters.clear();
};