aboutsummaryrefslogtreecommitdiff
path: root/node_modules/shelljs/src/to.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-05-24 15:10:37 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-05-24 15:11:17 +0200
commit7a3df06eb573d36142bd1a8e03c5ce8752d300b3 (patch)
tree70bfaea8884c374876f607774850a3a51c0cb381 /node_modules/shelljs/src/to.js
parentaca1143cb9eed16cf37f04e475e4257418dd18ac (diff)
downloadwallet-core-7a3df06eb573d36142bd1a8e03c5ce8752d300b3.tar.xz
fix build issues and add typedoc
Diffstat (limited to 'node_modules/shelljs/src/to.js')
-rw-r--r--node_modules/shelljs/src/to.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/node_modules/shelljs/src/to.js b/node_modules/shelljs/src/to.js
new file mode 100644
index 000000000..d3d9e37be
--- /dev/null
+++ b/node_modules/shelljs/src/to.js
@@ -0,0 +1,37 @@
+var common = require('./common');
+var fs = require('fs');
+var path = require('path');
+
+common.register('to', _to, {
+ pipeOnly: true,
+ wrapOutput: false,
+});
+
+//@
+//@ ### ShellString.prototype.to(file)
+//@
+//@ Examples:
+//@
+//@ ```javascript
+//@ cat('input.txt').to('output.txt');
+//@ ```
+//@
+//@ Analogous to the redirection operator `>` in Unix, but works with
+//@ ShellStrings (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.stdout || this.toString(), 'utf8');
+ return this;
+ } catch (e) {
+ /* istanbul ignore next */
+ common.error('could not write to file (code ' + e.code + '): ' + file, { continue: true });
+ }
+}
+module.exports = _to;