| 12345678910111213141516171819202122232425262728293031323334353637383940 | 
							- class LRUCache {
 
-   constructor () {
 
-     this.max = 1000
 
-     this.map = new Map()
 
-   }
 
-   get (key) {
 
-     const value = this.map.get(key)
 
-     if (value === undefined) {
 
-       return undefined
 
-     } else {
 
-       // Remove the key from the map and add it to the end
 
-       this.map.delete(key)
 
-       this.map.set(key, value)
 
-       return value
 
-     }
 
-   }
 
-   delete (key) {
 
-     return this.map.delete(key)
 
-   }
 
-   set (key, value) {
 
-     const deleted = this.delete(key)
 
-     if (!deleted && value !== undefined) {
 
-       // If cache is full, delete the least recently used item
 
-       if (this.map.size >= this.max) {
 
-         const firstKey = this.map.keys().next().value
 
-         this.delete(firstKey)
 
-       }
 
-       this.map.set(key, value)
 
-     }
 
-     return this
 
-   }
 
- }
 
- module.exports = LRUCache
 
 
  |