/** * Écriture d'une valeur désignée par un chemin pointé (`"divers.montant"`). * * Les formulaires d'édition adressent leurs champs par ce chemin plutôt que par * une référence : ils travaillent sur une copie fraîche de l'objet à chaque * modification, et une référence prise avant la copie viserait l'ancien. */ /** Écrit `valeur` à `chemin`, en créant les objets intermédiaires manquants. */ export function setNestedValue(objet, chemin, valeur) { const parties = chemin.split('.') let courant = objet for (let i = 0; i < parties.length - 1; i++) { if (!courant[parties[i]]) { courant[parties[i]] = {} } courant = courant[parties[i]] } courant[parties[parties.length - 1]] = valeur }