UNPKG

1.05 kBJavaScriptView Raw
1module.exports.parseDependencies = function parseDependencies(dependencyArray) {
2 if (!dependencyArray || !dependencyArray.length) return [];
3
4 var parsedArray = [];
5 dependencyArray.forEach(function (depStr) {
6 depStr = depStr.trim();
7 var deps = depStr.split(';');
8 deps.forEach(function (d) {
9 d = d.trim();
10 var threeParts = d.split('@'); //Must contain exactly 3 parts - appname, branch and build
11 if (threeParts.length != 3)
12 throw 'Invalid dependency: ' + d;
13
14 var appName = threeParts[0].trim();
15 var branch = threeParts[1].trim();
16 var build = threeParts[2].trim();
17 if (!appName.length)
18 throw 'Missing appName: ' + d;
19 if (!branch.length)
20 throw 'Missing branch: ' + d;
21 if (!build.length)
22 throw 'Missing build: ' + d;
23
24 parsedArray.push({ appName: appName, build: build, branch: branch });
25 });
26 });
27 return parsedArray;
28}
\No newline at end of file