aboutsummaryrefslogtreecommitdiff
path: root/cordova/node_modules/shelljs/src/to.js
diff options
context:
space:
mode:
Diffstat (limited to 'cordova/node_modules/shelljs/src/to.js')
-rwxr-xr-xcordova/node_modules/shelljs/src/to.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/cordova/node_modules/shelljs/src/to.js b/cordova/node_modules/shelljs/src/to.js
new file mode 100755
index 0000000..f029999
--- /dev/null
+++ b/cordova/node_modules/shelljs/src/to.js
@@ -0,0 +1,29 @@
+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;