src/utils/optionalService.ts   A
last analyzed

Complexity

Total Complexity 1
Complexity/F 0

Size

Lines of Code 24
Function Count 0

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 1
eloc 21
dl 0
loc 24
c 0
b 0
f 0
rs 10
mnd 1
bc 1
fnc 0
bpm 0
cpm 0
noi 0
1
import Elasticsearch from '../services/elasticsearch'
2
import Redis from '../services/redis'
3
import Service from '../services/service'
4
5
const getOptionalServiceByname = (serviceName: string): Service => {
6
    let service: Service
7
8
    switch (serviceName) {
9
    case (new Redis).service:
10
        service = new Redis()
11
        break
12
    case (new Elasticsearch).service:
13
        service = new Elasticsearch()
14
        break
15
    default:
16
        throw Error('Invalid service: ' + serviceName)
17
    }
18
19
    return service
20
}
21
22
export {
23
    getOptionalServiceByname
24
}