(key, requestFn)
| 104 | maxConcurrent: 4, |
| 105 | |
| 106 | async enqueue(key, requestFn) { |
| 107 | if (this.queue.has(key)) { |
| 108 | return this.queue.get(key); |
| 109 | } |
| 110 | while (this.queue.size >= this.maxConcurrent) { |
| 111 | await new Promise((resolve) => setTimeout(resolve, 50)); |
| 112 | } |
| 113 | |
| 114 | const promise = requestFn().finally(() => { |
| 115 | this.queue.delete(key); |
| 116 | }); |
| 117 | |
| 118 | this.queue.set(key, promise); |
| 119 | return promise; |
| 120 | }, |
| 121 | }; |
| 122 | const indexCache = { |
| 123 | data: new Map(), |
nothing calls this directly
no outgoing calls
no test coverage detected