mergeIgnoreNil

Benchmark created on


Setup

const dst = {
    "__typename": "Geometry",
    "ambientColor": [
        0,
        0,
        0
    ],
    "axial": null,
    "baseExtents": null,
    "bottom": null,
    "bottomCross": null,
    "bottomRadius": null,
    "calibrationBoardParameters": null,
    "deleted": false,
    "diffuseColor": [
        0.800000011920929,
        0.800000011920929,
        0.800000011920929
    ],
    "halfExtents": null,
    "height": 85,
    "id": "Solid325",
    "innerExtents": null,
    "innerSizeX": null,
    "innerSizeY": null,
    "innerSizeZ": null,
    "mesh": {
        "__typename": "Mesh",
        "id": "",
        "indices": [
            0,
            2,
            4,
            1,
            5,
            3,
            2,
            3,
            4,
            4,
            3,
            5,
            0,
            4,
            6,
            1,
            7,
            5,
            4,
            5,
            6,
            6,
            5,
            7,
            0,
            6,
            8,
            1,
            9,
            7,
            6,
            7,
            8,
            8,
            7,
            9,
            0,
            8,
            10,
            1,
            11,
            9,
            8,
            9,
            10,
            10,
            9,
            11,
            0,
            10,
            12,
            1,
            13,
            11,
            10,
            11,
            12,
            12,
            11,
            13,
            0,
            12,
            14,
            1,
            15,
            13,
            12,
            13,
            14,
            14,
            13,
            15,
            0,
            14,
            16,
            1,
            17,
            15,
            14,
            15,
            16,
            16,
            15,
            17,
            0,
            16,
            18,
            1,
            19,
            17,
            16,
            17,
            18,
            18,
            17,
            19,
            0,
            18,
            20,
            1,
            21,
            19,
            18,
            19,
            20,
            20,
            19,
            21,
            0,
            20,
            22,
            1,
            23,
            21,
            20,
            21,
            22,
            22,
            21,
            23,
            0,
            22,
            24,
            1,
            25,
            23,
            22,
            23,
            24,
            24,
            23,
            25,
            0,
            24,
            26,
            1,
            27,
            25,
            24,
            25,
            26,
            26,
            25,
            27,
            0,
            26,
            28,
            1,
            29,
            27,
            26,
            27,
            28,
            28,
            27,
            29,
            0,
            28,
            30,
            1,
            31,
            29,
            28,
            29,
            30,
            30,
            29,
            31,
            0,
            30,
            32,
            1,
            33,
            31,
            30,
            31,
            32,
            32,
            31,
            33,
            0,
            32,
            34,
            1,
            35,
            33,
            32,
            33,
            34,
            34,
            33,
            35,
            0,
            34,
            36,
            1,
            37,
            35,
            34,
            35,
            36,
            36,
            35,
            37,
            0,
            36,
            38,
            1,
            39,
            37,
            36,
            37,
            38,
            38,
            37,
            39,
            0,
            38,
            40,
            1,
            41,
            39,
            38,
            39,
            40,
            40,
            39,
            41,
            0,
            40,
            42,
            1,
            43,
            41,
            40,
            41,
            42,
            42,
            41,
            43,
            0,
            42,
            44,
            1,
            45,
            43,
            42,
            43,
            44,
            44,
            43,
            45,
            0,
            44,
            46,
            1,
            47,
            45,
            44,
            45,
            46,
            46,
            45,
            47,
            0,
            46,
            48,
            1,
            49,
            47,
            46,
            47,
            48,
            48,
            47,
            49,
            0,
            48,
            50,
            1,
            51,
            49,
            48,
            49,
            50,
            50,
            49,
            51,
            0,
            50,
            52,
            1,
            53,
            51,
            50,
            51,
            52,
            52,
            51,
            53,
            0,
            52,
            54,
            1,
            55,
            53,
            52,
            53,
            54,
            54,
            53,
            55,
            0,
            54,
            56,
            1,
            57,
            55,
            54,
            55,
            56,
            56,
            55,
            57,
            0,
            56,
            58,
            1,
            59,
            57,
            56,
            57,
            58,
            58,
            57,
            59,
            0,
            58,
            60,
            1,
            61,
            59,
            58,
            59,
            60,
            60,
            59,
            61,
            0,
            60,
            62,
            1,
            63,
            61,
            60,
            61,
            62,
            62,
            61,
            63,
            0,
            62,
            64,
            1,
            65,
            63,
            62,
            63,
            64,
            64,
            63,
            65,
            0,
            64,
            66,
            1,
            67,
            65,
            64,
            65,
            66,
            66,
            65,
            67,
            0,
            66,
            68,
            1,
            69,
            67,
            66,
            67,
            68,
            68,
            67,
            69,
            0,
            68,
            70,
            1,
            71,
            69,
            68,
            69,
            70,
            70,
            69,
            71,
            0,
            70,
            72,
            1,
            73,
            71,
            70,
            71,
            72,
            72,
            71,
            73,
            0,
            72,
            74,
            1,
            75,
            73,
            72,
            73,
            74,
            74,
            73,
            75,
            0,
            74,
            76,
            1,
            77,
            75,
            74,
            75,
            76,
            76,
            75,
            77,
            0,
            76,
            78,
            1,
            79,
            77,
            76,
            77,
            78,
            78,
            77,
            79,
            0,
            78,
            80,
            1,
            81,
            79,
            78,
            79,
            80,
            80,
            79,
            81,
            0,
            80,
            82,
            1,
            83,
            81,
            80,
            81,
            82,
            82,
            81,
            83,
            0,
            82,
            84,
            1,
            85,
            83,
            82,
            83,
            84,
            84,
            83,
            85,
            0,
            84,
            86,
            1,
            87,
            85,
            84,
            85,
            86,
            86,
            85,
            87,
            0,
            86,
            88,
            1,
            89,
            87,
            86,
            87,
            88,
            88,
            87,
            89,
            0,
            88,
            90,
            1,
            91,
            89,
            88,
            89,
            90,
            90,
            89,
            91,
            0,
            90,
            92,
            1,
            93,
            91,
            90,
            91,
            92,
            92,
            91,
            93,
            0,
            92,
            94,
            1,
            95,
            93,
            92,
            93,
            94,
            94,
            93,
            95,
            0,
            94,
            96,
            1,
            97,
            95,
            94,
            95,
            96,
            96,
            95,
            97,
            0,
            96,
            98,
            1,
            99,
            97,
            96,
            97,
            98,
            98,
            97,
            99,
            0,
            98,
            100,
            1,
            101,
            99,
            98,
            99,
            100,
            100,
            99,
            101,
            0,
            100,
            102,
            1,
            103,
            101,
            100,
            101,
            102,
            102,
            101,
            103,
            0,
            102,
            104,
            1,
            105,
            103,
            102,
            103,
            104,
            104,
            103,
            105,
            0,
            104,
            106,
            1,
            107,
            105,
            104,
            105,
            106,
            106,
            105,
            107
        ],
        "vertices": [
            0,
            0,
            42.5,
            0,
            0,
            -42.5,
            3,
            0,
            42.5,
            3,
            0,
            -42.5,
            3,
            0,
            42.5,
            3,
            0,
            -42.5,
            2.9772615290158075,
            0.36866487199414233,
            42.5,
            2.9772615290158075,
            0.36866487199414233,
            -42.5,
            2.9093908081050284,
            0.7317411603251314,
            42.5,
            2.9093908081050284,
            0.7317411603251314,
            -42.5,
            2.7974166882130675,
            1.0837249985614588,
            42.5,
            2.7974166882130675,
            1.0837249985614588,
            -42.5,
            2.6430365828573534,
            1.41928067050803,
            42.5,
            2.6430365828573534,
            1.41928067050803,
            -42.5,
            2.448590737068665,
            1.7333214942247532,
            42.5,
            2.448590737068665,
            1.7333214942247532,
            -42.5,
            2.2170267516619773,
            2.0210869309396715,
            42.5,
            2.2170267516619773,
            2.0210869309396715,
            -42.5,
            1.9518549006127266,
            2.278214749964121,
            42.5,
            1.9518549006127266,
            2.278214749964121,
            -42.5,
            1.6570949188815178,
            2.500807155663358,
            42.5,
            1.6570949188815178,
            2.500807155663358,
            -42.5,
            1.3372150673296148,
            2.685489874065187,
            42.5,
            1.3372150673296148,
            2.685489874065187,
            -42.5,
            0.9970643984389789,
            2.8294633034138323,
            42.5,
            0.9970643984389789,
            2.8294633034138323,
            -42.5,
            0.6417992496194926,
            2.930544953278802,
            42.5,
            0.6417992496194926,
            2.930544953278802,
            -42.5,
            0.276805078389906,
            2.9872025288851036,
            42.5,
            0.276805078389906,
            2.9872025288851036,
            -42.5,
            -0.09238517566851061,
            2.9985771591400976,
            42.5,
            -0.09238517566851061,
            2.9985771591400976,
            -42.5,
            -0.4601749646360559,
            2.964496416243778,
            42.5,
            -0.4601749646360559,
            2.964496416243778,
            -42.5,
            -0.8209889702162481,
            2.8854769295184575,
            42.5,
            -0.8209889702162481,
            2.8854769295184575,
            -42.5,
            -1.1693576198780378,
            2.762716553834861,
            42.5,
            -1.1693576198780378,
            2.762716553834861,
            -42.5,
            -1.4999999999999993,
            2.5980762113533165,
            42.5,
            -1.4999999999999993,
            2.5980762113533165,
            -42.5,
            -1.8079039091377689,
            2.3940516818407187,
            42.5,
            -1.8079039091377689,
            2.3940516818407187,
            -42.5,
            -2.08840183788878,
            2.153735769193326,
            42.5,
            -2.08840183788878,
            2.153735769193326,
            -42.5,
            -2.3372417235770113,
            1.8807714176823194,
            42.5,
            -2.3372417235770113,
            1.8807714176823194,
            -42.5,
            -2.550651407188842,
            1.5792964886320682,
            42.5,
            -2.550651407188842,
            1.5792964886320682,
            -42.5,
            -2.7253958154585707,
            1.2538810346603508,
            42.5,
            -2.7253958154585707,
            1.2538810346603508,
            -42.5,
            -2.8588260012814697,
            0.9094580223391308,
            42.5,
            -2.8588260012814697,
            0.9094580223391308,
            -42.5,
            -2.9489192990517052,
            0.5512485534497111,
            42.5,
            -2.9489192990517052,
            0.5512485534497111,
            -42.5,
            -2.994309986211132,
            0.18468271840182837,
            42.5,
            -2.994309986211132,
            0.18468271840182837,
            -42.5,
            -2.994309986211132,
            -0.1846827184018276,
            42.5,
            -2.994309986211132,
            -0.1846827184018276,
            -42.5,
            -2.9489192990517057,
            -0.5512485534497105,
            42.5,
            -2.9489192990517057,
            -0.5512485534497105,
            -42.5,
            -2.8588260012814697,
            -0.9094580223391302,
            42.5,
            -2.8588260012814697,
            -0.9094580223391302,
            -42.5,
            -2.725395815458571,
            -1.2538810346603502,
            42.5,
            -2.725395815458571,
            -1.2538810346603502,
            -42.5,
            -2.5506514071888433,
            -1.5792964886320666,
            42.5,
            -2.5506514071888433,
            -1.5792964886320666,
            -42.5,
            -2.337241723577012,
            -1.8807714176823187,
            42.5,
            -2.337241723577012,
            -1.8807714176823187,
            -42.5,
            -2.0884018378887803,
            -2.153735769193325,
            42.5,
            -2.0884018378887803,
            -2.153735769193325,
            -42.5,
            -1.8079039091377695,
            -2.3940516818407183,
            42.5,
            -1.8079039091377695,
            -2.3940516818407183,
            -42.5,
            -1.5000000000000013,
            -2.598076211353315,
            42.5,
            -1.5000000000000013,
            -2.598076211353315,
            -42.5,
            -1.1693576198780378,
            -2.762716553834861,
            42.5,
            -1.1693576198780378,
            -2.762716553834861,
            -42.5,
            -0.8209889702162494,
            -2.885476929518457,
            42.5,
            -0.8209889702162494,
            -2.885476929518457,
            -42.5,
            -0.460174964636058,
            -2.9644964162437777,
            42.5,
            -0.460174964636058,
            -2.9644964162437777,
            -42.5,
            -0.09238517566851134,
            -2.9985771591400976,
            42.5,
            -0.09238517566851134,
            -2.9985771591400976,
            -42.5,
            0.27680507838990465,
            -2.9872025288851036,
            42.5,
            0.27680507838990465,
            -2.9872025288851036,
            -42.5,
            0.6417992496194925,
            -2.930544953278802,
            42.5,
            0.6417992496194925,
            -2.930544953278802,
            -42.5,
            0.9970643984389782,
            -2.829463303413833,
            42.5,
            0.9970643984389782,
            -2.829463303413833,
            -42.5,
            1.3372150673296133,
            -2.685489874065188,
            42.5,
            1.3372150673296133,
            -2.685489874065188,
            -42.5,
            1.657094918881517,
            -2.5008071556633586,
            42.5,
            1.657094918881517,
            -2.5008071556633586,
            -42.5,
            1.9518549006127253,
            -2.278214749964122,
            42.5,
            1.9518549006127253,
            -2.278214749964122,
            -42.5,
            2.2170267516619777,
            -2.0210869309396715,
            42.5,
            2.2170267516619777,
            -2.0210869309396715,
            -42.5,
            2.4485907370686646,
            -1.7333214942247541,
            42.5,
            2.4485907370686646,
            -1.7333214942247541,
            -42.5,
            2.6430365828573525,
            -1.4192806705080319,
            42.5,
            2.6430365828573525,
            -1.4192806705080319,
            -42.5,
            2.797416688213067,
            -1.083724998561459,
            42.5,
            2.797416688213067,
            -1.083724998561459,
            -42.5,
            2.9093908081050284,
            -0.7317411603251327,
            42.5,
            2.9093908081050284,
            -0.7317411603251327,
            -42.5,
            2.9772615290158075,
            -0.36866487199414205,
            42.5,
            2.9772615290158075,
            -0.36866487199414205,
            -42.5,
            3,
            -7.347880794884109e-16,
            42.5,
            3,
            -7.347880794884109e-16,
            -42.5
        ]
    },
    "name": "Solid325",
    "outerExtents": null,
    "parentIds": [
        "aeonMyBasket_kawaguchi_palletize_inhouse2",
        "body01JXY7DNAV08E6PBF2D5T47B2S",
        "DynamicBodies"
    ],
    "radius": 3,
    "sideWalls": null,
    "topRadius": null,
    "transform": [
        1,
        0,
        0,
        0,
        702,
        597.5,
        -34
    ],
    "transparency": 0,
    "type": "cylinder",
    "visible": true
}



