addEncodingParameter method
Implementation
String addEncodingParameter(
String suggestedKey,
Object? value, {
String parameterPrefix = 'param_',
}) {
var encodingParameters = (this.encodingParameters ??= <String, Object?>{});
var namedParameters = this.namedParameters;
if (namedParameters == null || !namedParameters.containsKey(suggestedKey)) {
encodingParameters[suggestedKey] = value;
return suggestedKey;
}
for (var i = 0; i < 1000; ++i) {
var k =
i == 0
? '$parameterPrefix$suggestedKey'
: '$parameterPrefix$suggestedKey$i';
if (!namedParameters.containsKey(k)) {
encodingParameters[k] = value;
return k;
}
}
throw StateError("Can't create encoding parameter: $suggestedKey = $value");
}