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;
});
});
}