@adyen/react-native
Version:
Wraps Adyen Checkout Drop-In and Components for iOS and Android for convenient use with React Native
45 lines (44 loc) • 2.31 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.withAdyenIos = void 0;
const config_plugins_1 = require("@expo/config-plugins");
const setEntitlements_1 = require("./setEntitlements");
const setImport_1 = require("./setImport");
const setApplicationOpenUrl_1 = require("./setApplicationOpenUrl");
const setApplicationContinueUserActivity_1 = require("./setApplicationContinueUserActivity");
const setImportSwift_1 = require("./setImportSwift");
const setApplicationOpenUrlSwift_1 = require("./setApplicationOpenUrlSwift");
const setApplicationContinueUserActivitySwift_1 = require("./setApplicationContinueUserActivitySwift");
const withAdyenIos = (config, { merchantIdentifier, useFrameworks }) => {
config = (0, config_plugins_1.withAppDelegate)(config, (newConfig) => {
var appDelegate = newConfig.modResults.contents;
if (appDelegate.includes('ADYRedirectComponent') ||
appDelegate.includes('import Adyen')) {
return newConfig;
}
// Detect if it's Swift or Objective-C
const isSwift = appDelegate.includes('import Expo') ||
appDelegate.includes('import UIKit');
if (isSwift) {
appDelegate = (0, setImportSwift_1.setImportSwift)(appDelegate);
appDelegate = (0, setApplicationOpenUrlSwift_1.setApplicationOpenUrlSwift)(appDelegate);
appDelegate = (0, setApplicationContinueUserActivitySwift_1.setApplicationContinueUserActivitySwift)(appDelegate);
}
else {
appDelegate = (0, setImport_1.setImport)(appDelegate, useFrameworks);
appDelegate = (0, setApplicationOpenUrl_1.setApplicationOpenUrl)(appDelegate);
appDelegate = (0, setApplicationContinueUserActivity_1.setApplicationContinueUserActivity)(appDelegate);
}
newConfig.modResults.contents = appDelegate;
return newConfig;
});
if (merchantIdentifier) {
config = (0, config_plugins_1.withEntitlementsPlist)(config, (newConfig) => {
const entitlements = newConfig.modResults;
newConfig.modResults = (0, setEntitlements_1.setEntitlements)(entitlements, merchantIdentifier);
return newConfig;
});
}
return config;
};
exports.withAdyenIos = withAdyenIos;
;