import { generateHashMapData } from './generateHashMapData';
import { convertToE164 } from './convertToE164';
import { validateE164 } from './validateE164';
import { getInformation } from './getInformation';
import { IPhoneInformation } from '../interface/phone-information';

export function phoneLookup(numbers: Array<string>) {
  const data = generateHashMapData();

  const phoneInformation: Array<IPhoneInformation> = numbers.map((number) => {
    const isValidE164 = validateE164(number);

    if (!isValidE164) {
      number = convertToE164(number);
    }

    return getInformation(number, data);
  });

  return phoneInformation;
}
