jank-client-fork/src/webpage/snowflake.ts
2024-12-20 19:28:08 -06:00

17 lines
409 B
TypeScript

abstract class SnowFlake {
public readonly id: string;
constructor(id: string) {
this.id = id;
}
getUnixTime(): number {
return SnowFlake.stringToUnixTime(this.id);
}
static stringToUnixTime(str: string) {
try {
return Number((BigInt(str) >> 22n) + 1420070400000n);
} catch {
throw new Error(`The ID is corrupted, it's ${str} when it should be some number.`);
}
}
}
export {SnowFlake};