@replyke/core
Version:
Replyke: Build interactive apps with social features like comments, votes, feeds, user lists, notifications, and more.
45 lines (44 loc) • 2.11 kB
TypeScript
import { EntityListSortByOptions, SortByReaction, SortDirection, SortType } from "../../interfaces/EntityListSortByOptions";
import { Entity, EntityIncludeParam } from "../../interfaces/models/Entity";
import { TimeFrame } from "../../interfaces/TimeFrame";
import { KeywordsFilters } from "../../interfaces/entity-filters/KeywordsFilters";
import { TitleFilters } from "../../interfaces/entity-filters/TitleFilters";
import { ContentFilters } from "../../interfaces/entity-filters/ContentFilters";
import { AttachmentsFilters } from "../../interfaces/entity-filters/AttachmentsFilters";
import { LocationFilters } from "../../interfaces/entity-filters/LocationFilters";
import { MetadataFilters } from "../../interfaces/entity-filters/MetadataFilters";
export interface UseFetchManyEntitiesWrapperProps {
userId?: string | null;
limit?: number;
sourceId?: string | null;
spaceId?: string | null;
followedOnly?: boolean;
include?: EntityIncludeParam;
defaultSortBy?: EntityListSortByOptions;
defaultSortByReaction?: SortByReaction;
defaultSortDir?: SortDirection;
defaultSortType?: SortType;
timeFrame?: TimeFrame | null;
keywordsFilters?: KeywordsFilters | null;
titleFilters?: TitleFilters | null;
contentFilters?: ContentFilters | null;
attachmentsFilters?: AttachmentsFilters | null;
locationFilters?: LocationFilters | null;
metadataFilters?: MetadataFilters | null;
}
export interface UseFetchManyEntitiesWrapperValues {
entities: Entity[];
loading: boolean;
hasMore: boolean;
sortBy: EntityListSortByOptions;
sortByReaction: SortByReaction;
sortDir: SortDirection;
sortType: SortType;
setSortBy: (newSortBy: EntityListSortByOptions) => void;
setSortByReaction: (newSortByReaction: SortByReaction) => void;
setSortDir: (newSortDir: SortDirection) => void;
setSortType: (newSortType: SortType) => void;
loadMore: () => void;
}
declare function useFetchManyEntitiesWrapper(props: UseFetchManyEntitiesWrapperProps): UseFetchManyEntitiesWrapperValues;
export default useFetchManyEntitiesWrapper;