/**
 * Librairie de fonctions utilitaires de manipulation de données JavaScript.
 *
 * @module
 */

/**
 * Indexe un tableau dans une Map.
 *
 * @param {Array} array - Le tableau à indexer
 * @param {string} keyProperty - Le nom de la propriété servent de clé d'indexation
 * @returns {Map} La hashmap produite
 */
export function arrayToMap(array, keyProperty) {
    const map = new Map();

    if (array && array.length) {
        for (let obj of array) {
            map.set(obj[keyProperty], obj);

            if (typeof keyProperty === 'number') {
                map.set(obj[keyProperty + ''], obj);
            }
        }
    }

    return map;
}
