map_enhancer
A plugin which extends Dart's native Map
type with a couple of handy methods.
Getting Started
Import the plugin by:
import 'package:map_enhancer/map_enhancer.dart`;
Usage
Let's start with a simple Map
:
final Map peter = {
'name': {
'firstName': 'Peter',
'lastName': 'Petrelli',
},
'age': 29,
};
Get a nested value:
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
Set a nested value:
peter.setIn(['ability'], 'Empathic mimicry');
print(peter['ability']);
// Output: Empathic mimicry
Remove a nested key:
peter.unsetIn(['name', 'lastName']);
print(peter['name']['lastName']);
// Output: null
Check if a nested key is present:
print(peter.hasIn(['name', 'nickname']));
// Output: false