const src= {
    "__typename": "Geometry",
    "ambientColor": [
        0,
        0,
        0
    ],
    "axial": null,
    "baseExtents": null,
    "bottom": null,
    "bottomCross": null,
    "bottomRadius": null,
    "calibrationBoardParameters": null,
    "deleted": false,
    "diffuseColor": [
        0.800000011920929,
        0.800000011920929,
        0.800000011920929
    ],
    "halfExtents": null,
    "height": 85,
    "id": "Solid325",
    "innerExtents": null,
    "innerSizeX": null,
    "innerSizeY": null,
    "innerSizeZ": null,
    "mesh": {
        "__typename": "Mesh",
        "id": "",
        "indices": [
            0,
            2,
            4,
            1,
            5,
            3,
            2,
            3,
            4,
            4,
            3,
            5,
            0,
            4,
            6,
            1,
            7,
            5,
            4,
            5,
            6,
            6,
            5,
            7,
            0,
            6,
            8,
            1,
            9,
            7,
            6,
            7,
            8,
            8,
            7,
            9,
            0,
            8,
            10,
            1,
            11,
            9,
            8,
            9,
            10,
            10,
            9,
            11,
            0,
            10,
            12,
            1,
            13,
            11,
            10,
            11,
            12,
            12,
            11,
            13,
            0,
            12,
            14,
            1,
            15,
            13,
            12,
            13,
            14,
            14,
            13,
            15,
            0,
            14,
            16,
            1,
            17,
            15,
            14,
            15,
            16,
            16,
            15,
            17,
            0,
            16,
            18,
            1,
            19,
            17,
            16,
            17,
            18,
            18,
            17,
            19,
            0,
            18,
            20,
            1,
            21,
            19,
            18,
            19,
            20,
            20,
            19,
            21,
            0,
            20,
            22,
            1,
            23,
            21,
            20,
            21,
            22,
            22,
            21,
            23,
            0,
            22,
            24,
            1,
            25,
            23,
            22,
            23,
            24,
            24,
            23,
            25,
            0,
            24,
            26,
            1,
            27,
            25,
            24,
            25,
            26,
            26,
            25,
            27,
            0,
            26,
            28,
            1,
            29,
            27,
            26,
            27,
            28,
            28,
            27,
            29,
            0,
            28,
            30,
            1,
            31,
            29,
            28,
            29,
            30,
            30,
            29,
            31,
            0,
            30,
            32,
            1,
            33,
            31,
            30,
            31,
            32,
            32,
            31,
            33,
            0,
            32,
            34,
            1,
            35,
            33,
            32,
            33,
            34,
            34,
            33,
            35,
            0,
            34,
            36,
            1,
            37,
            35,
            34,
            35,
            36,
            36,
            35,
            37,
            0,
            36,
            38,
            1,
            39,
            37,
            36,
            37,
            38,
            38,
            37,
            39,
            0,
            38,
            40,
            1,
            41,
            39,
            38,
            39,
            40,
            40,
            39,
            41,
            0,
            40,
            42,
            1,
            43,
            41,
            40,
            41,
            42,
            42,
            41,
            43,
            0,
            42,
            44,
            1,
            45,
            43,
            42,
            43,
            44,
            44,
            43,
            45,
            0,
            44,
            46,
            1,
            47,
            45,
            44,
            45,
            46,
            46,
            45,
            47,
            0,
            46,
            48,
            1,
            49,
            47,
            46,
            47,
            48,
            48,
            47,
            49,
            0,
            48,
            50,
            1,
            51,
            49,
            48,
            49,
            50,
            50,
            49,
            51,
            0,
            50,
            52,
            1,
            53,
            51,
            50,
            51,
            52,
            52,
            51,
            53,
            0,
            52,
            54,
            1,
            55,
            53,
            52,
            53,
            54,
            54,
            53,
            55,
            0,
            54,
            56,
            1,
            57,
            55,
            54,
            55,
            56,
            56,
            55,
            57,
            0,
            56,
            58,
            1,
            59,
            57,
            56,
            57,
            58,
            58,
            57,
            59,
            0,
            58,
            60,
            1,
            61,
            59,
            58,
            59,
            60,
            60,
            59,
            61,
            0,
            60,
            62,
            1,
            63,
            61,
            60,
            61,
            62,
            62,
            61,
            63,
            0,
            62,
            64,
            1,
            65,
            63,
            62,
            63,
            64,
            64,
            63,
            65,
            0,
            64,
            66,
            1,
            67,
            65,
            64,
            65,
            66,
            66,
            65,
            67,
            0,
            66,
            68,
            1,
            69,
            67,
            66,
            67,
            68,
            68,
            67,
            69,
            0,
            68,
            70,
            1,
            71,
            69,
            68,
            69,
            70,
            70,
            69,
            71,
            0,
            70,
            72,
            1,
            73,
            71,
            70,
            71,
            72,
            72,
            71,
            73,
            0,
            72,
            74,
            1,
            75,
            73,
            72,
            73,
            74,
            74,
            73,
            75,
            0,
            74,
            76,
            1,
            77,
            75,
            74,
            75,
            76,
            76,
            75,
            77,
            0,
            76,
            78,
            1,
            79,
            77,
            76,
            77,
            78,
            78,
            77,
            79,
            0,
            78,
            80,
            1,
            81,
            79,
            78,
            79,
            80,
            80,
            79,
            81,
            0,
            80,
            82,
            1,
            83,
            81,
            80,
            81,
            82,
            82,
            81,
            83,
            0,
            82,
            84,
            1,
            85,
            83,
            82,
            83,
            84,
            84,
            83,
            85,
            0,
            84,
            86,
            1,
            87,
            85,
            84,
            85,
            86,
            86,
            85,
            87,
            0,
            86,
            88,
            1,
            89,
            87,
            86,
            87,
            88,
            88,
            87,
            89,
            0,
            88,
            90,
            1,
            91,
            89,
            88,
            89,
            90,
            90,
            89,
            91,
            0,
            90,
            92,
            1,
            93,
            91,
            90,
            91,
            92,
            92,
            91,
            93,
            0,
            92,
            94,
            1,
            95,
            93,
            92,
            93,
            94,
            94,
            93,
            95,
            0,
            94,
            96,
            1,
            97,
            95,
            94,
            95,
            96,
            96,
            95,
            97,
            0,
            96,
            98,
            1,
            99,
            97,
            96,
            97,
            98,
            98,
            97,
            99,
            0,
            98,
            100,
            1,
            101,
            99,
            98,
            99,
            100,
            100,
            99,
            101,
            0,
            100,
            102,
            1,
            103,
            101,
            100,
            101,
            102,
            102,
            101,
            103,
            0,
            102,
            104,
            1,
            105,
            103,
            102,
            103,
            104,
            104,
            103,
            105,
            0,
            104,
            106,
            1,
            107,
            105,
            104,
            105,
            106,
            106,
            105,
            107
        ],
        "vertices": [
            0,
            0,
            42.5,
            0,
            0,
            -42.5,
            3,
            0,
            42.5,
            3,
            0,
            -42.5,
            3,
            0,
            42.5,
            3,
            0,
            -42.5,
            2.9772615290158075,
            0.36866487199414233,
            42.5,
            2.9772615290158075,
            0.36866487199414233,
            -42.5,
            2.9093908081050284,
            0.7317411603251314,
            42.5,
            2.9093908081050284,
            0.7317411603251314,
            -42.5,
            2.7974166882130675,
            1.0837249985614588,
            42.5,
            2.7974166882130675,
            1.0837249985614588,
            -42.5,
            2.6430365828573534,
            1.41928067050803,
            42.5,
            2.6430365828573534,
            1.41928067050803,
            -42.5,
            2.448590737068665,
            1.7333214942247532,
            42.5,
            2.448590737068665,
            1.7333214942247532,
            -42.5,
            2.2170267516619773,
            2.0210869309396715,
            42.5,
            2.2170267516619773,
            2.0210869309396715,
            -42.5,
            1.9518549006127266,
            2.278214749964121,
            42.5,
            1.9518549006127266,
            2.278214749964121,
            -42.5,
            1.6570949188815178,
            2.500807155663358,
            42.5,
            1.6570949188815178,
            2.500807155663358,
            -42.5,
            1.3372150673296148,
            2.685489874065187,
            42.5,
            1.3372150673296148,
            2.685489874065187,
            -42.5,
            0.9970643984389789,
            2.8294633034138323,
            42.5,
            0.9970643984389789,
            2.8294633034138323,
            -42.5,
            0.6417992496194926,
            2.930544953278802,
            42.5,
            0.6417992496194926,
            2.930544953278802,
            -42.5,
            0.276805078389906,
            2.9872025288851036,
            42.5,
            0.276805078389906,
            2.9872025288851036,
            -42.5,
            -0.09238517566851061,
            2.9985771591400976,
            42.5,
            -0.09238517566851061,
            2.9985771591400976,
            -42.5,
            -0.4601749646360559,
            2.964496416243778,
            42.5,
            -0.4601749646360559,
            2.964496416243778,
            -42.5,
            -0.8209889702162481,
            2.8854769295184575,
            42.5,
            -0.8209889702162481,
            2.8854769295184575,
            -42.5,
            -1.1693576198780378,
            2.762716553834861,
            42.5,
            -1.1693576198780378,
            2.762716553834861,
            -42.5,
            -1.4999999999999993,
            2.5980762113533165,
            42.5,
            -1.4999999999999993,
            2.5980762113533165,
            -42.5,
            -1.8079039091377689,
            2.3940516818407187,
            42.5,
            -1.8079039091377689,
            2.3940516818407187,
            -42.5,
            -2.08840183788878,
            2.153735769193326,
            42.5,
            -2.08840183788878,
            2.153735769193326,
            -42.5,
            -2.3372417235770113,
            1.8807714176823194,
            42.5,
            -2.3372417235770113,
            1.8807714176823194,
            -42.5,
            -2.550651407188842,
            1.5792964886320682,
            42.5,
            -2.550651407188842,
            1.5792964886320682,
            -42.5,
            -2.7253958154585707,
            1.2538810346603508,
            42.5,
            -2.7253958154585707,
            1.2538810346603508,
            -42.5,
            -2.8588260012814697,
            0.9094580223391308,
            42.5,
            -2.8588260012814697,
            0.9094580223391308,
            -42.5,
            -2.9489192990517052,
            0.5512485534497111,
            42.5,
            -2.9489192990517052,
            0.5512485534497111,
            -42.5,
            -2.994309986211132,
            0.18468271840182837,
            42.5,
            -2.994309986211132,
            0.18468271840182837,
            -42.5,
            -2.994309986211132,
            -0.1846827184018276,
            42.5,
            -2.994309986211132,
            -0.1846827184018276,
            -42.5,
            -2.9489192990517057,
            -0.5512485534497105,
            42.5,
            -2.9489192990517057,
            -0.5512485534497105,
            -42.5,
            -2.8588260012814697,
            -0.9094580223391302,
            42.5,
            -2.8588260012814697,
            -0.9094580223391302,
            -42.5,
            -2.725395815458571,
            -1.2538810346603502,
            42.5,
            -2.725395815458571,
            -1.2538810346603502,
            -42.5,
            -2.5506514071888433,
            -1.5792964886320666,
            42.5,
            -2.5506514071888433,
            -1.5792964886320666,
            -42.5,
            -2.337241723577012,
            -1.8807714176823187,
            42.5,
            -2.337241723577012,
            -1.8807714176823187,
            -42.5,
            -2.0884018378887803,
            -2.153735769193325,
            42.5,
            -2.0884018378887803,
            -2.153735769193325,
            -42.5,
            -1.8079039091377695,
            -2.3940516818407183,
            42.5,
            -1.8079039091377695,
            -2.3940516818407183,
            -42.5,
            -1.5000000000000013,
            -2.598076211353315,
            42.5,
            -1.5000000000000013,
            -2.598076211353315,
            -42.5,
            -1.1693576198780378,
            -2.762716553834861,
            42.5,
            -1.1693576198780378,
            -2.762716553834861,
            -42.5,
            -0.8209889702162494,
            -2.885476929518457,
            42.5,
            -0.8209889702162494,
            -2.885476929518457,
            -42.5,
            -0.460174964636058,
            -2.9644964162437777,
            42.5,
            -0.460174964636058,
            -2.9644964162437777,
            -42.5,
            -0.09238517566851134,
            -2.9985771591400976,
            42.5,
            -0.09238517566851134,
            -2.9985771591400976,
            -42.5,
            0.27680507838990465,
            -2.9872025288851036,
            42.5,
            0.27680507838990465,
            -2.9872025288851036,
            -42.5,
            0.6417992496194925,
            -2.930544953278802,
            42.5,
            0.6417992496194925,
            -2.930544953278802,
            -42.5,
            0.9970643984389782,
            -2.829463303413833,
            42.5,
            0.9970643984389782,
            -2.829463303413833,
            -42.5,
            1.3372150673296133,
            -2.685489874065188,
            42.5,
            1.3372150673296133,
            -2.685489874065188,
            -42.5,
            1.657094918881517,
            -2.5008071556633586,
            42.5,
            1.657094918881517,
            -2.5008071556633586,
            -42.5,
            1.9518549006127253,
            -2.278214749964122,
            42.5,
            1.9518549006127253,
            -2.278214749964122,
            -42.5,
            2.2170267516619777,
            -2.0210869309396715,
            42.5,
            2.2170267516619777,
            -2.0210869309396715,
            -42.5,
            2.4485907370686646,
            -1.7333214942247541,
            42.5,
            2.4485907370686646,
            -1.7333214942247541,
            -42.5,
            2.6430365828573525,
            -1.4192806705080319,
            42.5,
            2.6430365828573525,
            -1.4192806705080319,
            -42.5,
            2.797416688213067,
            -1.083724998561459,
            42.5,
            2.797416688213067,
            -1.083724998561459,
            -42.5,
            2.9093908081050284,
            -0.7317411603251327,
            42.5,
            2.9093908081050284,
            -0.7317411603251327,
            -42.5,
            2.9772615290158075,
            -0.36866487199414205,
            42.5,
            2.9772615290158075,
            -0.36866487199414205,
            -42.5,
            3,
            -7.347880794884109e-16,
            42.5,
            3,
            -7.347880794884109e-16,
            -42.5
        ]
    },
    "name": "Solid325",
    "outerExtents": null,
    "parentIds": [
        "aeonMyBasket_kawaguchi_palletize_inhouse2",
        "body01JXY7DNAV08E6PBF2D5T47B2S",
        "DynamicBodies"
    ],
    "radius": 3,
    "sideWalls": null,
    "topRadius": null,
    "transform": [
        1,
        0,
        0,
        0,
        702,
        597.5,
        -34
    ],
    "transparency": 0,
    "type": "cylinder",
    "visible": true
};

