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

ActiveTranslatorAdapter.onChange   A

Complexity

Conditions 1

Size

Total Lines 6
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 6
dl 0
loc 6
ccs 3
cts 3
cp 1
crap 1
rs 10
c 0
b 0
f 0
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
}