paramValuesFromObjects function
Converts plain Dart objects to ParamValue wire tags.
Converts plain Dart objects to ParamValue wire tags. Pair with
executeQueryParamValuesFromObjects and related …FromObjects extension
methods on IOdbcRepository.
Implementation
List<ParamValue> paramValuesFromObjects(List<Object?> params) {
if (params.isEmpty) return const [];
if (params.isNotEmpty) {
var allParamValueOrNull = true;
for (final item in params) {
if (item != null && item is! ParamValue) {
allParamValueOrNull = false;
break;
}
}
if (allParamValueOrNull) {
final result =
List<ParamValue>.filled(params.length, const ParamValueNull());
for (var i = 0; i < params.length; i++) {
final item = params[i];
if (item is ParamValue) {
result[i] = item;
}
}
return result;
}
}
final result = List<ParamValue>.filled(params.length, const ParamValueNull());
for (var i = 0; i < params.length; i++) {
result[i] = toParamValue(params[i]);
}
return result;
}