UNPKG

@applicaster/zapp-react-native-bridge

Version:

Applicaster Zapp React Native modules

46 lines (38 loc) 1.16 kB
import { NativeModules } from "react-native"; interface PushBridgeInterface { registerTags: (tags: string[]) => Promise<void>; unregisterTags: (tags: string[]) => Promise<void>; getRegisteredTags: () => Promise<string[]>; } // eslint-disable-next-line prefer-promise-reject-errors const nullPromise = () => Promise.reject("Push Notification bridge is null"); const defaultPushNotification = { registerTags: nullPromise, unregisterTags: nullPromise, getRegisteredTags: nullPromise, }; const { PushBridge = defaultPushNotification } = NativeModules as { PushBridge: PushBridgeInterface; }; export const pushBridge = { /** * Register push tags to push notification provider * @param {String} tags Tags array to register */ async registerTags(tags) { return PushBridge.registerTags(tags); }, /** * Unregister push tags to push notification provider * @param {String} tags Tags array to register */ async unregisterTags(tags) { return PushBridge.unregisterTags(tags); }, /** * Retrieve tags from push providers */ async getRegisteredTags() { return PushBridge.getRegisteredTags(); }, };