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