refactor(javascript): share result binding projection and facts

This commit is contained in:
morluto
2026-10-22 10:33:18 +08:00
parent 34fd7bdf7d
commit dbcec4cf56
7 changed files with 57 additions and 56 deletions
@@ -2,6 +2,7 @@ import * as t from "@babel/types";
import type {
JavaScriptSemanticCallable,
JavaScriptSemanticProjectedResultBinding,
JavaScriptSemanticChildProcessInteraction,
JavaScriptSemanticChildProcessSpawn,
} from "./javascriptSemanticIr.js";
@@ -49,11 +50,7 @@ interface SpawnCandidate {
readonly method: JavaScriptSemanticChildProcessSpawn["method"];
readonly ownerCallableId: string | null;
readonly resultBindingId: string | null;
readonly projectedResultBindings: readonly {
readonly bindingId: string;
readonly projectionPath: readonly (string | number | null)[];
readonly resolution: "complete" | "partial";
}[];
readonly projectedResultBindings: readonly JavaScriptSemanticProjectedResultBinding[];
}
interface ChildInteractionContext {