Passed
Push — develop ( 215336...a05353 )
by Endre
03:50
created

src/Language/Manager/ActiveTranslatorAdapter.ts   A

Complexity

Total Complexity 1
Complexity/F 1

Size

Lines of Code 24
Function Count 1

Duplication

Duplicated Lines 0
Ratio 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 19
dl 0
loc 24
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 {IObserver, IObserverAdapter} from '../../Observer/Observer';
2
import Manager from '../Manager';
3
import Translator from '../Translator';
4
5
export default class ActiveTranslatorAdapter implements IObserverAdapter<string> {
6
  protected baseAdapter: IObserverAdapter<string>;
7
  protected manager: Manager;
8
  protected activeTranslator: IObserver<Translator>;
9
10
  constructor(baseAdapter: IObserverAdapter<string>, manager: Manager, activeTranslator: IObserver<Translator>) {
11 2
    this.activeTranslator = activeTranslator;
12 2
    this.baseAdapter = baseAdapter;
13 2
    this.manager = manager;
14
  }
15
16
  onChange(oldValue: string, 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(oldValue, newValue);
21
      }
22
    );
23
  }
24
}