responseToJson method

dynamic responseToJson(
  1. dynamic payload, {
  2. APIResponse? apiResponse,
})

Implementation

dynamic responseToJson(dynamic payload, {APIResponse<dynamic>? apiResponse}) {
  if (apiResponse != null) {
    final apiRequest = apiResponse.apiRequest;
    if (apiRequest != null) {
      final routeHandler = apiRequest.routeHandler;
      if (routeHandler != null) {
        var accessRules = routeHandler.entityAccessRules;

        if (!accessRules.isInnocuous) {
          return Json.toJson(payload,
              toEncodableProvider: (o) => accessRules.toJsonEncodable(
                  apiRequest, Json.defaultToEncodableJsonProvider(), o));
        }
      }
    }
  }

  return Json.toJson(payload, toEncodable: ReflectionFactory.toJsonEncodable);
}