stream_chat_flutter_core library

Classes

AcceptInviteResponse
Model response for Channel.acceptInvite api call
Action
The class that contains the information about an action
AddMembersResponse
Model response for Channel.addMembers api call
AsyncCache<T>
Runs asynchronous functions and caches the result for a period of time.
AsyncMemoizer<T>
A class for running an asynchronous function exactly once and caching its result.
Attachment
The class that contains the information about an attachment
AttachmentFile
The class that contains the information about an attachment file
AttachmentFileUploader
Class responsible for uploading images and files to a given channel
BackOff<T>
Object holding options for retrying a function.
BetterStreamBuilder<T extends Object>
A more efficient StreamBuilder It requires initialData and will rebuild only when the new data is different than the current data The comparator is used to check if the new data is different
CallTokenPayload
The response to CallApi.getCallToken
CancelableCompleter<T>
A completer for a CancelableOperation.
CancelableOperation<T>
An asynchronous operation that can be cancelled.
CancelToken
Controls cancellation of Dio's requests.
Channel
Class that manages a specific channel.
ChannelClientState
The class that handles the state of the channel listening to the events.
ChannelConfig
The class that contains the information about the configuration of a channel
ChannelModel
The class that contains the information about a channel
ChannelMute
The class that contains the information about a muted channel
ChannelState
The class that contains the information about a channel
ChannelStateResponse
Model response for Channel.query api call
ChatPersistenceClient
A simple client used for persisting chat data locally.
ChunkedStreamReader<T>
Utility class for reading elements from a chunked stream.
ClientState
The class that handles the state of the channel listening to the events
Command
The class that contains the information about a command
CompletedState
Represents the completed state of a message.
ConnectGuestUserResponse
Model response for StreamChatClient.connectGuestUser api call
Connectivity
Discover network connectivity configurations: Distinguish between WI-FI and cellular, check WI-FI status and more.
ConnectivityPlusLinuxPlugin
The Linux implementation of ConnectivityPlatform.
CreateCallPayload
The response to CallApi.createCall
CurrentPlatform
Utility class that provides information on the current platform
Debounce
Creates a debounced function that delays invoking func until after wait milliseconds have elapsed since the last time the debounced function was invoked. The debounced function comes with a Debounce.cancel method to cancel delayed func invocations and a Debounce.flush method to immediately invoke them. Provide leading and/or trailing to indicate whether func should be invoked on the leading and/or trailing edge of the wait interval. The func is invoked with the last arguments provided to the call function. Subsequent calls to the debounced function return the result of the last func invocation.
DelegatingEventSink<T>
Simple delegating wrapper around an EventSink.
DelegatingFuture<T>
A wrapper that forwards calls to a Future.
DelegatingSink<T>
Simple delegating wrapper around a Sink.
DelegatingStream<T>
Simple delegating wrapper around a Stream.
DelegatingStreamConsumer<T>
Simple delegating wrapper around a StreamConsumer.
DelegatingStreamSink<T>
Simple delegating wrapper around a StreamSink.
DelegatingStreamSubscription<T>
Simple delegating wrapper around a StreamSubscription.
Deleted
Deleting
DeletingFailed
Device
The class that contains the information about a device
EmptyResponse
Model response for empty responses
ErrorResponse
Model response for StreamChatNetworkError data
ErrorResult
A result representing a thrown error.
Event
The class that contains the information about an event
EventChannel
The channel embedded in the event object
EventSinkBase<T>
An abstract class that implements EventSink in terms of onAdd, onError, and onClose methods.
EventType
This class defines some basic event types
Failed
FailedState
Represents the failed state of a message.
Filter
Stream supports a limited set of filters for querying channels, users and members. The example below shows how to filter for channels of type messaging where the current user is a member
FutureGroup<T>
A collection of futures waits until all added Futures complete.
GetMessageResponse
Model response for StreamChatClient.getMessage api call
GetMessagesByIdResponse
Model response for Channel.getMessagesById api call
GiphyInfo
A class that contains extra information about a Giphy attachment.
InProgress
Interceptor
Interceptor helps to deal with RequestOptions, Response, and DioException during the lifecycle of a request before it reaches users.
InterceptorsWrapper
A helper class to create interceptors in ease.
InviteMembersResponse
Model response for Channel.inviteMembers api call
IOSinkBase
An abstract class that implements dart:io's IOSink's API in terms of onAdd, onError, onClose, and onFlush methods.
KeyStrokeHandler
A class that manages buffering typing events and call onTypingStarted and onTypingStopped accordingly in a timed manner.
LazyLoadScrollView
Wrapper around a Scrollable which triggers onEndOfPage/onStartOfPage the Scrollable reaches to the start or end of the view extent.
LazyStream<T>
A Stream wrapper that forwards to another Stream that's initialized lazily.
Level
Levels to control logging output. Logging can be enabled to include all levels above certain Level. Levels are ordered using an integer value Level.value. The predefined Level constants below are sorted as follows (in descending order): Level.SHOUT, Level.SEVERE, Level.WARNING, Level.INFO, Level.CONFIG, Level.FINE, Level.FINER, Level.FINEST, and Level.ALL.
ListDevicesResponse
Model response for StreamChatClient.getDevices api call
Logger
Use a Logger to log debug messages.
LoggingInterceptor
Interceptor dedicated to logging
LogRecord
A log entry representation used to propagate information from Logger to individual handlers.
Member
The class that contains the information about the user membership in a channel
Message
The class that contains the information about a message.
MessageCompleted
MessageFailed
MessageInitial
MessageListController
Controller used for paginating data in ChannelListView
MessageListCore
MessageListCore is a simplified class that allows fetching a list of messages while exposing UI builders.
MessageOutgoing
MessageState
Represents the various states a message can be in.
MessageTextFieldController
Controller for the StreamTextField widget.
MultipartFile
A file to be uploaded as part of a MultipartRequest. This doesn't need to correspond to a physical file.
Mute
The class that contains the information about a muted user
Namespace
NullStreamSink<T>
A StreamSink that discards all events.
OGAttachmentResponse
Model response for Client.enrichUrl api call.
Options
Every request can pass an Options object which will be merged with Dio.options
OutgoingState
Represents the state of an outgoing message.
OwnUser
The class that defines the own user model.
PagedValue<Key, Value>
Paged value that can be used with PagedValueNotifier.
PagedValueGridView<K, V>
A GridView that loads more pages when the user scrolls to the end of the grid.
PagedValueListView<K, V>
A ListView that loads more pages when the user scrolls to the end of the list.
PagedValueNotifier<Key, Value>
A PagedValueNotifier that uses a PagedListenable to load data.
PaginationParams
Pagination options.
PartialUpdateChannelResponse
Model response for Channel.updatePartial api call
PartialUpdateUserRequest
Request model for the client.partialUpdateUser api call.
PermissionType
Describes capabilities of a user vis-a-vis a channel
Preparing
QueryBannedUsersResponse
Model response for StreamChatClient.queryBannedUsers api call
QueryChannelsResponse
Model response for StreamChatClient.queryChannels api call
QueryMembersResponse
Model response for StreamChatClient.queryChannels api call
QueryReactionsResponse
Model response for channel.getReactions api call
QueryRepliesResponse
Model response for Channel.getReplies api call
QueryUsersResponse
Model response for StreamChatClient.queryUsers api call
Reaction
The class that defines a reaction
Read
The class that defines a read event
RejectInviteResponse
Model response for Channel.rejectInvite api call
RemoveMembersResponse
Model response for Channel.removeMembers api call
RequestOptions
The internal request option class that is the eventual result after BaseOptions and Options are composed.
RestartableTimer
A non-periodic timer that can be restarted any number of times.
Result<T>
The result of a computation.
ResultFuture<T>
A Future wrapper that provides synchronous access to the result of the wrapped Future once it's completed.
SearchMessagesResponse
Model response for StreamChatClient.search api call
SendActionResponse
Model response for Channel.sendAction api call
SendAttachmentResponse
Base Model response for Channel.sendImage and Channel.sendFile api call.
SendFileResponse
Model response for Channel.sendFile api call
Sending
SendingFailed
SendMessageResponse
Model response for Channel.sendMessage api call
SendReactionResponse
Model response for Channel.sendReaction api call
Sent
SingleSubscriptionTransformer<S, T>
A transformer that converts a broadcast stream into a single-subscription stream.
SortOption<T>
Sorting options
StreamAttachmentFileUploader
Stream's default implementation of AttachmentFileUploader
StreamChannel
Widget used to provide information about the channel to the widget tree
StreamChannelListController
A controller for a Channel list.
StreamChannelListEventHandler
Contains handlers that are called from StreamChannelListController for certain Events.
StreamChannelState
StreamChatApi
ApiClient that wraps every other specific api
StreamChatClient
The official Dart client for Stream Chat, a service for building chat applications. This library can be used on any Dart project and on both mobile and web apps with Flutter.
StreamChatCore
Widget used to provide information about the chat to the widget tree. This Widget is used to react to life cycle changes and system updates. When the app goes into the background, the websocket connection is kept alive for two minutes before being terminated.
StreamChatCoreState
State class associated with StreamChatCore.
StreamCloser<T>
A StreamTransformer that allows the caller to forcibly close the transformed Stream.
StreamCompleter<T>
A single-subscription stream where the contents are provided later.
StreamGroup<T>
A collection of streams whose events are unified and sent through a central stream.
StreamMemberListController
A controller for a member list.
StreamMessageInputController
Controller for storing and mutating a Message value.
StreamMessageSearchListController
A controller for a user list.
StreamQueue<T>
An asynchronous pull-based interface for accessing stream events.
StreamQueueTransaction<T>
A transaction on a StreamQueue, created by StreamQueue.startTransaction.
StreamRestorableMessageInputController
A RestorableProperty that knows how to store and restore a StreamMessageInputController.
StreamSinkBase<T>
An abstract class that implements StreamSink in terms of onAdd, onError, and onClose methods.
StreamSinkCompleter<T>
A sink where the destination is provided later.
StreamSinkTransformer<S, T>
A StreamSinkTransformer transforms the events being passed to a sink.
StreamSplitter<T>
A class that splits a single source stream into an arbitrary number of (single-subscription) streams (called "branch") that emit the same events.
StreamUserListController
A controller for a user list.
StreamZip<T>
A stream that combines the values of other streams.
SubscriptionStream<T>
A Stream adapter for a StreamSubscription.
Success
SyncResponse
Model response for StreamChatClient.sync api call
Throttle
Creates a throttled function that only invokes func at most once per every wait milliseconds. The throttled function comes with a Throttle.cancel method to cancel delayed func invocations and a Throttle.flush method to immediately invoke them. Provide leading and/or trailing to indicate whether func should be invoked on the leading and/or trailing edge of the wait timeout. The func is invoked with the last arguments provided to the throttled function. Subsequent calls to the throttled function return the result of the last func invocation.
TranslateMessageResponse
Model response for StreamChatClient.queryChannels api call
UpdateChannelResponse
Model response for Channel.update api call
Updated
UpdateMessageResponse
Model response for StreamChatClient.updateMessage api call
UpdateUsersResponse
Model response for StreamChatClient.updateUser api call
Updating
UpdatingFailed
UploadState
Union class to hold various UploadState of a attachment.
User
Class that defines a Stream Chat User.
Uuid
uuid for Dart Author: Yulian Kuncheff Released under MIT License.
UuidValue
ValueResult<T>
A result representing a returned value.

