Skip to content

Commit 9b8ba12

Browse files
committed
Address PR review: valueArray support, error boundary logging
- Add valueArray handling in v0.8 ValueMap conversion (sync script) - Add componentDidCatch to preview error boundary for console logging
1 parent 4ab78c2 commit 9b8ba12

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

tools/composer/scripts/sync-gallery.mjs

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,17 +70,25 @@ function slugToName(slug) {
7070
return slug.split('-').map(w => w.charAt(0).toUpperCase() + w.slice(1)).join(' ');
7171
}
7272

73+
/**
74+
* Convert a single v0.8 value entry to a JS value.
75+
*/
76+
function convertValue(v) {
77+
if ('valueString' in v) return v.valueString;
78+
if ('valueNumber' in v) return v.valueNumber;
79+
if ('valueBoolean' in v) return v.valueBoolean;
80+
if ('valueMap' in v) return valueMapToObject(v.valueMap);
81+
if ('valueArray' in v) return v.valueArray.map(convertValue);
82+
return null;
83+
}
84+
7385
/**
7486
* Convert v0.8 ValueMap[] to plain JS object.
7587
*/
7688
function valueMapToObject(contents) {
7789
const result = {};
7890
for (const item of contents) {
79-
if ('valueString' in item) result[item.key] = item.valueString;
80-
else if ('valueNumber' in item) result[item.key] = item.valueNumber;
81-
else if ('valueBoolean' in item) result[item.key] = item.valueBoolean;
82-
else if ('valueMap' in item) result[item.key] = valueMapToObject(item.valueMap);
83-
else result[item.key] = null;
91+
result[item.key] = convertValue(item);
8492
}
8593
return result;
8694
}

tools/composer/src/components/editor/preview-pane.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ class PreviewErrorBoundary extends Component<
3737
return { error };
3838
}
3939

40+
componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {
41+
console.error('A2UI Preview Error:', error, errorInfo);
42+
}
43+
4044
componentDidUpdate(prevProps: { resetKey: string }) {
4145
if (prevProps.resetKey !== this.props.resetKey && this.state.error) {
4246
this.setState({ error: null });

0 commit comments

Comments
 (0)