UNPKG

mecano

Version:

Common functions for system deployment.

50 lines (46 loc) 1.34 kB
// Generated by CoffeeScript 1.9.1 var fs, path; module.exports = function(options, callback) { var do_read_source, do_write; if (!(options.source || options.content)) { return callback(new Error('Missing source or content')); } if (!options.destination) { return callback(new Error('Missing destination')); } do_read_source = function() { var ssh; if (!options.source) { return do_write(); } ssh = options.local_source ? null : options.ssh; return fs.exists(ssh, options.source, function(err, exists) { if (!exists) { return callback(new Error("Invalid source, got " + (JSON.stringify(options.source)))); } return fs.readFile(ssh, options.source, 'utf8', function(err, content) { if (err) { return callback(err); } options.content = content; return do_write(); }); }); }; do_write = (function(_this) { return function() { var extension; if (!options.engine && options.source) { extension = path.extname(options.source); if (extension === '.j2') { options.engine = 'nunjunks'; } } options.source = null; return _this.write(options).then(callback); }; })(this); return do_read_source(); }; fs = require('ssh2-fs'); path = require('path');