mecano
Version:
Common functions for system deployment.
100 lines (99 loc) • 2.56 kB
JavaScript
// Generated by CoffeeScript 1.11.1
module.exports = {
acl: {
parse: function(olcAccesses) {
var i, isArray, match, olcAccess;
isArray = Array.isArray(olcAccesses);
if (!isArray) {
olcAccesses = [olcAccesses];
}
olcAccesses = (function() {
var j, len, results;
results = [];
for (i = j = 0, len = olcAccesses.length; j < len; i = ++j) {
olcAccess = olcAccesses[i];
match = /^\{(\d+)\}to\s+(.*?)(\s*by\s+|$)(.*)$/.exec(olcAccess);
if (!match) {
throw Error('Invalid olcAccess entry');
}
results.push({
index: parseInt(match[1], 10),
to: match[2],
by: match[4].split(/\s+by\s+/)
});
}
return results;
})();
if (isArray) {
return olcAccesses;
} else {
return olcAccesses[0];
}
},
stringify: function(olcAccesses) {
var bie, i, isArray, j, l, len, len1, olcAccess, ref, value;
isArray = Array.isArray(olcAccesses);
if (!isArray) {
olcAccesses = [olcAccesses];
}
for (i = j = 0, len = olcAccesses.length; j < len; i = ++j) {
olcAccess = olcAccesses[i];
value = "{" + olcAccess.index + "}to " + olcAccess.to;
ref = olcAccess.by;
for (l = 0, len1 = ref.length; l < len1; l++) {
bie = ref[l];
value += " by " + bie;
}
olcAccesses[i] = value;
}
if (isArray) {
return olcAccesses;
} else {
return olcAccesses[0];
}
}
},
index: {
parse: function(indexes) {
var isArray;
isArray = Array.isArray(indexes);
if (!isArray) {
indexes = [indexes];
}
indexes.forEach(function(index, i) {
var k, ref, v;
if (i === 0) {
indexes = {};
}
ref = index.split(' '), k = ref[0], v = ref[1];
return indexes[k] = v;
});
if (isArray) {
return indexes;
} else {
return indexes[0];
}
},
stringify: function(indexes) {
var isArray, k, v;
isArray = Array.isArray(indexes);
if (!isArray) {
indexes = [indexes];
}
indexes = (function() {
var results;
results = [];
for (k in indexes) {
v = indexes[k];
results.push(k + " " + v);
}
return results;
})();
if (isArray) {
return indexes;
} else {
return indexes[0];
}
}
}
};