mirror of
https://github.com/morluto/rea.git
synced 2026-10-21 21:32:26 -05:00
fix(javascript): preserve agreeing module provenance
This commit is contained in:
1 parent
2793672ee2
commit
db171be6e5
2 files changed
+82
-3
No files matched your search
@@ -604,11 +604,20 @@ const provenanceForExpression = (
|
||||
provenanceForExpression(left, nestedContext(context)),
|
||||
provenanceForExpression(right, nestedContext(context)),
|
||||
];
|
||||
const origins = candidates.flatMap((candidate) => candidate.origins);
|
||||
const origins = uniqueSemanticOrigins(
|
||||
candidates.flatMap((candidate) => candidate.origins),
|
||||
);
|
||||
const allModuleOrigins = candidates.every(
|
||||
({ status }) => status === "module",
|
||||
);
|
||||
if (allModuleOrigins && origins.length === 1)
|
||||
return semanticOriginsProvenance(origins);
|
||||
return origins.length > 0
|
||||
? semanticAmbiguousProvenance(
|
||||
uniqueSemanticOrigins(origins),
|
||||
"Multiple module origins.",
|
||||
origins,
|
||||
allModuleOrigins
|
||||
? "Multiple module origins."
|
||||
: "Conditional provenance includes a non-module alternative.",
|
||||
)
|
||||
: semanticUnresolvedProvenance(
|
||||
"unknown",
|
||||
|
||||
Reference in new issue
Block a user