@rotomeca/utils - v7.0.3
    Preparing search index...

    Function deepMerge

    • Fusionne source dans target de façon récursive et retourne un nouvel objet.

      Les objets plains imbriqués sont fusionnés récursivement. Les tableaux, les valeurs primitives et les instances de classes (Date, Map, etc.) de source écrasent ceux de target. Les propriétés présentes dans target mais absentes de source sont conservées. Les deux objets d'origine ne sont pas mutés.

      Les clés sensibles (__proto__, constructor, prototype) sont ignorées pour prévenir toute pollution de prototype.

      Type Parameters

      • T extends object

        Type de l'objet cible.

      • U extends object

        Type de l'objet source.

      Parameters

      • target: T

        L'objet de base.

      • source: U

        L'objet dont les propriétés sont fusionnées dans target.

      Returns T & U

      Un nouvel objet de type T & U résultant de la fusion récursive.

      deepMerge({ a: 1, b: { c: 2, d: 3 } }, { b: { c: 99 } })
      // → { a: 1, b: { c: 99, d: 3 } }

      deepMerge({ a: [1, 2] }, { a: [3, 4, 5] })
      // → { a: [3, 4, 5] } (tableau écrasé, pas fusionné)

      deepMerge({ d: new Date('2020') }, { d: new Date('2024') })
      // → { d: Date(2024) } (instance écrasée, pas fusionnée)