mediasfu-reactjs
Version:
MediaSFU Prebuilt ReactJS SDK - Compatible with React 18 & 19, TypeScript & JavaScript
64 lines • 3.04 kB
TypeScript
import { Participant, Stream, DispStreamsType, DispStreamsParameters } from '../@types/types';
export interface GeneratePageContentParameters extends DispStreamsParameters {
paginatedStreams: (Participant | Stream)[][];
currentUserPage: number;
updateMainWindow: boolean;
updateCurrentUserPage: (page: number) => void;
updateUpdateMainWindow: (flag: boolean) => void;
dispStreams: DispStreamsType;
getUpdatedAllParams: () => GeneratePageContentParameters;
[key: string]: any;
}
export interface GeneratePageContentOptions {
page: number | string;
parameters: GeneratePageContentParameters;
breakRoom?: number;
inBreakRoom?: boolean;
}
export type GeneratePageContentType = (options: GeneratePageContentOptions) => Promise<void>;
/**
* Generates the content for a specific page.
*
* @param {GeneratePageContentOptions} options - The options for generating page content.
* @param {number | string} options.page - The page number to generate content for.
* @param {GeneratePageContentParameters} options.parameters - The parameters required for generating content.
* @param {Array} options.parameters.paginatedStreams - The streams to be paginated.
* @param {number} options.parameters.currentUserPage - The current page of the user.
* @param {Function} options.parameters.updateMainWindow - Function to update the main window flag.
* @param {Function} options.parameters.updateCurrentUserPage - Function to update the current user page.
* @param {Function} options.parameters.updateUpdateMainWindow - Function to update the main window update flag.
* @param {Function} options.parameters.dispStreams - Function to display streams for the specified page.
* @param {number} [options.breakRoom=-1] - The break room identifier.
* @param {boolean} [options.inBreakRoom=false] - Flag indicating if the user is in a break room.
*
* @returns {Promise<void>} A promise that resolves when the content generation is complete.
*
* @throws {Error} Throws an error if content generation fails.
*
* @example
* const options = {
* page: 1,
* parameters: {
* paginatedStreams: [[stream1, stream2], [stream3, stream4]], // Example paginated streams
* currentUserPage: 0,
* updateMainWindow: true,
* updateCurrentUserPage: (page) => console.log('Current user page updated to:', page),
* updateUpdateMainWindow: (flag) => console.log('Main window update flag:', flag),
* dispStreams: async ({ lStreams, ind }) => {
* console.log(`Displaying streams for page ${ind}:`, lStreams);
* },
* },
* breakRoom: 1,
* inBreakRoom: false,
* };
*
* generatePageContent(options)
* .then(() => {
* console.log('Page content generated successfully');
* })
* .catch((error) => {
* console.error('Error generating page content:', error);
* });
*/
export declare function generatePageContent({ page, parameters, breakRoom, inBreakRoom, }: GeneratePageContentOptions): Promise<void>;
//# sourceMappingURL=generatePageContent.d.ts.map