GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

Issues (34)

src/util/getData.js (3 issues)

1
import { Map, List, fromJS } from 'immutable';
0 ignored issues
show
The variable Map seems to be never used. Consider removing it.
Loading history...
2
import { camelize } from './camelize';
3
4
export const getData = (
5
    row = new Map(), columns = {}, colIndex = 0, editorValues = {}
6
) => {
7
8
    if (!row.get) {
9
        row = fromJS(row);
10
    }
11
12
    const column = columns[colIndex];
13
14
    if (!column) {
15
        return undefined;
16
    }
17
18
    const dataIndex = column.dataIndex || null;
19
20
    if (!dataIndex) {
21
        throw new Error('No dataIndex found on column', column);
22
    }
23
24
    if (editorValues
25
        && editorValues.get
26
        && editorValues.get(dataIndex) !== undefined) {
27
        return editorValues.get(dataIndex);
28
    }
29
30
    if (typeof dataIndex === 'string') {
31
        const val = row
32
            && row.get
33
            && row.get(dataIndex) !== undefined
34
            ? row.get(dataIndex)
35
            : null;
36
37
        return val && val.toJS ? val.toJS() : val;
38
    }
39
40
    else if (Array.isArray(dataIndex)) {
0 ignored issues
show
Complexity Best Practice introduced by
There is no return statement if Array.isArray(dataIndex) is false. Are you sure this is correct? If so, consider adding return; explicitly.

This check looks for functions where a return statement is found in some execution paths, but not in all.

Consider this little piece of code

function isBig(a) {
    if (a > 5000) {
        return "yes";
    }
}

console.log(isBig(5001)); //returns yes
console.log(isBig(42)); //returns undefined

The function isBig will only return a specific value when its parameter is bigger than 5000. In any other case, it will implicitly return undefined.

This behaviour may not be what you had intended. In any case, you can add a return undefined to the other execution path to make the return value explicit.

Loading history...
41
        const val = getValueFromDataIndexArr(row, dataIndex);
42
        return val && val.toJS ? val.toJS() : val;
43
    }
44
45
};
46
47
export const setKeysInData = (data) => {
48
49
    if (List.isList(data)) {
50
51
        if (data.getIn([0, '_key'])) {
52
            return data;
53
        }
54
55
        return data.map((item, i) => item.set('_key', `row-${i}`));
56
    }
57
58
    if (!data || !Array.isArray(data)) {
59
        return List([]);
60
    }
61
62
    if (data[0] && data[0]._key === undefined) {
63
        data.forEach((row, i) => {
64
            row._key = `row-${i}`;
65
        });
66
    }
67
68
    return fromJS(data);
69
};
70
71
export const getRowKey = (columns, rowValues, suffix) => {
72
73
    const uniqueCol = columns.filter(col => col.createKeyFrom);
74
    let val = rowValues.get('_key');
75
76
    if (uniqueCol.length > 1) {
77
        throw new Error('Only one column can declare createKeyFrom');
78
    }
79
80
    if (uniqueCol.length > 0) {
81
        const dataIndex = nameFromDataIndex(uniqueCol[0]);
82
        val = rowValues && rowValues.get(dataIndex)
83
            ? rowValues.get(dataIndex)
84
            : rowValues.get('_key');
85
    }
86
87
    if (suffix) {
88
        val = `${val}-${suffix}`;
89
    }
90
91
    return val;
92
};
93
94
export const setDataAtDataIndex = (row, dataIndex, val) => {
95
96
    if (!row.toJS) {
97
        row = fromJS(row);
98
    }
99
100
    if (typeof dataIndex === 'string') {
101
        return row.set(dataIndex, val);
102
    }
103
104
    if (row.getIn(dataIndex)) {
105
        return row.setIn(dataIndex, val);
106
    }
107
108
    throw new Error('Invalid key path');
109
};
110
111
export const getValueFromDataIndexArr = (row, dataIndex) => {
112
    const val = row.getIn(dataIndex);
113
114
    return val !== undefined
115
        ? val
116
        : '';
117
};
118
119
export const nameFromDataIndex = (column) => {
120
121
    if (!column) {
122
        return '';
123
    }
124
125
    if (typeof column.dataIndex === 'string') {
126
        return column.dataIndex;
127
    }
128
129
    if (Array.isArray(column.dataIndex)) {
130
        return column.dataIndex[column.dataIndex.length - 1];
131
    }
132
133
    if (!column.dataIndex) {
0 ignored issues
show
Complexity Best Practice introduced by
There is no return statement if !column.dataIndex is false. Are you sure this is correct? If so, consider adding return; explicitly.

This check looks for functions where a return statement is found in some execution paths, but not in all.

Consider this little piece of code

function isBig(a) {
    if (a > 5000) {
        return "yes";
    }
}

console.log(isBig(5001)); //returns yes
console.log(isBig(42)); //returns undefined

The function isBig will only return a specific value when its parameter is bigger than 5000. In any other case, it will implicitly return undefined.

This behaviour may not be what you had intended. In any case, you can add a return undefined to the other execution path to make the return value explicit.

Loading history...
134
        return camelize(column.name);
135
    }
136
137
};
138