UNPKG

mecano

Version:

Common functions for system deployment.

100 lines (99 loc) 2.56 kB
// 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]; } } } };