Skip to content

Commit eebd947

Browse files
authored
Merge pull request #446 from qonversion/nch/fix-nocodes-turbomodule-codegen
Fix NoCodes TurboModule spec failing Codegen on React Native 0.84+
2 parents 7a269d0 + d98f635 commit eebd947

2 files changed

Lines changed: 9 additions & 9 deletions

File tree

src/internal/NoCodesInternal.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,15 @@ import type {PurchaseDelegate} from '../dto/PurchaseDelegate';
66
import ScreenPresentationConfig from '../dto/ScreenPresentationConfig';
77
import NoCodesError from '../dto/NoCodesError';
88
import {NoCodesErrorCode, NoCodesTheme} from '../dto/enums';
9-
import RNNoCodes, {type NoCodeEvent} from './specs/NativeNoCodesModule';
9+
import RNNoCodes from './specs/NativeNoCodesModule';
1010
import {sdkSource, sdkVersion} from './QonversionInternal';
1111
import Product from '../dto/Product';
1212

13+
type NoCodeEvent = {
14+
name: string;
15+
payload: QNoCodeAction | QNoCodesError | QNoCodeScreenInfo | undefined;
16+
};
17+
1318
const EVENT_SCREEN_SHOWN = "nocodes_screen_shown";
1419
const EVENT_FINISHED = "nocodes_finished";
1520
const EVENT_ACTION_STARTED = "nocodes_action_started";
@@ -46,7 +51,8 @@ export default class NoCodesInternal implements NoCodesApi {
4651
await RNNoCodes.close();
4752
}
4853

49-
private noCodeEventHandler = (event: NoCodeEvent) => {
54+
private noCodeEventHandler = (rawEvent: Object) => {
55+
const event = rawEvent as NoCodeEvent;
5056
switch (event.name) {
5157
case EVENT_SCREEN_SHOWN:
5258
const screenId = (event.payload as QNoCodeScreenInfo)["screenId"] ?? "";

src/internal/specs/NativeNoCodesModule.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
11
import type { TurboModule } from 'react-native';
22
import { TurboModuleRegistry } from 'react-native';
33
import type { EventEmitter } from 'react-native/Libraries/Types/CodegenTypes';
4-
import type { QNoCodeAction, QNoCodesError, QNoCodeScreenInfo } from '../Mapper';
5-
6-
export type NoCodeEvent = {
7-
name: string;
8-
payload: QNoCodeAction | QNoCodesError | QNoCodeScreenInfo | undefined;
9-
};
104

115
export interface Spec extends TurboModule {
126
initialize(projectKey: string, source: string, version: string, proxyUrl?: string, locale?: string, theme?: string): void;
@@ -23,7 +17,7 @@ export interface Spec extends TurboModule {
2317
delegatedRestoreCompleted(): void;
2418
delegatedRestoreFailed(errorMessage: string): void;
2519

26-
readonly onNoCodeEvent: EventEmitter<NoCodeEvent>;
20+
readonly onNoCodeEvent: EventEmitter<Object>; // NoCodeEvent (defined in NoCodesInternal.ts)
2721
readonly onNoCodePurchase: EventEmitter<Object>; // QProduct
2822
readonly onNoCodeRestore: EventEmitter<void>;
2923
}

0 commit comments

Comments
 (0)