Test runner

Ready to run.

Testing in
TestOps/sec
Origin
function isResourceKey(
  resource,
  key
) {
  return key in resource;
}


function mergeIgnoreNil(dst, src) {
  if (!dst || !src) {
    return dst ?? src;
  }

  const dstCopy = { ...dst };
  const srcCopy = { ...src };

  for (const [keyB, valueB] of Object.entries(src)) {
    if (isResourceKey(src, keyB) && (valueB === undefined || valueB === null)) {
      // srcCopy is just a shallow copy of src, so it should be of the
      // same type as src, i.e. SrcType
      delete srcCopy[keyB];
    }

    const valueA = Object.getOwnPropertyDescriptor(dstCopy, keyB)?.value;
    if (
      valueB &&
      valueA &&
      typeof valueB === 'object' &&
      typeof valueA === 'object' &&
      !Array.isArray(valueB) &&
      !Array.isArray(valueA)
    ) {
      Object.assign(srcCopy, { [keyB]: mergeIgnoreNil(valueA, valueB) });
    }
  }
  return { ...dstCopy, ...srcCopy };
}

mergeIgnoreNil(dst,src);
ready
Optimized
function mergeIgnoreNil(dst, src) {
  if (!dst || !src) {
    return dst ?? src;
  }

  const result = { ...dst };
  const srcKeys = Object.keys(src);

  for (let i = 0; i < srcKeys.length; i++) {
    const keyB = srcKeys[i];
    const valueB = src[keyB];

    // Skip nil values for resource keys
    if (valueB === undefined || valueB === null) {
      continue;
    }

    const valueA = result[keyB];

    // Recursively merge nested objects
    if (
      valueB &&
      valueA &&
      typeof valueB === 'object' &&
      typeof valueA === 'object' &&
      !Array.isArray(valueB) &&
      !Array.isArray(valueA)
    ) {
      result[keyB] = mergeIgnoreNil(valueA, valueB);
    } else {
      result[keyB] = valueB;
    }
  }
  return result;
}

mergeIgnoreNil(dst, src)
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.