| Total Complexity | 1 |
| Total Lines | 17 |
| Duplicated Lines | 0 % |
| Coverage | 100% |
| Changes | 0 | ||
| 1 | import {IObserver, IObserverAdapter} from '../../Observer/Observer'; |
||
| 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 | } |
||
| 24 | } |