{"_id":"mobx-decorated-models","_rev":"52-32ae80613819930482732da959893e63","name":"mobx-decorated-models","description":"Decorators to make using Mobx for model type structures easier","dist-tags":{"latest":"1.1.0","next":"1.1.0-0"},"versions":{"0.0.2":{"name":"mobx-decorated-models","version":"0.0.2","description":"Decorators to make using Mobx for model type structures easier","main":"index.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"^1.1.9"},"devDependencies":{"babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","jest":"^18.1.0"},"gitHead":"ed5494133b5c16efb5bb96aa04e3778fc0313006","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.0.2","scripts":{},"_shasum":"00cb846f6f1336fe5af20f2f50435f305d8a1e40","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"00cb846f6f1336fe5af20f2f50435f305d8a1e40","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.0.2.tgz","integrity":"sha512-dMuUo+cjLbBQMoceEFzEX67vXAGmqFSXwvCxmjuWR/bTAjktIJFuzJ7uqN5lqfuIV8KXB2S3oS1SHyhmV6x4EA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBu1RzzjCGvon8R7WerM3JcUgiy/s+qyQ7wczbCDTnocAiBJzkaMj2AJwK10oSwdnFXh2MY8OBRHOD1S9uJ0+nC9yw=="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.0.2.tgz_1485491111545_0.7674047786276788"},"directories":{}},"0.0.3":{"name":"mobx-decorated-models","version":"0.0.3","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"^1.1.9"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"58b26e5f959ae95e7d357a99e21fd2cb93115d9f","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.0.3","_shasum":"7e7d32ea54518bc87260fa498e2c0cbf32c71e0d","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"7e7d32ea54518bc87260fa498e2c0cbf32c71e0d","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.0.3.tgz","integrity":"sha512-dSnBubr1fWf7hRvT7qeit5XLxxZLaQuPqcIcULJeCdlik3EEz12KNZmqE1SVFKPFfGGaRdMqDTUgbG8Y8Cu/5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDv0UfJIgtvrIY/cQ1kruLQsVt//cpvqQj57rQFHb2kigIgCbrtZRvvs7NdCQ+W//lysTwY+wjNsETHAo0KcvO81l4="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.0.3.tgz_1485739384603_0.03691872186027467"},"directories":{}},"0.0.4":{"name":"mobx-decorated-models","version":"0.0.4","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"^1.1.9"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"4a5b6bd7aedc1dcd7150c36b22dc0c1d7a98c33e","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.0.4","_shasum":"d2f1e853249251f343ad6312eda1551f3de1deb2","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"d2f1e853249251f343ad6312eda1551f3de1deb2","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.0.4.tgz","integrity":"sha512-e6wLsmDFR2NQgzq6ZEV3jbTf9L0e0VHFDhGw9y/CCtOa7lrmK9z8BLr+l3+MvA7L3Yeo+Xj4FN0OwKGwUHTRiQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAc90crB8J1cMQf81fUpC70UEHSOZjT2bcmdwPYhdqCwIhALbDgq5FdeW32TpAM/PzOB15PSqmOoXUM2SZaIN/ROck"}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.0.4.tgz_1485750371386_0.921467307023704"},"directories":{}},"0.0.5":{"name":"mobx-decorated-models","version":"0.0.5","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"^1.1.9"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","preversion":"npm build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"c0960b1a8f2e8f93f691a9225d39b7375363594c","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.0.5","_shasum":"e67d28c7867be7f46e0864246b2d5d4e69c879ea","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"e67d28c7867be7f46e0864246b2d5d4e69c879ea","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.0.5.tgz","integrity":"sha512-72vejdxaSkAnupQWGi7lyC642C3ZCI3nN69ylA3DL765CsNGaVoJZbhOpgxDrADEiAORySELWlCe82d3+OJM0g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCiuMDYcz5h3Ej7G89g1b/fXVWMw5f8wON3cRR7Yr2PzQIgU/OAgUSH7H+RN9IHnCoc7PpAGInq5pms4PbRPP62FkM="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.0.5.tgz_1485751020409_0.1115836186800152"},"directories":{}},"0.0.6":{"name":"mobx-decorated-models","version":"0.0.6","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"^1.1.9"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"f613c39eb2eb85bf4140f2e82928265d7b662c63","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.0.6","_shasum":"6500bbdb20335ec196d32d5d5179e66aa3430680","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"6500bbdb20335ec196d32d5d5179e66aa3430680","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.0.6.tgz","integrity":"sha512-jWAVHcP637/5CMqZQ9kZiv38g6uSpsch1xm5A3oFLZAYEJLKiQ7m1wddY2WZ3BQ7vFiLlflXHqz6B1IsfuW6Wg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCq/ggVUoKuGpfWLu95hNf8fBZ0EWwrCrc0lt1Gl1XTwgIgO8v4Ur9DV3bJc9rSAWmVPHmbmXV7Q1PQUEMcwaJIOZ8="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.0.6.tgz_1485751166985_0.5065756905823946"},"directories":{}},"0.0.7":{"name":"mobx-decorated-models","version":"0.0.7","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"^1.1.9"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"5b552871f7a4da7140a688699d30a031682670ff","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.0.7","_shasum":"be56432e70bb2811f84022e61dc25495f5b0627f","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"be56432e70bb2811f84022e61dc25495f5b0627f","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.0.7.tgz","integrity":"sha512-KNYDUSzRcSnQ63o3vX/Fbg+GR+XzPm8t0+IautKoDFVyQKOzdU3l2JzhZhpZ3QFeKylOvvzdqOyOqvgckjirYA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEVQYgdemLCMfg1HNNxM9xIsFl21NUQnwq5ncKRKwnjgIgFHyJIq9pYtNduW7dBtpHUWNFBEk1aYK1Bo1h/jF8e/8="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.0.7.tgz_1485791114112_0.8427145727910101"},"directories":{}},"0.1.0":{"name":"mobx-decorated-models","version":"0.1.0","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"^1.1.9"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"86fd71b07ee849b66095445c9f1849b1b6f867f0","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.1.0","_shasum":"b4fedd2535c6594f91864a3cd266eefd3cdd813d","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"b4fedd2535c6594f91864a3cd266eefd3cdd813d","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.1.0.tgz","integrity":"sha512-BnHzBfiNy62vLBhaFAH5Xe88wfRQ9L9E0ZP2y5v0vgjN2ERKTL6bmbRADe5UrC7VfPO8YW8I/ZuiD6puCtMw3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChfBGvitwenn1Uto8EZmz4QOxsZS4Oxv+4EVIYiil5VAIhAMB+L8ERcqLWn6ibp/L40CrQSb2yv0PecP/pBXhWq3F2"}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.1.0.tgz_1485820035497_0.2868533539585769"},"directories":{}},"0.1.1":{"name":"mobx-decorated-models","version":"0.1.1","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"^1.1.9"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"33154612958c0c0f1015eff7cad3a93d3086c4f9","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.1.1","_shasum":"f46416cc3c0a0237cb49b2ecbeba3a4a08731c76","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"f46416cc3c0a0237cb49b2ecbeba3a4a08731c76","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.1.1.tgz","integrity":"sha512-DCM71/2mAkjYTO/LjpCHj7LTMSjNssZ0oH9ECdEpHQzeWz+CT1O9A+hImXpj8ChhjYYN71CsOaBKRa+N1452JA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAM5HhSIW9qOvxoLznRwJ8o2jSdzHCvmwGX/JdumEuMOAiEA6NGLUyydHeEYvMSJJFQKnQVXrNeHxAxT+e8Ymx6NHW8="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.1.1.tgz_1485822251308_0.031371335266157985"},"directories":{}},"0.1.2":{"name":"mobx-decorated-models","version":"0.1.2","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"^1.1.9"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"427bf588172348bc4a6f5a8c5d876bc5b4646d5a","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.1.2","_shasum":"b707759de8985fd6d49b4e003fd49bcdee3505f3","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"b707759de8985fd6d49b4e003fd49bcdee3505f3","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.1.2.tgz","integrity":"sha512-6XRF4SVmYt4v+AmWnfmxuYZ3PrLwU5oA6yw41RbjTZZjcZG5dA8T+qG9fi2HtxibNjIpHbQ9vQ6XpL+1KIG1og==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG871vhcUnPcgTj3ISB1MgJT7FS202j1r8+Am0bW948GAiB3Ojmh6hy4pZ0sVMnhtihnVflbZiU2ULb8ZTmc6pSg6g=="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.1.2.tgz_1485822349359_0.6827507158741355"},"directories":{}},"0.2.0":{"name":"mobx-decorated-models","version":"0.2.0","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"git+https://github.com/nathanstitt/serializr.git#serializer-args"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"a2efe5fcb86b2becf5e7a2fda2ad38ea6bfec027","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.2.0","_shasum":"32d705a5a1f0b330f59bc03d401e0b9c4cb9425d","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"32d705a5a1f0b330f59bc03d401e0b9c4cb9425d","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.2.0.tgz","integrity":"sha512-l4hG3X6/L+ziGUvhQKxP/s3JBB/Kr8i4visIlTo1rwrs6O7wjSAvI2BoN3B1d6DRSIHrtGWeGzG+hd7tXtEkaA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB40lEbMXkugHq7DHJQZ0sAPEQ/FoizcNORL7FF/bTIkAiEAsFp0pF16MKYtJjK/5lqxVOgkkpWwj/2wicnGlQPIUe8="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.2.0.tgz_1487206336805_0.023245840100571513"},"directories":{}},"0.2.1":{"name":"mobx-decorated-models","version":"0.2.1","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"git+https://github.com/nathanstitt/serializr.git#serializer-args"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"ffd4941be59e7b91945f72be5d9a55796bb178f0","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.2.1","_shasum":"3609896640323fe3f6bab695d640cbba269c2d4c","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"3609896640323fe3f6bab695d640cbba269c2d4c","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.2.1.tgz","integrity":"sha512-Mx0XyA1YINrp4B/CMJDM1a+oQp5gps9ru44sJ+cP1gIcKoYdkNnMx3BfXDRPpB8YdXG/lsJduIgzOxq+4Av1mA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICkuOFgtkSatYa2YM8PKpfqRGBn2tyiuryNQOp7DiTiFAiEAtEhdbbgumc+F79/7Tc+/t0NeZ4McS3V1oq/wzfd8xMA="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.2.1.tgz_1487958585143_0.6535422296728939"},"directories":{}},"0.3.0":{"name":"mobx-decorated-models","version":"0.3.0","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"git+https://github.com/nathanstitt/serializr.git#serializer-args"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"0b072d3a11a292e0352ed6d6ee20829a021a766b","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.3.0","_shasum":"f813a6317c63fed3993a630cbacbf9af9535a624","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"f813a6317c63fed3993a630cbacbf9af9535a624","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.3.0.tgz","integrity":"sha512-its3LVl4NBV7VHYfhyaPfWSS8tEiBEtNMS4cykAVL06nBkH8BOxky7WVZQbhpXpIlqYHGKWfmHT8wIksOngckw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNszds7EtnMsBjkz2YoiiIwhpHtQM6zFSx5m3Jf6M7wQIgSIHAIB/BsdbM/UwS4j2KaUqMSwS1knjJvvyZwR0NYCE="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.3.0.tgz_1487967343347_0.01394041208550334"},"directories":{}},"0.3.1":{"name":"mobx-decorated-models","version":"0.3.1","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"git+https://github.com/nathanstitt/serializr.git#serializer-args"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"dc7246ad95fb0201534d0cdc9298103c95a921af","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.3.1","_shasum":"55b382906208e3e2c335bd75e6cf928e2c83b60a","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"55b382906208e3e2c335bd75e6cf928e2c83b60a","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.3.1.tgz","integrity":"sha512-um0SZh71KXULgj4WpKUHHOM4K4bseIJ17/yILCDdjij+eSD2qmvuVtyHfEMRFuU9017xo0gBpL4hJBI0+8z4QQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWv12uDDqF3u03RGM7j+WM3zc5pr5ghOqMt+bLstjRmgIhAIHEyCfuBfXKH1T1ALyMNVGY5ACpk54Nh5qGfsg0LupC"}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.3.1.tgz_1487974189421_0.8363637402653694"},"directories":{}},"0.3.2":{"name":"mobx-decorated-models","version":"0.3.2","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"git+https://github.com/nathanstitt/serializr.git#serializer-args"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"4000ce9e284f86c8e55d651ae914166c7a033b1b","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.3.2","_shasum":"54b017371eb3820b80b170edfd20166b5ad6ac4b","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"54b017371eb3820b80b170edfd20166b5ad6ac4b","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.3.2.tgz","integrity":"sha512-fnmlTzYfWGezuDxVH5DBTfYb92qKU21/7txQjAiI0box6yYT9lMi6WtZalCQwv/3D/3jjF9UlEfY3eMpGMim4g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCh22LFAs5r5gg3gMUFGj7Y6hf00pUbwDjL5mQ5HiBynwIhAOAZ46/hkOT23spDX4u8wJ/RUk//3kKoGjB6Tn3e+gmU"}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.3.2.tgz_1487979648314_0.360504588810727"},"directories":{}},"0.3.3":{"name":"mobx-decorated-models","version":"0.3.3","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"git+https://github.com/nathanstitt/serializr.git#serializer-args"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"95b6f468c46aa69db467bae15de1d1e80273c0b6","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.3.3","_shasum":"cc33eddbbf381b32176a0ff1d94cc8d70fbfdf19","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"cc33eddbbf381b32176a0ff1d94cc8d70fbfdf19","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.3.3.tgz","integrity":"sha512-jlWyWZABZTIyrDGP7w1Zz1EzqbBn1FebHn61pQDjEouym8cpFvNzQha5QwLzva2ssuOohi/4DWIGcVwNPjc8Yg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFWm7mtI8fB08XfVio+X1GlGMwNNRk6Dig627dx5J055AiEAkihDfbCxUezBdW1w7BOWF2RKYtg1rJ40NVtG1aTejIA="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.3.3.tgz_1487992347255_0.4846144069451839"},"directories":{}},"0.4.0":{"name":"mobx-decorated-models","version":"0.4.0","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"git+https://github.com/nathanstitt/serializr.git#serializer-args"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"8e43eac72e38c698cbfd2a658aab054b6e0b7eb6","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.4.0","_shasum":"a4ac08296a1550d77f7b1c1e5870bd01b9a2c25a","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"a4ac08296a1550d77f7b1c1e5870bd01b9a2c25a","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.4.0.tgz","integrity":"sha512-FKI5jPrEJB9ikjoJ81i1KTiv4TJVNmsBo3pORRL7glkHhq3h8JDf40prnlIz6Xvo9Jqc4c0avxrncFiowyPWjg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCm8VrEcatoD52gNG/uVMI3YZnWiqOTSuzFBWmv7niL0gIhAPvUTUb0/+cvebTgqZV4mihxwQzQuLzdc/tdFQzuIRvy"}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.4.0.tgz_1488073598003_0.5614381835330278"},"directories":{}},"0.4.1":{"name":"mobx-decorated-models","version":"0.4.1","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"git+https://github.com/nathanstitt/serializr.git#serializer-args"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"0f9a879d183a1d67dc41f7e7513f9f5009483cc9","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.4.1","_shasum":"375d4f9a6b5ac56176e0063e9e9e697fdcc524be","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"375d4f9a6b5ac56176e0063e9e9e697fdcc524be","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.4.1.tgz","integrity":"sha512-ua++G36nxCXPTn5lrEQXQFrOEQVNYQMk9D+9KJmvo3rHTTEm4SWoq7oPI0WgTGEq0LHa+CuQmavslJva/rlVwA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDoNOdutnRF3uLJ3NQaZAEc5RVrxeGd4fg6u4UBywO2PgIhAMQ9hSXkDN4WvfdcosFcBirG/ySaFgbIclPvtt0N1e/2"}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.4.1.tgz_1488075651657_0.8641824361402541"},"directories":{}},"0.4.2":{"name":"mobx-decorated-models","version":"0.4.2","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"git+https://github.com/nathanstitt/serializr.git#serializer-args"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"12285195802739d4f8f532c6629159a480903ba5","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.4.2","_shasum":"da70303018447d598babed39449dd38ae82508e2","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"da70303018447d598babed39449dd38ae82508e2","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.4.2.tgz","integrity":"sha512-LJQMQmCwnt+hLlzoouvwYxd8tsWb3xL6+ZLdVJbi8jsk3WgRDsJo6vzM6I1+EV7bBHMv8kdaxshZGOkqDzZmnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDz2gXwcquN5JgMXxa/8yeTAkTm3PKKPIGv/f+C9gETsgIhAMf9K4SoPNmum1PXsJBnATHZ4iJ00L15TtdAFLJWpDFA"}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.4.2.tgz_1488080689312_0.5445371761452407"},"directories":{}},"0.4.3":{"name":"mobx-decorated-models","version":"0.4.3","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"git+https://github.com/nathanstitt/serializr.git#serializer-args"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"46fd40d92d9f8858b1fcbce745e2706106798a7e","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.4.3","_shasum":"1def552459e49b60c57849ba6a99f3cae0be9610","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"1def552459e49b60c57849ba6a99f3cae0be9610","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.4.3.tgz","integrity":"sha512-QWBJ9+wwpPpP1EHvtD5wNLt8auIQe7eoG6A3b3yhMqGYBq3VmB1v09d2J+qfsjk9/xl5FEpzzMJefch+SoUzrA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDD6xMNPbVpO+19lwrhzUzO/tUPnxFb7lu2X/axP01KKAIhALaGqLWClFA5PVkQo3u+AX2nPzVqkHDL6dIbpQ408h9k"}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.4.3.tgz_1488082084794_0.050097961677238345"},"directories":{}},"0.4.4":{"name":"mobx-decorated-models","version":"0.4.4","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"git+https://github.com/nathanstitt/serializr.git#serializer-args"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"a9f56cfe5e4772e18d7792ce1c07445bc6fa3a2d","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.4.4","_shasum":"c3ee712c213e4a366cf03eb9713b33a5ea0a5a34","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"c3ee712c213e4a366cf03eb9713b33a5ea0a5a34","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.4.4.tgz","integrity":"sha512-mtP+6zObR0UXuKDp8Pb3KGfKGOUyFJ7demrswGLaTlXaSsag8r7hjWvIuXjabduNhul0dKP0SbMhVw34hvYeIg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDBK4PBfMGt8YpUmJ5Gqv1coe51NDyeNHkI1Admdr8aAAiEA+yNZBJu4ZFOMAVy0tGT7jG4G4c+mwVEbXGBaYcuQ/+Y="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.4.4.tgz_1488131338640_0.2555429933127016"},"directories":{}},"0.4.5":{"name":"mobx-decorated-models","version":"0.4.5","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"git+https://github.com/nathanstitt/serializr.git#serializer-args"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"e6bd7678048174c01d34be7e1a6e8efd9dffea4b","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.4.5","_shasum":"9a84b8f070309bd42063bd04d31ff43e8afd5465","_from":".","_npmVersion":"4.1.2","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"9a84b8f070309bd42063bd04d31ff43e8afd5465","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.4.5.tgz","integrity":"sha512-USx8WYK+pC4L3YyvUyE8a+keZYY4nN9Os4l6Qd2UWO67jbUGv321QHLgGFfi6GWkcYShn0lOVsd8z+M8p42ETA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCG3tspS7xEEJiXVrjggvHurjc2nU6Q5jjUR5avjSxO/wIhAKTx9Z6nNklk5wj/ZgYZv8Pmf/4LwNkBy5PHDemtUWsx"}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.4.5.tgz_1488673261412_0.24112118338234723"},"directories":{}},"0.4.6":{"name":"mobx-decorated-models","version":"0.4.6","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"git+https://github.com/nathanstitt/serializr.git#serializer-args"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"58a0a94ac6d84d3a4e70e784d9201e9a044d31d1","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.4.6","_shasum":"2e4f635d4adf7060d7bf47ed63e7cd6af7517015","_from":".","_npmVersion":"4.1.2","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"2e4f635d4adf7060d7bf47ed63e7cd6af7517015","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.4.6.tgz","integrity":"sha512-e2Mt6oG663gliMl505e/oCLlZo/gCS18deCFJCvvep4txyatpphNgyQz+9rTgmLuR9C3sn8Cxv5dSfAzJdcFZw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFRXpU75jMf0XT6bdG2JNTVpJfIShFpyGkPh2wY1GMNcAiEA9pjciQhxy4X9eiL+Z077xJBUPor6VX/Eejp5mbisxcw="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.4.6.tgz_1489025602351_0.963772471062839"},"directories":{}},"0.5.0":{"name":"mobx-decorated-models","version":"0.5.0","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"git+https://github.com/nathanstitt/serializr.git#serializer-args"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"25c7102f16d34e167afac386359c8561a29d2701","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.5.0","_shasum":"a83a571f52ee749cad240167e1ff9718d28de759","_from":".","_npmVersion":"4.1.2","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"a83a571f52ee749cad240167e1ff9718d28de759","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.5.0.tgz","integrity":"sha512-UKk8UsVgXCFE9asEWAWrcG6a3iJfGSD3S26A7uIGmJ5u/zqt0d00cRLnZQt7tvz0wMNG3VqjlBZrjjnYlx7kug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8Fgxhh5v8YA8chpqHm4ED4h8hCbZKPRBndY2phvicGQIhAOynblwpPFFi+8h7LotF05/LAvYxgtPJuRCIOIQ6Toki"}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.5.0.tgz_1490396479633_0.8355516586452723"},"directories":{}},"0.5.1":{"name":"mobx-decorated-models","version":"0.5.1","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"mobx":"^3.0.2","serializr":"1.1.11"},"scripts":{"test":"./node_modules/jest-cli/bin/jest.js","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^6.2.10","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","babelrc-rollup":"^3.0.0","jest":"^18.1.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1"},"gitHead":"31e7fe2cd8ebb640994a3b544b61c87869c4110f","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.5.1","_shasum":"eeab9f9f0fb1141bbd1ecd8103acecd2b235c1a7","_from":".","_npmVersion":"4.1.2","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"eeab9f9f0fb1141bbd1ecd8103acecd2b235c1a7","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.5.1.tgz","integrity":"sha512-8I3h4MCjkpjuNoludcRtuw77f4YbbbYnVZRMzW1S9Xy84zeOQRQKZEqAcHWQhCrw72YT9gGVy4fCCUew9N4hPg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjWYMTKHzNRKlaYZG0Zo7XoXGG0o3JOFg726BZ86KmLQIgO3CBP6oiccBGrh2wgYds3/iD3mV/I+yCy5r0AKoso8Y="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mobx-decorated-models-0.5.1.tgz_1491071656899_0.7175756157375872"},"directories":{}},"0.5.2":{"name":"mobx-decorated-models","version":"0.5.2","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","dependencies":{"babelrc-rollup":"^3.0.0","jest-cli":"^20.0.4","mobx":"^3.0.2","serializr":"1.1.12"},"scripts":{"test":"$(npm bin)/jest","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize"],"devDependencies":{"babel":"^6.5.2","babel-loader":"^7.0.0","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","jest":"^20.0.4","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1"},"gitHead":"46fdd81e10d5e66d66fe4b7dcaae63b73a09a204","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.5.2","_npmVersion":"5.0.3","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"integrity":"sha512-GfOXmINLXFceO87p9bqyGQVZRsTUbajXVpJJPOX+7V5ZdicaR/2Ekf5U9k7LfHAbBCXDJ/4q484V+Ojf9cNVww==","shasum":"20acfb5e7428e3a45e8235185000d254456ca9e9","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.5.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGWByjVRsfvQN6KvnEfLeUqHJ77oz9rvjUqo/ay8LW4wAiEA4Zi5I/I94EYFEH3+vIYnwjoULaOE2s0IlVSUTV8IR74="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models-0.5.2.tgz_1497406349324_0.6944704053457826"},"directories":{}},"0.5.3":{"name":"mobx-decorated-models","version":"0.5.3","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"$(npm bin)/jest","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"dependencies":{"mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babelrc-rollup":"^3.0.0","babel-loader":"^7.0.0","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","jest":"^20.0.4","jest-cli":"^20.0.4","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1"},"gitHead":"466ba3b39133720c8a52970a16f124426b79f1ce","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.5.3","_npmVersion":"5.0.3","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"integrity":"sha512-0K1LAVXckVnc23w6yxM/CE1RqjhS2OCP9nw6lHS1tifcz/7uDiraUWXxCcT5Kh60bqVVV1whwSD6KjpgYDOILw==","shasum":"5884c2560153835384b1883cdaaf64185325adaf","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.5.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHkmL2o28mJmV0Y7yXHz31QLOFn4lYw/13vz4mdvGJoAIhAMFhosGMKrShK1nqpfzE0d/6Y08XG4ldxIHw4RafNTMm"}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models-0.5.3.tgz_1499399404970_0.433341302908957"},"directories":{}},"0.6.0":{"name":"mobx-decorated-models","version":"0.6.0","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"$(npm bin)/jest","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"dependencies":{"babel-eslint":"^7.2.3","eslint":"^4.3.0","eslint-config-argosity":"^1.1.3","mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babelrc-rollup":"^3.0.0","babel-loader":"^7.0.0","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","jest":"^20.0.4","jest-cli":"^20.0.4","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1"},"gitHead":"c64a8e2c3a5717e0cb18374e1f89af18e261310a","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.6.0","_npmVersion":"5.0.3","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"integrity":"sha512-by82b1s6nqSRamlvtEgiZ+z4gu8/rwTOF4v3fP0I91gy8qHQKf+4vmVbfNqFfInFZbXlsbPVDSpoORftnQs3XA==","shasum":"13fe3d3cbf5a1c278cdd80b43c23bcdd7c34d749","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.6.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIADsVW20DhauxXv9PTmQn8+r1Dg0SM439IM8Uzswgc9pAiEAgQujls5L2gtS1+fjFHZdshNhkrMpPJ8caZ2vRETco+0="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models-0.6.0.tgz_1501375140767_0.5994356612209231"},"directories":{}},"0.6.1":{"name":"mobx-decorated-models","version":"0.6.1","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"$(npm bin)/jest","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"dependencies":{"babel-eslint":"^7.2.3","eslint":"^4.3.0","eslint-config-argosity":"^1.1.3","mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babelrc-rollup":"^3.0.0","babel-loader":"^7.0.0","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","jest":"^20.0.4","jest-cli":"^20.0.4","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1"},"gitHead":"01e2180b9713c7879b1a6f18cc023a6e2e558365","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.6.1","_npmVersion":"5.0.3","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"integrity":"sha512-TPqZelq4QhRcR83L3YdsIlJPRqCKI6F4o8pUC8DfDwdQTR252ZPjp+R1dH/eME+V5/j5nnXmHRmPpsqlV291TA==","shasum":"9e6cfddb8541ca57ace8c53a77e2535a0e0d4fa5","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.6.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIhP+37TeQtKvPUaDxqShlRpYGnbRRKbuW5S/8m5lkcgIhAMsK6O1ItVC8tDGuK1ogkUUPacRNQUFjB2Nn13UdtqB2"}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models-0.6.1.tgz_1501983287038_0.3251643134281039"},"directories":{}},"0.6.2":{"name":"mobx-decorated-models","version":"0.6.2","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"$(npm bin)/jest","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"dependencies":{"babel-eslint":"^7.2.3","eslint":"^4.3.0","eslint-config-argosity":"^1.1.3","mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babelrc-rollup":"^3.0.0","babel-loader":"^7.0.0","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","jest":"^20.0.4","jest-cli":"^20.0.4","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1"},"gitHead":"c7603f264d38d85caef3237ca2c2cc0b96c6ffb9","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.6.2","_npmVersion":"5.0.3","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"integrity":"sha512-G2i48Y2hWYBJrQ3e8T0KDZ4Ix55fh1Azv2hdru/poxJGImcohlPu27LxW/p5vJQBzVrmUnLKzPJVKzydGIADww==","shasum":"0f529927dcc7f8e021fed201d29fe12939bcee74","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.6.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFjdhcgeq4ecWmkIqaVZNJd1ufwC2HBwG1RCxUPbLEW1AiEA6GLlyOoPcWhWmn95NNaNvqKj1bq5HrCzVP6Cy3EGcNA="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models-0.6.2.tgz_1501988217336_0.5441878805868328"},"directories":{}},"0.6.3":{"name":"mobx-decorated-models","version":"0.6.3","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"$(npm bin)/jest","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"dependencies":{"babel-eslint":"^7.2.3","eslint":"^4.3.0","eslint-config-argosity":"^1.1.3","mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babelrc-rollup":"^3.0.0","babel-loader":"^7.0.0","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","jest":"^20.0.4","jest-cli":"^20.0.4","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1"},"gitHead":"9ad053ec3f72068a51b78d04cc4fbbad6dcc3187","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.6.3","_npmVersion":"5.0.3","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"integrity":"sha512-8tAjfbV/Qqyt/7RanGdTQjIOJj5d5ZLsC8hS6eTKK4xGf4unudT2E0nCocbl09VBT79e9HzwgwI1s9iKlRNyRg==","shasum":"86ad3493cc339bb6a3bdce461d2e5c7013ea745c","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.6.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID0U0VbOr2/5dByP42in7oALJjRuQxR8LJuvpef7fG5mAiA6/3PZpIqUFnUYxS8dvtZz54L5YHumOr8dVyORI2Lcig=="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models-0.6.3.tgz_1501988974379_0.28763699415139854"},"directories":{}},"0.6.4":{"name":"mobx-decorated-models","version":"0.6.4","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"$(npm bin)/jest","build":"rollup -c","prepublish":"npm run build && npm test"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"dependencies":{"mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babelrc-rollup":"^3.0.0","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","eslint":"^4.3.0","eslint-config-argosity":"^1.1.3","jest":"^20.0.4","jest-cli":"^20.0.4","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1"},"gitHead":"492c78d9929c5886214f8e6444cce9bbdcd913d2","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.6.4","_shasum":"6de4095ffe4d2bbd589f41b81567ac5e67c171dd","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"6de4095ffe4d2bbd589f41b81567ac5e67c171dd","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.6.4.tgz","integrity":"sha512-TMVWagchVmd/ZwwiCtcQgNo1kTmy6kV33i6LxzB3l5X/f/kGOQS9uf1jj8wVa1MvEW4/6VYTHhJfWnHWpDX1Ig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE1NeaEsL2VPOQygjBGWJTyTNxv89UxunhXScP8BParnAiEAnUmlCrmm/fpB8YpJPofMqvQMHy6KPKOmuMQVtNHuP6c="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models-0.6.4.tgz_1502476150749_0.8785862997174263"},"directories":{}},"0.6.5":{"name":"mobx-decorated-models","version":"0.6.5","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"./script/test","build":"./script/cibuild","prepublish":"./script/prepublish"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"peerDependencies":{"mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babelrc-rollup":"^3.0.0","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","eslint":"^4.3.0","eslint-config-argosity":"^1.1.3","jest":"^20.0.4","jest-cli":"^20.0.4","mobx":"^3.0","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1","serializr":"^1.1"},"gitHead":"9a01aedef05c1708abbeddd41859a1d82a08e409","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.6.5","_npmVersion":"5.0.3","_nodeVersion":"6.9.2","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"integrity":"sha512-Vx7QfGYP0uBlkT0Rqn3SewzR/pIZmVrLk9lOO/qwyT5kc4dHrdn+z/F4+CxHxVxYSLQsxOKwFOizKWDZYnUcTQ==","shasum":"73ca3c614117fe6779ac93a2f8bc661162887013","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.6.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSHgofk5r/p//J/LdrQJHlxJ6y07x0ennQ3bX1pLyaQAIhAJ9znRbMaA70+oAjY6OLL8TTjhFonQLxPa/5N9ktrvuo"}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models-0.6.5.tgz_1503861360745_0.8436029246076941"},"directories":{}},"0.7.0":{"name":"mobx-decorated-models","version":"0.7.0","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"./script/test","build":"./script/cibuild","prepublish":"./script/prepublish"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"peerDependencies":{"mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babel-eslint":"^7.2.3","babel-jest":"^20.0.3","babel-loader":"^7.0.0","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","eslint":"^4.3.0","eslint-config-argosity":"^1.1.3","jest":"^20.0.4","jest-cli":"^20.0.4","mobx":"^3.0","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1","serializr":"^1.1"},"dependencies":{},"gitHead":"ace987715f6e9d7a8ee265ebe76348a969197035","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.7.0","_shasum":"3ac3af763981b8dccd6960482ccbf2005429a867","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.12.0","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"shasum":"3ac3af763981b8dccd6960482ccbf2005429a867","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.7.0.tgz","integrity":"sha512-8ZvODUnsxUfqavss0lOSU1qcAAoURNXtoj3h0npaewmn1wxdAntI+YWQJNy5redh3kmVRmujWm3Ax0OC6SuZhA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmguwkKg9E9X5Kamy8iOTlrHalSoW5VWPbrkOWiVxcuwIgStZgMpj41qb8Y0/krGpd6kA+V4y1rgxL50R9ecymdwY="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models-0.7.0.tgz_1507134814980_0.12765287910588086"},"directories":{}},"0.7.1":{"name":"mobx-decorated-models","version":"0.7.1","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"./script/test","build":"./script/cibuild","prepublish":"./script/prepublish"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"peerDependencies":{"mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babel-eslint":"^7.2.3","babel-jest":"^20.0.3","babel-loader":"^7.0.0","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","eslint":"^4.3.0","eslint-config-argosity":"^1.1.3","jest":"^20.0.4","jest-cli":"^20.0.4","mobx":"^3.0","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1","serializr":"^1.1"},"dependencies":{},"gitHead":"81ff92f9f75465df2c358c7f784580729c2285f5","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.7.1","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"integrity":"sha512-2Cp0E9fM+JiGP8hhZhIefHoALSCjmqCj2x9+PqOUIZHkbOkJwyfMPbkSTVRwLW8DWXcDXLZiMAWbfrD61ad8EQ==","shasum":"dac4d489fd0f5ef84a6b289d4109acfb1e5c69fe","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.7.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG0870y2MkMJz7wJTuYJk1vNXU34dGSJxOoEMb3zeB2pAiALfc/i4Tll0UaJMV4Z97/8PyWLD+CKI/31qImSrHXsFQ=="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models-0.7.1.tgz_1507939898500_0.9424118134193122"},"directories":{}},"0.7.2":{"name":"mobx-decorated-models","version":"0.7.2","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"./script/test","build":"./script/cibuild","prepublish":"./script/prepublish"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"peerDependencies":{"mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babel-eslint":"^7.2.3","babel-jest":"^20.0.3","babel-loader":"^7.0.0","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.22.0","babel-preset-stage-2":"^6.22.0","eslint":"^4.3.0","eslint-config-argosity":"^1.1.3","jest":"^20.0.4","jest-cli":"^20.0.4","mobx":"^3.0","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1","serializr":"^1.1"},"dependencies":{},"gitHead":"fb8ff2d7f2573d6996876910fdf8f1aaa83254ee","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.7.2","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"integrity":"sha512-kh4ShPVZTW0XZ6LsfFUcHRm4eNl8RMNLZVy66CA7tehwT4bIy0yMEG0hP2AFWVvrWTbNvUiv2WQ0TYf3j+B2WA==","shasum":"96a802c1be44529e2c816dcd221fea1b13abe936","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.7.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCeVhvdew8FWm+fUn2XPVVHMt4XNGATMguJ/NNpi0CksAIgSnXIJTjLRUgXF+2cDMQ7Lg/hZyKia/BjJzCP1bRmpl0="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models-0.7.2.tgz_1508363672724_0.5961978065315634"},"directories":{}},"0.7.3":{"name":"mobx-decorated-models","version":"0.7.3","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"./script/test","build":"./script/cibuild","prepublish":"./script/prepublish"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"peerDependencies":{"mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babel-eslint":"^7.2.3","babel-jest":"^20.0.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-env":"^1.6.1","eslint":"^4.9.0","eslint-config-argosity":"^1.4","jest":"^20.0.4","jest-cli":"^20.0.4","mobx":"^3.0","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1","serializr":"^1.1"},"dependencies":{},"gitHead":"c6ddaa18b85cd70952b1ac3af4a27d139a095eab","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.7.3","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"integrity":"sha512-yG5JDMXeZsEw0f1ppW9hO9Tsz+CjAVLWD9Zs4kINxMnmleYJfFKwJ+/LVGTXrGaobjs6WJXW53mzK5NMlyxhGQ==","shasum":"513e5d8151d37c76272268f9b762eaf1b8aab248","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.7.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFqiSuZcXNPYs8GoZCu9d7H4OJw57OpMC4+RcBJDwdExAiAklF5bOuh7BSjuf5TLiX2x94yq9VIOgXpOWLzpT7V53Q=="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models-0.7.3.tgz_1508374391008_0.20429068570956588"},"directories":{}},"0.8.0":{"name":"mobx-decorated-models","version":"0.8.0","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"./script/test","build":"./script/cibuild","prepublish":"./script/prepublish"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"peerDependencies":{"mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babel-eslint":"^7.2.3","babel-jest":"^20.0.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-env":"^1.6.1","eslint":"^4.11.0","eslint-config-argosity":"^1.4.2","jest":"^21.2.1","jest-cli":"^21.2.1","mobx":"^3.3.1","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1","serializr":"^1.1"},"dependencies":{},"gitHead":"056fee61cf5e38ace19d030973f99dc00bca9d69","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.8.0","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"integrity":"sha512-kU7A8zUbFrQkxALpttiTzQ6/D4AYFHGgaD5tbOtZcO/UZUgghHZvHt3P1M2Erozib2njH4lRAFtrb/bY3ltttg==","shasum":"6ba6f70ae1d86719b734015b2428bb4cb0c55009","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.8.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCocLnyUrYWJm0rbg/yzmBCuzcvKU5YuaZj9ZHtqgvDIQIhAJTVEJK2FiEiQD9g0ycSaYwa49zVUorhiZioenyDMqAY"}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models-0.8.0.tgz_1510619722655_0.5162665834650397"},"directories":{}},"0.8.1":{"name":"mobx-decorated-models","version":"0.8.1","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"./script/test","build":"./script/cibuild","prepublish":"./script/prepublish"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"peerDependencies":{"mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babel-eslint":"^7.2.3","babel-jest":"^20.0.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-env":"^1.6.1","eslint":"^4.11.0","eslint-config-argosity":"^1.4.2","jest":"^21.2.1","jest-cli":"^21.2.1","mobx":"^3.3.1","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1","serializr":"^1.1"},"dependencies":{},"gitHead":"28cb84b33696df41c4bb31d1f9bf3b0cd84399f5","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.8.1","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"integrity":"sha512-VA4ld3snerax66JHtNSEEiBxjr+3d7/SSEdctzMbXCcDogcE/pnDzRCUrxGhmznZXq0LoJneXI0s89Nr8g118w==","shasum":"4b7f6943cca535bbb49150107b595dc8496ed49d","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.8.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDK9EBCflSi7r0xjJNqOWKoEbVVpviI3MRrJn7Apk4SpgIgGtOuRn9T2OExG76SRPgXKzWjeYzK8Jy7tWnXxsCVqks="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models-0.8.1.tgz_1510620865851_0.010132322553545237"},"directories":{}},"0.8.2":{"name":"mobx-decorated-models","version":"0.8.2","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"./script/test","build":"./script/cibuild","prepublish":"./script/prepublish"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"peerDependencies":{"mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babel-eslint":"^7.2.3","babel-jest":"^20.0.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-env":"^1.6.1","eslint":"^4.11.0","eslint-config-argosity":"^1.4.2","jest":"^21.2.1","jest-cli":"^21.2.1","mobx":"^3.3.1","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1","serializr":"^1.1"},"dependencies":{},"gitHead":"e19843054bfa657c7cd3b49234316015a1df78dc","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.8.2","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"integrity":"sha512-+X/v7+WGVtzj1hNj5PLk0xZ7XIDFrMD5Qno3zYz7ERKGw8Tgk9loY8H2CCbgpjcw/Xs6pJNaSQSp6xqSJUTMNQ==","shasum":"141db71bb6f18a0bbc552852e49b3bd141addd5a","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.8.2.tgz","fileCount":34,"unpackedSize":233176,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDX0vXdIbv4ep8QpoGh6FoFJBvlqHB0B2w+PEN+O9O76AiEA25M5AX10Wlb98pewM5zSR+N23cBepwqjNCddJKnuFFQ="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models_0.8.2_1519418326611_0.9462996393234766"},"_hasShrinkwrap":false},"0.8.3":{"name":"mobx-decorated-models","version":"0.8.3","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"./script/test","build":"./script/cibuild","prepublish":"./script/prepublish"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"peerDependencies":{"mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babel-eslint":"^7.2.3","babel-jest":"^20.0.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-env":"^1.6.1","eslint":"^4.11.0","eslint-config-argosity":"^1.4.2","jest":"^21.2.1","jest-cli":"^21.2.1","mobx":"^3.3.1","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1","serializr":"^1.1.14"},"dependencies":{},"gitHead":"cc315e658960f554dd3113c02306ad35c2c2cf71","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.8.3","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"integrity":"sha512-e3t1Zs0hSUIRcJdaJz0Hby+ZPCaewHliFFzkwv9KQBwGq6SwnADJkZeX5tZY+k+9ZZqt/FuoTDKITT5uK1P7Zg==","shasum":"e0058985ef43dbc38b4556124dc73b6fada782f4","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.8.3.tgz","fileCount":34,"unpackedSize":283109,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGJDd/VGOz+ZJ/EYWPNFDFhHlExBdnfyNq4cZPBOFqGRAiEAm6HxiDSV0J+zeQmJSW3YjU3B/3mUs2t3no9gh0eZFqM="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models_0.8.3_1519424355812_0.8010376130747612"},"_hasShrinkwrap":false},"0.9.0":{"name":"mobx-decorated-models","version":"0.9.0","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"./script/test","build":"./script/cibuild","prepublish":"./script/prepublish"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"peerDependencies":{"mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babel-eslint":"^7.2.3","babel-jest":"^20.0.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-env":"^1.6.1","eslint":"^4.11.0","eslint-config-argosity":"^1.4.2","jest":"^21.2.1","jest-cli":"^21.2.1","mobx":"^3.3.1","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1","serializr":"^1.1.14"},"dependencies":{},"gitHead":"c060eefcb6f591aa8590ab73fca87c58b1e63440","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.9.0","_npmVersion":"5.6.0","_nodeVersion":"9.7.1","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"integrity":"sha512-354CnRiiliWdQVQw0OO1SMxkwuzdnEWKfCWl+x8WCynQOlLA5kGL6WvEowYLJaV1fW+CRie+OM+VqeMrjTvFkA==","shasum":"4ca0614122049c57bc923f6a9ac33bac0ed2dd15","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.9.0.tgz","fileCount":34,"unpackedSize":290023,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCu6enalJ74rLTbmsuGFwHTDhLwRQ1LW7GzcKbjR3oYZAIgEG/8pRn5P0P3kcj7wMw5c/RR5/Y//YYWAP84k3JrLGY="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models_0.9.0_1521552928523_0.34164045618619676"},"_hasShrinkwrap":false},"0.9.1":{"name":"mobx-decorated-models","version":"0.9.1","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"./script/test","build":"./script/cibuild","prepublish":"./script/prepublish"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"peerDependencies":{"mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babel-eslint":"^7.2.3","babel-jest":"^20.0.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-env":"^1.6.1","eslint":"^4.11.0","eslint-config-argosity":"^1.4.2","jest":"^21.2.1","jest-cli":"^21.2.1","mobx":"^3.3.1","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1","serializr":"^1.1.14"},"dependencies":{},"gitHead":"936a6b621d6922cb06c001c262696ef942b68c15","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.9.1","_npmVersion":"5.6.0","_nodeVersion":"9.7.1","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"integrity":"sha512-/Wx1QWAjRWvz2ExH9C7EZYp/1eSA9E6k7sDWvoOiFSpCu/wBOdaIY6yH0BKzRKfwBns8lIAv0KVD7F0Pu6KL/A==","shasum":"97aa19a8b7ab48e6a5092863caacc6465683234e","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.9.1.tgz","fileCount":34,"unpackedSize":290127,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD22idO969GrD35idHWWrWg02wkDZny5GzuzVXak8+SdgIhAOmjlkz/8v09RjoMrwG2Y4AkIFQtlNTy0EEp+NVvb5ij"}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models_0.9.1_1521555337037_0.23110352384361166"},"_hasShrinkwrap":false},"0.9.2":{"name":"mobx-decorated-models","version":"0.9.2","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"./script/test","build":"./script/cibuild","prepublish":"./script/prepublish"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"peerDependencies":{"mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babel-eslint":"^7.2.3","babel-jest":"^20.0.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-env":"^1.6.1","eslint":"^4.11.0","eslint-config-argosity":"^1.4.2","jest":"^21.2.1","jest-cli":"^21.2.1","mobx":"^3.3.1","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1","serializr":"^1.1.14"},"dependencies":{},"gitHead":"64578c7b5dafc845457f98b6e936062e33ad64b0","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.9.2","_npmVersion":"5.6.0","_nodeVersion":"9.7.1","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"integrity":"sha512-iPkdGgI/zk75+Zffc54p0/kOtN90sCnPf0n6r3MMeI8NXo7pNaPzLl3fTehPim7vmMmj+OWawsiyfVk19ltp5A==","shasum":"17173ce1f0ebf8b0ec23284e654b1360b116428c","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.9.2.tgz","fileCount":34,"unpackedSize":290217,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnprTiIDrtfUjOktN+NSBEcvno9Lw079/7+G0OFWrxZwIhAJ9J0OH1Si9mhNxP1MsyIV99ynJT7eR+MxiNoU3rtrcX"}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models_0.9.2_1521555660459_0.45871390673056456"},"_hasShrinkwrap":false},"0.9.3":{"name":"mobx-decorated-models","version":"0.9.3","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"git+https://github.com/nathanstitt/mobx-decorated-models.git"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"./script/test","build":"./script/cibuild","prepublish":"./script/prepublish"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"peerDependencies":{"mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babel-eslint":"^7.2.3","babel-jest":"^20.0.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-env":"^1.6.1","eslint":"^4.11.0","eslint-config-argosity":"^1.4.2","jest":"^21.2.1","jest-cli":"^21.2.1","mobx":"^3.3.1","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1","serializr":"^1.1.14"},"dependencies":{},"gitHead":"fa1b484bfa194e85febb71840da69710a56a8f33","bugs":{"url":"https://github.com/nathanstitt/mobx-decorated-models/issues"},"homepage":"https://github.com/nathanstitt/mobx-decorated-models#readme","_id":"mobx-decorated-models@0.9.3","_npmVersion":"5.6.0","_nodeVersion":"9.7.1","_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"dist":{"integrity":"sha512-8GYmvP+4uUQLlOjIUt3zzoKc9pIoUUuXAyk+V4pER0Xwe7e7tHxEdkMCJph71c2YIzg6vwnW4i9A2kox6gV3lA==","shasum":"a2be0fe621945509d27b55afbfae6cc8e28d0c3f","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-0.9.3.tgz","fileCount":34,"unpackedSize":291247,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBPRqc0VX7oPip6uCOZ1srfi8bX3tXceSP8dH1Vhr1QWAiEA62jKDF7QUvTlsNdXw1t+QlxCmW8a+F5dyBrx04wVq54="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models_0.9.3_1523646202584_0.9731222964689692"},"_hasShrinkwrap":false},"1.0.0-0":{"name":"mobx-decorated-models","version":"1.0.0-0","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"https://github.com/nathanstitt/mobx-decorated-models"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"./script/test","build":"./script/cibuild","prepublish":"./script/prepublish"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"peerDependencies":{"mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babel-eslint":"^7.2.3","babel-jest":"^20.0.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-env":"^1.6.1","eslint":"^4.11.0","eslint-config-argosity":"^1.4.2","jest":"^21.2.1","jest-cli":"^21.2.1","mobx":"^3.3.1","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1","serializr":"^1.1.14"},"dependencies":{},"readmeFilename":"README.md","readme":"# Decorators for creating model relationships with mobx\n\nmobx-decorated-models is a collection of Javascript decorators to make a classes and their relationships observable and serializable.\n\n[![Build Status](https://travis-ci.org/nathanstitt/mobx-decorated-models.svg?branch=master)](https://travis-ci.org/nathanstitt/mobx-decorated-models)\n\n## Introduction\n\nThis library is a collection of decorators that co-ordinates making\nmodels relate to each other and their fields both observable and serializable.\n\nIt's built on top of two awesome libraries:\n\n[Mobx](https://mobx.js.org) makes state management super simple, but it doesn't offer an opinion on how to get data in and out of the observed data structures.\n\n[Serializr](https://github.com/mobxjs/serializr) takes care of that nicely.\n\nCombining the two libraries isn’t difficult, but then you end up specifing each attribute twice; once so Mobx will observe it, and once to create a schema for Serializr.  Enter mobx-decorated-models.\n\n\n## Example\n\n```javascript\nimport { model, field, session, belongsTo, hasMany, identifier } from 'mobx-decorated-models';\n\n@identifiedBy('box')\nexport class Box {\n    @identifier id;\n    @field width  = 0;\n    @field height = 0;\n    @field depth  = 0;\n    @session tmpContents = 'a bunch of things'\n\n    @computed get volume() {\n        return this.width * this.height * this.depth;\n    }\n\n    @hasMany items;\n    @belongsTo container;\n    @belongsTo({ model: 'address' }) warehouse;\n}\n```\n\nadditional examples used for testing are located in `specs/test-models.js`\n\n```javascript\nboxes = @observable.array([])\nfetch('/my/api/endpoints/boxes/1.json').then(function(response) {\n  boxes.concat(Box.deserialize(response.json()));\n});\n\nconst box = Box.deserialize({ id: 1, width: 2, height: 3, depth: 8 }); // returns an instance of Box\nconsole.log(box.volume);      // => 48\nconsole.log(box.serialize()); // => { id: 1, width: 2, height: 3, depth: 8, items: [] };  note `tmpContents` isn't serialized\n```\n\n## Controlling model lookups\n\nThe class `@identifiedBy` accepts a unique string that should be used  as a lookup key so\nthat `hasMany` and `belongsTo` relationships can be established.\n\nThis allows things like the below mappings to still work even though the two files can't easily include each other:\n\n\n```javascript\n// chair.js\n\nimport { identifiedBy, belongsTo } from 'mobx-decorated-models';\n\n@identifiedBy('chair')\nclass Chair {\n    belongsTo 'table'\n}\n\n\n// table.js\nimport { identifiedBy, hasMany } from 'mobx-decorated-models';\n\n@identifiedBy('table')\nclass Table {\n    hasMany({ model: 'chair' }) 'seats'\n}\n```\n\n## Collections\n\nThe same logic that is used for hasMany can also build a stand-alone collection.  Collections built this way are instances of mobx `observable.array` with an interceptor that converts assigment into model creation.\n\nA collecton can be created like so:\n\n```javascript\nimport { createCollection } from 'mobx-decorated-models';\n\nclass Foo {\n    constructor(attrs) { Object.assign(this, attrs); }\n    myName() { return this.name; }\n}\n\nconst collection = createCollection({ model: Foo });\ncollection.push({ name: 'bar' });\ncollection[0].myName(); // will return \"bar\", since it's coerced into an instance of Foo\n```\n\nNote that the \"model\" objects a collection is set to do not have to be decorated by the `@identifiedBy` decorator if they're given directly as shown in the exmple above.  However if they were, then the identifier could be given to 'model' instead of the class.\n\n## Decorators\n\n### identifiedBy('identifier')\n\nMarks a class as serializable.\n\nIt adds a few convenience methods to classes:\n\n * static `deserialize` method.  Used to turn JSON structure into a model (or collection of models)\n * a read-only static `identifiedBy` value that matches the string provided to the decorator\n * an `update` method.  Updates a model's attributes and child associations.\n * `serialize`.  Converts the model's attributes and it's associations to JSON.\n\nIt’s primary purpose is to remember classes for hasMany/belongsTo lookups.  This allows the associations to refer to models without having to load them.  Often models will refer to one another, making it difficult for each of them obtain a direct reference.\n\n### identifier\n\nThe primary key for the model\n\n### field\n\nmarks a class property as observable and serializable.\n\nThe type of field can be set to `array` or `object`, or `date` by specifying options.  For other types, a `model` option can be given or a custom serialization type used.\n\n*example:*\n@identifiedBy('bar')\nclass Bar {\n  static serialize(bar) {\n    return bar ? 'BAR' : null;\n  }\n}\n\n```javascript\n@identifiedBy('foo')\nclass Foo {\n  @field({ type: 'object' }) options; // will default to an observable map\n  @field({ type: 'array'  }) tags;    // defaults to []\n  @field({ type: 'date'   }) occured; // no default value is set\n  @field({ model: 'bar'   }) bar;\n}\n\nconst foo = new Foo();\nfoo.update({ occured: '2013-10-21T13:28:06.419Z', bar: '123' }); // bar doesn't actually store anything\nconsole.log(foo.occured); // Mon Oct 21 2013 08:28:06 GMT-0500 (CDT), provided you're in CDT :)\nfoo.tags.push('one');\nfoo.options.set('one', 1);\nfoo.serialize(); // => { tags: ['one'], options: { one: 1 }, occured: '2013-10-21T13:28:06.419Z', bar: 'BAR' }\n```\n\n\n### session\n\nSession fields are useful for storing data that should not be persisted.\n\nThey're write-only, meaning they're updated by the `deserialize` static method and `update()` instance method, but are not included in the JSON generated by `serialize()`\n\n\n*example:*\n\n```javascript\n@identifiedBy('user')\nclass User {\n    @field id;\n    @session isLoggedIn;\n}\n\nconst user = new User();\nuser.update({ id: 1234, isLoggedIn: true });\nuser.serialize(); // => { id: 1234 }; // note the \"isLoggedIn\" property is ommited\n```\n\n### belongsTo\n\nMakes a property as referring to another model.  Will map to\nthe referenced class based on it's identifiedBy and the property name, i.e. a property named `box` will\nlook for a class identified by `box`.\n\nOptionally can be given an option object with a `model` property to control the mapping.\n\n`model` can be either a string which matches a value given to the identifiedBy decorator, or a reference to the model itself.\n\n*example:*\n\n```javascript\n@identifiedBy('person')\nclass Person({\n    @identifier id;\n    @field name;\n    // finds a model that was set to use the id `pants` by it's decorator\n    @belongsTo({ model: 'pants', inverseOf: 'owner' }) outfit;\n    speak(msg) {\n        console.log(`${this.name} says: ${msg}`);\n    }\n})\n\n@identifiedBy('pants')\nclass Pants {\n  @session color;\n  @belongsTo({ model: Person }) owner; // no lookup, will just use the class `Person`\n}\n```\n\nCan be given a `inverseOf` which will set auto set this property to it's parent when it's deserialized.\n\nFor instance the Pants model above will have it's owner property set to the \"Ralph\" Person model:\n\n```javascript\nPerson.deserialize({\n    id: 1, name: 'Ralph', outfit: { color: 'RED' }\n})\n```\n\nAn interceptor is installed that will convert bare objects to a model.  In the example below, the owner will be set to an instance of Person\n\n```javascript\nconst pants = new Pants();\npants.owner = { id: 1, name: 'Jimmy' };\n\npants.owner.speak(\"Hello World!\"); // Jimmy says: Hello World\n```\n\n\n**Note**: When using `inverseOf`, the auto-set property is not serialized in order to prevent circular references.\n\n### hasMany\n\nMarks a property as belonging to an mobx observable array of models.\n\nSets the default value to an empty observable array\n\nAs in `belongsTo`, can be optionally given an option object with a `model` property to control the mapping.\n\n`hasMany` also accepts `inverseOf` and `defaults` properties.  If an inverseOf is provided,\nwhen a model is added to the array, it will have the property named by `inverseOf` to the parent model\n\nIf `defaults` are provided the new model's attributes will be defaulted to them.  `defaults` may\nalso be a function, which will be called and it's return values used.\n\nAn `extend` property can be provided.  If `extend` is a function it will called with the collection whenever one is created.  If `extend` is an object, it's properties will be copied onto the collection.\n\nLike `belongsTo`, `hasMany` also converts object assignment to a model\n\n```javascript\n@identifiedBy('tire')\nclass Tire {\n    @session radius;\n    @belongsTo vehicle; // will be autoset by the `inverseOf: auto` on Car\n}\n\n// will be mixed into Car's tires assocation, so one could call: car.tires.areEqualSize()\nconst TireHelpers = {\n    areEqualSize() {\n        return this.every(t => t.radius === this[0]);\n    }\n};\n\n@identifiedBy('car')\nclass Car {\n    @belongsTo home;\n    @session color;\n    @hasMany({ model: 'Tire', inverseOf: 'vehicle', defaults: {radius: 17}, extend: TireHelpers }) tires;\n}\n\n@identifiedBy('garage')\nclass Garage {\n    @session owner;\n    @hasMany({\n        model: 'Car',\n        inverseOf: 'home',\n        defaults(collection, parent) {\n            return { color: this.owner.favoriteColor };\n        }\n    }) cars;\n}\n```\n\n##  Custom serialization\n\nCustom serialize/deserialize behaviour can be implemented by registering a custom 'type'.\n\nThe object that's configured for a type must have two methods `serialize` and `deserialize`.\n\nAn example of a value that should is stored as a string but is more convenient to access as a float.\n\n```javascript\nimport { registerCustomType, identifiedBy, identifier, field } from 'mobx-decorated-models';\n\nregisterCustomType('cargo', {\n    serialize(cargo) {\n        return String(cargo);\n    },\n    deserialize(count) {\n        return parseFloat(count);\n    },\n});\n\n@identifiedBy('boat')\nexport class Ship {\n    @identifier name;\n\n    @field({ type: cargoSerializer }) cargo;\n}\n\nconst boat = Ship.deserialize({ id: 1, cargo: '3.1415' });\nboat.cargo // 3.14159\nboat.serialize() // { id: 1, cargo: \"3.1415\" }\n```\n\n**Note**: The above example does not deal with null/undefined or perform any validation. Real type handlers should deal with unexpected values.\n\n## unresolvedAssociations\n\nmobx-decorated-models attempts to do lazy lookups for the model that **hasMany** and **belongsTo** should use.  In order to do so, it keeps track of associations that are not immediatly resolved in the hope that the model for them will be decorated with **@identifiedBy** later.\n\nHowever if the model is never decorated the association will continue to be set to a plain observable.object.\n\nProperties that are not resolved can be listed using the `unresolvedAssociations` method, which will return an array of object with model and property keys.\n\n**Example:**\n```javascript\n\nimport { model, field, session, belongsTo, hasMany, identifier } from 'mobx-decorated-models';\n\n@identifiedBy('shape')\nclass Parallelogram {\n\n}\n\n@identifiedBy('box')\nclass Box {\n    hasMany sides;\n}\n\nunresolvedAssociations().forEach(({ model, property }) => {\n    console.log(`The model for ${model.identifiedBy}(${property}) cannot be found`);\n});\n\n// outputs: The model for box(sides) cannot be found\n```\n","_id":"mobx-decorated-models@1.0.0-0","dist":{"shasum":"05bcdbfc96fc51394ce79309d659303ba8e0d64e","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-1.0.0-0.tgz","fileCount":39,"unpackedSize":379903,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa0sMsCRA9TVsSAnZWagAAINcP/jWCHkp0FIMRDf4VKpPM\nJKmQ1a1fZsFAVSChJ9c9eZVeac1sHUAtO88jKtfHLifh+u3UagXwyB6Lpz/C\nFHFVUSVf4aqwG3DaSY/K2ugxstzGPtggtrOC4cv0gtU54fPLmm4wyuBhQUZB\n2+kOrQvCo1HV/vBz5pRmw3EJbn+ZO1WjFWiTA1IWVombHnH8D9uTR+OLZUWO\n82ZvYs3HJC187POBgQI2fgawgEdM/BDUFzUlGmNUSr1YO6nNP0wvlS8O54/N\nlxGIH2g47kneO0wgsFg52UU/ATWt0vN9FJ05SwK8Qj7mao0p7rQNKxoQnhhO\n3M2nMpAZ4XG5Ft6sNjjv7CKGLM40luyW7vTc99Smr+DqDhiMxjxByforGGKQ\n2Va8kpIYyZOkPzYDFIw3bAP38pWTyNpagrfmFGXLi/s46LD1izfgJB3AkvL1\nfsAyHk+SbhKhS0Cv/FDjjt9irRw8/HRPvM8ZLAcV/H7mqYQxlPJEia651TlP\nv3fEFr+WwXK4Upendh7LoX/yqOqH+eGs9SJE5QpkfCbwKRyCNXRw8vD1p94d\neb9dxEy9eYC4MxdccpQ7W9QzY+QVXyio5I6N7er80Q6K43sElc7sHdb8T67+\nUl7ALcc9B02xNJPhW2d/2ZlgiE3Vrry7ofM7HYWxHin56Edc9Zy89yAphuP1\nrMKL\r\n=TBpb\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-Sq+ahIBKbnpiLvMI2F0B0ZihyjKHscx1ALhb7am/ENA0rySRVP/7oOQOV/oPAbcKCc2AayFOAtg3DZ/s+7oO0A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBbfGrAXBrvPMsBPRSO1ZNtdqFKocy8OQUI8V3s6sthXAiBZ53hWJNQEjXH+K+pl2Gc/t3ZBp4YFyBYGRP8iYclm8w=="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models_1.0.0-0_1523761962528_0.7720547430329567"},"_hasShrinkwrap":false},"1.0.0-1":{"name":"mobx-decorated-models","version":"1.0.0-1","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"https://github.com/nathanstitt/mobx-decorated-models"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"./script/test","build":"./script/cibuild","prepublish":"./script/prepublish"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"peerDependencies":{"mobx":"^3.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babel-eslint":"^7.2.3","babel-jest":"^20.0.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-env":"^1.6.1","eslint":"^4.11.0","eslint-config-argosity":"^1.4.2","jest":"^21.2.1","jest-cli":"^21.2.1","mobx":"^3.3.1","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1","serializr":"^1.1.14"},"dependencies":{},"readmeFilename":"README.md","readme":"# Decorators for creating model relationships with mobx\n\nmobx-decorated-models is a collection of Javascript decorators to make a classes and their relationships observable and serializable.\n\n[![Build Status](https://travis-ci.org/nathanstitt/mobx-decorated-models.svg?branch=master)](https://travis-ci.org/nathanstitt/mobx-decorated-models)\n\n## Introduction\n\nThis library is a collection of decorators that co-ordinates making\nmodels relate to each other and their fields both observable and serializable.\n\nIt's built on top of two awesome libraries:\n\n[Mobx](https://mobx.js.org) makes state management super simple, but it doesn't offer an opinion on how to get data in and out of the observed data structures.\n\n[Serializr](https://github.com/mobxjs/serializr) takes care of that nicely.\n\nCombining the two libraries isn’t difficult, but then you end up specifing each attribute twice; once so Mobx will observe it, and once to create a schema for Serializr.  Enter mobx-decorated-models.\n\n\n## Example\n\n```javascript\nimport { model, field, session, belongsTo, hasMany, identifier } from 'mobx-decorated-models';\n\n@identifiedBy('box')\nexport class Box {\n    @identifier id;\n    @field width  = 0;\n    @field height = 0;\n    @field depth  = 0;\n    @session tmpContents = 'a bunch of things'\n\n    @computed get volume() {\n        return this.width * this.height * this.depth;\n    }\n\n    @hasMany items;\n    @belongsTo container;\n    @belongsTo({ model: 'address' }) warehouse;\n}\n```\n\nadditional examples used for testing are located in `specs/test-models.js`\n\n```javascript\nboxes = @observable.array([])\nfetch('/my/api/endpoints/boxes/1.json').then(function(response) {\n  boxes.concat(Box.deserialize(response.json()));\n});\n\nconst box = Box.deserialize({ id: 1, width: 2, height: 3, depth: 8 }); // returns an instance of Box\nconsole.log(box.volume);      // => 48\nconsole.log(box.serialize()); // => { id: 1, width: 2, height: 3, depth: 8, items: [] };  note `tmpContents` isn't serialized\n```\n\n## Controlling model lookups\n\nThe class `@identifiedBy` accepts a unique string that should be used  as a lookup key so\nthat `hasMany` and `belongsTo` relationships can be established.\n\nThis allows things like the below mappings to still work even though the two files can't easily include each other:\n\n\n```javascript\n// chair.js\n\nimport { identifiedBy, belongsTo } from 'mobx-decorated-models';\n\n@identifiedBy('chair')\nclass Chair {\n    belongsTo 'table'\n}\n\n\n// table.js\nimport { identifiedBy, hasMany } from 'mobx-decorated-models';\n\n@identifiedBy('table')\nclass Table {\n    hasMany({ model: 'chair' }) 'seats'\n}\n```\n\n## Collections\n\nThe same logic that is used for hasMany can also build a stand-alone collection.  Collections built this way are instances of mobx `observable.array` with an interceptor that converts assigment into model creation.\n\nA collecton can be created like so:\n\n```javascript\nimport { createCollection } from 'mobx-decorated-models';\n\nclass Foo {\n    constructor(attrs) { Object.assign(this, attrs); }\n    myName() { return this.name; }\n}\n\nconst collection = createCollection({ model: Foo });\ncollection.push({ name: 'bar' });\ncollection[0].myName(); // will return \"bar\", since it's coerced into an instance of Foo\n```\n\nNote that the \"model\" objects a collection is set to do not have to be decorated by the `@identifiedBy` decorator if they're given directly as shown in the exmple above.  However if they were, then the identifier could be given to 'model' instead of the class.\n\n## Decorators\n\n### identifiedBy('identifier')\n\nMarks a class as serializable.\n\nIt adds a few convenience methods to classes:\n\n * static `deserialize` method.  Used to turn JSON structure into a model (or collection of models)\n * a read-only static `identifiedBy` value that matches the string provided to the decorator\n * an `update` method.  Updates a model's attributes and child associations.\n * `serialize`.  Converts the model's attributes and it's associations to JSON.\n\nIt’s primary purpose is to remember classes for hasMany/belongsTo lookups.  This allows the associations to refer to models without having to load them.  Often models will refer to one another, making it difficult for each of them obtain a direct reference.\n\n### identifier\n\nThe primary key for the model\n\n### field\n\nmarks a class property as observable and serializable.\n\nThe type of field can be set to `array` or `object`, or `date` by specifying options.  For other types, a `model` option can be given or a custom serialization type used.\n\n*example:*\n@identifiedBy('bar')\nclass Bar {\n  static serialize(bar) {\n    return bar ? 'BAR' : null;\n  }\n}\n\n```javascript\n@identifiedBy('foo')\nclass Foo {\n  @field({ type: 'object' }) options; // will default to an observable map\n  @field({ type: 'array'  }) tags;    // defaults to []\n  @field({ type: 'date'   }) occured; // no default value is set\n  @field({ model: 'bar'   }) bar;\n}\n\nconst foo = new Foo();\nfoo.update({ occured: '2013-10-21T13:28:06.419Z', bar: '123' }); // bar doesn't actually store anything\nconsole.log(foo.occured); // Mon Oct 21 2013 08:28:06 GMT-0500 (CDT), provided you're in CDT :)\nfoo.tags.push('one');\nfoo.options.set('one', 1);\nfoo.serialize(); // => { tags: ['one'], options: { one: 1 }, occured: '2013-10-21T13:28:06.419Z', bar: 'BAR' }\n```\n\n\n### session\n\nSession fields are useful for storing data that should not be persisted.\n\nThey're write-only, meaning they're updated by the `deserialize` static method and `update()` instance method, but are not included in the JSON generated by `serialize()`\n\n\n*example:*\n\n```javascript\n@identifiedBy('user')\nclass User {\n    @field id;\n    @session isLoggedIn;\n}\n\nconst user = new User();\nuser.update({ id: 1234, isLoggedIn: true });\nuser.serialize(); // => { id: 1234 }; // note the \"isLoggedIn\" property is ommited\n```\n\n### belongsTo\n\nMakes a property as referring to another model.  Will map to\nthe referenced class based on it's identifiedBy and the property name, i.e. a property named `box` will\nlook for a class identified by `box`.\n\nOptionally can be given an option object with a `model` property to control the mapping.\n\n`model` can be either a string which matches a value given to the identifiedBy decorator, or a reference to the model itself.\n\n*example:*\n\n```javascript\n@identifiedBy('person')\nclass Person({\n    @identifier id;\n    @field name;\n    // finds a model that was set to use the id `pants` by it's decorator\n    @belongsTo({ model: 'pants', inverseOf: 'owner' }) outfit;\n    speak(msg) {\n        console.log(`${this.name} says: ${msg}`);\n    }\n})\n\n@identifiedBy('pants')\nclass Pants {\n  @session color;\n  @belongsTo({ model: Person }) owner; // no lookup, will just use the class `Person`\n}\n```\n\nCan be given a `inverseOf` which will set auto set this property to it's parent when it's deserialized.\n\nFor instance the Pants model above will have it's owner property set to the \"Ralph\" Person model:\n\n```javascript\nPerson.deserialize({\n    id: 1, name: 'Ralph', outfit: { color: 'RED' }\n})\n```\n\nAn interceptor is installed that will convert bare objects to a model.  In the example below, the owner will be set to an instance of Person\n\n```javascript\nconst pants = new Pants();\npants.owner = { id: 1, name: 'Jimmy' };\n\npants.owner.speak(\"Hello World!\"); // Jimmy says: Hello World\n```\n\n\n**Note**: When using `inverseOf`, the auto-set property is not serialized in order to prevent circular references.\n\n### hasMany\n\nMarks a property as belonging to an mobx observable array of models.\n\nSets the default value to an empty observable array\n\nAs in `belongsTo`, can be optionally given an option object with a `model` property to control the mapping.\n\n`hasMany` also accepts `inverseOf` and `defaults` properties.  If an inverseOf is provided,\nwhen a model is added to the array, it will have the property named by `inverseOf` to the parent model\n\nIf `defaults` are provided the new model's attributes will be defaulted to them.  `defaults` may\nalso be a function, which will be called and it's return values used.\n\nAn `extend` property can be provided.  If `extend` is a function it will called with the collection whenever one is created.  If `extend` is an object, it's properties will be copied onto the collection.\n\nLike `belongsTo`, `hasMany` also converts object assignment to a model\n\n```javascript\n@identifiedBy('tire')\nclass Tire {\n    @session radius;\n    @belongsTo vehicle; // will be autoset by the `inverseOf: auto` on Car\n}\n\n// will be mixed into Car's tires assocation, so one could call: car.tires.areEqualSize()\nconst TireHelpers = {\n    areEqualSize() {\n        return this.every(t => t.radius === this[0]);\n    }\n};\n\n@identifiedBy('car')\nclass Car {\n    @belongsTo home;\n    @session color;\n    @hasMany({ model: 'Tire', inverseOf: 'vehicle', defaults: {radius: 17}, extend: TireHelpers }) tires;\n}\n\n@identifiedBy('garage')\nclass Garage {\n    @session owner;\n    @hasMany({\n        model: 'Car',\n        inverseOf: 'home',\n        defaults(collection, parent) {\n            return { color: this.owner.favoriteColor };\n        }\n    }) cars;\n}\n```\n\n##  Custom serialization\n\nCustom serialize/deserialize behaviour can be implemented by registering a custom 'type'.\n\nThe object that's configured for a type must have two methods `serialize` and `deserialize`.\n\nAn example of a value that should is stored as a string but is more convenient to access as a float.\n\n```javascript\nimport { registerCustomType, identifiedBy, identifier, field } from 'mobx-decorated-models';\n\nregisterCustomType('cargo', {\n    serialize(cargo) {\n        return String(cargo);\n    },\n    deserialize(count) {\n        return parseFloat(count);\n    },\n});\n\n@identifiedBy('boat')\nexport class Ship {\n    @identifier name;\n\n    @field({ type: cargoSerializer }) cargo;\n}\n\nconst boat = Ship.deserialize({ id: 1, cargo: '3.1415' });\nboat.cargo // 3.14159\nboat.serialize() // { id: 1, cargo: \"3.1415\" }\n```\n\n**Note**: The above example does not deal with null/undefined or perform any validation. Real type handlers should deal with unexpected values.\n\n## unresolvedAssociations\n\nmobx-decorated-models attempts to do lazy lookups for the model that **hasMany** and **belongsTo** should use.  In order to do so, it keeps track of associations that are not immediatly resolved in the hope that the model for them will be decorated with **@identifiedBy** later.\n\nHowever if the model is never decorated the association will continue to be set to a plain observable.object.\n\nProperties that are not resolved can be listed using the `unresolvedAssociations` method, which will return an array of object with model and property keys.\n\n**Example:**\n```javascript\n\nimport { model, field, session, belongsTo, hasMany, identifier } from 'mobx-decorated-models';\n\n@identifiedBy('shape')\nclass Parallelogram {\n\n}\n\n@identifiedBy('box')\nclass Box {\n    hasMany sides;\n}\n\nunresolvedAssociations().forEach(({ model, property }) => {\n    console.log(`The model for ${model.identifiedBy}(${property}) cannot be found`);\n});\n\n// outputs: The model for box(sides) cannot be found\n```\n","_id":"mobx-decorated-models@1.0.0-1","dist":{"shasum":"9016dac144a369ef605b98fe16836cfa04bd2ba9","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-1.0.0-1.tgz","fileCount":39,"unpackedSize":379691,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa1BBiCRA9TVsSAnZWagAAL94P/jcVy9HNX4lij/lcvRzZ\nMvG0OKjvxFeulXDqQxtQO3+MsTwCGKq8+8o3j5zUlSVcUvkyyJDrpdbXYrJc\n+Wx5upYp/7J1M78SzCiKe464fCHDTIaCXLwC2jbzUm8aSVQQegjo7njilsWi\nKAJRiddSnyVLvzqPmkIAf4Dt4QV9TasRON9yQAedU5AN5JlkSpsCOeWcXouJ\naj3RcFVd+67tzoKSvxylnIkuoija0JCABA41IkD77fXagSR0SvS3NV49+PaS\nHOIAozWKUlqGj/mfRU9hthEWWozO0ifQnUT0f7kO1s5Ab1hxJXs1TMMp49Xz\nrKQ7fNePbx4qXyWAbYk93cKUII+md67cP7VbJigNFlyjRkSPiKHVGS8XuSj4\nRhd2MXJ/Lo62DrMBDoDTItnuixUnZjvhZj3V0+w8uXzel5AlEr+DpS459+yd\nIZ4BAOBH7n93neQ+mMqMnPic/zK7qOkV51XKszbd/5ui5Ift3I0f9xlqaf+6\nJArSJlUFNSSuqxBXvC7IHLuXD9msehtUHI3ZlZnoLKp1Pr0w2qHnyN21hVw7\nBB8fBwZyXKK5Ma11+wOOxxPMy1YSRb654tQHENM8d0H/54AYfhBJ64w9x8oy\nccw8sT4eoWZ2YlxfFx1GFckcLhKog9JJq7Heqd3tvEb2Q3DtMFA9fNiow9tv\nCzff\r\n=zLvo\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-g4A3vCUHj22o05d/DdhL/k3Cca32jiCq+B29T/qQE79azqbgXr8RADJIixd0KTzxPGV0bCIKfWVfyoakEDTtJw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEL1xi4QgE5XO8ieKXR9/dLCTgGJ649uEm/TVsJA8bJtAiB6wRvoyKZ3dUkjl2iPduk0eB5zR0BJgFlAwBIzipMFTQ=="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models_1.0.0-1_1523847265758_0.4735362491113091"},"_hasShrinkwrap":false},"1.0.0":{"name":"mobx-decorated-models","version":"1.0.0","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"https://github.com/nathanstitt/mobx-decorated-models"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"./script/test","build":"./script/cibuild","prepublish":"./script/prepublish"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"peerDependencies":{"mobx":"^3.0 || ^4.0","serializr":"^1.1"},"devDependencies":{"babel":"^6.5.2","babel-eslint":"^7.2.3","babel-jest":"^20.0.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-env":"^1.6.1","eslint":"^4.11.0","eslint-config-argosity":"^1.4.2","jest":"^21.2.1","jest-cli":"^21.2.1","mobx":"^3.3.1","rollup":"^0.43.0","rollup-plugin-babel":"^2.7.1","serializr":"^1.1.14"},"dependencies":{},"_id":"mobx-decorated-models@1.0.0","dist":{"shasum":"79ac196ff40b94789fe051d028e4e849d4332f7b","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-1.0.0.tgz","fileCount":39,"unpackedSize":379695,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa4TQsCRA9TVsSAnZWagAABf4P/iSCaehGN3vaul6rKVct\nkLSpuazkKkbyeAWIe4zVp/0XiBimw5obQyI6Ch7lRVJU1XLb0Ze1LSzqYwZW\nMFBcvvYy3/uK34O5PYg7caBj5zWurW0Gmdq5dkDJ2vmJpNHmf0xT1TC/VFe6\nYFNex6P2Ba02twFzB1IPSrCZtNSLXBMmz8sRtPWVAmg7p5nK2EHL6+y0vJc0\n19E++39ON2NvGTu9Dr0jJYzqbMr4OXF0B/iB69nyf1tS1RwRKIs9PTJG3Jca\n3SUNnLo8cuY5i4nVlyhiHtU4+73I4bRGbvGroUvphFtVgxMrST5d/FmAvkKu\nU02zaQoBh5e3YYQeTh+0li4FVWrOP2g1mluRvMEZNCZpELwK2rBdN3qnHU7O\ncViy204+D1i94SgQdsWSFsYC6jU55GcYkQRequkBuAVmaw0VLs3aiIQr8cl6\nyoY1jWSz8v3Y7XPAdBx8C9pWMKunTgPnzu7/vYr9at4Co3SqlCFdmq8Oz3Dc\n5xnKnZdjRhBkw9drC4aQzJvHQ88TfZEbMO8dtOJLrAQ6qJga11Wa4ZluDvFP\nYgcMzXq2+l6JfoP9xyX9uBV9KCQxLvN531R7n4812cQ3Y5jPUstD5YNLORzy\n6lp8tdKBOPJ/OLXWKGqUdWadjzi1YNS/vjGb7c+edqh6hL9WqPS1buX5pEu7\nnBnV\r\n=giLd\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-y68+RW/SIaC2nXz+fav4MtzjS2OU+4k8xqFfACQmmOP7IpfjaI+ezIa7kPUvbcKNF/ggmvR/+Bv3kpSYT7Arkg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBPoBtSIg39K+ORknTgDGLkf4tYYLUEd9Gi0KZlnUZOGAiEAxLwANF0IKA3nH/Nk3d257vnbvJhnILjOsbL0WwhuJPM="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models_1.0.0_1524708395280_0.5137931053714919"},"_hasShrinkwrap":false},"1.1.0-0":{"name":"mobx-decorated-models","version":"1.1.0-0","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"https://github.com/nathanstitt/mobx-decorated-models"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"jest","build":"./script/cibuild","publish":"np","prepublish":"./script/prepublish"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"peerDependencies":{"mobx":"^3.0 || ^4.0","serializr":"^1.1"},"devDependencies":{"@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-decorators":"^7.1.2","@babel/preset-env":"^7.1.0","babel7-jest":"^1.0.1","eslint":"^5.7.0","eslint-config-argosity":"^1.6.0","jest":"^23.6.0","jest-cli":"^23.6.0","mobx":"^5.5.2","rollup":"^0.66.6","rollup-plugin-babel":"^4.0.3","serializr":"^1.3.0"},"dependencies":{},"readmeFilename":"README.md","readme":"# Decorators for creating model relationships with mobx\n\nmobx-decorated-models is a collection of Javascript decorators to make a classes and their relationships observable and serializable.\n\n[![Build Status](https://travis-ci.org/nathanstitt/mobx-decorated-models.svg?branch=master)](https://travis-ci.org/nathanstitt/mobx-decorated-models)\n\n## Introduction\n\nThis library is a collection of decorators that co-ordinates making\nmodels relate to each other and their fields both observable and serializable.\n\nIt's built on top of two awesome libraries:\n\n[Mobx](https://mobx.js.org) makes state management super simple, but it doesn't offer an opinion on how to get data in and out of the observed data structures.\n\n[Serializr](https://github.com/mobxjs/serializr) takes care of that nicely.\n\nCombining the two libraries isn’t difficult, but then you end up specifing each attribute twice; once so Mobx will observe it, and once to create a schema for Serializr.  Enter mobx-decorated-models.\n\n\n## Example\n\n```javascript\nimport { model, field, session, belongsTo, hasMany, identifier } from 'mobx-decorated-models';\n\n@identifiedBy('box')\nexport class Box {\n    @identifier id;\n    @field width  = 0;\n    @field height = 0;\n    @field depth  = 0;\n    @session tmpContents = 'a bunch of things'\n\n    @computed get volume() {\n        return this.width * this.height * this.depth;\n    }\n\n    @hasMany items;\n    @belongsTo container;\n    @belongsTo({ model: 'address' }) warehouse;\n}\n```\n\nadditional examples used for testing are located in `specs/test-models.js`\n\n```javascript\nboxes = @observable.array([])\nfetch('/my/api/endpoints/boxes/1.json').then(function(response) {\n  boxes.concat(Box.deserialize(response.json()));\n});\n\nconst box = Box.deserialize({ id: 1, width: 2, height: 3, depth: 8 }); // returns an instance of Box\nconsole.log(box.volume);      // => 48\nconsole.log(box.serialize()); // => { id: 1, width: 2, height: 3, depth: 8, items: [] };  note `tmpContents` isn't serialized\n```\n\n## Controlling model lookups\n\nThe class `@identifiedBy` accepts a unique string that should be used  as a lookup key so\nthat `hasMany` and `belongsTo` relationships can be established.\n\nThis allows things like the below mappings to still work even though the two files can't easily include each other:\n\n\n```javascript\n// chair.js\n\nimport { identifiedBy, belongsTo } from 'mobx-decorated-models';\n\n@identifiedBy('chair')\nclass Chair {\n    belongsTo 'table'\n}\n\n\n// table.js\nimport { identifiedBy, hasMany } from 'mobx-decorated-models';\n\n@identifiedBy('table')\nclass Table {\n    hasMany({ model: 'chair' }) 'seats'\n}\n```\n\n## Collections\n\nThe same logic that is used for hasMany can also build a stand-alone collection.  Collections built this way are instances of mobx `observable.array` with an interceptor that converts assigment into model creation.\n\nA collecton can be created like so:\n\n```javascript\nimport { createCollection } from 'mobx-decorated-models';\n\nclass Foo {\n    constructor(attrs) { Object.assign(this, attrs); }\n    myName() { return this.name; }\n}\n\nconst collection = createCollection({ model: Foo });\ncollection.push({ name: 'bar' });\ncollection[0].myName(); // will return \"bar\", since it's coerced into an instance of Foo\n```\n\nNote that the \"model\" objects a collection is set to do not have to be decorated by the `@identifiedBy` decorator if they're given directly as shown in the exmple above.  However if they were, then the identifier could be given to 'model' instead of the class.\n\n## Decorators\n\n### identifiedBy('identifier')\n\nMarks a class as serializable.\n\nIt adds a few convenience methods to classes:\n\n * static `deserialize` method.  Used to turn JSON structure into a model (or collection of models)\n * a read-only static `identifiedBy` value that matches the string provided to the decorator\n * an `update` method.  Updates a model's attributes and child associations.\n * `serialize`.  Converts the model's attributes and it's associations to JSON.\n\nIt’s primary purpose is to remember classes for hasMany/belongsTo lookups.  This allows the associations to refer to models without having to load them.  Often models will refer to one another, making it difficult for each of them obtain a direct reference.\n\n### identifier\n\nThe primary key for the model\n\n### field\n\nmarks a class property as observable and serializable.\n\nThe type of field can be set to `array` or `object`, or `date` by specifying options.  For other types, a `model` option can be given or a custom serialization type used.\n\n*example:*\n@identifiedBy('bar')\nclass Bar {\n  static serialize(bar) {\n    return bar ? 'BAR' : null;\n  }\n}\n\n```javascript\n@identifiedBy('foo')\nclass Foo {\n  @field({ type: 'object' }) options; // will default to an observable map\n  @field({ type: 'array'  }) tags;    // defaults to []\n  @field({ type: 'date'   }) occured; // no default value is set\n  @field({ model: 'bar'   }) bar;\n}\n\nconst foo = new Foo();\nfoo.update({ occured: '2013-10-21T13:28:06.419Z', bar: '123' }); // bar doesn't actually store anything\nconsole.log(foo.occured); // Mon Oct 21 2013 08:28:06 GMT-0500 (CDT), provided you're in CDT :)\nfoo.tags.push('one');\nfoo.options.set('one', 1);\nfoo.serialize(); // => { tags: ['one'], options: { one: 1 }, occured: '2013-10-21T13:28:06.419Z', bar: 'BAR' }\n```\n\n\n### session\n\nSession fields are useful for storing data that should not be persisted.\n\nThey're write-only, meaning they're updated by the `deserialize` static method and `update()` instance method, but are not included in the JSON generated by `serialize()`\n\n\n*example:*\n\n```javascript\n@identifiedBy('user')\nclass User {\n    @field id;\n    @session isLoggedIn;\n}\n\nconst user = new User();\nuser.update({ id: 1234, isLoggedIn: true });\nuser.serialize(); // => { id: 1234 }; // note the \"isLoggedIn\" property is ommited\n```\n\n### belongsTo\n\nMakes a property as referring to another model.  Will map to\nthe referenced class based on it's identifiedBy and the property name, i.e. a property named `box` will\nlook for a class identified by `box`.\n\nOptionally can be given an option object with a `model` property to control the mapping.\n\n`model` can be either a string which matches a value given to the identifiedBy decorator, or a reference to the model itself.\n\n*example:*\n\n```javascript\n@identifiedBy('person')\nclass Person({\n    @identifier id;\n    @field name;\n    // finds a model that was set to use the id `pants` by it's decorator\n    @belongsTo({ model: 'pants', inverseOf: 'owner' }) outfit;\n    speak(msg) {\n        console.log(`${this.name} says: ${msg}`);\n    }\n})\n\n@identifiedBy('pants')\nclass Pants {\n  @session color;\n  @belongsTo({ model: Person }) owner; // no lookup, will just use the class `Person`\n}\n```\n\nCan be given a `inverseOf` which will set auto set this property to it's parent when it's deserialized.\n\nFor instance the Pants model above will have it's owner property set to the \"Ralph\" Person model:\n\n```javascript\nPerson.deserialize({\n    id: 1, name: 'Ralph', outfit: { color: 'RED' }\n})\n```\n\nAn interceptor is installed that will convert bare objects to a model.  In the example below, the owner will be set to an instance of Person\n\n```javascript\nconst pants = new Pants();\npants.owner = { id: 1, name: 'Jimmy' };\n\npants.owner.speak(\"Hello World!\"); // Jimmy says: Hello World\n```\n\n\n**Note**: When using `inverseOf`, the auto-set property is not serialized in order to prevent circular references.\n\n### hasMany\n\nMarks a property as belonging to an mobx observable array of models.\n\nSets the default value to an empty observable array\n\nAs in `belongsTo`, can be optionally given an option object with a `model` property to control the mapping.\n\n`hasMany` also accepts `inverseOf` and `defaults` properties.  If an inverseOf is provided,\nwhen a model is added to the array, it will have the property named by `inverseOf` to the parent model\n\nIf `defaults` are provided the new model's attributes will be defaulted to them.  `defaults` may\nalso be a function, which will be called and it's return values used.\n\nAn `extend` property can be provided.  If `extend` is a function it will called with the collection whenever one is created.  If `extend` is an object, it's properties will be copied onto the collection.\n\nLike `belongsTo`, `hasMany` also converts object assignment to a model\n\n```javascript\n@identifiedBy('tire')\nclass Tire {\n    @session radius;\n    @belongsTo vehicle; // will be autoset by the `inverseOf: auto` on Car\n}\n\n// will be mixed into Car's tires assocation, so one could call: car.tires.areEqualSize()\nconst TireHelpers = {\n    areEqualSize() {\n        return this.every(t => t.radius === this[0]);\n    }\n};\n\n@identifiedBy('car')\nclass Car {\n    @belongsTo home;\n    @session color;\n    @hasMany({ model: 'Tire', inverseOf: 'vehicle', defaults: {radius: 17}, extend: TireHelpers }) tires;\n}\n\n@identifiedBy('garage')\nclass Garage {\n    @session owner;\n    @hasMany({\n        model: 'Car',\n        inverseOf: 'home',\n        defaults(collection, parent) {\n            return { color: this.owner.favoriteColor };\n        }\n    }) cars;\n}\n```\n\n##  Custom serialization\n\nCustom serialize/deserialize behaviour can be implemented by registering a custom 'type'.\n\nThe object that's configured for a type must have two methods `serialize` and `deserialize`.\n\nAn example of a value that should is stored as a string but is more convenient to access as a float.\n\n```javascript\nimport { registerCustomType, identifiedBy, identifier, field } from 'mobx-decorated-models';\n\nregisterCustomType('cargo', {\n    serialize(cargo) {\n        return String(cargo);\n    },\n    deserialize(count) {\n        return parseFloat(count);\n    },\n});\n\n@identifiedBy('boat')\nexport class Ship {\n    @identifier name;\n\n    @field({ type: cargoSerializer }) cargo;\n}\n\nconst boat = Ship.deserialize({ id: 1, cargo: '3.1415' });\nboat.cargo // 3.14159\nboat.serialize() // { id: 1, cargo: \"3.1415\" }\n```\n\n**Note**: The above example does not deal with null/undefined or perform any validation. Real type handlers should deal with unexpected values.\n\n## unresolvedAssociations\n\nmobx-decorated-models attempts to do lazy lookups for the model that **hasMany** and **belongsTo** should use.  In order to do so, it keeps track of associations that are not immediatly resolved in the hope that the model for them will be decorated with **@identifiedBy** later.\n\nHowever if the model is never decorated the association will continue to be set to a plain observable.object.\n\nProperties that are not resolved can be listed using the `unresolvedAssociations` method, which will return an array of object with model and property keys.\n\n**Example:**\n```javascript\n\nimport { model, field, session, belongsTo, hasMany, identifier } from 'mobx-decorated-models';\n\n@identifiedBy('shape')\nclass Parallelogram {\n\n}\n\n@identifiedBy('box')\nclass Box {\n    hasMany sides;\n}\n\nunresolvedAssociations().forEach(({ model, property }) => {\n    console.log(`The model for ${model.identifiedBy}(${property}) cannot be found`);\n});\n\n// outputs: The model for box(sides) cannot be found\n```\n","_id":"mobx-decorated-models@1.1.0-0","dist":{"shasum":"c383972459f7717a8239544437a3c0790938b0b6","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-1.1.0-0.tgz","integrity":"sha512-8DLF61Z+dv9BMaA1lueMIDczkpVP+LSVM9UPXQ7jEOXNKBjy+ixBd29h1oCF7JTKIazhum0621Q8iVMYW5SnlQ==","fileCount":66,"unpackedSize":396316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb0eePCRA9TVsSAnZWagAA8E4QAJ779gW3JS1Ojz32wXGR\nXha7zQfwGWla0VkUs8Va5m4GLHlnJhxuuf/oLKzRG7eQdl4l6lsoCs1hyfVB\nzwy5Al12ea0WJ6U+9a/GjBK9vIWDSXuazHwVatUlxqZHNar7rthFGMOgNwLb\nb+x/rmoQNz27Vs5/MgJvd1uzyc4NXEJ3gYWRcXX3ItH1qpRoZG3jYrB7/a35\n9IPa4V0hwubYAR5hQ+bstKsbWDmI+CcWyUo93eO1I2LjQGEnMJGkD5TZiBlw\nZZK9zfiI8B7jy6T+CYQyh6eyMRIzdlsORtEv9ogn0U58l2wHHAaRJqLVcWRp\nUBzLlQWhJdkPteW6GMU7yV+zBKVmPYMLeXXDqI/Jb6d3UVVY792kA77HCk8U\nL46N3xY7cVBx5T4iMewqvUOk8OgoSNd/hMze9/b+67odEYmyrteVn8djXBKr\n07aVhTVQ5KiX67sDauOK+RXI0bnaxdUHIzmL3z/ztYDsV9M7AJjVIhSbe0Hn\nmWgpGQqO1+EE5VsjRFrvPwSHNEPC7gNzD1RTWgsrE3zCQygZkk7Gm3ANqXxP\n8LTaWp8Qbj8BXgb6By9MAZMLAJjF26yYgpX7vljmFC1UlcCeqABkvlfxp4jq\n4kFY7Hp1WJ9US+Igw+ctBC3kdrzSUL/+64R6+jh6zmJFWRxnAZJIdYnTPrRb\nmMwq\r\n=L4xU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDKD4yJEV5aJqznvV56e2ieaI18A/FXLD7PvRfQQMYyWAiEA+uVI8g5o3TsA1pU3qLcEVoCcJgH+5W/xl00L7IKkSU8="}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models_1.1.0-0_1540482958611_0.37583051958009595"},"_hasShrinkwrap":false},"1.1.0":{"name":"mobx-decorated-models","version":"1.1.0","description":"Decorators to make using Mobx for model type structures easier","main":"dist/build.full.js","module":"dist/build.module.js","jsnext:main":"dist/build.module.js","repository":{"type":"git","url":"https://github.com/nathanstitt/mobx-decorated-models"},"author":{"name":"Nathan Stitt"},"license":"MIT","scripts":{"test":"jest","build":"./script/cibuild","publish":"np","prepublish":"./script/prepublish"},"keywords":["mobx","model","json","serialize","deserialize","persistence"],"peerDependencies":{"mobx":"^3.0 || ^4.0 || ^5.0","serializr":"^1.3"},"devDependencies":{"@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-decorators":"^7.1.2","@babel/preset-env":"^7.1.0","babel7-jest":"^1.0.1","eslint":"^5.7.0","eslint-config-argosity":"^1.6.0","jest":"^23.6.0","jest-cli":"^23.6.0","mobx":"^5.5.2","rollup":"^0.66.6","rollup-plugin-babel":"^4.0.3","serializr":"^1.3.0"},"dependencies":{},"_id":"mobx-decorated-models@1.1.0","dist":{"shasum":"cd9a883be6217fb2cf3f0a18764c91a225454805","integrity":"sha512-48GbmIpiB0hbAAniEgHtWY7EXRflF6tpJA4wIQjmzkWJO5eh5t7T+QSRl81zOIpxzOHMRSndJYO4jKBsSaKBOw==","tarball":"https://registry.npmjs.org/mobx-decorated-models/-/mobx-decorated-models-1.1.0.tgz","fileCount":66,"unpackedSize":396322,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb7Is9CRA9TVsSAnZWagAAsgAP/iIdcd67i6yFwZfHQVL/\nX1mobMY9Oz1/kMjWZKtCTl0vZMQ55eqeEgQrpvH3UoTM7SZGOzxH+YUFduab\ngIj+VSvH0eknpGMk/ZY8gFEhud6m3bDzEbL6xpO7bqdWosgkwW7kGcD7OkDn\ntND5BV68VDgI0EZzNc/xOCWpfIcROxxG8vMnpx6zO7fkvCvMgkiciYV8hPC6\nbdGxXXzYi5rR8TxCtN5Pn0n88Doi9lz/yiqUhQ9s7uIY5Za1Y1wiZRjqK4Uo\nLsbVMA4755B4XlMR/qeBvQGHM53N0H22yI/lNczQlCITAYLKnQGTsnipPwTc\njHPQ1JmPrNfoDdO6BO52f247UHZPzRXjP12ZDnshNGExWdxcM3mSFwOjfi1w\nCZT8Nbqe29EsmguXHkH9SyAOk068EbRjP7zjuTOVetgFfYXUFqoQGE5xIJ7Z\nMemGN+NL0pgDbegZWWrYY8u2yPBSayVGi6qL5+pzEbzSDdNt1vz48/T8aEZp\nVORrcAQBeWIUmuxNQ8EytQ2j7goz86u3zoGDXvMuoaQ0SHu6H8AkEr3DOUTX\npwo1HDmYA+i1YU5zwcocFVAs1Yqg6tA0BT2I6gqKNncMKeT44n+KJNxuioAs\nwywr0bbO6OKScWOHqJ4pECrOKzwDwwlGiS7xa9vqchs6zuVKl2PaT1kCS+d+\nwYoM\r\n=TX1J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYOKnXmsYyDdWXZ+0Z1msgE6kTf5OOEiL4bRTq7VdPxQIhAOYI90vFYg4BCEp+UxFDxCddCf7mBHaPtw1ApeYV/v7a"}]},"maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"_npmUser":{"name":"nathanstitt","email":"nathan@stitt.org"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mobx-decorated-models_1.1.0_1542228796250_0.6500977445572698"},"_hasShrinkwrap":false}},"readme":"# Decorators for creating model relationships with mobx\n\nmobx-decorated-models is a collection of Javascript decorators to make a classes and their relationships observable and serializable.\n\n[![Build Status](https://travis-ci.org/nathanstitt/mobx-decorated-models.svg?branch=master)](https://travis-ci.org/nathanstitt/mobx-decorated-models)\n\n## Introduction\n\nThis library is a collection of decorators that co-ordinates making\nmodels relate to each other and their fields both observable and serializable.\n\nIt's built on top of two awesome libraries:\n\n[Mobx](https://mobx.js.org) makes state management super simple, but it doesn't offer an opinion on how to get data in and out of the observed data structures.\n\n[Serializr](https://github.com/mobxjs/serializr) takes care of that nicely.\n\nCombining the two libraries isn’t difficult, but then you end up specifing each attribute twice; once so Mobx will observe it, and once to create a schema for Serializr.  Enter mobx-decorated-models.\n\n\n## Example\n\n```javascript\nimport { model, field, session, belongsTo, hasMany, identifier } from 'mobx-decorated-models';\n\n@identifiedBy('box')\nexport class Box {\n    @identifier id;\n    @field width  = 0;\n    @field height = 0;\n    @field depth  = 0;\n    @session tmpContents = 'a bunch of things'\n\n    @computed get volume() {\n        return this.width * this.height * this.depth;\n    }\n\n    @hasMany items;\n    @belongsTo container;\n    @belongsTo({ model: 'address' }) warehouse;\n}\n```\n\nadditional examples used for testing are located in `specs/test-models.js`\n\n```javascript\nboxes = @observable.array([])\nfetch('/my/api/endpoints/boxes/1.json').then(function(response) {\n  boxes.concat(Box.deserialize(response.json()));\n});\n\nconst box = Box.deserialize({ id: 1, width: 2, height: 3, depth: 8 }); // returns an instance of Box\nconsole.log(box.volume);      // => 48\nconsole.log(box.serialize()); // => { id: 1, width: 2, height: 3, depth: 8, items: [] };  note `tmpContents` isn't serialized\n```\n\n## Controlling model lookups\n\nThe class `@identifiedBy` accepts a unique string that should be used  as a lookup key so\nthat `hasMany` and `belongsTo` relationships can be established.\n\nThis allows things like the below mappings to still work even though the two files can't easily include each other:\n\n\n```javascript\n// chair.js\n\nimport { identifiedBy, belongsTo } from 'mobx-decorated-models';\n\n@identifiedBy('chair')\nclass Chair {\n    belongsTo 'table'\n}\n\n\n// table.js\nimport { identifiedBy, hasMany } from 'mobx-decorated-models';\n\n@identifiedBy('table')\nclass Table {\n    hasMany({ model: 'chair' }) 'seats'\n}\n```\n\n## Collections\n\nThe same logic that is used for hasMany can also build a stand-alone collection.  Collections built this way are instances of mobx `observable.array` with an interceptor that converts assigment into model creation.\n\nA collecton can be created like so:\n\n```javascript\nimport { createCollection } from 'mobx-decorated-models';\n\nclass Foo {\n    constructor(attrs) { Object.assign(this, attrs); }\n    myName() { return this.name; }\n}\n\nconst collection = createCollection({ model: Foo });\ncollection.push({ name: 'bar' });\ncollection[0].myName(); // will return \"bar\", since it's coerced into an instance of Foo\n```\n\nNote that the \"model\" objects a collection is set to do not have to be decorated by the `@identifiedBy` decorator if they're given directly as shown in the exmple above.  However if they were, then the identifier could be given to 'model' instead of the class.\n\n## Decorators\n\n### identifiedBy('identifier')\n\nMarks a class as serializable.\n\nIt adds a few convenience methods to classes:\n\n * static `deserialize` method.  Used to turn JSON structure into a model (or collection of models)\n * a read-only static `identifiedBy` value that matches the string provided to the decorator\n * an `update` method.  Updates a model's attributes and child associations.\n * `serialize`.  Converts the model's attributes and it's associations to JSON.\n\nIt’s primary purpose is to remember classes for hasMany/belongsTo lookups.  This allows the associations to refer to models without having to load them.  Often models will refer to one another, making it difficult for each of them obtain a direct reference.\n\n### identifier\n\nThe primary key for the model\n\n### field\n\nmarks a class property as observable and serializable.\n\nThe type of field can be set to `array` or `object`, or `date` by specifying options.  For other types, a `model` option can be given or a custom serialization type used.\n\n*example:*\n@identifiedBy('bar')\nclass Bar {\n  static serialize(bar) {\n    return bar ? 'BAR' : null;\n  }\n}\n\n```javascript\n@identifiedBy('foo')\nclass Foo {\n  @field({ type: 'object' }) options; // will default to an observable map\n  @field({ type: 'array'  }) tags;    // defaults to []\n  @field({ type: 'date'   }) occured; // no default value is set\n  @field({ model: 'bar'   }) bar;\n}\n\nconst foo = new Foo();\nfoo.update({ occured: '2013-10-21T13:28:06.419Z', bar: '123' }); // bar doesn't actually store anything\nconsole.log(foo.occured); // Mon Oct 21 2013 08:28:06 GMT-0500 (CDT), provided you're in CDT :)\nfoo.tags.push('one');\nfoo.options.set('one', 1);\nfoo.serialize(); // => { tags: ['one'], options: { one: 1 }, occured: '2013-10-21T13:28:06.419Z', bar: 'BAR' }\n```\n\n\n### session\n\nSession fields are useful for storing data that should not be persisted.\n\nThey're write-only, meaning they're updated by the `deserialize` static method and `update()` instance method, but are not included in the JSON generated by `serialize()`\n\n\n*example:*\n\n```javascript\n@identifiedBy('user')\nclass User {\n    @field id;\n    @session isLoggedIn;\n}\n\nconst user = new User();\nuser.update({ id: 1234, isLoggedIn: true });\nuser.serialize(); // => { id: 1234 }; // note the \"isLoggedIn\" property is ommited\n```\n\n### belongsTo\n\nMakes a property as referring to another model.  Will map to\nthe referenced class based on it's identifiedBy and the property name, i.e. a property named `box` will\nlook for a class identified by `box`.\n\nOptionally can be given an option object with a `model` property to control the mapping.\n\n`model` can be either a string which matches a value given to the identifiedBy decorator, or a reference to the model itself.\n\n*example:*\n\n```javascript\n@identifiedBy('person')\nclass Person({\n    @identifier id;\n    @field name;\n    // finds a model that was set to use the id `pants` by it's decorator\n    @belongsTo({ model: 'pants', inverseOf: 'owner' }) outfit;\n    speak(msg) {\n        console.log(`${this.name} says: ${msg}`);\n    }\n})\n\n@identifiedBy('pants')\nclass Pants {\n  @session color;\n  @belongsTo({ model: Person }) owner; // no lookup, will just use the class `Person`\n}\n```\n\nCan be given a `inverseOf` which will set auto set this property to it's parent when it's deserialized.\n\nFor instance the Pants model above will have it's owner property set to the \"Ralph\" Person model:\n\n```javascript\nPerson.deserialize({\n    id: 1, name: 'Ralph', outfit: { color: 'RED' }\n})\n```\n\nAn interceptor is installed that will convert bare objects to a model.  In the example below, the owner will be set to an instance of Person\n\n```javascript\nconst pants = new Pants();\npants.owner = { id: 1, name: 'Jimmy' };\n\npants.owner.speak(\"Hello World!\"); // Jimmy says: Hello World\n```\n\n\n**Note**: When using `inverseOf`, the auto-set property is not serialized in order to prevent circular references.\n\n### hasMany\n\nMarks a property as belonging to an mobx observable array of models.\n\nSets the default value to an empty observable array\n\nAs in `belongsTo`, can be optionally given an option object with a `model` property to control the mapping.\n\n`hasMany` also accepts `inverseOf` and `defaults` properties.  If an inverseOf is provided,\nwhen a model is added to the array, it will have the property named by `inverseOf` to the parent model\n\nIf `defaults` are provided the new model's attributes will be defaulted to them.  `defaults` may\nalso be a function, which will be called and it's return values used.\n\nAn `extend` property can be provided.  If `extend` is a function it will called with the collection whenever one is created.  If `extend` is an object, it's properties will be copied onto the collection.\n\nLike `belongsTo`, `hasMany` also converts object assignment to a model\n\n```javascript\n@identifiedBy('tire')\nclass Tire {\n    @session radius;\n    @belongsTo vehicle; // will be autoset by the `inverseOf: auto` on Car\n}\n\n// will be mixed into Car's tires assocation, so one could call: car.tires.areEqualSize()\nconst TireHelpers = {\n    areEqualSize() {\n        return this.every(t => t.radius === this[0]);\n    }\n};\n\n@identifiedBy('car')\nclass Car {\n    @belongsTo home;\n    @session color;\n    @hasMany({ model: 'Tire', inverseOf: 'vehicle', defaults: {radius: 17}, extend: TireHelpers }) tires;\n}\n\n@identifiedBy('garage')\nclass Garage {\n    @session owner;\n    @hasMany({\n        model: 'Car',\n        inverseOf: 'home',\n        defaults(collection, parent) {\n            return { color: this.owner.favoriteColor };\n        }\n    }) cars;\n}\n```\n\n##  Custom serialization\n\nCustom serialize/deserialize behaviour can be implemented by registering a custom 'type'.\n\nThe object that's configured for a type must have two methods `serialize` and `deserialize`.\n\nAn example of a value that should is stored as a string but is more convenient to access as a float.\n\n```javascript\nimport { registerCustomType, identifiedBy, identifier, field } from 'mobx-decorated-models';\n\nregisterCustomType('cargo', {\n    serialize(cargo) {\n        return String(cargo);\n    },\n    deserialize(count) {\n        return parseFloat(count);\n    },\n});\n\n@identifiedBy('boat')\nexport class Ship {\n    @identifier name;\n\n    @field({ type: cargoSerializer }) cargo;\n}\n\nconst boat = Ship.deserialize({ id: 1, cargo: '3.1415' });\nboat.cargo // 3.14159\nboat.serialize() // { id: 1, cargo: \"3.1415\" }\n```\n\n**Note**: The above example does not deal with null/undefined or perform any validation. Real type handlers should deal with unexpected values.\n\n## unresolvedAssociations\n\nmobx-decorated-models attempts to do lazy lookups for the model that **hasMany** and **belongsTo** should use.  In order to do so, it keeps track of associations that are not immediatly resolved in the hope that the model for them will be decorated with **@identifiedBy** later.\n\nHowever if the model is never decorated the association will continue to be set to a plain observable.object.\n\nProperties that are not resolved can be listed using the `unresolvedAssociations` method, which will return an array of object with model and property keys.\n\n**Example:**\n```javascript\n\nimport { model, field, session, belongsTo, hasMany, identifier } from 'mobx-decorated-models';\n\n@identifiedBy('shape')\nclass Parallelogram {\n\n}\n\n@identifiedBy('box')\nclass Box {\n    hasMany sides;\n}\n\nunresolvedAssociations().forEach(({ model, property }) => {\n    console.log(`The model for ${model.identifiedBy}(${property}) cannot be found`);\n});\n\n// outputs: The model for box(sides) cannot be found\n```\n","maintainers":[{"name":"nathanstitt","email":"nathan@stitt.org"}],"time":{"modified":"2022-06-20T01:03:42.860Z","created":"2017-01-27T04:25:12.155Z","0.0.2":"2017-01-27T04:25:12.155Z","0.0.3":"2017-01-30T01:23:06.563Z","0.0.4":"2017-01-30T04:26:13.378Z","0.0.5":"2017-01-30T04:37:02.609Z","0.0.6":"2017-01-30T04:39:28.955Z","0.0.7":"2017-01-30T15:45:15.925Z","0.1.0":"2017-01-30T23:47:17.461Z","0.1.1":"2017-01-31T00:24:13.263Z","0.1.2":"2017-01-31T00:25:49.961Z","0.2.0":"2017-02-16T00:52:18.863Z","0.2.1":"2017-02-24T17:49:47.117Z","0.3.0":"2017-02-24T20:15:43.990Z","0.3.1":"2017-02-24T22:09:51.622Z","0.3.2":"2017-02-24T23:40:50.409Z","0.3.3":"2017-02-25T03:12:27.939Z","0.4.0":"2017-02-26T01:46:38.635Z","0.4.1":"2017-02-26T02:20:53.873Z","0.4.2":"2017-02-26T03:44:49.940Z","0.4.3":"2017-02-26T04:08:07.066Z","0.4.4":"2017-02-26T17:48:59.289Z","0.4.5":"2017-03-05T00:21:03.764Z","0.4.6":"2017-03-09T02:13:23.173Z","0.5.0":"2017-03-24T23:01:21.682Z","0.5.1":"2017-04-01T18:34:19.065Z","0.5.2":"2017-06-14T02:12:30.488Z","0.5.3":"2017-07-07T03:50:06.230Z","0.6.0":"2017-07-30T00:39:01.918Z","0.6.1":"2017-08-06T01:34:48.257Z","0.6.2":"2017-08-06T02:56:58.588Z","0.6.3":"2017-08-06T03:09:35.671Z","0.6.4":"2017-08-11T18:29:12.178Z","0.6.5":"2017-08-27T19:16:02.061Z","0.7.0":"2017-10-04T16:33:36.658Z","0.7.1":"2017-10-14T00:11:39.674Z","0.7.2":"2017-10-18T21:54:34.126Z","0.7.3":"2017-10-19T00:53:12.133Z","0.8.0":"2017-11-14T00:35:22.887Z","0.8.1":"2017-11-14T00:54:26.072Z","0.8.2":"2018-02-23T20:38:46.684Z","0.8.3":"2018-02-23T22:19:15.913Z","0.9.0":"2018-03-20T13:35:28.578Z","0.9.1":"2018-03-20T14:15:37.092Z","0.9.2":"2018-03-20T14:21:00.517Z","0.9.3":"2018-04-13T19:03:22.735Z","1.0.0-0":"2018-04-15T03:12:42.615Z","1.0.0-1":"2018-04-16T02:54:25.919Z","1.0.0":"2018-04-26T02:06:35.387Z","1.1.0-0":"2018-10-25T15:55:58.786Z","1.1.0":"2018-11-14T20:53:16.562Z"},"repository":{"type":"git","url":"https://github.com/nathanstitt/mobx-decorated-models"},"author":{"name":"Nathan Stitt"},"license":"MIT","readmeFilename":"README.md","keywords":["mobx","model","json","serialize","deserialize","persistence"]}