1
1
'use strict' ;
2
2
3
- import type { CustomPromisify } from 'util' ;
3
+ import type { CustomPromisify } from 'node: util' ;
4
4
5
5
import { defineEsShim } from '@nolyfill/shared' ;
6
6
import safeConcat from '@nolyfill/safe-array-concat' ;
7
7
8
8
const kCustomPromisifiedSymbol = Symbol . for ( 'nodejs.util.promisify.custom' ) ;
9
9
const kCustomPromisifyArgsSymbol = Symbol ( 'customPromisifyArgs' ) ;
10
10
11
- // eslint-disable-next-line @typescript-eslint/ban-types -- overload signature
12
11
function promisify < TCustom extends Function > ( fn : CustomPromisify < TCustom > ) : TCustom ;
13
12
14
13
function promisify < TResult > (
@@ -49,7 +48,6 @@ function promisify<T1, T2, T3, T4, T5>(
49
48
fn : ( arg1 : T1 , arg2 : T2 , arg3 : T3 , arg4 : T4 , arg5 : T5 , callback : ( err ?: any ) => void ) => void ,
50
49
) : ( arg1 : T1 , arg2 : T2 , arg3 : T3 , arg4 : T4 , arg5 : T5 ) => Promise < void > ;
51
50
52
- // eslint-disable-next-line @typescript-eslint/ban-types -- overload signature
53
51
function promisify ( orig : Function ) : Function {
54
52
if ( typeof orig !== 'function' ) {
55
53
const error = new TypeError ( 'The "original" argument must be of type function' ) as NodeJS . ErrnoException ;
@@ -63,7 +61,7 @@ function promisify(orig: Function): Function {
63
61
if ( kCustomPromisifiedSymbol in orig && orig [ kCustomPromisifiedSymbol ] ) {
64
62
const customFunction = orig [ kCustomPromisifiedSymbol ] ;
65
63
if ( typeof customFunction !== 'function' ) {
66
- const customError = TypeError ( 'The [util.promisify.custom] property must be of type function.' ) as NodeJS . ErrnoException ;
64
+ const customError = new TypeError ( 'The [util.promisify.custom] property must be of type function.' ) as NodeJS . ErrnoException ;
67
65
customError . code = 'ERR_INVALID_ARG_TYPE' ;
68
66
customError . toString = function value ( ) {
69
67
return `${ this . name } [${ this . code } ]: ${ this . message } ` ;
@@ -90,7 +88,7 @@ function promisify(orig: Function): Function {
90
88
orig . apply ( self , safeConcat ( args , ( err : any ) => {
91
89
const values = args . length > 1 ? args . slice ( 1 ) : [ ] ;
92
90
if ( err ) {
93
- reject ( err ) ;
91
+ reject ( err as Error ) ;
94
92
} else if ( argumentNames && typeof argumentNames !== 'undefined' && values . length > 1 ) {
95
93
const obj : Record < string , unknown > = { } ;
96
94
Array . prototype . forEach . call ( argumentNames , ( name : string , index : number ) => {
0 commit comments