getValue method
Implementation
Object? getValue(
{Object? parameters,
List? positionalParameters,
Map<String, Object?>? namedParameters,
Map<String, Object?>? encodingParameters}) {
if (parameters != null) {
if (parameters is! Map && parameters is! Iterable) {
var obj = parameters as dynamic;
try {
var json = Json.toJson(obj);
parameters = json;
} catch (_) {}
}
if (parameters is Map) {
namedParameters ??= parameters is Map<String, Object?>
? parameters
: parameters.map<String, Object?>(
(key, value) => MapEntry<String, Object?>('$key', value));
} else if (parameters is Iterable) {
positionalParameters ??= parameters is List
? parameters
: parameters.toList(growable: false);
}
}
var key = this.key;
if (key != null && key.isNotEmpty) {
var value = namedParameters?[key] ?? encodingParameters?[key];
if (value != null) {
return value;
}
}
var index = this.index;
if (index == null) {
var key = contextKey;
if (key != null && key.isNotEmpty) {
var value = namedParameters?[key] ?? encodingParameters?[key];
if (value != null) {
return value;
}
}
}
if (index == null || index < 0) {
index = contextPosition ?? contextKeyPosition;
}
if (index != null) {
if (positionalParameters != null) {
return index < positionalParameters.length
? positionalParameters[index]
: null;
}
if (namedParameters != null && index < namedParameters.length) {
var key = namedParameters.keys.elementAt(index);
return namedParameters[key];
}
return null;
}
if (key == null || key.isEmpty) {
key = contextKey;
if (key != null && key.isNotEmpty) {
return namedParameters?[key] ?? encodingParameters?[key];
}
}
return null;
}