@mj-studio/react-native-naver-map
Version:
Naver Map Component for React Native
52 lines (51 loc) • 2.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/* eslint-disable @typescript-eslint/no-shadow */
var config_plugins_1 = require("@expo/config-plugins");
var withNaverMap = function (config, _a) {
var client_id = _a.client_id, _b = _a.android, android = _b === void 0 ? {} : _b, _c = _a.ios, ios = _c === void 0 ? {} : _c;
config = (0, config_plugins_1.withInfoPlist)(config, function (config) {
var _a;
config.modResults.NMFNcpKeyId = client_id;
config.modResults.NMFClientId = client_id; // For legacy AI Naver API, https://www.ncloud.com/support/notice/all/1930?searchKeyword=map&page=1
if (ios.NSLocationAlwaysAndWhenInUseUsageDescription) {
config.modResults.NSLocationAlwaysAndWhenInUseUsageDescription =
ios.NSLocationAlwaysAndWhenInUseUsageDescription;
}
if (ios.NSLocationWhenInUseUsageDescription) {
config.modResults.NSLocationAlwaysUsageDescription =
ios.NSLocationWhenInUseUsageDescription;
}
if (ios.NSLocationTemporaryUsageDescriptionDictionary) {
var _b = ios.NSLocationTemporaryUsageDescriptionDictionary, purposeKey = _b.purposeKey, usageDescription = _b.usageDescription;
config.modResults.NSLocationTemporaryUsageDescriptionDictionary = (_a = {},
_a[purposeKey] = usageDescription,
_a);
}
return config;
});
config = (0, config_plugins_1.withAndroidManifest)(config, function (config) {
var mainApplication = config_plugins_1.AndroidConfig.Manifest.getMainApplicationOrThrow(config.modResults);
var clientIdMetadataKeys = [
'com.naver.maps.map.NCP_KEY_ID',
'com.naver.maps.map.CLIENT_ID', // For legacy AI Naver API, https://www.ncloud.com/support/notice/all/1930?searchKeyword=map&page=1
];
clientIdMetadataKeys.forEach(function (metadataKey) {
config_plugins_1.AndroidConfig.Manifest.addMetaDataItemToMainApplication(mainApplication, metadataKey, client_id);
});
return config;
});
config = config_plugins_1.AndroidConfig.Permissions.withPermissions(config, [
android.ACCESS_FINE_LOCATION
? 'android.permission.ACCESS_FINE_LOCATION'
: '',
android.ACCESS_COARSE_LOCATION
? 'android.permission.ACCESS_COARSE_LOCATION'
: '',
android.ACCESS_BACKGROUND_LOCATION
? 'android.permission.ACCESS_BACKGROUND_LOCATION'
: '',
].filter(Boolean));
return config;
};
exports.default = withNaverMap;