summaryrefslogtreecommitdiffstats
path: root/packages/excalidraw/element/containerCache.ts
blob: 432cd4e318aa470b5d8b246332b98c9d7754319c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import type { ExcalidrawTextContainer } from "./types";

export const originalContainerCache: {
  [id: ExcalidrawTextContainer["id"]]:
    | {
        height: ExcalidrawTextContainer["height"];
      }
    | undefined;
} = {};

export const updateOriginalContainerCache = (
  id: ExcalidrawTextContainer["id"],
  height: ExcalidrawTextContainer["height"],
) => {
  const data =
    originalContainerCache[id] || (originalContainerCache[id] = { height });
  data.height = height;
  return data;
};

export const resetOriginalContainerCache = (
  id: ExcalidrawTextContainer["id"],
) => {
  if (originalContainerCache[id]) {
    delete originalContainerCache[id];
  }
};

export const getOriginalContainerHeightFromCache = (
  id: ExcalidrawTextContainer["id"],
) => {
  return originalContainerCache[id]?.height ?? null;
};