@adyen/react-native
Version:
Wraps Adyen Checkout Drop-In and Components for iOS and Android for convenient use with React Native
48 lines (47 loc) • 2.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.withAdyenIos = void 0;
var _configPlugins = require("@expo/config-plugins");
var _setEntitlements = require("./setEntitlements");
var _setImport = require("./setImport");
var _setApplicationOpenUrl = require("./setApplicationOpenUrl");
var _setApplicationContinueUserActivity = require("./setApplicationContinueUserActivity");
var _setImportSwift = require("./setImportSwift");
var _setApplicationOpenUrlSwift = require("./setApplicationOpenUrlSwift");
var _setApplicationContinueUserActivitySwift = require("./setApplicationContinueUserActivitySwift");
const withAdyenIos = (config, {
merchantIdentifier,
useFrameworks
}) => {
config = (0, _configPlugins.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.setImportSwift)(appDelegate);
appDelegate = (0, _setApplicationOpenUrlSwift.setApplicationOpenUrlSwift)(appDelegate);
appDelegate = (0, _setApplicationContinueUserActivitySwift.setApplicationContinueUserActivitySwift)(appDelegate);
} else {
appDelegate = (0, _setImport.setImport)(appDelegate, useFrameworks);
appDelegate = (0, _setApplicationOpenUrl.setApplicationOpenUrl)(appDelegate);
appDelegate = (0, _setApplicationContinueUserActivity.setApplicationContinueUserActivity)(appDelegate);
}
newConfig.modResults.contents = appDelegate;
return newConfig;
});
if (merchantIdentifier) {
config = (0, _configPlugins.withEntitlementsPlist)(config, newConfig => {
const entitlements = newConfig.modResults;
newConfig.modResults = (0, _setEntitlements.setEntitlements)(entitlements, merchantIdentifier);
return newConfig;
});
}
return config;
};
exports.withAdyenIos = withAdyenIos;
//# sourceMappingURL=withAdyenIos.js.map