fix(javascript): preserve semantic evidence through satisfies

This commit is contained in:
Rudy Celekli authored and morluto committed 2026-10-10 01:45:00 +08:00
1 parent 4896adcd0f
commit e995b19f83
4 files changed
+63 -3

No files matched your search

@@ -62,7 +62,8 @@ const resolveCallables = (
if (
t.isTSAsExpression(node) ||
t.isTSTypeAssertion(node) ||
t.isTSNonNullExpression(node)
t.isTSNonNullExpression(node) ||
t.isTSSatisfiesExpression(node)
)
return resolveCallables(node.expression, context);
if (t.isConditionalExpression(node) || t.isLogicalExpression(node))
@@ -188,7 +188,8 @@ const callableIdsForNode = (
if (
t.isTSAsExpression(node) ||
t.isTSTypeAssertion(node) ||
t.isTSNonNullExpression(node)
t.isTSNonNullExpression(node) ||
t.isTSSatisfiesExpression(node)
)
return callableIdsForNode(node.expression, state, admitted, seen);
return [];
@@ -199,7 +199,8 @@ const evaluateExpression = (
if (
(t.isTSAsExpression(node) ||
t.isTSTypeAssertion(node) ||
t.isTSNonNullExpression(node)) &&
t.isTSNonNullExpression(node) ||
t.isTSSatisfiesExpression(node)) &&
t.isExpression(node.expression)
)
return evaluateExpression(node.expression, nestedContext(context));