123456789101112131415161718192021222324 |
- /*
- * MIT License http://opensource.org/licenses/MIT
- * Author: Ben Holloway @bholloway
- */
- 'use strict';
- const fsUtils = (fs) => {
- // fs from enhanced-resolver doesn't include fs.existsSync so we need to use fs.statsSync instead
- const withStats = (fn) => (absolutePath) => {
- try {
- return fn(fs.statSync(absolutePath));
- } catch (e) {
- return false;
- }
- };
- return {
- isFileSync: withStats((stats) => stats.isFile()),
- isDirectorySync: withStats((stats) => stats.isDirectory()),
- existsSync: withStats((stats) => stats.isFile() || stats.isDirectory())
- };
- };
- module.exports = fsUtils;
|