var common = require('./common'); | |
var fs = require('fs'); | |
var path = require('path'); | |
//@ | |
//@ ### 'string'.to(file) | |
//@ | |
//@ Examples: | |
//@ | |
//@ ```javascript | |
//@ cat('input.txt').to('output.txt'); | |
//@ ``` | |
//@ | |
//@ Analogous to the redirection operator `>` in Unix, but works with JavaScript strings (such as | |
//@ those returned by `cat`, `grep`, etc). _Like Unix redirections, `to()` will overwrite any existing file!_ | |
function _to(options, file) { | |
if (!file) | |
common.error('wrong arguments'); | |
if (!fs.existsSync( path.dirname(file) )) | |
common.error('no such file or directory: ' + path.dirname(file)); | |
try { | |
fs.writeFileSync(file, this.toString(), 'utf8'); | |
} catch(e) { | |
common.error('could not write to file (code '+e.code+'): '+file, true); | |
} | |
} | |
module.exports = _to; |