IWeakMapStorage.ts 667 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import { IInitializable } from '../IInitializable';
  2. export interface IWeakMapStorage <K extends object, V> extends IInitializable {
  3. /**
  4. * @param {K} key
  5. * @returns {V | undefined}
  6. */
  7. get (key: K): V | undefined;
  8. /**
  9. * @param {K} key
  10. * @returns {V}
  11. */
  12. getOrThrow (key: K): V;
  13. /**
  14. * @returns {WeakMap<K, V>}
  15. */
  16. getStorage (): WeakMap <K, V>;
  17. /**
  18. * @returns string
  19. */
  20. getStorageId (): string;
  21. /**
  22. * @param {K} key
  23. * @returns {boolean}
  24. */
  25. has (key: K): boolean;
  26. /**
  27. * @param {K} key
  28. * @param {V} value
  29. */
  30. set (key: K, value: V): void;
  31. }