Я думаю, проблема в том, что jsonDecode не соответствует ожидаемому типу.Вы должны рассмотреть приведение с использованием такой функции, как:
/// This properly cast a decoded json list of object
List<Map<String, dynamic>> asMapList(dynamic list) {
return (list as List)?.cast<Map<String, dynamic>>();
}
Простой тест, подобный этому, должен работать (при условии, что db - открытая база данных):
test('jsonDecode', () async {
var store = intMapStoreFactory.store();
var list = [
{'test': 'value'}
];
var toAdd = jsonDecode(jsonEncode(list));
try {
// This fails
await store.addAll(db, toAdd);
fail('should fail');
} catch (e) {
expect(e, isNot(const TypeMatcher<TestFailure>()));
print(e);
}
// This works!
await store.addAll(db, asMapList(toAdd));
});