You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

20 lines
713 B

4 years ago
  1. interface Entry {
  2. [key: string]: any;
  3. }
  4. interface MaxAgeEntry extends Entry {
  5. maxAge: number;
  6. }
  7. /**
  8. * Automatically cleanup the items in the provided `map`. The property of the expiration timestamp should be named `maxAge`.
  9. *
  10. * @param map - Map instance which should be cleaned up.
  11. */
  12. export default function mapAgeCleaner<K = any, V extends MaxAgeEntry = MaxAgeEntry>(map: Map<K, V>): any;
  13. /**
  14. * Automatically cleanup the items in the provided `map`.
  15. *
  16. * @param map - Map instance which should be cleaned up.
  17. * @param property - Name of the property which olds the expiry timestamp.
  18. */
  19. export default function mapAgeCleaner<K = any, V = Entry>(map: Map<K, V>, property: string): any;
  20. export {};