| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | 
							- "use strict";
 
- Object.defineProperty(exports, "__esModule", { value: true });
 
- function sync(path, options) {
 
-     const lstat = options.fs.lstatSync(path);
 
-     if (!isFollowedSymlink(lstat, options)) {
 
-         return lstat;
 
-     }
 
-     try {
 
-         const stat = options.fs.statSync(path);
 
-         stat.isSymbolicLink = () => true;
 
-         return stat;
 
-     }
 
-     catch (err) {
 
-         if (!options.throwErrorOnBrokenSymlinks) {
 
-             return lstat;
 
-         }
 
-         throw err;
 
-     }
 
- }
 
- exports.sync = sync;
 
- function async(path, options, callback) {
 
-     options.fs.lstat(path, (err0, lstat) => {
 
-         if (err0) {
 
-             return callback(err0, undefined);
 
-         }
 
-         if (!isFollowedSymlink(lstat, options)) {
 
-             return callback(null, lstat);
 
-         }
 
-         options.fs.stat(path, (err1, stat) => {
 
-             if (err1) {
 
-                 return options.throwErrorOnBrokenSymlinks ? callback(err1) : callback(null, lstat);
 
-             }
 
-             stat.isSymbolicLink = () => true;
 
-             callback(null, stat);
 
-         });
 
-     });
 
- }
 
- exports.async = async;
 
- /**
 
-  * Returns `true` for followed symlink.
 
-  */
 
- function isFollowedSymlink(stat, options) {
 
-     return stat.isSymbolicLink() && options.followSymlinks;
 
- }
 
- exports.isFollowedSymlink = isFollowedSymlink;
 
 
  |