| 1145 | return makeWith({ |
| 1146 | ...self, |
| 1147 | runAll(entries, key) { |
| 1148 | return Effect.onExit(self.runAll(entries, key), () => { |
| 1149 | let toRemove = MutableHashMap.size(cache) - options.capacity |
| 1150 | if (toRemove <= 0) return Effect.void |
| 1151 | for (const k of MutableHashMap.keys(cache)) { |
| 1152 | MutableHashMap.remove(cache, k) |
| 1153 | toRemove-- |
| 1154 | if (toRemove <= 0) break |
| 1155 | } |
| 1156 | return Effect.void |
| 1157 | }) |
| 1158 | }, |
| 1159 | preCheck(entry) { |
| 1160 | const ocached = MutableHashMap.get(cache, entry.request) |
| 1161 | if (ocached._tag === "None") { |