covidpass-greenpass-su-ipho.../src/value_sets.ts

34 lines
1.4 KiB
TypeScript

interface ValueTypes {
medicalProducts: string;
countryCodes: string;
manufacturers: string;
}
export class ValueSets {
private static VALUE_SET_BASE_URL: string = 'https://raw.githubusercontent.com/ehn-dcc-development/ehn-dcc-valuesets/main/';
private static VALUE_TYPES: ValueTypes = {
medicalProducts: 'vaccine-medicinal-product.json',
countryCodes: 'country-2-codes.json',
manufacturers: 'vaccine-mah-manf.json',
}
medicalProducts: object;
countryCodes: object;
manufacturers: object;
private constructor(medicalProducts: object, countryCodes: object, manufacturers: object) {
this.medicalProducts = medicalProducts;
this.countryCodes = countryCodes;
this.manufacturers = manufacturers;
}
public static async loadValueSets(): Promise<ValueSets> {
// Load all Value Sets from GitHub
let medicalProducts = await (await fetch(ValueSets.VALUE_SET_BASE_URL + ValueSets.VALUE_TYPES.medicalProducts)).json();
let countryCodes = await (await fetch(ValueSets.VALUE_SET_BASE_URL + ValueSets.VALUE_TYPES.countryCodes)).json();
let manufacturers = await (await fetch(ValueSets.VALUE_SET_BASE_URL + ValueSets.VALUE_TYPES.manufacturers)).json();
return new ValueSets(medicalProducts['valueSetValues'], countryCodes['valueSetValues'], manufacturers['valueSetValues']);
}
}