qlik-oss/picasso.js

View on GitHub
plugins/q/src/formatter/parts/qs-date-formatter.js

Summary

Maintainability
D
2 days
Test Coverage
A
90%

Showing 12 of 12 total issues

Function format has a Cognitive Complexity of 34 (exceeds 5 allowed). Consider refactoring.
Open

format(date, pattern) {
// Fallback pattern is set in constructor
if (!pattern) {
pattern = this.pattern ? this.pattern : 'YYYY-MM-DD hh:mm:ss';
}
Severity: Minor
Found in plugins/q/src/formatter/parts/qs-date-formatter.js - About 5 hrs to fix

File qs-date-formatter.js has 285 lines of code (exceeds 250 allowed). Consider refactoring.
Open

import { TYPES } from '../constants';
 
const DAYS = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
const DAYS_ABBR = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
const MONTHS = [
Severity: Minor
Found in plugins/q/src/formatter/parts/qs-date-formatter.js - About 2 hrs to fix

    Function getMasks has 70 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    function getMasks(inst, d) {
    return {
    'Y+|y+': {
    Y: `${Number(`${d.year}`.slice(-2))}`,
    YY: pad(`${d.year}`.slice(-2), 2),
    Severity: Major
    Found in plugins/q/src/formatter/parts/qs-date-formatter.js - About 2 hrs to fix

      Function format has 56 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      format(date, pattern) {
      // Fallback pattern is set in constructor
      if (!pattern) {
      pattern = this.pattern ? this.pattern : 'YYYY-MM-DD hh:mm:ss';
      }
      Severity: Major
      Found in plugins/q/src/formatter/parts/qs-date-formatter.js - About 2 hrs to fix

        Function parseInterval has 46 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

        function parseInterval(days, pattern) {
        let units = parseIntervalDays(days),
        d = units.d,
        h = units.h,
        m = units.m,
        Severity: Minor
        Found in plugins/q/src/formatter/parts/qs-date-formatter.js - About 1 hr to fix

          Function parseInterval has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
          Open

          function parseInterval(days, pattern) {
          let units = parseIntervalDays(days),
          d = units.d,
          h = units.h,
          m = units.m,
          Severity: Minor
          Found in plugins/q/src/formatter/parts/qs-date-formatter.js - About 1 hr to fix

          Function result has 30 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

          const result = pattern.replace(dateTimeRegex, (m) => {
          let r;
          let mask;
          for (mask in masks) {
          if (Object.prototype.hasOwnProperty.call(masks, mask)) {
          Severity: Minor
          Found in plugins/q/src/formatter/parts/qs-date-formatter.js - About 1 hr to fix

            Function getMasks has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
            Open

            function getMasks(inst, d) {
            return {
            'Y+|y+': {
            Y: `${Number(`${d.year}`.slice(-2))}`,
            YY: pad(`${d.year}`.slice(-2), 2),
            Severity: Minor
            Found in plugins/q/src/formatter/parts/qs-date-formatter.js - About 45 mins to fix

            Similar blocks of code found in 4 locations. Consider refactoring.
            Open

            'm+': {
            m: d.m,
            def(m) {
            return pad(`${d.m}`, m.length);
            },
            Severity: Major
            Found in plugins/q/src/formatter/parts/qs-date-formatter.js and 3 other locations - About 40 mins to fix
            plugins/q/src/formatter/parts/qs-date-formatter.js on lines 160..165
            plugins/q/src/formatter/parts/qs-date-formatter.js on lines 166..171
            plugins/q/src/formatter/parts/qs-date-formatter.js on lines 178..183

            Similar blocks of code found in 4 locations. Consider refactoring.
            Open

            'D+|d+': {
            D: d.date,
            def(m) {
            return pad(`${d.date}`, m.length);
            },
            Severity: Major
            Found in plugins/q/src/formatter/parts/qs-date-formatter.js and 3 other locations - About 40 mins to fix
            plugins/q/src/formatter/parts/qs-date-formatter.js on lines 166..171
            plugins/q/src/formatter/parts/qs-date-formatter.js on lines 172..177
            plugins/q/src/formatter/parts/qs-date-formatter.js on lines 178..183

            Similar blocks of code found in 4 locations. Consider refactoring.
            Open

            's+|S+': {
            s: d.s,
            def(m) {
            return pad(`${d.s}`, m.length);
            },
            Severity: Major
            Found in plugins/q/src/formatter/parts/qs-date-formatter.js and 3 other locations - About 40 mins to fix
            plugins/q/src/formatter/parts/qs-date-formatter.js on lines 160..165
            plugins/q/src/formatter/parts/qs-date-formatter.js on lines 166..171
            plugins/q/src/formatter/parts/qs-date-formatter.js on lines 172..177

            Similar blocks of code found in 4 locations. Consider refactoring.
            Open

            'h+|H+': {
            h: d.h,
            def(m) {
            return pad(`${d.h}`, m.length);
            },
            Severity: Major
            Found in plugins/q/src/formatter/parts/qs-date-formatter.js and 3 other locations - About 40 mins to fix
            plugins/q/src/formatter/parts/qs-date-formatter.js on lines 160..165
            plugins/q/src/formatter/parts/qs-date-formatter.js on lines 172..177
            plugins/q/src/formatter/parts/qs-date-formatter.js on lines 178..183
            Category
            Status