IMapStorage.ts 990 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import { IInitializable } from '../IInitializable';
  2. export interface IMapStorage <K, 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. * @param {V} value
  15. * @returns {K | null}
  16. */
  17. getKeyOf (value: V): K | null;
  18. /**
  19. * @returns number
  20. */
  21. getLength (): number;
  22. /**
  23. * @returns {Map<K, V>}
  24. */
  25. getStorage (): Map <K, V>;
  26. /**
  27. * @returns string
  28. */
  29. getStorageId (): string;
  30. /**
  31. * @param {K} key
  32. * @returns {boolean}
  33. */
  34. has (key: K): boolean;
  35. /**
  36. * @param storage
  37. * @param mergeId
  38. */
  39. mergeWith (storage: this, mergeId: boolean): void;
  40. /**
  41. * @param {K} key
  42. * @param {V} value
  43. */
  44. set (key: K, value: V): void;
  45. /**
  46. * @returns string
  47. */
  48. toString (): string;
  49. }