-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathNativeNoCodesModule.ts
More file actions
31 lines (26 loc) · 1.29 KB
/
NativeNoCodesModule.ts
File metadata and controls
31 lines (26 loc) · 1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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;
setScreenPresentationConfig(configData: Object, contextKey?: string): Promise<boolean>;
showScreen(contextKey: string): Promise<boolean>;
close(): Promise<boolean>;
setPurchaseDelegate(): void;
setLocale(locale: string | null): void;
setTheme(theme: string): void;
// Methods to notify native code about purchase/restore results
delegatedPurchaseCompleted(): void;
delegatedPurchaseFailed(errorMessage: string): void;
delegatedRestoreCompleted(): void;
delegatedRestoreFailed(errorMessage: string): void;
readonly onNoCodeEvent: EventEmitter<NoCodeEvent>;
readonly onNoCodePurchase: EventEmitter<Object>; // QProduct
readonly onNoCodeRestore: EventEmitter<void>;
}
export default TurboModuleRegistry.getEnforcing<Spec>('RNNoCodes');