UNPKG

react-native-grovs-wrapper

Version:
58 lines (55 loc) 2.04 kB
"use strict"; import { TurboModuleRegistry, NativeEventEmitter } from 'react-native'; import { log } from "./Logger.js"; // Get the native module from RN's registry const NativeModule = TurboModuleRegistry.get('GrovsWrapper'); if (!NativeModule) { log('info', 'Turbo module - Native module react-native-grovs-wrapper is not linked properly.'); throw new Error('Native module react-native-grovs-wrapper is not linked properly.'); } export class TurboModuleGrovs { // Simple methods setIdentifier(identifier) { NativeModule?.setIdentifier(identifier); } setPushToken(pushToken) { NativeModule?.setPushToken(pushToken); } setAttributes(attributes) { NativeModule?.setAttributes(attributes); } setSDK(enabled) { NativeModule?.setSDK(enabled); } setDebug(level) { NativeModule?.setDebug(level); } async generateLink(title, subtitle, imageURL, data, tags, customRedirects, showPreviewIos, showPreviewAndroid, tracking) { if (!NativeModule) { throw new Error('Native module GrovsWrapper is not linked'); } return NativeModule?.generateLink(title, subtitle, imageURL, data, tags, customRedirects, showPreviewIos, showPreviewAndroid, tracking); } async displayMessages() { return NativeModule?.displayMessages(); } async numberOfUnreadMessages() { if (!NativeModule) { throw new Error('Native module GrovsWrapper is not linked'); } return NativeModule?.numberOfUnreadMessages(); } // Event subscription wrapper onDeeplinkReceived(callback) { const eventEmitter = NativeModule == null ? null : new NativeEventEmitter(NativeModule); log('info', 'Turbo module - registering callback'); const subscription = eventEmitter?.addListener('onGrovsDeeplinkReceived', callback); NativeModule?.markReadyToHandleDeeplinks(); return { remove: () => subscription?.remove() }; } } // Export a singleton instance if that fits your architecture export default new TurboModuleGrovs(); //# sourceMappingURL=NativeGrovsWrapper.js.map