Merged in feat/common-package (pull request #2333)
feat: Add common package * Add isEdge, safeTry and dataCache to new common package * Add eslint and move prettier config * Fix yarn lock * Clean up tests * Add lint-staged config to common * Add missing dependencies Approved-by: Joakim Jäderberg
This commit is contained in:
22
packages/common/dataCache/MemoryCache/InMemoryCache/get.ts
Normal file
22
packages/common/dataCache/MemoryCache/InMemoryCache/get.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import { cacheLogger } from "../../logger"
|
||||
import { cacheMap } from "./cacheMap"
|
||||
|
||||
export async function get<T>(key: string): Promise<T | undefined> {
|
||||
const cached = cacheMap.get(key)
|
||||
if (!cached) {
|
||||
return undefined
|
||||
}
|
||||
|
||||
if (cached.expiresAt < Date.now()) {
|
||||
cacheLogger.debug(`Expired for key '${key}'`)
|
||||
cacheMap.delete(key)
|
||||
return undefined
|
||||
}
|
||||
if (cached.data === undefined) {
|
||||
cacheLogger.debug(`Data is undefined for key '${key}'`)
|
||||
cacheMap.delete(key)
|
||||
return undefined
|
||||
}
|
||||
|
||||
return cached.data as T
|
||||
}
|
||||
Reference in New Issue
Block a user