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

ActiveTranslatorAdapter   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 16
dl 0
loc 17
ccs 6
cts 6
cp 1
rs 10
c 0
b 0
f 0
wmc 1

1 Function

Rating   Name   Duplication   Size   Complexity  
A 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
}