JSFiddle - React, Tailwind, and code Playground
TypeScript
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable, zip, of } from 'rxjs';
export interface Alias {
code: string;
value: string;
}
@Injectable({
providedIn: 'root'
})
export class BackendService {
private aliases: Alias[];
private aliasDeclaration: Alias[];
public ready: Observable<boolean>;
constructor(private http: HttpClient) {
this.aliases = [];
this.aliasDeclaration = [];
this.ready = of<boolean>(false);
}
private getAliases(): Observable<Alias[]> {
return this.http.get<Alias[]>('deanon protection');
}
private getDeclarations(): Observable<Alias[]> {
return this.http.get<Alias[]>('deanon protection');
}
public init(): void {
zip(this.getAliases(), this.getDeclarations()).subscribe(([aliases, declarations]) => {
this.aliases = aliases;
this.aliasDeclaration = declarations;
});
}
public getAlias(code): Alias {
return this.aliases.find(alias => alias.code === code);
}
public getAliasDeclaration(code): Alias {
return this.aliasDeclaration.find(alias => alias.code === code);
}
}