react-native-integrate
Version:
Automate integration of additional code into React Native projects
23 lines (22 loc) • 947 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.addGCCapability = addGCCapability;
const constants_1 = require("../../constants");
const applyObjectModification_1 = require("../../utils/applyObjectModification");
const plistTask_1 = require("../plistTask");
function addGCCapability(args) {
let plistContent = (0, plistTask_1.readPListContent)(args.targetName, constants_1.Constants.PLIST_FILE_NAME, true);
const capabilityValues = {
GCSupportedGameControllers: args.controllers.map(x => mapsCapabilityRouting[x]),
};
plistContent = (0, applyObjectModification_1.applyObjectModification)(plistContent, {
set: capabilityValues,
strategy: 'merge_distinct',
});
(0, plistTask_1.writePListContent)(plistContent, args.targetName);
}
const mapsCapabilityRouting = {
extended: 'ExtendedGamepad',
micro: 'MicroGamepad',
directional: 'DirectionalGamepad',
};