From f1d9fdbe3ca2d253b773cc644832412d41a7aa28 Mon Sep 17 00:00:00 2001 From: MathMan05 Date: Wed, 24 Jul 2024 19:44:21 -0500 Subject: [PATCH] snowflake bug fix --- .dist/snowflake.js | 8 ++++---- webpage/snowflake.ts | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.dist/snowflake.js b/.dist/snowflake.js index 0f394b8..3193371 100644 --- a/.dist/snowflake.js +++ b/.dist/snowflake.js @@ -1,8 +1,8 @@ class SnowFlake { id; static SnowFlakes = new Map(); - static FinalizationRegistry = new FinalizationRegistry((id) => { - SnowFlake.SnowFlakes.delete(id); + static FinalizationRegistry = new FinalizationRegistry((a) => { + SnowFlake.SnowFlakes.get(a[1]).delete(a[0]); }); obj; constructor(id, obj) { @@ -20,7 +20,7 @@ class SnowFlake { } this.id = id; SnowFlake.SnowFlakes.get(obj.constructor).set(id, new WeakRef(this)); - SnowFlake.FinalizationRegistry.register(this, id); + SnowFlake.FinalizationRegistry.register(this, [id, obj.constructor]); this.obj = obj; } static getSnowFlakeFromID(id, type) { @@ -34,7 +34,7 @@ class SnowFlake { { const snowflake = new SnowFlake(id, undefined); SnowFlake.SnowFlakes.get(type).set(id, new WeakRef(snowflake)); - SnowFlake.FinalizationRegistry.register(snowflake, id); + SnowFlake.FinalizationRegistry.register(this, [id, type]); return snowflake; } } diff --git a/webpage/snowflake.ts b/webpage/snowflake.ts index 2da4c1a..3644143 100644 --- a/webpage/snowflake.ts +++ b/webpage/snowflake.ts @@ -1,8 +1,8 @@ class SnowFlake{ public readonly id:string; private static readonly SnowFlakes:Map>>>=new Map(); - private static readonly FinalizationRegistry=new FinalizationRegistry((id:string)=>{ - SnowFlake.SnowFlakes.delete(id); + private static readonly FinalizationRegistry=new FinalizationRegistry((a:[string,any])=>{ + SnowFlake.SnowFlakes.get(a[1]).delete(a[0]); }); private obj:x; constructor(id:string,obj:x){ @@ -20,7 +20,7 @@ class SnowFlake{ } this.id=id; SnowFlake.SnowFlakes.get(obj.constructor).set(id,new WeakRef(this)); - SnowFlake.FinalizationRegistry.register(this,id); + SnowFlake.FinalizationRegistry.register(this,[id,obj.constructor]); this.obj=obj; } static getSnowFlakeFromID(id:string,type:any):SnowFlake{ @@ -35,7 +35,7 @@ class SnowFlake{ const snowflake=new SnowFlake(id,undefined); SnowFlake.SnowFlakes.get(type).set(id,new WeakRef(snowflake)); - SnowFlake.FinalizationRegistry.register(snowflake,id); + SnowFlake.FinalizationRegistry.register(this,[id,type]); return snowflake; }