generateSerializer method

  1. @override
String generateSerializer(
  1. String expression
)
override

Generates code that serializes an expression representing an instance of the type to a String.

An implementation to serialize a DateTime as its ISO-8601 representation could be as simple as:

String generateSerializer(String expression) => '$expression.toIso8601String()';

Implementation

@override
String generateSerializer(String expression) {
  final closureArgument = IterableSerializerGenerator._closureArgument;
  final closureResult = _generator.generateSerializer(closureArgument);

  final buffer = StringBuffer(expression);

  if (closureResult != closureArgument) {
    if (_isNullable) {
      buffer.write('?');
    }

    buffer.write('.map(($closureArgument) => $closureResult)');
  }

  return buffer.toString();
}