Enums

ChatErrorCode
Complete list of errors that are returned by the API together with the description and API code.
ConnectionStatus
Used to notify the WS connection status
ConnectivityResult
Connection status check result.
DioExceptionType
The exception enumeration indicates what type of exception has happened during requests.
GiphyInfoType
The different types of quality for a Giphy attachment.
InterceptStep
Step where we're logging
PlatformType
Possible platforms
PushProvider
Provider used to send push notifications.
QueryDirection
Specifies query direction for pagination
ValidationMode
The options for UUID Validation strictness

Extensions

BackOffExtension
Useful rate limiter extensions for Function class.
ChatErrorCodeX
ChunkedStreamReaderByteStreamExt
Extensions for using ChunkedStreamReader with byte-streams.
GiphyInfoX
GiphyInfo extension on Attachment class.
IterableX
Useful extension functions for Iterable
MapX
Useful extension functions for Map
MessageStateX
Helper extension for MessageState.
RateLimit
Useful rate limiter extensions for Function class.
StreamExtensions
Utility extensions on Stream.
StreamSinkExtensions
Extensions on StreamSink to make stream transformations more fluent.
StringX
Useful extension functions for String

Constants

defaultChannelPagedLimit → const int
The default channel page limit to load.
defaultMemberPagedLimit → const int
The default channel page limit to load.
defaultMessageSearchPagedLimit → const int
The default channel page limit to load.
defaultUserPagedLimit → const int
The default channel page limit to load.
incomingTypingStartEventTimeout → const int
The maximum time the incoming Event.typingStart event is valid before a Event.typingStop event is emitted automatically.

