@@ -248,7 +248,7 @@ function readFileAfterOpen(err, fd) {
248
248
const req = new FSReqWrap ( ) ;
249
249
req . oncomplete = readFileAfterStat ;
250
250
req . context = context ;
251
- binding . fstat ( fd , req ) ;
251
+ binding . fstat ( fd , false , req ) ;
252
252
}
253
253
254
254
function readFileAfterStat ( err , stats ) {
@@ -307,7 +307,7 @@ function readFile(path, options, callback) {
307
307
308
308
function tryStatSync ( fd , isUserFd ) {
309
309
const ctx = { } ;
310
- const stats = binding . fstat ( fd , undefined , ctx ) ;
310
+ const stats = binding . fstat ( fd , false , undefined , ctx ) ;
311
311
if ( ctx . errno !== undefined && ! isUserFd ) {
312
312
fs . closeSync ( fd ) ;
313
313
throw errors . uvException ( ctx ) ;
@@ -760,55 +760,67 @@ function readdirSync(path, options) {
760
760
return result ;
761
761
}
762
762
763
- function fstat ( fd , callback ) {
763
+ function fstat ( fd , options , callback ) {
764
+ if ( arguments . length < 3 ) {
765
+ callback = options ;
766
+ options = { } ;
767
+ }
764
768
validateUint32 ( fd , 'fd' ) ;
765
- const req = new FSReqWrap ( ) ;
769
+ const req = new FSReqWrap ( options . bigint ) ;
766
770
req . oncomplete = makeStatsCallback ( callback ) ;
767
- binding . fstat ( fd , req ) ;
771
+ binding . fstat ( fd , options . bigint , req ) ;
768
772
}
769
773
770
- function lstat ( path , callback ) {
774
+ function lstat ( path , options , callback ) {
775
+ if ( arguments . length < 3 ) {
776
+ callback = options ;
777
+ options = { } ;
778
+ }
771
779
callback = makeStatsCallback ( callback ) ;
772
780
path = getPathFromURL ( path ) ;
773
781
validatePath ( path ) ;
774
- const req = new FSReqWrap ( ) ;
782
+ const req = new FSReqWrap ( options . bigint ) ;
775
783
req . oncomplete = callback ;
776
- binding . lstat ( pathModule . toNamespacedPath ( path ) , req ) ;
784
+ binding . lstat ( pathModule . toNamespacedPath ( path ) , options . bigint , req ) ;
777
785
}
778
786
779
- function stat ( path , callback ) {
787
+ function stat ( path , options , callback ) {
788
+ if ( arguments . length < 3 ) {
789
+ callback = options ;
790
+ options = { } ;
791
+ }
780
792
callback = makeStatsCallback ( callback ) ;
781
793
path = getPathFromURL ( path ) ;
782
794
validatePath ( path ) ;
783
- const req = new FSReqWrap ( ) ;
795
+ const req = new FSReqWrap ( options . bigint ) ;
784
796
req . oncomplete = callback ;
785
- binding . stat ( pathModule . toNamespacedPath ( path ) , req ) ;
797
+ binding . stat ( pathModule . toNamespacedPath ( path ) , options . bigint , req ) ;
786
798
}
787
799
788
- function fstatSync ( fd ) {
800
+ function fstatSync ( fd , options = { } ) {
789
801
validateUint32 ( fd , 'fd' ) ;
790
802
const ctx = { fd } ;
791
- const stats = binding . fstat ( fd , undefined , ctx ) ;
803
+ const stats = binding . fstat ( fd , options . bigint , undefined , ctx ) ;
792
804
handleErrorFromBinding ( ctx ) ;
793
805
return getStatsFromBinding ( stats ) ;
794
806
}
795
807
796
- function lstatSync ( path ) {
808
+ function lstatSync ( path , options = { } ) {
797
809
path = getPathFromURL ( path ) ;
798
810
validatePath ( path ) ;
799
811
const ctx = { path } ;
800
812
const stats = binding . lstat ( pathModule . toNamespacedPath ( path ) ,
801
- undefined , ctx ) ;
813
+ options . bigint , undefined , ctx ) ;
802
814
handleErrorFromBinding ( ctx ) ;
803
815
return getStatsFromBinding ( stats ) ;
804
816
}
805
817
806
- function statSync ( path ) {
818
+ function statSync ( path , options = { } ) {
807
819
path = getPathFromURL ( path ) ;
808
820
validatePath ( path ) ;
809
821
const ctx = { path } ;
810
822
const stats = binding . stat ( pathModule . toNamespacedPath ( path ) ,
811
- undefined , ctx ) ;
823
+ options . bigint , undefined , ctx ) ;
812
824
handleErrorFromBinding ( ctx ) ;
813
825
return getStatsFromBinding ( stats ) ;
814
826
}
@@ -1264,7 +1276,7 @@ function watchFile(filename, options, listener) {
1264
1276
if ( stat === undefined ) {
1265
1277
if ( ! watchers )
1266
1278
watchers = require ( 'internal/fs/watchers' ) ;
1267
- stat = new watchers . StatWatcher ( ) ;
1279
+ stat = new watchers . StatWatcher ( options . bigint ) ;
1268
1280
stat . start ( filename , options . persistent , options . interval ) ;
1269
1281
statWatchers . set ( filename , stat ) ;
1270
1282
}
@@ -1379,7 +1391,7 @@ function realpathSync(p, options) {
1379
1391
// On windows, check that the root exists. On unix there is no need.
1380
1392
if ( isWindows && ! knownHard [ base ] ) {
1381
1393
const ctx = { path : base } ;
1382
- binding . lstat ( pathModule . toNamespacedPath ( base ) , undefined , ctx ) ;
1394
+ binding . lstat ( pathModule . toNamespacedPath ( base ) , false , undefined , ctx ) ;
1383
1395
handleErrorFromBinding ( ctx ) ;
1384
1396
knownHard [ base ] = true ;
1385
1397
}
@@ -1421,7 +1433,7 @@ function realpathSync(p, options) {
1421
1433
1422
1434
const baseLong = pathModule . toNamespacedPath ( base ) ;
1423
1435
const ctx = { path : base } ;
1424
- const stats = binding . lstat ( baseLong , undefined , ctx ) ;
1436
+ const stats = binding . lstat ( baseLong , false , undefined , ctx ) ;
1425
1437
handleErrorFromBinding ( ctx ) ;
1426
1438
1427
1439
if ( ! isFileType ( stats , S_IFLNK ) ) {
@@ -1444,7 +1456,7 @@ function realpathSync(p, options) {
1444
1456
}
1445
1457
if ( linkTarget === null ) {
1446
1458
const ctx = { path : base } ;
1447
- binding . stat ( baseLong , undefined , ctx ) ;
1459
+ binding . stat ( baseLong , false , undefined , ctx ) ;
1448
1460
handleErrorFromBinding ( ctx ) ;
1449
1461
linkTarget = binding . readlink ( baseLong , undefined , undefined , ctx ) ;
1450
1462
handleErrorFromBinding ( ctx ) ;
@@ -1465,7 +1477,7 @@ function realpathSync(p, options) {
1465
1477
// On windows, check that the root exists. On unix there is no need.
1466
1478
if ( isWindows && ! knownHard [ base ] ) {
1467
1479
const ctx = { path : base } ;
1468
- binding . lstat ( pathModule . toNamespacedPath ( base ) , undefined , ctx ) ;
1480
+ binding . lstat ( pathModule . toNamespacedPath ( base ) , false , undefined , ctx ) ;
1469
1481
handleErrorFromBinding ( ctx ) ;
1470
1482
knownHard [ base ] = true ;
1471
1483
}
0 commit comments