src/Language/Manager/ActiveTranslatorAdapter.ts   A
last analyzed

Complexity

Total Complexity 1
Complexity/F 1

Size

Lines of Code 25
Function Count 1

Duplication

Duplicated Lines 0
Ratio 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 19
dl 0
loc 25
ccs 6
cts 6
cp 1
rs 10
c 0
b 0
f 0
wmc 1
mnd 0
bc 0
fnc 1
bpm 0
cpm 1
noi 0

1 Function

Rating   Name   Duplication   Size   Complexity  
A ActiveTranslatorAdapter.onChange 0 6 1
1
import {Observer, ObserverAdapter} from '@enbock/state-value-observer/ValueObserver';
2
import Manager from '../Manager';
3
import Translator from '../Translator';
4
5
export default class ActiveTranslatorAdapter implements ObserverAdapter<string> {
6
  protected baseAdapter: ObserverAdapter<string>;
7
  protected manager: Manager;
8
  protected activeTranslator: Observer<Translator>;
9
10
  constructor(baseAdapter: ObserverAdapter<string>, manager: Manager, activeTranslator: Observer<Translator>) {
11 2
    this.activeTranslator = activeTranslator;
12 2
    this.baseAdapter = baseAdapter;
13 2
    this.manager = manager;
14
  }
15
16
  onChange(newValue: string): void {
17 1
    this.manager.getTranslator(newValue).then(
18
      (translator: Translator): void => {
19 1
        this.activeTranslator.value = translator;
20 1
        this.baseAdapter.onChange(newValue);
21
      }
22
    );
23
  }
24
}
25