FadeInImage constructor
Creates a widget that displays a placeholder while an image is loading
then cross-fades to display the image.
The placeholder, image, fadeOutDuration, fadeOutCurve,
fadeInDuration, fadeInCurve, alignment, repeat, and
matchTextDirection arguments must not be null.
Implementation
const FadeInImage({
  Key key,
  @required this.placeholder,
  @required this.image,
  this.fadeOutDuration = const Duration(milliseconds: 300),
  this.fadeOutCurve = Curves.easeOut,
  this.fadeInDuration = const Duration(milliseconds: 700),
  this.fadeInCurve = Curves.easeIn,
  this.width,
  this.height,
  this.fit,
  this.alignment = Alignment.center,
  this.repeat = ImageRepeat.noRepeat,
  this.matchTextDirection = false,
}) : assert(placeholder != null),
     assert(image != null),
     assert(fadeOutDuration != null),
     assert(fadeOutCurve != null),
     assert(fadeInDuration != null),
     assert(fadeInCurve != null),
     assert(alignment != null),
     assert(repeat != null),
     assert(matchTextDirection != null),
     super(key: key);