map_enhancer 1.0.2 map_enhancer: ^1.0.2 copied to clipboard
A plugin which extends Dart's native `Map` type with a couple of handy methods.
import 'package:map_enhancer/map_enhancer.dart';
void main() {
final Map peter = {
'name': {
'firstName': 'Peter',
'lastName': 'Petrelli',
},
'age': 29,
};
print(
peter.getIn(['name', 'firstName']),
);
// Output: Peter
// or if you prefer the JSON "dot notation":
print(
peter.getIn('name.firstName'.split('.')),
);
// Output: Peter
// call with default value:
print(
peter.getIn(
'name.nickName'.split('.'),
defaultValue: 'Pete',
),
);
// Output: Pete
peter.setIn(['ability'], 'Empathic mimicry');
print(peter['ability']);
// Output: Empathic mimicry
peter.unsetIn(['name', 'lastName']);
print(peter['name']['lastName']);
// Output: null
print(peter.hasIn(['name', 'nickname']));
// Output: false
}