map static method
List
map(
- dynamic mapOrList,
- dynamic callback(
- Data,
- dynamic
)
)
Implementation
static List<dynamic> map(
dynamic mapOrList,
dynamic Function(Data, dynamic) callback,
) {
List<dynamic> result = [];
if (mapOrList is Data) mapOrList = mapOrList.value;
if (mapOrList is List || mapOrList is String) {
for (var i = 0; i < mapOrList.length; i++) {
result.add(
callback(
Data(i.toString()),
mapOrList[i] is Data ? mapOrList[i] : Data(mapOrList[i]),
),
);
}
} else if (mapOrList is Map) {
for (final key in mapOrList.keys) {
result.add(
callback(
(key is Data ? key : Data(key.toString())),
mapOrList[key] is Data ? mapOrList[key] : Data(mapOrList[key]),
),
);
}
} else if (mapOrList is num) {
for (var i = 0; i < mapOrList; i++) {
result.add(callback(Data(i.toString()), Data(i)));
}
}
return result;
}