mirror of
https://github.com/morluto/rea.git
synced 2026-11-03 21:36:13 +00:00
feat(javascript): report observed export property presence (#1160)
* feat(javascript): report observed export property presence Extend compare_javascript_export_shapes so each retained return variant lists observed property names and each change reports presence independently of value resolution. Complete parent coverage classifies one-sided names as added or removed even when static values stay unknown. Fixes #725 * test(javascript): match unknown export-shape values by availability Nested availability objects include a reason when values stay unresolved. Assert availability through objectContaining so presence-only added and removed rows still verify unknown values. * fix(javascript): preserve uncertain export property presence and locations * fix(javascript): normalize presence and preserve local property coverage * fix(javascript): require present discriminants for return pairing * fix(javascript): normalize retained shapes before comparison * refactor(javascript): share return projection with executable examples * fix(javascript): localize uncertainty for missing mutated slots * fix(javascript): bind advertised export examples to exact artifacts * fix(javascript): keep uncertain property flow as candidates --------- Co-authored-by: morluto <76467478+morluto@users.noreply.github.com>
This commit is contained in:
1 parent
04aef6df33
commit
45e3edc17f
25 files changed
+1552
-113
No files matched your search
@@ -17,6 +17,7 @@ import {
|
||||
} from "./javascriptExportShapeSelection.js";
|
||||
import {
|
||||
buildJavaScriptExportShapeChanges,
|
||||
buildJavaScriptExportShapeInventories,
|
||||
hasPartialJavaScriptExportPropertyCoverage,
|
||||
pairJavaScriptExportShapeVariants,
|
||||
type JavaScriptExportShapePairing,
|
||||
@@ -56,6 +57,11 @@ export const compareJavaScriptExportShapes = (
|
||||
);
|
||||
const changes = allChanges;
|
||||
const omittedChanges = 0;
|
||||
const propertyInventories = buildJavaScriptExportShapeInventories({
|
||||
pairing,
|
||||
leftShapes: leftRetained.shapes,
|
||||
rightShapes: rightRetained.shapes,
|
||||
});
|
||||
const coverage = comparisonCoverage({
|
||||
input,
|
||||
left,
|
||||
@@ -70,6 +76,7 @@ export const compareJavaScriptExportShapes = (
|
||||
const semantic = {
|
||||
left: left.selection,
|
||||
right: right.selection,
|
||||
property_inventories: propertyInventories,
|
||||
summary: summarize(allChanges),
|
||||
changes,
|
||||
coverage,
|
||||
|
||||
Reference in new issue
Block a user