@jalik/deep-extend

    1.1.14 • Public • Published

    @jalik/deep-extend

    GitHub package.json version Build Status GitHub GitHub last commit GitHub issues npm

    A utility to merge deep objects.

    Introduction

    Use it when you need to merge nested objects.

    Merging deep objects

    The following code shows how to merge objects without losing values that are not defined in objects to merge.

    import deepExtend from "@jalik/deep-extend";
    
    const defaultColors = {
      cold: {
        blue: '#0000FF',
        green: '#00FF00',
      },
      hot: {
        red: '#FF0000',
        yellow: '#FFFF00',
      },
    };
    
    const customColors = {
      cold: {
        blue: '#48C2ED',
      },
      hot: {
        yellow: '#E6CB5F',
      },
    };
    
    // Merge all colors into a new object.
    // The final colors will have custom blue and yellow colors,
    // but the other colors will be the default ones.
    const result = deepExtend({}, defaultColors, customColors);

    The result:

    {
      "cold": {
        "blue": "#48C2ED",
        "green": "#00FF00"
      },
      "hot": {
        "red": "#FF0000",
        "yellow": "#E6CB5F"
      }
    }

    Merging arrays

    See below how it is easy to merge arrays recursively.

    import deepExtend from "@jalik/deep-extend";
    
    const a = [1, [2, [3]]];
    const b = [undefined, [4, [undefined, 5], 6], 7];
    
    const result = deepExtend([], a, b);

    The result:

    [
      1,
      [
        4,
        [
          3,
          5
        ],
        6
      ],
      7
    ]

    Changelog

    History of releases is in the changelog.

    License

    The code is released under the MIT License.

    Install

    npm i @jalik/deep-extend

    DownloadsWeekly Downloads

    48

    Version

    1.1.14

    License

    MIT

    Unpacked Size

    9.87 kB

    Total Files

    6

    Last publish

    Collaborators

    • jalik