Options
All
  • Public
  • Public/Protected
  • All
Menu

Module object/mergeWith

Index

References

Interfaces

Type aliases

Functions

References

Renames and re-exports mergeWith

Type aliases

MergeFunc<T1, T2, R>: (v1: T1[keyof T1] | T2[keyof T2], v2: T1[keyof T1] | T2[keyof T2], k: keyof T1 & T2, t1: T1, t2: T2) => R

Type parameters

  • T1

  • T2

  • R

Type declaration

    • (v1: T1[keyof T1] | T2[keyof T2], v2: T1[keyof T1] | T2[keyof T2], k: keyof T1 & T2, t1: T1, t2: T2): R
    • Parameters

      • v1: T1[keyof T1] | T2[keyof T2]
      • v2: T1[keyof T1] | T2[keyof T2]
      • k: keyof T1 & T2
      • t1: T1
      • t2: T2

      Returns R

Functions

  • mergeWith<T1, T2, R>(fn: MergeFunc<T1, T2, R>, a: T1, b: T2): Record<keyof T1 | keyof T2, R>
  • mergeWith<T1, R>(fn: MergeFunc<T1, any, R>, a: T1): <T2>(b: T2) => Record<keyof T1 | keyof T2, R>
  • mergeWith<R>(fn: MergeFunc<any, any, R>): { <T1, T2>(a: T1, b: T2): Record<keyof T1 | keyof T2, R>; <T1>(a: T1): <T2>(b: T2) => Record<keyof T1 | keyof T2, R>; <T>(...args: T[]): Record<keyof T, R> }
  • mergeWith<T, R>(fn: MergeFunc<any, any, R>, ...args: T[]): Record<keyof T, R>
  • Create a new object with the own properties of the first object merged with the own properties of the others objects. If a key exists in several objects provided fn will be called and should return resolve value

    example
     mergeWith((x, y) => x + y, { 'name': 'fred', 'age': 10 }, { 'age': 40 }); //=> { 'name': 'fred', 'age': 50 }
    

    Type parameters

    • T1

    • T2

    • R

    Parameters

    • fn: MergeFunc<T1, T2, R>

      function to call if prop conflict appear. Receives three argument, valueLeft, valueRight, key, leftObj, rightObj.

    • a: T1
    • b: T2

    Returns Record<keyof T1 | keyof T2, R>

  • Create a new object with the own properties of the first object merged with the own properties of the others objects. If a key exists in several objects provided fn will be called and should return resolve value

    example
     mergeWith((x, y) => x + y, { 'name': 'fred', 'age': 10 }, { 'age': 40 }); //=> { 'name': 'fred', 'age': 50 }
    

    Type parameters

    • T1

    • R

    Parameters

    • fn: MergeFunc<T1, any, R>

      function to call if prop conflict appear. Receives three argument, valueLeft, valueRight, key, leftObj, rightObj.

    • a: T1

    Returns <T2>(b: T2) => Record<keyof T1 | keyof T2, R>

      • <T2>(b: T2): Record<keyof T1 | keyof T2, R>
      • Type parameters

        • T2

        Parameters

        • b: T2

        Returns Record<keyof T1 | keyof T2, R>

  • Create a new object with the own properties of the first object merged with the own properties of the others objects. If a key exists in several objects provided fn will be called and should return resolve value

    example
     mergeWith((x, y) => x + y, { 'name': 'fred', 'age': 10 }, { 'age': 40 }); //=> { 'name': 'fred', 'age': 50 }
    

    Type parameters

    • R

    Parameters

    • fn: MergeFunc<any, any, R>

      function to call if prop conflict appear. Receives three argument, valueLeft, valueRight, key, leftObj, rightObj.

    Returns { <T1, T2>(a: T1, b: T2): Record<keyof T1 | keyof T2, R>; <T1>(a: T1): <T2>(b: T2) => Record<keyof T1 | keyof T2, R>; <T>(...args: T[]): Record<keyof T, R> }

      • <T1, T2>(a: T1, b: T2): Record<keyof T1 | keyof T2, R>
      • <T1>(a: T1): <T2>(b: T2) => Record<keyof T1 | keyof T2, R>
      • <T>(...args: T[]): Record<keyof T, R>
      • Type parameters

        • T1

        • T2

        Parameters

        • a: T1
        • b: T2

        Returns Record<keyof T1 | keyof T2, R>

      • Type parameters

        • T1

        Parameters

        • a: T1

        Returns <T2>(b: T2) => Record<keyof T1 | keyof T2, R>

          • <T2>(b: T2): Record<keyof T1 | keyof T2, R>
          • Type parameters

            • T2

            Parameters

            • b: T2

            Returns Record<keyof T1 | keyof T2, R>

      • Type parameters

        • T

        Parameters

        • Rest ...args: T[]

        Returns Record<keyof T, R>

  • Create a new object with the own properties of the first object merged with the own properties of the others objects. If a key exists in several objects provided fn will be called and should return resolve value

    example
     mergeWith((x, y) => x + y, { 'name': 'fred', 'age': 10 }, { 'age': 40 }); //=> { 'name': 'fred', 'age': 50 }
    

    Type parameters

    • T

    • R

    Parameters

    • fn: MergeFunc<any, any, R>

      function to call if prop conflict appear. Receives three argument, valueLeft, valueRight, key, leftObj, rightObj.

    • Rest ...args: T[]

    Returns Record<keyof T, R>

Generated using TypeDoc