Skip to content

Commit

Permalink
Merge pull request #3513 from owid/detect-country-cache
Browse files Browse the repository at this point in the history
enhance(util): cache `/detect-country` fetch
  • Loading branch information
marcelgerber authored Apr 18, 2024
2 parents 38c3326 + 34ab75f commit 6f15e05
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion packages/@ourworldindata/utils/src/Util.ts
Original file line number Diff line number Diff line change
Expand Up @@ -569,14 +569,19 @@ export const fetchText = async (url: string): Promise<string> => {
})
}

export const getUserCountryInformation = async (): Promise<
const _getUserCountryInformation = async (): Promise<
UserCountryInformation | undefined
> =>
await fetch("/detect-country")
.then((res) => res.json())
.then((res) => res.country)
.catch(() => undefined)

// Memoized because this will pretty much never change during a session.
// The memoization, however, also means that any failures will also be cached.
// This is okay currently, because currently this information is very much an optional nice-to-have.
export const getUserCountryInformation = memoize(_getUserCountryInformation)

export const stripHTML = (html: string): string => striptags(html)

// Math.rand doesn't have between nor seed. Lodash's Random doesn't take a seed, making it bad for testing.
Expand Down

0 comments on commit 6f15e05

Please sign in to comment.