react-native-share
Version:
Social share, sending simple data to other apps.
43 lines (42 loc) • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const expo_build_properties_1 = require("expo-build-properties");
/**
* Handles for edge case when LSApplicationQueriesSchemes is an object or undefined.
*/
const getIOSQuerySchemes = (config) => {
return Array.isArray(config.ios?.infoPlist?.LSApplicationQueriesSchemes)
? config.ios?.infoPlist?.LSApplicationQueriesSchemes ?? []
: [];
};
exports.default = (config, props) => {
return (0, expo_build_properties_1.withBuildProperties)({
...config,
android: {
...config.android,
...(props.enableBase64ShareAndroid
? {
permissions: [
...new Set([
...(config.android?.permissions ?? []),
'android.permission.WRITE_EXTERNAL_STORAGE',
]),
],
}
: {}),
},
ios: {
...config.ios,
infoPlist: {
...config.ios?.infoPlist,
LSApplicationQueriesSchemes: [...getIOSQuerySchemes(config), ...(props?.ios ?? [])],
},
},
}, {
android: {
manifestQueries: {
package: props.android ?? [],
},
},
});
};