register<T extends ModelBaseMessage> method

void register<T extends ModelBaseMessage>(
  1. MessageViewBuilder<T> builder
)

The method for the register.

Implementation

void register<T extends ModelBaseMessage>(MessageViewBuilder<T> builder) {
  _registry[T] = (
    BuildContext context, {
    required bool isMessageFromCurrentUser,
    required ModelBaseMessage message,
  }) {
    if (message is T) {
      return builder(
        context,
        isMessageFromCurrentUser: isMessageFromCurrentUser,
        message: message,
      );
    } else {
      throw ArgumentError(
          'Message type mismatch: expected ${T.toString()}, but got ${message.runtimeType}');
    }
  };
}