jank-client-fork/webpage/snowflake.ts
2024-09-03 11:13:09 -05:00

18 lines
402 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{
console.error(`The ID is corrupted, it's ${str} when it should be some number.`);
return 0;
}
}
}
export{SnowFlake};