22 lines
531 B
TypeScript
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;
|
|
}
|
|
}
|