21 lines
545 B
Dart
21 lines
545 B
Dart
/// Safely converts a dynamic value from Odoo JSON-RPC to a String.
|
|
/// Odoo returns `false` (boolean) for unset fields, which causes standard
|
|
/// Dart type casts (like `value as String?`) to crash.
|
|
String? safeString(dynamic value) {
|
|
if (value is String) {
|
|
return value;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/// Safely converts a dynamic value from Odoo JSON-RPC to a double.
|
|
double safeDouble(dynamic value) {
|
|
if (value is num) {
|
|
return value.toDouble();
|
|
}
|
|
if (value is String) {
|
|
return double.tryParse(value) ?? 0.0;
|
|
}
|
|
return 0.0;
|
|
}
|