encode method

  1. @override
void encode(
  1. Object? value,
  2. Encoder encoder
)
override

Encodes the value using the encoder.

The implementation must use one of the typed Encoders .encode...() methods to encode the value. It is expected to call exactly one of the encoding methods a single time. Never more or less.

Implementation

@override
void encode(Object? value, Encoder encoder) {
  if (value is Map<String, Object?>) {
    encoder.encodeMap(value, valueUsing: this);
  } else if (value is List<Object?>) {
    encoder.encodeIterable(value, using: this);
  } else if (value is String) {
    encoder.encodeString(value);
  } else if (value is int) {
    encoder.encodeInt(value);
  } else if (value is double) {
    encoder.encodeDouble(value);
  } else if (value is bool) {
    encoder.encodeBool(value);
  } else if (value == null) {
    encoder.encodeNull();
  } else {
    encoder.encodeObject(value);
  }
}