node_modules/dns-packet/opcodes.js   A
last analyzed

Complexity

Total Complexity 34
Complexity/F 17

Size

Lines of Code 43
Function Count 2

Duplication

Duplicated Lines 2
Ratio 4.65 %

Importance

Changes 0
Metric Value
cc 0
eloc 38
nc 1
dl 2
loc 43
rs 9.68
c 0
b 0
f 0
wmc 34
mnd 1
bc 2
fnc 2
bpm 1
cpm 17
noi 0

1 Function

Rating   Name   Duplication   Size   Complexity  
F exports.toOpcode 1 21 17

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
/*
2
 * Traditional DNS header OPCODEs (4-bits) defined by IANA in
3
 * https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-5
4
 */
5
6 View Code Duplication
exports.toString = function (opcode) {
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
7
  switch (opcode) {
8
    case 0: return 'QUERY'
9
    case 1: return 'IQUERY'
10
    case 2: return 'STATUS'
11
    case 3: return 'OPCODE_3'
12
    case 4: return 'NOTIFY'
13
    case 5: return 'UPDATE'
14
    case 6: return 'OPCODE_6'
15
    case 7: return 'OPCODE_7'
16
    case 8: return 'OPCODE_8'
17
    case 9: return 'OPCODE_9'
18
    case 10: return 'OPCODE_10'
19
    case 11: return 'OPCODE_11'
20
    case 12: return 'OPCODE_12'
21
    case 13: return 'OPCODE_13'
22
    case 14: return 'OPCODE_14'
23
    case 15: return 'OPCODE_15'
24
  }
25
  return 'OPCODE_' + opcode
26
}
27
28 View Code Duplication
exports.toOpcode = function (code) {
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
29
  switch (code.toUpperCase()) {
30
    case 'QUERY': return 0
31
    case 'IQUERY': return 1
32
    case 'STATUS': return 2
33
    case 'OPCODE_3': return 3
34
    case 'NOTIFY': return 4
35
    case 'UPDATE': return 5
36
    case 'OPCODE_6': return 6
37
    case 'OPCODE_7': return 7
38
    case 'OPCODE_8': return 8
39
    case 'OPCODE_9': return 9
40
    case 'OPCODE_10': return 10
41
    case 'OPCODE_11': return 11
42
    case 'OPCODE_12': return 12
43
    case 'OPCODE_13': return 13
44
    case 'OPCODE_14': return 14
45
    case 'OPCODE_15': return 15
46
  }
47
  return 0
48
}
49