a2ui-project / a2ui-project/a2ui

Improve validateCatalogItemExamples to make sure the examples can be parsed.

未關閉
#1,834 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
component: genui P3
主要語言
TypeScript
星號
16.4k
分支
1.3k
平均合併
2 天 13 小時
30 天內合併 PR
134

描述

_↴ Ported from [flutter/genui#449](https://github.com/flutter/genui/issues/449) — originally opened by [polina-c](https://github.com/polina-c) on 2025-10-26._
_Original labels: P3, c: ebb_

---

This is follow up for https://github.com/flutter/genui/pull/429

I was updating catalog items examples in my app to match new GenUi schema.

I updated the catalog items examples to look similar to those in genui and to pass this test:

```
for (final item in namedCatalog.catalog.items) {
test('CatalogItem ${item.name} examples are valid', () async {
if (item.name != 'code') return;
final errors = await validateCatalogItemExamples(
item,
namedCatalog.catalog,
);
expect(errors, isEmpty, reason: errors.join('\n'));
});
}
```

Tests passed, but the rendering failed:

Image

```
The following ArgumentError was thrown building AppCatalogView:
Invalid argument(s): Component.fromJson: component property is null

...

new Component.fromJson (package:flutter_genui/src/model/ui_models.dart:141:7)
```

After investigation I found i did not replace 'widget' with 'component' in one of items.

`validateCatalogItemExamples` should be updated to handle such errors, to make sure that DebugCatalogView can parse the items.

---

### 2 comment(s) from the original issue

**[polina-c](https://github.com/polina-c)** commented on 2025-10-26:

@jacobsimionato

---

**[jacobsimionato](https://github.com/jacobsimionato)** commented on 2025-11-03:

Removing from M1, because this isn't specific to that project.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。