All files / app/i18n getLangCookie.ts

0% Statements 0/9
0% Branches 0/1
0% Functions 0/1
0% Lines 0/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22                                           
// note: manually add a non-secure cookie in development to test this functionality
export function getLangCookie() {
  const name = "couchers-preferred-language=";
 
  // split multiple cookies from cookie string
  // "couchers-preferred-language=es; some-other-cookie=some value" --> ['couchers-preferred-language=es', ' some-other-cookie=some value']")
  const allCookies = document.cookie.split("; ");
 
  // find the cookie with key "couchers-preferred-language" and extract its value
  for (let i = 0; i < allCookies.length; i++) {
    const cookie = allCookies[i];
 
    // if cookie key is couchers-preferred-language
    Iif (cookie.indexOf(name) == 0) {
      // cookie val will start at the length of the cookie's name
      return cookie.substring(name.length);
    }
  }
  // if not cookie is found, return an empty string
  return "";
}