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

    Install

    npm i cache-swap

    DownloadsWeekly Downloads

    19,837

    Version

    0.3.0

    License

    MIT

    Last publish

    Collaborators

    • jgable
    • shinnn