call method
Implementation
@override
Object? call(Interpreter interpreter, List<Object?> arguments,
Map<Symbol, Object?> namedArguments) {
String data = arguments[0] as String;
TextStyle? style;
var styleParsed = namedArguments[Symbol('style')];
if (styleParsed != null) {
style = styleParsed as TextStyle;
}
TextDirection textDirection = TextDirection.ltr;
var textDirectionParsed = namedArguments[Symbol('textDirection')];
if (textDirectionParsed != null) {
textDirection = textDirectionParsed as TextDirection;
}
TextAlign? textAlign;
var textAlignParsed = namedArguments[Symbol('textAlign')];
if (textAlignParsed != null) {
textAlign = textAlignParsed as TextAlign;
}
int? maxLines;
var maxLinesParsed = namedArguments[Symbol('maxLines')];
if (maxLinesParsed != null) {
maxLines = maxLinesParsed as int;
}
TextOverflow? overflow;
var overflowParsed = namedArguments[Symbol('overflow')];
if (overflowParsed != null) {
overflow = overflowParsed as TextOverflow;
}
void Function(String, String)? onLinkTab;
var onLinkTabParsed = namedArguments[Symbol('onLinkTab')];
if (onLinkTabParsed != null) {
onLinkTab = (String link, String title) {
(onLinkTabParsed as LoxFunction).call(interpreter, [link, title], {});
};
}
Widget Function(BuildContext, InlineSpan, String, TextStyle)? linkBuilder;
var linkBuilderParsed = namedArguments[Symbol('linkBuilder')];
if (linkBuilderParsed != null) {
linkBuilder = (BuildContext context, InlineSpan link, String title,
TextStyle style) {
return (linkBuilderParsed as LoxFunction)
.call(interpreter, [context, link, title, style], {}) as Widget;
};
}
Widget Function(BuildContext, String)? imageBuilder;
var imageBuilderParsed = namedArguments[Symbol('imageBuilder')];
if (imageBuilderParsed != null) {
imageBuilder = (BuildContext context, String image) {
return (imageBuilderParsed as LoxFunction)
.call(interpreter, [context, image], {}) as Widget;
};
}
Widget Function(BuildContext, String, String, bool)? codeBuilder;
var codeBuilderParsed = namedArguments[Symbol('codeBuilder')];
if (codeBuilderParsed != null) {
codeBuilder =
(BuildContext context, String name, String code, bool closed) {
return (codeBuilderParsed as LoxFunction)
.call(interpreter, [context, name, code, closed], {}) as Widget;
};
}
Widget Function(BuildContext, String, TextStyle)? sourceTagBuilder;
var sourceTagBuilderParsed = namedArguments[Symbol('sourceTagBuilder')];
if (sourceTagBuilderParsed != null) {
sourceTagBuilder =
(BuildContext context, String source, TextStyle style) {
return (sourceTagBuilderParsed as LoxFunction)
.call(interpreter, [context, source, style], {}) as Widget;
};
}
Widget Function(BuildContext, String, TextStyle)? highlightBuilder;
var highlightBuilderParsed = namedArguments[Symbol('highlightBuilder')];
if (highlightBuilderParsed != null) {
highlightBuilder =
(BuildContext context, String source, TextStyle style) {
return (highlightBuilderParsed as LoxFunction)
.call(interpreter, [context, source, style], {}) as Widget;
};
}
return GptMarkdown(
data,
style: style,
textDirection: textDirection,
textAlign: textAlign,
maxLines: maxLines,
overflow: overflow,
onLinkTap: onLinkTab,
imageBuilder: imageBuilder,
linkBuilder: linkBuilder,
codeBuilder: codeBuilder,
sourceTagBuilder: sourceTagBuilder,
highlightBuilder: highlightBuilder,
);
}