From 708976a9e9a246a9dbb167931cd0512b9e93bc26 Mon Sep 17 00:00:00 2001
From: Lim Chee Aun <cheeaun@gmail.com>
Date: Wed, 3 Apr 2024 19:48:18 +0800
Subject: [PATCH] Anything Intl always need to extract out

and memoized
---
 src/utils/localeCode2Text.jsx | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/utils/localeCode2Text.jsx b/src/utils/localeCode2Text.jsx
index e9843ace..5c8ada7f 100644
--- a/src/utils/localeCode2Text.jsx
+++ b/src/utils/localeCode2Text.jsx
@@ -1,10 +1,16 @@
-export default function localeCode2Text(code) {
+import mem from './mem';
+
+const IntlDN = new Intl.DisplayNames(navigator.languages, {
+  type: 'language',
+});
+
+function _localeCode2Text(code) {
   try {
-    return new Intl.DisplayNames(navigator.languages, {
-      type: 'language',
-    }).of(code);
+    return IntlDN.of(code);
   } catch (e) {
     console.error(e);
     return null;
   }
 }
+
+export default mem(_localeCode2Text);