discord-jadx/app/src/main/java/com/discord/widgets/changelog/ChangeLogParser.java

54 lines
3.4 KiB
Java

package com.discord.widgets.changelog;
import android.content.Context;
import c.a.t.b.b.e;
import c.a.t.c.a;
import com.discord.simpleast.core.node.Node;
import com.discord.simpleast.core.parser.Parser;
import com.discord.simpleast.core.parser.Rule;
import com.discord.utilities.textprocessing.AstRenderer;
import com.discord.utilities.textprocessing.MessageParseState;
import com.discord.utilities.textprocessing.Rules;
import com.discord.utilities.textprocessing.Spans;
import com.facebook.drawee.span.DraweeSpanStringBuilder;
import d0.t.n;
import d0.z.d.m;
import java.util.List;
import kotlin.Unit;
import kotlin.jvm.functions.Function3;
/* compiled from: ChangeLogParser.kt */
public final class ChangeLogParser {
public static final ChangeLogParser INSTANCE = new ChangeLogParser();
private ChangeLogParser() {
}
private final <RC, S> List<Rule<RC, Node<RC>, S>> createChangelogSpecialMarkdownRules(Context context) {
Spans spans = Spans.INSTANCE;
return n.listOf((Object[]) new Rule.BlockRule[]{new Rules.HeaderLineClassedRule(spans.createChangelogSpecialHeaderPaddingSpansProvider(context), spans.createHeaderStyleSpanProvider(context), spans.createHeaderClassSpanProvider(context)), new Rules.HeaderLineClassedRule(spans.createHeaderPaddingSpansProvider(context), spans.createSpecialHeaderStyleSpanProvider(context), spans.createHeaderClassSpanProvider(context)), new Rules.MarkdownListItemRule(spans.createMarkdownBulletSpansProvider(context))});
}
private final <RC, S> List<Rule<RC, Node<RC>, S>> createMarkdownRules(Context context) {
Spans spans = Spans.INSTANCE;
return n.listOf((Object[]) new Rule.BlockRule[]{new a.c(spans.createHeaderStyleSpanProvider(context)), new Rules.HeaderLineClassedRule(spans.createHeaderPaddingSpansProvider(context), spans.createHeaderStyleSpanProvider(context), spans.createHeaderClassSpanProvider(context)), new Rules.MarkdownListItemRule(spans.createMarkdownBulletSpansProvider(context))});
}
public static /* synthetic */ DraweeSpanStringBuilder parse$default(ChangeLogParser changeLogParser, Context context, CharSequence charSequence, boolean z2, Function3 function3, int i, Object obj) {
if ((i & 4) != 0) {
z2 = false;
}
return changeLogParser.parse(context, charSequence, z2, function3);
}
public final DraweeSpanStringBuilder parse(Context context, CharSequence charSequence, boolean z2, Function3<? super Context, ? super String, ? super String, Unit> function3) {
m.checkNotNullParameter(context, "context");
m.checkNotNullParameter(charSequence, "input");
m.checkNotNullParameter(function3, "onClickListener");
List b = e.b(false, false, 3);
List createChangelogSpecialMarkdownRules = z2 ? createChangelogSpecialMarkdownRules(context) : createMarkdownRules(context);
Parser parser = new Parser(false, 1, null);
Rules rules = Rules.INSTANCE;
return AstRenderer.render(Parser.parse$default(parser.addRule(rules.createSoftHyphenRule()).addRule(rules.createBlockQuoteRule()).addRule(rules.createMaskedLinkRule()).addRule(rules.createUrlNoEmbedRule()).addRule(rules.createUrlRule()).addRule(rules.createHookedLinkRule()).addRules(createChangelogSpecialMarkdownRules).addRules(b), charSequence, MessageParseState.Companion.getInitialState(), null, 4, null), new ChangeLogParser$parse$renderContext$1(function3, context));
}
}