IMap<K, V> constructor
IMap<K, V> ()
Creates an empty IMap.
K must be of type Guid or String and V must be of type
Object? or String.
Implementation
factory IMap() {
if (isSameType<K, Guid>() && isSimilarType<V, Object>()) {
return IMap.fromRawPointer(MediaPropertySet().ptr,
iterableIid: IID_IIterable_IKeyValuePair_Guid_Object);
}
if (isSameType<K, String>()) {
if (isSameType<V, String>()) {
return IMap.fromRawPointer(StringMap().ptr,
iterableIid: IID_IIterable_IKeyValuePair_String_String);
}
if (isSimilarType<V, Object>()) {
return IMap.fromRawPointer(PropertySet().ptr,
iterableIid: IID_IIterable_IKeyValuePair_String_Object);
}
}
throw ArgumentError('Unsupported key-value pair: IMap<$K, $V>');
}