aboutsummaryrefslogtreecommitdiff
path: root/node_modules/shelljs/src/test.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/shelljs/src/test.js')
-rw-r--r--node_modules/shelljs/src/test.js84
1 files changed, 0 insertions, 84 deletions
diff --git a/node_modules/shelljs/src/test.js b/node_modules/shelljs/src/test.js
deleted file mode 100644
index d3d9c07a0..000000000
--- a/node_modules/shelljs/src/test.js
+++ /dev/null
@@ -1,84 +0,0 @@
-var common = require('./common');
-var fs = require('fs');
-
-common.register('test', _test, {
- cmdOptions: {
- 'b': 'block',
- 'c': 'character',
- 'd': 'directory',
- 'e': 'exists',
- 'f': 'file',
- 'L': 'link',
- 'p': 'pipe',
- 'S': 'socket',
- },
- wrapOutput: false,
- allowGlobbing: false,
-});
-
-
-//@
-//@ ### test(expression)
-//@ Available expression primaries:
-//@
-//@ + `'-b', 'path'`: true if path is a block device
-//@ + `'-c', 'path'`: true if path is a character device
-//@ + `'-d', 'path'`: true if path is a directory
-//@ + `'-e', 'path'`: true if path exists
-//@ + `'-f', 'path'`: true if path is a regular file
-//@ + `'-L', 'path'`: true if path is a symbolic link
-//@ + `'-p', 'path'`: true if path is a pipe (FIFO)
-//@ + `'-S', 'path'`: true if path is a socket
-//@
-//@ Examples:
-//@
-//@ ```javascript
-//@ if (test('-d', path)) { /* do something with dir */ };
-//@ if (!test('-f', path)) continue; // skip if it's a regular file
-//@ ```
-//@
-//@ Evaluates expression using the available primaries and returns corresponding value.
-function _test(options, path) {
- if (!path) common.error('no path given');
-
- var canInterpret = false;
- Object.keys(options).forEach(function (key) {
- if (options[key] === true) {
- canInterpret = true;
- }
- });
-
- if (!canInterpret) common.error('could not interpret expression');
-
- if (options.link) {
- try {
- return fs.lstatSync(path).isSymbolicLink();
- } catch (e) {
- return false;
- }
- }
-
- if (!fs.existsSync(path)) return false;
-
- if (options.exists) return true;
-
- var stats = fs.statSync(path);
-
- if (options.block) return stats.isBlockDevice();
-
- if (options.character) return stats.isCharacterDevice();
-
- if (options.directory) return stats.isDirectory();
-
- if (options.file) return stats.isFile();
-
- /* istanbul ignore next */
- if (options.pipe) return stats.isFIFO();
-
- /* istanbul ignore next */
- if (options.socket) return stats.isSocket();
-
- /* istanbul ignore next */
- return false; // fallback
-} // test
-module.exports = _test;