aboutsummaryrefslogtreecommitdiff
path: root/cordova/node_modules/shelljs/src/cat.js
diff options
context:
space:
mode:
Diffstat (limited to 'cordova/node_modules/shelljs/src/cat.js')
-rwxr-xr-xcordova/node_modules/shelljs/src/cat.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/cordova/node_modules/shelljs/src/cat.js b/cordova/node_modules/shelljs/src/cat.js
new file mode 100755
index 0000000..f6f4d25
--- /dev/null
+++ b/cordova/node_modules/shelljs/src/cat.js
@@ -0,0 +1,43 @@
+var common = require('./common');
+var fs = require('fs');
+
+//@
+//@ ### cat(file [, file ...])
+//@ ### cat(file_array)
+//@
+//@ Examples:
+//@
+//@ ```javascript
+//@ var str = cat('file*.txt');
+//@ var str = cat('file1', 'file2');
+//@ var str = cat(['file1', 'file2']); // same as above
+//@ ```
+//@
+//@ Returns a string containing the given file, or a concatenated string
+//@ containing the files if more than one file is given (a new line character is
+//@ introduced between each file). Wildcard `*` accepted.
+function _cat(options, files) {
+ var cat = '';
+
+ if (!files)
+ common.error('no paths given');
+
+ if (typeof files === 'string')
+ files = [].slice.call(arguments, 1);
+ // if it's array leave it as it is
+
+ files = common.expand(files);
+
+ files.forEach(function(file) {
+ if (!fs.existsSync(file))
+ common.error('no such file or directory: ' + file);
+
+ cat += fs.readFileSync(file, 'utf8') + '\n';
+ });
+
+ if (cat[cat.length-1] === '\n')
+ cat = cat.substring(0, cat.length-1);
+
+ return common.ShellString(cat);
+}
+module.exports = _cat;