UNPKG

react-native-integrate

Version:

Automate integration of additional code into React Native projects

38 lines (37 loc) 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addMapsCapability = addMapsCapability; const constants_1 = require("../../constants"); const applyObjectModification_1 = require("../../utils/applyObjectModification"); const plistTask_1 = require("../plistTask"); function addMapsCapability(args) { let plistContent = (0, plistTask_1.readPListContent)(args.targetName, constants_1.Constants.PLIST_FILE_NAME, true); const capabilityValues = { CFBundleDocumentTypes: [ { CFBundleTypeName: 'MKDirectionsRequest', LSItemContentTypes: ['com.apple.maps.directionsrequest'], }, ], MKDirectionsApplicationSupportedModes: args.routing.map(x => mapsCapabilityRouting[x]), }; plistContent = (0, applyObjectModification_1.applyObjectModification)(plistContent, { set: capabilityValues, strategy: 'merge_distinct', }); (0, plistTask_1.writePListContent)(plistContent, args.targetName); } const mapsCapabilityRouting = { bike: 'MKDirectionsModeBike', bus: 'MKDirectionsModeBus', car: 'MKDirectionsModeCar', ferry: 'MKDirectionsModeFerry', other: 'MKDirectionsModeOther', pedestrian: 'MKDirectionsModePedestrian', plane: 'MKDirectionsModePlane', 'ride-share': 'MKDirectionsModeRideShare', 'street-car': 'MKDirectionsModeStreetCar', subway: 'MKDirectionsModeSubway', taxi: 'MKDirectionsModeTaxi', train: 'MKDirectionsModeTrain', };