This repository has been archived on 2022-03-12. You can view files and clone it, but cannot push or open issues or pull requests.
2021-04-02 02:24:13 +03:00

50 lines
1.2 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = getGroup;
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/
const getFirstProject = project => project.getFirstProject().firstProject;
const findGroup = (groups, name) => groups.children.find(group => group.comment === name);
/**
* Returns group from .xcodeproj if one exists, null otherwise
*
* Unlike node-xcode `pbxGroupByName` - it does not return `first-matching`
* group if multiple groups with the same name exist
*
* If path is not provided, it returns top-level group
*/
function getGroup(project, path) {
const firstProject = getFirstProject(project);
let groups = project.getPBXGroupByKey(firstProject.mainGroup);
if (!path) {
return groups;
}
for (const name of path.split('/')) {
const foundGroup = findGroup(groups, name);
if (foundGroup) {
groups = project.getPBXGroupByKey(foundGroup.value);
} else {
groups = null;
break;
}
}
return groups;
}
//# sourceMappingURL=getGroup.js.map