| "use strict"; |
| Object.defineProperty(exports, "__esModule", { value: true }); |
| const fsStat = require("@nodelib/fs.stat"); |
| const fsWalk = require("@nodelib/fs.walk"); |
| const reader_1 = require("./reader"); |
| class ReaderSync extends reader_1.default { |
| constructor() { |
| super(...arguments); |
| this._walkSync = fsWalk.walkSync; |
| this._statSync = fsStat.statSync; |
| } |
| dynamic(root, options) { |
| return this._walkSync(root, options); |
| } |
| static(patterns, options) { |
| const entries = []; |
| for (const pattern of patterns) { |
| const filepath = this._getFullEntryPath(pattern); |
| const entry = this._getEntry(filepath, pattern, options); |
| if (entry === null || !options.entryFilter(entry)) { |
| continue; |
| } |
| entries.push(entry); |
| } |
| return entries; |
| } |
| _getEntry(filepath, pattern, options) { |
| try { |
| const stats = this._getStat(filepath); |
| return this._makeEntry(stats, pattern); |
| } |
| catch (error) { |
| if (options.errorFilter(error)) { |
| return null; |
| } |
| throw error; |
| } |
| } |
| _getStat(filepath) { |
| return this._statSync(filepath, this._fsStatSettings); |
| } |
| } |
| exports.default = ReaderSync; |