fromProperties static method

Map<String, dynamic> fromProperties(
  1. String input
)

Implementation

static Map<String, dynamic> fromProperties(String input) {
  Map<String, dynamic> root = <String, dynamic>{};
  List<String> lines =
      input
          .split('\n')
          .map((line) => line.trim())
          .where((line) => line.isNotEmpty)
          .toList();

  for (String line in lines) {
    int eqIdx = line.indexOf('=');
    if (eqIdx == -1) {
      continue;
    }

    String path = line.substring(0, eqIdx).trim();
    String valueString = line.substring(eqIdx + 1);
    dynamic value = _parseValue(valueString);
    List<String> segments = path.split('.');
    _setByPath(root, segments, value);
  }

  return root;
}