(value, options = kEmptyObject)
| 92 | } |
| 93 | |
| 94 | function setImmediate(value, options = kEmptyObject) { |
| 95 | try { |
| 96 | validateObject(options, 'options'); |
| 97 | |
| 98 | if (typeof options?.signal !== 'undefined') { |
| 99 | validateAbortSignal(options.signal, 'options.signal'); |
| 100 | } |
| 101 | |
| 102 | if (typeof options?.ref !== 'undefined') { |
| 103 | validateBoolean(options.ref, 'options.ref'); |
| 104 | } |
| 105 | } catch (err) { |
| 106 | return PromiseReject(err); |
| 107 | } |
| 108 | |
| 109 | const { signal, ref = true } = options; |
| 110 | |
| 111 | if (signal?.aborted) { |
| 112 | return PromiseReject(new AbortError(undefined, { cause: signal.reason })); |
| 113 | } |
| 114 | |
| 115 | let oncancel; |
| 116 | const { promise, resolve, reject } = PromiseWithResolvers(); |
| 117 | const immediate = new Immediate(resolve, [value]); |
| 118 | if (!ref) immediate.unref(); |
| 119 | if (signal) { |
| 120 | oncancel = FunctionPrototypeBind(cancelListenerHandler, |
| 121 | immediate, clearImmediate, reject, |
| 122 | signal); |
| 123 | kResistStopPropagation ??= require('internal/event_target').kResistStopPropagation; |
| 124 | signal.addEventListener('abort', oncancel, { __proto__: null, [kResistStopPropagation]: true }); |
| 125 | } |
| 126 | return oncancel !== undefined ? |
| 127 | SafePromisePrototypeFinally( |
| 128 | promise, |
| 129 | () => signal.removeEventListener('abort', oncancel)) : promise; |
| 130 | } |
| 131 | |
| 132 | async function* setInterval(after, value, options = kEmptyObject) { |
| 133 | if (typeof after !== 'undefined') { |
no test coverage detected
searching dependent graphs…