cache-swap

A simple temp file based swap for speeding up operations

cache-swap

A lightweight file swap cache backed by temp files.

var swap = new CacheSwap({
    cacheDirName: "HoganizeSwap"
  }),
  processTemplate = function(templatedone) {
    var templateStr = template.content,
      templatePath = template.path,
      templateHash = files.shaIt(templateStr);
 
    swap.getCached("hoganize", templateHash, function(errcached) {
      if(err) {
        return done(err);
      }
 
      var yeahbrotha,
        stringed;
 
      if(cached) {
        yeahbrotha = cached.contents;
        try {
          addToHoganized(yeahbrotha, templatePath);
        } catch(e){
          return done(e);
        }
 
        done();
      } else {
        yeahbrotha = self._compileTemplate(templateStr, templatePath);
        // Add the compiled template to the cache swap for next time. 
        swap.addCached("hoganize", templateHash, yeahbrotha, function(err) {
          if(err) {
            return done(err);
          }
 
          try {
            addToHoganized(yeahbrotha, templatePath);
          } catch(e) {
            return done(e);
          }
 
          done();
        });
      }
 
    });
  };

Licensed under the MIT License, Copyright 2013-2015 Jacob Gable