diff --git a/src/internal/NoCodesInternal.ts b/src/internal/NoCodesInternal.ts index c05b8bd7..6bf95af5 100644 --- a/src/internal/NoCodesInternal.ts +++ b/src/internal/NoCodesInternal.ts @@ -6,10 +6,15 @@ import type {PurchaseDelegate} from '../dto/PurchaseDelegate'; import ScreenPresentationConfig from '../dto/ScreenPresentationConfig'; import NoCodesError from '../dto/NoCodesError'; import {NoCodesErrorCode, NoCodesTheme} from '../dto/enums'; -import RNNoCodes, {type NoCodeEvent} from './specs/NativeNoCodesModule'; +import RNNoCodes from './specs/NativeNoCodesModule'; import {sdkSource, sdkVersion} from './QonversionInternal'; import Product from '../dto/Product'; +type NoCodeEvent = { + name: string; + payload: QNoCodeAction | QNoCodesError | QNoCodeScreenInfo | undefined; +}; + const EVENT_SCREEN_SHOWN = "nocodes_screen_shown"; const EVENT_FINISHED = "nocodes_finished"; const EVENT_ACTION_STARTED = "nocodes_action_started"; @@ -46,7 +51,8 @@ export default class NoCodesInternal implements NoCodesApi { await RNNoCodes.close(); } - private noCodeEventHandler = (event: NoCodeEvent) => { + private noCodeEventHandler = (rawEvent: Object) => { + const event = rawEvent as NoCodeEvent; switch (event.name) { case EVENT_SCREEN_SHOWN: const screenId = (event.payload as QNoCodeScreenInfo)["screenId"] ?? ""; diff --git a/src/internal/specs/NativeNoCodesModule.ts b/src/internal/specs/NativeNoCodesModule.ts index b93a4377..073c6d39 100644 --- a/src/internal/specs/NativeNoCodesModule.ts +++ b/src/internal/specs/NativeNoCodesModule.ts @@ -1,12 +1,6 @@ import type { TurboModule } from 'react-native'; import { TurboModuleRegistry } from 'react-native'; import type { EventEmitter } from 'react-native/Libraries/Types/CodegenTypes'; -import type { QNoCodeAction, QNoCodesError, QNoCodeScreenInfo } from '../Mapper'; - -export type NoCodeEvent = { - name: string; - payload: QNoCodeAction | QNoCodesError | QNoCodeScreenInfo | undefined; -}; export interface Spec extends TurboModule { initialize(projectKey: string, source: string, version: string, proxyUrl?: string, locale?: string, theme?: string): void; @@ -23,7 +17,7 @@ export interface Spec extends TurboModule { delegatedRestoreCompleted(): void; delegatedRestoreFailed(errorMessage: string): void; - readonly onNoCodeEvent: EventEmitter; + readonly onNoCodeEvent: EventEmitter; // NoCodeEvent (defined in NoCodesInternal.ts) readonly onNoCodePurchase: EventEmitter; // QProduct readonly onNoCodeRestore: EventEmitter; }