Files
sentence1/G102-sequence/sdk/package/dist/index.d.ts
lubukhu 65fd0158a3
All checks were successful
Deploy to Production / deploy (push) Successful in 8s
up
2026-01-24 13:35:11 +07:00

69 lines
3.1 KiB
TypeScript

/**
* Game Iframe SDK - Main Entry Point
*
* @packageDocumentation
* @module game-iframe-sdk
*
* Architecture:
* - types.ts: Type definitions
* - mappers.ts: Data transformation/mapping
* - EventEmitter.ts: Simple typed event emitter
* - MessageHandler.ts: Handle incoming messages from iframe
* - MessageSender.ts: Send messages to iframe
* - GameIframeSDK.ts: Main SDK (composes above layers)
* - useGameIframeSDK.ts: React hook
*
* @example Browser/Vanilla JS
* ```typescript
* import { GameIframeSDK } from 'game-iframe-sdk';
*
* const sdk = new GameIframeSDK({
* iframeOrigin: 'http://senaai.vn:1357',
* debug: true
* });
*
* sdk.setIframe(document.getElementById('gameIframe'));
*
* sdk.on('gameReady', () => {
* sdk.sendGameData({ game_id: 'xxx', user_id: 'yyy', questions: [...] });
* });
* ```
*
* @example React
* ```tsx
* import { useGameIframeSDK } from 'game-iframe-sdk';
*
* function GamePlayer() {
* const iframeRef = useRef<HTMLIFrameElement>(null);
*
* const { isReady, sendGameData } = useGameIframeSDK({
* iframeRef,
* iframeOrigin: 'http://senaai.vn:1357',
* onAnswerReport: (data) => submitToServer(data),
* });
*
* return <iframe ref={iframeRef} src={gameUrl} />;
* }
* ```
*/
export { GameIframeSDK, createGameIframeSDK, getGameIframeSDK, destroyGameIframeSDK, } from './GameIframeSDK';
export { MessageHandler } from './MessageHandler';
export type { MessageHandlerConfig, MessageHandlerEvents } from './MessageHandler';
export { MessageSender } from './MessageSender';
export type { MessageSenderConfig, SendResult } from './MessageSender';
export { EventEmitter } from './EventEmitter';
export { useGameIframeSDK } from './useGameIframeSDK';
export type { UseGameIframeSDKOptions, UseGameIframeSDKReturn } from './useGameIframeSDK';
export { MESSAGE_TYPES, type MessageType, type PushDataPayload, type CompletedQuestionInfo, type AnswerReportData, type FinalResultData, type LeaderboardPlayer, type LeaderboardData, type GameIframeSDKConfig, DEFAULT_CONFIG, type SDKEvents, type SDKEventName, type SDKEventHandler, } from './types';
import * as Kit from './kit';
export { Kit };
import * as Client from './client';
export { Client };
export { GameClientSDK, getGameClientSDK, destroyGameClientSDK, type ClientMode, type ClientSDKConfig, type URLParams, type GameDataPayload, type AnswerResult as ClientAnswerResult, type FinalResult as ClientFinalResult, type ClientSDKEvents, } from './client';
import * as SdkIframe from './sdk-iframe';
export { SdkIframe };
export { SdkIframeCore, SDK_MESSAGE_TYPES, type SdkMessageType, type SdkMessage, type SdkInitPayload, type SdkPushDataPayload, type SdkCheckAnswerPayload, type SdkReadyPayload, type SdkDataReadyPayload, type SdkAnswerResultPayload, type SdkSyncStatusPayload, type SdkSyncErrorPayload, type SdkFinalResultPayload, type SdkErrorPayload, } from './sdk-iframe';
import * as GameBridgeModule from './game-bridge';
export { GameBridgeModule };
export { GameBridge, getGameBridge, destroyGameBridge, type GameBridgeConfig, type GameBridgeEvents, } from './game-bridge';
//# sourceMappingURL=index.d.ts.map