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) {
  Widget? child;
  var childParsed = namedArguments[const Symbol('child')];
  if (childParsed != null) {
    child = childParsed as Widget;
  }
  double elevation =
      parseDouble(namedArguments[const Symbol('elevation')]) ?? 16.0;
  double? width = parseDouble(namedArguments[const Symbol('width')]);
  Color? backgroundColor;
  var backgroundColorParsed = namedArguments[const Symbol('backgroundColor')];
  if (backgroundColorParsed != null) {
    backgroundColor = backgroundColorParsed as Color;
  }
  Color? surfaceTintColor;
  var surfaceTintColorParsed =
      namedArguments[const Symbol('surfaceTintColor')];
  if (surfaceTintColorParsed != null) {
    surfaceTintColor = surfaceTintColorParsed as Color;
  }
  ShapeBorder? shape;
  var shapeParsed = namedArguments[const Symbol('shape')];
  if (shapeParsed != null) {
    shape = shapeParsed as ShapeBorder;
  }
  Clip? clipBehavior;
  var clipBehaviorParsed = namedArguments[const Symbol('clipBehavior')];
  if (clipBehaviorParsed != null) {
    clipBehavior = clipBehaviorParsed as Clip;
  }
  return Drawer(
    width: width,
    surfaceTintColor: surfaceTintColor,
    shape: shape,
    clipBehavior: clipBehavior,
    backgroundColor: backgroundColor,
    elevation: elevation,
    child: child,
  );
}