@toptal/davinci-cloudflare-requests-handler
Version:
Toptal Cloudflare requests handler
46 lines (33 loc) • 1 kB
text/typescript
import {
DAVINCI_CLOUDFLARE_NUMBER_OF_RETRIES_KEY,
DAVINCI_CLOUDFLARE_LAST_RETRY_DATE_KEY,
} from '../constants'
import { getItem, setItem } from '../utils/local-storage'
export const getNumberOfRetries = () => {
const storageValue = getItem(DAVINCI_CLOUDFLARE_NUMBER_OF_RETRIES_KEY)
if (!storageValue) {
return 0
}
const numberValue = Number(storageValue)
if (isNaN(numberValue)) {
return 0
}
return numberValue
}
export const getLastRetryDate = () => {
const storageValue = getItem(DAVINCI_CLOUDFLARE_LAST_RETRY_DATE_KEY)
if (!storageValue) {
return new Date(0)
}
const dateValue = new Date(Number(storageValue))
if (isNaN(dateValue.getTime())) {
return new Date(0)
}
return dateValue
}
export const setNumberOfRetries = (value: number) => {
setItem(DAVINCI_CLOUDFLARE_NUMBER_OF_RETRIES_KEY, String(value))
}
export const setLastRetryDate = (value: Date) => {
setItem(DAVINCI_CLOUDFLARE_LAST_RETRY_DATE_KEY, String(value.getTime()))
}