toString method

  1. @override
String toString()
override

A string representation of this object.

Some classes have a default textual representation, often paired with a static parse function (like int.parse). These classes will provide the textual representation as their string representation.

Other classes have no meaningful textual representation that a program will care about. Such classes will typically override toString to provide useful information when inspecting the object, mainly for debugging or logging.

Implementation

@override
String toString() {
  List<String> queries = [];

  if (_orderby.isNotEmpty) {
    queries.add(r"$orderby=" + queries.join(", "));
  }

  if (_levelMax) {
    queries.add(r"$levels=max");
  } else if (_levels != null) {
    queries.add(r"$levels=" + _levels.toString());
  }

  if (_selectAll) {
    queries.add(r"$select=*");
  } else if (_select.isNotEmpty) {
    queries.add(r"$select=" + _select.join(","));
  }

  if (queries.isEmpty) {
    return field;
  }

  if (_expand.isNotEmpty) {
    queries.add(r"$expand=" + _expand.join(","));
  }

  if (_compute != null && _compute!.isNotEmpty) {
    queries.add(r"$compute=" + _compute!);
  }

  return "$field(${queries.join(';')})";
}