(effect, callback, destroy = true)
| 607 | * @param {boolean} [destroy] |
| 608 | */ |
| 609 | export function pause_effect(effect, callback, destroy = true) { |
| 610 | /** @type {TransitionManager[]} */ |
| 611 | var transitions = []; |
| 612 | |
| 613 | pause_children(effect, transitions, true); |
| 614 | |
| 615 | var fn = () => { |
| 616 | if (destroy) destroy_effect(effect); |
| 617 | if (callback) callback(); |
| 618 | }; |
| 619 | |
| 620 | var remaining = transitions.length; |
| 621 | if (remaining > 0) { |
| 622 | var check = () => --remaining || fn(); |
| 623 | for (var transition of transitions) { |
| 624 | transition.out(check); |
| 625 | } |
| 626 | } else { |
| 627 | fn(); |
| 628 | } |
| 629 | } |
| 630 | |
| 631 | /** |
| 632 | * @param {Effect} effect |
no test coverage detected