LusciiSdkActionResponse.fromMap constructor
LusciiSdkActionResponse.fromMap(
- Map map
Creates a new LusciiSdkActionResponse from a map.
Implementation
factory LusciiSdkActionResponse.fromMap(Map<dynamic, dynamic> map) {
// Assign values to explicitly typed variables
final actionId = map['actionID'] as String?;
final status = map['status'] as String?;
// Check for required fields and their types
if (actionId == null) {
throw ArgumentError(
"Expected 'actionId' to be a non-null String, but got "
// ignore: avoid_dynamic_calls
"${map['actionId']?.runtimeType}",
);
}
if (status == null) {
throw ArgumentError(
"Expected 'status' to be a non-null String, but got "
// ignore: avoid_dynamic_calls
"${map['status']?.runtimeType}",
);
}
if (status.contains('error')) {
throw LusciiSdkException(reason: status);
}
return LusciiSdkActionResponse(
actionId: actionId,
status: status == 'completed'
? LusciiSdkActionResponseStatus.completed
: LusciiSdkActionResponseStatus.cancelled,
);
}