@@ -49,11 +49,11 @@ Map<GdbTypes, bool Function(dynamic)> typeGetter = {
4949 GdbTypes .unknown: (v) => true ,
5050};
5151
52- Map <
53- GdbTypes ,
54- dynamic Function (
55- dynamic , ValueMetaData , int ?, String ? Function ( int , dynamic )? nget)>
56- typeHandler = {
52+ typedef NameGetter = String ? Function ( int , dynamic ) ? ;
53+ typedef TypeHandler = dynamic Function (
54+ dynamic , ValueMetaData , int ? , NameGetter );
55+
56+ Map < GdbTypes , TypeHandler > typeHandler = {
5757 GdbTypes .none: (v, m, t, nget) => null ,
5858 GdbTypes .prop: (v, m, t, nget) => _handleProp (v, m, t),
5959 GdbTypes .node: (v, m, t, nget) =>
@@ -218,7 +218,7 @@ dynamic _handleValue(
218218 int ? timezoneOffset, {
219219 ValueMetaData ? parent,
220220 List ? parentVal,
221- String ? Function ( int , dynamic ) ? nameGetter,
221+ NameGetter ? nameGetter,
222222}) {
223223 var type = typeGetter.entries.firstWhere ((getter) => getter.value (v)).key;
224224 meta.type = type;
@@ -295,21 +295,26 @@ _handlePolygon(ng.Polygon v, ValueMetaData meta) {
295295 ];
296296}
297297
298- String ? _idxName (p1, dynamic v) => '$p1 ' ;
298+ // NameGetter _idxName = (p1, dynamic v) => '$p1';
299+ NameGetter _itemName = (p1, dynamic v) => 'item' ;
300+
299301_handleSet (ng.NSet v, ValueMetaData meta, int ? timezoneOffset,
300- [String ? Function ( int p1, dynamic p2) ? nget]) {
302+ [NameGetter ? nget]) {
301303 return _handleList (v.values? .toList () ?? [], meta, timezoneOffset, nget);
302304}
303305
304306_handleList (List <dynamic > values, ValueMetaData meta, int ? timezoneOffset,
305- [String ? Function ( int p1, dynamic p2) ? nget]) {
306- nget ?? = _idxName ;
307+ [NameGetter ? nget]) {
308+ nget ?? = _itemName ;
307309 var list = < dynamic > [];
310+ ValueMetaData valueMeta = meta.submetas.isEmpty
311+ ? (ValueMetaData ()
312+ ..name = 'item'
313+ ..type = GdbTypes .unknown)
314+ : meta.submetas.first;
308315 for (var v in values) {
309- ValueMetaData valueMeta = ValueMetaData ()
310- ..name = nget (values.indexOf (v), v)
311- ..type = GdbTypes .unknown;
312- _handleValue (v, valueMeta, timezoneOffset, parent: meta, parentVal: list);
316+ var val = _handleValue (v, valueMeta, timezoneOffset, parent: meta);
317+ list.add (val);
313318 }
314319 return list;
315320}
0 commit comments