adana-analyze
Advanced tools
Comparing version 0.1.0 to 0.1.1
@@ -12,3 +12,3 @@ 'use strict'; | ||
* takes precedence when analyzing a statement. | ||
* @param {Object} coverage Existing coverage data. | ||
* @param {Array} locations Existing coverage data locations. | ||
* @param {Array} rules List of rules. | ||
@@ -40,2 +40,2 @@ * @returns {Object} New coverage data. | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9maWx0ZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7a0JBU3dCLE1BQU07Ozs7Ozs7Ozs7QUFBZixTQUFTLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFO0FBQy9DLE1BQU0sR0FBRyxHQUFHLEVBQUcsQ0FBQztBQUNoQixNQUFNLEtBQUssR0FBRyxFQUFHLENBQUM7O0FBRWxCLE9BQUssQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBSztRQUFuQixJQUFJLFFBQUosSUFBSTtRQUFFLEdBQUcsUUFBSCxHQUFHOztBQUN4QixRQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssU0FBUyxDQUFDO0FBQ2pDLE9BQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDZixTQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0dBQ2hCLENBQUMsQ0FBQzs7QUFFSCxTQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBQSxRQUFRLEVBQUk7UUFDMUIsSUFBSSxHQUFLLFFBQVEsQ0FBakIsSUFBSTs7QUFDWixRQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQUEsR0FBRzthQUFJLEtBQUssQ0FBQyxHQUFHLENBQUM7S0FBQSxDQUFDLENBQUM7QUFDNUMsUUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzFDLFdBQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0dBQ2pCLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImZpbHRlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2l2ZW4gc29tZSBydWxlcywgcmV0dXJuIGEgZmlsdGVyIG1hcCBvYmplY3QgdGhhdCBtYXJrcyB3aGljaCBlbnRyaWVzIGluIHRoZVxuICogY292ZXJhZ2UgZGF0YSBzaG91bGQgYmUgaW5jbHVkZWQgb3IgZXhjbHVkZWQuIFRoZSBydWxlcyBsaXN0IGlzIGFuIGFycmF5IG9mXG4gKiB7IFwicnVsZVwiOiBcImluY2x1ZGV8ZXhjbHVkZVwiLCBcInRhZ1wiOiBcInNvbWV0YWdcIiB9IGFuZCB0aGUgbGFzdCBydWxlIGFsd2F5c1xuICogdGFrZXMgcHJlY2VkZW5jZSB3aGVuIGFuYWx5emluZyBhIHN0YXRlbWVudC5cbiAqIEBwYXJhbSB7T2JqZWN0fSBjb3ZlcmFnZSBFeGlzdGluZyBjb3ZlcmFnZSBkYXRhLlxuICogQHBhcmFtIHtBcnJheX0gcnVsZXMgTGlzdCBvZiBydWxlcy5cbiAqIEByZXR1cm5zIHtPYmplY3R9IE5ldyBjb3ZlcmFnZSBkYXRhLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBmaWx0ZXIobG9jYXRpb25zLCBydWxlcykge1xuICBjb25zdCBtYXAgPSB7IH07XG4gIGNvbnN0IGluZGV4ID0geyB9O1xuXG4gIHJ1bGVzLmZvckVhY2goKHsgcnVsZSwgdGFnIH0sIGkpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IHJ1bGUgPT09ICdpbmNsdWRlJztcbiAgICBtYXBbaV0gPSB2YWx1ZTtcbiAgICBpbmRleFt0YWddID0gaTtcbiAgfSk7XG5cbiAgcmV0dXJuIGxvY2F0aW9ucy5maWx0ZXIobG9jYXRpb24gPT4ge1xuICAgIGNvbnN0IHsgdGFncyB9ID0gbG9jYXRpb247XG4gICAgY29uc3QgaW5kaWNlcyA9IHRhZ3MubWFwKHRhZyA9PiBpbmRleFt0YWddKTtcbiAgICBjb25zdCBtYXggPSBNYXRoLm1heC5hcHBseShNYXRoLCBpbmRpY2VzKTtcbiAgICByZXR1cm4gbWFwW21heF07XG4gIH0pO1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9maWx0ZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7a0JBU3dCLE1BQU07Ozs7Ozs7Ozs7QUFBZixTQUFTLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFO0FBQy9DLE1BQU0sR0FBRyxHQUFHLEVBQUcsQ0FBQztBQUNoQixNQUFNLEtBQUssR0FBRyxFQUFHLENBQUM7O0FBRWxCLE9BQUssQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBSztRQUFuQixJQUFJLFFBQUosSUFBSTtRQUFFLEdBQUcsUUFBSCxHQUFHOztBQUN4QixRQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssU0FBUyxDQUFDO0FBQ2pDLE9BQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDZixTQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0dBQ2hCLENBQUMsQ0FBQzs7QUFFSCxTQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBQSxRQUFRLEVBQUk7UUFDMUIsSUFBSSxHQUFLLFFBQVEsQ0FBakIsSUFBSTs7QUFDWixRQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQUEsR0FBRzthQUFJLEtBQUssQ0FBQyxHQUFHLENBQUM7S0FBQSxDQUFDLENBQUM7QUFDNUMsUUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzFDLFdBQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0dBQ2pCLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImZpbHRlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2l2ZW4gc29tZSBydWxlcywgcmV0dXJuIGEgZmlsdGVyIG1hcCBvYmplY3QgdGhhdCBtYXJrcyB3aGljaCBlbnRyaWVzIGluIHRoZVxuICogY292ZXJhZ2UgZGF0YSBzaG91bGQgYmUgaW5jbHVkZWQgb3IgZXhjbHVkZWQuIFRoZSBydWxlcyBsaXN0IGlzIGFuIGFycmF5IG9mXG4gKiB7IFwicnVsZVwiOiBcImluY2x1ZGV8ZXhjbHVkZVwiLCBcInRhZ1wiOiBcInNvbWV0YWdcIiB9IGFuZCB0aGUgbGFzdCBydWxlIGFsd2F5c1xuICogdGFrZXMgcHJlY2VkZW5jZSB3aGVuIGFuYWx5emluZyBhIHN0YXRlbWVudC5cbiAqIEBwYXJhbSB7QXJyYXl9IGxvY2F0aW9ucyBFeGlzdGluZyBjb3ZlcmFnZSBkYXRhIGxvY2F0aW9ucy5cbiAqIEBwYXJhbSB7QXJyYXl9IHJ1bGVzIExpc3Qgb2YgcnVsZXMuXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBOZXcgY292ZXJhZ2UgZGF0YS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZmlsdGVyKGxvY2F0aW9ucywgcnVsZXMpIHtcbiAgY29uc3QgbWFwID0geyB9O1xuICBjb25zdCBpbmRleCA9IHsgfTtcblxuICBydWxlcy5mb3JFYWNoKCh7IHJ1bGUsIHRhZyB9LCBpKSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBydWxlID09PSAnaW5jbHVkZSc7XG4gICAgbWFwW2ldID0gdmFsdWU7XG4gICAgaW5kZXhbdGFnXSA9IGk7XG4gIH0pO1xuXG4gIHJldHVybiBsb2NhdGlvbnMuZmlsdGVyKGxvY2F0aW9uID0+IHtcbiAgICBjb25zdCB7IHRhZ3MgfSA9IGxvY2F0aW9uO1xuICAgIGNvbnN0IGluZGljZXMgPSB0YWdzLm1hcCh0YWcgPT4gaW5kZXhbdGFnXSk7XG4gICAgY29uc3QgbWF4ID0gTWF0aC5tYXguYXBwbHkoTWF0aCwgaW5kaWNlcyk7XG4gICAgcmV0dXJuIG1hcFttYXhdO1xuICB9KTtcbn1cbiJdfQ== |
@@ -8,9 +8,10 @@ "use strict"; | ||
/** | ||
* [lines description] | ||
* @param {[type]} statements [description] | ||
* @returns {[type]} [description] | ||
* Compute information about line coverage given a list of instrumented | ||
* locations. | ||
* @param {Array} locations Existing coverage data locations. | ||
* @returns {Array} Array of line data. | ||
*/ | ||
function lines(statements) { | ||
function lines(locations) { | ||
var index = {}; | ||
statements.forEach(function (entry) { | ||
locations.forEach(function (entry) { | ||
for (var i = entry.loc.start.line; i <= entry.loc.end.line; ++i) { | ||
@@ -34,2 +35,2 @@ // If a statement hasn't been covered ensure the line is marked as | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9saW5lcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztrQkFLd0IsS0FBSzs7Ozs7O0FBQWQsU0FBUyxLQUFLLENBQUMsVUFBVSxFQUFFO0FBQ3hDLE1BQU0sS0FBSyxHQUFHLEVBQUcsQ0FBQztBQUNsQixZQUFVLENBQUMsT0FBTyxDQUFDLFVBQUEsS0FBSyxFQUFJO0FBQzFCLFNBQUssSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUU7OztBQUcvRCxVQUFJLENBQUMsSUFBSSxLQUFLLEVBQUU7QUFDZCxhQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO09BQzVDLE1BQU07QUFDTCxhQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztPQUN4QjtLQUNGO0dBQ0YsQ0FBQyxDQUFDO0FBQ0gsU0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFBLElBQUksRUFBSTtBQUNwQyxXQUFPO0FBQ0wsVUFBSSxFQUFFLElBQUk7QUFDVixZQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7QUFDdkIsV0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUM7S0FDbkIsQ0FBQztHQUNILENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImxpbmVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBbbGluZXMgZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gICB7W3R5cGVdfSBzdGF0ZW1lbnRzIFtkZXNjcmlwdGlvbl1cbiAqIEByZXR1cm5zIHtbdHlwZV19ICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBsaW5lcyhzdGF0ZW1lbnRzKSB7XG4gIGNvbnN0IGluZGV4ID0geyB9O1xuICBzdGF0ZW1lbnRzLmZvckVhY2goZW50cnkgPT4ge1xuICAgIGZvciAobGV0IGkgPSBlbnRyeS5sb2Muc3RhcnQubGluZTsgaSA8PSBlbnRyeS5sb2MuZW5kLmxpbmU7ICsraSkge1xuICAgICAgLy8gSWYgYSBzdGF0ZW1lbnQgaGFzbid0IGJlZW4gY292ZXJlZCBlbnN1cmUgdGhlIGxpbmUgaXMgbWFya2VkIGFzXG4gICAgICAvLyBub3QgY292ZXJlZC5cbiAgICAgIGlmIChpIGluIGluZGV4KSB7XG4gICAgICAgIGluZGV4W2ldID0gTWF0aC5taW4oaW5kZXhbaV0sIGVudHJ5LmNvdW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGluZGV4W2ldID0gZW50cnkuY291bnQ7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGluZGV4KS5tYXAobGluZSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxpbmU6IGxpbmUsXG4gICAgICBwYXNzZWQ6IGluZGV4W2xpbmVdID4gMCxcbiAgICAgIGNvdW50OiBpbmRleFtsaW5lXSxcbiAgICB9O1xuICB9KTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9saW5lcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztrQkFNd0IsS0FBSzs7Ozs7OztBQUFkLFNBQVMsS0FBSyxDQUFDLFNBQVMsRUFBRTtBQUN2QyxNQUFNLEtBQUssR0FBRyxFQUFHLENBQUM7QUFDbEIsV0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFBLEtBQUssRUFBSTtBQUN6QixTQUFLLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFOzs7QUFHL0QsVUFBSSxDQUFDLElBQUksS0FBSyxFQUFFO0FBQ2QsYUFBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztPQUM1QyxNQUFNO0FBQ0wsYUFBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7T0FDeEI7S0FDRjtHQUNGLENBQUMsQ0FBQztBQUNILFNBQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBQSxJQUFJLEVBQUk7QUFDcEMsV0FBTztBQUNMLFVBQUksRUFBRSxJQUFJO0FBQ1YsWUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0FBQ3ZCLFdBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDO0tBQ25CLENBQUM7R0FDSCxDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJsaW5lcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29tcHV0ZSBpbmZvcm1hdGlvbiBhYm91dCBsaW5lIGNvdmVyYWdlIGdpdmVuIGEgbGlzdCBvZiBpbnN0cnVtZW50ZWRcbiAqIGxvY2F0aW9ucy5cbiAqIEBwYXJhbSB7QXJyYXl9IGxvY2F0aW9ucyBFeGlzdGluZyBjb3ZlcmFnZSBkYXRhIGxvY2F0aW9ucy5cbiAqIEByZXR1cm5zIHtBcnJheX0gQXJyYXkgb2YgbGluZSBkYXRhLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBsaW5lcyhsb2NhdGlvbnMpIHtcbiAgY29uc3QgaW5kZXggPSB7IH07XG4gIGxvY2F0aW9ucy5mb3JFYWNoKGVudHJ5ID0+IHtcbiAgICBmb3IgKGxldCBpID0gZW50cnkubG9jLnN0YXJ0LmxpbmU7IGkgPD0gZW50cnkubG9jLmVuZC5saW5lOyArK2kpIHtcbiAgICAgIC8vIElmIGEgc3RhdGVtZW50IGhhc24ndCBiZWVuIGNvdmVyZWQgZW5zdXJlIHRoZSBsaW5lIGlzIG1hcmtlZCBhc1xuICAgICAgLy8gbm90IGNvdmVyZWQuXG4gICAgICBpZiAoaSBpbiBpbmRleCkge1xuICAgICAgICBpbmRleFtpXSA9IE1hdGgubWluKGluZGV4W2ldLCBlbnRyeS5jb3VudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpbmRleFtpXSA9IGVudHJ5LmNvdW50O1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIHJldHVybiBPYmplY3Qua2V5cyhpbmRleCkubWFwKGxpbmUgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBsaW5lOiBsaW5lLFxuICAgICAgcGFzc2VkOiBpbmRleFtsaW5lXSA+IDAsXG4gICAgICBjb3VudDogaW5kZXhbbGluZV0sXG4gICAgfTtcbiAgfSk7XG59XG4iXX0= |
@@ -7,2 +7,7 @@ "use strict"; | ||
exports.default = metrics; | ||
/** | ||
* Compute some useful information about coverage from the given data. | ||
* @param {Array} locations Existing coverage data locations. | ||
* @returns {Object} Computed information. | ||
*/ | ||
function metrics(locations) { | ||
@@ -20,2 +25,2 @@ var covered = locations.reduce(function (sum, _ref) { | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRyaWNzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O2tCQUF3QixPQUFPO0FBQWhCLFNBQVMsT0FBTyxDQUFDLFNBQVMsRUFBRTtBQUN6QyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQUMsR0FBRyxRQUFnQjtRQUFaLEtBQUssUUFBTCxLQUFLOztBQUM1QyxXQUFPLEFBQUMsS0FBSyxHQUFHLENBQUMsR0FBSSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztHQUNwQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ04sU0FBTztBQUNMLFNBQUssRUFBRSxPQUFPLEdBQUcsU0FBUyxDQUFDLE1BQU07QUFDakMsVUFBTSxFQUFFLE9BQU87QUFDZixTQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU07R0FDeEIsQ0FBQztDQUNIIiwiZmlsZSI6Im1ldHJpY3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtZXRyaWNzKGxvY2F0aW9ucykge1xuICBjb25zdCBjb3ZlcmVkID0gbG9jYXRpb25zLnJlZHVjZSgoc3VtLCB7IGNvdW50IH0pID0+IHtcbiAgICByZXR1cm4gKGNvdW50ID4gMCkgPyBzdW0gKyAxIDogc3VtO1xuICB9LCAwKTtcbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogY292ZXJlZCAvIGxvY2F0aW9ucy5sZW5ndGgsXG4gICAgcGFzc2VkOiBjb3ZlcmVkLFxuICAgIHRvdGFsOiBsb2NhdGlvbnMubGVuZ3RoLFxuICB9O1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRyaWNzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O2tCQUt3QixPQUFPOzs7Ozs7QUFBaEIsU0FBUyxPQUFPLENBQUMsU0FBUyxFQUFFO0FBQ3pDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBQyxHQUFHLFFBQWdCO1FBQVosS0FBSyxRQUFMLEtBQUs7O0FBQzVDLFdBQU8sQUFBQyxLQUFLLEdBQUcsQ0FBQyxHQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO0dBQ3BDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDTixTQUFPO0FBQ0wsU0FBSyxFQUFFLE9BQU8sR0FBRyxTQUFTLENBQUMsTUFBTTtBQUNqQyxVQUFNLEVBQUUsT0FBTztBQUNmLFNBQUssRUFBRSxTQUFTLENBQUMsTUFBTTtHQUN4QixDQUFDO0NBQ0giLCJmaWxlIjoibWV0cmljcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29tcHV0ZSBzb21lIHVzZWZ1bCBpbmZvcm1hdGlvbiBhYm91dCBjb3ZlcmFnZSBmcm9tIHRoZSBnaXZlbiBkYXRhLlxuICogQHBhcmFtIHtBcnJheX0gbG9jYXRpb25zIEV4aXN0aW5nIGNvdmVyYWdlIGRhdGEgbG9jYXRpb25zLlxuICogQHJldHVybnMge09iamVjdH0gQ29tcHV0ZWQgaW5mb3JtYXRpb24uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1ldHJpY3MobG9jYXRpb25zKSB7XG4gIGNvbnN0IGNvdmVyZWQgPSBsb2NhdGlvbnMucmVkdWNlKChzdW0sIHsgY291bnQgfSkgPT4ge1xuICAgIHJldHVybiAoY291bnQgPiAwKSA/IHN1bSArIDEgOiBzdW07XG4gIH0sIDApO1xuICByZXR1cm4ge1xuICAgIHZhbHVlOiBjb3ZlcmVkIC8gbG9jYXRpb25zLmxlbmd0aCxcbiAgICBwYXNzZWQ6IGNvdmVyZWQsXG4gICAgdG90YWw6IGxvY2F0aW9ucy5sZW5ndGgsXG4gIH07XG59XG4iXX0= |
@@ -7,17 +7,26 @@ "use strict"; | ||
exports.default = tags; | ||
/** | ||
* Generate a tag index from coverage data. This creates an object whose keys | ||
* are tags and whose values are arrays containing locations. | ||
* @param {Object} coverage Coverage data. | ||
* @returns {Object} Tag index. | ||
* @param {Array} locations Existing coverage data locations. | ||
* @param {Array} select List of tags to get data for. | ||
* @returns {Object} Locations grouped by tag. | ||
*/ | ||
function tags(locations) { | ||
function tags(locations, select) { | ||
var tags = {}; | ||
if (select) { | ||
select.forEach(function (entry) { | ||
tags[entry] = []; | ||
}); | ||
} | ||
locations.forEach(function (location) { | ||
location.tags.forEach(function (tag) { | ||
if (!(tag in tags)) { | ||
tags[tag] = []; | ||
if (!select) { | ||
tags[tag] = []; | ||
tags[tag].push(location); | ||
} | ||
} else { | ||
tags[tag].push(location); | ||
} | ||
tags[tag].push(location); | ||
}); | ||
@@ -27,2 +36,2 @@ }); | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90YWdzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O2tCQU93QixJQUFJOzs7Ozs7OztBQUFiLFNBQVMsSUFBSSxDQUFDLFNBQVMsRUFBRTtBQUN0QyxNQUFNLElBQUksR0FBRyxFQUFHLENBQUM7QUFDakIsV0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFBLFFBQVEsRUFBSTtBQUM1QixZQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFBLEdBQUcsRUFBSTtBQUMzQixVQUFJLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQSxBQUFDLEVBQUU7QUFDbEIsWUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztPQUNoQjtBQUNELFVBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDMUIsQ0FBQyxDQUFDO0dBQ0osQ0FBQyxDQUFDO0FBQ0gsU0FBTyxJQUFJLENBQUM7Q0FDYiIsImZpbGUiOiJ0YWdzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG4vKipcbiAqIEdlbmVyYXRlIGEgdGFnIGluZGV4IGZyb20gY292ZXJhZ2UgZGF0YS4gVGhpcyBjcmVhdGVzIGFuIG9iamVjdCB3aG9zZSBrZXlzXG4gKiBhcmUgdGFncyBhbmQgd2hvc2UgdmFsdWVzIGFyZSBhcnJheXMgY29udGFpbmluZyBsb2NhdGlvbnMuXG4gKiBAcGFyYW0ge09iamVjdH0gY292ZXJhZ2UgQ292ZXJhZ2UgZGF0YS5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFRhZyBpbmRleC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdGFncyhsb2NhdGlvbnMpIHtcbiAgY29uc3QgdGFncyA9IHsgfTtcbiAgbG9jYXRpb25zLmZvckVhY2gobG9jYXRpb24gPT4ge1xuICAgIGxvY2F0aW9uLnRhZ3MuZm9yRWFjaCh0YWcgPT4ge1xuICAgICAgaWYgKCEodGFnIGluIHRhZ3MpKSB7XG4gICAgICAgIHRhZ3NbdGFnXSA9IFtdO1xuICAgICAgfVxuICAgICAgdGFnc1t0YWddLnB1c2gobG9jYXRpb24pO1xuICAgIH0pO1xuICB9KTtcbiAgcmV0dXJuIHRhZ3M7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90YWdzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O2tCQU93QixJQUFJOzs7Ozs7OztBQUFiLFNBQVMsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUU7QUFDOUMsTUFBTSxJQUFJLEdBQUcsRUFBRyxDQUFDO0FBQ2pCLE1BQUksTUFBTSxFQUFFO0FBQ1YsVUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFBLEtBQUssRUFBSTtBQUN0QixVQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO0tBQ2xCLENBQUMsQ0FBQztHQUNKO0FBQ0QsV0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFBLFFBQVEsRUFBSTtBQUM1QixZQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFBLEdBQUcsRUFBSTtBQUMzQixVQUFJLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQSxBQUFDLEVBQUU7QUFDbEIsWUFBSSxDQUFDLE1BQU0sRUFBRTtBQUNYLGNBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDZixjQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzFCO09BQ0YsTUFBTTtBQUNMLFlBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7T0FDMUI7S0FDRixDQUFDLENBQUM7R0FDSixDQUFDLENBQUM7QUFDSCxTQUFPLElBQUksQ0FBQztDQUNiIiwiZmlsZSI6InRhZ3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlIGEgdGFnIGluZGV4IGZyb20gY292ZXJhZ2UgZGF0YS4gVGhpcyBjcmVhdGVzIGFuIG9iamVjdCB3aG9zZSBrZXlzXG4gKiBhcmUgdGFncyBhbmQgd2hvc2UgdmFsdWVzIGFyZSBhcnJheXMgY29udGFpbmluZyBsb2NhdGlvbnMuXG4gKiBAcGFyYW0ge0FycmF5fSBsb2NhdGlvbnMgRXhpc3RpbmcgY292ZXJhZ2UgZGF0YSBsb2NhdGlvbnMuXG4gKiBAcGFyYW0ge0FycmF5fSBzZWxlY3QgTGlzdCBvZiB0YWdzIHRvIGdldCBkYXRhIGZvci5cbiAqIEByZXR1cm5zIHtPYmplY3R9IExvY2F0aW9ucyBncm91cGVkIGJ5IHRhZy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdGFncyhsb2NhdGlvbnMsIHNlbGVjdCkge1xuICBjb25zdCB0YWdzID0geyB9O1xuICBpZiAoc2VsZWN0KSB7XG4gICAgc2VsZWN0LmZvckVhY2goZW50cnkgPT4ge1xuICAgICAgdGFnc1tlbnRyeV0gPSBbXTtcbiAgICB9KTtcbiAgfVxuICBsb2NhdGlvbnMuZm9yRWFjaChsb2NhdGlvbiA9PiB7XG4gICAgbG9jYXRpb24udGFncy5mb3JFYWNoKHRhZyA9PiB7XG4gICAgICBpZiAoISh0YWcgaW4gdGFncykpIHtcbiAgICAgICAgaWYgKCFzZWxlY3QpIHtcbiAgICAgICAgICB0YWdzW3RhZ10gPSBbXTtcbiAgICAgICAgICB0YWdzW3RhZ10ucHVzaChsb2NhdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRhZ3NbdGFnXS5wdXNoKGxvY2F0aW9uKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiB0YWdzO1xufVxuIl19 |
{ | ||
"name": "adana-analyze", | ||
"version": "0.1.0", | ||
"version": "0.1.1", | ||
"description": "Make sense of adana data.", | ||
@@ -24,3 +24,2 @@ "repository": "izaakschroeder/adana-analyze", | ||
"babel-preset-es2015": "^6.0.11", | ||
"babylon": "^6.3.26", | ||
"chai": "^3.4.0", | ||
@@ -27,0 +26,0 @@ "eslint": "^1.8.0", |
@@ -5,4 +5,4 @@ # adana-analyze | ||
![build status](http://img.shields.io/travis/izaakschroeder/adana-analyze/master.svg?style=flat) | ||
![coverage](http://img.shields.io/coveralls/izaakschroeder/adana-analyze/master.svg?style=flat) | ||
![build status](http://img.shields.io/travis/adana-coverage/adana-analyze/master.svg?style=flat) | ||
![coverage](http://img.shields.io/coveralls/adana-coverage/adana-analyze/master.svg?style=flat) | ||
![license](http://img.shields.io/npm/l/adana-analyze.svg?style=flat) | ||
@@ -14,3 +14,3 @@ ![version](http://img.shields.io/npm/v/adana-analyze.svg?style=flat) | ||
[adana-cli]: https://www.github.com/izaakschroeder/adana-cli | ||
[adana]: https://www.github.com/izaakschroeder/babel-plugin-transform-adana | ||
[adana-cli]: https://www.github.com/adana-coverage/adana-cli | ||
[adana]: https://www.github.com/adana-coverage/babel-plugin-transform-adana |
@@ -6,3 +6,3 @@ /** | ||
* takes precedence when analyzing a statement. | ||
* @param {Object} coverage Existing coverage data. | ||
* @param {Array} locations Existing coverage data locations. | ||
* @param {Array} rules List of rules. | ||
@@ -9,0 +9,0 @@ * @returns {Object} New coverage data. |
/** | ||
* [lines description] | ||
* @param {[type]} statements [description] | ||
* @returns {[type]} [description] | ||
* Compute information about line coverage given a list of instrumented | ||
* locations. | ||
* @param {Array} locations Existing coverage data locations. | ||
* @returns {Array} Array of line data. | ||
*/ | ||
export default function lines(statements) { | ||
export default function lines(locations) { | ||
const index = { }; | ||
statements.forEach(entry => { | ||
locations.forEach(entry => { | ||
for (let i = entry.loc.start.line; i <= entry.loc.end.line; ++i) { | ||
@@ -10,0 +11,0 @@ // If a statement hasn't been covered ensure the line is marked as |
@@ -0,1 +1,6 @@ | ||
/** | ||
* Compute some useful information about coverage from the given data. | ||
* @param {Array} locations Existing coverage data locations. | ||
* @returns {Object} Computed information. | ||
*/ | ||
export default function metrics(locations) { | ||
@@ -2,0 +7,0 @@ const covered = locations.reduce((sum, { count }) => { |
@@ -1,16 +0,25 @@ | ||
/** | ||
* Generate a tag index from coverage data. This creates an object whose keys | ||
* are tags and whose values are arrays containing locations. | ||
* @param {Object} coverage Coverage data. | ||
* @returns {Object} Tag index. | ||
* @param {Array} locations Existing coverage data locations. | ||
* @param {Array} select List of tags to get data for. | ||
* @returns {Object} Locations grouped by tag. | ||
*/ | ||
export default function tags(locations) { | ||
export default function tags(locations, select) { | ||
const tags = { }; | ||
if (select) { | ||
select.forEach(entry => { | ||
tags[entry] = []; | ||
}); | ||
} | ||
locations.forEach(location => { | ||
location.tags.forEach(tag => { | ||
if (!(tag in tags)) { | ||
tags[tag] = []; | ||
if (!select) { | ||
tags[tag] = []; | ||
tags[tag].push(location); | ||
} | ||
} else { | ||
tags[tag].push(location); | ||
} | ||
tags[tag].push(location); | ||
}); | ||
@@ -17,0 +26,0 @@ }); |
23079
8
17
291