diff --git a/src/frameworks/tc39-proposal-signals-alien-polyfill.ts b/src/frameworks/tc39-proposal-signals-alien-polyfill.ts index bf2cd98..c596e69 100644 --- a/src/frameworks/tc39-proposal-signals-alien-polyfill.ts +++ b/src/frameworks/tc39-proposal-signals-alien-polyfill.ts @@ -218,11 +218,17 @@ export namespace Signal { } getPending() { - return introspectSources(this).filter( - (source) => + const arr: AnySignal[] = []; + for (let link = this.deps; link !== undefined; link = link.nextDep) { + const source = link.dep; + if ( source instanceof Computed && - source.flags & (alien.SubscriberFlags.PendingComputed | alien.SubscriberFlags.Dirty), - ); + source.flags & (alien.SubscriberFlags.PendingComputed | alien.SubscriberFlags.Dirty) + ) { + arr.push(link.dep as AnySignal); + } + } + return arr; } }