toJsonFromModelData method

Map<String, dynamic> toJsonFromModelData({
  1. required Object data,
})

Implementation

Map<String, dynamic> toJsonFromModelData({required Object data}) {

  // extract inner part inside parentheses
  final regex = RegExp(r'\((.*)\)');
  final match = regex.firstMatch(data.toString());
  if (match == null){
    debugPrint("Data : "+"Previous" );
    return <String, dynamic>{};
  }

  final inside = match.group(1)!; // "name: ..., age: ..."

  // this regex matches key: value (where value can be quoted or not)
  final fieldRegex = RegExp(r'(\w+):\s*(?:"([^"]*)"|([^,]+))(?:,|$)');

  final result = <String, dynamic>{};

  for (final match in fieldRegex.allMatches(inside)) {
    final key = match.group(1)!;
    final value = match.group(2) ?? match.group(3) ?? '';

    // try parse number, otherwise keep as string
    final parsedValue = num.tryParse(value.trim()) ?? value.trim();
    result[key] = parsedValue;
  }
  debugPrint("Data : "+result.toString() );

  return result;
}