applyEffect function
Last updated: 2026-03-05T10:53:28.861Z
Metrics
LOC: 38
Complexity: 9
Params: 3
Signature
applyEffect(
effect: StepEffect,
selector: string | undefined,
): : Promise<void>
Summary
Applies a single effect, resolving after it completes. Never throws — logs warnings on failure.
Source Code
async function applyEffect(
effect: StepEffect,
selector: string | undefined,
): Promise<void> {
const target = resolveTarget(selector);
try {
switch (effect.kind) {
case "label":
await applyLabelEffect(target, effect);
break;
case "grow":
await applyGrowEffect(target, effect);
break;
case "zoom":
await applyZoomEffect(target, effect);
break;
case "pin":
await applyPinEffect(target, effect);
break;
case "shake":
await applyShakeEffect(target, effect);
break;
case "confetti":
await applyConfettiEffect(target, effect);
break;
case "spotlight":
await applySpotlightEffect(target, effect);
break;
default: {
const _exhaust: never = effect;
log.warn("Unknown effect kind:", (_exhaust as StepEffect).kind);
}
}
} catch (err) {
log.warn(`Effect "${effect.kind}" failed:`, err);
}
}
Dependencies (Outgoing)
| Target | Type |
|---|---|
| resolveTarget | calls |
| applyLabelEffect | calls |
| applyGrowEffect | calls |
| applyZoomEffect | calls |
| applyPinEffect | calls |
| applyShakeEffect | calls |
| applyConfettiEffect | calls |
| applySpotlightEffect | calls |
Impact (Incoming)
| Source | Type |
|---|---|
| applyStepEffects | calls |