1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- 'use strict';
- const call = require('./call');
- module.exports = stat;
- function stat (fs, path, callback) {
- let isSymLink = false;
- call.safe(fs.lstat, path, (err, lstats) => {
- if (err) {
-
- return callback(err);
- }
- try {
- isSymLink = lstats.isSymbolicLink();
- }
- catch (err2) {
-
-
- return callback(err2);
- }
- if (isSymLink) {
-
- symlinkStat(fs, path, lstats, callback);
- }
- else {
-
- callback(null, lstats);
- }
- });
- }
- function symlinkStat (fs, path, lstats, callback) {
- call.safe(fs.stat, path, (err, stats) => {
- if (err) {
-
- return callback(null, lstats);
- }
- try {
-
-
- stats.isSymbolicLink = () => true;
- }
- catch (err2) {
-
-
- return callback(err2);
- }
- callback(null, stats);
- });
- }
|