(value)
| 528 | * @param {Value} value |
| 529 | */ |
| 530 | const mark = (value) => { |
| 531 | var reactions = value.reactions; |
| 532 | if (reactions === null) return; |
| 533 | |
| 534 | for (const reaction of reactions) { |
| 535 | var flags = reaction.f; |
| 536 | |
| 537 | if ((flags & DERIVED) !== 0) { |
| 538 | mark(/** @type {Derived} */ (reaction)); |
| 539 | } else { |
| 540 | var effect = /** @type {Effect} */ (reaction); |
| 541 | |
| 542 | if (flags & (ASYNC | BLOCK_EFFECT) && !this.async_deriveds.has(effect)) { |
| 543 | this.#maybe_dirty_effects.delete(effect); |
| 544 | set_signal_status(effect, DIRTY); |
| 545 | this.schedule(effect); |
| 546 | } |
| 547 | } |
| 548 | } |
| 549 | }; |
| 550 | |
| 551 | for (const source of this.current.keys()) { |
| 552 | mark(source); |
nothing calls this directly
no test coverage detected