mirror of
https://github.com/titanscouting/tra-analysis.git
synced 2024-11-15 07:36:18 +00:00
28 lines
775 B
JavaScript
28 lines
775 B
JavaScript
|
'use strict'
|
||
|
var fs = require('fs')
|
||
|
var inflight = require('inflight')
|
||
|
var accessError = require('./access-error.js')
|
||
|
var isFsAccessAvailable = require('./is-fs-access-available.js')
|
||
|
|
||
|
if (isFsAccessAvailable) {
|
||
|
module.exports = fsAccessImplementation
|
||
|
} else {
|
||
|
module.exports = fsStatImplementation
|
||
|
}
|
||
|
|
||
|
// exposed only for testing purposes
|
||
|
module.exports.fsAccessImplementation = fsAccessImplementation
|
||
|
module.exports.fsStatImplementation = fsStatImplementation
|
||
|
|
||
|
function fsAccessImplementation (dir, done) {
|
||
|
done = inflight('exists:' + dir, done)
|
||
|
if (!done) return
|
||
|
fs.access(dir, fs.F_OK, done)
|
||
|
}
|
||
|
|
||
|
function fsStatImplementation (dir, done) {
|
||
|
done = inflight('exists:' + dir, done)
|
||
|
if (!done) return
|
||
|
fs.stat(dir, function (er) { done(accessError(dir, er)) })
|
||
|
}
|