* Sets a default top level trigger ID to be used * @template {Array } T * @template {unknown} R * @param {number} triggerAsyncId * @param { (...T: args) => R } block * @param {T} args * @returns {R}
(triggerAsyncId, block, ...args)
| 462 | * @returns {R} |
| 463 | */ |
| 464 | function defaultTriggerAsyncIdScope(triggerAsyncId, block, ...args) { |
| 465 | if (triggerAsyncId === undefined) |
| 466 | return ReflectApply(block, null, args); |
| 467 | // CHECK(NumberIsSafeInteger(triggerAsyncId)) |
| 468 | // CHECK(triggerAsyncId > 0) |
| 469 | const oldDefaultTriggerAsyncId = async_id_fields[kDefaultTriggerAsyncId]; |
| 470 | async_id_fields[kDefaultTriggerAsyncId] = triggerAsyncId; |
| 471 | |
| 472 | try { |
| 473 | return ReflectApply(block, null, args); |
| 474 | } finally { |
| 475 | async_id_fields[kDefaultTriggerAsyncId] = oldDefaultTriggerAsyncId; |
| 476 | } |
| 477 | } |
| 478 | |
| 479 | function hasHooks(key) { |
| 480 | return async_hook_fields[key] > 0; |
no outgoing calls
no test coverage detected
searching dependent graphs…