Functions

backOff<T>(FutureOr<T> func(), {Duration delayFactor = const Duration(milliseconds: 200), double randomizationFactor = 0.25, Duration maxDelay = const Duration(seconds: 30), int maxAttempts = 8, FutureOr<bool> retryIf(Object error, int attempt)?}) Future<T>
TopLevel lambda to apply BackOff to functions.
chatErrorCodeFromCode(int code) ChatErrorCode?
collectBytes(Stream<List<int>> source) Future<Uint8List>
Collects an asynchronous sequence of byte lists into a single list of bytes.
collectBytesCancelable(Stream<List<int>> source) CancelableOperation<Uint8List>
Collects an asynchronous sequence of byte lists into a single list of bytes.
debounce(Function func, Duration wait, {bool leading = false, bool trailing = true, Duration? maxWait}) Debounce
TopLevel lambda to create Debounce functions.
defaultMessageFilter(String currentUserId) bool Function(Message)
Default filter for the message list
subscriptionTransformer<T>({Future handleCancel(StreamSubscription<T>)?, void handlePause(StreamSubscription<T>)?, void handleResume(StreamSubscription<T>)?}) StreamTransformer<T, T>
Creates a StreamTransformer that modifies the behavior of subscriptions to a stream.
throttle(Function func, Duration wait, {bool leading = true, bool trailing = true}) Throttle
TopLevel lambda to create Throttle functions.
typedStreamTransformer<S, T>(StreamTransformer transformer) StreamTransformer<S, T>
Creates a wrapper that coerces the type of transformer.

