vibeguard/src/inference/cache.ts

22 lines
531 B
TypeScript

import { hashText, normalizeText } from "../shared/hash";
import type { InferenceResult } from "../shared/types";
export class ResultCache {
private readonly values = new Map<string, InferenceResult>();
get(text: string): InferenceResult | undefined {
return this.values.get(hashText(text));
}
set(text: string, result: InferenceResult): void {
this.values.set(hashText(normalizeText(text)), result);
}
clear(): void {
this.values.clear();
}
get size(): number {
return this.values.size;
}
}