@@ -178,12 +178,6 @@ function showTruncateDeprecation() {
178
178
}
179
179
}
180
180
181
- function maybeCallback ( cb ) {
182
- validateFunction ( cb , 'cb' ) ;
183
-
184
- return cb ;
185
- }
186
-
187
181
// Ensure that callbacks run in the global context. Only use this function
188
182
// for callbacks that are passed to the binding layer, callbacks that are
189
183
// invoked from JS already run in the proper scope.
@@ -257,7 +251,7 @@ function accessSync(path, mode) {
257
251
* @returns {void }
258
252
*/
259
253
function exists ( path , callback ) {
260
- maybeCallback ( callback ) ;
254
+ validateFunction ( callback , 'cb' ) ;
261
255
262
256
function suppressedCallback ( err ) {
263
257
callback ( err ? false : true ) ;
@@ -367,7 +361,8 @@ function checkAborted(signal, callback) {
367
361
* @returns {void }
368
362
*/
369
363
function readFile ( path , options , callback ) {
370
- callback = maybeCallback ( callback || options ) ;
364
+ callback ||= options ;
365
+ validateFunction ( callback , 'cb' ) ;
371
366
options = getOptions ( options , { flag : 'r' } ) ;
372
367
const ReadFileContext = require ( 'internal/fs/read/context' ) ;
373
368
const context = new ReadFileContext ( callback , options . encoding ) ;
@@ -650,7 +645,7 @@ function read(fd, buffer, offsetOrOptions, length, position, callback) {
650
645
}
651
646
652
647
validateBuffer ( buffer ) ;
653
- callback = maybeCallback ( callback ) ;
648
+ validateFunction ( callback , 'cb' ) ;
654
649
655
650
if ( offset == null ) {
656
651
offset = 0 ;
@@ -771,7 +766,8 @@ function readv(fd, buffers, position, callback) {
771
766
772
767
fd = getValidatedFd ( fd ) ;
773
768
validateBufferArray ( buffers ) ;
774
- callback = maybeCallback ( callback || position ) ;
769
+ callback ||= position ;
770
+ validateFunction ( callback , 'cb' ) ;
775
771
776
772
const req = new FSReqCallback ( ) ;
777
773
req . oncomplete = wrapper ;
@@ -828,7 +824,8 @@ function write(fd, buffer, offsetOrOptions, length, position, callback) {
828
824
829
825
let offset = offsetOrOptions ;
830
826
if ( isArrayBufferView ( buffer ) ) {
831
- callback = maybeCallback ( callback || position || length || offset ) ;
827
+ callback ||= position || length || offset ;
828
+ validateFunction ( callback , 'cb' ) ;
832
829
833
830
if ( typeof offset === 'object' ) {
834
831
( {
@@ -869,7 +866,8 @@ function write(fd, buffer, offsetOrOptions, length, position, callback) {
869
866
870
867
const str = buffer ;
871
868
validateEncoding ( str , length ) ;
872
- callback = maybeCallback ( position ) ;
869
+ callback = position ;
870
+ validateFunction ( callback , 'cb' ) ;
873
871
874
872
const req = new FSReqCallback ( ) ;
875
873
req . oncomplete = wrapper ;
@@ -950,7 +948,8 @@ function writev(fd, buffers, position, callback) {
950
948
951
949
fd = getValidatedFd ( fd ) ;
952
950
validateBufferArray ( buffers ) ;
953
- callback = maybeCallback ( callback || position ) ;
951
+ callback ||= position ;
952
+ validateFunction ( callback , 'cb' ) ;
954
953
955
954
if ( buffers . length === 0 ) {
956
955
process . nextTick ( callback , null , 0 , buffers ) ;
@@ -1051,7 +1050,7 @@ function truncate(path, len, callback) {
1051
1050
1052
1051
validateInteger ( len , 'len' ) ;
1053
1052
len = MathMax ( 0 , len ) ;
1054
- callback = maybeCallback ( callback ) ;
1053
+ validateFunction ( callback , 'cb' ) ;
1055
1054
fs . open ( path , 'r+' , ( er , fd ) => {
1056
1055
if ( er ) return callback ( er ) ;
1057
1056
const req = new FSReqCallback ( ) ;
@@ -1585,7 +1584,7 @@ function statfs(path, options = { bigint: false }, callback) {
1585
1584
callback = options ;
1586
1585
options = kEmptyObject ;
1587
1586
}
1588
- callback = maybeCallback ( callback ) ;
1587
+ validateFunction ( callback , 'cb' ) ;
1589
1588
path = getValidatedPath ( path ) ;
1590
1589
const req = new FSReqCallback ( options . bigint ) ;
1591
1590
req . oncomplete = ( err , stats ) => {
@@ -1907,7 +1906,7 @@ function fchmodSync(fd, mode) {
1907
1906
* @returns {void }
1908
1907
*/
1909
1908
function lchmod ( path , mode , callback ) {
1910
- callback = maybeCallback ( callback ) ;
1909
+ validateFunction ( callback , 'cb' ) ;
1911
1910
mode = parseFileMode ( mode , 'mode' ) ;
1912
1911
fs . open ( path , O_WRONLY | O_SYMLINK , ( err , fd ) => {
1913
1912
if ( err ) {
@@ -2265,7 +2264,8 @@ function writeAll(fd, isUserFd, buffer, offset, length, signal, flush, callback)
2265
2264
* @returns {void }
2266
2265
*/
2267
2266
function writeFile ( path , data , options , callback ) {
2268
- callback = maybeCallback ( callback || options ) ;
2267
+ callback ||= options ;
2268
+ validateFunction ( callback , 'cb' ) ;
2269
2269
options = getOptions ( options , {
2270
2270
encoding : 'utf8' ,
2271
2271
mode : 0o666 ,
@@ -2381,7 +2381,8 @@ function writeFileSync(path, data, options) {
2381
2381
* @returns {void }
2382
2382
*/
2383
2383
function appendFile ( path , data , options , callback ) {
2384
- callback = maybeCallback ( callback || options ) ;
2384
+ callback ||= options ;
2385
+ validateFunction ( callback , 'cb' ) ;
2385
2386
options = getOptions ( options , { encoding : 'utf8' , mode : 0o666 , flag : 'a' } ) ;
2386
2387
2387
2388
// Don't make changes directly on options object
@@ -2776,7 +2777,11 @@ realpathSync.native = (path, options) => {
2776
2777
* @returns {void }
2777
2778
*/
2778
2779
function realpath ( p , options , callback ) {
2779
- callback = typeof options === 'function' ? options : maybeCallback ( callback ) ;
2780
+ if ( typeof options === 'function' ) {
2781
+ callback = options ;
2782
+ } else {
2783
+ validateFunction ( callback , 'cb' ) ;
2784
+ }
2780
2785
options = getOptions ( options ) ;
2781
2786
p = toPathIfFileURL ( p ) ;
2782
2787
0 commit comments