summaryrefslogtreecommitdiff
path: root/src/misc/id
diff options
context:
space:
mode:
Diffstat (limited to 'src/misc/id')
-rw-r--r--src/misc/id/meid.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/misc/id/meid.ts b/src/misc/id/meid.ts
new file mode 100644
index 0000000000..0a0935e536
--- /dev/null
+++ b/src/misc/id/meid.ts
@@ -0,0 +1,24 @@
+const CHARS = '0123456789abcdef';
+
+function getTime(time: number) {
+ if (time < 0) time = 0;
+ if (time === 0) {
+ return CHARS[0];
+ }
+
+ return time.toString(16).padStart(16, CHARS[0]);
+}
+
+function getRandom() {
+ let str = '';
+
+ for (let i = 0; i < 7; i++) {
+ str += CHARS[Math.floor(Math.random() * CHARS.length)];
+ }
+
+ return str;
+}
+
+export function genMeid(date: Date): string {
+ return 'f' + getTime(date.getTime()) + getRandom();
+}