104 lines
4.0 KiB
Java
104 lines
4.0 KiB
Java
package com.discord.utilities.search.network;
|
|
|
|
import com.discord.utilities.search.query.FilterType;
|
|
import com.discord.utilities.search.query.node.QueryNode;
|
|
import com.discord.utilities.search.query.node.answer.AnswerNode;
|
|
import com.discord.utilities.search.query.node.content.ContentNode;
|
|
import com.discord.utilities.search.query.node.filter.FilterNode;
|
|
import com.discord.utilities.search.validation.SearchData;
|
|
import d0.g0.w;
|
|
import d0.t.n;
|
|
import d0.t.u;
|
|
import d0.z.d.m;
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Objects;
|
|
/* compiled from: SearchQuery.kt */
|
|
public final class SearchQuery {
|
|
private final boolean includeNsfw;
|
|
private final Map<String, List<String>> params;
|
|
|
|
/* compiled from: SearchQuery.kt */
|
|
public static final class Builder {
|
|
private final StringBuilder contentBuilder = new StringBuilder();
|
|
private boolean includeNsfw;
|
|
private final HashMap<String, List<String>> paramsMap = new HashMap<>();
|
|
|
|
private final void appendContent(CharSequence charSequence) {
|
|
StringBuilder sb = this.contentBuilder;
|
|
sb.append(charSequence);
|
|
sb.append(' ');
|
|
}
|
|
|
|
public final void appendParam(String str, String str2) {
|
|
m.checkNotNullParameter(str, "paramKey");
|
|
m.checkNotNullParameter(str2, "param");
|
|
List<String> list = this.paramsMap.get(str);
|
|
if (list == null) {
|
|
list = new ArrayList<>();
|
|
}
|
|
list.add(str2);
|
|
this.paramsMap.put(str, list);
|
|
}
|
|
|
|
public final SearchQuery buildFrom(List<? extends QueryNode> list, SearchData searchData) {
|
|
m.checkNotNullParameter(list, "queryNodes");
|
|
m.checkNotNullParameter(searchData, "searchData");
|
|
loop0:
|
|
while (true) {
|
|
FilterType filterType = null;
|
|
for (QueryNode queryNode : list) {
|
|
if (queryNode instanceof FilterNode) {
|
|
filterType = ((FilterNode) queryNode).getFilterType();
|
|
} else if (queryNode instanceof AnswerNode) {
|
|
AnswerNode answerNode = (AnswerNode) queryNode;
|
|
if (u.contains(answerNode.getValidFilters(), filterType)) {
|
|
answerNode.updateQuery(this, searchData, filterType);
|
|
} else {
|
|
appendContent(queryNode.getText());
|
|
}
|
|
} else if (queryNode instanceof ContentNode) {
|
|
appendContent(((ContentNode) queryNode).getText());
|
|
}
|
|
}
|
|
break loop0;
|
|
}
|
|
String sb = this.contentBuilder.toString();
|
|
m.checkNotNullExpressionValue(sb, "contentBuilder.toString()");
|
|
Objects.requireNonNull(sb, "null cannot be cast to non-null type kotlin.CharSequence");
|
|
String obj = w.trim(sb).toString();
|
|
if (obj.length() > 0) {
|
|
this.paramsMap.put("content", n.mutableListOf(obj));
|
|
}
|
|
return new SearchQuery(this.paramsMap, this.includeNsfw);
|
|
}
|
|
|
|
public final Builder setIncludeNsfw(boolean z2) {
|
|
this.includeNsfw = z2;
|
|
return this;
|
|
}
|
|
}
|
|
|
|
/* JADX DEBUG: Multi-variable search result rejected for r2v0, resolved type: java.util.Map<java.lang.String, ? extends java.util.List<java.lang.String>> */
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
public SearchQuery(Map<String, ? extends List<String>> map, boolean z2) {
|
|
m.checkNotNullParameter(map, "params");
|
|
this.params = map;
|
|
this.includeNsfw = z2;
|
|
}
|
|
|
|
public final boolean getIncludeNsfw() {
|
|
return this.includeNsfw;
|
|
}
|
|
|
|
public final Map<String, List<String>> getParams() {
|
|
return this.params;
|
|
}
|
|
|
|
public final boolean isValid() {
|
|
return !this.params.isEmpty();
|
|
}
|
|
}
|