id: 1 unit: constructor() file: source/lib/stage-two-orchestrator.ts start line: 44 end line: 315 size: 222 LOC McCabe index: 3 number of parameters: 3 id: 2 unit: constructor() file: source/lib/monitoring.ts start line: 45 end line: 240 size: 164 LOC McCabe index: 2 number of parameters: 3 id: 3 unit: constructor() file: source/lib/amazon-s3-glacier-refreezer-stack.ts start line: 37 end line: 263 size: 159 LOC McCabe index: 1 number of parameters: 3 id: 4 unit: constructor() file: source/lib/stage-two.ts start line: 48 end line: 194 size: 128 LOC McCabe index: 1 number of parameters: 3 id: 5 unit: constructor() file: source/lib/glue-data-catalog.ts start line: 39 end line: 177 size: 123 LOC McCabe index: 2 number of parameters: 3 id: 6 unit: async function handler() file: source/lambda/requestArchives/index.js start line: 47 end line: 179 size: 101 LOC McCabe index: 11 number of parameters: 1 id: 7 unit: constructor() file: source/lib/stage-three.ts start line: 46 end line: 166 size: 97 LOC McCabe index: 1 number of parameters: 3 id: 8 unit: constructor() file: source/lib/stage-four.ts start line: 43 end line: 149 size: 90 LOC McCabe index: 1 number of parameters: 3 id: 9 unit: constructor() file: source/lib/stage-one.ts start line: 44 end line: 133 size: 70 LOC McCabe index: 1 number of parameters: 3 id: 10 unit: async function handler() file: source/lambda/requestInventory/index.js start line: 34 end line: 121 size: 67 LOC McCabe index: 13 number of parameters: 2 id: 11 unit: constructor() file: source/lib/ddb-data-catalog.ts start line: 31 end line: 97 size: 55 LOC McCabe index: 1 number of parameters: 2 id: 12 unit: async function handler() file: source/lambda/postMetrics/index.js start line: 23 end line: 84 size: 50 LOC McCabe index: 40 number of parameters: 0 id: 13 unit: async function failArchiveAndRetry() file: source/lambda/calculateTreehash/index.js start line: 127 end line: 180 size: 47 LOC McCabe index: 3 number of parameters: 2 id: 14 unit: async function processAndSendChunkMessage() file: source/lambda/splitArchive/index.js start line: 64 end line: 118 size: 37 LOC McCabe index: 3 number of parameters: 3 id: 15 unit: constructor() file: source/lib/solution-builders-anonymous-statistics.ts start line: 38 end line: 76 size: 36 LOC McCabe index: 1 number of parameters: 3 id: 16 unit: constructor() file: source/lib/s3-staging-bucket.ts start line: 27 end line: 66 size: 35 LOC McCabe index: 1 number of parameters: 2 id: 17 unit: async function multiChunkCopy() file: source/lambda/copyChunk/index.js start line: 118 end line: 167 size: 34 LOC McCabe index: 5 number of parameters: 9 id: 18 unit: async function copyMultiPart() file: source/lambda/copyToDestinationBucket/lib/copy.js start line: 70 end line: 110 size: 34 LOC McCabe index: 6 number of parameters: 6 id: 19 unit: async function handler() file: source/lambda/calculateTreehash/index.js start line: 33 end line: 79 size: 32 LOC McCabe index: 9 number of parameters: 1 id: 20 unit: for await() file: source/lambda/calculateTreehash/lib/treehash.js start line: 51 end line: 91 size: 31 LOC McCabe index: 5 number of parameters: 1 id: 21 unit: async function readAthenaPartition() file: source/lambda/requestArchives/index.js start line: 181 end line: 216 size: 31 LOC McCabe index: 3 number of parameters: 1 id: 22 unit: async function sendResponse() file: source/lambda/requestInventory/lib/cloudformation.js start line: 22 end line: 50 size: 29 LOC McCabe index: 2 number of parameters: 4 id: 23 unit: async function sendResponse() file: source/lambda/toLowercase/lib/cloudformation.js start line: 22 end line: 50 size: 29 LOC McCabe index: 2 number of parameters: 4 id: 24 unit: async function sendResponse() file: source/lambda/sendAnonymousStats/lib/cloudformation.js start line: 20 end line: 48 size: 29 LOC McCabe index: 2 number of parameters: 4 id: 25 unit: async function sendResponse() file: source/lambda/deployGlueJobScript/lib/cloudformation.js start line: 20 end line: 48 size: 29 LOC McCabe index: 2 number of parameters: 4 id: 26 unit: async function sendResponse() file: source/lambda/generateUuid/lib/cloudformation.js start line: 20 end line: 48 size: 29 LOC McCabe index: 2 number of parameters: 4 id: 27 unit: async function handler() file: source/lambda/calculateMetrics/index.js start line: 22 end line: 54 size: 27 LOC McCabe index: 7 number of parameters: 1 id: 28 unit: async function publishMetric() file: source/lambda/postMetrics/lib/metrics.js start line: 32 end line: 61 size: 27 LOC McCabe index: 4 number of parameters: 1 id: 29 unit: async function getPartitionMaxProcessedFileNumber() file: source/lambda/requestArchives/lib/db.js start line: 63 end line: 91 size: 26 LOC McCabe index: 4 number of parameters: 1 id: 30 unit: async function validateTreehash() file: source/lambda/calculateTreehash/index.js start line: 81 end line: 113 size: 25 LOC McCabe index: 5 number of parameters: 2 id: 31 unit: async function handler() file: source/lambda/sendAnonymousStats/index.js start line: 35 end line: 72 size: 25 LOC McCabe index: 2 number of parameters: 2 id: 32 unit: static snsGlacierPublisher() file: source/lib/iam-permissions.ts start line: 100 end line: 123 size: 24 LOC McCabe index: 1 number of parameters: 1 id: 33 unit: async function handler() file: source/lambda/copyChunk/index.js start line: 33 end line: 65 size: 24 LOC McCabe index: 4 number of parameters: 3 id: 34 unit: static athena() file: source/lib/iam-permissions.ts start line: 144 end line: 166 size: 23 LOC McCabe index: 1 number of parameters: 1 id: 35 unit: async function cleanupStagingBucket() file: source/lambda/requestInventory/lib/storageService.js start line: 147 end line: 170 size: 23 LOC McCabe index: 3 number of parameters: 0 id: 36 unit: static snsDenyInsecureTransport() file: source/lib/iam-permissions.ts start line: 61 end line: 82 size: 22 LOC McCabe index: 1 number of parameters: 1 id: 37 unit: async function closeMultipartUpload() file: source/lambda/copyChunk/index.js start line: 169 end line: 195 size: 22 LOC McCabe index: 1 number of parameters: 3 id: 38 unit: async function copyKeyToDestinationBucket() file: source/lambda/copyToDestinationBucket/lib/copy.js start line: 29 end line: 56 size: 22 LOC McCabe index: 4 number of parameters: 6 id: 39 unit: async function copyFilelist() file: source/lambda/requestInventory/lib/storageService.js start line: 49 end line: 75 size: 21 LOC McCabe index: 3 number of parameters: 1 id: 40 unit: async function decrementThrottledBytes() file: source/lambda/requestArchives/lib/db.js start line: 40 end line: 61 size: 21 LOC McCabe index: 1 number of parameters: 2 id: 41 unit: async function singleChunkCopy() file: source/lambda/copyChunk/index.js start line: 88 end line: 116 size: 20 LOC McCabe index: 1 number of parameters: 7 id: 42 unit: function computeSHA256TreeHash() file: source/lambda/calculateTreehash/lib/treehash.js start line: 102 end line: 125 size: 20 LOC McCabe index: 5 number of parameters: 1 id: 43 unit: function detectAndParseDescription() file: source/lambda/requestArchives/lib/filenameparser.js start line: 41 end line: 68 size: 20 LOC McCabe index: 7 number of parameters: 1 id: 44 unit: function readResultsCSV() file: source/lambda/requestArchives/index.js start line: 218 end line: 237 size: 20 LOC McCabe index: 1 number of parameters: 1 id: 45 unit: static addLambdaSuppression() file: source/lib/cfn-nag-suppressor.ts start line: 52 end line: 70 size: 19 LOC McCabe index: 1 number of parameters: 1 id: 46 unit: async function increaseThrottleAndErrorCount() file: source/lambda/copyChunk/lib/db.js start line: 63 end line: 81 size: 19 LOC McCabe index: 1 number of parameters: 5 id: 47 unit: async function setTimestampNow() file: source/lambda/calculateTreehash/lib/db.js start line: 38 end line: 56 size: 19 LOC McCabe index: 1 number of parameters: 2 id: 48 unit: async function increaseArchiveFailedBytesAndErrorCount() file: source/lambda/calculateTreehash/lib/db.js start line: 58 end line: 76 size: 19 LOC McCabe index: 1 number of parameters: 5 id: 49 unit: async function getItem() file: source/lambda/postMetrics/lib/dynamo.js start line: 27 end line: 45 size: 19 LOC McCabe index: 4 number of parameters: 1 id: 50 unit: async function setTimestampNow() file: source/lambda/copyToDestinationBucket/lib/db.js start line: 38 end line: 56 size: 19 LOC McCabe index: 1 number of parameters: 2 id: 51 unit: static configureGsiAutoScaling() file: source/lib/ddb-data-catalog.ts start line: 99 end line: 117 size: 18 LOC McCabe index: 1 number of parameters: 4 id: 52 unit: static s3ReadOnly() file: source/lib/iam-permissions.ts start line: 125 end line: 142 size: 18 LOC McCabe index: 1 number of parameters: 1 id: 53 unit: private addCfnNagSuppressions() file: source/lib/s3-staging-bucket.ts start line: 68 end line: 86 size: 18 LOC McCabe index: 1 number of parameters: 1 id: 54 unit: private static createStackLogGroup() file: source/lib/monitoring.ts start line: 268 end line: 287 size: 18 LOC McCabe index: 1 number of parameters: 3 id: 55 unit: async function checkBucketExists() file: source/lambda/requestInventory/lib/storageService.js start line: 30 end line: 47 size: 18 LOC McCabe index: 3 number of parameters: 1 id: 56 unit: async function handler() file: source/lambda/downloadInventoryPart/index.js start line: 24 end line: 45 size: 18 LOC McCabe index: 1 number of parameters: 1 id: 57 unit: async function setTimestampNow() file: source/lambda/copyChunk/lib/db.js start line: 43 end line: 60 size: 18 LOC McCabe index: 1 number of parameters: 2 id: 58 unit: async function uploadPart() file: source/lambda/downloadInventory/index.js start line: 75 end line: 94 size: 18 LOC McCabe index: 1 number of parameters: 5 id: 59 unit: async function setTimestampNow() file: source/lambda/splitArchive/lib/db.js start line: 42 end line: 59 size: 18 LOC McCabe index: 1 number of parameters: 2 id: 60 unit: async function updateChunkStatusGetLatest() file: source/lambda/copyChunk/lib/db.js start line: 83 end line: 100 size: 17 LOC McCabe index: 1 number of parameters: 3 id: 61 unit: async function incrementCount() file: source/lambda/calculateMetrics/lib/dynamo.js start line: 44 end line: 60 size: 17 LOC McCabe index: 1 number of parameters: 4 id: 62 unit: async function incrementBytes() file: source/lambda/calculateMetrics/lib/dynamo.js start line: 62 end line: 78 size: 17 LOC McCabe index: 1 number of parameters: 4 id: 63 unit: async function updateChunkStatusGetLatest() file: source/lambda/calculateTreehash/lib/db.js start line: 105 end line: 122 size: 17 LOC McCabe index: 1 number of parameters: 3 id: 64 unit: async function getChunkOneMBHashes() file: source/lambda/calculateTreehash/lib/treehash.js start line: 39 end line: 100 size: 17 LOC McCabe index: 2 number of parameters: 3 id: 65 unit: async function inventorySinglePart() file: source/lambda/downloadInventory/index.js start line: 55 end line: 73 size: 17 LOC McCabe index: 1 number of parameters: 2 id: 66 unit: async function handler() file: source/lambda/deployGlueJobScript/index.js start line: 31 end line: 52 size: 17 LOC McCabe index: 2 number of parameters: 2 id: 67 unit: async function updateChunkStatusGetLatest() file: source/lambda/copyToDestinationBucket/lib/db.js start line: 58 end line: 75 size: 17 LOC McCabe index: 1 number of parameters: 3 id: 68 unit: async function handler() file: source/lambda/splitArchive/index.js start line: 34 end line: 62 size: 16 LOC McCabe index: 3 number of parameters: 1 id: 69 unit: async function handler() file: source/lambda/copyToDestinationBucket/index.js start line: 30 end line: 47 size: 16 LOC McCabe index: 2 number of parameters: 1 id: 70 unit: static glacier() file: source/lib/iam-permissions.ts start line: 31 end line: 45 size: 15 LOC McCabe index: 1 number of parameters: 1 id: 71 unit: static sqsDenyInsecureTransport() file: source/lib/iam-permissions.ts start line: 84 end line: 98 size: 15 LOC McCabe index: 1 number of parameters: 1 id: 72 unit: exports.handler = function() file: source/lambda/toLowercase/index.js start line: 22 end line: 36 size: 15 LOC McCabe index: 3 number of parameters: 2 id: 73 unit: await sendMessageToCopyQueue() file: source/lambda/calculateTreehash/lib/trigger.js start line: 66 end line: 106 size: 15 LOC McCabe index: 2 number of parameters: 7 id: 74 unit: async function deleteItem() file: source/lambda/calculateTreehash/lib/db.js start line: 78 end line: 92 size: 15 LOC McCabe index: 1 number of parameters: 2 id: 75 unit: async function incrementRetryCount() file: source/lambda/calculateTreehash/lib/db.js start line: 124 end line: 138 size: 15 LOC McCabe index: 1 number of parameters: 2 id: 76 unit: async function handler() file: source/lambda/generateUuid/index.js start line: 23 end line: 42 size: 15 LOC McCabe index: 2 number of parameters: 2 id: 77 unit: async function incrementRetryCount() file: source/lambda/copyToDestinationBucket/lib/db.js start line: 77 end line: 91 size: 15 LOC McCabe index: 1 number of parameters: 2 id: 78 unit: static lambdaLogGroup() file: source/lib/iam-permissions.ts start line: 168 end line: 181 size: 14 LOC McCabe index: 1 number of parameters: 1 id: 79 unit: private static createRefreezerMetric() file: source/lib/monitoring.ts start line: 253 end line: 266 size: 14 LOC McCabe index: 1 number of parameters: 2 id: 80 unit: function sendMessageToCopyQueue() file: source/lambda/calculateTreehash/lib/trigger.js start line: 105 end line: 119 size: 14 LOC McCabe index: 1 number of parameters: 7 id: 81 unit: async function fileExists() file: source/lambda/calculateTreehash/lib/trigger.js start line: 121 end line: 135 size: 14 LOC McCabe index: 3 number of parameters: 2 id: 82 unit: function sendChunkMessage() file: source/lambda/splitArchive/index.js start line: 120 end line: 134 size: 14 LOC McCabe index: 1 number of parameters: 7 id: 83 unit: async function fileExists() file: source/lambda/copyToDestinationBucket/index.js start line: 49 end line: 63 size: 14 LOC McCabe index: 3 number of parameters: 2 id: 84 unit: private addCfnNagSuppressions() file: source/lib/ddb-data-catalog.ts start line: 119 end line: 132 size: 13 LOC McCabe index: 1 number of parameters: 1 id: 85 unit: static sqsSubscriber() file: source/lib/iam-permissions.ts start line: 48 end line: 59 size: 12 LOC McCabe index: 1 number of parameters: 1 id: 86 unit: async function checkAndThrowException() file: source/lambda/copyChunk/index.js start line: 73 end line: 85 size: 12 LOC McCabe index: 2 number of parameters: 4 id: 87 unit: function parseFileName() file: source/lambda/requestArchives/lib/filenameparser.js start line: 22 end line: 39 size: 12 LOC McCabe index: 4 number of parameters: 2 id: 88 unit: await sendChunkMessage() file: source/lambda/splitArchive/index.js start line: 109 end line: 121 size: 12 LOC McCabe index: 1 number of parameters: 7 id: 89 unit: static addSuppression() file: source/lib/cfn-nag-suppressor.ts start line: 28 end line: 38 size: 11 LOC McCabe index: 1 number of parameters: 3 id: 90 unit: static addCfnSuppression() file: source/lib/cfn-nag-suppressor.ts start line: 40 end line: 50 size: 11 LOC McCabe index: 1 number of parameters: 3 id: 91 unit: async function getObjectList() file: source/lambda/requestInventory/lib/storageService.js start line: 135 end line: 145 size: 11 LOC McCabe index: 3 number of parameters: 2 id: 92 unit: await sendMessageToCopyQueue() file: source/lambda/calculateTreehash/lib/trigger.js start line: 94 end line: 105 size: 11 LOC McCabe index: 1 number of parameters: 7 id: 93 unit: private static createSqsMetric() file: source/lib/monitoring.ts start line: 242 end line: 251 size: 10 LOC McCabe index: 1 number of parameters: 1 id: 94 unit: async function getStatusRecord() file: source/lambda/copyChunk/lib/db.js start line: 30 end line: 39 size: 10 LOC McCabe index: 1 number of parameters: 1 id: 95 unit: await sendMessageToCopyQueue() file: source/lambda/calculateTreehash/lib/trigger.js start line: 82 end line: 91 size: 10 LOC McCabe index: 1 number of parameters: 7 id: 96 unit: async function getStatusRecord() file: source/lambda/calculateTreehash/lib/db.js start line: 25 end line: 34 size: 10 LOC McCabe index: 1 number of parameters: 1 id: 97 unit: async function deleteChunkStatus() file: source/lambda/calculateTreehash/lib/db.js start line: 94 end line: 103 size: 10 LOC McCabe index: 1 number of parameters: 2 id: 98 unit: function calculateMultiPartHash() file: source/lambda/calculateTreehash/lib/treehash.js start line: 127 end line: 139 size: 10 LOC McCabe index: 1 number of parameters: 1 id: 99 unit: async function getListOfChunks() file: source/lambda/calculateTreehash/index.js start line: 115 end line: 124 size: 10 LOC McCabe index: 2 number of parameters: 1 id: 100 unit: async function getItem() file: source/lambda/requestArchives/lib/db.js start line: 29 end line: 38 size: 10 LOC McCabe index: 1 number of parameters: 1 id: 101 unit: async function getStatusRecord() file: source/lambda/splitArchive/lib/db.js start line: 29 end line: 38 size: 10 LOC McCabe index: 1 number of parameters: 1 id: 102 unit: await sendChunkMessage() file: source/lambda/splitArchive/index.js start line: 99 end line: 108 size: 10 LOC McCabe index: 1 number of parameters: 7 id: 103 unit: async function getStatusRecord() file: source/lambda/copyToDestinationBucket/lib/db.js start line: 25 end line: 34 size: 10 LOC McCabe index: 1 number of parameters: 1 id: 104 unit: TimeStamp: moment() file: source/lambda/sendAnonymousStats/index.js start line: 42 end line: 50 size: 9 LOC McCabe index: 2 number of parameters: 0 id: 105 unit: async function copyPart() file: source/lambda/copyToDestinationBucket/lib/copy.js start line: 58 end line: 68 size: 9 LOC McCabe index: 1 number of parameters: 5 id: 106 unit: async function handler() file: source/lambda/downloadInventory/index.js start line: 37 end line: 53 size: 8 LOC McCabe index: 2 number of parameters: 1 id: 107 unit: def get_partition_size() file: source/lambda/deployGlueJobScript/partition-inventory.py start line: 0 end line: 0 size: 8 LOC McCabe index: 2 number of parameters: 2 id: 108 unit: function checkField() file: source/lambda/calculateMetrics/lib/dynamo.js start line: 27 end line: 33 size: 7 LOC McCabe index: 4 number of parameters: 2 id: 109 unit: function getIncrementBytes() file: source/lambda/calculateMetrics/lib/dynamo.js start line: 35 end line: 42 size: 7 LOC McCabe index: 4 number of parameters: 2 id: 110 unit: async function getKeyStorageClass() file: source/lambda/copyToDestinationBucket/lib/copy.js start line: 112 end line: 118 size: 7 LOC McCabe index: 1 number of parameters: 1 id: 111 unit: async function closeOffRecord() file: source/lambda/copyToDestinationBucket/lib/copy.js start line: 120 end line: 126 size: 7 LOC McCabe index: 1 number of parameters: 2 id: 112 unit: await copyMultiPart() file: source/lambda/requestInventory/lib/storageService.js start line: 73 end line: 79 size: 6 LOC McCabe index: 1 number of parameters: 3 id: 113 unit: await sendTreeHashMessage() file: source/lambda/copyChunk/lib/trigger.js start line: 45 end line: 56 size: 6 LOC McCabe index: 1 number of parameters: 6 id: 114 unit: async function getChunkHash() file: source/lambda/calculateTreehash/lib/treehash.js start line: 31 end line: 37 size: 6 LOC McCabe index: 1 number of parameters: 4 id: 115 unit: async function isValidParameter() file: source/lambda/requestInventory/lib/parameterParser.js start line: 25 end line: 29 size: 5 LOC McCabe index: 3 number of parameters: 2 id: 116 unit: await multiChunkCopy() file: source/lambda/copyChunk/index.js start line: 63 end line: 74 size: 5 LOC McCabe index: 2 number of parameters: 9 id: 117 unit: def transform() file: source/lambda/deployGlueJobScript/partition-inventory.py start line: 0 end line: 0 size: 5 LOC McCabe index: 3 number of parameters: 1 id: 118 unit: async function startJob() file: source/lambda/requestInventory/lib/glacierService.js start line: 23 end line: 26 size: 4 LOC McCabe index: 1 number of parameters: 1 id: 119 unit: async function checkRquiredParameter() file: source/lambda/requestInventory/lib/parameterParser.js start line: 20 end line: 23 size: 4 LOC McCabe index: 2 number of parameters: 1 id: 120 unit: function ErrorException() file: source/lambda/copyChunk/index.js start line: 68 end line: 71 size: 4 LOC McCabe index: 1 number of parameters: 2 id: 121 unit: function parseFastGlacier() file: source/lambda/requestArchives/lib/filenameparser.js start line: 70 end line: 73 size: 4 LOC McCabe index: 1 number of parameters: 3 id: 122 unit: constructor() file: source/lib/iam-permissions.ts start line: 27 end line: 29 size: 3 LOC McCabe index: 1 number of parameters: 2 id: 123 unit: constructor() file: source/lib/cfn-nag-suppressor.ts start line: 24 end line: 26 size: 3 LOC McCabe index: 1 number of parameters: 2 id: 124 unit: await deleteBucketKeys() file: source/lambda/requestInventory/lib/storageService.js start line: 169 end line: 172 size: 3 LOC McCabe index: 1 number of parameters: 2 id: 125 unit: await sendTreeHashMessage() file: source/lambda/copyChunk/lib/trigger.js start line: 52 end line: 55 size: 3 LOC McCabe index: 1 number of parameters: 6 id: 126 unit: createReadStream() file: source/lambda/copyChunk/index.js start line: 97 end line: 99 size: 3 LOC McCabe index: 1 number of parameters: 0 id: 127 unit: await inventoryMultiPart() file: source/lambda/downloadInventory/index.js start line: 45 end line: 48 size: 3 LOC McCabe index: 1 number of parameters: 2 id: 128 unit: await singleChunkCopy() file: source/lambda/copyChunk/index.js start line: 61 end line: 62 size: 2 LOC McCabe index: 1 number of parameters: 7 id: 129 unit: await closeMultipartUpload() file: source/lambda/copyChunk/index.js start line: 159 end line: 161 size: 2 LOC McCabe index: 1 number of parameters: 3 id: 130 unit: await inventorySinglePart() file: source/lambda/downloadInventory/index.js start line: 43 end line: 44 size: 2 LOC McCabe index: 1 number of parameters: 2 id: 131 unit: CopySource: encodeURIComponent() file: source/lambda/requestInventory/lib/storageService.js start line: 68 end line: 68 size: 1 LOC McCabe index: 1 number of parameters: 1 id: 132 unit: CopySource: encodeURIComponent() file: source/lambda/requestInventory/lib/storageService.js start line: 81 end line: 81 size: 1 LOC McCabe index: 1 number of parameters: 1 id: 133 unit: CopySource: encodeURIComponent() file: source/lambda/copyToDestinationBucket/lib/copy.js start line: 44 end line: 44 size: 1 LOC McCabe index: 1 number of parameters: 1 id: 134 unit: CopySource: encodeURIComponent() file: source/lambda/copyToDestinationBucket/lib/copy.js start line: 62 end line: 62 size: 1 LOC McCabe index: 1 number of parameters: 1