call method

  1. @override
Object? call(
  1. Interpreter interpreter,
  2. List<Object?> arguments,
  3. Map<Symbol, Object?> namedArguments
)
override

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,
  );
}