Typedefs

AttachmentFileUploaderProvider = AttachmentFileUploader Function(StreamHttpClient httpClient)
Signature for a function which provides instance of AttachmentFileUploader
ErrorBuilder = Widget Function(BuildContext context, Object error)
A signature for a callback which exposes an error and returns a function. This Callback can be used in cases where an API failure occurs and the widget is unable to render data.
ErrorWidgetBuilder = Widget Function(BuildContext context, Object error, StackTrace? stackTrace)
Signature used by StreamChannel.errorBuilder to create a replacement widget for an error that occurs while asynchronously building the channel.
EventHandler = void Function(Event event)
A Signature for a handler function which will expose a event.
LogHandlerFunction = void Function(LogRecord record)
Handler function used for logging records. Function requires a single LogRecord as the only parameter.
LogPrint = void Function(InterceptStep step, Object object)
Function used to print the log
NetworkManagerClientFactory = NetworkManagerClient Function()
PagedValueListenableBuilder<Key, Value> = ValueListenableBuilder<PagedValue<Key, Value>>
Value listenable for paged data.
PagedValueScrollViewIndexedWidgetBuilder<T> = Widget Function(BuildContext context, List<T> values, int index)
Signature for a function that creates a widget for a given index, e.g., in a PagedValueListView and PagedValueGridView.
PagedValueScrollViewLoadMoreErrorBuilder = Widget Function(BuildContext context, StreamChatError error)
Signature for the item builder that creates the children of the PagedValueListView and PagedValueGridView.
ProgressCallback = void Function(int count, int total)
The type of a progress listening callback when sending or receiving data.
SendImageResponse = SendAttachmentResponse
Model response for Channel.sendImage api call
StreamMessageValueListenableBuilder = ValueListenableBuilder<Message>
A value listenable builder related to a Message.
TextStyleBuilder = TextStyle? Function(BuildContext context, String text)
A function that takes a BuildContext and returns a TextStyle.

Exceptions / Errors

DioException
DioException describes the exception info when a request failed.
StreamChatError
StreamChatNetworkError
StreamWebSocketError