UNPKG

expo-branch

Version:

A unimodule wrapping react-native-branch, enabling its use in Expo managed workflow

32 lines (31 loc) 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setBranchApiKey = exports.getBranchApiKey = exports.withBranchAndroid = void 0; const config_plugins_1 = require("expo/config-plugins"); const { addMetaDataItemToMainApplication, getMainApplicationOrThrow, removeMetaDataItemFromMainApplication, } = config_plugins_1.AndroidConfig.Manifest; const META_BRANCH_KEY = 'io.branch.sdk.BranchKey'; const withBranchAndroid = (config) => { return (0, config_plugins_1.withAndroidManifest)(config, (config) => { config.modResults = setBranchApiKey(config, config.modResults); return config; }); }; exports.withBranchAndroid = withBranchAndroid; function getBranchApiKey(config) { return config.android?.config?.branch?.apiKey ?? null; } exports.getBranchApiKey = getBranchApiKey; function setBranchApiKey(config, androidManifest) { const apiKey = getBranchApiKey(config); const mainApplication = getMainApplicationOrThrow(androidManifest); if (apiKey) { // If the item exists, add it back addMetaDataItemToMainApplication(mainApplication, META_BRANCH_KEY, apiKey); } else { // Remove any existing item removeMetaDataItemFromMainApplication(mainApplication, META_BRANCH_KEY); } return androidManifest; } exports.setBranchApiKey = setBranchApiKey;