import { cache } from "react"

import { Lang } from "@/constants/languages"

const getRef = cache(() => ({ current: Lang.en }))

/**
 * Set the language for the current request
 *
 * It works kind of like React's context,
 * but on the server side, per request.
 *
 * @param newLang
 */
export function setLang(newLang: Lang) {
  getRef().current = newLang
}

/**
 * Get the global language set for the current request
 */
export function getLang() {
  return getRef().current
}
