UNPKG

react-native-expo-moengage

Version:

MoEngage Expo plugin for integrating MoEngage React-Native SDK

38 lines (37 loc) 1.75 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const config_plugins_1 = require("@expo/config-plugins"); const withMoEngageAndroid_1 = __importDefault(require("./android/withMoEngageAndroid")); const apple_1 = require("./apple"); const defaultProps = { android: { disableMoEngageDefaultBackupFile: false, isExpoNotificationIntegration: false, shouldIncludeMoEngageFirebaseMessagingService: false, includeFirebaseMessagingDependencies: false, configFilePath: 'assets/moengage/android_initilisation_config.xml', }, apple: { configFilePath: 'assets/moengage/MoEngage-Config.plist', pushNotificationImpressionTrackingEnabled: true, richPushNotificationEnabled: false, pushTemplatesEnabled: false, deviceTriggerEnabled: false, liveActivityTargetPath: '', }, }; /** * Configure MoEngage SDK in your Expo app */ const withMoEngage = (config, props) => { // Apply default values or handle undefined props const pluginProps = props ? Object.assign(Object.assign(Object.assign({}, defaultProps), props), { android: Object.assign(Object.assign({}, defaultProps.android), props.android), apple: Object.assign(Object.assign({}, defaultProps.apple), props.apple) }) : defaultProps; config = (0, withMoEngageAndroid_1.default)(config, pluginProps); config = (0, apple_1.withMoEngageIos)(config, pluginProps); return config; }; const pkg = require('../package.json'); exports.default = (0, config_plugins_1.createRunOncePlugin)(withMoEngage, pkg.name, pkg.version);