import { data } from '../data';
import { countries } from '../countries';
import { ICountry } from '../interface/country.interface';
import { IData } from '../interface/data.interface';

export function generateHashMapData() {
  const validData = new Map<ICountry, Array<IData>>();

  countries.forEach((country) => {
    data.forEach((data) => {
      if (data.Prefix.toString().startsWith(country.dialCode.replace('+', ''))) {
        if (!validData.get(country)) {
          validData.set(country, [data]);
        } else {
          const datas: IData[] = validData.get(country)!;
          datas.push(data);
          validData.set(country, datas);
        }
      }
    });
  });

  return validData;
}
