Skip to content

Commit 24b134b

Browse files
committed
fix: TS error in unwatched else-if branch
The new reverse-walk inside the 'getter' in node branch confused tsslint's type inference because `node.depsTail` is narrowed to `Link` after the `!== undefined` check, but the loop variable needs to accept `Link | undefined` for the `link = prev` step. Import `Link` from system.js and annotate both `link` and `prev` explicitly.
1 parent e8d2791 commit 24b134b

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

src/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { createReactiveSystem, ReactiveFlags, type ReactiveNode } from './system.js';
1+
import { createReactiveSystem, ReactiveFlags, type Link, type ReactiveNode } from './system.js';
22

33
interface EffectScopeNode extends ReactiveNode {
44
}
@@ -77,10 +77,10 @@ const {
7777
else if ('getter' in node) {
7878
if (node.depsTail !== undefined) {
7979
node.flags = ReactiveFlags.Mutable | ReactiveFlags.Dirty;
80-
let link = node.depsTail;
80+
let link: Link | undefined = node.depsTail;
8181
node.depsTail = undefined;
8282
while (link !== undefined) {
83-
const prev = link.prevDep;
83+
const prev: Link | undefined = link.prevDep;
8484
unlink(link, node);
8585
link = prev;
8686
}

0 commit comments

Comments
 (0)