refactor(javascript): share result binding projection and facts

This commit is contained in:
morluto committed 2026-10-22 10:33:18 +08:00
1 parent 34fd7bdf7d
commit dbcec4cf56
7 files changed
+57 -56

No files matched your search

@@ -2,6 +2,7 @@ import * as t from "@babel/types";
import type {
JavaScriptSemanticCallable,
JavaScriptSemanticProjectedResultBinding,
JavaScriptSemanticEventOperation,
JavaScriptSemanticTimerOperation,
} from "./javascriptSemanticIr.js";
@@ -71,11 +72,7 @@ interface TimerCandidate {
readonly kind: JavaScriptSemanticTimerOperation["kind"];
readonly ownerCallableId: string | null;
readonly handleBindingId: string | null;
readonly projectedResultBindings: readonly {
readonly bindingId: string;
readonly projectionPath: readonly (string | number | null)[];
readonly resolution: "complete" | "partial";
}[];
readonly projectedResultBindings: readonly JavaScriptSemanticProjectedResultBinding[];
readonly handleRead: {
readonly origins: readonly t.Node[];
readonly complete: boolean;