about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/util/emoji/unicode_to_unified_name.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/javascript/flavours/glitch/util/emoji/unicode_to_unified_name.js')
-rw-r--r--app/javascript/flavours/glitch/util/emoji/unicode_to_unified_name.js17
1 files changed, 17 insertions, 0 deletions
diff --git a/app/javascript/flavours/glitch/util/emoji/unicode_to_unified_name.js b/app/javascript/flavours/glitch/util/emoji/unicode_to_unified_name.js
new file mode 100644
index 000000000..808ac197e
--- /dev/null
+++ b/app/javascript/flavours/glitch/util/emoji/unicode_to_unified_name.js
@@ -0,0 +1,17 @@
+function padLeft(str, num) {
+  while (str.length < num) {
+    str = '0' + str;
+  }
+  return str;
+}
+
+exports.unicodeToUnifiedName = (str) => {
+  let output = '';
+  for (let i = 0; i < str.length; i += 2) {
+    if (i > 0) {
+      output += '-';
+    }
+    output += padLeft(str.codePointAt(i).toString(16).toUpperCase(), 4);
+  }
+  return output;
+};