MCPcopy
hub / github.com/stackblitz/alien-signals / effect

Function effect

src/index.ts:165–189  ·  view source on GitHub ↗
(fn: () => void | (() => void))

Source from the content-addressed store, hash-verified

163}
164
165export function effect(fn: () => void | (() => void)): () => void {
166 const e: EffectNode = {
167 fn,
168 cleanup: undefined,
169 subs: undefined,
170 subsTail: undefined,
171 deps: undefined,
172 depsTail: undefined,
173 flags: ReactiveFlags.Watching | ReactiveFlags.RecursedCheck,
174 };
175 const prevSub = setActiveSub(e);
176 if (prevSub !== undefined) {
177 link(e, prevSub, 0);
178 prevSub.flags |= HasChildEffect;
179 }
180 try {
181 ++runDepth;
182 e.cleanup = e.fn();
183 } finally {
184 --runDepth;
185 activeSub = prevSub;
186 e.flags &= ~ReactiveFlags.RecursedCheck;
187 }
188 return effectOper.bind(e);
189}
190
191export function effectScope(fn: () => void): () => void {
192 const e: EffectScopeNode = {

Callers 6

effectFunction · 0.90
effect.spec.tsFile · 0.90
trigger.spec.tsFile · 0.90
propagate.mjsFile · 0.50
memoryUsage.mjsFile · 0.50

Calls 3

setActiveSubFunction · 0.85
linkFunction · 0.85
fnMethod · 0.80

Tested by 1

effectFunction · 0.72

Used in the wild real call sites across dependent graphs

searching dependent graphs…