Address feedback from PR review

This commit is contained in:
Andrew Sliwinski 2018-12-18 12:26:14 -05:00
parent 020d3ea167
commit 1181cd8313
3 changed files with 14 additions and 16 deletions

View file

@ -4,11 +4,11 @@ const sb2 = require('./sb2');
const sb3 = require('./sb3'); const sb3 = require('./sb3');
module.exports = function (buffer, callback) { module.exports = function (buffer, callback) {
parser(buffer, false, (err, project) => { parser(buffer, false, (err, result) => {
if (err) return callback(err); if (err) return callback(err);
// Flatten array // Extract only the project object from the parser results
project = project[0]; const project = result[0];
// Push project object to the appropriate analysis handler // Push project object to the appropriate analysis handler
switch (project.projectVersion) { switch (project.projectVersion) {
@ -18,8 +18,6 @@ module.exports = function (buffer, callback) {
case 3: case 3:
sb3(project, callback); sb3(project, callback);
break; break;
default:
throw new Error('Unsupported project version');
} }
}); });
}; };

View file

@ -139,12 +139,12 @@ const blocks = function (project) {
*/ */
const extensions = function (project) { const extensions = function (project) {
const result = {count: 0, id: []}; const result = {count: 0, id: []};
const ext = project.info.savedExtensions;
// Check to ensure project includes any extensions // Check to ensure project includes any extensions
if (typeof project.info.savedExtensions === 'undefined') return result; if (typeof ext === 'undefined') return result;
// Iterate over extensions and build list // Iterate over extensions and build list
var ext = project.info.savedExtensions;
for (let i in ext) { for (let i in ext) {
result.id.push(ext[i].extensionName); result.id.push(ext[i].extensionName);
} }

View file

@ -2,35 +2,35 @@ const utility = require('./utility');
const scripts = function (targets) { const scripts = function (targets) {
// Storage objects // Storage objects
let occurances = 0; let occurrences = 0;
// Iterate over all blocks in each target, and look for "top level" blocks // Iterate over all blocks in each target, and look for "top level" blocks
for (let t in targets) { for (let t in targets) {
for (let b in targets[t].blocks) { for (let b in targets[t].blocks) {
if (targets[t].blocks[b].topLevel) occurances++; if (targets[t].blocks[b].topLevel) occurrences++;
} }
} }
return { return {
count: occurances count: occurrences
}; };
}; };
const variables = function (targets, attribute) { const variables = function (targets, attribute) {
// Storage objects // Storage objects
let occurances = 0; let occurrences = 0;
let idList = []; let idList = [];
for (let t in targets) { for (let t in targets) {
for (let a in targets[t][attribute]) { for (let a in targets[t][attribute]) {
const variable = targets[t][attribute][a]; const variable = targets[t][attribute][a];
occurances++; occurrences++;
idList.push(variable[0]); idList.push(variable[0]);
} }
} }
return { return {
count: occurances, count: occurrences,
id: idList id: idList
}; };
}; };
@ -38,20 +38,20 @@ const variables = function (targets, attribute) {
// Iterate over targets, extract attribute, and aggregate results // Iterate over targets, extract attribute, and aggregate results
const extract = function (targets, attribute, id, hash) { const extract = function (targets, attribute, id, hash) {
// Storage objects // Storage objects
let occurances = 0; let occurrences = 0;
let idList = []; let idList = [];
let hashList = []; let hashList = [];
for (let t in targets) { for (let t in targets) {
for (let a in targets[t][attribute]) { for (let a in targets[t][attribute]) {
const asset = targets[t][attribute][a]; const asset = targets[t][attribute][a];
occurances++; occurrences++;
if (typeof id !== 'undefined') idList.push(asset[id]); if (typeof id !== 'undefined') idList.push(asset[id]);
if (typeof hash !== 'undefined') hashList.push(asset[hash]); if (typeof hash !== 'undefined') hashList.push(asset[hash]);
} }
} }
const result = {count: occurances}; const result = {count: occurrences};
if (typeof id !== 'undefined') result.id = idList; if (typeof id !== 'undefined') result.id = idList;
if (typeof hash !== 'undefined') result.hash = hashList; if (typeof hash !== 'undefined') result.hash = hashList;
return result; return result;