| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | (function() {  var async, fs, path, pug,    extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },    hasProp = {}.hasOwnProperty;  async = require('async');  fs = require('fs');  pug = require('pug');  path = require('path');  module.exports = function(env, callback) {    var PugTemplate;    PugTemplate = (function(superClass) {      extend(PugTemplate, superClass);      function PugTemplate(fn) {        this.fn = fn;      }      PugTemplate.prototype.render = function(locals, callback) {        var error;        try {          return callback(null, Buffer.from(this.fn(locals)));        } catch (error1) {          error = error1;          return callback(error);        }      };      return PugTemplate;    })(env.TemplatePlugin);    PugTemplate.fromFile = function(filepath, callback) {      return async.waterfall([        function(callback) {          return fs.readFile(filepath.full, callback);        }, (function(_this) {          return function(buffer, callback) {            var conf, error, rv;            conf = env.config.pug || {};            conf.filename = filepath.full;            try {              rv = pug.compile(buffer.toString(), conf);              return callback(null, new _this(rv));            } catch (error1) {              error = error1;              return callback(error);            }          };        })(this)      ], callback);    };    env.registerTemplatePlugin('**/*.*(pug|jade)', PugTemplate);    return callback();  };}).call(this);
 |