jsonify function

dynamic jsonify(
  1. dynamic value, {
  2. bool deep = true,
})

Implementation

dynamic jsonify(dynamic value, {bool deep = true}) {
  if (value is Iterable) {
    if (deep) {
      return jsonifyList(value);
    } else {
      final list = [];
      for (final item in value) {
        list.add(item);
      }
      return list;
    }
  } else if (value is Map) {
    final Map<String, dynamic> map = {};
    for (final key in value.keys) {
      if (deep) {
        map[key.toString()] = jsonify(value[key]);
      } else {
        map[key.toString()] = value[key];
      }
    }
    return map;
  } else if (value is HTStruct) {
    if (deep) {
      return jsonifyStruct(value);
    } else {
      final Map<String, dynamic> map = {};
      for (final key in value.keys) {
        map[key.toString()] = value[key];
      }
      return map;
    }
  } else if (isJsonDataType(value)) {
    return value;
  } else {
    return null;
  }
}