HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall/node_modules/browserify-cache-api/lib/invalidateDependentFiles.js
var invalidateModifiedFiles = require('./invalidateModifiedFiles');

function invalidateDependentFiles(cache, invalidatedModules, done) {
  var dependentFiles = cache.dependentFiles;

  // clean up maybe-no-longer-dependent modules
  var maybeNoLongerDependentModules = {};
  invalidatedModules.forEach(function(module) {
    maybeNoLongerDependentModules[module] = true;
  });
  Object.keys(dependentFiles).forEach(function(dependentFile) {
    if (dependentFiles[dependentFile]) {
      Object.keys(dependentFiles[dependentFile]).forEach(function(module) {
        if (maybeNoLongerDependentModules[module]) {
          delete dependentFiles[dependentFile][module];
        }
      });
    }
  });

  invalidateModifiedFiles(cache.mtimes, Object.keys(dependentFiles), function(dependentFile) {
    Object.keys(dependentFiles[dependentFile]).forEach(function(module) {
      delete cache.modules[module];
    });
  }, function(err) { done(err); });
}

module.exports = invalidateDependentFiles;