This commit is contained in:
94
G102-sequence/sdk/package/dist/esm/index.js
vendored
Normal file
94
G102-sequence/sdk/package/dist/esm/index.js
vendored
Normal file
@@ -0,0 +1,94 @@
|
||||
/**
|
||||
* 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} />;
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
// =============================================================================
|
||||
// CORE SDK
|
||||
// =============================================================================
|
||||
export { GameIframeSDK, createGameIframeSDK, getGameIframeSDK, destroyGameIframeSDK, } from './GameIframeSDK';
|
||||
// =============================================================================
|
||||
// LAYERS (for advanced usage)
|
||||
// =============================================================================
|
||||
export { MessageHandler } from './MessageHandler';
|
||||
export { MessageSender } from './MessageSender';
|
||||
export { EventEmitter } from './EventEmitter';
|
||||
// Mappers removed - mapped data should be handled by the application
|
||||
// =============================================================================
|
||||
// =============================================================================
|
||||
// REACT HOOK
|
||||
// =============================================================================
|
||||
export { useGameIframeSDK } from './useGameIframeSDK';
|
||||
// =============================================================================
|
||||
// TYPES
|
||||
// =============================================================================
|
||||
export {
|
||||
// Message Types
|
||||
MESSAGE_TYPES, DEFAULT_CONFIG, } from './types';
|
||||
// =============================================================================
|
||||
// KIT (Helper Mappers, API, Components)
|
||||
// =============================================================================
|
||||
import * as Kit from './kit';
|
||||
export { Kit };
|
||||
// =============================================================================
|
||||
// CLIENT SDK (for Game Iframe - used by game developers)
|
||||
// =============================================================================
|
||||
import * as Client from './client';
|
||||
export { Client };
|
||||
export { GameClientSDK, getGameClientSDK, destroyGameClientSDK, } from './client';
|
||||
// =============================================================================
|
||||
// SDK IFRAME (Hidden iframe - runs on separate domain for security)
|
||||
// =============================================================================
|
||||
import * as SdkIframe from './sdk-iframe';
|
||||
export { SdkIframe };
|
||||
export { SdkIframeCore, SDK_MESSAGE_TYPES, } from './sdk-iframe';
|
||||
// =============================================================================
|
||||
// GAME BRIDGE (For game developers - communicates with SDK Iframe)
|
||||
// =============================================================================
|
||||
import * as GameBridgeModule from './game-bridge';
|
||||
export { GameBridgeModule };
|
||||
export { GameBridge, getGameBridge, destroyGameBridge, } from './game-bridge';
|
||||
//# sourceMappingURL=index.js.map
|
||||
Reference in New Issue
Block a user