28 lines
675 B
JavaScript
28 lines
675 B
JavaScript
|
const getGroup = require('./getGroup');
|
||
|
|
||
|
const hasGroup = (pbxGroup, name) => pbxGroup.children.find(group => group.comment === name);
|
||
|
|
||
|
/**
|
||
|
* Given project and path of the group, it deeply creates a given group
|
||
|
* making all outer groups if neccessary
|
||
|
*
|
||
|
* Returns newly created group
|
||
|
*/
|
||
|
module.exports = function createGroup(project, path) {
|
||
|
return path.split('/').reduce(
|
||
|
(group, name) => {
|
||
|
if (!hasGroup(group, name)) {
|
||
|
const uuid = project.pbxCreateGroup(name, '""');
|
||
|
|
||
|
group.children.push({
|
||
|
value: uuid,
|
||
|
comment: name,
|
||
|
});
|
||
|
}
|
||
|
|
||
|
return project.pbxGroupByName(name);
|
||
|
},
|
||
|
getGroup(project)
|
||
|
);
|
||
|
};
|