merge method Null safety

ButtonStyle merge(
  1. ButtonStyle? style
)

Returns a copy of this ButtonStyle where the non-null fields in style have replaced the corresponding null fields in this ButtonStyle.

In other words, style is used to fill in unspecified (null) fields this ButtonStyle.

Implementation

ButtonStyle merge(ButtonStyle? style) {
  if (style == null)
    return this;
  return copyWith(
    textStyle: textStyle ?? style.textStyle,
    backgroundColor: backgroundColor ?? style.backgroundColor,
    foregroundColor: foregroundColor ?? style.foregroundColor,
    overlayColor: overlayColor ?? style.overlayColor,
    shadowColor: shadowColor ?? style.shadowColor,
    surfaceTintColor: surfaceTintColor ?? style.surfaceTintColor,
    elevation: elevation ?? style.elevation,
    padding: padding ?? style.padding,
    minimumSize: minimumSize ?? style.minimumSize,
    fixedSize: fixedSize ?? style.fixedSize,
    maximumSize: maximumSize ?? style.maximumSize,
    side: side ?? style.side,
    shape: shape ?? style.shape,
    mouseCursor: mouseCursor ?? style.mouseCursor,
    visualDensity: visualDensity ?? style.visualDensity,
    tapTargetSize: tapTargetSize ?? style.tapTargetSize,
    animationDuration: animationDuration ?? style.animationDuration,
    enableFeedback: enableFeedback ?? style.enableFeedback,
    alignment: alignment ?? style.alignment,
    splashFactory: splashFactory ?? style.splashFactory,
  );
}