value property
String
value
Convert all Query to String parameters.
Implementation
String get value {
assert(
(key == null &&
(isEqualTo == null &&
isNotEqualTo == null &&
isLessThanOrEqualTo == null &&
isGreaterThanOrEqualTo == null &&
arrayContains == null &&
arrayContainsAny == null &&
whereIn == null &&
whereNotIn == null &&
geoHash == null)) ||
(key != null &&
(isEqualTo != null ||
isNotEqualTo != null ||
isLessThanOrEqualTo != null ||
isGreaterThanOrEqualTo != null ||
arrayContains != null ||
arrayContainsAny != null ||
whereIn != null ||
whereNotIn != null ||
geoHash != null)),
"If you want to specify a condition, please specify [key].",
);
if (key.isEmpty) {
final parameters = _limit(_order()).trimString("&");
if (parameters.isEmpty) {
return path;
} else {
return "$path?$parameters";
}
}
final tmp = "key=$key";
if (isEqualTo != null) {
return "$path?${_limit(_order("$tmp&equalTo=$isEqualTo")).trimString("&")}";
} else if (isNotEqualTo != null) {
return "$path?${_limit(_order("$tmp¬EqualTo=$isNotEqualTo")).trimString("&")}";
} else if (isLessThanOrEqualTo != null) {
if (isGreaterThanOrEqualTo != null) {
return "$path?${_limit(_order("$tmp&startAt=$isGreaterThanOrEqualTo&endAt=$isLessThanOrEqualTo")).trimString("&")}";
}
return "$path?${_limit(_order("$tmp&endAt=$isLessThanOrEqualTo")).trimString("&")}";
} else if (isGreaterThanOrEqualTo != null) {
if (isLessThanOrEqualTo != null) {
return "$path?${_limit(_order("$tmp&startAt=$isGreaterThanOrEqualTo&endAt=$isLessThanOrEqualTo")).trimString("&")}";
}
return "$path?${_limit(_order("$tmp&startAt=$isGreaterThanOrEqualTo")).trimString("&")}";
} else if (arrayContains != null) {
return "$path?${_limit(_order("$tmp&contains=$arrayContains")).trimString("&")}";
} else if (arrayContainsAny != null) {
return "$path?" +
_limit(
_order(
"$tmp&containsAny=${arrayContainsAny!.map((e) => e.toString()).join(",")}",
),
).trimString("&");
} else if (whereIn != null) {
return "$path?" +
_limit(
_order(
"$tmp&whereIn=${whereIn!.map((e) => e.toString()).join(",")}",
),
).trimString("&");
} else if (whereNotIn != null) {
return "$path?" +
_limit(
_order(
"$tmp&whereNotIn=${whereNotIn!.map((e) => e.toString()).join(",")}",
),
).trimString("&");
} else if (geoHash != null) {
return "$path?" +
_limit(
_order(
"$tmp&geoHash=${geoHash!.map((e) => e.toString()).join(",")}",
),
).trimString("&");
}
return "$path?${tmp.trimString("&")}";
}