1'use strict' 2 3const { rm } = require('fs/promises') 4const glob = require('./util/glob.js') 5const index = require('./entry-index') 6const memo = require('./memoization') 7const path = require('path') 8const rmContent = require('./content/rm') 9 10module.exports = entry 11module.exports.entry = entry 12 13function entry (cache, key, opts) { 14 memo.clearMemoized() 15 return index.delete(cache, key, opts) 16} 17 18module.exports.content = content 19 20function content (cache, integrity) { 21 memo.clearMemoized() 22 return rmContent(cache, integrity) 23} 24 25module.exports.all = all 26 27async function all (cache) { 28 memo.clearMemoized() 29 const paths = await glob(path.join(cache, '*(content-*|index-*)'), { silent: true, nosort: true }) 30 return Promise.all(paths.map((p) => rm(p, { recursive: true, force: true }))) 31} 32