Implement typed module contracts and conformance bindings
This commit is contained in:
+6
-1
@@ -62,7 +62,12 @@ export function linkQueries(workspace: WorkspaceRevision): LinkedQuery[] {
|
||||
for (const effect of checked.effects) {
|
||||
const contract = interfaces.get(effect.interfaceRevisionId);
|
||||
const member = contract?.members.find((entry) => entry.id === effect.memberId);
|
||||
if (!member || member.kind === "operation" || member.queryRead?.execution !== effect.execution)
|
||||
if (
|
||||
!member ||
|
||||
member.kind === "operation" ||
|
||||
member.kind === "module" ||
|
||||
member.queryRead?.execution !== effect.execution
|
||||
)
|
||||
throw new QueryCompileError(
|
||||
"QUERY_STALE_CONTRACT",
|
||||
`Query field ${effect.interfaceRevisionId}.${effect.memberId} changed`,
|
||||
|
||||
Reference in New Issue
Block a user