encodeTyped<T> function

dynamic encodeTyped<T>(
  1. T value, {
  2. TransferCodec<T>? codec,
})

Implementation

dynamic encodeTyped<T>(T value, {TransferCodec<T>? codec}) {
  if (value == null) {
    if (!TypeCheck<T>().isNullable) {
      throw CodecException.typeMismatch(T, value.runtimeType);
    }

    return null;
  }

  codec ??= TransferCodec.find<T>();
  if (codec != null) {
    return (codec as dynamic).encode(value);
  }

  throw ApiError.invalidType(T);
}