'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _util = require('./util');
var _lodash = require('lodash');
var _emailTemplate = require('./email-template');
var _emailTemplate2 = _interopRequireDefault(_emailTemplate);
var _debug = require('debug');
var _debug2 = _interopRequireDefault(_debug);
var _path = require('path');
var debug = (0, _debug2['default'])('email-templates:creator');
exports['default'] = function (templateDirectory, options, done) {
if ((0, _lodash.isFunction)(options)) {
done = options;
options = {};
}
if (!templateDirectory) {
return done(new Error('templateDirectory is undefined'));
}
return (0, _util.ensureDirectory)(templateDirectory, function (err) {
Iif (err) return done(err);
debug('Creating Email Templates in %s', (0, _path.basename)(templateDirectory));
return done(null, template(templateDirectory, options));
});
};
function template(templateDirectory, options) {
return function _template(directory, locals, callback) {
Iif ((0, _lodash.isFunction)(locals)) {
callback = locals;
locals = {};
}
locals = (0, _lodash.defaults)(locals, options);
if (directory == null) {
return callback(new Error('templateName was not defined'));
}
var et = new _emailTemplate2['default']('' + templateDirectory + '/' + directory);
if (locals === true) {
return callback(null, function (locals, dir, next) {
et.render(locals, function (err, result) {
result = result || {};
next(err, result.html, result.text);
});
});
}
et.render(locals, function (err, result) {
result = result || {};
callback(err, result.html, result.text);
});
};
}
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9qZWR1YW4vQ29kZS9lbWFpbC10ZW1wbGF0ZXMvc3JjL21haW4uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7b0JBQThCLFFBQVE7O3NCQUNILFFBQVE7OzZCQUNqQixrQkFBa0I7Ozs7cUJBQzFCLE9BQU87Ozs7b0JBQ0YsTUFBTTs7QUFFN0IsSUFBTSxLQUFLLEdBQUcsd0JBQU0seUJBQXlCLENBQUMsQ0FBQTs7cUJBRS9CLFVBQVUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtBQUN6RCxNQUFJLFlBUkUsVUFBVSxFQVFELE9BQU8sQ0FBQyxFQUFFO0FBQ3ZCLFFBQUksR0FBRyxPQUFPLENBQUE7QUFDZCxXQUFPLEdBQUcsRUFBRSxDQUFBO0dBQ2I7QUFDRCxNQUFJLENBQUMsaUJBQWlCLEVBQUU7QUFDdEIsV0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFBO0dBQ3pEOztBQUVELFNBQU8sVUFqQkQsZUFBZSxFQWlCRSxpQkFBaUIsRUFBRSxVQUFVLEdBQUcsRUFBRTtBQUN2RCxRQUFJLEdBQUcsRUFBRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUN6QixTQUFLLENBQUMsZ0NBQWdDLEVBQUUsVUFmcEMsUUFBUSxFQWVxQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUE7QUFDcEUsV0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFBO0dBQ3hELENBQUMsQ0FBQTtDQUNIOztBQUVELFNBQVMsUUFBUSxDQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRTtBQUM3QyxTQUFPLFNBQVMsU0FBUyxDQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO0FBQ3RELFFBQUksWUF6QkEsVUFBVSxFQXlCQyxNQUFNLENBQUMsRUFBRTtBQUN0QixjQUFRLEdBQUcsTUFBTSxDQUFBO0FBQ2pCLFlBQU0sR0FBRyxFQUFFLENBQUE7S0FDWjtBQUNELFVBQU0sR0FBRyxZQTdCTyxRQUFRLEVBNkJOLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtBQUNsQyxRQUFJLFNBQVMsSUFBSSxJQUFJLEVBQUU7QUFDckIsYUFBTyxRQUFRLENBQUMsSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFBO0tBQzNEOztBQUVELFFBQUksRUFBRSxHQUFHLG9DQUFxQixpQkFBaUIsU0FBSSxTQUFTLENBQUcsQ0FBQTtBQUMvRCxRQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7QUFDbkIsYUFBTyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUU7QUFDakQsVUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsVUFBVSxHQUFHLEVBQUUsTUFBTSxFQUFFO0FBQ3ZDLGdCQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQTtBQUNyQixjQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQ3BDLENBQUMsQ0FBQTtPQUNILENBQUMsQ0FBQTtLQUNIOztBQUVELE1BQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFVBQVUsR0FBRyxFQUFFLE1BQU0sRUFBRTtBQUN2QyxZQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQTtBQUNyQixjQUFRLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO0tBQ3hDLENBQUMsQ0FBQTtHQUNILENBQUE7Q0FDRiIsImZpbGUiOiIvVXNlcnMvamVkdWFuL0NvZGUvZW1haWwtdGVtcGxhdGVzL3NyYy9tYWluLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtlbnN1cmVEaXJlY3Rvcnl9IGZyb20gJy4vdXRpbCdcbmltcG9ydCB7aXNGdW5jdGlvbiwgZGVmYXVsdHN9IGZyb20gJ2xvZGFzaCdcbmltcG9ydCBFbWFpbFRlbXBsYXRlIGZyb20gJy4vZW1haWwtdGVtcGxhdGUnXG5pbXBvcnQgRGVidWcgZnJvbSAnZGVidWcnXG5pbXBvcnQge2Jhc2VuYW1lfSBmcm9tICdwYXRoJ1xuXG5jb25zdCBkZWJ1ZyA9IERlYnVnKCdlbWFpbC10ZW1wbGF0ZXM6Y3JlYXRvcicpXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uICh0ZW1wbGF0ZURpcmVjdG9yeSwgb3B0aW9ucywgZG9uZSkge1xuICBpZiAoaXNGdW5jdGlvbihvcHRpb25zKSkge1xuICAgIGRvbmUgPSBvcHRpb25zXG4gICAgb3B0aW9ucyA9IHt9XG4gIH1cbiAgaWYgKCF0ZW1wbGF0ZURpcmVjdG9yeSkge1xuICAgIHJldHVybiBkb25lKG5ldyBFcnJvcigndGVtcGxhdGVEaXJlY3RvcnkgaXMgdW5kZWZpbmVkJykpXG4gIH1cblxuICByZXR1cm4gZW5zdXJlRGlyZWN0b3J5KHRlbXBsYXRlRGlyZWN0b3J5LCBmdW5jdGlvbiAoZXJyKSB7XG4gICAgaWYgKGVycikgcmV0dXJuIGRvbmUoZXJyKVxuICAgIGRlYnVnKCdDcmVhdGluZyBFbWFpbCBUZW1wbGF0ZXMgaW4gJXMnLCBiYXNlbmFtZSh0ZW1wbGF0ZURpcmVjdG9yeSkpXG4gICAgcmV0dXJuIGRvbmUobnVsbCwgdGVtcGxhdGUodGVtcGxhdGVEaXJlY3RvcnksIG9wdGlvbnMpKVxuICB9KVxufVxuXG5mdW5jdGlvbiB0ZW1wbGF0ZSAodGVtcGxhdGVEaXJlY3RvcnksIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIF90ZW1wbGF0ZSAoZGlyZWN0b3J5LCBsb2NhbHMsIGNhbGxiYWNrKSB7XG4gICAgaWYgKGlzRnVuY3Rpb24obG9jYWxzKSkge1xuICAgICAgY2FsbGJhY2sgPSBsb2NhbHNcbiAgICAgIGxvY2FscyA9IHt9XG4gICAgfVxuICAgIGxvY2FscyA9IGRlZmF1bHRzKGxvY2Fscywgb3B0aW9ucylcbiAgICBpZiAoZGlyZWN0b3J5ID09IG51bGwpIHtcbiAgICAgIHJldHVybiBjYWxsYmFjayhuZXcgRXJyb3IoJ3RlbXBsYXRlTmFtZSB3YXMgbm90IGRlZmluZWQnKSlcbiAgICB9XG5cbiAgICB2YXIgZXQgPSBuZXcgRW1haWxUZW1wbGF0ZShgJHt0ZW1wbGF0ZURpcmVjdG9yeX0vJHtkaXJlY3Rvcnl9YClcbiAgICBpZiAobG9jYWxzID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gY2FsbGJhY2sobnVsbCwgZnVuY3Rpb24gKGxvY2FscywgZGlyLCBuZXh0KSB7XG4gICAgICAgIGV0LnJlbmRlcihsb2NhbHMsIGZ1bmN0aW9uIChlcnIsIHJlc3VsdCkge1xuICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB7fVxuICAgICAgICAgIG5leHQoZXJyLCByZXN1bHQuaHRtbCwgcmVzdWx0LnRleHQpXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH1cblxuICAgIGV0LnJlbmRlcihsb2NhbHMsIGZ1bmN0aW9uIChlcnIsIHJlc3VsdCkge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHt9XG4gICAgICBjYWxsYmFjayhlcnIsIHJlc3VsdC5odG1sLCByZXN1bHQudGV4dClcbiAgICB9KVxuICB9XG59XG4iXX0= |