{"versions":{"1.0.0":{"name":"@fastify/deepmerge","version":"1.0.0","description":"Merges the enumerable properties of two or more objects deeply.","main":"index.js","types":"types/index.d.ts","scripts":{"lint":"standard","lint:fix":"standard --fix","test":"npm run test:unit && npm run test:typescript","test:unit":"tap -J test/*.test.js test/**/*.test.js","test:typescript":"tsd"},"repository":{"type":"git","url":"git+https://github.com/fastify/deepmerge.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/fastify/deepmerge/issues"},"homepage":"https://github.com/fastify/deepmerge#readme","devDependencies":{"standard":"^17.0.0","tap":"^16.3.0","tsd":"^0.21.0"},"keywords":["merge","deep","recursive","object"],"gitHead":"bfed5b0d836de8f27dd12f8892cd98a66a075779","_id":"@fastify/deepmerge@1.0.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-iy0Sg+kNpVo5Rp2PlFkvG/T4jNPfKzza3fHrdXh/Ayd1/81WveTUKiko8AOX1OwnDmeDpV21wZEDHfQKCZ2LJg==","shasum":"a0da35600bc761401780b5e748b1cc0a31560ce9","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fastify/deepmerge/-/deepmerge-1.0.0.tgz","fileCount":5,"unpackedSize":9728,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPVPaB7gDQe3MSNBx5zNYuoc5PTpdEE8Z+qIp1aVcEagIhAO3uv+KtnBTWKtfdcIneeGaDS7bV5qjTmcPBIHmmfis6"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivYLKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr8DA//YTwCz/GFBNweuE35jP7FWFRagZDqDeSS9RNfCFuk6sW3vJwy\r\nWPFh/ncTu1JWCUbBqCXMBnP4++EKIorsUeS/IzbVTXe9GdH8GSfbRoMzxOQQ\r\nmTFjdlGK7LfJAzDZcJLqUSoj7rVGOvpWEIN5lcB2HYXpaE2Glk6lIhL2XGn9\r\n+Sn2boTDHcoar5H/lbsBnhgd389GfPD1P/vPP/Qm24u3YkHvVKESafbbTMSh\r\nwkhfJQ6X0fSfEcwOLIdD5opUNiEyIhv71K6LKEyqoYFqVBm/qHmiBR0eY4YC\r\nCZ5tEmF9frAfNxhnThC2m1DEKA0hEkmgeBT1szJSr1+er7xneahUT6eq0qUN\r\nLvuXnRR6zsiuOKBfTUl+iP88Rs49YcGkeZQmEeMooTqn0PXImrz8kpjmdfne\r\nVxSoeQn4toSmjuxaAyWbW2ETc6igru090a3aURFsEg76OQH7fHrD2ZAtuotu\r\nxVJW/NmsJg5rgY7NYbAZnBCd9uTn7xYMSehziwIVTZJt/qjIFZBZvXsjZ796\r\nKWFxvLkVKaaDX8v7j6LRK4tLesRTvW1fFX3iHrJENj4IX53lvcBBY/A7AD/C\r\npYTUeHvkrOX+TNvutH4YUyrThlH3VUGbrg7/Zp1PDRSQEMfqaCS4rL0+WfYE\r\nwt7iWSfLSI53DUuwKNtYAbQAOD0fTMp7Lvc=\r\n=fDPM\r\n-----END PGP SIGNATURE-----\r\n","size":3643},"_npmUser":{"name":"anonymous","email":"hello@matteocollina.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"sbekkhus91@gmail.com"},{"name":"anonymous","email":"community@coopflow.com"},{"name":"anonymous","email":"simone.busoli@gmail.com"},{"name":"anonymous","email":"rafael.nunu@hotmail.com"},{"name":"anonymous","email":"deusdustin@gmail.com"},{"name":"anonymous","email":"tommydelved@gmail.com"},{"name":"anonymous","email":"hello@matteocollina.com"},{"name":"anonymous","email":"tomallevi@gmail.com"},{"name":"anonymous","email":"james.sumners@gmail.com"},{"name":"anonymous","email":"vince.legoff@gmail.com"},{"name":"anonymous","email":"ethan@arrowood.dev"},{"name":"anonymous","email":"behemoth89@gmail.com"},{"name":"anonymous","email":"maksim@sinik.it"},{"name":"anonymous","email":"david.mark.clements@gmail.com"},{"name":"anonymous","email":"harry@harry.me"},{"name":"anonymous","email":"iselwin@gmail.com"},{"name":"anonymous","email":"kaka@kakawebsitedemo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/deepmerge_1.0.0_1656586954031_0.7180819481461587"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-06-30T17:01:25.276Z","contributors":[]},"1.1.0":{"name":"@fastify/deepmerge","version":"1.1.0","description":"Merges the enumerable properties of two or more objects deeply.","main":"index.js","types":"types/index.d.ts","scripts":{"lint":"standard","lint:fix":"standard --fix","test":"npm run test:unit && npm run test:typescript","test:unit":"tap -J test/*.test.js test/**/*.test.js","test:typescript":"tsd"},"repository":{"type":"git","url":"git+https://github.com/fastify/deepmerge.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/fastify/deepmerge/issues"},"homepage":"https://github.com/fastify/deepmerge#readme","devDependencies":{"standard":"^17.0.0","tap":"^16.3.0","tsd":"^0.22.0"},"keywords":["merge","deep","recursive","object"],"gitHead":"2066da1c3b076235a313f2b6c7b30348371d6441","_id":"@fastify/deepmerge@1.1.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-E8Hfdvs1bG6u0N4vN5Nty6JONUfTdOciyD5rn8KnEsLKIenvOVcr210BQR9t34PRkNyjqnMLGk3e0BsaxRdL+g==","shasum":"91f0a5a27034ff76b7bece63a5906894940ace82","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fastify/deepmerge/-/deepmerge-1.1.0.tgz","fileCount":5,"unpackedSize":13015,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDlu79tzRsKj4RqOJqtRsaS8hX+7D7x3O3CmjP86IiHyAIgfaQ8xXt6mTyEbZHnRR+CeRtMT3bF7tj5g6fjb3F/mW4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixsJIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqW2g//VGdR8pgAqMXSVX4CtRzRuCe87jl3X9GF7hZ0p1XUVPJAJJlE\r\nKEsr0m4CtbavB7Sb7ZKdoOyPeW4sxoPTzXNcOb5Jogz73C/7WGSD3mjcZCOE\r\n1F6z6L12/XiC2Y4BiVaQCApMQVetWZ+qRVrINXe+zoFbcZQk+NdzSJGs/jnM\r\ntfz+rZhTsXg50eT/lawZ6oT7T5wkOW9ehJgUkQGC82G9/Ku1fz3QSMTBjVjt\r\n9MzruxQzm9RpKxQn+0/U6FvumKeF7zi5KLD9pLviY9vElu8onkVQ+rc4fHrJ\r\n71WeSB0zykUEp40ZRhPwT+EC6lZuYqSD0+Y1KrpwSMWSl3XXNRhZrARjkTkV\r\nKpamfPNuIQJXeKmVUP77yyJQKiPEDjUUMdX+kHwT//aJZfV1oC8MbEozUKAO\r\ncbnRc0KDI/eBJsihJ7XRLWDZ7s3OdaTV39ZI5v4WT1bjnFDJ/LoVR4UCWMAB\r\nyJRY9RUnNKipo9gOlhNMnkYvRZu9eWkZS8JqFVr7ddJIfiSnOzwjF0v5pHto\r\nfWPct2MSW8QEvWPs9zY0Gyx3dLG51TiH25AqJOJf6x+eYWmBJAGLGR3V3WyN\r\nBXexPxPyViicGMp6seaA4oUPnSsJkIJ/QDYe9R7OvbHOhvs8TMuGmp6SxA5c\r\neDkjLMOOKp9PnbsvxoEJ/f+N3GDkVVgxw2c=\r\n=BcYR\r\n-----END PGP SIGNATURE-----\r\n","size":4410},"_npmUser":{"name":"anonymous","email":"hello@matteocollina.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"sbekkhus91@gmail.com"},{"name":"anonymous","email":"community@coopflow.com"},{"name":"anonymous","email":"simone.busoli@gmail.com"},{"name":"anonymous","email":"rafael.nunu@hotmail.com"},{"name":"anonymous","email":"deusdustin@gmail.com"},{"name":"anonymous","email":"tommydelved@gmail.com"},{"name":"anonymous","email":"hello@matteocollina.com"},{"name":"anonymous","email":"tomallevi@gmail.com"},{"name":"anonymous","email":"james.sumners@gmail.com"},{"name":"anonymous","email":"vince.legoff@gmail.com"},{"name":"anonymous","email":"ethan@arrowood.dev"},{"name":"anonymous","email":"behemoth89@gmail.com"},{"name":"anonymous","email":"maksim@sinik.it"},{"name":"anonymous","email":"david.mark.clements@gmail.com"},{"name":"anonymous","email":"harry@harry.me"},{"name":"anonymous","email":"iselwin@gmail.com"},{"name":"anonymous","email":"kaka@kakawebsitedemo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/deepmerge_1.1.0_1657193031990_0.12621056894400495"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-07-07T11:54:14.470Z","contributors":[]},"1.2.0":{"name":"@fastify/deepmerge","version":"1.2.0","description":"Merges the enumerable properties of two or more objects deeply.","main":"index.js","types":"types/index.d.ts","scripts":{"lint":"standard","lint:fix":"standard --fix","test":"npm run test:unit && npm run test:typescript","test:unit":"tap -J test/*.test.js test/**/*.test.js","test:typescript":"tsd"},"repository":{"type":"git","url":"git+https://github.com/fastify/deepmerge.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/fastify/deepmerge/issues"},"homepage":"https://github.com/fastify/deepmerge#readme","devDependencies":{"standard":"^17.0.0","tap":"^16.3.0","tape":"^5.6.1","tsd":"^0.24.1"},"keywords":["merge","deep","recursive","object"],"gitHead":"d93badc64487beb6213cc73075b922f79053581b","_id":"@fastify/deepmerge@1.2.0","_nodeVersion":"16.13.0","_npmVersion":"8.10.0","dist":{"integrity":"sha512-pfBLfEykO5uqw5cIzGD24sPfbsLfjESIQSe8oqbcMpodUwO2swPQGvuhdD137+n/1WiSH24vq3z3th2ErFbxVg==","shasum":"02e2c28b33799c0dca88cdf7831902f069e54faa","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fastify/deepmerge/-/deepmerge-1.2.0.tgz","fileCount":5,"unpackedSize":14158,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG4eClQJmxwrXthNMfI+TqJZwafplrVSxi0BEjPf1MglAiAOBWyYEWfln1hPz1af/+4+sO8JadAezz91z965AeYSvA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjg2IUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp72Q//XRFxyvaNHDG5r8aH87Ow1/RyuxgZ0wATx50zNvQKjEKKgWHQ\r\nhLfJmQN0NEjcB3cHYBNT8LXtpLUovdEweV5A2z3rkykTBorhZ2yaWE3d/+dV\r\nkM3dG9sesptwqAxSUZW4x17o+hLX6uX696AwLqGBFpl6nQdQHgzJcpfpH5I5\r\nTFiHetFW6dP5WxbddIy4uJ+Gv+BEODRrnKTZHwtbG8mj5kY6od71IevXhe5E\r\n6aI+uIFYLfgV2CYzv6THU0onafIH1Fa1Osv1a4G4wF9P30q/wBIg4HdGeMcX\r\nW27ZF+RH7kaRA0aT4uKoKvGKP2fp6tbUqGedCXqm8gYDa0zP3vUaorFeEUWi\r\nWoShThr8Hk5YuRTzmlKllut8+vBNyqjqXFaCsoVISk67lLyEO6O5nutnbqBt\r\n0LfIqUk1pOl5LUrOqZRKWqE4xXr3metx+8TqLr3AEc9cncI3/BakwcGxW3AV\r\nrA1WxXzU4RkS3UURuu3zpnqjJr3Fdlwm6pnpw+VOtXCO6Du66u5yUXbspADh\r\nWqht7HmYM5uFwTXi6Dzr41oMm23K4js6dPuVzi2IIo0btiHy05lwG8J7t0pQ\r\nEpBbkRg6ahocsoWFkU+ADM2knAfiLF1IkiHibfeNXkRb5Es0WDCwiocF7v+E\r\n2IL/BPTDG/y9XzhQ6EvVQAqLg81Zcj0I+no=\r\n=5HpX\r\n-----END PGP SIGNATURE-----\r\n","size":4713},"_npmUser":{"name":"anonymous","email":"behemoth89@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"jonasgalvez@gmail.com"},{"name":"anonymous","email":"sbekkhus91@gmail.com"},{"name":"anonymous","email":"community@coopflow.com"},{"name":"anonymous","email":"simone.busoli@gmail.com"},{"name":"anonymous","email":"rafael.nunu@hotmail.com"},{"name":"anonymous","email":"deusdustin@gmail.com"},{"name":"anonymous","email":"tommydelved@gmail.com"},{"name":"anonymous","email":"hello@matteocollina.com"},{"name":"anonymous","email":"tomallevi@gmail.com"},{"name":"anonymous","email":"james.sumners@gmail.com"},{"name":"anonymous","email":"vince.legoff@gmail.com"},{"name":"anonymous","email":"ethan@arrowood.dev"},{"name":"anonymous","email":"behemoth89@gmail.com"},{"name":"anonymous","email":"maksim@sinik.it"},{"name":"anonymous","email":"david.mark.clements@gmail.com"},{"name":"anonymous","email":"harry@harry.me"},{"name":"anonymous","email":"iselwin@gmail.com"},{"name":"anonymous","email":"kaka@kakawebsitedemo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/deepmerge_1.2.0_1669554708568_0.08300424262977701"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-11-27T13:11:58.713Z","contributors":[]},"1.3.0":{"name":"@fastify/deepmerge","version":"1.3.0","description":"Merges the enumerable properties of two or more objects deeply.","main":"index.js","types":"types/index.d.ts","scripts":{"lint":"standard","lint:fix":"standard --fix","test":"npm run test:unit && npm run test:typescript","test:unit":"tap","test:typescript":"tsd"},"repository":{"type":"git","url":"git+https://github.com/fastify/deepmerge.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/fastify/deepmerge/issues"},"homepage":"https://github.com/fastify/deepmerge#readme","devDependencies":{"standard":"^17.0.0","tap":"^16.3.0","tape":"^5.6.1","tsd":"^0.24.1"},"keywords":["merge","deep","recursive","object"],"gitHead":"2983866428f0654bc29f232d0a034a6f80d4c0cb","_id":"@fastify/deepmerge@1.3.0","_nodeVersion":"16.17.0","_npmVersion":"9.1.2","dist":{"integrity":"sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A==","shasum":"8116858108f0c7d9fd460d05a7d637a13fe3239a","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fastify/deepmerge/-/deepmerge-1.3.0.tgz","fileCount":5,"unpackedSize":14264,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJP0nQPF5GMZV0dHkW9NJsEnxinHVGZFovU/kWgeY0xAIhAOwLo+dcCLi7h75H86Qm5WsKSZXCwhl8O2r9nTg6Ah4N"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjjTIQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoCbRAAgR9VzCNoEh7SLGdZ2Y8cQqwG0t8Pv1q8RKswe2Vu7R2IHdaA\r\n1CsBhtiOCJ0gFzvg53184XR0d9CdeVwjyKAkd3zGCaYNxM4I6+mOIDbFuP7Y\r\n/PStx4MEX7Vh9dF5zL4gjeg+6OV7zuqs6MP9dP8DVNjwDZB46tBdB4Vbl/On\r\nBFolFk07S733TXKUpryA9N8hhuvJ99Ysr5BjUEGpCcgGR2nL3t7DE467casT\r\niYMgOGcXGLBcLjXWKRzV6ODckvqRSNoC3NMOJCzWw255J4jtjAHEESkIb9q+\r\nOuRabqRCMK1UxbL4M+ckfFPGrItrMNSdY/ewCgkoDlJ977i73Vpb7ds1vQG+\r\naMOFgA8lTdNDS5nJwocMAFdUTAfesAKiDuzSl+BnPG+EteBowhk3FH+icuzZ\r\n+QkzFmlOgDf+PdSIMrqhQZ9wmw8cyheqlaKSzLhq+AW2JrZ8eTJKLa4AvID9\r\nWVk58trmG69zDELpTVcjZYJmNerIRjZsjvOnEAtbf7dn+ZA3PBPni/Dx8dJq\r\n6MTyVfASOokwyKn3XmWPKBPDFGkooNEAn1lZcSAjHz/SKVRGeEFpP5Ymj/sx\r\nyyZnI2V9v1aLvWkzfHLpPWjgFBttK62eeqZpYdmi/LymSVul+3dBRS0r1ZTF\r\n1KXxIicJ1jQ0Ny1EaqEcZ43PzNx6LRRNjys=\r\n=oZ4G\r\n-----END PGP SIGNATURE-----\r\n","size":4733},"_npmUser":{"name":"anonymous","email":"hello@matteocollina.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"jonasgalvez@gmail.com"},{"name":"anonymous","email":"sbekkhus91@gmail.com"},{"name":"anonymous","email":"community@coopflow.com"},{"name":"anonymous","email":"simone.busoli@gmail.com"},{"name":"anonymous","email":"rafael.nunu@hotmail.com"},{"name":"anonymous","email":"deusdustin@gmail.com"},{"name":"anonymous","email":"tommydelved@gmail.com"},{"name":"anonymous","email":"hello@matteocollina.com"},{"name":"anonymous","email":"tomallevi@gmail.com"},{"name":"anonymous","email":"james.sumners@gmail.com"},{"name":"anonymous","email":"vince.legoff@gmail.com"},{"name":"anonymous","email":"behemoth89@gmail.com"},{"name":"anonymous","email":"maksim@sinik.it"},{"name":"anonymous","email":"david.mark.clements@gmail.com"},{"name":"anonymous","email":"harry@harry.me"},{"name":"anonymous","email":"iselwin@gmail.com"},{"name":"anonymous","email":"kaka@kakawebsitedemo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/deepmerge_1.3.0_1670197776595_0.04233355448632903"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-04T23:49:42.173Z","contributors":[]},"2.0.0":{"name":"@fastify/deepmerge","version":"2.0.0","description":"Merges the enumerable properties of two or more objects deeply.","main":"index.js","type":"commonjs","types":"types/index.d.ts","scripts":{"lint":"standard","lint:fix":"standard --fix","test":"npm run test:unit && npm run test:typescript","test:unit":"tap","test:typescript":"tsd"},"repository":{"type":"git","url":"git+https://github.com/fastify/deepmerge.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/fastify/deepmerge/issues"},"homepage":"https://github.com/fastify/deepmerge#readme","devDependencies":{"standard":"^17.1.0","tap":"^18.7.1","tape":"^5.7.5","tsd":"^0.30.7"},"keywords":["merge","deep","recursive","object"],"_id":"@fastify/deepmerge@2.0.0","gitHead":"a37e7ab2f193221f59103293e1a11427090c7816","_nodeVersion":"20.14.0","_npmVersion":"10.7.0","dist":{"integrity":"sha512-fsaybTGDyQ5KpPsplQqb9yKdCf2x/pbNpMNk8Tvp3rRz7lVcupKysH4b2ELMN2P4Hak1+UqTYdTj/u4FNV2p0g==","shasum":"794e98a4eefd6e1edde852e924e25f47b0fed7d8","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fastify/deepmerge/-/deepmerge-2.0.0.tgz","fileCount":5,"unpackedSize":14312,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBjdKrlgrsep0oRryfpf1oAfxKr48FubDnwmZM50mvZ7AiBcguL4Vjk8dNfq9eVGrVnoo4W6VyuIuDor3F91YVdyvA=="}],"size":4752},"_npmUser":{"name":"anonymous","email":"james.sumners@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/deepmerge_2.0.0_1719158871740_0.08085078048003069"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-06-23T16:07:51.893Z","publish_time":1719158871893,"_source_registry_name":"default","contributors":[]},"2.0.1":{"name":"@fastify/deepmerge","version":"2.0.1","description":"Merges the enumerable properties of two or more objects deeply.","main":"index.js","type":"commonjs","types":"types/index.d.ts","scripts":{"lint":"eslint","lint:fix":"eslint --fix","test":"npm run test:unit && npm run test:typescript","test:unit":"tap","test:typescript":"tsd"},"repository":{"type":"git","url":"git+https://github.com/fastify/deepmerge.git"},"author":{"name":"Aras Abbasi","email":"aras.abbasi@gmail.com"},"contributors":[{"name":"Matteo Collina","email":"hello@matteocollina.com"},{"name":"Manuel Spigolon","email":"behemoth89@gmail.com"},{"name":"James Sumners","url":"https://james.sumners.info"},{"name":"Frazer Smith","email":"frazer.dev@icloud.com","url":"https://github.com/fdawgs"}],"license":"MIT","bugs":{"url":"https://github.com/fastify/deepmerge/issues"},"homepage":"https://github.com/fastify/deepmerge#readme","funding":[{"type":"github","url":"https://github.com/sponsors/fastify"},{"type":"opencollective","url":"https://opencollective.com/fastify"}],"devDependencies":{"eslint":"^9.17.0","neostandard":"^0.12.0","tap":"^21.0.0","tape":"^5.7.5","tsd":"^0.31.1"},"keywords":["merge","deep","recursive","object"],"_id":"@fastify/deepmerge@2.0.1","gitHead":"58050b9d3c73fab2a8cbfd7d44b9045d09f5a29d","_nodeVersion":"22.12.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-hx+wJQr9Ph1hY/dyzY0SxqjumMyqZDlIF6oe71dpRKDHUg7dFQfjG94qqwQ274XRjmUrwKiYadex8XplNHx3CA==","shasum":"68150cd7ab709b63a718aac8335561779b910032","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fastify/deepmerge/-/deepmerge-2.0.1.tgz","fileCount":5,"unpackedSize":15476,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDqby4NJ+vOcWGAoZfnd5o27t0l0C3hibv3+KMijXNxgwIgVQ2pxFSijVraM8FPGtQjmyDsraOftSFii3YcRAWiUW8="}],"size":5081},"_npmUser":{"name":"anonymous","email":"kaka@kakawebsitedemo.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"deusdustin@gmail.com"},{"name":"anonymous","email":"simone.busoli@gmail.com"},{"name":"anonymous","email":"community@coopflow.com"},{"name":"anonymous","email":"tommydelved@gmail.com"},{"name":"anonymous","email":"hello@matteocollina.com"},{"name":"anonymous","email":"tomallevi@gmail.com"},{"name":"anonymous","email":"james.sumners@gmail.com"},{"name":"anonymous","email":"vince.legoff@gmail.com"},{"name":"anonymous","email":"rafael.nunu@hotmail.com"},{"name":"anonymous","email":"behemoth89@gmail.com"},{"name":"anonymous","email":"maksim@sinik.it"},{"name":"anonymous","email":"harry@harry.me"},{"name":"anonymous","email":"iselwin@gmail.com"},{"name":"anonymous","email":"kaka@kakawebsitedemo.com"},{"name":"anonymous","email":"jonasgalvez@gmail.com"},{"name":"anonymous","email":"sbekkhus91@gmail.com"},{"name":"anonymous","email":"hey@gurgun.day"},{"name":"anonymous","email":"me@metcoder.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/deepmerge_2.0.1_1734934341562_0.14444905898136562"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-12-23T06:12:21.723Z","publish_time":1734934341723,"_source_registry_name":"default"},"2.0.2":{"name":"@fastify/deepmerge","version":"2.0.2","description":"Merges the enumerable properties of two or more objects deeply.","main":"index.js","type":"commonjs","types":"types/index.d.ts","scripts":{"lint":"eslint","lint:fix":"eslint --fix","test":"npm run test:unit && npm run test:typescript","test:unit":"c8 tape test/*.js","test:typescript":"tsd"},"repository":{"type":"git","url":"git+https://github.com/fastify/deepmerge.git"},"author":{"name":"Aras Abbasi","email":"aras.abbasi@gmail.com"},"contributors":[{"name":"Matteo Collina","email":"hello@matteocollina.com"},{"name":"Manuel Spigolon","email":"behemoth89@gmail.com"},{"name":"James Sumners","url":"https://james.sumners.info"},{"name":"Frazer Smith","email":"frazer.dev@icloud.com","url":"https://github.com/fdawgs"}],"license":"MIT","bugs":{"url":"https://github.com/fastify/deepmerge/issues"},"homepage":"https://github.com/fastify/deepmerge#readme","funding":[{"type":"github","url":"https://github.com/sponsors/fastify"},{"type":"opencollective","url":"https://opencollective.com/fastify"}],"devDependencies":{"eslint":"^9.17.0","neostandard":"^0.12.0","tape":"^5.7.5","c8":"^10.1.3","tsd":"^0.31.1"},"keywords":["merge","deep","recursive","object","immutable"],"_id":"@fastify/deepmerge@2.0.2","gitHead":"8b4210b95e1f8fb6992a221547f3d20054d13a29","_nodeVersion":"22.13.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-3wuLdX5iiiYeZWP6bQrjqhrcvBIf0NHbQH1Ur1WbHvoiuTYUEItgygea3zs8aHpiitn0lOB8gX20u1qO+FDm7Q==","shasum":"5dcbda2acb266e309b8a1ca92fa48b2125e65fc0","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fastify/deepmerge/-/deepmerge-2.0.2.tgz","fileCount":5,"unpackedSize":15663,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAvcOuYc0H792J+Sj1Kym6fjAOMnO/cICAtrRwIv1V2lAiBzHA1V9TCQQkiIGWLexsxM2TKdtpV3Xo2Zj6zUsWpXcw=="}],"size":5157},"_npmUser":{"name":"anonymous","email":"hello@matteocollina.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"deusdustin@gmail.com"},{"name":"anonymous","email":"simone.busoli@gmail.com"},{"name":"anonymous","email":"community@coopflow.com"},{"name":"anonymous","email":"tommydelved@gmail.com"},{"name":"anonymous","email":"hello@matteocollina.com"},{"name":"anonymous","email":"tomallevi@gmail.com"},{"name":"anonymous","email":"james.sumners@gmail.com"},{"name":"anonymous","email":"vince.legoff@gmail.com"},{"name":"anonymous","email":"rafael.nunu@hotmail.com"},{"name":"anonymous","email":"behemoth89@gmail.com"},{"name":"anonymous","email":"maksim@sinik.it"},{"name":"anonymous","email":"harry@harry.me"},{"name":"anonymous","email":"iselwin@gmail.com"},{"name":"anonymous","email":"kaka@kakawebsitedemo.com"},{"name":"anonymous","email":"jonasgalvez@gmail.com"},{"name":"anonymous","email":"sbekkhus91@gmail.com"},{"name":"anonymous","email":"hey@gurgun.day"},{"name":"anonymous","email":"me@metcoder.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/deepmerge_2.0.2_1738338351296_0.4720690806899819"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-01-31T15:45:51.486Z","publish_time":1738338351486,"_source_registry_name":"default"},"3.0.0":{"name":"@fastify/deepmerge","version":"3.0.0","description":"Merges the enumerable properties of two or more objects deeply.","main":"index.js","type":"commonjs","types":"types/index.d.ts","scripts":{"lint":"eslint","lint:fix":"eslint --fix","test":"npm run test:unit && npm run test:typescript","test:unit":"c8 tape test/*.js","test:typescript":"tsd"},"repository":{"type":"git","url":"git+https://github.com/fastify/deepmerge.git"},"author":{"name":"Aras Abbasi","email":"aras.abbasi@gmail.com"},"contributors":[{"name":"Matteo Collina","email":"hello@matteocollina.com"},{"name":"Manuel Spigolon","email":"behemoth89@gmail.com"},{"name":"James Sumners","url":"https://james.sumners.info"},{"name":"Frazer Smith","email":"frazer.dev@icloud.com","url":"https://github.com/fdawgs"}],"license":"MIT","bugs":{"url":"https://github.com/fastify/deepmerge/issues"},"homepage":"https://github.com/fastify/deepmerge#readme","funding":[{"type":"github","url":"https://github.com/sponsors/fastify"},{"type":"opencollective","url":"https://opencollective.com/fastify"}],"devDependencies":{"eslint":"^9.17.0","neostandard":"^0.12.0","tape":"^5.7.5","c8":"^10.1.3","tsd":"^0.31.1"},"keywords":["merge","deep","recursive","object","immutable"],"_id":"@fastify/deepmerge@3.0.0","gitHead":"61a299f0491da32772cc9393050cdafd062a41ea","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-VW7srTEkCzbfqoRBn+k7s/nP9WVFmKSfeHBbMZLLrOYDQoShHWuEi5V6Jgz1Q0fm3pMYsiC+EVMvhZyI3hKzkw==","shasum":"422455241653d4fa8c9f82a77b54b80388c27eac","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fastify/deepmerge/-/deepmerge-3.0.0.tgz","fileCount":5,"unpackedSize":15997,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCtBgaaOSBSDX7Hnh9He3ZDzKkCK1cjSjADfxIjzXRvwAIhAPlGZWHC2RHLvjRJtcKMRAKXjTogj5NtDQiYPUJaXXVC"}],"size":5287},"_npmUser":{"name":"anonymous","email":"hello@matteocollina.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"deusdustin@gmail.com"},{"name":"anonymous","email":"simone.busoli@gmail.com"},{"name":"anonymous","email":"community@coopflow.com"},{"name":"anonymous","email":"tommydelved@gmail.com"},{"name":"anonymous","email":"hello@matteocollina.com"},{"name":"anonymous","email":"tomallevi@gmail.com"},{"name":"anonymous","email":"james.sumners@gmail.com"},{"name":"anonymous","email":"vince.legoff@gmail.com"},{"name":"anonymous","email":"rafael.nunu@hotmail.com"},{"name":"anonymous","email":"behemoth89@gmail.com"},{"name":"anonymous","email":"maksim@sinik.it"},{"name":"anonymous","email":"harry@harry.me"},{"name":"anonymous","email":"iselwin@gmail.com"},{"name":"anonymous","email":"kaka@kakawebsitedemo.com"},{"name":"anonymous","email":"jonasgalvez@gmail.com"},{"name":"anonymous","email":"sbekkhus91@gmail.com"},{"name":"anonymous","email":"hey@gurgun.day"},{"name":"anonymous","email":"me@metcoder.dev"},{"name":"anonymous","email":"ivan@tymoshenko.me"},{"name":"anonymous","email":"frazer.dev@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/deepmerge_3.0.0_1741600257494_0.8002477528533014"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-03-10T09:50:57.721Z","publish_time":1741600257721,"_source_registry_name":"default"},"3.1.0":{"name":"@fastify/deepmerge","version":"3.1.0","description":"Merges the enumerable properties of two or more objects deeply.","main":"index.js","type":"commonjs","types":"types/index.d.ts","scripts":{"lint":"eslint","lint:fix":"eslint --fix","test":"npm run test:unit && npm run test:typescript","test:unit":"c8 tape test/*.js","test:typescript":"tsd"},"repository":{"type":"git","url":"git+https://github.com/fastify/deepmerge.git"},"author":{"name":"Aras Abbasi","email":"aras.abbasi@gmail.com"},"contributors":[{"name":"Matteo Collina","email":"hello@matteocollina.com"},{"name":"Manuel Spigolon","email":"behemoth89@gmail.com"},{"name":"James Sumners","url":"https://james.sumners.info"},{"name":"Frazer Smith","email":"frazer.dev@icloud.com","url":"https://github.com/fdawgs"}],"license":"MIT","bugs":{"url":"https://github.com/fastify/deepmerge/issues"},"homepage":"https://github.com/fastify/deepmerge#readme","funding":[{"type":"github","url":"https://github.com/sponsors/fastify"},{"type":"opencollective","url":"https://opencollective.com/fastify"}],"devDependencies":{"eslint":"^9.17.0","neostandard":"^0.12.0","tape":"^5.7.5","c8":"^10.1.3","tsd":"^0.31.1"},"keywords":["merge","deep","recursive","object","immutable"],"_id":"@fastify/deepmerge@3.1.0","gitHead":"fc81eeb16a2dcb922b4f0b53d314253aeaf53c4e","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-lCVONBQINyNhM6LLezB6+2afusgEYR4G8xenMsfe+AT+iZ7Ca6upM5Ha8UkZuYSnuMw3GWl/BiPXnLMi/gSxuQ==","shasum":"4ee797682268eb9d7da51df8e415219addc512ca","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fastify/deepmerge/-/deepmerge-3.1.0.tgz","fileCount":5,"unpackedSize":17079,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIH0bOuDL0Z28Wwt2ZbYOg9f8cD8rNYoMZWHLTh666URMAiEAkHpEUpNSTRBbIH5JEzHOGe5FYfYTMr+rtNhqNWvxuTw="}],"size":5566},"_npmUser":{"name":"anonymous","email":"hello@matteocollina.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"deusdustin@gmail.com"},{"name":"anonymous","email":"simone.busoli@gmail.com"},{"name":"anonymous","email":"community@coopflow.com"},{"name":"anonymous","email":"tommydelved@gmail.com"},{"name":"anonymous","email":"hello@matteocollina.com"},{"name":"anonymous","email":"tomallevi@gmail.com"},{"name":"anonymous","email":"james.sumners@gmail.com"},{"name":"anonymous","email":"vince.legoff@gmail.com"},{"name":"anonymous","email":"rafael.nunu@hotmail.com"},{"name":"anonymous","email":"behemoth89@gmail.com"},{"name":"anonymous","email":"maksim@sinik.it"},{"name":"anonymous","email":"harry@harry.me"},{"name":"anonymous","email":"iselwin@gmail.com"},{"name":"anonymous","email":"kaka@kakawebsitedemo.com"},{"name":"anonymous","email":"jonasgalvez@gmail.com"},{"name":"anonymous","email":"sbekkhus91@gmail.com"},{"name":"anonymous","email":"hey@gurgun.day"},{"name":"anonymous","email":"me@metcoder.dev"},{"name":"anonymous","email":"ivan@tymoshenko.me"},{"name":"anonymous","email":"frazer.dev@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/deepmerge_3.1.0_1743578387007_0.5144208278506515"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-02T07:19:47.213Z","publish_time":1743578387213,"_source_registry_name":"default"},"3.2.0":{"name":"@fastify/deepmerge","version":"3.2.0","description":"Merges the enumerable properties of two or more objects deeply.","main":"index.js","type":"commonjs","types":"types/index.d.ts","scripts":{"lint":"eslint","lint:fix":"eslint --fix","test":"npm run test:unit && npm run test:typescript","test:unit":"c8 tape test/*.js","test:typescript":"tsd"},"repository":{"type":"git","url":"git+https://github.com/fastify/deepmerge.git"},"author":{"name":"Aras Abbasi","email":"aras.abbasi@gmail.com"},"contributors":[{"name":"Matteo Collina","email":"hello@matteocollina.com"},{"name":"Manuel Spigolon","email":"behemoth89@gmail.com"},{"name":"James Sumners","url":"https://james.sumners.info"},{"name":"Frazer Smith","email":"frazer.dev@icloud.com","url":"https://github.com/fdawgs"}],"license":"MIT","bugs":{"url":"https://github.com/fastify/deepmerge/issues"},"homepage":"https://github.com/fastify/deepmerge#readme","funding":[{"type":"github","url":"https://github.com/sponsors/fastify"},{"type":"opencollective","url":"https://opencollective.com/fastify"}],"devDependencies":{"eslint":"^9.17.0","neostandard":"^0.12.0","tape":"^5.7.5","c8":"^10.1.3","tsd":"^0.33.0"},"keywords":["merge","deep","recursive","object","immutable"],"gitHead":"807b021756d8a4a86e8290ba44c4705bf9b8e275","_id":"@fastify/deepmerge@3.2.0","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-aO5giNgFN+rD4fMUAkro9nEL7c9gh5Q3lh0ZGKMDAhQAytf22HLicF/qZ2EYTDmH+XL2WvdazwBfOdmp6NiwBg==","shasum":"c2f79c1be40720761c263d3026ab98caa916e115","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fastify/deepmerge/-/deepmerge-3.2.0.tgz","fileCount":5,"unpackedSize":17932,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDmwVEkbCcvD/MKhtw/n2p9SYJfTa4KJgQx25u7oquNyQIgG67gwolrP43XxOPMZao2edmLDhocwIG1JRadxow77gQ="}],"size":5754},"_npmUser":{"name":"anonymous","email":"hello@matteocollina.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"simone.busoli@gmail.com"},{"name":"anonymous","email":"tommydelved@gmail.com"},{"name":"anonymous","email":"hello@matteocollina.com"},{"name":"anonymous","email":"james.sumners@gmail.com"},{"name":"anonymous","email":"vince.legoff@gmail.com"},{"name":"anonymous","email":"behemoth89@gmail.com"},{"name":"anonymous","email":"maksim@sinik.it"},{"name":"anonymous","email":"harry@harry.me"},{"name":"anonymous","email":"iselwin@gmail.com"},{"name":"anonymous","email":"kaka@kakawebsitedemo.com"},{"name":"anonymous","email":"jonasgalvez@gmail.com"},{"name":"anonymous","email":"sbekkhus91@gmail.com"},{"name":"anonymous","email":"hey@gurgun.day"},{"name":"anonymous","email":"me@metcoder.dev"},{"name":"anonymous","email":"jean.antoine.michelet@gmail.com"},{"name":"anonymous","email":"ivan@tymoshenko.me"},{"name":"anonymous","email":"frazer.dev@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/deepmerge_3.2.0_1768948365652_0.4724781767721027"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-20T22:32:45.791Z","publish_time":1768948365791,"_source_registry_name":"default"},"3.2.1":{"name":"@fastify/deepmerge","version":"3.2.1","description":"Merges the enumerable properties of two or more objects deeply.","main":"index.js","type":"commonjs","types":"types/index.d.ts","scripts":{"lint":"eslint","lint:fix":"eslint --fix","test":"npm run test:unit && npm run test:typescript","test:unit":"c8 tape test/*.js","test:typescript":"tsd"},"repository":{"type":"git","url":"git+https://github.com/fastify/deepmerge.git"},"author":{"name":"Aras Abbasi","email":"aras.abbasi@gmail.com"},"contributors":[{"name":"Matteo Collina","email":"hello@matteocollina.com"},{"name":"Manuel Spigolon","email":"behemoth89@gmail.com"},{"name":"James Sumners","url":"https://james.sumners.info"},{"name":"Frazer Smith","email":"frazer.dev@icloud.com","url":"https://github.com/fdawgs"}],"license":"MIT","bugs":{"url":"https://github.com/fastify/deepmerge/issues"},"homepage":"https://github.com/fastify/deepmerge#readme","funding":[{"url":"https://github.com/sponsors/fastify","type":"github"},{"url":"https://opencollective.com/fastify","type":"opencollective"}],"devDependencies":{"eslint":"^9.17.0","neostandard":"^0.12.0","tape":"^5.7.5","c8":"^10.1.3","tsd":"^0.33.0"},"keywords":["merge","deep","recursive","object","immutable"],"gitHead":"d1d815454d900cbd93cfda90b2b80b01645ef4ed","_id":"@fastify/deepmerge@3.2.1","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-N5Oqvltoa2r9z1tbx4xjky0oRR60v+T47Ic4J1ukoVQcptLOrIdRnCSdTGmOmajZuHVKlTnfcmrjyqsGEW1ztA==","shasum":"0fe56a4ee3eec874556006439f7bc7d616f10dc1","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fastify/deepmerge/-/deepmerge-3.2.1.tgz","fileCount":5,"unpackedSize":21431,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGgxWU1g3SbbL7j7RQ95Ucj01CpWPlfQ52qxKDyap9J/AiEA/K6jHttqXhvKCH8Y55SKYk7x9dGiNRHSA5PR4Ue82k0="}],"size":6603},"_npmUser":{"name":"anonymous","email":"hello@matteocollina.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"simone.busoli@gmail.com"},{"name":"anonymous","email":"tommydelved@gmail.com"},{"name":"anonymous","email":"hello@matteocollina.com"},{"name":"anonymous","email":"james.sumners@gmail.com"},{"name":"anonymous","email":"vince.legoff@gmail.com"},{"name":"anonymous","email":"behemoth89@gmail.com"},{"name":"anonymous","email":"maksim@sinik.it"},{"name":"anonymous","email":"harry@harry.me"},{"name":"anonymous","email":"iselwin@gmail.com"},{"name":"anonymous","email":"kaka@kakawebsitedemo.com"},{"name":"anonymous","email":"jonasgalvez@gmail.com"},{"name":"anonymous","email":"sbekkhus91@gmail.com"},{"name":"anonymous","email":"hey@gurgun.day"},{"name":"anonymous","email":"me@metcoder.dev"},{"name":"anonymous","email":"jean.antoine.michelet@gmail.com"},{"name":"anonymous","email":"ivan@tymoshenko.me"},{"name":"anonymous","email":"frazer.dev@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/deepmerge_3.2.1_1771539367534_0.17669813678357293"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-19T22:16:07.724Z","publish_time":1771539367724,"_source_registry_name":"default"}},"dist-tags":{"latest":"3.2.1"},"name":"@fastify/deepmerge","time":{"created":"2022-06-30T17:01:34.505Z","modified":"2026-03-05T20:02:04.083Z","1.0.0":"2022-06-30T11:02:34.189Z","1.1.0":"2022-07-07T11:23:52.115Z","1.2.0":"2022-11-27T13:11:48.726Z","1.3.0":"2022-12-04T23:49:36.764Z","2.0.0":"2024-06-23T16:07:51.893Z","2.0.1":"2024-12-23T06:12:21.723Z","2.0.2":"2025-01-31T15:45:51.486Z","3.0.0":"2025-03-10T09:50:57.721Z","3.1.0":"2025-04-02T07:19:47.213Z","3.2.0":"2026-01-20T22:32:45.791Z","3.2.1":"2026-02-19T22:16:07.724Z"},"readme":"# @fastify/deepmerge\n\n[![CI](https://github.com/fastify/deepmerge/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/fastify/deepmerge/actions/workflows/ci.yml)\n[![NPM version](https://img.shields.io/npm/v/@fastify/deepmerge.svg?style=flat)](https://www.npmjs.com/package/@fastify/deepmerge)\n[![neostandard javascript style](https://img.shields.io/badge/code_style-neostandard-brightgreen?style=flat)](https://github.com/neostandard/neostandard)\n\nMerges the enumerable properties of two or more objects deeply. Fastest implementation of deepmerge, see section 'Benchmarks'.\n\n### Install\n```\nnpm i @fastify/deepmerge\n```\n\n### Usage\n\nThe module exports a function, which provides a function to deepmerge Objects.\n\n`@fastify/deepmerge` does not mutate the input objects. It returns a new object, which is the result of the merge.\n\n```\ndeepmerge(options)\n```\n\n`options` is optional and can contain the following values:\n\n- `symbols` (`boolean`, optional) - should also merge object keys that are symbols, default is false\n- `all` (`boolean`, optional) - makes deepmerge accept and merge any number of passed objects, default is false\n- `mergeArray` (`function`, optional) - provide a function, which returns a function to add custom array merging function\n- `cloneProtoObject` (`function`, optional) - provide a function, which must return a clone of the object with the prototype of the object\n- `isMergeableObject` (`function`, optional) - provide a function, which must return true if the object should be merged, default is `isMergeableObject` from this module\n- `onlyDefinedProperties` (`boolean`, optional) - if `true`, properties with `undefined` in the source will not overwrite existing values from the target, default is `false`\n\n```js\nconst deepmerge = require('@fastify/deepmerge')()\nconst result = deepmerge({a: 'value'}, { b: 404 })\nconsole.log(result) // {a: 'value',  b: 404 }\n```\n\n```js\nconst deepmerge = require('@fastify/deepmerge')({ all: true })\nconst result = deepmerge({a: 'value'}, { b: 404 }, { a: 404 })\nconsole.log(result) // {a: 404,  b: 404 }\n```\n\nExample with `onlyDefinedProperties` option:\n\n```js\nconst deepmerge = require('@fastify/deepmerge')({ onlyDefinedProperties: true })\nconst result = deepmerge({ a: 1, b: null }, { a: undefined, b: undefined })\nconsole.log(result) // { a: 1, b: null }\n```\n\n#### mergeArray\n\nThe default mode to merge Arrays is to concat the source-Array to the target-Array.\n\n```js\nconst target = [1, 2, 3]\nconst source = [4, 5, 6]\nconst deepmerge = require('@fastify/deepmerge')()\nconst result = deepmerge(target, source)\nconsole.log(result) // [1, 2, 3, 4, 5, 6]\n```\n\nTo overwrite the default behavior regarding merging Arrays, you can provide a function to the\n`mergeArray` option of the deepmerge-function. The function provided to `mergeArray`\ngets an options-parameter passed, which is an Object containing the following keys and values.\n\n```typescript\nclone: (value: any) => any;\nisMergeableObject: (value: any) => any;\ndeepmerge: DeepMergeFn;\ngetKeys: (value: object) => string[];\n```\n\nThe `mergeArray`-Function needs to return the actual Array merging function, which accepts two parameters of type\nArray, and returns a value.\n\nExample 1: Replace the target-Array with a clone of the source-Array.\n\n```js\nfunction replaceByClonedSource(options) {\n  const clone = options.clone\n  return function (target, source) {\n    return clone(source)\n  }\n}\n\nconst deepmerge = require('@fastify/deepmerge')({ mergeArray: replaceByClonedSource })\nconst result = deepmerge([1, 2, 3], [4, 5, 6])\nconsole.log(result) // [4, 5, 6]\n```\n\nExample 2: Merge each element of the source-Array with the element at the same index-position of the target-Array.\n\n```js\nfunction deepmergeArray(options) {\n  const deepmerge = options.deepmerge\n  const clone = options.clone\n  return function (target, source) {\n    let i = 0\n    const tl = target.length\n    const sl = source.length\n    const il = Math.max(target.length, source.length)\n    const result = new Array(il)\n    for (i = 0; i < il; ++i) {\n      if (i < sl) {\n        result[i] = deepmerge(target[i], source[i])\n      } else {\n        result[i] = clone(target[i])\n      }\n    }\n    return result\n  }\n}\n\n// default behavior\nconst deepmergeConcatArray = require('@fastify/deepmerge')()\nconst resultConcatArray = deepmergeConcatArray([{ a: [1, 2, 3 ]}], [{b: [4, 5, 6]}])\nconsole.log(resultConcatArray) // [ { a: [ 1, 2, 3 ]}, { b: [ 4, 5, 6 ] } ]\n\n// modified behavior\nconst deepmergeDeepmergeArray = require('@fastify/deepmerge')({ mergeArray: deepmergeArray })\nconst resultDeepmergedArray = deepmergeDeepmergeArray([{ a: [1, 2, 3 ]}], [{b: [4, 5, 6]}])\nconsole.log(resultDeepmergedArray) // [ { a: [ 1, 2, 3 ], b: [ 4, 5, 6 ] } ]\n```\n\n#### cloneProtoObject\n\nMerging objects with prototypes, such as Streams or Buffers, are not supported by default.\nYou can provide a custom function to let this module deal with the object that has a `prototype` _(JSON object excluded)_.\n\n```js\nfunction cloneByReference (source) {\n  return source\n}\n\nconst deepmergeByReference = require('@fastify/deepmerge')({\n  cloneProtoObject: cloneByReference\n})\n\nconst result = deepmergeByReference({}, { stream: process.stdout })\nconsole.log(result) // { stream: <ref *1> WriteStream }\n```\n\n#### isMergeableObject\n\nBy default, `@fastify/deepmerge` merges all objects except native `Date` and `RegExp` objects. To exclude certain objects from being merged, you can provide a custom function to the `isMergeableObject` option.\n\nThe default function is exported by this module as `isMergeableObject`.\n\nThe following example shows how to extend the default function to exclude globally defined `FormData` objects from being identified as mergeable objects.\n\n```js\nconst { isMergeableObject: defaultIsMergeableObject } = require('@fastify/deepmerge')\n\n\nfunction customIsMergeableObject (source) {\n  return defaultIsMergeableObject(source) && !(source instanceof FormData)\n}\n\nconst deepmergeWithCustomMergeableObject = require('@fastify/deepmerge')({\n  isMergeableObject: customIsMergeableObject\n})\n```\n\n## Benchmarks\n\nThe benchmarks are available in the benchmark folder.\n\n`npm run bench` - benchmark various use cases of deepmerge:\n```\n@fastify/deepmerge: merge regex with date x 1,256,523,040 ops/sec ±0.16% (92 runs sampled)\n@fastify/deepmerge: merge object with a primitive x 1,256,082,915 ops/sec ±0.25% (97 runs sampled)\n@fastify/deepmerge: merge two arrays containing strings x 25,392,605 ops/sec ±0.22% (97 runs sampled)\n@fastify/deepmerge: two merge arrays containing objects x 1,655,426 ops/sec ±0.65% (96 runs sampled)\n@fastify/deepmerge: merge two flat objects x 15,571,029 ops/sec ±0.45% (96 runs sampled)\n@fastify/deepmerge: merge nested objects x 7,601,328 ops/sec ±0.31% (96 runs sampled)\n```\n\n`npm run bench:compare` - comparison of @fastify/deepmerge with other popular deepmerge implementation:\n```\n@fastify/deepmerge x 605,343 ops/sec ±0.87% (96 runs sampled)\ndeepmerge x 20,312 ops/sec ±1.06% (92 runs sampled)\nmerge-deep x 83,167 ops/sec ±1.30% (94 runs sampled)\nts-deepmerge x 175,977 ops/sec ±0.57% (96 runs sampled)\ndeepmerge-ts x 174,973 ops/sec ±0.44% (93 runs sampled)\nlodash.merge x 89,213 ops/sec ±0.70% (98 runs sampled)\n```\n\n## License\n\nLicensed under [MIT](./LICENSE).","users":{}}