IArrayStorage.d.ts 918 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import { IInitializable } from '../IInitializable';
  2. export interface IArrayStorage <V> extends IInitializable {
  3. /**
  4. * @param {number} key
  5. * @returns {V | undefined}
  6. */
  7. get (key: number): V | undefined;
  8. /**
  9. * @param {number} key
  10. * @returns {V}
  11. */
  12. getOrThrow (key: number): V;
  13. /**
  14. * @param value
  15. * @returns number | null
  16. */
  17. getKeyOf (value: V): number | null;
  18. /**
  19. * @returns number
  20. */
  21. getLength (): number;
  22. /**
  23. * @returns {V[]}
  24. */
  25. getStorage (): V[];
  26. /**
  27. * @returns string
  28. */
  29. getStorageId (): string;
  30. /**
  31. * @param storage
  32. * @param mergeId
  33. */
  34. mergeWith (storage: this, mergeId: boolean): void;
  35. /**
  36. * @param {number} key
  37. * @param {V} value
  38. */
  39. set (key: number, value: V): void;
  40. /**
  41. * @returns string
  42. */
  43. toString (): string;
  44. }