a2ui-project / a2ui-project/a2ui

Improve validateCatalogItemExamples to make sure the examples can be parsed.

オープン
#1,834 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
component: genui P3
主要言語
TypeScript
スター
16.4k
フォーク
1.3k
平均マージ
2日 13時間
マージ済み PR(30日)
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 を短くまとめたダイジェスト。