()
| 475 | } |
| 476 | |
| 477 | get inheritAll(): Effect.Effect<void> { |
| 478 | return core.withFiberRuntime((parentFiber, parentStatus) => { |
| 479 | const parentFiberId = parentFiber.id() |
| 480 | const parentFiberRefs = parentFiber.getFiberRefs() |
| 481 | const parentRuntimeFlags = parentStatus.runtimeFlags |
| 482 | const childFiberRefs = this.getFiberRefs() |
| 483 | const updatedFiberRefs = fiberRefs.joinAs(parentFiberRefs, parentFiberId, childFiberRefs) |
| 484 | |
| 485 | parentFiber.setFiberRefs(updatedFiberRefs) |
| 486 | |
| 487 | const updatedRuntimeFlags = parentFiber.getFiberRef(currentRuntimeFlags) |
| 488 | |
| 489 | const patch = pipe( |
| 490 | runtimeFlags_.diff(parentRuntimeFlags, updatedRuntimeFlags), |
| 491 | // Do not inherit WindDown or Interruption! |
| 492 | RuntimeFlagsPatch.exclude(runtimeFlags_.Interruption), |
| 493 | RuntimeFlagsPatch.exclude(runtimeFlags_.WindDown) |
| 494 | ) |
| 495 | |
| 496 | return core.updateRuntimeFlags(patch) |
| 497 | }) |
| 498 | } |
| 499 | |
| 500 | /** |
| 501 | * Tentatively observes the fiber, but returns immediately if it is not |
no test coverage detected