export class VersionedRenderCache {
private cachedWidth?: number;
private cachedVersion?: number;
private cachedLines?: string[];
get(width: number, version: number): string[] | undefined {
if (this.cachedWidth === width && this.cachedVersion === version) {
return this.cachedLines;
}
return undefined;
}
set(width: number, version: number, lines: string[]): string[] {
this.cachedWidth = width;
this.cachedVersion = version;
this.cachedLines = lines;
return lines;
}
invalidate(): void {
this.cachedWidth = undefined;
this.cachedVersion = undefined;
this.cachedLines = undefined;
}
}