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
CancelableCompleter<T>
A completer for a CancelableOperation.
CancelableOperation<T>
An asynchronous operation that can be cancelled. [...]
Channel
This a the 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
ChannelListController
Controller used for loading more data and controlling pagination in ChannelListCore.
ChannelListCore
ChannelListCore is a simplified class that allows fetching a list of channels while exposing UI builders. A ChannelListController is used to reload and paginate data. [...]
ChannelModel
The class that contains the information about a channel
ChannelsBloc
Widget dedicated to the management of a channel list with pagination ChannelsBloc is used together with ChannelListCore to manage a list of Channels with pagination, re-ordering, querying and other operations associated with Channels. [...]
ChannelsBlocState
The current state of the ChannelsBloc.
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.
ClientState
The class that handles the state of the channel listening to the events
Command
The class that contains the information about a command
ConnectGuestUserResponse
Model response for StreamChatClient.connectGuestUser api call
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. [...]
Device
The class that contains the information about a device
EmptyResponse
Model response for empty responses
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
EventType
This class defines some basic event types
Failed
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
InProgress
InviteMembersResponse
Model response for Channel.inviteMembers api call
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
ListHeaderItem
Header Item
ListItem
Represents an item in a the user stream list. Header items are prefixed with the key HEADER While users are prefixed with USER.
ListUserItem
User Item
Logger
Use a Logger to log debug messages. [...]
Member
The class that contains the information about the user membership in a channel
Message
The class that contains the information about a message
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. [...]
MessageSearchBloc
MessageSearchBloc is used to manage a list of messages with pagination. This class can be used to load messages, perform queries, etc. [...]
MessageSearchBlocState
The current state of the MessageSearchBloc
MessageSearchListController
Controller used for paginating data in ChannelListView
MessageSearchListCore
MessageSearchListCore is a simplified class that allows searching for messages across channels while exposing UI builders. A MessageSearchListController is used to load and paginate data. [...]
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
NullStreamSink<T>
A StreamSink that discards all events. [...]
OwnUser
The class that defines the own user model This object can be found in Event
PaginationParams
Pagination options.
PartialUpdateChannelResponse
Model response for Channel.updatePartial api call
Preparing
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
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
SendFileResponse
Model response for Channel.sendFile api call
SendImageResponse
Model response for Channel.sendImage api call
SendMessageResponse
Model response for Channel.sendMessage api call
SendReactionResponse
Model response for Channel.sendReaction api call
SingleSubscriptionTransformer<S, T>
A transformer that converts a broadcast stream into a single-subscription stream. [...]
SortOption<T>
Sorting options
StreamChannel
Widget used to provide information about the channel to the widget tree [...]
StreamChannelState
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.
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. [...]
StreamQueue<T>
An asynchronous pull-based interface for accessing stream events. [...]
StreamQueueTransaction<T>
A transaction on a StreamQueue, created by StreamQueue.startTransaction. [...]
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. [...]
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.resync 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. [...]
TranslatedMessage
A translated message It has an additional property called i18n
TranslateMessageResponse
Model response for StreamChatClient.queryChannels api call
UpdateChannelResponse
Model response for Channel.update api call
UpdateMessageResponse
Model response for StreamChatClient.updateMessage api call
UpdateUsersResponse
Model response for StreamChatClient.updateUser api call
UploadState
Union class to hold various UploadState of a attachment.
User
The class that defines the user model
UserListController
Controller used for paginating data in ChannelListView
UserListCore
UserListCore is a simplified class that allows fetching users while exposing UI builders. A UserListController is used to load and paginate data. [...]
UsersBloc
Widget dedicated to the management of a users list with pagination. [...]
UsersBlocState
The current state of the UsersBloc
ValueResult<T>
A result representing a returned value.

Extensions

RateLimit
Useful rate limiter extensions for Function class.
StringX
Useful extension functions for String
UploadStateX
Helper extension for UploadState

Functions

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.
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. [...]
@Deprecated('Use Stream.cast after binding a transformer instead')

Enums

ConnectionStatus
Used to notify the WS connection status
DioErrorType
MessageSendingStatus
Enum defining the status of a sending message
PushProvider
Provider used to send push notifications.
QueryDirection
Specifies query direction for pagination

Typedefs

DecoderFunction<T>(Map<String, dynamic>) → T
Used for decoding Map data to a generic type T.
ErrorBuilder(BuildContext context, Object error) Widget
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.
EventHandler(Event event) → void
A Signature for a handler function which will expose a event.
LogHandlerFunction(LogRecord record) → void
Handler function used for logging records. Function requires a single LogRecord as the only parameter.
ProgressCallback(int count, int total) → void
Callback to listen the progress for sending/receiving data. [...]
TokenProvider(String userId) Future<String>
A function which can be used to request a Stream Chat API token from your own backend server. Function requires a single userId.

Exceptions / Errors

DioError
DioError describes the error info when request failed.