make timeoutOrExpirationDate optional

This commit is contained in:
Salvatore Giordano
2021-05-21 10:41:50 +02:00
parent 3bd86b36f4
commit bdc19a9d59
+14 -7
View File
@@ -1361,12 +1361,13 @@ class StreamChatClient {
/// [timeoutOrExpirationDate] can either be a [DateTime] or a value in seconds /// [timeoutOrExpirationDate] can either be a [DateTime] or a value in seconds
/// to be added to [DateTime.now] /// to be added to [DateTime.now]
Future<UpdateMessageResponse> pinMessage( Future<UpdateMessageResponse> pinMessage(
Message message, Message message, [
Object timeoutOrExpirationDate, Object? timeoutOrExpirationDate,
) { ]) {
assert(() { assert(() {
if (timeoutOrExpirationDate is! DateTime && if (timeoutOrExpirationDate is! DateTime &&
timeoutOrExpirationDate is! num) { timeoutOrExpirationDate is! num &&
timeoutOrExpirationDate != null) {
throw ArgumentError('Invalid timeout or Expiration date'); throw ArgumentError('Invalid timeout or Expiration date');
} }
return true; return true;
@@ -1383,13 +1384,19 @@ class StreamChatClient {
.toUtc(); .toUtc();
} }
return updateMessage( return updateMessage(
message.copyWith(pinned: true, pinExpires: pinExpires), message.copyWith(
pinned: true,
pinExpires: pinExpires,
),
); );
} }
/// Unpins provided message /// Unpins provided message
Future<UpdateMessageResponse> unpinMessage(Message message) => Future<UpdateMessageResponse> unpinMessage(Message message) => updateMessage(
updateMessage(message.copyWith(pinned: false)); message.copyWith(
pinned: false,
),
);
} }
/// The class that handles the state of the channel listening to the events /// The class that handles the state of the channel listening to the events