use more generic function for time conversions

This commit is contained in:
MathMan05 2024-09-03 11:17:06 -05:00
parent 0fc51f0e71
commit 4c4f7f8619
4 changed files with 10 additions and 8 deletions

View file

@ -906,14 +906,14 @@ class Channel extends SnowFlake {
if (!this.lastmessageid || !id) if (!this.lastmessageid || !id)
return; return;
let flake = this.lastmessageid; let flake = this.lastmessageid;
const time = Number((BigInt(id) >> 22n) + 1420070400000n); const time = SnowFlake.stringToUnixTime(id);
let flaketime = Number((BigInt(flake) >> 22n) + 1420070400000n); let flaketime = SnowFlake.stringToUnixTime(flake);
while (flake && time < flaketime) { while (flake && time < flaketime) {
flake = this.idToPrev.get(flake); flake = this.idToPrev.get(flake);
if (!flake) { if (!flake) {
return; return;
} }
flaketime = Number((BigInt(flake) >> 22n) + 1420070400000n); flaketime = SnowFlake.stringToUnixTime(flake);
} }
return flake; return flake;
} }

View file

@ -3,6 +3,7 @@ import { Channel } from "./channel.js";
import { Message } from "./message.js"; import { Message } from "./message.js";
import { User } from "./user.js"; import { User } from "./user.js";
import { Permissions } from "./permissions.js"; import { Permissions } from "./permissions.js";
import { SnowFlake } from "./snowflake.js";
class Direct extends Guild { class Direct extends Guild {
constructor(json, owner) { constructor(json, owner) {
super(-1, owner, null); super(-1, owner, null);
@ -95,7 +96,7 @@ class Group extends Channel {
this.mentions = 0; this.mentions = 0;
this.setUpInfiniteScroller(); this.setUpInfiniteScroller();
if (this.lastmessageid) { if (this.lastmessageid) {
this.position = Number((BigInt(this.lastmessageid) >> 22n) + 1420070400000n); this.position = SnowFlake.stringToUnixTime(this.lastmessageid);
} }
this.position = -Math.max(this.position, this.getUnixTime()); this.position = -Math.max(this.position, this.getUnixTime());
} }

View file

@ -910,15 +910,15 @@ class Channel extends SnowFlake{
private findClosest(id:string|undefined){ private findClosest(id:string|undefined){
if(!this.lastmessageid||!id)return; if(!this.lastmessageid||!id)return;
let flake:string|undefined=this.lastmessageid; let flake:string|undefined=this.lastmessageid;
const time=Number((BigInt(id)>>22n)+1420070400000n); const time=SnowFlake.stringToUnixTime(id);
let flaketime=Number((BigInt(flake)>>22n)+1420070400000n); let flaketime=SnowFlake.stringToUnixTime(flake);
while(flake&&time<flaketime){ while(flake&&time<flaketime){
flake=this.idToPrev.get(flake); flake=this.idToPrev.get(flake);
if(!flake){ if(!flake){
return; return;
} }
flaketime=Number((BigInt(flake)>>22n)+1420070400000n); flaketime=SnowFlake.stringToUnixTime(flake);
} }
return flake; return flake;
} }

View file

@ -6,6 +6,7 @@ import{User}from"./user.js";
import{ Member }from"./member.js"; import{ Member }from"./member.js";
import{ dirrectjson, memberjson }from"./jsontypes.js"; import{ dirrectjson, memberjson }from"./jsontypes.js";
import{ Permissions }from"./permissions.js"; import{ Permissions }from"./permissions.js";
import { SnowFlake } from "./snowflake.js";
class Direct extends Guild{ class Direct extends Guild{
constructor(json:dirrectjson[],owner:Localuser){ constructor(json:dirrectjson[],owner:Localuser){
@ -101,7 +102,7 @@ class Group extends Channel{
this.mentions=0; this.mentions=0;
this.setUpInfiniteScroller(); this.setUpInfiniteScroller();
if(this.lastmessageid){ if(this.lastmessageid){
this.position=Number((BigInt(this.lastmessageid)>>22n)+1420070400000n); this.position=SnowFlake.stringToUnixTime(this.lastmessageid);
} }
this.position=-Math.max(this.position,this.getUnixTime()); this.position=-Math.max(this.position,this.getUnixTime());