25 lines
507 B
JavaScript
25 lines
507 B
JavaScript
var Q = require('q');
|
|
var fs = require('./fs');
|
|
|
|
function validLink(file) {
|
|
// Ensures that a file is a symlink that points
|
|
// to a valid file
|
|
return Q.nfcall(fs.lstat, file)
|
|
.then(function (lstat) {
|
|
if (!lstat.isSymbolicLink()) {
|
|
return [false];
|
|
}
|
|
|
|
return Q.nfcall(fs.stat, file)
|
|
.then(function (stat) {
|
|
return [stat];
|
|
});
|
|
})
|
|
.fail(function (err) {
|
|
return [false, err];
|
|
});
|
|
}
|
|
|
|
module.exports = validLink;
|
|
|