{"_id":"tsmerge","_rev":"181301","name":"tsmerge","description":"Shallow object merge.","dist-tags":{"latest":"1.0.4"},"maintainers":[{"name":"jason-rev","email":"jason@revinate.com"}],"time":{"modified":"2021-06-03T12:05:07.000Z","created":"2016-04-30T18:15:56.570Z","1.0.4":"2016-05-01T09:42:01.520Z","1.0.1":"2016-04-30T18:22:47.503Z","1.0.0":"2016-04-30T18:15:56.570Z"},"users":{},"author":{"name":"Jason Dent"},"repository":{"type":"git","url":"git+https://github.com/Jason-Rev/tsmerge.git"},"versions":{"1.0.4":{"name":"tsmerge","version":"1.0.4","description":"Shallow object merge.","main":"dist/src/index.js","typings":"dist/src/index.d.ts","scripts":{"test":"mocha --recursive ./dist/test"},"repository":{"type":"git","url":"git+https://github.com/Jason-Rev/tsmerge.git"},"keywords":["spread","assign","merge","object","immutable"],"author":{"name":"Jason Dent"},"license":"MIT","bugs":{"url":"https://github.com/Jason-Rev/tsmerge/issues"},"homepage":"https://github.com/Jason-Rev/tsmerge#readme","devDependencies":{"chai":"^3.5.0","deep-freeze":"0.0.1","mocha":"^2.4.5"},"dependencies":{"object-assign":"^4.0.1"},"gitHead":"0b08a649933a5fe082b583b17c89fcac7e70fb6c","_id":"tsmerge@1.0.4","_shasum":"5db0d81c856eecdfb52bc52c68ad50af3ddaa51b","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.0","_npmUser":{"name":"jason-rev","email":"jason@revinate.com"},"dist":{"shasum":"5db0d81c856eecdfb52bc52c68ad50af3ddaa51b","size":2468,"noattachment":false,"key":"/tsmerge/-/tsmerge-1.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsmerge/download/tsmerge-1.0.4.tgz"},"maintainers":[{"name":"jason-rev","email":"jason@revinate.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/tsmerge-1.0.4.tgz_1462095720496_0.7891165136825293"},"directories":{},"publish_time":1462095721520,"_cnpm_publish_time":1462095721520,"_hasShrinkwrap":false},"1.0.1":{"name":"tsmerge","version":"1.0.1","description":"Shallow object merge.","main":"dist/src/index.js","typings":"dist/src/index.d.ts","scripts":{"test":"mocha --recursive ./dist/test"},"repository":{"type":"git","url":"git+https://github.com/Jason-Rev/tsmerge.git"},"keywords":["spread","assign","merge","object","immutable"],"author":{"name":"Jason Dent"},"license":"MIT","bugs":{"url":"https://github.com/Jason-Rev/tsmerge/issues"},"homepage":"https://github.com/Jason-Rev/tsmerge#readme","devDependencies":{"chai":"^3.5.0","deep-freeze":"0.0.1","mocha":"^2.4.5"},"dependencies":{"object-assign":"^4.0.1"},"gitHead":"b3cf9082d22fe0bef31e522da7691a3a6494d343","_id":"tsmerge@1.0.1","_shasum":"fc843d39d66d5b65c5d0bf259813b6b9e45d9b03","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.0","_npmUser":{"name":"jason-rev","email":"jason@revinate.com"},"dist":{"shasum":"fc843d39d66d5b65c5d0bf259813b6b9e45d9b03","size":2015,"noattachment":false,"key":"/tsmerge/-/tsmerge-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsmerge/download/tsmerge-1.0.1.tgz"},"maintainers":[{"name":"jason-rev","email":"jason@revinate.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tsmerge-1.0.1.tgz_1462040565068_0.9791510293725878"},"directories":{},"publish_time":1462040567503,"_cnpm_publish_time":1462040567503,"_hasShrinkwrap":false},"1.0.0":{"name":"tsmerge","version":"1.0.0","description":"Shallow object merge.","main":"dist/index.js","scripts":{"test":"mocha --recursive ./dist/test"},"repository":{"type":"git","url":"git+https://github.com/Jason-Rev/tsmerge.git"},"keywords":["spread","assign","merge","object","immutable"],"author":{"name":"Jason Dent"},"license":"MIT","bugs":{"url":"https://github.com/Jason-Rev/tsmerge/issues"},"homepage":"https://github.com/Jason-Rev/tsmerge#readme","devDependencies":{"chai":"^3.5.0","deep-freeze":"0.0.1","mocha":"^2.4.5"},"dependencies":{"object-assign":"^4.0.1"},"gitHead":"b2bf3848bc8e228720e127466ab468a52d3e6336","_id":"tsmerge@1.0.0","_shasum":"5b4c2bf01988aa7cb0851fca6af4b51ee741ec98","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.0","_npmUser":{"name":"jason-rev","email":"jason@revinate.com"},"dist":{"shasum":"5b4c2bf01988aa7cb0851fca6af4b51ee741ec98","size":2009,"noattachment":false,"key":"/tsmerge/-/tsmerge-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsmerge/download/tsmerge-1.0.0.tgz"},"maintainers":[{"name":"jason-rev","email":"jason@revinate.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tsmerge-1.0.0.tgz_1462040154323_0.0884741151239723"},"directories":{},"publish_time":1462040156570,"_cnpm_publish_time":1462040156570,"_hasShrinkwrap":false}},"readme":"# tsmerge\nA shallow merge function that works nicely with typescript.\n\nIn the spirit of making things immutable, it is important to be able to merge objects together in an easy fashion.\n\nIn the ideal world, we could have a spread `...` operator in typescript like the one supported by JSX:\n```javascript\nconst options = {...defaults, ...customizations};\n```\nwhich would copy all the fields in `defaults` and override with any custom fields from `customizations`.\n\nThe new ES6 Object.assign, does what we want, but has a strange syntax.\n```javascript\nconst options = Object.assign({}, defaults, customizations);\n```\n\ntsmerge is just a friendlier way of doing Object.assign.\n\nExample:\n```javascript\nimport {merge} from 'tsmerge';\n...\n\nconst options = merge(defaults, customizations);\n```\n\nInstall:\n```\nnpm install tsmerge --save\n```\n\nUsage:\n```javascript\nimport {merge} from 'tsmerge';\n\nconst defaults = { timeout: 30000, retries: 3 };\nconst customizations = { retries: 10 };\nconst options = merge(defaults, customizations);\nconsole.log(options);  // output: { timeout: 30000, retries: 10 }\n```\n\n","_attachments":{},"homepage":"https://github.com/Jason-Rev/tsmerge#readme","bugs":{"url":"https://github.com/Jason-Rev/tsmerge/issues"},"license":"MIT"}