34 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
"use strict";
 | 
						|
Object.defineProperty(exports, "__esModule", { value: true });
 | 
						|
const path = require("path");
 | 
						|
const fsStat = require("@nodelib/fs.stat");
 | 
						|
const utils = require("../utils");
 | 
						|
class Reader {
 | 
						|
    constructor(_settings) {
 | 
						|
        this._settings = _settings;
 | 
						|
        this._fsStatSettings = new fsStat.Settings({
 | 
						|
            followSymbolicLink: this._settings.followSymbolicLinks,
 | 
						|
            fs: this._settings.fs,
 | 
						|
            throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks
 | 
						|
        });
 | 
						|
    }
 | 
						|
    _getFullEntryPath(filepath) {
 | 
						|
        return path.resolve(this._settings.cwd, filepath);
 | 
						|
    }
 | 
						|
    _makeEntry(stats, pattern) {
 | 
						|
        const entry = {
 | 
						|
            name: pattern,
 | 
						|
            path: pattern,
 | 
						|
            dirent: utils.fs.createDirentFromStats(pattern, stats)
 | 
						|
        };
 | 
						|
        if (this._settings.stats) {
 | 
						|
            entry.stats = stats;
 | 
						|
        }
 | 
						|
        return entry;
 | 
						|
    }
 | 
						|
    _isFatalError(error) {
 | 
						|
        return !utils.errno.isEnoentCodeError(error) && !this._settings.suppressErrors;
 | 
						|
    }
 | 
						|
}
 | 
						|
exports.default = Reader;
 |