encodeGroupConditionOperator method
FutureOr<EncodingContext>
encodeGroupConditionOperator(
- GroupCondition c,
- EncodingContext context,
- String operator
Implementation
FutureOr<EncodingContext> encodeGroupConditionOperator(
GroupCondition c,
EncodingContext context,
String operator,
) {
var conditions = c.conditions;
var length = conditions.length;
if (length == 0) {
return context;
}
if (length == 1) {
var c1 = conditions.first;
return encodeCondition(c1, context);
}
context.write(groupOpener);
var c1 = conditions.first;
var c1Ret = encodeCondition(c1, context);
return c1Ret.resolveMapped((s) {
var rets = conditions
.skip(1)
.map((c2) {
s.write(operator);
return encodeCondition(c2, context);
})
.toList(growable: false);
return rets.resolveAllReduced((value, element) => element).resolveMapped((
s,
) {
s.write(groupCloser);
return s;
});
});
}