serializeParam function
Implementation
String? serializeParam(
dynamic param,
ParamType paramType, {
bool isList = false,
}) {
try {
if (param == null) {
return null;
}
if (isList) {
final serializedValues = (param as Iterable)
.map((p) => serializeParam(p, paramType, isList: false))
.where((p) => p != null)
.map((p) => p!)
.toList();
return json.encode(serializedValues);
}
String? data;
switch (paramType) {
case ParamType.int:
data = param.toString();
case ParamType.double:
data = param.toString();
case ParamType.String:
data = param;
case ParamType.bool:
data = param ? 'true' : 'false';
case ParamType.DateTime:
data = (param as DateTime).millisecondsSinceEpoch.toString();
case ParamType.DateTimeRange:
data = dateTimeRangeToString(param as DateTimeRange);
case ParamType.LatLng:
data = (param as LatLng).serialize();
case ParamType.Color:
data = (param as Color).toCssString();
case ParamType.FFPlace:
data = placeToString(param as FFPlace);
case ParamType.FFUploadedFile:
data = uploadedFileToString(param as FFUploadedFile);
case ParamType.JSON:
data = json.encode(param);
default:
data = null;
}
return data;
} catch (e) {
print('Error serializing parameter: $e');
return null;
}
}