UNPKG

@amityco/ts-sdk-react-native

Version:

Amity Social Cloud Typescript SDK

25 lines 1.69 kB
import { PaginationController } from './PaginationController'; import { PaginationNoPageController } from './PaginationNoPageController'; export declare abstract class LiveCollectionController<TPayloadDomain extends keyof Amity.Payloads, TQueryParams, TPublicPayload extends Record<string, unknown>, TPaginationController extends PaginationController<TPayloadDomain, TQueryParams> | PaginationNoPageController<TPayloadDomain, TQueryParams>> { protected paginationController: TPaginationController; protected queryStreamId: string; protected cacheKey: string[]; protected callback: Amity.LiveCollectionCallback<TPublicPayload>; protected snapshot: TPublicPayload[] | undefined; constructor(paginationController: TPaginationController, queryStreamId: string, cacheKey: string[], callback: Amity.LiveCollectionCallback<TPublicPayload>); private refresh; protected loadPage({ initial, direction, }: { initial?: boolean; direction?: Amity.LiveCollectionPageDirection; }): void; protected abstract setup(): void; loadNextPage(): Promise<void>; loadPrevPage(): Promise<void>; protected abstract persistModel(response: Amity.Payloads[TPayloadDomain] & Partial<Amity.Pagination>): Promise<void> | void; protected abstract persistQueryStream({ response, direction, refresh, }: Amity.LiveCollectionPersistQueryStreamParams<TPayloadDomain>): void; abstract startSubscription(): Amity.Unsubscriber[]; abstract notifyChange(params: Amity.LiveCollectionNotifyParams): void; protected shouldNotify(data: TPublicPayload[]): boolean; getCacheKey(): string[]; } //# sourceMappingURL=LiveCollectionController.d.ts.map