operator []= method
Associates the key
with the given value
.
If the key was already in the map, its associated value is changed. Otherwise the key/value pair is added to the map.
Implementation
@override
void operator []=(String key, dynamic value) {
_map[key] ??= RecursiveMap();
switch (value) {
case String():
(_map[key] ??= RecursiveMap())[value] = null;
case Iterable<String>():
var k = key;
for (final v in value) {
(_map[k] ??= RecursiveMap())[v] = null;
k = v;
}
case null:
_map[key] ??= RecursiveMap();
default:
throw Exception('Invalid value type');
}
}