normalizeJSONValuePrimitive function

dynamic normalizeJSONValuePrimitive(
  1. dynamic value, [
  2. bool forceString = false
])

Implementation

dynamic normalizeJSONValuePrimitive(dynamic value, [bool forceString = false]) {
  if (value == null) return null;

  if (value is String) {
    if (forceString) return value;

    if (RegExp(r'^-?\d+$').hasMatch(value)) {
      return int.parse(value);
    } else if (RegExp(r'^-?\d+\.\d+$').hasMatch(value)) {
      return double.parse(value);
    } else if (value == 'true') {
      return true;
    } else if (value == 'false') {
      return false;
    }
  }

  return value;
}