@@ -4,49 +4,49 @@ export class WeakCache<K, V extends object> implements Map<K, V> {
4
4
5
5
#map = new Map < K , WeakRef < V > > ( )
6
6
7
- has ( key : K ) {
7
+ has ( key : K ) {
8
8
return ! ! ( this . #map. has ( key ) && this . #map. get ( key ) ?. deref ( ) )
9
9
}
10
10
11
- get ( key : K ) : V {
11
+ get ( key : K ) : V {
12
12
const weakRef = this . #map. get ( key )
13
- if ( ! weakRef )
13
+ if ( ! weakRef ) {
14
14
// @ts -expect-error object has no undefined
15
15
return undefined
16
+ }
16
17
17
18
const value = weakRef . deref ( )
18
- if ( value )
19
- return value
19
+ if ( value ) { return value }
20
20
21
21
// If it cant be dereference, remove the key
22
22
this . #map. delete ( key )
23
23
// @ts -expect-error object has no undefined
24
24
return undefined
25
25
}
26
26
27
- set ( key : K , value : V ) {
27
+ set ( key : K , value : V ) {
28
28
this . #map. set ( key , new WeakRef < V > ( value ) )
29
29
return this
30
30
}
31
31
32
- get size ( ) : number {
32
+ get size ( ) : number {
33
33
return this . #map. size
34
34
}
35
35
36
- clear ( ) : void {
36
+ clear ( ) : void {
37
37
this . #map. clear ( )
38
38
}
39
39
40
- delete ( key : K ) : boolean {
40
+ delete ( key : K ) : boolean {
41
41
this . #map. delete ( key )
42
42
return false
43
43
}
44
44
45
- forEach ( cb : ( value : V , key : K , map : Map < K , V > ) => void ) : void {
46
- for ( const [ key , value ] of this ) cb ( value , key , this )
45
+ forEach ( cb : ( value : V , key : K , map : Map < K , V > ) => void ) : void {
46
+ for ( const [ key , value ] of this ) { cb ( value , key , this ) }
47
47
}
48
48
49
- * [ Symbol . iterator ] ( ) : IterableIterator < [ K , V ] > {
49
+ * [ Symbol . iterator ] ( ) : IterableIterator < [ K , V ] > {
50
50
for ( const [ key , weakRef ] of this . #map) {
51
51
const ref = weakRef . deref ( )
52
52
@@ -59,15 +59,15 @@ export class WeakCache<K, V extends object> implements Map<K, V> {
59
59
}
60
60
}
61
61
62
- * entries ( ) : IterableIterator < [ K , V ] > {
63
- for ( const [ key , value ] of this ) yield [ key , value ]
62
+ * entries ( ) : IterableIterator < [ K , V ] > {
63
+ for ( const [ key , value ] of this ) { yield [ key , value ] }
64
64
}
65
65
66
- * keys ( ) : IterableIterator < K > {
67
- for ( const [ key ] of this ) yield key
66
+ * keys ( ) : IterableIterator < K > {
67
+ for ( const [ key ] of this ) { yield key }
68
68
}
69
69
70
- * values ( ) : IterableIterator < V > {
71
- for ( const [ , value ] of this ) yield value
70
+ * values ( ) : IterableIterator < V > {
71
+ for ( const [ , value ] of this ) { yield value }
72
72
}
73
73
}
0 commit comments