set method

Map<String, dynamic> set(
  1. Map<String, dynamic> map,
  2. String path,
  3. dynamic value
)

Sets the specified path's value.

USAGE:

DotMap.set(map, '1.2.3', '4');

Implementation

Map<String, dynamic> set(
  Map<String, dynamic> map,
  String path,
  dynamic value,
) {
  final keys = path.split(".");
  var subData = map;

  for (var key in keys.take(keys.length - 1)) {
    subData = subData[key] = <String, dynamic>{};
  }
  subData[keys.last] = value;
  return map;
}