classInstantiate method

  1. @override
String classInstantiate(
  1. AssetType asset
)
override

Implementation

@override
String classInstantiate(AssetType asset) {
  final info = parseMetadata || parseAnimation ? _getMetadata(asset) : null;
  final buffer = StringBuffer(className);
  buffer.write('(');
  buffer.write('\'${asset.posixStylePath}\'');
  if (info != null) {
    buffer.write(', size: const Size(${info.width}, ${info.height})');

    if (info.animation case final animation?) {
      buffer.write(', animation: const AssetGenImageAnimation(');
      buffer.write('isAnimation: ${animation.frames > 1}');
      buffer.write(
        ', duration: Duration(milliseconds: ${animation.duration.inMilliseconds})',
      );
      buffer.write(', frames: ${animation.frames}');
      buffer.write(')');
    }
  }
  if (asset.flavors.isNotEmpty) {
    buffer.write(', flavors: {');
    final flavors = asset.flavors.map((e) => '\'$e\'').join(', ');
    buffer.write(flavors);
    buffer.write('}');
    buffer.write(','); // Better formatting.
  }
  buffer.write(')');
  return buffer.toString();
}