cache-swap

0.3.0 • Public • Published

cache-swap

NPM version Build status Dependency Status devDependency Status

A lightweight file swap cache backed by temp files.

Example

var swap = new CacheSwap({
    cacheDirName: "HoganizeSwap"
  }),
  processTemplate = function(template, done) {
    var templateStr = template.content,
      templatePath = template.path,
      templateHash = files.shaIt(templateStr);
 
    swap.getCached("hoganize", templateHash, function(err, cached) {
      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();
        });
      }
 
    });
  };

License

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

Readme

Keywords

Package Sidebar

Install

npm i cache-swap

Weekly Downloads

26,838

Version

0.3.0

License

MIT

Last publish

Collaborators

  • jgable
  • shinnn