getBatch method
BatchResult
getBatch({
- List<
String> stringKeys = const <String>[], - List<
String> ? defaultStringValues, - List<
String> boolKeys = const <String>[], - List<
bool> ? defaultBoolValues, - List<
String> intKeys = const <String>[], - List<
int> ? defaultIntValues, - List<
String> largeIntKeys = const <String>[], - List<
int> ? defaultLargeIntValues, - List<
String> doubleKeys = const <String>[], - List<
double> ? defaultDoubleValues,
Retrieve multiple key-value pairs of various types in a single operation.
This method allows retrieving multiple values of different types (string, bool, int, large int, double) at once, which can be more efficient than multiple individual calls. For each type, you can specify a list of keys and corresponding default values to return if a key is not found.
Parameters
stringKeys: List of keys to retrieve string values for.defaultStringValues: List of default string values to return for missing keys.boolKeys: List of keys to retrieve boolean values for.defaultBoolValues: List of default boolean values to return for missing keys.intKeys: List of keys to retrieve 32-bit integer values for.defaultIntValues: List of default integer values to return for missing keys.largeIntKeys: List of keys to retrieve 64-bit integer values fordefaultLargeIntValues: List of default 64-bit integer values to return for missing keys.doubleKeys: List of keys to retrieve double values for.defaultDoubleValues: List of default double values to return for missing keys.
Returns
- A BatchResult object containing maps of keys to their corresponding retrieved values for each type.
Implementation
BatchResult getBatch({
List<String> stringKeys = const <String>[],
List<String>? defaultStringValues,
List<String> boolKeys = const <String>[],
List<bool>? defaultBoolValues,
List<String> intKeys = const <String>[],
List<int>? defaultIntValues,
List<String> largeIntKeys = const <String>[],
List<int>? defaultLargeIntValues,
List<String> doubleKeys = const <String>[],
List<double>? defaultDoubleValues,
}) {
final OperationResult result = objectMethod(
pointerId,
'SettingsService',
'getBatch',
args: <String, dynamic>{
'stringKeys': stringKeys,
'defaultStringValues':
defaultStringValues ?? List<String>.filled(stringKeys.length, ''),
'boolKeys': boolKeys,
'defaultBoolValues':
defaultBoolValues ?? List<bool>.filled(boolKeys.length, false),
'intKeys': intKeys,
'defaultIntValues':
defaultIntValues ?? List<int>.filled(intKeys.length, 0),
'largeIntKeys': largeIntKeys,
'defaultLargeIntValues':
defaultLargeIntValues ?? List<int>.filled(largeIntKeys.length, 0),
'doubleKeys': doubleKeys,
'defaultDoubleValues':
defaultDoubleValues ?? List<double>.filled(doubleKeys.length, 0.0),
},
);
final Map<String, dynamic> resultMap =
(result['result'] as Map<dynamic, dynamic>).cast<String, dynamic>();
return BatchResult(
stringValues: _decodeBatchValues<String>(
resultMap['stringValues'],
(dynamic value) => value as String,
),
boolValues: _decodeBatchValues<bool>(resultMap['boolValues'], (
dynamic value,
) {
if (value is bool) {
return value;
}
return (value as int) != 0;
}),
intValues: _decodeBatchValues<int>(
resultMap['intValues'],
(dynamic value) => (value as num).toInt(),
),
largeIntValues: _decodeBatchValues<int>(
resultMap['largeIntValues'],
(dynamic value) => (value as num).toInt(),
),
doubleValues: _decodeBatchValues<double>(
resultMap['doubleValues'],
(dynamic value) => (value as num).toDouble(),
),
);
}