src/Store/Connection/ConnectionAdapterFactory.ts   A
last analyzed

Complexity

Total Complexity 4
Complexity/F 4

Size

Lines of Code 30
Function Count 1

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 23
dl 0
loc 30
rs 10
c 0
b 0
f 0
wmc 4
mnd 3
bc 3
fnc 1
bpm 3
cpm 4
noi 0

1 Function

Rating   Name   Duplication   Size   Complexity  
A ConnectionAdapterFactory.getAdapter 0 14 4
1
import JsonRequestAdapter from "./Adapter/JsonRequestAdapter";
2
import LocalStorageAdapter from "./Adapter/LocalStorageAdapter";
3
import LocalArrayAdapter from "./Adapter/LocalArrayAdapter";
4
import ConnectionSettings from "./ConnectionSettings";
5
import {AdapterInterface} from "../../JeloquentInterfaces";
6
7
class ConnectionAdapterFactory {
8
    static getAdapter (name: string, connectionSettings: ConnectionSettings): AdapterInterface {
9
        if (name === 'jsonRequest') {
10
            return new JsonRequestAdapter(connectionSettings);
11
        }
12
13
        if (name === 'localStorage') {
14
            return new LocalStorageAdapter(connectionSettings);
15
        }
16
17
        if (name === 'localArray') {
18
            return new LocalArrayAdapter(connectionSettings);
19
        }
20
21
        return new JsonRequestAdapter(connectionSettings);
22
    }
23
}
24
25
export {
26
    ConnectionAdapterFactory,
27
    LocalStorageAdapter,
28
    LocalArrayAdapter,
29
    JsonRequestAdapter
30
}