encode method
Implementation
FutureOr<EncodingContext> encode(Condition condition, String entityName,
{Object? parameters,
List? positionalParameters,
Map<String, Object?>? namedParameters,
Transaction? transaction,
String? tableName}) {
var context = EncodingContext(entityName,
parameters: parameters,
positionalParameters: positionalParameters,
namedParameters: namedParameters,
transaction: transaction,
tableName: tableName);
if (condition is ConditionANY) {
return context;
}
bool rootIsGroup;
if (condition is GroupCondition) {
rootIsGroup = true;
if (condition.conditions.isEmpty) {
return context;
} else if (condition.conditions.length == 1 &&
condition.conditions.first is ConditionANY) {
return context;
}
} else {
rootIsGroup = false;
context.write(groupOpener);
}
var ret = encodeCondition(condition, context);
return ret.resolveMapped((s) {
if (!rootIsGroup) {
s.write(groupCloser);
}
return context;
});
}