Test Failed
Push — develop ( 424bfb...c8c23d )
by Endre
02:45
created

src/Language/ChangeLanguageSetup.ts   A

Complexity

Total Complexity 1
Complexity/F 1

Size

Lines of Code 32
Function Count 1

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 1
eloc 23
mnd 0
bc 0
fnc 1
dl 0
loc 32
bpm 0
cpm 1
noi 0
c 0
b 0
f 0
rs 10

1 Function

Rating   Name   Duplication   Size   Complexity  
A ChangeLanguageSetup.interact 0 6 1
1
import {IObserver} from '../Observer/Observer';
2
import Manager from './Manager';
3
import Translator from './Translator';
4
5
interface IRequest {
6
  languageCode: string;
7
}
8
9
interface IResponse {
10
}
11
12
export interface ILanguageSetup {
13
  languageCode: string
14
  translator: Translator
15
}
16
17
export default class ChangeLanguageSetup {
18
  protected setupObserver: IObserver<ILanguageSetup>;
19
  protected manager: Manager;
20
21
  constructor(setupObserver: IObserver<ILanguageSetup>, manager: Manager) {
22
    this.setupObserver = setupObserver;
23
    this.manager = manager;
24
  }
25
26
  async interact(request: IRequest, response: IResponse): Promise<void> {
27
    const languageCode: string = request.languageCode;
28
    const translator: Translator = await this.manager.getTranslator(languageCode);
29
30
    this.setupObserver.value = {languageCode: languageCode, translator: translator};
31
  }
32
}