Completed
Push — master ( 4df0ef...138b68 )
by Ajeh
28s
created

utilities.js ➔ firstIndex   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
c 0
b 0
f 0
nc 3
dl 0
loc 12
rs 9.4285
nop 3
1
// utilities
2
3
export const noop = () => {}
4
5
export const cloneObj = function (obj) {
6
    return Object.assign({}, obj)
7
}
8
9
export const mergeObjs = function () {
10
    let values = []
11
    for (let i = 0; i < arguments.length; i++){
12
        values.push(arguments[i])
13
    }
14
    return Object.assign(...(values.map(cloneObj)))
15
}
16
17
export const clickNode = function (node) {
18
    if (document.createEvent) {
19
        let evt = document.createEvent('MouseEvents');
20
        evt.initEvent('click', true, false);
21
        node.dispatchEvent(evt);
22
    } else if (document.createEventObject) {
23
        node.fireEvent('onclick');
24
    } else if (typeof node.onclick === 'function') {
25
        node.onclick();
26
    }
27
}
28
29
export const firstIndex = function (arr, search, prop) {
30
    let i
31
    let limit = arr.length
32
33
    for(i=0; i < limit; i++){
34
        if(arr[i][prop] === search){
35
            return i
36
        }
37
    }
38
39
    return -1
40
}