@@ -16,6 +16,8 @@ const {
16
16
codes : { ERR_INVALID_ARG_TYPE }
17
17
} = require ( 'internal/errors' ) ;
18
18
19
+ const { validateAbortSignal } = require ( 'internal/validators' ) ;
20
+
19
21
let DOMException ;
20
22
21
23
const lazyDOMException = hideStackFrames ( ( message , name ) => {
@@ -34,15 +36,10 @@ function setTimeout(after, value, options = {}) {
34
36
options ) ) ;
35
37
}
36
38
const { signal, ref = true } = options ;
37
- if ( signal !== undefined &&
38
- ( signal === null ||
39
- typeof signal !== 'object' ||
40
- ! ( 'aborted' in signal ) ) ) {
41
- return PromiseReject (
42
- new ERR_INVALID_ARG_TYPE (
43
- 'options.signal' ,
44
- 'AbortSignal' ,
45
- signal ) ) ;
39
+ try {
40
+ validateAbortSignal ( signal , 'options.signal' ) ;
41
+ } catch ( err ) {
42
+ return PromiseReject ( err ) ;
46
43
}
47
44
if ( typeof ref !== 'boolean' ) {
48
45
return PromiseReject (
@@ -83,15 +80,10 @@ function setImmediate(value, options = {}) {
83
80
options ) ) ;
84
81
}
85
82
const { signal, ref = true } = options ;
86
- if ( signal !== undefined &&
87
- ( signal === null ||
88
- typeof signal !== 'object' ||
89
- ! ( 'aborted' in signal ) ) ) {
90
- return PromiseReject (
91
- new ERR_INVALID_ARG_TYPE (
92
- 'options.signal' ,
93
- 'AbortSignal' ,
94
- signal ) ) ;
83
+ try {
84
+ validateAbortSignal ( signal , 'options.signal' ) ;
85
+ } catch ( err ) {
86
+ return PromiseReject ( err ) ;
95
87
}
96
88
if ( typeof ref !== 'boolean' ) {
97
89
return PromiseReject (
0 commit comments