UNPKG

repomix

Version:

A tool to pack repository contents to single file for AI consumption

20 lines (19 loc) 689 B
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(); };