asMap method
Returns this type as a resolvable Map type.
This convenience method attempts to view this ResolvableType as a Map. If this type implements or extends Map, it returns the appropriate ResolvableType. Otherwise, it returns ResolvableType.NONE.
Returns:
- ResolvableType representing this type as a Map
- ResolvableType.NONE if this type is not a Map
Example:
final mapType = ResolvableType.forClass(Map<String, int>);
final listType = ResolvableType.forClass(List<String>);
final mapAsMap = mapType.asMap();
print(mapAsMap != ResolvableType.NONE); // true
final listAsMap = listType.asMap();
print(listAsMap == ResolvableType.NONE); // true
// Useful for Map-specific processing
void processIfMap(ResolvableType type) {
final asMap = type.asMap();
if (asMap != ResolvableType.NONE) {
final keyType = asMap.getKeyType();
final valueType = asMap.getGeneric([1]);
print("Map with keys: ${keyType.resolve()?.getType()}");
print("Map with values: ${valueType.resolve()?.getType()}");
}
}
Implementation
ResolvableType asMap() => as(Map);