executeRule function

dynamic executeRule(
  1. dynamic httpRequest()
)

Implementation

executeRule(Function() httpRequest) async {
  RawResponse response = await httpRequest();
  var isOk = (_) => '${response.statusCode}'.startsWith('20');
  var exposeErr = compose([
    map((m) => {'errors': m}),
    jsonDecode
  ]);
  var mapOfResult = ifDoElse(isOk, jsonDecode, exposeErr);
  return mapOfResult(response.body);
}