cityssm / general-licence-manager

No default cases in switch statements JS-0047
Anti-pattern
Minor
a month ago3 months old
Expected a default case
138
139  let licenceNumber = ''
140
141  switch (getConfigProperty('defaults.licenceNumberFunction')) {142    case 'category-fourDigits': {143      licenceNumber = getCategoryNDigitsLicenceNumber(144        database,145        licenceDetails.licenceCategory,146        4,147        false148      )149      break150    }151152    case 'category-fiveDigits': {153      licenceNumber = getCategoryNDigitsLicenceNumber(154        database,155        licenceDetails.licenceCategory,156        5,157        false158      )159      break160    }161162    case 'category-sixDigits': {163      licenceNumber = getCategoryNDigitsLicenceNumber(164        database,165        licenceDetails.licenceCategory,166        6,167        false168      )169      break170    }171172    case 'category-distinctFourDigits': {173      licenceNumber = getCategoryNDigitsLicenceNumber(174        database,175        licenceDetails.licenceCategory,176        4,177        true178      )179      break180    }181182    case 'category-distinctFiveDigits': {183      licenceNumber = getCategoryNDigitsLicenceNumber(184        database,185        licenceDetails.licenceCategory,186        5,187        true188      )189      break190    }191192    case 'category-distinctSixDigits': {193      licenceNumber = getCategoryNDigitsLicenceNumber(194        database,195        licenceDetails.licenceCategory,196        6,197        true198      )199      break200    }201202    case 'year-fourDigits': {203      licenceNumber = getNextYearNDigitsLicenceNumber(database, 4)204      break205    }206207    case 'year-fiveDigits': {208      licenceNumber = getNextYearNDigitsLicenceNumber(database, 5)209      break210    }211212    case 'year-sixDigits': {213      licenceNumber = getNextYearNDigitsLicenceNumber(database, 6)214      break215    }216  }217
218  if (doCloseDatabase) {
219    database.close()
1239
1240        let additionalFeeDescriptionHTML = ''
1241
1242        switch (categoryAdditionalFee.additionalFeeType) {1243          case 'flat': {1244            additionalFeeDescriptionHTML =1245              '$' + categoryAdditionalFee.additionalFeeNumber.toFixed(2)1246            break1247          }12481249          case 'percent': {1250            additionalFeeDescriptionHTML =1251              categoryAdditionalFee.additionalFeeNumber.toPrecision(2) + '%'1252            break1253          }12541255          case 'function': {1256            additionalFeeDescriptionHTML = `Function: ${categoryAdditionalFee.additionalFeeFunction}`1257            break1258          }1259        }1260
1261        // eslint-disable-next-line no-unsanitized/property
1262        panelBlockElement.innerHTML = `<div class="columns is-mobile">
Expected a default case
27    return undefined
28  }
29
30  switch (batchExportConfig.exportType) {31    case 'cpa005': {32      return cpa005_getBatchExport(outstandingBatchTransactions)33    }34    case 'rbcPreauthorized': {35      return rbcPreauthorized_getBatchExport(outstandingBatchTransactions)36    }37  }38}
Expected a default case
12    if (batchExportConfig === undefined) {
13        return undefined;
14    }
15    switch (batchExportConfig.exportType) {16        case 'cpa005': {17            return cpa005_getBatchExport(outstandingBatchTransactions);18        }19        case 'rbcPreauthorized': {20            return rbcPreauthorized_getBatchExport(outstandingBatchTransactions);21        }22    }23}
 729                    categoryAdditionalFee.licenceAdditionalFeeKey;
 730                panelBlockElement.setAttribute('role', 'button');
 731                let additionalFeeDescriptionHTML = '';
 732                switch (categoryAdditionalFee.additionalFeeType) { 733                    case 'flat': { 734                        additionalFeeDescriptionHTML = 735                            '$' + categoryAdditionalFee.additionalFeeNumber.toFixed(2); 736                        break; 737                    } 738                    case 'percent': { 739                        additionalFeeDescriptionHTML = 740                            categoryAdditionalFee.additionalFeeNumber.toPrecision(2) + '%'; 741                        break; 742                    } 743                    case 'function': { 744                        additionalFeeDescriptionHTML = `Function: ${categoryAdditionalFee.additionalFeeFunction}`; 745                        break; 746                    } 747                } 748                panelBlockElement.innerHTML = `<div class="columns is-mobile">
 749          <div class="column">
 750            <h4>